delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2020/05/21/23:34:34

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
X-Recipient: djgpp AT delorie DOT com
Subject: Re: Make 4.3 crash when compiling 86duino example under WXP-NTVDM
To: djgpp AT delorie DOT com
References: <d2d1f8c8-3eb5-4d0b-a70c-9033b6289b49 AT googlegroups DOT com>
<5EAC2EBC DOT 2060204 AT gmx DOT de>
<6ee3479d-fa5d-4c39-8ee1-18ce5f339e46 AT googlegroups DOT com>
<5EC6C1BC DOT 9070301 AT gmx DOT de>
<4d29fcde-0ac5-45d8-9be3-ec9593575795 AT googlegroups DOT com>
From: "Andris Pavenis (andris DOT pavenis AT iki DOT fi) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com>
Message-ID: <ae32ad0b-5a0b-5e7e-039c-d59cce632d48@iki.fi>
Date: Fri, 22 May 2020 06:30:02 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
Thunderbird/68.8.0
MIME-Version: 1.0
In-Reply-To: <4d29fcde-0ac5-45d8-9be3-ec9593575795@googlegroups.com>
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

This is a multi-part message in MIME format.
--------------FFFDF2DAB4C86EC1545B08EF
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

On 5/22/20 2:52 AM, RayeR (rayer314 AT gmail DOT com) [via djgpp AT delorie DOT com] wrote:
> Aha, I didn't know you're behind big chinese (fire)wall to protect from all bad :)
I'm afraid we all be shortly. As I have seen written somewhere some years ago: Orwell was optimist.
> Yes, it's DuinOS by DMP - SDK for a tiny Vortex86 based mini PC module that use DJGPP. I didn't know this github page, on their official site is ony big ISO image with whole DuinOS.
>
> OK, so bug reproduced.
> Does it mean that nmalloc in make returned NULL and wa not handled properly or that nmalloc in current libc is broken? Is there same problem with make 4.1 when recompiled with current libc?

 From the other side gcc-10 with -fanalyzer option added is rather loud about nmalloc.c. Using 
-fanaylyzer causes GCC-10 to use fuge amount of memory: I have seen it using 12GB. So it is perhaps 
not good idea to use it for native DJGPP compiler. So I'm attaching the result (from 
https://aur.archlinux.org/packages/djgpp-djcrx/: DJGPP v2.05 with GCC compatibility and some other 
patches applied). I Have not have time to study it in detail.


Andris



--------------FFFDF2DAB4C86EC1545B08EF
Content-Type: text/plain; charset=UTF-8;
 name="nmalloc-fanalyzer.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="nmalloc-fanalyzer.txt"

