From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id F0A3F1FF176 for ; Fri, 7 Feb 2025 09:52:53 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id EC6AB6A2B; Fri, 7 Feb 2025 09:52:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1738918322; x=1739523122; 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=KiqxdgtkbcVhTiaosOqCa9dp+YpTPlPOl1cjZ3SSDvg=; b=uAjtiuR8fLLFSh3GT0WBKiKlSTpnCLrkjbzfieEIf1jmNhdIoVlWpHTv8nBfmpB1KgM0++xbatvxL izvBOZgjI2JNAKqG8Ke79L73Ar6rmUmQ0HxvJKen3WQue1Mxk6dHapP3LVO1LhtnIWgNRigNfDdks5 qHSw52jZzZbnhv75LgVVup+v4brKvLElLWLRchmgiADgn8m3i5dj3x2dnAK3Od6CSvmLof/eLy9k5l ur+JN9nFaAxXAMVaDYDnXMRejx1rGnr4ijPJ9X9v+z14G0IsajHpQVzLa/mfV/qIXjPTIkAeY5ZDUg zn3HH3zuO5OXnczo2kqNsz4qWTt6oJQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1738918322; x=1739523122; 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=KiqxdgtkbcVhTiaosOqCa9dp+YpTPlPOl1cjZ3SSDvg=; b=iYdiDpwXEFPhCr1NiUzp8qvSbZqVuKk+4yO5rDj9kPf3Y/DLiK4Obdzj9z/qKkTWqtOxskalXoCjh Z5iZulvCQ== X-HalOne-ID: cb553eb7-e530-11ef-bffa-91f375301d21 From: Philipp Giersfeld To: pve-devel@lists.proxmox.com Date: Fri, 7 Feb 2025 09:51:19 +0100 Message-Id: <20250207085120.959234-4-philipp.giersfeld@canarybit.eu> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250207085120.959234-1-philipp.giersfeld@canarybit.eu> References: <20250207085120.959234-1-philipp.giersfeld@canarybit.eu> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.320 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 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 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" VGhpcyBwYXRjaCBpcyBmb3IgZW5hYmxpbmcgQU1EIFNFVi1TTlAgc3VwcG9ydC4KCldoZXJlIGFw cGxpY2FibGUsIGl0IGV4dGVuZHMgc3VwcG9ydCBmb3IgZXhpc3RpbmcgU0VWKC1FUykgdmFyaWFi bGVzCnRvIFNFVi1TTlAuCgpUaGUgZGVmYXVsdCBwb2xpY3kgdmFsdWUgaXMgaWRlbnRpY2FsIHRv IFFFTVXigJlzLCBhbmQgdGhlIHRoZXJlZm9yZQpyZXF1aXJlZCBvcHRpb24gaGFzIGJlZW4gYWRk ZWQgdG8gY29uZmlndXJlIFNNVCBzdXBwb3J0LgoKVGhlIGNvZGUgd2FzIHRlc3RlZCBieSBydW5u aW5nIGEgVk0gd2l0aG91dCBTRVYsIHdpdGggU0VWLCBTRVYtRVMsClNFVi1TTlAuIEVhY2ggY29u ZmlndXJhdGlvbiB3YXMgdGVzdGVkIHdpdGggYW5kIHdpdGhvdXQgYW4gRUZJIGRpc2sKYXR0YWNo ZWQuIEZvciBTRVYtZW5hYmxlZCBjb25maWd1cmF0aW9ucyBpdCB3YXMgYWxzbyB2ZXJpZmllZCB0 aGF0IHRoZQprZXJuZWwgYWN0dWFsbHkgdXNlZCB0aGUgcmVzcGVjdGl2ZSBmZWF0dXJlLgoKU2ln bmVkLW9mZi1ieTogUGhpbGlwcCBHaWVyc2ZlbGQgPHBoaWxpcHAuZ2llcnNmZWxkQGNhbmFyeWJp dC5ldT4KLS0tCiBQVkUvQVBJMi9RZW11LnBtICAgICAgICAgICAgfCAgOSArKystLQogUFZFL1Fl bXVTZXJ2ZXIucG0gICAgICAgICAgIHwgNTcgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0KIFBWRS9RZW11U2VydmVyL0NQVUNvbmZpZy5wbSB8IDY2ICsrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKSwgMzMg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvUFZFL0FQSTIvUWVtdS5wbSBiL1BWRS9BUEkyL1Fl bXUucG0KaW5kZXggMjk1MjYwZTcuLjM1Yzc2ZGMyIDEwMDY0NAotLS0gYS9QVkUvQVBJMi9RZW11 LnBtCisrKyBiL1BWRS9BUEkyL1FlbXUucG0KQEAgLTU0OCw4ICs1NDgsMTMgQEAgbXkgc3ViIGNy ZWF0ZV9kaXNrcyA6IHByb3RvdHlwZSgkJCQkJCQkJCQkJCkgewogCQlteSAkdm9saWQ7CiAJCWlm ICgkZHMgZXEgJ2VmaWRpc2swJykgewogCQkgICAgbXkgJHNtbSA9IFBWRTo6UWVtdVNlcnZlcjo6 TWFjaGluZTo6bWFjaGluZV90eXBlX2lzX3EzNSgkY29uZik7Ci0JCSAgICAoJHZvbGlkLCAkc2l6 ZSkgPSBQVkU6OlFlbXVTZXJ2ZXI6OmNyZWF0ZV9lZmlkaXNrKAotCQkJJHN0b3JlY2ZnLCAkc3Rv cmVpZCwgJHZtaWQsICRmbXQsICRhcmNoLCAkZGlzaywgJHNtbSk7CisJCQlteSAkYW1kX3Nldl90 eXBlID0gUFZFOjpRZW11U2VydmVyOjpDUFVDb25maWc6OmdldF9hbWRfc2V2X3R5cGUoJGNvbmYp OworCQkJaWYoJGFtZF9zZXZfdHlwZSAmJiAkYW1kX3Nldl90eXBlIGVxICdzbnAnKSB7CisJCQkJ ZGllICJTRVYtU05QIG9ubHkgdXNlcyBjb25zb2xpZGF0ZWQgcmVhZC1vbmx5IGZpcm13YXJlIjsK KwkJCX0gZWxzZSB7CisJCQkgICAgKCR2b2xpZCwgJHNpemUpID0gUFZFOjpRZW11U2VydmVyOjpj cmVhdGVfZWZpZGlzaygKKwkJCQkkc3RvcmVjZmcsICRzdG9yZWlkLCAkdm1pZCwgJGZtdCwgJGFy Y2gsICRkaXNrLCAkc21tLCAkYW1kX3Nldl90eXBlKTsKKwkJCX0KIAkJfSBlbHNpZiAoJGRzIGVx ICd0cG1zdGF0ZTAnKSB7CiAJCSAgICAjIHN3dHBtIGNhbiBvbmx5IHVzZSByYXcgdm9sdW1lcywg YW5kIHVzZXMgYSBmaXhlZCBzaXplCiAJCSAgICAkc2l6ZSA9IFBWRTo6VG9vbHM6OmNvbnZlcnRf c2l6ZShQVkU6OlFlbXVTZXJ2ZXI6OkRyaXZlOjpUUE1TVEFURV9ESVNLX1NJWkUsICdiJyA9PiAn a2InKTsKZGlmZiAtLWdpdCBhL1BWRS9RZW11U2VydmVyLnBtIGIvUFZFL1FlbXVTZXJ2ZXIucG0K aW5kZXggODA4YzBlMWMuLmU0NmIzNDM0IDEwMDY0NAotLS0gYS9QVkUvUWVtdVNlcnZlci5wbQor KysgYi9QVkUvUWVtdVNlcnZlci5wbQpAQCAtNTIsNyArNTIsNyBAQCB1c2UgUFZFOjpRZW11Q29u ZmlnOwogdXNlIFBWRTo6UWVtdVNlcnZlcjo6SGVscGVycyBxdyhjb25maWdfYXdhcmVfdGltZW91 dCBtaW5fdmVyc2lvbiBrdm1fdXNlcl92ZXJzaW9uIHdpbmRvd3NfdmVyc2lvbik7CiB1c2UgUFZF OjpRZW11U2VydmVyOjpDbG91ZGluaXQ7CiB1c2UgUFZFOjpRZW11U2VydmVyOjpDR3JvdXA7Ci11 c2UgUFZFOjpRZW11U2VydmVyOjpDUFVDb25maWcgcXcocHJpbnRfY3B1X2RldmljZSBnZXRfY3B1 X29wdGlvbnMgZ2V0X2NwdV9iaXRuZXNzIGlzX25hdGl2ZV9hcmNoIGdldF9hbWRfc2V2X29iamVj dCk7Cit1c2UgUFZFOjpRZW11U2VydmVyOjpDUFVDb25maWcgcXcocHJpbnRfY3B1X2RldmljZSBn ZXRfY3B1X29wdGlvbnMgZ2V0X2NwdV9iaXRuZXNzIGlzX25hdGl2ZV9hcmNoIGdldF9hbWRfc2V2 X29iamVjdCBnZXRfYW1kX3Nldl90eXBlKTsKIHVzZSBQVkU6OlFlbXVTZXJ2ZXI6OkRyaXZlIHF3 KGlzX3ZhbGlkX2RyaXZlbmFtZSBjaGVja2VkX3ZvbHVtZV9mb3JtYXQgZHJpdmVfaXNfY2xvdWRp bml0IGRyaXZlX2lzX2Nkcm9tIGRyaXZlX2lzX3JlYWRfb25seSBwYXJzZV9kcml2ZSBwcmludF9k cml2ZSk7CiB1c2UgUFZFOjpRZW11U2VydmVyOjpNYWNoaW5lOwogdXNlIFBWRTo6UWVtdVNlcnZl cjo6TWVtb3J5IHF3KGdldF9jdXJyZW50X21lbW9yeSk7CkBAIC04OCw2ICs4OCwxMyBAQCBteSAk T1ZNRiA9IHsKIAkgICAgIiRFREsyX0ZXX0JBU0UvT1ZNRl9DT0RFXzRNLnNlY2Jvb3QuZmQiLAog CSAgICAiJEVESzJfRldfQkFTRS9PVk1GX1ZBUlNfNE0ubXMuZmQiLAogCV0sCisJJzRtLXNldicg PT4gWworCSAgICAiJEVESzJfRldfQkFTRS9PVk1GX0NWTV9DT0RFXzRNLmZkIiwKKwkgICAgIiRF REsyX0ZXX0JBU0UvT1ZNRl9DVk1fVkFSU180TS5mZCIsCisJXSwKKwknNG0tc25wJyA9PiBbCisJ ICAgICIkRURLMl9GV19CQVNFL09WTUZfQ1ZNXzRNLmZkIiwKKwldLAogCSMgRklYTUU6IFRoZXNl IGFyZSBsZWdhY3kgMk1CLXNpemVkIGltYWdlcyB0aGF0IG1vZGVybiBPVk1GIGRvZXNuJ3Qgc3Vw cG9ydHMgdG8gYnVpbGQKIAkjIGFueW1vcmUuIGhvdyBjYW4gd2UgZGVwZXJhY2F0ZSB0aGlzIHNh bmVseSB3aXRob3V0IGJyZWFraW5nIGV4aXN0aW5nIGluc3RhbmNlcywgb3IgdXNpbmcKIAkjIG9s ZGVyIGJhY2t1cHMgYW5kIHNuYXBzaG90PwpAQCAtMzE3MiwxOSArMzE3OSwyOCBAQCBzdWIgdmdh X2NvbmZfaGFzX3NwaWNlIHsKICAgICByZXR1cm4gJDEgfHwgMTsKIH0KIAotc3ViIGdldF9vdm1m X2ZpbGVzKCQkJCkgewotICAgIG15ICgkYXJjaCwgJGVmaWRpc2ssICRzbW0pID0gQF87CitzdWIg Z2V0X292bWZfZmlsZXMoJCQkJCkgeworICAgIG15ICgkYXJjaCwgJGVmaWRpc2ssICRzbW0sICRh bWRfc2V2X3R5cGUpID0gQF87CiAKICAgICBteSAkdHlwZXMgPSAkT1ZNRi0+eyRhcmNofQogCW9y IGRpZSAibm8gT1ZNRiBpbWFnZXMga25vd24gZm9yIGFyY2hpdGVjdHVyZSAnJGFyY2gnXG4iOwog CiAgICAgbXkgJHR5cGUgPSAnZGVmYXVsdCc7CiAgICAgaWYgKCRhcmNoIGVxICd4ODZfNjQnKSB7 Ci0JaWYgKGRlZmluZWQoJGVmaWRpc2stPntlZml0eXBlfSkgJiYgJGVmaWRpc2stPntlZml0eXBl fSBlcSAnNG0nKSB7Ci0JICAgICR0eXBlID0gJHNtbSA/ICI0bSIgOiAiNG0tbm8tc21tIjsKLQkg ICAgJHR5cGUgLj0gJy1tcycgaWYgJGVmaWRpc2stPnsncHJlLWVucm9sbGVkLWtleXMnfTsKKwlp ZiAoJGFtZF9zZXZfdHlwZSAmJiAkYW1kX3Nldl90eXBlIGVxICdzbnAnKSB7CisJICAgICR0eXBl ID0gIjRtLXNucCI7IAorICAgIAkgICAgbXkgKCRvdm1mKSA9ICR0eXBlcy0+eyR0eXBlfS0+QCo7 CisgICAgCSAgICBkaWUgIkVGSSBiYXNlIGltYWdlICckb3ZtZicgbm90IGZvdW5kXG4iIGlmICEg LWYgJG92bWY7CisgICAgCSAgICByZXR1cm4gKCRvdm1mKTsKKwl9IGVsc2lmICgkYW1kX3Nldl90 eXBlKSB7CisJICAgICR0eXBlID0gIjRtLXNldiI7IAogCX0gZWxzZSB7Ci0JICAgICMgVE9ETzog bG9nX3dhcm4gYWJvdXQgdXNlIG9mIGxlZ2FjeSBpbWFnZXMgZm9yIHg4Nl82NCB3aXRoIFByb214 b3ggVkUgOQorCSAgICBpZiAoZGVmaW5lZCgkZWZpZGlzay0+e2VmaXR5cGV9KSAmJiAkZWZpZGlz ay0+e2VmaXR5cGV9IGVxICc0bScpIHsKKwkgICAgICAgICR0eXBlID0gJHNtbSA/ICI0bSIgOiAi NG0tbm8tc21tIjsKKwkgICAgICAgICR0eXBlIC49ICctbXMnIGlmICRlZmlkaXNrLT57J3ByZS1l bnJvbGxlZC1rZXlzJ307CisJICAgIH0gZWxzZSB7CisJICAgICAgICAjIFRPRE86IGxvZ193YXJu IGFib3V0IHVzZSBvZiBsZWdhY3kgaW1hZ2VzIGZvciB4ODZfNjQgd2l0aCBQcm9teG94IFZFIDkK KwkgICAgfQogCX0KICAgICB9CiAKQEAgLTMzMjksNyArMzM0NSw4IEBAIG15IHN1YiBwcmludF9v dm1mX2RyaXZlX2NvbW1hbmRsaW5lcyB7CiAKICAgICBteSAkZCA9ICRjb25mLT57ZWZpZGlzazB9 ID8gcGFyc2VfZHJpdmUoJ2VmaWRpc2swJywgJGNvbmYtPntlZmlkaXNrMH0pIDogdW5kZWY7CiAK LSAgICBteSAoJG92bWZfY29kZSwgJG92bWZfdmFycykgPSBnZXRfb3ZtZl9maWxlcygkYXJjaCwg JGQsICRxMzUpOworICAgIG15ICRhbWRfc2V2X3R5cGUgPSBnZXRfYW1kX3Nldl90eXBlKCRjb25m KTsKKyAgICBteSAoJG92bWZfY29kZSwgJG92bWZfdmFycykgPSBnZXRfb3ZtZl9maWxlcygkYXJj aCwgJGQsICRxMzUsICRhbWRfc2V2X3R5cGUpOwogCiAgICAgbXkgJHZhcl9kcml2ZV9zdHIgPSAi aWY9cGZsYXNoLHVuaXQ9MSxpZD1kcml2ZS1lZmlkaXNrMCI7CiAgICAgaWYgKCRkKSB7CkBAIC0z NTI2LDEwICszNTQzLDE3IEBAIHN1YiBjb25maWdfdG9fY29tbWFuZCB7CiAJZGllICJPVk1GIChV RUZJKSBCSU9TIGlzIG5vdCBzdXBwb3J0ZWQgb24gMzItYml0IENQVSB0eXBlc1xuIgogCSAgICBp ZiAhJGZvcmNlY3B1ICYmIGdldF9jcHVfYml0bmVzcygkY29uZi0+e2NwdX0sICRhcmNoKSA9PSAz MjsKIAotCW15ICgkY29kZV9kcml2ZV9zdHIsICR2YXJfZHJpdmVfc3RyKSA9Ci0JICAgIHByaW50 X292bWZfZHJpdmVfY29tbWFuZGxpbmVzKCRjb25mLCAkc3RvcmVjZmcsICR2bWlkLCAkYXJjaCwg JHEzNSwgJHZlcnNpb25fZ3VhcmQpOwotCXB1c2ggJGNtZC0+QCosICctZHJpdmUnLCAkY29kZV9k cml2ZV9zdHI7Ci0JcHVzaCAkY21kLT5AKiwgJy1kcml2ZScsICR2YXJfZHJpdmVfc3RyOworCW15 ICRhbWRfc2V2X3R5cGUgPSBnZXRfYW1kX3Nldl90eXBlKCRjb25mKTsKKwlpZiAoJGFtZF9zZXZf dHlwZSAmJiAkYW1kX3Nldl90eXBlIGVxICdzbnAnKSB7CisJICAgbXkgJGFyY2ggPSBQVkU6OlFl bXVTZXJ2ZXI6OkhlbHBlcnM6OmdldF92bV9hcmNoKCRjb25mKTsKKyAgICAJICAgbXkgJGQgPSAk Y29uZi0+e2VmaWRpc2swfSA/IHBhcnNlX2RyaXZlKCdlZmlkaXNrMCcsICRjb25mLT57ZWZpZGlz azB9KSA6IHVuZGVmOworCSAgIHB1c2ggJGNtZC0+QCosICctYmlvcycsIGdldF9vdm1mX2ZpbGVz KCRhcmNoLCAkZCwgdW5kZWYsICRhbWRfc2V2X3R5cGUpOworCX0gZWxzZSB7CisJICAgIG15ICgk Y29kZV9kcml2ZV9zdHIsICR2YXJfZHJpdmVfc3RyKSA9IHByaW50X292bWZfZHJpdmVfY29tbWFu ZGxpbmVzKAorCQkkY29uZiwgJHN0b3JlY2ZnLCAkdm1pZCwgJGFyY2gsICRxMzUsICR2ZXJzaW9u X2d1YXJkKTsKKwkgICAgcHVzaCAkY21kLT5AKiwgJy1kcml2ZScsICRjb2RlX2RyaXZlX3N0cjsK KwkgICAgcHVzaCAkY21kLT5AKiwgJy1kcml2ZScsICR2YXJfZHJpdmVfc3RyOworCX0KICAgICB9 CiAKICAgICBpZiAoJHEzNSkgeyAjIHRlbGwgUUVNVSB0byBsb2FkIHEzNSBjb25maWcgZWFybHkK QEAgLTgzMzcsNyArODM2MSw4IEBAIHN1YiBnZXRfZWZpdmFyc19zaXplIHsKICAgICBteSAkYXJj aCA9IFBWRTo6UWVtdVNlcnZlcjo6SGVscGVyczo6Z2V0X3ZtX2FyY2goJGNvbmYpOwogICAgICRl ZmlkaXNrIC8vPSAkY29uZi0+e2VmaWRpc2swfSA/IHBhcnNlX2RyaXZlKCdlZmlkaXNrMCcsICRj b25mLT57ZWZpZGlzazB9KSA6IHVuZGVmOwogICAgIG15ICRzbW0gPSBQVkU6OlFlbXVTZXJ2ZXI6 Ok1hY2hpbmU6Om1hY2hpbmVfdHlwZV9pc19xMzUoJGNvbmYpOwotICAgIG15ICh1bmRlZiwgJG92 bWZfdmFycykgPSBnZXRfb3ZtZl9maWxlcygkYXJjaCwgJGVmaWRpc2ssICRzbW0pOworICAgIG15 ICRhbWRfc2V2X3R5cGUgPSBnZXRfYW1kX3Nldl90eXBlKCRjb25mKTsKKyAgICBteSAodW5kZWYs ICRvdm1mX3ZhcnMpID0gZ2V0X292bWZfZmlsZXMoJGFyY2gsICRlZmlkaXNrLCAkc21tLCAkYW1k X3Nldl90eXBlKTsKICAgICByZXR1cm4gLXMgJG92bWZfdmFyczsKIH0KIApAQCAtODM2MSwxMCAr ODM4NiwxMCBAQCBzdWIgdXBkYXRlX3RwbXN0YXRlX3NpemUgewogICAgICRjb25mLT57dHBtc3Rh dGUwfSA9IHByaW50X2RyaXZlKCRkaXNrKTsKIH0KIAotc3ViIGNyZWF0ZV9lZmlkaXNrKCQkJCQk JCQpIHsKLSAgICBteSAoJHN0b3JlY2ZnLCAkc3RvcmVpZCwgJHZtaWQsICRmbXQsICRhcmNoLCAk ZWZpZGlzaywgJHNtbSkgPSBAXzsKK3N1YiBjcmVhdGVfZWZpZGlzaygkJCQkJCQkJCkgeworICAg IG15ICgkc3RvcmVjZmcsICRzdG9yZWlkLCAkdm1pZCwgJGZtdCwgJGFyY2gsICRlZmlkaXNrLCAk c21tLCAkYW1kX3Nldl90eXBlKSA9IEBfOwogCi0gICAgbXkgKHVuZGVmLCAkb3ZtZl92YXJzKSA9 IGdldF9vdm1mX2ZpbGVzKCRhcmNoLCAkZWZpZGlzaywgJHNtbSk7CisgICAgbXkgKHVuZGVmLCAk b3ZtZl92YXJzKSA9IGdldF9vdm1mX2ZpbGVzKCRhcmNoLCAkZWZpZGlzaywgJHNtbSwgJGFtZF9z ZXZfdHlwZSk7CiAKICAgICBteSAkdmFyc19zaXplX2IgPSAtcyAkb3ZtZl92YXJzOwogICAgIG15 ICR2YXJzX3NpemUgPSBQVkU6OlRvb2xzOjpjb252ZXJ0X3NpemUoJHZhcnNfc2l6ZV9iLCAnYicg PT4gJ2tiJyk7CmRpZmYgLS1naXQgYS9QVkUvUWVtdVNlcnZlci9DUFVDb25maWcucG0gYi9QVkUv UWVtdVNlcnZlci9DUFVDb25maWcucG0KaW5kZXggZTY1ZDhjMjYuLmRiYzMxNDYyIDEwMDY0NAot LS0gYS9QVkUvUWVtdVNlcnZlci9DUFVDb25maWcucG0KKysrIGIvUFZFL1FlbXVTZXJ2ZXIvQ1BV Q29uZmlnLnBtCkBAIC0xOCw2ICsxOCw3IEBAIGdldF9jcHVfb3B0aW9ucwogZ2V0X2NwdV9iaXRu ZXNzCiBpc19uYXRpdmVfYXJjaAogZ2V0X2FtZF9zZXZfb2JqZWN0CitnZXRfYW1kX3Nldl90eXBl CiApOwogCiAjIHVuZGVyIGNlcnRhaW4gcmFjZS1jb25kaXRpb25zLCB0aGlzIG1vZHVsZSBtaWdo dCBiZSBsb2FkZWQgYmVmb3JlIHB2ZS1jbHVzdGVyCkBAIC0yMzEsMjUgKzIzMiwzMiBAQCBteSAk Y3B1X2ZtdCA9IHsKIG15ICRzZXZfZm10ID0gewogICAgIHR5cGUgPT4gewogCWRlc2NyaXB0aW9u ID0+ICJFbmFibGUgc3RhbmRhcmQgU0VWIHdpdGggdHlwZT0nc3RkJyBvciBlbmFibGUiCi0JICAg IC4iIGV4cGVyaW1lbnRhbCBTRVYtRVMgd2l0aCB0aGUgJ2VzJyBvcHRpb24uIiwKKwkgICAgLiIg ZXhwZXJpbWVudGFsIFNFVi1FUyB3aXRoIHRoZSAnZXMnIG9wdGlvbiBvciBlbmFibGUgIgorICAg ICAgICAuImV4cGVyaW1lbnRhbCBTRVYtU05QIHdpdGggdGhlICdzbnAgb3B0aW9uLiIsCiAJdHlw ZSA9PiAnc3RyaW5nJywKIAlkZWZhdWx0X2tleSA9PiAxLAogCWZvcm1hdF9kZXNjcmlwdGlvbiA9 PiAic2V2LXR5cGUiLAotCWVudW0gPT4gWydzdGQnLCAnZXMnXSwKKwllbnVtID0+IFsnc3RkJywg J2VzJywgJ3NucCddLAogCW1heExlbmd0aCA9PiAzLAogICAgIH0sCiAgICAgJ25vLWRlYnVnJyA9 PiB7Ci0JZGVzY3JpcHRpb24gPT4gIlNldHMgcG9saWN5IGJpdCAwIHRvIDEgdG8gZGlzYWxsb3cg ZGVidWdnaW5nIG9mIGd1ZXN0IiwKKwlkZXNjcmlwdGlvbiA9PiAiU2V0cyBwb2xpY3kgYml0IHRv IGRpc2FsbG93IGRlYnVnZ2luZyBvZiBndWVzdCIsCiAJdHlwZSA9PiAnYm9vbGVhbicsCiAJZGVm YXVsdCA9PiAwLAogCW9wdGlvbmFsID0+IDEsCiAgICAgfSwKICAgICAnbm8ta2V5LXNoYXJpbmcn ID0+IHsKLQlkZXNjcmlwdGlvbiA9PiAiU2V0cyBwb2xpY3kgYml0IDEgdG8gMSB0byBkaXNhbGxv dyBrZXkgc2hhcmluZyB3aXRoIG90aGVyIGd1ZXN0cyIsCisJZGVzY3JpcHRpb24gPT4gIlNldHMg cG9saWN5IGJpdCB0byBkaXNhbGxvdyBrZXkgc2hhcmluZyB3aXRoIG90aGVyIGd1ZXN0cyIsCiAJ dHlwZSA9PiAnYm9vbGVhbicsCiAJZGVmYXVsdCA9PiAwLAogCW9wdGlvbmFsID0+IDEsCiAgICAg fSwKKyAgICAnYWxsb3ctc210JyA9PiB7CisJZGVzY3JpcHRpb24gPT4gIlNldHMgcG9saWN5IGJp dCB0byBhbGxvdyBTTVQiLAorCXR5cGUgPT4gJ2Jvb2xlYW4nLAorCWRlZmF1bHQgPT4gMSwKKwlv cHRpb25hbCA9PiAxLAorICAgIH0sCiAgICAgImtlcm5lbC1oYXNoZXMiID0+IHsKIAlkZXNjcmlw dGlvbiA9PiAiQWRkIGtlcm5lbCBoYXNoZXMgdG8gZ3Vlc3QgZmlybXdhcmUgZm9yIG1lYXN1cmVk IGxpbnV4IGtlcm5lbCBsYXVuY2giLAogCXR5cGUgPT4gJ2Jvb2xlYW4nLApAQCAtODIzLDYgKzgz MSwxNiBAQCBzdWIgZ2V0X2h3X2NhcGFiaWxpdGllcyB7CiAgICAgfQogICAgIHJldHVybiAkaHdf Y2FwYWJpbGl0aWVzOwogfQorc3ViIGdldF9hbWRfc2V2X3R5cGUgeworICAgIG15ICgkY29uZikg PSBAXzsKKworICAgIGlmICgkY29uZi0+eydhbWQtc2V2J30pIHsKKyAgICAgICAgcmV0dXJuIFBW RTo6SlNPTlNjaGVtYTo6cGFyc2VfcHJvcGVydHlfc3RyaW5nKCRzZXZfZm10LCAkY29uZi0+eydh bWQtc2V2J30pLT57dHlwZX07CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm4gdW5k ZWY7CisgICAgfQorfQogCiBzdWIgZ2V0X2FtZF9zZXZfb2JqZWN0IHsKICAgICBteSAoJGFtZF9z ZXYsICRiaW9zKSA9IEBfOwpAQCAtODM2LDIyICs4NTQsNDAgQEAgc3ViIGdldF9hbWRfc2V2X29i amVjdCB7CiAgICAgaWYgKCRhbWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnZXMnICYmICEkc2V2X2h3 X2NhcHMtPnsnc2V2LXN1cHBvcnQtZXMnfSkgewogCWRpZSAiWW91ciBDUFUgZG9lcyBub3Qgc3Vw cG9ydCBBTUQgU0VWLUVTLlxuIjsKICAgICB9CisgICAgaWYgKCRhbWRfc2V2X2NvbmYtPnt0eXBl fSBlcSAnc25wJyAmJiAhJHNldl9od19jYXBzLT57J3Nldi1zdXBwb3J0LXNucCd9KSB7CisJZGll ICJZb3VyIENQVSBkb2VzIG5vdCBzdXBwb3J0IEFNRCBTRVYtU05QLlxuIjsKKyAgICB9CiAgICAg aWYgKCEkYmlvcyB8fCAkYmlvcyBuZSAnb3ZtZicpIHsKIAlkaWUgIlRvIHVzZSBBTUQgU0VWLCB5 b3UgbmVlZCB0byBjaGFuZ2UgdGhlIEJJT1MgdG8gT1ZNRi5cbiI7CiAgICAgfQogCi0gICAgbXkg JHNldl9tZW1fb2JqZWN0ID0gJ3Nldi1ndWVzdCxpZD1zZXYwJzsKLSAgICAkc2V2X21lbV9vYmpl Y3QgLj0gJyxjYml0cG9zPScuJHNldl9od19jYXBzLT57Y2JpdHBvc307Ci0gICAgJHNldl9tZW1f b2JqZWN0IC49ICcscmVkdWNlZC1waHlzLWJpdHM9Jy4kc2V2X2h3X2NhcHMtPnsncmVkdWNlZC1w aHlzLWJpdHMnfTsKKyAgICBteSAkc2V2X21lbV9vYmplY3QgPSAnJzsKKyAgICBteSAkcG9saWN5 OworICAgIGlmICgkYW1kX3Nldl9jb25mLT57dHlwZX0gZXEgJ2VzJyB8fCAkYW1kX3Nldl9jb25m LT57dHlwZX0gZXEgJ3N0ZCcpIHsKKyAgICAJJHNldl9tZW1fb2JqZWN0IC49ICdzZXYtZ3Vlc3Qs aWQ9c2V2MCc7CisgICAgCSRzZXZfbWVtX29iamVjdCAuPSAnLGNiaXRwb3M9Jy4kc2V2X2h3X2Nh cHMtPntjYml0cG9zfTsKKyAgICAJJHNldl9tZW1fb2JqZWN0IC49ICcscmVkdWNlZC1waHlzLWJp dHM9Jy4kc2V2X2h3X2NhcHMtPnsncmVkdWNlZC1waHlzLWJpdHMnfTsKKworICAgIAkjIGd1ZXN0 IHBvbGljeSBiaXQgY2FsY3VsYXRpb24gYXMgZGVzY3JpYmVkIGhlcmU6CisgICAgCSMgaHR0cHM6 Ly9kb2N1bWVudGF0aW9uLnN1c2UuY29tL3NsZXMvMTUtU1A1L2h0bWwvU0xFUy1hbWQtc2V2L2Fy dGljbGUtYW1kLXNldi5odG1sI3RhYmxlLWd1ZXN0cG9saWN5CisgICAgCSRwb2xpY3kgPSAwYjAw MDA7CisgICAgCSRwb2xpY3kgKz0gMGIwMDAxIGlmICRhbWRfc2V2X2NvbmYtPnsnbm8tZGVidWcn fTsKKyAgICAJJHBvbGljeSArPSAwYjAwMTAgaWYgJGFtZF9zZXZfY29uZi0+eyduby1rZXktc2hh cmluZyd9OworICAgIAkkcG9saWN5ICs9IDBiMDEwMCBpZiAkYW1kX3Nldl9jb25mLT57dHlwZX0g ZXEgJ2VzJzsKKyAgICAJIyBkaXNhYmxlIG1pZ3JhdGlvbiB3aXRoIGJpdCAzIG5vc2VuZCB0byBw cmV2ZW50IGFtZC1zZXYtbWlncmF0aW9uLWF0dGFjaworICAgIAkkcG9saWN5ICs9IDBiMTAwMDsK KyAgICB9IGVsc2lmICgkYW1kX3Nldl9jb25mLT57dHlwZX0gZXEgJ3NucCcpIHsKKyAgICAJJHNl dl9tZW1fb2JqZWN0IC49ICdzZXYtc25wLWd1ZXN0LGlkPXNldjAnOworICAgIAkkc2V2X21lbV9v YmplY3QgLj0gJyxjYml0cG9zPScuJHNldl9od19jYXBzLT57Y2JpdHBvc307CisgICAgCSRzZXZf bWVtX29iamVjdCAuPSAnLHJlZHVjZWQtcGh5cy1iaXRzPScuJHNldl9od19jYXBzLT57J3JlZHVj ZWQtcGh5cy1iaXRzJ307CisKKyAgICAJIyBndWVzdCBwb2xpY3kgYml0IGNhbGN1bGF0aW9uIGFz IGRlc2NyaWJlZCBoZXJlOgorICAgIAkjIGh0dHBzOi8vbGlidmlydC5vcmcvZm9ybWF0ZG9tYWlu Lmh0bWwjaWQxMjEKKyAgICAJJHBvbGljeSA9IDB4MjAwMDA7CisgICAgCSRwb2xpY3kgKz0gMHg4 MDAwMCBpZiAkYW1kX3Nldl9jb25mLT57J25vLWRlYnVnJ307CisgICAgCSRwb2xpY3kgKz0gMHgx MDAwMCBpZiAkYW1kX3Nldl9jb25mLT57J2FsbG93LXNtdCd9OworICAgIH0KIAotICAgICMgZ3Vl c3QgcG9saWN5IGJpdCBjYWxjdWxhdGlvbiBhcyBkZXNjcmliZWQgaGVyZToKLSAgICAjIGh0dHBz Oi8vZG9jdW1lbnRhdGlvbi5zdXNlLmNvbS9zbGVzLzE1LVNQNS9odG1sL1NMRVMtYW1kLXNldi9h cnRpY2xlLWFtZC1zZXYuaHRtbCN0YWJsZS1ndWVzdHBvbGljeQotICAgIG15ICRwb2xpY3kgPSAw YjAwMDA7Ci0gICAgJHBvbGljeSArPSAwYjAwMDEgaWYgJGFtZF9zZXZfY29uZi0+eyduby1kZWJ1 Zyd9OwotICAgICRwb2xpY3kgKz0gMGIwMDEwIGlmICRhbWRfc2V2X2NvbmYtPnsnbm8ta2V5LXNo YXJpbmcnfTsKLSAgICAkcG9saWN5ICs9IDBiMDEwMCBpZiAkYW1kX3Nldl9jb25mLT57dHlwZX0g ZXEgJ2VzJzsKLSAgICAjIGRpc2FibGUgbWlncmF0aW9uIHdpdGggYml0IDMgbm9zZW5kIHRvIHBy ZXZlbnQgYW1kLXNldi1taWdyYXRpb24tYXR0YWNrCi0gICAgJHBvbGljeSArPSAwYjEwMDA7CiAK ICAgICAkc2V2X21lbV9vYmplY3QgLj0gJyxwb2xpY3k9Jy5zcHJpbnRmKCIlI3giLCAkcG9saWN5 KTsKICAgICAkc2V2X21lbV9vYmplY3QgLj0gJyxrZXJuZWwtaGFzaGVzPW9uJyBpZiAoJGFtZF9z ZXZfY29uZi0+eydrZXJuZWwtaGFzaGVzJ30pOwotLSAKMi4zOS41CgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHZlLWRldmVsIG1haWxpbmcgbGlzdApw dmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2kt YmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsCg==