delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2019/09/03/04:53:33

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
X-Recipient: djgpp AT delorie DOT com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20161025;
h=subject:to:references:from:message-id:date:user-agent:mime-version
:in-reply-to:content-language;
bh=blV8ALTCvFAikdk8EeRcTee+r9LbWoNt8ovXw+xs8/M=;
b=X/fvVXY7LAbWmCvKGYqBjEkofM1/2tjlXNKJRebXwVNXuSgWLQ6LJGzZkIB2N5iwCO
DmUoGNz7PphWeyQ5mUmaGAP3/OzFRJRoD3XLt7A8AiKhjXAMexm0xjgB8hUH1HkcMJZ9
Lx5hH6JXxI05TOG+55yiRUUJIhTjMA7inmflD8SeNJ/i1Ckja33u964RICz9lRIWSzpt
4AJaX567jkQqGpQAeROzRxPaXZfsC4JUUotkIMmkr4kp9FcA8JBt+vwkdtey6s2giKF5
FC0qhFbqVHnTaEMxksIz5y3+2ns8ycqNauwcMgDAdD+dMDhaYrmacOwStKhZR8P91iL+
K5RA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:subject:to:references:from:message-id:date
:user-agent:mime-version:in-reply-to:content-language;
bh=blV8ALTCvFAikdk8EeRcTee+r9LbWoNt8ovXw+xs8/M=;
b=lp1lyopJK2ehrRTSWHh/IatpW82yLd1vzRGy/6Z3yTp3y2f3WNiRGRg1OQi15mYjdI
ConJN1SMDVBM9+hN6cv8QaEmJMeUn6vf6KqxiF0c0TpVgOc8mrZsVqPj6wsGSsbbsanM
NGpSLCufyoET2osxGlv9+Rps1Wkht8+UQpWyyllwKtXzOYlMeebo/NsFCIHhDDTqKlyR
lUNZ7RHh0uDRKSX8gDnG5KVld3KpiH19e3mAXDcPaYH4fWfdH1E+ne2I/e7vtAZAOIsJ
/kLrW4kaPy8cDmcejA+fr1gvDCvhsWfxBQckFwficrTmyEoMyA2nUBJeajXMRIYCar5R
wv5A==
X-Gm-Message-State: APjAAAX2LtDRo2ZGx5/UixURce0SQOTLhqWM2U3xSrvld2IIrqg0B/je
zQzUD1OSN+YSQBk/iP7HST8KNXAt
X-Google-Smtp-Source: APXvYqzKEC/MEHGQDGWzeUBaZK+v3SZWB1tZkkuH5TUVv6Yzbv2A6gGoDm0mLPGjTbR8Wa2ZZnEmzg==
X-Received: by 2002:ac2:4308:: with SMTP id l8mr6113141lfh.25.1567500553674;
Tue, 03 Sep 2019 01:49:13 -0700 (PDT)
Subject: Re: ANNOUNCE: DJGPP port of tcp/ip library Watt-32 (version 2.2
dev.rel. 11) uploaded.
To: djgpp AT delorie DOT com
References: <201907102113 DOT x6ALDVG8006695 AT delorie DOT com>
<53a929c4-eb6e-4e21-9128-84083b678cc5 AT googlegroups DOT com>
<5D6D641F DOT 3080909 AT gmx DOT de>
<6f711aea-e445-4c7b-99d2-2de41e6e9d90 AT googlegroups DOT com>
From: "Gisle Vanem (gisle DOT vanem AT gmail DOT com) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com>
Message-ID: <c4ab4239-89ed-906e-a32d-b8304fb247f7@gmail.com>
Date: Tue, 3 Sep 2019 10:49:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
Thunderbird/60.8.0
MIME-Version: 1.0
In-Reply-To: <6f711aea-e445-4c7b-99d2-2de41e6e9d90@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.
--------------E61B8F7B4A5F7807633FD874
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

RayeR wrote:

>> These macros are defined to nothing for gcc/djgpp and I have experienced no issue with them.
> 
> Yes, but where you have the definition?

In '$WATT_ROOT/sys/cdefs.h', for __clang__:
     #define W32_CLANG_PACK_WARN_OFF() W32_GCC_PRAGMA (clang diagnostic push) \
                                       W32_GCC_PRAGMA (clang diagnostic ignored "-Wpragma-pack")
     #define W32_CLANG_PACK_WARN_DEF() W32_GCC_PRAGMA (clang diagnostic pop)

For others simply:
   #define W32_CLANG_PACK_WARN_OFF()
   #define W32_CLANG_PACK_WARN_DEF()

These macros many places are used w/o any trailing ';'.

-- 
--gv

--------------E61B8F7B4A5F7807633FD874
Content-Type: text/plain; charset=UTF-8;
 name="cdefs.h"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="cdefs.h"