aTY4Ni1wYy1tc2Rvc2RqZ3BwLWdjYyAtcGlwZSAuLi4gLWZuby1idWlsdGluLW1hbGxvYyAt
ZmFuYWx5emVyIC1jIG5tYWxsb2MuYwpubWFsbG9jLmM6IEZ1bmt0aW8g4oCdbWFsbG9j4oCd
OgpubWFsbG9jLmM6MzgwOjE2OiB2YXJvaXR1czogbGVhayBvZiDigJ08dHVudGVtYXRvbj7i
gJ0gW0NXRS00MDFdIFstV2FuYWx5emVyLW1hbGxvYy1sZWFrXQogIDM4MCB8ICAgIHNpemUg
PSAoKHN6ICsgQUxJR05NQVNLKSAmIH5BTElHTk1BU0spICsgREFUQU9GRlNFVDsKICAgICAg
fCAgICAgICAgICAgIH5+fn5efn5+fn5+fn5+fn4KICDigJ1tZW1hbGlnbuKAnTogZXZlbnQg
MQogICAgfAogICAgfC4uLy4uLy4uLy4uL2luY2x1ZGUvbWFsbG9jLmg6MjM6NzoKICAgIHwg
ICAyMyB8IHZvaWQgKm1lbWFsaWduKHNpemVfdCBfYWxpZ24sIHNpemVfdCBfYW10KTsKICAg
IHwgICAgICB8ICAgICAgIF5+fn5+fn5+CiAgICB8ICAgICAgfCAgICAgICB8CiAgICB8ICAg
ICAgfCAgICAgICAoMSkgZW50cnkgdG8g4oCdbWVtYWxpZ27igJ0KICAgIHwKICDigJ1tZW1h
bGlnbuKAnTogZXZlbnRzIDItOAogICAgfAogICAgfG5tYWxsb2MuYzoxMTQwOjc6CiAgICB8
IDExMDcgfCAgICBpZiAoYWxpZ25tZW50ICYmIChhbGlnbm1lbnQgPD0gNjU1MzYpKQogICAg
fCAgICAgIHwgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAg
fCAgICAgIHwgICAgICAgfCAgICAgICAgICB8CiAgICB8ICAgICAgfCAgICAgICB8ICAgICAg
ICAgICgzKSAuLi50byBoZXJlCiAgICB8ICAgICAgfCAgICAgICAoNCkgZm9sbG93aW5nIOKA
nXRydWXigJ0gYnJhbmNoLi4uCiAgICB8IDExMDggfCAgICAgICByZXR1cm4gKGFsaWdubWVu
dCAmIChhbGlnbm1lbnQgLSAxKSk7CiAgICB8ICAgICAgfCAgICAgICAgICAgICAgfn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgIHwgICAgICB8ICAgICAgICAgICAgICAgICAg
ICAgICAgIHwKICAgIHwgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICg1KSAuLi50
byBoZXJlCiAgICB8Li4uLi4uCiAgICB8IDExNDAgfCAgICBpZiAoc2l6ZSA8ICgodWxvbmcp
KElOVF9NQVggLSA2NTUzNikpICYmCiAgICB8ICAgICAgfCAgICAgICBefn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICB8ICAgICAgfCAgICAgICB8ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgIHwgICAgICB8ICAgICAgIHwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpIGZvbGxvd2luZyDigJ10cnVl4oCdIGJy
YW5jaC4uLgogICAgfCAgICAgIHwgICAgICAgKDIpIGZvbGxvd2luZyDigJ10cnVl4oCdIGJy
YW5jaCAod2hlbiDigJ1zaXplIDw9IDIxNDc0MTgxMTDigJ0pLi4uCiAgICB8IDExNDEgfCAg
ICAgICAgIWludmFsaWQoYWxpZ25tZW50KSkgewogICAgfCAgICAgIHwgICAgICAgIH5+fn5+
fn5+fn5+fn5+fn5+fn4KICAgIHwgMTE0MiB8ICAgICAgIC8qIHBhcmFtZXRlcnMgc2VlbSB0
byBiZSB2YWxpZCAqLwogICAgfCAxMTQzIHwgICAgICAgaWYgKGFsaWdubWVudCA8PSBBTElH
TikgewogICAgfCAgICAgIHwgICAgICAgICAgfgogICAgfCAgICAgIHwgICAgICAgICAgfAog
ICAgfCAgICAgIHwgICAgICAgICAgKDcpIC4uLnRvIGhlcmUKICAgIHwgICAgICB8ICAgICAg
ICAgICg4KSBmb2xsb3dpbmcg4oCddHJ1ZeKAnSBicmFuY2ggKHdoZW4g4oCdYWxpZ25tZW50
IDw9IDjigJ0pLi4uCiAgICB8CiAg4oCdbWVtYWxpZ27igJ06IGV2ZW50IDkKICAgIHwKICAg
IHwgICA1OCB8ICMgICAgIGRlZmluZSBubWFsbG9jICBtYWxsb2MKICAgIHwgICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgICBeCiAgICB8ICAgICAgfCAgICAgICAgICAgICAgICAgICAg
ICAgfAogICAgfCAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICg5KSAuLi50byBoZXJl
Cm5tYWxsb2MuYzoxMTQ1OjE3OiBodW9tOiDigJ1ubWFsbG9j4oCdLW1ha3JvbiBsYXZlbm51
a3Nlc3NhCiAgICB8IDExNDUgfCAgICAgICAgICByZXR1cm4gbm1hbGxvYyhzem5lZWQpOyAg
ICAgICAgICAgICAgICAgICAgICAvKiBFWElUICovCiAgICB8ICAgICAgfCAgICAgICAgICAg
ICAgICAgXn5+fn5+fgogICAgfAogIOKAnW1lbWFsaWdu4oCdOiBldmVudCAxMAogICAgfAog
ICAgfCAgIDU4IHwgIyAgICAgZGVmaW5lIG5tYWxsb2MgIG1hbGxvYwogICAgfCAgICAgIHwg
ICAgICAgICAgICAgICAgICAgICAgIF4KICAgIHwgICAgICB8ICAgICAgICAgICAgICAgICAg
ICAgICB8CiAgICB8ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgKDEwKSBhbGxvY2F0
ZWQgaGVyZQpubWFsbG9jLmM6MTE0NToxNzogaHVvbTog4oCdbm1hbGxvY+KAnS1tYWtyb24g
bGF2ZW5udWtzZXNzYQogICAgfCAxMTQ1IHwgICAgICAgICAgcmV0dXJuIG5tYWxsb2Moc3pu
ZWVkKTsgICAgICAgICAgICAgICAgICAgICAgLyogRVhJVCAqLwogICAgfCAgICAgIHwgICAg
ICAgICAgICAgICAgIF5+fn5+fn4KICAgIHwKICDigJ1tZW1hbGlnbuKAnTogZXZlbnQgMTEK
ICAgIHwKICAgIHwgICA1OCB8ICMgICAgIGRlZmluZSBubWFsbG9jICBtYWxsb2MKICAgIHwg
ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBeCiAgICB8ICAgICAgfCAgICAgICAgICAg
ICAgICAgICAgICAgfAogICAgfCAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICgxMSkg
Y2FsbGluZyDigJ1tYWxsb2PigJ0gZnJvbSDigJ1tZW1hbGlnbuKAnQpubWFsbG9jLmM6MTE0
NToxNzogaHVvbTog4oCdbm1hbGxvY+KAnS1tYWtyb24gbGF2ZW5udWtzZXNzYQogICAgfCAx
MTQ1IHwgICAgICAgICAgcmV0dXJuIG5tYWxsb2Moc3puZWVkKTsgICAgICAgICAgICAgICAg
ICAgICAgLyogRVhJVCAqLwogICAgfCAgICAgIHwgICAgICAgICAgICAgICAgIF5+fn5+fn4K
ICAgIHwKICAgICstLT4g4oCdbWFsbG9j4oCdOiBldmVudCAxMgogICAgICAgICAgIHwKICAg
ICAgICAgICB8Li4vLi4vLi4vLi4vaW5jbHVkZS9zdGRsaWIuaDo3NDo4OgogICAgICAgICAg
IHwgICA3NCB8IHZvaWQgKiBtYWxsb2Moc2l6ZV90IF9zaXplKTsKICAgICAgICAgICB8ICAg
ICAgfCAgICAgICAgXn5+fn5+CiAgICAgICAgICAgfCAgICAgIHwgICAgICAgIHwKICAgICAg
ICAgICB8ICAgICAgfCAgICAgICAgKDEyKSBlbnRyeSB0byDigJ1tYWxsb2PigJ0KICAgICAg
ICAgICB8CiAgICAgICAgIOKAnW1hbGxvY+KAnTogZXZlbnRzIDEzLTIxCiAgICAgICAgICAg
fAogICAgICAgICAgIHxubWFsbG9jLmM6NzU0Ojc6CiAgICAgICAgICAgfCAgMzgwIHwgICAg
c2l6ZSA9ICgoc3ogKyBBTElHTk1BU0spICYgfkFMSUdOTUFTSykgKyBEQVRBT0ZGU0VUOwog
ICAgICAgICAgIHwgICAgICB8ICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fgogICAgICAg
ICAgIHwgICAgICB8ICAgICAgICAgICAgICAgIHwKICAgICAgICAgICB8ICAgICAgfCAgICAg
ICAgICAgICAgICAoMjEpIOKAnTx0dW50ZW1hdG9uPuKAnSBsZWFrcyBoZXJlOyB3YXMgYWxs
b2NhdGVkIGF0ICgxMCkKICAgICAgICAgICB8Li4uLi4uCiAgICAgICAgICAgfCAgNzU0IHwg
ICAgaWYgKHN6bmVlZCA8ICgodWxvbmcpKElOVF9NQVggLSA2NTUzNikpKSB7CiAgICAgICAg
ICAgfCAgICAgIHwgICAgICAgXgogICAgICAgICAgIHwgICAgICB8ICAgICAgIHwKICAgICAg
ICAgICB8ICAgICAgfCAgICAgICAoMTMpIGZvbGxvd2luZyDigJ1mYWxzZeKAnSBicmFuY2gg
KHdoZW4g4oCdc2l6ZSA+IDIxNDc0MTgxMTDigJ0pLi4uCiAgICAgICAgICAgfC4uLi4uLgog
ICAgICAgICAgIHwgIDc5OSB8ICAgIGlmIChob29rcHRyW21hbGxvY19IS10pIGhvb2twdHJb
bWFsbG9jX0hLXShzaXplLCBwKTsKICAgICAgICAgICB8ICAgICAgfCAgICAgICB+fn5+fn5+
fn5+fn5+fn5+fn5+CiAgICAgICAgICAgfCAgICAgIHwgICAgICAgfCAgICAgICB8CiAgICAg
ICAgICAgfCAgICAgIHwgICAgICAgfCAgICAgICAoMTQpIC4uLnRvIGhlcmUKICAgICAgICAg
ICB8ICAgICAgfCAgICAgICAoMTUpIGZvbGxvd2luZyDigJ1mYWxzZeKAnSBicmFuY2guLi4K
ICAgICAgICAgICB8ICA4MDAgfCAgICBpZiAoIXAgJiYgaG9va3B0clttYWxsb2NfZmFpbF9I
S10pCiAgICAgICAgICAgfCAgICAgIHwgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+CiAgICAgICAgICAgfCAgICAgIHwgICAgICAgfCAgIHwgICAgICAgICB8CiAgICAg
ICAgICAgfCAgICAgIHwgICAgICAgfCAgIHwgICAgICAgICAoMTgpIC4uLnRvIGhlcmUKICAg
ICAgICAgICB8ICAgICAgfCAgICAgICB8ICAgKDE5KSBmb2xsb3dpbmcg4oCdZmFsc2XigJ0g
YnJhbmNoLi4uCiAgICAgICAgICAgfCAgICAgIHwgICAgICAgKDE2KSAuLi50byBoZXJlCiAg
ICAgICAgICAgfCAgICAgIHwgICAgICAgKDE3KSBmb2xsb3dpbmcg4oCddHJ1ZeKAnSBicmFu
Y2ggKHdoZW4g4oCdcOKAnSBpcyBOVUxMKS4uLgogICAgICAgICAgIHwuLi4uLi4KICAgICAg
ICAgICB8ICA4MDMgfCAgICByZXR1cm4gcDsKICAgICAgICAgICB8ICAgICAgfCAgICAgICAg
ICAgfgogICAgICAgICAgIHwgICAgICB8ICAgICAgICAgICB8CiAgICAgICAgICAgfCAgICAg
IHwgICAgICAgICAgICgyMCkgLi4udG8gaGVyZQogICAgICAgICAgIHwKbm1hbGxvYy5jOjgw
MzoxMTogdmFyb2l0dXM6IGxlYWsgb2Yg4oCdbWluaXTigJ0gW0NXRS00MDFdIFstV2FuYWx5
emVyLW1hbGxvYy1sZWFrXQogIDgwMyB8ICAgIHJldHVybiBwOwogICAgICB8ICAgICAgICAg
ICBeCiAg4oCdbWVtYWxpZ27igJ06IGV2ZW50IDEKICAgIHwKICAgIHwuLi8uLi8uLi8uLi9p
bmNsdWRlL21hbGxvYy5oOjIzOjc6CiAgICB8ICAgMjMgfCB2b2lkICptZW1hbGlnbihzaXpl
X3QgX2FsaWduLCBzaXplX3QgX2FtdCk7CiAgICB8ICAgICAgfCAgICAgICBefn5+fn5+fgog
ICAgfCAgICAgIHwgICAgICAgfAogICAgfCAgICAgIHwgICAgICAgKDEpIGVudHJ5IHRvIOKA
nW1lbWFsaWdu4oCdCiAgICB8CiAg4oCdbWVtYWxpZ27igJ06IGV2ZW50cyAyLTgKICAgIHwK
ICAgIHxubWFsbG9jLmM6MTE0MDo3OgogICAgfCAxMTA3IHwgICAgaWYgKGFsaWdubWVudCAm
JiAoYWxpZ25tZW50IDw9IDY1NTM2KSkKICAgIHwgICAgICB8ICAgICAgIH5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgIHwgICAgICB8ICAgICAgIHwgICAgICAgICAg
fAogICAgfCAgICAgIHwgICAgICAgfCAgICAgICAgICAoMykgLi4udG8gaGVyZQogICAgfCAg
ICAgIHwgICAgICAgKDQpIGZvbGxvd2luZyDigJ10cnVl4oCdIGJyYW5jaC4uLgogICAgfCAx
MTA4IHwgICAgICAgcmV0dXJuIChhbGlnbm1lbnQgJiAoYWxpZ25tZW50IC0gMSkpOwogICAg
fCAgICAgIHwgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAg
ICB8ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICB8ICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICAgICAoNSkgLi4udG8gaGVyZQogICAgfC4uLi4uLgogICAgfCAx
MTQwIHwgICAgaWYgKHNpemUgPCAoKHVsb25nKShJTlRfTUFYIC0gNjU1MzYpKSAmJgogICAg
fCAgICAgIHwgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgog
ICAgfCAgICAgIHwgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
CiAgICB8ICAgICAgfCAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICg2KSBmb2xsb3dpbmcg4oCddHJ1ZeKAnSBicmFuY2guLi4KICAgIHwgICAgICB8ICAgICAg
ICgyKSBmb2xsb3dpbmcg4oCddHJ1ZeKAnSBicmFuY2ggKHdoZW4g4oCdc2l6ZSA8PSAyMTQ3
NDE4MTEw4oCdKS4uLgogICAgfCAxMTQxIHwgICAgICAgICFpbnZhbGlkKGFsaWdubWVudCkp
IHsKICAgIHwgICAgICB8ICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICB8IDExNDIg
fCAgICAgICAvKiBwYXJhbWV0ZXJzIHNlZW0gdG8gYmUgdmFsaWQgKi8KICAgIHwgMTE0MyB8
ICAgICAgIGlmIChhbGlnbm1lbnQgPD0gQUxJR04pIHsKICAgIHwgICAgICB8ICAgICAgICAg
IH4KICAgIHwgICAgICB8ICAgICAgICAgIHwKICAgIHwgICAgICB8ICAgICAgICAgICg3KSAu
Li50byBoZXJlCiAgICB8ICAgICAgfCAgICAgICAgICAoOCkgZm9sbG93aW5nIOKAnWZhbHNl
4oCdIGJyYW5jaCAod2hlbiDigJ1hbGlnbm1lbnQgPiA44oCdKS4uLgogICAgfAogIOKAnW1l
bWFsaWdu4oCdOiBldmVudCA5CiAgICB8CiAgICB8IDExNDcgfCAgICAgICBlbHNlIGlmICgo
bWluaXQgPSBubWFsbG9jKHN6bmVlZCArIFhUUkEpKSkgewogICAgfCAgICAgIHwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgfCAgICAgIHwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgfCAgICAgIHwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpIC4uLnRvIGhlcmUKICAgIHwK
ICDigJ1tZW1hbGlnbuKAnTogZXZlbnQgMTAKICAgIHwKICAgIHwKICDigJ1tZW1hbGlnbuKA
nTogZXZlbnQgMTEKICAgIHwKICAgIHwgICA1OCB8ICMgICAgIGRlZmluZSBubWFsbG9jICBt
YWxsb2MKICAgIHwgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBeCiAgICB8ICAgICAg
fCAgICAgICAgICAgICAgICAgICAgICAgfAogICAgfCAgICAgIHwgICAgICAgICAgICAgICAg
ICAgICAgICgxMSkgY2FsbGluZyDigJ1tYWxsb2PigJ0gZnJvbSDigJ1tZW1hbGlnbuKAnQpu
bWFsbG9jLmM6MTE0NzoyNTogaHVvbTog4oCdbm1hbGxvY+KAnS1tYWtyb24gbGF2ZW5udWtz
ZXNzYQogICAgfCAxMTQ3IHwgICAgICAgZWxzZSBpZiAoKG1pbml0ID0gbm1hbGxvYyhzem5l
ZWQgKyBYVFJBKSkpIHsKICAgIHwgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF5+
fn5+fn4KICAgIHwKICAgICstLT4g4oCdbWFsbG9j4oCdOiBldmVudCAxMgogICAgICAgICAg
IHwKICAgICAgICAgICB8Li4vLi4vLi4vLi4vaW5jbHVkZS9zdGRsaWIuaDo3NDo4OgogICAg
ICAgICAgIHwgICA3NCB8IHZvaWQgKiBtYWxsb2Moc2l6ZV90IF9zaXplKTsKICAgICAgICAg
ICB8ICAgICAgfCAgICAgICAgXn5+fn5+CiAgICAgICAgICAgfCAgICAgIHwgICAgICAgIHwK
ICAgICAgICAgICB8ICAgICAgfCAgICAgICAgKDEyKSBlbnRyeSB0byDigJ1tYWxsb2PigJ0K
ICAgICAgICAgICB8CiAgICAgICAgIOKAnW1hbGxvY+KAnTogZXZlbnRzIDEzLTIxCiAgICAg
ICAgICAgfAogICAgICAgICAgIHxubWFsbG9jLmM6NzU0Ojc6CiAgICAgICAgICAgfCAgNzU0
IHwgICAgaWYgKHN6bmVlZCA8ICgodWxvbmcpKElOVF9NQVggLSA2NTUzNikpKSB7CiAgICAg
ICAgICAgfCAgICAgIHwgICAgICAgXgogICAgICAgICAgIHwgICAgICB8ICAgICAgIHwKICAg
ICAgICAgICB8ICAgICAgfCAgICAgICAoMTMpIGZvbGxvd2luZyDigJ1mYWxzZeKAnSBicmFu
Y2ggKHdoZW4g4oCdc2l6ZSA+IDIxNDc0MTgxMTDigJ0pLi4uCiAgICAgICAgICAgfC4uLi4u
LgogICAgICAgICAgIHwgIDc5OSB8ICAgIGlmIChob29rcHRyW21hbGxvY19IS10pIGhvb2tw
dHJbbWFsbG9jX0hLXShzaXplLCBwKTsKICAgICAgICAgICB8ICAgICAgfCAgICAgICB+fn5+
fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgfCAgICAgIHwgICAgICAgfCAgICAgICB8CiAg
ICAgICAgICAgfCAgICAgIHwgICAgICAgfCAgICAgICAoMTQpIC4uLnRvIGhlcmUKICAgICAg
ICAgICB8ICAgICAgfCAgICAgICAoMTUpIGZvbGxvd2luZyDigJ1mYWxzZeKAnSBicmFuY2gu
Li4KICAgICAgICAgICB8ICA4MDAgfCAgICBpZiAoIXAgJiYgaG9va3B0clttYWxsb2NfZmFp
bF9IS10pCiAgICAgICAgICAgfCAgICAgIHwgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+CiAgICAgICAgICAgfCAgICAgIHwgICAgICAgfCAgIHwgICAgICAgICB8CiAg
ICAgICAgICAgfCAgICAgIHwgICAgICAgfCAgIHwgICAgICAgICAoMTgpIC4uLnRvIGhlcmUK
ICAgICAgICAgICB8ICAgICAgfCAgICAgICB8ICAgKDE5KSBmb2xsb3dpbmcg4oCdZmFsc2Xi
gJ0gYnJhbmNoLi4uCiAgICAgICAgICAgfCAgICAgIHwgICAgICAgKDE2KSAuLi50byBoZXJl
CiAgICAgICAgICAgfCAgICAgIHwgICAgICAgKDE3KSBmb2xsb3dpbmcg4oCddHJ1ZeKAnSBi
cmFuY2ggKHdoZW4g4oCdcOKAnSBpcyBOVUxMKS4uLgogICAgICAgICAgIHwuLi4uLi4KICAg
ICAgICAgICB8ICA4MDMgfCAgICByZXR1cm4gcDsKICAgICAgICAgICB8ICAgICAgfCAgICAg
ICAgICAgfgogICAgICAgICAgIHwgICAgICB8ICAgICAgICAgICB8CiAgICAgICAgICAgfCAg
ICAgIHwgICAgICAgICAgICgyMCkgLi4udG8gaGVyZQogICAgICAgICAgIHwgICAgICB8ICAg
ICAgICAgICAoMjEpIOKAnW1pbml04oCdIGxlYWtzIGhlcmU7IHdhcyBhbGxvY2F0ZWQgYXQg
KDEwKQogICAgICAgICAgIHwKbm1hbGxvYy5jOjgwMzoxMTogdmFyb2l0dXM6IGxlYWsgb2Yg
4oCdcOKAnSBbQ1dFLTQwMV0gWy1XYW5hbHl6ZXItbWFsbG9jLWxlYWtdCiAgODAzIHwgICAg
cmV0dXJuIHA7CiAgICAgIHwgICAgICAgICAgIF4KICDigJ1yZWFsbG9j4oCdOiBldmVudCAx
CiAgICB8CiAgICB8Li4vLi4vLi4vLi4vaW5jbHVkZS9zdGRsaWIuaDo4MTo4OgogICAgfCAg
IDgxIHwgdm9pZCAqIHJlYWxsb2Modm9pZCAqX3B0ciwgc2l6ZV90IF9zaXplKTsKICAgIHwg
ICAgICB8ICAgICAgICBefn5+fn5+CiAgICB8ICAgICAgfCAgICAgICAgfAogICAgfCAgICAg
IHwgICAgICAgICgxKSBlbnRyeSB0byDigJ1yZWFsbG9j4oCdCiAgICB8CiAg4oCdcmVhbGxv
Y+KAnTogZXZlbnRzIDItNAogICAgfAogICAgfG5tYWxsb2MuYzo4NzM6NzoKICAgIHwgIDg3
MyB8ICAgIGlmIChob29rcHRyW3JlYWxsb2NfSEtdKSBob29rcHRyW3JlYWxsb2NfSEtdKHN6
LCBwdHIpOwogICAgfCAgICAgIHwgICAgICAgXgogICAgfCAgICAgIHwgICAgICAgfAogICAg
fCAgICAgIHwgICAgICAgKDIpIGZvbGxvd2luZyDigJ1mYWxzZeKAnSBicmFuY2guLi4KICAg
IHwgIDg3NCB8IAogICAgfCAgODc1IHwgICAgaWYgKCFwdHIpIHsKICAgIHwgICAgICB8ICAg
ICAgIH4KICAgIHwgICAgICB8ICAgICAgIHwKICAgIHwgICAgICB8ICAgICAgICgzKSAuLi50
byBoZXJlCiAgICB8ICAgICAgfCAgICAgICAoNCkgZm9sbG93aW5nIOKAnXRydWXigJ0gYnJh
bmNoICh3aGVuIOKAnXB0cuKAnSBpcyBOVUxMKS4uLgogICAgfAogIOKAnXJlYWxsb2PigJ06
IGV2ZW50IDUKICAgIHwKICAgIHwgICA1OCB8ICMgICAgIGRlZmluZSBubWFsbG9jICBtYWxs
b2MKICAgIHwgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBeCiAgICB8ICAgICAgfCAg
ICAgICAgICAgICAgICAgICAgICAgfAogICAgfCAgICAgIHwgICAgICAgICAgICAgICAgICAg
ICAgICg1KSAuLi50byBoZXJlCm5tYWxsb2MuYzo4NzY6MTE6IGh1b206IOKAnW5tYWxsb2Pi
gJ0tbWFrcm9uIGxhdmVubnVrc2Vzc2EKICAgIHwgIDg3NiB8ICAgICAgIHAgPSBubWFsbG9j
KHN6KTsKICAgIHwgICAgICB8ICAgICAgICAgICBefn5+fn5+CiAgICB8CiAg4oCdcmVhbGxv
Y+KAnTogZXZlbnQgNgogICAgfAogICAgfCAgIDU4IHwgIyAgICAgZGVmaW5lIG5tYWxsb2Mg
IG1hbGxvYwogICAgfCAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF4KICAgIHwgICAg
ICB8ICAgICAgICAgICAgICAgICAgICAgICB8CiAgICB8ICAgICAgfCAgICAgICAgICAgICAg
ICAgICAgICAgKDYpIGFsbG9jYXRlZCBoZXJlCm5tYWxsb2MuYzo4NzY6MTE6IGh1b206IOKA
nW5tYWxsb2PigJ0tbWFrcm9uIGxhdmVubnVrc2Vzc2EKICAgIHwgIDg3NiB8ICAgICAgIHAg
PSBubWFsbG9jKHN6KTsKICAgIHwgICAgICB8ICAgICAgICAgICBefn5+fn5+CiAgICB8CiAg
4oCdcmVhbGxvY+KAnTogZXZlbnQgNwogICAgfAogICAgfCAgIDU4IHwgIyAgICAgZGVmaW5l
IG5tYWxsb2MgIG1hbGxvYwogICAgfCAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF4K
ICAgIHwgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8CiAgICB8ICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICAgKDcpIGNhbGxpbmcg4oCdbWFsbG9j4oCdIGZyb20g4oCdcmVh
bGxvY+KAnQpubWFsbG9jLmM6ODc2OjExOiBodW9tOiDigJ1ubWFsbG9j4oCdLW1ha3JvbiBs
YXZlbm51a3Nlc3NhCiAgICB8ICA4NzYgfCAgICAgICBwID0gbm1hbGxvYyhzeik7CiAgICB8
ICAgICAgfCAgICAgICAgICAgXn5+fn5+fgogICAgfAogICAgKy0tPiDigJ1tYWxsb2PigJ06
IGV2ZW50IDgKICAgICAgICAgICB8CiAgICAgICAgICAgfC4uLy4uLy4uLy4uL2luY2x1ZGUv
c3RkbGliLmg6NzQ6ODoKICAgICAgICAgICB8ICAgNzQgfCB2b2lkICogbWFsbG9jKHNpemVf
dCBfc2l6ZSk7CiAgICAgICAgICAgfCAgICAgIHwgICAgICAgIF5+fn5+fgogICAgICAgICAg
IHwgICAgICB8ICAgICAgICB8CiAgICAgICAgICAgfCAgICAgIHwgICAgICAgICg4KSBlbnRy
eSB0byDigJ1tYWxsb2PigJ0KICAgICAgICAgICB8CiAgICAgICAgIOKAnW1hbGxvY+KAnTog
ZXZlbnRzIDktMTcKICAgICAgICAgICB8CiAgICAgICAgICAgfG5tYWxsb2MuYzo3NTQ6NzoK
ICAgICAgICAgICB8ICA3NTQgfCAgICBpZiAoc3puZWVkIDwgKCh1bG9uZykoSU5UX01BWCAt
IDY1NTM2KSkpIHsKICAgICAgICAgICB8ICAgICAgfCAgICAgICBeCiAgICAgICAgICAgfCAg
ICAgIHwgICAgICAgfAogICAgICAgICAgIHwgICAgICB8ICAgICAgICg5KSBmb2xsb3dpbmcg
4oCdZmFsc2XigJ0gYnJhbmNoICh3aGVuIOKAnXNpemUgPiAyMTQ3NDE4MTEw4oCdKS4uLgog
ICAgICAgICAgIHwuLi4uLi4KICAgICAgICAgICB8ICA3OTkgfCAgICBpZiAoaG9va3B0cltt
YWxsb2NfSEtdKSBob29rcHRyW21hbGxvY19IS10oc2l6ZSwgcCk7CiAgICAgICAgICAgfCAg
ICAgIHwgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgIHwgICAgICB8ICAg
ICAgIHwgICAgICAgfAogICAgICAgICAgIHwgICAgICB8ICAgICAgIHwgICAgICAgKDEwKSAu
Li50byBoZXJlCiAgICAgICAgICAgfCAgICAgIHwgICAgICAgKDExKSBmb2xsb3dpbmcg4oCd
ZmFsc2XigJ0gYnJhbmNoLi4uCiAgICAgICAgICAgfCAgODAwIHwgICAgaWYgKCFwICYmIGhv
b2twdHJbbWFsbG9jX2ZhaWxfSEtdKQogICAgICAgICAgIHwgICAgICB8ICAgICAgIH5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgIHwgICAgICB8ICAgICAgIHwg
ICB8ICAgICAgICAgfAogICAgICAgICAgIHwgICAgICB8ICAgICAgIHwgICB8ICAgICAgICAg
KDE0KSAuLi50byBoZXJlCiAgICAgICAgICAgfCAgICAgIHwgICAgICAgfCAgICgxNSkgZm9s
bG93aW5nIOKAnWZhbHNl4oCdIGJyYW5jaC4uLgogICAgICAgICAgIHwgICAgICB8ICAgICAg
ICgxMikgLi4udG8gaGVyZQogICAgICAgICAgIHwgICAgICB8ICAgICAgICgxMykgZm9sbG93
aW5nIOKAnXRydWXigJ0gYnJhbmNoICh3aGVuIOKAnXDigJ0gaXMgTlVMTCkuLi4KICAgICAg
ICAgICB8Li4uLi4uCiAgICAgICAgICAgfCAgODAzIHwgICAgcmV0dXJuIHA7CiAgICAgICAg
ICAgfCAgICAgIHwgICAgICAgICAgIH4KICAgICAgICAgICB8ICAgICAgfCAgICAgICAgICAg
fAogICAgICAgICAgIHwgICAgICB8ICAgICAgICAgICAoMTYpIC4uLnRvIGhlcmUKICAgICAg
ICAgICB8ICAgICAgfCAgICAgICAgICAgKDE3KSDigJ1w4oCdIGxlYWtzIGhlcmU7IHdhcyBh
bGxvY2F0ZWQgYXQgKDYpCiAgICAgICAgICAgfApubWFsbG9jLmM6ODAzOjExOiB2YXJvaXR1
czogbGVhayBvZiDigJ1yZXN1bHTigJ0gW0NXRS00MDFdIFstV2FuYWx5emVyLW1hbGxvYy1s
ZWFrXQogIDgwMyB8ICAgIHJldHVybiBwOwogICAgICB8ICAgICAgICAgICBeCiAg4oCdY2Fs
bG9j4oCdOiBldmVudCAxCiAgICB8CiAgICB8Li4vLi4vLi4vLi4vaW5jbHVkZS9zdGRsaWIu
aDo2Nzo4OgogICAgfCAgIDY3IHwgdm9pZCAqIGNhbGxvYyhzaXplX3QgX25lbGVtLCBzaXpl
X3QgX3NpemUpOwogICAgfCAgICAgIHwgICAgICAgIF5+fn5+fgogICAgfCAgICAgIHwgICAg
ICAgIHwKICAgIHwgICAgICB8ICAgICAgICAoMSkgZW50cnkgdG8g4oCdY2FsbG9j4oCdCiAg
ICB8CiAg4oCdY2FsbG9j4oCdOiBldmVudCAyCiAgICB8CiAgICB8bm1hbGxvYy5jOjEwMjU6
MTA6CiAgICB8IDEwMjUgfCAgICAgICBzeiA9IG4gKiBzOwogICAgfCAgICAgIHwgICAgICAg
fn5+Xn5+fn5+fgogICAgfCAgICAgIHwgICAgICAgICAgfAogICAgfCAgICAgIHwgICAgICAg
ICAgKDIpIGFsbG9jYXRlZCBoZXJlCiAgICB8CiAg4oCdY2FsbG9j4oCdOiBldmVudCAzCiAg
ICB8CiAgICB8ICAgNTggfCAjICAgICBkZWZpbmUgbm1hbGxvYyAgbWFsbG9jCiAgICB8ICAg
ICAgfCAgICAgICAgICAgICAgICAgICAgICAgXgogICAgfCAgICAgIHwgICAgICAgICAgICAg
ICAgICAgICAgIHwKICAgIHwgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAoMykgY2Fs
bGluZyDigJ1tYWxsb2PigJ0gZnJvbSDigJ1jYWxsb2PigJ0Kbm1hbGxvYy5jOjEwMjY6MjE6
IGh1b206IOKAnW5tYWxsb2PigJ0tbWFrcm9uIGxhdmVubnVrc2Vzc2EKICAgIHwgMTAyNiB8
ICAgICAgIGlmICgocmVzdWx0ID0gbm1hbGxvYyhzeikpKSBtZW1zZXQocmVzdWx0LCAwLCBz
eik7CiAgICB8ICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KICAgIHwKICAg
ICstLT4g4oCdbWFsbG9j4oCdOiBldmVudCA0CiAgICAgICAgICAgfAogICAgICAgICAgIHwu
Li8uLi8uLi8uLi9pbmNsdWRlL3N0ZGxpYi5oOjc0Ojg6CiAgICAgICAgICAgfCAgIDc0IHwg
dm9pZCAqIG1hbGxvYyhzaXplX3QgX3NpemUpOwogICAgICAgICAgIHwgICAgICB8ICAgICAg
ICBefn5+fn4KICAgICAgICAgICB8ICAgICAgfCAgICAgICAgfAogICAgICAgICAgIHwgICAg
ICB8ICAgICAgICAoNCkgZW50cnkgdG8g4oCdbWFsbG9j4oCdCiAgICAgICAgICAgfAogICAg
ICAgICDigJ1tYWxsb2PigJ06IGV2ZW50cyA1LTEzCiAgICAgICAgICAgfAogICAgICAgICAg
IHxubWFsbG9jLmM6NzU0Ojc6CiAgICAgICAgICAgfCAgNzU0IHwgICAgaWYgKHN6bmVlZCA8
ICgodWxvbmcpKElOVF9NQVggLSA2NTUzNikpKSB7CiAgICAgICAgICAgfCAgICAgIHwgICAg
ICAgXgogICAgICAgICAgIHwgICAgICB8ICAgICAgIHwKICAgICAgICAgICB8ICAgICAgfCAg
ICAgICAoNSkgZm9sbG93aW5nIOKAnWZhbHNl4oCdIGJyYW5jaCAod2hlbiDigJ1zaXplID4g
MjE0NzQxODExMOKAnSkuLi4KICAgICAgICAgICB8Li4uLi4uCiAgICAgICAgICAgfCAgNzk5
IHwgICAgaWYgKGhvb2twdHJbbWFsbG9jX0hLXSkgaG9va3B0clttYWxsb2NfSEtdKHNpemUs
IHApOwogICAgICAgICAgIHwgICAgICB8ICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn4KICAg
ICAgICAgICB8ICAgICAgfCAgICAgICB8ICAgICAgIHwKICAgICAgICAgICB8ICAgICAgfCAg
ICAgICB8ICAgICAgICg2KSAuLi50byBoZXJlCiAgICAgICAgICAgfCAgICAgIHwgICAgICAg
KDcpIGZvbGxvd2luZyDigJ1mYWxzZeKAnSBicmFuY2guLi4KICAgICAgICAgICB8ICA4MDAg
fCAgICBpZiAoIXAgJiYgaG9va3B0clttYWxsb2NfZmFpbF9IS10pCiAgICAgICAgICAgfCAg
ICAgIHwgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAg
fCAgICAgIHwgICAgICAgfCAgIHwgICAgICAgICB8CiAgICAgICAgICAgfCAgICAgIHwgICAg
ICAgfCAgIHwgICAgICAgICAoMTApIC4uLnRvIGhlcmUKICAgICAgICAgICB8ICAgICAgfCAg
ICAgICB8ICAgKDExKSBmb2xsb3dpbmcg4oCdZmFsc2XigJ0gYnJhbmNoLi4uCiAgICAgICAg
ICAgfCAgICAgIHwgICAgICAgKDgpIC4uLnRvIGhlcmUKICAgICAgICAgICB8ICAgICAgfCAg
ICAgICAoOSkgZm9sbG93aW5nIOKAnXRydWXigJ0gYnJhbmNoICh3aGVuIOKAnXDigJ0gaXMg
TlVMTCkuLi4KICAgICAgICAgICB8Li4uLi4uCiAgICAgICAgICAgfCAgODAzIHwgICAgcmV0
dXJuIHA7CiAgICAgICAgICAgfCAgICAgIHwgICAgICAgICAgIH4KICAgICAgICAgICB8ICAg
ICAgfCAgICAgICAgICAgfAogICAgICAgICAgIHwgICAgICB8ICAgICAgICAgICAoMTIpIC4u
LnRvIGhlcmUKICAgICAgICAgICB8ICAgICAgfCAgICAgICAgICAgKDEzKSDigJ1yZXN1bHTi
gJ0gbGVha3MgaGVyZTsgd2FzIGFsbG9jYXRlZCBhdCAoMikKICAgICAgICAgICB8CiAK
--------------FFFDF2DAB4C86EC1545B08EF--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019