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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 7F8E1FD45F8 for ; Wed, 25 Feb 2026 22:09:39 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vvN4M-0007Fl-8r; Wed, 25 Feb 2026 17:09:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vvN41-0006gD-CC; Wed, 25 Feb 2026 17:09:01 -0500 Received: from pdx-out-009.esa.us-west-2.outbound.mail-perimeter.amazon.com ([35.155.198.111]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vvN3y-0000xq-4U; Wed, 25 Feb 2026 17:09:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazoncorp2; t=1772057338; x=1803593338; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=A4AlFf315by5sAITKHLHVWuaCBpkIPw2o7i5TKkC5Zg=; b=oXuHzFviAAMxLKM/fF3YJNyLlIajsJ6NBFQsVr1waUWfJVwVVW6IF9Om BfSHzoS1NRdMGrXLE5S5iI9PgvcMPI/KQMTQ5vELObViD7XCb3C6izO/o wV/eMUlsCFBvdUU0m65RtJKLOIr2gYBRBR6p0ognf2N+rpNlktd8OWSv4 Kcdi4UE/GylK23xJ2ls+NSLkAEr96fnWHz63Eow2dWJjyukluv2idkrHb 1n8otbchb4nLfRPCDBzFDPZl96bUMLNj/jo20YRQ6MH36A1vrqtL+5NFh GVbLbpPFKFjN/pxbJ2oHdFCP9q4vckDyeITz8R4/ZPuXhLdkuh30x7/T3 A==; X-CSE-ConnectionGUID: rf0vTxk7QSez589bmMRV1A== X-CSE-MsgGUID: HrVRsELxSsW0mnapm0q4JQ== X-IronPort-AV: E=Sophos;i="6.21,311,1763424000"; d="scan'208";a="13686192" Received: from ip-10-5-6-203.us-west-2.compute.internal (HELO smtpout.naws.us-west-2.prod.farcaster.email.amazon.dev) ([10.5.6.203]) by internal-pdx-out-009.esa.us-west-2.outbound.mail-perimeter.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Feb 2026 22:08:46 +0000 Received: from EX19MTAUWA002.ant.amazon.com [205.251.233.234:28031] by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.12.226:2525] with esmtp (Farcaster) id d9d7cdce-cc4c-4adb-863c-5dd065f06ff0; Wed, 25 Feb 2026 22:08:46 +0000 (UTC) X-Farcaster-Flow-ID: d9d7cdce-cc4c-4adb-863c-5dd065f06ff0 Received: from EX19D020UWC004.ant.amazon.com (10.13.138.149) by EX19MTAUWA002.ant.amazon.com (10.250.64.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.2562.37; Wed, 25 Feb 2026 22:08:43 +0000 Received: from ip-10-253-83-51.amazon.com (172.19.99.218) by EX19D020UWC004.ant.amazon.com (10.13.138.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.2562.37; Wed, 25 Feb 2026 22:08:41 +0000 From: Alexander Graf To: CC: , Peter Maydell , "Thomas Huth" , , , , , Cornelia Huck , , Dorjoy Chowdhury , Pierrick Bouvier , Paolo Bonzini , Tyler Fanelli , , Subject: [PATCH v3 04/11] accel: Add Nitro Enclaves accelerator Date: Wed, 25 Feb 2026 22:07:58 +0000 Message-ID: <20260225220807.33092-5-graf@amazon.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20260225220807.33092-1-graf@amazon.com> References: <20260225220807.33092-1-graf@amazon.com> MIME-Version: 1.0 X-Originating-IP: [172.19.99.218] X-ClientProxiedBy: EX19D032UWB002.ant.amazon.com (10.13.139.190) To EX19D020UWC004.ant.amazon.com (10.13.138.149) Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Received-SPF: pass client-ip=35.155.198.111; envelope-from=prvs=509822c20=graf@amazon.de; helo=pdx-out-009.esa.us-west-2.outbound.mail-perimeter.amazon.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.734, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.78, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, UNPARSEABLE_RELAY=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-arm@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-arm-bounces+qemu-arm=archiver.kernel.org@nongnu.org Sender: qemu-arm-bounces+qemu-arm=archiver.kernel.org@nongnu.org Tml0cm8gRW5jbGF2ZXMgYXJlIGEgY29uZmlkZW50aWFsIGNvbXB1dGUgdGVjaG5vbG9neSB3aGlj aAphbGxvd3MgYSBwYXJlbnQgaW5zdGFuY2UgdG8gY2FydmUgb3V0IHJlc291cmNlcyBmcm9tIGl0 c2VsZgphbmQgc3Bhd24gYSBjb25maWRlbnRpYWwgc2libGluZyBWTSBuZXh0IHRvIGl0c2VsZi4g U2ltaWxhcgp0byBvdGhlciBjb25maWRlbnRpYWwgY29tcHV0ZSBzb2x1dGlvbnMsIHRoaXMgc2li bGluZyBpcwpjb250cm9sbGVkIGJ5IGFuIHVuZGVybHlpbmcgdm1tLCBidXQgc3RpbGwgaGFzIGEg aGlnaGVyIGxldmVsCnZtbSAoUUVNVSkgdG8gaW1wbGVtZW50IHNvbWUgb2YgaXRzIEkvTyBmdW5j dGlvbmFsaXR5IGFuZApsaWZlY3ljbGUuCgpBZGQgYW4gYWNjZWxlcmF0b3IgdG8gZHJpdmUgdGhp cyBpbnRlcmZhY2UuIEluIGNvbWJpbmF0aW9uIHdpdGgKZm9sbG93LW9uIHBhdGNoZXMgdG8gZW5o YW5jZSB0aGUgTml0cm8gRW5jbGF2ZXMgbWFjaGluZSBtb2RlbCwgdGhpcwp3aWxsIGFsbG93IHVz ZXJzIHRvIHJ1biBhIE5pdHJvIEVuY2xhdmUgdXNpbmcgUUVNVS4KClNpZ25lZC1vZmYtYnk6IEFs ZXhhbmRlciBHcmFmIDxncmFmQGFtYXpvbi5jb20+CgotLS0KCnYxIC0+IHYyOgoKICAtIFVzZSBk dW1teSwgbW92ZSBjcHUgaW5pdCB0byBwb3N0CiAgLSBUcmlnZ2VyIG5pdHJvLXZzb2NrLWJyaWRn ZSBpbnN0ZWFkIG9mIFFPTSBwcm9wZXJ0aWVzCgp2MiAtPiB2MzoKCiAgLSBNYXJrIGFzIG5vIHJl Ym9vdAotLS0KIE1BSU5UQUlORVJTICAgICAgICAgICAgICAgICAgIHwgICA2ICsKIGFjY2VsL0tj b25maWcgICAgICAgICAgICAgICAgIHwgICAzICsKIGFjY2VsL21lc29uLmJ1aWxkICAgICAgICAg ICAgIHwgICAxICsKIGFjY2VsL25pdHJvL21lc29uLmJ1aWxkICAgICAgIHwgICAzICsKIGFjY2Vs L25pdHJvL25pdHJvLWFjY2VsLmMgICAgIHwgMjg0ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIGFjY2VsL25pdHJvL3RyYWNlLWV2ZW50cyAgICAgIHwgICA2ICsKIGFjY2VsL25p dHJvL3RyYWNlLmggICAgICAgICAgIHwgICAyICsKIGFjY2VsL3N0dWJzL21lc29uLmJ1aWxkICAg ICAgIHwgICAxICsKIGFjY2VsL3N0dWJzL25pdHJvLXN0dWIuYyAgICAgIHwgIDExICsrCiBpbmNs dWRlL3N5c3RlbS9od19hY2NlbC5oICAgICB8ICAgMSArCiBpbmNsdWRlL3N5c3RlbS9uaXRyby1h Y2NlbC5oICB8ICAyNSArKysKIG1lc29uLmJ1aWxkICAgICAgICAgICAgICAgICAgIHwgIDExICsr CiBtZXNvbl9vcHRpb25zLnR4dCAgICAgICAgICAgICB8ICAgMiArCiBxZW11LW9wdGlvbnMuaHgg ICAgICAgICAgICAgICB8ICAgOCArLQogc2NyaXB0cy9tZXNvbi1idWlsZG9wdGlvbnMuc2ggfCAg IDMgKwogMTUgZmlsZXMgY2hhbmdlZCwgMzYzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgYWNjZWwvbml0cm8vbWVzb24uYnVpbGQKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBhY2NlbC9uaXRyby9uaXRyby1hY2NlbC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgYWNj ZWwvbml0cm8vdHJhY2UtZXZlbnRzCiBjcmVhdGUgbW9kZSAxMDA2NDQgYWNjZWwvbml0cm8vdHJh Y2UuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGFjY2VsL3N0dWJzL25pdHJvLXN0dWIuYwogY3JlYXRl IG1vZGUgMTAwNjQ0IGluY2x1ZGUvc3lzdGVtL25pdHJvLWFjY2VsLmgKCmRpZmYgLS1naXQgYS9N QUlOVEFJTkVSUyBiL01BSU5UQUlORVJTCmluZGV4IDQ0ZGE3YTVmYzUuLjUzY2UwNzVlOWEgMTAw NjQ0Ci0tLSBhL01BSU5UQUlORVJTCisrKyBiL01BSU5UQUlORVJTCkBAIC01ODMsNiArNTgzLDEy IEBAIEY6IGluY2x1ZGUvc3lzdGVtL21zaHYuaAogRjogaW5jbHVkZS9ody9oeXBlcnYvaHZnZGsq LmgKIEY6IGluY2x1ZGUvaHcvaHlwZXJ2L2h2aGRrKi5oCiAKK05pdHJvIEVuY2xhdmVzIChuYXRp dmUpCitNOiBBbGV4YW5kZXIgR3JhZiA8Z3JhZkBhbWF6b24uY29tPgorUzogTWFpbnRhaW5lZAor RjogYWNjZWwvbml0cm8vCitGOiBpbmNsdWRlL3N5c3RlbS9uaXRyby1hY2NlbC5oCisKIFg4NiBN U0hWIENQVXMKIE06IE1hZ251cyBLdWxrZSA8bWFnbnVzLmt1bGtlQGxpbnV4Lm1pY3Jvc29mdC5j b20+CiBSOiBXZWkgTGl1IDx3ZWkubGl1QGtlcm5lbC5vcmc+CmRpZmYgLS1naXQgYS9hY2NlbC9L Y29uZmlnIGIvYWNjZWwvS2NvbmZpZwppbmRleCBhNjBmMTE0OTIzLi42ZDA1Mjg3NWVlIDEwMDY0 NAotLS0gYS9hY2NlbC9LY29uZmlnCisrKyBiL2FjY2VsL0tjb25maWcKQEAgLTE2LDYgKzE2LDkg QEAgY29uZmlnIEtWTQogY29uZmlnIE1TSFYKICAgICBib29sCiAKK2NvbmZpZyBOSVRSTworICAg IGJvb2wKKwogY29uZmlnIFhFTgogICAgIGJvb2wKICAgICBzZWxlY3QgRlNERVZfOVAgaWYgVklS VEZTCmRpZmYgLS1naXQgYS9hY2NlbC9tZXNvbi5idWlsZCBiL2FjY2VsL21lc29uLmJ1aWxkCmlu ZGV4IDI4OWI3NDIwZmYuLjdkYTEyYjk3NDEgMTAwNjQ0Ci0tLSBhL2FjY2VsL21lc29uLmJ1aWxk CisrKyBiL2FjY2VsL21lc29uLmJ1aWxkCkBAIC0xMiw2ICsxMiw3IEBAIGlmIGhhdmVfc3lzdGVt CiAgIHN1YmRpcigneGVuJykKICAgc3ViZGlyKCdzdHVicycpCiAgIHN1YmRpcignbXNodicpCisg IHN1YmRpcignbml0cm8nKQogZW5kaWYKIAogIyBxdGVzdApkaWZmIC0tZ2l0IGEvYWNjZWwvbml0 cm8vbWVzb24uYnVpbGQgYi9hY2NlbC9uaXRyby9tZXNvbi5idWlsZApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwLi5lMDFjMWJhYjk2Ci0tLSAvZGV2L251bGwKKysrIGIvYWNj ZWwvbml0cm8vbWVzb24uYnVpbGQKQEAgLTAsMCArMSwzIEBACituaXRyb19zcyA9IHNzLnNvdXJj ZV9zZXQoKQorbml0cm9fc3MuYWRkKGZpbGVzKCduaXRyby1hY2NlbC5jJykpCitzeXN0ZW1fc3Mu YWRkX2FsbCh3aGVuOiAnQ09ORklHX05JVFJPJywgaWZfdHJ1ZTogbml0cm9fc3MpCmRpZmYgLS1n aXQgYS9hY2NlbC9uaXRyby9uaXRyby1hY2NlbC5jIGIvYWNjZWwvbml0cm8vbml0cm8tYWNjZWwu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5hMWU5N2E5MTYyCi0tLSAv ZGV2L251bGwKKysrIGIvYWNjZWwvbml0cm8vbml0cm8tYWNjZWwuYwpAQCAtMCwwICsxLDI4NCBA QAorLyoKKyAqIE5pdHJvIEVuY2xhdmVzIGFjY2VsZXJhdG9yCisgKgorICogQ29weXJpZ2h0IMKp IDIwMjYgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNl cnZlZC4KKyAqCisgKiBBdXRob3JzOgorICogICBBbGV4YW5kZXIgR3JhZiA8Z3JhZkBhbWF6b24u Y29tPgorICoKKyAqIE5pdHJvIEVuY2xhdmVzIGFyZSBhIGNvbmZpZGVudGlhbCBjb21wdXRlIHRl Y2hub2xvZ3kgd2hpY2gKKyAqIGFsbG93cyBhIHBhcmVudCBpbnN0YW5jZSB0byBjYXJ2ZSBvdXQg cmVzb3VyY2VzIGZyb20gaXRzZWxmCisgKiBhbmQgc3Bhd24gYSBjb25maWRlbnRpYWwgc2libGlu ZyBWTSBuZXh0IHRvIGl0c2VsZi4gU2ltaWxhcgorICogdG8gb3RoZXIgY29uZmlkZW50aWFsIGNv bXB1dGUgc29sdXRpb25zLCB0aGlzIHNpYmxpbmcgaXMKKyAqIGNvbnRyb2xsZWQgYnkgYW4gdW5k ZXJseWluZyB2bW0sIGJ1dCBzdGlsbCBoYXMgYSBoaWdoZXIgbGV2ZWwKKyAqIHZtbSAoUUVNVSkg dG8gaW1wbGVtZW50IHNvbWUgb2YgaXRzIEkvTyBmdW5jdGlvbmFsaXR5IGFuZAorICogbGlmZWN5 Y2xlLgorICoKKyAqIFRoaXMgYWNjZWxlcmF0b3IgZHJpdmVzIC9kZXYvbml0cm9fZW5jbGF2ZXMg dG8gc3Bhd24gYSBOaXRybworICogRW5jbGF2ZS4gSXQgd29ya3MgaW4gdGFuZGVtIHdpdGggdGhl IG5pdHJvX2VuY2xhdmVzIG1hY2hpbmUKKyAqIHdoaWNoIGVuc3VyZXMgdGhlIGNvcnJlY3QgYmFj a2VuZCBkZXZpY2VzIGFyZSBhdmFpbGFibGUgYW5kCisgKiB0aGF0IHRoZSBpbml0aWFsIHNlZWQg KGFuIEVJRiBmaWxlKSBpcyBsb2FkZWQgYXQgdGhlIGNvcnJlY3QKKyAqIG9mZnNldCBpbiBtZW1v cnkuCisgKgorICogVGhlIGFjY2VsIHN0YXJ0cyB0aGUgZW5jbGF2ZSB3aGVuIHRoZSBtYWNoaW5l IHN0YXJ0cywgYWZ0ZXIKKyAqIGFsbCBkZXZpY2Ugc2V0dXAgaXMgZmluaXNoZWQuCisgKgorICog U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKKyAqLworCisjaW5jbHVk ZSAicWVtdS9vc2RlcC5oIgorI2luY2x1ZGUgInFlbXUvZXJyb3ItcmVwb3J0LmgiCisjaW5jbHVk ZSAicWFwaS9lcnJvci5oIgorI2luY2x1ZGUgInFhcGkvdmlzaXRvci5oIgorI2luY2x1ZGUgInFl bXUvbW9kdWxlLmgiCisjaW5jbHVkZSAicWVtdS9yY3UuaCIKKyNpbmNsdWRlICJxZW11L2FjY2Vs LmgiCisjaW5jbHVkZSAicWVtdS9ndWVzdC1yYW5kb20uaCIKKyNpbmNsdWRlICJxZW11L21haW4t bG9vcC5oIgorI2luY2x1ZGUgImFjY2VsL2FjY2VsLW9wcy5oIgorI2luY2x1ZGUgImFjY2VsL2Fj Y2VsLWNwdS1vcHMuaCIKKyNpbmNsdWRlICJhY2NlbC9kdW1teS1jcHVzLmgiCisjaW5jbHVkZSAi c3lzdGVtL2NwdXMuaCIKKyNpbmNsdWRlICJody9jb3JlL2NwdS5oIgorI2luY2x1ZGUgImh3L2Nv cmUvYm9hcmRzLmgiCisjaW5jbHVkZSAiaHcvbml0cm8vbml0cm8tdnNvY2stYnVzLmgiCisjaW5j bHVkZSAic3lzdGVtL3JhbWJsb2NrLmgiCisjaW5jbHVkZSAic3lzdGVtL25pdHJvLWFjY2VsLmgi CisjaW5jbHVkZSAidHJhY2UuaCIKKworI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUg InN0YW5kYXJkLWhlYWRlcnMvbGludXgvbml0cm9fZW5jbGF2ZXMuaCIKKworYm9vbCBuaXRyb19h bGxvd2VkOworCit0eXBlZGVmIHN0cnVjdCBOaXRyb0FjY2VsU3RhdGUgeworICAgIEFjY2VsU3Rh dGUgcGFyZW50X29iajsKKworICAgIGludCBuZV9mZDsKKyAgICBpbnQgZW5jbGF2ZV9mZDsKKyAg ICB1aW50NjRfdCBzbG90X3VpZDsKKyAgICB1aW50NjRfdCBlbmNsYXZlX2NpZDsKKyAgICBib29s IGRlYnVnX21vZGU7Cit9IE5pdHJvQWNjZWxTdGF0ZTsKKworc3RhdGljIGludCBuaXRyb19pbml0 X21hY2hpbmUoQWNjZWxTdGF0ZSAqYXMsIE1hY2hpbmVTdGF0ZSAqbXMpCit7CisgICAgTml0cm9B Y2NlbFN0YXRlICpzID0gTklUUk9fQUNDRUwoYXMpOworICAgIHVpbnQ2NF90IHNsb3RfdWlkID0g MDsKKyAgICBpbnQgcmV0OworCisgICAgcy0+bmVfZmQgPSBvcGVuKCIvZGV2L25pdHJvX2VuY2xh dmVzIiwgT19SRFdSIHwgT19DTE9FWEVDKTsKKyAgICBpZiAocy0+bmVfZmQgPCAwKSB7CisgICAg ICAgIGVycm9yX3JlcG9ydCgibml0cm86IGZhaWxlZCB0byBvcGVuIC9kZXYvbml0cm9fZW5jbGF2 ZXM6ICVzIiwKKyAgICAgICAgICAgICAgICAgICAgIHN0cmVycm9yKGVycm5vKSk7CisgICAgICAg IHJldHVybiAtZXJybm87CisgICAgfQorCisgICAgcmV0ID0gaW9jdGwocy0+bmVfZmQsIE5FX0NS RUFURV9WTSwgJnNsb3RfdWlkKTsKKyAgICBpZiAocmV0IDwgMCkgeworICAgICAgICBlcnJvcl9y ZXBvcnQoIm5pdHJvOiBORV9DUkVBVEVfVk0gZmFpbGVkOiAlcyIsIHN0cmVycm9yKGVycm5vKSk7 CisgICAgICAgIGNsb3NlKHMtPm5lX2ZkKTsKKyAgICAgICAgcmV0dXJuIC1lcnJubzsKKyAgICB9 CisgICAgcy0+ZW5jbGF2ZV9mZCA9IHJldDsKKyAgICBzLT5zbG90X3VpZCA9IHNsb3RfdWlkOwor CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbml0cm9fZG9uYXRlX3JhbV9ibG9jayhS QU1CbG9jayAqcmIsIHZvaWQgKm9wYXF1ZSkKK3sKKyAgICBOaXRyb0FjY2VsU3RhdGUgKnMgPSBv cGFxdWU7CisgICAgc3RydWN0IG5lX3VzZXJfbWVtb3J5X3JlZ2lvbiByZWdpb24gPSB7CisgICAg ICAgIC5mbGFncyA9IDAsCisgICAgICAgIC5tZW1vcnlfc2l6ZSA9IHJiLT51c2VkX2xlbmd0aCwK KyAgICAgICAgLnVzZXJzcGFjZV9hZGRyID0gKHVpbnQ2NF90KSh1aW50cHRyX3QpcmItPmhvc3Qs CisgICAgfTsKKworICAgIGlmICghcmItPnVzZWRfbGVuZ3RoKSB7CisgICAgICAgIHJldHVybiAw OworICAgIH0KKworICAgIGlmIChpb2N0bChzLT5lbmNsYXZlX2ZkLCBORV9TRVRfVVNFUl9NRU1P UllfUkVHSU9OLCAmcmVnaW9uKSA8IDApIHsKKyAgICAgICAgZXJyb3JfcmVwb3J0KCJuaXRybzog TkVfU0VUX1VTRVJfTUVNT1JZX1JFR0lPTiBmYWlsZWQgZm9yICVzICIKKyAgICAgICAgICAgICAg ICAgICAgICIoJSIgUFJJdTY0ICIgYnl0ZXMpOiAlcyIsIHJiLT5pZHN0ciwgcmItPnVzZWRfbGVu Z3RoLAorICAgICAgICAgICAgICAgICAgICAgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgICAgcmV0 dXJuIC1lcnJubzsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKKy8qCisgKiBTdGFydCB0aGUg RW5jbGF2ZS4gQXQgdGhpcyBwb2ludCBtZW1vcnkgaXMgc2V0IHVwIGFuZCB0aGUgRUlGIGlzIGxv YWRlZC4KKyAqIFRoaXMgZnVuY3Rpb24gZG9uYXRlcyBtZW1vcnksIGFkZHMgdkNQVXMsIGFuZCBz dGFydHMgdGhlIGVuY2xhdmUuCisgKi8KK3N0YXRpYyB2b2lkIG5pdHJvX3NldHVwX3Bvc3QoQWNj ZWxTdGF0ZSAqYXMpCit7CisgICAgTWFjaGluZVN0YXRlICptcyA9IE1BQ0hJTkUocWRldl9nZXRf bWFjaGluZSgpKTsKKyAgICBOaXRyb0FjY2VsU3RhdGUgKnMgPSBOSVRST19BQ0NFTChhcyk7Cisg ICAgaW50IG5yX2NwdXMgPSBtcy0+c21wLmNwdXM7CisgICAgaW50IGksIHJldDsKKyAgICBzdHJ1 Y3QgbmVfZW5jbGF2ZV9zdGFydF9pbmZvIHN0YXJ0X2luZm8gPSB7CisgICAgICAgIC5mbGFncyA9 IHMtPmRlYnVnX21vZGUgPyBORV9FTkNMQVZFX0RFQlVHX01PREUgOiAwLAorICAgICAgICAuZW5j bGF2ZV9jaWQgPSBzLT5lbmNsYXZlX2NpZCwKKyAgICB9OworCisgICAgcmV0ID0gcWVtdV9yYW1f Zm9yZWFjaF9ibG9jayhuaXRyb19kb25hdGVfcmFtX2Jsb2NrLCBzKTsKKyAgICBpZiAocmV0IDwg MCkgeworICAgICAgICBlcnJvcl9yZXBvcnQoIm5pdHJvOiBmYWlsZWQgdG8gZG9uYXRlIG1lbW9y eSIpOworICAgICAgICBleGl0KDEpOworICAgIH0KKworICAgIGZvciAoaSA9IDA7IGkgPCBucl9j cHVzOyBpKyspIHsKKyAgICAgICAgdWludDMyX3QgY3B1X2lkID0gMDsKKyAgICAgICAgaWYgKGlv Y3RsKHMtPmVuY2xhdmVfZmQsIE5FX0FERF9WQ1BVLCAmY3B1X2lkKSA8IDApIHsKKyAgICAgICAg ICAgIGVycm9yX3JlcG9ydCgibml0cm86IE5FX0FERF9WQ1BVIGZhaWxlZDogJXMiLCBzdHJlcnJv cihlcnJubykpOworICAgICAgICAgICAgZXhpdCgxKTsKKyAgICAgICAgfQorICAgIH0KKworICAg IHJldCA9IGlvY3RsKHMtPmVuY2xhdmVfZmQsIE5FX1NUQVJUX0VOQ0xBVkUsICZzdGFydF9pbmZv KTsKKyAgICBpZiAocmV0IDwgMCkgeworICAgICAgICBzd2l0Y2ggKGVycm5vKSB7CisgICAgICAg IGNhc2UgTkVfRVJSX05PX01FTV9SRUdJT05TX0FEREVEOgorICAgICAgICAgICAgZXJyb3JfcmVw b3J0KCJuaXRybzogbm8gbWVtb3J5IHJlZ2lvbnMgYWRkZWQiKTsKKyAgICAgICAgICAgIGJyZWFr OworICAgICAgICBjYXNlIE5FX0VSUl9OT19WQ1BVU19BRERFRDoKKyAgICAgICAgICAgIGVycm9y X3JlcG9ydCgibml0cm86IG5vIHZDUFVzIGFkZGVkIik7CisgICAgICAgICAgICBicmVhazsKKyAg ICAgICAgY2FzZSBORV9FUlJfRU5DTEFWRV9NRU1fTUlOX1NJWkU6CisgICAgICAgICAgICBlcnJv cl9yZXBvcnQoIm5pdHJvOiBtZW1vcnkgaXMgYmVsb3cgdGhlIG1pbmltdW0gIgorICAgICAgICAg ICAgICAgICAgICAgICAgICJyZXF1aXJlZCBzaXplLiBUcnkgaW5jcmVhc2luZyAtbSIpOworICAg ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTkVfRVJSX0ZVTExfQ09SRVNfTk9UX1VTRUQ6 CisgICAgICAgICAgICBlcnJvcl9yZXBvcnQoIm5pdHJvOiByZXF1aXJlcyBmdWxsIENQVSBjb3Jl cy4gIgorICAgICAgICAgICAgICAgICAgICAgICAgICJUcnkgaW5jcmVhc2luZyAtc21wIHRvIGEg bXVsdGlwbGUgb2YgdGhyZWFkcyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgInBlciBjb3Jl IG9uIHRoaXMgaG9zdCAoZS5nLiAtc21wIDIpIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAg ICAgY2FzZSBORV9FUlJfTk9UX0lOX0lOSVRfU1RBVEU6CisgICAgICAgICAgICBlcnJvcl9yZXBv cnQoIm5pdHJvOiBub3QgaW4gaW5pdCBzdGF0ZSIpOworICAgICAgICAgICAgYnJlYWs7CisgICAg ICAgIGNhc2UgTkVfRVJSX0lOVkFMSURfRkxBR19WQUxVRToKKyAgICAgICAgICAgIGVycm9yX3Jl cG9ydCgibml0cm86IGludmFsaWQgZmxhZyB2YWx1ZSBmb3IgTkVfU1RBUlRfRU5DTEFWRSIpOwor ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTkVfRVJSX0lOVkFMSURfRU5DTEFWRV9D SUQ6CisgICAgICAgICAgICBlcnJvcl9yZXBvcnQoIm5pdHJvOiBpbnZhbGlkIGVuY2xhdmUgQ0lE Iik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGVy cm9yX3JlcG9ydCgibml0cm86IE5FX1NUQVJUX0VOQ0xBVkUgZmFpbGVkOiAlcyAoZXJybm8gJWQp IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAg ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGV4aXQoMSk7CisgICAgfQorCisg ICAgcy0+ZW5jbGF2ZV9jaWQgPSBzdGFydF9pbmZvLmVuY2xhdmVfY2lkOworICAgIHRyYWNlX25p dHJvX2VuY2xhdmVfc3RhcnRlZChzLT5lbmNsYXZlX2NpZCk7CisKKyAgICAvKgorICAgICAqIE5v dGlmeSBhbGwgTml0cm8gdnNvY2sgYnVzIGRldmljZXMgdGhhdCB0aGUgZW5jbGF2ZSBoYXMgc3Rh cnRlZAorICAgICAqIGFuZCBwcm92aWRlIHRoZW0gd2l0aCB0aGUgQ0lEIGZvciB2c29jayBjb25u ZWN0aW9ucy4KKyAgICAgKi8KKyAgICB7CisgICAgICAgIE5pdHJvVnNvY2tCcmlkZ2UgKmJyaWRn ZSA9IG5pdHJvX3Zzb2NrX2JyaWRnZV9maW5kKCk7CisgICAgICAgIEVycm9yICplcnIgPSBOVUxM OworCisgICAgICAgIGlmIChicmlkZ2UpIHsKKyAgICAgICAgICAgIG5pdHJvX3Zzb2NrX2JyaWRn ZV9zdGFydF9lbmNsYXZlKGJyaWRnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICh1aW50MzJfdClzLT5lbmNsYXZlX2NpZCwgJmVycik7CisgICAgICAgICAg ICBpZiAoZXJyKSB7CisgICAgICAgICAgICAgICAgZXJyb3JfcmVwb3J0X2VycihlcnIpOworICAg ICAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9 CisKKy8qIFFPTSBwcm9wZXJ0aWVzICovCisKK3N0YXRpYyBib29sIG5pdHJvX2dldF9kZWJ1Z19t b2RlKE9iamVjdCAqb2JqLCBFcnJvciAqKmVycnApCit7CisgICAgcmV0dXJuIE5JVFJPX0FDQ0VM KG9iaiktPmRlYnVnX21vZGU7Cit9CisKK3N0YXRpYyB2b2lkIG5pdHJvX3NldF9kZWJ1Z19tb2Rl KE9iamVjdCAqb2JqLCBib29sIHZhbHVlLCBFcnJvciAqKmVycnApCit7CisgICAgTklUUk9fQUND RUwob2JqKS0+ZGVidWdfbW9kZSA9IHZhbHVlOworfQorCitzdGF0aWMgdm9pZCBuaXRyb19nZXRf ZW5jbGF2ZV9jaWQoT2JqZWN0ICpvYmosIFZpc2l0b3IgKnYsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqb3BhcXVlLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkKK3sKKyAgICB1aW50NjRfdCB2 YWwgPSBOSVRST19BQ0NFTChvYmopLT5lbmNsYXZlX2NpZDsKKyAgICB2aXNpdF90eXBlX3VpbnQ2 NCh2LCBuYW1lLCAmdmFsLCBlcnJwKTsKK30KKworc3RhdGljIHZvaWQgbml0cm9fc2V0X2VuY2xh dmVfY2lkKE9iamVjdCAqb2JqLCBWaXNpdG9yICp2LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKm9wYXF1ZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnApCit7CisgICAgdWludDY0X3QgdmFsOwor ICAgIGlmICh2aXNpdF90eXBlX3VpbnQ2NCh2LCBuYW1lLCAmdmFsLCBlcnJwKSkgeworICAgICAg ICBOSVRST19BQ0NFTChvYmopLT5lbmNsYXZlX2NpZCA9IHZhbDsKKyAgICB9Cit9CisKK3N0YXRp YyB2b2lkIG5pdHJvX2FjY2VsX2NsYXNzX2luaXQoT2JqZWN0Q2xhc3MgKm9jLCBjb25zdCB2b2lk ICpkYXRhKQoreworICAgIEFjY2VsQ2xhc3MgKmFjID0gQUNDRUxfQ0xBU1Mob2MpOworICAgIGFj LT5uYW1lID0gIk5pdHJvIjsKKyAgICBhYy0+aW5pdF9tYWNoaW5lID0gbml0cm9faW5pdF9tYWNo aW5lOworICAgIGFjLT5zZXR1cF9wb3N0ID0gbml0cm9fc2V0dXBfcG9zdDsKKyAgICBhYy0+YWxs b3dlZCA9ICZuaXRyb19hbGxvd2VkOworCisgICAgb2JqZWN0X2NsYXNzX3Byb3BlcnR5X2FkZF9i b29sKG9jLCAiZGVidWctbW9kZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG5pdHJvX2dldF9kZWJ1Z19tb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBuaXRyb19zZXRfZGVidWdfbW9kZSk7CisgICAgb2JqZWN0X2NsYXNzX3Byb3BlcnR5X3NldF9k ZXNjcmlwdGlvbihvYywgImRlYnVnLW1vZGUiLAorICAgICAgICAiU3RhcnQgZW5jbGF2ZSBpbiBk ZWJ1ZyBtb2RlIChlbmFibGVzIGNvbnNvbGUgb3V0cHV0KSIpOworCisgICAgb2JqZWN0X2NsYXNz X3Byb3BlcnR5X2FkZChvYywgImVuY2xhdmUtY2lkIiwgInVpbnQ2NCIsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBuaXRyb19nZXRfZW5jbGF2ZV9jaWQsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBuaXRyb19zZXRfZW5jbGF2ZV9jaWQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICBvYmplY3RfY2xhc3NfcHJvcGVydHlfc2V0X2Rl c2NyaXB0aW9uKG9jLCAiZW5jbGF2ZS1jaWQiLAorICAgICAgICAiRW5jbGF2ZSBDSUQgKDAgPSBh dXRvLWFzc2lnbmVkIGJ5IE5pdHJvKSIpOworfQorCitzdGF0aWMgY29uc3QgVHlwZUluZm8gbml0 cm9fYWNjZWxfdHlwZSA9IHsKKyAgICAubmFtZSA9IFRZUEVfTklUUk9fQUNDRUwsCisgICAgLnBh cmVudCA9IFRZUEVfQUNDRUwsCisgICAgLmluc3RhbmNlX3NpemUgPSBzaXplb2YoTml0cm9BY2Nl bFN0YXRlKSwKKyAgICAuY2xhc3NfaW5pdCA9IG5pdHJvX2FjY2VsX2NsYXNzX2luaXQsCit9Owor bW9kdWxlX29iaihUWVBFX05JVFJPX0FDQ0VMKTsKKworc3RhdGljIGJvb2wgbml0cm9fY3B1c19h cmVfcmVzZXR0YWJsZSh2b2lkKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworc3RhdGljIHZv aWQgbml0cm9fYWNjZWxfb3BzX2NsYXNzX2luaXQoT2JqZWN0Q2xhc3MgKm9jLCBjb25zdCB2b2lk ICpkYXRhKQoreworICAgIEFjY2VsT3BzQ2xhc3MgKm9wcyA9IEFDQ0VMX09QU19DTEFTUyhvYyk7 CisgICAgb3BzLT5jcmVhdGVfdmNwdV90aHJlYWQgPSBkdW1teV9zdGFydF92Y3B1X3RocmVhZDsK KyAgICBvcHMtPmhhbmRsZV9pbnRlcnJ1cHQgPSBnZW5lcmljX2hhbmRsZV9pbnRlcnJ1cHQ7Cisg ICAgb3BzLT5jcHVzX2FyZV9yZXNldHRhYmxlID0gbml0cm9fY3B1c19hcmVfcmVzZXR0YWJsZTsK K30KKworc3RhdGljIGNvbnN0IFR5cGVJbmZvIG5pdHJvX2FjY2VsX29wc190eXBlID0geworICAg IC5uYW1lID0gQUNDRUxfT1BTX05BTUUoIm5pdHJvIiksCisgICAgLnBhcmVudCA9IFRZUEVfQUND RUxfT1BTLAorICAgIC5jbGFzc19pbml0ID0gbml0cm9fYWNjZWxfb3BzX2NsYXNzX2luaXQsCisg ICAgLmFic3RyYWN0ID0gdHJ1ZSwKK307Cittb2R1bGVfb2JqKEFDQ0VMX09QU19OQU1FKCJuaXRy byIpKTsKKworc3RhdGljIHZvaWQgbml0cm9fdHlwZV9pbml0KHZvaWQpCit7CisgICAgdHlwZV9y ZWdpc3Rlcl9zdGF0aWMoJm5pdHJvX2FjY2VsX3R5cGUpOworICAgIHR5cGVfcmVnaXN0ZXJfc3Rh dGljKCZuaXRyb19hY2NlbF9vcHNfdHlwZSk7Cit9CisKK3R5cGVfaW5pdChuaXRyb190eXBlX2lu aXQpOwpkaWZmIC0tZ2l0IGEvYWNjZWwvbml0cm8vdHJhY2UtZXZlbnRzIGIvYWNjZWwvbml0cm8v dHJhY2UtZXZlbnRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjk2NzNl YjVhYTIKLS0tIC9kZXYvbnVsbAorKysgYi9hY2NlbC9uaXRyby90cmFjZS1ldmVudHMKQEAgLTAs MCArMSw2IEBACisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisj CisjIFNlZSBkb2NzL2RldmVsL3RyYWNpbmcucnN0IGZvciBzeW50YXggZG9jdW1lbnRhdGlvbi4K KworIyBuaXRyby1hY2NlbC5jCituaXRyb19lbmNsYXZlX3N0YXJ0ZWQodWludDY0X3QgY2lkKSAi bml0cm86IGVuY2xhdmUgc3RhcnRlZCwgQ0lEPSUiUFJJdTY0CmRpZmYgLS1naXQgYS9hY2NlbC9u aXRyby90cmFjZS5oIGIvYWNjZWwvbml0cm8vdHJhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwLi44YzU1NjQ3MjVkCi0tLSAvZGV2L251bGwKKysrIGIvYWNjZWwvbml0 cm8vdHJhY2UuaApAQCAtMCwwICsxLDIgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9yLWxhdGVyICovCisjaW5jbHVkZSAidHJhY2UvdHJhY2UtYWNjZWxfbml0cm8uaCIK ZGlmZiAtLWdpdCBhL2FjY2VsL3N0dWJzL21lc29uLmJ1aWxkIGIvYWNjZWwvc3R1YnMvbWVzb24u YnVpbGQKaW5kZXggNDhlY2NkMWI4Ni4uNWRlNGEyNzlmZiAxMDA2NDQKLS0tIGEvYWNjZWwvc3R1 YnMvbWVzb24uYnVpbGQKKysrIGIvYWNjZWwvc3R1YnMvbWVzb24uYnVpbGQKQEAgLTMsNiArMyw3 IEBAIHN5c3RlbV9zdHVic19zcy5hZGQod2hlbjogJ0NPTkZJR19YRU4nLCBpZl9mYWxzZTogZmls ZXMoJ3hlbi1zdHViLmMnKSkKIHN5c3RlbV9zdHVic19zcy5hZGQod2hlbjogJ0NPTkZJR19LVk0n LCBpZl9mYWxzZTogZmlsZXMoJ2t2bS1zdHViLmMnKSkKIHN5c3RlbV9zdHVic19zcy5hZGQod2hl bjogJ0NPTkZJR19UQ0cnLCBpZl9mYWxzZTogZmlsZXMoJ3RjZy1zdHViLmMnKSkKIHN5c3RlbV9z dHVic19zcy5hZGQod2hlbjogJ0NPTkZJR19IVkYnLCBpZl9mYWxzZTogZmlsZXMoJ2h2Zi1zdHVi LmMnKSkKK3N5c3RlbV9zdHVic19zcy5hZGQod2hlbjogJ0NPTkZJR19OSVRSTycsIGlmX2ZhbHNl OiBmaWxlcygnbml0cm8tc3R1Yi5jJykpCiBzeXN0ZW1fc3R1YnNfc3MuYWRkKHdoZW46ICdDT05G SUdfTlZNTScsIGlmX2ZhbHNlOiBmaWxlcygnbnZtbS1zdHViLmMnKSkKIHN5c3RlbV9zdHVic19z cy5hZGQod2hlbjogJ0NPTkZJR19XSFBYJywgaWZfZmFsc2U6IGZpbGVzKCd3aHB4LXN0dWIuYycp KQogc3lzdGVtX3N0dWJzX3NzLmFkZCh3aGVuOiAnQ09ORklHX01TSFYnLCBpZl9mYWxzZTogZmls ZXMoJ21zaHYtc3R1Yi5jJykpCmRpZmYgLS1naXQgYS9hY2NlbC9zdHVicy9uaXRyby1zdHViLmMg Yi9hY2NlbC9zdHVicy9uaXRyby1zdHViLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMC4uMTg2Yzg0NDRmOAotLS0gL2Rldi9udWxsCisrKyBiL2FjY2VsL3N0dWJzL25pdHJv LXN0dWIuYwpAQCAtMCwwICsxLDExIEBACisvKgorICogTml0cm8gYWNjZWwgc3R1YnMgZm9yIFFF TVUKKyAqCisgKiBDb3B5cmlnaHQgwqkgMjAyNiBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZp bGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9yLWxhdGVyCisgKi8KKworI2luY2x1ZGUgInFlbXUvb3NkZXAuaCIKKwor Ym9vbCBuaXRyb19hbGxvd2VkOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zeXN0ZW0vaHdfYWNjZWwu aCBiL2luY2x1ZGUvc3lzdGVtL2h3X2FjY2VsLmgKaW5kZXggNjI4YTUwZTA2Ni4uZjBjMTBiNmQ4 MCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zeXN0ZW0vaHdfYWNjZWwuaAorKysgYi9pbmNsdWRlL3N5 c3RlbS9od19hY2NlbC5oCkBAIC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSAic3lzdGVtL21zaHYu aCIKICNpbmNsdWRlICJzeXN0ZW0vd2hweC5oIgogI2luY2x1ZGUgInN5c3RlbS9udm1tLmgiCisj aW5jbHVkZSAic3lzdGVtL25pdHJvLWFjY2VsLmgiCiAKIC8qKgogICogY3B1X3N5bmNocm9uaXpl X3N0YXRlOgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zeXN0ZW0vbml0cm8tYWNjZWwuaCBiL2luY2x1 ZGUvc3lzdGVtL25pdHJvLWFjY2VsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMC4uYTkzYWE2ZmIwMAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvc3lzdGVtL25pdHJv LWFjY2VsLmgKQEAgLTAsMCArMSwyNSBAQAorLyoKKyAqIE5pdHJvIEVuY2xhdmVzIGFjY2VsZXJh dG9yIC0gcHVibGljIGludGVyZmFjZQorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9yLWxhdGVyCisgKi8KKworI2lmbmRlZiBTWVNURU1fTklUUk9fQUNDRUxfSAorI2Rl ZmluZSBTWVNURU1fTklUUk9fQUNDRUxfSAorCisjaW5jbHVkZSAicWVtdS9hY2NlbC5oIgorCitl eHRlcm4gYm9vbCBuaXRyb19hbGxvd2VkOworCitzdGF0aWMgaW5saW5lIGJvb2wgbml0cm9fZW5h YmxlZCh2b2lkKQoreworICAgIHJldHVybiBuaXRyb19hbGxvd2VkOworfQorCisjZGVmaW5lIFRZ UEVfTklUUk9fQUNDRUwgQUNDRUxfQ0xBU1NfTkFNRSgibml0cm8iKQorCit0eXBlZGVmIHN0cnVj dCBOaXRyb0FjY2VsU3RhdGUgTml0cm9BY2NlbFN0YXRlOworREVDTEFSRV9JTlNUQU5DRV9DSEVD S0VSKE5pdHJvQWNjZWxTdGF0ZSwgTklUUk9fQUNDRUwsCisgICAgICAgICAgICAgICAgICAgICAg ICAgVFlQRV9OSVRST19BQ0NFTCkKKworI2VuZGlmIC8qIFNZU1RFTV9OSVRST19BQ0NFTF9IICov CmRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCmluZGV4IGI2OGRiYWUwNzIu LjNjNmZhN2E1NWEgMTAwNjQ0Ci0tLSBhL21lc29uLmJ1aWxkCisrKyBiL21lc29uLmJ1aWxkCkBA IC0zMDIsMTEgKzMwMiwxMyBAQCBhY2NlbGVyYXRvcl90YXJnZXRzICs9IHsgJ0NPTkZJR19YRU4n OiB4ZW5fdGFyZ2V0cyB9CiBpZiBjcHUgPT0gJ2FhcmNoNjQnCiAgIGFjY2VsZXJhdG9yX3Rhcmdl dHMgKz0gewogICAgICdDT05GSUdfSFZGJzogWydhYXJjaDY0LXNvZnRtbXUnXSwKKyAgICAnQ09O RklHX05JVFJPJzogWydhYXJjaDY0LXNvZnRtbXUnXSwKICAgICAnQ09ORklHX1dIUFgnOiBbJ2Fh cmNoNjQtc29mdG1tdSddCiAgIH0KIGVsaWYgY3B1ID09ICd4ODZfNjQnCiAgIGFjY2VsZXJhdG9y X3RhcmdldHMgKz0gewogICAgICdDT05GSUdfSFZGJzogWyd4ODZfNjQtc29mdG1tdSddLAorICAg ICdDT05GSUdfTklUUk8nOiBbJ3g4Nl82NC1zb2Z0bW11J10sCiAgICAgJ0NPTkZJR19OVk1NJzog WydpMzg2LXNvZnRtbXUnLCAneDg2XzY0LXNvZnRtbXUnXSwKICAgICAnQ09ORklHX1dIUFgnOiBb J2kzODYtc29mdG1tdScsICd4ODZfNjQtc29mdG1tdSddLAogICAgICdDT05GSUdfTVNIVic6IFsn eDg2XzY0LXNvZnRtbXUnXSwKQEAgLTg4MSw2ICs4ODMsMTEgQEAgaWYgZ2V0X29wdGlvbignaHZm JykuYWxsb3dlZCgpCiAgIGVuZGlmCiBlbmRpZgogCituaXRybyA9IG5vdF9mb3VuZAoraWYgZ2V0 X29wdGlvbignbml0cm8nKS5hbGxvd2VkKCkgYW5kIGhvc3Rfb3MgPT0gJ2xpbnV4JworICBhY2Nl bGVyYXRvcnMgKz0gJ0NPTkZJR19OSVRSTycKK2VuZGlmCisKIG52bW0gPSBub3RfZm91bmQKIGlm IGhvc3Rfb3MgPT0gJ25ldGJzZCcKICAgbnZtbSA9IGNjLmZpbmRfbGlicmFyeSgnbnZtbScsIHJl cXVpcmVkOiBnZXRfb3B0aW9uKCdudm1tJykpCkBAIC05MjIsNiArOTI5LDkgQEAgZW5kaWYKIGlm ICdDT05GSUdfSFZGJyBub3QgaW4gYWNjZWxlcmF0b3JzIGFuZCBnZXRfb3B0aW9uKCdodmYnKS5l bmFibGVkKCkKICAgZXJyb3IoJ0hWRiBub3QgYXZhaWxhYmxlIG9uIHRoaXMgcGxhdGZvcm0nKQog ZW5kaWYKK2lmICdDT05GSUdfTklUUk8nIG5vdCBpbiBhY2NlbGVyYXRvcnMgYW5kIGdldF9vcHRp b24oJ25pdHJvJykuZW5hYmxlZCgpCisgIGVycm9yKCdOSVRSTyBub3QgYXZhaWxhYmxlIG9uIHRo aXMgcGxhdGZvcm0nKQorZW5kaWYKIGlmICdDT05GSUdfTlZNTScgbm90IGluIGFjY2VsZXJhdG9y cyBhbmQgZ2V0X29wdGlvbignbnZtbScpLmVuYWJsZWQoKQogICBlcnJvcignTlZNTSBub3QgYXZh aWxhYmxlIG9uIHRoaXMgcGxhdGZvcm0nKQogZW5kaWYKQEAgLTM1OTMsNiArMzYwMyw3IEBAIGlm IGhhdmVfc3lzdGVtCiAgICAgJ2FjY2VsL2h2ZicsCiAgICAgJ2FjY2VsL2t2bScsCiAgICAgJ2Fj Y2VsL21zaHYnLAorICAgICdhY2NlbC9uaXRybycsCiAgICAgJ2F1ZGlvJywKICAgICAnYmFja2Vu ZHMnLAogICAgICdiYWNrZW5kcy90cG0nLApkaWZmIC0tZ2l0IGEvbWVzb25fb3B0aW9ucy50eHQg Yi9tZXNvbl9vcHRpb25zLnR4dAppbmRleCAyODM2MTU2MjU3Li4zMWQ1OTE2Y2ZjIDEwMDY0NAot LS0gYS9tZXNvbl9vcHRpb25zLnR4dAorKysgYi9tZXNvbl9vcHRpb25zLnR4dApAQCAtNzksNiAr NzksOCBAQCBvcHRpb24oJ3docHgnLCB0eXBlOiAnZmVhdHVyZScsIHZhbHVlOiAnYXV0bycsCiAg ICAgICAgZGVzY3JpcHRpb246ICdXSFBYIGFjY2VsZXJhdGlvbiBzdXBwb3J0JykKIG9wdGlvbign aHZmJywgdHlwZTogJ2ZlYXR1cmUnLCB2YWx1ZTogJ2F1dG8nLAogICAgICAgIGRlc2NyaXB0aW9u OiAnSFZGIGFjY2VsZXJhdGlvbiBzdXBwb3J0JykKK29wdGlvbignbml0cm8nLCB0eXBlOiAnZmVh dHVyZScsIHZhbHVlOiAnYXV0bycsCisgICAgICAgZGVzY3JpcHRpb246ICdOaXRybyBhY2NlbGVy YXRpb24gc3VwcG9ydCcpCiBvcHRpb24oJ252bW0nLCB0eXBlOiAnZmVhdHVyZScsIHZhbHVlOiAn YXV0bycsCiAgICAgICAgZGVzY3JpcHRpb246ICdOVk1NIGFjY2VsZXJhdGlvbiBzdXBwb3J0JykK IG9wdGlvbigneGVuJywgdHlwZTogJ2ZlYXR1cmUnLCB2YWx1ZTogJ2F1dG8nLApkaWZmIC0tZ2l0 IGEvcWVtdS1vcHRpb25zLmh4IGIvcWVtdS1vcHRpb25zLmh4CmluZGV4IDMzZmNmZTdjZTYuLjli NmZiMjQ3ZjcgMTAwNjQ0Ci0tLSBhL3FlbXUtb3B0aW9ucy5oeAorKysgYi9xZW11LW9wdGlvbnMu aHgKQEAgLTI4LDcgKzI4LDcgQEAgREVGKCJtYWNoaW5lIiwgSEFTX0FSRywgUUVNVV9PUFRJT05f bWFjaGluZSwgXAogICAgICItbWFjaGluZSBbdHlwZT1dbmFtZVsscHJvcFs9dmFsdWVdWywuLi5d XVxuIgogICAgICIgICAgICAgICAgICAgICAgc2VsZWN0cyBlbXVsYXRlZCBtYWNoaW5lICgnLW1h Y2hpbmUgaGVscCcgZm9yIGxpc3QpXG4iCiAgICAgIiAgICAgICAgICAgICAgICBwcm9wZXJ0eSBh Y2NlbD1hY2NlbDFbOmFjY2VsMls6Li4uXV0gc2VsZWN0cyBhY2NlbGVyYXRvclxuIgotICAgICIg ICAgICAgICAgICAgICAgc3VwcG9ydGVkIGFjY2VsZXJhdG9ycyBhcmUga3ZtLCB4ZW4sIGh2Ziwg bnZtbSwgd2hweCwgbXNodiBvciB0Y2cgKGRlZmF1bHQ6IHRjZylcbiIKKyAgICAiICAgICAgICAg ICAgICAgIHN1cHBvcnRlZCBhY2NlbGVyYXRvcnMgYXJlIGt2bSwgeGVuLCBodmYsIG5pdHJvLCBu dm1tLCB3aHB4LCBtc2h2IG9yIHRjZyAoZGVmYXVsdDogdGNnKVxuIgogICAgICIgICAgICAgICAg ICAgICAgdm1wb3J0PW9ufG9mZnxhdXRvIGNvbnRyb2xzIGVtdWxhdGlvbiBvZiB2bXBvcnQgKGRl ZmF1bHQ6IGF1dG8pXG4iCiAgICAgIiAgICAgICAgICAgICAgICBkdW1wLWd1ZXN0LWNvcmU9b258 b2ZmIGluY2x1ZGUgZ3Vlc3QgbWVtb3J5IGluIGEgY29yZSBkdW1wIChkZWZhdWx0PW9uKVxuIgog ICAgICIgICAgICAgICAgICAgICAgbWVtLW1lcmdlPW9ufG9mZiBjb250cm9scyBtZW1vcnkgbWVy Z2Ugc3VwcG9ydCAoZGVmYXVsdDogb24pXG4iCkBAIC02Nyw3ICs2Nyw3IEBAIFNSU1QKIAogICAg IGBgYWNjZWw9YWNjZWxzMVs6YWNjZWxzMls6Li4uXV1gYAogICAgICAgICBUaGlzIGlzIHVzZWQg dG8gZW5hYmxlIGFuIGFjY2VsZXJhdG9yLiBEZXBlbmRpbmcgb24gdGhlIHRhcmdldAotICAgICAg ICBhcmNoaXRlY3R1cmUsIGt2bSwgeGVuLCBodmYsIG52bW0sIHdocHgsIG1zaHYgb3IgdGNnIGNh biBiZQorICAgICAgICBhcmNoaXRlY3R1cmUsIGt2bSwgeGVuLCBodmYsIG5pdHJvLCBudm1tLCB3 aHB4LCBtc2h2IG9yIHRjZyBjYW4gYmUKICAgICAgICAgYXZhaWxhYmxlLiBCeSBkZWZhdWx0LCB0 Y2cgaXMgdXNlZC4gSWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZQogICAgICAgICBhY2NlbGVyYXRv ciBzcGVjaWZpZWQsIHRoZSBuZXh0IG9uZSBpcyB1c2VkIGlmIHRoZSBwcmV2aW91cyBvbmUKICAg ICAgICAgZmFpbHMgdG8gaW5pdGlhbGl6ZS4KQEAgLTIyOCw3ICsyMjgsNyBAQCBFUlNUCiAKIERF RigiYWNjZWwiLCBIQVNfQVJHLCBRRU1VX09QVElPTl9hY2NlbCwKICAgICAiLWFjY2VsIFthY2Nl bD1dYWNjZWxlcmF0b3JbLHByb3BbPXZhbHVlXVssLi4uXV1cbiIKLSAgICAiICAgICAgICAgICAg ICAgIHNlbGVjdCBhY2NlbGVyYXRvciAoa3ZtLCB4ZW4sIGh2ZiwgbnZtbSwgd2hweCwgbXNodiBv ciB0Y2c7IHVzZSAnaGVscCcgZm9yIGEgbGlzdClcbiIKKyAgICAiICAgICAgICAgICAgICAgIHNl bGVjdCBhY2NlbGVyYXRvciAoa3ZtLCB4ZW4sIGh2Ziwgbml0cm8sIG52bW0sIHdocHgsIG1zaHYg b3IgdGNnOyB1c2UgJ2hlbHAnIGZvciBhIGxpc3QpXG4iCiAgICAgIiAgICAgICAgICAgICAgICBp Z2QtcGFzc3RocnU9b258b2ZmIChlbmFibGUgWGVuIGludGVncmF0ZWQgSW50ZWwgZ3JhcGhpY3Mg cGFzc3Rocm91Z2gsIGRlZmF1bHQ9b2ZmKVxuIgogICAgICIgICAgICAgICAgICAgICAga2VybmVs LWlycWNoaXA9b258b2ZmfHNwbGl0IGNvbnRyb2xzIGFjY2VsZXJhdGVkIGlycWNoaXAgc3VwcG9y dCAoZGVmYXVsdD1vbilcbiIKICAgICAiICAgICAgICAgICAgICAgIGt2bS1zaGFkb3ctbWVtPXNp emUgb2YgS1ZNIHNoYWRvdyBNTVUgaW4gYnl0ZXNcbiIKQEAgLTI0Myw3ICsyNDMsNyBAQCBERUYo ImFjY2VsIiwgSEFTX0FSRywgUUVNVV9PUFRJT05fYWNjZWwsCiBTUlNUCiBgYC1hY2NlbCBuYW1l Wyxwcm9wPXZhbHVlWywuLi5dXWBgCiAgICAgVGhpcyBpcyB1c2VkIHRvIGVuYWJsZSBhbiBhY2Nl bGVyYXRvci4gRGVwZW5kaW5nIG9uIHRoZSB0YXJnZXQKLSAgICBhcmNoaXRlY3R1cmUsIGt2bSwg eGVuLCBodmYsIG52bW0sIHdocHgsIG1zaHYgb3IgdGNnIGNhbiBiZSBhdmFpbGFibGUuCisgICAg YXJjaGl0ZWN0dXJlLCBrdm0sIHhlbiwgaHZmLCBuaXRybywgbnZtbSwgd2hweCwgbXNodiBvciB0 Y2cgY2FuIGJlIGF2YWlsYWJsZS4KICAgICBCeSBkZWZhdWx0LCB0Y2cgaXMgdXNlZC4gSWYgdGhl cmUgaXMgbW9yZSB0aGFuIG9uZSBhY2NlbGVyYXRvcgogICAgIHNwZWNpZmllZCwgdGhlIG5leHQg b25lIGlzIHVzZWQgaWYgdGhlIHByZXZpb3VzIG9uZSBmYWlscyB0bwogICAgIGluaXRpYWxpemUu CmRpZmYgLS1naXQgYS9zY3JpcHRzL21lc29uLWJ1aWxkb3B0aW9ucy5zaCBiL3NjcmlwdHMvbWVz b24tYnVpbGRvcHRpb25zLnNoCmluZGV4IGU4ZWRjNTI1MmEuLmNhNWIxMTMxMTkgMTAwNjQ0Ci0t LSBhL3NjcmlwdHMvbWVzb24tYnVpbGRvcHRpb25zLnNoCisrKyBiL3NjcmlwdHMvbWVzb24tYnVp bGRvcHRpb25zLnNoCkBAIC0xNTgsNiArMTU4LDcgQEAgbWVzb25fb3B0aW9uc19oZWxwKCkgewog ICBwcmludGYgIiVzXG4iICcgIG11bHRpcHJvY2VzcyAgICBPdXQgb2YgcHJvY2VzcyBkZXZpY2Ug ZW11bGF0aW9uIHN1cHBvcnQnCiAgIHByaW50ZiAiJXNcbiIgJyAgbmV0bWFwICAgICAgICAgIG5l dG1hcCBuZXR3b3JrIGJhY2tlbmQgc3VwcG9ydCcKICAgcHJpbnRmICIlc1xuIiAnICBuZXR0bGUg ICAgICAgICAgbmV0dGxlIGNyeXB0b2dyYXBoeSBzdXBwb3J0JworICBwcmludGYgIiVzXG4iICcg IG5pdHJvICAgICAgICAgICBOaXRybyBhY2NlbGVyYXRpb24gc3VwcG9ydCcKICAgcHJpbnRmICIl c1xuIiAnICBudW1hICAgICAgICAgICAgbGlibnVtYSBzdXBwb3J0JwogICBwcmludGYgIiVzXG4i ICcgIG52bW0gICAgICAgICAgICBOVk1NIGFjY2VsZXJhdGlvbiBzdXBwb3J0JwogICBwcmludGYg IiVzXG4iICcgIG9wZW5nbCAgICAgICAgICBPcGVuR0wgc3VwcG9ydCcKQEAgLTQxOCw2ICs0MTks OCBAQCBfbWVzb25fb3B0aW9uX3BhcnNlKCkgewogICAgIC0tZGlzYWJsZS1uZXRtYXApIHByaW50 ZiAiJXMiIC1EbmV0bWFwPWRpc2FibGVkIDs7CiAgICAgLS1lbmFibGUtbmV0dGxlKSBwcmludGYg IiVzIiAtRG5ldHRsZT1lbmFibGVkIDs7CiAgICAgLS1kaXNhYmxlLW5ldHRsZSkgcHJpbnRmICIl cyIgLURuZXR0bGU9ZGlzYWJsZWQgOzsKKyAgICAtLWVuYWJsZS1uaXRybykgcHJpbnRmICIlcyIg LURuaXRybz1lbmFibGVkIDs7CisgICAgLS1kaXNhYmxlLW5pdHJvKSBwcmludGYgIiVzIiAtRG5p dHJvPWRpc2FibGVkIDs7CiAgICAgLS1lbmFibGUtbnVtYSkgcHJpbnRmICIlcyIgLURudW1hPWVu YWJsZWQgOzsKICAgICAtLWRpc2FibGUtbnVtYSkgcHJpbnRmICIlcyIgLURudW1hPWRpc2FibGVk IDs7CiAgICAgLS1lbmFibGUtbnZtbSkgcHJpbnRmICIlcyIgLURudm1tPWVuYWJsZWQgOzsKLS0g CjIuNDcuMQoKCgoKQW1hem9uIFdlYiBTZXJ2aWNlcyBEZXZlbG9wbWVudCBDZW50ZXIgR2VybWFu eSBHbWJIClRhbWFyYS1EYW56LVN0ci4gMTMKMTAyNDMgQmVybGluCkdlc2NoYWVmdHNmdWVocnVu ZzogQ2hyaXN0b2YgSGVsbG1pcywgQW5kcmVhcyBTdGllZ2VyCkVpbmdldHJhZ2VuIGFtIEFtdHNn ZXJpY2h0IENoYXJsb3R0ZW5idXJnIHVudGVyIEhSQiAyNTc3NjQgQgpTaXR6OiBCZXJsaW4KVXN0 LUlEOiBERSAzNjUgNTM4IDU5Nwo=