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 E0F641FF15E
	for <inbox@lore.proxmox.com>; Tue, 11 Mar 2025 16:06:04 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id D0054144F9;
	Tue, 11 Mar 2025 16:05:55 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1741705522;
 x=1742310322; 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=otTSILCdc8me9EiobBQ85MKPqeN15t53kTaxmNvzlhU=;
 b=SkFpkOclsk7UN21SmgvGwQE3QNI4bhe9HHqEwnJfG6ynGVm5hKpP3CVYGQDVilweAQDWALiyZz//4
 iYlD1SCGoO9YHpkluw17i/Jz1EuRNMxuXVdVicFvmA9HFqftiYi9bQmAzb/kTzFsEeAEqwNFElpck4
 PwXutOJd3VpISZADIRnhSgJzfmce09AO0ZTFl5aD03LfdoT3b0pkXZZ0L0SKul/7QI2D/7UmCAjhY8
 0/xoSdIw+j00fhooXxuUF6wadpqGvowV1YeyhPiTcZuYnkvsDFHWOsSKZnce3pQZFi5xmJJSAUYOES
 +vSTGApcUAnMoGjY3PHM8bo3sOSRwZg==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1741705522;
 x=1742310322; 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=otTSILCdc8me9EiobBQ85MKPqeN15t53kTaxmNvzlhU=;
 b=G3uRdgklhaYVHNEtJ9n3Nl7I1K2LNeibt1v4OQAbukmoiWq5WMqIHq+Exk+ZA1lPHA9UVHsoxTVCV
 EWC9oCYBw==
