Fix formatting glitches.

Andreas Scherer <[email protected]> Fri, 10 May 2024 11:40:40 +0200
Newsgroups gmane.comp.tex.metapost
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------3Uq0VSlnVq85j0m2CDkMzeEf
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Dear reader,

the attached git-generated patch file---as always prepared with loving 
care---contains CWEB-related changes that try to fix the more obvious 
formatting glitches in the first 44 sections of MP.W, i.e., chapters 
INTRODUCTION and THE CHARACTER SET.

Of course, these changes address only a tiny fraction of the MP.W source 
file. I do not have the resources to dig into the CWEB code of the 
MetaPost system more seriously at this time. Obviously, there is a lot 
of work to do in order to prepare even this one---albeit the 
largest---source module of MetaPost for inclusion in the 
https://ctan.org/pkg/knuth-pdf and https://ctan.org/pkg/knuth-hint 
packages anytime soon. Volunteers welcome!

Happy hacking!
Andreas
--------------3Uq0VSlnVq85j0m2CDkMzeEf
Content-Type: text/x-patch; charset=UTF-8; name="mp.patch"
Content-Disposition: attachment; filename="mp.patch"
Content-Transfer-Encoding: base64

ZGlmZiAtLWdpdCBhL21wLncgYi9tcC53CmluZGV4IDMzOTJhYTkuLmNhZmI5NTIgMTAwNjQ0
Ci0tLSBhL21wLncKKysrIGIvbXAudwpAQCAtMjIsNyArMjIsNyBAQAogCiBcZGVmXCgjMSl7
fSAlIHRoaXMgaXMgdXNlZCB0byBtYWtlIHNlY3Rpb24gbmFtZXMgc29ydCB0aGVtc2VsdmVz
IGJldHRlcgogXGRlZlw5IzF7fSAlIHRoaXMgaXMgdXNlZCBmb3Igc29ydCBrZXlzIGluIHRo
ZSBpbmRleCB2aWEgQEA6c29ydCBrZXl9e2VudHJ5QEA+Ci1cZGVmXHRpdGxle01ldGFQb3N0
fQorXGRlZlx0aXRsZXtcTVB9CiBccGRmb3V0cHV0PTEKIFxwYWdlbm89MwogCkBAIC05Mywx
NCArOTMsMTQgQEAgbGFyZ2UgfE1QX2luc3RhbmNlfCBzdHJ1Y3R1cmUuCiAjaWZuZGVmIEhB
VkVfQk9PTEVBTgogdHlwZWRlZiBpbnQgYm9vbGVhbjsKICNlbmRpZgotQDxNZXRhcG9zdCB2
ZXJzaW9uIGhlYWRlckA+CitAPE1ldGFwb3N0IHZlcnNpb24gaGVhZGVyQD5AOwogdHlwZWRl
ZiBzdHJ1Y3QgTVBfaW5zdGFuY2UgKk1QOwotQDxFeHBvcnRlZCB0eXBlc0A+CitAPEV4cG9y
dGVkIHR5cGVzQD5AOwogdHlwZWRlZiBzdHJ1Y3QgTVBfb3B0aW9ucyB7Ci0gIEA8T3B0aW9u
IHZhcmlhYmxlc0A+CisgIEA8T3B0aW9uIHZhcmlhYmxlc0A+QDsKIH0gTVBfb3B0aW9uczsK
LUA8RXhwb3J0ZWQgZnVuY3Rpb24gaGVhZGVyc0A+Ci1APE1QbGliIGhlYWRlciBzdHVmZkA+
CitAPEV4cG9ydGVkIGZ1bmN0aW9uIGhlYWRlcnNAPkA7CitAPE1QbGliIGhlYWRlciBzdHVm
ZkA+QDsKICNlbmRpZgogCiBAIFRoZSBpbnRlcm5hbCBoZWFkZXIgZmlsZSBpcyBtdWNoIGxv
bmdlcjogaXQgbm90IG9ubHkgbGlzdHMgdGhlIGNvbXBsZXRlCkBAIC0xMjcsOCArMTI3LDgg
QEAgdHlwZWRlZiBpbnQgYm9vbGVhbjsKIHR5cGVkZWYgaW50IGludGVnZXI7CiAjZGVmaW5l
IE1QT1NUX0FCUyBhYnMKICNlbHNlCi0vKiBTZWUgc291cmNlL3RleGsvd2ViMmMvdzJjL2Nv
bmZpZy5oICovCi0jaWYgSU5URUdFUl9NQVggPT0gTE9OR19NQVggLyogdGhpcyBzaG91bGQg
bWVhbiB8SU5URUdFUl9UWVBFfCA9PSBsb25nICovCisvKiBTZWUgXC57c291cmNlL3RleGsv
d2ViMmMvdzJjL2NvbmZpZy5ofSAqLworI2lmIElOVEVHRVJfTUFYID09IExPTkdfTUFYIC8q
IHRoaXMgc2hvdWxkIG1lYW4gfElOVEVHRVJfVFlQRSA9PSBsb25nfCAqLwogI2lmZGVmIEhB
VkVfTEFCUwogI2RlZmluZSBNUE9TVF9BQlMgbGFicwogI2Vsc2UKQEAgLTEzNiw0NCArMTM2
LDQ0IEBAIHR5cGVkZWYgaW50IGludGVnZXI7CiAjZW5kaWYKICNlbHNlCiAjZGVmaW5lIE1Q
T1NUX0FCUyBhYnMKLSNlbmRpZiAvKiBpZiB8SU5URUdFUl9UWVBFfCA9PSBsb25nICovCi0j
ZW5kaWYgLyogaWZuZGVmIHxJTlRFR0VSX1RZUEV8ICovCisjZW5kaWYgLyogfGlmIElOVEVH
RVJfVFlQRSA9PSBsb25nfCAqLworI2VuZGlmIC8qIHxpZm5kZWYgSU5URUdFUl9UWVBFfCAq
LwogCiAKLUA8RGVjbGFyZSBoZWxwZXJzQD47Ci1APEVudW1lcmF0aW9uIHR5cGVzQD47Ci1A
PFR5cGVzIGluIHRoZSBvdXRlciBibG9ja0A+OwotQDxDb25zdGFudHMgaW4gdGhlIG91dGVy
IGJsb2NrQD47CitAPERlY2xhcmUgaGVscGVyc0A+QDsKK0A8RW51bWVyYXRpb24gdHlwZXNA
PkA7CitAPFR5cGVzIGluIHRoZSBvdXRlciBibG9ja0A+QDsKK0A8Q29uc3RhbnRzIGluIHRo
ZSBvdXRlciBibG9ja0A+QDsKIHR5cGVkZWYgc3RydWN0IE1QX2luc3RhbmNlIHsKLSAgQDxP
cHRpb24gdmFyaWFibGVzQD4KLSAgQDxHbG9iYWwgdmFyaWFibGVzQD4KKyAgQDxPcHRpb24g
dmFyaWFibGVzQD5AOworICBAPEdsb2JhbCB2YXJpYWJsZXNAPkA7CiB9IE1QX2luc3RhbmNl
OwotQDxJbnRlcm5hbCBsaWJyYXJ5IGRlY2xhcmF0aW9uc0A+Ci1APE1QbGliIGludGVybmFs
IGhlYWRlciBzdHVmZkA+CitAPEludGVybmFsIGxpYnJhcnkgZGVjbGFyYXRpb25zQD5AOwor
QDxNUGxpYiBpbnRlcm5hbCBoZWFkZXIgc3R1ZmZAPkA7CiAjZW5kaWYKIAogQCBAYwogLypc
I2RlZmluZSBERUJVR0VOVkVMT1BFICovCiAjaWZkZWYgREVCVUdFTlZFTE9QRQogc3RhdGlj
IGludCBERUJVR0VOVkVMT1BFQ09VTlRFUj0wOwotI2RlZmluZSBkYmdfc3RyKEEpCSAgcHJp
bnRmKCJcbi0tWz09WyUwM2QgREVCVUdFTlZFTE9QRSBdPT1dICVzIiwJCSAgIERFQlVHRU5W
RUxPUEVDT1VOVEVSKyssICNBKQotI2RlZmluZSBkYmdfbihBKSAJICBwcmludGYoIlxuLS1b
PT1bJTAzZCBERUJVR0VOVkVMT1BFIF09PV0gWyclcyddPSVzLCAiLAkgICBERUJVR0VOVkVM
T1BFQ09VTlRFUisrLCAjQSwgbnVtYmVyX3Rvc3RyaW5nKEEpKQotI2RlZmluZSBkYmdfaW4o
QSkgCSAgcHJpbnRmKCJcbi0tWz09WyUwM2QgREVCVUdFTlZFTE9QRSBdPT1dIFsnJXMnXT0l
ZCwgIiwJICAgREVCVUdFTlZFTE9QRUNPVU5URVIrKywgI0EsIChpbnQpKEEpKQotI2RlZmlu
ZSBkYmdfZG4oQSkgCSAgcHJpbnRmKCJcbi0tWz09WyUwM2QgREVCVUdFTlZFTE9QRSBdPT1d
IFsnJXMnXT0lLjEwMGYsICIsREVCVUdFTlZFTE9QRUNPVU5URVIrKywgI0EsIChkb3VibGUp
KEEpKQotI2RlZmluZSBkYmdfa2V5KEEpIAkgIHByaW50ZigiXG4tLVs9PVslMDNkIERFQlVH
RU5WRUxPUEUgXT09XSBbJyVzJ109ICIsCSAgIERFQlVHRU5WRUxPUEVDT1VOVEVSKyssICNB
KQotI2RlZmluZSBkYmdfa2V5X252YWwoSyxWKSBwcmludGYoIlxuLS1bPT1bJTAzZCBERUJV
R0VOVkVMT1BFIF09PV0gWyclcyddPSVzIiwJICAgREVCVUdFTlZFTE9QRUNPVU5URVIrKywg
I0ssbnVtYmVyX3Rvc3RyaW5nKFYpKQotI2RlZmluZSBkYmdfa2V5X2l2YWwoSyxWKSBwcmlu
dGYoIlxuLS1bPT1bJTAzZCBERUJVR0VOVkVMT1BFIF09PV0gWyclcyddPSVkIiwJICAgREVC
VUdFTlZFTE9QRUNPVU5URVIrKywgI0ssKGludCkoVikpCi0jZGVmaW5lIGRiZ19rZXlfZHZh
bChLLFYpIHByaW50ZigiXG4tLVs9PVslMDNkIERFQlVHRU5WRUxPUEUgXT09XSBbJyVzJ109
JS4xMDBmIiwgIERFQlVHRU5WRUxPUEVDT1VOVEVSKyssICNLLChkb3VibGUpKFYpKQotI2Rl
ZmluZSBkYmdfY29tbWVudChBKSAJICBwcmludGYoIlxuLS1bPT1bJTAzZCBERUJVR0VOVkVM
T1BFIF09PV0gLS1bPT1bJXNdPT1dIiwgICBERUJVR0VOVkVMT1BFQ09VTlRFUisrLCAjQSkK
LSNkZWZpbmUgZGJnX3NwIAkJICBwcmludGYoIlxuLS1bPT1bJTAzZCBERUJVR0VOVkVMT1BF
IF09PV0gICIsICAgCSAgIERFQlVHRU5WRUxPUEVDT1VOVEVSKyspCi0jZGVmaW5lIGRiZ19v
cGVuX3QgCSAgcHJpbnRmKCJcbi0tWz09WyUwM2QgREVCVUdFTlZFTE9QRSBdPT1dIHsiLCAg
IAkgICBERUJVR0VOVkVMT1BFQ09VTlRFUisrKQotI2RlZmluZSBkYmdfY2xvc2VfdCAJICBw
cmludGYoIlxuLS1bPT1bJTAzZCBERUJVR0VOVkVMT1BFIF09PV0gfSIsICAgCSAgIERFQlVH
RU5WRUxPUEVDT1VOVEVSKyspCi0jZGVmaW5lIGRiZ19jb21tYSAJICBwcmludGYoIlxuLS1b
PT1bJTAzZCBERUJVR0VOVkVMT1BFIF09PV0gLCIsICAgCSAgIERFQlVHRU5WRUxPUEVDT1VO
VEVSKyspCi0jZGVmaW5lIGRiZ19ubCAJCSAgcHJpbnRmKCJcbi0tWz09WyUwM2QgREVCVUdF
TlZFTE9QRSBdPT1dIFxuIiwgICAJICAgREVCVUdFTlZFTE9QRUNPVU5URVIrKykKKyNkZWZp
bmUgZGJnX3N0cihBKQkgIEBbcHJpbnRmKCJcbi0tWz09WyUwM2QgREVCVUdFTlZFTE9QRSBd
PT1dICVzIiwJCSAgIERFQlVHRU5WRUxPUEVDT1VOVEVSKyssICNBKUBdCisjZGVmaW5lIGRi
Z19uKEEpIAkgIEBbcHJpbnRmKCJcbi0tWz09WyUwM2QgREVCVUdFTlZFTE9QRSBdPT1dIFsn
JXMnXT0lcywgIiwJICAgREVCVUdFTlZFTE9QRUNPVU5URVIrKywgI0EsIG51bWJlcl90b3N0
cmluZyhBKSlAXQorI2RlZmluZSBkYmdfaW4oQSkgCSAgQFtwcmludGYoIlxuLS1bPT1bJTAz
ZCBERUJVR0VOVkVMT1BFIF09PV0gWyclcyddPSVkLCAiLAkgICBERUJVR0VOVkVMT1BFQ09V
TlRFUisrLCAjQSwgKGludCkoQSkpQF0KKyNkZWZpbmUgZGJnX2RuKEEpIAkgIEBbcHJpbnRm
KCJcbi0tWz09WyUwM2QgREVCVUdFTlZFTE9QRSBdPT1dIFsnJXMnXT0lLjEwMGYsICIsREVC
VUdFTlZFTE9QRUNPVU5URVIrKywgI0EsIChkb3VibGUpKEEpKUBdCisjZGVmaW5lIGRiZ19r
ZXkoQSkgCSAgQFtwcmludGYoIlxuLS1bPT1bJTAzZCBERUJVR0VOVkVMT1BFIF09PV0gWycl
cyddPSAiLAkgICBERUJVR0VOVkVMT1BFQ09VTlRFUisrLCAjQSlAXQorI2RlZmluZSBkYmdf
a2V5X252YWwoSyxWKSBAW3ByaW50ZigiXG4tLVs9PVslMDNkIERFQlVHRU5WRUxPUEUgXT09
XSBbJyVzJ109JXMiLAkgICBERUJVR0VOVkVMT1BFQ09VTlRFUisrLCAjSyxudW1iZXJfdG9z
dHJpbmcoVikpQF0KKyNkZWZpbmUgZGJnX2tleV9pdmFsKEssVikgQFtwcmludGYoIlxuLS1b
PT1bJTAzZCBERUJVR0VOVkVMT1BFIF09PV0gWyclcyddPSVkIiwJICAgREVCVUdFTlZFTE9Q
RUNPVU5URVIrKywgI0ssKGludCkoVikpQF0KKyNkZWZpbmUgZGJnX2tleV9kdmFsKEssVikg
QFtwcmludGYoIlxuLS1bPT1bJTAzZCBERUJVR0VOVkVMT1BFIF09PV0gWyclcyddPSUuMTAw
ZiIsICBERUJVR0VOVkVMT1BFQ09VTlRFUisrLCAjSywoZG91YmxlKShWKSlAXQorI2RlZmlu
ZSBkYmdfY29tbWVudChBKSAJICBAW3ByaW50ZigiXG4tLVs9PVslMDNkIERFQlVHRU5WRUxP
UEUgXT09XSAtLVs9PVslc109PV0iLCAgIERFQlVHRU5WRUxPUEVDT1VOVEVSKyssICNBKUBd
CisjZGVmaW5lIGRiZ19zcCAJCSAgQFtwcmludGYoIlxuLS1bPT1bJTAzZCBERUJVR0VOVkVM
T1BFIF09PV0gICIsICAgCSAgIERFQlVHRU5WRUxPUEVDT1VOVEVSKyspQF0KKyNkZWZpbmUg
ZGJnX29wZW5fdCAJICBAW3ByaW50ZigiXG4tLVs9PVslMDNkIERFQlVHRU5WRUxPUEUgXT09
XSB7IiwgICAJICAgREVCVUdFTlZFTE9QRUNPVU5URVIrKylAXQorI2RlZmluZSBkYmdfY2xv
c2VfdCAJICBAW3ByaW50ZigiXG4tLVs9PVslMDNkIERFQlVHRU5WRUxPUEUgXT09XSB9Iiwg
ICAJICAgREVCVUdFTlZFTE9QRUNPVU5URVIrKylAXQorI2RlZmluZSBkYmdfY29tbWEgCSAg
QFtwcmludGYoIlxuLS1bPT1bJTAzZCBERUJVR0VOVkVMT1BFIF09PV0gLCIsICAgCSAgIERF
QlVHRU5WRUxPUEVDT1VOVEVSKyspQF0KKyNkZWZpbmUgZGJnX25sIAkJICBAW3ByaW50Zigi
XG4tLVs9PVslMDNkIERFQlVHRU5WRUxPUEUgXT09XSBcbiIsICAgCSAgIERFQlVHRU5WRUxP
UEVDT1VOVEVSKyspQF0KICNkZWZpbmUgZGJnX0NVQklDICAgICAgICAgZGJnX24ocC0+eF9j
b29yZCk7IGRiZ19uKHAtPnlfY29vcmQpOyBcCiAJCQkgIGRiZ19uKHAtPnJpZ2h0X3gpOyBk
YmdfbihwLT5yaWdodF95KTsgXAogCQkJICBkYmdfbihxLT5sZWZ0X3gpOyAgZGJnX24ocS0+
bGVmdF95KTsgIFwKLQkJCSAgZGJnX24ocS0+eF9jb29yZCk7IGRiZ19uKHEtPnlfY29vcmQp
CisJCQkgIGRiZ19uKHEtPnhfY29vcmQpOyBkYmdfbihxLT55X2Nvb3JkKUA7CiAjZW5kaWYK
ICNkZWZpbmUgS1BBVEhTRUFfREVCVUdfSCAxCiAjaW5jbHVkZSA8dzJjL2NvbmZpZy5oPgpA
QCAtMTg5LDIzICsxODksMzMgQEAgc3RhdGljIGludCBERUJVR0VOVkVMT1BFQ09VTlRFUj0w
OwogI2luY2x1ZGUgPHRpbWUuaD4gICAgICAgICAgICAgICAvKiBmb3Igc3RydWN0IHRtIFwm
IGNvICovCiAjaW5jbHVkZSA8emxpYi5oPiAgICAgICAgICAgICAgIC8qIGZvciB8WkxJQl9W
RVJTSU9OfCwgemxpYlZlcnNpb24oKSAqLwogI2luY2x1ZGUgPHBuZy5oPiAgICAgICAgICAg
ICAgICAvKiBmb3IgfFBOR19MSUJQTkdfVkVSX1NUUklOR3wsIHxwbmdfbGlicG5nX3Zlcnwg
Ki8KLS8qXCNpbmNsdWRlIDxwaXhtYW4uaD4qLyAgICAgICAgICAgICAvKiBmb3IgfFBJWE1B
Tl9WRVJTSU9OX1NUUklOR3wsIHxwaXhtYW5fdmVyc2lvbl9zdHJpbmcoKXwgKi8KLS8qXCNp
bmNsdWRlIDxjYWlyby5oPiovICAgICAgICAgICAgICAvKiBmb3IgfENBSVJPX1ZFUlNJT05f
U1RSSU5HfCwgfGNhaXJvX3ZlcnNpb25fc3RyaW5nKCl8ICovCi0vKlwjaW5jbHVkZSA8Z21w
Lmg+Ki8gICAgICAgICAgICAgICAgLyogZm9yIHxnbXBfdmVyc2lvbnwgKi8KLS8qXCNpbmNs
dWRlIDxtcGZyLmg+Ki8gICAgICAgICAgICAgICAvKiBmb3IgfE1QRlJfVkVSU0lPTl9TVFJJ
Tkd8LCB8bXBmcl9nZXRfdmVyc2lvbigpfCAqLworLyp8CisjaW5jbHVkZSA8cGl4bWFuLmg+
fCAqLyAgICAgICAgICAgICAvKiBmb3IgfFBJWE1BTl9WRVJTSU9OX1NUUklOR3wsIHxwaXht
YW5fdmVyc2lvbl9zdHJpbmcoKXwgKi8KKy8qfAorI2luY2x1ZGUgPGNhaXJvLmg+fCAqLyAg
ICAgICAgICAgICAgLyogZm9yIHxDQUlST19WRVJTSU9OX1NUUklOR3wsIHxjYWlyb192ZXJz
aW9uX3N0cmluZygpfCAqLworLyp8CisjaW5jbHVkZSA8Z21wLmg+fCAqLyAgICAgICAgICAg
ICAgICAvKiBmb3IgfGdtcF92ZXJzaW9ufCAqLworLyp8CisjaW5jbHVkZSA8bXBmci5oPnwg
Ki8gICAgICAgICAgICAgICAvKiBmb3IgfE1QRlJfVkVSU0lPTl9TVFJJTkd8LCB8bXBmcl9n
ZXRfdmVyc2lvbigpfCAqLwogI2luY2x1ZGUgIm1wbGliLmgiCiAjaW5jbHVkZSAibXBsaWJw
cy5oIiAgICAgICAgICAgIC8qIGV4dGVybmFsIGhlYWRlciAqLwotLypcI2luY2x1ZGUgIm1w
bGlic3ZnLmgiICovICAgICAgICAgIC8qIGV4dGVybmFsIGhlYWRlciAqLwotLypcI2luY2x1
ZGUgIm1wbGlicG5nLmgiICovICAgICAgICAgIC8qIGV4dGVybmFsIGhlYWRlciAqLworLyp8
CisjaW5jbHVkZSAibXBsaWJzdmcuaCJ8ICovICAgICAgICAgIC8qIGV4dGVybmFsIGhlYWRl
ciAqLworLyp8CisjaW5jbHVkZSAibXBsaWJwbmcuaCJ8ICovICAgICAgICAgIC8qIGV4dGVy
bmFsIGhlYWRlciAqLwogI2luY2x1ZGUgIm1wbXAuaCIgICAgICAgICAgICAgICAvKiBpbnRl
cm5hbCBoZWFkZXIgKi8KICNpbmNsdWRlICJtcHBzb3V0LmgiICAgICAgICAgICAgLyogaW50
ZXJuYWwgaGVhZGVyICovCi0vKlwjaW5jbHVkZSAibXBzdmdvdXQuaCIqLyAgICAgICAgICAg
LyogaW50ZXJuYWwgaGVhZGVyICovCi0vKlwjaW5jbHVkZSAibXBwbmdvdXQuaCIqLyAgICAg
ICAgICAgLyogaW50ZXJuYWwgaGVhZGVyICovCisvKnwKKyNpbmNsdWRlICJtcHN2Z291dC5o
InwgKi8gICAgICAgICAgIC8qIGludGVybmFsIGhlYWRlciAqLworLyp8CisjaW5jbHVkZSAi
bXBwbmdvdXQuaCJ8ICovICAgICAgICAgICAvKiBpbnRlcm5hbCBoZWFkZXIgKi8KICNpbmNs
dWRlICJtcG1hdGguaCIgICAgICAgICAgICAgLyogaW50ZXJuYWwgaGVhZGVyICovCiAjaW5j
bHVkZSAibXBtYXRoZG91YmxlLmgiICAgICAgIC8qIGludGVybmFsIGhlYWRlciAqLwogI2lu
Y2x1ZGUgIm1wbWF0aGRlY2ltYWwuaCIgICAgICAvKiBpbnRlcm5hbCBoZWFkZXIgKi8KLS8q
fCNpbmNsdWRlICJtcG1hdGhiaW5hcnkuaCJ8Ki8gICAgICAgLyogaW50ZXJuYWwgaGVhZGVy
ICovCi0vKnwjaW5jbHVkZSAibXBtYXRoaW50ZXJ2YWwuaCJ8Ki8gICAgICAgLyogaW50ZXJu
YWwgaGVhZGVyICovCisvKnwKKyNpbmNsdWRlICJtcG1hdGhiaW5hcnkuaCJ8ICovICAgICAg
IC8qIGludGVybmFsIGhlYWRlciAqLworLyp8CisjaW5jbHVkZSAibXBtYXRoaW50ZXJ2YWwu
aCJ8ICovICAgICAgIC8qIGludGVybmFsIGhlYWRlciAqLwogI2luY2x1ZGUgIm1wc3RyaW5n
cy5oIiAgICAgICAgICAvKiBpbnRlcm5hbCBoZWFkZXIgKi8KIC8qIEJFR0lOIFBBVENIICov
CiBtcF9udW1iZXIgZHhfYXA7ICAgIC8qIGFwcHJveGltYXRpb24gb2YgZHggKi8KQEAgLTI0
NSw5ICsyNTUsMTAgQEAgZXh0ZXJuIGludCBtcF9zdmdfZ3Jfc2hpcF9vdXQgKG1wX2VkZ2Vf
b2JqZWN0ICAqaGgsIGludCBwcm9sb2d1ZXMsIGludCBzdGFuZGFsb24KIAogQCBAYwogZXh0
ZXJuIGZvbnRfbnVtYmVyIG1wX3JlYWRfZm9udF9pbmZvIChNUCBtcCwgY2hhciAqZm5hbWUp
OyAgICAgIC8qIHRmbWluLncgKi8KLUBoIEA8RGVjbGFyYXRpb25zQD47Ci1APEJhc2ljIHBy
aW50aW5nIHByb2NlZHVyZXNAPjsKLUA8RXJyb3IgaGFuZGxpbmcgcHJvY2VkdXJlc0A+CitA
aAorQDxEZWNsYXJhdGlvbnNAPkA7CitAPEJhc2ljIHByaW50aW5nIHByb2NlZHVyZXNAPkA7
CitAPEVycm9yIGhhbmRsaW5nIHByb2NlZHVyZXNAPkA7CiAKIEAgU29tZSBkZWJ1Z2dpbmcg
c3VwcG9ydCBmb3IgZGV2ZWxvcG1lbnQuIFRoZSB0cmljayB3aXRoIHRoZSB2YXJpYWRpYyBt
YWNyb3MKIHByb2JhYmx5IG9ubHkgd29ya3MgaW4gZ2NjLCBhcyB0aGlzIHByZXByb2Nlc3Nv
ciBmZWF0dXJlIHdhcyBub3QgZm9ybWFsaXplZApAQCAtMjU4LDI1ICsyNjksMjUgQEAgbW9z
dCBjb21waWxlcnMgdW5kZXJzdGFuZCB0aGUgbm9uLWRlYnVnIHZlcnNpb24uCiBAPE1QbGli
IGludGVybmFsIGhlYWRlciBzdHVmZkA+PQogLypcI2RlZmluZSBERUJVRyAyKi8KICNpZiBE
RUJVRwotI2RlZmluZSBkZWJ1Z19udW1iZXIoQSkgcHJpbnRmKCIlZDogJXM9JS4zMmYgKCVk
KVxuIiwgX19MSU5FX18sICNBLCBudW1iZXJfdG9fZG91YmxlKEEpLCBudW1iZXJfdG9fc2Nh
bGVkKEEpKQorI2RlZmluZSBkZWJ1Z19udW1iZXIoQSkgQFtwcmludGYoIiVkOiAlcz0lLjMy
ZiAoJWQpXG4iLCBfX0xJTkVfXywgI0EsIG51bWJlcl90b19kb3VibGUoQSksIG51bWJlcl90
b19zY2FsZWQoQSkpQF0KICNlbHNlCi0jZGVmaW5lIGRlYnVnX251bWJlcihBKQorI2RlZmlu
ZSBkZWJ1Z19udW1iZXIoQSkgQFtAXQogI2VuZGlmCiAjaWYgREVCVUc+MQogdm9pZCBkb19k
ZWJ1Z19wcmludGYoTVAgbXAsIGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqZm10
LCAuLi4pOwotIyAgZGVmaW5lIGRlYnVnX3ByaW50ZihhMSxhMixhMykgZG9fZGVidWdfcHJp
bnRmKG1wLCAiIiwgYTEsYTIsYTMpCi0jICBkZWZpbmUgRlVOQ1RJT05fVFJBQ0UxKGExKSBk
b19kZWJ1Z19wcmludGYobXAsICJGVFJBQ0U6ICIsIGExKQotIyAgZGVmaW5lIEZVTkNUSU9O
X1RSQUNFMihhMSxhMikgZG9fZGVidWdfcHJpbnRmKG1wLCAiRlRSQUNFOiAiLCBhMSxhMikK
LSMgIGRlZmluZSBGVU5DVElPTl9UUkFDRTMoYTEsYTIsYTMpIGRvX2RlYnVnX3ByaW50Ziht
cCwgIkZUUkFDRTogIiwgYTEsYTIsYTMpCi0jICBkZWZpbmUgRlVOQ1RJT05fVFJBQ0UzWChh
MSxhMixhMykgKHZvaWQpbXAKLSMgIGRlZmluZSBGVU5DVElPTl9UUkFDRTQoYTEsYTIsYTMs
YTQpIGRvX2RlYnVnX3ByaW50ZihtcCwgIkZUUkFDRTogIiwgYTEsYTIsYTMsYTQpCisjICBk
ZWZpbmUgZGVidWdfcHJpbnRmKGExLGEyLGEzKSBAW2RvX2RlYnVnX3ByaW50ZihtcCwgIiIs
IGExLGEyLGEzKUBdCisjICBkZWZpbmUgRlVOQ1RJT05fVFJBQ0UxKGExKSBkb19AW2RlYnVn
X3ByaW50ZihtcCwgIkZUUkFDRTogIiwgYTEpQF0KKyMgIGRlZmluZSBGVU5DVElPTl9UUkFD
RTIoYTEsYTIpIEBbZG9fZGVidWdfcHJpbnRmKG1wLCAiRlRSQUNFOiAiLCBhMSxhMilAXQor
IyAgZGVmaW5lIEZVTkNUSU9OX1RSQUNFMyhhMSxhMixhMykgQFtkb19kZWJ1Z19wcmludGYo
bXAsICJGVFJBQ0U6ICIsIGExLGEyLGEzKUBdCisjICBkZWZpbmUgRlVOQ1RJT05fVFJBQ0Uz
WChhMSxhMixhMykgQFsodm9pZCltcEBdCisjICBkZWZpbmUgRlVOQ1RJT05fVFJBQ0U0KGEx
LGEyLGEzLGE0KSBAW2RvX2RlYnVnX3ByaW50ZihtcCwgIkZUUkFDRTogIiwgYTEsYTIsYTMs
YTQpQF0KICNlbHNlCi0jICBkZWZpbmUgZGVidWdfcHJpbnRmKGExLGEyLGEzKQotIyAgZGVm
aW5lIEZVTkNUSU9OX1RSQUNFMShhMSkgKHZvaWQpbXAKLSMgIGRlZmluZSBGVU5DVElPTl9U
UkFDRTIoYTEsYTIpICh2b2lkKW1wCi0jICBkZWZpbmUgRlVOQ1RJT05fVFJBQ0UzKGExLGEy
LGEzKSAodm9pZCltcAotIyAgZGVmaW5lIEZVTkNUSU9OX1RSQUNFM1goYTEsYTIsYTMpICh2
b2lkKW1wCi0jICBkZWZpbmUgRlVOQ1RJT05fVFJBQ0U0KGExLGEyLGEzLGE0KSAodm9pZClt
cAorIyAgZGVmaW5lIGRlYnVnX3ByaW50ZihhMSxhMixhMykgQFtAXQorIyAgZGVmaW5lIEZV
TkNUSU9OX1RSQUNFMShhMSkgQFsodm9pZCltcEBdCisjICBkZWZpbmUgRlVOQ1RJT05fVFJB
Q0UyKGExLGEyKSBAWyh2b2lkKW1wQF0KKyMgIGRlZmluZSBGVU5DVElPTl9UUkFDRTMoYTEs
YTIsYTMpIEBbKHZvaWQpbXBAXQorIyAgZGVmaW5lIEZVTkNUSU9OX1RSQUNFM1goYTEsYTIs
YTMpIEBbKHZvaWQpbXBAXQorIyAgZGVmaW5lIEZVTkNUSU9OX1RSQUNFNChhMSxhMixhMyxh
NCkgQFsodm9pZCltcEBdCiAjZW5kaWYKIAogQCBUaGlzIGZ1bmN0aW9uIG9jY2FzaW9uYWxs
eSBjcmFzaGVzIChpZiBzb21ldGhpbmcgaXMgd3JpdHRlbiBhZnRlciB0aGUKQEAgLTI4NCwx
OSArMjk1LDE2IEBAIGxvZyBmaWxlIGlzIGFscmVhZHkgY2xvc2VkKSwgYnV0IHRoYXQgaXMg
bm90IHNvIGltcG9ydGFudCB3aGlsZSBkZWJ1Z2dpbmcuCiAKIEBjCiAjaWYgREVCVUcKLXZv
aWQgZG9fZGVidWdfcHJpbnRmKE1QIG1wLCBjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNo
YXIgKmZtdCwgLi4uKSA7CiB2b2lkIGRvX2RlYnVnX3ByaW50ZihNUCBtcCwgY29uc3QgY2hh
ciAqcHJlZml4LCBjb25zdCBjaGFyICpmbXQsIC4uLikgewogICB2YV9saXN0IGFwOwotI2lm
IDAKICAgdmFfc3RhcnQgKGFwLCBmbXQpOworI2lmIDAKICAgaWYgKG1wLT5sb2dfZmlsZSAm
JiAhZmVycm9yKChGSUxFICopbXAtPmxvZ19maWxlKSkgewogICAgIGZwdXRzKHByZWZpeCwg
bXAtPmxvZ19maWxlKTsKICAgICB2ZnByaW50ZihtcC0+bG9nX2ZpbGUsIGZtdCwgYXApOwog
ICB9CiAgIHZhX2VuZChhcCk7Ci0jZW5kaWYKICAgdmFfc3RhcnQgKGFwLCBmbXQpOwotI2lm
IDAKICAgaWYgKG1wLT50ZXJtX291dCAgJiYgIWZlcnJvcigoRklMRSAqKW1wLT50ZXJtX291
dCkpIHsKICNlbHNlCiAgIGlmIChmYWxzZSkgewpAQCAtMzA4LDggKzMxNiwxMSBAQCB2b2lk
IGRvX2RlYnVnX3ByaW50ZihNUCBtcCwgY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFy
ICpmbXQsIC4uLikgewogICAgIHZmcHJpbnRmKHN0ZG91dCwgZm10LCBhcCk7CiAgIH0KICAg
dmFfZW5kKGFwKTsKLX0KKyNpZiAwCisgIH0KICNlbmRpZgorfQorI2VuZGlmIC8qIHxpZiBE
RUJVR3wgKi8KIAogQCBIZXJlIGFyZSB0aGUgZnVuY3Rpb25zIHRoYXQgc2V0IHVwIHRoZSBc
TVBcIGluc3RhbmNlLgogCkBAIC0zMzMsNiArMzQ0LDggQEAgTVBfb3B0aW9ucyAqbXBfb3B0
aW9ucyAodm9pZCkgewogfGxlZnRfcG9pbnR8IGFuZCB8cmlnaHRfcG9pbnR8IG9mIGEgbnVt
YmVyIHxhfCBzaW1wbHkgcmV0dXJuIHxhfCwgd2hpbGUKIHxpbnRlcnZhbF9zZXR8IG9mIHRo
ZSBwYWlyIHwoYSxiKXwgIHJldHVybnMgdGhlIG1pZCBwb2ludC4KIAorQHMgbXBfbnVtYmVy
IGludAorCiBAPERlY2xhcmF0aW9uc0A+PQogc3RhdGljIHZvaWQgbXBfc3R1Yl9tX2dldF9s
ZWZ0X2VuZHBvaW50KE1QIG1wLCBtcF9udW1iZXIgKiByLCBtcF9udW1iZXIgYSk7CiBzdGF0
aWMgdm9pZCBtcF9zdHViX21fZ2V0X3JpZ2h0X2VuZHBvaW50KE1QIG1wLCBtcF9udW1iZXIg
KiByLCBtcF9udW1iZXIgYSk7CkBAIC03NjQsNyArNzc3LDkgQEAgYXBwcm9hY2hlcyB0byB0
aGUgcHJvYmxlbSBvZiB1bmRlcnN0YW5kaW5nIGEgc29tZXdoYXQgY29tcGxpY2F0ZWQgc3lz
dGVtLgogc3RyYW5nZSBiZWhhdmlvciB0aGF0IHNvbWV0aW1lcyBvY2N1cnMgd2hlbiBcTVBc
IGlzIGJlaW5nIGluc3RhbGxlZCBvcgogd2hlbiBzeXN0ZW0gd2l6YXJkcyBhcmUgZm9vbGlu
ZyBhcm91bmQgd2l0aCBcTVBcIHdpdGhvdXQgcXVpdGUga25vd2luZwogd2hhdCB0aGV5IGFy
ZSBkb2luZy4gU3VjaCBjb2RlIHdpbGwgbm90IG5vcm1hbGx5IGJlIGNvbXBpbGVkOyBpdCBp
cwotZGVsaW1pdGVkIGJ5IHRoZSBwcmVwcm9jZXNzb3IgdGVzdCBgfCNpZmRlZiBERUJVRyAu
LiAjZW5kaWZ8Jy4KK2RlbGltaXRlZCBieSB0aGUgcHJlcHJvY2Vzc29yIHRlc3R8CisjaWZk
ZWYgREVCVUd8ICRcbGRvdHMkfAorI2VuZGlmfC4KIAogQCBUaGUgZm9sbG93aW5nIHBhcmFt
ZXRlcnMgY2FuIGJlIGNoYW5nZWQgYXQgY29tcGlsZSB0aW1lIHRvIGV4dGVuZCBvcgogcmVk
dWNlIFxNUCdzIGNhcGFjaXR5LgpAQCAtNzk4LDggKzgxMyw3IEBAIGludCB1dGY4X21vZGU7
CiBAIEA8RGVhbGxvYyB2YXJpYWJsZXNAPj0KIHhmcmVlIChtcC0+YmFubmVyKTsKIAotQAot
QGQgc2V0X2xvd2VyX2xpbWl0ZWRfdmFsdWUoYSxiLGMpIGRvIHsgYT1jOyBpZiAoYj5jKSBh
PWI7IH0gd2hpbGUgKDApCitAIEBkIHNldF9sb3dlcl9saW1pdGVkX3ZhbHVlKGEsYixjKSBk
byB7IGE9YzsgaWYgKGI+YykgYT1iOyB9IHdoaWxlICgwKQogCiBAPEFsbG9jYXRlIG9yIC4u
LkA+PQogbXAtPnBhcmFtX3NpemUgPSA0OwpAQCAtODc3LDggKzg5MSw4IEBAIHRoZSB1c2Vy
J3MgZXh0ZXJuYWwgY2hhcmFjdGVyIHNldCBieSBtZWFucyBvZiBhcnJheXMgfHhvcmR8IGFu
ZCB8eGNocnwKIHRoYXQgYXJlIGFuYWxvZ291cyB0byBQYXNjYWwncyB8b3JkfCBhbmQgfGNo
cnwgZnVuY3Rpb25zLgogCiBAPE1QbGliIGludGVybmFsIGhlYWRlciBzdHVmZkA+PQotI2Rl
ZmluZSB4Y2hyKEEpIG1wLT54Y2hyWyhBKV0KLSNkZWZpbmUgeG9yZChBKSBtcC0+eG9yZFso
QSldCisjZGVmaW5lIHhjaHIoQSkgQFttcC0+eGNoclsoQSldQF0KKyNkZWZpbmUgeG9yZChB
KSBAW21wLT54b3JkWyhBKV1AXQogCiBAIEA8R2xvYi4uLkA+PQogQVNDSUlfY29kZSB4b3Jk
WzI1Nl07ICAgLyogc3BlY2lmaWVzIGNvbnZlcnNpb24gb2YgaW5wdXQgY2hhcmFjdGVycyAq
Lwo=

--------------3Uq0VSlnVq85j0m2CDkMzeEf
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

--
http://tug.org/metapost/

--------------3Uq0VSlnVq85j0m2CDkMzeEf--