From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4270BC624CE for ; Mon, 31 Aug 2026 13:52:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=jExh4NF5CgQC4ZdJQdqFUQZDFgSHUyADq0j63vw/QvU=; b=C6+sxN1FrAeOIX EKb0L+n1dxFl2PVlmpeqdnG0+TshLm6JdemhTdzljHFZp5eGdW3dKoYas8iTWGUVBiIfPjDwewq7W 4LaK7CNvBwJcyLbXidNX3wa/PV1X/bQlMG/aw/We3CwJjabWn5nedDYOJlrB6H9cmiC+fWU+T1dtC v/uwSicJQEradoony60nazUFdiyIEduz3Y+vJ0ZpuOoYunHWiznN0OZP9cl3/z6GEDHAF9kWNfuBi Ug38CF9sjAMl4vR2OCgObregR213QViPjgwLJOtof746V7Cg6cSCxnlgaa7yxW59vEiTXMTrhf2wb a/J3WZ7vNEiOPhU379+w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x12RF-00000009Z2K-3zaI; Mon, 31 Aug 2026 13:52:41 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x12RF-00000009Z1T-0WCT for linux-i3c@lists.infradead.org; Mon, 31 Aug 2026 13:52:41 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 8154660207; Mon, 31 Aug 2026 13:52:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D30FB1F00ADF; Mon, 31 Aug 2026 13:52:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788184360; bh=gn/x46AcCcCqDneJy+pgdlKQ+Wml9FPVINTnDu7omW4=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ZdCuWFCXLnum0OR0fxNVjjU2gh6h/TxZPIDTrrpmNdNblnDOWIbVP7xilAGhLejAS 6GPNrYs6O9oEoqc1i7BT5UANw6vFeiPlM2Eawt7uvA69xNfhTIuChevbbhAPrdDHVy V044cOkuWct+HL1cSHLVTu4RNBootywF/FPdP8RMItZPbkacH8Y4QTUDuT0t0nlY5f zj7i34ZpwWQzYzsqW4wruSnUlBJCvqZFJiOqMgxD2r9IXv9s8ZNm/hT51+zkCs9EBI jbOHhYV7WbobXL3S6swoUvygQWAVRTYmML3TC3UYJlvrSCRpU4Fc8J57AkAukeH7J2 AwbW+5gHfbuIQ== From: Sasha Levin To: patches@lists.linux.dev, stable@vger.kernel.org Cc: Stanley Chu , Frank Li , Alexandre Belloni , Sasha Levin , miquel.raynal@bootlin.com, linux-i3c@lists.infradead.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH AUTOSEL 6.18] i3c: master: svc: Prevent IRQ storm from false SLVSTART on NPCM845 Date: Mon, 31 Aug 2026 09:31:15 -0400 Message-ID: <20260831133314.4125787-647-sashal@kernel.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831133314.4125787-1-sashal@kernel.org> References: <20260831133314.4125787-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.18.48 X-BeenThere: linux-i3c@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-i3c" Errors-To: linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.org RnJvbTogU3RhbmxleSBDaHUgPHlzY2h1QG51dm90b24uY29tPgoKWyBVcHN0cmVhbSBjb21taXQg MWVmZmEzYWRmZTUzY2IyYmIyOGJmNTY0MGE2NzZiNzkxZDVhYjQwNSBdCgpPbiBOUENNODQ1LCB3 aGVuIGEgdGFyZ2V0IG9uIHRoZSBJM0MgYnVzIGdldHMgc3R1Y2sgaG9sZGluZyBTREEgbG93LAp0 aGUgY29udHJvbGxlciByZXBvcnRzIGEgZmFsc2UgTWFzdGVyIFJlcXVlc3QgKE1SKSBpbi1iYW5k IGludGVycnVwdApldmVudC4gVGhlIGRyaXZlciBoYW5kbGVzIHRoaXMgYnkgZW1pdHRpbmcgYSBT VE9QIGNvbmRpdGlvbiB0byByZXN0b3JlCnRoZSBidXMuCgpIb3dldmVyLCB0aGUgaGFyZHdhcmUg cXVpcmsgU1ZDX0kzQ19RVUlSS19GQUxTRV9TTFZTVEFSVCBpbmRpY2F0ZXMgdGhhdAplbWl0dGlu ZyBhIFNUT1AgY29uZGl0aW9uIG1heSBzcHVyaW91c2x5IHNldCB0aGUgU0xWU1RBUlQgaW50ZXJy dXB0CnN0YXR1cyBiaXQuIEluIHRoZSBNYXN0ZXIgUmVxdWVzdCBjYXNlLCB0aGlzIGNyZWF0ZXMg YSBmZWVkYmFjayBsb29wOgp0aGUgU1RPUCB0cmlnZ2VycyBhIG5ldyBTTFZTVEFSVCBldmVudCwg dGhlIElSUSBoYW5kbGVyIGZpcmVzIGFnYWluLAp0aGUgY29udHJvbGxlciBzdGlsbCByZXBvcnRz IGFuIE1SIHR5cGUsIGFub3RoZXIgU1RPUCBpcyBlbWl0dGVkLCBhbmQKdGhlIGN5Y2xlIHJlcGVh dHMgaW5kZWZpbml0ZWx5LCByZXN1bHRpbmcgaW4gYW4gSVJRIHN0b3JtIHRoYXQgY2FuIGxvY2sK dXAgdGhlIENQVS4KCkNsZWFyIHRoZSBTTFZTVEFSVCBzdGF0dXMgYml0IGV4cGxpY2l0bHkgYWZ0 ZXIgZW1pdHRpbmcgdGhlIFNUT1AgaW4gdGhlCk1hc3RlciBSZXF1ZXN0IElCSSBoYW5kbGVyIHdo ZW4gdGhlIFNWQ19JM0NfUVVJUktfRkFMU0VfU0xWU1RBUlQgcXVpcmsKaXMgc2V0LiBUaGlzIGJy ZWFrcyB0aGUgZmVlZGJhY2sgbG9vcCB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgU0xWU1RBUlQK cHJvY2Vzc2luZywgd2hpY2ggaXMgYWxyZWFkeSBndWFyZGVkIGluIHRoZSB0b3AtbGV2ZWwgSVJR IGhhbmRsZXIgYnkKY2hlY2tpbmcgdGhhdCBNU1RBVFVTIGlzIGluIFNMVlJFUSBzdGF0ZS4KClNp Z25lZC1vZmYtYnk6IFN0YW5sZXkgQ2h1IDx5c2NodUBudXZvdG9uLmNvbT4KUmV2aWV3ZWQtYnk6 IEZyYW5rIExpIDxGcmFuay5MaUBueHAuY29tPgpMaW5rOiBodHRwczovL3BhdGNoLm1zZ2lkLmxp bmsvMjAyNjA0MTMwMDUwNDAuMTIxMTEwNy0zLXlzY2h1QG51dm90b24uY29tClNpZ25lZC1vZmYt Ynk6IEFsZXhhbmRyZSBCZWxsb25pIDxhbGV4YW5kcmUuYmVsbG9uaUBib290bGluLmNvbT4KU2ln bmVkLW9mZi1ieTogU2FzaGEgTGV2aW4gPHNhc2hhbEBrZXJuZWwub3JnPgotLS0KCkxMTSBHZW5l cmF0ZWQgZXhwbGFuYXRpb25zLCBtYXkgYmUgY29tcGxldGVseSBib2d1czoKCiMgU3RhYmxlIEJh Y2twb3J0IEFuYWx5c2lzOiBpM2M6IG1hc3Rlcjogc3ZjOiBQcmV2ZW50IElSUSBzdG9ybSBmcm9t CmZhbHNlIFNMVlNUQVJUIG9uIE5QQ004NDUKCioqTG9jYWwgdHJlZToqKiBMaW51eCA2LjE4LjQz IChgdjYuMTguNDMtMS1nYzdmMGRhYzAyZDIzMmApCgotLS0KCiMjIFBIQVNFIDE6IENPTU1JVCBN RVNTQUdFIEZPUkVOU0lDUwoKIyMjIFN0ZXAgMS4xOiBTdWJqZWN0IExpbmUKKipSZWNvcmQ6Kiog YFtpM2M6IG1hc3Rlcjogc3ZjXWAgYFtQcmV2ZW50XWAg4oCUIFByZXZlbnQgSVJRIHN0b3JtIGZy b20KZmFsc2UgU0xWU1RBUlQgb24gTlBDTTg0NSAoTnV2b3RvbiBCTUMgSTNDIG1hc3RlciBkcml2 ZXIgaGFyZHdhcmUgcXVpcmsKd29ya2Fyb3VuZCkuCgojIyMgU3RlcCAxLjI6IFRhZ3MKKipSZWNv cmQ6KioKLSAqKlNpZ25lZC1vZmYtYnk6KiogU3RhbmxleSBDaHUgYDx5c2NodUBudXZvdG9uLmNv bT5gIChhdXRob3IpCi0gKipSZXZpZXdlZC1ieToqKiBGcmFuayBMaSBgPEZyYW5rLkxpQG54cC5j b20+YCAoTlhQIEkzQyByZXZpZXdlcikKLSAqKkxpbms6KioKICBodHRwczovL3BhdGNoLm1zZ2lk LmxpbmsvMjAyNjA0MTMwMDUwNDAuMTIxMTEwNy0zLXlzY2h1QG51dm90b24uY29tCi0gKipTaWdu ZWQtb2ZmLWJ5OioqIEFsZXhhbmRyZSBCZWxsb25pIGA8YWxleGFuZHJlLmJlbGxvbmlAYm9vdGxp bi5jb20+YAogIChJM0MgbWFpbnRhaW5lcikKLSBObyBGaXhlczosIFJlcG9ydGVkLWJ5OiwgVGVz dGVkLWJ5OiwgQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcKLSBOb3RhYmxlOiBSZXZpZXdlZCBi eSBzdWJzeXN0ZW0gcmV2aWV3ZXI7IG1haW50YWluZXIgYXBwbGllZCB0aGUKICBzZXJpZXMuIE5v IHN5emJvdCByZXBvcnQgKGhhcmR3YXJlLXNwZWNpZmljIHF1aXJrKS4KCiMjIyBTdGVwIDEuMzog Qm9keSBBbmFseXNpcwoqKlJlY29yZDoqKgotICoqQnVnOioqIE9uIE5QQ004NDUsIHdoZW4gYW4g STNDIHRhcmdldCBob2xkcyBTREEgbG93IChidXMgc3R1Y2spLCB0aGUKICBjb250cm9sbGVyIHJl cG9ydHMgYSBmYWxzZSBNYXN0ZXIgUmVxdWVzdCAoTVIpIElCSS4gVGhlIGRyaXZlciBlbWl0cwog IFNUT1AgdG8gcmVjb3ZlciB0aGUgYnVzLCBidXQgU1RPUCBzcHVyaW91c2x5IHNldHMgdGhlIFNM VlNUQVJUIHN0YXR1cwogIGJpdCAoa25vd24gYFNWQ19JM0NfUVVJUktfRkFMU0VfU0xWU1RBUlRg IGJlaGF2aW9yKS4KLSAqKlN5bXB0b206KiogRmVlZGJhY2sgbG9vcCDigJQgU1RPUCDihpIgc3B1 cmlvdXMgU0xWU1RBUlQg4oaSIElSUSBoYW5kbGVyIOKGkgogIE1SIGFnYWluIOKGkiBTVE9QIOKG kiDigKYg4oaSICoqSVJRIHN0b3JtIHRoYXQgY2FuIGxvY2sgdXAgdGhlIENQVSoqLgotICoqUm9v dCBjYXVzZToqKiBNUiBoYW5kbGVyIGVtaXRzIFNUT1Agd2l0aG91dCBjbGVhcmluZyB0aGUgc3B1 cmlvdXMKICBTTFZTVEFSVCBiaXQgYWZ0ZXJ3YXJkOyB0b3AtbGV2ZWwgcXVpcmsgZ3VhcmQgKFNM VlJFUSBzdGF0ZSBjaGVjaykKICBkb2VzIG5vdCBicmVhayB0aGlzIHNwZWNpZmljIE1SK3N0dWNr LVNEQSBsb29wLgotICoqRml4OioqIEFmdGVyIFNUT1AgaW4gdGhlIGBNQVNURVJfUkVRVUVTVGAg SUJJIHBhdGgsIGV4cGxpY2l0bHkgY2xlYXIKICBTTFZTVEFSVCB3aGVuIHRoZSBxdWlyayBpcyBz ZXQuCi0gKipWZXJzaW9uIGluZm86KiogTlBDTTg0NS1zcGVjaWZpYzsgbm8ga2VybmVsIHZlcnNp b24gcmFuZ2Ugc3RhdGVkLgoKIyMjIFN0ZXAgMS40OiBIaWRkZW4gQnVnIEZpeCBEZXRlY3Rpb24K KipSZWNvcmQ6KiogTm90IGRpc2d1aXNlZCDigJQgZXhwbGljaXRseSBhIGJ1ZyBmaXggZm9yIElS USBzdG9ybSAvIENQVQpsb2NrdXAuIEZhbGxzIHVuZGVyIGhhcmR3YXJlIHF1aXJrL3dvcmthcm91 bmQgZXhjZXB0aW9uIGNhdGVnb3J5LgoKLS0tCgojIyBQSEFTRSAyOiBESUZGIEFOQUxZU0lTCgoj IyMgU3RlcCAyLjE6IEludmVudG9yeQoqKlJlY29yZDoqKgotICoqRmlsZToqKiBgZHJpdmVycy9p M2MvbWFzdGVyL3N2Yy1pM2MtbWFzdGVyLmNgICgrOSBsaW5lcywgMCByZW1vdmVkKQotICoqRnVu Y3Rpb24gbW9kaWZpZWQ6KiogYHN2Y19pM2NfbWFzdGVyX2liaV9pc3IoKWAKLSAqKlNjb3BlOioq IFNpbmdsZS1maWxlLCBzdXJnaWNhbCBmaXggaW4gb25lIGBzd2l0Y2hgIGNhc2UKICAoYFNWQ19J M0NfTVNUQVRVU19JQklUWVBFX01BU1RFUl9SRVFVRVNUYCkKCiMjIyBTdGVwIDIuMjogQ29kZSBG bG93IENoYW5nZQoqKlJlY29yZDoqKgotICoqSHVuayAoTUFTVEVSX1JFUVVFU1QgY2FzZSk6KioK ICAtICoqQmVmb3JlOioqIGBzdmNfaTNjX21hc3Rlcl9lbWl0X3N0b3AobWFzdGVyKTsgYnJlYWs7 YAogIC0gKipBZnRlcjoqKiBTYW1lIFNUT1AsIHRoZW4gaWYgYFNWQ19JM0NfUVVJUktfRkFMU0Vf U0xWU1RBUlRgIHF1aXJrCiAgICBpcyBzZXQsIGB3cml0ZWwoU1ZDX0kzQ19NSU5UX1NMVlNUQVJU LCBtYXN0ZXItPnJlZ3MgKwogICAgU1ZDX0kzQ19NU1RBVFVTKWAgdG8gY2xlYXIgc3B1cmlvdXMg U0xWU1RBUlQuCi0gKipQYXRoIGFmZmVjdGVkOioqIElSUS1kcml2ZW4gSUJJIGhhbmRsZXIsIG5v bi1jcml0aWNhbCB0YXNrIHNlY3Rpb24sCiAgTVIgZXZlbnQgb25seSwgb25seSB3aGVuIHF1aXJr IGJpdCBpcyBzZXQgKE5QQ004NDUpLgoKIyMjIFN0ZXAgMi4zOiBCdWcgTWVjaGFuaXNtCioqUmVj b3JkOioqICoqQ2F0ZWdvcnk6KiogSGFyZHdhcmUgcXVpcmsgd29ya2Fyb3VuZCAvIElSUSBzdG9y bQpwcmV2ZW50aW9uIChzeW5jaHJvbml6YXRpb24gd2l0aCBoYXJkd2FyZSBpbnRlcnJ1cHQgc3Rh dHVzKS4KLSBTVE9QIG9uIE5QQ004NDUgc3B1cmlvdXNseSBzZXRzIFNMVlNUQVJUIGludGVycnVw dCBzdGF0dXMuCi0gSW4gTVIrc3R1Y2stU0RBIHNjZW5hcmlvLCB0b3AtbGV2ZWwgaGFuZGxlcidz IFNMVlJFUSBndWFyZCBkb2VzIG5vdAogIHByZXZlbnQgcmUtZW50cnkgaW50byBNUiBoYW5kbGlu Zy4KLSBFeHBsaWNpdCBzdGF0dXMgY2xlYXIgYWZ0ZXIgU1RPUCBicmVha3MgdGhlIGZlZWRiYWNr IGxvb3AuCgojIyMgU3RlcCAyLjQ6IEZpeCBRdWFsaXR5CioqUmVjb3JkOioqCi0gKipPYnZpb3Vz bHkgY29ycmVjdDoqKiBVc2VzIHRoZSBzYW1lIGB3cml0ZWwoU1ZDX0kzQ19NSU5UX1NMVlNUQVJU LAogIC4uLilgIHBhdHRlcm4gYWxyZWFkeSB1c2VkIGluIGBzdmNfaTNjX21hc3Rlcl9pcnFfaGFu ZGxlcigpYCBhdCBsaW5lCiAgNjI2LgotICoqTWluaW1hbDoqKiBRdWlyay1nYXRlZCwgb25seSBp biBNUiBwYXRoLgotICoqUmVncmVzc2lvbiByaXNrOioqIFZlcnkgbG93IOKAlCBvbmx5IGFmZmVj dHMgTlBDTTg0NQogIChgbnBjbTg0NV9kcnZkYXRhYCBzZXRzIGBTVkNfSTNDX1FVSVJLX0ZBTFNF X1NMVlNUQVJUYCkuIE5vcm1hbAogIFNMVlNUQVJUIHByb2Nlc3NpbmcgcmVtYWlucyBndWFyZGVk IGJ5IFNMVlJFUSBjaGVjayBpbiB0aGUgdG9wLWxldmVsCiAgSVJRIGhhbmRsZXIuCgotLS0KCiMj IFBIQVNFIDM6IEdJVCBISVNUT1JZIElOVkVTVElHQVRJT04KCiMjIyBTdGVwIDMuMTogQmxhbWUK KipSZWNvcmQ6KiogTGluZXMgNjA54oCTNjExIChgTUFTVEVSX1JFUVVFU1RgIFNUT1Agd2l0aG91 dCBjbGVhcikgYmxhbWVkCnRvIGAxOWVlZjFkOThlZWRhYCAoa2VybmVsIGltcG9ydCkuIFRoZSBN UitTVE9QIHBhdGggcHJlZGF0ZXMgdGhpcwpzZXJpZXM7IHRoZSBtaXNzaW5nIGNsZWFyIGlzIGEg Z2FwIGluIHRoZSBvcmlnaW5hbApgU1ZDX0kzQ19RVUlSS19GQUxTRV9TTFZTVEFSVGAgaGFuZGxp bmcgZnJvbSBNYXJjaCAyMDI1LgoKIyMjIFN0ZXAgMy4yOiBGaXhlczogVGFnCioqUmVjb3JkOioq IE5vIEZpeGVzOiB0YWcuIE4vQS4KCiMjIyBTdGVwIDMuMzogUmVsYXRlZCBGaWxlIEhpc3RvcnkK KipSZWNvcmQ6KiogUmVsYXRlZCBjb21taXRzIGluIHRoaXMgdHJlZSBvbiBgc3ZjLWkzYy1tYXN0 ZXIuY2A6Ci0gYDQ2NmM3Zjg3ZGU1MmRgIOKAlCBGaXggbWlzc2VkIElCSSBhZnRlciBmYWxzZSBT TFZTVEFSVCAoc2VyaWVzIHBhdGNoCiAgMS8yLCAqKnByZXNlbnQqKikKLSBgOThkZGZmOGE5MGY4 MmAg4oCUIEluaXRpYWxpemUgYGRldmAgdG8gTlVMTCBpbgogIGBzdmNfaTNjX21hc3Rlcl9pYmlf aXNyKClgCi0gYDhkZGZmOTk4OWYwNmFgIOKAlCBQcmV2ZW50IGluY29tcGxldGUgSUJJIHRyYW5z YWN0aW9uCi0gUXVpcmsgaW50cm9kdWNlZCB2aWEgY29kZSBwcmVzZW50IHNpbmNlIGtlcm5lbCBp bXBvcnQ7CiAgYFNWQ19JM0NfUVVJUktfRkFMU0VfU0xWU1RBUlRgIGFuZCBgbnBjbTg0NV9kcnZk YXRhYCBjb25maXJtZWQgaW4KICB0cmVlLgoKIyMjIFN0ZXAgMy40OiBBdXRob3IgQ29udGV4dAoq KlJlY29yZDoqKiBTdGFubGV5IENodSAoTnV2b3RvbikgYXV0aG9yZWQgTlBDTTg0NSBJM0MgZml4 ZXMuIEZyYW5rIExpCihOWFApIHJldmlld2VkLiBBbGV4YW5kcmUgQmVsbG9uaSAoSTNDIG1haW50 YWluZXIpIGNvbW1pdHRlZC4gQXV0aG9yIGhhcwptdWx0aXBsZSByZWxhdGVkIHN2Yy1pM2MtbWFz dGVyIGZpeGVzIGluIHRoaXMgdHJlZS4KCiMjIyBTdGVwIDMuNTogRGVwZW5kZW5jaWVzCioqUmVj b3JkOioqCi0gKipQcmVyZXF1aXNpdGU6KiogUGF0Y2ggMS8yIChgNDY2YzdmODdkZTUyZGAg4oCU IHJlLXJlYWQgTVNUQVRVUyBpbiBJUlEKICBoYW5kbGVyKSBpcyAqKmFscmVhZHkgaW4gdGhpcyB0 cmVlKiouCi0gKipSZXF1aXJlZCBpbmZyYXN0cnVjdHVyZToqKiBgU1ZDX0kzQ19RVUlSS19GQUxT RV9TTFZTVEFSVGAsCiAgYHN2Y19oYXNfcXVpcmsoKWAsIGBucGNtODQ1X2RydmRhdGFgIOKAlCBh bGwgKipwcmVzZW50KiouCi0gKipTdGFuZGFsb25lOioqIFRoaXMgcGF0Y2ggKDIvMikgaXMgc2Vs Zi1jb250YWluZWQ7IGFwcGxpZXMgY2xlYW5seSBvbgogIHRvcCBvZiBjdXJyZW50IHRyZWUgKGBn aXQgYXBwbHkgLS1jaGVja2AgcGFzc2VkKS4KLSBVcHN0cmVhbSBjb21taXQ6IGAxZWZmYTNhZGZl NTNjYDsgKipub3QgeWV0IGluIHRoaXMgNi4xOC40MyB0cmVlKiouCgotLS0KCiMjIFBIQVNFIDQ6 IE1BSUxJTkcgTElTVCBBTkQgRVhURVJOQUwgUkVTRUFSQ0gKCiMjIyBTdGVwIDQuMTogT3JpZ2lu YWwgRGlzY3Vzc2lvbgoqKlJlY29yZDoqKgotICoqYjQgZGlnIC1jIDFlZmZhM2FkZmU1M2M6KioK ICBodHRwczovL3BhdGNoLm1zZ2lkLmxpbmsvMjAyNjA0MTMwMDUwNDAuMTIxMTEwNy0zLXlzY2h1 QG51dm90b24uY29tCi0gKipTZXJpZXM6KiogdjEsIDIgcGF0Y2hlczogKDEpIEZpeCBtaXNzZWQg SUJJLCAoMikgUHJldmVudCBJUlEgc3Rvcm0KLSAqKk1haW50YWluZXIgcmVzcG9uc2U6KiogQWxl eGFuZHJlIEJlbGxvbmk6ICJBcHBsaWVkLCB0aGFua3MhIiDigJQgYm90aAogIHBhdGNoZXMgYXBw bGllZCB0byBpM2MgdHJlZS4KLSAqKlN0YWJsZSBub21pbmF0aW9uOioqIE5vbmUgZm91bmQgaW4g dGhyZWFkLgotICoqTkFLcy9jb25jZXJuczoqKiBOb25lIGZvdW5kLgoKIyMjIFN0ZXAgNC4yOiBS ZXZpZXdlcnMKKipSZWNvcmQ6KiogQ0MnZDogZnJhbmsubGlAbnhwLmNvbSwgbWlxdWVsLnJheW5h bEBib290bGluLmNvbSwKYWxleGFuZHJlLmJlbGxvbmlAYm9vdGxpbi5jb20sIGxpbnV4LWkzY0Bs aXN0cy5pbmZyYWRlYWQub3JnLCBOdXZvdG9uCmVuZ2luZWVycy4gUmV2aWV3ZWQtYnk6IEZyYW5r IExpLgoKIyMjIFN0ZXAgNC4zOiBCdWcgUmVwb3J0CioqUmVjb3JkOioqIE5vIGV4dGVybmFsIGJ1 ZyByZXBvcnQgb3Igc3l6Ym90IGxpbmsuIEhhcmR3YXJlIHF1aXJrCmRlc2NyaWJlZCBieSBOdXZv dG9uIGRyaXZlciBhdXRob3I7IGNyZWRpYmxlIGZvciBlbWJlZGRlZCBCTUMgcGxhdGZvcm0uCgoj IyMgU3RlcCA0LjQ6IFNlcmllcyBDb250ZXh0CioqUmVjb3JkOioqIDItcGF0Y2ggc2VyaWVzIGFk ZHJlc3NpbmcgZmFsc2UgU0xWU1RBUlQgcXVpcmsuIFBhdGNoIDEKZml4ZXMgbWlzc2VkIElCSSAo cmFjZSk7IHBhdGNoIDIgZml4ZXMgSVJRIHN0b3JtIChmZWVkYmFjayBsb29wKS4gQm90aAphcmUg Y29tcGxlbWVudGFyeTsgcGF0Y2ggMSBhbHJlYWR5IGluIHRoaXMgdHJlZTsgcGF0Y2ggMiBpcyBz dGlsbAptaXNzaW5nLgoKIyMjIFN0ZXAgNC41OiBTdGFibGUgTGlzdCBIaXN0b3J5CioqUmVjb3Jk OioqIE5vdCBzZWFyY2hlZCBvbiBsb3JlIHN0YWJsZSBsaXN0OyBubyBzdGFibGUgbm9taW5hdGlv biBmb3VuZAppbiBwYXRjaCB0aHJlYWQuIEFic2VuY2UgaXMgbm90IGEgbmVnYXRpdmUgc2lnbmFs IHBlciBpbnN0cnVjdGlvbnMuCgotLS0KCiMjIFBIQVNFIDU6IENPREUgU0VNQU5USUMgQU5BTFlT SVMKCiMjIyBTdGVwIDUuMTogS2V5IEZ1bmN0aW9ucwoqKlJlY29yZDoqKiBgc3ZjX2kzY19tYXN0 ZXJfaWJpX2lzcigpYCAobW9kaWZpZWQpLApgc3ZjX2kzY19tYXN0ZXJfaXJxX2hhbmRsZXIoKWAg KGNhbGxlciwgdW5tb2RpZmllZCkuCgojIyMgU3RlcCA1LjI6IENhbGxlcnMKKipSZWNvcmQ6KioK LSBgc3ZjX2kzY19tYXN0ZXJfaXJxX2hhbmRsZXIoKWAg4oaSIGBzdmNfaTNjX21hc3Rlcl9pYmlf aXNyKClgIChsaW5lIDY0NikKLSBJUlEgcmVnaXN0ZXJlZCB2aWEgYGRldm1fcmVxdWVzdF9pcnEo KWAgYXQgbGluZSAxOTQ0Ci0gKipDb250ZXh0OioqIEhhcmQgSVJRIGNvbnRleHQgb24gSTNDIFNM VlNUQVJUIGludGVycnVwdCDigJQgaG90IHBhdGggZm9yCiAgYWxsIElCSSBldmVudHMgb24gTlBD TTg0NS4KCiMjIyBTdGVwIDUuMzogQ2FsbGVlcwoqKlJlY29yZDoqKiBgc3ZjX2kzY19tYXN0ZXJf ZW1pdF9zdG9wKClgLCBgc3ZjX2hhc19xdWlyaygpYCwgYHdyaXRlbCgpYAp0byBoYXJkd2FyZSBN U1RBVFVTIHJlZ2lzdGVyLgoKIyMjIFN0ZXAgNS40OiBSZWFjaGFiaWxpdHkKKipSZWNvcmQ6KioK LSBUcmlnZ2VyZWQgd2hlbiBJM0MgYnVzIHRhcmdldCBob2xkcyBTREEgbG93IChoYXJkd2FyZSBm YXVsdCBvcgogIG1pc2JlaGF2aW5nIGRldmljZSkuCi0gSVJRLWRyaXZlbiwgcnVucyBvbiBldmVy eSBzcHVyaW91cyBTTFZTVEFSVCBpbiB0aGUgTVIgZmVlZGJhY2sgbG9vcC4KLSBOb3QgZGlyZWN0 bHkgdXNlcnNwYWNlLXRyaWdnZXJhYmxlLCBidXQgYnVzIGZhdWx0cyBvbiBCTUMvc2VydmVyCiAg cGxhdGZvcm1zIGFyZSByZWFsaXN0aWMgcHJvZHVjdGlvbiBzY2VuYXJpb3MuCi0gKipJbXBhY3Qg d2hlbiB0cmlnZ2VyZWQ6KiogQ29udGludW91cyBJUlEgcHJvY2Vzc2luZyDihpIgQ1BVIGxvY2t1 cC4KCiMjIyBTdGVwIDUuNTogU2ltaWxhciBQYXR0ZXJucwoqKlJlY29yZDoqKiBUb3AtbGV2ZWwg SVJRIGhhbmRsZXIgYWxyZWFkeSBjbGVhcnMgU0xWU1RBUlQgYW5kIGhhcyBxdWlyawpndWFyZC4g SUJJIGFuZCBIT1RfSk9JTiBjYXNlcyBhbHNvIGVtaXQgU1RPUCBidXQgZG8gbm90IG5lZWQgdGhp cyBleHRyYQpjbGVhciAoY29tbWl0IGV4cGxhaW5zIE1SLXNwZWNpZmljIGxvb3ApLiBTYW1lCmB3 cml0ZWwoU1ZDX0kzQ19NSU5UX1NMVlNUQVJULCAuLi4pYCBpZGlvbSB1c2VkIGVsc2V3aGVyZSBp biBmaWxlLgoKLS0tCgojIyBQSEFTRSA2OiBDUk9TUy1SRUZFUkVOQ0lORyBBR0FJTlNUIExPQ0FM IFRSRUUKCiMjIyBTdGVwIDYuMTogQnVnZ3kgQ29kZSBFeGlzdHM/CioqUmVjb3JkOioqICoqWUVT LioqIEN1cnJlbnQgdHJlZSBhdCBsaW5lcyA2MDnigJM2MTE6CgpgYGA2MDk6NjExOmRyaXZlcnMv aTNjL21hc3Rlci9zdmMtaTNjLW1hc3Rlci5jCiAgICAgICAgY2FzZSBTVkNfSTNDX01TVEFUVVNf SUJJVFlQRV9NQVNURVJfUkVRVUVTVDoKICAgICAgICAgICAgICAgIHN2Y19pM2NfbWFzdGVyX2Vt aXRfc3RvcChtYXN0ZXIpOwogICAgICAgICAgICAgICAgYnJlYWs7CmBgYAoKTm8gU0xWU1RBUlQg Y2xlYXIgYWZ0ZXIgU1RPUC4gYFNWQ19JM0NfUVVJUktfRkFMU0VfU0xWU1RBUlRgIGFuZApgbnBj bTg0NV9kcnZkYXRhYCBhcmUgcHJlc2VudCAobGluZXMgMTU0LCAyMDU24oCTMjA1OSkuIFByZXJl cXVpc2l0ZSBwYXRjaApgNDY2YzdmODdkZTUyZGAgaXMgcHJlc2VudC4gVXBzdHJlYW0gZml4IGAx ZWZmYTNhZGZlNTNjYCBpcyAqKm5vdCoqIGluCnRoaXMgdHJlZS4KCiMjIyBTdGVwIDYuMjogQmFj a3BvcnQgQ29tcGxpY2F0aW9ucwoqKlJlY29yZDoqKiAqKkNsZWFuIGFwcGx5Kiog4oCUIGBnaXQg YXBwbHkgLS1jaGVja2AgYWdhaW5zdCB1cHN0cmVhbSBkaWZmCnN1Y2NlZWRlZCB3aXRoIG5vIGNv bmZsaWN0cy4gTm8gcmV3b3JrIG5lZWRlZC4KCiMjIyBTdGVwIDYuMzogUmVsYXRlZCBGaXhlcyBB bHJlYWR5IFByZXNlbnQ/CioqUmVjb3JkOioqIFBhdGNoIDEvMiAoYDQ2NmM3Zjg3ZGU1MmRgKSBw cmVzZW50LiBJUlEgc3Rvcm0gZml4CihgMWVmZmEzYWRmZTUzY2ApIGFic2VudC4gTm8gYWx0ZXJu YXRlIGZpeCBmb3IgdGhpcyBpc3N1ZSBmb3VuZC4KCi0tLQoKIyMgUEhBU0UgNzogU1VCU1lTVEVN IEFORCBNQUlOVEFJTkVSIENPTlRFWFQKCiMjIyBTdGVwIDcuMTogU3Vic3lzdGVtIENyaXRpY2Fs aXR5CioqUmVjb3JkOioqICoqU3Vic3lzdGVtOioqIGBkcml2ZXJzL2kzYy9tYXN0ZXIvYCDigJQg STNDIGJ1cyBtYXN0ZXIgZHJpdmVyCihTaWx2YWNvL1ZheWF2eWEgTGFicyBTVkMgSVAsIE51dm90 b24gTlBDTTg0NSkuICoqQ3JpdGljYWxpdHk6KioKSU1QT1JUQU5UL1BFUklQSEVSQUwg4oCUIGFm ZmVjdHMgTlBDTTg0NSBCTUMgcGxhdGZvcm1zIHNwZWNpZmljYWxseSwgYnV0CklSUSBzdG9ybSBp cyBhIHN5c3RlbS13aWRlIENQVSBsb2NrdXAuCgojIyMgU3RlcCA3LjI6IFN1YnN5c3RlbSBBY3Rp dml0eQoqKlJlY29yZDoqKiBJM0Mgc3Vic3lzdGVtIGFjdGl2ZWx5IG1haW50YWluZWQgaW4gNi4x OC55IHdpdGggcmVjZW50IHN2YwphbmQgbWlwaS1pM2MtaGNpIGZpeGVzLiBOUENNODQ1IHN1cHBv cnQgYW5kIHF1aXJrIGluZnJhc3RydWN0dXJlIGFyZQplc3RhYmxpc2hlZCBpbiB0aGlzIHRyZWUu CgotLS0KCiMjIFBIQVNFIDg6IElNUEFDVCBBTkQgUklTSyBBU1NFU1NNRU5UCgojIyMgU3RlcCA4 LjE6IFdobyBJcyBBZmZlY3RlZAoqKlJlY29yZDoqKiBVc2VycyBvZiBOdXZvdG9uIE5QQ004NDUg STNDIGNvbnRyb2xsZXIKKGAibnV2b3RvbixucGNtODQ1LWkzYyJgIERUIGNvbXBhdGlibGUpLiBQ cmltYXJpbHkgZW1iZWRkZWQgQk1DL3NlcnZlcgpwbGF0Zm9ybXMuIENvbmZpZy1zcGVjaWZpYyAo ZHJpdmVyICsgaGFyZHdhcmUgcHJlc2VudCkuCgojIyMgU3RlcCA4LjI6IFRyaWdnZXIgQ29uZGl0 aW9ucwoqKlJlY29yZDoqKiBJM0MgdGFyZ2V0IHN0dWNrIGhvbGRpbmcgU0RBIGxvdyDihpIgZmFs c2UgTVIgSUJJIOKGkiBTVE9QCnJlY292ZXJ5IGxvb3AuIFJlcXVpcmVzIGJ1cyBmYXVsdCBvciBt aXNiZWhhdmluZyBkZXZpY2Ug4oCUIHVuY29tbW9uIGJ1dApyZWFsaXN0aWMuIE5vdCB1bnByaXZp bGVnZWQtdXNlcnNwYWNlLWRpcmVjdCwgYnV0IGNhbiBmcmVlemUgdGhlIHN5c3RlbQp3aGVuIGl0 IG9jY3Vycy4KCiMjIyBTdGVwIDguMzogRmFpbHVyZSBNb2RlIFNldmVyaXR5CioqUmVjb3JkOioq ICoqSVJRIHN0b3JtIOKGkiBDUFUgbG9ja3VwLioqIFNldmVyaXR5OiAqKkNSSVRJQ0FMKiogKHN5 c3RlbQpiZWNvbWVzIHVucmVzcG9uc2l2ZSkuCgojIyMgU3RlcCA4LjQ6IFJpc2stQmVuZWZpdAoq KlJlY29yZDoqKgotICoqQmVuZWZpdDoqKiBISUdIIGZvciBOUENNODQ1IHVzZXJzIOKAlCBwcmV2 ZW50cyBzeXN0ZW0gbG9ja3VwIG9uIGJ1cwogIGZhdWx0LgotICoqUmlzazoqKiBWRVJZIExPVyDi gJQgOSBsaW5lcywgcXVpcmstZ2F0ZWQsIHNhbWUgcmVnaXN0ZXIgd3JpdGUgcGF0dGVybgogIGFz IGV4aXN0aW5nIGNvZGUsIHplcm8gaW1wYWN0IG9uIG5vbi1OUENNODQ1IHBsYXRmb3Jtcy4KLSAq KlJhdGlvOioqIFN0cm9uZ2x5IGZhdm9ycyBiYWNrcG9ydC4KCi0tLQoKIyMgUEhBU0UgOTogRklO QUwgU1lOVEhFU0lTCgojIyMgU3RlcCA5LjE6IEV2aWRlbmNlIFN1bW1hcnkKCioqRk9SIGJhY2tw b3J0aW5nOioqCi0gRml4ZXMgcmVhbCBJUlEgc3Rvcm0gY2F1c2luZyBDUFUgbG9ja3VwIChDUklU SUNBTCBzZXZlcml0eSkKLSBTbWFsbCwgc3VyZ2ljYWwsIHF1aXJrLWdhdGVkIGhhcmR3YXJlIHdv cmthcm91bmQKLSBSZXZpZXdlZCBieSBOWFAgcmV2aWV3ZXI7IGFwcGxpZWQgYnkgSTNDIG1haW50 YWluZXIKLSBQcmVyZXF1aXNpdGVzIHByZXNlbnQgaW4gNi4xOC40MyB0cmVlOyBhcHBsaWVzIGNs ZWFubHkKLSBDb21wbGVtZW50cyBhbHJlYWR5LWJhY2twb3J0ZWQgcGF0Y2ggMS8yIGluIHRoZSBz ZXJpZXMKLSBNYXRjaGVzIHN0YWJsZSBleGNlcHRpb24gY2F0ZWdvcnk6IGhhcmR3YXJlIHF1aXJr L3dvcmthcm91bmQKCioqQUdBSU5TVCBiYWNrcG9ydGluZzoqKgotIE5QQ004NDUtc3BlY2lmaWMg KGxpbWl0ZWQgYXVkaWVuY2UpIOKAlCBidXQgc3RhYmxlIHJvdXRpbmVseSB0YWtlcwogIGhhcmR3 YXJlIHF1aXJrIGZpeGVzCi0gUmVxdWlyZXMgYnVzIGZhdWx0IHRvIHRyaWdnZXIg4oCUIGJ1dCBj b25zZXF1ZW5jZSBpcyBzeXN0ZW0gbG9ja3VwCi0gTm8gc3l6Ym90L3VzZXIgYnVnIHJlcG9ydCDi gJQgYnV0IGhhcmR3YXJlIHF1aXJrIGZyb20gc2lsaWNvbiB2ZW5kb3IgaXMKICBjcmVkaWJsZQoK KipVbnJlc29sdmVkOioqIE5vbmUgYWZmZWN0aW5nIHRoZSBkZWNpc2lvbi4KCiMjIyBTdGVwIDku MjogU3RhYmxlIFJ1bGVzIENoZWNrbGlzdAoxLiBPYnZpb3VzbHkgY29ycmVjdCBhbmQgdGVzdGVk PyAqKlBBU1MqKiDigJQgbWluaW1hbCByZWdpc3RlciBjbGVhciwKICAgcmV2aWV3ZWQsIG1haW50 YWluZXItYXBwbGllZAoyLiBGaXhlcyBhIHJlYWwgYnVnPyAqKlBBU1MqKiDigJQgSVJRIHN0b3Jt IG9uIE5QQ004NDUKMy4gSW1wb3J0YW50IGlzc3VlPyAqKlBBU1MqKiDigJQgQ1BVIGxvY2t1cCAo Q1JJVElDQUwpCjQuIFNtYWxsIGFuZCBjb250YWluZWQ/ICoqUEFTUyoqIOKAlCA5IGxpbmVzLCBv bmUgY2FzZSBicmFuY2gKNS4gTm8gbmV3IGZlYXR1cmVzL0FQSXM/ICoqUEFTUyoqIOKAlCBxdWly ayB3b3JrYXJvdW5kIG9ubHkKNi4gQ2FuIGFwcGx5IHRvIGxvY2FsIHRyZWU/ICoqUEFTUyoqIOKA lCBjbGVhbiBhcHBseSwgcHJlcmVxdWlzaXRlcwogICBwcmVzZW50CgojIyMgU3RlcCA5LjM6IEV4 Y2VwdGlvbiBDYXRlZ29yeQoqKlJlY29yZDoqKiBIYXJkd2FyZSBxdWlyay93b3JrYXJvdW5kIGZv ciBOUENNODQ1IEkzQyBjb250cm9sbGVyLgoKIyMjIFN0ZXAgOS40OiBEZWNpc2lvbiBSYXRpb25h bGUKVGhpcyBjb21taXQgY2xvc2VzIGEgZ2FwIGluIHRoZSBleGlzdGluZyBgU1ZDX0kzQ19RVUlS S19GQUxTRV9TTFZTVEFSVGAKaGFuZGxpbmcuIFRoZSA2LjE4LjQzIHRyZWUgYWxyZWFkeSBoYXMg TlBDTTg0NSBzdXBwb3J0LCB0aGUgcXVpcmsgZmxhZywKYW5kIHNlcmllcyBwYXRjaCAxLzIsIGJ1 dCBsYWNrcyB0aGlzIElSUSBzdG9ybSBmaXguIFdoZW4gYW4gSTNDIGJ1cwpmYXVsdCBjYXVzZXMg YSB0YXJnZXQgdG8gaG9sZCBTREEgbG93LCB0aGUgZHJpdmVyIGNhbiBlbnRlciBhbiBpbmZpbml0 ZQpJUlEgbG9vcCB0aGF0IGxvY2tzIHRoZSBDUFUuIFRoZSBmaXggaXMgbWluaW1hbCwgcXVpcmst Z2F0ZWQsIHJldmlld2VkLAphbmQgYXBwbGllcyBjbGVhbmx5LiBUaGlzIGlzIGFwcHJvcHJpYXRl IHN0YWJsZSBtYXRlcmlhbC4KCi0tLQoKIyMgVmVyaWZpY2F0aW9uCgotIFtQaGFzZSAxXSBQYXJz ZWQgc3ViamVjdCwgdGFncywgYm9keSBmcm9tIHByb3ZpZGVkIGNvbW1pdCBtZXNzYWdlCi0gW1Bo YXNlIDFdIElkZW50aWZpZWQgYXMgZXhwbGljaXQgaGFyZHdhcmUgcXVpcmsgSVJRIHN0b3JtIGZp eCwgbm90CiAgaGlkZGVuIGNsZWFudXAKLSBbUGhhc2UgMl0gRGlmZjogKzkgbGluZXMgaW4gYHN2 Y19pM2NfbWFzdGVyX2liaV9pc3IoKWAsIE1BU1RFUl9SRVFVRVNUCiAgY2FzZSBvbmx5Ci0gW1Bo YXNlIDJdIFZlcmlmaWVkIGB3cml0ZWwoU1ZDX0kzQ19NSU5UX1NMVlNUQVJULCAuLi4pYCBwYXR0 ZXJuCiAgbWF0Y2hlcyBsaW5lIDYyNiBpbiBzYW1lIGZpbGUKLSBbUGhhc2UgM10gYGdpdCBkZXNj cmliZSBIRUFEYCAvIGBtYWtlIGtlcm5lbHZlcnNpb25gOiA2LjE4LjQzCi0gW1BoYXNlIDNdIGBn aXQgYmxhbWUgLUwgNjA5LDYxMWA6IE1SIFNUT1AgcGF0aCBwcmVzZW50IHdpdGhvdXQKICBTTFZT VEFSVCBjbGVhcgotIFtQaGFzZSAzXSBgZ2l0IG1lcmdlLWJhc2UgLS1pcy1hbmNlc3RvciA0NjZj N2Y4N2RlNTJkIEhFQURgOiBwYXRjaCAxLzIKICBwcmVzZW50Ci0gW1BoYXNlIDNdIGBnaXQgbWVy Z2UtYmFzZSAtLWlzLWFuY2VzdG9yIDFlZmZhM2FkZmU1M2MgSEVBRGA6IElSUSBzdG9ybQogIGZp eCBOT1QgcHJlc2VudAotIFtQaGFzZSAzXSBgZ2l0IGxvZyAtLW9uZWxpbmUgNGRkMTJlOTQ0ZjA3 Xi4uSEVBRCAtLQogIGRyaXZlcnMvaTNjL21hc3Rlci9zdmMtaTNjLW1hc3Rlci5jYDogcmVsYXRl ZCBoaXN0b3J5IGNvbmZpcm1lZAotIFtQaGFzZSAzXSBgZ2l0IGFwcGx5IC0tY2hlY2tgIG9uIHVw c3RyZWFtIGRpZmY6IGFwcGxpZXMgY2xlYW5seQotIFtQaGFzZSA0XSBgYjQgZGlnIC1jIDFlZmZh M2FkZmU1M2MgLWFgOiB2MSAyLzIgc2VyaWVzIGZvdW5kCi0gW1BoYXNlIDRdIGBiNCBkaWcgLWMg MWVmZmEzYWRmZTUzYyAtd2A6IG1haW50YWluZXJzIENDJ2QsIEZyYW5rIExpCiAgcmV2aWV3ZWQK LSBbUGhhc2UgNF0gYGI0IGRpZyAtYyAxZWZmYTNhZGZlNTNjIC1tIC90bXAvaTNjX2lycV9zdG9y bS5tYm94YDoKICBCZWxsb25pIGFwcGxpZWQgYm90aCBwYXRjaGVzOyBubyBzdGFibGUgdGFnLCBu byBOQUtzCi0gW1BoYXNlIDVdIGBncmVwIHN2Y19pM2NfbWFzdGVyX2lycV9oYW5kbGVyYDogY2Fs bGVyIGF0IGxpbmUgNjQ2OyBJUlEKICByZWdpc3RlcmVkIGF0IGxpbmUgMTk0NAotIFtQaGFzZSA1 XSBgZ3JlcCBTVkNfSTNDX1FVSVJLX0ZBTFNFX1NMVlNUQVJUYDogcXVpcmsgZGVmaW5lZCBsaW5l IDE1NCwKICB1c2VkIGxpbmVzIDYyOCBhbmQgMjA1OAotIFtQaGFzZSA2XSBgZ3JlcCBucGNtODQ1 YDogYG5wY204NDVfZHJ2ZGF0YWAgd2l0aCBxdWlyayBhdCBsaW5lcwogIDIwNTbigJMyMDY1Ci0g W1BoYXNlIDZdIFJlYWQgY3VycmVudCBmaWxlIGxpbmVzIDYwOeKAkzYxMSwgNjE34oCTNjQ4OiBi dWdneSBjb2RlCiAgY29uZmlybWVkLCBwcmVyZXF1aXNpdGUgcXVpcmsgZ3VhcmQgcHJlc2VudAot IFtQaGFzZSA3XSBgZ2l0IGxvZyAtLW9uZWxpbmUgLTIwIC0tIGRyaXZlcnMvaTNjL2A6IGFjdGl2 ZSBzdWJzeXN0ZW0KLSBbUGhhc2UgOF0gRmFpbHVyZSBtb2RlIElSUSBzdG9ybSDihpIgQ1BVIGxv Y2t1cCBhc3Nlc3NlZCBhcyBDUklUSUNBTAoKKipZRVMqKlRoZSBiYWNrZ3JvdW5kIGNoZWNrIGZp bmlzaGVkOiB0aGUgSVJRIHN0b3JtIGZpeCAoYDFlZmZhM2FkZmU1M2NgCi8gYDVlMzNiOGMxOWU1 YjJgKSBpcyAqKm5vdCoqIGluIHlvdXIgY3VycmVudCAqKjYuMTguNDMqKiB0cmVlLgoKVGhhdCBt YXRjaGVzIHRoZSBlYXJsaWVyIGFuYWx5c2lzOiBOUENNODQ1IHN1cHBvcnQgYW5kIHRoZSByZWxh dGVkCmZhbHNlLVNMVlNUQVJUIHF1aXJrIGFyZSBwcmVzZW50LCBwYXRjaCAxLzIgKGA0NjZjN2Y4 N2RlNTJkYCkgaXMgYWxyZWFkeQphcHBsaWVkLCBidXQgdGhlIE1SLWhhbmRsZXIgU0xWU1RBUlQg Y2xlYXIgaXMgc3RpbGwgbWlzc2luZyDigJQgYW5kIHRoZQp1cHN0cmVhbSBwYXRjaCBhcHBsaWVz IGNsZWFubHkuCgoqKkJhY2twb3J0IHJlY29tbWVuZGF0aW9uOiBZRVMqKiDigJQgaXTigJlzIGEg c21hbGwsIHF1aXJrLWdhdGVkIGZpeCBmb3IgYW4KSVJRIHN0b3JtIHRoYXQgY2FuIGxvY2sgdXAg dGhlIENQVSBvbiBOUENNODQ1IHdoZW4gdGhlIEkzQyBidXMgZ2V0cwpzdHVjay4KCiBkcml2ZXJz L2kzYy9tYXN0ZXIvc3ZjLWkzYy1tYXN0ZXIuYyB8IDkgKysrKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgOSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pM2MvbWFzdGVyL3N2Yy1p M2MtbWFzdGVyLmMgYi9kcml2ZXJzL2kzYy9tYXN0ZXIvc3ZjLWkzYy1tYXN0ZXIuYwppbmRleCBk MzNmNGM3NjU0OTc0Li43MDM2NWE1NTBhZDI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kzYy9tYXN0 ZXIvc3ZjLWkzYy1tYXN0ZXIuYworKysgYi9kcml2ZXJzL2kzYy9tYXN0ZXIvc3ZjLWkzYy1tYXN0 ZXIuYwpAQCAtNjA4LDYgKzYwOCwxNSBAQCBzdGF0aWMgdm9pZCBzdmNfaTNjX21hc3Rlcl9pYmlf aXNyKHN0cnVjdCBzdmNfaTNjX21hc3RlciAqbWFzdGVyKQogCQlicmVhazsKIAljYXNlIFNWQ19J M0NfTVNUQVRVU19JQklUWVBFX01BU1RFUl9SRVFVRVNUOgogCQlzdmNfaTNjX21hc3Rlcl9lbWl0 X3N0b3AobWFzdGVyKTsKKworCQkvKgorCQkgKiBJZiBhIHRhcmdldCBnZXRzIHN0dWNrIGhvbGRp bmcgU0RBIGxvdywgdGhlIGNvbnRyb2xsZXIgcmVwb3J0cyBhIE1SLgorCQkgKiBPbiBOUENNODQ1 LCBlbWl0dGluZyBTVE9QIG1heSBzcHVyaW91c2x5IHNldCBTTFZTVEFSVCwgcmV0cmlnZ2VyaW5n CisJCSAqIHRoZSBpbnRlcnJ1cHQgYW5kIHJlLWVudGVyaW5nIE1SIGhhbmRsaW5nLCBsZWFkaW5n IHRvIGFuIElSUSBzdG9ybS4KKwkJICogQ2xlYXIgU0xWU1RBUlQgYWZ0ZXIgU1RPUCB0byBicmVh ayB0aGUgbG9vcC4KKwkJICovCisJCWlmIChzdmNfaGFzX3F1aXJrKG1hc3RlciwgU1ZDX0kzQ19R VUlSS19GQUxTRV9TTFZTVEFSVCkpCisJCQl3cml0ZWwoU1ZDX0kzQ19NSU5UX1NMVlNUQVJULCBt YXN0ZXItPnJlZ3MgKyBTVkNfSTNDX01TVEFUVVMpOwogCQlicmVhazsKIAlkZWZhdWx0OgogCQli cmVhazsKLS0gCjIuNTMuMAoKCi0tIApsaW51eC1pM2MgbWFpbGluZyBsaXN0CmxpbnV4LWkzY0Bs aXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlz dGluZm8vbGludXgtaTNjCg==