LyohXGZpbGUgc3lzL2NkZWZzLmgNCiAqDQogKiBDLWNvbXBpbGVyIGRlZmluaXRpb25zLiBS
ZWYgZm9yIGEgbG9uZyBsaXN0IG9mIGNvbXBpbGVyIGJ1aWx0LWluOg0KICogICBodHRwczov
L3NvdXJjZWZvcmdlLm5ldC9wL3ByZWRlZi93aWtpL0NvbXBpbGVycy8NCiAqLw0KDQovKg0K
ICogQ29weXJpZ2h0IChjKSAxOTkxLCAxOTkzDQogKglUaGUgUmVnZW50cyBvZiB0aGUgVW5p
dmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqDQogKiBU
aGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIGNvbnRyaWJ1dGVkIHRvIEJlcmtl
bGV5IGJ5DQogKiBCZXJrZWxleSBTb2Z0d2FyZSBEZXNpZ24sIEluYy4NCiAqDQogKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQNCiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0KICogYXJlIG1ldDoNCiAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
DQogKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuDQogKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQ0KICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4NCiAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlh
bHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQ0KICogICAg
bXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50Og0KICoJVGhpcyBw
cm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBv
Zg0KICoJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuDQogKiA0
LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycw0KICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlDQogKiAgICB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCiAqDQogKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJ
UycnIEFORA0KICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQogKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQ0K
ICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFDQogKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTA0KICogREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMNCiAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQ0KICogSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QNCiAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkNCiAqIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YNCiAq
IFNVQ0ggREFNQUdFLg0KICoNCiAqICAgQCgjKWNkZWZzLmggIDguNyAoQmVya2VsZXkpIDEv
MjEvOTQNCiAqLw0KDQojaWZuZGVmIF9fU1lTX0NERUZTX0gNCiNkZWZpbmUgX19TWVNfQ0RF
RlNfSA0KDQojaWYgZGVmaW5lZChfX0hJR0hDX18pDQogIC8qDQogICAqIE5vdGUgdG8gSGln
aC1DIHVzZXJzOg0KICAgKiAgIFRoZSBiZWxvdyBwcmFnbWEgKHRvIHN1cHByZXNzIHdhcm5p
bmcgZm9yICcjaW5jbHVkZV9uZXh0JyBsaW5lKSBoYXMgbm8gZWZmZWN0DQogICAqICAgaGVy
ZS4gVGhlIHByYWdtYSBuZWVkcyB0byBiZSBwdXQgaW4geW91ciBDRkxBR1MgYXMNCiAgICog
ICAnLUhwcmFnbWE9T2Zmd2Fybig0OTEpJy4NCiAgICoNCiAgICogICBUaGUgd2FybmluZyB3
L28gdGhpcyBwcmFnbWEgaXMgc29tZXRoaW5nIGxpa2U6DQogICAqICAgICJ3ICIuLi8uLi9p
bmMvc3lzL2NkZWZzLmgiLEw2MC9DMjMoIzQ5MSk6ICBVbnJlY29nbml6ZWQgcHJlcHJvY2Vz
c29yIGRpcmVjdGl2ZToiDQogICAqLw0KI2VuZGlmDQoNCiNpZiBkZWZpbmVkKF9fREpHUFBf
XykgfHwgZGVmaW5lZChfX0NZR1dJTl9fKSB8fCBkZWZpbmVkKF9fTUlOR1c2NF9fKQ0KICAj
aW5jbHVkZV9uZXh0IDxzeXMvY2RlZnMuaD4NCg0KI2Vsc2UNCiAgI2lmIGRlZmluZWQoX19j
cGx1c3BsdXMpDQogICAgI2RlZmluZSBfX0JFR0lOX0RFQ0xTICBleHRlcm4gIkMiIHsNCiAg
ICAjZGVmaW5lIF9fRU5EX0RFQ0xTICAgIH0NCiAgI2Vsc2UNCiAgICAjZGVmaW5lIF9fQkVH
SU5fREVDTFMNCiAgICAjZGVmaW5lIF9fRU5EX0RFQ0xTDQogICNlbmRpZg0KI2VuZGlmDQoN
Cg0KI2lmIGRlZmluZWQoX19HTlVDX18pDQogICNkZWZpbmUgVzMyX0dDQ19WRVJTSU9OICAo
X19HTlVDX18gKiAxMDAwMCArIF9fR05VQ19NSU5PUl9fICogMTAwICsgXA0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF9fR05VQ19QQVRDSExFVkVMX18pDQojZWxzZQ0KICAjZGVm
aW5lIFczMl9HQ0NfVkVSU0lPTiAgMA0KI2VuZGlmDQoNCi8qDQogKiBNYWNyb3MgZm9yIGdj
YyAyLjUrIGZlYXR1cmVzLg0KICovDQojaWYgKFczMl9HQ0NfVkVSU0lPTiA+PSAyMDUwMCkN
CiAgI2lmIChXMzJfR0NDX1ZFUlNJT04gPj0gNTAxMDApICAgIC8qIGNvcnJlY3Q/ICovDQog
ICAgI2RlZmluZSBXMzJfQVRUUl9QUklOVEYoXzEsXzIpICBfX2F0dHJpYnV0ZV9fICgoX19m
b3JtYXRfXyhnbnVfcHJpbnRmLF8xLF8yKSkpDQogICAgI2RlZmluZSBXMzJfQVRUUl9TQ0FO
RihfMSxfMikgICBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyhnbnVfc2NhbmYsXzEsXzIp
KSkNCiAgI2Vsc2UNCiAgICAjZGVmaW5lIFczMl9BVFRSX1BSSU5URihfMSxfMikgIF9fYXR0
cmlidXRlX18gKChmb3JtYXQocHJpbnRmLF8xLF8yKSkpDQogICAgI2RlZmluZSBXMzJfQVRU
Ul9TQ0FORihfMSxfMikgICBfX2F0dHJpYnV0ZV9fICgoZm9ybWF0KHNjYW5mLF8xLF8yKSkp
DQogICNlbmRpZg0KDQogICNkZWZpbmUgVzMyX0FUVFJfTk9JTkxJTkUoKSAgICAgICBfX2F0
dHJpYnV0ZV9fICgoX19ub2lubGluZV9fKSkgICAgIC8qIGRvIG5vdCBpbmxpbmUgdGhpcyBm
dW5jICovDQogICNkZWZpbmUgVzMyX0FUVFJfUkVHUEFSTShfbikgICAgICBfX2F0dHJpYnV0
ZV9fICgocmVncGFybShfbikpKSAgICAgIC8qIHBhcmFtZXRlcnMgYXJlIGluIHJlZ2lzdGVy
cy4gKi8NCiAgI2RlZmluZSBXMzJfQVRUUl9OT1JFVFVSTigpICAgICAgIF9fYXR0cmlidXRl
X18gKChub3JldHVybikpICAgICAgICAgLyogZnVuY3Rpb24gbmV2ZXIgcmV0dXJucyAqLw0K
ICAjZGVmaW5lIFczMl9BUkdfTk9OTlVMTChfMSkgICAgICAgX19hdHRyaWJ1dGVfXyAoKG5v
bm51bGwoXzEpKSkgICAgICAvKiBhcmd1bWVudCBjYW5ub3QgYmUgTlVMTCAqLw0KI2Vsc2UN
CiAgI2lmIGRlZmluZWQoX19jbGFuZ19fKQ0KICAgICNkZWZpbmUgVzMyX0FUVFJfUFJJTlRG
KF8xLF8yKSAgX19hdHRyaWJ1dGVfXyAoKGZvcm1hdChwcmludGYsXzEsXzIpKSkNCiAgICAj
ZGVmaW5lIFczMl9BVFRSX1NDQU5GKF8xLF8yKSAgIF9fYXR0cmlidXRlX18gKChmb3JtYXQo
c2NhbmYsXzEsXzIpKSkNCiAgI2Vsc2UNCiAgICAjZGVmaW5lIFczMl9BVFRSX1BSSU5URihf
MSxfMikNCiAgICAjZGVmaW5lIFczMl9BVFRSX1NDQU5GKF8xLF8yKQ0KICAjZW5kaWYNCg0K
ICAjZGVmaW5lIFczMl9BVFRSX05PSU5MSU5FKCkNCiAgI2RlZmluZSBXMzJfQVRUUl9SRUdQ
QVJNKF9uKQ0KICAjZGVmaW5lIFczMl9BVFRSX05PUkVUVVJOKCkNCiAgI2RlZmluZSBXMzJf
QVJHX05PTk5VTEwoXzEpDQojZW5kaWYNCg0KLyogV2FybiBvbiBkZXByZWNhdGVkIHR5cGUv
ZnVuYw0KICovDQojaWYgKFczMl9HQ0NfVkVSU0lPTiA+PSAzMDEwMCkNCiAgI2RlZmluZSBX
MzJfQVRUUl9ERVBSRUNBVEVEICAgIF9fYXR0cmlidXRlX18oKF9fZGVwcmVjYXRlZF9fKSkN
CiNlbHNlDQogICNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPj0gMTcwMCkg
IC8qIFZpc3VhbCBTdHVkaW8gMjAxMSsgPyAqLw0KICAgICNkZWZpbmUgVzMyX0FUVFJfREVQ
UkVDQVRFRCAgX19kZWNsc3BlYyhkZXByZWNhdGVkKQ0KICAjZWxzZQ0KICAgICNkZWZpbmUg
VzMyX0FUVFJfREVQUkVDQVRFRA0KICAjZW5kaWYNCiNlbmRpZg0KDQovKiBEZXRlY3Rpb24g
b2YgdGhlIHZhcmlvdXMgQm9ybGFuZC9Db2RlR2VhckMvQ0J1aWxkZXIgdmVyc2lvbnMuDQog
KiBOb3Qgc3VyZSBhYm91dCB0aGUgJzB4MDcwMCcgdmFsdWUuDQogKg0KICogUmVmczogaHR0
cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9wcmVkZWYvd2lraS9Db21waWxlcnMvDQogKiAgICAg
ICBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DJTJCJTJCQnVpbGRlcg0KICovDQoj
aWYgZGVmaW5lZChfX0JPUkxBTkRDX18pDQogICNpZiAoX19CT1JMQU5EQ19fID49IDB4MDcw
MCkNCiAgLy8jcHJhZ21hIG1lc3NhZ2UgKCJJIGFtIEVtYmFyY2FkZXJvIikNCiAgICAjZGVm
aW5lIFczMl9JU19FTUJBUkNBREVSTyAxDQogICNlbmRpZg0KDQogICNpZiBkZWZpbmVkKF9f
Q09ERUdFQVJDX18pDQogIC8vI3ByYWdtYSBtZXNzYWdlICgiSSBhbSBDb2RlR2VhckMiKQ0K
ICAgICNkZWZpbmUgVzMyX0lTX0NPREVHRUFSQyAxDQogICNlbmRpZg0KI2VuZGlmDQoNCiNp
ZiBkZWZpbmVkKF9fQ0NETF9fKSAgICAvKiBMYWRTb2Z0IGNvbXBpbGVyICovDQogICNkZWZp
bmUgY2RlY2wgX2NkZWNsDQoNCiNlbGlmICFkZWZpbmVkKGNkZWNsKSAmJiAoZGVmaW5lZChf
X01JTkdXMzJfXykgfHwgZGVmaW5lZChfX0NZR1dJTl9fKSkNCiAgI2RlZmluZSBjZGVjbCBf
X2F0dHJpYnV0ZV9fKChfX2NkZWNsX18pKQ0KI2VuZGlmDQoNCiNpZiBkZWZpbmVkKF9NU0Nf
VkVSKSB8fCBkZWZpbmVkKF9fUE9DQ19fKQ0KICAjdW5kZWYgY2RlY2wNCiAgI2lmIChfTVND
X1ZFUiA8PSA2MDApICYmICFkZWZpbmVkKF9fUE9DQ19fKQ0KICAgICNkZWZpbmUgY2RlY2wg
X2NkZWNsDQogICAgI3VuZGVmICBfX1NURENfXw0KICAgICNkZWZpbmUgX19TVERDX18gMQ0K
ICAjZWxzZQ0KICAgICNkZWZpbmUgY2RlY2wgX19jZGVjbA0KICAjZW5kaWYNCiAgI2RlZmlu
ZSBOT19BTlNJX0tFWVdPUkRTDQoNCiNlbGlmIGRlZmluZWQoX19ETUNfXykgICAgLyogRGln
aXRhbCBNYXJzIGNvbXBpbGVyICovDQogICNkZWZpbmUgTk9fVU5ERVJTQ09SRSBfX3N5c2Nh
bGwNCiAgLyogZS5nLiBpbnQgTk9fVU5ERVJTQ09SRSBmb28gKHZvaWQpOyAqLw0KI2VuZGlm
DQoNCiNpZm5kZWYgY2RlY2wNCiNkZWZpbmUgY2RlY2wNCiNlbmRpZg0KDQovKg0KICogTWlu
R1ctdzY0IGRlZmluZXMgYm90aCBfX01JTkdXNjRfXyAqYW5kKiBfX01JTkdXMzJfXywgYnV0
IF9fTUlOR1c2NF9fDQogKiBpcyBvbmx5IGRlZmluZWQgZm9yIF9XSU42NCB0YXJnZXRzLiBf
X01JTkdXNjRfVkVSU0lPTl9bTUFKT1J8TUlOT1JdDQogKiBpcyBkZWZpbmVkIGluIE1pbkdX
NjQncyA8X21pbmd3Lmg+Lg0KICoNCiAqIE1pbkdXLXc2NC4gSS5lLiAiR0NDIGZvciBib3Ro
IHg2NCAmIHg4NiBXaW5kb3dzIi4NCiAqIFRoaXMgaXMgbm90IGZyb20gdGhlIG1pbmd3Lm9y
ZyBmb2xrcywgYnV0IGZyb20gdGhlc2U6DQogKiAgIGh0dHA6Ly9taW5ndy13NjQuc291cmNl
Zm9yZ2UubmV0Lw0KICoNCiAqIE9yIHRvIG1ha2UgdGhpcyBldmVuIG1vcmUgY29uZnVzaW5n
LCB0aGUgVERNLWdjYyBzaG91bGQgYWN0IHRoZSBzYW1lDQogKiBhcyBNaW5HVy13NjQ6DQog
KiAgIGh0dHA6Ly90ZG0tZ2NjLnRkcmFnb24ubmV0Lw0KICoNCiAqIEl0IHVzZXMgaXQncyBv
d24gdmVyc2lvbmluZy4NCiAqDQogKiBVc2luZyB0aGUgIm9mZmljaWFsIiAzMi1iaXQgTWlu
R1cgd2l0aCBXYXR0LTMyLCB0aGUgVzMyX01JTkdXX1ZFUigpIG1hY3JvDQogKiB0ZXN0cyBm
b3Igc29tZSBzdHJ1Y3RzIGFuZCBwcm90b3R5cGVzIGFkZGVkIGluIE1pbkdXIDMuMSAoPyku
IEZvciBuZXdlcg0KICogTWluR1ctWzMyfDY0XSB2ZXJzaW9ucywgd2UganVzdCBhc3N1bWUg
ZS5nLiAnc3RydWN0IHRpbWV6b25lJyBldGMuIGFyZQ0KICogYXZhaWxhYmxlLg0KICovDQoj
aWYgIWRlZmluZWQoX19NSU5HVzMyX18pDQogICNkZWZpbmUgVzMyX01JTkdXX1ZFUihtYWpv
cixtaW5vcikgIDANCiNlbHNlDQogICNpbmNsdWRlIDxfbWluZ3cuaD4NCg0KICAjaWYgZGVm
aW5lZChfX01JTkdXNjRfVkVSU0lPTl9NQUpPUikNCiAgICAvKg0KICAgICAqICdfX01JTkdX
NjRfVkVSU0lPTl9bTUFKT1J8TUlOT1JdJyBpcyBkZWZpbmVkIGluIF9taW5ndy5oIGluIHRo
ZQ0KICAgICAqIE1pbkdXLXc2NCBwcm9qZWN0Lg0KICAgICAqIE5vdCBhIHR5cG87IE1pbkdX
LTY0IGRvZXNuJ3QgZGVmaW5lIF9fTUlOR1c2NF9bTUFKT1J8TUlOT1JdX1ZFUlNJT04NCiAg
ICAgKi8NCiAgICAjZGVmaW5lIFczMl9NSU5HV19WRVIobWFqb3IsbWlub3IpICAxDQogICAg
I2RlZmluZSBXMzJfSVNfTUlOR1c2NCAgICAgICAgICAgICAgMQ0KDQogICNlbGlmIGRlZmlu
ZWQoX19NSU5HV19NQUpPUl9WRVJTSU9OKQ0KICAgIC8qDQogICAgICogJ19fTUlOR1dfTUFK
T1JfVkVSU0lPTicgaXMgZGVmaW5lZCB0aHJvdWdoIF9taW5ndy5oIGluIE1pbkdXLVJUIHY0
Ky4NCiAgICAgKi8NCiAgICAjZGVmaW5lIFczMl9NSU5HV19WRVIobWFqb3IsbWlub3IpICAx
DQoNCiAgI2Vsc2UgLyogcGxhaW4gb2xkIG1pbmd3Lm9yZyAocHJpb3IgdG8gdjQuMCk6ICov
DQogICAgI2RlZmluZSBXMzJfTUlOR1dfVkVSKG1ham9yLG1pbm9yKSAoX19NSU5HVzMyX01B
Sk9SX1ZFUlNJT04gPiAobWFqb3IpIHx8ICAgXA0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIChfX01JTkdXMzJfTUFKT1JfVkVSU0lPTiA9PSAobWFqb3IpICYm
IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19NSU5HVzMy
X01JTk9SX1ZFUlNJT04gPj0gKG1pbm9yKSkpDQogICNlbmRpZg0KI2VuZGlmDQoNCiNpZiBk
ZWZpbmVkKF9NU0NfVkVSKSAmJiAhZGVmaW5lZChfX1BPQ0NfXykNCiAgLyoNCiAgICogQWxs
IE1TIGNvbXBpbGVycyAoUXVpY2stQy9WaXN1YWwtQyBmb3IgRE9TLCBWQyBmb3IgV2luZG93
cykgaW5zaXN0cw0KICAgKiB0aGF0IHNpZ25hbC1oYW5kbGVycywgYXRleGl0IGZ1bmN0aW9u
cyBhbmQgdmFyLWFyZyBmdW5jdGlvbnMgbXVzdCBiZQ0KICAgKiBkZWZpbmVkIGFzIGNkZWNs
LiBUaGlzIGlzIG9ubHkgYW4gaXNzdWUgaWYgYSBwcm9ncmFtIGlzIHVzaW5nICdmYXN0Y2Fs
bCcNCiAgICogZ2xvYmFsbHkgKGNsIG9wdGlvbiAnLUdyJykuDQogICAqIFJlZi4gdGhlIHVz
ZSBvZiAnV0lOQVBJVicgaW4gdGhlIFdpbmRvd3MgU0RLcy4NCiAgICoNCiAgICogQnV0IFdh
dGNvbSdzIHJlZ2lzdGVyIGNhbGwgZG9lc24ndCBuZWVkIHRoaXMuICh3Y2MzODYgLWVjZikN
CiAgICovDQogICN1bmRlZiAgTVNfQ0RFQ0wNCiAgI2RlZmluZSBNU19DREVDTCAgIGNkZWNs
DQoNCiAgLyogU2VlIDxzeXMvdzMyYXBpLmg+IGZvciB0aGUgcmF0aW9uYWxlIGJlaGluZCAn
VzMyX0NBTEwnLiBJdCdzDQogICAqIGN1cnJlbnRseSBmb3JjZWQgdG8gJ2NkZWNsJyBvbiBX
aW5kb3dzLiBUaHVzICdXMzJfQ0RFQ0wnIGFuZCAnTVNfQ0RFQ0wnDQogICAqIHNob3VsZCBi
ZSBpbXBvcnRhbnQgZm9yIE1TVkMgdXNlcnMgb24gV2luZG93cyBvbmx5LiBCdXQgSSdtIG5v
dA0KICAgKiBzdXJlLi4uLg0KICAgKi8NCiAgI2RlZmluZSBXMzJfQ0RFQ0wgIGNkZWNsDQoj
ZWxzZQ0KICAjZGVmaW5lIE1TX0NERUNMDQogICNkZWZpbmUgVzMyX0NERUNMDQojZW5kaWYN
Cg0KDQovKg0KICogVGhlIF9fQ09OQ0FUIG1hY3JvIGlzIHVzZWQgdG8gY29uY2F0ZW5hdGUg
cGFydHMgb2Ygc3ltYm9sIG5hbWVzLCBlLmcuDQogKiB3aXRoICIjZGVmaW5lIE9MRChmb28p
IF9fQ09OQ0FUKG9sZCxmb28pIiwgT0xEKGZvbykgcHJvZHVjZXMgb2xkZm9vLg0KICogVGhl
IF9fQ09OQ0FUIG1hY3JvIGlzIGEgYml0IHRyaWNreSAtLSBtYWtlIHN1cmUgeW91IGRvbid0
IHB1dCBzcGFjZXMNCiAqIGluIGJldHdlZW4gaXRzIGFyZ3VtZW50cy4gIF9fQ09OQ0FUIGNh
biBhbHNvIGNvbmNhdGVuYXRlIGRvdWJsZS1xdW90ZWQNCiAqIHN0cmluZ3MgcHJvZHVjZWQg
YnkgdGhlIF9fU1RSSU5HIG1hY3JvLCBidXQgdGhpcyBvbmx5IHdvcmtzIHdpdGggQU5TSSBD
Lg0KICovDQojaWYgKChkZWZpbmVkKF9fU1REQ19fKSAmJiBfX1NURENfXykgfHwgZGVmaW5l
ZChfX2NwbHVzcGx1cykgfHwgXA0KICAgIGRlZmluZWQoX19UVVJCT0NfXykpICYmICFkZWZp
bmVkKF9fQ1lHV0lOX18pDQogICN1bmRlZiAgX19QDQogICNkZWZpbmUgX19QKHByb3Rvcykg
ICAgIHByb3RvcyAgICAgICAgLyogZnVsbC1ibG93biBBTlNJIEMgKi8NCiAgI2RlZmluZSBf
X0NPTkNBVCh4LHkpICAgeCAjIyB5DQogICNkZWZpbmUgX19TVFJJTkcoeCkgICAgICN4DQoN
CiAgI2RlZmluZSBfX2NvbnN0ICAgICAgICAgY29uc3QgICAgICAgICAvKiBkZWZpbmUgcmVz
ZXJ2ZWQgbmFtZXMgdG8gc3RhbmRhcmQgKi8NCiAgI2RlZmluZSBfX3NpZ25lZCAgICAgICAg
c2lnbmVkDQovKiNkZWZpbmUgX192b2xhdGlsZSAgICAgIHZvbGF0aWxlICovDQogICNpZiBk
ZWZpbmVkKF9fY3BsdXNwbHVzKQ0KICAgICNkZWZpbmUgX19pbmxpbmUgICAgICBpbmxpbmUg
ICAgICAgIC8qIGNvbnZlcnQgdG8gQysrIGtleXdvcmQgKi8NCiAgI2VsaWYgIWRlZmluZWQo
X19HTlVDX18pICYmICFkZWZpbmVkKF9NU0NfVkVSKSAmJiAhZGVmaW5lZChfX1dBVENPTUNf
XykNCiAgICAjZGVmaW5lIF9faW5saW5lICAgICAgICAgICAgICAgICAgICAvKiBkZWxldGUg
R0NDL01TQy9XYXRjb20ga2V5d29yZCAqLw0KICAjZW5kaWYNCg0KI2Vsc2UNCiAgI2RlZmlu
ZSBfX1AocHJvdG9zKSAgICAgKCkgICAgICAgICAgICAvKiB0cmFkaXRpb25hbCBDIHByZXBy
b2Nlc3NvciAqLw0KICAjZGVmaW5lIF9fQ09OQ0FUKHgseSkgICB4LyoqL3kNCiAgI2RlZmlu
ZSBfX1NUUklORyh4KSAgICAgIngiDQoNCiAgI2lmICFkZWZpbmVkKF9fR05VQ19fKSAmJiAh
ZGVmaW5lZChfTVNDX1ZFUikgJiYgIWRlZmluZWQoX19XQVRDT01DX18pDQogICAgI2RlZmlu
ZSBfX2lubGluZQ0KICAjZW5kaWYNCg0KICAjaWYgIWRlZmluZWQoX19HTlVDX18pDQogICAg
I2RlZmluZSBfX2NvbnN0ICAgICAgICAgICAgICAgICAgICAgLyogZGVsZXRlIHBzZXVkby1B
TlNJIEMga2V5d29yZHMgKi8NCiAgICAjZGVmaW5lIF9fc2lnbmVkDQogLyogI2RlZmluZSBf
X3ZvbGF0aWxlICovDQoNCiAgICAvKg0KICAgICAqIEluIG5vbi1BTlNJIEMgZW52aXJvbm1l
bnRzLCBuZXcgcHJvZ3JhbXMgd2lsbCB3YW50IEFOU0ktb25seSBDIGtleXdvcmRzDQogICAg
ICogZGVsZXRlZCBmcm9tIHRoZSBwcm9ncmFtIGFuZCBvbGQgcHJvZ3JhbXMgd2lsbCB3YW50
IHRoZW0gbGVmdCBhbG9uZS4NCiAgICAgKiBXaGVuIHVzaW5nIGEgY29tcGlsZXIgb3RoZXIg
dGhhbiBnY2MsIHByb2dyYW1zIHVzaW5nIHRoZSBBTlNJIEMga2V5d29yZHMNCiAgICAgKiBj
b25zdCwgaW5saW5lIGV0Yy4gYXMgbm9ybWFsIGlkZW50aWZpZXJzIHNob3VsZCBkZWZpbmUg
LUROT19BTlNJX0tFWVdPUkRTLg0KICAgICAqIFdoZW4gdXNpbmcgImdjYyAtdHJhZGl0aW9u
YWwiLCB3ZSBhc3N1bWUgdGhhdCB0aGlzIGlzIHRoZSBpbnRlbnQ7IGlmDQogICAgICogX19H
TlVDX18gaXMgZGVmaW5lZCBidXQgX19TVERDX18gaXMgbm90LCB3ZSBsZWF2ZSB0aGUgbmV3
IGtleXdvcmRzIGFsb25lLg0KICAgICAqLw0KICAgICNpZiAhZGVmaW5lZChOT19BTlNJX0tF
WVdPUkRTKQ0KICAgICAgI2RlZmluZSBjb25zdCAgICAgICAgICAgICAgICAgICAgIC8qIGRl
bGV0ZSBBTlNJIEMga2V5d29yZHMgKi8NCiAgICAgICNkZWZpbmUgaW5saW5lDQogICAgICAj
ZGVmaW5lIHNpZ25lZA0KICAgICAgI2RlZmluZSB2b2xhdGlsZQ0KICAgICNlbmRpZg0KICAj
ZW5kaWYgIC8qICFfX0dOVUNfXyAqLw0KI2VuZGlmICAgIC8qIChfX1NURENfXyB8fCBfX2Nw
bHVwbHVzKSAmJiAhX19DWUdXSU5fXyAqLw0KDQovKg0KICogR0NDMSBhbmQgc29tZSB2ZXJz
aW9ucyBvZiBHQ0MyIGRlY2xhcmUgZGVhZCAobm9uLXJldHVybmluZykgYW5kDQogKiBwdXJl
IChubyBzaWRlIGVmZmVjdHMpIGZ1bmN0aW9ucyB1c2luZyAidm9sYXRpbGUiIGFuZCAiY29u
c3QiOw0KICogdW5mb3J0dW5hdGVseSwgdGhlc2UgdGhlbiBjYXVzZSB3YXJuaW5ncyB1bmRl
ciAiLWFuc2kgLXBlZGFudGljIi4NCiAqIEdDQzIgdXNlcyBhIG5ldywgcGVjdWxpYXIgX19h
dHRyaWJ1dGVfXygoYXR0cnMpKSBzdHlsZS4gIEFsbCBvZg0KICogdGhlc2Ugd29yayBmb3Ig
R05VIEMrKyAobW9kdWxvIGEgc2xpZ2h0IGdsaXRjaCBpbiB0aGUgQysrIGdyYW1tYXINCiAq
IGluIHRoZSBkaXN0cmlidXRpb24gdmVyc2lvbiBvZiAyLjUuNSkuDQogKi8NCiNpZiAoVzMy
X0dDQ19WRVJTSU9OID4gMCkgJiYgKFczMl9HQ0NfVkVSU0lPTiA8IDIwNTAwKQ0KICAjdW5k
ZWYgIF9fYXR0cmlidXRlX18NCiAgI2RlZmluZSBfX2F0dHJpYnV0ZV9fKHgpICAvKiBkZWxl
dGUgX19hdHRyaWJ1dGVfXyBpZiBub24tZ2NjICovDQogICNpZiBkZWZpbmVkKF9fR05VQ19f
KSAmJiAhZGVmaW5lZChfX1NUUklDVF9BTlNJX18pDQogICAgI3VuZGVmIF9fZGVhZA0KICAg
ICN1bmRlZiBfX3B1cmUNCiAgICAjZGVmaW5lIF9fZGVhZCAgX192b2xhdGlsZQ0KICAgICNk
ZWZpbmUgX19wdXJlICBfX2NvbnN0DQogICAgI3VuZGVmICBfX2RlYWQyDQogICAgI2RlZmlu
ZSBfX2RlYWQyDQogICNlbmRpZg0KI2VuZGlmDQoNCi8qDQogKiBNYWNyb3MgZm9yIGdjYyA0
LjYrIFByYWdtYXMuIFJlZi46DQogKiBodHRwOi8vZ2NjLmdudS5vcmcvb25saW5lZG9jcy9n
Y2MvRGlhZ25vc3RpYy1QcmFnbWFzLmh0bWwNCiAqLw0KI2lmIChXMzJfR0NDX1ZFUlNJT04g
Pj0gNDA2MDApIHx8IGRlZmluZWQoX19jbGFuZ19fKQ0KICAjZGVmaW5lIFczMl9HQ0NfUFJB
R01BKHgpICBfUHJhZ21hICgjeCkNCiNlbHNlDQogICNkZWZpbmUgVzMyX0dDQ19QUkFHTUEo
eCkNCiNlbmRpZg0KDQovKg0KICogVGhlIGFib3ZlIGNvdWxkIGJlIHVzZWQgYXM6DQogKiAg
IFczMl9HQ0NfUFJBR01BIChtZXNzYWdlOiAiRml4IHRoaXMiKQ0KICoNCiAqIG9yOg0KICog
ICNpZiAoVzMyX0dDQ19WRVJTSU9OID49IDQwNjAwKQ0KICogICAgI3ByYWdtYSBtZXNzYWdl
ICgiRml4IHRoaXMiKQ0KICogICNlbmRpZg0KICoNCiAqIEJ1dCBNU1ZDIChhbmQgb3RoZXJz
IGJlc2lkZXMgSGlnaC1DKSBkb2Vzbid0IGhhbmRsZSBhIHByYWdtYSBpbiBhDQogKiAjZGVm
aW5lIHN0YXRlbWVudC4gSGVuY2UgbXVzdCBlbmNsb3NlIGl0IGluIGFuICNpZmRlZi4gTGlr
ZToNCiAqDQogKiAjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgKF9NU0NfVkVSID49IDE1MDAp
DQogKiAgICNwcmFnbWEgbWVzc2FnZSAoIkZpeCB0aGlzIikNCiAqICNlbmRpZg0KICovDQoN
Cg0KLyoNCiAqIGdjYyA+PSA0LjIgaGF2ZSBhbiBpc3N1ZSB3aXRoICdfX2lubGluZV9fJy4g
V2UgbXVzdCBlbnN1cmUNCiAqIHRoYXQgYWx3YXlzIHRyYWRpdGlvbmFsIEdOVSBleHRlcm4g
aW5saW5lIHNlbWFudGljcyBhcmUgdXNlZA0KICogKGFrYSAtZmdudTg5LWlubGluZSkgZXZl
biBpZiBJU08gQzk5IHNlbWFudGljcyBoYXZlIGJlZW4gc3BlY2lmaWVkLg0KICovDQojaWYg
KFczMl9HQ0NfVkVSU0lPTiA+PSA0MDIwMCkgJiYgIWRlZmluZWQoX19OT19JTkxJTkVfXykg
LyogLU8wICovDQogICNkZWZpbmUgVzMyX0dDQ19JTkxJTkUgZXh0ZXJuIF9faW5saW5lX18g
X19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fKSkNCiNlbHNlDQogICNkZWZpbmUgVzMy
X0dDQ19JTkxJTkUgZXh0ZXJuIF9faW5saW5lX18NCiNlbmRpZg0KDQojaWYgZGVmaW5lZChf
X0dOVUNfXykNCiAgI2RlZmluZSBXMzJfSU5MSU5FIFczMl9HQ0NfSU5MSU5FDQojZWxzZQ0K
ICAjZGVmaW5lIFczMl9JTkxJTkUgX19pbmxpbmUNCiNlbmRpZg0KDQojZGVmaW5lIFczMl9D
TEFOR19QQUNLX1dBUk5fT0ZGKCkNCiNkZWZpbmUgVzMyX0NMQU5HX1BBQ0tfV0FSTl9ERUYo
KQ0KDQojaWYgZGVmaW5lZChfX2NsYW5nX18pDQogIC8qDQogICAqIFRvIHN1cHByZXNzIGNs
YW5nIHdhcm5pbmdzIGxpa2U6DQogICAqICAgQXJyYXkgYWNjZXNzIChmcm9tIHZhcmlhYmxl
ICd4JykgcmVzdWx0cyBpbiBhIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZQ0KICAgKg0KICAg
KiBpbiBzdGF0ZW1lbnRzIGxpa2U6DQogICAqICAgaWYgKCF4WzBdKSB7DQogICAqICAgICAg
Li4uDQogICAqDQogICAqIFNvIG9uZSBjb3VsZCB3cml0ZSBpdCBsaWtlOg0KICAgKiAgIGlm
IChXMzJfQ0xBTkdfTk9OTlVMTCh4KSB8fCAheFswXSkgew0KICAgKiAgICAgIC4uLg0KICAg
Ki8NCiAgI2RlZmluZSBXMzJfQ0xBTkdfTk9OTlVMTCh4KSAhKHgpDQoNCiAgI2lmIChfX2Ns
YW5nX21ham9yX18gPj0gNikNCiAgICAvKg0KICAgICAqIGNsYW5nIHY2LnggaW50cm9kdXNl
ZCBzZXZlcmFsIG5ldyB3YXJuaW5ncy4gRXNwZWNpYWxseSBhbm5veWluZyB3aGVuIGluY2x1
ZGluZw0KICAgICAqIDxzeXMvcGFja19vbi5oPiBhbmQgPHN5cy9wYWNrX29mZi5oPiBpcyB0
aGlzOg0KICAgICAqICAgdGhlIGN1cnJlbnQgI3ByYWdtYSBwYWNrIGFsaWdtZW50IHZhbHVl
IGlzIG1vZGlmaWVkIGluIHRoZSBpbmNsdWRlZCBmaWxlIFstV3ByYWdtYS1wYWNrXQ0KICAg
ICAqDQogICAgICogQ29udHJvbCB0aGVzZSB3YXJuaW5ncyB1c2luZyB0aGUgYmVsb3cgbWFj
cm9zLg0KICAgICAqIEFsd2F5cyB1c2VkIHdoZW4gYnVpbGRpbmcgKm9yKiB1c2luZyBXYXR0
LTMyLiBVc2VkIGxpa2UgdGhpczoNCiAgICAgKg0KICAgICAqICBXMzJfQ0xBTkdfUEFDS19X
QVJOX09GRigpICAvLyAicHVzaCIgd2FybmluZyBzdGF0ZSBhbmQgdHVybiBvZmYgIi1XcHJh
Z21hLXBhY2siLg0KICAgICAqICAjaW5jbHVkZSA8c3lzL3BhY2tfb24uaD4NCiAgICAgKg0K
ICAgICAqICAuLi4gc29tZSBzdHJ1Y3R1cmVzIHRoYXQgbmVlZHMgdGlnaHQgMS1ieXRlIHBh
Y2tpbmcgb2YgbWVtYmVycy4NCiAgICAgKg0KICAgICAqICAjaW5jbHVkZSA8c3lzL3BhY2tf
b2ZmLmg+ICAvLyByZXN0b3JlIGRlZmF1bHQgcGFja2luZw0KICAgICAqICBXMzJfQ0xBTkdf
UEFDS19XQVJOX0RFRigpICAvLyAicG9wIiB0aGUgd2FybmluZyBzZXQgYnkgJ1czMl9DTEFO
R19QQUNLX1dBUk5fT0ZGKCknLg0KICAgICAqLw0KICAgICN1bmRlZiAgVzMyX0NMQU5HX1BB
Q0tfV0FSTl9PRkYNCiAgICAjZGVmaW5lIFczMl9DTEFOR19QQUNLX1dBUk5fT0ZGKCkgVzMy
X0dDQ19QUkFHTUEgKGNsYW5nIGRpYWdub3N0aWMgcHVzaCkgXA0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBXMzJfR0NDX1BSQUdNQSAoY2xhbmcgZGlhZ25vc3Rp
YyBpZ25vcmVkICItV3ByYWdtYS1wYWNrIikNCg0KICAgICN1bmRlZiAgVzMyX0NMQU5HX1BB
Q0tfV0FSTl9ERUYNCiAgICAjZGVmaW5lIFczMl9DTEFOR19QQUNLX1dBUk5fREVGKCkgIFcz
Ml9HQ0NfUFJBR01BIChjbGFuZyBkaWFnbm9zdGljIHBvcCkNCiAgI2VuZGlmDQoNCiNlbHNl
DQogICNkZWZpbmUgVzMyX0NMQU5HX05PTk5VTEwoeCkgMA0KI2VuZGlmDQoNCg0KLyoNCiAq
IERlbGV0ZSBwc2V1ZG8ta2V5d29yZHMgd2hlcmV2ZXIgdGhleSBhcmUgbm90IGF2YWlsYWJs
ZSBvciBuZWVkZWQuDQogKiBUaGlzIHNlZW1zIHRvIGJyZWFrIE1pbkdXIGluIG15c3Rlcmlv
dXMgd2F5cywgc28gbGVhdmUgaXQuDQogKi8NCiNpZm5kZWYgX19kZWFkDQojZGVmaW5lIF9f
ZGVhZA0KI2VuZGlmDQoNCiNpZm5kZWYgX19kZWFkMg0KI2RlZmluZSBfX2RlYWQyDQojZW5k
aWYNCg0KI2lmbmRlZiBfX3B1cmUNCiNkZWZpbmUgX19wdXJlDQojZW5kaWYNCg0KI2lmICFk
ZWZpbmVkKF9fY3BsdXNwbHVzKQ0KICAvKg0KICAgKiBtaW4oKSAmIG1heCgpIG1hY3Jvcw0K
ICAgKi8NCiAgI2lmIGRlZmluZWQoX19ISUdIQ19fKQ0KICAgICN1bmRlZiAgbWluDQogICAg
I3VuZGVmICBtYXgNCiAgICAjZGVmaW5lIG1pbihhLGIpIF9taW4oYSxiKSAgLyogaW50cmlu
c2ljIGZ1bmN0aW9ucyAqLw0KICAgICNkZWZpbmUgbWF4KGEsYikgX21heChhLGIpDQogICNl
bmRpZg0KDQogICNpZm5kZWYgbWluDQogICNkZWZpbmUgbWluKGEsYikgKCgoYSkgPCAoYikp
ID8gKGEpIDogKGIpKQ0KICAjZW5kaWYNCg0KICAjaWZuZGVmIG1heA0KICAjZGVmaW5lIG1h
eChhLGIpICgoKGEpID4gKGIpKSA/IChhKSA6IChiKSkNCiAgI2VuZGlmDQojZW5kaWYNCg0K
LyoNCiAqIGZyb20gTmV0QlNEJ3MgPHN5cy9jZGVmc19hb3V0Lmg+DQogKg0KICogV3JpdHRl
biBieSBKLlQuIENvbmtsaW4gPGp0Y0B3aW1zZXkuY29tPiAwMS8xNy85NS4NCiAqIFB1Ymxp
YyBkb21haW4uDQogKi8NCg0KLyogI2RlZmluZSBfQ19MQUJFTCh4KSBfX0NPTkNBVChfLHgp
ICovDQoNCiNpZiBkZWZpbmVkKF9fR05VQ19fKQ0KICAjZGVmaW5lIF9faW5kcl9yZWZlcmVu
Y2Uoc3ltLGFsaWFzKSAgICAgICAgICAgICAgICBcDQogICAgICAgICAgX19hc21fXygiLnN0
YWJzIFwiXyIgI2FsaWFzICJcIiwxMSwwLDAsMCIpO1wNCiAgICAgICAgICBfX2FzbV9fKCIu
c3RhYnMgXCJfIiAjc3ltICJcIiwxLDAsMCwwIik7DQoNCiAgI2RlZmluZSBfX3dhcm5fcmVm
ZXJlbmNlcyhzeW0sbXNnKSAgICAgICAgICAgICAgICAgXA0KICAgICAgICAgIF9fYXNtX18o
Ii5zdGFicyBcIiIgbXNnICJcIiwzMCwwLDAsMCIpOyAgICBcDQogICAgICAgICAgX19hc21f
XygiLnN0YWJzIFwiXyIgI3N5bSAiXCIsMSwwLDAsMCIpOw0KDQogICNkZWZpbmUgX19JRFNU
UklORyhuYW1lLHN0cmluZykgIFwNCiAgICAgICAgICBzdGF0aWMgY29uc3QgY2hhciBuYW1l
W10gX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpID0gc3RyaW5nDQojZWxzZQ0KICAjZGVm
aW5lIF9faW5kcl9yZWZlcmVuY2Uoc3ltLGFsaWFzKQ0KICAjZGVmaW5lIF9fd2Fybl9yZWZl
cmVuY2VzKHN5bSxtc2cpDQogICNkZWZpbmUgX19JRFNUUklORyhuYW1lLHN0cmluZykgIHN0
YXRpYyBjb25zdCBjaGFyIG5hbWVbXSA9IHN0cmluZw0KI2VuZGlmDQoNCiNkZWZpbmUgX19S
Q1NJRChfcykgICAgICAgICAgICAgICAgX19JRFNUUklORyhyY3NpZCxfcykNCiNkZWZpbmUg
X19DT1BZUklHSFQoX3MpICAgICAgICAgICAgX19JRFNUUklORyhjb3B5cmlnaHQsX3MpDQoN
CiNkZWZpbmUgX19LRVJORUxfUkNTSUQoX24sX3MpICAgICAgX19JRFNUUklORyhfX0NPTkNB
VChyY3NpZCxfbiksX3MpDQojZGVmaW5lIF9fS0VSTkVMX0NPUFlSSUdIVChfbixfcykgIF9f
SURTVFJJTkcoX19DT05DQVQoY29weXJpZ2h0LF9uKSxfcykNCg0KI2VuZGlmDQo=
--------------E61B8F7B4A5F7807633FD874--

- Raw text -


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