X-HalOne-ID: 3fc0cf2a-fe8a-11ef-9e2a-d7c209f8bd06
From: Philipp Giersfeld <philipp.giersfeld@canarybit.eu>
To: pve-devel@lists.proxmox.com
Date: Tue, 11 Mar 2025 16:04:55 +0100
Message-Id: <20250311150456.4071232-4-philipp.giersfeld@canarybit.eu>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250311150456.4071232-1-philipp.giersfeld@canarybit.eu>
References: <20250311150456.4071232-1-philipp.giersfeld@canarybit.eu>
MIME-Version: 1.0
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.143 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 v4 3/4] 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
aWV3ZWQtYnk6IERhbmllbCBLcmFsIDxkLmtyYWxAcHJveG1veC5jb20+ClRlc3RlZC1ieTogTWFy
a3VzIEZyYW5rIDxtLmZyYW5rQHByb3htb3guY29tPgotLS0KCiBjaGFuZ2VzIHNpbmNlIHYzOiBo
dHRwczovL2xpc3RzLnByb3htb3guY29tL3BpcGVybWFpbC9wdmUtZGV2ZWwvMjAyNS1GZWJydWFy
eS8wNjg1NzguaHRtbAogKiBBZGQgYW5kIGNsYXJpZnkgbG9nZ2luZyBzdGF0ZW1lbnRzIGFuZCBk
ZXNjcmlwdGlvbnMKICogQWRkIGFkZGl0aW9uYWwgc2FmZWd1YXJkcyAKCiBQVkUvQVBJMi9RZW11
LnBtICAgICAgICAgICAgfCAgNyArKystCiBQVkUvUWVtdVNlcnZlci5wbSAgICAgICAgICAgfCA1
MiArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogUFZFL1FlbXVTZXJ2ZXIvQ1BVQ29uZmln
LnBtIHwgNjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogMyBmaWxlcyBj
aGFuZ2VkLCA5NSBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Q
VkUvQVBJMi9RZW11LnBtIGIvUFZFL0FQSTIvUWVtdS5wbQppbmRleCAyOTUyNjBlNy4uZWYzYWE4
ZDYgMTAwNjQ0Ci0tLSBhL1BWRS9BUEkyL1FlbXUucG0KKysrIGIvUFZFL0FQSTIvUWVtdS5wbQpA
QCAtNTQ4LDggKzU0OCwxMyBAQCBteSBzdWIgY3JlYXRlX2Rpc2tzIDogcHJvdG90eXBlKCQkJCQk
JCQkJCQkKSB7CiAJCW15ICR2b2xpZDsKIAkJaWYgKCRkcyBlcSAnZWZpZGlzazAnKSB7CiAJCSAg
ICBteSAkc21tID0gUFZFOjpRZW11U2VydmVyOjpNYWNoaW5lOjptYWNoaW5lX3R5cGVfaXNfcTM1
KCRjb25mKTsKKworCQkgICAgbXkgJGFtZF9zZXZfdHlwZSA9IFBWRTo6UWVtdVNlcnZlcjo6Q1BV
Q29uZmlnOjpnZXRfYW1kX3Nldl90eXBlKCRjb25mKTsKKwkJICAgIGRpZSAiU0VWLVNOUCB1c2Vz
IGNvbnNvbGlkYXRlZCByZWFkLW9ubHkgZmlybXdhcmUgYW5kIGRvZXMgbm90IHJlcXVpcmUgYW4g
RUZJIGRpc2tcbiIKKwkJCWlmICRhbWRfc2V2X3R5cGUgJiYgJGFtZF9zZXZfdHlwZSBlcSAnc25w
JzsKKwogCQkgICAgKCR2b2xpZCwgJHNpemUpID0gUFZFOjpRZW11U2VydmVyOjpjcmVhdGVfZWZp
ZGlzaygKLQkJCSRzdG9yZWNmZywgJHN0b3JlaWQsICR2bWlkLCAkZm10LCAkYXJjaCwgJGRpc2ss
ICRzbW0pOworCQkJJHN0b3JlY2ZnLCAkc3RvcmVpZCwgJHZtaWQsICRmbXQsICRhcmNoLCAkZGlz
aywgJHNtbSwgJGFtZF9zZXZfdHlwZSk7CiAJCX0gZWxzaWYgKCRkcyBlcSAndHBtc3RhdGUwJykg
ewogCQkgICAgIyBzd3RwbSBjYW4gb25seSB1c2UgcmF3IHZvbHVtZXMsIGFuZCB1c2VzIGEgZml4
ZWQgc2l6ZQogCQkgICAgJHNpemUgPSBQVkU6OlRvb2xzOjpjb252ZXJ0X3NpemUoUFZFOjpRZW11
U2VydmVyOjpEcml2ZTo6VFBNU1RBVEVfRElTS19TSVpFLCAnYicgPT4gJ2tiJyk7CmRpZmYgLS1n
aXQgYS9QVkUvUWVtdVNlcnZlci5wbSBiL1BWRS9RZW11U2VydmVyLnBtCmluZGV4IDgwOGMwZTFj
Li43MjdhYWQ2YyAxMDA2NDQKLS0tIGEvUFZFL1FlbXVTZXJ2ZXIucG0KKysrIGIvUFZFL1FlbXVT
ZXJ2ZXIucG0KQEAgLTUyLDcgKzUyLDcgQEAgdXNlIFBWRTo6UWVtdUNvbmZpZzsKIHVzZSBQVkU6
OlFlbXVTZXJ2ZXI6OkhlbHBlcnMgcXcoY29uZmlnX2F3YXJlX3RpbWVvdXQgbWluX3ZlcnNpb24g
a3ZtX3VzZXJfdmVyc2lvbiB3aW5kb3dzX3ZlcnNpb24pOwogdXNlIFBWRTo6UWVtdVNlcnZlcjo6
Q2xvdWRpbml0OwogdXNlIFBWRTo6UWVtdVNlcnZlcjo6Q0dyb3VwOwotdXNlIFBWRTo6UWVtdVNl
cnZlcjo6Q1BVQ29uZmlnIHF3KHByaW50X2NwdV9kZXZpY2UgZ2V0X2NwdV9vcHRpb25zIGdldF9j
cHVfYml0bmVzcyBpc19uYXRpdmVfYXJjaCBnZXRfYW1kX3Nldl9vYmplY3QpOwordXNlIFBWRTo6
UWVtdVNlcnZlcjo6Q1BVQ29uZmlnIHF3KHByaW50X2NwdV9kZXZpY2UgZ2V0X2NwdV9vcHRpb25z
IGdldF9jcHVfYml0bmVzcyBpc19uYXRpdmVfYXJjaCBnZXRfYW1kX3Nldl9vYmplY3QgZ2V0X2Ft
ZF9zZXZfdHlwZSk7CiB1c2UgUFZFOjpRZW11U2VydmVyOjpEcml2ZSBxdyhpc192YWxpZF9kcml2
ZW5hbWUgY2hlY2tlZF92b2x1bWVfZm9ybWF0IGRyaXZlX2lzX2Nsb3VkaW5pdCBkcml2ZV9pc19j
ZHJvbSBkcml2ZV9pc19yZWFkX29ubHkgcGFyc2VfZHJpdmUgcHJpbnRfZHJpdmUpOwogdXNlIFBW
RTo6UWVtdVNlcnZlcjo6TWFjaGluZTsKIHVzZSBQVkU6OlFlbXVTZXJ2ZXI6Ok1lbW9yeSBxdyhn
ZXRfY3VycmVudF9tZW1vcnkpOwpAQCAtODgsNiArODgsMTMgQEAgbXkgJE9WTUYgPSB7CiAJICAg
ICIkRURLMl9GV19CQVNFL09WTUZfQ09ERV80TS5zZWNib290LmZkIiwKIAkgICAgIiRFREsyX0ZX
X0JBU0UvT1ZNRl9WQVJTXzRNLm1zLmZkIiwKIAldLAorCSc0bS1zZXYnID0+IFsKKwkgICAgIiRF
REsyX0ZXX0JBU0UvT1ZNRl9DVk1fQ09ERV80TS5mZCIsCisJICAgICIkRURLMl9GV19CQVNFL09W
TUZfQ1ZNX1ZBUlNfNE0uZmQiLAorCV0sCisJJzRtLXNucCcgPT4gWworCSAgICAiJEVESzJfRldf
QkFTRS9PVk1GX0NWTV80TS5mZCIsCisJXSwKIAkjIEZJWE1FOiBUaGVzZSBhcmUgbGVnYWN5IDJN
Qi1zaXplZCBpbWFnZXMgdGhhdCBtb2Rlcm4gT1ZNRiBkb2Vzbid0IHN1cHBvcnRzIHRvIGJ1aWxk
CiAJIyBhbnltb3JlLiBob3cgY2FuIHdlIGRlcGVyYWNhdGUgdGhpcyBzYW5lbHkgd2l0aG91dCBi
cmVha2luZyBleGlzdGluZyBpbnN0YW5jZXMsIG9yIHVzaW5nCiAJIyBvbGRlciBiYWNrdXBzIGFu
ZCBzbmFwc2hvdD8KQEAgLTMxNzIsMTUgKzMxNzksMjIgQEAgc3ViIHZnYV9jb25mX2hhc19zcGlj
ZSB7CiAgICAgcmV0dXJuICQxIHx8IDE7CiB9CiAKLXN1YiBnZXRfb3ZtZl9maWxlcygkJCQpIHsK
LSAgICBteSAoJGFyY2gsICRlZmlkaXNrLCAkc21tKSA9IEBfOworc3ViIGdldF9vdm1mX2ZpbGVz
KCQkJCQpIHsKKyAgICBteSAoJGFyY2gsICRlZmlkaXNrLCAkc21tLCAkYW1kX3Nldl90eXBlKSA9
IEBfOwogCiAgICAgbXkgJHR5cGVzID0gJE9WTUYtPnskYXJjaH0KIAlvciBkaWUgIm5vIE9WTUYg
aW1hZ2VzIGtub3duIGZvciBhcmNoaXRlY3R1cmUgJyRhcmNoJ1xuIjsKIAogICAgIG15ICR0eXBl
ID0gJ2RlZmF1bHQnOwogICAgIGlmICgkYXJjaCBlcSAneDg2XzY0JykgewotCWlmIChkZWZpbmVk
KCRlZmlkaXNrLT57ZWZpdHlwZX0pICYmICRlZmlkaXNrLT57ZWZpdHlwZX0gZXEgJzRtJykgewor
CWlmICgkYW1kX3Nldl90eXBlICYmICRhbWRfc2V2X3R5cGUgZXEgJ3NucCcpIHsKKwkgICAgJHR5
cGUgPSAiNG0tc25wIjsKKwkgICAgbXkgKCRvdm1mKSA9ICR0eXBlcy0+eyR0eXBlfS0+QCo7CisJ
ICAgIGRpZSAiRUZJIGJhc2UgaW1hZ2UgJyRvdm1mJyBub3QgZm91bmRcbiIgaWYgISAtZiAkb3Zt
ZjsKKwkgICAgcmV0dXJuICgkb3ZtZik7CisJfSBlbHNpZiAoJGFtZF9zZXZfdHlwZSkgeworCSAg
ICAkdHlwZSA9ICI0bS1zZXYiOworCX0gZWxzaWYgKGRlZmluZWQoJGVmaWRpc2stPntlZml0eXBl
fSkgJiYgJGVmaWRpc2stPntlZml0eXBlfSBlcSAnNG0nKSB7CiAJICAgICR0eXBlID0gJHNtbSA/
ICI0bSIgOiAiNG0tbm8tc21tIjsKIAkgICAgJHR5cGUgLj0gJy1tcycgaWYgJGVmaWRpc2stPnsn
cHJlLWVucm9sbGVkLWtleXMnfTsKIAl9IGVsc2UgewpAQCAtMzMyOSw3ICszMzQzLDEwIEBAIG15
IHN1YiBwcmludF9vdm1mX2RyaXZlX2NvbW1hbmRsaW5lcyB7CiAKICAgICBteSAkZCA9ICRjb25m
LT57ZWZpZGlzazB9ID8gcGFyc2VfZHJpdmUoJ2VmaWRpc2swJywgJGNvbmYtPntlZmlkaXNrMH0p
IDogdW5kZWY7CiAKLSAgICBteSAoJG92bWZfY29kZSwgJG92bWZfdmFycykgPSBnZXRfb3ZtZl9m
aWxlcygkYXJjaCwgJGQsICRxMzUpOworICAgIG15ICRhbWRfc2V2X3R5cGUgPSBnZXRfYW1kX3Nl
dl90eXBlKCRjb25mKTsKKyAgICBkaWUgIkF0dGVtcHRpbmcgdG8gY29uZmlndXJlIFNFVi1TTlAg
d2l0aCBmbGFzaCBkZXZpY2VzIGluc3RlYWQgb2YgdXNpbmcgYC1iaW9zYFxuIgorCWlmICRhbWRf
c2V2X3R5cGUgJiYgJGFtZF9zZXZfdHlwZSBlcSAnc25wJzsKKyAgICBteSAoJG92bWZfY29kZSwg
JG92bWZfdmFycykgPSBnZXRfb3ZtZl9maWxlcygkYXJjaCwgJGQsICRxMzUsICRhbWRfc2V2X3R5
cGUpOwogCiAgICAgbXkgJHZhcl9kcml2ZV9zdHIgPSAiaWY9cGZsYXNoLHVuaXQ9MSxpZD1kcml2
ZS1lZmlkaXNrMCI7CiAgICAgaWYgKCRkKSB7CkBAIC0zNTI2LDEwICszNTQzLDE4IEBAIHN1YiBj
b25maWdfdG9fY29tbWFuZCB7CiAJZGllICJPVk1GIChVRUZJKSBCSU9TIGlzIG5vdCBzdXBwb3J0
ZWQgb24gMzItYml0IENQVSB0eXBlc1xuIgogCSAgICBpZiAhJGZvcmNlY3B1ICYmIGdldF9jcHVf
Yml0bmVzcygkY29uZi0+e2NwdX0sICRhcmNoKSA9PSAzMjsKIAotCW15ICgkY29kZV9kcml2ZV9z
dHIsICR2YXJfZHJpdmVfc3RyKSA9Ci0JICAgIHByaW50X292bWZfZHJpdmVfY29tbWFuZGxpbmVz
KCRjb25mLCAkc3RvcmVjZmcsICR2bWlkLCAkYXJjaCwgJHEzNSwgJHZlcnNpb25fZ3VhcmQpOwot
CXB1c2ggJGNtZC0+QCosICctZHJpdmUnLCAkY29kZV9kcml2ZV9zdHI7Ci0JcHVzaCAkY21kLT5A
KiwgJy1kcml2ZScsICR2YXJfZHJpdmVfc3RyOworCW15ICRhbWRfc2V2X3R5cGUgPSBnZXRfYW1k
X3Nldl90eXBlKCRjb25mKTsKKwlpZiAoJGFtZF9zZXZfdHlwZSAmJiAkYW1kX3Nldl90eXBlIGVx
ICdzbnAnKSB7CisJICAgbXkgJGFyY2ggPSBQVkU6OlFlbXVTZXJ2ZXI6OkhlbHBlcnM6OmdldF92
bV9hcmNoKCRjb25mKTsKKwkgICBwcmludCAiRXhpc3RpbmcgRUZJIGRpc2sgd2lsbCBiZSBpZ25v
cmVkIGZvciBTRVYtU05QXG4iCisJCWlmIHBhcnNlX2RyaXZlKCdlZmlkaXNrMCcsICRjb25mLT57
ZWZpZGlzazB9KTsKKwkgICBwdXNoICRjbWQtPkAqLCAnLWJpb3MnLCBnZXRfb3ZtZl9maWxlcygk
YXJjaCwgdW5kZWYsIHVuZGVmLCAkYW1kX3Nldl90eXBlKTsKKwl9IGVsc2UgeworCSAgICBteSAo
JGNvZGVfZHJpdmVfc3RyLCAkdmFyX2RyaXZlX3N0cikgPSBwcmludF9vdm1mX2RyaXZlX2NvbW1h
bmRsaW5lcygKKwkJJGNvbmYsICRzdG9yZWNmZywgJHZtaWQsICRhcmNoLCAkcTM1LCAkdmVyc2lv
bl9ndWFyZCk7CisJICAgIHB1c2ggJGNtZC0+QCosICctZHJpdmUnLCAkY29kZV9kcml2ZV9zdHI7
CisJICAgIHB1c2ggJGNtZC0+QCosICctZHJpdmUnLCAkdmFyX2RyaXZlX3N0cjsKKwl9CiAgICAg
fQogCiAgICAgaWYgKCRxMzUpIHsgIyB0ZWxsIFFFTVUgdG8gbG9hZCBxMzUgY29uZmlnIGVhcmx5
CkBAIC04MzM3LDcgKzgzNjIsOCBAQCBzdWIgZ2V0X2VmaXZhcnNfc2l6ZSB7CiAgICAgbXkgJGFy
Y2ggPSBQVkU6OlFlbXVTZXJ2ZXI6OkhlbHBlcnM6OmdldF92bV9hcmNoKCRjb25mKTsKICAgICAk
ZWZpZGlzayAvLz0gJGNvbmYtPntlZmlkaXNrMH0gPyBwYXJzZV9kcml2ZSgnZWZpZGlzazAnLCAk
Y29uZi0+e2VmaWRpc2swfSkgOiB1bmRlZjsKICAgICBteSAkc21tID0gUFZFOjpRZW11U2VydmVy
OjpNYWNoaW5lOjptYWNoaW5lX3R5cGVfaXNfcTM1KCRjb25mKTsKLSAgICBteSAodW5kZWYsICRv
dm1mX3ZhcnMpID0gZ2V0X292bWZfZmlsZXMoJGFyY2gsICRlZmlkaXNrLCAkc21tKTsKKyAgICBt
eSAkYW1kX3Nldl90eXBlID0gZ2V0X2FtZF9zZXZfdHlwZSgkY29uZik7CisgICAgbXkgKHVuZGVm
LCAkb3ZtZl92YXJzKSA9IGdldF9vdm1mX2ZpbGVzKCRhcmNoLCAkZWZpZGlzaywgJHNtbSwgJGFt
ZF9zZXZfdHlwZSk7CiAgICAgcmV0dXJuIC1zICRvdm1mX3ZhcnM7CiB9CiAKQEAgLTgzNjEsMTAg
KzgzODcsMTAgQEAgc3ViIHVwZGF0ZV90cG1zdGF0ZV9zaXplIHsKICAgICAkY29uZi0+e3RwbXN0
YXRlMH0gPSBwcmludF9kcml2ZSgkZGlzayk7CiB9CiAKLXN1YiBjcmVhdGVfZWZpZGlzaygkJCQk
JCQkKSB7Ci0gICAgbXkgKCRzdG9yZWNmZywgJHN0b3JlaWQsICR2bWlkLCAkZm10LCAkYXJjaCwg
JGVmaWRpc2ssICRzbW0pID0gQF87CitzdWIgY3JlYXRlX2VmaWRpc2soJCQkJCQkJCQpIHsKKyAg
ICBteSAoJHN0b3JlY2ZnLCAkc3RvcmVpZCwgJHZtaWQsICRmbXQsICRhcmNoLCAkZWZpZGlzaywg
JHNtbSwgJGFtZF9zZXZfdHlwZSkgPSBAXzsKIAotICAgIG15ICh1bmRlZiwgJG92bWZfdmFycykg
PSBnZXRfb3ZtZl9maWxlcygkYXJjaCwgJGVmaWRpc2ssICRzbW0pOworICAgIG15ICh1bmRlZiwg
JG92bWZfdmFycykgPSBnZXRfb3ZtZl9maWxlcygkYXJjaCwgJGVmaWRpc2ssICRzbW0sICRhbWRf
c2V2X3R5cGUpOwogCiAgICAgbXkgJHZhcnNfc2l6ZV9iID0gLXMgJG92bWZfdmFyczsKICAgICBt
eSAkdmFyc19zaXplID0gUFZFOjpUb29sczo6Y29udmVydF9zaXplKCR2YXJzX3NpemVfYiwgJ2In
ID0+ICdrYicpOwpkaWZmIC0tZ2l0IGEvUFZFL1FlbXVTZXJ2ZXIvQ1BVQ29uZmlnLnBtIGIvUFZF
L1FlbXVTZXJ2ZXIvQ1BVQ29uZmlnLnBtCmluZGV4IGFkMGJlMTZlLi45YWUxOTk2YiAxMDA2NDQK
LS0tIGEvUFZFL1FlbXVTZXJ2ZXIvQ1BVQ29uZmlnLnBtCisrKyBiL1BWRS9RZW11U2VydmVyL0NQ
VUNvbmZpZy5wbQpAQCAtMTgsNiArMTgsNyBAQCBnZXRfY3B1X29wdGlvbnMKIGdldF9jcHVfYml0
bmVzcwogaXNfbmF0aXZlX2FyY2gKIGdldF9hbWRfc2V2X29iamVjdAorZ2V0X2FtZF9zZXZfdHlw
ZQogKTsKIAogIyB1bmRlciBjZXJ0YWluIHJhY2UtY29uZGl0aW9ucywgdGhpcyBtb2R1bGUgbWln
aHQgYmUgbG9hZGVkIGJlZm9yZSBwdmUtY2x1c3RlcgpAQCAtMjMxLDI1ICsyMzIsMzIgQEAgbXkg
JGNwdV9mbXQgPSB7CiBteSAkc2V2X2ZtdCA9IHsKICAgICB0eXBlID0+IHsKIAlkZXNjcmlwdGlv
biA9PiAiRW5hYmxlIHN0YW5kYXJkIFNFViB3aXRoIHR5cGU9J3N0ZCcgb3IgZW5hYmxlIgotCSAg
ICAuIiBleHBlcmltZW50YWwgU0VWLUVTIHdpdGggdGhlICdlcycgb3B0aW9uLiIsCisJICAgIC4i
IGV4cGVyaW1lbnRhbCBTRVYtRVMgd2l0aCB0aGUgJ2VzJyBvcHRpb24gb3IgZW5hYmxlIgorCSAg
ICAuIiBleHBlcmltZW50YWwgU0VWLVNOUCB3aXRoIHRoZSAnc25wJyBvcHRpb24uIiwKIAl0eXBl
ID0+ICdzdHJpbmcnLAogCWRlZmF1bHRfa2V5ID0+IDEsCiAJZm9ybWF0X2Rlc2NyaXB0aW9uID0+
ICJzZXYtdHlwZSIsCi0JZW51bSA9PiBbJ3N0ZCcsICdlcyddLAorCWVudW0gPT4gWydzdGQnLCAn
ZXMnLCAnc25wJ10sCiAJbWF4TGVuZ3RoID0+IDMsCiAgICAgfSwKICAgICAnbm8tZGVidWcnID0+
IHsKLQlkZXNjcmlwdGlvbiA9PiAiU2V0cyBwb2xpY3kgYml0IDAgdG8gMSB0byBkaXNhbGxvdyBk
ZWJ1Z2dpbmcgb2YgZ3Vlc3QiLAorCWRlc2NyaXB0aW9uID0+ICJTZXRzIHBvbGljeSBiaXQgdG8g
ZGlzYWxsb3cgZGVidWdnaW5nIG9mIGd1ZXN0IiwKIAl0eXBlID0+ICdib29sZWFuJywKIAlkZWZh
dWx0ID0+IDAsCiAJb3B0aW9uYWwgPT4gMSwKICAgICB9LAogICAgICduby1rZXktc2hhcmluZycg
PT4gewotCWRlc2NyaXB0aW9uID0+ICJTZXRzIHBvbGljeSBiaXQgMSB0byAxIHRvIGRpc2FsbG93
IGtleSBzaGFyaW5nIHdpdGggb3RoZXIgZ3Vlc3RzIiwKKwlkZXNjcmlwdGlvbiA9PiAiU2V0cyBw
b2xpY3kgYml0IHRvIGRpc2FsbG93IGtleSBzaGFyaW5nIHdpdGggb3RoZXIgZ3Vlc3RzIChJZ25v
cmVkIGZvciBTRVYtU05QKSIsCiAJdHlwZSA9PiAnYm9vbGVhbicsCiAJZGVmYXVsdCA9PiAwLAog
CW9wdGlvbmFsID0+IDEsCiAgICAgfSwKKyAgICAnYWxsb3ctc210JyA9PiB7CisJZGVzY3JpcHRp
b24gPT4gIlNldHMgcG9saWN5IGJpdCB0byBhbGxvdyBTaW11bHRhbmVvdXMgTXVsdGkgVGhyZWFk
aW5nIChTTVQpIChJZ25vcmVkIHVubGVzcyBmb3IgU0VWLVNOUCkiLAorCXR5cGUgPT4gJ2Jvb2xl
YW4nLAorCWRlZmF1bHQgPT4gMSwKKwlvcHRpb25hbCA9PiAxLAorICAgIH0sCiAgICAgImtlcm5l
bC1oYXNoZXMiID0+IHsKIAlkZXNjcmlwdGlvbiA9PiAiQWRkIGtlcm5lbCBoYXNoZXMgdG8gZ3Vl
c3QgZmlybXdhcmUgZm9yIG1lYXN1cmVkIGxpbnV4IGtlcm5lbCBsYXVuY2giLAogCXR5cGUgPT4g
J2Jvb2xlYW4nLApAQCAtODIzLDYgKzgzMSwxMyBAQCBzdWIgZ2V0X2h3X2NhcGFiaWxpdGllcyB7
CiAgICAgfQogICAgIHJldHVybiAkaHdfY2FwYWJpbGl0aWVzOwogfQorc3ViIGdldF9hbWRfc2V2
X3R5cGUgeworICAgIG15ICgkY29uZikgPSBAXzsKKworICAgIHJldHVybiB1bmRlZiBpZiAhJGNv
bmYtPnsnYW1kLXNldid9OworCisgICAgcmV0dXJuIFBWRTo6SlNPTlNjaGVtYTo6cGFyc2VfcHJv
cGVydHlfc3RyaW5nKCRzZXZfZm10LCAkY29uZi0+eydhbWQtc2V2J30pLT57dHlwZX07Cit9CiAK
IHN1YiBnZXRfYW1kX3Nldl9vYmplY3QgewogICAgIG15ICgkYW1kX3NldiwgJGJpb3MpID0gQF87
CkBAIC04MzYsMjIgKzg1MSw0MSBAQCBzdWIgZ2V0X2FtZF9zZXZfb2JqZWN0IHsKICAgICBpZiAo
JGFtZF9zZXZfY29uZi0+e3R5cGV9IGVxICdlcycgJiYgISRzZXZfaHdfY2Fwcy0+eydzZXYtc3Vw
cG9ydC1lcyd9KSB7CiAJZGllICJZb3VyIENQVSBkb2VzIG5vdCBzdXBwb3J0IEFNRCBTRVYtRVMu
XG4iOwogICAgIH0KKyAgICBpZiAoJGFtZF9zZXZfY29uZi0+e3R5cGV9IGVxICdzbnAnICYmICEk
c2V2X2h3X2NhcHMtPnsnc2V2LXN1cHBvcnQtc25wJ30pIHsKKwlkaWUgIllvdXIgQ1BVIGRvZXMg
bm90IHN1cHBvcnQgQU1EIFNFVi1TTlAuXG4iOworICAgIH0KICAgICBpZiAoISRiaW9zIHx8ICRi
aW9zIG5lICdvdm1mJykgewogCWRpZSAiVG8gdXNlIEFNRCBTRVYsIHlvdSBuZWVkIHRvIGNoYW5n
ZSB0aGUgQklPUyB0byBPVk1GLlxuIjsKICAgICB9CiAKLSAgICBteSAkc2V2X21lbV9vYmplY3Qg
PSAnc2V2LWd1ZXN0LGlkPXNldjAnOwotICAgICRzZXZfbWVtX29iamVjdCAuPSAnLGNiaXRwb3M9
Jy4kc2V2X2h3X2NhcHMtPntjYml0cG9zfTsKLSAgICAkc2V2X21lbV9vYmplY3QgLj0gJyxyZWR1
Y2VkLXBoeXMtYml0cz0nLiRzZXZfaHdfY2Fwcy0+eydyZWR1Y2VkLXBoeXMtYml0cyd9OwotCi0g
ICAgIyBndWVzdCBwb2xpY3kgYml0IGNhbGN1bGF0aW9uIGFzIGRlc2NyaWJlZCBoZXJlOgotICAg
ICMgaHR0cHM6Ly9kb2N1bWVudGF0aW9uLnN1c2UuY29tL3NsZXMvMTUtU1A1L2h0bWwvU0xFUy1h
bWQtc2V2L2FydGljbGUtYW1kLXNldi5odG1sI3RhYmxlLWd1ZXN0cG9saWN5Ci0gICAgbXkgJHBv
bGljeSA9IDA7Ci0gICAgJHBvbGljeSB8PSAxIDw8IDAgaWYgJGFtZF9zZXZfY29uZi0+eyduby1k
ZWJ1Zyd9OwotICAgICRwb2xpY3kgfD0gMSA8PCAxIGlmICRhbWRfc2V2X2NvbmYtPnsnbm8ta2V5
LXNoYXJpbmcnfTsKLSAgICAkcG9saWN5IHw9IDEgPDwgMiBpZiAkYW1kX3Nldl9jb25mLT57dHlw
ZX0gZXEgJ2VzJzsKLSAgICAjIGRpc2FibGUgbWlncmF0aW9uIHdpdGggYml0IDMgbm9zZW5kIHRv
IHByZXZlbnQgYW1kLXNldi1taWdyYXRpb24tYXR0YWNrCi0gICAgJHBvbGljeSB8PSAxIDw8IDM7
CisgICAgbXkgJHNldl9tZW1fb2JqZWN0ID0gJyc7CisgICAgbXkgJHBvbGljeTsKKyAgICBpZiAo
JGFtZF9zZXZfY29uZi0+e3R5cGV9IGVxICdlcycgfHwgJGFtZF9zZXZfY29uZi0+e3R5cGV9IGVx
ICdzdGQnKSB7CisJJHNldl9tZW1fb2JqZWN0IC49ICdzZXYtZ3Vlc3QsaWQ9c2V2MCc7CisJJHNl
dl9tZW1fb2JqZWN0IC49ICcsY2JpdHBvcz0nLiRzZXZfaHdfY2Fwcy0+e2NiaXRwb3N9OworCSRz
ZXZfbWVtX29iamVjdCAuPSAnLHJlZHVjZWQtcGh5cy1iaXRzPScuJHNldl9od19jYXBzLT57J3Jl
ZHVjZWQtcGh5cy1iaXRzJ307CisKKwkjIGd1ZXN0IHBvbGljeSBiaXQgY2FsY3VsYXRpb24gYXMg
ZGVzY3JpYmVkIGhlcmU6CisJIyBodHRwczovL2RvY3VtZW50YXRpb24uc3VzZS5jb20vc2xlcy8x
NS1TUDUvaHRtbC9TTEVTLWFtZC1zZXYvYXJ0aWNsZS1hbWQtc2V2Lmh0bWwjdGFibGUtZ3Vlc3Rw
b2xpY3kKKwkkcG9saWN5ID0gMDsKKwkkcG9saWN5IHw9IDEgPDwgMCBpZiAkYW1kX3Nldl9jb25m
LT57J25vLWRlYnVnJ307CisJJHBvbGljeSB8PSAxIDw8IDEgaWYgJGFtZF9zZXZfY29uZi0+eydu
by1rZXktc2hhcmluZyd9OworCSRwb2xpY3kgfD0gMSA8PCAyIGlmICRhbWRfc2V2X2NvbmYtPnt0
eXBlfSBlcSAnZXMnOworCSMgZGlzYWJsZSBtaWdyYXRpb24gd2l0aCBiaXQgMyBub3NlbmQgdG8g
cHJldmVudCBhbWQtc2V2LW1pZ3JhdGlvbi1hdHRhY2sKKwkkcG9saWN5IHw9IDEgPDwgMzsKKyAg
ICB9IGVsc2lmICgkYW1kX3Nldl9jb25mLT57dHlwZX0gZXEgJ3NucCcpIHsKKwkkc2V2X21lbV9v
YmplY3QgLj0gJ3Nldi1zbnAtZ3Vlc3QsaWQ9c2V2MCc7CisJJHNldl9tZW1fb2JqZWN0IC49ICcs
Y2JpdHBvcz0nLiRzZXZfaHdfY2Fwcy0+e2NiaXRwb3N9OworCSRzZXZfbWVtX29iamVjdCAuPSAn
LHJlZHVjZWQtcGh5cy1iaXRzPScuJHNldl9od19jYXBzLT57J3JlZHVjZWQtcGh5cy1iaXRzJ307
CisKKwkjIGd1ZXN0IHBvbGljeSBiaXQgY2FsY3VsYXRpb24gYXMgZGVzY3JpYmVkIGluIGNoYXB0
ZXIgNC4zOgorCSMgaHR0cHM6Ly93d3cuYW1kLmNvbS9zeXN0ZW0vZmlsZXMvVGVjaERvY3MvNTY4
NjAucGRmCisJIyBSZXNlcnZlZCBiaXQgbXVzdCBiZSBvbmUKKwkkcG9saWN5ID0gMSA8PCAxNzsK
KwkkcG9saWN5IHw9IDEgPDwgMTYgaWYgIWRlZmluZWQoJGFtZF9zZXZfY29uZi0+eydhbGxvdy1z
bXQnfSkgfHwgJGFtZF9zZXZfY29uZi0+eydhbGxvdy1zbXQnfTsKKwkkcG9saWN5IHw9IDEgPDwg
MTkgaWYgISRhbWRfc2V2X2NvbmYtPnsnbm8tZGVidWcnfTsKKyAgICB9CisKIAogICAgICRzZXZf
bWVtX29iamVjdCAuPSAnLHBvbGljeT0nLnNwcmludGYoIiUjeCIsICRwb2xpY3kpOwogICAgICRz
ZXZfbWVtX29iamVjdCAuPSAnLGtlcm5lbC1oYXNoZXM9b24nIGlmICgkYW1kX3Nldl9jb25mLT57
J2tlcm5lbC1oYXNoZXMnfSk7Ci0tIAoyLjM5LjUKCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2ZS1kZXZlbEBs
aXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1h
bi9saXN0aW5mby9wdmUtZGV2ZWwK