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 AE22DCA0EF8 for ; Thu, 21 Aug 2025 07:59:23 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1up0Bl-0001c0-Hz; Thu, 21 Aug 2025 03:58:25 -0400 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 1up0Bk-0001ZW-57 for grub-devel@gnu.org; Thu, 21 Aug 2025 03:58:24 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1up0Bb-0001er-Uz for grub-devel@gnu.org; Thu, 21 Aug 2025 03:58:23 -0400 Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57KKsZON007983; Thu, 21 Aug 2025 07:58:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=SmblIZJdofb63yQEQ ucpfOyvvv2aLgNHcLtuKOUgK1k=; b=J46T+1fMpPtD+bTveuiJeQd8kubWFR+3c CpA8ZONGHMVFS0fMrCqepuCJxAqcTI9AK4zWWuqJaxwcNbYiNCYAK33MZhGsQyj8 bPGTucxyTjSeVaQM0HNVr7ID3PrkIeIeXbhfUWXLSxOL48dsO2sBbUNYY1rJoe/9 DZpmeul9zQj3D34i8JbbB1aMncDarAUqVwITcP1ZNuATsyznyeS1TBPmgFkH9of3 rdv5mo6jHQZmCMZYD22nEk12b2TdzJXwlO+0g1SNtDqNqBdTsRwqlMVcJ8Uv1/gb 8VovI+IxJ/b9osJFneBwUpW/gjib4O29MpYwfYMIxL3Xndlsk/rMA== Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48n38vya3a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 21 Aug 2025 07:58:11 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 57L6kUiA024807; Thu, 21 Aug 2025 07:58:11 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 48my5vy8nc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 21 Aug 2025 07:58:10 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 57L7w66A53018912 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 21 Aug 2025 07:58:06 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7B1C620043; Thu, 21 Aug 2025 07:58:06 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D64102004B; Thu, 21 Aug 2025 07:58:03 +0000 (GMT) Received: from localhost.localdomain (unknown [9.39.19.6]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 21 Aug 2025 07:58:03 +0000 (GMT) From: Sudhakar Kuppusamy To: grub-devel@gnu.org Cc: dja@axtens.net, jan.setjeeilers@oracle.com, julian.klode@canonical.com, mate.kukri@canonical.com, pjones@redhat.com, msuchanek@suse.com, mlewando@redhat.com, stefanb@linux.ibm.com, avnish@linux.ibm.com, nayna@linux.ibm.com, ssrish@linux.ibm.com, Sudhakar Kuppusamy , sridharm@linux.ibm.com Subject: [PATCH v8 20/20] docs/grub: Document appended signature Date: Thu, 21 Aug 2025 13:25:13 +0530 Message-Id: <20250821075513.82881-21-sudhakar@linux.ibm.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20250821075513.82881-1-sudhakar@linux.ibm.com> References: <20250821075513.82881-1-sudhakar@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: am2GKxRTVc-azObBKjaGhso3k38Qvf9g X-Proofpoint-GUID: am2GKxRTVc-azObBKjaGhso3k38Qvf9g X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODE5MDIyMiBTYWx0ZWRfXw/mtdU1LJSvt vmulFdTRoRNnbQEkAzZcZEL6PTF15y55NK6eC0Lf5odedkBbk8OBn+bJm+fgmqS2XFI01BOIqNp szJV0XxWUgFysdvGldWqPnmDdtdnTs1Qos38svMJIJdZv4eQQrBn4tfA4oouyWcDz1vwU8GH91c 4HJrq48J82tCxmrS3IODK96JOJnijW2Gyh3mhS13hgiIlOBxv5c7Wgey44yCkHWymgN9F9NfNGI xrzeoYJNhfRq4sJcn9u8m6PD0GO+bMp0LQOON7FzHbI++GP3w6Eb/SKovj6bE6gtz/10ixL637z U8t1FR1KuZUrfpZ/a9Bb/U3GFWKbcnGHDrHmsEIhoQWCguKTqTXUdfwkUpCmTV44Myl1L92K4tB 82STzzEwc/fqU+wwi0qlSKAH76jtUQ== X-Authority-Analysis: v=2.4 cv=a9dpNUSF c=1 sm=1 tr=0 ts=68a6d193 cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=2OwXVqhp2XgA:10 a=JuTF4qcAAAAA:8 a=VnNF1IyMAAAA:8 a=aKzotlOdswHpWUV3Gi4A:9 a=WlT8qwTXB_Kj6um4hl3b:22 a=cPQSjfK2_nFv0Q5t_7PE:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-21_01,2025-08-20_03,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 spamscore=0 suspectscore=0 adultscore=0 impostorscore=0 malwarescore=0 bulkscore=0 priorityscore=1501 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2508110000 definitions=main-2508190222 Received-SPF: pass client-ip=148.163.158.5; envelope-from=sudhakar@linux.ibm.com; helo=mx0b-001b2d01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org VGhpcyBleHBsYWlucyBob3cgYXBwZW5kZWQgc2lnbmF0dXJlcyBjYW4gYmUgdXNlZCB0byBmb3Jt IHBhcnQgb2YKYSBzZWN1cmUgYm9vdCBjaGFpbiwgYW5kIGRvY3VtZW50cyB0aGUgY29tbWFuZHMg YW5kIHZhcmlhYmxlcwppbnRyb2R1Y2VkLgoKU2lnbmVkLW9mZi1ieTogRGFuaWVsIEF4dGVucyA8 ZGphQGF4dGVucy5uZXQ+ClNpZ25lZC1vZmYtYnk6IFN1ZGhha2FyIEt1cHB1c2FteSA8c3VkaGFr YXJAbGludXguaWJtLmNvbT4KUmV2aWV3ZWQtYnk6IEF2bmlzaCBDaG91aGFuIDxhdm5pc2hAbGlu dXguaWJtLmNvbT4KLS0tCiBkb2NzL2dydWIudGV4aSB8IDQwMyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNDAzIGluc2Vy dGlvbnMoKykKCmRpZmYgLS1naXQgYS9kb2NzL2dydWIudGV4aSBiL2RvY3MvZ3J1Yi50ZXhpCmlu ZGV4IDNlZTQ5ODliOC4uMzZmYzZkYTMwIDEwMDY0NAotLS0gYS9kb2NzL2dydWIudGV4aQorKysg Yi9kb2NzL2dydWIudGV4aQpAQCAtMzI4MCw3ICszMjgwLDkgQEAgR1JVQi4gIE90aGVycyBtYXkg YmUgdXNlZCBmcmVlbHkgaW4gR1JVQiBjb25maWd1cmF0aW9uIGZpbGVzLgogVGhlc2UgdmFyaWFi bGVzIGhhdmUgc3BlY2lhbCBtZWFuaW5nIHRvIEdSVUIuCiAKIEBtZW51CisqIGFwcGVuZGVkc2ln X2tleV9tZ210OjoKICogYmlvc251bTo6CisqIGNoZWNrX2FwcGVuZGVkX3NpZ25hdHVyZXM6Ogog KiBjaGVja19zaWduYXR1cmVzOjoKICogY2hvc2VuOjoKICogY21kcGF0aDo6CkBAIC0zMzMxLDYg KzMzMzMsMTkgQEAgVGhlc2UgdmFyaWFibGVzIGhhdmUgc3BlY2lhbCBtZWFuaW5nIHRvIEdSVUIu CiBAZW5kIG1lbnUKIAogCitAbm9kZSBhcHBlbmRlZHNpZ19rZXlfbWdtdAorQHN1YnNlY3Rpb24g YXBwZW5kZWRzaWdfa2V5X21nbXQKKworVGhpcyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIEdS VUIgZW5mb3JjZXMgYXBwZW5kZWQgc2lnbmF0dXJlIHZhbGlkYXRpb24KK3VzaW5nIEBjb2Rle3N0 YXRpY30gb3IgQGNvZGV7ZHluYW1pY30ga2V5IG1hbmFnZW1lbnQuIEl0IGlzIGF1dG9tYXRpY2Fs bHkKK3NldCBieSBHUlVCIHRvIEBjb2Rle3N0YXRpY30gb3IgQGNvZGV7ZHluYW1pY30gYmFzZWQg b24gdGhlCitAc3Ryb25neydpYm0sc2VjdXJlLWJvb3QnfSBkZXZpY2UgdHJlZSBwcm9wZXJ0eSBh bmQgUGxhdGZvcm0gS2V5U3RvcmUoUEtTKS4KK0Fsc28sIGl0IGNhbiBiZSBleHBsaWNpdGx5IHNl dCB0byBAY29kZXtzdGF0aWN9IG9yIEBjb2Rle2R5bmFtaWN9IGJ5CitleGVjdXRpbmcgQGNvZGV7 c2V0IGFwcGVuZGVkc2lnX2tleV9tZ210fSBjb21tYW5kIGZyb20gdGhlIEdSVUIgY29uc29sZQor d2hlbiB0aGUgR1JVQiBpcyBub3QgbG9ja2VkIGRvd24uCisKK0B4cmVme1VzaW5nIGFwcGVuZGVk IHNpZ25hdHVyZXN9IGZvciBtb3JlIGluZm9ybWF0aW9uLgorCiBAbm9kZSBiaW9zbnVtCiBAc3Vi c2VjdGlvbiBiaW9zbnVtCiAKQEAgLTMzNDMsNiArMzM1OCwxNyBAQCB0aGlzLgogRm9yIGFuIGFs dGVybmF0aXZlIGFwcHJvYWNoIHdoaWNoIGFsc28gY2hhbmdlcyBCSU9TIGRyaXZlIG1hcHBpbmdz IGZvciB0aGUKIGNoYWluLWxvYWRlZCBzeXN0ZW0sIEBweHJlZntkcml2ZW1hcH0uCiAKK0Bub2Rl IGNoZWNrX2FwcGVuZGVkX3NpZ25hdHVyZXMKK0BzdWJzZWN0aW9uIGNoZWNrX2FwcGVuZGVkX3Np Z25hdHVyZXMKKworVGhpcyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIEdSVUIgZW5mb3JjZXMg YXBwZW5kZWQgc2lnbmF0dXJlIHZhbGlkYXRpb24gb24KK2xvYWRlZCBrZXJuZWwgYW5kIEdSVUIg bW9kdWxlIGZpbGVzLiBJdCBpcyBhdXRvbWF0aWNhbGx5IHNldCBieSBHUlVCCit0byBAY29kZXtu b30gb3IgQGNvZGV7ZW5mb3JjZX0gYmFzZWQgb24gdGhlIEBzdHJvbmd7J2libSxzZWN1cmUtYm9v dCd9IGRldmljZQordHJlZSBwcm9wZXJ0eS4gQWxzbywgaXQgY2FuIGJlIGV4cGxpY2l0bHkgc2V0 IHRvIEBjb2Rle25vfSBvciBAY29kZXtlbmZvcmNlfSBieQorZXhlY3V0aW5nIEBjb2Rle3NldCBj aGVja19hcHBlbmRlZF9zaWduYXR1cmVzfSBjb21tYW5kIGZyb20gdGhlIEdSVUIgY29uc29sZQor d2hlbiB0aGUgR1JVQiBpcyBub3QgbG9ja2VkIGRvd24uCisKK0B4cmVme1VzaW5nIGFwcGVuZGVk IHNpZ25hdHVyZXN9IGZvciBtb3JlIGluZm9ybWF0aW9uLgogCiBAbm9kZSBjaGVja19zaWduYXR1 cmVzCiBAc3Vic2VjdGlvbiBjaGVja19zaWduYXR1cmVzCkBAIC02NDE0LDYgKzY0NDAsMTQgQEAg eW91IGZvcmdldCBhIGNvbW1hbmQsIHlvdSBjYW4gcnVuIHRoZSBjb21tYW5kIEBjb21tYW5ke2hl bHB9CiBAbWVudQogKiBbOjogICAgICAgICAgICAgICAgICAgICAgICAgICBDaGVjayBmaWxlIHR5 cGVzIGFuZCBjb21wYXJlIHZhbHVlcwogKiBhY3BpOjogICAgICAgICAgICAgICAgICAgICAgICBM b2FkIEFDUEkgdGFibGVzCisqIGFwcGVuZF9hZGRfZGJfY2VydDo6ICAgICAgICAgIEFkZCB0cnVz dGVkIGNlcnRpZmljYXRlIHRvIHRoZSBkYiBsaXN0CisqIGFwcGVuZF9hZGRfZGJfaGFzaDo6ICAg ICAgICAgIEFkZCB0cnVzdGVkIGNlcnRpZmljYXRlL2JpbmFyeSBoYXNoIHRvIHRoZSBkYiBsaXN0 CisqIGFwcGVuZF9hZGRfZGJ4X2NlcnQ6OiAgICAgICAgIEFkZCBkaXN0cnVzdGVkIGNlcnRpZmlj YXRlIHRvIHRoZSBkYnggbGlzdAorKiBhcHBlbmRfYWRkX2RieF9oYXNoOjogICAgICAgICBBZGQg ZGlzdHJ1c3RlZCBjZXJ0aWZpY2F0ZS9iaW5hcnkgaGFzaCB0byB0aGUgZGJ4IGxpc3QKKyogYXBw ZW5kX2xpc3RfZGI6OiAgICAgICAgICAgICAgTGlzdCBhbGwgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMg ZnJvbSB0aGUgZGIgbGlzdAorKiBhcHBlbmRfbGlzdF9kYng6OiAgICAgICAgICAgICBMaXN0IGFs bCBkaXN0cnVzdGVkIGNlcnRpZmljYXRlcyBhbmQgYmluYXJ5L2NlcnRpZmljYXRlIGhhc2hlcyBm cm9tIHRoZSBkYnggbGlzdAorKiBhcHBlbmRfcm1fZGJ4X2NlcnQ6OiAgICAgICAgICBSZW1vdmUg ZGlzdHJ1c3RlZCBjZXJ0aWZpY2F0ZSBmcm9tIHRoZSBkYiBsaXN0CisqIGFwcGVuZF92ZXJpZnk6 OiAgICAgICAgICAgICAgIFZlcmlmeSBhcHBlbmRlZCBkaWdpdGFsIHNpZ25hdHVyZSB1c2luZyBk YiBhbmQgZGJ4IGxpc3RzCiAqIGF1dGhlbnRpY2F0ZTo6ICAgICAgICAgICAgICAgIENoZWNrIHdo ZXRoZXIgdXNlciBpcyBpbiB1c2VyIGxpc3QKICogYmFja2dyb3VuZF9jb2xvcjo6ICAgICAgICAg ICAgU2V0IGJhY2tncm91bmQgY29sb3IgZm9yIGFjdGl2ZSB0ZXJtaW5hbAogKiBiYWNrZ3JvdW5k X2ltYWdlOjogICAgICAgICAgICBMb2FkIGJhY2tncm91bmQgaW1hZ2UgZm9yIGFjdGl2ZSB0ZXJt aW5hbApAQCAtNjUzNSw2ICs2NTY5LDIyOSBAQCBOb3RlOiBUaGUgY29tbWFuZCBpcyBub3QgYWxs b3dlZCB3aGVuIGxvY2tkb3duIGlzIGVuZm9yY2VkIChAcHhyZWZ7TG9ja2Rvd259KS4KICAgICAg IHVuc2lnbmVkIGNvZGUuCiBAZW5kIGRlZmZuCiAKK0Bub2RlIGFwcGVuZF9hZGRfZGJfY2VydAor QHN1YnNlY3Rpb24gYXBwZW5kX2FkZF9kYl9jZXJ0CisKK0BkZWZmbiBDb21tYW5kIGFwcGVuZF9h ZGRfZGJfY2VydCA8WDUwOV9jZXJ0aWZpY2F0ZT4KK1JlYWQgWC41MDkgY2VydGlmaWNhdGUgZnJv bSB0aGUgZmlsZSBAdmFye1g1MDlfY2VydGlmaWNhdGV9CithbmQgYWRkIGl0IHRvIEdSVUIncyBp bnRlcm5hbCBkYiBsaXN0IG9mIHRydXN0ZWQgY2VydGlmaWNhdGVzLgorVGhlc2UgY2VydGlmaWNh dGVzIGFyZSB1c2VkIHRvIHZhbGlkYXRlIGFwcGVuZGVkIHNpZ25hdHVyZXMgd2hlbiB0aGUKK2Vu dmlyb25tZW50IHZhcmlhYmxlIEBjb2Rle2NoZWNrX2FwcGVuZGVkX3NpZ25hdHVyZXN9IChAcHhy ZWZ7Y2hlY2tfYXBwZW5kZWRfc2lnbmF0dXJlc30pCitpcyBzZXQgdG8gQGNvZGV7ZW5mb3JjZX0g b3IgdGhlIEBjb21tYW5ke2FwcGVuZF92ZXJpZnl9IChAcHhyZWZ7YXBwZW5kX3ZlcmlmeX0pCitj b21tYW5kIGlzIGV4ZWN1dGVkIGZyb20gdGhlIEdSVUIgY29uc29sZS4KKworTm90ZTogVGhlIGZp bGUgQHZhcntYNTA5X2NlcnRpZmljYXRlfSBzaG91bGQgYmUgaW4gREVSLWZvcm1hdC4gV2hlbiB0 aGUgZW52aXJvbm1lbnQKKyAgICAgIHZhcmlhYmxlIEBjb2Rle2NoZWNrX2FwcGVuZGVkX3NpZ25h dHVyZXN9IGlzIHNldCB0byBAY29kZXtlbmZvcmNlfSwKKyAgICAgIHRoZSBAY29tbWFuZHthcHBl bmRfYWRkX2RiX2NlcnR9IGNvbW1hbmQgb25seSBhY2NlcHRzIHRoZSBmaWxlIEB2YXJ7WDUwOV9j ZXJ0aWZpY2F0ZX0KKyAgICAgIHRoYXQgaXMgc2lnbmVkIHdpdGggYW4gYXBwZW5kZWQgc2lnbmF0 dXJlIChAcHhyZWZ7U2lnbmluZyBjZXJ0aWZpY2F0ZSBhbmQgaGFzaCBmaWxlfSkuCisgICAgICBU aGUgc2lnbmF0dXJlIGlzIHZlcmlmaWVkIGJ5IGFwcGVuZGVkc2lnIG1vZHVsZS4gSWYgdmVyaWZp Y2F0aW9uIHN1Y2NlZWRzLAorICAgICAgdGhlIGNlcnRpZmljYXRlIGlzIGFkZGVkIHRvIHRoZSBk YiBsaXN0LiBPdGhlcndpc2UsIGFuIGVycm9yIGlzIHBvc3RlZCBhbmQKKyAgICAgIHRoZSBjZXJ0 aWZpY2F0ZSBpcyBub3QgYWRkZWQuCisgICAgICBXaGVuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJs ZSBAY29kZXtjaGVja19hcHBlbmRlZF9zaWduYXR1cmVzfSBpcyB0byBAY29kZXtub30sCisgICAg ICBpdCBhY2NlcHRzIGZpbGVzIEB2YXJ7WDUwOV9jZXJ0aWZpY2F0ZX0gd2l0aG91dCBhbiBhcHBl bmRlZCBzaWduYXR1cmUgYW5kIHRoZQorICAgICAgY2VydGlmaWNhdGUgaXMgYWRkZWQgdG8gdGhl IGRiIGxpc3QuCisKK0Fsc28sIG5vdGUgdGhhdCB0aGUgYWRkaW5nIG9mIHRoZSBjZXJ0aWZpY2F0 ZSB1c2luZyBAY29tbWFuZHthcHBlbmRfYWRkX2RiX2NlcnR9IGNvbW1hbmQKK2RvZXMgbm90IHBl cnNpc3QgYWNyb3NzIHJlYm9vdHMsIGFuZCB0aGlzIGNvbW1hbmQgaXMgYXZhaWxhYmxlIGlmIGVp dGhlciBzdGF0aWMKK29yIGR5bmFtaWMga2V5IG1hbmFnZW1lbnQgaXMgZW5hYmxlZCAoQHB4cmVm e2FwcGVuZGVkc2lnX2tleV9tZ210fSkuCisKK0B4cmVme1VzaW5nIGFwcGVuZGVkIHNpZ25hdHVy ZXN9IGZvciBtb3JlIGluZm9ybWF0aW9uLgorQGVuZCBkZWZmbgorCitAbm9kZSBhcHBlbmRfYWRk X2RiX2hhc2gKK0BzdWJzZWN0aW9uIGFwcGVuZF9hZGRfZGJfaGFzaAorCitAZGVmZm4gQ29tbWFu ZCBhcHBlbmRfYWRkX2RiX2hhc2ggPGhhc2hfZmlsZT4KK1JlYWQgYmluYXJ5IGhhc2ggZnJvbSB0 aGUgZmlsZSBAdmFye2hhc2hfZmlsZX0KK2FuZCBhZGQgaXQgdG8gR1JVQidzIGludGVybmFsIGRi IGxpc3Qgb2YgdHJ1c3RlZCBiaW5hcnkgaGFzaGVzLiBUaGVzZQoraGFzaGVzIGFyZSB1c2VkIHRv IHZhbGlkYXRlIHRoZSBMaW51eCBrZXJuZWwgYmluYXJ5IGhhc2hlcyB3aGVuIHRoZQorZW52aXJv bm1lbnQgdmFyaWFibGUgQGNvZGV7Y2hlY2tfYXBwZW5kZWRfc2lnbmF0dXJlc30KKyhAcHhyZWZ7 Y2hlY2tfYXBwZW5kZWRfc2lnbmF0dXJlc30pIGlzIHNldCB0byBAY29kZXtlbmZvcmNlfSBvciB0 aGUKK0Bjb21tYW5ke2FwcGVuZF92ZXJpZnl9IChAcHhyZWZ7YXBwZW5kX3ZlcmlmeX0pIGNvbW1h bmQgaXMgZXhlY3V0ZWQKK2Zyb20gdGhlIEdSVUIgY29uc29sZS4KKworTm90ZTogVGhlIGZpbGUg QHZhcntoYXNoX2ZpbGV9IHNob3VsZCBjb250YWluIGRhdGEgaW4gYmluYXJ5IGZvcm1hdC4gV2hl biB0aGUKKyAgICAgIGVudmlyb25tZW50IHZhcmlhYmxlIEBjb2Rle2NoZWNrX2FwcGVuZGVkX3Np Z25hdHVyZXN9IGlzCisgICAgICBzZXQgdG8gQGNvZGV7ZW5mb3JjZX0sIHRoZSBAY29tbWFuZHth cHBlbmRfYWRkX2RiX2hhc2h9IGNvbW1hbmQgb25seSBhY2NlcHRzCisgICAgICB0aGUgZmlsZSBA dmFye2hhc2hfZmlsZX0gdGhhdCBpcyBzaWduZWQgd2l0aCBhbiBhcHBlbmRlZCBzaWduYXR1cmUK KyAgICAgIChAcHhyZWZ7U2lnbmluZyBjZXJ0aWZpY2F0ZSBhbmQgaGFzaCBmaWxlfSkuCisgICAg ICBUaGUgc2lnbmF0dXJlIGlzIHZlcmlmaWVkIGJ5IGFwcGVuZGVkc2lnIG1vZHVsZS4gSWYgdmVy aWZpY2F0aW9uIHN1Y2NlZWRzLAorICAgICAgdGhlIGJpbmFyeSBoYXNoIGlzIGFkZGVkIHRvIHRo ZSBkYiBsaXN0LiBPdGhlcndpc2UsIGFuIGVycm9yIGlzIHBvc3RlZCBhbmQKKyAgICAgIHRoZSBi aW5hcnkgaGFzaCBpcyBub3QgYWRkZWQuCisgICAgICBXaGVuIHRoZSBlbnZpcm9ubWVudCB2YXJp YWJsZSBAY29kZXtjaGVja19hcHBlbmRlZF9zaWduYXR1cmVzfSBpcyB0byBAY29kZXtub30sCisg ICAgICBpdCBhY2NlcHRzIGZpbGVzIEB2YXJ7aGFzaF9maWxlfSB3aXRob3V0IGFuIGFwcGVuZGVk IHNpZ25hdHVyZSBhbmQgdGhlCisgICAgICBiaW5hcnkgaGFzaCBpcyBhZGRlZCB0byB0aGUgZGIg bGlzdC4KKworQWxzbywgbm90ZSB0aGF0IHRoZSBhZGRpbmcgb2YgdGhlIGNlcnRpZmljYXRlIHVz aW5nIEBjb21tYW5ke2FwcGVuZF9hZGRfZGJfaGFzaH0KK2NvbW1hbmQgZG9lcyBub3QgcGVyc2lz dCBhY3Jvc3MgcmVib290cywgYW5kIHRoaXMgY29tbWFuZCBpcyBvbmx5IGF2YWlsYWJsZSB3aGVu CitkeW5hbWljIGtleSBtYW5hZ2VtZW50IGlzIGVuYWJsZWQgKEBweHJlZnthcHBlbmRlZHNpZ19r ZXlfbWdtdH0pLgorCitAZXhhbXBsZQorCisjIEdlbmVyYXRlIHRoZSBoYXNoIG9mIHRoZSBiaW5h cnkgZmlsZSB1c2luZyBPcGVuU1NMCisjIGluIGJpbmFyeSBmb3JtYXQuIFRoZSB2bWxpbnV4IChr ZXJuZWwgaW1hZ2UpIGZpbGUKKyMgc2hvdWxkIGJlIHVuc2lnbmVkLgorCitvcGVuc3NsIGRnc3Qg LWJpbmFyeSAtc2hhMjU2IC1vdXQgYmluYXJ5X2hhc2ggdm1saW51eAorCitAZW5kIGV4YW1wbGUK KworQHhyZWZ7VXNpbmcgYXBwZW5kZWQgc2lnbmF0dXJlc30gZm9yIG1vcmUgaW5mb3JtYXRpb24u CitAZW5kIGRlZmZuCisKK0Bub2RlIGFwcGVuZF9hZGRfZGJ4X2NlcnQKK0BzdWJzZWN0aW9uIGFw cGVuZF9hZGRfZGJ4X2NlcnQKKworQGRlZmZuIENvbW1hbmQgYXBwZW5kX2FkZF9kYnhfY2VydCA8 WDUwOV9jZXJ0aWZpY2F0ZT4KK1JlYWQgWC41MDkgY2VydGlmaWNhdGUgZnJvbSB0aGUgZmlsZSBA dmFye1g1MDlfY2VydGlmaWNhdGV9CithbmQgYWRkIGl0IHRvIEdSVUIncyBpbnRlcm5hbCBkYngg bGlzdCBvZiBkaXN0cnVzdGVkIGNlcnRpZmljYXRlcy4KK1RoZXNlIGNlcnRpZmljYXRlcyBhcmUg dXNlZCB0byBlbnN1cmUgdGhhdCB0aGUgZGlzdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMKK2FyZSByZWpl Y3RlZCBkdXJpbmcgYXBwZW5kZWQgc2lnbmF0dXJlcyB2YWxpZGF0aW9uIHdoZW4gdGhlIGVudmly b25tZW50Cit2YXJpYWJsZSBAY29kZXtjaGVja19hcHBlbmRlZF9zaWduYXR1cmVzfSBpcyBzZXQg dG8gQGNvZGV7ZW5mb3JjZX0KKyhAcHhyZWZ7Y2hlY2tfYXBwZW5kZWRfc2lnbmF0dXJlc30pIG9y IHRoZSBAY29tbWFuZHthcHBlbmRfdmVyaWZ5fQorKEBweHJlZnthcHBlbmRfdmVyaWZ5fSkgY29t bWFuZCBpcyBleGVjdXRlZCBmcm9tIHRoZSBHUlVCIGNvbnNvbGUuCitBbHNvLCBUaGVzZSBjZXJ0 aWZpY2F0ZXMgYXJlIHVzZWQgdG8gYmxvY2sgYWRkaW5nIHRoZSBkaXN0cnVzdGVkCitjZXJ0aWZp Y2F0ZXMgdG8gdGhlIGRiIGxpc3QgaW4gdGhlIGZ1dHVyZS4KKworTm90ZTogVGhlIGZpbGUgQHZh cntYNTA5X2NlcnRpZmljYXRlfSBzaG91bGQgYmUgaW4gREVSLWZvcm1hdC4gV2hlbiB0aGUKKyAg ICAgIGVudmlyb25tZW50IHZhcmlhYmxlIEBjb2Rle2NoZWNrX2FwcGVuZGVkX3NpZ25hdHVyZXN9 IGlzIHNldCB0bworICAgICAgQGNvZGV7ZW5mb3JjZX0sIHRoZSBAY29tbWFuZHthcHBlbmRfYWRk X2RieF9jZXJ0fSBjb21tYW5kIG9ubHkgYWNjZXB0cworICAgICAgdGhlIGZpbGUgQHZhcntYNTA5 X2NlcnRpZmljYXRlfSB0aGF0IGlzIHNpZ25lZCB3aXRoIGFuIGFwcGVuZGVkIHNpZ25hdHVyZQor ICAgICAgKEBweHJlZntTaWduaW5nIGNlcnRpZmljYXRlIGFuZCBoYXNoIGZpbGV9KS4KKyAgICAg IFRoZSBzaWduYXR1cmUgaXMgdmVyaWZpZWQgYnkgYXBwZW5kZWRzaWcgbW9kdWxlLiBJZiB2ZXJp ZmljYXRpb24gc3VjY2VlZHMsCisgICAgICB0aGUgY2VydGlmaWNhdGUgaXMgYWRkZWQgdG8gdGhl IGRieCBsaXN0LiBPdGhlcndpc2UsIGFuIGVycm9yIGlzIHBvc3RlZCBhbmQKKyAgICAgIHRoZSBj ZXJ0aWZpY2F0ZSBpcyBub3QgYWRkZWQuCisgICAgICBXaGVuIHRoZSBlbnZpcm9ubWVudCB2YXJp YWJsZSBAY29kZXtjaGVja19hcHBlbmRlZF9zaWduYXR1cmVzfSBpcyB0byBAY29kZXtub30sCisg ICAgICBpdCBhY2NlcHRzIGZpbGUgQHZhcntYNTA5X2NlcnRpZmljYXRlfSB3aXRob3V0IGFuIGFw cGVuZGVkIHNpZ25hdHVyZSBhbmQgdGhlCisgICAgICBjZXJ0aWZpY2F0ZSBpcyBhZGRlZCB0byB0 aGUgZGIgbGlzdC4KKworQWxzbywgbm90ZSB0aGF0IHRoZSBhZGRpbmcgb2YgdGhlIGNlcnRpZmlj YXRlIHVzaW5nIEBjb21tYW5ke2FwcGVuZF9hZGRfZGJ4X2NlcnR9Citjb21tYW5kIGRvZXMgbm90 IHBlcnNpc3QgYWNyb3NzIHJlYm9vdHMsIGFuZCB0aGlzIGNvbW1hbmQgaXMgb25seSBhdmFpbGFi bGUgd2hlbgorZHluYW1pYyBrZXkgbWFuYWdlbWVudCBpcyBlbmFibGVkIChAcHhyZWZ7YXBwZW5k ZWRzaWdfa2V5X21nbXR9KS4KKworQHhyZWZ7VXNpbmcgYXBwZW5kZWQgc2lnbmF0dXJlc30gZm9y IG1vcmUgaW5mb3JtYXRpb24uCitAZW5kIGRlZmZuCisKK0Bub2RlIGFwcGVuZF9hZGRfZGJ4X2hh c2gKK0BzdWJzZWN0aW9uIGFwcGVuZF9hZGRfZGJ4X2hhc2gKKworQGRlZmZuIENvbW1hbmQgYXBw ZW5kX2FkZF9kYnhfaGFzaCBbQG9wdGlvbnstYn18QG9wdGlvbnstY31dIDxoYXNoX2ZpbGU+CitS ZWFkIGJpbmFyeS9jZXJ0aWZpY2F0ZSBoYXNoIGZyb20gdGhlIGZpbGUgQHZhcntoYXNoX2ZpbGV9 CithbmQgYWRkIGl0IHRvIEdSVUIncyBpbnRlcm5hbCBkYnggbGlzdCBvZiBkaXN0cnVzdGVkIGJp bmFyeS9jZXJ0aWZpY2F0ZSBoYXNoZXMuCitUaGVzZSBoYXNoZXMgYXJlIHVzZWQgdG8gZW5zdXJl IHRoYXQgdGhlIGRpc3RydXN0ZWQgYmluYXJ5IGhhc2hlcy9jZXJ0aWZpY2F0ZXMKK2FyZSByZWpl Y3RlZCBkdXJpbmcgTGludXgga2VybmVsIGJpbmFyeSBoYXNoZXMgYW5kIGFwcGVuZGVkIHNpZ25h dHVyZXMgdmFsaWRhdGlvbgord2hlbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgQGNvZGV7Y2hl Y2tfYXBwZW5kZWRfc2lnbmF0dXJlc30gKEBweHJlZntjaGVja19hcHBlbmRlZF9zaWduYXR1cmVz fSkKK2lzIHNldCB0byBAY29kZXtlbmZvcmNlfSBvciB0aGUgQGNvbW1hbmR7YXBwZW5kX3Zlcmlm eX0gKEBweHJlZnthcHBlbmRfdmVyaWZ5fSkgY29tbWFuZAoraXMgZXhlY3V0ZWQgZnJvbSB0aGUg R1JVQiBjb25zb2xlLiBBbHNvLHRoZXNlIGhhc2hlcyBhcmUgdXNlZCB0byBibG9jayBhZGRpbmcg dGhlIGRpc3RydXN0ZWQKK2JpbmFyeSBoYXNoZXMgYW5kIGNlcnRpZmljYXRlcyB0byB0aGUgZGIg bGlzdCBpbiB0aGUgZnV0dXJlLgorCitUaGUgQG9wdGlvbnstYn0gKEBvcHRpb257LS1iaW5hcnkt aGFzaH0pIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYmluYXJ5IGhhc2ggZmlsZSBhbmQKK0BvcHRp b257LWN9IChAb3B0aW9uey0tY2VydC1oYXNofSkgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBjZXJ0 aWZpY2F0ZSBoYXNoIGZpbGUuCisKK05vdGU6IFRoZSBmaWxlIEB2YXJ7aGFzaF9maWxlfSBzaG91 bGQgY29udGFpbiBkYXRhIGluIGJpbmFyeSBmb3JtYXQuIFdoZW4gdGhlIGVudmlyb25tZW50Cisg ICAgICB2YXJpYWJsZSBAY29kZXtjaGVja19hcHBlbmRlZF9zaWduYXR1cmVzfSBpcyBzZXQgdG8g QGNvZGV7ZW5mb3JjZX0sIHRoZQorICAgICAgQGNvbW1hbmR7YXBwZW5kX2FkZF9kYnhfaGFzaH0g Y29tbWFuZCBvbmx5IGFjY2VwdHMgdGhlIGZpbGUgQHZhcntoYXNoX2ZpbGV9CisgICAgICB0aGF0 IGlzIHNpZ25lZCB3aXRoIGFuIGFwcGVuZGVkIHNpZ25hdHVyZSAoQHB4cmVme1NpZ25pbmcgY2Vy dGlmaWNhdGUgYW5kIGhhc2ggZmlsZX0pLgorICAgICAgVGhlIHNpZ25hdHVyZSBpcyB2ZXJpZmll ZCBieSBhcHBlbmRlZHNpZyBtb2R1bGUuIElmIHZlcmlmaWNhdGlvbiBzdWNjZWVkcywKKyAgICAg IHRoZSBiaW5hcnkvY2VydGlmaWNhdGUgaGFzaCBpcyBhZGRlZCB0byB0aGUgZGIgbGlzdC4gT3Ro ZXJ3aXNlLCBhbiBlcnJvciBpcyBwb3N0ZWQgYW5kCisgICAgICB0aGUgYmluYXJ5L2NlcnRpZmlj YXRlIGhhc2ggaXMgbm90IGFkZGVkLgorICAgICAgV2hlbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFi bGUgQGNvZGV7Y2hlY2tfYXBwZW5kZWRfc2lnbmF0dXJlc30gaXMgdG8gQGNvZGV7bm99LAorICAg ICAgaXQgYWNjZXB0cyB0aGUgZmlsZSBAdmFye2hhc2hfZmlsZX0gd2l0aG91dCBhbiBhcHBlbmRl ZCBzaWduYXR1cmUgYW5kIHRoZQorICAgICAgYmluYXJ5L2NlcnRpZmljYXRlIGhhc2ggaXMgYWRk ZWQgdG8gdGhlIGRiIGxpc3QuCisKK0Fsc28sIG5vdGUgdGhhdCB0aGUgYWRkaW5nIG9mIHRoZSBj ZXJ0aWZpY2F0ZSB1c2luZyBAY29tbWFuZHthcHBlbmRfYWRkX2RieF9oYXNofQorY29tbWFuZCBk b2VzIG5vdCBwZXJzaXN0IGFjcm9zcyByZWJvb3RzLCBhbmQgdGhpcyBjb21tYW5kIGlzIG9ubHkg YXZhaWxhYmxlIHdoZW4KK2R5bmFtaWMga2V5IG1hbmFnZW1lbnQgaXMgZW5hYmxlZCAoQHB4cmVm e2FwcGVuZGVkc2lnX2tleV9tZ210fSkuCisKK0BleGFtcGxlCisKKyMgR2VuZXJhdGUgdGhlIGhh c2ggb2YgdGhlIGJpbmFyeS9jZXJ0aWZpY2F0ZSBmaWxlCisjIHVzaW5nIE9wZW5TU0wgaW4gYmlu YXJ5IGZvcm1hdC4gVGhlIHZtbGludXgKKyMgKGtlcm5lbCBpbWFnZSkgZmlsZSBzaG91bGQgYmUg dW5zaWduZWQsIGtlcm5lbC5kZXIKKyMgaXMgY2VydGlmaWNhdGUuCisKK29wZW5zc2wgZGdzdCAt YmluYXJ5IC1zaGEyNTYgLW91dCBjZXJ0X2hhc2gga2VybmVsLmRlcgorCitvcGVuc3NsIGRnc3Qg LWJpbmFyeSAtc2hhMjU2IC1vdXQgYmluYXJ5X2hhc2ggdm1saW51eAorCitAZW5kIGV4YW1wbGUK KworQHhyZWZ7VXNpbmcgYXBwZW5kZWQgc2lnbmF0dXJlc30gZm9yIG1vcmUgaW5mb3JtYXRpb24u CitAZW5kIGRlZmZuCisKK0Bub2RlIGFwcGVuZF9saXN0X2RiCitAc3Vic2VjdGlvbiBhcHBlbmRf bGlzdF9kYgorCitAZGVmZm4gQ29tbWFuZCBhcHBlbmRfbGlzdF9kYgorTGlzdCBhbGwgWC41MDkg Y2VydGlmaWNhdGVzIGFuZCBiaW5hcnkgaGFzaGVzIHRydXN0ZWQgYnkgR1JVQiBmb3IgdmFsaWRh dGluZworYXBwZW5kZWQgc2lnbmF0dXJlcy4gVGhlIG91dHB1dCBpcyBhIG51bWJlcmVkIGxpc3Qg b2YgY2VydGlmaWNhdGVzIGFuZCBiaW5hcnkgaGFzaGVzLAorc2hvd2luZyB0aGUgY2VydGlmaWNh dGUncyBzZXJpYWwgbnVtYmVyLCBpc3N1ZXIgYW5kIENvbW1vbiBOYW1lLgorCitOb3RlIHRoYXQg dGhlIEBjb21tYW5ke2FwcGVuZF9saXN0X2RifSBjb21tYW5kIGlzIGF2YWlsYWJsZSBpZiBlaXRo ZXIgc3RhdGljCitvciBkeW5hbWljIGtleSBtYW5hZ2VtZW50IGlzIGVuYWJsZWQgKEBweHJlZnth cHBlbmRlZHNpZ19rZXlfbWdtdH0pLgorCitAeHJlZntVc2luZyBhcHBlbmRlZCBzaWduYXR1cmVz fSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KK0BlbmQgZGVmZm4KKworQG5vZGUgYXBwZW5kX2xpc3Rf ZGJ4CitAc3Vic2VjdGlvbiBhcHBlbmRfbGlzdF9kYngKKworQGRlZmZuIENvbW1hbmQgYXBwZW5k X2xpc3RfZGJ4CitMaXN0IGFsbCB0aGUgZGlzdHJ1c3RlZCBYLjUwOSBjZXJ0aWZpY2F0ZXMgYW5k IGJpbmFyeS9jZXJ0aWZpY2F0ZSBoYXNoZXMuCitUaGUgb3V0cHV0IGlzIGEgbnVtYmVyZWQgbGlz dCBvZiBjZXJ0aWZpY2F0ZXMgYW5kIGJpbmFyeS9jZXJ0aWZpY2F0ZSBoYXNoZXMsCitzaG93aW5n IHRoZSBjZXJ0aWZpY2F0ZSdzIHNlcmlhbCBudW1iZXIsIGlzc3VlciBhbmQgQ29tbW9uIE5hbWUu CisKK05vdGUgdGhhdCB0aGUgQGNvbW1hbmR7YXBwZW5kX2xpc3RfZGJ4fSBjb21tYW5kIGlzIG9u bHkgYXZhaWxhYmxlIHdoZW4KK2R5bmFtaWMga2V5IG1hbmFnZW1lbnQgaXMgZW5hYmxlZCAoQHB4 cmVme2FwcGVuZGVkc2lnX2tleV9tZ210fSkuCisKK0B4cmVme1VzaW5nIGFwcGVuZGVkIHNpZ25h dHVyZXN9IGZvciBtb3JlIGluZm9ybWF0aW9uLgorQGVuZCBkZWZmbgorCitAbm9kZSBhcHBlbmRf cm1fZGJ4X2NlcnQKK0BzdWJzZWN0aW9uIGFwcGVuZF9ybV9kYnhfY2VydAorCitAZGVmZm4gQ29t bWFuZCBhcHBlbmRfcm1fZGJ4X2NlcnQgPFg1MDlfY2VydGlmaWNhdGU+CitSZWFkIERFUi1mb3Jt YXR0ZWQgWC41MDkgY2VydGlmaWNhdGUgZnJvbSB0aGUgZmlsZSBAdmFye1g1MDlfY2VydGlmaWNh dGV9CithbmQgcmVtb3ZlIGl0IGZyb20gR1JVQidzIGludGVybmFsIGRiIGxpc3Qgb2YgdHJ1c3Rl ZCBjZXJ0aWZpY2F0ZXMuCitUaGVzZSBjZXJ0aWZpY2F0ZXMgYXJlIHVzZWQgdG8gZW5zdXJlIHRo YXQgdGhlIGRpc3RydXN0ZWQgY2VydGlmaWNhdGVzCithcmUgcmVqZWN0ZWQgZHVyaW5nIGFwcGVu ZGVkIHNpZ25hdHVyZXMgdmFsaWRhdGlvbiB3aGVuIHRoZSBlbnZpcm9ubWVudAordmFyaWFibGUg QGNvZGV7Y2hlY2tfYXBwZW5kZWRfc2lnbmF0dXJlc30gaXMgc2V0IHRvIEBjb2Rle2VuZm9yY2V9 CisoQHB4cmVme2NoZWNrX2FwcGVuZGVkX3NpZ25hdHVyZXN9KSBvciB0aGUgQGNvbW1hbmR7YXBw ZW5kX3ZlcmlmeX0KKyhAcHhyZWZ7YXBwZW5kX3ZlcmlmeX0pIGNvbW1hbmQgaXMgZXhlY3V0ZWQg ZnJvbSB0aGUgR1JVQiBjb25zb2xlLgorCitOb3RlOiBUaGUgZmlsZSBAdmFye1g1MDlfY2VydGlm aWNhdGV9IHNob3VsZCBiZSBpbiBERVItZm9ybWF0LiBXaGVuIHRoZSBlbnZpcm9ubWVudAorICAg ICAgdmFyaWFibGUgQGNvZGV7Y2hlY2tfYXBwZW5kZWRfc2lnbmF0dXJlc30gaXMgc2V0IHRvIEBj b2Rle2VuZm9yY2V9LCB0aGUKKyAgICAgIEBjb21tYW5ke2FwcGVuZF9ybV9kYnhfY2VydH0gY29t bWFuZCBvbmx5IGFjY2VwdHMgdGhlIGZpbGVzIEB2YXJ7WDUwOV9jZXJ0aWZpY2F0ZX0KKyAgICAg IHRoYXQgYXJlIHNpZ25lZCB3aXRoIGFuIGFwcGVuZGVkIHNpZ25hdHVyZSAoQHB4cmVme1NpZ25p bmcgY2VydGlmaWNhdGUgYW5kIGhhc2ggZmlsZX0pLgorICAgICAgVGhlIHNpZ25hdHVyZSBpcyB2 ZXJpZmllZCBieSBhcHBlbmRlZHNpZyBtb2R1bGUuIElmIHZlcmlmaWNhdGlvbiBzdWNjZWVkcywK KyAgICAgIHRoZSBjZXJ0aWZpY2F0ZSBpcyByZW1vdmVkIGZyb20gdGhlIGRiIGxpc3QuIE90aGVy d2lzZSwgYW4gZXJyb3IgaXMgcG9zdGVkIGFuZAorICAgICAgdGhlIGNlcnRpZmljYXRlIGlzIG5v dCByZW1vdmVkLgorICAgICAgV2hlbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgQGNvZGV7Y2hl Y2tfYXBwZW5kZWRfc2lnbmF0dXJlc30gaXMgdG8gQGNvZGV7bm99LAorICAgICAgaXQgYWNjZXB0 cyB0aGUgZmlsZSBAdmFye1g1MDlfY2VydGlmaWNhdGV9IHdpdGhvdXQgYW4gYXBwZW5kZWQgc2ln bmF0dXJlIGFuZAorICAgICAgY2VydGlmaWNhdGUgaXMgcmVtb3ZlZCBmcm9tIHRoZSBkYiBsaXN0 LgorCitBbHNvLCBub3RlIHRoYXQgdGhlIHJlbW92aW5nIG9mIHRoZSBjZXJ0aWZpY2F0ZSB1c2lu ZyBAY29tbWFuZHthcHBlbmRfcm1fZGJ4X2NlcnR9Citjb21tYW5kIGRvZXMgbm90IHBlcnNpc3Qg YWNyb3NzIHJlYm9vdHMsIGFuZCB0aGlzIGNvbW1hbmQgaXMgb25seSBhdmFpbGFibGUgd2hlbgor c3RhdGljIGtleSBtYW5hZ2VtZW50IGlzIGVuYWJsZWQgKEBweHJlZnthcHBlbmRlZHNpZ19rZXlf bWdtdH0pLgorCitAeHJlZntVc2luZyBhcHBlbmRlZCBzaWduYXR1cmVzfSBmb3IgbW9yZSBpbmZv cm1hdGlvbi4KK0BlbmQgZGVmZm4KKworQG5vZGUgYXBwZW5kX3ZlcmlmeQorQHN1YnNlY3Rpb24g YXBwZW5kX3ZlcmlmeQorCitAZGVmZm4gQ29tbWFuZCBhcHBlbmRfdmVyaWZ5IDxzaWduZWRfZmls ZT4KK1ZlcmlmaWVzIGFuIGFwcGVuZGVkIHNpZ25hdHVyZSBvbiBAdmFye3NpZ25lZF9maWxlfSBh Z2FpbnN0IHRoZSB0cnVzdGVkIFguNTA5IGNlcnRpZmljYXRlcworYW5kIGhhc2hlcyBrbm93biB0 byBHUlVCIChAcHhyZWZ7YXBwZW5kX2xpc3RfZGJ9LEBweHJlZnthcHBlbmRfbGlzdF9kYnh9LCBA cHhyZWZ7YXBwZW5kX2FkZF9kYl9jZXJ0fSwKK0BweHJlZnthcHBlbmRfYWRkX2RiX2hhc2h9LCBA cHhyZWZ7YXBwZW5kX2FkZF9kYnhfaGFzaH0sIEBweHJlZnthcHBlbmRfYWRkX2RieF9jZXJ0fSwg YW5kCitAcHhyZWZ7YXBwZW5kX3JtX2RieF9jZXJ0fSkuIEV4aXQgY29kZSBAY29kZXskP30gaXMg c2V0IHRvIDAgaWYgdGhlIHNpZ25hdHVyZSB2YWxpZGF0ZXMgc3VjY2Vzc2Z1bGx5LgorSWYgdmFs aWRhdGlvbiBmYWlscywgaXQgaXMgc2V0IHRvIGEgbm9uLXplcm8gdmFsdWUuCisKK05vdGUgdGhh dCB0aGUgQGNvbW1hbmR7YXBwZW5kX3ZlcmlmeX0gY29tbWFuZCBpcyBhdmFpbGFibGUgaWYgZWl0 aGVyIHN0YXRpYworb3IgZHluYW1pYyBrZXkgbWFuYWdlbWVudCBpcyBlbmFibGVkIChAcHhyZWZ7 YXBwZW5kZWRzaWdfa2V5X21nbXR9KS4KKworQHhyZWZ7VXNpbmcgYXBwZW5kZWQgc2lnbmF0dXJl c30gZm9yIG1vcmUgaW5mb3JtYXRpb24uCitAZW5kIGRlZmZuCiAKIEBub2RlIGF1dGhlbnRpY2F0 ZQogQHN1YnNlY3Rpb24gYXV0aGVudGljYXRlCkBAIC03MzA3LDYgKzc1NjQsMTUgQEAgY29uZmln dXJhdGlvbnMsIGJ1dCB0byBhbGxvdyB0aGUgdXNlciB0byBzZWxlY3QgZnJvbSBhbW9uZyBtdWx0 aXBsZQogY29uZmlndXJhdGlvbnMsIGFuZCB0byBlbmFibGUgYGBvbmUtc2hvdCcnIGJvb3QgYXR0 ZW1wdHMgYW5kCiBgYHNhdmVkZWZhdWx0JycgYmVoYXZpb3IuICBAeHJlZntVc2luZyBHUEctc3R5 bGUgZGlnaXRhbCBzaWduYXR1cmVzfSwgZm9yIG1vcmUKIGluZm9ybWF0aW9uLgorCitPbiBMaW51 eCBvbiBQb3dlciBMUEFSLCB0aGUgc2lnbmF0dXJlIHZhbGlkYXRpb24gb24gdGhlIGVudmlyb25t ZW50IGJsb2NrIGZpbGUKK2lzIG5vdCBzdXBwb3J0ZWQgd2l0aCBvciB3aXRob3V0IHRoZSBAb3B0 aW9uey0tc2tpcC1zaWd9IG9wdGlvbi4KK0lmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBAY29k ZXtjaGVja19hcHBlbmRlZF9zaWduYXR1cmVzfSB2YWx1ZSBpcyBzZXQgdG8KK0Bjb2Rle2VuZm9y Y2V9IGFuZCBHUlVCIGlzIGluIGxvY2tlZCBkb3duIG1vZGUsIHRoZSB1c2VyIGlzIG5vdCBhbGxv d2VkIHRvIHNldAorQGNvZGV7Y2hlY2tfYXBwZW5kZWRfc2lnbmF0dXJlc30gdG8gQGNvZGV7bm99 IGFuZCBAY29kZXthcHBlbmRlZHNpZ19rZXlfbWdtdH0KK3RvIEBjb2Rle3N0YXRpY30gb3IgQGNv ZGV7ZHluYW1pY30gZWl0aGVyIGRpcmVjdGx5IHVzaW5nIEBjb21tYW5ke2xvYWRfZW52fQorY29t bWFuZCBvciB2aWEgZW52aXJvbm1lbnQgYmxvY2sgZmlsZS4gQHhyZWZ7VXNpbmcgYXBwZW5kZWQg c2lnbmF0dXJlc30sIGZvcgorbW9yZSBpbmZvcm1hdGlvbi4KIEBlbmQgZGVmZm4KIAogCkBAIC04 NjcwLDExICs4OTM2LDEzIEBAIGVudmlyb25tZW50IHZhcmlhYmxlcyBhbmQgY29tbWFuZHMgYXJl IGxpc3RlZCBpbiB0aGUgc2FtZSBvcmRlci4KIEBtZW51CiAqIEF1dGhlbnRpY2F0aW9uIGFuZCBh dXRob3Jpc2F0aW9uOjogICBVc2VycyBhbmQgYWNjZXNzIGNvbnRyb2wKICogVXNpbmcgR1BHLXN0 eWxlIGRpZ2l0YWwgc2lnbmF0dXJlczo6IEJvb3RpbmcgZGlnaXRhbGx5IHNpZ25lZCBjb2RlCisq IFVzaW5nIGFwcGVuZGVkIHNpZ25hdHVyZXM6OiAgICAgICAgICBBbiBhbHRlcm5hdGl2ZSBhcHBy b2FjaCB0byBib290aW5nIGRpZ2l0YWxseSBzaWduZWQgY29kZQogKiBVRUZJIHNlY3VyZSBib290 IGFuZCBzaGltOjogICAgICAgICAgQm9vdGluZyBkaWdpdGFsbHkgc2lnbmVkIFBFIGZpbGVzCiAq IFNlY3VyZSBCb290IEFkdmFuY2VkIFRhcmdldGluZzo6ICAgICBFbWJlZGRlZCBpbmZvcm1hdGlv biBmb3IgZ2VuZXJhdGlvbiBudW1iZXIgYmFzZWQgcmV2b2NhdGlvbgogKiBNZWFzdXJlZCBCb290 OjogICAgICAgICAgICAgICAgICAgICAgTWVhc3VyaW5nIGJvb3QgY29tcG9uZW50cwogKiBMb2Nr ZG93bjo6ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9ja2Rvd24gd2hlbiBib290aW5nIG9u IGEgc2VjdXJlIHNldHVwCiAqIFRQTTIga2V5IHByb3RlY3Rvcjo6ICAgICAgICAgICAgICAgICBN YW5hZ2luZyBkaXNrIGtleSB3aXRoIFRQTTIga2V5IHByb3RlY3RvcgorKiBTaWduaW5nIGNlcnRp ZmljYXRlIGFuZCBoYXNoIGZpbGU6OiAgQ2VydGlmaWNhdGUgYW5kIGhhc2ggZmlsZSBzaWduaW5n CiAqIFNpZ25pbmcgR1JVQiBpdHNlbGY6OiAgICAgICAgICAgICAgICBFbnN1cmluZyB0aGUgaW50 ZWdyaXR5IG9mIHRoZSBHUlVCIGNvcmUgaW1hZ2UKIEBlbmQgbWVudQogCkBAIC04ODM1LDYgKzkx MDMsMTEzIEBAIG9yIEJJT1MpIGNvbmZpZ3VyYXRpb24gdG8gY2F1c2UgdGhlIG1hY2hpbmUgdG8g Ym9vdCBmcm9tIGEgZGlmZmVyZW50CiAoYXR0YWNrZXItY29udHJvbGxlZCkgZGV2aWNlLiAgR1JV QiBpcyBhdCBiZXN0IG9ubHkgb25lIGxpbmsgaW4gYQogc2VjdXJlIGJvb3QgY2hhaW4uCiAKK0Bu b2RlIFVzaW5nIGFwcGVuZGVkIHNpZ25hdHVyZXMKK0BzZWN0aW9uIFVzaW5nIGFwcGVuZGVkIHNp Z25hdHVyZXMgaW4gR1JVQgorCitHUlVCIHN1cHBvcnRzIHZlcmlmeWluZyBMaW51eC1zdHlsZSAn YXBwZW5kZWQgc2lnbmF0dXJlcycgZm9yIExpbnV4IG9uIFBvd2VyIExQQVIKK3NlY3VyZSBib290 LiBBcHBlbmRlZCBzaWduYXR1cmVzIGFyZSBQS0NTIzcgbWVzc2FnZXMgY29udGFpbmluZyBhIHNp Z25hdHVyZSBvdmVyIHRoZQorY29udGVudHMgb2YgYSBmaWxlLCBwbHVzIHNvbWUgbWV0YWRhdGEs IGFwcGVuZGVkIHRvIHRoZSBlbmQgb2YgYSBmaWxlLiBBIGZpbGUKK3dpdGggYW4gYXBwZW5kZWQg c2lnbmF0dXJlIGVuZHMgd2l0aCB0aGUgbWFnaWMgc3RyaW5nOgorCitAZXhhbXBsZQorfk1vZHVs ZSBzaWduYXR1cmUgYXBwZW5kZWR+XG4KK0BlbmQgZXhhbXBsZQorCit3aGVyZSBAY29kZXtcbn0g cmVwcmVzZW50cyB0aGUgbGluZSBmZWVkIGNoYXJhY3RlciwgQGNvZGV7MHgwYX0uCisKK0xpbnV4 IG9uIFBvd2VyIExQQVIgc2VjdXJlIGJvb3QgaXMgY29udHJvbGxlZCBieSBAc3Ryb25neydpYm0s c2VjdXJlLWJvb3QnfQorZGV2aWNlIHRyZWUgcHJvcGVydHkgYW5kIGlmIHRoaXMgcHJvcGVydHkg aXMgc2V0IHRvIEBjb2RlezJ9IChAc2FtcHsyIC0gZW5mb3JjZWR9KSwKK0dSVUIgZW50ZXJzIGxv Y2tkb3duLiBUaGVyZSBhcmUgdGhyZWUgc2VjdXJlIGJvb3QgbW9kZXMuIFRoZXkgYXJlCisKK0Bp dGVtaXplCitAaXRlbSBAc2FtcHswIC0gZGlzYWJsZWR9OiBTZWN1cmUgYm9vdCBpcyBkaXNhYmxl ZC4gVGhpcyBpcyB0aGUgZGVmYXVsdC4KK0BpdGVtIEBzYW1wezEgLSBhdWRpdH06IEVuZm9yY2Ug c2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBieSBzZXR0aW5nCisgICAgICBAY29kZXtjaGVja19hcHBl bmRlZF9zaWduYXR1cmVzfSAoQHB4cmVme2NoZWNrX2FwcGVuZGVkX3NpZ25hdHVyZXN9KSB0bwor ICAgICAgQGNvZGV7ZW5mb3JjZX0gYW5kIGRvIG5vdCB0byBsb2NrZG93biB0aGUgR1JVQi4KK0Bp dGVtIEBzYW1wezIgLSBlbmZvcmNlZH06IExvY2tkb3duIHRoZSBHUlVCIGFuZCBlbmZvcmNlIHNp Z25hdHVyZSB2ZXJpZmljYXRpb24gYnkgc2V0dGluZworICAgICAgQGNvZGV7Y2hlY2tfYXBwZW5k ZWRfc2lnbmF0dXJlc30gKEBweHJlZntjaGVja19hcHBlbmRlZF9zaWduYXR1cmVzfSkgdG8gQGNv ZGV7ZW5mb3JjZX0uCitAZW5kIGl0ZW1pemUKKworTm90ZSB0aGF0IExpbnV4IG9uIFBvd2VyIExQ QVIgb25seSBzdXBwb3J0cyBAc2FtcHswIC0gZGlzYWJsZWR9IGFuZCBAc2FtcHsyIC0gZW5mb3Jj ZWR9LgorCitUbyBlbmFibGUgYXBwZW5kZWQgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbiwgbG9hZCB0 aGUgYXBwZW5kZWRzaWcgbW9kdWxlIGFuZCBhbgorWC41MDkgY2VydGlmaWNhdGUgZm9yIHZlcmlm aWNhdGlvbi4gQnVpbGRpbmcgdGhlIGFwcGVuZGVkc2lnIG1vZHVsZSBpbnRvIHRoZQorY29yZSBH UlVCIGltYWdlIGlzIHJlY29tbWVuZGVkLgorCitLZXkgbWFuYWdlbWVudCBpcyBjb250cm9sbGVk IGJ5IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBAY29kZXthcHBlbmRlZHNpZ19rZXlfbWdtdH0K KyhAcHhyZWZ7YXBwZW5kZWRzaWdfa2V5X21nbXR9KS4KKworQGl0ZW1pemUKK0BpdGVtIEBzYW1w e3N0YXRpY306IEVuZm9yY2Ugc3RhdGljIGtleSBtYW5hZ2VtZW50IHNpZ25hdHVyZSB2ZXJpZmlj YXRpb24uIFRoaXMgaXMgdGhlIGRlZmF1bHQuCisgICAgICBXaGVuIHRoZSBHUlVCIGlzIGxvY2tl ZCBkb3duLCB1c2VyIGNhbm5vdCBjaGFuZ2UgdGhlIHZhbHVlIGJ5IHNldHRpbmcgdGhlCisgICAg ICBAY29kZXthcHBlbmRlZHNpZ19rZXlfbWdtdH0gdmFyaWFibGUgYmFjayB0byBAc2FtcHtkeW5h bWljfS4KK0BpdGVtIEBzYW1we2R5bmFtaWN9OiBFbmZvcmNlIGR5bmFtaWMga2V5IG1hbmFnZW1l bnQgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbi4gV2hlbiB0aGUgR1JVQiBpcworICAgICAgbG9ja2Vk IGRvd24sIHVzZXIgY2Fubm90IGNoYW5nZSB0aGUgdmFsdWUgYnkgc2V0dGluZyB0aGUgQGNvZGV7 YXBwZW5kZWRzaWdfa2V5X21nbXR9CisgICAgICB2YXJpYWJsZSBiYWNrIHRvIEBzYW1we3N0YXRp Y30uCitAZW5kIGl0ZW1pemUKKworSW4gc3RhdGljIGtleSBtYW5hZ2VtZW50IG1vZGUsIGNlcnRp ZmljYXRlcyB3aWxsIGJlIGJ1aWx0IGludG8gdGhlIGNvcmUgaW1hZ2UgdXNpbmcKK3RoZSBAY29k ZXstLXg1MDl9IHBhcmFtZXRlciB0byBAY29tbWFuZHtncnViLWluc3RhbGx9IG9yIEBjb21tYW5k e2dydWItbWtpbWFnZX0uCitJdCBpcyBwb3NzaWJsZSB0byBsaXN0IHRoZSB0cnVzdGVkIGNlcnRp ZmljYXRlcyBhdmFpbGFibGUgYXQgYm9vdCB0aW1lIHVzaW5nCitAY29tbWFuZHthcHBlbmRfbGlz dF9kYn0gKEBweHJlZnthcHBlbmRfbGlzdF9kYn0pLiBUaGUgZGlzdHJ1c3RlZCBjZXJ0aWZpY2F0 ZXMgY2FuIGJlCitleHBsaWNpdGx5IHJlbW92ZWQgZnJvbSB0aGUgZGIgdXNpbmcgdGhlIEBjb21t YW5ke2FwcGVuZF9ybV9kYnhfY2VydH0gKEBweHJlZnthcHBlbmRfcm1fZGJ4X2NlcnR9KS4KK1Ro ZSB0cnVzdGVkIGNlcnRpZmljYXRlcyBjYW4gYmUgZXhwbGljaXRseSBhZGRlZCB0byB0aGUgZGIg dXNpbmcgdGhlCitAY29tbWFuZHthcHBlbmRfYWRkX2RiX2NlcnR9IChAcHhyZWZ7YXBwZW5kX2Fk ZF9kYl9jZXJ0fSkuCisKKworSW4gZHluYW1pYyBrZXkgbWFuYWdlbWVudCBtb2RlLCBkYiBhbmQg ZGJ4IGFyZSByZWFkIGZyb20gdGhlIFBsYXRmb3JtIEtleVN0b3JlKFBLUykuIElmCitkYiBpcyBu b3QgcHJlc2VudCBpbiBQS1MsIHN0YXRpYyBrZXkgKGJ1aWx0LWluIGtleXMpIGlzIHVzZWQgYXMg dGhlIGRlZmF1bHQga2V5LgorSXQgaXMgcG9zc2libGUgdG8gbGlzdCB0aGUgdHJ1c3RlZCBjZXJ0 aWZpY2F0ZXMgYW5kIGJpbmFyeSBoYXNoZXMgYXZhaWxhYmxlIGF0IGJvb3QgdGltZSB1c2luZwor QGNvbW1hbmR7YXBwZW5kX2xpc3RfZGJ4fSAoQHB4cmVme2FwcGVuZF9saXN0X2RifSkgYW5kIGxp c3QgdGhlIGRpc3RydXN0ZWQKK2NlcnRpZmljYXRlcyBhbmQgYmluYXJ5L2NlcnRpZmljYXRlIGhh c2hlcyBhdmFpbGFibGUgYXQgYm9vdCB0aW1lIHVzaW5nIEBjb21tYW5ke2FwcGVuZF9saXN0X2Ri eH0KKyhAcHhyZWZ7YXBwZW5kX2xpc3RfZGJ4fSkuIFRoZSB0cnVzdGVkIGNlcnRpZmljYXRlcyBh bmQgYmluYXJ5IGhhc2hlcyBjYW4gYmUgZXhwbGljaXRseSBhZGRlZAordG8gdGhlIGRiIHVzaW5n IHRoZSBAY29tbWFuZHthcHBlbmRfYWRkX2RiX2NlcnR9IChAcHhyZWZ7YXBwZW5kX2FkZF9kYl9j ZXJ0fSkgYW5kCitAY29tbWFuZHthcHBlbmRfYWRkX2RiX2hhc2h9IChAcHhyZWZ7YXBwZW5kX2Fk ZF9kYl9oYXNofSkuIFRoZSBkaXN0cnVzdGVkIGNlcnRpZmljYXRlcyBjYW4gYmUKK2V4cGxpY2l0 bHkgYWRkZWQgdG8gdGhlIGRieCB1c2luZyB0aGUgQGNvbW1hbmR7YXBwZW5kX2FkZF9kYnhfY2Vy dH0gKEBweHJlZnthcHBlbmRfYWRkX2RieF9jZXJ0fSkKK2FuZCB0aGUgZGlzdHJ1c3RlZCBjZXJ0 aWZpY2F0ZS9iaW5hcnkgaGFzZXMgY2FuIGJlIGV4cGxpY2l0bHkgYWRkZWQgdG8gdGhlIGRieCB1 c2luZyB0aGUKK0Bjb21tYW5ke2FwcGVuZF9hZGRfZGJ4X2hhc2h9IChAcHhyZWZ7YXBwZW5kX2Fk ZF9kYnhfaGFzaH0pLgorCitFbmZvcmNlbWVudCBvZiBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIGlz IGNvbnRyb2xsZWQgYnkgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlCitAY29kZXtjaGVja19hcHBl bmRlZF9zaWduYXR1cmVzfSAoQHB4cmVme2NoZWNrX2FwcGVuZGVkX3NpZ25hdHVyZXN9KS4KKwor QGl0ZW1pemUKK0BpdGVtIEBzYW1we25vfTogTm8gdmVyaWZpY2F0aW9uIGlzIHBlcmZvcm1lZC4g VGhpcyBpcyB0aGUgZGVmYXVsdC4KK0BpdGVtIEBzYW1we2VuZm9yY2V9OiBTaWduYXR1cmUgdmVy aWZpY2F0aW9uIGlzIHBlcmZvcm1lZCBhbmQgaWYgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBmYWls cywKKyAgICAgIHBvc3QgdGhlIGVycm9ycyBhbmQgc3RvcCB0aGUgYm9vdC4gU2lnbmF0dXJlIHZl cmlmaWNhdGlvbiBjYW5ub3QgYmUgZGlzYWJsZWQgYnkgc2V0dGluZworICAgICAgdGhlIEBjb2Rl e2NoZWNrX2FwcGVuZGVkX3NpZ25hdHVyZXN9IHZhcmlhYmxlIGJhY2sgdG8gQHNhbXB7bm99Lgor QGVuZCBpdGVtaXplCisKK0EgZmlsZSBjYW4gYmUgZXhwbGljaXRseSB2ZXJpZmllZCB1c2luZyB0 aGUgQGNvbW1hbmR7YXBwZW5kX3ZlcmlmeX0gKEBweHJlZnthcHBlbmRfdmVyaWZ5fSkuCisKK09u bHkgc2lnbmF0dXJlcyBnZW5lcmF0ZWQgdXNpbmcgU0hBLTI1NiBvciBTSEEtNTEyIGhhc2ggYWxn b3JpdGhtcyBhcmUgc3VwcG9ydGVkLAorYW5kIG9ubHkgUlNBIHNpZ25hdHVyZXMgZ2VuZXJhdGVk IHVzaW5nIDIwNDgsIDMwNzYsIG9yIDQwOTYgYml0IGtleSBhcmUgc3VwcG9ydGVkLgorT25seSBi aW5hcnkvY2VydGlmaWNhdGUgaGFzaCBnZW5lcmF0ZWQgdXNpbmcgU0hBLTI1NiwgU0hBLTM4NCwg b3IgU0hBLTUxMiBhbGdvcml0aG1zCithcmUgc3VwcG9ydGVkLgorCitBIGZpbGUgY2FuIGJlIHNp Z25lZCB3aXRoIHRoZSBAY29tbWFuZHtzaWduLWZpbGV9IHV0aWxpdHkgc3VwcGxpZWQgd2l0aCB0 aGUKK0xpbnV4IGtlcm5lbCBzb3VyY2UuIEZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZSBAY29kZXtz aWduaW5nLmtleX0gYXMgdGhlIHByaXZhdGUKK2tleSBhbmQgQGNvZGV7Y2VydGlmaWNhdGUuZGVy fSBhcyB0aGUgWC41MDkgY2VydGlmaWNhdGUgY29udGFpbmluZyB0aGUgcHVibGljIGtleToKKwor QGV4YW1wbGUKK3NpZ24tZmlsZSBTSEEyNTYgc2lnbmluZy5rZXkgY2VydGlmaWNhdGUuZGVyIHZt bGludXggdm1saW51eC5zaWduZWQKK0BlbmQgZXhhbXBsZQorCitPbmNlIHNpZ25hdHVyZSB2ZXJp ZmljYXRpb24gaXMgdHVybmVkIG9uLCB0aGUgZm9sbG93aW5nIGZpbGUgdHlwZXMgbXVzdCBjYXJy eQorYXBwZW5kZWQgc2lnbmF0dXJlczoKKworQGVudW1lcmF0ZQorQGl0ZW0gTGludXgga2VybmVs cworQGl0ZW0gR1JVQiBtb2R1bGVzLCBleGNlcHQgdGhvc2UgYnVpbHQgaW4gdG8gdGhlIGNvcmUg aW1hZ2UKK0BpdGVtIEFueSBuZXcgY2VydGlmaWNhdGUgYW5kIGJpbmFyeSBoYXNoIGZpbGVzIHRv IGJlIHRydXN0ZWQKK0BpdGVtIEFueSBuZXcgY2VydGlmaWNhdGUvYmluYXJ5IGhhc2ggZmlsZXMg dG8gYmUgZGlzdHJ1c3RlZAorQGVuZCBlbnVtZXJhdGUKKworV2hlbiBHUlVCIGlzIGxvY2tlZCBk b3duICh3aGVuIHNlY3VyZSBib290IG1vZGVzIGlzIEBjb2Rle2VuZm9yY2VkfSksCitzaWduYXR1 cmUgdmVyaWZpY2F0aW9uIGNhbm5vdCBiZSBAc3Ryb25ne2Rpc2FibGVkfSBieSBzZXR0aW5nIHRo ZQorQGNvZGV7Y2hlY2tfYXBwZW5kZWRfc2lnbmF0dXJlc30gKEBweHJlZntjaGVja19hcHBlbmRl ZF9zaWduYXR1cmVzfSkgdmFyaWFibGUKK3RvIEBjb2Rle25vfSBvciB1c2luZyB0aGUgQGNvbW1h bmR7bG9hZF9lbnZ9IChAcHhyZWZ7bG9hZF9lbnZ9KSBjb21tYW5kIGZyb20KK3RoZSBHUlVCIGNv bnNvbGUuCisKIEBub2RlIFVFRkkgc2VjdXJlIGJvb3QgYW5kIHNoaW0KIEBzZWN0aW9uIFVFRkkg c2VjdXJlIGJvb3QgYW5kIHNoaW0gc3VwcG9ydAogCkBAIC05MzY0LDYgKzk3MzksMzQgQEAgd2hp Y2ggaW5jcmVhc2VzIHRoZSByaXNrIG9mIHBhc3N3b3JkIGxlYWthZ2UgZHVyaW5nIHRoZSBwcm9j ZXNzLiBNb3Jlb3ZlciwgdGhlCiBzdXBlcnVzZXIgbGlzdCBtdXN0IGJlIHdlbGwgbWFpbnRhaW5l ZCwgYW5kIHRoZSBwYXNzd29yZCB1c2VkIGNhbm5vdCBiZQogc3luY2hyb25pemVkIHdpdGggTFVL UyBrZXkgcm90YXRpb24uCiAKK0Bub2RlIFNpZ25pbmcgY2VydGlmaWNhdGUgYW5kIGhhc2ggZmls ZQorQHNlY3Rpb24gU2lnbmluZyBjZXJ0aWZpY2F0ZSBhbmQgaGFzaCBmaWxlCitUaGUgWC41MDkg Y2VydGlmaWNhdGUgKHB1YmxpYyBrZXkpIGZpbGUgYW5kIGhhc2ggZmlsZSAoYmluYXJ5L2NlcnRp ZmljYXRlIGhhc2ggZmlsZSkKK2NhbiBiZSBzaWduZWQgd2l0aCBhIExpbnV4IGtlcm5lbCBtb2R1 bGUtc3R5bGUgYXBwZW5kZWQgc2lnbmF0dXJlLgorCitUaGUgc2lnbmVyLmtleSBpcyB5b3VyIHBy aXZhdGUga2V5IHVzZWQgZm9yIHNpZ25pbmcsIHNpZ25lci5kZXIgaXMgY29ycmVzcG9uZGluZwor cHVibGljIGtleSAoY2VydGlmaWNhdGUpIHVzZWQgZm9yIGFwcGVuZGVkIHNpZ25hdHVyZSB2ZXJp ZmljYXRpb24uIE5vdGUgdGhhdCB0aGUKK3NpZ25lci5kZXIgKGNlcnRpZmljYXRlKSBzaG91bGQg ZXhpc3QgaW4gdGhlIGRiIChAcHhyZWZ7VXNpbmcgYXBwZW5kZWQgc2lnbmF0dXJlc30pLgorCitA aXRlbWl6ZQorQGl0ZW0gU2lnbmluZyB0aGUgWC41MDkgY2VydGlmaWNhdGUgZmlsZSB1c2luZyBA ZmlsZXtzaWduLWZpbGV9LgorVGhlIGtlcm5lbC5kZXIgaXMgeW91ciBYLjUwOSBjZXJ0aWZpY2F0 ZSBmaWxlLgorQGV4YW1wbGUKKworc2lnbi1maWxlIFNIQTI1NiBzaWduZXIua2V5IHNpZ25lci5k ZXIga2VybmVsLmRlciBcCisgIGtlcm5lbC5kZXIuc2lnbmVkCisKK0BlbmQgZXhhbXBsZQorQGl0 ZW0gU2lnbmluZyB0aGUgaGFzaCBmaWxlIHVzaW5nIEBmaWxle3NpZ24tZmlsZX0uCitUaGUgYmlu YXJ5X2hhc2ggaXMgeW91ciBoYXNoIGZpbGUuCitAZXhhbXBsZQorCitzaWduLWZpbGUgU0hBMjU2 IHNpZ25lci5rZXkgc2lnbmVyLmRlciBiaW5hcnlfaGFzaCBcCisgIGJpbmFyeV9oYXNoLnNpZ25l ZAorCitAZW5kIGV4YW1wbGUKK0BlbmQgaXRlbWl6ZQorCiBAbm9kZSBTaWduaW5nIEdSVUIgaXRz ZWxmCiBAc2VjdGlvbiBTaWduaW5nIEdSVUIgaXRzZWxmCiBUbyBlbnN1cmUgYSBjb21wbGV0ZSBz ZWN1cmUtYm9vdCBjaGFpbiwgdGhlcmUgbXVzdCBiZSBhIHdheSBmb3IgdGhlIGNvZGUgdGhhdAot LSAKMi4zOS41IChBcHBsZSBHaXQtMTU0KQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkdydWItZGV2ZWwgbWFpbGluZyBsaXN0CkdydWItZGV2ZWxAZ251 Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0aW5mby9ncnViLWRldmVsCg==