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 AEDEFC021A4 for ; Wed, 26 Feb 2025 04:29:08 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tn92T-0002KQ-Kx; Tue, 25 Feb 2025 23:28:53 -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 1tn92S-0002KA-5f for grub-devel@gnu.org; Tue, 25 Feb 2025 23:28:52 -0500 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 1tn92P-0004Uv-E7 for grub-devel@gnu.org; Tue, 25 Feb 2025 23:28:51 -0500 Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 51Q1ksD4018224; Wed, 26 Feb 2025 04:28:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pp1; bh=dQzSpM ImQk6Jof1oCo1a2W+rGjEbu5IFiQQBP1pumUE=; b=n7JleZGo8rBK80qlXbcmHM Mg+n1CCiYUnslI7v70EufpLE+zrKktOSFfM7w7AUx1xOv2IJ3UqET2FeCH0TT1OK e05H+DzKvzCx2Ad20I2gc/1Sq3y8pTHzA7U1CovKP+ZJ3Zr4xiM3zagfV8DWs5e4 TjBbj9jdlTzutSpusZ7FACH1UnXUB8pq+aNZS5Xwg8Hmwrmx3HA4kplYRqqpWgWS dmhYJXDZaEPDpYjUdOxKlmQLYEyLCsnwoBSzxZTW82PAHprCw/7Dhsb2eqWnVAyF kRSYiJcXhEWfc8pwIEAnTAtp1kjnCqftXkZYeTcPYhmAdBnv6JHrVWc3qAQx1GDA == Received: from ppma12.dal12v.mail.ibm.com (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 451q5bh20p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 26 Feb 2025 04:28:46 +0000 (GMT) Received: from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1]) by ppma12.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 51Q3GN26012457; Wed, 26 Feb 2025 04:28:45 GMT Received: from smtprelay01.wdc07v.mail.ibm.com ([172.16.1.68]) by ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 44yrwsryts-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 26 Feb 2025 04:28:45 +0000 Received: from smtpav02.dal12v.mail.ibm.com (smtpav02.dal12v.mail.ibm.com [10.241.53.101]) by smtprelay01.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 51Q4SiFA27919064 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 26 Feb 2025 04:28:44 GMT Received: from smtpav02.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E38AC5805E; Wed, 26 Feb 2025 04:28:43 +0000 (GMT) Received: from smtpav02.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7B5545805A; Wed, 26 Feb 2025 04:28:43 +0000 (GMT) Received: from ltc.linux.ibm.com (unknown [9.5.196.140]) by smtpav02.dal12v.mail.ibm.com (Postfix) with ESMTP; Wed, 26 Feb 2025 04:28:43 +0000 (GMT) MIME-Version: 1.0 Date: Wed, 26 Feb 2025 09:58:43 +0530 From: sudhakar To: Stefan Berger Cc: grub-devel@gnu.org, dja@axtens.net, jan.setjeeilers@oracle.com, julian.klode@canonical.com, mate.kukri@canonical.com, pjones@redhat.com, avnish@linux.ibm.com, nayna@linux.ibm.com, ssrish@linux.ibm.com Subject: Re: [PATCH v1 12/21] appended signatures: documentation In-Reply-To: <5de51640-4a75-450b-a9dc-be256deb81ff@linux.ibm.com> References: <20241218145647.1390837-1-sudhakar@linux.ibm.com> <20241218145647.1390837-13-sudhakar@linux.ibm.com> <5de51640-4a75-450b-a9dc-be256deb81ff@linux.ibm.com> Message-ID: X-Sender: sudhakar@linux.ibm.com X-TM-AS-GCONF: 00 X-Proofpoint-GUID: bZab7kpFWI2qv1yM4q0O0rnNJvIwgVJ3 X-Proofpoint-ORIG-GUID: bZab7kpFWI2qv1yM4q0O0rnNJvIwgVJ3 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-25_08,2025-02-25_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 priorityscore=1501 impostorscore=0 spamscore=0 bulkscore=0 malwarescore=0 clxscore=1015 phishscore=0 lowpriorityscore=0 adultscore=0 mlxlogscore=999 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2502100000 definitions=main-2502260029 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_H2=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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org T24gMjAyNC0xMi0zMCAyMToyMCwgU3RlZmFuIEJlcmdlciB3cm90ZToKPiBPbiAxMi8xOC8yNCA5 OjU2IEFNLCBTdWRoYWthciBLdXBwdXNhbXkgd3JvdGU6Cj4+IEZyb206IERhbmllbCBBeHRlbnMg PGRqYUBheHRlbnMubmV0Pgo+PiAKPj4gVGhpcyBleHBsYWlucyBob3cgYXBwZW5kZWQgc2lnbmF0 dXJlcyBjYW4gYmUgdXNlZCB0byBmb3JtIHBhcnQgb2YKPj4gYSBzZWN1cmUgYm9vdCBjaGFpbiwg YW5kIGRvY3VtZW50cyB0aGUgY29tbWFuZHMgYW5kIHZhcmlhYmxlcwo+PiBpbnRyb2R1Y2VkLgo+ PiAKPj4gU2lnbmVkLW9mZi1ieTogRGFuaWVsIEF4dGVucyA8ZGphQGF4dGVucy5uZXQ+Cj4+IFNp Z25lZC1vZmYtYnk6IFN1ZGhha2FyIEt1cHB1c2FteSA8c3VkaGFrYXJAbGludXguaWJtLmNvbT4K Pj4gLS0tCj4+ICAgZG9jcy9ncnViLnRleGkgfCAxODUgCj4+ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KPj4gICAxIGZpbGUgY2hhbmdlZCwgMTY3IGlu c2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQo+PiAKPj4gZGlmZiAtLWdpdCBhL2RvY3MvZ3J1 Yi50ZXhpIGIvZG9jcy9ncnViLnRleGkKPj4gaW5kZXggNmU0ODMyOThkLi5mNzFjZTlmZmMgMTAw NjQ0Cj4+IC0tLSBhL2RvY3MvZ3J1Yi50ZXhpCj4+ICsrKyBiL2RvY3MvZ3J1Yi50ZXhpCj4+IEBA IC0zMjc0LDYgKzMyNzQsNyBAQCBUaGVzZSB2YXJpYWJsZXMgaGF2ZSBzcGVjaWFsIG1lYW5pbmcg dG8gR1JVQi4KPj4gICAgIEBtZW51Cj4+ICAgKiBiaW9zbnVtOjoKPj4gKyogY2hlY2tfYXBwZW5k ZWRfc2lnbmF0dXJlczo6Cj4+ICAgKiBjaGVja19zaWduYXR1cmVzOjoKPj4gICAqIGNob3Nlbjo6 Cj4+ICAgKiBjbWRwYXRoOjoKPj4gQEAgLTMzMzYsMTIgKzMzMzcsMTYgQEAgdGhpcy4KPj4gICBG b3IgYW4gYWx0ZXJuYXRpdmUgYXBwcm9hY2ggd2hpY2ggYWxzbyBjaGFuZ2VzIEJJT1MgZHJpdmUg bWFwcGluZ3MgCj4+IGZvciB0aGUKPj4gICBjaGFpbi1sb2FkZWQgc3lzdGVtLCBAcHhyZWZ7ZHJp dmVtYXB9Lgo+PiAgICtAbm9kZSBjaGVja19hcHBlbmRlZF9zaWduYXR1cmVzCj4+ICtAc3Vic2Vj dGlvbiBjaGVja19hcHBlbmRlZF9zaWduYXR1cmVzCj4+ICtUaGlzIHZhcmlhYmxlIGNvbnRyb2xz IHdoZXRoZXIgR1JVQiBlbmZvcmNlcyBhcHBlbmRlZCBzaWduYXR1cmUgCj4+IHZhbGlkYXRpb24g b24KPj4gK2NlcnRhaW4gbG9hZGVkIGZpbGVzLiBAeHJlZntVc2luZyBhcHBlbmRlZCBzaWduYXR1 cmVzfS4KPj4gICAgIEBub2RlIGNoZWNrX3NpZ25hdHVyZXMKPj4gICBAc3Vic2VjdGlvbiBjaGVj a19zaWduYXR1cmVzCj4+ICAgLVRoaXMgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBHUlVCIGVu Zm9yY2VzIGRpZ2l0YWwgc2lnbmF0dXJlCj4+IC12YWxpZGF0aW9uIG9uIGxvYWRlZCBmaWxlcy4g QHhyZWZ7VXNpbmcgZGlnaXRhbCBzaWduYXR1cmVzfS4KPj4gK1RoaXMgdmFyaWFibGUgY29udHJv bHMgd2hldGhlciBHUlVCIGVuZm9yY2VzIEdQRy1zdHlsZSBkaWdpdGFsIAo+PiBzaWduYXR1cmUK Pj4gK3ZhbGlkYXRpb24gb24gbG9hZGVkIGZpbGVzLiBAeHJlZntVc2luZyBHUEctc3R5bGUgZGln aXRhbCAKPj4gc2lnbmF0dXJlc30uCj4gCj4gSSBhbSBub3Qgc3VyZSB3aGV0aGVyIGV2ZXJ5Ym9k eSBrbm93cyB3aGF0IEdQRy1zdHlsZSBkaWdpdGlhYmwKPiBzaWduYXR1cmVzIGFyZS4gTWF5YmUg bWVudGlvbiBoZXJlIG9uY2UgdGhhdCB0aG9zZSBhcmUgaW4gYSBzZXBhcmF0ZQo+IGZpbGUuCj4g Cj4+ICAgICBAbm9kZSBjaG9zZW4KPj4gICBAc3Vic2VjdGlvbiBjaG9zZW4KPj4gQEAgLTYzNzcs NiArNjM4Miw3IEBAIHlvdSBmb3JnZXQgYSBjb21tYW5kLCB5b3UgY2FuIHJ1biB0aGUgY29tbWFu ZCAKPj4gQGNvbW1hbmR7aGVscH0KPj4gICAqIGRhdGU6OiAgICAgICAgICAgICAgICAgICAgICAg IERpc3BsYXkgb3Igc2V0IGN1cnJlbnQgZGF0ZSBhbmQgdGltZQo+PiAgICogZGV2aWNldHJlZTo6 ICAgICAgICAgICAgICAgICAgTG9hZCBhIGRldmljZSB0cmVlIGJsb2IKPj4gICAqIGRpc3RydXN0 OjogICAgICAgICAgICAgICAgICAgIFJlbW92ZSBhIHB1YmtleSBmcm9tIHRydXN0ZWQga2V5cwo+ PiArKiBkaXN0cnVzdF9jZXJ0aWZpY2F0ZTo6ICAgICAgICBSZW1vdmUgYSBjZXJ0aWZpY2F0ZSBm cm9tIHRoZSBsaXN0IG9mIAo+PiB0cnVzdGVkIGNlcnRpZmljYXRlcwo+PiAgICogZHJpdmVtYXA6 OiAgICAgICAgICAgICAgICAgICAgTWFwIGEgZHJpdmUgdG8gYW5vdGhlcgo+PiAgICogZWNobzo6 ICAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBhIGxpbmUgb2YgdGV4dAo+PiAgICogZWZp dGV4dG1vZGU6OiAgICAgICAgICAgICAgICAgU2V0L0dldCB0ZXh0IG91dHB1dCBtb2RlIHJlc29s dXRpb24KPj4gQEAgLTYzOTUsNiArNjQwMSw3IEBAIHlvdSBmb3JnZXQgYSBjb21tYW5kLCB5b3Ug Y2FuIHJ1biB0aGUgY29tbWFuZCAKPj4gQGNvbW1hbmR7aGVscH0KPj4gICAqIGhleGR1bXA6OiAg ICAgICAgICAgICAgICAgICAgIFNob3cgcmF3IGNvbnRlbnRzIG9mIGEgZmlsZSBvciAKPj4gbWVt b3J5Cj4+ICAgKiBpbnNtb2Q6OiAgICAgICAgICAgICAgICAgICAgICBJbnNlcnQgYSBtb2R1bGUK Pj4gICAqIGtleXN0YXR1czo6ICAgICAgICAgICAgICAgICAgIENoZWNrIGtleSBtb2RpZmllciBz dGF0dXMKPj4gKyogbGlzdF9jZXJ0aWZpY2F0ZXM6OiAgICAgICAgICAgTGlzdCB0cnVzdGVkIGNl cnRpZmljYXRlcwo+PiAgICogbGlzdF9lbnY6OiAgICAgICAgICAgICAgICAgICAgTGlzdCB2YXJp YWJsZXMgaW4gZW52aXJvbm1lbnQgYmxvY2sKPj4gICAqIGxpc3RfdHJ1c3RlZDo6ICAgICAgICAg ICAgICAgIExpc3QgdHJ1c3RlZCBwdWJsaWMga2V5cwo+PiAgICogbG9hZF9lbnY6OiAgICAgICAg ICAgICAgICAgICAgTG9hZCB2YXJpYWJsZXMgZnJvbSBlbnZpcm9ubWVudCAKPj4gYmxvY2sKPj4g QEAgLTY0MzUsOCArNjQ0MiwxMCBAQCB5b3UgZm9yZ2V0IGEgY29tbWFuZCwgeW91IGNhbiBydW4g dGhlIGNvbW1hbmQgCj4+IEBjb21tYW5ke2hlbHB9Cj4+ICAgKiB0cG0yX2tleV9wcm90ZWN0b3Jf Y2xlYXI6OiAgICBDbGVhciB0aGUgVFBNMiBrZXkgcHJvdGVjdG9yCj4+ICAgKiB0cnVlOjogICAg ICAgICAgICAgICAgICAgICAgICBEbyBub3RoaW5nLCBzdWNjZXNzZnVsbHkKPj4gICAqIHRydXN0 OjogICAgICAgICAgICAgICAgICAgICAgIEFkZCBwdWJsaWMga2V5IHRvIGxpc3Qgb2YgdHJ1c3Rl ZCAKPj4ga2V5cwo+PiArKiB0cnVzdF9jZXJ0aWZpY2F0ZTo6ICAgICAgICAgICBBZGQgYW4geDUw OSBjZXJ0aWZpY2F0ZSB0byB0aGUgbGlzdCAKPj4gb2YgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMKPj4g ICAqIHVuc2V0OjogICAgICAgICAgICAgICAgICAgICAgIFVuc2V0IGFuIGVudmlyb25tZW50IHZh cmlhYmxlCj4+ICAgQGNvbW1lbnQgKiB2YmVpbmZvOjogICAgICAgICAgICAgICAgICAgICBMaXN0 IGF2YWlsYWJsZSB2aWRlbyBtb2Rlcwo+PiArKiB2ZXJpZnlfYXBwZW5kZWQ6OiAgICAgICAgICAg ICBWZXJpZnkgYXBwZW5kZWQgZGlnaXRhbCBzaWduYXR1cmUKPj4gICAqIHZlcmlmeV9kZXRhY2hl ZDo6ICAgICAgICAgICAgIFZlcmlmeSBkZXRhY2hlZCBkaWdpdGFsIHNpZ25hdHVyZQo+PiAgICog dmlkZW9pbmZvOjogICAgICAgICAgICAgICAgICAgTGlzdCBhdmFpbGFibGUgdmlkZW8gbW9kZXMK Pj4gICAqIHdybXNyOjogICAgICAgICAgICAgICAgICAgICAgIFdyaXRlIHZhbHVlcyB0byBtb2Rl bC1zcGVjaWZpYyAKPj4gcmVnaXN0ZXJzCj4+IEBAIC02Nzc4LDcgKzY3ODcsMjQgQEAgVGhlc2Ug a2V5cyBhcmUgdXNlZCB0byB2YWxpZGF0ZSBzaWduYXR1cmVzIHdoZW4gCj4+IGVudmlyb25tZW50 IHZhcmlhYmxlCj4+ICAgQGNvZGV7Y2hlY2tfc2lnbmF0dXJlc30gaXMgc2V0IHRvIEBjb2Rle2Vu Zm9yY2V9Cj4+ICAgKEBweHJlZntjaGVja19zaWduYXR1cmVzfSksIGFuZCBieSBzb21lIGludm9j YXRpb25zIG9mCj4+ICAgQGNvbW1hbmR7dmVyaWZ5X2RldGFjaGVkfSAoQHB4cmVme3ZlcmlmeV9k ZXRhY2hlZH0pLiAgQHhyZWZ7VXNpbmcKPj4gLWRpZ2l0YWwgc2lnbmF0dXJlc30sIGZvciBtb3Jl IGluZm9ybWF0aW9uLgo+PiArR1BHLXN0eWxlIGRpZ2l0YWwgc2lnbmF0dXJlc30sIGZvciBtb3Jl IGluZm9ybWF0aW9uLgo+PiArQGVuZCBkZWZmbgo+PiArCj4+ICtAbm9kZSBkaXN0cnVzdF9jZXJ0 aWZpY2F0ZQo+PiArQHN1YnNlY3Rpb24gZGlzdHJ1c3RfY2VydGlmaWNhdGUKPj4gKwo+PiArQGRl ZmZuIENvbW1hbmQgZGlzdHJ1c3RfY2VydGlmaWNhdGUgY2VydF9udW1iZXIKPj4gK1JlbW92ZSB0 aGUgeDUwOSBjZXJ0aWZpY2F0ZSBudW1iZXJlZCBAdmFye2NlcnRfbnVtYmVyfSBmcm9tIEdSVUIn cyAKPj4ga2V5cmluZyBvZgo+PiArdHJ1c3RlZCB4NTA5IGNlcnRpZmljYXRlcyBmb3IgdmVyaWZ5 aW5nIGFwcGVuZGVkIHNpZ25hdHVyZXMuCj4+ICsKPj4gK0B2YXJ7Y2VydF9udW1iZXJ9IGlzIHRo ZSBjZXJ0aWZpY2F0ZSBudW1iZXIgYXMgbGlzdGVkIGJ5Cj4+ICtAY29tbWFuZHtsaXN0X2NlcnRp ZmljYXRlc30gKEBweHJlZntsaXN0X2NlcnRpZmljYXRlc30pLgo+PiArCj4+ICtUaGVzZSBjZXJ0 aWZpY2F0ZXMgYXJlIHVzZWQgdG8gdmFsaWRhdGUgYXBwZW5kZWQgc2lnbmF0dXJlcyB3aGVuIAo+ PiBlbnZpcm9ubWVudAo+PiArdmFyaWFibGUgQGNvZGV7Y2hlY2tfYXBwZW5kZWRfc2lnbmF0dXJl c30gaXMgc2V0IHRvIEBjb2Rle2VuZm9yY2V9Cj4+ICsoQHB4cmVme2NoZWNrX2FwcGVuZGVkX3Np Z25hdHVyZXN9KSwgYW5kIGJ5IEBjb21tYW5ke3ZlcmlmeV9hcHBlbmRlZH0KPj4gKyhAcHhyZWZ7 dmVyaWZ5X2FwcGVuZGVkfSkuIFNlZSBAeHJlZntVc2luZyBhcHBlbmRlZCBzaWduYXR1cmVzfSBm b3IgCj4+IG1vcmUKPj4gK2luZm9ybWF0aW9uLgo+PiAgIEBlbmQgZGVmZm4KPj4gICAgIEBub2Rl IGRyaXZlbWFwCj4+IEBAIC03MTY5LDYgKzcxOTUsMTkgQEAgd2l0aG91dCBhbnkgb3B0aW9ucywg dGhlIEBjb21tYW5ke2tleXN0YXR1c30gCj4+IGNvbW1hbmQgcmV0dXJucyB0cnVlIGlmIGFuZAo+ PiAgIG9ubHkgaWYgY2hlY2tpbmcga2V5IG1vZGlmaWVyIHN0YXR1cyBpcyBzdXBwb3J0ZWQuCj4+ ICAgQGVuZCBkZWZmbgo+PiAgICtAbm9kZSBsaXN0X2NlcnRpZmljYXRlcwo+PiArQHN1YnNlY3Rp b24gbGlzdF9jZXJ0aWZpY2F0ZXMKPj4gKwo+PiArQGRlZmZuIENvbW1hbmQgbGlzdF9jZXJ0aWZp Y2F0ZXMKPj4gK0xpc3QgYWxsIHg1MDkgY2VydGlmaWNhdGVzIHRydXN0ZWQgYnkgR1JVQiBmb3Ig dmFsaWRhdGluZyBhcHBlbmRlZCAKPj4gc2lnbmF0dXJlcy4KPj4gK1RoZSBvdXRwdXQgaXMgYSBu dW1iZXJlZCBsaXN0IG9mIGNlcnRpZmljYXRlcywgc2hvd2luZyB0aGUgCj4+IGNlcnRpZmljYXRl J3Mgc2VyaWFsCj4+ICtudW1iZXIgYW5kIENvbW1vbiBOYW1lLgo+PiArCj4+ICtUaGUgY2VydGlm aWNhdGUgbnVtYmVyIGNhbiBiZSB1c2VkIGFzIGFuIGFyZ3VtZW50IHRvCj4+ICtAY29tbWFuZHtk aXN0cnVzdF9jZXJ0aWZpY2F0ZX0gKEBweHJlZntkaXN0cnVzdF9jZXJ0aWZpY2F0ZX0pLgo+PiAr Cj4+ICtTZWUgQHhyZWZ7VXNpbmcgYXBwZW5kZWQgc2lnbmF0dXJlc30gZm9yIG1vcmUgaW5mb3Jt YXRpb24uCj4+ICtAZW5kIGRlZmZuCj4+ICAgICBAbm9kZSBsaXN0X2Vudgo+PiAgIEBzdWJzZWN0 aW9uIGxpc3RfZW52Cj4+IEBAIC03MTg5LDcgKzcyMjgsNyBAQCBUaGUgb3V0cHV0IGlzIGluIEdQ RydzIHY0IGtleSBmaW5nZXJwcmludCBmb3JtYXQgCj4+IChpLmUuLCB0aGUgb3V0cHV0IG9mCj4+ ICAgQGNvZGV7Z3BnIC0tZmluZ2VycHJpbnR9KS4gIFRoZSBsZWFzdCBzaWduaWZpY2FudCBmb3Vy IGJ5dGVzIChsYXN0Cj4+ICAgZWlnaHQgaGV4YWRlY2ltYWwgZGlnaXRzKSBjYW4gYmUgdXNlZCBh cyBhbiBhcmd1bWVudCB0bwo+PiAgIEBjb21tYW5ke2Rpc3RydXN0fSAoQHB4cmVme2Rpc3RydXN0 fSkuCj4+IC1AeHJlZntVc2luZyBkaWdpdGFsIHNpZ25hdHVyZXN9LCBmb3IgbW9yZSBpbmZvcm1h dGlvbiBhYm91dCB1c2VzIGZvcgo+PiArQHhyZWZ7VXNpbmcgR1BHLXN0eWxlIGRpZ2l0YWwgc2ln bmF0dXJlc30sIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IAo+PiB1c2VzIGZvcgo+PiAgIHRo ZXNlIGtleXMuCj4+ICAgQGVuZCBkZWZmbgo+PiAgIEBAIC03MjI0LDggKzcyNjMsMTEgQEAgV2hl biB1c2VkIHdpdGggY2FyZSwgQG9wdGlvbnstLXNraXAtc2lnfSBhbmQgCj4+IHRoZSB3aGl0ZWxp c3QgZW5hYmxlIGFuCj4+ICAgYWRtaW5pc3RyYXRvciB0byBjb25maWd1cmUgYSBzeXN0ZW0gdG8g Ym9vdCBvbmx5IHNpZ25lZAo+PiAgIGNvbmZpZ3VyYXRpb25zLCBidXQgdG8gYWxsb3cgdGhlIHVz ZXIgdG8gc2VsZWN0IGZyb20gYW1vbmcgbXVsdGlwbGUKPj4gICBjb25maWd1cmF0aW9ucywgYW5k IHRvIGVuYWJsZSBgYG9uZS1zaG90JycgYm9vdCBhdHRlbXB0cyBhbmQKPj4gLWBgc2F2ZWRlZmF1 bHQnJyBiZWhhdmlvci4gIEB4cmVme1VzaW5nIGRpZ2l0YWwgc2lnbmF0dXJlc30sIGZvciBtb3Jl Cj4+ICtgYHNhdmVkZWZhdWx0JycgYmVoYXZpb3IuICBAeHJlZntVc2luZyBHUEctc3R5bGUgZGln aXRhbCBzaWduYXR1cmVzfSwgCj4+IGZvciBtb3JlCj4+ICAgaW5mb3JtYXRpb24uCj4+ICtFeHRy YSBjYXJlIHNob3VsZCBiZSB0YWtlbiB3aGVuIGNvbWJpbmluZyB0aGlzIGNvbW1hbmQgd2l0aCBh cHBlbmRlZCAKPj4gc2lnbmF0dXJlcwo+PiArKEBweHJlZntVc2luZyBhcHBlbmRlZCBzaWduYXR1 cmVzfSksIGFzIHRoaXMgZmlsZSBpcyBub3QgdmFsaWRhdGVkIGJ5IAo+PiBhbgo+PiArYXBwZW5k ZWQgc2lnbmF0dXJlIGFuZCBjb3VsZCBzZXQgQGNvZGV7Y2hlY2tfYXBwZW5kZWRfc2lnbmF0dXJl cz1ub30uCj4+ICAgQGVuZCBkZWZmbgo+PiAgICAgQEAgLTc1OTYsNyArNzYzOCw3IEBAIHJlYWQu ICBJdCBpcyBwb3NzaWJsZSB0byBtb2RpZnkgYSBkaWdpdGFsbHkgCj4+IHNpZ25lZCBlbnZpcm9u bWVudCBibG9jawo+PiAgIGZpbGUgZnJvbSB3aXRoaW4gR1JVQiB1c2luZyB0aGlzIGNvbW1hbmQs IHN1Y2ggdGhhdCBpdHMgc2lnbmF0dXJlIAo+PiB3aWxsCj4+ICAgbm8gbG9uZ2VyIGJlIHZhbGlk IG9uIHN1YnNlcXVlbnQgYm9vdHMuICBDYXJlIHNob3VsZCBiZSB0YWtlbiBpbiAKPj4gc3VjaAo+ PiAgIGFkdmFuY2VkIGNvbmZpZ3VyYXRpb25zIHRvIGF2b2lkIHJlbmRlcmluZyB0aGUgc3lzdGVt Cj4+IC11bmJvb3RhYmxlLiBAeHJlZntVc2luZyBkaWdpdGFsIHNpZ25hdHVyZXN9LCBmb3IgbW9y ZSBpbmZvcm1hdGlvbi4KPj4gK3VuYm9vdGFibGUuIEB4cmVme1VzaW5nIEdQRy1zdHlsZSBkaWdp dGFsIHNpZ25hdHVyZXN9LCBmb3IgbW9yZSAKPj4gaW5mb3JtYXRpb24uCj4+ICAgQGVuZCBkZWZm bgo+PiAgICAgQEAgLTgwNjQsMTEgKzgxMDYsMzAgQEAgc2lnbmF0dXJlcyB3aGVuIGVudmlyb25t ZW50IHZhcmlhYmxlIAo+PiBAY29kZXtjaGVja19zaWduYXR1cmVzfSBpcyBzZXQgdG8KPj4gICBt dXN0IGl0c2VsZiBiZSBwcm9wZXJseSBzaWduZWQuICBUaGUgQG9wdGlvbnstLXNraXAtc2lnfSBv cHRpb24gY2FuIAo+PiBiZQo+PiAgIHVzZWQgdG8gZGlzYWJsZSBzaWduYXR1cmUtY2hlY2tpbmcg d2hlbiByZWFkaW5nIEB2YXJ7cHVia2V5X2ZpbGV9Cj4+ICAgaXRzZWxmLiBJdCBpcyBleHBlY3Rl ZCB0aGF0IEBvcHRpb257LS1za2lwLXNpZ30gaXMgdXNlZnVsIGZvciAKPj4gdGVzdGluZwo+PiAt YW5kIG1hbnVhbCBib290aW5nLiBAeHJlZntVc2luZyBkaWdpdGFsIHNpZ25hdHVyZXN9LCBmb3Ig bW9yZQo+PiArYW5kIG1hbnVhbCBib290aW5nLiBAeHJlZntVc2luZyBHUEctc3R5bGUgZGlnaXRh bCBzaWduYXR1cmVzfSwgZm9yIAo+PiBtb3JlCj4+ICAgaW5mb3JtYXRpb24uCj4+ICAgQGVuZCBk ZWZmbgo+PiAgICAgK0Bub2RlIHRydXN0X2NlcnRpZmljYXRlCj4+ICtAc3Vic2VjdGlvbiB0cnVz dF9jZXJ0aWZpY2F0ZQo+PiArCj4+ICtAZGVmZm4gQ29tbWFuZCB0cnVzdF9jZXJ0aWZpY2F0ZSB4 NTA5X2NlcnRpZmljYXRlCj4+ICtSZWFkIGEgREVSLWZvcm1hdHRlZCB4NTA5IGNlcnRpZmljYXRl IGZyb20gdGhlIGZpbGUgCj4+IEB2YXJ7eDUwOV9jZXJ0aWZpY2F0ZX0KPj4gK2FuZCBhZGQgaXQg dG8gR1JVQidzIGludGVybmFsIGxpc3Qgb2YgdHJ1c3RlZCB4NTA5IGNlcnRpZmljYXRlcy4gCj4+ IFRoZXNlCj4+ICtjZXJ0aWZpY2F0ZXMgYXJlIHVzZWQgdG8gdmFsaWRhdGUgYXBwZW5kZWQgc2ln bmF0dXJlcyB3aGVuIHRoZSAKPj4gZW52aXJvbm1lbnQKPj4gK3ZhcmlhYmxlIEBjb2Rle2NoZWNr X2FwcGVuZGVkX3NpZ25hdHVyZXN9IGlzIHNldCB0byBAY29kZXtlbmZvcmNlfS4KPj4gKwo+PiAr Tm90ZSB0aGF0IGlmIEBjb2Rle2NoZWNrX2FwcGVuZGVkX3NpZ25hdHVyZXN9IGlzIHNldCB0byAK Pj4gQGNvZGV7ZW5mb3JjZX0KPj4gK3doZW4gQGNvbW1hbmR7dHJ1c3RfY2VydGlmaWNhdGV9IGlz IGV4ZWN1dGVkLCB0aGVuIAo+PiBAdmFye3g1MDlfY2VydGlmaWNhdGV9Cj4+ICttdXN0IGl0c2Vs ZiBiZWFyIGFuIGFwcGVuZGVkIHNpZ25hdHVyZS4gKEl0IGlzIG5vdCBzdWZmaWNpZW50IHRoYXQK Pj4gK0B2YXJ7eDUwOV9jZXJ0aWZpY2F0ZX0gYmUgc2lnbmVkIGJ5IGEgdHJ1c3RlZCBjZXJ0aWZp Y2F0ZSBhY2NvcmRpbmcgCj4+IHRvIHRoZQo+PiAreDUwOSBydWxlczogZ3J1YiBkb2VzIG5vdCBp bmNsdWRlIHN1cHBvcnQgZm9yIHZhbGlkYXRpbmcgc2lnbmF0dXJlcyAKPj4gd2l0aGluIHg1MDkK PiAKPiBzL2dydWIvR1JVQgo+IAo+PiArY2VydGlmaWNhdGVzIHRoZW1zZWx2ZXMuKQo+PiArCj4+ ICtTZWUgQHhyZWZ7VXNpbmcgYXBwZW5kZWQgc2lnbmF0dXJlc30gZm9yIG1vcmUgaW5mb3JtYXRp b24uCj4+ICtAZW5kIGRlZmZuCj4+ICsKPj4gICBAbm9kZSB1bnNldAo+PiAgIEBzdWJzZWN0aW9u IHVuc2V0Cj4+ICAgQEAgLTgwODcsNiArODE0OCwxOCBAQCBvbmx5IG9uIFBDIEJJT1MgcGxhdGZv cm1zLgo+PiAgIEBlbmQgZGVmZm4KPj4gICBAZW5kIGlnbm9yZQo+PiAgICtAbm9kZSB2ZXJpZnlf YXBwZW5kZWQKPj4gK0BzdWJzZWN0aW9uIHZlcmlmeV9hcHBlbmRlZAo+PiArCj4+ICtAZGVmZm4g Q29tbWFuZCB2ZXJpZnlfYXBwZW5kZWQgZmlsZQo+PiArVmVyaWZpZXMgYW4gYXBwZW5kZWQgc2ln bmF0dXJlIG9uIEB2YXJ7ZmlsZX0gYWdhaW5zdCB0aGUgdHJ1c3RlZCAKPj4gY2VydGlmaWNhdGVz Cj4+ICtrbm93biB0byBHUlVCIChTZWUgQHB4cmVme2xpc3RfY2VydGlmaWNhdGVzfSwgCj4+IEBw eHJlZnt0cnVzdF9jZXJ0aWZpY2F0ZX0sIGFuZAo+PiArQHB4cmVme2Rpc3RydXN0X2NlcnRpZmlj YXRlfSkuCj4+ICtFeGl0IGNvZGUgQGNvZGV7JD99IGlzIHNldCB0byAwIGlmIHRoZSBzaWduYXR1 cmUgdmFsaWRhdGVzCj4+ICtzdWNjZXNzZnVsbHkuICBJZiB2YWxpZGF0aW9uIGZhaWxzLCBpdCBp cyBzZXQgdG8gYSBub24temVybyB2YWx1ZS4KPj4gKwo+PiArU2VlIEB4cmVme1VzaW5nIGFwcGVu ZGVkIHNpZ25hdHVyZXN9LCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KPj4gK0BlbmQgZGVmZm4KPj4g ICAgIEBub2RlIHZlcmlmeV9kZXRhY2hlZAo+PiAgIEBzdWJzZWN0aW9uIHZlcmlmeV9kZXRhY2hl ZAo+PiBAQCAtODEwNSw3ICs4MTc4LDcgQEAgdHJpZWQuCj4+ICAgICBFeGl0IGNvZGUgQGNvZGV7 JD99IGlzIHNldCB0byAwIGlmIHRoZSBzaWduYXR1cmUgdmFsaWRhdGVzCj4+ICAgc3VjY2Vzc2Z1 bGx5LiAgSWYgdmFsaWRhdGlvbiBmYWlscywgaXQgaXMgc2V0IHRvIGEgbm9uLXplcm8gdmFsdWUu Cj4+IC1AeHJlZntVc2luZyBkaWdpdGFsIHNpZ25hdHVyZXN9LCBmb3IgbW9yZSBpbmZvcm1hdGlv bi4KPj4gK0B4cmVme1VzaW5nIEdQRy1zdHlsZSBkaWdpdGFsIHNpZ25hdHVyZXN9LCBmb3IgbW9y ZSBpbmZvcm1hdGlvbi4KPj4gICBAZW5kIGRlZmZuCj4+ICAgICBAbm9kZSB2aWRlb2luZm8KPj4g QEAgLTg1NjUsMTQgKzg2MzgsMTUgQEAgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFuZCBjb21tYW5k cyBhcmUgbGlzdGVkIAo+PiBpbiB0aGUgc2FtZSBvcmRlci4KPj4gICBAY2hhcHRlciBTZWN1cml0 eQo+PiAgICAgQG1lbnUKPj4gLSogQXV0aGVudGljYXRpb24gYW5kIGF1dGhvcmlzYXRpb246OiBV c2VycyBhbmQgYWNjZXNzIGNvbnRyb2wKPj4gLSogVXNpbmcgZGlnaXRhbCBzaWduYXR1cmVzOjog ICAgICAgICBCb290aW5nIGRpZ2l0YWxseSBzaWduZWQgY29kZQo+PiAtKiBVRUZJIHNlY3VyZSBi b290IGFuZCBzaGltOjogICAgICAgIEJvb3RpbmcgZGlnaXRhbGx5IHNpZ25lZCBQRSAKPj4gZmls ZXMKPj4gLSogU2VjdXJlIEJvb3QgQWR2YW5jZWQgVGFyZ2V0aW5nOjogICBFbWJlZGRlZCBpbmZv cm1hdGlvbiBmb3IgCj4+IGdlbmVyYXRpb24gbnVtYmVyIGJhc2VkIHJldm9jYXRpb24KPj4gLSog TWVhc3VyZWQgQm9vdDo6ICAgICAgICAgICAgICAgICAgICBNZWFzdXJpbmcgYm9vdCBjb21wb25l bnRzCj4+IC0qIExvY2tkb3duOjogICAgICAgICAgICAgICAgICAgICAgICAgTG9ja2Rvd24gd2hl biBib290aW5nIG9uIGEgCj4+IHNlY3VyZSBzZXR1cAo+PiAtKiBUUE0yIGtleSBwcm90ZWN0b3I6 OiAgICAgICAgICAgICAgIE1hbmFnaW5nIGRpc2sga2V5IHdpdGggVFBNMiBrZXkgCj4+IHByb3Rl Y3Rvcgo+PiAtKiBTaWduaW5nIEdSVUIgaXRzZWxmOjogICAgICAgICAgICAgIEVuc3VyaW5nIHRo ZSBpbnRlZ3JpdHkgb2YgdGhlIAo+PiBHUlVCIGNvcmUgaW1hZ2UKPj4gKyogQXV0aGVudGljYXRp b24gYW5kIGF1dGhvcmlzYXRpb246OiAgIFVzZXJzIGFuZCBhY2Nlc3MgY29udHJvbAo+PiArKiBV c2luZyBHUEctc3R5bGUgZGlnaXRhbCBzaWduYXR1cmVzOjogQm9vdGluZyBkaWdpdGFsbHkgc2ln bmVkIGNvZGUKPj4gKyogVXNpbmcgYXBwZW5kZWQgc2lnbmF0dXJlczo6ICAgICAgICAgIEFuIGFs dGVybmF0aXZlIGFwcHJvYWNoIHRvIAo+PiBib290aW5nIGRpZ2l0YWxseSBzaWduZWQgY29kZQo+ PiArKiBVRUZJIHNlY3VyZSBib290IGFuZCBzaGltOjogICAgICAgICAgQm9vdGluZyBkaWdpdGFs bHkgc2lnbmVkIFBFIAo+PiBmaWxlcwo+PiArKiBTZWN1cmUgQm9vdCBBZHZhbmNlZCBUYXJnZXRp bmc6OiAgICAgRW1iZWRkZWQgaW5mb3JtYXRpb24gZm9yIAo+PiBnZW5lcmF0aW9uIG51bWJlciBi YXNlZCByZXZvY2F0aW9uCj4+ICsqIE1lYXN1cmVkIEJvb3Q6OiAgICAgICAgICAgICAgICAgICAg ICBNZWFzdXJpbmcgYm9vdCBjb21wb25lbnRzCj4+ICsqIExvY2tkb3duOjogICAgICAgICAgICAg ICAgICAgICAgICAgICBMb2NrZG93biB3aGVuIGJvb3Rpbmcgb24gYSAKPj4gc2VjdXJlIHNldHVw Cj4+ICsqIFRQTTIga2V5IHByb3RlY3Rvcjo6ICAgICAgICAgICAgICAgICBNYW5hZ2luZyBkaXNr IGtleSB3aXRoIFRQTTIgCj4+IGtleSBwcm90ZWN0b3IKPj4gKyogU2lnbmluZyBHUlVCIGl0c2Vs Zjo6ICAgICAgICAgICAgICAgIEVuc3VyaW5nIHRoZSBpbnRlZ3JpdHkgb2YgdGhlIAo+PiBHUlVC IGNvcmUgaW1hZ2UKPj4gICBAZW5kIG1lbnUKPj4gICAgIEBub2RlIEF1dGhlbnRpY2F0aW9uIGFu ZCBhdXRob3Jpc2F0aW9uCj4+IEBAIC04NjQ4LDggKzg3MjIsOCBAQCBnZW5lcmF0aW5nIGNvbmZp Z3VyYXRpb24gZmlsZXMgd2l0aCAKPj4gYXV0aGVudGljYXRpb24uICBZb3UgY2FuIHVzZQo+PiAg IGFkZGluZyBAa2Jke3NldCBzdXBlcnVzZXJzPX0gYW5kIEBrYmR7cGFzc3dvcmR9IG9yIAo+PiBA a2Jke3Bhc3N3b3JkX3Bia2RmMn0KPj4gICBjb21tYW5kcy4KPj4gICAtQG5vZGUgVXNpbmcgZGln aXRhbCBzaWduYXR1cmVzCj4+IC1Ac2VjdGlvbiBVc2luZyBkaWdpdGFsIHNpZ25hdHVyZXMgaW4g R1JVQgo+PiArQG5vZGUgVXNpbmcgR1BHLXN0eWxlIGRpZ2l0YWwgc2lnbmF0dXJlcwo+PiArQHNl Y3Rpb24gVXNpbmcgR1BHLXN0eWxlIGRpZ2l0YWwgc2lnbmF0dXJlcyBpbiBHUlVCCj4+ICAgICBH UlVCJ3MgQGZpbGV7Y29yZS5pbWd9IGNhbiBvcHRpb25hbGx5IHByb3ZpZGUgZW5mb3JjZW1lbnQg dGhhdCBhbGwgCj4+IGZpbGVzCj4+ICAgc3Vic2VxdWVudGx5IHJlYWQgZnJvbSBkaXNrIGFyZSBj b3ZlcmVkIGJ5IGEgdmFsaWQgZGlnaXRhbCAKPj4gc2lnbmF0dXJlLgo+PiBAQCAtODczMiw2ICs4 ODA2LDgxIEBAIG9yIEJJT1MpIGNvbmZpZ3VyYXRpb24gdG8gY2F1c2UgdGhlIG1hY2hpbmUgdG8g Cj4+IGJvb3QgZnJvbSBhIGRpZmZlcmVudAo+PiAgIChhdHRhY2tlci1jb250cm9sbGVkKSBkZXZp Y2UuICBHUlVCIGlzIGF0IGJlc3Qgb25seSBvbmUgbGluayBpbiBhCj4+ICAgc2VjdXJlIGJvb3Qg Y2hhaW4uCj4+ICAgK0Bub2RlIFVzaW5nIGFwcGVuZGVkIHNpZ25hdHVyZXMKPj4gK0BzZWN0aW9u IFVzaW5nIGFwcGVuZGVkIHNpZ25hdHVyZXMgaW4gR1JVQgo+PiArCj4+ICtHUlVCIHN1cHBvcnRz IHZlcmlmeWluZyBMaW51eC1zdHlsZSAnYXBwZW5kZWQgc2lnbmF0dXJlcycgZm9yIHNlY3VyZSAK Pj4gYm9vdC4KPj4gK0FwcGVuZGVkIHNpZ25hdHVyZXMgYXJlIFBLQ1MjNyBtZXNzYWdlcyBjb250 YWluaW5nIGEgc2lnbmF0dXJlIG92ZXIgCj4+IHRoZQo+PiArY29udGVudHMgb2YgYSBmaWxlLCBw bHVzIHNvbWUgbWV0YWRhdGEsIGFwcGVuZGVkIHRvIHRoZSBlbmQgb2YgYSAKPj4gZmlsZS4gQSBm aWxlCj4+ICt3aXRoIGFuIGFwcGVuZGVkIHNpZ25hdHVyZSBlbmRzIHdpdGggdGhlIG1hZ2ljIHN0 cmluZzoKPj4gKwo+PiArQGV4YW1wbGUKPj4gK35Nb2R1bGUgc2lnbmF0dXJlIGFwcGVuZGVkflxu Cj4+ICtAZW5kIGV4YW1wbGUKPj4gKwo+PiArd2hlcmUgQGNvZGV7XG59IHJlcHJlc2VudHMgdGhl IGNhcnJpYWdlLXJldHVybiBjaGFyYWN0ZXIsIAo+PiBAY29kZXsweDBhfS4KPiAKPiBcbiBpcyB0 aGUgbmV3bGluZSBwYXJhbWV0ZXIsIFxyIGlzIGNhcnJpYWdlLXJldHVybgo+IAo+PiArCj4+ICtU byBlbmFibGUgYXBwZW5kZWQgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbiwgbG9hZCB0aGUgYXBwZW5k ZWRzaWcgCj4+IG1vZHVsZSBhbmQgYW4KPj4gK3g1MDkgY2VydGlmaWNhdGUgZm9yIHZlcmlmaWNh dGlvbi4gQnVpbGRpbmcgdGhlIGFwcGVuZGVkc2lnIG1vZHVsZSAKPj4gaW50byB0aGUKPj4gK2Nv cmUgZ3J1YiBpbWFnZSBpcyByZWNvbW1lbmRlZC4KPj4gKwo+PiArQ2VydGlmaWNhdGVzIGNhbiBi ZSBtYW5hZ2VkIGF0IGJvb3QgdGltZSB1c2luZyB0aGUgCj4+IEBweHJlZnt0cnVzdF9jZXJ0aWZp Y2F0ZX0sCj4+ICtAcHhyZWZ7ZGlzdHJ1c3RfY2VydGlmaWNhdGV9IGFuZCBAcHhyZWZ7bGlzdF9j ZXJ0aWZpY2F0ZXN9IGNvbW1hbmRzLgo+PiArQ2VydGlmaWNhdGVzIGNhbiBhbHNvIGJlIGJ1aWx0 IGluIHRvIHRoZSBjb3JlIGltYWdlIHVzaW5nIHRoZSAKPj4gQGNvZGV7LS14NTA5fQo+PiArcGFy YW1ldGVyIHRvIEBjb21tYW5ke2dydWItaW5zdGFsbH0gb3IgQGNvbW1hbmR7Z3J1Yi1ta2ltYWdl fS4KPj4gK0EgZmlsZSBjYW4gYmUgZXhwbGljdGx5IHZlcmlmaWVkIHVzaW5nIHRoZSBAcHhyZWZ7 dmVyaWZ5X2FwcGVuZGVkfSAKPj4gY29tbWFuZC4KPiAKPiBleHBsaWNpdGx5Cj4gCj4+ICsKPj4g K09ubHkgc2lnbmF0dXJlcyBtYWRlIHdpdGggdGhlIFNIQS0yNTYgb3IgU0hBLTUxMiBoYXNoIGFs Z29yaXRobSBhcmUgCj4+IHN1cHBvcnRlZCwKPj4gK2FuZCBvbmx5IFJTQSBzaWduYXR1cmVzIGFy ZSBzdXBwb3J0ZWQuCj4+ICsKPj4gK0EgZmlsZSBjYW4gYmUgc2lnbmVkIHdpdGggdGhlIEBjb21t YW5ke3NpZ24tZmlsZX0gdXRpbGl0eSBzdXBwbGllZCAKPj4gd2l0aCB0aGUKPj4gK0xpbnV4IGtl cm5lbCBzb3VyY2UuIEZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZSBAY29kZXtzaWduaW5nLmtleX0g YXMgCj4+IHRoZSBwcml2YXRlCj4+ICtrZXkgYW5kIEBjb2Rle2NlcnRpZmljYXRlLmRlcn0gYXMg dGhlIHg1MDkgY2VydGlmaWNhdGUgY29udGFpbmluZyB0aGUgCj4+IHB1YmxpYyBrZXk6Cj4+ICsK Pj4gK0BleGFtcGxlCj4+ICtzaWduLWZpbGUgU0hBMjU2IHNpZ25pbmcua2V5IGNlcnRpZmljYXRl LmRlciB2bWxpbnV4IHZtbGludXguc2lnbmVkCj4+ICtAZW5kIGV4YW1wbGUKPj4gKwo+PiArRW5m b3JjZW1lbnQgb2Ygc2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQo+ PiArQGNvZGV7Y2hlY2tfYXBwZW5kZWRfc2lnbmF0dXJlc30gdmFyaWFibGUuIFZlcmlmaWNhdGlv biB3aWxsIG9ubHkgCj4+IHRha2UgcGxhY2UKPj4gK3doZW4gZmlsZXMgYXJlIGxvYWRlZCBpZiB0 aGUgdmFyaWFibGUgaXMgc2V0IHRvIEBjb2Rle2VuZm9yY2V9LiBJZiBhCj4+ICtjZXJ0aWZpY2F0 ZSBpcyBidWlsdCBpbnRvIHRoZSBncnViIGNvcmUgaW1hZ2Ugd2l0aCB0aGUgQGNvZGV7LS14NTA5 fSAKPj4gcGFyYW1ldGVyLAo+PiArdGhlIHZhcmlhYmxlIHdpbGwgYmUgYXV0b21hdGljYWxseSBz ZXQgdG8gQGNvZGV7ZW5mb3JjZX0gd2hlbiB0aGUgCj4+IGFwcGVuZGVkc2lnCj4+ICttb2R1bGUg aXMgbG9hZGVkLgo+PiArCj4+ICtVbmxpa2UgR1BHLXN0eWxlIHNpZ25hdHVyZXMsIG5vdCBhbGwg ZmlsZXMgbG9hZGVkIGJ5IEdSVUIgYXJlIAo+PiByZXF1aXJlZCB0byBiZQo+PiArc2lnbmVkLiBP bmNlIHZlcmlmaWNhdGlvbiBpcyB0dXJuZWQgb24sIHRoZSBmb2xsb3dpbmcgZmlsZSB0eXBlcyBt dXN0IAo+PiBjYXJyeQo+PiArYXBwZW5kZWQgc2lnbmF0dXJlczoKPj4gKwo+PiArQGVudW1lcmF0 ZQo+PiArQGl0ZW0gTGludXgsIE11bHRpYm9vdCwgQlNELCBYTlUgYW5kIFBsYW45IGtlcm5lbHMK Pj4gK0BpdGVtIEdydWIgbW9kdWxlcywgZXhjZXB0IHRob3NlIGJ1aWx0IGluIHRvIHRoZSBjb3Jl IGltYWdlCj4+ICtAaXRlbSBBbnkgbmV3IGNlcnRpZmljYXRlIGZpbGVzIHRvIGJlIHRydXN0ZWQK Pj4gK0BlbmQgZW51bWVyYXRlCj4+ICsKPj4gK0FDUEkgdGFibGVzIGFuZCBEZXZpY2UgVHJlZSBp bWFnZXMgd2lsbCBub3QgYmUgY2hlY2tlZCBmb3IgYXBwZW5kZWQgCj4+IHNpZ25hdHVyZXMKPj4g K2J1dCBtdXN0IGJlIHZlcmlmaWVkIGJ5IGFub3RoZXIgbWVjaGFuaXNtIHN1Y2ggYXMgR1BHLXN0 eWxlIAo+PiBzaWduYXR1cmVzIGJlZm9yZQo+PiArdGhleSB3aWxsIGJlIGxvYWRlZC4KPj4gKwo+ PiArTm8gYXR0ZW1wdCBpcyBtYWRlIHRvIHZhbGlkYXRlIGFueSBvdGhlciBmaWxlIHR5cGUuIElu IHBhcnRpY3VsYXIsCj4+ICtjaGFpbi1sb2FkZWQgYmluYXJpZXMgYXJlIG5vdCB2ZXJpZmllZCAt IGlmIHlvdXIgcGxhdGZvcm0gc3VwcG9ydHMKPj4gK2NoYWluLWxvYWRpbmcgYW5kIHRoaXMgY2Fu bm90IGJlIGRpc2FibGVkLCBjb25zaWRlciBhbiBhbHRlcm5hdGl2ZSAKPj4gc2VjdXJlCj4+ICti b290IG1lY2hhbmlzbS4KPj4gKwo+PiArQXMgd2l0aCBHUEctc3R5bGUgYXBwZW5kZWQgc2lnbmF0 dXJlcywgc2lnbmF0dXJlIGNoZWNraW5nIGRvZXMgCj4+IEBzdHJvbmd7bm90fQo+PiArc3RvcCBh biBhdHRhY2tlciB3aXRoIGNvbnNvbGUgYWNjZXNzIGZyb20gZHJvcHBpbmcgbWFudWFsbHkgdG8g dGhlIAo+PiBHUlVCCj4+ICtjb25zb2xlIGFuZCBleGVjdXRpbmc6Cj4+ICsKPj4gK0BleGFtcGxl Cj4+ICtzZXQgY2hlY2tfYXBwZW5kZWRfc2lnbmF0dXJlcz1ubwo+PiArQGVuZCBleGFtcGxlCj4+ ICsKPj4gK1JlZmVyIHRvIHRoZSBzZWN0aW9uIG9uIHBhc3N3b3JkLXByb3RlY3RpbmcgR1JVQiAK Pj4gKEBweHJlZntBdXRoZW50aWNhdGlvbgo+PiArYW5kIGF1dGhvcmlzYXRpb259KSBmb3IgbW9y ZSBpbmZvcm1hdGlvbiBvbiBwcmV2ZW50aW5nIHRoaXMuCj4+ICsKPj4gK0FkZGl0aW9uYWxseSwg c3BlY2lhbCBjYXJlIG11c3QgYmUgdGFrZW4gYXJvdW5kIHRoZSBAY29tbWFuZHtsb2FkZW52fSAK Pj4gY29tbWFuZCwKPj4gK3doaWNoIGNhbiBiZSB1c2VkIHRvIHR1cm4gb2ZmIEBjb2Rle2NoZWNr X2FwcGVuZGVkX3NpZ25hdHVyZX0uCj4+ICsKPj4gICBAbm9kZSBVRUZJIHNlY3VyZSBib290IGFu ZCBzaGltCj4+ICAgQHNlY3Rpb24gVUVGSSBzZWN1cmUgYm9vdCBhbmQgc2hpbSBzdXBwb3J0Cj4+ IAo+IAo+IFdpdGggbml0cyBmaXhlZDoKPiAKPiBSZXZpZXdlZC1ieTogU3RlZmFuIEJlcmdlciA8 c3RlZmFuYkBsaW51eC5pYm0uY29tPgoKVGhhbmsgeW91IFN0ZWZhbi4gRml4ZWQgaXQuCgpUaGFu a3MsClN1ZGhha2FyIEt1cHB1c2FteQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KR3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUub3Jn Cmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK