Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (7486209843719fbb65522931c5dca62c86463abb)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Pavel Vinogradov <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (7486209843719fbb65522931c5dca62c86463abb)
  • Date: Sat, 28 Apr 2018 21:38:52 +0000

GIT changes to master grimoire by Pavel Vinogradov <public AT sourcemage.org>:

latex/texlive-texmf/DETAILS |
4
latex/texlive-texmf/HISTORY |
4
latex/texlive-texmf/patches/texlive-20170524-texmf-upstream_fixes-1.patch |
429 ---
latex/texlive/DETAILS |
4
latex/texlive/HISTORY |
4
latex/texlive/patches/texlive-20170524-source-gcc7-1.patch |
33
latex/texlive/patches/texlive-20170524-source-poppler059-1.patch |
1139 ----------
latex/texlive/patches/texlive-20170524-source-upstream_fixes-2.patch |
451 ---
8 files changed, 12 insertions(+), 2056 deletions(-)

New commits:
commit 7486209843719fbb65522931c5dca62c86463abb
Author: Pavel Vinogradov <public AT sourcemage.org>
Commit: Pavel Vinogradov <public AT sourcemage.org>

latex/texlive: version 20180414

commit 0aa180e8b4d7f00d8613b40417ac6a567293f119
Author: Pavel Vinogradov <public AT sourcemage.org>
Commit: Pavel Vinogradov <public AT sourcemage.org>

latex/texlive-texmf: version 20180414

diff --git a/latex/texlive-texmf/DETAILS b/latex/texlive-texmf/DETAILS
index 21d4f28..30f3b96 100755
--- a/latex/texlive-texmf/DETAILS
+++ b/latex/texlive-texmf/DETAILS
@@ -1,8 +1,8 @@
SPELL=texlive-texmf
- VERSION=20170524
+ VERSION=20180414
SOURCE="texlive-${VERSION}-texmf.tar.xz"

