From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	by lore.proxmox.com (Postfix) with ESMTPS id A45271FF15E
	for <inbox@lore.proxmox.com>; Tue, 11 Mar 2025 14:56:55 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id DBF47119AD;
	Tue, 11 Mar 2025 14:56:46 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1741701397;
 x=1742306197; d=canarybit.eu; s=rsa2;
 h=in-reply-to:content-transfer-encoding:content-type:mime-version:references:
 message-id:subject:cc:to:from:date:from;
 bh=0C1jVB6lDz5UaTz6SQDqhlxb1kcszNcCd/bGiR0Tfd8=;
 b=lqwDwYXjRJ9e5jSWMclnwR1ofzNwAYa8ZV+5PrUaZzuzboicEBNBFNJPS4s13ltt1vHsA9PNRxPYo
 8Fib7tJrIjXPdGIAeIniXX+Eb9x/IDoWo4qRp2gZi+CiDhHmy8cOsgS0FAqmLwJHOyCwLFetR0Hwir
 Yu1Qx2Oe0QM1NW67F1z0vIa8e/iWwxHaQvGvMEZ8BNOTzscCNODBLwk/EBxF0nv1V/kty0ocOpkL1I
 RgdZyGCWWAoEppu4ZJZJ+LTRIwD2yNnMU5ZW/ClD0lkiu/8sWlDVLYSm+4a1h8No5h/SMoLwLrmodf
 4bZmD7RjrzLMSETQ4bLUEXtFp5Nq/vw==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1741701397;
 x=1742306197; d=canarybit.eu; s=ed2;
 h=in-reply-to:content-transfer-encoding:content-type:mime-version:references:
 message-id:subject:cc:to:from:date:from;
 bh=0C1jVB6lDz5UaTz6SQDqhlxb1kcszNcCd/bGiR0Tfd8=;
 b=sjoul28akBeOmZNoY3jk99082E2x7Gz09sqk0Pq2ugnXXR6M9N8hkveZgyZfZaiS49K9LaXLyHGj/
 Svl9pCeAA==
X-HalOne-ID: a5a720b7-fe80-11ef-b074-471e5e6299d9
Date: Tue, 11 Mar 2025 14:56:36 +0100
From: Philipp Giersfeld <philipp.giersfeld@canarybit.eu>
To: Fiona Ebner <f.ebner@proxmox.com>
Message-ID: <ohu7nlfsnj7efw3sirwuckk5zeuuykhfs3jkui5r4txahavfwr@sgdqd3vzcntc>
References: <20250224123714.2662460-1-philipp.giersfeld@canarybit.eu>
 <20250224123714.2662460-5-philipp.giersfeld@canarybit.eu>
 <e51497ff-4ec0-4e4e-904e-c8cf75b96edc@proxmox.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <e51497ff-4ec0-4e4e-904e-c8cf75b96edc@proxmox.com>
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.001 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain DMARC_MISSING             0.1 Missing DMARC policy
 KAM_SHORT               0.001 Use of a URL Shortener for very short URL
 RCVD_IN_DNSWL_NONE     -0.0001 Sender listed at https://www.dnswl.org/,
 no trust
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_NONE                0.001 SPF: sender does not publish an SPF Record
Subject: Re: [pve-devel] [PATCH qemu-server v3 4/5] config: add AMD SEV-SNP
 support.
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Cc: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

