From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EBFF4A0C41 for ; Thu, 18 Nov 2021 06:19:19 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DA93140687; Thu, 18 Nov 2021 06:19:19 +0100 (CET) Received: from mail-pl1-f225.google.com (mail-pl1-f225.google.com [209.85.214.225]) by mails.dpdk.org (Postfix) with ESMTP id A45C440395 for ; Thu, 18 Nov 2021 06:19:18 +0100 (CET) Received: by mail-pl1-f225.google.com with SMTP id u11so4242887plf.3 for ; Wed, 17 Nov 2021 21:19:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; h=mime-version:subject:from:to:cc:message-id:date; bh=gbEzGi8phBrQBfuLdTGJLz/glFthJJ25hh3SPbvXHbg=; b=b2ew8uJOtYRzfzHZqULQvRloyGKkAfcBz0RGKLvoNybBZdli15fGSWWVuAEeRTg9h3 dok05FzTXUF+M+xS9V9rMZs10If0AxCmIbkHFYH43xGNMnPZPvx/dBrPQOWbUQbKLhWk oJCLT65FVSZHhCRMj/RJmEX9d3K3xDDIqTv6A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:subject:from:to:cc:message-id:date; bh=gbEzGi8phBrQBfuLdTGJLz/glFthJJ25hh3SPbvXHbg=; b=uEYN/74Y5JsYfbdITfD8TCtb+xaZ6pA3ibATo16Tw9/Kbr7SFOHOCZYmFcilBPzq6F QAYjODGZqULUzZqvbcC1DNZvHQJqzFuLXHtL+EDyVqy9g7ES8WNkKYdRPFS16FmBes9O Pt3aul5tXxG+Bsb5z331ZgQCz7domWSK6WMmNPAGgF51zYEtIdoEBb+Qjxn4JAjIPypz 11Pxsx9+c+M+resVpX7M004xScnH1xFU2CkeWtDNCF8/uO3vnvEoUZsrWiOE0KPZ6FuH s69sn6FN9h4XwnRt+SdhSC/x2/e3DKViPhJ6xhrOeF5yIVzsQGprLymojqOsX7DYGfrP 9OWg== X-Gm-Message-State: AOAM531KCfaZ3mVXaZn02AdseKIBVMeEortHCXNS8eLfIh07rMVPAAYN 08aa6kM1YWpmvbH3IjKE4MBAhu8cacKQH+1Mmrq6HhturuwzHzI7Z+dJqzLsaTWFow== X-Google-Smtp-Source: ABdhPJy5mcLUPvwW9wmWpt8lf8Aum7A8jHQGx40eUuXzmExnRx3MMhnNV8tPkYKemu3Qh9stxkqRzzwLvqSH X-Received: by 2002:a17:903:2449:b0:142:b3c:f9c6 with SMTP id l9-20020a170903244900b001420b3cf9c6mr62291238pls.77.1637212757869; Wed, 17 Nov 2021 21:19:17 -0800 (PST) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [2606:4100:3880:1234::84]) by smtp-relay.gmail.com with ESMTPS id pg2sm2661497pjb.11.2021.11.17.21.19.17 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 17 Nov 2021 21:19:17 -0800 (PST) X-Relaying-Domain: iol.unh.edu Received: from noxus.dpdklab.iol.unh.edu (targon.iol.unh.edu [132.177.125.242]) by postal.iol.unh.edu (Postfix) with ESMTP id 15589605247D; Thu, 18 Nov 2021 00:19:17 -0500 (EST) Received: from noxus.dpdklab.iol.unh.edu (localhost [IPv6:::1]) by noxus.dpdklab.iol.unh.edu (Postfix) with ESMTP id 1273F60524; Thu, 18 Nov 2021 00:19:17 -0500 (EST) Content-Type: multipart/mixed; boundary="===============4751944498149158043==" MIME-Version: 1.0 Subject: |WARNING| pw104489 [PATCH] [v3] net: add macro for VLAN header length From: dpdklab@iol.unh.edu To: test-report@dpdk.org Cc: dpdk-test-reports@iol.unh.edu Message-Id: <20211118051917.1273F60524@noxus.dpdklab.iol.unh.edu> Date: Thu, 18 Nov 2021 00:19:17 -0500 (EST) X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org --===============4751944498149158043== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogaW9sLXRlc3RpbmcKVGVzdC1TdGF0dXM6IFdBUk5JTkcKaHR0cDovL2RwZGsu b3JnL3BhdGNoLzEwNDQ4OQoKX2FwcGx5IHBhdGNoIGZhaWx1cmVfCgpTdWJtaXR0ZXI6IEZlcnJ1 aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4KRGF0ZTogV2VkbmVzZGF5LCBOb3ZlbWJl ciAxNyAyMDIxIDE4OjI0OjI2IApBcHBsaWVkIG9uOiBDb21taXRJRDowYzZlMjc1NDljMDM2OTVm ODVkOTQ5ZjUxOTVhMTY2YjQ0OWI0MTljCkFwcGx5IHBhdGNoIHNldCAxMDQ0ODkgZmFpbGVkOgoK Q2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvYXhnYmUvYXhnYmVfZGV2LmMuLi4KZXJyb3I6IHdo aWxlIHNlYXJjaGluZyBmb3I6CnN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGF4Z2JlX2dldF9t YXhfZnJhbWUoc3RydWN0IGF4Z2JlX3BvcnQgKnBkYXRhKQp7CglyZXR1cm4gcGRhdGEtPmV0aF9k ZXYtPmRhdGEtPm10dSArIFJURV9FVEhFUl9IRFJfTEVOICsKCQlSVEVfRVRIRVJfQ1JDX0xFTiAr IFZMQU5fSExFTjsKfQoKLyogcXVlcnkgYnVzeSBiaXQgKi8KCmVycm9yOiBwYXRjaCBmYWlsZWQ6 IGRyaXZlcnMvbmV0L2F4Z2JlL2F4Z2JlX2Rldi5jOjUxCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMv bmV0L2F4Z2JlL2F4Z2JlX2V0aGRldi5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoj aW5jbHVkZSAicnRlX3RpbWUuaCIKCiNkZWZpbmUgSVJRCQkJCTB4ZmYKI2RlZmluZSBWTEFOX0hM RU4JCQk0CgojZGVmaW5lIEFYR0JFX1RYX01BWF9CVUZfU0laRQkJKDB4M2ZmZiAmIH4oNjQgLSAx KSkKI2RlZmluZSBBWEdCRV9SWF9NQVhfQlVGX1NJWkUJCSgweDNmZmYgJiB+KDY0IC0gMSkpCiNk ZWZpbmUgQVhHQkVfUlhfTUlOX0JVRl9TSVpFCQkoUlRFX0VUSEVSX01BWF9MRU4gKyBWTEFOX0hM RU4pCiNkZWZpbmUgQVhHQkVfTUFYX01BQ19BRERSUwkJMzIKI2RlZmluZSBBWEdCRV9NQVhfSEFT SF9NQUNfQUREUlMJMjU2CgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvYXhnYmUv YXhnYmVfZXRoZGV2Lmg6MTIKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvYm54MngvYm54Mnhf dmZwZi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJaWYgKHZhbGlkX2JpdG1hcCAm ICgxIDw8IE1BQ19BRERSX1ZBTElEKSAmJiBtZW1jbXAoYnVsbC0+bWFjLCBzYy0+b2xkX2J1bGxl dGluLm1hYywgRVRIX0FMRU4pKQoJCXJ0ZV9tZW1jcHkoJnNjLT5saW5rX3BhcmFtcy5tYWNfYWRk ciwgYnVsbC0+bWFjLCBFVEhfQUxFTik7CglpZiAodmFsaWRfYml0bWFwICYgKDEgPDwgVkxBTl9W QUxJRCkpCgkJcnRlX21lbWNweSgmYnVsbC0+dmxhbiwgJnNjLT5vbGRfYnVsbGV0aW4udmxhbiwg VkxBTl9ITEVOKTsKCglzYy0+b2xkX2J1bGxldGluID0gKmJ1bGw7CgoKZXJyb3I6IHBhdGNoIGZh aWxlZDogZHJpdmVycy9uZXQvYm54MngvYm54MnhfdmZwZi5jOjU0CkNoZWNraW5nIHBhdGNoIGRy aXZlcnMvbmV0L2JueDJ4L2JueDJ4X3ZmcGYuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZv cjoKCiNpbmNsdWRlICJlY29yZV9zcC5oIgoKI2RlZmluZSBWTEFOX0hMRU4gNAoKc3RydWN0IHZm X3Jlc291cmNlX3F1ZXJ5IHsKCXVpbnQ4X3QgbnVtX3J4cXM7Cgl1aW50OF90IG51bV90eHFzOwoK ZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvYm54MngvYm54MnhfdmZwZi5oOjEwCkNo ZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2JueHQvYm54dC5oLi4uCmVycm9yOiB3aGlsZSBzZWFy Y2hpbmcgZm9yOgoJKChicCktPnBkZXYtPmlkLnN1YnN5c3RlbV9kZXZpY2VfaWQgPT0gQlJPQURD T01fREVWXzk1NzUwOF9OMjEwMCkKCiNkZWZpbmUgQk5YVF9NQVhfTVRVCQk5NTc0CiNkZWZpbmUg VkxBTl9UQUdfU0laRQkJNAojZGVmaW5lIEJOWFRfTlVNX1ZMQU5TCQkyCiNkZWZpbmUgQk5YVF9N QVhfUEtUX0xFTgkoQk5YVF9NQVhfTVRVICsgUlRFX0VUSEVSX0hEUl9MRU4gK1wKCQkJCSBSVEVf RVRIRVJfQ1JDX0xFTiArXAoJCQkJIChCTlhUX05VTV9WTEFOUyAqIFZMQU5fVEFHX1NJWkUpKQov KiBGVyBhZGRzIGV4dHJhIDQgYnl0ZXMgZm9yIEZDUyAqLwojZGVmaW5lIEJOWFRfVk5JQ19NUlUo bXR1KVwKCSgobXR1KSArIFJURV9FVEhFUl9IRFJfTEVOICsgVkxBTl9UQUdfU0laRSAqIEJOWFRf TlVNX1ZMQU5TKQojZGVmaW5lIEJOWFRfVkZfUlNWX05VTV9SU1NfQ1RYCTEKI2RlZmluZSBCTlhU X1ZGX1JTVl9OVU1fTDJfQ1RYCTQKLyogVE9ETzogRm9yIG5vdywgZG8gbm90IHN1cHBvcnQgVk1E cS9SRlMgb24gVkZzLiAqLwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvYm54dC9i bnh0Lmg6NzYKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYy4uLgpl cnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCQkJSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X05VTV9IV19SSU5HX0dSUFMpOwoKCXJlcS0+YWRtaW5fbXR1ID0gcnRlX2NwdV90b19sZV8xNihi cC0+ZXRoX2Rldi0+ZGF0YS0+bXR1ICsgUlRFX0VUSEVSX0hEUl9MRU4gKwoJCQkJCSAgUlRFX0VU SEVSX0NSQ19MRU4gKyBWTEFOX1RBR19TSVpFICoKCQkJCQkgIEJOWFRfTlVNX1ZMQU5TKTsKCXJl cS0+bXJ1ID0gcnRlX2NwdV90b19sZV8xNihCTlhUX1ZOSUNfTVJVKGJwLT5ldGhfZGV2LT5kYXRh LT5tdHUpKTsKCXJlcS0+bnVtX3Jzc2Nvc19jdHhzID0gcnRlX2NwdV90b19sZV8xNihicC0+bWF4 X3Jzc2Nvc19jdHggLwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzozNTU3CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2N4Z2JlL2N4Z2JlX2NvbXBh dC5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgojZGVmaW5lIENYR0JFX0FMSUdOKHgs IGEpICgoKHgpICsgKGEpIC0gMSkgJiB+KChhKSAtIDEpKQojZGVmaW5lIFBUUl9BTElHTihwLCBh KSAoKHR5cGVvZihwKSlDWEdCRV9BTElHTigodW5zaWduZWQgbG9uZykocCksIChhKSkpCgojZGVm aW5lIFZMQU5fSExFTiA0CiNkZWZpbmUgRVRIRVJfQUREUl9MRU4gNgoKI2RlZmluZSBybWIoKSAg ICAgcnRlX3JtYigpIC8qIGRwZGsgcnRlIHByb3ZpZGVkIHJtYiAqLwoKZXJyb3I6IHBhdGNoIGZh aWxlZDogZHJpdmVycy9uZXQvY3hnYmUvY3hnYmVfY29tcGF0Lmg6NzUKQ2hlY2tpbmcgcGF0Y2gg ZHJpdmVycy9uZXQvY3hnYmUvc2dlLmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CnsK CXN0cnVjdCBzZ2UgKnMgPSAmYWRhcHRlci0+c2dlOwoKCXJldHVybiBDWEdCRV9BTElHTihzLT5w a3RzaGlmdCArIFJURV9FVEhFUl9IRFJfTEVOICsgVkxBTl9ITEVOICsgbXR1LAoJCQkgICBzLT5m bF9hbGlnbik7Cn0KCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9jeGdiZS9zZ2Uu Yzo3MgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9lbmV0ZmVjL2VuZXRfZXRoZGV2LmguLi4K ZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNkZWZpbmUgQkRfTEVOCQkJNDkxNTIKI2RlZmlu ZSBFTkVURkVDX1RYX0ZSX1NJWkUJMjA0OAojZGVmaW5lIEVUSF9ITEVOCQlSVEVfRVRIRVJfSERS X0xFTgojZGVmaW5lIFZMQU5fSExFTgkJNAoKLyogZnVsbCBkdXBsZXggKi8KI2RlZmluZSBGVUxM X0RVUExFWAkJMHgwMAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvZW5ldGZlYy9l bmV0X2V0aGRldi5oOjEwCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2VuZXRmZWMvZW5ldF9y eHR4LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJCXZsYW5fdGFnID0gcnRlX2Jl X3RvX2NwdV8xNih2bGFuX2hlYWRlci0+dmxhbl90Y2kpOwoKCQkJdmxhbl9wYWNrZXRfcmN2ZCA9 IHRydWU7CgkJCW1lbW1vdmUoKHVpbnQ4X3QgKiltYnVmX2RhdGEgKyBWTEFOX0hMRU4sCgkJCQlk YXRhLCBSVEVfRVRIRVJfQUREUl9MRU4gKiAyKTsKCQkJcnRlX3BrdG1idWZfYWRqKG1idWYsIFZM QU5fSExFTik7CgkJfQoKCQlpZiAocnhxLT5mZXAtPmJ1ZmRlc2NfZXggJiYKCmVycm9yOiBwYXRj aCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2VuZXRmZWMvZW5ldF9yeHR4LmM6MTExCkNoZWNraW5nIHBh dGNoIGRyaXZlcnMvbmV0L2ZtMTBrL2ZtMTBrLmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBm b3I6CglSVEVfTUlOKCgodHhxKS0+bmJfZGVzYyAtIDIpLCAodHhxKS0+ZnJlZV90aHJlc2gpCiNk ZWZpbmUgRk0xMEtfVFhfUlNfVEhSRVNIX0RJVih0eHEpICAgICAgICAoKHR4cSktPm5iX2Rlc2Mp CgojZGVmaW5lIEZNMTBLX1ZMQU5fVEFHX1NJWkUgNAoKLyogTWF4aW11bSBudW1iZXIgb2YgTUFD IGFkZHJlc3NlcyBwZXIgUEYvVkYgKi8KI2RlZmluZSBGTTEwS19NQVhfTUFDQUREUl9OVU0gICAg ICAgNjQKCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9mbTEway9mbTEway5oOjgx CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2ZtMTBrL2ZtMTBrX2V0aGRldi5jLi4uCmVycm9y OiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoKCQkvKiBJdCBhZGRzIGR1YWwgVkxBTiBsZW5ndGggZm9y IHN1cHBvcnRpbmcgZHVhbCBWTEFOICovCgkJaWYgKChkZXYtPmRhdGEtPm10dSArIFJURV9FVEhF Ul9IRFJfTEVOICsgUlRFX0VUSEVSX0NSQ19MRU4gKwoJCQkJMiAqIEZNMTBLX1ZMQU5fVEFHX1NJ WkUpID4gYnVmX3NpemUgfHwKCQkJcnhxLT5vZmZsb2FkcyAmIFJURV9FVEhfUlhfT0ZGTE9BRF9T Q0FUVEVSKSB7CgkJCXVpbnQzMl90IHJlZzsKCQkJZGV2LT5kYXRhLT5zY2F0dGVyZWRfcnggPSAx OwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvZm0xMGsvZm0xMGtfZXRoZGV2LmM6 NzU5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2hpbmljL2hpbmljX3BtZF9ldGhkZXYuaC4u LgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKI2RlZmluZSBISU5JQ19NQVhfTVRVX1NJWkUg ICAgICAgICAgICAgIDk2MDAKI2RlZmluZSBISU5JQ19NSU5fTVRVX1NJWkUgICAgICAgICAgICAg IDI1NgoKI2RlZmluZSBISU5JQ19WTEFOX1RBR19TSVpFICAgICAgICAgICAgIDQKI2RlZmluZSBI SU5JQ19FVEhfT1ZFUkhFQUQgXAoJKFJURV9FVEhFUl9IRFJfTEVOICsgUlRFX0VUSEVSX0NSQ19M RU4gKyBISU5JQ19WTEFOX1RBR19TSVpFICogMikKCiNkZWZpbmUgSElOSUNfTUlOX0ZSQU1FX1NJ WkUgICAgICAgIChISU5JQ19NSU5fTVRVX1NJWkUgKyBISU5JQ19FVEhfT1ZFUkhFQUQpCiNkZWZp bmUgSElOSUNfTUFYX0pVTUJPX0ZSQU1FX1NJWkUgIChISU5JQ19NQVhfTVRVX1NJWkUgKyBISU5J Q19FVEhfT1ZFUkhFQUQpCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9oaW5pYy9o aW5pY19wbWRfZXRoZGV2Lmg6MzUKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaG5zMy9obnMz X2V0aGRldi5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgojZGVmaW5lIEhOUzNfTUFY X05PTl9UU09fQkRfUEVSX1BLVAk4CiNkZWZpbmUgSE5TM19NQVhfVFNPX0JEX1BFUl9QS1QJCTYz CiNkZWZpbmUgSE5TM19NQVhfRlJBTUVfTEVOCQk5NzI4CiNkZWZpbmUgSE5TM19WTEFOX1RBR19T SVpFCQk0CiNkZWZpbmUgSE5TM19ERUZBVUxUX1JYX0JVRl9MRU4JCTIwNDgKI2RlZmluZSBITlMz X01BWF9CRF9QQVlMRU4JCSgxMDI0ICogMTAyNCAtIDEpCiNkZWZpbmUgSE5TM19NQVhfVFNPX0hE Ul9TSVpFCQk1MTIKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2huczMvaG5zM19l dGhkZXYuaDo2MgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKI2RlZmluZSBITlMzX01BWF9M Uk9fU0laRQkJNjQ1MTIKCiNkZWZpbmUgSE5TM19FVEhfT1ZFUkhFQUQgXAoJKFJURV9FVEhFUl9I RFJfTEVOICsgUlRFX0VUSEVSX0NSQ19MRU4gKyBITlMzX1ZMQU5fVEFHX1NJWkUgKiAyKQojZGVm aW5lIEhOUzNfUEtUTEVOX1RPX01UVShwa3RsZW4pCSgocGt0bGVuKSAtIEhOUzNfRVRIX09WRVJI RUFEKQojZGVmaW5lIEhOUzNfTUFYX01UVQkoSE5TM19NQVhfRlJBTUVfTEVOIC0gSE5TM19FVEhf T1ZFUkhFQUQpCiNkZWZpbmUgSE5TM19ERUZBVUxUX01UVQkJMTUwMFVMCgplcnJvcjogcGF0Y2gg ZmFpbGVkOiBkcml2ZXJzL25ldC9obnMzL2huczNfZXRoZGV2Lmg6NzAKQ2hlY2tpbmcgcGF0Y2gg ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcg Zm9yOgogKi8KI2RlZmluZSBJNDBFX0dMX1JYRVJSMV9IKF9pKQkoMHgwMDMxODAwNCArICgoX2kp ICogOCkpCgojZGVmaW5lIEk0MEVfVkxBTl9UQUdfU0laRSAgICAgICAgNAoKI2RlZmluZSBJNDBF X0FRX0xFTiAgICAgICAgICAgICAgIDMyCiNkZWZpbmUgSTQwRV9BUV9CVUZfU1ogICAgICAgICAg ICA0MDk2Ci8qIE51bWJlciBvZiBxdWV1ZXMgcGVyIFRDIHNob3VsZCBiZSBvbmUgb2YgMSwgMiwg NCwgOCwgMTYsIDMyLCA2NCAqLwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5oOjI3CmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgogKiBDb25zaWRl cmluZyBRaW5RIHBhY2tldCwgdGhlIFZMQU4gdGFnIG5lZWRzIHRvIGJlIGNvdW50ZWQgdHdpY2Uu CiAqLwojZGVmaW5lIEk0MEVfRVRIX09WRVJIRUFEIFwKCShSVEVfRVRIRVJfSERSX0xFTiArIFJU RV9FVEhFUl9DUkNfTEVOICsgSTQwRV9WTEFOX1RBR19TSVpFICogMikKI2RlZmluZSBJNDBFX0VU SF9NQVhfTEVOIChSVEVfRVRIRVJfTVRVICsgSTQwRV9FVEhfT1ZFUkhFQUQpCgojZGVmaW5lIEk0 MEVfUlhUWF9CWVRFU19IXzE2X0JJVChieXRlcykgKChieXRlcykgJiB+STQwRV80OF9CSVRfTUFT SykKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDoy OTIKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaWF2Zi9pYXZmLmguLi4KZXJyb3I6IHdoaWxl IHNlYXJjaGluZyBmb3I6Ci8qIFRoZSBvdmVyaGVhZCBmcm9tIE1UVSB0byBtYXggZnJhbWUgc2l6 ZS4KICogQ29uc2lkZXJpbmcgUWluUSBwYWNrZXQsIHRoZSBWTEFOIHRhZyBuZWVkcyB0byBiZSBj b3VudGVkIHR3aWNlLgogKi8KI2RlZmluZSBJQVZGX1ZMQU5fVEFHX1NJWkUgICAgICAgICAgICAg ICA0CiNkZWZpbmUgSUFWRl9FVEhfT1ZFUkhFQUQgXAoJKFJURV9FVEhFUl9IRFJfTEVOICsgUlRF X0VUSEVSX0NSQ19MRU4gKyBJQVZGX1ZMQU5fVEFHX1NJWkUgKiAyKQojZGVmaW5lIElBVkZfRVRI X01BWF9MRU4gKFJURV9FVEhFUl9NVFUgKyBJQVZGX0VUSF9PVkVSSEVBRCkKCiNkZWZpbmUgSUFW Rl8zMl9CSVRfV0lEVEggKENIQVJfQklUICogNCkKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZl cnMvbmV0L2lhdmYvaWF2Zi5oOjc4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2ljZS9pY2Vf ZGNmX2V0aGRldi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoKCXJ4cS0+bWF4X3Br dF9sZW4gPSBtYXhfcGt0X2xlbjsKCWlmICgoZGV2X2RhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZs b2FkcyAmIFJURV9FVEhfUlhfT0ZGTE9BRF9TQ0FUVEVSKSB8fAoJICAgIChyeHEtPm1heF9wa3Rf bGVuICsgMiAqIElDRV9WTEFOX1RBR19TSVpFKSA+IGJ1Zl9zaXplKSB7CgkJZGV2X2RhdGEtPnNj YXR0ZXJlZF9yeCA9IDE7Cgl9CglyeHEtPnFyeF90YWlsID0gaHctPmh3X2FkZHIgKyBJQVZGX1FS WF9UQUlMMShyeHEtPnF1ZXVlX2lkKTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0 L2ljZS9pY2VfZGNmX2V0aGRldi5jOjgxCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2ljZS9p Y2VfZXRoZGV2LmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNpbmNsdWRlICJiYXNl L2ljZV9hZG1pbnFfY21kLmgiCiNpbmNsdWRlICJiYXNlL2ljZV9mbG93LmgiCgojZGVmaW5lIElD RV9WTEFOX1RBR19TSVpFICAgICAgICA0CgojZGVmaW5lIElDRV9BRE1JTlFfTEVOICAgICAgICAg ICAgICAgMzIKI2RlZmluZSBJQ0VfU0JJT1FfTEVOICAgICAgICAgICAgICAgIDMyCiNkZWZpbmUg SUNFX01BSUxCT1hRX0xFTiAgICAgICAgICAgICAzMgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJp dmVycy9uZXQvaWNlL2ljZV9ldGhkZXYuaDoxNAplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoK ICogQ29uc2lkZXJpbmcgUWluUSBwYWNrZXQsIHRoZSBWTEFOIHRhZyBuZWVkcyB0byBiZSBjb3Vu dGVkIHR3aWNlLgogKi8KI2RlZmluZSBJQ0VfRVRIX09WRVJIRUFEIFwKCShSVEVfRVRIRVJfSERS X0xFTiArIFJURV9FVEhFUl9DUkNfTEVOICsgSUNFX1ZMQU5fVEFHX1NJWkUgKiAyKQojZGVmaW5l IElDRV9FVEhfTUFYX0xFTiAoUlRFX0VUSEVSX01UVSArIElDRV9FVEhfT1ZFUkhFQUQpCgojZGVm aW5lIElDRV9SWFRYX0JZVEVTX0hJR0goYnl0ZXMpICgoYnl0ZXMpICYgfklDRV80MF9CSVRfTUFT SykKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2ljZS9pY2VfZXRoZGV2Lmg6MTM2 CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2lwbjNrZS9pcG4za2VfZXRoZGV2LmguLi4KZXJy b3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNkZWZpbmUgSVBOM0tFX01BQ19SWF9GUkFNRV9DT05U Uk9MX0VOX0FMTE1DQVNUX01BU0sgXAoJSVBOM0tFX01BU0soMHgxLCBJUE4zS0VfTUFDX1JYX0ZS QU1FX0NPTlRST0xfRU5fQUxMTUNBU1RfU0hJRlQpCgojZGVmaW5lIElQTjNLRV9WTEFOX1RBR19T SVpFICAgIDQKLyoqCiAqIFRoZSBvdmVyaGVhZCBmcm9tIE1UVSB0byBtYXggZnJhbWUgc2l6ZS4K ICogQ29uc2lkZXJpbmcgUWluUSBwYWNrZXQsIHRoZSBWTEFOIHRhZyBuZWVkcyB0byBiZSBjb3Vu dGVkIHR3aWNlLgogKi8KI2RlZmluZSBJUE4zS0VfRVRIX09WRVJIRUFEIFwKCShSVEVfRVRIRVJf SERSX0xFTiArIFJURV9FVEhFUl9DUkNfTEVOICsgSVBOM0tFX1ZMQU5fVEFHX1NJWkUgKiAyKQoj ZGVmaW5lIElQTjNLRV9FVEhfTUFYX0xFTiAoUlRFX0VUSEVSX01UVSArIElQTjNLRV9FVEhfT1ZF UkhFQUQpCgojZGVmaW5lIElQTjNLRV9NQUNfRlJBTUVfU0laRV9NQVggICAgOTcyOAoKZXJyb3I6 IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvaXBuM2tlL2lwbjNrZV9ldGhkZXYuaDo2MzMKQ2hl Y2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmMuLi4KZXJyb3I6IHdo aWxlIHNlYXJjaGluZyBmb3I6CgkgKiBzY2F0dGVyZWQgcGFja2V0cyB3aGVuIHRoaXMgZmVhdHVy ZSBoYXMgbm90IGJlZW4gZW5hYmxlZCBiZWZvcmUuCgkgKi8KCWlmIChkZXYtPmRhdGEtPmRldl9z dGFydGVkICYmICFkZXYtPmRhdGEtPnNjYXR0ZXJlZF9yeCAmJgoJICAgIGZyYW1lX3NpemUgKyAy ICogSVhHQkVfVkxBTl9UQUdfU0laRSA+CgkJCWRldi0+ZGF0YS0+bWluX3J4X2J1Zl9zaXplIC0g UlRFX1BLVE1CVUZfSEVBRFJPT00pIHsKCQlQTURfSU5JVF9MT0coRVJSLCAiU3RvcCBwb3J0IGZp cnN0LiIpOwoJCXJldHVybiAtRUlOVkFMOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9u ZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmM6NTE3MwplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoK CSAqIHNjYXR0ZXJlZCBwYWNrZXRzIHdoZW4gdGhpcyBmZWF0dXJlIGhhcyBub3QgYmVlbiBlbmFi bGVkIGJlZm9yZS4KCSAqLwoJaWYgKGRldl9kYXRhLT5kZXZfc3RhcnRlZCAmJiAhZGV2X2RhdGEt PnNjYXR0ZXJlZF9yeCAmJgoJICAgIChtYXhfZnJhbWUgKyAyICogSVhHQkVfVkxBTl9UQUdfU0la RSA+CgkJCWRldi0+ZGF0YS0+bWluX3J4X2J1Zl9zaXplIC0gUlRFX1BLVE1CVUZfSEVBRFJPT00p KSB7CgkJUE1EX0lOSVRfTE9HKEVSUiwgIlN0b3AgcG9ydCBmaXJzdC4iKTsKCQlyZXR1cm4gLUVJ TlZBTDsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRl di5jOjYzNDEKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2Lmgu Li4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNkZWZpbmUgSVhHQkVfTkJfU1RBVF9NQVBQ SU5HX1JFR1MgIDMyCiNkZWZpbmUgSVhHQkVfRVhURU5ERURfVkxBTgkgICh1aW50MzJfdCkoMSA8 PCAyNikgLyogRVhURU5ERUQgVkxBTiBFTkFCTEUgKi8KI2RlZmluZSBJWEdCRV9WRlRBX1NJWkUg MTI4CiNkZWZpbmUgSVhHQkVfVkxBTl9UQUdfU0laRSA0CiNkZWZpbmUgSVhHQkVfSEtFWV9NQVhf SU5ERVggMTAKI2RlZmluZSBJWEdCRV9NQVhfUlhfUVVFVUVfTlVNCTEyOAojZGVmaW5lIElYR0JF X01BWF9JTlRSX1FVRVVFX05VTQkxNQoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQv aXhnYmUvaXhnYmVfZXRoZGV2Lmg6NDMKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaXhnYmUv aXhnYmVfcnh0eC5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCQkJICAgICAgIElY R0JFX1NSUkNUTF9CU0laRVBLVF9TSElGVCk7CgoJCS8qIEl0IGFkZHMgZHVhbCBWTEFOIGxlbmd0 aCBmb3Igc3VwcG9ydGluZyBkdWFsIFZMQU4gKi8KCQlpZiAoZnJhbWVfc2l6ZSArIDIgKiBJWEdC RV9WTEFOX1RBR19TSVpFID4gYnVmX3NpemUpCgkJCWRldi0+ZGF0YS0+c2NhdHRlcmVkX3J4ID0g MTsKCQlpZiAocnhxLT5vZmZsb2FkcyAmIFJURV9FVEhfUlhfT0ZGTE9BRF9WTEFOX1NUUklQKQoJ CQlyeF9jb25mLT5vZmZsb2FkcyB8PSBSVEVfRVRIX1JYX09GRkxPQURfVkxBTl9TVFJJUDsKCmVy cm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYzo1MTUzCmVy cm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoKCQlpZiAocnhtb2RlLT5vZmZsb2FkcyAmIFJURV9F VEhfUlhfT0ZGTE9BRF9TQ0FUVEVSIHx8CgkJICAgIC8qIEl0IGFkZHMgZHVhbCBWTEFOIGxlbmd0 aCBmb3Igc3VwcG9ydGluZyBkdWFsIFZMQU4gKi8KCQkgICAgKGZyYW1lX3NpemUgKyAyICogSVhH QkVfVkxBTl9UQUdfU0laRSkgPiBidWZfc2l6ZSkgewoJCQlpZiAoIWRldi0+ZGF0YS0+c2NhdHRl cmVkX3J4KQoJCQkJUE1EX0lOSVRfTE9HKERFQlVHLCAiZm9yY2luZyBzY2F0dGVyIG1vZGUiKTsK CQkJZGV2LT5kYXRhLT5zY2F0dGVyZWRfcnggPSAxOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJp dmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5jOjU3MjkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9u ZXQvbXZuZXRhL212bmV0YV9ldGhkZXYuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoK LyoqIFJ4IHF1ZXVlIGRlc2NyaXB0b3JzIGFsaWdubWVudCBpbiBCICovCiNkZWZpbmUgTVJWTF9O RVRBX1JYRF9BTElHTiAzMgoKI2RlZmluZSBNUlZMX05FVEFfVkxBTl9UQUdfTEVOCTQKI2RlZmlu ZSBNUlZMX05FVEFfRVRIX0hEUlNfTEVOCShSVEVfRVRIRVJfSERSX0xFTiArIFJURV9FVEhFUl9D UkNfTEVOICsgXAoJCQkJTVJWTF9ORVRBX1ZMQU5fVEFHX0xFTikKCiNkZWZpbmUgTVJWTF9ORVRB X0hEUlNfTEVOCQkoTVZfTUhfU0laRSArIE1SVkxfTkVUQV9FVEhfSERSU19MRU4pCiNkZWZpbmUg TVJWTF9ORVRBX01UVV9UT19NUlUobXR1KQkoKG10dSkgKyBNUlZMX05FVEFfSERSU19MRU4pCgpl cnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9tdm5ldGEvbXZuZXRhX2V0aGRldi5oOjQ1 CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L212cHAyL21ydmxfZXRoZGV2LmguLi4KZXJyb3I6 IHdoaWxlIHNlYXJjaGluZyBmb3I6Ci8qKiBNaW5pbXVtIG51bWJlciBvZiBzZW50IGJ1ZmZlcnMg dG8gcmVsZWFzZSBmcm9tIHNoYWRvdyBxdWV1ZSB0byBCTSAqLwojZGVmaW5lIE1SVkxfUFAyX0JV Rl9SRUxFQVNFX0JVUlNUX1NJWkUJNjQKCiNkZWZpbmUgTVJWTF9QUDJfVkxBTl9UQUdfTEVOCTQK I2RlZmluZSBNUlZMX1BQMl9FVEhfSERSU19MRU4JKFJURV9FVEhFUl9IRFJfTEVOICsgUlRFX0VU SEVSX0NSQ19MRU4gKyBcCgkJCQkoMiAqIE1SVkxfUFAyX1ZMQU5fVEFHX0xFTikpCiNkZWZpbmUg TVJWTF9QUDJfSERSU19MRU4JCShNVl9NSF9TSVpFICsgTVJWTF9QUDJfRVRIX0hEUlNfTEVOKQoj ZGVmaW5lIE1SVkxfUFAyX01UVV9UT19NUlUobXR1KQkoKG10dSkgKyBNUlZMX1BQMl9IRFJTX0xF TikKI2RlZmluZSBNUlZMX1BQMl9NUlVfVE9fTVRVKG1ydSkJKChtcnUpIC0gTVJWTF9QUDJfSERS U19MRU4pCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9tdnBwMi9tcnZsX2V0aGRl di5oOjcyCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L25nYmUvbmdiZV9ldGhkZXYuYy4uLgpl cnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCSAqIHNjYXR0ZXJlZCBwYWNrZXRzIHdoZW4gdGhp cyBmZWF0dXJlIGhhcyBub3QgYmVlbiBlbmFibGVkIGJlZm9yZS4KCSAqLwoJaWYgKGRldl9kYXRh LT5kZXZfc3RhcnRlZCAmJiAhZGV2X2RhdGEtPnNjYXR0ZXJlZF9yeCAmJgoJICAgIChmcmFtZV9z aXplICsgMiAqIE5HQkVfVkxBTl9UQUdfU0laRSA+CgkgICAgIGRldi0+ZGF0YS0+bWluX3J4X2J1 Zl9zaXplIC0gUlRFX1BLVE1CVUZfSEVBRFJPT00pKSB7CgkJUE1EX0lOSVRfTE9HKEVSUiwgIlN0 b3AgcG9ydCBmaXJzdC4iKTsKCQlyZXR1cm4gLUVJTlZBTDsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6 IGRyaXZlcnMvbmV0L25nYmUvbmdiZV9ldGhkZXYuYzoyNDg4CkNoZWNraW5nIHBhdGNoIGRyaXZl cnMvbmV0L25nYmUvbmdiZV9ldGhkZXYuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoK I2RlZmluZSBOR0JFX0ZMQUdfTkVFRF9MSU5LX0NPTkZJRyAgKCh1aW50MzJfdCkoMSA8PCA0KSkK CiNkZWZpbmUgTkdCRV9WRlRBX1NJWkUgMTI4CiNkZWZpbmUgTkdCRV9WTEFOX1RBR19TSVpFIDQK I2RlZmluZSBOR0JFX0hLRVlfTUFYX0lOREVYIDEwCi8qRGVmYXVsdCB2YWx1ZSBvZiBNYXggUngg UXVldWUqLwojZGVmaW5lIE5HQkVfTUFYX1JYX1FVRVVFX05VTQk4CgplcnJvcjogcGF0Y2ggZmFp bGVkOiBkcml2ZXJzL25ldC9uZ2JlL25nYmVfZXRoZGV2Lmg6MTkKQ2hlY2tpbmcgcGF0Y2ggZHJp dmVycy9uZXQvbmdiZS9uZ2JlX3J4dHguYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoK CgkJLyogSXQgYWRkcyBkdWFsIFZMQU4gbGVuZ3RoIGZvciBzdXBwb3J0aW5nIGR1YWwgVkxBTiAq LwoJCWlmIChkZXYtPmRhdGEtPm10dSArIE5HQkVfRVRIX09WRVJIRUFEICsKCQkJCTIgKiBOR0JF X1ZMQU5fVEFHX1NJWkUgPiBidWZfc2l6ZSkKCQkJZGV2LT5kYXRhLT5zY2F0dGVyZWRfcnggPSAx OwoJCWlmIChyeHEtPm9mZmxvYWRzICYgUlRFX0VUSF9SWF9PRkZMT0FEX1ZMQU5fU1RSSVApCgkJ CXJ4X2NvbmYtPm9mZmxvYWRzIHw9IFJURV9FVEhfUlhfT0ZGTE9BRF9WTEFOX1NUUklQOwoKZXJy b3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvbmdiZS9uZ2JlX3J4dHguYzoyOTUxCkNoZWNr aW5nIHBhdGNoIGRyaXZlcnMvbmV0L3R4Z2JlL3R4Z2JlX2V0aGRldi5jLi4uCmVycm9yOiB3aGls ZSBzZWFyY2hpbmcgZm9yOgoJICogc2NhdHRlcmVkIHBhY2tldHMgd2hlbiB0aGlzIGZlYXR1cmUg aGFzIG5vdCBiZWVuIGVuYWJsZWQgYmVmb3JlLgoJICovCglpZiAoZGV2X2RhdGEtPmRldl9zdGFy dGVkICYmICFkZXZfZGF0YS0+c2NhdHRlcmVkX3J4ICYmCgkgICAgKGZyYW1lX3NpemUgKyAyICog VFhHQkVfVkxBTl9UQUdfU0laRSA+CgkgICAgIGRldi0+ZGF0YS0+bWluX3J4X2J1Zl9zaXplIC0g UlRFX1BLVE1CVUZfSEVBRFJPT00pKSB7CgkJUE1EX0lOSVRfTE9HKEVSUiwgIlN0b3AgcG9ydCBm aXJzdC4iKTsKCQlyZXR1cm4gLUVJTlZBTDsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMv bmV0L3R4Z2JlL3R4Z2JlX2V0aGRldi5jOjM0NjEKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQv dHhnYmUvdHhnYmVfZXRoZGV2LmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiAqIEZy ZWVCU0QgZHJpdmVyLgogKi8KI2RlZmluZSBUWEdCRV9WRlRBX1NJWkUgMTI4CiNkZWZpbmUgVFhH QkVfVkxBTl9UQUdfU0laRSA0CiNkZWZpbmUgVFhHQkVfSEtFWV9NQVhfSU5ERVggMTAKLypEZWZh dWx0IHZhbHVlIG9mIE1heCBSeCBRdWV1ZSovCiNkZWZpbmUgVFhHQkVfTUFYX1JYX1FVRVVFX05V TQkxMjgKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3R4Z2JlL3R4Z2JlX2V0aGRl di5oOjM2CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3R4Z2JlL3R4Z2JlX2V0aGRldl92Zi5j Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJICogc2NhdHRlcmVkIHBhY2tldHMgd2hl biB0aGlzIGZlYXR1cmUgaGFzIG5vdCBiZWVuIGVuYWJsZWQgYmVmb3JlLgoJICovCglpZiAoZGV2 X2RhdGEtPmRldl9zdGFydGVkICYmICFkZXZfZGF0YS0+c2NhdHRlcmVkX3J4ICYmCgkgICAgKG1h eF9mcmFtZSArIDIgKiBUWEdCRV9WTEFOX1RBR19TSVpFID4KCSAgICAgZGV2LT5kYXRhLT5taW5f cnhfYnVmX3NpemUgLSBSVEVfUEtUTUJVRl9IRUFEUk9PTSkpIHsKCQlQTURfSU5JVF9MT0coRVJS LCAiU3RvcCBwb3J0IGZpcnN0LiIpOwoJCXJldHVybiAtRUlOVkFMOwoKZXJyb3I6IHBhdGNoIGZh aWxlZDogZHJpdmVycy9uZXQvdHhnYmUvdHhnYmVfZXRoZGV2X3ZmLmM6MTExMQpDaGVja2luZyBw YXRjaCBkcml2ZXJzL25ldC90eGdiZS90eGdiZV9yeHR4LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJj aGluZyBmb3I6CgoJCS8qIEl0IGFkZHMgZHVhbCBWTEFOIGxlbmd0aCBmb3Igc3VwcG9ydGluZyBk dWFsIFZMQU4gKi8KCQlpZiAoZGV2LT5kYXRhLT5tdHUgKyBUWEdCRV9FVEhfT1ZFUkhFQUQgKwoJ CQkJMiAqIFRYR0JFX1ZMQU5fVEFHX1NJWkUgPiBidWZfc2l6ZSkKCQkJZGV2LT5kYXRhLT5zY2F0 dGVyZWRfcnggPSAxOwoJCWlmIChyeHEtPm9mZmxvYWRzICYgUlRFX0VUSF9SWF9PRkZMT0FEX1ZM QU5fU1RSSVApCgkJCXJ4X2NvbmYtPm9mZmxvYWRzIHw9IFJURV9FVEhfUlhfT0ZGTE9BRF9WTEFO X1NUUklQOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvdHhnYmUvdHhnYmVfcnh0 eC5jOjQzODkKZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJaWYgKHJ4bW9kZS0+b2ZmbG9h ZHMgJiBSVEVfRVRIX1JYX09GRkxPQURfU0NBVFRFUiB8fAoJCSAgICAvKiBJdCBhZGRzIGR1YWwg VkxBTiBsZW5ndGggZm9yIHN1cHBvcnRpbmcgZHVhbCBWTEFOICovCgkJICAgIChkZXYtPmRhdGEt Pm10dSArIFRYR0JFX0VUSF9PVkVSSEVBRCArCgkJCQkyICogVFhHQkVfVkxBTl9UQUdfU0laRSkg PiBidWZfc2l6ZSkgewoJCQlpZiAoIWRldi0+ZGF0YS0+c2NhdHRlcmVkX3J4KQoJCQkJUE1EX0lO SVRfTE9HKERFQlVHLCAiZm9yY2luZyBzY2F0dGVyIG1vZGUiKTsKCQkJZGV2LT5kYXRhLT5zY2F0 dGVyZWRfcnggPSAxOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvdHhnYmUvdHhn YmVfcnh0eC5jOjQ5MDYKQ2hlY2tpbmcgcGF0Y2ggZXhhbXBsZXMvdmhvc3QvbWFpbi5jLi4uCmVy cm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoKI2RlZmluZSBNQlVGX1RBQkxFX0RSQUlOX1RTQwko KHJ0ZV9nZXRfdHNjX2h6KCkgKyBVU19QRVJfUyAtIDEpIFwKCQkJCSAvIFVTX1BFUl9TICogQlVS U1RfVFhfRFJBSU5fVVMpCiNkZWZpbmUgVkxBTl9ITEVOICAgICAgIDQKCnN0YXRpYyBpbmxpbmUg aW50Cm9wZW5fZG1hKGNvbnN0IGNoYXIgKnZhbHVlKQoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZXhh bXBsZXMvdmhvc3QvbWFpbi5jOjE5NQplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCSAqIGJ5 IG1pbnVzIGxlbmd0aCBvZiB2bGFuIHRhZywgc28gbmVlZCByZXN0b3JlCgkgKiB0aGUgcGFja2V0 IGxlbmd0aCBieSBwbHVzIGl0LgoJICovCgkqb2Zmc2V0ICA9IFZMQU5fSExFTjsKCSp2bGFuX3Rh ZyA9IHZsYW5fdGFnc1t2ZGV2LT52aWRdOwoKCVJURV9MT0dfRFAoREVCVUcsIFZIT1NUX0RBVEEs CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBleGFtcGxlcy92aG9zdC9tYWluLmM6MTAxNQpDaGVja2lu ZyBwYXRjaCBsaWIvbmV0L3J0ZV9ldGhlci5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9y OgoJKFJURV9FVEhFUl9NQVhfTEVOIC0gUlRFX0VUSEVSX0hEUl9MRU4gLSBcCgkJUlRFX0VUSEVS X0NSQ19MRU4pIC8qKjwgRXRoZXJuZXQgTVRVLiAqLwoKI2RlZmluZSBSVEVfRVRIRVJfTUFYX1ZM QU5fRlJBTUVfTEVOIFwKCShSVEVfRVRIRVJfTUFYX0xFTiArIDQpCgkvKio8IE1heGltdW0gVkxB TiBmcmFtZSBsZW5ndGgsIGluY2x1ZGluZyBDUkMuICovCgojZGVmaW5lIFJURV9FVEhFUl9NQVhf SlVNQk9fRlJBTUVfTEVOIFwKCTB4M0YwMCAvKio8IE1heGltdW0gSnVtYm8gZnJhbWUgbGVuZ3Ro LCBpbmNsdWRpbmcgQ1JDLiAqLwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogbGliL25ldC9ydGVfZXRo ZXIuaDozNQpBcHBseWluZyBwYXRjaCBkcml2ZXJzL25ldC9heGdiZS9heGdiZV9kZXYuYyB3aXRo IDEgcmVqZWN0Li4uClJlamVjdGVkIGh1bmsgIzEuCkFwcGx5aW5nIHBhdGNoIGRyaXZlcnMvbmV0 L2F4Z2JlL2F4Z2JlX2V0aGRldi5oIHdpdGggMSByZWplY3QuLi4KUmVqZWN0ZWQgaHVuayAjMS4K QXBwbHlpbmcgcGF0Y2ggZHJpdmVycy9uZXQvYm54MngvYm54MnhfdmZwZi5jIHdpdGggMSByZWpl Y3QuLi4KUmVqZWN0ZWQgaHVuayAjMS4KQXBwbHlpbmcgcGF0Y2ggZHJpdmVycy9uZXQvYm54Mngv Ym54MnhfdmZwZi5oIHdpdGggMSByZWplY3QuLi4KUmVqZWN0ZWQgaHVuayAjMS4KQXBwbHlpbmcg cGF0Y2ggZHJpdmVycy9uZXQvYm54dC9ibnh0Lmggd2l0aCAxIHJlamVjdC4uLgpSZWplY3RlZCBo dW5rICMxLgpBcHBseWluZyBwYXRjaCBkcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jIHdpdGgg MSByZWplY3QuLi4KUmVqZWN0ZWQgaHVuayAjMS4KQXBwbHlpbmcgcGF0Y2ggZHJpdmVycy9uZXQv Y3hnYmUvY3hnYmVfY29tcGF0Lmggd2l0aCAxIHJlamVjdC4uLgpSZWplY3RlZCBodW5rICMxLgpB cHBseWluZyBwYXRjaCBkcml2ZXJzL25ldC9jeGdiZS9zZ2UuYyB3aXRoIDEgcmVqZWN0Li4uClJl amVjdGVkIGh1bmsgIzEuCkFwcGx5aW5nIHBhdGNoIGRyaXZlcnMvbmV0L2VuZXRmZWMvZW5ldF9l dGhkZXYuaCB3aXRoIDEgcmVqZWN0Li4uClJlamVjdGVkIGh1bmsgIzEuCkFwcGx5aW5nIHBhdGNo IGRyaXZlcnMvbmV0L2VuZXRmZWMvZW5ldF9yeHR4LmMgd2l0aCAxIHJlamVjdC4uLgpSZWplY3Rl ZCBodW5rICMxLgpBcHBseWluZyBwYXRjaCBkcml2ZXJzL25ldC9mbTEway9mbTEway5oIHdpdGgg MSByZWplY3QuLi4KUmVqZWN0ZWQgaHVuayAjMS4KQXBwbHlpbmcgcGF0Y2ggZHJpdmVycy9uZXQv Zm0xMGsvZm0xMGtfZXRoZGV2LmMgd2l0aCAxIHJlamVjdC4uLgpSZWplY3RlZCBodW5rICMxLgpB cHBseWluZyBwYXRjaCBkcml2ZXJzL25ldC9oaW5pYy9oaW5pY19wbWRfZXRoZGV2Lmggd2l0aCAx IHJlamVjdC4uLgpSZWplY3RlZCBodW5rICMxLgpBcHBseWluZyBwYXRjaCBkcml2ZXJzL25ldC9o bnMzL2huczNfZXRoZGV2Lmggd2l0aCAyIHJlamVjdHMuLi4KUmVqZWN0ZWQgaHVuayAjMS4KUmVq ZWN0ZWQgaHVuayAjMi4KQXBwbHlpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5oIHdpdGggMiByZWplY3RzLi4uClJlamVjdGVkIGh1bmsgIzEuClJlamVjdGVkIGh1bmsgIzIu CkFwcGx5aW5nIHBhdGNoIGRyaXZlcnMvbmV0L2lhdmYvaWF2Zi5oIHdpdGggMSByZWplY3QuLi4K UmVqZWN0ZWQgaHVuayAjMS4KQXBwbHlpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaWNlL2ljZV9kY2Zf ZXRoZGV2LmMgd2l0aCAxIHJlamVjdC4uLgpSZWplY3RlZCBodW5rICMxLgpBcHBseWluZyBwYXRj aCBkcml2ZXJzL25ldC9pY2UvaWNlX2V0aGRldi5oIHdpdGggMiByZWplY3RzLi4uClJlamVjdGVk IGh1bmsgIzEuClJlamVjdGVkIGh1bmsgIzIuCkFwcGx5aW5nIHBhdGNoIGRyaXZlcnMvbmV0L2lw bjNrZS9pcG4za2VfZXRoZGV2Lmggd2l0aCAxIHJlamVjdC4uLgpSZWplY3RlZCBodW5rICMxLgpB cHBseWluZyBwYXRjaCBkcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYyB3aXRoIDIgcmVq ZWN0cy4uLgpSZWplY3RlZCBodW5rICMxLgpSZWplY3RlZCBodW5rICMyLgpBcHBseWluZyBwYXRj aCBkcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuaCB3aXRoIDEgcmVqZWN0Li4uClJlamVj dGVkIGh1bmsgIzEuCkFwcGx5aW5nIHBhdGNoIGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHgu YyB3aXRoIDIgcmVqZWN0cy4uLgpSZWplY3RlZCBodW5rICMxLgpSZWplY3RlZCBodW5rICMyLgpB cHBseWluZyBwYXRjaCBkcml2ZXJzL25ldC9tdm5ldGEvbXZuZXRhX2V0aGRldi5oIHdpdGggMSBy ZWplY3QuLi4KUmVqZWN0ZWQgaHVuayAjMS4KQXBwbHlpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbXZw cDIvbXJ2bF9ldGhkZXYuaCB3aXRoIDEgcmVqZWN0Li4uClJlamVjdGVkIGh1bmsgIzEuCkFwcGx5 aW5nIHBhdGNoIGRyaXZlcnMvbmV0L25nYmUvbmdiZV9ldGhkZXYuYyB3aXRoIDEgcmVqZWN0Li4u ClJlamVjdGVkIGh1bmsgIzEuCkFwcGx5aW5nIHBhdGNoIGRyaXZlcnMvbmV0L25nYmUvbmdiZV9l dGhkZXYuaCB3aXRoIDEgcmVqZWN0Li4uClJlamVjdGVkIGh1bmsgIzEuCkFwcGx5aW5nIHBhdGNo IGRyaXZlcnMvbmV0L25nYmUvbmdiZV9yeHR4LmMgd2l0aCAxIHJlamVjdC4uLgpSZWplY3RlZCBo dW5rICMxLgpBcHBseWluZyBwYXRjaCBkcml2ZXJzL25ldC90eGdiZS90eGdiZV9ldGhkZXYuYyB3 aXRoIDEgcmVqZWN0Li4uClJlamVjdGVkIGh1bmsgIzEuCkFwcGx5aW5nIHBhdGNoIGRyaXZlcnMv bmV0L3R4Z2JlL3R4Z2JlX2V0aGRldi5oIHdpdGggMSByZWplY3QuLi4KUmVqZWN0ZWQgaHVuayAj MS4KQXBwbHlpbmcgcGF0Y2ggZHJpdmVycy9uZXQvdHhnYmUvdHhnYmVfZXRoZGV2X3ZmLmMgd2l0 aCAxIHJlamVjdC4uLgpSZWplY3RlZCBodW5rICMxLgpBcHBseWluZyBwYXRjaCBkcml2ZXJzL25l dC90eGdiZS90eGdiZV9yeHR4LmMgd2l0aCAyIHJlamVjdHMuLi4KUmVqZWN0ZWQgaHVuayAjMS4K UmVqZWN0ZWQgaHVuayAjMi4KQXBwbHlpbmcgcGF0Y2ggZXhhbXBsZXMvdmhvc3QvbWFpbi5jIHdp dGggMiByZWplY3RzLi4uClJlamVjdGVkIGh1bmsgIzEuClJlamVjdGVkIGh1bmsgIzIuCkFwcGx5 aW5nIHBhdGNoIGxpYi9uZXQvcnRlX2V0aGVyLmggd2l0aCAxIHJlamVjdC4uLgpSZWplY3RlZCBo dW5rICMxLgpkaWZmIGEvZHJpdmVycy9uZXQvYXhnYmUvYXhnYmVfZGV2LmMgYi9kcml2ZXJzL25l dC9heGdiZS9heGdiZV9kZXYuYwkocmVqZWN0ZWQgaHVua3MpCkBAIC01MSw3ICs1MSw3IEBAIHN0 YXRpYyBpbnQgZ2V0X2xhc3RiaXRfc2V0KGludCB4KQogc3RhdGljIGlubGluZSB1bnNpZ25lZCBp bnQgYXhnYmVfZ2V0X21heF9mcmFtZShzdHJ1Y3QgYXhnYmVfcG9ydCAqcGRhdGEpCiB7CiAJcmV0 dXJuIHBkYXRhLT5ldGhfZGV2LT5kYXRhLT5tdHUgKyBSVEVfRVRIRVJfSERSX0xFTiArCi0JCVJU RV9FVEhFUl9DUkNfTEVOICsgVkxBTl9ITEVOOworCQlSVEVfRVRIRVJfQ1JDX0xFTiArIFJURV9W TEFOX0hMRU47CiB9CiAKIC8qIHF1ZXJ5IGJ1c3kgYml0ICovCmRpZmYgYS9kcml2ZXJzL25ldC9h eGdiZS9heGdiZV9ldGhkZXYuaCBiL2RyaXZlcnMvbmV0L2F4Z2JlL2F4Z2JlX2V0aGRldi5oCShy ZWplY3RlZCBodW5rcykKQEAgLTEyLDExICsxMiwxMCBAQAogI2luY2x1ZGUgInJ0ZV90aW1lLmgi CiAKICNkZWZpbmUgSVJRCQkJCTB4ZmYKLSNkZWZpbmUgVkxBTl9ITEVOCQkJNAogCiAjZGVmaW5l IEFYR0JFX1RYX01BWF9CVUZfU0laRQkJKDB4M2ZmZiAmIH4oNjQgLSAxKSkKICNkZWZpbmUgQVhH QkVfUlhfTUFYX0JVRl9TSVpFCQkoMHgzZmZmICYgfig2NCAtIDEpKQotI2RlZmluZSBBWEdCRV9S WF9NSU5fQlVGX1NJWkUJCShSVEVfRVRIRVJfTUFYX0xFTiArIFZMQU5fSExFTikKKyNkZWZpbmUg QVhHQkVfUlhfTUlOX0JVRl9TSVpFCQkoUlRFX0VUSEVSX01BWF9MRU4gKyBSVEVfVkxBTl9ITEVO KQogI2RlZmluZSBBWEdCRV9NQVhfTUFDX0FERFJTCQkzMgogI2RlZmluZSBBWEdCRV9NQVhfSEFT SF9NQUNfQUREUlMJMjU2CiAKZGlmZiBhL2RyaXZlcnMvbmV0L2JueDJ4L2JueDJ4X3ZmcGYuYyBi L2RyaXZlcnMvbmV0L2JueDJ4L2JueDJ4X3ZmcGYuYwkocmVqZWN0ZWQgaHVua3MpCkBAIC01NCw3 ICs1NCw3IEBAIGJueDJ4X2NoZWNrX2J1bGwoc3RydWN0IGJueDJ4X3NvZnRjICpzYykKIAlpZiAo dmFsaWRfYml0bWFwICYgKDEgPDwgTUFDX0FERFJfVkFMSUQpICYmIG1lbWNtcChidWxsLT5tYWMs IHNjLT5vbGRfYnVsbGV0aW4ubWFjLCBFVEhfQUxFTikpCiAJCXJ0ZV9tZW1jcHkoJnNjLT5saW5r X3BhcmFtcy5tYWNfYWRkciwgYnVsbC0+bWFjLCBFVEhfQUxFTik7CiAJaWYgKHZhbGlkX2JpdG1h cCAmICgxIDw8IFZMQU5fVkFMSUQpKQotCQlydGVfbWVtY3B5KCZidWxsLT52bGFuLCAmc2MtPm9s ZF9idWxsZXRpbi52bGFuLCBWTEFOX0hMRU4pOworCQlydGVfbWVtY3B5KCZidWxsLT52bGFuLCAm c2MtPm9sZF9idWxsZXRpbi52bGFuLCBSVEVfVkxBTl9ITEVOKTsKIAogCXNjLT5vbGRfYnVsbGV0 aW4gPSAqYnVsbDsKIApkaWZmIGEvZHJpdmVycy9uZXQvYm54MngvYm54MnhfdmZwZi5oIGIvZHJp dmVycy9uZXQvYm54MngvYm54MnhfdmZwZi5oCShyZWplY3RlZCBodW5rcykKQEAgLTEwLDggKzEw LDYgQEAKIAogI2luY2x1ZGUgImVjb3JlX3NwLmgiCiAKLSNkZWZpbmUgVkxBTl9ITEVOIDQKLQog c3RydWN0IHZmX3Jlc291cmNlX3F1ZXJ5IHsKIAl1aW50OF90IG51bV9yeHFzOwogCXVpbnQ4X3Qg bnVtX3R4cXM7CmRpZmYgYS9kcml2ZXJzL25ldC9ibnh0L2JueHQuaCBiL2RyaXZlcnMvbmV0L2Ju eHQvYm54dC5oCShyZWplY3RlZCBodW5rcykKQEAgLTc2LDE0ICs3NiwxMyBAQAogCSgoYnApLT5w ZGV2LT5pZC5zdWJzeXN0ZW1fZGV2aWNlX2lkID09IEJST0FEQ09NX0RFVl85NTc1MDhfTjIxMDAp CiAKICNkZWZpbmUgQk5YVF9NQVhfTVRVCQk5NTc0Ci0jZGVmaW5lIFZMQU5fVEFHX1NJWkUJCTQK ICNkZWZpbmUgQk5YVF9OVU1fVkxBTlMJCTIKICNkZWZpbmUgQk5YVF9NQVhfUEtUX0xFTgkoQk5Y VF9NQVhfTVRVICsgUlRFX0VUSEVSX0hEUl9MRU4gK1wKIAkJCQkgUlRFX0VUSEVSX0NSQ19MRU4g K1wKLQkJCQkgKEJOWFRfTlVNX1ZMQU5TICogVkxBTl9UQUdfU0laRSkpCisJCQkJIChCTlhUX05V TV9WTEFOUyAqIFJURV9WTEFOX0hMRU4pKQogLyogRlcgYWRkcyBleHRyYSA0IGJ5dGVzIGZvciBG Q1MgKi8KICNkZWZpbmUgQk5YVF9WTklDX01SVShtdHUpXAotCSgobXR1KSArIFJURV9FVEhFUl9I RFJfTEVOICsgVkxBTl9UQUdfU0laRSAqIEJOWFRfTlVNX1ZMQU5TKQorCSgobXR1KSArIFJURV9F VEhFUl9IRFJfTEVOICsgUlRFX1ZMQU5fSExFTiAqIEJOWFRfTlVNX1ZMQU5TKQogI2RlZmluZSBC TlhUX1ZGX1JTVl9OVU1fUlNTX0NUWAkxCiAjZGVmaW5lIEJOWFRfVkZfUlNWX05VTV9MMl9DVFgJ NAogLyogVE9ETzogRm9yIG5vdywgZG8gbm90IHN1cHBvcnQgVk1EcS9SRlMgb24gVkZzLiAqLwpk aWZmIGEvZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYyBiL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmMJKHJlamVjdGVkIGh1bmtzKQpAQCAtMzU1Nyw3ICszNTU3LDcgQEAgYm54dF9maWxs X3ZmX2Z1bmNfY2ZnX3JlcV9vbGQoc3RydWN0IGJueHQgKmJwLAogCQkJSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX05VTV9IV19SSU5HX0dSUFMpOwogCiAJcmVxLT5hZG1pbl9tdHUgPSBydGVf Y3B1X3RvX2xlXzE2KGJwLT5ldGhfZGV2LT5kYXRhLT5tdHUgKyBSVEVfRVRIRVJfSERSX0xFTiAr Ci0JCQkJCSAgUlRFX0VUSEVSX0NSQ19MRU4gKyBWTEFOX1RBR19TSVpFICoKKwkJCQkJICBSVEVf RVRIRVJfQ1JDX0xFTiArIFJURV9WTEFOX0hMRU4gKgogCQkJCQkgIEJOWFRfTlVNX1ZMQU5TKTsK IAlyZXEtPm1ydSA9IHJ0ZV9jcHVfdG9fbGVfMTYoQk5YVF9WTklDX01SVShicC0+ZXRoX2Rldi0+ ZGF0YS0+bXR1KSk7CiAJcmVxLT5udW1fcnNzY29zX2N0eHMgPSBydGVfY3B1X3RvX2xlXzE2KGJw LT5tYXhfcnNzY29zX2N0eCAvCmRpZmYgYS9kcml2ZXJzL25ldC9jeGdiZS9jeGdiZV9jb21wYXQu aCBiL2RyaXZlcnMvbmV0L2N4Z2JlL2N4Z2JlX2NvbXBhdC5oCShyZWplY3RlZCBodW5rcykKQEAg LTc1LDcgKzc1LDYgQEAgZXh0ZXJuIGludCBjeGdiZV9tYm94X2xvZ3R5cGU7CiAjZGVmaW5lIENY R0JFX0FMSUdOKHgsIGEpICgoKHgpICsgKGEpIC0gMSkgJiB+KChhKSAtIDEpKQogI2RlZmluZSBQ VFJfQUxJR04ocCwgYSkgKCh0eXBlb2YocCkpQ1hHQkVfQUxJR04oKHVuc2lnbmVkIGxvbmcpKHAp LCAoYSkpKQogCi0jZGVmaW5lIFZMQU5fSExFTiA0CiAjZGVmaW5lIEVUSEVSX0FERFJfTEVOIDYK IAogI2RlZmluZSBybWIoKSAgICAgcnRlX3JtYigpIC8qIGRwZGsgcnRlIHByb3ZpZGVkIHJtYiAq LwpkaWZmIGEvZHJpdmVycy9uZXQvY3hnYmUvc2dlLmMgYi9kcml2ZXJzL25ldC9jeGdiZS9zZ2Uu YwkocmVqZWN0ZWQgaHVua3MpCkBAIC03Miw3ICs3Miw3IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWdu ZWQgaW50IGZsX210dV9idWZzaXplKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLAogewogCXN0cnVj dCBzZ2UgKnMgPSAmYWRhcHRlci0+c2dlOwogCi0JcmV0dXJuIENYR0JFX0FMSUdOKHMtPnBrdHNo aWZ0ICsgUlRFX0VUSEVSX0hEUl9MRU4gKyBWTEFOX0hMRU4gKyBtdHUsCisJcmV0dXJuIENYR0JF X0FMSUdOKHMtPnBrdHNoaWZ0ICsgUlRFX0VUSEVSX0hEUl9MRU4gKyBSVEVfVkxBTl9ITEVOICsg bXR1LAogCQkJICAgcy0+ZmxfYWxpZ24pOwogfQogCmRpZmYgYS9kcml2ZXJzL25ldC9lbmV0ZmVj L2VuZXRfZXRoZGV2LmggYi9kcml2ZXJzL25ldC9lbmV0ZmVjL2VuZXRfZXRoZGV2LmgJKHJlamVj dGVkIGh1bmtzKQpAQCAtMTAsNyArMTAsNiBAQAogI2RlZmluZSBCRF9MRU4JCQk0OTE1MgogI2Rl ZmluZSBFTkVURkVDX1RYX0ZSX1NJWkUJMjA0OAogI2RlZmluZSBFVEhfSExFTgkJUlRFX0VUSEVS X0hEUl9MRU4KLSNkZWZpbmUgVkxBTl9ITEVOCQk0CiAKIC8qIGZ1bGwgZHVwbGV4ICovCiAjZGVm aW5lIEZVTExfRFVQTEVYCQkweDAwCmRpZmYgYS9kcml2ZXJzL25ldC9lbmV0ZmVjL2VuZXRfcnh0 eC5jIGIvZHJpdmVycy9uZXQvZW5ldGZlYy9lbmV0X3J4dHguYwkocmVqZWN0ZWQgaHVua3MpCkBA IC0xMTEsOSArMTExLDkgQEAgZW5ldGZlY19yZWN2X3BrdHModm9pZCAqcnhxMSwgc3RydWN0IHJ0 ZV9tYnVmICoqcnhfcGt0cywKIAkJCXZsYW5fdGFnID0gcnRlX2JlX3RvX2NwdV8xNih2bGFuX2hl YWRlci0+dmxhbl90Y2kpOwogCiAJCQl2bGFuX3BhY2tldF9yY3ZkID0gdHJ1ZTsKLQkJCW1lbW1v dmUoKHVpbnQ4X3QgKiltYnVmX2RhdGEgKyBWTEFOX0hMRU4sCisJCQltZW1tb3ZlKCh1aW50OF90 ICopbWJ1Zl9kYXRhICsgUlRFX1ZMQU5fSExFTiwKIAkJCQlkYXRhLCBSVEVfRVRIRVJfQUREUl9M RU4gKiAyKTsKLQkJCXJ0ZV9wa3RtYnVmX2FkaihtYnVmLCBWTEFOX0hMRU4pOworCQkJcnRlX3Br dG1idWZfYWRqKG1idWYsIFJURV9WTEFOX0hMRU4pOwogCQl9CiAKIAkJaWYgKHJ4cS0+ZmVwLT5i dWZkZXNjX2V4ICYmCmRpZmYgYS9kcml2ZXJzL25ldC9mbTEway9mbTEway5oIGIvZHJpdmVycy9u ZXQvZm0xMGsvZm0xMGsuaAkocmVqZWN0ZWQgaHVua3MpCkBAIC04MSw4ICs4MSw2IEBACiAJUlRF X01JTigoKHR4cSktPm5iX2Rlc2MgLSAyKSwgKHR4cSktPmZyZWVfdGhyZXNoKQogI2RlZmluZSBG TTEwS19UWF9SU19USFJFU0hfRElWKHR4cSkgICAgICAgICgodHhxKS0+bmJfZGVzYykKIAotI2Rl ZmluZSBGTTEwS19WTEFOX1RBR19TSVpFIDQKLQogLyogTWF4aW11bSBudW1iZXIgb2YgTUFDIGFk ZHJlc3NlcyBwZXIgUEYvVkYgKi8KICNkZWZpbmUgRk0xMEtfTUFYX01BQ0FERFJfTlVNICAgICAg IDY0CiAKZGlmZiBhL2RyaXZlcnMvbmV0L2ZtMTBrL2ZtMTBrX2V0aGRldi5jIGIvZHJpdmVycy9u ZXQvZm0xMGsvZm0xMGtfZXRoZGV2LmMJKHJlamVjdGVkIGh1bmtzKQpAQCAtNzU5LDcgKzc1OSw3 IEBAIGZtMTBrX2Rldl9yeF9pbml0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQogCiAJCS8qIEl0 IGFkZHMgZHVhbCBWTEFOIGxlbmd0aCBmb3Igc3VwcG9ydGluZyBkdWFsIFZMQU4gKi8KIAkJaWYg KChkZXYtPmRhdGEtPm10dSArIFJURV9FVEhFUl9IRFJfTEVOICsgUlRFX0VUSEVSX0NSQ19MRU4g KwotCQkJCTIgKiBGTTEwS19WTEFOX1RBR19TSVpFKSA+IGJ1Zl9zaXplIHx8CisJCQkJMiAqIFJU RV9WTEFOX0hMRU4pID4gYnVmX3NpemUgfHwKIAkJCXJ4cS0+b2ZmbG9hZHMgJiBSVEVfRVRIX1JY X09GRkxPQURfU0NBVFRFUikgewogCQkJdWludDMyX3QgcmVnOwogCQkJZGV2LT5kYXRhLT5zY2F0 dGVyZWRfcnggPSAxOwpkaWZmIGEvZHJpdmVycy9uZXQvaGluaWMvaGluaWNfcG1kX2V0aGRldi5o IGIvZHJpdmVycy9uZXQvaGluaWMvaGluaWNfcG1kX2V0aGRldi5oCShyZWplY3RlZCBodW5rcykK QEAgLTM1LDkgKzM1LDggQEAKICNkZWZpbmUgSElOSUNfTUFYX01UVV9TSVpFICAgICAgICAgICAg ICA5NjAwCiAjZGVmaW5lIEhJTklDX01JTl9NVFVfU0laRSAgICAgICAgICAgICAgMjU2CiAKLSNk ZWZpbmUgSElOSUNfVkxBTl9UQUdfU0laRSAgICAgICAgICAgICA0CiAjZGVmaW5lIEhJTklDX0VU SF9PVkVSSEVBRCBcCi0JKFJURV9FVEhFUl9IRFJfTEVOICsgUlRFX0VUSEVSX0NSQ19MRU4gKyBI SU5JQ19WTEFOX1RBR19TSVpFICogMikKKwkoUlRFX0VUSEVSX0hEUl9MRU4gKyBSVEVfRVRIRVJf Q1JDX0xFTiArIFJURV9WTEFOX0hMRU4gKiAyKQogCiAjZGVmaW5lIEhJTklDX01JTl9GUkFNRV9T SVpFICAgICAgICAoSElOSUNfTUlOX01UVV9TSVpFICsgSElOSUNfRVRIX09WRVJIRUFEKQogI2Rl ZmluZSBISU5JQ19NQVhfSlVNQk9fRlJBTUVfU0laRSAgKEhJTklDX01BWF9NVFVfU0laRSArIEhJ TklDX0VUSF9PVkVSSEVBRCkKZGlmZiBhL2RyaXZlcnMvbmV0L2huczMvaG5zM19ldGhkZXYuaCBi L2RyaXZlcnMvbmV0L2huczMvaG5zM19ldGhkZXYuaAkocmVqZWN0ZWQgaHVua3MpCkBAIC02Miw3 ICs2Miw2IEBACiAjZGVmaW5lIEhOUzNfTUFYX05PTl9UU09fQkRfUEVSX1BLVAk4CiAjZGVmaW5l IEhOUzNfTUFYX1RTT19CRF9QRVJfUEtUCQk2MwogI2RlZmluZSBITlMzX01BWF9GUkFNRV9MRU4J CTk3MjgKLSNkZWZpbmUgSE5TM19WTEFOX1RBR19TSVpFCQk0CiAjZGVmaW5lIEhOUzNfREVGQVVM VF9SWF9CVUZfTEVOCQkyMDQ4CiAjZGVmaW5lIEhOUzNfTUFYX0JEX1BBWUxFTgkJKDEwMjQgKiAx MDI0IC0gMSkKICNkZWZpbmUgSE5TM19NQVhfVFNPX0hEUl9TSVpFCQk1MTIKQEAgLTcwLDcgKzY5 LDcgQEAKICNkZWZpbmUgSE5TM19NQVhfTFJPX1NJWkUJCTY0NTEyCiAKICNkZWZpbmUgSE5TM19F VEhfT1ZFUkhFQUQgXAotCShSVEVfRVRIRVJfSERSX0xFTiArIFJURV9FVEhFUl9DUkNfTEVOICsg SE5TM19WTEFOX1RBR19TSVpFICogMikKKwkoUlRFX0VUSEVSX0hEUl9MRU4gKyBSVEVfRVRIRVJf Q1JDX0xFTiArIFJURV9WTEFOX0hMRU4gKiAyKQogI2RlZmluZSBITlMzX1BLVExFTl9UT19NVFUo cGt0bGVuKQkoKHBrdGxlbikgLSBITlMzX0VUSF9PVkVSSEVBRCkKICNkZWZpbmUgSE5TM19NQVhf TVRVCShITlMzX01BWF9GUkFNRV9MRU4gLSBITlMzX0VUSF9PVkVSSEVBRCkKICNkZWZpbmUgSE5T M19ERUZBVUxUX01UVQkJMTUwMFVMCmRpZmYgYS9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmggYi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmgJKHJlamVjdGVkIGh1bmtzKQpAQCAt MjcsOCArMjcsNiBAQAogICovCiAjZGVmaW5lIEk0MEVfR0xfUlhFUlIxX0goX2kpCSgweDAwMzE4 MDA0ICsgKChfaSkgKiA4KSkKIAotI2RlZmluZSBJNDBFX1ZMQU5fVEFHX1NJWkUgICAgICAgIDQK LQogI2RlZmluZSBJNDBFX0FRX0xFTiAgICAgICAgICAgICAgIDMyCiAjZGVmaW5lIEk0MEVfQVFf QlVGX1NaICAgICAgICAgICAgNDA5NgogLyogTnVtYmVyIG9mIHF1ZXVlcyBwZXIgVEMgc2hvdWxk IGJlIG9uZSBvZiAxLCAyLCA0LCA4LCAxNiwgMzIsIDY0ICovCkBAIC0yOTIsNyArMjkwLDcgQEAg c3RydWN0IHJ0ZV9mbG93IHsKICAqIENvbnNpZGVyaW5nIFFpblEgcGFja2V0LCB0aGUgVkxBTiB0 YWcgbmVlZHMgdG8gYmUgY291bnRlZCB0d2ljZS4KICAqLwogI2RlZmluZSBJNDBFX0VUSF9PVkVS SEVBRCBcCi0JKFJURV9FVEhFUl9IRFJfTEVOICsgUlRFX0VUSEVSX0NSQ19MRU4gKyBJNDBFX1ZM QU5fVEFHX1NJWkUgKiAyKQorCShSVEVfRVRIRVJfSERSX0xFTiArIFJURV9FVEhFUl9DUkNfTEVO ICsgUlRFX1ZMQU5fSExFTiAqIDIpCiAjZGVmaW5lIEk0MEVfRVRIX01BWF9MRU4gKFJURV9FVEhF Ul9NVFUgKyBJNDBFX0VUSF9PVkVSSEVBRCkKIAogI2RlZmluZSBJNDBFX1JYVFhfQllURVNfSF8x Nl9CSVQoYnl0ZXMpICgoYnl0ZXMpICYgfkk0MEVfNDhfQklUX01BU0spCmRpZmYgYS9kcml2ZXJz L25ldC9pYXZmL2lhdmYuaCBiL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zi5oCShyZWplY3RlZCBodW5r cykKQEAgLTc4LDkgKzc4LDggQEAKIC8qIFRoZSBvdmVyaGVhZCBmcm9tIE1UVSB0byBtYXggZnJh bWUgc2l6ZS4KICAqIENvbnNpZGVyaW5nIFFpblEgcGFja2V0LCB0aGUgVkxBTiB0YWcgbmVlZHMg dG8gYmUgY291bnRlZCB0d2ljZS4KICAqLwotI2RlZmluZSBJQVZGX1ZMQU5fVEFHX1NJWkUgICAg ICAgICAgICAgICA0CiAjZGVmaW5lIElBVkZfRVRIX09WRVJIRUFEIFwKLQkoUlRFX0VUSEVSX0hE Ul9MRU4gKyBSVEVfRVRIRVJfQ1JDX0xFTiArIElBVkZfVkxBTl9UQUdfU0laRSAqIDIpCisJKFJU RV9FVEhFUl9IRFJfTEVOICsgUlRFX0VUSEVSX0NSQ19MRU4gKyBSVEVfVkxBTl9ITEVOICogMikK ICNkZWZpbmUgSUFWRl9FVEhfTUFYX0xFTiAoUlRFX0VUSEVSX01UVSArIElBVkZfRVRIX09WRVJI RUFEKQogCiAjZGVmaW5lIElBVkZfMzJfQklUX1dJRFRIIChDSEFSX0JJVCAqIDQpCmRpZmYgYS9k cml2ZXJzL25ldC9pY2UvaWNlX2RjZl9ldGhkZXYuYyBiL2RyaXZlcnMvbmV0L2ljZS9pY2VfZGNm X2V0aGRldi5jCShyZWplY3RlZCBodW5rcykKQEAgLTgxLDcgKzgxLDcgQEAgaWNlX2RjZl9pbml0 X3J4cShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgc3RydWN0IGljZV9yeF9xdWV1ZSAqcnhxKQog CiAJcnhxLT5tYXhfcGt0X2xlbiA9IG1heF9wa3RfbGVuOwogCWlmICgoZGV2X2RhdGEtPmRldl9j b25mLnJ4bW9kZS5vZmZsb2FkcyAmIFJURV9FVEhfUlhfT0ZGTE9BRF9TQ0FUVEVSKSB8fAotCSAg ICAocnhxLT5tYXhfcGt0X2xlbiArIDIgKiBJQ0VfVkxBTl9UQUdfU0laRSkgPiBidWZfc2l6ZSkg eworCSAgICAocnhxLT5tYXhfcGt0X2xlbiArIDIgKiBSVEVfVkxBTl9ITEVOKSA+IGJ1Zl9zaXpl KSB7CiAJCWRldl9kYXRhLT5zY2F0dGVyZWRfcnggPSAxOwogCX0KIAlyeHEtPnFyeF90YWlsID0g aHctPmh3X2FkZHIgKyBJQVZGX1FSWF9UQUlMMShyeHEtPnF1ZXVlX2lkKTsKZGlmZiBhL2RyaXZl cnMvbmV0L2ljZS9pY2VfZXRoZGV2LmggYi9kcml2ZXJzL25ldC9pY2UvaWNlX2V0aGRldi5oCShy ZWplY3RlZCBodW5rcykKQEAgLTE0LDggKzE0LDYgQEAKICNpbmNsdWRlICJiYXNlL2ljZV9hZG1p bnFfY21kLmgiCiAjaW5jbHVkZSAiYmFzZS9pY2VfZmxvdy5oIgogCi0jZGVmaW5lIElDRV9WTEFO X1RBR19TSVpFICAgICAgICA0Ci0KICNkZWZpbmUgSUNFX0FETUlOUV9MRU4gICAgICAgICAgICAg ICAzMgogI2RlZmluZSBJQ0VfU0JJT1FfTEVOICAgICAgICAgICAgICAgIDMyCiAjZGVmaW5lIElD RV9NQUlMQk9YUV9MRU4gICAgICAgICAgICAgMzIKQEAgLTEzNiw3ICsxMzQsNyBAQAogICogQ29u c2lkZXJpbmcgUWluUSBwYWNrZXQsIHRoZSBWTEFOIHRhZyBuZWVkcyB0byBiZSBjb3VudGVkIHR3 aWNlLgogICovCiAjZGVmaW5lIElDRV9FVEhfT1ZFUkhFQUQgXAotCShSVEVfRVRIRVJfSERSX0xF TiArIFJURV9FVEhFUl9DUkNfTEVOICsgSUNFX1ZMQU5fVEFHX1NJWkUgKiAyKQorCShSVEVfRVRI RVJfSERSX0xFTiArIFJURV9FVEhFUl9DUkNfTEVOICsgUlRFX1ZMQU5fSExFTiAqIDIpCiAjZGVm aW5lIElDRV9FVEhfTUFYX0xFTiAoUlRFX0VUSEVSX01UVSArIElDRV9FVEhfT1ZFUkhFQUQpCiAK ICNkZWZpbmUgSUNFX1JYVFhfQllURVNfSElHSChieXRlcykgKChieXRlcykgJiB+SUNFXzQwX0JJ VF9NQVNLKQpkaWZmIGEvZHJpdmVycy9uZXQvaXBuM2tlL2lwbjNrZV9ldGhkZXYuaCBiL2RyaXZl cnMvbmV0L2lwbjNrZS9pcG4za2VfZXRoZGV2LmgJKHJlamVjdGVkIGh1bmtzKQpAQCAtNjMzLDEz ICs2MzMsMTIgQEAgaXBuM2tlX3RtX29wc19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhkZXYs CiAjZGVmaW5lIElQTjNLRV9NQUNfUlhfRlJBTUVfQ09OVFJPTF9FTl9BTExNQ0FTVF9NQVNLIFwK IAlJUE4zS0VfTUFTSygweDEsIElQTjNLRV9NQUNfUlhfRlJBTUVfQ09OVFJPTF9FTl9BTExNQ0FT VF9TSElGVCkKIAotI2RlZmluZSBJUE4zS0VfVkxBTl9UQUdfU0laRSAgICA0CiAvKioKICAqIFRo ZSBvdmVyaGVhZCBmcm9tIE1UVSB0byBtYXggZnJhbWUgc2l6ZS4KICAqIENvbnNpZGVyaW5nIFFp blEgcGFja2V0LCB0aGUgVkxBTiB0YWcgbmVlZHMgdG8gYmUgY291bnRlZCB0d2ljZS4KICAqLwog I2RlZmluZSBJUE4zS0VfRVRIX09WRVJIRUFEIFwKLQkoUlRFX0VUSEVSX0hEUl9MRU4gKyBSVEVf RVRIRVJfQ1JDX0xFTiArIElQTjNLRV9WTEFOX1RBR19TSVpFICogMikKKwkoUlRFX0VUSEVSX0hE Ul9MRU4gKyBSVEVfRVRIRVJfQ1JDX0xFTiArIFJURV9WTEFOX0hMRU4gKiAyKQogI2RlZmluZSBJ UE4zS0VfRVRIX01BWF9MRU4gKFJURV9FVEhFUl9NVFUgKyBJUE4zS0VfRVRIX09WRVJIRUFEKQog CiAjZGVmaW5lIElQTjNLRV9NQUNfRlJBTUVfU0laRV9NQVggICAgOTcyOApkaWZmIGEvZHJpdmVy cy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmMgYi9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhk ZXYuYwkocmVqZWN0ZWQgaHVua3MpCkBAIC01MTczLDcgKzUxNzMsNyBAQCBpeGdiZV9kZXZfbXR1 X3NldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgdWludDE2X3QgbXR1KQogCSAqIHNjYXR0ZXJl ZCBwYWNrZXRzIHdoZW4gdGhpcyBmZWF0dXJlIGhhcyBub3QgYmVlbiBlbmFibGVkIGJlZm9yZS4K IAkgKi8KIAlpZiAoZGV2LT5kYXRhLT5kZXZfc3RhcnRlZCAmJiAhZGV2LT5kYXRhLT5zY2F0dGVy ZWRfcnggJiYKLQkgICAgZnJhbWVfc2l6ZSArIDIgKiBJWEdCRV9WTEFOX1RBR19TSVpFID4KKwkg ICAgZnJhbWVfc2l6ZSArIDIgKiBSVEVfVkxBTl9ITEVOID4KIAkJCWRldi0+ZGF0YS0+bWluX3J4 X2J1Zl9zaXplIC0gUlRFX1BLVE1CVUZfSEVBRFJPT00pIHsKIAkJUE1EX0lOSVRfTE9HKEVSUiwg IlN0b3AgcG9ydCBmaXJzdC4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC02MzQxLDcgKzYzNDEs NyBAQCBpeGdiZXZmX2Rldl9zZXRfbXR1KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50MTZf dCBtdHUpCiAJICogc2NhdHRlcmVkIHBhY2tldHMgd2hlbiB0aGlzIGZlYXR1cmUgaGFzIG5vdCBi ZWVuIGVuYWJsZWQgYmVmb3JlLgogCSAqLwogCWlmIChkZXZfZGF0YS0+ZGV2X3N0YXJ0ZWQgJiYg IWRldl9kYXRhLT5zY2F0dGVyZWRfcnggJiYKLQkgICAgKG1heF9mcmFtZSArIDIgKiBJWEdCRV9W TEFOX1RBR19TSVpFID4KKwkgICAgKG1heF9mcmFtZSArIDIgKiBSVEVfVkxBTl9ITEVOID4KIAkJ CWRldi0+ZGF0YS0+bWluX3J4X2J1Zl9zaXplIC0gUlRFX1BLVE1CVUZfSEVBRFJPT00pKSB7CiAJ CVBNRF9JTklUX0xPRyhFUlIsICJTdG9wIHBvcnQgZmlyc3QuIik7CiAJCXJldHVybiAtRUlOVkFM OwpkaWZmIGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmggYi9kcml2ZXJzL25ldC9p eGdiZS9peGdiZV9ldGhkZXYuaAkocmVqZWN0ZWQgaHVua3MpCkBAIC00Myw3ICs0Myw2IEBACiAj ZGVmaW5lIElYR0JFX05CX1NUQVRfTUFQUElOR19SRUdTICAzMgogI2RlZmluZSBJWEdCRV9FWFRF TkRFRF9WTEFOCSAgKHVpbnQzMl90KSgxIDw8IDI2KSAvKiBFWFRFTkRFRCBWTEFOIEVOQUJMRSAq LwogI2RlZmluZSBJWEdCRV9WRlRBX1NJWkUgMTI4Ci0jZGVmaW5lIElYR0JFX1ZMQU5fVEFHX1NJ WkUgNAogI2RlZmluZSBJWEdCRV9IS0VZX01BWF9JTkRFWCAxMAogI2RlZmluZSBJWEdCRV9NQVhf UlhfUVVFVUVfTlVNCTEyOAogI2RlZmluZSBJWEdCRV9NQVhfSU5UUl9RVUVVRV9OVU0JMTUKZGlm ZiBhL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYyBiL2RyaXZlcnMvbmV0L2l4Z2JlL2l4 Z2JlX3J4dHguYwkocmVqZWN0ZWQgaHVua3MpCkBAIC01MTUzLDcgKzUxNTMsNyBAQCBpeGdiZV9k ZXZfcnhfaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikKIAkJCQkgICAgICAgSVhHQkVfU1JS Q1RMX0JTSVpFUEtUX1NISUZUKTsKIAogCQkvKiBJdCBhZGRzIGR1YWwgVkxBTiBsZW5ndGggZm9y IHN1cHBvcnRpbmcgZHVhbCBWTEFOICovCi0JCWlmIChmcmFtZV9zaXplICsgMiAqIElYR0JFX1ZM QU5fVEFHX1NJWkUgPiBidWZfc2l6ZSkKKwkJaWYgKGZyYW1lX3NpemUgKyAyICogUlRFX1ZMQU5f SExFTiA+IGJ1Zl9zaXplKQogCQkJZGV2LT5kYXRhLT5zY2F0dGVyZWRfcnggPSAxOwogCQlpZiAo cnhxLT5vZmZsb2FkcyAmIFJURV9FVEhfUlhfT0ZGTE9BRF9WTEFOX1NUUklQKQogCQkJcnhfY29u Zi0+b2ZmbG9hZHMgfD0gUlRFX0VUSF9SWF9PRkZMT0FEX1ZMQU5fU1RSSVA7CkBAIC01NzI5LDcg KzU3MjksNyBAQCBpeGdiZXZmX2Rldl9yeF9pbml0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQog CiAJCWlmIChyeG1vZGUtPm9mZmxvYWRzICYgUlRFX0VUSF9SWF9PRkZMT0FEX1NDQVRURVIgfHwK IAkJICAgIC8qIEl0IGFkZHMgZHVhbCBWTEFOIGxlbmd0aCBmb3Igc3VwcG9ydGluZyBkdWFsIFZM QU4gKi8KLQkJICAgIChmcmFtZV9zaXplICsgMiAqIElYR0JFX1ZMQU5fVEFHX1NJWkUpID4gYnVm X3NpemUpIHsKKwkJICAgIChmcmFtZV9zaXplICsgMiAqIFJURV9WTEFOX0hMRU4pID4gYnVmX3Np emUpIHsKIAkJCWlmICghZGV2LT5kYXRhLT5zY2F0dGVyZWRfcngpCiAJCQkJUE1EX0lOSVRfTE9H KERFQlVHLCAiZm9yY2luZyBzY2F0dGVyIG1vZGUiKTsKIAkJCWRldi0+ZGF0YS0+c2NhdHRlcmVk X3J4ID0gMTsKZGlmZiBhL2RyaXZlcnMvbmV0L212bmV0YS9tdm5ldGFfZXRoZGV2LmggYi9kcml2 ZXJzL25ldC9tdm5ldGEvbXZuZXRhX2V0aGRldi5oCShyZWplY3RlZCBodW5rcykKQEAgLTQ1LDkg KzQ1LDggQEAKIC8qKiBSeCBxdWV1ZSBkZXNjcmlwdG9ycyBhbGlnbm1lbnQgaW4gQiAqLwogI2Rl ZmluZSBNUlZMX05FVEFfUlhEX0FMSUdOIDMyCiAKLSNkZWZpbmUgTVJWTF9ORVRBX1ZMQU5fVEFH X0xFTgk0CiAjZGVmaW5lIE1SVkxfTkVUQV9FVEhfSERSU19MRU4JKFJURV9FVEhFUl9IRFJfTEVO ICsgUlRFX0VUSEVSX0NSQ19MRU4gKyBcCi0JCQkJTVJWTF9ORVRBX1ZMQU5fVEFHX0xFTikKKwkJ CQlSVEVfVkxBTl9ITEVOKQogCiAjZGVmaW5lIE1SVkxfTkVUQV9IRFJTX0xFTgkJKE1WX01IX1NJ WkUgKyBNUlZMX05FVEFfRVRIX0hEUlNfTEVOKQogI2RlZmluZSBNUlZMX05FVEFfTVRVX1RPX01S VShtdHUpCSgobXR1KSArIE1SVkxfTkVUQV9IRFJTX0xFTikKZGlmZiBhL2RyaXZlcnMvbmV0L212 cHAyL21ydmxfZXRoZGV2LmggYi9kcml2ZXJzL25ldC9tdnBwMi9tcnZsX2V0aGRldi5oCShyZWpl Y3RlZCBodW5rcykKQEAgLTcyLDkgKzcyLDggQEAKIC8qKiBNaW5pbXVtIG51bWJlciBvZiBzZW50 IGJ1ZmZlcnMgdG8gcmVsZWFzZSBmcm9tIHNoYWRvdyBxdWV1ZSB0byBCTSAqLwogI2RlZmluZSBN UlZMX1BQMl9CVUZfUkVMRUFTRV9CVVJTVF9TSVpFCTY0CiAKLSNkZWZpbmUgTVJWTF9QUDJfVkxB Tl9UQUdfTEVOCTQKICNkZWZpbmUgTVJWTF9QUDJfRVRIX0hEUlNfTEVOCShSVEVfRVRIRVJfSERS X0xFTiArIFJURV9FVEhFUl9DUkNfTEVOICsgXAotCQkJCSgyICogTVJWTF9QUDJfVkxBTl9UQUdf TEVOKSkKKwkJCQkoMiAqIFJURV9WTEFOX0hMRU4pKQogI2RlZmluZSBNUlZMX1BQMl9IRFJTX0xF TgkJKE1WX01IX1NJWkUgKyBNUlZMX1BQMl9FVEhfSERSU19MRU4pCiAjZGVmaW5lIE1SVkxfUFAy X01UVV9UT19NUlUobXR1KQkoKG10dSkgKyBNUlZMX1BQMl9IRFJTX0xFTikKICNkZWZpbmUgTVJW TF9QUDJfTVJVX1RPX01UVShtcnUpCSgobXJ1KSAtIE1SVkxfUFAyX0hEUlNfTEVOKQpkaWZmIGEv ZHJpdmVycy9uZXQvbmdiZS9uZ2JlX2V0aGRldi5jIGIvZHJpdmVycy9uZXQvbmdiZS9uZ2JlX2V0 aGRldi5jCShyZWplY3RlZCBodW5rcykKQEAgLTI0ODgsNyArMjQ4OCw3IEBAIG5nYmVfZGV2X210 dV9zZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQxNl90IG10dSkKIAkgKiBzY2F0dGVy ZWQgcGFja2V0cyB3aGVuIHRoaXMgZmVhdHVyZSBoYXMgbm90IGJlZW4gZW5hYmxlZCBiZWZvcmUu CiAJICovCiAJaWYgKGRldl9kYXRhLT5kZXZfc3RhcnRlZCAmJiAhZGV2X2RhdGEtPnNjYXR0ZXJl ZF9yeCAmJgotCSAgICAoZnJhbWVfc2l6ZSArIDIgKiBOR0JFX1ZMQU5fVEFHX1NJWkUgPgorCSAg ICAoZnJhbWVfc2l6ZSArIDIgKiBSVEVfVkxBTl9ITEVOID4KIAkgICAgIGRldi0+ZGF0YS0+bWlu X3J4X2J1Zl9zaXplIC0gUlRFX1BLVE1CVUZfSEVBRFJPT00pKSB7CiAJCVBNRF9JTklUX0xPRyhF UlIsICJTdG9wIHBvcnQgZmlyc3QuIik7CiAJCXJldHVybiAtRUlOVkFMOwpkaWZmIGEvZHJpdmVy cy9uZXQvbmdiZS9uZ2JlX2V0aGRldi5oIGIvZHJpdmVycy9uZXQvbmdiZS9uZ2JlX2V0aGRldi5o CShyZWplY3RlZCBodW5rcykKQEAgLTE5LDcgKzE5LDYgQEAKICNkZWZpbmUgTkdCRV9GTEFHX05F RURfTElOS19DT05GSUcgICgodWludDMyX3QpKDEgPDwgNCkpCiAKICNkZWZpbmUgTkdCRV9WRlRB X1NJWkUgMTI4Ci0jZGVmaW5lIE5HQkVfVkxBTl9UQUdfU0laRSA0CiAjZGVmaW5lIE5HQkVfSEtF WV9NQVhfSU5ERVggMTAKIC8qRGVmYXVsdCB2YWx1ZSBvZiBNYXggUnggUXVldWUqLwogI2RlZmlu ZSBOR0JFX01BWF9SWF9RVUVVRV9OVU0JOApkaWZmIGEvZHJpdmVycy9uZXQvbmdiZS9uZ2JlX3J4 dHguYyBiL2RyaXZlcnMvbmV0L25nYmUvbmdiZV9yeHR4LmMJKHJlamVjdGVkIGh1bmtzKQpAQCAt Mjk1MSw3ICsyOTUxLDcgQEAgbmdiZV9kZXZfcnhfaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRl dikKIAogCQkvKiBJdCBhZGRzIGR1YWwgVkxBTiBsZW5ndGggZm9yIHN1cHBvcnRpbmcgZHVhbCBW TEFOICovCiAJCWlmIChkZXYtPmRhdGEtPm10dSArIE5HQkVfRVRIX09WRVJIRUFEICsKLQkJCQky ICogTkdCRV9WTEFOX1RBR19TSVpFID4gYnVmX3NpemUpCisJCQkJMiAqIFJURV9WTEFOX0hMRU4g PiBidWZfc2l6ZSkKIAkJCWRldi0+ZGF0YS0+c2NhdHRlcmVkX3J4ID0gMTsKIAkJaWYgKHJ4cS0+ b2ZmbG9hZHMgJiBSVEVfRVRIX1JYX09GRkxPQURfVkxBTl9TVFJJUCkKIAkJCXJ4X2NvbmYtPm9m ZmxvYWRzIHw9IFJURV9FVEhfUlhfT0ZGTE9BRF9WTEFOX1NUUklQOwpkaWZmIGEvZHJpdmVycy9u ZXQvdHhnYmUvdHhnYmVfZXRoZGV2LmMgYi9kcml2ZXJzL25ldC90eGdiZS90eGdiZV9ldGhkZXYu YwkocmVqZWN0ZWQgaHVua3MpCkBAIC0zNDYxLDcgKzM0NjEsNyBAQCB0eGdiZV9kZXZfbXR1X3Nl dChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgdWludDE2X3QgbXR1KQogCSAqIHNjYXR0ZXJlZCBw YWNrZXRzIHdoZW4gdGhpcyBmZWF0dXJlIGhhcyBub3QgYmVlbiBlbmFibGVkIGJlZm9yZS4KIAkg Ki8KIAlpZiAoZGV2X2RhdGEtPmRldl9zdGFydGVkICYmICFkZXZfZGF0YS0+c2NhdHRlcmVkX3J4 ICYmCi0JICAgIChmcmFtZV9zaXplICsgMiAqIFRYR0JFX1ZMQU5fVEFHX1NJWkUgPgorCSAgICAo ZnJhbWVfc2l6ZSArIDIgKiBSVEVfVkxBTl9ITEVOID4KIAkgICAgIGRldi0+ZGF0YS0+bWluX3J4 X2J1Zl9zaXplIC0gUlRFX1BLVE1CVUZfSEVBRFJPT00pKSB7CiAJCVBNRF9JTklUX0xPRyhFUlIs ICJTdG9wIHBvcnQgZmlyc3QuIik7CiAJCXJldHVybiAtRUlOVkFMOwpkaWZmIGEvZHJpdmVycy9u ZXQvdHhnYmUvdHhnYmVfZXRoZGV2LmggYi9kcml2ZXJzL25ldC90eGdiZS90eGdiZV9ldGhkZXYu aAkocmVqZWN0ZWQgaHVua3MpCkBAIC0zNiw3ICszNiw2IEBACiAgKiBGcmVlQlNEIGRyaXZlci4K ICAqLwogI2RlZmluZSBUWEdCRV9WRlRBX1NJWkUgMTI4Ci0jZGVmaW5lIFRYR0JFX1ZMQU5fVEFH X1NJWkUgNAogI2RlZmluZSBUWEdCRV9IS0VZX01BWF9JTkRFWCAxMAogLypEZWZhdWx0IHZhbHVl IG9mIE1heCBSeCBRdWV1ZSovCiAjZGVmaW5lIFRYR0JFX01BWF9SWF9RVUVVRV9OVU0JMTI4CmRp ZmYgYS9kcml2ZXJzL25ldC90eGdiZS90eGdiZV9ldGhkZXZfdmYuYyBiL2RyaXZlcnMvbmV0L3R4 Z2JlL3R4Z2JlX2V0aGRldl92Zi5jCShyZWplY3RlZCBodW5rcykKQEAgLTExMTEsNyArMTExMSw3 IEBAIHR4Z2JldmZfZGV2X3NldF9tdHUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQxNl90 IG10dSkKIAkgKiBzY2F0dGVyZWQgcGFja2V0cyB3aGVuIHRoaXMgZmVhdHVyZSBoYXMgbm90IGJl ZW4gZW5hYmxlZCBiZWZvcmUuCiAJICovCiAJaWYgKGRldl9kYXRhLT5kZXZfc3RhcnRlZCAmJiAh ZGV2X2RhdGEtPnNjYXR0ZXJlZF9yeCAmJgotCSAgICAobWF4X2ZyYW1lICsgMiAqIFRYR0JFX1ZM QU5fVEFHX1NJWkUgPgorCSAgICAobWF4X2ZyYW1lICsgMiAqIFJURV9WTEFOX0hMRU4gPgogCSAg ICAgZGV2LT5kYXRhLT5taW5fcnhfYnVmX3NpemUgLSBSVEVfUEtUTUJVRl9IRUFEUk9PTSkpIHsK IAkJUE1EX0lOSVRfTE9HKEVSUiwgIlN0b3AgcG9ydCBmaXJzdC4iKTsKIAkJcmV0dXJuIC1FSU5W QUw7CmRpZmYgYS9kcml2ZXJzL25ldC90eGdiZS90eGdiZV9yeHR4LmMgYi9kcml2ZXJzL25ldC90 eGdiZS90eGdiZV9yeHR4LmMJKHJlamVjdGVkIGh1bmtzKQpAQCAtNDM4OSw3ICs0Mzg5LDcgQEAg dHhnYmVfZGV2X3J4X2luaXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpCiAKIAkJLyogSXQgYWRk cyBkdWFsIFZMQU4gbGVuZ3RoIGZvciBzdXBwb3J0aW5nIGR1YWwgVkxBTiAqLwogCQlpZiAoZGV2 LT5kYXRhLT5tdHUgKyBUWEdCRV9FVEhfT1ZFUkhFQUQgKwotCQkJCTIgKiBUWEdCRV9WTEFOX1RB R19TSVpFID4gYnVmX3NpemUpCisJCQkJMiAqIFJURV9WTEFOX0hMRU4gPiBidWZfc2l6ZSkKIAkJ CWRldi0+ZGF0YS0+c2NhdHRlcmVkX3J4ID0gMTsKIAkJaWYgKHJ4cS0+b2ZmbG9hZHMgJiBSVEVf RVRIX1JYX09GRkxPQURfVkxBTl9TVFJJUCkKIAkJCXJ4X2NvbmYtPm9mZmxvYWRzIHw9IFJURV9F VEhfUlhfT0ZGTE9BRF9WTEFOX1NUUklQOwpAQCAtNDkwNiw3ICs0OTA2LDcgQEAgdHhnYmV2Zl9k ZXZfcnhfaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikKIAkJaWYgKHJ4bW9kZS0+b2ZmbG9h ZHMgJiBSVEVfRVRIX1JYX09GRkxPQURfU0NBVFRFUiB8fAogCQkgICAgLyogSXQgYWRkcyBkdWFs IFZMQU4gbGVuZ3RoIGZvciBzdXBwb3J0aW5nIGR1YWwgVkxBTiAqLwogCQkgICAgKGRldi0+ZGF0 YS0+bXR1ICsgVFhHQkVfRVRIX09WRVJIRUFEICsKLQkJCQkyICogVFhHQkVfVkxBTl9UQUdfU0la RSkgPiBidWZfc2l6ZSkgeworCQkJCTIgKiBSVEVfVkxBTl9ITEVOKSA+IGJ1Zl9zaXplKSB7CiAJ CQlpZiAoIWRldi0+ZGF0YS0+c2NhdHRlcmVkX3J4KQogCQkJCVBNRF9JTklUX0xPRyhERUJVRywg ImZvcmNpbmcgc2NhdHRlciBtb2RlIik7CiAJCQlkZXYtPmRhdGEtPnNjYXR0ZXJlZF9yeCA9IDE7 CmRpZmYgYS9leGFtcGxlcy92aG9zdC9tYWluLmMgYi9leGFtcGxlcy92aG9zdC9tYWluLmMJKHJl amVjdGVkIGh1bmtzKQpAQCAtMTk1LDcgKzE5NSw2IEBAIHN0cnVjdCB2aG9zdF9idWZmdGFibGUg KnZob3N0X3R4YnVmZltSVEVfTUFYX0xDT1JFICogTUFYX1ZIT1NUX0RFVklDRV07CiAKICNkZWZp bmUgTUJVRl9UQUJMRV9EUkFJTl9UU0MJKChydGVfZ2V0X3RzY19oeigpICsgVVNfUEVSX1MgLSAx KSBcCiAJCQkJIC8gVVNfUEVSX1MgKiBCVVJTVF9UWF9EUkFJTl9VUykKLSNkZWZpbmUgVkxBTl9I TEVOICAgICAgIDQKIAogc3RhdGljIGlubGluZSBpbnQKIG9wZW5fZG1hKGNvbnN0IGNoYXIgKnZh bHVlKQpAQCAtMTAxNSw3ICsxMDE0LDcgQEAgZmluZF9sb2NhbF9kZXN0KHN0cnVjdCB2aG9zdF9k ZXYgKnZkZXYsIHN0cnVjdCBydGVfbWJ1ZiAqbSwKIAkgKiBieSBtaW51cyBsZW5ndGggb2Ygdmxh biB0YWcsIHNvIG5lZWQgcmVzdG9yZQogCSAqIHRoZSBwYWNrZXQgbGVuZ3RoIGJ5IHBsdXMgaXQu CiAJICovCi0JKm9mZnNldCAgPSBWTEFOX0hMRU47CisJKm9mZnNldCAgPSBSVEVfVkxBTl9ITEVO OwogCSp2bGFuX3RhZyA9IHZsYW5fdGFnc1t2ZGV2LT52aWRdOwogCiAJUlRFX0xPR19EUChERUJV RywgVkhPU1RfREFUQSwKZGlmZiBhL2xpYi9uZXQvcnRlX2V0aGVyLmggYi9saWIvbmV0L3J0ZV9l dGhlci5oCShyZWplY3RlZCBodW5rcykKQEAgLTM1LDkgKzM1LDEwIEBAIGV4dGVybiAiQyIgewog CShSVEVfRVRIRVJfTUFYX0xFTiAtIFJURV9FVEhFUl9IRFJfTEVOIC0gXAogCQlSVEVfRVRIRVJf Q1JDX0xFTikgLyoqPCBFdGhlcm5ldCBNVFUuICovCiAKKyNkZWZpbmUgUlRFX1ZMQU5fSExFTiAg ICAgICA0ICAvKio8IFZMQU4gKElFRUUgODAyLjFRKSBoZWFkZXIgbGVuZ3RoLiAqLworLyoqIE1h eGltdW0gVkxBTiBmcmFtZSBsZW5ndGggKGV4Y2x1ZGluZyBRaW5RKSwgaW5jbHVkaW5nIENSQy4g Ki8KICNkZWZpbmUgUlRFX0VUSEVSX01BWF9WTEFOX0ZSQU1FX0xFTiBcCi0JKFJURV9FVEhFUl9N QVhfTEVOICsgNCkKLQkvKio8IE1heGltdW0gVkxBTiBmcmFtZSBsZW5ndGgsIGluY2x1ZGluZyBD UkMuICovCisJKFJURV9FVEhFUl9NQVhfTEVOICsgUlRFX1ZMQU5fSExFTikKIAogI2RlZmluZSBS VEVfRVRIRVJfTUFYX0pVTUJPX0ZSQU1FX0xFTiBcCiAJMHgzRjAwIC8qKjwgTWF4aW11bSBKdW1i byBmcmFtZSBsZW5ndGgsIGluY2x1ZGluZyBDUkMuICovCgpodHRwczovL2xhYi5kcGRrLm9yZy9y ZXN1bHRzL2Rhc2hib2FyZC9wYXRjaHNldHMvMjAyNzEvCgpVTkgtSU9MIERQREsgQ29tbXVuaXR5 IExhYgo= --===============4751944498149158043==--