SOURCE_URL[0]=ftp://tug.org/historic/systems/texlive/${VERSION:0:4}/${SOURCE}
-
SOURCE_HASH=sha512:b421267ca03034aa0c9104707096a0c4ace71c2efa700e0f9d709ecb02907f7d0480d59cca56511d3089ecd57394ee796a893a24021cf4b2d1884314390a9acb:UPSTREAM_HASH
+
SOURCE_HASH=sha512:024617b75ccbff064cf32dfafa535209e6c29aafe0b33e1ed12722c49a6b00f3ddfd04e985afee47c0a32a8de5d0944e946191b592e930dabd2e1c17f113dbf4:UPSTREAM_HASH
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/texlive-${VERSION:0:8}-texmf"
WEB_SITE="http://www.tug.org/texlive";
LICENSE[0]="LATER"
diff --git a/latex/texlive-texmf/HISTORY b/latex/texlive-texmf/HISTORY
index 66e4809..f191d74 100644
--- a/latex/texlive-texmf/HISTORY
+++ b/latex/texlive-texmf/HISTORY
@@ -1,3 +1,7 @@
+2018-04-28 Pavel Vinogradov <public AT sourcemage.org>
+ * DETAILS: version 20180414
+ * patches/texlive-20170524-texmf-upstream_fixes-1.patch: removed
+
2017-09-26 Pavel Vinogradov <public AT sourcemage.org>
* PRE_BUILD, patches/texlive-20170524-texmf-upstream_fixes-1.patch:
added upstream fixes for babel system from BLFS
diff --git
a/latex/texlive-texmf/patches/texlive-20170524-texmf-upstream_fixes-1.patch
b/latex/texlive-texmf/patches/texlive-20170524-texmf-upstream_fixes-1.patch
deleted file mode 100644
index 77f66ab..0000000
---
a/latex/texlive-texmf/patches/texlive-20170524-texmf-upstream_fixes-1.patch
+++ /dev/null
@@ -1,429 +0,0 @@
-Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
-Date: 2017-06-13
-Initial Package Version: 20170524
-Upstream Status: Applied
-Origin: Upstream, r44495
-Description: Fixes use of babel for English : the UKenglish and
-USenglish files had obviously been created and tested on a
-case-insensitive filesystem.
-
-If you have already installed 2017 texlive, you can apply this
-(as root, with /opt/texlive/2017/bin/*linux/ on your PATH) by
-cd'ing to /opt/texlive/2017, applying it with patch -p1, and
-then running 'mktexlsr' so that the updated files can be found.
-
-diff -Naur
texlive-20170524-texmf/texmf-dist/doc/generic/babel-english/README
texlive-20170524-texmf-r44495/texmf-dist/doc/generic/babel-english/README
---- texlive-20170524-texmf/texmf-dist/doc/generic/babel-english/README
2017-01-24 15:32:30.000000000 +0000
-+++
texlive-20170524-texmf-r44495/texmf-dist/doc/generic/babel-english/README
2017-06-13 02:42:09.427527728 +0100
-@@ -1,11 +1,13 @@
--English 3.3q
-+English 3.3r
- ------------
-
- This is the babel style for English.
-
- There are no new features in 3.3q, but "dialects" will be
--loaded with proxy files (american.ldf, british.ldf, etc.)
--with the forthcoming babel 3.10.
-+loaded with proxy files (american.ldf, british.ldf, etc.).
-+
-+Version 3.3r just fixes the names for UKenglish.ldf and
-+USenglish.ldf (files were created lowercased).
-
- ----------
--2017-01-24
-\ No newline at end of file
-+2017-06-06
-\ No newline at end of file
-diff -Naur
texlive-20170524-texmf/texmf-dist/source/generic/babel-english/english.dtx
texlive-20170524-texmf-r44495/texmf-dist/source/generic/babel-english/english.dtx
----
texlive-20170524-texmf/texmf-dist/source/generic/babel-english/english.dtx
2017-01-24 15:32:30.000000000 +0000
-+++
texlive-20170524-texmf-r44495/texmf-dist/source/generic/babel-english/english.dtx
2017-06-13 02:42:09.427527728 +0100
-@@ -42,7 +42,7 @@
- %<canadian>\ProvidesLanguage{canadian}
- %\fi
- %\ProvidesFile{english.dtx}
-- [2017/01/24 v3.3q English support from the babel system]
-+ [2017/06/06 v3.3r English support from the babel system]
- %\iffalse
- %% File 'english.dtx'
- %% Babel package for LaTeX version 2e
-diff -Naur
texlive-20170524-texmf/texmf-dist/source/generic/babel-english/english.ins
texlive-20170524-texmf-r44495/texmf-dist/source/generic/babel-english/english.ins
----
texlive-20170524-texmf/texmf-dist/source/generic/babel-english/english.ins
2017-01-24 15:32:30.000000000 +0000
-+++
texlive-20170524-texmf-r44495/texmf-dist/source/generic/babel-english/english.ins
2017-06-13 02:42:09.427527728 +0100
-@@ -32,7 +32,7 @@
- %%
- %% --------------- start of docstrip commands ------------------
- %%
--\def\filedate{2017/01/24}
-+\def\filedate{2017/06/06}
- \def\batchfile{english.ins}
- \input docstrip.tex
-
-@@ -133,9 +133,9 @@
- \usepreamble\mainpreamble
- \generate{\file{english.ldf}{\from{english.dtx}{english,code}}
- \file{american.ldf}{\from{english.dtx}{american}}
-- \file{usenglish.ldf}{\from{english.dtx}{usenglish}}
-+ \file{USenglish.ldf}{\from{english.dtx}{usenglish}}
- \file{british.ldf}{\from{english.dtx}{british}}
-- \file{ukenglish.ldf}{\from{english.dtx}{ukenglish}}
-+ \file{UKenglish.ldf}{\from{english.dtx}{ukenglish}}
- \file{australian.ldf}{\from{english.dtx}{australian}}
- \file{newzealand.ldf}{\from{english.dtx}{newzealand}}
- \file{canadian.ldf}{\from{english.dtx}{canadian}}
-diff -Naur
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/american.ldf
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/american.ldf
---- texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/american.ldf
2017-01-24 21:38:15.000000000 +0000
-+++
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/american.ldf
2017-06-13 02:42:09.427527728 +0100
-@@ -38,7 +38,7 @@
- %% and covered by LPPL is defined by the unpacking scripts (with
- %% extension .ins) which are part of the distribution.
- \ProvidesLanguage{american}
-- [2017/01/24 v3.3q English support from the babel system]
-+ [2017/06/06 v3.3r English support from the babel system]
- %% File 'english.dtx'
- %% Babel package for LaTeX version 2e
- %% Copyright (C) 1989 - 2005
-diff -Naur
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/australian.ldf
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/australian.ldf
----
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/australian.ldf
2017-01-24 21:38:15.000000000 +0000
-+++
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/australian.ldf
2017-06-13 02:42:09.427527728 +0100
-@@ -38,7 +38,7 @@
- %% and covered by LPPL is defined by the unpacking scripts (with
- %% extension .ins) which are part of the distribution.
- \ProvidesLanguage{australian}
-- [2017/01/24 v3.3q English support from the babel system]
-+ [2017/06/06 v3.3r English support from the babel system]
- %% File 'english.dtx'
- %% Babel package for LaTeX version 2e
- %% Copyright (C) 1989 - 2005
-diff -Naur
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/british.ldf
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/british.ldf
---- texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/british.ldf
2017-01-24 21:38:15.000000000 +0000
-+++
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/british.ldf
2017-06-13 02:42:09.427527728 +0100
-@@ -38,7 +38,7 @@
- %% and covered by LPPL is defined by the unpacking scripts (with
- %% extension .ins) which are part of the distribution.
- \ProvidesLanguage{british}
-- [2017/01/24 v3.3q English support from the babel system]
-+ [2017/06/06 v3.3r English support from the babel system]
- %% File 'english.dtx'
- %% Babel package for LaTeX version 2e
- %% Copyright (C) 1989 - 2005
-diff -Naur
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/canadian.ldf
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/canadian.ldf
---- texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/canadian.ldf
2017-01-24 21:38:15.000000000 +0000
-+++
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/canadian.ldf
2017-06-13 02:42:09.427527728 +0100
-@@ -38,7 +38,7 @@
- %% and covered by LPPL is defined by the unpacking scripts (with
- %% extension .ins) which are part of the distribution.
- \ProvidesLanguage{canadian}
-- [2017/01/24 v3.3q English support from the babel system]
-+ [2017/06/06 v3.3r English support from the babel system]
- %% File 'english.dtx'
- %% Babel package for LaTeX version 2e
- %% Copyright (C) 1989 - 2005
-diff -Naur
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/english.ldf
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/english.ldf
---- texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/english.ldf
2017-01-24 21:38:15.000000000 +0000
-+++
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/english.ldf
2017-06-13 02:42:09.427527728 +0100
-@@ -38,7 +38,7 @@
- %% and covered by LPPL is defined by the unpacking scripts (with
- %% extension .ins) which are part of the distribution.
- \ProvidesLanguage{english}
-- [2017/01/24 v3.3q English support from the babel system]
-+ [2017/06/06 v3.3r English support from the babel system]
- %% File 'english.dtx'
- %% Babel package for LaTeX version 2e
- %% Copyright (C) 1989 - 2005
-diff -Naur
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/newzealand.ldf
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/newzealand.ldf
----
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/newzealand.ldf
2017-01-24 21:38:15.000000000 +0000
-+++
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/newzealand.ldf
2017-06-13 02:42:09.427527728 +0100
-@@ -38,7 +38,7 @@
- %% and covered by LPPL is defined by the unpacking scripts (with
- %% extension .ins) which are part of the distribution.
- \ProvidesLanguage{newzealand}
-- [2017/01/24 v3.3q English support from the babel system]
-+ [2017/06/06 v3.3r English support from the babel system]
- %% File 'english.dtx'
- %% Babel package for LaTeX version 2e
- %% Copyright (C) 1989 - 2005
-diff -Naur
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/ukenglish.ldf
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/ukenglish.ldf
----
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/ukenglish.ldf
2017-01-24 21:38:15.000000000 +0000
-+++
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/ukenglish.ldf
2017-06-13 02:42:09.427527728 +0100
-@@ -1,67 +0,0 @@
--%%
--%% This is file `ukenglish.ldf',
--%% generated with the docstrip utility.
--%%
--%% The original source files were:
--%%
--%% english.dtx (with options: `ukenglish')
--%% This is a generated file.
--%%
--%% Copyright 1989-2005 Johannes L. Braams and any individual authors
--%% 2013-2017 Javier Bezos, Johannes L. Braams and any individual
authors
--%% listed elsewhere in this file. All rights reserved.
--%%
--%% This file was generated from file(s) of the Babel system.
--%% ---------------------------------------------------------
--%%
--%% It 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 Javier Bezos.
--%%
--%% This file may only be distributed together with a copy of the Babel
--%% system. You may however distribute the Babel system without
--%% such generated files.
--%%
--%% The list of all files belonging to the Babel distribution is
--%% given in the file `manifest.bbl'. See also `legal.bbl for additional
--%% information.
--%%
--%% The list of derived (unpacked) files belonging to the distribution
--%% and covered by LPPL is defined by the unpacking scripts (with
--%% extension .ins) which are part of the distribution.
--\ProvidesLanguage{UKenglish}
-- [2017/01/24 v3.3q English support from the babel system]
--%% File 'english.dtx'
--%% Babel package for LaTeX version 2e
--%% Copyright (C) 1989 - 2005
--%% by Johannes Braams, TeXniek
--%% 2013-2017 Javier Bezos, Johannes Braams
--\input english.ldf\relax
--%%
--%% \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 \~}
--%%
--\endinput
--%%
--%% End of file `ukenglish.ldf'.
-diff -Naur
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/UKenglish.ldf
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/UKenglish.ldf
----
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/UKenglish.ldf
1970-01-01 01:00:00.000000000 +0100
-+++
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/UKenglish.ldf
2017-06-13 02:42:09.427527728 +0100
-@@ -0,0 +1,67 @@
-+%%
-+%% This is file `UKenglish.ldf',
-+%% generated with the docstrip utility.
-+%%
-+%% The original source files were:
-+%%
-+%% english.dtx (with options: `ukenglish')
-+%% This is a generated file.
-+%%
-+%% Copyright 1989-2005 Johannes L. Braams and any individual authors
-+%% 2013-2017 Javier Bezos, Johannes L. Braams and any individual
authors
-+%% listed elsewhere in this file. All rights reserved.
-+%%
-+%% This file was generated from file(s) of the Babel system.
-+%% ---------------------------------------------------------
-+%%
-+%% It 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 Javier Bezos.
-+%%
-+%% This file may only be distributed together with a copy of the Babel
-+%% system. You may however distribute the Babel system without
-+%% such generated files.
-+%%
-+%% The list of all files belonging to the Babel distribution is
-+%% given in the file `manifest.bbl'. See also `legal.bbl for additional
-+%% information.
-+%%
-+%% The list of derived (unpacked) files belonging to the distribution
-+%% and covered by LPPL is defined by the unpacking scripts (with
-+%% extension .ins) which are part of the distribution.
-+\ProvidesLanguage{UKenglish}
-+ [2017/06/06 v3.3r English support from the babel system]
-+%% File 'english.dtx'
-+%% Babel package for LaTeX version 2e
-+%% Copyright (C) 1989 - 2005
-+%% by Johannes Braams, TeXniek
-+%% 2013-2017 Javier Bezos, Johannes Braams
-+\input english.ldf\relax
-+%%
-+%% \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 \~}
-+%%
-+\endinput
-+%%
-+%% End of file `UKenglish.ldf'.
-diff -Naur
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/usenglish.ldf
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/usenglish.ldf
----
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/usenglish.ldf
2017-01-24 21:38:15.000000000 +0000
-+++
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/usenglish.ldf
2017-06-13 02:42:09.427527728 +0100
-@@ -1,67 +0,0 @@
--%%
--%% This is file `usenglish.ldf',
--%% generated with the docstrip utility.
--%%
--%% The original source files were:
--%%
--%% english.dtx (with options: `usenglish')
--%% This is a generated file.
--%%
--%% Copyright 1989-2005 Johannes L. Braams and any individual authors
--%% 2013-2017 Javier Bezos, Johannes L. Braams and any individual
authors
--%% listed elsewhere in this file. All rights reserved.
--%%
--%% This file was generated from file(s) of the Babel system.
--%% ---------------------------------------------------------
--%%
--%% It 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 Javier Bezos.
--%%
--%% This file may only be distributed together with a copy of the Babel
--%% system. You may however distribute the Babel system without
--%% such generated files.
--%%
--%% The list of all files belonging to the Babel distribution is
--%% given in the file `manifest.bbl'. See also `legal.bbl for additional
--%% information.
--%%
--%% The list of derived (unpacked) files belonging to the distribution
--%% and covered by LPPL is defined by the unpacking scripts (with
--%% extension .ins) which are part of the distribution.
--\ProvidesLanguage{USenglish}
-- [2017/01/24 v3.3q English support from the babel system]
--%% File 'english.dtx'
--%% Babel package for LaTeX version 2e
--%% Copyright (C) 1989 - 2005
--%% by Johannes Braams, TeXniek
--%% 2013-2017 Javier Bezos, Johannes Braams
--\input english.ldf\relax
--%%
--%% \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 \~}
--%%
--\endinput
--%%
--%% End of file `usenglish.ldf'.
-diff -Naur
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/USenglish.ldf
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/USenglish.ldf
----
texlive-20170524-texmf/texmf-dist/tex/generic/babel-english/USenglish.ldf
1970-01-01 01:00:00.000000000 +0100
-+++
texlive-20170524-texmf-r44495/texmf-dist/tex/generic/babel-english/USenglish.ldf
2017-06-13 02:42:09.427527728 +0100
-@@ -0,0 +1,67 @@
-+%%
-+%% This is file `USenglish.ldf',
-+%% generated with the docstrip utility.
-+%%
-+%% The original source files were:
-+%%
-+%% english.dtx (with options: `usenglish')
-+%% This is a generated file.
-+%%
-+%% Copyright 1989-2005 Johannes L. Braams and any individual authors
-+%% 2013-2017 Javier Bezos, Johannes L. Braams and any individual
authors
-+%% listed elsewhere in this file. All rights reserved.
-+%%
-+%% This file was generated from file(s) of the Babel system.
-+%% ---------------------------------------------------------
-+%%
-+%% It 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 Javier Bezos.
-+%%
-+%% This file may only be distributed together with a copy of the Babel
-+%% system. You may however distribute the Babel system without
-+%% such generated files.
-+%%
-+%% The list of all files belonging to the Babel distribution is
-+%% given in the file `manifest.bbl'. See also `legal.bbl for additional
-+%% information.
-+%%
-+%% The list of derived (unpacked) files belonging to the distribution
-+%% and covered by LPPL is defined by the unpacking scripts (with
-+%% extension .ins) which are part of the distribution.
-+\ProvidesLanguage{USenglish}
-+ [2017/06/06 v3.3r English support from the babel system]
-+%% File 'english.dtx'
-+%% Babel package for LaTeX version 2e
-+%% Copyright (C) 1989 - 2005
-+%% by Johannes Braams, TeXniek
-+%% 2013-2017 Javier Bezos, Johannes Braams
-+\input english.ldf\relax
-+%%
-+%% \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 \~}
-+%%
-+\endinput
-+%%
-+%% End of file `USenglish.ldf'.
diff --git a/latex/texlive/DETAILS b/latex/texlive/DETAILS
index 6fc96f0..7bbc8f9 100755
--- a/latex/texlive/DETAILS
+++ b/latex/texlive/DETAILS
@@ -1,8 +1,8 @@
SPELL=texlive
- VERSION=20170524
+ VERSION=20180414
SOURCE="${SPELL}-${VERSION}-source.tar.xz"

SOURCE_URL[0]=ftp://tug.org/historic/systems/texlive/${VERSION:0:4}/${SOURCE}
-
SOURCE_HASH=sha512:18c18940992ab94ce22e22ccd4ad798253ea14ac2ab296a10ea5e9a8da9f33989f2e2641b42b564d1d5fb53bd371da3e68726b676d706b469016ad146cd19daa:UPSTREAM_HASH
+
SOURCE_HASH=sha512:ecac9b8203d2747be7ba7f82d68096d859fb35713276106d7049035dd3a8cfca07f8a8648982f0317b3812f8480db7326714de32f95998e3e6f73571de2aa140:UPSTREAM_HASH
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION:0:8}-source"
COMPILE_DIRECTORY="${SOURCE_DIRECTORY}/build"
WEB_SITE="http://www.tug.org/texlive";
diff --git a/latex/texlive/HISTORY b/latex/texlive/HISTORY
index 7dac892..faa683a 100644
--- a/latex/texlive/HISTORY
+++ b/latex/texlive/HISTORY
@@ -1,3 +1,7 @@
+2018-04-28 Pavel Vinogradov <public AT sourcemage.org>
+ * DETAILS: version 20180414
+ * patches/*: removed
+
2017-09-26 Pavel Vinogradov <public AT sourcemage.org>
* PRE_BUILD, patches/{texlive-20170524-source-gcc7-1.patch,
texlive-20170524-source-poppler059-1.patch,
diff --git a/latex/texlive/patches/texlive-20170524-source-gcc7-1.patch
b/latex/texlive/patches/texlive-20170524-source-gcc7-1.patch
deleted file mode 100644
index c2d3521..0000000
--- a/latex/texlive/patches/texlive-20170524-source-gcc7-1.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
-Date: 2017-06-05
-Initial Package Version: 20170524
-Upstream Status: Unknown
-Origin: http://tug.org/pipermail/tex-live/2017-June/040192.html
-Description: From Dr. Werner Fink of SuSe, fixes compilation with gcc-7.1
-
-diff -Naur texlive-20170524-source.orig/texk/web2c/luatexdir/luaffi/ctype.c
texlive-20170524-source/texk/web2c/luatexdir/luaffi/ctype.c
---- texlive-20170524-source.orig/texk/web2c/luatexdir/luaffi/ctype.c
2017-02-10 01:03:59.000000000 +0000
-+++ texlive-20170524-source/texk/web2c/luatexdir/luaffi/ctype.c
2017-06-05 02:32:34.548531839 +0100
-@@ -245,6 +245,10 @@
-
- lua_pop(L, 1); /* mt */
- cd = (struct cdata*) lua_touserdata(L, idx);
-+ if (!cd) {
-+ lua_pushnil(L);
-+ return NULL;
-+ }
- *ct = cd->type;
- lua_getuservalue(L, idx);
-
-diff -Naur texlive-20170524-source.orig/texk/web2c/luatexdir/luaffi/ffi.h
texlive-20170524-source/texk/web2c/luatexdir/luaffi/ffi.h
---- texlive-20170524-source.orig/texk/web2c/luatexdir/luaffi/ffi.h
2017-03-11 01:04:06.000000000 +0000
-+++ texlive-20170524-source/texk/web2c/luatexdir/luaffi/ffi.h 2017-06-05
02:32:34.548531839 +0100
-@@ -370,7 +370,7 @@
- #endif
- struct cdata {
- const struct ctype type
--#ifdef __GNUC__
-+#if 0 /* def __GNUC__ */
- __attribute__ ((aligned(16)))
- #endif
- ;
diff --git a/latex/texlive/patches/texlive-20170524-source-poppler059-1.patch
b/latex/texlive/patches/texlive-20170524-source-poppler059-1.patch
deleted file mode 100644
index d9ac6d0..0000000
--- a/latex/texlive/patches/texlive-20170524-source-poppler059-1.patch
+++ /dev/null
@@ -1,1139 +0,0 @@
-Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
-Date: 2017-09-21
-Initial Package Version: 20170524
-Upstream Status: Unknown
-Origin: Arch linux
-Description: Fixes compilation with the API changes of poppler-0.59.
-
-diff -ur source.orig/texk/web2c/luatexdir/image/pdftoepdf.w
source/texk/web2c/luatexdir/image/pdftoepdf.w
---- source.orig/texk/web2c/luatexdir/image/pdftoepdf.w 2017-05-08
22:39:36.639375783 +0200
-+++ source/texk/web2c/luatexdir/image/pdftoepdf.w 2017-09-19
11:23:36.586768739 +0200
-@@ -224,7 +224,7 @@
- free(checksum);
- }
- if (pdf_doc->doc == NULL) {
-- docmemstream = new MemStream( docstream,0,streamsize,
obj.initNull() );
-+ docmemstream = new MemStream( docstream,0,streamsize,
Object(objNull) );
- doc = new PDFDoc(docmemstream); /* takes ownership of docmemstream
*/
- pdf_doc->pc++;
- if (!doc->isOk() || !doc->okToPrint()) {
-@@ -408,9 +408,8 @@
- Object obj1;
- pdf_begin_array(pdf);
- for (i = 0, l = array->getLength(); i < l; ++i) {
-- array->getNF(i, &obj1);
-+ obj1 = array->getNF(i);
- copyObject(pdf, pdf_doc, &obj1);
-- obj1.free();
- }
- pdf_end_array(pdf);
- }
-@@ -422,9 +421,8 @@
- pdf_begin_dict(pdf);
- for (i = 0, l = dict->getLength(); i < l; ++i) {
- copyName(pdf, dict->getKey(i));
-- dict->getValNF(i, &obj1);
-+ obj1 = dict->getValNF(i);
- copyObject(pdf, pdf_doc, &obj1);
-- obj1.free();
- }
- pdf_end_dict(pdf);
- }
-@@ -510,13 +508,12 @@
- PDFDoc *doc = pdf_doc->doc;
- xref = doc->getXRef();
- for (r = pdf_doc->inObjList; r != NULL;) {
-- xref->fetch(r->ref.num, r->ref.gen, &obj1);
-+ obj1 = xref->fetch(r->ref.num, r->ref.gen);
- if (obj1.isStream())
- pdf_begin_obj(pdf, r->num, OBJSTM_NEVER);
- else
- pdf_begin_obj(pdf, r->num, 2);
- copyObject(pdf, pdf_doc, &obj1);
-- obj1.free();
- pdf_end_obj(pdf);
- n = r->next;
- delete r;
-@@ -740,7 +737,7 @@
- catalog = doc->getCatalog();
- page = catalog->getPage(img_pagenum(idict));
- pageref = catalog->getPageRef(img_pagenum(idict));
-- doc->getXRef()->fetch(pageref->num, pageref->gen, &pageobj);
-+ pageobj = doc->getXRef()->fetch(pageref->num, pageref->gen);
- pageDict = pageobj.getDict();
- /* write the Page header */
- pdf_begin_obj(pdf, img_objnum(idict), OBJSTM_NEVER);
-@@ -757,12 +754,11 @@
- pdf_dict_add_int(pdf, "PTEX.PageNumber", (int) img_pagenum(idict));
- }
- if ((suppress_optional_info & 8) == 0) {
-- doc->getDocInfoNF(&obj1);
-+ obj1 = doc->getDocInfoNF();
- if (obj1.isRef()) {
- /* the info dict must be indirect (PDF Ref p. 61) */
- pdf_dict_add_ref(pdf, "PTEX.InfoDict", addInObj(pdf, pdf_doc,
obj1.getRef()));
- }
-- obj1.free();
- }
- if (img_is_bbox(idict)) {
- bbox[0] = sp2bp(img_bbox(idict)[0]);
-@@ -788,19 +784,17 @@
- Now all relevant parts of the Page dictionary are copied. Metadata
validity
- check is needed(as a stream it must be indirect).
- */
-- pageDict->lookupNF("Metadata", &obj1);
-+ obj1 = pageDict->lookupNF("Metadata");
- if (!obj1.isNull() && !obj1.isRef())
- formatted_warning("pdf inclusion","/Metadata must be indirect
object");
-- obj1.free();
- /* copy selected items in Page dictionary */
- for (i = 0; pagedictkeys[i] != NULL; i++) {
-- pageDict->lookupNF(pagedictkeys[i], &obj1);
-+ obj1 = pageDict->lookupNF(pagedictkeys[i]);
- if (!obj1.isNull()) {
- pdf_add_name(pdf, pagedictkeys[i]);
- /* preserves indirection */
- copyObject(pdf, pdf_doc, &obj1);
- }
-- obj1.free();
- }
- /*
- If there are no Resources in the Page dict of the embedded page,
-@@ -808,32 +802,28 @@
- PDF file, climbing up the tree until the Resources are found.
- (This fixes a problem with Scribus 1.3.3.14.)
- */
-- pageDict->lookupNF("Resources", &obj1);
-+ obj1 = pageDict->lookupNF("Resources");
- if (obj1.isNull()) {
- op1 = &pagesobj1;
- op2 = &pagesobj2;
-- pageDict->lookup("Parent", op1);
-+ *op1 = pageDict->lookup("Parent");
- while (op1->isDict()) {
-- obj1.free();
-- op1->dictLookupNF("Resources", &obj1);
-+ obj1 = op1->dictLookupNF("Resources");
- if (!obj1.isNull()) {
- pdf_add_name(pdf, "Resources");
- copyObject(pdf, pdf_doc, &obj1);
- break;
- }
-- op1->dictLookup("Parent", op2);
-+ *op2 = op1->dictLookup("Parent");
- optmp = op1;
- op1 = op2;
- op2 = optmp;
-- op2->free();
- };
- if (!op1->isDict())
- formatted_warning("pdf inclusion","Page /Resources missing");
-- op1->free();
- }
-- obj1.free();
- /* Write the Page contents. */
-- page->getContents(&contents);
-+ contents = page->getContents();
- if (contents.isStream()) {
- /*
- Variant A: get stream and recompress under control of
\pdfcompresslevel
-@@ -844,27 +834,23 @@
-
- Variant B: copy stream without recompressing
- */
-- contents.streamGetDict()->lookup("F", &obj1);
-+ obj1 = contents.streamGetDict()->lookup("F");
- if (!obj1.isNull()) {
- normal_error("pdf inclusion","unsupported external stream");
- }
-- obj1.free();
-- contents.streamGetDict()->lookup("Length", &obj1);
-+ obj1 = contents.streamGetDict()->lookup("Length");
- pdf_add_name(pdf, "Length");
- copyObject(pdf, pdf_doc, &obj1);
-- obj1.free();
-- contents.streamGetDict()->lookup("Filter", &obj1);
-+ obj1 = contents.streamGetDict()->lookup("Filter");
- if (!obj1.isNull()) {
- pdf_add_name(pdf, "Filter");
- copyObject(pdf, pdf_doc, &obj1);
-- obj1.free();
-- contents.streamGetDict()->lookup("DecodeParms", &obj1);
-+ obj1 = contents.streamGetDict()->lookup("DecodeParms");
- if (!obj1.isNull()) {
- pdf_add_name(pdf, "DecodeParms");
- copyObject(pdf, pdf_doc, &obj1);
- }
- }
-- obj1.free();
- pdf_end_dict(pdf);
- pdf_begin_stream(pdf);
- copyStreamStream(pdf, contents.getStream()->getUndecodedStream());
-@@ -875,8 +861,8 @@
- pdf_end_dict(pdf);
- pdf_begin_stream(pdf);
- for (i = 0, l = contents.arrayGetLength(); i < l; ++i) {
-- copyStreamStream(pdf, (contents.arrayGet(i,
&obj1))->getStream());
-- obj1.free();
-+ obj1 = contents.arrayGet(i);
-+ copyStreamStream(pdf, obj1.getStream());
- if (i < (l - 1)) {
- /*
- Put a space between streams to be on the safe side
(streams
-@@ -897,8 +883,6 @@
- }
- /* write out all indirect objects */
- writeRefs(pdf, pdf_doc);
-- contents.free();
-- pageobj.free();
- /*
- unrefPdfDocument() must come after contents.free() and
pageobj.free()!
- TH: The next line makes repeated pdf inclusion unacceptably slow
-diff -ur source.orig/texk/web2c/luatexdir/lua/lepdflib.cc
source/texk/web2c/luatexdir/lua/lepdflib.cc
---- source.orig/texk/web2c/luatexdir/lua/lepdflib.cc 2017-05-08
22:39:36.689375107 +0200
-+++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2017-09-19
09:48:19.658021769 +0200
-@@ -538,7 +538,7 @@
- pdfdoc_changed_error(L); \
- uout = new_Object_userdata(L); \
- uout->d = new Object(); \
-- ((in *) uin->d)->function((Object *) uout->d); \
-+ *((Object *)uout->d) = ((in *) uin->d)->function(); \
- uout->atype = ALLOC_LEPDF; \
- uout->pc = uin->pc; \
- uout->pd = uin->pd; \
-@@ -668,13 +668,11 @@
-
- static int m_Array_incRef(lua_State * L)
- {
-- int i;
- udstruct *uin;
- uin = (udstruct *) luaL_checkudata(L, 1, M_Array);
- if (uin->pd != NULL && uin->pd->pc != uin->pc)
- pdfdoc_changed_error(L);
-- i = ((Array *) uin->d)->incRef();
-- lua_pushinteger(L, i);
-+ lua_pushinteger(L, 1);
- return 1;
- }
-
-@@ -685,8 +683,7 @@
- uin = (udstruct *) luaL_checkudata(L, 1, M_Array);
- if (uin->pd != NULL && uin->pd->pc != uin->pc)
- pdfdoc_changed_error(L);
-- i = ((Array *) uin->d)->decRef();
-- lua_pushinteger(L, i);
-+ lua_pushinteger(L, 1);
- return 1;
- }
-
-@@ -702,7 +699,7 @@
- if ((uin->pd != NULL && uin->pd->pc != uin->pc)
- || (uobj->pd != NULL && uobj->pd->pc != uobj->pc))
- pdfdoc_changed_error(L);
-- ((Array *) uin->d)->add(((Object *) uobj->d));
-+ ((Array *) uin->d)->add(std::move(*((Object *) uobj->d)));
- return 0;
- }
-
-@@ -718,7 +715,7 @@
- if (i > 0 && i <= len) {
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((Array *) uin->d)->get(i - 1, (Object *) uout->d);
-+ *((Object *) uout->d) = ((Array *) uin->d)->get(i - 1);
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -739,7 +736,7 @@
- if (i > 0 && i <= len) {
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((Array *) uin->d)->getNF(i - 1, (Object *) uout->d);
-+ *((Object *) uout->d) = ((Array *) uin->d)->getNF(i - 1);
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -953,25 +950,21 @@
-
- static int m_Dict_incRef(lua_State * L)
- {
-- int i;
- udstruct *uin;
- uin = (udstruct *) luaL_checkudata(L, 1, M_Dict);
- if (uin->pd != NULL && uin->pd->pc != uin->pc)
- pdfdoc_changed_error(L);
-- i = ((Dict *) uin->d)->incRef();
-- lua_pushinteger(L, i);
-+ lua_pushinteger(L, 1);
- return 1;
- }
-
- static int m_Dict_decRef(lua_State * L)
- {
-- int i;
- udstruct *uin;
- uin = (udstruct *) luaL_checkudata(L, 1, M_Dict);
- if (uin->pd != NULL && uin->pd->pc != uin->pc)
- pdfdoc_changed_error(L);
-- i = ((Dict *) uin->d)->decRef();
-- lua_pushinteger(L, i);
-+ lua_pushinteger(L, 1);
- return 1;
- }
-
-@@ -986,7 +979,7 @@
- pdfdoc_changed_error(L);
- s = copyString(luaL_checkstring(L, 2));
- uobj = (udstruct *) luaL_checkudata(L, 3, M_Object);
-- ((Dict *) uin->d)->add(s, ((Object *) uobj->d));
-+ ((Dict *) uin->d)->add(s, std::move(*((Object *) uobj->d)));
- return 0;
- }
-
-@@ -999,7 +992,7 @@
- pdfdoc_changed_error(L);
- s = luaL_checkstring(L, 2);
- uobj = (udstruct *) luaL_checkudata(L, 3, M_Object);
-- ((Dict *) uin->d)->set(s, ((Object *) uobj->d));
-+ ((Dict *) uin->d)->set(s, std::move(*((Object *) uobj->d)));
- return 0;
- }
-
-@@ -1027,7 +1020,7 @@
- s = luaL_checkstring(L, 2);
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((Dict *) uin->d)->lookup(s, (Object *) uout->d);
-+ *((Object *) uout->d) = ((Dict *) uin->d)->lookup(s);
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -1044,7 +1037,7 @@
- s = luaL_checkstring(L, 2);
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((Dict *) uin->d)->lookupNF(s, (Object *) uout->d);
-+ *((Object *) uout->d) = ((Dict *) uin->d)->lookupNF(s);
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -1096,7 +1089,7 @@
- if (i > 0 && i <= len) {
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((Dict *) uin->d)->getVal(i - 1, (Object *) uout->d);
-+ *((Object *) uout->d) = ((Dict *) uin->d)->getVal(i - 1);
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -1117,7 +1110,7 @@
- if (i > 0 && i <= len) {
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((Dict *) uin->d)->getValNF(i - 1, (Object *) uout->d);
-+ *((Object *) uout->d) = ((Dict *) uin->d)->getValNF(i - 1);
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -1381,9 +1374,9 @@
- pdfdoc_changed_error(L);
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- if (lua_toboolean(L, 2) != 0)
-- ((Object *) uin->d)->initBool(gTrue);
-+ *((Object *) uin->d) = Object(gTrue);
- else
-- ((Object *) uin->d)->initBool(gFalse);
-+ *((Object *) uin->d) = Object(gFalse);
- return 0;
- }
-
-@@ -1395,7 +1388,7 @@
- if (uin->pd != NULL && uin->pd->pc != uin->pc)
- pdfdoc_changed_error(L);
- i = luaL_checkint(L, 2);
-- ((Object *) uin->d)->initInt(i);
-+ *((Object *) uin->d) = Object(i);
- return 0;
- }
-
-@@ -1407,7 +1400,7 @@
- if (uin->pd != NULL && uin->pd->pc != uin->pc)
- pdfdoc_changed_error(L);
- d = luaL_checknumber(L, 2);
-- ((Object *) uin->d)->initReal(d);
-+ *((Object *) uin->d) = Object(d);
- return 0;
- }
-
-@@ -1422,7 +1415,7 @@
- pdfdoc_changed_error(L);
- s = luaL_checklstring(L, 2, &len);
- gs = new GooString(s, len);
-- ((Object *) uin->d)->initString(gs);
-+ *((Object *) uin->d) = Object(gs);
- return 0;
- }
-
-@@ -1434,7 +1427,7 @@
- if (uin->pd != NULL && uin->pd->pc != uin->pc)
- pdfdoc_changed_error(L);
- s = luaL_checkstring(L, 2);
-- ((Object *) uin->d)->initName(s);
-+ *((Object *) uin->d) = Object(objName, s);
- return 0;
- }
-
-@@ -1444,13 +1437,14 @@
- uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
- if (uin->pd != NULL && uin->pd->pc != uin->pc)
- pdfdoc_changed_error(L);
-- ((Object *) uin->d)->initNull();
-+ *((Object *) uin->d) = Object(objNull);
- return 0;
- }
-
- static int m_Object_initArray(lua_State * L)
- {
- udstruct *uin, *uxref;
-+ Array *a;
- uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
- uxref = (udstruct *) luaL_checkudata(L, 2, M_XRef);
- if (uin->pd != NULL && uxref->pd != NULL && uin->pd != uxref->pd)
-@@ -1458,7 +1452,8 @@
- if ((uin->pd != NULL && uin->pd->pc != uin->pc)
- || (uxref->pd != NULL && uxref->pd->pc != uxref->pc))
- pdfdoc_changed_error(L);
-- ((Object *) uin->d)->initArray((XRef *) uxref->d);
-+ a = new Array((XRef *) uxref->d);
-+ *((Object *) uin->d) = Object(a);
- return 0;
- }
-
-@@ -1469,6 +1464,7 @@
- static int m_Object_initDict(lua_State * L)
- {
- udstruct *uin, *uxref;
-+ Dict *d;
- uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
- uxref = (udstruct *) luaL_checkudata(L, 2, M_XRef);
- if (uin->pd != NULL && uxref->pd != NULL && uin->pd != uxref->pd)
-@@ -1476,7 +1472,8 @@
- if ((uin->pd != NULL && uin->pd->pc != uin->pc)
- || (uxref->pd != NULL && uxref->pd->pc != uxref->pc))
- pdfdoc_changed_error(L);
-- ((Object *) uin->d)->initDict((XRef *) uxref->d);
-+ d = new Dict((XRef *) uxref->d);
-+ *((Object *) uin->d) = Object(d);
- return 0;
- }
-
-@@ -1490,7 +1487,7 @@
- if ((uin->pd != NULL && uin->pd->pc != uin->pc)
- || (ustream->pd != NULL && ustream->pd->pc != ustream->pc))
- pdfdoc_changed_error(L);
-- ((Object *) uin->d)->initStream((Stream *) ustream->d);
-+ *((Object *) uin->d) = Object((Stream *) ustream->d);
- return 0;
- }
-
-@@ -1503,7 +1500,7 @@
- pdfdoc_changed_error(L);
- num = luaL_checkint(L, 2);
- gen = luaL_checkint(L, 3);
-- ((Object *) uin->d)->initRef(num, gen);
-+ *((Object *) uin->d) = Object(num, gen);
- return 0;
- }
-
-@@ -1515,7 +1512,7 @@
- if (uin->pd != NULL && uin->pd->pc != uin->pc)
- pdfdoc_changed_error(L);
- s = luaL_checkstring(L, 2);
-- ((Object *) uin->d)->initCmd(CHARP_CAST s);
-+ *((Object *) uin->d) = Object(objCmd, CHARP_CAST s);
- return 0;
- }
-
-@@ -1525,7 +1522,7 @@
- uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
- if (uin->pd != NULL && uin->pd->pc != uin->pc)
- pdfdoc_changed_error(L);
-- ((Object *) uin->d)->initError();
-+ *((Object *) uin->d) = Object(objError);
- return 0;
- }
-
-@@ -1535,7 +1532,7 @@
- uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
- if (uin->pd != NULL && uin->pd->pc != uin->pc)
- pdfdoc_changed_error(L);
-- ((Object *) uin->d)->initEOF();
-+ *((Object *) uin->d) = Object(objEOF);
- return 0;
- }
-
-@@ -1551,7 +1548,7 @@
- pdfdoc_changed_error(L);
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((Object *) uin->d)->fetch((XRef *) uxref->d, (Object *) uout->d);
-+ *((Object *) uout->d) = ((Object *) uin->d)->fetch((XRef *) uxref->d);
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -1816,7 +1813,7 @@
- pdfdoc_changed_error(L);
- if (!((Object *) uin->d)->isArray())
- luaL_error(L, "Object is not an Array");
-- ((Object *) uin->d)->arrayAdd((Object *) uobj->d);
-+ ((Object *) uin->d)->arrayAdd(std::move(*((Object *) uobj->d)));
- return 0;
- }
-
-@@ -1833,7 +1830,7 @@
- if (i > 0 && i <= len) {
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((Object *) uin->d)->arrayGet(i - 1, (Object *) uout->d);
-+ *((Object *) uout->d) = ((Object *) uin->d)->arrayGet(i - 1);
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -1857,7 +1854,7 @@
- if (i > 0 && i <= len) {
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((Object *) uin->d)->arrayGetNF(i - 1, (Object *) uout->d);
-+ *((Object *) uout->d) = ((Object *) uin->d)->arrayGetNF(i - 1);
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -1897,7 +1894,7 @@
- pdfdoc_changed_error(L);
- if (!((Object *) uin->d)->isDict())
- luaL_error(L, "Object is not a Dict");
-- ((Object *) uin->d)->dictAdd(copyString(s), (Object *) uobj->d);
-+ ((Object *) uin->d)->dictAdd(copyString(s), std::move(*((Object *)
uobj->d)));
- return 0;
- }
-
-@@ -1915,7 +1912,7 @@
- pdfdoc_changed_error(L);
- if (!((Object *) uin->d)->isDict())
- luaL_error(L, "Object is not a Dict");
-- ((Object *) uin->d)->dictSet(s, (Object *) uobj->d);
-+ ((Object *) uin->d)->dictSet(s, std::move(*((Object *) uobj->d)));
- return 0;
- }
-
-@@ -1930,7 +1927,7 @@
- if (((Object *) uin->d)->isDict()) {
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((Object *) uin->d)->dictLookup(s, (Object *) uout->d);
-+ *((Object *) uout->d) = ((Object *) uin->d)->dictLookup(s);
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -1950,7 +1947,7 @@
- if (((Object *) uin->d)->isDict()) {
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((Object *) uin->d)->dictLookupNF(s, (Object *) uout->d);
-+ *((Object *) uout->d) = ((Object *) uin->d)->dictLookupNF(s);
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -1991,7 +1988,7 @@
- if (i > 0 && i <= len) {
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((Object *) uin->d)->dictGetVal(i - 1, (Object *) uout->d);
-+ *((Object *) uout->d) = ((Object *) uin->d)->dictGetVal(i - 1);
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -2015,7 +2012,7 @@
- if (i > 0 && i <= len) {
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((Object *) uin->d)->dictGetValNF(i - 1, (Object *) uout->d);
-+ *((Object *) uout->d) = ((Object *) uin->d)->dictGetValNF(i -
1);
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -2243,7 +2240,7 @@
- m_poppler_get_poppler(Page, Dict, getPieceInfo);
- m_poppler_get_poppler(Page, Dict, getSeparationInfo);
- m_poppler_get_poppler(Page, Dict, getResourceDict);
--m_poppler_get_OBJECT(Page, getAnnots);
-+m_poppler_get_OBJECT(Page, getAnnotsObject);
-
- m_poppler_get_OBJECT(Page, getContents);
-
-@@ -2270,7 +2267,7 @@
- {"getPieceInfo", m_Page_getPieceInfo},
- {"getSeparationInfo", m_Page_getSeparationInfo},
- {"getResourceDict", m_Page_getResourceDict},
-- {"getAnnots", m_Page_getAnnots},
-+ {"getAnnots", m_Page_getAnnotsObject},
- {"getContents", m_Page_getContents},
- {"__tostring", m_Page__tostring},
- {NULL, NULL} // sentinel
-@@ -2520,7 +2517,7 @@
- if (((PdfDocument *) uin->d)->doc->getXRef()->isOk()) {
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((PdfDocument *) uin->d)->doc->getDocInfo((Object *) uout->d);
-+ *((Object *) uout->d) = ((PdfDocument *) uin->d)->doc->getDocInfo();
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -2538,7 +2535,7 @@
- if (((PdfDocument *) uin->d)->doc->getXRef()->isOk()) {
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((PdfDocument *) uin->d)->doc->getDocInfoNF((Object *) uout->d);
-+ *((Object *) uout->d) = ((PdfDocument *)
uin->d)->doc->getDocInfoNF();
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -2841,7 +2838,7 @@
- uout = new_Object_userdata(L);
- uout->d = new Object();
- origin = (Object *) (((Attribute *) uin->d)->getValue());
-- origin->copy ( ((Object *)uout->d) );
-+ *((Object *) uout->d) = origin->copy();
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -3320,7 +3317,7 @@
- parent = root->findParentElement(i-1);
- if (parent != NULL) {
- uout = new_StructElement_userdata(L);
-- uout->d = new StructElement( *parent );
-+ uout->d = (StructElement *) parent;
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-@@ -3370,7 +3367,7 @@
- gen = luaL_checkint(L, 3);
- uout = new_Object_userdata(L);
- uout->d = new Object();
-- ((XRef *) uin->d)->fetch(num, gen, (Object *) uout->d);
-+ *((Object *) uout->d) = ((XRef *) uin->d)->fetch(num, gen);
- uout->atype = ALLOC_LEPDF;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
-diff -ur source.orig/texk/web2c/luatexdir/lua/lpdfscannerlib.cc
source/texk/web2c/luatexdir/lua/lpdfscannerlib.cc
---- source.orig/texk/web2c/luatexdir/lua/lpdfscannerlib.cc 2017-05-08
22:39:36.692708395 +0200
-+++ source/texk/web2c/luatexdir/lua/lpdfscannerlib.cc 2017-09-19
09:48:19.658021769 +0200
-@@ -634,7 +634,7 @@
- int i;
- for (i=0;i<count;i++) {
- Object *val = new Object();
-- arrayref->get(i, val);
-+ *val = arrayref->get(i);
- if (val->isStream()) {
- ObjectList *rover = self->_streams;
- ObjectList *item = (ObjectList *)priv_xmalloc (sizeof(ObjectList));
-diff -ur source.orig/texk/web2c/pdftexdir/pdftoepdf.cc
source/texk/web2c/pdftexdir/pdftoepdf.cc
---- source.orig/texk/web2c/pdftexdir/pdftoepdf.cc 2017-06-16
21:49:09.293857387 +0200
-+++ source/texk/web2c/pdftexdir/pdftoepdf.cc 2017-09-19 09:48:19.661355046
+0200
-@@ -84,31 +84,6 @@
- #define MASK_SUPPRESS_PTEX_PAGENUMBER 0x04
- #define MASK_SUPPRESS_PTEX_INFODICT 0x08
-
--// PdfObject encapsulates the xpdf Object type,
--// and properly frees its resources on destruction.
--// Use obj-> to access members of the Object,
--// and &obj to get a pointer to the object.
--// It is no longer necessary to call Object::free explicitely.
--
--class PdfObject {
-- public:
-- PdfObject() { // nothing
-- } ~PdfObject() {
-- iObject.free();
-- }
-- Object *operator->() {
-- return &iObject;
-- }
-- Object *operator&() {
-- return &iObject;
-- }
-- private: // no copying or assigning
-- PdfObject(const PdfObject &);
-- void operator=(const PdfObject &);
-- public:
-- Object iObject;
--};
--
- // When copying the Resources of the selected page, all objects are copied
- // recusively top-down. Indirect objects however are not fetched during
- // copying, but get a new object number from pdfTeX and then will be
-@@ -212,18 +187,6 @@
- delete pdf_doc;
- }
-
--// Replacement for
--// Object *initDict(Dict *dict1){ initObj(objDict); dict = dict1;
return this; }
--
--static void initDictFromDict(PdfObject & obj, Dict * dict)
--{
-- obj->initDict(xref);
-- for (int i = 0, l = dict->getLength(); i < l; i++) {
-- Object obj1;
-- obj->dictAdd(copyString(dict->getKey(i)), dict->getValNF(i, &obj1));
-- }
--}
--
- // --------------------------------------------------------------------
-
- static int addEncoding(GfxFont * gfont)
-@@ -320,10 +283,10 @@
-
- static void copyDictEntry(Object * obj, int i)
- {
-- PdfObject obj1;
-+ Object obj1;
- copyName(obj->dictGetKey(i));
- pdf_puts(" ");
-- obj->dictGetValNF(i, &obj1);
-+ obj1 = obj->dictGetValNF(i);
- copyObject(&obj1);
- pdf_puts("\n");
- }
-@@ -376,17 +339,17 @@
- static void copyProcSet(Object * obj)
- {
- int i, l;
-- PdfObject procset;
-+ Object procset;
- if (!obj->isArray())
- pdftex_fail("PDF inclusion: invalid ProcSet array type <%s>",
- obj->getTypeName());
- pdf_puts("/ProcSet [ ");
- for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
-- obj->arrayGetNF(i, &procset);
-- if (!procset->isName())
-+ procset = obj->arrayGetNF(i);
-+ if (!procset.isName())
- pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>",
-- procset->getTypeName());
-- copyName(procset->getName());
-+ procset.getTypeName());
-+ copyName(procset.getName());
- pdf_puts(" ");
- }
- pdf_puts("]\n");
-@@ -396,7 +359,7 @@
-
- static void copyFont(char *tag, Object * fontRef)
- {
-- PdfObject fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
-+ Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
- fontfile, ffsubtype, stemV;
- GfxFont *gfont;
- fd_entry *fd;
-@@ -413,33 +376,49 @@
- }
- // Only handle included Type1 (and Type1C) fonts; anything else will be
copied.
- // Type1C fonts are replaced by Type1 fonts, if REPLACE_TYPE1C is true.
-- if (!fixedinclusioncopyfont && fontRef->fetch(xref, &fontdict)->isDict()
-- && fontdict->dictLookup("Subtype", &subtype)->isName()
-- && !strcmp(subtype->getName(), "Type1")
-- && fontdict->dictLookup("BaseFont", &basefont)->isName()
-- && fontdict->dictLookupNF("FontDescriptor", &fontdescRef)->isRef()
-- && fontdescRef->fetch(xref, &fontdesc)->isDict()
-- && (fontdesc->dictLookup("FontFile", &fontfile)->isStream()
-- || (REPLACE_TYPE1C
-- && fontdesc->dictLookup("FontFile3", &fontfile)->isStream()
-- && fontfile->streamGetDict()->lookup("Subtype",
-- &ffsubtype)->isName()
-- && !strcmp(ffsubtype->getName(), "Type1C")))
-- && (fontmap = lookup_fontmap(basefont->getName())) != NULL) {
-+ fontdict = fontRef->fetch(xref);
-+ if (fontdict.isDict()) {
-+ subtype = fontdict.dictLookup("Subtype");
-+ basefont = fontdict.dictLookup("BaseFont");
-+ fontdescRef = fontdict.dictLookupNF("FontDescriptor");
-+ if (fontdescRef.isRef()) {
-+ fontdesc = fontdescRef.fetch(xref);
-+ if (fontdesc.isDict()) {
-+ fontfile = fontdesc.dictLookup("FontFile");
-+ if (!fontfile.isStream() && REPLACE_TYPE1C) {
-+ fontfile = fontdesc.dictLookup("FontFile3");
-+ ffsubtype = fontfile.streamGetDict()->lookup("Subtype");
-+ if (!(ffsubtype.isName() &&
!strcmp(ffsubtype.getName(), "Type1C"))) {
-+ // not a Type1-C font.
-+ fontfile = Object(objNull);
-+ }
-+ }
-+ }
-+ }
-+ }
-+ if (!fixedinclusioncopyfont && fontdict.isDict()
-+ && subtype.isName()
-+ && !strcmp(subtype.getName(), "Type1")
-+ && basefont.isName()
-+ && fontdescRef.isRef()
-+ && fontdesc.isDict()
-+ && fontfile.isStream()
-+ && (fontmap = lookup_fontmap(basefont.getName())) != NULL) {
- // round /StemV value, since the PDF input is a float
- // (see Font Descriptors in PDF reference), but we only store an
- // integer, since we don't want to change the struct.
-- fontdesc->dictLookup("StemV", &stemV);
-- fd = epdf_create_fontdescriptor(fontmap, zround(stemV->getNum()));
-- if (fontdesc->dictLookup("CharSet", &charset) &&
-- charset->isString() && is_subsetable(fontmap))
-- epdf_mark_glyphs(fd, charset->getString()->getCString());
-+ stemV = fontdesc.dictLookup("StemV");
-+ fd = epdf_create_fontdescriptor(fontmap, zround(stemV.getNum()));
-+ charset = fontdesc.dictLookup("CharSet");
-+ if (!charset.isNull() &&
-+ charset.isString() && is_subsetable(fontmap))
-+ epdf_mark_glyphs(fd, charset.getString()->getCString());
- else
- embed_whole_font(fd);
-- addFontDesc(fontdescRef->getRef(), fd);
-+ addFontDesc(fontdescRef.getRef(), fd);
- copyName(tag);
- gfont = GfxFont::makeFont(xref, tag, fontRef->getRef(),
-- fontdict->getDict());
-+ fontdict.getDict());
- pdf_printf(" %d 0 R ", addFont(fontRef->getRef(), fd,
- addEncoding(gfont)));
- } else {
-@@ -451,24 +430,24 @@
-
- static void copyFontResources(Object * obj)
- {
-- PdfObject fontRef;
-+ Object fontRef;
- int i, l;
- if (!obj->isDict())
- pdftex_fail("PDF inclusion: invalid font resources dict type <%s>",
- obj->getTypeName());
- pdf_puts("/Font << ");
- for (i = 0, l = obj->dictGetLength(); i < l; ++i) {
-- obj->dictGetValNF(i, &fontRef);
-- if (fontRef->isRef())
-+ fontRef = obj->dictGetValNF(i);
-+ if (fontRef.isRef())
- copyFont(obj->dictGetKey(i), &fontRef);
-- else if (fontRef->isDict()) { // some programs generate pdf with
embedded font object
-+ else if (fontRef.isDict()) { // some programs generate pdf with
embedded font object
- copyName(obj->dictGetKey(i));
- pdf_puts(" ");
- copyObject(&fontRef);
- }
- else
- pdftex_fail("PDF inclusion: invalid font in reference type
<%s>",
-- fontRef->getTypeName());
-+ fontRef.getTypeName());
- }
- pdf_puts(">>\n");
- }
-@@ -557,7 +536,7 @@
-
- static void copyObject(Object * obj)
- {
-- PdfObject obj1;
-+ Object obj1;
- int i, l, c;
- Ref ref;
- char *p;
-@@ -601,8 +580,8 @@
- } else if (obj->isArray()) {
- pdf_puts("[");
- for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
-- obj->arrayGetNF(i, &obj1);
-- if (!obj1->isName())
-+ obj1 = obj->arrayGetNF(i);
-+ if (!obj1.isName())
- pdf_puts(" ");
- copyObject(&obj1);
- }
-@@ -612,7 +591,7 @@
- copyDict(obj);
- pdf_puts(">>");
- } else if (obj->isStream()) {
-- initDictFromDict(obj1, obj->streamGetDict());
-+ obj1 = Object(obj->streamGetDict());
- pdf_puts("<<\n");
- copyDict(&obj1);
- pdf_puts(">>\n");
-@@ -638,9 +617,8 @@
- InObj *r;
- for (r = inObjList; r != 0; r = r->next) {
- if (!r->written) {
-- Object obj1;
- r->written = 1;
-- xref->fetch(r->ref.num, r->ref.gen, &obj1);
-+ Object obj1 = xref->fetch(r->ref.num, r->ref.gen);
- if (r->type == objFont) {
- assert(!obj1.isStream());
- pdfbeginobj(r->num, 2); // \pdfobjcompresslevel = 2
is for this
-@@ -656,7 +634,6 @@
- pdf_puts("\n");
- pdfendobj();
- }
-- obj1.free();
- }
- }
- }
-@@ -839,8 +816,8 @@
- Page *page;
- Ref *pageRef;
- Dict *pageDict;
-- PdfObject contents, obj1, obj2, pageObj, dictObj;
-- PdfObject groupDict;
-+ Object contents, obj1, obj2, pageObj, dictObj;
-+ Object groupDict;
- bool writeSepGroup = false;
- Object info;
- char *key;
-@@ -867,8 +844,8 @@
- encodingList = 0;
- page = pdf_doc->doc->getCatalog()->getPage(epdf_selected_page);
- pageRef = pdf_doc->doc->getCatalog()->getPageRef(epdf_selected_page);
-- xref->fetch(pageRef->num, pageRef->gen, &pageObj);
-- pageDict = pageObj->getDict();
-+ pageObj = xref->fetch(pageRef->num, pageRef->gen);
-+ pageDict = pageObj.getDict();
- rotate = page->getRotate();
- PDFRectangle *pagebox;
- // write the Page header
-@@ -886,7 +863,7 @@
- pdf_printf("/%s.PageNumber %i\n", pdfkeyprefix, (int)
epdf_selected_page);
- }
- if ((suppress_ptex_info & MASK_SUPPRESS_PTEX_INFODICT) == 0) {
-- pdf_doc->doc->getDocInfoNF(&info);
-+ info = pdf_doc->doc->getDocInfoNF();
- if (info.isRef()) {
- // the info dict must be indirect (PDF Ref p. 61)
- pdf_printf("/%s.InfoDict ", pdfkeyprefix);
-@@ -942,14 +919,14 @@
- pdf_puts(stripzeros(s));
-
- // Metadata validity check (as a stream it must be indirect)
-- pageDict->lookupNF("Metadata", &dictObj);
-- if (!dictObj->isNull() && !dictObj->isRef())
-+ dictObj = pageDict->lookupNF("Metadata");
-+ if (!dictObj.isNull() && !dictObj.isRef())
- pdftex_warn("PDF inclusion: /Metadata must be indirect object");
-
- // copy selected items in Page dictionary except Resources & Group
- for (i = 0; pageDictKeys[i] != NULL; i++) {
-- pageDict->lookupNF(pageDictKeys[i], &dictObj);
-- if (!dictObj->isNull()) {
-+ dictObj = pageDict->lookupNF(pageDictKeys[i]);
-+ if (!dictObj.isNull()) {
- pdf_newline();
- pdf_printf("/%s ", pageDictKeys[i]);
- copyObject(&dictObj); // preserves indirection
-@@ -957,8 +934,8 @@
- }
-
- // handle page group
-- pageDict->lookupNF("Group", &dictObj);
-- if (!dictObj->isNull()) {
-+ dictObj = pageDict->lookupNF("Group");
-+ if (!dictObj.isNull()) {
- if (pdfpagegroupval == 0) {
- // another pdf with page group was included earlier on the
- // same page; copy the Group entry as is. See manual for
-@@ -972,11 +949,11 @@
- copyObject(&dictObj);
- } else {
- // write Group dict as a separate object, since the Page dict
also refers to it
-- pageDict->lookup("Group", &dictObj);
-- if (!dictObj->isDict())
-+ dictObj = pageDict->lookup("Group");
-+ if (!dictObj.isDict())
- pdftex_fail("PDF inclusion: /Group dict missing");
- writeSepGroup = true;
-- initDictFromDict(groupDict, page->getGroup());
-+ groupDict = Object(page->getGroup());
- pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
- }
- }
-@@ -989,15 +966,15 @@
- pdftex_warn
- ("PDF inclusion: /Resources missing. 'This practice is not
recommended' (PDF Ref)");
- } else {
-- initDictFromDict(obj1, page->getResourceDict());
-- if (!obj1->isDict())
-+ obj1 = Object(page->getResourceDict());
-+ if (!obj1.isDict())
- pdftex_fail("PDF inclusion: invalid resources dict type <%s>",
-- obj1->getTypeName());
-+ obj1.getTypeName());
- pdf_newline();
- pdf_puts("/Resources <<\n");
-- for (i = 0, l = obj1->dictGetLength(); i < l; ++i) {
-- obj1->dictGetVal(i, &obj2);
-- key = obj1->dictGetKey(i);
-+ for (i = 0, l = obj1.dictGetLength(); i < l; ++i) {
-+ obj2 = obj1.dictGetVal(i);
-+ key = obj1.dictGetKey(i);
- if (strcmp("Font", key) == 0)
- copyFontResources(&obj2);
- else if (strcmp("ProcSet", key) == 0)
-@@ -1009,8 +986,8 @@
- }
-
- // write the page contents
-- page->getContents(&contents);
-- if (contents->isStream()) {
-+ contents = page->getContents();
-+ if (contents.isStream()) {
-
- // Variant A: get stream and recompress under control
- // of \pdfcompresslevel
-@@ -1021,36 +998,35 @@
-
- // Variant B: copy stream without recompressing
- //
-- contents->streamGetDict()->lookup("F", &obj1);
-- if (!obj1->isNull()) {
-+ obj1 = contents.streamGetDict()->lookup("F");
-+ if (!obj1.isNull()) {
- pdftex_fail("PDF inclusion: Unsupported external stream");
- }
-- contents->streamGetDict()->lookup("Length", &obj1);
-- assert(!obj1->isNull());
-+ obj1 = contents.streamGetDict()->lookup("Length");
-+ assert(!obj1.isNull());
- pdf_puts("/Length ");
- copyObject(&obj1);
- pdf_puts("\n");
-- contents->streamGetDict()->lookup("Filter", &obj1);
-- if (!obj1->isNull()) {
-+ obj1 = contents.streamGetDict()->lookup("Filter");
-+ if (!obj1.isNull()) {
- pdf_puts("/Filter ");
- copyObject(&obj1);
- pdf_puts("\n");
-- contents->streamGetDict()->lookup("DecodeParms", &obj1);
-- if (!obj1->isNull()) {
-+ obj1 = contents.streamGetDict()->lookup("DecodeParms");
-+ if (!obj1.isNull()) {
- pdf_puts("/DecodeParms ");
- copyObject(&obj1);
- pdf_puts("\n");
- }
- }
- pdf_puts(">>\nstream\n");
-- copyStream(contents->getStream()->getUndecodedStream());
-+ copyStream(contents.getStream()->getUndecodedStream());
- pdfendstream();
-- } else if (contents->isArray()) {
-+ } else if (contents.isArray()) {
- pdfbeginstream();
-- for (i = 0, l = contents->arrayGetLength(); i < l; ++i) {
-- Object contentsobj;
-- copyStream((contents->arrayGet(i, &contentsobj))->getStream());
-- contentsobj.free();
-+ for (i = 0, l = contents.arrayGetLength(); i < l; ++i) {
-+ Object contentsobj = contents.arrayGet(i);
-+ copyStream(contentsobj.getStream());
- if (i < l - 1)
- pdf_newline(); // add a newline after each stream except
the last
- }
-diff -ur source.orig/texk/web2c/pdftexdir/pdftosrc.cc
source/texk/web2c/pdftexdir/pdftosrc.cc
---- source.orig/texk/web2c/pdftexdir/pdftosrc.cc 2017-06-16
21:49:09.297190679 +0200
-+++ source/texk/web2c/pdftexdir/pdftosrc.cc 2017-09-19 09:48:19.661355046
+0200
-@@ -86,22 +86,20 @@
- objgen = atoi(argv[3]);
- }
- xref = doc->getXRef();
-- catalogDict.initNull();
-- xref->getCatalog(&catalogDict);
-+ catalogDict = xref->getCatalog();
- if (!catalogDict.isDict("Catalog")) {
- fprintf(stderr, "No Catalog found\n");
- exit(1);
- }
-- srcStream.initNull();
-+ srcStream = Object(objNull);
- if (objnum == 0) {
-- catalogDict.dictLookup("SourceObject", &srcStream);
-+ srcStream = catalogDict.dictLookup("SourceObject");
- static char const_SourceFile[] = "SourceFile";
- if (!srcStream.isStream(const_SourceFile)) {
- fprintf(stderr, "No SourceObject found\n");
- exit(1);
- }
-- srcName.initNull();
-- srcStream.getStream()->getDict()->lookup("SourceName", &srcName);
-+ srcName = srcStream.getStream()->getDict()->lookup("SourceName");
- if (!srcName.isString()) {
- fprintf(stderr, "No SourceName found\n");
- exit(1);
-@@ -110,7 +108,7 @@
- // We cannot free srcName, as objname shares its string.
- // srcName.free();
- } else if (objnum > 0) {
-- xref->fetch(objnum, objgen, &srcStream);
-+ srcStream = xref->fetch(objnum, objgen);
- if (!srcStream.isStream()) {
- fprintf(stderr, "Not a Stream object\n");
- exit(1);
-@@ -159,29 +157,26 @@
- int localOffset = 0;
- Guint firstOffset;
-
-- assert(xref->fetch(e->offset, 0, &objStr)->isStream());
-- nObjects = objStr.streamGetDict()->lookup("N",
&obj1)->getInt();
-- obj1.free();
-- first = objStr.streamGetDict()->lookup("First",
&obj1)->getInt();
-- obj1.free();
-+ objStr = xref->fetch(e->offset, 0);
-+ assert(objStr.isStream());
-+ obj1 = objStr.streamGetDict()->lookup("N");
-+ nObjects = obj1.getInt();
-+ obj1 = objStr.streamGetDict()->lookup("First");
-+ first = obj1.getInt();
- firstOffset =
objStr.getStream()->getBaseStream()->getStart() + first;
-
- // parse the header: object numbers and offsets
- objStr.streamReset();
-- obj1.initNull();
-- str = new EmbedStream(objStr.getStream(), &obj1, gTrue,
first);
-+ str = new EmbedStream(objStr.getStream(), Object(objNull),
gTrue, first);
- parser = new Parser(xref, new Lexer(xref, str), gFalse);
- for (n = 0; n < nObjects; ++n) {
-- parser->getObj(&obj1);
-- parser->getObj(&obj2);
-+ obj1 = parser->getObj();
-+ obj2 = parser->getObj();
- if (n == e->gen)
- localOffset = obj2.getInt();
-- obj1.free();
-- obj2.free();
- }
- while (str->getChar() != EOF) ;
- delete parser;
-- objStr.free();
-
- fprintf(outfile, "%.10lu 00000 n\n",
- (long unsigned)(firstOffset + localOffset));
-@@ -192,7 +187,6 @@
- s->reset();
- while ((c = s->getChar()) != EOF)
- fputc(c, outfile);
-- srcStream.free();
- }
- if (objnum == 0)
- fprintf(stderr, "Source file extracted to %s\n", outname);
-@@ -201,7 +195,6 @@
- else
- fprintf(stderr, "Cross-reference table extracted to %s\n", outname);
- fclose(outfile);
-- catalogDict.free();
- delete doc;
- delete globalParams;
- }
diff --git
a/latex/texlive/patches/texlive-20170524-source-upstream_fixes-2.patch
b/latex/texlive/patches/texlive-20170524-source-upstream_fixes-2.patch
deleted file mode 100644
index e4ea52e..0000000
--- a/latex/texlive/patches/texlive-20170524-source-upstream_fixes-2.patch
+++ /dev/null
@@ -1,451 +0,0 @@
-Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
-Date: 2017-06-13
-Initial Package Version: 2017-05-25
-Upstream Status: Applied
-Origin: Upstream
-Description: Consolidated fixes for luatex.
-
-1. Removes debugging code which was accidentally left in
-luatex, which made the (infrequently needed) io.popen useless. Also
-disables io.saved_popen and changes the reported date of the luatex
-version.
-
-2. Fix for io.lines (fixed in r44572).
-
-diff -Naur a/texk/web2c/luatexdir/lua/liolibext.c
b/texk/web2c/luatexdir/lua/liolibext.c
---- a/texk/web2c/luatexdir/lua/liolibext.c 2017-03-11 01:04:06.000000000
+0000
-+++ b/texk/web2c/luatexdir/lua/liolibext.c 2017-06-11 01:49:11.813308882
+0100
-@@ -365,7 +365,7 @@
- lua_pushliteral(L,"all command execution is disabled");
- } else if (restrictedshell == 0) {
- lua_pushboolean(L,1);
-- lua_pushliteral(L,"all commands are permitted");
-+ lua_pushstring(L,filename);
- } else {
- char *safecmd = NULL;
- char *cmdname = NULL;
-@@ -374,10 +374,6 @@
- lua_pushboolean(L,0);
- lua_pushliteral(L, "specific command execution disabled");
- break;
-- case 1:
-- lua_pushboolean(L,1);
-- lua_pushstring(L,filename);
-- break;
- case 2:
- lua_pushboolean(L,1);
- lua_pushstring(L,safecmd);
-diff -Naur a/texk/web2c/luatexdir/lua/luatex-core.c
b/texk/web2c/luatexdir/lua/luatex-core.c
---- a/texk/web2c/luatexdir/lua/luatex-core.c 2017-04-19 11:07:10.000000000
+0100
-+++ b/texk/web2c/luatexdir/lua/luatex-core.c 2017-06-12 19:34:37.320003411
+0100
-@@ -52,7 +52,7 @@
- 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
0x20, 0x69, 0x6f, 0x5f,
- 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
- 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x2e, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x0a,
0x6c, 0x6f, 0x63, 0x61,
-- 0x6c, 0x20, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-+ 0x6c, 0x20, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x2e, 0x6c,
0x69, 0x6e, 0x65, 0x73,
- 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6f, 0x5f,
0x72, 0x65, 0x61, 0x64,
- 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x3d, 0x20, 0x66, 0x69,
-@@ -84,169 +84,175 @@
- 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x20,
0x20, 0x2d, 0x2d, 0x20,
- 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x65,
0x63, 0x74, 0x65, 0x64,
-- 0x0a, 0x69, 0x6f, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x70, 0x6f,
0x70, 0x65, 0x6e, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d,
0x20, 0x69, 0x6f, 0x5f,
-- 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x2d, 0x2d, 0x20, 0x63, 0x61, 0x6e,
0x20, 0x62, 0x65, 0x20,
-- 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x0a, 0x69, 0x6f,
0x2e, 0x73, 0x61, 0x76,
-- 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e,
0x65, 0x73, 0x20, 0x2d,
-- 0x2d, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20, 0x72, 0x65, 0x61,
0x64, 0x6f, 0x6e, 0x6c,
-- 0x79, 0x0a, 0x6d, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x6c,
0x69, 0x6e, 0x65, 0x73,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x3d, 0x20, 0x6d, 0x74,
-- 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x2d, 0x2d, 0x20, 0x61, 0x6c,
0x77, 0x61, 0x79, 0x73,
-- 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x0a, 0x0a, 0x6c,
0x6f, 0x63, 0x61, 0x6c,
-- 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x75,
0x61, 0x74, 0x65, 0x78,
-- 0x5f, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x6e, 0x61, 0x6d,
0x65, 0x2c, 0x68, 0x6f,
-- 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f,
0x74, 0x20, 0x68, 0x6f,
-- 0x77, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x68,
-- 0x6f, 0x77, 0x20, 0x3d, 0x20, 0x27, 0x72, 0x27, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x65, 0x6e, 0x64,
-- 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66,
0x20, 0x3d, 0x20, 0x69,
-+ 0x0a, 0x2d, 0x2d, 0x20, 0x28, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
0x20, 0x66, 0x6f, 0x72,
-+ 0x20, 0x74, 0x6c, 0x31, 0x37, 0x20, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c,
0x64, 0x29, 0x20, 0x69,
-+ 0x6f, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x70, 0x65,
0x6e, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x69,
0x6f, 0x5f, 0x70, 0x6f,
-+ 0x70, 0x65, 0x6e, 0x20, 0x2d, 0x2d, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62,
0x65, 0x20, 0x70, 0x72,
-+ 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x0a, 0x69, 0x6f, 0x2e, 0x73,
0x61, 0x76, 0x65, 0x64,
-+ 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73,
0x20, 0x2d, 0x2d, 0x20,
-+ 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f,
0x6e, 0x6c, 0x79, 0x0a,
-+ 0x6d, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e,
0x65, 0x73, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20,
0x6d, 0x74, 0x5f, 0x6c,
-+ 0x69, 0x6e, 0x65, 0x73, 0x20, 0x2d, 0x2d, 0x20, 0x61, 0x6c, 0x77, 0x61,
0x79, 0x73, 0x20, 0x72,
-+ 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x0a, 0x0a, 0x6c, 0x6f, 0x63,
0x61, 0x6c, 0x20, 0x66,
-+ 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x75, 0x61, 0x74,
0x65, 0x78, 0x5f, 0x69,
- 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c,
0x68, 0x6f, 0x77, 0x29,
-- 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x66, 0x20, 0x74, 0x68,
0x65, 0x6e, 0x0a, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79,
0x70, 0x65, 0x28, 0x68,
-- 0x6f, 0x77, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x73, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x27, 0x20,
-- 0x61, 0x6e, 0x64, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x68, 0x6f, 0x77,
0x2c, 0x27, 0x77, 0x27,
-- 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72,
0x64, 0x66, 0x69, 0x6c,
-- 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x27,
0x77, 0x27, 0x29, 0x0a,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65,
0x0a, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x69, 0x6f,
0x5f, 0x72, 0x65, 0x63,
-- 0x6f, 0x72, 0x64, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x28,
0x6e, 0x61, 0x6d, 0x65,
-- 0x2c, 0x27, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x65, 0x6e,
-- 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x72, 0x65,
-- 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a,
0x6c, 0x6f, 0x63, 0x61,
-- 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c,
0x75, 0x61, 0x74, 0x65,
-- 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x72, 0x65,
0x61, 0x64, 0x6f, 0x6e,
-- 0x6c, 0x79, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x68, 0x6f, 0x77, 0x29,
0x0a, 0x20, 0x20, 0x20,
-- 0x20, 0x69, 0x66, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x6e,
0x0a, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x3d, 0x20, 0x27,
0x72, 0x27, 0x0a, 0x20,
-- 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-- 0x68, 0x6f, 0x77, 0x20, 0x3d, 0x20, 0x67, 0x73, 0x75, 0x62, 0x28, 0x68,
0x6f, 0x77, 0x2c, 0x27,
-- 0x5b, 0x5e, 0x72, 0x62, 0x5d, 0x27, 0x2c, 0x27, 0x27, 0x29, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x3d, 0x3d,
0x20, 0x27, 0x27, 0x20,
-- 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x68, 0x6f, 0x77, 0x20, 0x3d, 0x20, 0x27, 0x72, 0x27, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65,
0x6e, 0x64, 0x0a, 0x20,
-+ 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20,
0x68, 0x6f, 0x77, 0x20,
-+ 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x68, 0x6f, 0x77,
-+ 0x20, 0x3d, 0x20, 0x27, 0x72, 0x27, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65,
0x6e, 0x64, 0x0a, 0x20,
- 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20, 0x3d,
0x20, 0x69, 0x6f, 0x5f,
- 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x68, 0x6f,
0x77, 0x29, 0x0a, 0x20,
- 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6e,
0x0a, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x63,
0x6f, 0x72, 0x64, 0x66,
-- 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x28, 0x6e, 0x61, 0x6d, 0x65,
0x2c, 0x27, 0x72, 0x27,
-- 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x72, 0x65,
-- 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a,
0x6c, 0x6f, 0x63, 0x61,
-- 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c,
0x75, 0x61, 0x74, 0x65,
-- 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x6e,
0x61, 0x6d, 0x65, 0x2c,
-- 0x2e, 0x2e, 0x2e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63,
0x61, 0x6c, 0x20, 0x6f,
-- 0x6b, 0x61, 0x79, 0x2c, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x3d,
0x20, 0x66, 0x69, 0x6f,
-- 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73,
0x73, 0x69, 0x6f, 0x6e,
-- 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
0x66, 0x20, 0x6f, 0x6b,
-- 0x61, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64,
0x20, 0x74, 0x68, 0x65,
-- 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
0x74, 0x75, 0x72, 0x6e,
-- 0x20, 0x69, 0x6f, 0x5f, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x66, 0x6f,
0x75, 0x6e, 0x64, 0x2c,
-- 0x2e, 0x2e, 0x2e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64,
0x0a, 0x65, 0x6e, 0x64,
-- 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63,
0x74, 0x69, 0x6f, 0x6e,
-- 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x6c,
0x69, 0x6e, 0x65, 0x73,
-- 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c,
0x6f, 0x63, 0x61, 0x6c,
-- 0x20, 0x66, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x6e,
0x28, 0x6e, 0x61, 0x6d,
-- 0x65, 0x2c, 0x27, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
0x66, 0x20, 0x66, 0x20,
-- 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x72, 0x65, 0x74,
-- 0x75, 0x72, 0x6e, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x28, 0x29, 0x0a, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72,
0x65, 0x74, 0x75, 0x72,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65,
0x28, 0x68, 0x6f, 0x77,
-+ 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x27, 0x20, 0x61, 0x6e,
-+ 0x64, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x68, 0x6f, 0x77, 0x2c, 0x27,
0x77, 0x27, 0x29, 0x20,
-+ 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x66,
0x69, 0x6c, 0x65, 0x6e,
-+ 0x61, 0x6d, 0x65, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x27, 0x77, 0x27,
0x29, 0x0a, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72,
0x65, 0x63, 0x6f, 0x72,
-+ 0x64, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x28, 0x6e, 0x61,
0x6d, 0x65, 0x2c, 0x27,
-+ 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x65, 0x6e, 0x64, 0x0a,
-+ 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x72, 0x65, 0x74, 0x75,
-+ 0x72, 0x6e, 0x20, 0x66, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c, 0x6f,
0x63, 0x61, 0x6c, 0x20,
-+ 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x75, 0x61,
0x74, 0x65, 0x78, 0x5f,
-+ 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64,
0x6f, 0x6e, 0x6c, 0x79,
-+ 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x68, 0x6f, 0x77, 0x29, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x69,
-+ 0x66, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x3d, 0x20, 0x27, 0x72, 0x27,
0x0a, 0x20, 0x20, 0x20,
-+ 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x68, 0x6f,
-+ 0x77, 0x20, 0x3d, 0x20, 0x67, 0x73, 0x75, 0x62, 0x28, 0x68, 0x6f, 0x77,
0x2c, 0x27, 0x5b, 0x5e,
-+ 0x72, 0x62, 0x5d, 0x27, 0x2c, 0x27, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x69, 0x66, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x3d, 0x3d, 0x20, 0x27,
0x27, 0x20, 0x74, 0x68,
-+ 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x68,
-+ 0x6f, 0x77, 0x20, 0x3d, 0x20, 0x27, 0x72, 0x27, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64,
0x0a, 0x20, 0x20, 0x20,
-+ 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20, 0x3d, 0x20, 0x69,
0x6f, 0x5f, 0x6f, 0x70,
-+ 0x65, 0x6e, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x68, 0x6f, 0x77, 0x29,
0x0a, 0x20, 0x20, 0x20,
-+ 0x20, 0x69, 0x66, 0x20, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72,
0x64, 0x66, 0x69, 0x6c,
-+ 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x27,
0x72, 0x27, 0x29, 0x0a,
-+ 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x72, 0x65, 0x74, 0x75,
-+ 0x72, 0x6e, 0x20, 0x66, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c, 0x6f,
0x63, 0x61, 0x6c, 0x20,
-+ 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x75, 0x61,
0x74, 0x65, 0x78, 0x5f,
-+ 0x69, 0x6f, 0x5f, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x6e, 0x61, 0x6d,
0x65, 0x2c, 0x2e, 0x2e,
-+ 0x2e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
0x20, 0x6f, 0x6b, 0x61,
-+ 0x79, 0x2c, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x3d, 0x20, 0x66,
0x69, 0x6f, 0x5f, 0x63,
-+ 0x68, 0x65, 0x63, 0x6b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x28, 0x6e,
-+ 0x61, 0x6d, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20,
0x6f, 0x6b, 0x61, 0x79,
-+ 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74,
0x68, 0x65, 0x6e, 0x0a,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75,
0x72, 0x6e, 0x20, 0x69,
-+ 0x6f, 0x5f, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x66, 0x6f, 0x75, 0x6e,
0x64, 0x2c, 0x2e, 0x2e,
-+ 0x2e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65,
0x6e, 0x64, 0x0a, 0x0a,
-+ 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x20, 0x6c,
-+ 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e,
0x65, 0x73, 0x28, 0x6e,
-+ 0x61, 0x6d, 0x65, 0x2c, 0x68, 0x6f, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x69, 0x66, 0x20,
-+ 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20, 0x3d, 0x20,
0x69, 0x6f, 0x5f, 0x6f,
-+ 0x70, 0x65, 0x6e, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x68, 0x6f, 0x77,
0x20, 0x6f, 0x72, 0x20,
-+ 0x27, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x69, 0x66, 0x20,
-+ 0x66, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x75,
0x6e, 0x63, 0x74, 0x69,
-+ 0x6f, 0x6e, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,
0x66, 0x69, 0x6f, 0x5f,
-+ 0x72, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x28, 0x66, 0x29, 0x0a,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x65, 0x6c, 0x73, 0x65,
-+ 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74,
0x75, 0x72, 0x6e, 0x20,
-+ 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x28, 0x29, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x65,
-+ 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61,
0x6c, 0x20, 0x66, 0x75,
-+ 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65,
0x78, 0x5f, 0x69, 0x6f,
-+ 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x28, 0x66, 0x29,
0x0a, 0x20, 0x20, 0x20,
-+ 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x75, 0x6e, 0x63,
0x74, 0x69, 0x6f, 0x6e,
-+ 0x28, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72,
0x65, 0x74, 0x75, 0x72,
- 0x6e, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6c, 0x69,
0x6e, 0x65, 0x28, 0x66,
-- 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
0x64, 0x0a, 0x20, 0x20,
-- 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c,
0x6f, 0x63, 0x61, 0x6c,
-- 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x75,
0x61, 0x74, 0x65, 0x78,
-- 0x5f, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65,
0x28, 0x66, 0x29, 0x0a,
-- 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66,
0x75, 0x6e, 0x63, 0x74,
-- 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x72, 0x65,
-- 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x61,
0x64, 0x6c, 0x69, 0x6e,
-- 0x65, 0x28, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64,
0x0a, 0x65, 0x6e, 0x64,
-- 0x0a, 0x0a, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x3d,
0x20, 0x6c, 0x75, 0x61,
-- 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73,
0x0a, 0x6d, 0x74, 0x2e,
-- 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61, 0x74,
0x65, 0x78, 0x5f, 0x69,
-- 0x6f, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x0a, 0x0a,
0x2d, 0x2d, 0x20, 0x57,
-- 0x65, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x20, 0x6d, 0x61, 0x6e,
0x61, 0x67, 0x65, 0x6d,
-- 0x65, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72,
0x6f, 0x76, 0x69, 0x64,
-- 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65,
0x70, 0x6c, 0x61, 0x63,
-- 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6b, 0x70, 0x73,
0x65, 0x2e, 0x20, 0x54,
-- 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x2d,
0x2d, 0x20, 0x63, 0x61,
-- 0x73, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x43, 0x6f, 0x6e, 0x54, 0x65, 0x58,
0x74, 0x2e, 0x0a, 0x0a,
-- 0x69, 0x66, 0x20, 0x6b, 0x70, 0x73, 0x65, 0x75, 0x73, 0x65, 0x64, 0x20,
0x3d, 0x3d, 0x20, 0x31,
-- 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
0x6f, 0x2e, 0x6f, 0x70,
-- 0x65, 0x6e, 0x20, 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78,
0x5f, 0x69, 0x6f, 0x5f,
-- 0x6f, 0x70, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e,
0x70, 0x6f, 0x70, 0x65,
-- 0x6e, 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69,
0x6f, 0x5f, 0x70, 0x6f,
-- 0x70, 0x65, 0x6e, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x69, 0x66,
0x20, 0x73, 0x61, 0x66,
-- 0x65, 0x72, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x20,
0x31, 0x20, 0x74, 0x68,
-- 0x65, 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x65,
0x78, 0x65, 0x63, 0x75,
-- 0x74, 0x65, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x6f, 0x73, 0x2e,
-- 0x73, 0x70, 0x61, 0x77, 0x6e, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69,
0x6c, 0x0a, 0x20, 0x20,
-- 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x65, 0x78, 0x65, 0x63, 0x20, 0x20, 0x20,
0x20, 0x3d, 0x20, 0x6e,
-- 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x73, 0x65,
0x74, 0x65, 0x6e, 0x76,
-- 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x6f, 0x73, 0x2e, 0x74,
-- 0x65, 0x6d, 0x70, 0x64, 0x69, 0x72, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c,
0x0a, 0x0a, 0x20, 0x20,
-- 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x20,
0x20, 0x3d, 0x20, 0x6e,
-- 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x6f, 0x70,
0x65, 0x6e, 0x20, 0x20,
-- 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x6f, 0x73, 0x2e,
-- 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69,
0x6c, 0x0a, 0x20, 0x20,
-- 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x20,
0x20, 0x3d, 0x20, 0x6e,
-- 0x69, 0x6c, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x74,
0x6d, 0x70, 0x66, 0x69,
-- 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x69, 0x6f, 0x2e,
-- 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69,
0x6c, 0x0a, 0x0a, 0x20,
-- 0x20, 0x20, 0x20, 0x6c, 0x66, 0x73, 0x2e, 0x63, 0x68, 0x64, 0x69, 0x72,
0x20, 0x20, 0x3d, 0x20,
-- 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x66, 0x73, 0x2e,
0x6c, 0x6f, 0x63, 0x6b,
-- 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x6c, 0x66, 0x73,
-- 0x2e, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69,
0x6c, 0x0a, 0x20, 0x20,
-- 0x20, 0x20, 0x6c, 0x66, 0x73, 0x2e, 0x72, 0x6d, 0x64, 0x69, 0x72, 0x20,
0x20, 0x3d, 0x20, 0x6e,
-- 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x66, 0x73, 0x2e, 0x6d,
0x6b, 0x64, 0x69, 0x72,
-- 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x69, 0x6f, 0x2e,
-- 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x20,
0x3d, 0x20, 0x6e, 0x69,
-- 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x73, 0x61, 0x76,
0x65, 0x64, 0x5f, 0x6f,
-- 0x70, 0x65, 0x6e, 0x20, 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65,
0x78, 0x5f, 0x69, 0x6f,
-- 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e,
0x6c, 0x79, 0x0a, 0x0a,
-- 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x69, 0x66, 0x20, 0x73, 0x61, 0x66, 0x65,
0x72, 0x6f, 0x70, 0x74,
-- 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x6f, 0x72, 0x20,
0x73, 0x68, 0x65, 0x6c,
-- 0x6c, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x20, 0x7e, 0x3d, 0x20, 0x31,
0x20, 0x74, 0x68, 0x65,
-- 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x66, 0x69, 0x20, 0x3d,
0x20, 0x72, 0x65, 0x71,
-- 0x75, 0x69, 0x72, 0x65, 0x28, 0x27, 0x66, 0x66, 0x69, 0x27, 0x29, 0x0a,
0x20, 0x20, 0x20, 0x20,
-- 0x66, 0x6f, 0x72, 0x20, 0x6b, 0x2c, 0x20, 0x76, 0x20, 0x69, 0x6e, 0x20,
0x6e, 0x65, 0x78, 0x74,
-- 0x2c, 0x20, 0x66, 0x66, 0x69, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x69, 0x66, 0x20, 0x6b, 0x20, 0x7e, 0x3d, 0x20, 0x27, 0x67, 0x63,
0x27, 0x20, 0x74, 0x68,
-- 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x66,
-- 0x66, 0x69, 0x5b, 0x6b, 0x5d, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a,
0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x65, 0x6e, 0x64, 0x0a,
-- 0x20, 0x20, 0x20, 0x20, 0x66, 0x66, 0x69, 0x20, 0x3d, 0x20, 0x6e, 0x69,
0x6c, 0x0a, 0x0a, 0x65,
-- 0x6e, 0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x6f, 0x73, 0x2e, 0x5b, 0x65,
0x78, 0x65, 0x63, 0x75,
-- 0x74, 0x65, 0x7c, 0x6f, 0x73, 0x2e, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x7c,
0x6f, 0x73, 0x2e, 0x65,
-- 0x78, 0x65, 0x63, 0x5d, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79,
0x20, 0x61, 0x72, 0x65,
-- 0x20, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65,
0x20, 0x61, 0x77, 0x61,
-- 0x72, 0x65, 0x29, 0x0a, 0x0a, 0x0a, 0x69, 0x66, 0x20, 0x6d, 0x64, 0x35,
0x20, 0x74, 0x68, 0x65,
-- 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
0x20, 0x73, 0x75, 0x6d,
-- 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6d, 0x64, 0x35, 0x2e, 0x73, 0x75,
0x6d, 0x0a, 0x20, 0x20,
-- 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x67, 0x73, 0x75, 0x62,
0x20, 0x20, 0x20, 0x3d,
-- 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75, 0x62,
0x0a, 0x20, 0x20, 0x20,
-- 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x74, 0x20, 0x3d, 0x20,
-- 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x74, 0x0a, 0x20, 0x20,
-- 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x79, 0x74, 0x65,
0x20, 0x20, 0x20, 0x3d,
-- 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x79, 0x74, 0x65,
0x0a, 0x0a, 0x20, 0x20,
-- 0x20, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d,
0x64, 0x35, 0x2e, 0x73,
-- 0x75, 0x6d, 0x68, 0x65, 0x78, 0x61, 0x28, 0x6b, 0x29, 0x0a, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x67, 0x73,
0x75, 0x62, 0x28, 0x73,
-- 0x75, 0x6d, 0x28, 0x6b, 0x29, 0x2c, 0x20, 0x22, 0x2e, 0x22, 0x2c, 0x20,
0x66, 0x75, 0x6e, 0x63,
-- 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x63, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66,
0x6f, 0x72, 0x6d, 0x61,
-- 0x74, 0x28, 0x22, 0x25, 0x30, 0x32, 0x78, 0x22, 0x2c, 0x62, 0x79, 0x74,
0x65, 0x28, 0x63, 0x29,
-- 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
0x64, 0x29, 0x29, 0x0a,
-- 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x66, 0x75, 0x6e,
-- 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x64, 0x35, 0x2e, 0x73, 0x75,
0x6d, 0x48, 0x45, 0x58,
-- 0x41, 0x28, 0x6b, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x72, 0x65, 0x74,
-- 0x75, 0x72, 0x6e, 0x20, 0x28, 0x67, 0x73, 0x75, 0x62, 0x28, 0x73, 0x75,
0x6d, 0x28, 0x6b, 0x29,
-- 0x2c, 0x20, 0x22, 0x2e, 0x22, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x28,
-- 0x63, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x72,
-- 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
0x28, 0x22, 0x25, 0x30,
-- 0x32, 0x58, 0x22, 0x2c, 0x62, 0x79, 0x74, 0x65, 0x28, 0x63, 0x29, 0x29,
0x0a, 0x20, 0x20, 0x20,
-- 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x29, 0x29, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x65,
-- 0x6e, 0x64, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x00
-+ 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e,
0x64, 0x0a, 0x0a, 0x69,
-+ 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x6c, 0x75,
0x61, 0x74, 0x65, 0x78,
-+ 0x5f, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x0a, 0x6d, 0x74,
0x2e, 0x6c, 0x69, 0x6e,
-+ 0x65, 0x73, 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f,
0x69, 0x6f, 0x5f, 0x72,
-+ 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x0a, 0x0a, 0x2d, 0x2d, 0x20,
0x57, 0x65, 0x20, 0x61,
-+ 0x73, 0x73, 0x75, 0x6d, 0x65, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
0x6d, 0x65, 0x6e, 0x74,
-+ 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x64, 0x20,
-+ 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x61,
0x63, 0x65, 0x6d, 0x65,
-+ 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6b, 0x70, 0x73, 0x65, 0x2e, 0x20,
0x54, 0x68, 0x69, 0x73,
-+ 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x2d, 0x2d, 0x20, 0x63,
0x61, 0x73, 0x65, 0x20,
-+ 0x69, 0x6e, 0x20, 0x43, 0x6f, 0x6e, 0x54, 0x65, 0x58, 0x74, 0x2e, 0x0a,
0x0a, 0x69, 0x66, 0x20,
-+ 0x6b, 0x70, 0x73, 0x65, 0x75, 0x73, 0x65, 0x64, 0x20, 0x3d, 0x3d, 0x20,
0x31, 0x20, 0x74, 0x68,
-+ 0x65, 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x6f,
0x70, 0x65, 0x6e, 0x20,
-+ 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f,
0x5f, 0x6f, 0x70, 0x65,
-+ 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x70, 0x6f, 0x70,
0x65, 0x6e, 0x20, 0x3d,
-+ 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x70,
0x6f, 0x70, 0x65, 0x6e,
-+ 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x69, 0x66, 0x20, 0x73, 0x61,
0x66, 0x65, 0x72, 0x6f,
-+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x74,
0x68, 0x65, 0x6e, 0x0a,
-+ 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x65, 0x78, 0x65, 0x63,
0x75, 0x74, 0x65, 0x20,
-+ 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73,
0x2e, 0x73, 0x70, 0x61,
-+ 0x77, 0x6e, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x6f,
-+ 0x73, 0x2e, 0x65, 0x78, 0x65, 0x63, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20,
0x6e, 0x69, 0x6c, 0x0a,
-+ 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x73, 0x65, 0x74, 0x65, 0x6e,
0x76, 0x20, 0x20, 0x3d,
-+ 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e,
0x74, 0x65, 0x6d, 0x70,
-+ 0x64, 0x69, 0x72, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x69,
-+ 0x6f, 0x2e, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x20, 0x20, 0x3d, 0x20,
0x6e, 0x69, 0x6c, 0x0a,
-+ 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x20,
0x20, 0x20, 0x20, 0x3d,
-+ 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73,
0x2e, 0x72, 0x65, 0x6e,
-+ 0x61, 0x6d, 0x65, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x6f,
-+ 0x73, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x20, 0x20, 0x3d, 0x20,
0x6e, 0x69, 0x6c, 0x0a,
-+ 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x74, 0x6d, 0x70, 0x66,
0x69, 0x6c, 0x65, 0x20,
-+ 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f,
0x2e, 0x6f, 0x75, 0x74,
-+ 0x70, 0x75, 0x74, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a,
0x20, 0x20, 0x20, 0x20,
-+ 0x6c, 0x66, 0x73, 0x2e, 0x63, 0x68, 0x64, 0x69, 0x72, 0x20, 0x20, 0x3d,
0x20, 0x6e, 0x69, 0x6c,
-+ 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x66, 0x73, 0x2e, 0x6c, 0x6f, 0x63,
0x6b, 0x20, 0x20, 0x20,
-+ 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x66,
0x73, 0x2e, 0x74, 0x6f,
-+ 0x75, 0x63, 0x68, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x6c,
-+ 0x66, 0x73, 0x2e, 0x72, 0x6d, 0x64, 0x69, 0x72, 0x20, 0x20, 0x3d, 0x20,
0x6e, 0x69, 0x6c, 0x0a,
-+ 0x20, 0x20, 0x20, 0x20, 0x6c, 0x66, 0x73, 0x2e, 0x6d, 0x6b, 0x64, 0x69,
0x72, 0x20, 0x20, 0x3d,
-+ 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f,
0x2e, 0x73, 0x61, 0x76,
-+ 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x20, 0x3d, 0x20, 0x6c,
0x75, 0x61, 0x74, 0x65,
-+ 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x72, 0x65,
0x61, 0x64, 0x6f, 0x6e,
-+ 0x6c, 0x79, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x69, 0x66, 0x20,
0x73, 0x61, 0x66, 0x65,
-+ 0x72, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x20, 0x31,
0x20, 0x6f, 0x72, 0x20,
-+ 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x20,
0x7e, 0x3d, 0x20, 0x31,
-+ 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66,
0x66, 0x69, 0x20, 0x3d,
-+ 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x28, 0x27, 0x66, 0x66,
0x69, 0x27, 0x29, 0x0a,
-+ 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6b, 0x2c, 0x20, 0x76,
0x20, 0x69, 0x6e, 0x20,
-+ 0x6e, 0x65, 0x78, 0x74, 0x2c, 0x20, 0x66, 0x66, 0x69, 0x20, 0x64, 0x6f,
0x0a, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6b, 0x20, 0x7e, 0x3d,
0x20, 0x27, 0x67, 0x63,
-+ 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x66, 0x66, 0x69, 0x5b, 0x6b, 0x5d, 0x20, 0x3d, 0x20,
0x6e, 0x69, 0x6c, 0x0a,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a,
0x20, 0x20, 0x20, 0x20,
-+ 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x66, 0x69, 0x20,
0x3d, 0x20, 0x6e, 0x69,
-+ 0x6c, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x6f,
0x73, 0x2e, 0x5b, 0x65,
-+ 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x7c, 0x6f, 0x73, 0x2e, 0x73, 0x70,
0x61, 0x77, 0x6e, 0x7c,
-+ 0x6f, 0x73, 0x2e, 0x65, 0x78, 0x65, 0x63, 0x5d, 0x20, 0x61, 0x6c, 0x72,
0x65, 0x61, 0x64, 0x79,
-+ 0x20, 0x61, 0x72, 0x65, 0x20, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x65, 0x73,
0x63, 0x61, 0x70, 0x65,
-+ 0x20, 0x61, 0x77, 0x61, 0x72, 0x65, 0x29, 0x0a, 0x0a, 0x0a, 0x69, 0x66,
0x20, 0x6d, 0x64, 0x35,
-+ 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c,
0x6f, 0x63, 0x61, 0x6c,
-+ 0x20, 0x73, 0x75, 0x6d, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6d, 0x64,
0x35, 0x2e, 0x73, 0x75,
-+ 0x6d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20,
0x67, 0x73, 0x75, 0x62,
-+ 0x20, 0x20, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e,
0x67, 0x73, 0x75, 0x62,
-+ 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66,
0x6f, 0x72, 0x6d, 0x61,
-+ 0x74, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66,
0x6f, 0x72, 0x6d, 0x61,
-+ 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20,
0x62, 0x79, 0x74, 0x65,
-+ 0x20, 0x20, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e,
0x62, 0x79, 0x74, 0x65,
-+ 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x20, 0x6d,
-+ 0x64, 0x35, 0x2e, 0x73, 0x75, 0x6d, 0x68, 0x65, 0x78, 0x61, 0x28, 0x6b,
0x29, 0x0a, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
0x20, 0x28, 0x67, 0x73,
-+ 0x75, 0x62, 0x28, 0x73, 0x75, 0x6d, 0x28, 0x6b, 0x29, 0x2c, 0x20, 0x22,
0x2e, 0x22, 0x2c, 0x20,
-+ 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x63, 0x29, 0x0a,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75,
0x72, 0x6e, 0x20, 0x66,
-+ 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x22, 0x25, 0x30, 0x32, 0x78, 0x22,
0x2c, 0x62, 0x79, 0x74,
-+ 0x65, 0x28, 0x63, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x65, 0x6e,
-+ 0x64, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a,
0x0a, 0x20, 0x20, 0x20,
-+ 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x64,
0x35, 0x2e, 0x73, 0x75,
-+ 0x6d, 0x48, 0x45, 0x58, 0x41, 0x28, 0x6b, 0x29, 0x0a, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x67, 0x73, 0x75,
0x62, 0x28, 0x73, 0x75,
-+ 0x6d, 0x28, 0x6b, 0x29, 0x2c, 0x20, 0x22, 0x2e, 0x22, 0x2c, 0x20, 0x66,
0x75, 0x6e, 0x63, 0x74,
-+ 0x69, 0x6f, 0x6e, 0x28, 0x63, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20,
-+ 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x74,
-+ 0x28, 0x22, 0x25, 0x30, 0x32, 0x58, 0x22, 0x2c, 0x62, 0x79, 0x74, 0x65,
0x28, 0x63, 0x29, 0x29,
-+ 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64,
0x29, 0x29, 0x0a, 0x20,
-+ 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x0a,
0x0a, 0x00
- };
- return luaL_dostring(L, (const char*) luatex_core_lua);
- }
-\ No newline at end of file
-diff -Naur a/texk/web2c/luatexdir/lua/luatex-core.lua
b/texk/web2c/luatexdir/lua/luatex-core.lua
---- a/texk/web2c/luatexdir/lua/luatex-core.lua 2017-04-19 11:07:10.000000000
+0100
-+++ b/texk/web2c/luatexdir/lua/luatex-core.lua 2017-06-12 19:34:37.320003411
+0100
-@@ -16,7 +16,7 @@
-
- local io_open = io.open
- local io_popen = io.popen
--local io_line = io.lines
-+local io_lines = io.lines
-
- local fio_readline = fio.readline
- local fio_checkpermission = fio.checkpermission
-@@ -29,7 +29,7 @@
- local kpseused = status.kpse_used -- 0 1
-
- io.saved_open = io_open -- can be protected
--io.saved_popen = io_popen -- can be protected
-+-- (deleted for tl17 rebuild) io.saved_popen = io_popen -- can
be protected
- io.saved_lines = io_lines -- always readonly
- mt.saved_lines = mt_lines -- always readonly
-
-@@ -71,12 +71,16 @@
- end
- end
-
--local function luatex_io_lines(name)
-- local f = io_open(name,'r')
-- if f then
-- return function()
-- return fio_readline(f)
-+local function luatex_io_lines(name,how)
-+ if name then
-+ local f = io_open(name,how or 'r')
-+ if f then
-+ return function()
-+ return fio_readline(f)
-+ end
- end
-+ else
-+ return io_lines()
- end
- end
-
-@@ -122,7 +126,6 @@
- lfs.rmdir = nil
- lfs.mkdir = nil
-
-- io.saved_popen = nil
- io.saved_open = luatex_io_open_readonly
-
- end
-diff -Naur a/texk/web2c/luatexdir/luatex.c b/texk/web2c/luatexdir/luatex.c
---- a/texk/web2c/luatexdir/luatex.c 2017-03-31 14:27:09.000000000 +0100
-+++ b/texk/web2c/luatexdir/luatex.c 2017-06-11 01:49:11.813308882 +0100
-@@ -28,9 +28,11 @@
-
- #define TeX
-
-+/* for tl17 update, change luatex_date_info but nothing else,
-+ as context depends on the numeric version number. */
- int luatex_version = 100; /* \.{\\luatexversion} */
- int luatex_revision = '4'; /* \.{\\luatexrevision} */
--int luatex_date_info = 2017033109; /* the compile date is now hardwired
:YEAR MONTH DAY HOUR*/
-+int luatex_date_info = 2017060901; /* the compile date is now hardwired
:YEAR MONTH DAY HOUR*/
- const char *luatex_version_string = "1.0.4";
- const char *engine_name = my_name; /* the name of this engine */
-



  • [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (7486209843719fbb65522931c5dca62c86463abb), Pavel Vinogradov, 04/28/2018

Archive powered by MHonArc 2.6.24.

Top of Page