T24gMjUvMDMvMDUgMDQ6MzVQTSwgRmlvbmEgRWJuZXIgd3JvdGU6Cj4gQW0gMjQuMDIuMjUgdW0g
MTM6Mzcgc2NocmllYiBQaGlsaXBwIEdpZXJzZmVsZDoKPiA+IFRoaXMgcGF0Y2ggaXMgZm9yIGVu
YWJsaW5nIEFNRCBTRVYtU05QIHN1cHBvcnQuCj4gPiAKPiA+IFdoZXJlIGFwcGxpY2FibGUsIGl0
IGV4dGVuZHMgc3VwcG9ydCBmb3IgZXhpc3RpbmcgU0VWKC1FUykgdmFyaWFibGVzCj4gPiB0byBT
RVYtU05QLiBUaGlzIG1lYW5zIHRoYXQgaXQgcmV0YWlucyBuby1kZWJ1ZyBhbmQga2VybmVsLWhh
c2hlcwo+ID4gb3B0aW9ucywgYnV0IHRoZSBuby1rZXktc2hhcmluZyBvcHRpb24gaXMgcmVtb3Zl
ZC4KPiA+IAo+ID4gVGhlIGRlZmF1bHQgcG9saWN5IHZhbHVlIGlzIGlkZW50aWNhbCB0byBRRU1V
4oCZcywgYW5kIHRoZSB0aGVyZWZvcmUKPiA+IHJlcXVpcmVkIG9wdGlvbiBoYXMgYmVlbiBhZGRl
ZCB0byBjb25maWd1cmUgU01UIHN1cHBvcnQuCj4gPiAKPiA+IFRoZSBjb2RlIHdhcyB0ZXN0ZWQg
YnkgcnVubmluZyBhIFZNIHdpdGhvdXQgU0VWLCB3aXRoIFNFViwgU0VWLUVTLAo+ID4gU0VWLVNO
UC4gRWFjaCBjb25maWd1cmF0aW9uIHdhcyB0ZXN0ZWQgd2l0aCBhbmQgd2l0aG91dCBhbiBFRkkg
ZGlzawo+ID4gYXR0YWNoZWQuIEZvciBTRVYtZW5hYmxlZCBjb25maWd1cmF0aW9ucyBpdCB3YXMg
YWxzbyB2ZXJpZmllZCB0aGF0IHRoZQo+ID4ga2VybmVsIGFjdHVhbGx5IHVzZWQgdGhlIHJlc3Bl
Y3RpdmUgZmVhdHVyZS4KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogUGhpbGlwcCBHaWVyc2ZlbGQg
PHBoaWxpcHAuZ2llcnNmZWxkQGNhbmFyeWJpdC5ldT4KPiA+IFJldmlld2VkLWJ5OiBEYW5pZWwg
S3JhbCA8ZC5rcmFsQHByb3htb3guY29tPgo+ID4gVGVzdGVkLWJ5OiBNYXJrdXMgRnJhbmsgPG0u
ZnJhbmtAcHJveG1veC5jb20+Cj4gPiAtLS0KPiA+IAo+ID4gIG5vIGNoYW5nZXMgc2luY2UgbGFz
dCB2ZXJzaW9uCj4gPiAKPiA+ICBQVkUvQVBJMi9RZW11LnBtICAgICAgICAgICAgfCAgNyArKyst
Cj4gPiAgUFZFL1FlbXVTZXJ2ZXIucG0gICAgICAgICAgIHwgNDkgKysrKysrKysrKysrKysrKysr
Ky0tLS0tLS0tCj4gPiAgUFZFL1FlbXVTZXJ2ZXIvQ1BVQ29uZmlnLnBtIHwgNjYgKysrKysrKysr
KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQo+ID4gIDMgZmlsZXMgY2hhbmdlZCwgOTIgaW5z
ZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9QVkUvQVBJ
Mi9RZW11LnBtIGIvUFZFL0FQSTIvUWVtdS5wbQo+ID4gaW5kZXggMjk1MjYwZTcuLjRmNDhjZjg1
IDEwMDY0NAo+ID4gLS0tIGEvUFZFL0FQSTIvUWVtdS5wbQo+ID4gKysrIGIvUFZFL0FQSTIvUWVt
dS5wbQo+ID4gQEAgLTU0OCw4ICs1NDgsMTMgQEAgbXkgc3ViIGNyZWF0ZV9kaXNrcyA6IHByb3Rv
dHlwZSgkJCQkJCQkJCQkJCkgewo+ID4gIAkJbXkgJHZvbGlkOwo+ID4gIAkJaWYgKCRkcyBlcSAn
ZWZpZGlzazAnKSB7Cj4gPiAgCQkgICAgbXkgJHNtbSA9IFBWRTo6UWVtdVNlcnZlcjo6TWFjaGlu
ZTo6bWFjaGluZV90eXBlX2lzX3EzNSgkY29uZik7Cj4gPiArCj4gPiArCQkgICAgbXkgJGFtZF9z
ZXZfdHlwZSA9IFBWRTo6UWVtdVNlcnZlcjo6Q1BVQ29uZmlnOjpnZXRfYW1kX3Nldl90eXBlKCRj
b25mKTsKPiA+ICsJCSAgICBkaWUgIlNFVi1TTlAgdXNlcyBjb25zb2xpZGF0ZWQgcmVhZC1vbmx5
IGZpcm13YXJlIgo+IAo+IE1pc3NpbmcgbmV3bGluZSBhdCB0aGUgZW5kIG9mIGVycm9yIG1lc3Nh
Z2UuIFBlcmwgd2lsbCBhdXRvbWF0aWNhbGx5Cj4gYXR0YWNoIHRoZSBmaWxlbmFtZSBhbmQgbGlu
ZSBudW1iZXIgdGhlbiwgd2hpY2ggaXMgcmF0aGVyIHVnbHkgaGVyZS4gSSdkCj4gYWxzbyBtZW50
aW9uICJhbmQgZG9lc24ndCBuZWVkIGFuIEVGSSBkaXNrIiB0byBjbGFyaWZ5IHRoaXMgYSBiaXQg
bW9yZQo+IGZvciB1c2Vycy4KCkRvZXMgIlNFVi1TTlAgdXNlcyBjb25zb2xpZGF0ZWQgcmVhZC1v
bmx5IGZpcm13YXJlIGluc3RlYWQgb2YgYSBzZXBlcmF0ZQpub24tdm9sYXRpbGUgdmFyaWFibGUg
c3RvcmVcbiIgd29yaz8KCj4gCj4gPiArCQkJaWYgJGFtZF9zZXZfdHlwZSAmJiAkYW1kX3Nldl90
eXBlIGVxICdzbnAnOwo+ID4gKwo+ID4gIAkJICAgICgkdm9saWQsICRzaXplKSA9IFBWRTo6UWVt
dVNlcnZlcjo6Y3JlYXRlX2VmaWRpc2soCj4gPiAtCQkJJHN0b3JlY2ZnLCAkc3RvcmVpZCwgJHZt
aWQsICRmbXQsICRhcmNoLCAkZGlzaywgJHNtbSk7Cj4gPiArCQkJJHN0b3JlY2ZnLCAkc3RvcmVp
ZCwgJHZtaWQsICRmbXQsICRhcmNoLCAkZGlzaywgJHNtbSwgJGFtZF9zZXZfdHlwZSk7Cj4gPiAg
CQl9IGVsc2lmICgkZHMgZXEgJ3RwbXN0YXRlMCcpIHsKPiA+ICAJCSAgICAjIHN3dHBtIGNhbiBv
bmx5IHVzZSByYXcgdm9sdW1lcywgYW5kIHVzZXMgYSBmaXhlZCBzaXplCj4gPiAgCQkgICAgJHNp
emUgPSBQVkU6OlRvb2xzOjpjb252ZXJ0X3NpemUoUFZFOjpRZW11U2VydmVyOjpEcml2ZTo6VFBN
U1RBVEVfRElTS19TSVpFLCAnYicgPT4gJ2tiJyk7Cj4gPiBkaWZmIC0tZ2l0IGEvUFZFL1FlbXVT
ZXJ2ZXIucG0gYi9QVkUvUWVtdVNlcnZlci5wbQo+ID4gaW5kZXggODA4YzBlMWMuLjUxZTU1MWI4
IDEwMDY0NAo+ID4gLS0tIGEvUFZFL1FlbXVTZXJ2ZXIucG0KPiA+ICsrKyBiL1BWRS9RZW11U2Vy
dmVyLnBtCj4gPiBAQCAtNTIsNyArNTIsNyBAQCB1c2UgUFZFOjpRZW11Q29uZmlnOwo+ID4gIHVz
ZSBQVkU6OlFlbXVTZXJ2ZXI6OkhlbHBlcnMgcXcoY29uZmlnX2F3YXJlX3RpbWVvdXQgbWluX3Zl
cnNpb24ga3ZtX3VzZXJfdmVyc2lvbiB3aW5kb3dzX3ZlcnNpb24pOwo+ID4gIHVzZSBQVkU6OlFl
bXVTZXJ2ZXI6OkNsb3VkaW5pdDsKPiA+ICB1c2UgUFZFOjpRZW11U2VydmVyOjpDR3JvdXA7Cj4g
PiAtdXNlIFBWRTo6UWVtdVNlcnZlcjo6Q1BVQ29uZmlnIHF3KHByaW50X2NwdV9kZXZpY2UgZ2V0
X2NwdV9vcHRpb25zIGdldF9jcHVfYml0bmVzcyBpc19uYXRpdmVfYXJjaCBnZXRfYW1kX3Nldl9v
YmplY3QpOwo+ID4gK3VzZSBQVkU6OlFlbXVTZXJ2ZXI6OkNQVUNvbmZpZyBxdyhwcmludF9jcHVf
ZGV2aWNlIGdldF9jcHVfb3B0aW9ucyBnZXRfY3B1X2JpdG5lc3MgaXNfbmF0aXZlX2FyY2ggZ2V0
X2FtZF9zZXZfb2JqZWN0IGdldF9hbWRfc2V2X3R5cGUpOwo+ID4gIHVzZSBQVkU6OlFlbXVTZXJ2
ZXI6OkRyaXZlIHF3KGlzX3ZhbGlkX2RyaXZlbmFtZSBjaGVja2VkX3ZvbHVtZV9mb3JtYXQgZHJp
dmVfaXNfY2xvdWRpbml0IGRyaXZlX2lzX2Nkcm9tIGRyaXZlX2lzX3JlYWRfb25seSBwYXJzZV9k
cml2ZSBwcmludF9kcml2ZSk7Cj4gPiAgdXNlIFBWRTo6UWVtdVNlcnZlcjo6TWFjaGluZTsKPiA+
ICB1c2UgUFZFOjpRZW11U2VydmVyOjpNZW1vcnkgcXcoZ2V0X2N1cnJlbnRfbWVtb3J5KTsKPiA+
IEBAIC04OCw2ICs4OCwxMyBAQCBteSAkT1ZNRiA9IHsKPiA+ICAJICAgICIkRURLMl9GV19CQVNF
L09WTUZfQ09ERV80TS5zZWNib290LmZkIiwKPiA+ICAJICAgICIkRURLMl9GV19CQVNFL09WTUZf
VkFSU180TS5tcy5mZCIsCj4gPiAgCV0sCj4gPiArCSc0bS1zZXYnID0+IFsKPiA+ICsJICAgICIk
RURLMl9GV19CQVNFL09WTUZfQ1ZNX0NPREVfNE0uZmQiLAo+ID4gKwkgICAgIiRFREsyX0ZXX0JB
U0UvT1ZNRl9DVk1fVkFSU180TS5mZCIsIAo+IAo+IFN0eWxlIG5pdDogdHJhaWxpbmcgd2hpdGVz
cGFjZSBhYm92ZQo+IAo+IElzIHN3aXRjaGluZyBvdmVyIGZvciB0aGUgc3RkK0VTIFNFViBzY2Vu
YXJpb3Mgc3RpbGwKPiByZXF1aXJlZC9hZHZhbnRhZ2VvdXMgaWYgd2UgZ28gZm9yIGVkazItc3Rh
YmxlMjAyNTAyPwoKRnJvbSBteSB0ZXN0aW5nIHRoaXMgaXMgc3RpbGwgdGhlIGNhc2UuCklJVUMs
IHRoaXMgaXMgYmVjYXVzZSB0aGUgZXhpc3RpbmcgZmlybXdhcmUgaXMgYnVpbHQgdGFyZ2V0aW5n
Ck9tdmZQa2cvT3ZtZlBrZ0kzMlg2NC5kc2Mgd2hpY2ggZG9lcyBub3Qgc3VwcG9ydCBTRVYuCgo+
IAo+ID4gKwldLAo+ID4gKwknNG0tc25wJyA9PiBbCj4gPiArCSAgICAiJEVESzJfRldfQkFTRS9P
Vk1GX0NWTV80TS5mZCIsCj4gPiArCV0sCj4gPiAgCSMgRklYTUU6IFRoZXNlIGFyZSBsZWdhY3kg
Mk1CLXNpemVkIGltYWdlcyB0aGF0IG1vZGVybiBPVk1GIGRvZXNuJ3Qgc3VwcG9ydHMgdG8gYnVp
bGQKPiA+ICAJIyBhbnltb3JlLiBob3cgY2FuIHdlIGRlcGVyYWNhdGUgdGhpcyBzYW5lbHkgd2l0
aG91dCBicmVha2luZyBleGlzdGluZyBpbnN0YW5jZXMsIG9yIHVzaW5nCj4gPiAgCSMgb2xkZXIg
YmFja3VwcyBhbmQgc25hcHNob3Q/Cj4gPiBAQCAtMzE3MiwxNSArMzE3OSwyMiBAQCBzdWIgdmdh
X2NvbmZfaGFzX3NwaWNlIHsKPiA+ICAgICAgcmV0dXJuICQxIHx8IDE7Cj4gPiAgfQo+ID4gIAo+
ID4gLXN1YiBnZXRfb3ZtZl9maWxlcygkJCQpIHsKPiA+IC0gICAgbXkgKCRhcmNoLCAkZWZpZGlz
aywgJHNtbSkgPSBAXzsKPiA+ICtzdWIgZ2V0X292bWZfZmlsZXMoJCQkJCkgewo+ID4gKyAgICBt
eSAoJGFyY2gsICRlZmlkaXNrLCAkc21tLCAkYW1kX3Nldl90eXBlKSA9IEBfOwo+ID4gIAo+ID4g
ICAgICBteSAkdHlwZXMgPSAkT1ZNRi0+eyRhcmNofQo+ID4gIAlvciBkaWUgIm5vIE9WTUYgaW1h
Z2VzIGtub3duIGZvciBhcmNoaXRlY3R1cmUgJyRhcmNoJ1xuIjsKPiA+ICAKPiA+ICAgICAgbXkg
JHR5cGUgPSAnZGVmYXVsdCc7Cj4gPiAgICAgIGlmICgkYXJjaCBlcSAneDg2XzY0Jykgewo+ID4g
LQlpZiAoZGVmaW5lZCgkZWZpZGlzay0+e2VmaXR5cGV9KSAmJiAkZWZpZGlzay0+e2VmaXR5cGV9
IGVxICc0bScpIHsKPiA+ICsJaWYgKCRhbWRfc2V2X3R5cGUgJiYgJGFtZF9zZXZfdHlwZSBlcSAn
c25wJykgewo+ID4gKwkgICAgJHR5cGUgPSAiNG0tc25wIjsKPiA+ICsJICAgIG15ICgkb3ZtZikg
PSAkdHlwZXMtPnskdHlwZX0tPkAqOwo+ID4gKwkgICAgZGllICJFRkkgYmFzZSBpbWFnZSAnJG92
bWYnIG5vdCBmb3VuZFxuIiBpZiAhIC1mICRvdm1mOwo+ID4gKwkgICAgcmV0dXJuICgkb3ZtZik7
Cj4gPiArCX0gZWxzaWYgKCRhbWRfc2V2X3R5cGUpIHsKPiA+ICsJICAgICR0eXBlID0gIjRtLXNl
diI7Cj4gPiArCX0gZWxzaWYgKGRlZmluZWQoJGVmaWRpc2stPntlZml0eXBlfSkgJiYgJGVmaWRp
c2stPntlZml0eXBlfSBlcSAnNG0nKSB7Cj4gPiAgCSAgICAkdHlwZSA9ICRzbW0gPyAiNG0iIDog
IjRtLW5vLXNtbSI7Cj4gPiAgCSAgICAkdHlwZSAuPSAnLW1zJyBpZiAkZWZpZGlzay0+eydwcmUt
ZW5yb2xsZWQta2V5cyd9Owo+ID4gIAl9IGVsc2Ugewo+ID4gQEAgLTMzMjksNyArMzM0Myw4IEBA
IG15IHN1YiBwcmludF9vdm1mX2RyaXZlX2NvbW1hbmRsaW5lcyB7Cj4gPiAgCj4gPiAgICAgIG15
ICRkID0gJGNvbmYtPntlZmlkaXNrMH0gPyBwYXJzZV9kcml2ZSgnZWZpZGlzazAnLCAkY29uZi0+
e2VmaWRpc2swfSkgOiB1bmRlZjsKPiA+ICAKPiA+IC0gICAgbXkgKCRvdm1mX2NvZGUsICRvdm1m
X3ZhcnMpID0gZ2V0X292bWZfZmlsZXMoJGFyY2gsICRkLCAkcTM1KTsKPiA+ICsgICAgbXkgJGFt
ZF9zZXZfdHlwZSA9IGdldF9hbWRfc2V2X3R5cGUoJGNvbmYpOwo+IAo+IEknZCBkaWUgaGVyZSBp
ZiB0aGUgdHlwZSBpcyAnc25wJyBqdXN0IHRvIGJlIHN1cmUsIHNvIHRoYXQgd2UgaGF2ZSBhCj4g
Y2xlYXIgZXJyb3Igc2hvdWxkIHRoYXQgZXZlciBoYXBwZW4gYnkgYWNjaWRlbnQuCgpBY2sKCj4g
Cj4gPiArICAgIG15ICgkb3ZtZl9jb2RlLCAkb3ZtZl92YXJzKSA9IGdldF9vdm1mX2ZpbGVzKCRh
cmNoLCAkZCwgJHEzNSwgJGFtZF9zZXZfdHlwZSk7Cj4gPiAgCj4gPiAgICAgIG15ICR2YXJfZHJp
dmVfc3RyID0gImlmPXBmbGFzaCx1bml0PTEsaWQ9ZHJpdmUtZWZpZGlzazAiOwo+ID4gICAgICBp
ZiAoJGQpIHsKPiA+IEBAIC0zNTI2LDEwICszNTQxLDE3IEBAIHN1YiBjb25maWdfdG9fY29tbWFu
ZCB7Cj4gPiAgCWRpZSAiT1ZNRiAoVUVGSSkgQklPUyBpcyBub3Qgc3VwcG9ydGVkIG9uIDMyLWJp
dCBDUFUgdHlwZXNcbiIKPiA+ICAJICAgIGlmICEkZm9yY2VjcHUgJiYgZ2V0X2NwdV9iaXRuZXNz
KCRjb25mLT57Y3B1fSwgJGFyY2gpID09IDMyOwo+ID4gIAo+ID4gLQlteSAoJGNvZGVfZHJpdmVf
c3RyLCAkdmFyX2RyaXZlX3N0cikgPQo+ID4gLQkgICAgcHJpbnRfb3ZtZl9kcml2ZV9jb21tYW5k
bGluZXMoJGNvbmYsICRzdG9yZWNmZywgJHZtaWQsICRhcmNoLCAkcTM1LCAkdmVyc2lvbl9ndWFy
ZCk7Cj4gPiAtCXB1c2ggJGNtZC0+QCosICctZHJpdmUnLCAkY29kZV9kcml2ZV9zdHI7Cj4gPiAt
CXB1c2ggJGNtZC0+QCosICctZHJpdmUnLCAkdmFyX2RyaXZlX3N0cjsKPiA+ICsJbXkgJGFtZF9z
ZXZfdHlwZSA9IGdldF9hbWRfc2V2X3R5cGUoJGNvbmYpOwo+ID4gKwlpZiAoJGFtZF9zZXZfdHlw
ZSAmJiAkYW1kX3Nldl90eXBlIGVxICdzbnAnKSB7Cj4gPiArCSAgIG15ICRhcmNoID0gUFZFOjpR
ZW11U2VydmVyOjpIZWxwZXJzOjpnZXRfdm1fYXJjaCgkY29uZik7Cj4gPiArCSAgIG15ICRkID0g
JGNvbmYtPntlZmlkaXNrMH0gPyBwYXJzZV9kcml2ZSgnZWZpZGlzazAnLCAkY29uZi0+e2VmaWRp
c2swfSkgOiB1bmRlZjsKPiAKPiBTaW5jZSB0aGUgRUZJIGRpc2sgaXMgbm90IHVzZWQgaW4gdGhp
cyBjYXNlLCB3ZSBzaG91bGQgYWx3YXlzIHBhc3MgdW5kZWYKPiB0byBiZSBleHBsaWNpdC4gV2Ug
Y2FuIHByaW50IGFuIGluZm9ybWF0aW9uYWwgbWVzc2FnZSB0aGF0IGl0IHdpbGwgYmUKPiBpZ25v
cmVkIGlmIHByZXNlbnQuCj4gCj4gPiArCSAgIHB1c2ggJGNtZC0+QCosICctYmlvcycsIGdldF9v
dm1mX2ZpbGVzKCRhcmNoLCAkZCwgdW5kZWYsICRhbWRfc2V2X3R5cGUpOwo+ID4gKwl9IGVsc2Ug
ewo+ID4gKwkgICAgbXkgKCRjb2RlX2RyaXZlX3N0ciwgJHZhcl9kcml2ZV9zdHIpID0gcHJpbnRf
b3ZtZl9kcml2ZV9jb21tYW5kbGluZXMoCj4gPiArCQkkY29uZiwgJHN0b3JlY2ZnLCAkdm1pZCwg
JGFyY2gsICRxMzUsICR2ZXJzaW9uX2d1YXJkKTsKPiA+ICsJICAgIHB1c2ggJGNtZC0+QCosICct
ZHJpdmUnLCAkY29kZV9kcml2ZV9zdHI7Cj4gPiArCSAgICBwdXNoICRjbWQtPkAqLCAnLWRyaXZl
JywgJHZhcl9kcml2ZV9zdHI7Cj4gPiArCX0KPiA+ICAgICAgfQo+ID4gIAo+ID4gICAgICBpZiAo
JHEzNSkgeyAjIHRlbGwgUUVNVSB0byBsb2FkIHEzNSBjb25maWcgZWFybHkKPiAKPiAtLS1zbmlw
IDg8LS0tCj4gCj4gPiBAQCAtMjMxLDI1ICsyMzIsMzIgQEAgbXkgJGNwdV9mbXQgPSB7Cj4gPiAg
bXkgJHNldl9mbXQgPSB7Cj4gPiAgICAgIHR5cGUgPT4gewo+ID4gIAlkZXNjcmlwdGlvbiA9PiAi
RW5hYmxlIHN0YW5kYXJkIFNFViB3aXRoIHR5cGU9J3N0ZCcgb3IgZW5hYmxlIgo+ID4gLQkgICAg
LiIgZXhwZXJpbWVudGFsIFNFVi1FUyB3aXRoIHRoZSAnZXMnIG9wdGlvbi4iLAo+ID4gKwkgICAg
LiIgZXhwZXJpbWVudGFsIFNFVi1FUyB3aXRoIHRoZSAnZXMnIG9wdGlvbiBvciBlbmFibGUgIgo+
ID4gKwkgICAgLiJleHBlcmltZW50YWwgU0VWLVNOUCB3aXRoIHRoZSAnc25wJyBvcHRpb24uIiwK
PiAKPiBTdHlsZSBuaXQ6IGl0J3MgcHJlZmVycmVkIHRvIHVzZSB0aGUgc3BhY2UgYXQgdGhlIGJl
Z2lubmluZyBvZiB0aGUgbmV4dAo+IGxpbmU6IGh0dHBzOi8vcHZlLnByb3htb3guY29tL3dpa2kv
UGVybF9TdHlsZV9HdWlkZSNXcmFwcGluZ19TdHJpbmdzCj4gCkFjay4KPiA+ICAJdHlwZSA9PiAn
c3RyaW5nJywKPiA+ICAJZGVmYXVsdF9rZXkgPT4gMSwKPiA+ICAJZm9ybWF0X2Rlc2NyaXB0aW9u
ID0+ICJzZXYtdHlwZSIsCj4gPiAtCWVudW0gPT4gWydzdGQnLCAnZXMnXSwKPiA+ICsJZW51bSA9
PiBbJ3N0ZCcsICdlcycsICdzbnAnXSwKPiA+ICAJbWF4TGVuZ3RoID0+IDMsCj4gPiAgICAgIH0s
Cj4gPiAgICAgICduby1kZWJ1ZycgPT4gewo+ID4gLQlkZXNjcmlwdGlvbiA9PiAiU2V0cyBwb2xp
Y3kgYml0IDAgdG8gMSB0byBkaXNhbGxvdyBkZWJ1Z2dpbmcgb2YgZ3Vlc3QiLAo+ID4gKwlkZXNj
cmlwdGlvbiA9PiAiU2V0cyBwb2xpY3kgYml0IHRvIGRpc2FsbG93IGRlYnVnZ2luZyBvZiBndWVz
dCIsCj4gPiAgCXR5cGUgPT4gJ2Jvb2xlYW4nLAo+ID4gIAlkZWZhdWx0ID0+IDAsCj4gPiAgCW9w
dGlvbmFsID0+IDEsCj4gPiAgICAgIH0sCj4gPiAgICAgICduby1rZXktc2hhcmluZycgPT4gewo+
ID4gLQlkZXNjcmlwdGlvbiA9PiAiU2V0cyBwb2xpY3kgYml0IDEgdG8gMSB0byBkaXNhbGxvdyBr
ZXkgc2hhcmluZyB3aXRoIG90aGVyIGd1ZXN0cyIsCj4gPiArCWRlc2NyaXB0aW9uID0+ICJTZXRz
IHBvbGljeSBiaXQgdG8gZGlzYWxsb3cga2V5IHNoYXJpbmcgd2l0aCBvdGhlciBndWVzdHMiLAo+
IAo+IEknZCBhbHNvIG1lbnRpb24gdGhhdCBpdCBpcyBpZ25vcmVkIGlmIHVzaW5nIFNOUAo+IApB
Y2sKPiA+ICAJdHlwZSA9PiAnYm9vbGVhbicsCj4gPiAgCWRlZmF1bHQgPT4gMCwKPiA+ICAJb3B0
aW9uYWwgPT4gMSwKPiA+ICAgICAgfSwKPiA+ICsgICAgJ2FsbG93LXNtdCcgPT4gewo+ID4gKwlk
ZXNjcmlwdGlvbiA9PiAiU2V0cyBwb2xpY3kgYml0IHRvIGFsbG93IFNpbXVsdGFuZW91cyBNdWx0
aSBUaHJlYWRpbmcgKFNNVCkiLAo+IAo+IEknZCBhbHNvIG1lbnRpb24gdGhhdCBpdCBpcyBpZ25v
cmVkIGlmIG5vdCB1c2luZyBTTlAKPiAKQWNrCj4gPiArCXR5cGUgPT4gJ2Jvb2xlYW4nLAo+ID4g
KwlkZWZhdWx0ID0+IDEsCj4gPiArCW9wdGlvbmFsID0+IDEsCj4gPiArICAgIH0sCj4gPiAgICAg
ICJrZXJuZWwtaGFzaGVzIiA9PiB7Cj4gPiAgCWRlc2NyaXB0aW9uID0+ICJBZGQga2VybmVsIGhh
c2hlcyB0byBndWVzdCBmaXJtd2FyZSBmb3IgbWVhc3VyZWQgbGludXgga2VybmVsIGxhdW5jaCIs
Cj4gPiAgCXR5cGUgPT4gJ2Jvb2xlYW4nLAo+ID4gQEAgLTgyMyw2ICs4MzEsMTMgQEAgc3ViIGdl
dF9od19jYXBhYmlsaXRpZXMgewo+ID4gICAgICB9Cj4gPiAgICAgIHJldHVybiAkaHdfY2FwYWJp
bGl0aWVzOwo+ID4gIH0KPiA+ICtzdWIgZ2V0X2FtZF9zZXZfdHlwZSB7Cj4gPiArICAgIG15ICgk
Y29uZikgPSBAXzsKPiA+ICsKPiA+ICsgICAgcmV0dXJuIHVuZGVmIGlmICEkY29uZi0+eydhbWQt
c2V2J307Cj4gPiArCj4gPiArICAgIHJldHVybiBQVkU6OkpTT05TY2hlbWE6OnBhcnNlX3Byb3Bl
cnR5X3N0cmluZygkc2V2X2ZtdCwgJGNvbmYtPnsnYW1kLXNldid9KS0+e3R5cGV9Owo+ID4gK30K
PiA+ICAKPiA+ICBzdWIgZ2V0X2FtZF9zZXZfb2JqZWN0IHsKPiA+ICAgICAgbXkgKCRhbWRfc2V2
LCAkYmlvcykgPSBAXzsKPiA+IEBAIC04MzYsMjIgKzg1MSw0MSBAQCBzdWIgZ2V0X2FtZF9zZXZf
b2JqZWN0IHsKPiA+ICAgICAgaWYgKCRhbWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnZXMnICYmICEk
c2V2X2h3X2NhcHMtPnsnc2V2LXN1cHBvcnQtZXMnfSkgewo+ID4gIAlkaWUgIllvdXIgQ1BVIGRv
ZXMgbm90IHN1cHBvcnQgQU1EIFNFVi1FUy5cbiI7Cj4gPiAgICAgIH0KPiA+ICsgICAgaWYgKCRh
bWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnc25wJyAmJiAhJHNldl9od19jYXBzLT57J3Nldi1zdXBw
b3J0LXNucCd9KSB7Cj4gPiArCWRpZSAiWW91ciBDUFUgZG9lcyBub3Qgc3VwcG9ydCBBTUQgU0VW
LVNOUC5cbiI7Cj4gPiArICAgIH0KPiA+ICAgICAgaWYgKCEkYmlvcyB8fCAkYmlvcyBuZSAnb3Zt
ZicpIHsKPiA+ICAJZGllICJUbyB1c2UgQU1EIFNFViwgeW91IG5lZWQgdG8gY2hhbmdlIHRoZSBC
SU9TIHRvIE9WTUYuXG4iOwo+ID4gICAgICB9Cj4gPiAgCj4gPiAtICAgIG15ICRzZXZfbWVtX29i
amVjdCA9ICdzZXYtZ3Vlc3QsaWQ9c2V2MCc7Cj4gPiAtICAgICRzZXZfbWVtX29iamVjdCAuPSAn
LGNiaXRwb3M9Jy4kc2V2X2h3X2NhcHMtPntjYml0cG9zfTsKPiA+IC0gICAgJHNldl9tZW1fb2Jq
ZWN0IC49ICcscmVkdWNlZC1waHlzLWJpdHM9Jy4kc2V2X2h3X2NhcHMtPnsncmVkdWNlZC1waHlz
LWJpdHMnfTsKPiA+IC0KPiA+IC0gICAgIyBndWVzdCBwb2xpY3kgYml0IGNhbGN1bGF0aW9uIGFz
IGRlc2NyaWJlZCBoZXJlOgo+ID4gLSAgICAjIGh0dHBzOi8vZG9jdW1lbnRhdGlvbi5zdXNlLmNv
bS9zbGVzLzE1LVNQNS9odG1sL1NMRVMtYW1kLXNldi9hcnRpY2xlLWFtZC1zZXYuaHRtbCN0YWJs
ZS1ndWVzdHBvbGljeQo+ID4gLSAgICBteSAkcG9saWN5ID0gMDsKPiA+IC0gICAgJHBvbGljeSB8
PSAxIDw8IDAgaWYgJGFtZF9zZXZfY29uZi0+eyduby1kZWJ1Zyd9Owo+ID4gLSAgICAkcG9saWN5
IHw9IDEgPDwgMSBpZiAkYW1kX3Nldl9jb25mLT57J25vLWtleS1zaGFyaW5nJ307Cj4gPiAtICAg
ICRwb2xpY3kgfD0gMSA8PCAyIGlmICRhbWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnZXMnOwo+ID4g
LSAgICAjIGRpc2FibGUgbWlncmF0aW9uIHdpdGggYml0IDMgbm9zZW5kIHRvIHByZXZlbnQgYW1k
LXNldi1taWdyYXRpb24tYXR0YWNrCj4gPiAtICAgICRwb2xpY3kgfD0gMSA8PCAzOwo+ID4gKyAg
ICBteSAkc2V2X21lbV9vYmplY3QgPSAnJzsKPiA+ICsgICAgbXkgJHBvbGljeTsKPiA+ICsgICAg
aWYgKCRhbWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnZXMnIHx8ICRhbWRfc2V2X2NvbmYtPnt0eXBl
fSBlcSAnc3RkJykgewo+ID4gKwkkc2V2X21lbV9vYmplY3QgLj0gJ3Nldi1ndWVzdCxpZD1zZXYw
JzsKPiA+ICsJJHNldl9tZW1fb2JqZWN0IC49ICcsY2JpdHBvcz0nLiRzZXZfaHdfY2Fwcy0+e2Ni
aXRwb3N9Owo+ID4gKwkkc2V2X21lbV9vYmplY3QgLj0gJyxyZWR1Y2VkLXBoeXMtYml0cz0nLiRz
ZXZfaHdfY2Fwcy0+eydyZWR1Y2VkLXBoeXMtYml0cyd9Owo+ID4gKwo+ID4gKwkjIGd1ZXN0IHBv
bGljeSBiaXQgY2FsY3VsYXRpb24gYXMgZGVzY3JpYmVkIGhlcmU6Cj4gPiArCSMgaHR0cHM6Ly9k
b2N1bWVudGF0aW9uLnN1c2UuY29tL3NsZXMvMTUtU1A1L2h0bWwvU0xFUy1hbWQtc2V2L2FydGlj
bGUtYW1kLXNldi5odG1sI3RhYmxlLWd1ZXN0cG9saWN5Cj4gPiArCSRwb2xpY3kgPSAwOwo+ID4g
KwkkcG9saWN5IHw9IDEgPDwgMCBpZiAkYW1kX3Nldl9jb25mLT57J25vLWRlYnVnJ307Cj4gPiAr
CSRwb2xpY3kgfD0gMSA8PCAxIGlmICRhbWRfc2V2X2NvbmYtPnsnbm8ta2V5LXNoYXJpbmcnfTsK
PiA+ICsJJHBvbGljeSB8PSAxIDw8IDIgaWYgJGFtZF9zZXZfY29uZi0+e3R5cGV9IGVxICdlcyc7
Cj4gPiArCSMgZGlzYWJsZSBtaWdyYXRpb24gd2l0aCBiaXQgMyBub3NlbmQgdG8gcHJldmVudCBh
bWQtc2V2LW1pZ3JhdGlvbi1hdHRhY2sKPiA+ICsJJHBvbGljeSB8PSAxIDw8IDM7Cj4gPiArICAg
IH0gZWxzaWYgKCRhbWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnc25wJykgewo+ID4gKwkkc2V2X21l
bV9vYmplY3QgLj0gJ3Nldi1zbnAtZ3Vlc3QsaWQ9c2V2MCc7Cj4gPiArCSRzZXZfbWVtX29iamVj
dCAuPSAnLGNiaXRwb3M9Jy4kc2V2X2h3X2NhcHMtPntjYml0cG9zfTsKPiA+ICsJJHNldl9tZW1f
b2JqZWN0IC49ICcscmVkdWNlZC1waHlzLWJpdHM9Jy4kc2V2X2h3X2NhcHMtPnsncmVkdWNlZC1w
aHlzLWJpdHMnfTsKPiA+ICsKPiA+ICsJIyBndWVzdCBwb2xpY3kgYml0IGNhbGN1bGF0aW9uIGFz
IGRlc2NyaWJlZCBpbiBjaGFwdGVyIDQuMzoKPiA+ICsJIyBodHRwczovL3d3dy5hbWQuY29tL3N5
c3RlbS9maWxlcy9UZWNoRG9jcy81Njg2MC5wZGYKPiA+ICsJIyBSZXNlcnZlZCBiaXQgbXVzdCBi
ZSBvbmUKPiA+ICsJJHBvbGljeSA9IDEgPDwgMTc7Cj4gPiArCSRwb2xpY3kgfD0gMSA8PCAxNiBp
ZiAkYW1kX3Nldl9jb25mLT57J2FsbG93LXNtdCd9Owo+IAo+IEluIHRoZSBzY2hlbWEsIHRoZSBk
ZWZhdWx0IGlzIHNldCB0byAxLiBOb3RlIHRoYXQgdGhpcyBpcyBvbmx5Cj4gaW5mb3JtYXRpb25h
bCB1bmZvcnR1bmF0ZWx5LCBpLmUuIHBhcnNlX3Byb3BlcnR5X3N0cmluZygpIHdpbGwgbm90IGZp
bGwKPiBpbiBhIGRlZmF1bHQuIFlvdSBuZWVkIHRvIGFwcGx5IHRoZSBkZWZhdWx0IHlvdXJzZWxm
IGhlcmUgdXNpbmcKPiAKPiA+IGlmICFkZWZpbmVkKCRhbWRfc2V2X2NvbmYtPnsnYWxsb3ctc210
J30pIHx8ICRhbWRfc2V2X2NvbmYtPnsnYWxsb3ctc210J307Cj4gCkFjawo+IAo+ID4gKwkkcG9s
aWN5IHw9IDEgPDwgMTkgaWYgISRhbWRfc2V2X2NvbmYtPnsnbm8tZGVidWcnfTsKPiAKPiBOb3Rl
IHRoYXQgaGVyZSwgaXQgYWxyZWFkeSB3b3JrcyBhdXRvbWF0aWNhbGx5LCBiZWNhdXNlIHRoZSBk
ZWZhdWx0IGlzIDAuCj4gCj4gPiArICAgIH0KPiA+ICsKPiA+ICAKPiA+ICAgICAgJHNldl9tZW1f
b2JqZWN0IC49ICcscG9saWN5PScuc3ByaW50ZigiJSN4IiwgJHBvbGljeSk7Cj4gPiAgICAgICRz
ZXZfbWVtX29iamVjdCAuPSAnLGtlcm5lbC1oYXNoZXM9b24nIGlmICgkYW1kX3Nldl9jb25mLT57
J2tlcm5lbC1oYXNoZXMnfSk7Cj4gCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2ZS1kZXZlbEBsaXN0cy5w
cm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0
aW5mby9wdmUtZGV2ZWwK