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 X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C7C02C433E0 for ; Fri, 8 Jan 2021 04:51:50 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 481B822D75 for ; Fri, 8 Jan 2021 04:51:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 481B822D75 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=quicinc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:39894 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kxjkb-0002Lj-9Z for qemu-devel@archiver.kernel.org; Thu, 07 Jan 2021 23:51:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52166) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kxjOy-00072Z-9y for qemu-devel@nongnu.org; Thu, 07 Jan 2021 23:29:28 -0500 Received: from alexa-out-sd-02.qualcomm.com ([199.106.114.39]:28194) by eggs.gnu.org with esmtps (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kxjOt-00058K-Ha for qemu-devel@nongnu.org; Thu, 07 Jan 2021 23:29:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1610080163; x=1641616163; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=1n04u9UjfvcJ4NhDFwgoYweXImW6c8q5ZhGFIm/PAn4=; b=dXhwxMGe+ccE+1PGV8lRfzKHHobPNaiCFTe8yU2gVrPts28c7VTuqkfG UiJaQE2c1StWmOlC520Df9LpIzGYowiCZQvmzyZ6VfdoA1ay8qrQxhR8f dxoZ2K/D2RvKMeQRA75PcKVubFiMMRI0+L92768x35QjolTEFmChkMpXz 8=; Received: from unknown (HELO ironmsg04-sd.qualcomm.com) ([10.53.140.144]) by alexa-out-sd-02.qualcomm.com with ESMTP; 07 Jan 2021 20:29:16 -0800 X-QCInternal: smtphost Received: from vu-tsimpson-aus.qualcomm.com (HELO vu-tsimpson1-aus.qualcomm.com) ([10.222.150.1]) by ironmsg04-sd.qualcomm.com with ESMTP; 07 Jan 2021 20:29:15 -0800 Received: by vu-tsimpson1-aus.qualcomm.com (Postfix, from userid 47164) id 99966DDE; Thu, 7 Jan 2021 22:29:15 -0600 (CST) From: Taylor Simpson To: qemu-devel@nongnu.org Subject: [PATCH v6 30/35] Hexagon (linux-user/hexagon) Linux user emulation Date: Thu, 7 Jan 2021 22:29:01 -0600 Message-Id: <1610080146-14968-31-git-send-email-tsimpson@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1610080146-14968-1-git-send-email-tsimpson@quicinc.com> References: <1610080146-14968-1-git-send-email-tsimpson@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Received-SPF: pass client-ip=199.106.114.39; envelope-from=tsimpson@qualcomm.com; helo=alexa-out-sd-02.qualcomm.com X-Spam_score_int: -40 X-Spam_score: -4.1 X-Spam_bar: ---- X-Spam_report: (-4.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.248, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ale@rev.ng, bcain@quicinc.com, richard.henderson@linaro.org, laurent@vivier.eu, tsimpson@quicinc.com, philmd@redhat.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" SW1wbGVtZW50YXRpb24gb2YgTGludXggdXNlciBlbXVsYXRpb24gZm9yIEhleGFnb24KU29tZSBj b21tb24gZmlsZXMgbW9kaWZpZWQgaW4gYWRkaXRpb24gdG8gbmV3IGZpbGVzIGluIGxpbnV4LXVz ZXIvaGV4YWdvbgoKU2lnbmVkLW9mZi1ieTogVGF5bG9yIFNpbXBzb24gPHRzaW1wc29uQHF1aWNp bmMuY29tPgpSZXZpZXdlZC1ieTogUmljaGFyZCBIZW5kZXJzb24gPHJpY2hhcmQuaGVuZGVyc29u QGxpbmFyby5vcmc+Ci0tLQogbGludXgtdXNlci9oZXhhZ29uL3NvY2tiaXRzLmggICAgICAgfCAg MTggKysKIGxpbnV4LXVzZXIvaGV4YWdvbi9zeXNjYWxsX25yLmggICAgIHwgMzIyICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGludXgtdXNlci9oZXhhZ29uL3RhcmdldF9j cHUuaCAgICAgfCAgNDQgKysrKysKIGxpbnV4LXVzZXIvaGV4YWdvbi90YXJnZXRfZWxmLmggICAg IHwgIDQwICsrKysrCiBsaW51eC11c2VyL2hleGFnb24vdGFyZ2V0X2ZjbnRsLmggICB8ICAxOCAr KwogbGludXgtdXNlci9oZXhhZ29uL3RhcmdldF9zaWduYWwuaCAgfCAgMzQgKysrKwogbGludXgt dXNlci9oZXhhZ29uL3RhcmdldF9zdHJ1Y3RzLmggfCAgNDYgKysrKysrCiBsaW51eC11c2VyL2hl eGFnb24vdGFyZ2V0X3N5c2NhbGwuaCB8ICAzNiArKysrCiBsaW51eC11c2VyL2hleGFnb24vdGVy bWJpdHMuaCAgICAgICB8ICAxOCArKwogbGludXgtdXNlci9xZW11LmggICAgICAgICAgICAgICAg ICAgfCAgIDIgKwogbGludXgtdXNlci9zeXNjYWxsX2RlZnMuaCAgICAgICAgICAgfCAgMzMgKysr KwogbGludXgtdXNlci9lbGZsb2FkLmMgICAgICAgICAgICAgICAgfCAgMTYgKysKIGxpbnV4LXVz ZXIvaGV4YWdvbi9jcHVfbG9vcC5jICAgICAgIHwgIDk5ICsrKysrKysrKysrCiBsaW51eC11c2Vy L2hleGFnb24vc2lnbmFsLmMgICAgICAgICB8IDI3NiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiBzY3JpcHRzL2dlbnN5c2NhbGxzLnNoICAgICAgICAgICAgICB8ICAgMSArCiAxNSBm aWxlcyBjaGFuZ2VkLCAxMDAzIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaW51 eC11c2VyL2hleGFnb24vc29ja2JpdHMuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpbnV4LXVzZXIv aGV4YWdvbi9zeXNjYWxsX25yLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaW51eC11c2VyL2hleGFn b24vdGFyZ2V0X2NwdS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGludXgtdXNlci9oZXhhZ29uL3Rh cmdldF9lbGYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpbnV4LXVzZXIvaGV4YWdvbi90YXJnZXRf ZmNudGwuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpbnV4LXVzZXIvaGV4YWdvbi90YXJnZXRfc2ln bmFsLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaW51eC11c2VyL2hleGFnb24vdGFyZ2V0X3N0cnVj dHMuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpbnV4LXVzZXIvaGV4YWdvbi90YXJnZXRfc3lzY2Fs bC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGludXgtdXNlci9oZXhhZ29uL3Rlcm1iaXRzLmgKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBsaW51eC11c2VyL2hleGFnb24vY3B1X2xvb3AuYwogY3JlYXRlIG1v ZGUgMTAwNjQ0IGxpbnV4LXVzZXIvaGV4YWdvbi9zaWduYWwuYwoKZGlmZiAtLWdpdCBhL2xpbnV4 LXVzZXIvaGV4YWdvbi9zb2NrYml0cy5oIGIvbGludXgtdXNlci9oZXhhZ29uL3NvY2tiaXRzLmgK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZlODk2NgotLS0gL2Rldi9udWxs CisrKyBiL2xpbnV4LXVzZXIvaGV4YWdvbi9zb2NrYml0cy5oCkBAIC0wLDAgKzEsMTggQEAKKy8q CisgKiAgQ29weXJpZ2h0KGMpIDIwMTktMjAyMCBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwg SW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5CisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3Jn L2xpY2Vuc2VzLz4uCisgKi8KKworI2luY2x1ZGUgIi4uL2dlbmVyaWMvc29ja2JpdHMuaCIKZGlm ZiAtLWdpdCBhL2xpbnV4LXVzZXIvaGV4YWdvbi9zeXNjYWxsX25yLmggYi9saW51eC11c2VyL2hl eGFnb24vc3lzY2FsbF9uci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRh MTMxNGYKLS0tIC9kZXYvbnVsbAorKysgYi9saW51eC11c2VyL2hleGFnb24vc3lzY2FsbF9uci5o CkBAIC0wLDAgKzEsMzIyIEBACisvKgorICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBzeXN0ZW0g Y2FsbCBudW1iZXJzLgorICogRG8gbm90IG1vZGlmeS4KKyAqIFRoaXMgZmlsZSBpcyBnZW5lcmF0 ZWQgYnkgc2NyaXB0cy9nZW5zeXNjYWxscy5zaAorICovCisjaWZuZGVmIExJTlVYX1VTRVJfSEVY QUdPTl9TWVNDQUxMX05SX0gKKyNkZWZpbmUgTElOVVhfVVNFUl9IRVhBR09OX1NZU0NBTExfTlJf SAorCisjZGVmaW5lIFRBUkdFVF9OUl9pb19zZXR1cCAwCisjZGVmaW5lIFRBUkdFVF9OUl9pb19k ZXN0cm95IDEKKyNkZWZpbmUgVEFSR0VUX05SX2lvX3N1Ym1pdCAyCisjZGVmaW5lIFRBUkdFVF9O Ul9pb19jYW5jZWwgMworI2RlZmluZSBUQVJHRVRfTlJfaW9fZ2V0ZXZlbnRzIDQKKyNkZWZpbmUg VEFSR0VUX05SX3NldHhhdHRyIDUKKyNkZWZpbmUgVEFSR0VUX05SX2xzZXR4YXR0ciA2CisjZGVm aW5lIFRBUkdFVF9OUl9mc2V0eGF0dHIgNworI2RlZmluZSBUQVJHRVRfTlJfZ2V0eGF0dHIgOAor I2RlZmluZSBUQVJHRVRfTlJfbGdldHhhdHRyIDkKKyNkZWZpbmUgVEFSR0VUX05SX2ZnZXR4YXR0 ciAxMAorI2RlZmluZSBUQVJHRVRfTlJfbGlzdHhhdHRyIDExCisjZGVmaW5lIFRBUkdFVF9OUl9s bGlzdHhhdHRyIDEyCisjZGVmaW5lIFRBUkdFVF9OUl9mbGlzdHhhdHRyIDEzCisjZGVmaW5lIFRB UkdFVF9OUl9yZW1vdmV4YXR0ciAxNAorI2RlZmluZSBUQVJHRVRfTlJfbHJlbW92ZXhhdHRyIDE1 CisjZGVmaW5lIFRBUkdFVF9OUl9mcmVtb3ZleGF0dHIgMTYKKyNkZWZpbmUgVEFSR0VUX05SX2dl dGN3ZCAxNworI2RlZmluZSBUQVJHRVRfTlJfbG9va3VwX2Rjb29raWUgMTgKKyNkZWZpbmUgVEFS R0VUX05SX2V2ZW50ZmQyIDE5CisjZGVmaW5lIFRBUkdFVF9OUl9lcG9sbF9jcmVhdGUxIDIwCisj ZGVmaW5lIFRBUkdFVF9OUl9lcG9sbF9jdGwgMjEKKyNkZWZpbmUgVEFSR0VUX05SX2Vwb2xsX3B3 YWl0IDIyCisjZGVmaW5lIFRBUkdFVF9OUl9kdXAgMjMKKyNkZWZpbmUgVEFSR0VUX05SX2R1cDMg MjQKKyNkZWZpbmUgVEFSR0VUX05SX2ZjbnRsNjQgMjUKKyNkZWZpbmUgVEFSR0VUX05SX2lub3Rp ZnlfaW5pdDEgMjYKKyNkZWZpbmUgVEFSR0VUX05SX2lub3RpZnlfYWRkX3dhdGNoIDI3CisjZGVm aW5lIFRBUkdFVF9OUl9pbm90aWZ5X3JtX3dhdGNoIDI4CisjZGVmaW5lIFRBUkdFVF9OUl9pb2N0 bCAyOQorI2RlZmluZSBUQVJHRVRfTlJfaW9wcmlvX3NldCAzMAorI2RlZmluZSBUQVJHRVRfTlJf aW9wcmlvX2dldCAzMQorI2RlZmluZSBUQVJHRVRfTlJfZmxvY2sgMzIKKyNkZWZpbmUgVEFSR0VU X05SX21rbm9kYXQgMzMKKyNkZWZpbmUgVEFSR0VUX05SX21rZGlyYXQgMzQKKyNkZWZpbmUgVEFS R0VUX05SX3VubGlua2F0IDM1CisjZGVmaW5lIFRBUkdFVF9OUl9zeW1saW5rYXQgMzYKKyNkZWZp bmUgVEFSR0VUX05SX2xpbmthdCAzNworI2RlZmluZSBUQVJHRVRfTlJfcmVuYW1lYXQgMzgKKyNk ZWZpbmUgVEFSR0VUX05SX3Vtb3VudDIgMzkKKyNkZWZpbmUgVEFSR0VUX05SX21vdW50IDQwCisj ZGVmaW5lIFRBUkdFVF9OUl9waXZvdF9yb290IDQxCisjZGVmaW5lIFRBUkdFVF9OUl9uZnNzZXJ2 Y3RsIDQyCisjZGVmaW5lIFRBUkdFVF9OUl9zdGF0ZnM2NCA0MworI2RlZmluZSBUQVJHRVRfTlJf ZnN0YXRmczY0IDQ0CisjZGVmaW5lIFRBUkdFVF9OUl90cnVuY2F0ZTY0IDQ1CisjZGVmaW5lIFRB UkdFVF9OUl9mdHJ1bmNhdGU2NCA0NgorI2RlZmluZSBUQVJHRVRfTlJfZmFsbG9jYXRlIDQ3Cisj ZGVmaW5lIFRBUkdFVF9OUl9mYWNjZXNzYXQgNDgKKyNkZWZpbmUgVEFSR0VUX05SX2NoZGlyIDQ5 CisjZGVmaW5lIFRBUkdFVF9OUl9mY2hkaXIgNTAKKyNkZWZpbmUgVEFSR0VUX05SX2Nocm9vdCA1 MQorI2RlZmluZSBUQVJHRVRfTlJfZmNobW9kIDUyCisjZGVmaW5lIFRBUkdFVF9OUl9mY2htb2Rh dCA1MworI2RlZmluZSBUQVJHRVRfTlJfZmNob3duYXQgNTQKKyNkZWZpbmUgVEFSR0VUX05SX2Zj aG93biA1NQorI2RlZmluZSBUQVJHRVRfTlJfb3BlbmF0IDU2CisjZGVmaW5lIFRBUkdFVF9OUl9j bG9zZSA1NworI2RlZmluZSBUQVJHRVRfTlJfdmhhbmd1cCA1OAorI2RlZmluZSBUQVJHRVRfTlJf cGlwZTIgNTkKKyNkZWZpbmUgVEFSR0VUX05SX3F1b3RhY3RsIDYwCisjZGVmaW5lIFRBUkdFVF9O Ul9nZXRkZW50czY0IDYxCisjZGVmaW5lIFRBUkdFVF9OUl9sbHNlZWsgNjIKKyNkZWZpbmUgVEFS R0VUX05SX3JlYWQgNjMKKyNkZWZpbmUgVEFSR0VUX05SX3dyaXRlIDY0CisjZGVmaW5lIFRBUkdF VF9OUl9yZWFkdiA2NQorI2RlZmluZSBUQVJHRVRfTlJfd3JpdGV2IDY2CisjZGVmaW5lIFRBUkdF VF9OUl9wcmVhZDY0IDY3CisjZGVmaW5lIFRBUkdFVF9OUl9wd3JpdGU2NCA2OAorI2RlZmluZSBU QVJHRVRfTlJfcHJlYWR2IDY5CisjZGVmaW5lIFRBUkdFVF9OUl9wd3JpdGV2IDcwCisjZGVmaW5l IFRBUkdFVF9OUl9zZW5kZmlsZTY0IDcxCisjZGVmaW5lIFRBUkdFVF9OUl9wc2VsZWN0NiA3Mgor I2RlZmluZSBUQVJHRVRfTlJfcHBvbGwgNzMKKyNkZWZpbmUgVEFSR0VUX05SX3NpZ25hbGZkNCA3 NAorI2RlZmluZSBUQVJHRVRfTlJfdm1zcGxpY2UgNzUKKyNkZWZpbmUgVEFSR0VUX05SX3NwbGlj ZSA3NgorI2RlZmluZSBUQVJHRVRfTlJfdGVlIDc3CisjZGVmaW5lIFRBUkdFVF9OUl9yZWFkbGlu a2F0IDc4CisjZGVmaW5lIFRBUkdFVF9OUl9mc3RhdGF0NjQgNzkKKyNkZWZpbmUgVEFSR0VUX05S X2ZzdGF0NjQgODAKKyNkZWZpbmUgVEFSR0VUX05SX3N5bmMgODEKKyNkZWZpbmUgVEFSR0VUX05S X2ZzeW5jIDgyCisjZGVmaW5lIFRBUkdFVF9OUl9mZGF0YXN5bmMgODMKKyNkZWZpbmUgVEFSR0VU X05SX3N5bmNfZmlsZV9yYW5nZSA4NAorI2RlZmluZSBUQVJHRVRfTlJfdGltZXJmZF9jcmVhdGUg ODUKKyNkZWZpbmUgVEFSR0VUX05SX3RpbWVyZmRfc2V0dGltZSA4NgorI2RlZmluZSBUQVJHRVRf TlJfdGltZXJmZF9nZXR0aW1lIDg3CisjZGVmaW5lIFRBUkdFVF9OUl91dGltZW5zYXQgODgKKyNk ZWZpbmUgVEFSR0VUX05SX2FjY3QgODkKKyNkZWZpbmUgVEFSR0VUX05SX2NhcGdldCA5MAorI2Rl ZmluZSBUQVJHRVRfTlJfY2Fwc2V0IDkxCisjZGVmaW5lIFRBUkdFVF9OUl9wZXJzb25hbGl0eSA5 MgorI2RlZmluZSBUQVJHRVRfTlJfZXhpdCA5MworI2RlZmluZSBUQVJHRVRfTlJfZXhpdF9ncm91 cCA5NAorI2RlZmluZSBUQVJHRVRfTlJfd2FpdGlkIDk1CisjZGVmaW5lIFRBUkdFVF9OUl9zZXRf dGlkX2FkZHJlc3MgOTYKKyNkZWZpbmUgVEFSR0VUX05SX3Vuc2hhcmUgOTcKKyNkZWZpbmUgVEFS R0VUX05SX2Z1dGV4IDk4CisjZGVmaW5lIFRBUkdFVF9OUl9zZXRfcm9idXN0X2xpc3QgOTkKKyNk ZWZpbmUgVEFSR0VUX05SX2dldF9yb2J1c3RfbGlzdCAxMDAKKyNkZWZpbmUgVEFSR0VUX05SX25h bm9zbGVlcCAxMDEKKyNkZWZpbmUgVEFSR0VUX05SX2dldGl0aW1lciAxMDIKKyNkZWZpbmUgVEFS R0VUX05SX3NldGl0aW1lciAxMDMKKyNkZWZpbmUgVEFSR0VUX05SX2tleGVjX2xvYWQgMTA0Cisj ZGVmaW5lIFRBUkdFVF9OUl9pbml0X21vZHVsZSAxMDUKKyNkZWZpbmUgVEFSR0VUX05SX2RlbGV0 ZV9tb2R1bGUgMTA2CisjZGVmaW5lIFRBUkdFVF9OUl90aW1lcl9jcmVhdGUgMTA3CisjZGVmaW5l IFRBUkdFVF9OUl90aW1lcl9nZXR0aW1lIDEwOAorI2RlZmluZSBUQVJHRVRfTlJfdGltZXJfZ2V0 b3ZlcnJ1biAxMDkKKyNkZWZpbmUgVEFSR0VUX05SX3RpbWVyX3NldHRpbWUgMTEwCisjZGVmaW5l IFRBUkdFVF9OUl90aW1lcl9kZWxldGUgMTExCisjZGVmaW5lIFRBUkdFVF9OUl9jbG9ja19zZXR0 aW1lIDExMgorI2RlZmluZSBUQVJHRVRfTlJfY2xvY2tfZ2V0dGltZSAxMTMKKyNkZWZpbmUgVEFS R0VUX05SX2Nsb2NrX2dldHJlcyAxMTQKKyNkZWZpbmUgVEFSR0VUX05SX2Nsb2NrX25hbm9zbGVl cCAxMTUKKyNkZWZpbmUgVEFSR0VUX05SX3N5c2xvZyAxMTYKKyNkZWZpbmUgVEFSR0VUX05SX3B0 cmFjZSAxMTcKKyNkZWZpbmUgVEFSR0VUX05SX3NjaGVkX3NldHBhcmFtIDExOAorI2RlZmluZSBU QVJHRVRfTlJfc2NoZWRfc2V0c2NoZWR1bGVyIDExOQorI2RlZmluZSBUQVJHRVRfTlJfc2NoZWRf Z2V0c2NoZWR1bGVyIDEyMAorI2RlZmluZSBUQVJHRVRfTlJfc2NoZWRfZ2V0cGFyYW0gMTIxCisj ZGVmaW5lIFRBUkdFVF9OUl9zY2hlZF9zZXRhZmZpbml0eSAxMjIKKyNkZWZpbmUgVEFSR0VUX05S X3NjaGVkX2dldGFmZmluaXR5IDEyMworI2RlZmluZSBUQVJHRVRfTlJfc2NoZWRfeWllbGQgMTI0 CisjZGVmaW5lIFRBUkdFVF9OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4IDEyNQorI2RlZmluZSBU QVJHRVRfTlJfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiAxMjYKKyNkZWZpbmUgVEFSR0VUX05SX3Nj aGVkX3JyX2dldF9pbnRlcnZhbCAxMjcKKyNkZWZpbmUgVEFSR0VUX05SX3Jlc3RhcnRfc3lzY2Fs bCAxMjgKKyNkZWZpbmUgVEFSR0VUX05SX2tpbGwgMTI5CisjZGVmaW5lIFRBUkdFVF9OUl90a2ls bCAxMzAKKyNkZWZpbmUgVEFSR0VUX05SX3Rna2lsbCAxMzEKKyNkZWZpbmUgVEFSR0VUX05SX3Np Z2FsdHN0YWNrIDEzMgorI2RlZmluZSBUQVJHRVRfTlJfcnRfc2lnc3VzcGVuZCAxMzMKKyNkZWZp bmUgVEFSR0VUX05SX3J0X3NpZ2FjdGlvbiAxMzQKKyNkZWZpbmUgVEFSR0VUX05SX3J0X3NpZ3By b2NtYXNrIDEzNQorI2RlZmluZSBUQVJHRVRfTlJfcnRfc2lncGVuZGluZyAxMzYKKyNkZWZpbmUg VEFSR0VUX05SX3J0X3NpZ3RpbWVkd2FpdCAxMzcKKyNkZWZpbmUgVEFSR0VUX05SX3J0X3NpZ3F1 ZXVlaW5mbyAxMzgKKyNkZWZpbmUgVEFSR0VUX05SX3J0X3NpZ3JldHVybiAxMzkKKyNkZWZpbmUg VEFSR0VUX05SX3NldHByaW9yaXR5IDE0MAorI2RlZmluZSBUQVJHRVRfTlJfZ2V0cHJpb3JpdHkg MTQxCisjZGVmaW5lIFRBUkdFVF9OUl9yZWJvb3QgMTQyCisjZGVmaW5lIFRBUkdFVF9OUl9zZXRy ZWdpZCAxNDMKKyNkZWZpbmUgVEFSR0VUX05SX3NldGdpZCAxNDQKKyNkZWZpbmUgVEFSR0VUX05S X3NldHJldWlkIDE0NQorI2RlZmluZSBUQVJHRVRfTlJfc2V0dWlkIDE0NgorI2RlZmluZSBUQVJH RVRfTlJfc2V0cmVzdWlkIDE0NworI2RlZmluZSBUQVJHRVRfTlJfZ2V0cmVzdWlkIDE0OAorI2Rl ZmluZSBUQVJHRVRfTlJfc2V0cmVzZ2lkIDE0OQorI2RlZmluZSBUQVJHRVRfTlJfZ2V0cmVzZ2lk IDE1MAorI2RlZmluZSBUQVJHRVRfTlJfc2V0ZnN1aWQgMTUxCisjZGVmaW5lIFRBUkdFVF9OUl9z ZXRmc2dpZCAxNTIKKyNkZWZpbmUgVEFSR0VUX05SX3RpbWVzIDE1MworI2RlZmluZSBUQVJHRVRf TlJfc2V0cGdpZCAxNTQKKyNkZWZpbmUgVEFSR0VUX05SX2dldHBnaWQgMTU1CisjZGVmaW5lIFRB UkdFVF9OUl9nZXRzaWQgMTU2CisjZGVmaW5lIFRBUkdFVF9OUl9zZXRzaWQgMTU3CisjZGVmaW5l IFRBUkdFVF9OUl9nZXRncm91cHMgMTU4CisjZGVmaW5lIFRBUkdFVF9OUl9zZXRncm91cHMgMTU5 CisjZGVmaW5lIFRBUkdFVF9OUl91bmFtZSAxNjAKKyNkZWZpbmUgVEFSR0VUX05SX3NldGhvc3Ru YW1lIDE2MQorI2RlZmluZSBUQVJHRVRfTlJfc2V0ZG9tYWlubmFtZSAxNjIKKyNkZWZpbmUgVEFS R0VUX05SX2dldHJsaW1pdCAxNjMKKyNkZWZpbmUgVEFSR0VUX05SX3NldHJsaW1pdCAxNjQKKyNk ZWZpbmUgVEFSR0VUX05SX2dldHJ1c2FnZSAxNjUKKyNkZWZpbmUgVEFSR0VUX05SX3VtYXNrIDE2 NgorI2RlZmluZSBUQVJHRVRfTlJfcHJjdGwgMTY3CisjZGVmaW5lIFRBUkdFVF9OUl9nZXRjcHUg MTY4CisjZGVmaW5lIFRBUkdFVF9OUl9nZXR0aW1lb2ZkYXkgMTY5CisjZGVmaW5lIFRBUkdFVF9O Ul9zZXR0aW1lb2ZkYXkgMTcwCisjZGVmaW5lIFRBUkdFVF9OUl9hZGp0aW1leCAxNzEKKyNkZWZp bmUgVEFSR0VUX05SX2dldHBpZCAxNzIKKyNkZWZpbmUgVEFSR0VUX05SX2dldHBwaWQgMTczCisj ZGVmaW5lIFRBUkdFVF9OUl9nZXR1aWQgMTc0CisjZGVmaW5lIFRBUkdFVF9OUl9nZXRldWlkIDE3 NQorI2RlZmluZSBUQVJHRVRfTlJfZ2V0Z2lkIDE3NgorI2RlZmluZSBUQVJHRVRfTlJfZ2V0ZWdp ZCAxNzcKKyNkZWZpbmUgVEFSR0VUX05SX2dldHRpZCAxNzgKKyNkZWZpbmUgVEFSR0VUX05SX3N5 c2luZm8gMTc5CisjZGVmaW5lIFRBUkdFVF9OUl9tcV9vcGVuIDE4MAorI2RlZmluZSBUQVJHRVRf TlJfbXFfdW5saW5rIDE4MQorI2RlZmluZSBUQVJHRVRfTlJfbXFfdGltZWRzZW5kIDE4MgorI2Rl ZmluZSBUQVJHRVRfTlJfbXFfdGltZWRyZWNlaXZlIDE4MworI2RlZmluZSBUQVJHRVRfTlJfbXFf bm90aWZ5IDE4NAorI2RlZmluZSBUQVJHRVRfTlJfbXFfZ2V0c2V0YXR0ciAxODUKKyNkZWZpbmUg VEFSR0VUX05SX21zZ2dldCAxODYKKyNkZWZpbmUgVEFSR0VUX05SX21zZ2N0bCAxODcKKyNkZWZp bmUgVEFSR0VUX05SX21zZ3JjdiAxODgKKyNkZWZpbmUgVEFSR0VUX05SX21zZ3NuZCAxODkKKyNk ZWZpbmUgVEFSR0VUX05SX3NlbWdldCAxOTAKKyNkZWZpbmUgVEFSR0VUX05SX3NlbWN0bCAxOTEK KyNkZWZpbmUgVEFSR0VUX05SX3NlbXRpbWVkb3AgMTkyCisjZGVmaW5lIFRBUkdFVF9OUl9zZW1v cCAxOTMKKyNkZWZpbmUgVEFSR0VUX05SX3NobWdldCAxOTQKKyNkZWZpbmUgVEFSR0VUX05SX3No bWN0bCAxOTUKKyNkZWZpbmUgVEFSR0VUX05SX3NobWF0IDE5NgorI2RlZmluZSBUQVJHRVRfTlJf c2htZHQgMTk3CisjZGVmaW5lIFRBUkdFVF9OUl9zb2NrZXQgMTk4CisjZGVmaW5lIFRBUkdFVF9O Ul9zb2NrZXRwYWlyIDE5OQorI2RlZmluZSBUQVJHRVRfTlJfYmluZCAyMDAKKyNkZWZpbmUgVEFS R0VUX05SX2xpc3RlbiAyMDEKKyNkZWZpbmUgVEFSR0VUX05SX2FjY2VwdCAyMDIKKyNkZWZpbmUg VEFSR0VUX05SX2Nvbm5lY3QgMjAzCisjZGVmaW5lIFRBUkdFVF9OUl9nZXRzb2NrbmFtZSAyMDQK KyNkZWZpbmUgVEFSR0VUX05SX2dldHBlZXJuYW1lIDIwNQorI2RlZmluZSBUQVJHRVRfTlJfc2Vu ZHRvIDIwNgorI2RlZmluZSBUQVJHRVRfTlJfcmVjdmZyb20gMjA3CisjZGVmaW5lIFRBUkdFVF9O Ul9zZXRzb2Nrb3B0IDIwOAorI2RlZmluZSBUQVJHRVRfTlJfZ2V0c29ja29wdCAyMDkKKyNkZWZp bmUgVEFSR0VUX05SX3NodXRkb3duIDIxMAorI2RlZmluZSBUQVJHRVRfTlJfc2VuZG1zZyAyMTEK KyNkZWZpbmUgVEFSR0VUX05SX3JlY3Ztc2cgMjEyCisjZGVmaW5lIFRBUkdFVF9OUl9yZWFkYWhl YWQgMjEzCisjZGVmaW5lIFRBUkdFVF9OUl9icmsgMjE0CisjZGVmaW5lIFRBUkdFVF9OUl9tdW5t YXAgMjE1CisjZGVmaW5lIFRBUkdFVF9OUl9tcmVtYXAgMjE2CisjZGVmaW5lIFRBUkdFVF9OUl9h ZGRfa2V5IDIxNworI2RlZmluZSBUQVJHRVRfTlJfcmVxdWVzdF9rZXkgMjE4CisjZGVmaW5lIFRB UkdFVF9OUl9rZXljdGwgMjE5CisjZGVmaW5lIFRBUkdFVF9OUl9jbG9uZSAyMjAKKyNkZWZpbmUg VEFSR0VUX05SX2V4ZWN2ZSAyMjEKKyNkZWZpbmUgVEFSR0VUX05SX21tYXAyIDIyMgorI2RlZmlu ZSBUQVJHRVRfTlJfZmFkdmlzZTY0XzY0IDIyMworI2RlZmluZSBUQVJHRVRfTlJfc3dhcG9uIDIy NAorI2RlZmluZSBUQVJHRVRfTlJfc3dhcG9mZiAyMjUKKyNkZWZpbmUgVEFSR0VUX05SX21wcm90 ZWN0IDIyNgorI2RlZmluZSBUQVJHRVRfTlJfbXN5bmMgMjI3CisjZGVmaW5lIFRBUkdFVF9OUl9t bG9jayAyMjgKKyNkZWZpbmUgVEFSR0VUX05SX211bmxvY2sgMjI5CisjZGVmaW5lIFRBUkdFVF9O Ul9tbG9ja2FsbCAyMzAKKyNkZWZpbmUgVEFSR0VUX05SX211bmxvY2thbGwgMjMxCisjZGVmaW5l IFRBUkdFVF9OUl9taW5jb3JlIDIzMgorI2RlZmluZSBUQVJHRVRfTlJfbWFkdmlzZSAyMzMKKyNk ZWZpbmUgVEFSR0VUX05SX3JlbWFwX2ZpbGVfcGFnZXMgMjM0CisjZGVmaW5lIFRBUkdFVF9OUl9t YmluZCAyMzUKKyNkZWZpbmUgVEFSR0VUX05SX2dldF9tZW1wb2xpY3kgMjM2CisjZGVmaW5lIFRB UkdFVF9OUl9zZXRfbWVtcG9saWN5IDIzNworI2RlZmluZSBUQVJHRVRfTlJfbWlncmF0ZV9wYWdl cyAyMzgKKyNkZWZpbmUgVEFSR0VUX05SX21vdmVfcGFnZXMgMjM5CisjZGVmaW5lIFRBUkdFVF9O Ul9ydF90Z3NpZ3F1ZXVlaW5mbyAyNDAKKyNkZWZpbmUgVEFSR0VUX05SX3BlcmZfZXZlbnRfb3Bl biAyNDEKKyNkZWZpbmUgVEFSR0VUX05SX2FjY2VwdDQgMjQyCisjZGVmaW5lIFRBUkdFVF9OUl9y ZWN2bW1zZyAyNDMKKyNkZWZpbmUgVEFSR0VUX05SX2FyY2hfc3BlY2lmaWNfc3lzY2FsbCAyNDQK KyNkZWZpbmUgVEFSR0VUX05SX3dhaXQ0IDI2MAorI2RlZmluZSBUQVJHRVRfTlJfcHJsaW1pdDY0 IDI2MQorI2RlZmluZSBUQVJHRVRfTlJfZmFub3RpZnlfaW5pdCAyNjIKKyNkZWZpbmUgVEFSR0VU X05SX2Zhbm90aWZ5X21hcmsgMjYzCisjZGVmaW5lIFRBUkdFVF9OUl9uYW1lX3RvX2hhbmRsZV9h dCAyNjQKKyNkZWZpbmUgVEFSR0VUX05SX29wZW5fYnlfaGFuZGxlX2F0IDI2NQorI2RlZmluZSBU QVJHRVRfTlJfY2xvY2tfYWRqdGltZSAyNjYKKyNkZWZpbmUgVEFSR0VUX05SX3N5bmNmcyAyNjcK KyNkZWZpbmUgVEFSR0VUX05SX3NldG5zIDI2OAorI2RlZmluZSBUQVJHRVRfTlJfc2VuZG1tc2cg MjY5CisjZGVmaW5lIFRBUkdFVF9OUl9wcm9jZXNzX3ZtX3JlYWR2IDI3MAorI2RlZmluZSBUQVJH RVRfTlJfcHJvY2Vzc192bV93cml0ZXYgMjcxCisjZGVmaW5lIFRBUkdFVF9OUl9rY21wIDI3Mgor I2RlZmluZSBUQVJHRVRfTlJfZmluaXRfbW9kdWxlIDI3MworI2RlZmluZSBUQVJHRVRfTlJfc2No ZWRfc2V0YXR0ciAyNzQKKyNkZWZpbmUgVEFSR0VUX05SX3NjaGVkX2dldGF0dHIgMjc1CisjZGVm aW5lIFRBUkdFVF9OUl9yZW5hbWVhdDIgMjc2CisjZGVmaW5lIFRBUkdFVF9OUl9zZWNjb21wIDI3 NworI2RlZmluZSBUQVJHRVRfTlJfZ2V0cmFuZG9tIDI3OAorI2RlZmluZSBUQVJHRVRfTlJfbWVt ZmRfY3JlYXRlIDI3OQorI2RlZmluZSBUQVJHRVRfTlJfYnBmIDI4MAorI2RlZmluZSBUQVJHRVRf TlJfZXhlY3ZlYXQgMjgxCisjZGVmaW5lIFRBUkdFVF9OUl91c2VyZmF1bHRmZCAyODIKKyNkZWZp bmUgVEFSR0VUX05SX21lbWJhcnJpZXIgMjgzCisjZGVmaW5lIFRBUkdFVF9OUl9tbG9jazIgMjg0 CisjZGVmaW5lIFRBUkdFVF9OUl9jb3B5X2ZpbGVfcmFuZ2UgMjg1CisjZGVmaW5lIFRBUkdFVF9O Ul9wcmVhZHYyIDI4NgorI2RlZmluZSBUQVJHRVRfTlJfcHdyaXRldjIgMjg3CisjZGVmaW5lIFRB UkdFVF9OUl9wa2V5X21wcm90ZWN0IDI4OAorI2RlZmluZSBUQVJHRVRfTlJfcGtleV9hbGxvYyAy ODkKKyNkZWZpbmUgVEFSR0VUX05SX3BrZXlfZnJlZSAyOTAKKyNkZWZpbmUgVEFSR0VUX05SX3N0 YXR4IDI5MQorI2RlZmluZSBUQVJHRVRfTlJfaW9fcGdldGV2ZW50cyAyOTIKKyNkZWZpbmUgVEFS R0VUX05SX3JzZXEgMjkzCisjZGVmaW5lIFRBUkdFVF9OUl9rZXhlY19maWxlX2xvYWQgMjk0Cisj ZGVmaW5lIFRBUkdFVF9OUl9jbG9ja19nZXR0aW1lNjQgNDAzCisjZGVmaW5lIFRBUkdFVF9OUl9j bG9ja19zZXR0aW1lNjQgNDA0CisjZGVmaW5lIFRBUkdFVF9OUl9jbG9ja19hZGp0aW1lNjQgNDA1 CisjZGVmaW5lIFRBUkdFVF9OUl9jbG9ja19nZXRyZXNfdGltZTY0IDQwNgorI2RlZmluZSBUQVJH RVRfTlJfY2xvY2tfbmFub3NsZWVwX3RpbWU2NCA0MDcKKyNkZWZpbmUgVEFSR0VUX05SX3RpbWVy X2dldHRpbWU2NCA0MDgKKyNkZWZpbmUgVEFSR0VUX05SX3RpbWVyX3NldHRpbWU2NCA0MDkKKyNk ZWZpbmUgVEFSR0VUX05SX3RpbWVyZmRfZ2V0dGltZTY0IDQxMAorI2RlZmluZSBUQVJHRVRfTlJf dGltZXJmZF9zZXR0aW1lNjQgNDExCisjZGVmaW5lIFRBUkdFVF9OUl91dGltZW5zYXRfdGltZTY0 IDQxMgorI2RlZmluZSBUQVJHRVRfTlJfcHNlbGVjdDZfdGltZTY0IDQxMworI2RlZmluZSBUQVJH RVRfTlJfcHBvbGxfdGltZTY0IDQxNAorI2RlZmluZSBUQVJHRVRfTlJfaW9fcGdldGV2ZW50c190 aW1lNjQgNDE2CisjZGVmaW5lIFRBUkdFVF9OUl9yZWN2bW1zZ190aW1lNjQgNDE3CisjZGVmaW5l IFRBUkdFVF9OUl9tcV90aW1lZHNlbmRfdGltZTY0IDQxOAorI2RlZmluZSBUQVJHRVRfTlJfbXFf dGltZWRyZWNlaXZlX3RpbWU2NCA0MTkKKyNkZWZpbmUgVEFSR0VUX05SX3NlbXRpbWVkb3BfdGlt ZTY0IDQyMAorI2RlZmluZSBUQVJHRVRfTlJfcnRfc2lndGltZWR3YWl0X3RpbWU2NCA0MjEKKyNk ZWZpbmUgVEFSR0VUX05SX2Z1dGV4X3RpbWU2NCA0MjIKKyNkZWZpbmUgVEFSR0VUX05SX3NjaGVk X3JyX2dldF9pbnRlcnZhbF90aW1lNjQgNDIzCisjZGVmaW5lIFRBUkdFVF9OUl9waWRmZF9zZW5k X3NpZ25hbCA0MjQKKyNkZWZpbmUgVEFSR0VUX05SX2lvX3VyaW5nX3NldHVwIDQyNQorI2RlZmlu ZSBUQVJHRVRfTlJfaW9fdXJpbmdfZW50ZXIgNDI2CisjZGVmaW5lIFRBUkdFVF9OUl9pb191cmlu Z19yZWdpc3RlciA0MjcKKyNkZWZpbmUgVEFSR0VUX05SX29wZW5fdHJlZSA0MjgKKyNkZWZpbmUg VEFSR0VUX05SX21vdmVfbW91bnQgNDI5CisjZGVmaW5lIFRBUkdFVF9OUl9mc29wZW4gNDMwCisj ZGVmaW5lIFRBUkdFVF9OUl9mc2NvbmZpZyA0MzEKKyNkZWZpbmUgVEFSR0VUX05SX2ZzbW91bnQg NDMyCisjZGVmaW5lIFRBUkdFVF9OUl9mc3BpY2sgNDMzCisjZGVmaW5lIFRBUkdFVF9OUl9waWRm ZF9vcGVuIDQzNAorI2RlZmluZSBUQVJHRVRfTlJfc3lzY2FsbHMgNDM2CisKKyNlbmRpZiAvKiBM SU5VWF9VU0VSX0hFWEFHT05fU1lTQ0FMTF9OUl9IICovCmRpZmYgLS1naXQgYS9saW51eC11c2Vy L2hleGFnb24vdGFyZ2V0X2NwdS5oIGIvbGludXgtdXNlci9oZXhhZ29uL3RhcmdldF9jcHUuaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41M2Q0NWY1Ci0tLSAvZGV2L251bGwK KysrIGIvbGludXgtdXNlci9oZXhhZ29uL3RhcmdldF9jcHUuaApAQCAtMCwwICsxLDQ0IEBACisv KgorICogIENvcHlyaWdodChjKSAyMDE5LTIwMjAgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIs IEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAq ICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LgorICovCisKKyNpZm5kZWYgSEVYQUdPTl9UQVJHRVRfQ1BVX0gKKyNkZWZp bmUgSEVYQUdPTl9UQVJHRVRfQ1BVX0gKKworc3RhdGljIGlubGluZSB2b2lkIGNwdV9jbG9uZV9y ZWdzX2NoaWxkKENQVUhleGFnb25TdGF0ZSAqZW52LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRhcmdldF91bG9uZyBuZXdzcCwgdW5zaWduZWQgZmxhZ3MpCit7Cisg ICAgaWYgKG5ld3NwKSB7CisgICAgICAgIGVudi0+Z3ByW0hFWF9SRUdfU1BdID0gbmV3c3A7Cisg ICAgfQorICAgIGVudi0+Z3ByWzBdID0gMDsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGNwdV9j bG9uZV9yZWdzX3BhcmVudChDUFVIZXhhZ29uU3RhdGUgKmVudiwgdW5zaWduZWQgZmxhZ3MpCit7 Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBjcHVfc2V0X3RscyhDUFVIZXhhZ29uU3RhdGUgKmVu diwgdGFyZ2V0X3Vsb25nIG5ld3RscykKK3sKKyAgICBlbnYtPmdwcltIRVhfUkVHX1VHUF0gPSBu ZXd0bHM7Cit9CisKK3N0YXRpYyBpbmxpbmUgYWJpX3Vsb25nIGdldF9zcF9mcm9tX2NwdXN0YXRl KENQVUhleGFnb25TdGF0ZSAqc3RhdGUpCit7CisgICAgcmV0dXJuIHN0YXRlLT5ncHJbSEVYX1JF R19TUF07Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGludXgtdXNlci9oZXhhZ29uL3Rhcmdl dF9lbGYuaCBiL2xpbnV4LXVzZXIvaGV4YWdvbi90YXJnZXRfZWxmLmgKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uMDA1OGI5NAotLS0gL2Rldi9udWxsCisrKyBiL2xpbnV4LXVz ZXIvaGV4YWdvbi90YXJnZXRfZWxmLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqICBDb3B5cmln aHQoYykgMjAxOS0yMDIwIFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIEFsbCBSaWdo dHMgUmVzZXJ2ZWQuCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNl bnNlLCBvcgorICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0 aGlzIHByb2dyYW07IGlmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4K KyAqLworCisjaWZuZGVmIEhFWEFHT05fVEFSR0VUX0VMRl9ICisjZGVmaW5lIEhFWEFHT05fVEFS R0VUX0VMRl9ICisKK3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciAqY3B1X2dldF9tb2RlbCh1aW50 MzJfdCBlZmxhZ3MpCit7CisgICAgLyogRm9yIG5vdywgdHJlYXQgYW55dGhpbmcgbmV3ZXIgdGhh biB2NSBhcyBhIHY2NyAqLworICAgIC8qIEZJWE1FIC0gRGlzYWJsZSBpbnN0cnVjdGlvbnMgdGhh dCBhcmUgbmV3ZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGFyY2ggKi8KKyAgICBpZiAoZWZsYWdzID09 IDB4MDQgfHwgICAgLyogdjUgICovCisgICAgICAgIGVmbGFncyA9PSAweDA1IHx8ICAgIC8qIHY1 NSAqLworICAgICAgICBlZmxhZ3MgPT0gMHg2MCB8fCAgICAvKiB2NjAgKi8KKyAgICAgICAgZWZs YWdzID09IDB4NjEgfHwgICAgLyogdjYxICovCisgICAgICAgIGVmbGFncyA9PSAweDYyIHx8ICAg IC8qIHY2MiAqLworICAgICAgICBlZmxhZ3MgPT0gMHg2NSB8fCAgICAvKiB2NjUgKi8KKyAgICAg ICAgZWZsYWdzID09IDB4NjYgfHwgICAgLyogdjY2ICovCisgICAgICAgIGVmbGFncyA9PSAweDY3 IHx8ICAgIC8qIHY2NyAqLworICAgICAgICBlZmxhZ3MgPT0gMHg4MDY3ICAgICAvKiB2Njd0ICov CisgICAgICAgKSB7CisgICAgICAgIHJldHVybiAidjY3IjsKKyAgICB9CisgICAgcmV0dXJuICJ1 bmtub3duIjsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9saW51eC11c2VyL2hleGFnb24vdGFy Z2V0X2ZjbnRsLmggYi9saW51eC11c2VyL2hleGFnb24vdGFyZ2V0X2ZjbnRsLmgKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDgxNjJlNgotLS0gL2Rldi9udWxsCisrKyBiL2xp bnV4LXVzZXIvaGV4YWdvbi90YXJnZXRfZmNudGwuaApAQCAtMCwwICsxLDE4IEBACisvKgorICog IENvcHlyaWdodChjKSAyMDE5LTIwMjAgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4g QWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2Yg dGhlIExpY2Vuc2UsIG9yCisgKiAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K KyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+LgorICovCisKKyNpbmNsdWRlICIuLi9nZW5lcmljL2ZjbnRsLmgiCmRpZmYgLS1naXQg YS9saW51eC11c2VyL2hleGFnb24vdGFyZ2V0X3NpZ25hbC5oIGIvbGludXgtdXNlci9oZXhhZ29u L3RhcmdldF9zaWduYWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMmE2 MTg3Ci0tLSAvZGV2L251bGwKKysrIGIvbGludXgtdXNlci9oZXhhZ29uL3RhcmdldF9zaWduYWwu aApAQCAtMCwwICsxLDM0IEBACisvKgorICogIENvcHlyaWdodChjKSAyMDE5LTIwMjAgUXVhbGNv bW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiAg VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCBz ZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICovCisKKyNpZm5kZWYgSEVYQUdP Tl9UQVJHRVRfU0lHTkFMX0gKKyNkZWZpbmUgSEVYQUdPTl9UQVJHRVRfU0lHTkFMX0gKKwordHlw ZWRlZiBzdHJ1Y3QgdGFyZ2V0X3NpZ2FsdHN0YWNrIHsKKyAgICBhYmlfdWxvbmcgc3Nfc3A7Cisg ICAgYWJpX2ludCBzc19mbGFnczsKKyAgICBhYmlfdWxvbmcgc3Nfc2l6ZTsKK30gdGFyZ2V0X3N0 YWNrX3Q7CisKKyNkZWZpbmUgVEFSR0VUX1NTX09OU1RBQ0sgMQorI2RlZmluZSBUQVJHRVRfU1Nf RElTQUJMRSAyCisKKyNkZWZpbmUgVEFSR0VUX01JTlNJR1NUS1NaIDIwNDgKKworI2luY2x1ZGUg Ii4uL2dlbmVyaWMvc2lnbmFsLmgiCisKKyNlbmRpZiAvKiBUQVJHRVRfU0lHTkFMX0ggKi8KZGlm ZiAtLWdpdCBhL2xpbnV4LXVzZXIvaGV4YWdvbi90YXJnZXRfc3RydWN0cy5oIGIvbGludXgtdXNl ci9oZXhhZ29uL3RhcmdldF9zdHJ1Y3RzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uMmUwNjIyNwotLS0gL2Rldi9udWxsCisrKyBiL2xpbnV4LXVzZXIvaGV4YWdvbi90YXJn ZXRfc3RydWN0cy5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiAgQ29weXJpZ2h0KGMpIDIwMTkt MjAyMCBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk LgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAq ICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt OyBpZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworLyoK KyAqIEhleGFnb24gc3BlY2lmaWMgc3RydWN0dXJlcyBmb3IgbGludXgtdXNlcgorICovCisjaWZu ZGVmIEhFWEFHT05fVEFSR0VUX1NUUlVDVFNfSAorI2RlZmluZSBIRVhBR09OX1RBUkdFVF9TVFJV Q1RTX0gKKworc3RydWN0IHRhcmdldF9pcGNfcGVybSB7CisgICAgYWJpX2ludCBfX2tleTsKKyAg ICBhYmlfaW50IHVpZDsKKyAgICBhYmlfaW50IGdpZDsKKyAgICBhYmlfaW50IGN1aWQ7CisgICAg YWJpX2ludCBjZ2lkOworICAgIGFiaV91c2hvcnQgbW9kZTsKKyAgICBhYmlfdXNob3J0IF9fcGFk MTsKKyAgICBhYmlfdXNob3J0IF9fc2VxOworfTsKKworc3RydWN0IHRhcmdldF9zaG1pZF9kcyB7 CisgICAgc3RydWN0IHRhcmdldF9pcGNfcGVybSBzaG1fcGVybTsKKyAgICBhYmlfbG9uZyBzaG1f c2Vnc3o7CisgICAgYWJpX3Vsb25nIHNobV9hdGltZTsKKyAgICBhYmlfdWxvbmcgc2htX2R0aW1l OworICAgIGFiaV91bG9uZyBzaG1fY3RpbWU7CisgICAgYWJpX2ludCBzaG1fY3BpZDsKKyAgICBh YmlfaW50IHNobV9scGlkOworICAgIGFiaV91bG9uZyBzaG1fbmF0dGNoOworfTsKKworI2VuZGlm CmRpZmYgLS1naXQgYS9saW51eC11c2VyL2hleGFnb24vdGFyZ2V0X3N5c2NhbGwuaCBiL2xpbnV4 LXVzZXIvaGV4YWdvbi90YXJnZXRfc3lzY2FsbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjY4ZjhiYWEKLS0tIC9kZXYvbnVsbAorKysgYi9saW51eC11c2VyL2hleGFnb24v dGFyZ2V0X3N5c2NhbGwuaApAQCAtMCwwICsxLDM2IEBACisvKgorICogIENvcHlyaWdodChjKSAy MDE5LTIwMjAgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gQWxsIFJpZ2h0cyBSZXNl cnZlZC4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y CisgKiAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws CisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbTsgaWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICovCisK KyNpZm5kZWYgSEVYQUdPTl9UQVJHRVRfU1lTQ0FMTF9ICisjZGVmaW5lIEhFWEFHT05fVEFSR0VU X1NZU0NBTExfSAorCitzdHJ1Y3QgdGFyZ2V0X3B0X3JlZ3MgeworICAgIGFiaV9sb25nIHNlcGM7 CisgICAgYWJpX2xvbmcgc3A7Cit9OworCisjZGVmaW5lIFVOQU1FX01BQ0hJTkUgImhleGFnb24i CisjZGVmaW5lIFVOQU1FX01JTklNVU1fUkVMRUFTRSAiNC4xNS4wIgorCisjZGVmaW5lIFRBUkdF VF9NTE9DS0FMTF9NQ0xfQ1VSUkVOVCAxCisjZGVmaW5lIFRBUkdFVF9NTE9DS0FMTF9NQ0xfRlVU VVJFICAyCisKKyNkZWZpbmUgVEFSR0VUX01DTF9DVVJSRU5UICAxCisjZGVmaW5lIFRBUkdFVF9N Q0xfRlVUVVJFICAgMgorI2RlZmluZSBUQVJHRVRfTUNMX09ORkFVTFQgIDQKKworI2VuZGlmCmRp ZmYgLS1naXQgYS9saW51eC11c2VyL2hleGFnb24vdGVybWJpdHMuaCBiL2xpbnV4LXVzZXIvaGV4 YWdvbi90ZXJtYml0cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1Zjky ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9saW51eC11c2VyL2hleGFnb24vdGVybWJpdHMuaApAQCAt MCwwICsxLDE4IEBACisvKgorICogIENvcHlyaWdodChjKSAyMDE5LTIwMjAgUXVhbGNvbW0gSW5u b3ZhdGlvbiBDZW50ZXIsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiAgVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl CisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg KiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCBzZWUgPGh0 dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICovCisKKyNpbmNsdWRlICIuLi9pMzg2L3Rl cm1iaXRzLmgiCmRpZmYgLS1naXQgYS9saW51eC11c2VyL3FlbXUuaCBiL2xpbnV4LXVzZXIvcWVt dS5oCmluZGV4IDUzNDc1M2MuLjc0NDUxNDcgMTAwNjQ0Ci0tLSBhL2xpbnV4LXVzZXIvcWVtdS5o CisrKyBiL2xpbnV4LXVzZXIvcWVtdS5oCkBAIC03NDIsNiArNzQyLDggQEAgc3RhdGljIGlubGlu ZSBpbnQgcmVncGFpcnNfYWxpZ25lZCh2b2lkICpjcHVfZW52LCBpbnQgbnVtKQogfQogI2VsaWYg ZGVmaW5lZChUQVJHRVRfWFRFTlNBKQogc3RhdGljIGlubGluZSBpbnQgcmVncGFpcnNfYWxpZ25l ZCh2b2lkICpjcHVfZW52LCBpbnQgbnVtKSB7IHJldHVybiAxOyB9CisjZWxpZiBkZWZpbmVkKFRB UkdFVF9IRVhBR09OKQorc3RhdGljIGlubGluZSBpbnQgcmVncGFpcnNfYWxpZ25lZCh2b2lkICpj cHVfZW52LCBpbnQgbnVtKSB7IHJldHVybiAxOyB9CiAjZWxzZQogc3RhdGljIGlubGluZSBpbnQg cmVncGFpcnNfYWxpZ25lZCh2b2lkICpjcHVfZW52LCBpbnQgbnVtKSB7IHJldHVybiAwOyB9CiAj ZW5kaWYKZGlmZiAtLWdpdCBhL2xpbnV4LXVzZXIvc3lzY2FsbF9kZWZzLmggYi9saW51eC11c2Vy L3N5c2NhbGxfZGVmcy5oCmluZGV4IGEwMGJmYzIuLmMyYzE0YTcgMTAwNjQ0Ci0tLSBhL2xpbnV4 LXVzZXIvc3lzY2FsbF9kZWZzLmgKKysrIGIvbGludXgtdXNlci9zeXNjYWxsX2RlZnMuaApAQCAt MTA0LDYgKzEwNCwxNCBAQAogI2RlZmluZSBUQVJHRVRfSU9DX1dSSVRFICAyVQogI2RlZmluZSBU QVJHRVRfSU9DX1JFQUQgICAxVQogCisjZWxpZiBkZWZpbmVkKFRBUkdFVF9IRVhBR09OKQorCisj ZGVmaW5lIFRBUkdFVF9JT0NfU0laRUJJVFMgICAgIDE0CisKKyNkZWZpbmUgVEFSR0VUX0lPQ19O T05FICAgMFUKKyNkZWZpbmUgVEFSR0VUX0lPQ19XUklURSAgMVUKKyNkZWZpbmUgVEFSR0VUX0lP Q19SRUFEICAgICAgICAgIDJVCisKICNlbHNlCiAjZXJyb3IgdW5zdXBwb3J0ZWQgQ1BVCiAjZW5k aWYKQEAgLTIyNTIsNiArMjI2MCwzMSBAQCBzdHJ1Y3QgdGFyZ2V0X3N0YXQ2NCB7CiAgICAgdWlu dDY0X3QgICBzdF9pbm87CiB9OwogCisjZWxpZiBkZWZpbmVkKFRBUkdFVF9IRVhBR09OKQorCitz dHJ1Y3QgdGFyZ2V0X3N0YXQgeworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9kZXY7CisgICAg dW5zaWduZWQgbG9uZyBsb25nIHN0X2lubzsKKyAgICB1bnNpZ25lZCBpbnQgc3RfbW9kZTsKKyAg ICB1bnNpZ25lZCBpbnQgc3Rfbmxpbms7CisgICAgdW5zaWduZWQgaW50IHN0X3VpZDsKKyAgICB1 bnNpZ25lZCBpbnQgc3RfZ2lkOworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9yZGV2OworICAg IHRhcmdldF91bG9uZyBfX3BhZDE7CisgICAgbG9uZyBsb25nIHN0X3NpemU7CisgICAgdGFyZ2V0 X2xvbmcgc3RfYmxrc2l6ZTsKKyAgICBpbnQgX19wYWQyOworICAgIGxvbmcgbG9uZyBzdF9ibG9j a3M7CisKKyAgICB0YXJnZXRfbG9uZyB0YXJnZXRfc3RfYXRpbWU7CisgICAgdGFyZ2V0X2xvbmcg dGFyZ2V0X3N0X2F0aW1lX25zZWM7CisgICAgdGFyZ2V0X2xvbmcgdGFyZ2V0X3N0X210aW1lOwor ICAgIHRhcmdldF9sb25nIHRhcmdldF9zdF9tdGltZV9uc2VjOworICAgIHRhcmdldF9sb25nIHRh cmdldF9zdF9jdGltZTsKKyAgICB0YXJnZXRfbG9uZyB0YXJnZXRfc3RfY3RpbWVfbnNlYzsKKyAg ICBpbnQgX191bnVzZWRbMl07Cit9OworCiAjZWxzZQogI2Vycm9yIHVuc3VwcG9ydGVkIENQVQog I2VuZGlmCmRpZmYgLS1naXQgYS9saW51eC11c2VyL2VsZmxvYWQuYyBiL2xpbnV4LXVzZXIvZWxm bG9hZC5jCmluZGV4IGE2NDA1MDcuLjg0Y2E3YjAgMTAwNjQ0Ci0tLSBhL2xpbnV4LXVzZXIvZWxm bG9hZC5jCisrKyBiL2xpbnV4LXVzZXIvZWxmbG9hZC5jCkBAIC0xNTE0LDYgKzE1MTQsMjIgQEAg c3RhdGljIHZvaWQgZWxmX2NvcmVfY29weV9yZWdzKHRhcmdldF9lbGZfZ3JlZ3NldF90ICpyZWdz LAogCiAjZW5kaWYgLyogVEFSR0VUX1hURU5TQSAqLwogCisjaWZkZWYgVEFSR0VUX0hFWEFHT04K KworI2RlZmluZSBFTEZfU1RBUlRfTU1BUCAweDIwMDAwMDAwCisKKyNkZWZpbmUgRUxGX0NMQVNT ICAgICAgIEVMRkNMQVNTMzIKKyNkZWZpbmUgRUxGX0FSQ0ggICAgICAgIEVNX0hFWEFHT04KKwor c3RhdGljIGlubGluZSB2b2lkIGluaXRfdGhyZWFkKHN0cnVjdCB0YXJnZXRfcHRfcmVncyAqcmVn cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaW1hZ2VfaW5mbyAqaW5m b3ApCit7CisgICAgcmVncy0+c2VwYyA9IGluZm9wLT5lbnRyeTsKKyAgICByZWdzLT5zcCA9IGlu Zm9wLT5zdGFydF9zdGFjazsKK30KKworI2VuZGlmIC8qIFRBUkdFVF9IRVhBR09OICovCisKICNp Zm5kZWYgRUxGX1BMQVRGT1JNCiAjZGVmaW5lIEVMRl9QTEFURk9STSAoTlVMTCkKICNlbmRpZgpk aWZmIC0tZ2l0IGEvbGludXgtdXNlci9oZXhhZ29uL2NwdV9sb29wLmMgYi9saW51eC11c2VyL2hl eGFnb24vY3B1X2xvb3AuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDBh ODQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGludXgtdXNlci9oZXhhZ29uL2NwdV9sb29wLmMKQEAg LTAsMCArMSw5OSBAQAorLyoKKyAqICBxZW11IHVzZXIgY3B1IGxvb3AKKyAqCisgKiAgQ29weXJp Z2h0IChjKSAyMDAzLTIwMDggRmFicmljZSBCZWxsYXJkCisgKiAgQ29weXJpZ2h0KGMpIDIwMTkt MjAyMCBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk LgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAq ICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt OyBpZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworI2lu Y2x1ZGUgInFlbXUvb3NkZXAuaCIKKyNpbmNsdWRlICJxZW11LmgiCisjaW5jbHVkZSAiY3B1X2xv b3AtY29tbW9uLmgiCisjaW5jbHVkZSAiaW50ZXJuYWwuaCIKKwordm9pZCBjcHVfbG9vcChDUFVI ZXhhZ29uU3RhdGUgKmVudikKK3sKKyAgICBDUFVTdGF0ZSAqY3MgPSBDUFUoaGV4YWdvbl9lbnZf Z2V0X2NwdShlbnYpKTsKKyAgICBpbnQgdHJhcG5yLCBzaWdudW0sIHNpZ2NvZGU7CisgICAgdGFy Z2V0X3Vsb25nIHNpZ2FkZHI7CisgICAgdGFyZ2V0X3Vsb25nIHN5c2NhbGxudW07CisgICAgdGFy Z2V0X3Vsb25nIHJldDsKKworICAgIGZvciAoOzspIHsKKyAgICAgICAgY3B1X2V4ZWNfc3RhcnQo Y3MpOworICAgICAgICB0cmFwbnIgPSBjcHVfZXhlYyhjcyk7CisgICAgICAgIGNwdV9leGVjX2Vu ZChjcyk7CisgICAgICAgIHByb2Nlc3NfcXVldWVkX2NwdV93b3JrKGNzKTsKKworICAgICAgICBz aWdudW0gPSAwOworICAgICAgICBzaWdjb2RlID0gMDsKKyAgICAgICAgc2lnYWRkciA9IDA7CisK KyAgICAgICAgc3dpdGNoICh0cmFwbnIpIHsKKyAgICAgICAgY2FzZSBFWENQX0lOVEVSUlVQVDoK KyAgICAgICAgICAgIC8qIGp1c3QgaW5kaWNhdGUgdGhhdCBzaWduYWxzIHNob3VsZCBiZSBoYW5k bGVkIGFzYXAgKi8KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEhFWF9FWENQX1RS QVAwOgorICAgICAgICAgICAgc3lzY2FsbG51bSA9IGVudi0+Z3ByWzZdOworICAgICAgICAgICAg ZW52LT5ncHJbSEVYX1JFR19QQ10gKz0gNDsKKyAgICAgICAgICAgIHJldCA9IGRvX3N5c2NhbGwo ZW52LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNjYWxsbnVtLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBlbnYtPmdwclswXSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZW52LT5ncHJbMV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+Z3By WzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnYtPmdwclszXSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZW52LT5ncHJbNF0sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGVudi0+Z3ByWzVdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwKTsK KyAgICAgICAgICAgIGlmIChyZXQgPT0gLVRBUkdFVF9FUkVTVEFSVFNZUykgeworICAgICAgICAg ICAgICAgIGVudi0+Z3ByW0hFWF9SRUdfUENdIC09IDQ7CisgICAgICAgICAgICB9IGVsc2UgaWYg KHJldCAhPSAtVEFSR0VUX1FFTVVfRVNJR1JFVFVSTikgeworICAgICAgICAgICAgICAgIGVudi0+ Z3ByWzBdID0gcmV0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAg IGNhc2UgSEVYX0VYQ1BfRkVUQ0hfTk9fVVBBR0U6CisgICAgICAgIGNhc2UgSEVYX0VYQ1BfUFJJ Vl9OT19VUkVBRDoKKyAgICAgICAgY2FzZSBIRVhfRVhDUF9QUklWX05PX1VXUklURToKKyAgICAg ICAgICAgIHNpZ251bSA9IFRBUkdFVF9TSUdTRUdWOworICAgICAgICAgICAgc2lnY29kZSA9IFRB UkdFVF9TRUdWX01BUEVSUjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEVYQ1Bf QVRPTUlDOgorICAgICAgICAgICAgY3B1X2V4ZWNfc3RlcF9hdG9taWMoY3MpOworICAgICAgICAg ICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBFWENQX0RVTVAoZW52LCAi XG5xZW11OiB1bmhhbmRsZWQgQ1BVIGV4Y2VwdGlvbiAlI3ggLSBhYm9ydGluZ1xuIiwKKyAgICAg ICAgICAgICAgICAgICAgIHRyYXBucik7CisgICAgICAgICAgICBleGl0KEVYSVRfRkFJTFVSRSk7 CisgICAgICAgIH0KKworICAgICAgICBpZiAoc2lnbnVtKSB7CisgICAgICAgICAgICB0YXJnZXRf c2lnaW5mb190IGluZm8gPSB7CisgICAgICAgICAgICAgICAgLnNpX3NpZ25vID0gc2lnbnVtLAor ICAgICAgICAgICAgICAgIC5zaV9lcnJubyA9IDAsCisgICAgICAgICAgICAgICAgLnNpX2NvZGUg PSBzaWdjb2RlLAorICAgICAgICAgICAgICAgIC5fc2lmaWVsZHMuX3NpZ2ZhdWx0Ll9hZGRyID0g c2lnYWRkcgorICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIHF1ZXVlX3NpZ25hbChlbnYsIGlu Zm8uc2lfc2lnbm8sIFFFTVVfU0lfS0lMTCwgJmluZm8pOworICAgICAgICB9CisKKyAgICAgICAg cHJvY2Vzc19wZW5kaW5nX3NpZ25hbHMoZW52KTsKKyAgICB9Cit9CisKK3ZvaWQgdGFyZ2V0X2Nw dV9jb3B5X3JlZ3MoQ1BVQXJjaFN0YXRlICplbnYsIHN0cnVjdCB0YXJnZXRfcHRfcmVncyAqcmVn cykKK3sKKyAgICBlbnYtPmdwcltIRVhfUkVHX1BDXSA9IHJlZ3MtPnNlcGM7CisgICAgZW52LT5n cHJbSEVYX1JFR19TUF0gPSByZWdzLT5zcDsKK30KZGlmZiAtLWdpdCBhL2xpbnV4LXVzZXIvaGV4 YWdvbi9zaWduYWwuYyBiL2xpbnV4LXVzZXIvaGV4YWdvbi9zaWduYWwuYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTgzN2UxCi0tLSAvZGV2L251bGwKKysrIGIvbGludXgt dXNlci9oZXhhZ29uL3NpZ25hbC5jCkBAIC0wLDAgKzEsMjc2IEBACisvKgorICogIEVtdWxhdGlv biBvZiBMaW51eCBzaWduYWxzCisgKgorICogIENvcHlyaWdodCAoYykgMjAwMyBGYWJyaWNlIEJl bGxhcmQKKyAqICBDb3B5cmlnaHQoYykgMjAxOS0yMDIwIFF1YWxjb21tIElubm92YXRpb24gQ2Vu dGVyLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CisgKiAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4KKyAqLworI2luY2x1ZGUgInFlbXUvb3NkZXAuaCIKKyNpbmNsdWRl ICJxZW11LmgiCisjaW5jbHVkZSAic2lnbmFsLWNvbW1vbi5oIgorI2luY2x1ZGUgImxpbnV4LXVz ZXIvdHJhY2UuaCIKKworc3RydWN0IHRhcmdldF9zaWdjb250ZXh0IHsKKyAgICB0YXJnZXRfdWxv bmcgcjAsICByMSwgIHIyLCAgcjM7CisgICAgdGFyZ2V0X3Vsb25nIHI0LCAgcjUsICByNiwgIHI3 OworICAgIHRhcmdldF91bG9uZyByOCwgIHI5LCByMTAsIHIxMTsKKyAgICB0YXJnZXRfdWxvbmcg cjEyLCByMTMsIHIxNCwgcjE1OworICAgIHRhcmdldF91bG9uZyByMTYsIHIxNywgcjE4LCByMTk7 CisgICAgdGFyZ2V0X3Vsb25nIHIyMCwgcjIxLCByMjIsIHIyMzsKKyAgICB0YXJnZXRfdWxvbmcg cjI0LCByMjUsIHIyNiwgcjI3OworICAgIHRhcmdldF91bG9uZyByMjgsIHIyOSwgcjMwLCByMzE7 CisgICAgdGFyZ2V0X3Vsb25nIHNhMDsKKyAgICB0YXJnZXRfdWxvbmcgbGMwOworICAgIHRhcmdl dF91bG9uZyBzYTE7CisgICAgdGFyZ2V0X3Vsb25nIGxjMTsKKyAgICB0YXJnZXRfdWxvbmcgbTA7 CisgICAgdGFyZ2V0X3Vsb25nIG0xOworICAgIHRhcmdldF91bG9uZyB1c3I7CisgICAgdGFyZ2V0 X3Vsb25nIHAzXzA7CisgICAgdGFyZ2V0X3Vsb25nIGdwOworICAgIHRhcmdldF91bG9uZyB1Z3A7 CisgICAgdGFyZ2V0X3Vsb25nIHBjOworICAgIHRhcmdldF91bG9uZyBjYXVzZTsKKyAgICB0YXJn ZXRfdWxvbmcgYmFkdmE7CisgICAgdGFyZ2V0X3Vsb25nIHBhZDE7CisgICAgdGFyZ2V0X3Vsb25n IHBhZDI7CisgICAgdGFyZ2V0X3Vsb25nIHBhZDM7Cit9OworCitzdHJ1Y3QgdGFyZ2V0X3Vjb250 ZXh0IHsKKyAgICB1bnNpZ25lZCBsb25nIHVjX2ZsYWdzOworICAgIHRhcmdldF91bG9uZyB1Y19s aW5rOyAvKiB0YXJnZXQgcG9pbnRlciAqLworICAgIHRhcmdldF9zdGFja190IHVjX3N0YWNrOwor ICAgIHN0cnVjdCB0YXJnZXRfc2lnY29udGV4dCB1Y19tY29udGV4dDsKKyAgICB0YXJnZXRfc2ln c2V0X3QgdWNfc2lnbWFzazsKK307CisKK3N0cnVjdCB0YXJnZXRfcnRfc2lnZnJhbWUgeworICAg IHVpbnQzMl90IHRyYW1wWzJdOworICAgIHN0cnVjdCB0YXJnZXRfc2lnaW5mbyBpbmZvOworICAg IHN0cnVjdCB0YXJnZXRfdWNvbnRleHQgdWM7Cit9OworCitzdGF0aWMgYWJpX3Vsb25nIGdldF9z aWdmcmFtZShzdHJ1Y3QgdGFyZ2V0X3NpZ2FjdGlvbiAqa2EsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDUFVIZXhhZ29uU3RhdGUgKnJlZ3MsIHNpemVfdCBmcmFtZXNpemUpCit7Cisg ICAgYWJpX3Vsb25nIHNwID0gZ2V0X3NwX2Zyb21fY3B1c3RhdGUocmVncyk7CisKKyAgICAvKiBU aGlzIGlzIHRoZSBYL09wZW4gc2FuY3Rpb25lZCBzaWduYWwgc3RhY2sgc3dpdGNoaW5nLiAgKi8K KyAgICBzcCA9IHRhcmdldF9zaWdzcChzcCwga2EpIC0gZnJhbWVzaXplOworCisgICAgc3AgPSBR RU1VX0FMSUdOX0RPV04oc3AsIDgpOworCisgICAgcmV0dXJuIHNwOworfQorCitzdGF0aWMgdm9p ZCBzZXR1cF9zaWdjb250ZXh0KHN0cnVjdCB0YXJnZXRfc2lnY29udGV4dCAqc2MsIENQVUhleGFn b25TdGF0ZSAqZW52KQoreworICAgIF9fcHV0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19SMDBdLCAm c2MtPnIwKTsKKyAgICBfX3B1dF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfUjAxXSwgJnNjLT5yMSk7 CisgICAgX19wdXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX1IwMl0sICZzYy0+cjIpOworICAgIF9f cHV0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19SMDNdLCAmc2MtPnIzKTsKKyAgICBfX3B1dF91c2Vy KGVudi0+Z3ByW0hFWF9SRUdfUjA0XSwgJnNjLT5yNCk7CisgICAgX19wdXRfdXNlcihlbnYtPmdw cltIRVhfUkVHX1IwNV0sICZzYy0+cjUpOworICAgIF9fcHV0X3VzZXIoZW52LT5ncHJbSEVYX1JF R19SMDZdLCAmc2MtPnI2KTsKKyAgICBfX3B1dF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfUjA3XSwg JnNjLT5yNyk7CisgICAgX19wdXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX1IwOF0sICZzYy0+cjgp OworICAgIF9fcHV0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19SMDldLCAmc2MtPnI5KTsKKyAgICBf X3B1dF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfUjEwXSwgJnNjLT5yMTApOworICAgIF9fcHV0X3Vz ZXIoZW52LT5ncHJbSEVYX1JFR19SMTFdLCAmc2MtPnIxMSk7CisgICAgX19wdXRfdXNlcihlbnYt PmdwcltIRVhfUkVHX1IxMl0sICZzYy0+cjEyKTsKKyAgICBfX3B1dF91c2VyKGVudi0+Z3ByW0hF WF9SRUdfUjEzXSwgJnNjLT5yMTMpOworICAgIF9fcHV0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19S MTRdLCAmc2MtPnIxNCk7CisgICAgX19wdXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX1IxNV0sICZz Yy0+cjE1KTsKKyAgICBfX3B1dF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfUjE2XSwgJnNjLT5yMTYp OworICAgIF9fcHV0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19SMTddLCAmc2MtPnIxNyk7CisgICAg X19wdXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX1IxOF0sICZzYy0+cjE4KTsKKyAgICBfX3B1dF91 c2VyKGVudi0+Z3ByW0hFWF9SRUdfUjE5XSwgJnNjLT5yMTkpOworICAgIF9fcHV0X3VzZXIoZW52 LT5ncHJbSEVYX1JFR19SMjBdLCAmc2MtPnIyMCk7CisgICAgX19wdXRfdXNlcihlbnYtPmdwcltI RVhfUkVHX1IyMV0sICZzYy0+cjIxKTsKKyAgICBfX3B1dF91c2VyKGVudi0+Z3ByW0hFWF9SRUdf UjIyXSwgJnNjLT5yMjIpOworICAgIF9fcHV0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19SMjNdLCAm c2MtPnIyMyk7CisgICAgX19wdXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX1IyNF0sICZzYy0+cjI0 KTsKKyAgICBfX3B1dF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfUjI1XSwgJnNjLT5yMjUpOworICAg IF9fcHV0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19SMjZdLCAmc2MtPnIyNik7CisgICAgX19wdXRf dXNlcihlbnYtPmdwcltIRVhfUkVHX1IyN10sICZzYy0+cjI3KTsKKyAgICBfX3B1dF91c2VyKGVu di0+Z3ByW0hFWF9SRUdfUjI4XSwgJnNjLT5yMjgpOworICAgIF9fcHV0X3VzZXIoZW52LT5ncHJb SEVYX1JFR19SMjldLCAmc2MtPnIyOSk7CisgICAgX19wdXRfdXNlcihlbnYtPmdwcltIRVhfUkVH X1IzMF0sICZzYy0+cjMwKTsKKyAgICBfX3B1dF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfUjMxXSwg JnNjLT5yMzEpOworICAgIF9fcHV0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19TQTBdLCAmc2MtPnNh MCk7CisgICAgX19wdXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX0xDMF0sICZzYy0+bGMwKTsKKyAg ICBfX3B1dF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfU0ExXSwgJnNjLT5zYTEpOworICAgIF9fcHV0 X3VzZXIoZW52LT5ncHJbSEVYX1JFR19MQzFdLCAmc2MtPmxjMSk7CisgICAgX19wdXRfdXNlcihl bnYtPmdwcltIRVhfUkVHX00wXSwgJnNjLT5tMCk7CisgICAgX19wdXRfdXNlcihlbnYtPmdwcltI RVhfUkVHX00xXSwgJnNjLT5tMSk7CisgICAgX19wdXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX1VT Ul0sICZzYy0+dXNyKTsKKyAgICBfX3B1dF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfUDNfMF0sICZz Yy0+cDNfMCk7CisgICAgX19wdXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX0dQXSwgJnNjLT5ncCk7 CisgICAgX19wdXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX1VHUF0sICZzYy0+dWdwKTsKKyAgICBf X3B1dF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfUENdLCAmc2MtPnBjKTsKK30KKworc3RhdGljIHZv aWQgc2V0dXBfdWNvbnRleHQoc3RydWN0IHRhcmdldF91Y29udGV4dCAqdWMsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICBDUFVIZXhhZ29uU3RhdGUgKmVudiwgdGFyZ2V0X3NpZ3NldF90ICpz ZXQpCit7CisgICAgX19wdXRfdXNlcigwLCAgICAmKHVjLT51Y19mbGFncykpOworICAgIF9fcHV0 X3VzZXIoMCwgICAgJih1Yy0+dWNfbGluaykpOworCisgICAgdGFyZ2V0X3NhdmVfYWx0c3RhY2so JnVjLT51Y19zdGFjaywgZW52KTsKKworICAgIGludCBpOworICAgIGZvciAoaSA9IDA7IGkgPCBU QVJHRVRfTlNJR19XT1JEUzsgaSsrKSB7CisgICAgICAgIF9fcHV0X3VzZXIoc2V0LT5zaWdbaV0s ICYodWMtPnVjX3NpZ21hc2suc2lnW2ldKSk7CisgICAgfQorCisgICAgc2V0dXBfc2lnY29udGV4 dCgmdWMtPnVjX21jb250ZXh0LCBlbnYpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgaW5zdGFs bF9zaWd0cmFtcCh1aW50MzJfdCAqdHJhbXApCit7CisgICAgX19wdXRfdXNlcigweDc4MDBkMTY2 LCB0cmFtcCArIDApOyAvKiAgeyByNj0jX19OUl9ydF9zaWdyZXR1cm4gfSAqLworICAgIF9fcHV0 X3VzZXIoMHg1NDAwYzAwNCwgdHJhbXAgKyAxKTsgLyogIHsgdHJhcDAoIzEpIH0gKi8KK30KKwor dm9pZCBzZXR1cF9ydF9mcmFtZShpbnQgc2lnLCBzdHJ1Y3QgdGFyZ2V0X3NpZ2FjdGlvbiAqa2Es CisgICAgICAgICAgICAgICAgICAgIHRhcmdldF9zaWdpbmZvX3QgKmluZm8sCisgICAgICAgICAg ICAgICAgICAgIHRhcmdldF9zaWdzZXRfdCAqc2V0LCBDUFVIZXhhZ29uU3RhdGUgKmVudikKK3sK KyAgICBhYmlfdWxvbmcgZnJhbWVfYWRkcjsKKyAgICBzdHJ1Y3QgdGFyZ2V0X3J0X3NpZ2ZyYW1l ICpmcmFtZTsKKworICAgIGZyYW1lX2FkZHIgPSBnZXRfc2lnZnJhbWUoa2EsIGVudiwgc2l6ZW9m KCpmcmFtZSkpOworICAgIHRyYWNlX3VzZXJfc2V0dXBfcnRfZnJhbWUoZW52LCBmcmFtZV9hZGRy KTsKKworICAgIGlmICghbG9ja191c2VyX3N0cnVjdChWRVJJRllfV1JJVEUsIGZyYW1lLCBmcmFt ZV9hZGRyLCAwKSkgeworICAgICAgICBnb3RvIGJhZGZyYW1lOworICAgIH0KKworICAgIHNldHVw X3Vjb250ZXh0KCZmcmFtZS0+dWMsIGVudiwgc2V0KTsKKyAgICB0c3dhcF9zaWdpbmZvKCZmcmFt ZS0+aW5mbywgaW5mbyk7CisgICAgaW5zdGFsbF9zaWd0cmFtcChmcmFtZS0+dHJhbXApOworCisg ICAgZW52LT5ncHJbSEVYX1JFR19QQ10gPSBrYS0+X3NhX2hhbmRsZXI7CisgICAgZW52LT5ncHJb SEVYX1JFR19TUF0gPSBmcmFtZV9hZGRyOworICAgIGVudi0+Z3ByW0hFWF9SRUdfUjAwXSA9IHNp ZzsKKyAgICBlbnYtPmdwcltIRVhfUkVHX1IwMV0gPQorICAgICAgICBmcmFtZV9hZGRyICsgb2Zm c2V0b2Yoc3RydWN0IHRhcmdldF9ydF9zaWdmcmFtZSwgaW5mbyk7CisgICAgZW52LT5ncHJbSEVY X1JFR19SMDJdID0KKyAgICAgICAgZnJhbWVfYWRkciArIG9mZnNldG9mKHN0cnVjdCB0YXJnZXRf cnRfc2lnZnJhbWUsIHVjKTsKKyAgICBlbnYtPmdwcltIRVhfUkVHX0xSXSA9CisgICAgICAgIGZy YW1lX2FkZHIgKyBvZmZzZXRvZihzdHJ1Y3QgdGFyZ2V0X3J0X3NpZ2ZyYW1lLCB0cmFtcCk7CisK KyAgICByZXR1cm47CisKK2JhZGZyYW1lOgorICAgIHVubG9ja191c2VyX3N0cnVjdChmcmFtZSwg ZnJhbWVfYWRkciwgMSk7CisgICAgaWYgKHNpZyA9PSBUQVJHRVRfU0lHU0VHVikgeworICAgICAg ICBrYS0+X3NhX2hhbmRsZXIgPSBUQVJHRVRfU0lHX0RGTDsKKyAgICB9CisgICAgZm9yY2Vfc2ln KFRBUkdFVF9TSUdTRUdWKTsKK30KKworc3RhdGljIHZvaWQgcmVzdG9yZV9zaWdjb250ZXh0KENQ VUhleGFnb25TdGF0ZSAqZW52LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCB0YXJnZXRfc2lnY29udGV4dCAqc2MpCit7CisgICAgX19nZXRfdXNlcihlbnYtPmdwcltIRVhf UkVHX1IwMF0sICZzYy0+cjApOworICAgIF9fZ2V0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19SMDFd LCAmc2MtPnIxKTsKKyAgICBfX2dldF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfUjAyXSwgJnNjLT5y Mik7CisgICAgX19nZXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX1IwM10sICZzYy0+cjMpOworICAg IF9fZ2V0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19SMDRdLCAmc2MtPnI0KTsKKyAgICBfX2dldF91 c2VyKGVudi0+Z3ByW0hFWF9SRUdfUjA1XSwgJnNjLT5yNSk7CisgICAgX19nZXRfdXNlcihlbnYt PmdwcltIRVhfUkVHX1IwNl0sICZzYy0+cjYpOworICAgIF9fZ2V0X3VzZXIoZW52LT5ncHJbSEVY X1JFR19SMDddLCAmc2MtPnI3KTsKKyAgICBfX2dldF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfUjA4 XSwgJnNjLT5yOCk7CisgICAgX19nZXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX1IwOV0sICZzYy0+ cjkpOworICAgIF9fZ2V0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19SMTBdLCAmc2MtPnIxMCk7Cisg ICAgX19nZXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX1IxMV0sICZzYy0+cjExKTsKKyAgICBfX2dl dF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfUjEyXSwgJnNjLT5yMTIpOworICAgIF9fZ2V0X3VzZXIo ZW52LT5ncHJbSEVYX1JFR19SMTNdLCAmc2MtPnIxMyk7CisgICAgX19nZXRfdXNlcihlbnYtPmdw cltIRVhfUkVHX1IxNF0sICZzYy0+cjE0KTsKKyAgICBfX2dldF91c2VyKGVudi0+Z3ByW0hFWF9S RUdfUjE1XSwgJnNjLT5yMTUpOworICAgIF9fZ2V0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19SMTZd LCAmc2MtPnIxNik7CisgICAgX19nZXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX1IxN10sICZzYy0+ cjE3KTsKKyAgICBfX2dldF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfUjE4XSwgJnNjLT5yMTgpOwor ICAgIF9fZ2V0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19SMTldLCAmc2MtPnIxOSk7CisgICAgX19n ZXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX1IyMF0sICZzYy0+cjIwKTsKKyAgICBfX2dldF91c2Vy KGVudi0+Z3ByW0hFWF9SRUdfUjIxXSwgJnNjLT5yMjEpOworICAgIF9fZ2V0X3VzZXIoZW52LT5n cHJbSEVYX1JFR19SMjJdLCAmc2MtPnIyMik7CisgICAgX19nZXRfdXNlcihlbnYtPmdwcltIRVhf UkVHX1IyM10sICZzYy0+cjIzKTsKKyAgICBfX2dldF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfUjI0 XSwgJnNjLT5yMjQpOworICAgIF9fZ2V0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19SMjVdLCAmc2Mt PnIyNSk7CisgICAgX19nZXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX1IyNl0sICZzYy0+cjI2KTsK KyAgICBfX2dldF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfUjI3XSwgJnNjLT5yMjcpOworICAgIF9f Z2V0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19SMjhdLCAmc2MtPnIyOCk7CisgICAgX19nZXRfdXNl cihlbnYtPmdwcltIRVhfUkVHX1IyOV0sICZzYy0+cjI5KTsKKyAgICBfX2dldF91c2VyKGVudi0+ Z3ByW0hFWF9SRUdfUjMwXSwgJnNjLT5yMzApOworICAgIF9fZ2V0X3VzZXIoZW52LT5ncHJbSEVY X1JFR19SMzFdLCAmc2MtPnIzMSk7CisgICAgX19nZXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX1NB MF0sICZzYy0+c2EwKTsKKyAgICBfX2dldF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfTEMwXSwgJnNj LT5sYzApOworICAgIF9fZ2V0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19TQTFdLCAmc2MtPnNhMSk7 CisgICAgX19nZXRfdXNlcihlbnYtPmdwcltIRVhfUkVHX0xDMV0sICZzYy0+bGMxKTsKKyAgICBf X2dldF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfTTBdLCAmc2MtPm0wKTsKKyAgICBfX2dldF91c2Vy KGVudi0+Z3ByW0hFWF9SRUdfTTFdLCAmc2MtPm0xKTsKKyAgICBfX2dldF91c2VyKGVudi0+Z3By W0hFWF9SRUdfVVNSXSwgJnNjLT51c3IpOworICAgIF9fZ2V0X3VzZXIoZW52LT5ncHJbSEVYX1JF R19QM18wXSwgJnNjLT5wM18wKTsKKyAgICBfX2dldF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfR1Bd LCAmc2MtPmdwKTsKKyAgICBfX2dldF91c2VyKGVudi0+Z3ByW0hFWF9SRUdfVUdQXSwgJnNjLT51 Z3ApOworICAgIF9fZ2V0X3VzZXIoZW52LT5ncHJbSEVYX1JFR19QQ10sICZzYy0+cGMpOworfQor CitzdGF0aWMgdm9pZCByZXN0b3JlX3Vjb250ZXh0KENQVUhleGFnb25TdGF0ZSAqZW52LCBzdHJ1 Y3QgdGFyZ2V0X3Vjb250ZXh0ICp1YykKK3sKKyAgICBzaWdzZXRfdCBibG9ja2VkOworICAgIHRh cmdldF9zaWdzZXRfdCB0YXJnZXRfc2V0OworICAgIGludCBpOworCisgICAgdGFyZ2V0X3NpZ2Vt cHR5c2V0KCZ0YXJnZXRfc2V0KTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgVEFSR0VUX05TSUdfV09S RFM7IGkrKykgeworICAgICAgICBfX2dldF91c2VyKHRhcmdldF9zZXQuc2lnW2ldLCAmKHVjLT51 Y19zaWdtYXNrLnNpZ1tpXSkpOworICAgIH0KKworICAgIHRhcmdldF90b19ob3N0X3NpZ3NldF9p bnRlcm5hbCgmYmxvY2tlZCwgJnRhcmdldF9zZXQpOworICAgIHNldF9zaWdtYXNrKCZibG9ja2Vk KTsKKworICAgIHJlc3RvcmVfc2lnY29udGV4dChlbnYsICZ1Yy0+dWNfbWNvbnRleHQpOworfQor Citsb25nIGRvX3J0X3NpZ3JldHVybihDUFVIZXhhZ29uU3RhdGUgKmVudikKK3sKKyAgICBzdHJ1 Y3QgdGFyZ2V0X3J0X3NpZ2ZyYW1lICpmcmFtZTsKKyAgICBhYmlfdWxvbmcgZnJhbWVfYWRkcjsK KworICAgIGZyYW1lX2FkZHIgPSBlbnYtPmdwcltIRVhfUkVHX1NQXTsKKyAgICB0cmFjZV91c2Vy X2RvX3NpZ3JldHVybihlbnYsIGZyYW1lX2FkZHIpOworICAgIGlmICghbG9ja191c2VyX3N0cnVj dChWRVJJRllfUkVBRCwgZnJhbWUsIGZyYW1lX2FkZHIsIDEpKSB7CisgICAgICAgIGdvdG8gYmFk ZnJhbWU7CisgICAgfQorCisgICAgcmVzdG9yZV91Y29udGV4dChlbnYsICZmcmFtZS0+dWMpOwor CisgICAgaWYgKGRvX3NpZ2FsdHN0YWNrKGZyYW1lX2FkZHIgKyBvZmZzZXRvZihzdHJ1Y3QgdGFy Z2V0X3J0X3NpZ2ZyYW1lLAorICAgICAgICAgICAgdWMudWNfc3RhY2spLCAwLCBnZXRfc3BfZnJv bV9jcHVzdGF0ZShlbnYpKSA9PSAtRUZBVUxUKSB7CisgICAgICAgIGdvdG8gYmFkZnJhbWU7Cisg ICAgfQorCisgICAgdW5sb2NrX3VzZXJfc3RydWN0KGZyYW1lLCBmcmFtZV9hZGRyLCAwKTsKKyAg ICByZXR1cm4gLVRBUkdFVF9RRU1VX0VTSUdSRVRVUk47CisKK2JhZGZyYW1lOgorICAgIHVubG9j a191c2VyX3N0cnVjdChmcmFtZSwgZnJhbWVfYWRkciwgMCk7CisgICAgZm9yY2Vfc2lnKFRBUkdF VF9TSUdTRUdWKTsKKyAgICByZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL3NjcmlwdHMvZ2Vuc3lz Y2FsbHMuc2ggYi9zY3JpcHRzL2dlbnN5c2NhbGxzLnNoCmluZGV4IGJiYTlmYjAuLjhmYjQ1MGUg MTAwNzU1Ci0tLSBhL3NjcmlwdHMvZ2Vuc3lzY2FsbHMuc2gKKysrIGIvc2NyaXB0cy9nZW5zeXNj YWxscy5zaApAQCAtOTgsNCArOTgsNSBAQCBnZW5lcmF0ZV9zeXNjYWxsX25yIG9wZW5yaXNjIDMy ICIkb3V0cHV0L2xpbnV4LXVzZXIvb3BlbnJpc2Mvc3lzY2FsbF9uci5oIgogCiBnZW5lcmF0ZV9z eXNjYWxsX25yIHJpc2N2IDMyICIkb3V0cHV0L2xpbnV4LXVzZXIvcmlzY3Yvc3lzY2FsbDMyX25y LmgiCiBnZW5lcmF0ZV9zeXNjYWxsX25yIHJpc2N2IDY0ICIkb3V0cHV0L2xpbnV4LXVzZXIvcmlz Y3Yvc3lzY2FsbDY0X25yLmgiCitnZW5lcmF0ZV9zeXNjYWxsX25yIGhleGFnb24gMzIgIiRvdXRw dXQvbGludXgtdXNlci9oZXhhZ29uL3N5c2NhbGxfbnIuaCIKIHJtIC1mciAiJFRNUCIKLS0gCjIu Ny40Cgo=