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 92D3E1FF15C
	for <inbox@lore.proxmox.com>; Wed,  5 Mar 2025 16:36:04 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id BFC2819C3B;
	Wed,  5 Mar 2025 16:35:58 +0100 (CET)
Message-ID: <e51497ff-4ec0-4e4e-904e-c8cf75b96edc@proxmox.com>
Date: Wed, 5 Mar 2025 16:35:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
 Philipp Giersfeld <philipp.giersfeld@canarybit.eu>
References: <20250224123714.2662460-1-philipp.giersfeld@canarybit.eu>
 <20250224123714.2662460-5-philipp.giersfeld@canarybit.eu>
Content-Language: en-US
From: Fiona Ebner <f.ebner@proxmox.com>
In-Reply-To: <20250224123714.2662460-5-philipp.giersfeld@canarybit.eu>
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.043 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 KAM_SHORT               0.001 Use of a URL Shortener for very short URL
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches 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>
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>

QW0gMjQuMDIuMjUgdW0gMTM6Mzcgc2NocmllYiBQaGlsaXBwIEdpZXJzZmVsZDoKPiBUaGlzIHBh
dGNoIGlzIGZvciBlbmFibGluZyBBTUQgU0VWLVNOUCBzdXBwb3J0Lgo+IAo+IFdoZXJlIGFwcGxp
Y2FibGUsIGl0IGV4dGVuZHMgc3VwcG9ydCBmb3IgZXhpc3RpbmcgU0VWKC1FUykgdmFyaWFibGVz
Cj4gdG8gU0VWLVNOUC4gVGhpcyBtZWFucyB0aGF0IGl0IHJldGFpbnMgbm8tZGVidWcgYW5kIGtl
cm5lbC1oYXNoZXMKPiBvcHRpb25zLCBidXQgdGhlIG5vLWtleS1zaGFyaW5nIG9wdGlvbiBpcyBy
ZW1vdmVkLgo+IAo+IFRoZSBkZWZhdWx0IHBvbGljeSB2YWx1ZSBpcyBpZGVudGljYWwgdG8gUUVN
VeKAmXMsIGFuZCB0aGUgdGhlcmVmb3JlCj4gcmVxdWlyZWQgb3B0aW9uIGhhcyBiZWVuIGFkZGVk
IHRvIGNvbmZpZ3VyZSBTTVQgc3VwcG9ydC4KPiAKPiBUaGUgY29kZSB3YXMgdGVzdGVkIGJ5IHJ1
bm5pbmcgYSBWTSB3aXRob3V0IFNFViwgd2l0aCBTRVYsIFNFVi1FUywKPiBTRVYtU05QLiBFYWNo
IGNvbmZpZ3VyYXRpb24gd2FzIHRlc3RlZCB3aXRoIGFuZCB3aXRob3V0IGFuIEVGSSBkaXNrCj4g
YXR0YWNoZWQuIEZvciBTRVYtZW5hYmxlZCBjb25maWd1cmF0aW9ucyBpdCB3YXMgYWxzbyB2ZXJp
ZmllZCB0aGF0IHRoZQo+IGtlcm5lbCBhY3R1YWxseSB1c2VkIHRoZSByZXNwZWN0aXZlIGZlYXR1
cmUuCj4gCj4gU2lnbmVkLW9mZi1ieTogUGhpbGlwcCBHaWVyc2ZlbGQgPHBoaWxpcHAuZ2llcnNm
ZWxkQGNhbmFyeWJpdC5ldT4KPiBSZXZpZXdlZC1ieTogRGFuaWVsIEtyYWwgPGQua3JhbEBwcm94
bW94LmNvbT4KPiBUZXN0ZWQtYnk6IE1hcmt1cyBGcmFuayA8bS5mcmFua0Bwcm94bW94LmNvbT4K
PiAtLS0KPiAKPiAgbm8gY2hhbmdlcyBzaW5jZSBsYXN0IHZlcnNpb24KPiAKPiAgUFZFL0FQSTIv
UWVtdS5wbSAgICAgICAgICAgIHwgIDcgKysrLQo+ICBQVkUvUWVtdVNlcnZlci5wbSAgICAgICAg
ICAgfCA0OSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KPiAgUFZFL1FlbXVTZXJ2ZXIvQ1BV
Q29uZmlnLnBtIHwgNjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQo+ICAz
IGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQo+IAo+IGRp
ZmYgLS1naXQgYS9QVkUvQVBJMi9RZW11LnBtIGIvUFZFL0FQSTIvUWVtdS5wbQo+IGluZGV4IDI5
NTI2MGU3Li40ZjQ4Y2Y4NSAxMDA2NDQKPiAtLS0gYS9QVkUvQVBJMi9RZW11LnBtCj4gKysrIGIv
UFZFL0FQSTIvUWVtdS5wbQo+IEBAIC01NDgsOCArNTQ4LDEzIEBAIG15IHN1YiBjcmVhdGVfZGlz
a3MgOiBwcm90b3R5cGUoJCQkJCQkJCQkJCQpIHsKPiAgCQlteSAkdm9saWQ7Cj4gIAkJaWYgKCRk
cyBlcSAnZWZpZGlzazAnKSB7Cj4gIAkJICAgIG15ICRzbW0gPSBQVkU6OlFlbXVTZXJ2ZXI6Ok1h
Y2hpbmU6Om1hY2hpbmVfdHlwZV9pc19xMzUoJGNvbmYpOwo+ICsKPiArCQkgICAgbXkgJGFtZF9z
ZXZfdHlwZSA9IFBWRTo6UWVtdVNlcnZlcjo6Q1BVQ29uZmlnOjpnZXRfYW1kX3Nldl90eXBlKCRj
b25mKTsKPiArCQkgICAgZGllICJTRVYtU05QIHVzZXMgY29uc29saWRhdGVkIHJlYWQtb25seSBm
aXJtd2FyZSIKCk1pc3NpbmcgbmV3bGluZSBhdCB0aGUgZW5kIG9mIGVycm9yIG1lc3NhZ2UuIFBl
cmwgd2lsbCBhdXRvbWF0aWNhbGx5CmF0dGFjaCB0aGUgZmlsZW5hbWUgYW5kIGxpbmUgbnVtYmVy
IHRoZW4sIHdoaWNoIGlzIHJhdGhlciB1Z2x5IGhlcmUuIEknZAphbHNvIG1lbnRpb24gImFuZCBk
b2Vzbid0IG5lZWQgYW4gRUZJIGRpc2siIHRvIGNsYXJpZnkgdGhpcyBhIGJpdCBtb3JlCmZvciB1
c2Vycy4KCj4gKwkJCWlmICRhbWRfc2V2X3R5cGUgJiYgJGFtZF9zZXZfdHlwZSBlcSAnc25wJzsK
PiArCj4gIAkJICAgICgkdm9saWQsICRzaXplKSA9IFBWRTo6UWVtdVNlcnZlcjo6Y3JlYXRlX2Vm
aWRpc2soCj4gLQkJCSRzdG9yZWNmZywgJHN0b3JlaWQsICR2bWlkLCAkZm10LCAkYXJjaCwgJGRp
c2ssICRzbW0pOwo+ICsJCQkkc3RvcmVjZmcsICRzdG9yZWlkLCAkdm1pZCwgJGZtdCwgJGFyY2gs
ICRkaXNrLCAkc21tLCAkYW1kX3Nldl90eXBlKTsKPiAgCQl9IGVsc2lmICgkZHMgZXEgJ3RwbXN0
YXRlMCcpIHsKPiAgCQkgICAgIyBzd3RwbSBjYW4gb25seSB1c2UgcmF3IHZvbHVtZXMsIGFuZCB1
c2VzIGEgZml4ZWQgc2l6ZQo+ICAJCSAgICAkc2l6ZSA9IFBWRTo6VG9vbHM6OmNvbnZlcnRfc2l6
ZShQVkU6OlFlbXVTZXJ2ZXI6OkRyaXZlOjpUUE1TVEFURV9ESVNLX1NJWkUsICdiJyA9PiAna2In
KTsKPiBkaWZmIC0tZ2l0IGEvUFZFL1FlbXVTZXJ2ZXIucG0gYi9QVkUvUWVtdVNlcnZlci5wbQo+
IGluZGV4IDgwOGMwZTFjLi41MWU1NTFiOCAxMDA2NDQKPiAtLS0gYS9QVkUvUWVtdVNlcnZlci5w
bQo+ICsrKyBiL1BWRS9RZW11U2VydmVyLnBtCj4gQEAgLTUyLDcgKzUyLDcgQEAgdXNlIFBWRTo6
UWVtdUNvbmZpZzsKPiAgdXNlIFBWRTo6UWVtdVNlcnZlcjo6SGVscGVycyBxdyhjb25maWdfYXdh
cmVfdGltZW91dCBtaW5fdmVyc2lvbiBrdm1fdXNlcl92ZXJzaW9uIHdpbmRvd3NfdmVyc2lvbik7
Cj4gIHVzZSBQVkU6OlFlbXVTZXJ2ZXI6OkNsb3VkaW5pdDsKPiAgdXNlIFBWRTo6UWVtdVNlcnZl
cjo6Q0dyb3VwOwo+IC11c2UgUFZFOjpRZW11U2VydmVyOjpDUFVDb25maWcgcXcocHJpbnRfY3B1
X2RldmljZSBnZXRfY3B1X29wdGlvbnMgZ2V0X2NwdV9iaXRuZXNzIGlzX25hdGl2ZV9hcmNoIGdl
dF9hbWRfc2V2X29iamVjdCk7Cj4gK3VzZSBQVkU6OlFlbXVTZXJ2ZXI6OkNQVUNvbmZpZyBxdyhw
cmludF9jcHVfZGV2aWNlIGdldF9jcHVfb3B0aW9ucyBnZXRfY3B1X2JpdG5lc3MgaXNfbmF0aXZl
X2FyY2ggZ2V0X2FtZF9zZXZfb2JqZWN0IGdldF9hbWRfc2V2X3R5cGUpOwo+ICB1c2UgUFZFOjpR
ZW11U2VydmVyOjpEcml2ZSBxdyhpc192YWxpZF9kcml2ZW5hbWUgY2hlY2tlZF92b2x1bWVfZm9y
bWF0IGRyaXZlX2lzX2Nsb3VkaW5pdCBkcml2ZV9pc19jZHJvbSBkcml2ZV9pc19yZWFkX29ubHkg
cGFyc2VfZHJpdmUgcHJpbnRfZHJpdmUpOwo+ICB1c2UgUFZFOjpRZW11U2VydmVyOjpNYWNoaW5l
Owo+ICB1c2UgUFZFOjpRZW11U2VydmVyOjpNZW1vcnkgcXcoZ2V0X2N1cnJlbnRfbWVtb3J5KTsK
PiBAQCAtODgsNiArODgsMTMgQEAgbXkgJE9WTUYgPSB7Cj4gIAkgICAgIiRFREsyX0ZXX0JBU0Uv
T1ZNRl9DT0RFXzRNLnNlY2Jvb3QuZmQiLAo+ICAJICAgICIkRURLMl9GV19CQVNFL09WTUZfVkFS
U180TS5tcy5mZCIsCj4gIAldLAo+ICsJJzRtLXNldicgPT4gWwo+ICsJICAgICIkRURLMl9GV19C
QVNFL09WTUZfQ1ZNX0NPREVfNE0uZmQiLAo+ICsJICAgICIkRURLMl9GV19CQVNFL09WTUZfQ1ZN
X1ZBUlNfNE0uZmQiLCAKClN0eWxlIG5pdDogdHJhaWxpbmcgd2hpdGVzcGFjZSBhYm92ZQoKSXMg
c3dpdGNoaW5nIG92ZXIgZm9yIHRoZSBzdGQrRVMgU0VWIHNjZW5hcmlvcyBzdGlsbApyZXF1aXJl
ZC9hZHZhbnRhZ2VvdXMgaWYgd2UgZ28gZm9yIGVkazItc3RhYmxlMjAyNTAyPwoKPiArCV0sCj4g
KwknNG0tc25wJyA9PiBbCj4gKwkgICAgIiRFREsyX0ZXX0JBU0UvT1ZNRl9DVk1fNE0uZmQiLAo+
ICsJXSwKPiAgCSMgRklYTUU6IFRoZXNlIGFyZSBsZWdhY3kgMk1CLXNpemVkIGltYWdlcyB0aGF0
IG1vZGVybiBPVk1GIGRvZXNuJ3Qgc3VwcG9ydHMgdG8gYnVpbGQKPiAgCSMgYW55bW9yZS4gaG93
IGNhbiB3ZSBkZXBlcmFjYXRlIHRoaXMgc2FuZWx5IHdpdGhvdXQgYnJlYWtpbmcgZXhpc3Rpbmcg
aW5zdGFuY2VzLCBvciB1c2luZwo+ICAJIyBvbGRlciBiYWNrdXBzIGFuZCBzbmFwc2hvdD8KPiBA
QCAtMzE3MiwxNSArMzE3OSwyMiBAQCBzdWIgdmdhX2NvbmZfaGFzX3NwaWNlIHsKPiAgICAgIHJl
dHVybiAkMSB8fCAxOwo+ICB9Cj4gIAo+IC1zdWIgZ2V0X292bWZfZmlsZXMoJCQkKSB7Cj4gLSAg
ICBteSAoJGFyY2gsICRlZmlkaXNrLCAkc21tKSA9IEBfOwo+ICtzdWIgZ2V0X292bWZfZmlsZXMo
JCQkJCkgewo+ICsgICAgbXkgKCRhcmNoLCAkZWZpZGlzaywgJHNtbSwgJGFtZF9zZXZfdHlwZSkg
PSBAXzsKPiAgCj4gICAgICBteSAkdHlwZXMgPSAkT1ZNRi0+eyRhcmNofQo+ICAJb3IgZGllICJu
byBPVk1GIGltYWdlcyBrbm93biBmb3IgYXJjaGl0ZWN0dXJlICckYXJjaCdcbiI7Cj4gIAo+ICAg
ICAgbXkgJHR5cGUgPSAnZGVmYXVsdCc7Cj4gICAgICBpZiAoJGFyY2ggZXEgJ3g4Nl82NCcpIHsK
PiAtCWlmIChkZWZpbmVkKCRlZmlkaXNrLT57ZWZpdHlwZX0pICYmICRlZmlkaXNrLT57ZWZpdHlw
ZX0gZXEgJzRtJykgewo+ICsJaWYgKCRhbWRfc2V2X3R5cGUgJiYgJGFtZF9zZXZfdHlwZSBlcSAn
c25wJykgewo+ICsJICAgICR0eXBlID0gIjRtLXNucCI7Cj4gKwkgICAgbXkgKCRvdm1mKSA9ICR0
eXBlcy0+eyR0eXBlfS0+QCo7Cj4gKwkgICAgZGllICJFRkkgYmFzZSBpbWFnZSAnJG92bWYnIG5v
dCBmb3VuZFxuIiBpZiAhIC1mICRvdm1mOwo+ICsJICAgIHJldHVybiAoJG92bWYpOwo+ICsJfSBl
bHNpZiAoJGFtZF9zZXZfdHlwZSkgewo+ICsJICAgICR0eXBlID0gIjRtLXNldiI7Cj4gKwl9IGVs
c2lmIChkZWZpbmVkKCRlZmlkaXNrLT57ZWZpdHlwZX0pICYmICRlZmlkaXNrLT57ZWZpdHlwZX0g
ZXEgJzRtJykgewo+ICAJICAgICR0eXBlID0gJHNtbSA/ICI0bSIgOiAiNG0tbm8tc21tIjsKPiAg
CSAgICAkdHlwZSAuPSAnLW1zJyBpZiAkZWZpZGlzay0+eydwcmUtZW5yb2xsZWQta2V5cyd9Owo+
ICAJfSBlbHNlIHsKPiBAQCAtMzMyOSw3ICszMzQzLDggQEAgbXkgc3ViIHByaW50X292bWZfZHJp
dmVfY29tbWFuZGxpbmVzIHsKPiAgCj4gICAgICBteSAkZCA9ICRjb25mLT57ZWZpZGlzazB9ID8g
cGFyc2VfZHJpdmUoJ2VmaWRpc2swJywgJGNvbmYtPntlZmlkaXNrMH0pIDogdW5kZWY7Cj4gIAo+
IC0gICAgbXkgKCRvdm1mX2NvZGUsICRvdm1mX3ZhcnMpID0gZ2V0X292bWZfZmlsZXMoJGFyY2gs
ICRkLCAkcTM1KTsKPiArICAgIG15ICRhbWRfc2V2X3R5cGUgPSBnZXRfYW1kX3Nldl90eXBlKCRj
b25mKTsKCkknZCBkaWUgaGVyZSBpZiB0aGUgdHlwZSBpcyAnc25wJyBqdXN0IHRvIGJlIHN1cmUs
IHNvIHRoYXQgd2UgaGF2ZSBhCmNsZWFyIGVycm9yIHNob3VsZCB0aGF0IGV2ZXIgaGFwcGVuIGJ5
IGFjY2lkZW50LgoKPiArICAgIG15ICgkb3ZtZl9jb2RlLCAkb3ZtZl92YXJzKSA9IGdldF9vdm1m
X2ZpbGVzKCRhcmNoLCAkZCwgJHEzNSwgJGFtZF9zZXZfdHlwZSk7Cj4gIAo+ICAgICAgbXkgJHZh
cl9kcml2ZV9zdHIgPSAiaWY9cGZsYXNoLHVuaXQ9MSxpZD1kcml2ZS1lZmlkaXNrMCI7Cj4gICAg
ICBpZiAoJGQpIHsKPiBAQCAtMzUyNiwxMCArMzU0MSwxNyBAQCBzdWIgY29uZmlnX3RvX2NvbW1h
bmQgewo+ICAJZGllICJPVk1GIChVRUZJKSBCSU9TIGlzIG5vdCBzdXBwb3J0ZWQgb24gMzItYml0
IENQVSB0eXBlc1xuIgo+ICAJICAgIGlmICEkZm9yY2VjcHUgJiYgZ2V0X2NwdV9iaXRuZXNzKCRj
b25mLT57Y3B1fSwgJGFyY2gpID09IDMyOwo+ICAKPiAtCW15ICgkY29kZV9kcml2ZV9zdHIsICR2
YXJfZHJpdmVfc3RyKSA9Cj4gLQkgICAgcHJpbnRfb3ZtZl9kcml2ZV9jb21tYW5kbGluZXMoJGNv
bmYsICRzdG9yZWNmZywgJHZtaWQsICRhcmNoLCAkcTM1LCAkdmVyc2lvbl9ndWFyZCk7Cj4gLQlw
dXNoICRjbWQtPkAqLCAnLWRyaXZlJywgJGNvZGVfZHJpdmVfc3RyOwo+IC0JcHVzaCAkY21kLT5A
KiwgJy1kcml2ZScsICR2YXJfZHJpdmVfc3RyOwo+ICsJbXkgJGFtZF9zZXZfdHlwZSA9IGdldF9h
bWRfc2V2X3R5cGUoJGNvbmYpOwo+ICsJaWYgKCRhbWRfc2V2X3R5cGUgJiYgJGFtZF9zZXZfdHlw
ZSBlcSAnc25wJykgewo+ICsJICAgbXkgJGFyY2ggPSBQVkU6OlFlbXVTZXJ2ZXI6OkhlbHBlcnM6
OmdldF92bV9hcmNoKCRjb25mKTsKPiArCSAgIG15ICRkID0gJGNvbmYtPntlZmlkaXNrMH0gPyBw
YXJzZV9kcml2ZSgnZWZpZGlzazAnLCAkY29uZi0+e2VmaWRpc2swfSkgOiB1bmRlZjsKClNpbmNl
IHRoZSBFRkkgZGlzayBpcyBub3QgdXNlZCBpbiB0aGlzIGNhc2UsIHdlIHNob3VsZCBhbHdheXMg
cGFzcyB1bmRlZgp0byBiZSBleHBsaWNpdC4gV2UgY2FuIHByaW50IGFuIGluZm9ybWF0aW9uYWwg
bWVzc2FnZSB0aGF0IGl0IHdpbGwgYmUKaWdub3JlZCBpZiBwcmVzZW50LgoKPiArCSAgIHB1c2gg
JGNtZC0+QCosICctYmlvcycsIGdldF9vdm1mX2ZpbGVzKCRhcmNoLCAkZCwgdW5kZWYsICRhbWRf
c2V2X3R5cGUpOwo+ICsJfSBlbHNlIHsKPiArCSAgICBteSAoJGNvZGVfZHJpdmVfc3RyLCAkdmFy
X2RyaXZlX3N0cikgPSBwcmludF9vdm1mX2RyaXZlX2NvbW1hbmRsaW5lcygKPiArCQkkY29uZiwg
JHN0b3JlY2ZnLCAkdm1pZCwgJGFyY2gsICRxMzUsICR2ZXJzaW9uX2d1YXJkKTsKPiArCSAgICBw
dXNoICRjbWQtPkAqLCAnLWRyaXZlJywgJGNvZGVfZHJpdmVfc3RyOwo+ICsJICAgIHB1c2ggJGNt
ZC0+QCosICctZHJpdmUnLCAkdmFyX2RyaXZlX3N0cjsKPiArCX0KPiAgICAgIH0KPiAgCj4gICAg
ICBpZiAoJHEzNSkgeyAjIHRlbGwgUUVNVSB0byBsb2FkIHEzNSBjb25maWcgZWFybHkKCi0tLXNu
aXAgODwtLS0KCj4gQEAgLTIzMSwyNSArMjMyLDMyIEBAIG15ICRjcHVfZm10ID0gewo+ICBteSAk
c2V2X2ZtdCA9IHsKPiAgICAgIHR5cGUgPT4gewo+ICAJZGVzY3JpcHRpb24gPT4gIkVuYWJsZSBz
dGFuZGFyZCBTRVYgd2l0aCB0eXBlPSdzdGQnIG9yIGVuYWJsZSIKPiAtCSAgICAuIiBleHBlcmlt
ZW50YWwgU0VWLUVTIHdpdGggdGhlICdlcycgb3B0aW9uLiIsCj4gKwkgICAgLiIgZXhwZXJpbWVu
dGFsIFNFVi1FUyB3aXRoIHRoZSAnZXMnIG9wdGlvbiBvciBlbmFibGUgIgo+ICsJICAgIC4iZXhw
ZXJpbWVudGFsIFNFVi1TTlAgd2l0aCB0aGUgJ3NucCcgb3B0aW9uLiIsCgpTdHlsZSBuaXQ6IGl0
J3MgcHJlZmVycmVkIHRvIHVzZSB0aGUgc3BhY2UgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgbmV4
dApsaW5lOiBodHRwczovL3B2ZS5wcm94bW94LmNvbS93aWtpL1BlcmxfU3R5bGVfR3VpZGUjV3Jh
cHBpbmdfU3RyaW5ncwoKPiAgCXR5cGUgPT4gJ3N0cmluZycsCj4gIAlkZWZhdWx0X2tleSA9PiAx
LAo+ICAJZm9ybWF0X2Rlc2NyaXB0aW9uID0+ICJzZXYtdHlwZSIsCj4gLQllbnVtID0+IFsnc3Rk
JywgJ2VzJ10sCj4gKwllbnVtID0+IFsnc3RkJywgJ2VzJywgJ3NucCddLAo+ICAJbWF4TGVuZ3Ro
ID0+IDMsCj4gICAgICB9LAo+ICAgICAgJ25vLWRlYnVnJyA9PiB7Cj4gLQlkZXNjcmlwdGlvbiA9
PiAiU2V0cyBwb2xpY3kgYml0IDAgdG8gMSB0byBkaXNhbGxvdyBkZWJ1Z2dpbmcgb2YgZ3Vlc3Qi
LAo+ICsJZGVzY3JpcHRpb24gPT4gIlNldHMgcG9saWN5IGJpdCB0byBkaXNhbGxvdyBkZWJ1Z2dp
bmcgb2YgZ3Vlc3QiLAo+ICAJdHlwZSA9PiAnYm9vbGVhbicsCj4gIAlkZWZhdWx0ID0+IDAsCj4g
IAlvcHRpb25hbCA9PiAxLAo+ICAgICAgfSwKPiAgICAgICduby1rZXktc2hhcmluZycgPT4gewo+
IC0JZGVzY3JpcHRpb24gPT4gIlNldHMgcG9saWN5IGJpdCAxIHRvIDEgdG8gZGlzYWxsb3cga2V5
IHNoYXJpbmcgd2l0aCBvdGhlciBndWVzdHMiLAo+ICsJZGVzY3JpcHRpb24gPT4gIlNldHMgcG9s
aWN5IGJpdCB0byBkaXNhbGxvdyBrZXkgc2hhcmluZyB3aXRoIG90aGVyIGd1ZXN0cyIsCgpJJ2Qg
YWxzbyBtZW50aW9uIHRoYXQgaXQgaXMgaWdub3JlZCBpZiB1c2luZyBTTlAKCj4gIAl0eXBlID0+
ICdib29sZWFuJywKPiAgCWRlZmF1bHQgPT4gMCwKPiAgCW9wdGlvbmFsID0+IDEsCj4gICAgICB9
LAo+ICsgICAgJ2FsbG93LXNtdCcgPT4gewo+ICsJZGVzY3JpcHRpb24gPT4gIlNldHMgcG9saWN5
IGJpdCB0byBhbGxvdyBTaW11bHRhbmVvdXMgTXVsdGkgVGhyZWFkaW5nIChTTVQpIiwKCkknZCBh
bHNvIG1lbnRpb24gdGhhdCBpdCBpcyBpZ25vcmVkIGlmIG5vdCB1c2luZyBTTlAKCj4gKwl0eXBl
ID0+ICdib29sZWFuJywKPiArCWRlZmF1bHQgPT4gMSwKPiArCW9wdGlvbmFsID0+IDEsCj4gKyAg
ICB9LAo+ICAgICAgImtlcm5lbC1oYXNoZXMiID0+IHsKPiAgCWRlc2NyaXB0aW9uID0+ICJBZGQg
a2VybmVsIGhhc2hlcyB0byBndWVzdCBmaXJtd2FyZSBmb3IgbWVhc3VyZWQgbGludXgga2VybmVs
IGxhdW5jaCIsCj4gIAl0eXBlID0+ICdib29sZWFuJywKPiBAQCAtODIzLDYgKzgzMSwxMyBAQCBz
dWIgZ2V0X2h3X2NhcGFiaWxpdGllcyB7Cj4gICAgICB9Cj4gICAgICByZXR1cm4gJGh3X2NhcGFi
aWxpdGllczsKPiAgfQo+ICtzdWIgZ2V0X2FtZF9zZXZfdHlwZSB7Cj4gKyAgICBteSAoJGNvbmYp
ID0gQF87Cj4gKwo+ICsgICAgcmV0dXJuIHVuZGVmIGlmICEkY29uZi0+eydhbWQtc2V2J307Cj4g
Kwo+ICsgICAgcmV0dXJuIFBWRTo6SlNPTlNjaGVtYTo6cGFyc2VfcHJvcGVydHlfc3RyaW5nKCRz
ZXZfZm10LCAkY29uZi0+eydhbWQtc2V2J30pLT57dHlwZX07Cj4gK30KPiAgCj4gIHN1YiBnZXRf
YW1kX3Nldl9vYmplY3Qgewo+ICAgICAgbXkgKCRhbWRfc2V2LCAkYmlvcykgPSBAXzsKPiBAQCAt
ODM2LDIyICs4NTEsNDEgQEAgc3ViIGdldF9hbWRfc2V2X29iamVjdCB7Cj4gICAgICBpZiAoJGFt
ZF9zZXZfY29uZi0+e3R5cGV9IGVxICdlcycgJiYgISRzZXZfaHdfY2Fwcy0+eydzZXYtc3VwcG9y
dC1lcyd9KSB7Cj4gIAlkaWUgIllvdXIgQ1BVIGRvZXMgbm90IHN1cHBvcnQgQU1EIFNFVi1FUy5c
biI7Cj4gICAgICB9Cj4gKyAgICBpZiAoJGFtZF9zZXZfY29uZi0+e3R5cGV9IGVxICdzbnAnICYm
ICEkc2V2X2h3X2NhcHMtPnsnc2V2LXN1cHBvcnQtc25wJ30pIHsKPiArCWRpZSAiWW91ciBDUFUg
ZG9lcyBub3Qgc3VwcG9ydCBBTUQgU0VWLVNOUC5cbiI7Cj4gKyAgICB9Cj4gICAgICBpZiAoISRi
aW9zIHx8ICRiaW9zIG5lICdvdm1mJykgewo+ICAJZGllICJUbyB1c2UgQU1EIFNFViwgeW91IG5l
ZWQgdG8gY2hhbmdlIHRoZSBCSU9TIHRvIE9WTUYuXG4iOwo+ICAgICAgfQo+ICAKPiAtICAgIG15
ICRzZXZfbWVtX29iamVjdCA9ICdzZXYtZ3Vlc3QsaWQ9c2V2MCc7Cj4gLSAgICAkc2V2X21lbV9v
YmplY3QgLj0gJyxjYml0cG9zPScuJHNldl9od19jYXBzLT57Y2JpdHBvc307Cj4gLSAgICAkc2V2
X21lbV9vYmplY3QgLj0gJyxyZWR1Y2VkLXBoeXMtYml0cz0nLiRzZXZfaHdfY2Fwcy0+eydyZWR1
Y2VkLXBoeXMtYml0cyd9Owo+IC0KPiAtICAgICMgZ3Vlc3QgcG9saWN5IGJpdCBjYWxjdWxhdGlv
biBhcyBkZXNjcmliZWQgaGVyZToKPiAtICAgICMgaHR0cHM6Ly9kb2N1bWVudGF0aW9uLnN1c2Uu
Y29tL3NsZXMvMTUtU1A1L2h0bWwvU0xFUy1hbWQtc2V2L2FydGljbGUtYW1kLXNldi5odG1sI3Rh
YmxlLWd1ZXN0cG9saWN5Cj4gLSAgICBteSAkcG9saWN5ID0gMDsKPiAtICAgICRwb2xpY3kgfD0g
MSA8PCAwIGlmICRhbWRfc2V2X2NvbmYtPnsnbm8tZGVidWcnfTsKPiAtICAgICRwb2xpY3kgfD0g
MSA8PCAxIGlmICRhbWRfc2V2X2NvbmYtPnsnbm8ta2V5LXNoYXJpbmcnfTsKPiAtICAgICRwb2xp
Y3kgfD0gMSA8PCAyIGlmICRhbWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnZXMnOwo+IC0gICAgIyBk
aXNhYmxlIG1pZ3JhdGlvbiB3aXRoIGJpdCAzIG5vc2VuZCB0byBwcmV2ZW50IGFtZC1zZXYtbWln
cmF0aW9uLWF0dGFjawo+IC0gICAgJHBvbGljeSB8PSAxIDw8IDM7Cj4gKyAgICBteSAkc2V2X21l
bV9vYmplY3QgPSAnJzsKPiArICAgIG15ICRwb2xpY3k7Cj4gKyAgICBpZiAoJGFtZF9zZXZfY29u
Zi0+e3R5cGV9IGVxICdlcycgfHwgJGFtZF9zZXZfY29uZi0+e3R5cGV9IGVxICdzdGQnKSB7Cj4g
Kwkkc2V2X21lbV9vYmplY3QgLj0gJ3Nldi1ndWVzdCxpZD1zZXYwJzsKPiArCSRzZXZfbWVtX29i
amVjdCAuPSAnLGNiaXRwb3M9Jy4kc2V2X2h3X2NhcHMtPntjYml0cG9zfTsKPiArCSRzZXZfbWVt
X29iamVjdCAuPSAnLHJlZHVjZWQtcGh5cy1iaXRzPScuJHNldl9od19jYXBzLT57J3JlZHVjZWQt
cGh5cy1iaXRzJ307Cj4gKwo+ICsJIyBndWVzdCBwb2xpY3kgYml0IGNhbGN1bGF0aW9uIGFzIGRl
c2NyaWJlZCBoZXJlOgo+ICsJIyBodHRwczovL2RvY3VtZW50YXRpb24uc3VzZS5jb20vc2xlcy8x
NS1TUDUvaHRtbC9TTEVTLWFtZC1zZXYvYXJ0aWNsZS1hbWQtc2V2Lmh0bWwjdGFibGUtZ3Vlc3Rw
b2xpY3kKPiArCSRwb2xpY3kgPSAwOwo+ICsJJHBvbGljeSB8PSAxIDw8IDAgaWYgJGFtZF9zZXZf
Y29uZi0+eyduby1kZWJ1Zyd9Owo+ICsJJHBvbGljeSB8PSAxIDw8IDEgaWYgJGFtZF9zZXZfY29u
Zi0+eyduby1rZXktc2hhcmluZyd9Owo+ICsJJHBvbGljeSB8PSAxIDw8IDIgaWYgJGFtZF9zZXZf
Y29uZi0+e3R5cGV9IGVxICdlcyc7Cj4gKwkjIGRpc2FibGUgbWlncmF0aW9uIHdpdGggYml0IDMg
bm9zZW5kIHRvIHByZXZlbnQgYW1kLXNldi1taWdyYXRpb24tYXR0YWNrCj4gKwkkcG9saWN5IHw9
IDEgPDwgMzsKPiArICAgIH0gZWxzaWYgKCRhbWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnc25wJykg
ewo+ICsJJHNldl9tZW1fb2JqZWN0IC49ICdzZXYtc25wLWd1ZXN0LGlkPXNldjAnOwo+ICsJJHNl
dl9tZW1fb2JqZWN0IC49ICcsY2JpdHBvcz0nLiRzZXZfaHdfY2Fwcy0+e2NiaXRwb3N9Owo+ICsJ
JHNldl9tZW1fb2JqZWN0IC49ICcscmVkdWNlZC1waHlzLWJpdHM9Jy4kc2V2X2h3X2NhcHMtPnsn
cmVkdWNlZC1waHlzLWJpdHMnfTsKPiArCj4gKwkjIGd1ZXN0IHBvbGljeSBiaXQgY2FsY3VsYXRp
b24gYXMgZGVzY3JpYmVkIGluIGNoYXB0ZXIgNC4zOgo+ICsJIyBodHRwczovL3d3dy5hbWQuY29t
L3N5c3RlbS9maWxlcy9UZWNoRG9jcy81Njg2MC5wZGYKPiArCSMgUmVzZXJ2ZWQgYml0IG11c3Qg
YmUgb25lCj4gKwkkcG9saWN5ID0gMSA8PCAxNzsKPiArCSRwb2xpY3kgfD0gMSA8PCAxNiBpZiAk
YW1kX3Nldl9jb25mLT57J2FsbG93LXNtdCd9OwoKSW4gdGhlIHNjaGVtYSwgdGhlIGRlZmF1bHQg
aXMgc2V0IHRvIDEuIE5vdGUgdGhhdCB0aGlzIGlzIG9ubHkKaW5mb3JtYXRpb25hbCB1bmZvcnR1
bmF0ZWx5LCBpLmUuIHBhcnNlX3Byb3BlcnR5X3N0cmluZygpIHdpbGwgbm90IGZpbGwKaW4gYSBk
ZWZhdWx0LiBZb3UgbmVlZCB0byBhcHBseSB0aGUgZGVmYXVsdCB5b3Vyc2VsZiBoZXJlIHVzaW5n
Cgo+IGlmICFkZWZpbmVkKCRhbWRfc2V2X2NvbmYtPnsnYWxsb3ctc210J30pIHx8ICRhbWRfc2V2
X2NvbmYtPnsnYWxsb3ctc210J307CgoKPiArCSRwb2xpY3kgfD0gMSA8PCAxOSBpZiAhJGFtZF9z
ZXZfY29uZi0+eyduby1kZWJ1Zyd9OwoKTm90ZSB0aGF0IGhlcmUsIGl0IGFscmVhZHkgd29ya3Mg
YXV0b21hdGljYWxseSwgYmVjYXVzZSB0aGUgZGVmYXVsdCBpcyAwLgoKPiArICAgIH0KPiArCj4g
IAo+ICAgICAgJHNldl9tZW1fb2JqZWN0IC49ICcscG9saWN5PScuc3ByaW50ZigiJSN4IiwgJHBv
bGljeSk7Cj4gICAgICAkc2V2X21lbV9vYmplY3QgLj0gJyxrZXJuZWwtaGFzaGVzPW9uJyBpZiAo
JGFtZF9zZXZfY29uZi0+eydrZXJuZWwtaGFzaGVzJ30pOwoKCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2ZS1k
ZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4v
bWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwK