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 [IPv6:2a01:7e0:0:424::9])
	by lore.proxmox.com (Postfix) with ESMTPS id E6D171FF16E
	for <inbox@lore.proxmox.com>; Mon, 17 Feb 2025 15:08:08 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id B24DD293DF;
	Mon, 17 Feb 2025 15:08:06 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1739801253;
 x=1740406053; d=canarybit.eu; s=rsa2;
 h=content-transfer-encoding:content-type:mime-version:references:in-reply-to:
 message-id:date:subject:cc:to:from:from;
 bh=s4XE8sxb7JP8H1JAwZXk9Bsh0XDP76SNp3cJ5ny75gQ=;
 b=dRVp9NAqis7cD5dBhEXHhzQbJHej4QWMYHK3Xrhv+jHhE6H9fYLEZFCVvuMcM69dDYG6vk1pA9U7h
 hYlSWBKWXxefNqW2sP41WJ0VQ4EVXkJgKfpVtNu6zExdGKF7gOwJp3VQAr0Sp8u9kLybAB7YO847G7
 JDNFtKfZ7TZcXO171ZWB3yQBp1WVJt8cUQra3IUMslF2DIhfKd5EpDT91IO/Pb+d8jOwIrAyPLqzCS
 zwk2vYyYqRalxysv/phD020QhWivgwr2Ym9TWCwCUeDUSCzM1TOOG6OaoMJcyBWOsHZgCxS2+sMhdi
 NaIUyX2VJZeUNEZ5UERTYYMLs+b+BeA==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1739801253;
 x=1740406053; d=canarybit.eu; s=ed2;
 h=content-transfer-encoding:content-type:mime-version:references:in-reply-to:
 message-id:date:subject:cc:to:from:from;
 bh=s4XE8sxb7JP8H1JAwZXk9Bsh0XDP76SNp3cJ5ny75gQ=;
 b=CH1rRcobtvgjXINjgwf9zpOv17A4leBYK5ZuZ4HUD8cXMJ//wgx8u1qVh9GOMOPBKl1ZxCaE+mbi6
 +qN+mdfDQ==
X-HalOne-ID: 86f93d1a-ed38-11ef-9e45-152d8afab6bc
From: Philipp Giersfeld <philipp.giersfeld@canarybit.eu>
To: pve-devel@lists.proxmox.com
Date: Mon, 17 Feb 2025 15:06:50 +0100
Message-Id: <20250217140705.271726-5-philipp.giersfeld@canarybit.eu>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250217140705.271726-1-philipp.giersfeld@canarybit.eu>
References: <20250217140705.271726-1-philipp.giersfeld@canarybit.eu>
MIME-Version: 1.0
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.230 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_PASS          -0.001 SPF: HELO matches SPF record
 SPF_NONE                0.001 SPF: sender does not publish an SPF Record
Subject: [pve-devel] [PATCH qemu-server v2 2/2] 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>

VGhpcyBwYXRjaCBpcyBmb3IgZW5hYmxpbmcgQU1EIFNFVi1TTlAgc3VwcG9ydC4KCldoZXJlIGFw
cGxpY2FibGUsIGl0IGV4dGVuZHMgc3VwcG9ydCBmb3IgZXhpc3RpbmcgU0VWKC1FUykgdmFyaWFi
bGVzCnRvIFNFVi1TTlAuIFRoaXMgbWVhbnMgdGhhdCBpdCByZXRhaW5zIG5vLWRlYnVnIGFuZCBr
ZXJuZWwtaGFzaGVzCm9wdGlvbnMsIGJ1dCB0aGUgbm8ta2V5LXNoYXJpbmcgb3B0aW9uIGlzIHJl
bW92ZWQuCgpUaGUgZGVmYXVsdCBwb2xpY3kgdmFsdWUgaXMgaWRlbnRpY2FsIHRvIFFFTVXigJlz
LCBhbmQgdGhlIHRoZXJlZm9yZQpyZXF1aXJlZCBvcHRpb24gaGFzIGJlZW4gYWRkZWQgdG8gY29u
ZmlndXJlIFNNVCBzdXBwb3J0LgoKVGhlIGNvZGUgd2FzIHRlc3RlZCBieSBydW5uaW5nIGEgVk0g
d2l0aG91dCBTRVYsIHdpdGggU0VWLCBTRVYtRVMsClNFVi1TTlAuIEVhY2ggY29uZmlndXJhdGlv
biB3YXMgdGVzdGVkIHdpdGggYW5kIHdpdGhvdXQgYW4gRUZJIGRpc2sKYXR0YWNoZWQuIEZvciBT
RVYtZW5hYmxlZCBjb25maWd1cmF0aW9ucyBpdCB3YXMgYWxzbyB2ZXJpZmllZCB0aGF0IHRoZQpr
ZXJuZWwgYWN0dWFsbHkgdXNlZCB0aGUgcmVzcGVjdGl2ZSBmZWF0dXJlLgoKU2lnbmVkLW9mZi1i
eTogUGhpbGlwcCBHaWVyc2ZlbGQgPHBoaWxpcHAuZ2llcnNmZWxkQGNhbmFyeWJpdC5ldT4KUmV2
aWV3ZWQtYnk6IERhbmllbCBLcmFsIDxkLmtyYWwgYXQgcHJveG1veC5jb20+Ci0tLQoKIGNoYW5n
ZXMgc2luY2UgdjE6IGh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vcGlwZXJtYWlsL3B2ZS1kZXZl
bC8yMDI1LUZlYnJ1YXJ5LzA2ODE1OS5odG1sCiAqIEZpeCBmb3JtYXR0aW5nIGFuZCBjb2RlIGxh
eW91dAogKiBGaXggYnVnIGluIHBvbGljeSBjYWxjdWxhdGlvbgoKU2lnbmVkLW9mZi1ieTogUGhp
bGlwcCBHaWVyc2ZlbGQgPHBoaWxpcHAuZ2llcnNmZWxkQGNhbmFyeWJpdC5ldT4KLS0tCiBQVkUv
QVBJMi9RZW11LnBtICAgICAgICAgICAgfCAgNyArKystCiBQVkUvUWVtdVNlcnZlci5wbSAgICAg
ICAgICAgfCA0OSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KIFBWRS9RZW11U2VydmVyL0NQ
VUNvbmZpZy5wbSB8IDY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIDMg
ZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEvUFZFL0FQSTIvUWVtdS5wbSBiL1BWRS9BUEkyL1FlbXUucG0KaW5kZXggMjk1MjYwZTcu
LjRmNDhjZjg1IDEwMDY0NAotLS0gYS9QVkUvQVBJMi9RZW11LnBtCisrKyBiL1BWRS9BUEkyL1Fl
bXUucG0KQEAgLTU0OCw4ICs1NDgsMTMgQEAgbXkgc3ViIGNyZWF0ZV9kaXNrcyA6IHByb3RvdHlw
ZSgkJCQkJCQkJCQkJCkgewogCQlteSAkdm9saWQ7CiAJCWlmICgkZHMgZXEgJ2VmaWRpc2swJykg
ewogCQkgICAgbXkgJHNtbSA9IFBWRTo6UWVtdVNlcnZlcjo6TWFjaGluZTo6bWFjaGluZV90eXBl
X2lzX3EzNSgkY29uZik7CisKKwkJICAgIG15ICRhbWRfc2V2X3R5cGUgPSBQVkU6OlFlbXVTZXJ2
ZXI6OkNQVUNvbmZpZzo6Z2V0X2FtZF9zZXZfdHlwZSgkY29uZik7CisJCSAgICBkaWUgIlNFVi1T
TlAgdXNlcyBjb25zb2xpZGF0ZWQgcmVhZC1vbmx5IGZpcm13YXJlIgorCQkJaWYgJGFtZF9zZXZf
dHlwZSAmJiAkYW1kX3Nldl90eXBlIGVxICdzbnAnOworCiAJCSAgICAoJHZvbGlkLCAkc2l6ZSkg
PSBQVkU6OlFlbXVTZXJ2ZXI6OmNyZWF0ZV9lZmlkaXNrKAotCQkJJHN0b3JlY2ZnLCAkc3RvcmVp
ZCwgJHZtaWQsICRmbXQsICRhcmNoLCAkZGlzaywgJHNtbSk7CisJCQkkc3RvcmVjZmcsICRzdG9y
ZWlkLCAkdm1pZCwgJGZtdCwgJGFyY2gsICRkaXNrLCAkc21tLCAkYW1kX3Nldl90eXBlKTsKIAkJ
fSBlbHNpZiAoJGRzIGVxICd0cG1zdGF0ZTAnKSB7CiAJCSAgICAjIHN3dHBtIGNhbiBvbmx5IHVz
ZSByYXcgdm9sdW1lcywgYW5kIHVzZXMgYSBmaXhlZCBzaXplCiAJCSAgICAkc2l6ZSA9IFBWRTo6
VG9vbHM6OmNvbnZlcnRfc2l6ZShQVkU6OlFlbXVTZXJ2ZXI6OkRyaXZlOjpUUE1TVEFURV9ESVNL
X1NJWkUsICdiJyA9PiAna2InKTsKZGlmZiAtLWdpdCBhL1BWRS9RZW11U2VydmVyLnBtIGIvUFZF
L1FlbXVTZXJ2ZXIucG0KaW5kZXggODA4YzBlMWMuLjUxZTU1MWI4IDEwMDY0NAotLS0gYS9QVkUv
UWVtdVNlcnZlci5wbQorKysgYi9QVkUvUWVtdVNlcnZlci5wbQpAQCAtNTIsNyArNTIsNyBAQCB1
c2UgUFZFOjpRZW11Q29uZmlnOwogdXNlIFBWRTo6UWVtdVNlcnZlcjo6SGVscGVycyBxdyhjb25m
aWdfYXdhcmVfdGltZW91dCBtaW5fdmVyc2lvbiBrdm1fdXNlcl92ZXJzaW9uIHdpbmRvd3NfdmVy
c2lvbik7CiB1c2UgUFZFOjpRZW11U2VydmVyOjpDbG91ZGluaXQ7CiB1c2UgUFZFOjpRZW11U2Vy
dmVyOjpDR3JvdXA7Ci11c2UgUFZFOjpRZW11U2VydmVyOjpDUFVDb25maWcgcXcocHJpbnRfY3B1
X2RldmljZSBnZXRfY3B1X29wdGlvbnMgZ2V0X2NwdV9iaXRuZXNzIGlzX25hdGl2ZV9hcmNoIGdl
dF9hbWRfc2V2X29iamVjdCk7Cit1c2UgUFZFOjpRZW11U2VydmVyOjpDUFVDb25maWcgcXcocHJp
bnRfY3B1X2RldmljZSBnZXRfY3B1X29wdGlvbnMgZ2V0X2NwdV9iaXRuZXNzIGlzX25hdGl2ZV9h
cmNoIGdldF9hbWRfc2V2X29iamVjdCBnZXRfYW1kX3Nldl90eXBlKTsKIHVzZSBQVkU6OlFlbXVT
ZXJ2ZXI6OkRyaXZlIHF3KGlzX3ZhbGlkX2RyaXZlbmFtZSBjaGVja2VkX3ZvbHVtZV9mb3JtYXQg
ZHJpdmVfaXNfY2xvdWRpbml0IGRyaXZlX2lzX2Nkcm9tIGRyaXZlX2lzX3JlYWRfb25seSBwYXJz
ZV9kcml2ZSBwcmludF9kcml2ZSk7CiB1c2UgUFZFOjpRZW11U2VydmVyOjpNYWNoaW5lOwogdXNl
IFBWRTo6UWVtdVNlcnZlcjo6TWVtb3J5IHF3KGdldF9jdXJyZW50X21lbW9yeSk7CkBAIC04OCw2
ICs4OCwxMyBAQCBteSAkT1ZNRiA9IHsKIAkgICAgIiRFREsyX0ZXX0JBU0UvT1ZNRl9DT0RFXzRN
LnNlY2Jvb3QuZmQiLAogCSAgICAiJEVESzJfRldfQkFTRS9PVk1GX1ZBUlNfNE0ubXMuZmQiLAog
CV0sCisJJzRtLXNldicgPT4gWworCSAgICAiJEVESzJfRldfQkFTRS9PVk1GX0NWTV9DT0RFXzRN
LmZkIiwKKwkgICAgIiRFREsyX0ZXX0JBU0UvT1ZNRl9DVk1fVkFSU180TS5mZCIsCisJXSwKKwkn
NG0tc25wJyA9PiBbCisJICAgICIkRURLMl9GV19CQVNFL09WTUZfQ1ZNXzRNLmZkIiwKKwldLAog
CSMgRklYTUU6IFRoZXNlIGFyZSBsZWdhY3kgMk1CLXNpemVkIGltYWdlcyB0aGF0IG1vZGVybiBP
Vk1GIGRvZXNuJ3Qgc3VwcG9ydHMgdG8gYnVpbGQKIAkjIGFueW1vcmUuIGhvdyBjYW4gd2UgZGVw
ZXJhY2F0ZSB0aGlzIHNhbmVseSB3aXRob3V0IGJyZWFraW5nIGV4aXN0aW5nIGluc3RhbmNlcywg
b3IgdXNpbmcKIAkjIG9sZGVyIGJhY2t1cHMgYW5kIHNuYXBzaG90PwpAQCAtMzE3MiwxNSArMzE3
OSwyMiBAQCBzdWIgdmdhX2NvbmZfaGFzX3NwaWNlIHsKICAgICByZXR1cm4gJDEgfHwgMTsKIH0K
IAotc3ViIGdldF9vdm1mX2ZpbGVzKCQkJCkgewotICAgIG15ICgkYXJjaCwgJGVmaWRpc2ssICRz
bW0pID0gQF87CitzdWIgZ2V0X292bWZfZmlsZXMoJCQkJCkgeworICAgIG15ICgkYXJjaCwgJGVm
aWRpc2ssICRzbW0sICRhbWRfc2V2X3R5cGUpID0gQF87CiAKICAgICBteSAkdHlwZXMgPSAkT1ZN
Ri0+eyRhcmNofQogCW9yIGRpZSAibm8gT1ZNRiBpbWFnZXMga25vd24gZm9yIGFyY2hpdGVjdHVy
ZSAnJGFyY2gnXG4iOwogCiAgICAgbXkgJHR5cGUgPSAnZGVmYXVsdCc7CiAgICAgaWYgKCRhcmNo
IGVxICd4ODZfNjQnKSB7Ci0JaWYgKGRlZmluZWQoJGVmaWRpc2stPntlZml0eXBlfSkgJiYgJGVm
aWRpc2stPntlZml0eXBlfSBlcSAnNG0nKSB7CisJaWYgKCRhbWRfc2V2X3R5cGUgJiYgJGFtZF9z
ZXZfdHlwZSBlcSAnc25wJykgeworCSAgICAkdHlwZSA9ICI0bS1zbnAiOworCSAgICBteSAoJG92
bWYpID0gJHR5cGVzLT57JHR5cGV9LT5AKjsKKwkgICAgZGllICJFRkkgYmFzZSBpbWFnZSAnJG92
bWYnIG5vdCBmb3VuZFxuIiBpZiAhIC1mICRvdm1mOworCSAgICByZXR1cm4gKCRvdm1mKTsKKwl9
IGVsc2lmICgkYW1kX3Nldl90eXBlKSB7CisJICAgICR0eXBlID0gIjRtLXNldiI7CisJfSBlbHNp
ZiAoZGVmaW5lZCgkZWZpZGlzay0+e2VmaXR5cGV9KSAmJiAkZWZpZGlzay0+e2VmaXR5cGV9IGVx
ICc0bScpIHsKIAkgICAgJHR5cGUgPSAkc21tID8gIjRtIiA6ICI0bS1uby1zbW0iOwogCSAgICAk
dHlwZSAuPSAnLW1zJyBpZiAkZWZpZGlzay0+eydwcmUtZW5yb2xsZWQta2V5cyd9OwogCX0gZWxz
ZSB7CkBAIC0zMzI5LDcgKzMzNDMsOCBAQCBteSBzdWIgcHJpbnRfb3ZtZl9kcml2ZV9jb21tYW5k
bGluZXMgewogCiAgICAgbXkgJGQgPSAkY29uZi0+e2VmaWRpc2swfSA/IHBhcnNlX2RyaXZlKCdl
ZmlkaXNrMCcsICRjb25mLT57ZWZpZGlzazB9KSA6IHVuZGVmOwogCi0gICAgbXkgKCRvdm1mX2Nv
ZGUsICRvdm1mX3ZhcnMpID0gZ2V0X292bWZfZmlsZXMoJGFyY2gsICRkLCAkcTM1KTsKKyAgICBt
eSAkYW1kX3Nldl90eXBlID0gZ2V0X2FtZF9zZXZfdHlwZSgkY29uZik7CisgICAgbXkgKCRvdm1m
X2NvZGUsICRvdm1mX3ZhcnMpID0gZ2V0X292bWZfZmlsZXMoJGFyY2gsICRkLCAkcTM1LCAkYW1k
X3Nldl90eXBlKTsKIAogICAgIG15ICR2YXJfZHJpdmVfc3RyID0gImlmPXBmbGFzaCx1bml0PTEs
aWQ9ZHJpdmUtZWZpZGlzazAiOwogICAgIGlmICgkZCkgewpAQCAtMzUyNiwxMCArMzU0MSwxNyBA
QCBzdWIgY29uZmlnX3RvX2NvbW1hbmQgewogCWRpZSAiT1ZNRiAoVUVGSSkgQklPUyBpcyBub3Qg
c3VwcG9ydGVkIG9uIDMyLWJpdCBDUFUgdHlwZXNcbiIKIAkgICAgaWYgISRmb3JjZWNwdSAmJiBn
ZXRfY3B1X2JpdG5lc3MoJGNvbmYtPntjcHV9LCAkYXJjaCkgPT0gMzI7CiAKLQlteSAoJGNvZGVf
ZHJpdmVfc3RyLCAkdmFyX2RyaXZlX3N0cikgPQotCSAgICBwcmludF9vdm1mX2RyaXZlX2NvbW1h
bmRsaW5lcygkY29uZiwgJHN0b3JlY2ZnLCAkdm1pZCwgJGFyY2gsICRxMzUsICR2ZXJzaW9uX2d1
YXJkKTsKLQlwdXNoICRjbWQtPkAqLCAnLWRyaXZlJywgJGNvZGVfZHJpdmVfc3RyOwotCXB1c2gg
JGNtZC0+QCosICctZHJpdmUnLCAkdmFyX2RyaXZlX3N0cjsKKwlteSAkYW1kX3Nldl90eXBlID0g
Z2V0X2FtZF9zZXZfdHlwZSgkY29uZik7CisJaWYgKCRhbWRfc2V2X3R5cGUgJiYgJGFtZF9zZXZf
dHlwZSBlcSAnc25wJykgeworCSAgIG15ICRhcmNoID0gUFZFOjpRZW11U2VydmVyOjpIZWxwZXJz
OjpnZXRfdm1fYXJjaCgkY29uZik7CisJICAgbXkgJGQgPSAkY29uZi0+e2VmaWRpc2swfSA/IHBh
cnNlX2RyaXZlKCdlZmlkaXNrMCcsICRjb25mLT57ZWZpZGlzazB9KSA6IHVuZGVmOworCSAgIHB1
c2ggJGNtZC0+QCosICctYmlvcycsIGdldF9vdm1mX2ZpbGVzKCRhcmNoLCAkZCwgdW5kZWYsICRh
bWRfc2V2X3R5cGUpOworCX0gZWxzZSB7CisJICAgIG15ICgkY29kZV9kcml2ZV9zdHIsICR2YXJf
ZHJpdmVfc3RyKSA9IHByaW50X292bWZfZHJpdmVfY29tbWFuZGxpbmVzKAorCQkkY29uZiwgJHN0
b3JlY2ZnLCAkdm1pZCwgJGFyY2gsICRxMzUsICR2ZXJzaW9uX2d1YXJkKTsKKwkgICAgcHVzaCAk
Y21kLT5AKiwgJy1kcml2ZScsICRjb2RlX2RyaXZlX3N0cjsKKwkgICAgcHVzaCAkY21kLT5AKiwg
Jy1kcml2ZScsICR2YXJfZHJpdmVfc3RyOworCX0KICAgICB9CiAKICAgICBpZiAoJHEzNSkgeyAj
IHRlbGwgUUVNVSB0byBsb2FkIHEzNSBjb25maWcgZWFybHkKQEAgLTgzMzcsNyArODM1OSw4IEBA
IHN1YiBnZXRfZWZpdmFyc19zaXplIHsKICAgICBteSAkYXJjaCA9IFBWRTo6UWVtdVNlcnZlcjo6
SGVscGVyczo6Z2V0X3ZtX2FyY2goJGNvbmYpOwogICAgICRlZmlkaXNrIC8vPSAkY29uZi0+e2Vm
aWRpc2swfSA/IHBhcnNlX2RyaXZlKCdlZmlkaXNrMCcsICRjb25mLT57ZWZpZGlzazB9KSA6IHVu
ZGVmOwogICAgIG15ICRzbW0gPSBQVkU6OlFlbXVTZXJ2ZXI6Ok1hY2hpbmU6Om1hY2hpbmVfdHlw
ZV9pc19xMzUoJGNvbmYpOwotICAgIG15ICh1bmRlZiwgJG92bWZfdmFycykgPSBnZXRfb3ZtZl9m
aWxlcygkYXJjaCwgJGVmaWRpc2ssICRzbW0pOworICAgIG15ICRhbWRfc2V2X3R5cGUgPSBnZXRf
YW1kX3Nldl90eXBlKCRjb25mKTsKKyAgICBteSAodW5kZWYsICRvdm1mX3ZhcnMpID0gZ2V0X292
bWZfZmlsZXMoJGFyY2gsICRlZmlkaXNrLCAkc21tLCAkYW1kX3Nldl90eXBlKTsKICAgICByZXR1
cm4gLXMgJG92bWZfdmFyczsKIH0KIApAQCAtODM2MSwxMCArODM4NCwxMCBAQCBzdWIgdXBkYXRl
X3RwbXN0YXRlX3NpemUgewogICAgICRjb25mLT57dHBtc3RhdGUwfSA9IHByaW50X2RyaXZlKCRk
aXNrKTsKIH0KIAotc3ViIGNyZWF0ZV9lZmlkaXNrKCQkJCQkJCQpIHsKLSAgICBteSAoJHN0b3Jl
Y2ZnLCAkc3RvcmVpZCwgJHZtaWQsICRmbXQsICRhcmNoLCAkZWZpZGlzaywgJHNtbSkgPSBAXzsK
K3N1YiBjcmVhdGVfZWZpZGlzaygkJCQkJCQkJCkgeworICAgIG15ICgkc3RvcmVjZmcsICRzdG9y
ZWlkLCAkdm1pZCwgJGZtdCwgJGFyY2gsICRlZmlkaXNrLCAkc21tLCAkYW1kX3Nldl90eXBlKSA9
IEBfOwogCi0gICAgbXkgKHVuZGVmLCAkb3ZtZl92YXJzKSA9IGdldF9vdm1mX2ZpbGVzKCRhcmNo
LCAkZWZpZGlzaywgJHNtbSk7CisgICAgbXkgKHVuZGVmLCAkb3ZtZl92YXJzKSA9IGdldF9vdm1m
X2ZpbGVzKCRhcmNoLCAkZWZpZGlzaywgJHNtbSwgJGFtZF9zZXZfdHlwZSk7CiAKICAgICBteSAk
dmFyc19zaXplX2IgPSAtcyAkb3ZtZl92YXJzOwogICAgIG15ICR2YXJzX3NpemUgPSBQVkU6OlRv
b2xzOjpjb252ZXJ0X3NpemUoJHZhcnNfc2l6ZV9iLCAnYicgPT4gJ2tiJyk7CmRpZmYgLS1naXQg
YS9QVkUvUWVtdVNlcnZlci9DUFVDb25maWcucG0gYi9QVkUvUWVtdVNlcnZlci9DUFVDb25maWcu
cG0KaW5kZXggYWQwYmUxNmUuLjk0YTAwYTRlIDEwMDY0NAotLS0gYS9QVkUvUWVtdVNlcnZlci9D
UFVDb25maWcucG0KKysrIGIvUFZFL1FlbXVTZXJ2ZXIvQ1BVQ29uZmlnLnBtCkBAIC0xOCw2ICsx
OCw3IEBAIGdldF9jcHVfb3B0aW9ucwogZ2V0X2NwdV9iaXRuZXNzCiBpc19uYXRpdmVfYXJjaAog
Z2V0X2FtZF9zZXZfb2JqZWN0CitnZXRfYW1kX3Nldl90eXBlCiApOwogCiAjIHVuZGVyIGNlcnRh
aW4gcmFjZS1jb25kaXRpb25zLCB0aGlzIG1vZHVsZSBtaWdodCBiZSBsb2FkZWQgYmVmb3JlIHB2
ZS1jbHVzdGVyCkBAIC0yMzEsMjUgKzIzMiwzMiBAQCBteSAkY3B1X2ZtdCA9IHsKIG15ICRzZXZf
Zm10ID0gewogICAgIHR5cGUgPT4gewogCWRlc2NyaXB0aW9uID0+ICJFbmFibGUgc3RhbmRhcmQg
U0VWIHdpdGggdHlwZT0nc3RkJyBvciBlbmFibGUiCi0JICAgIC4iIGV4cGVyaW1lbnRhbCBTRVYt
RVMgd2l0aCB0aGUgJ2VzJyBvcHRpb24uIiwKKwkgICAgLiIgZXhwZXJpbWVudGFsIFNFVi1FUyB3
aXRoIHRoZSAnZXMnIG9wdGlvbiBvciBlbmFibGUgIgorCSAgICAuImV4cGVyaW1lbnRhbCBTRVYt
U05QIHdpdGggdGhlICdzbnAnIG9wdGlvbi4iLAogCXR5cGUgPT4gJ3N0cmluZycsCiAJZGVmYXVs
dF9rZXkgPT4gMSwKIAlmb3JtYXRfZGVzY3JpcHRpb24gPT4gInNldi10eXBlIiwKLQllbnVtID0+
IFsnc3RkJywgJ2VzJ10sCisJZW51bSA9PiBbJ3N0ZCcsICdlcycsICdzbnAnXSwKIAltYXhMZW5n
dGggPT4gMywKICAgICB9LAogICAgICduby1kZWJ1ZycgPT4gewotCWRlc2NyaXB0aW9uID0+ICJT
ZXRzIHBvbGljeSBiaXQgMCB0byAxIHRvIGRpc2FsbG93IGRlYnVnZ2luZyBvZiBndWVzdCIsCisJ
ZGVzY3JpcHRpb24gPT4gIlNldHMgcG9saWN5IGJpdCB0byBkaXNhbGxvdyBkZWJ1Z2dpbmcgb2Yg
Z3Vlc3QiLAogCXR5cGUgPT4gJ2Jvb2xlYW4nLAogCWRlZmF1bHQgPT4gMCwKIAlvcHRpb25hbCA9
PiAxLAogICAgIH0sCiAgICAgJ25vLWtleS1zaGFyaW5nJyA9PiB7Ci0JZGVzY3JpcHRpb24gPT4g
IlNldHMgcG9saWN5IGJpdCAxIHRvIDEgdG8gZGlzYWxsb3cga2V5IHNoYXJpbmcgd2l0aCBvdGhl
ciBndWVzdHMiLAorCWRlc2NyaXB0aW9uID0+ICJTZXRzIHBvbGljeSBiaXQgdG8gZGlzYWxsb3cg
a2V5IHNoYXJpbmcgd2l0aCBvdGhlciBndWVzdHMiLAogCXR5cGUgPT4gJ2Jvb2xlYW4nLAogCWRl
ZmF1bHQgPT4gMCwKIAlvcHRpb25hbCA9PiAxLAogICAgIH0sCisgICAgJ2FsbG93LXNtdCcgPT4g
eworCWRlc2NyaXB0aW9uID0+ICJTZXRzIHBvbGljeSBiaXQgdG8gYWxsb3cgU2ltdWx0YW5lb3Vz
IE11bHRpIFRocmVhZGluZyAoU01UKSIsCisJdHlwZSA9PiAnYm9vbGVhbicsCisJZGVmYXVsdCA9
PiAxLAorCW9wdGlvbmFsID0+IDEsCisgICAgfSwKICAgICAia2VybmVsLWhhc2hlcyIgPT4gewog
CWRlc2NyaXB0aW9uID0+ICJBZGQga2VybmVsIGhhc2hlcyB0byBndWVzdCBmaXJtd2FyZSBmb3Ig
bWVhc3VyZWQgbGludXgga2VybmVsIGxhdW5jaCIsCiAJdHlwZSA9PiAnYm9vbGVhbicsCkBAIC04
MjMsNiArODMxLDEzIEBAIHN1YiBnZXRfaHdfY2FwYWJpbGl0aWVzIHsKICAgICB9CiAgICAgcmV0
dXJuICRod19jYXBhYmlsaXRpZXM7CiB9CitzdWIgZ2V0X2FtZF9zZXZfdHlwZSB7CisgICAgbXkg
KCRjb25mKSA9IEBfOworCisgICAgcmV0dXJuIHVuZGVmIGlmICEkY29uZi0+eydhbWQtc2V2J307
CisKKyAgICByZXR1cm4gUFZFOjpKU09OU2NoZW1hOjpwYXJzZV9wcm9wZXJ0eV9zdHJpbmcoJHNl
dl9mbXQsICRjb25mLT57J2FtZC1zZXYnfSktPnt0eXBlfTsKK30KIAogc3ViIGdldF9hbWRfc2V2
X29iamVjdCB7CiAgICAgbXkgKCRhbWRfc2V2LCAkYmlvcykgPSBAXzsKQEAgLTgzNiwyMiArODUx
LDQxIEBAIHN1YiBnZXRfYW1kX3Nldl9vYmplY3QgewogICAgIGlmICgkYW1kX3Nldl9jb25mLT57
dHlwZX0gZXEgJ2VzJyAmJiAhJHNldl9od19jYXBzLT57J3Nldi1zdXBwb3J0LWVzJ30pIHsKIAlk
aWUgIllvdXIgQ1BVIGRvZXMgbm90IHN1cHBvcnQgQU1EIFNFVi1FUy5cbiI7CiAgICAgfQorICAg
IGlmICgkYW1kX3Nldl9jb25mLT57dHlwZX0gZXEgJ3NucCcgJiYgISRzZXZfaHdfY2Fwcy0+eydz
ZXYtc3VwcG9ydC1zbnAnfSkgeworCWRpZSAiWW91ciBDUFUgZG9lcyBub3Qgc3VwcG9ydCBBTUQg
U0VWLVNOUC5cbiI7CisgICAgfQogICAgIGlmICghJGJpb3MgfHwgJGJpb3MgbmUgJ292bWYnKSB7
CiAJZGllICJUbyB1c2UgQU1EIFNFViwgeW91IG5lZWQgdG8gY2hhbmdlIHRoZSBCSU9TIHRvIE9W
TUYuXG4iOwogICAgIH0KIAotICAgIG15ICRzZXZfbWVtX29iamVjdCA9ICdzZXYtZ3Vlc3QsaWQ9
c2V2MCc7Ci0gICAgJHNldl9tZW1fb2JqZWN0IC49ICcsY2JpdHBvcz0nLiRzZXZfaHdfY2Fwcy0+
e2NiaXRwb3N9OwotICAgICRzZXZfbWVtX29iamVjdCAuPSAnLHJlZHVjZWQtcGh5cy1iaXRzPScu
JHNldl9od19jYXBzLT57J3JlZHVjZWQtcGh5cy1iaXRzJ307Ci0KLSAgICAjIGd1ZXN0IHBvbGlj
eSBiaXQgY2FsY3VsYXRpb24gYXMgZGVzY3JpYmVkIGhlcmU6Ci0gICAgIyBodHRwczovL2RvY3Vt
ZW50YXRpb24uc3VzZS5jb20vc2xlcy8xNS1TUDUvaHRtbC9TTEVTLWFtZC1zZXYvYXJ0aWNsZS1h
bWQtc2V2Lmh0bWwjdGFibGUtZ3Vlc3Rwb2xpY3kKLSAgICBteSAkcG9saWN5ID0gMDsKLSAgICAk
cG9saWN5IHw9IDEgPDwgMCBpZiAkYW1kX3Nldl9jb25mLT57J25vLWRlYnVnJ307Ci0gICAgJHBv
bGljeSB8PSAxIDw8IDEgaWYgJGFtZF9zZXZfY29uZi0+eyduby1rZXktc2hhcmluZyd9OwotICAg
ICRwb2xpY3kgfD0gMSA8PCAyIGlmICRhbWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnZXMnOwotICAg
ICMgZGlzYWJsZSBtaWdyYXRpb24gd2l0aCBiaXQgMyBub3NlbmQgdG8gcHJldmVudCBhbWQtc2V2
LW1pZ3JhdGlvbi1hdHRhY2sKLSAgICAkcG9saWN5IHw9IDEgPDwgMzsKKyAgICBteSAkc2V2X21l
bV9vYmplY3QgPSAnJzsKKyAgICBteSAkcG9saWN5OworICAgIGlmICgkYW1kX3Nldl9jb25mLT57
dHlwZX0gZXEgJ2VzJyB8fCAkYW1kX3Nldl9jb25mLT57dHlwZX0gZXEgJ3N0ZCcpIHsKKwkkc2V2
X21lbV9vYmplY3QgLj0gJ3Nldi1ndWVzdCxpZD1zZXYwJzsKKwkkc2V2X21lbV9vYmplY3QgLj0g
JyxjYml0cG9zPScuJHNldl9od19jYXBzLT57Y2JpdHBvc307CisJJHNldl9tZW1fb2JqZWN0IC49
ICcscmVkdWNlZC1waHlzLWJpdHM9Jy4kc2V2X2h3X2NhcHMtPnsncmVkdWNlZC1waHlzLWJpdHMn
fTsKKworCSMgZ3Vlc3QgcG9saWN5IGJpdCBjYWxjdWxhdGlvbiBhcyBkZXNjcmliZWQgaGVyZToK
KwkjIGh0dHBzOi8vZG9jdW1lbnRhdGlvbi5zdXNlLmNvbS9zbGVzLzE1LVNQNS9odG1sL1NMRVMt
YW1kLXNldi9hcnRpY2xlLWFtZC1zZXYuaHRtbCN0YWJsZS1ndWVzdHBvbGljeQorCSRwb2xpY3kg
PSAwOworCSRwb2xpY3kgfD0gMSA8PCAwIGlmICRhbWRfc2V2X2NvbmYtPnsnbm8tZGVidWcnfTsK
KwkkcG9saWN5IHw9IDEgPDwgMSBpZiAkYW1kX3Nldl9jb25mLT57J25vLWtleS1zaGFyaW5nJ307
CisJJHBvbGljeSB8PSAxIDw8IDIgaWYgJGFtZF9zZXZfY29uZi0+e3R5cGV9IGVxICdlcyc7CisJ
IyBkaXNhYmxlIG1pZ3JhdGlvbiB3aXRoIGJpdCAzIG5vc2VuZCB0byBwcmV2ZW50IGFtZC1zZXYt
bWlncmF0aW9uLWF0dGFjaworCSRwb2xpY3kgfD0gMSA8PCAzOworICAgIH0gZWxzaWYgKCRhbWRf
c2V2X2NvbmYtPnt0eXBlfSBlcSAnc25wJykgeworCSRzZXZfbWVtX29iamVjdCAuPSAnc2V2LXNu
cC1ndWVzdCxpZD1zZXYwJzsKKwkkc2V2X21lbV9vYmplY3QgLj0gJyxjYml0cG9zPScuJHNldl9o
d19jYXBzLT57Y2JpdHBvc307CisJJHNldl9tZW1fb2JqZWN0IC49ICcscmVkdWNlZC1waHlzLWJp
dHM9Jy4kc2V2X2h3X2NhcHMtPnsncmVkdWNlZC1waHlzLWJpdHMnfTsKKworCSMgZ3Vlc3QgcG9s
aWN5IGJpdCBjYWxjdWxhdGlvbiBhcyBkZXNjcmliZWQgaW4gY2hhcHRlciA0LjM6CisJIyBodHRw
czovL3d3dy5hbWQuY29tL3N5c3RlbS9maWxlcy9UZWNoRG9jcy81Njg2MC5wZGYKKwkjIFJlc2Vy
dmVkIGJpdCBtdXN0IGJlIG9uZQorCSRwb2xpY3kgPSAxIDw8IDE3OworCSRwb2xpY3kgfD0gMSA8
PCAxNiBpZiAkYW1kX3Nldl9jb25mLT57J2FsbG93LXNtdCd9OworCSRwb2xpY3kgfD0gMSA8PCAx
OSBpZiAhJGFtZF9zZXZfY29uZi0+eyduby1kZWJ1Zyd9OworICAgIH0KKwogCiAgICAgJHNldl9t
ZW1fb2JqZWN0IC49ICcscG9saWN5PScuc3ByaW50ZigiJSN4IiwgJHBvbGljeSk7CiAgICAgJHNl
dl9tZW1fb2JqZWN0IC49ICcsa2VybmVsLWhhc2hlcz1vbicgaWYgKCRhbWRfc2V2X2NvbmYtPnsn
a2VybmVsLWhhc2hlcyd9KTsKLS0gCjIuMzkuNQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCnB2ZS1kZXZlbCBtYWlsaW5nIGxpc3QKcHZlLWRldmVsQGxp
c3RzLnByb3htb3guY29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFu
L2xpc3RpbmZvL3B2ZS1kZXZlbAo=