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 6A43D1FF37F for ; Thu, 18 Apr 2024 12:39:54 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2B63F1AB88; Thu, 18 Apr 2024 12:39:54 +0200 (CEST) Message-ID: <51c20d71-ea7c-43ad-9e4f-0cd4269c031d@proxmox.com> Date: Thu, 18 Apr 2024 12:39:19 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta To: Proxmox VE development discussion , Markus Frank References: <20240418082517.277686-1-m.frank@proxmox.com> Content-Language: en-GB, de-AT From: Thomas Lamprecht Autocrypt: addr=t.lamprecht@proxmox.com; keydata= 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 DrEx In-Reply-To: <20240418082517.277686-1-m.frank@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.056 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 SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [qemu.pm, qemuserver.pm, wikipedia.org] Subject: Re: [pve-devel] [PATCH qemu-server v4 1/2] config: QEMU AMD SEV enable 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" QW0gMTgvMDQvMjAyNCB1bSAxMDoyNSBzY2hyaWViIE1hcmt1cyBGcmFuazoKPiBUaGlzIHBhdGNo IGlzIGZvciBlbmFibGluZyBBTUQgU0VWIChTZWN1cmUgRW5jcnlwdGVkCj4gVmlydHVhbGl6YXRp b24pIHN1cHBvcnQgaW4gUUVNVS4KPiAKPiBWTS1Db25maWctRXhhbXBsZXM6Cj4gYW1kX3Nldjog dHlwZT1zdGQsbm9kYmc9MSxub2tzPTEKPiBhbWRfc2V2OiBlcyxub2RiZz0xLGtlcm5lbC1oYXNo ZXM9MQo+IAo+IE5vZGUtQ29uZmlnLUV4YW1wbGUgKGdldHMgZ2VuZXJhdGVkIGF1dG9tYXRpY2Fs bHkpOgo+IGFtZF9zZXY6IGNiaXRwb3M9NDcscmVkdWNlZC1waHlzLWJpb3M9MQo+IAo+IGtlcm5l bC1oYXNoZXMsIHJlZHVjZWQtcGh5cy1iaW9zICYgY2JpdHBvcyBjb3JyZXNwb25kIHRvIHRoZSB2 YXJpYmxlcwo+IHdpdGggdGhlIHNhbWUgbmFtZSBpbiBxZW11Lgo+IAo+IGtlcm5lbC1oYXNoZXM9 MSBhZGRzIGtlcm5lbC1oYXNoZXMgdG8gZW5hYmxlIG1lYXN1cmVkIGxpbnV4IGtlcm5lbAo+IGxh dW5jaCBzaW5jZSBpdCBpcyBwZXIgZGVmYXVsdCBvZmYgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxp dHkuCj4gCj4gcmVkdWNlZC1waHlzLWJpb3MgYW5kIGNiaXRwb3MgYXJlIHN5c3RlbSBzcGVjaWZp YyBhbmQgY2FuIGJlIHJlYWQgb3V0Cj4gd2l0aCBRTVAuIElmIG5vdCBzZXQgYnkgdGhlIHVzZXIs IGEgZHVtbXktdm0gZ2V0cyBzdGFydGVkIHRvIHJlYWQgUU1QCj4gZm9yIHRoZXNlIHZhcmlhYmxl cyBvdXQgYW5kIHNhdmUgdGhlbSB0byB0aGUgbm9kZSBjb25maWcuCj4gQWZ0ZXJ3YXJkcyB0aGUg ZHVtbXktdm0gZ2V0cyBzdG9wcGVkLgo+IAo+IHR5cGU9c3RkIHN0YW5kcyBmb3Igc3RhbmRhcmQg c2V2IHRvIGRpZmZlcmVudGlhdGUgaXQgZnJvbSBzZXYtZXMgKGVzKQo+IG9yIHNldi1zbnAgKHNu cCkgd2hlbiBzdXBwb3J0IGlzIHVwc3RyZWFtLgo+IAo+IFFFTVUncyBzZXYtZ3Vlc3QgcG9saWN5 IGdldHMgY2FsY3VsYXRlZCB3aXRoIHRoZSBwYXJhbWV0ZXJzIG5vZGJnICYgbm9rcwo+IFRoZXNl IHBhcmFtZXRlcnMgY29ycmVzcG9uZCB0byBwb2xpY3ktYml0cyAwICYgMS4KPiBJZiB0eXBlIGlz ICdlcycgdGhhbiBwb2xpY3ktYml0IDIgZ2V0cyBzZXQgdG8gMSB0byBhY3RpdmF0ZSBTRVYtRVMu Cj4gUG9saWN5IGJpdCAzIChub3NlbmQpIGlzIGFsd2F5cyBzZXQgdG8gMSwgYmVjYXVzZSBtaWdy YXRpb24KPiBmZWF0dXJlcyBmb3Igc2V2IGFyZSBub3QgdXBzdHJlYW0geWV0IGFuZCBhcmUgYXR0 YWNrYWJsZS4KPiAKPiBTRVYtRVMgaXMgdmVyeSBleHBlcmltZW50YWwgc2luY2UgaXQgY291bGQg bm90IGJlIHRlc3RlZC4KPiAKPiBzZWUgY29oZXJlbnQgZG9jIHBhdGNoCj4gCj4gU2lnbmVkLW9m Zi1ieTogTWFya3VzIEZyYW5rIDxtLmZyYW5rQHByb3htb3guY29tPgo+IC0tLQo+IHY0OiAKPiAq IHJlZHVjZWQgbGluZXMgb2YgY29kZQo+ICogYWRkZWQgdGV4dCB0aGF0IFNFVi1FUyBpcyBleHBl cmltZW50YWwKPiAKPiAgUFZFL0FQSTIvUWVtdS5wbSAgfCAgMTAgKysrKwo+ICBQVkUvUWVtdVNl cnZlci5wbSB8IDExNyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCj4gIDIgZmlsZXMgY2hhbmdlZCwgMTI3IGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0 IGEvUFZFL0FQSTIvUWVtdS5wbSBiL1BWRS9BUEkyL1FlbXUucG0KPiBpbmRleCA0OTc5ODdmLi4y M2QzY2Q3IDEwMDY0NAo+IC0tLSBhL1BWRS9BUEkyL1FlbXUucG0KPiArKysgYi9QVkUvQVBJMi9R ZW11LnBtCj4gQEAgLTQ2MTYsNiArNDYxNiwxMCBAQCBfX1BBQ0tBR0VfXy0+cmVnaXN0ZXJfbWV0 aG9kKHsKPiAgCSMgdGVzdCBpZiBWTSBleGlzdHMKPiAgCW15ICRjb25mID0gUFZFOjpRZW11Q29u ZmlnLT5sb2FkX2NvbmZpZygkdm1pZCk7Cj4gIAo+ICsJaWYgKCRjb25mLT57YW1kX3Nldn0pIHsK PiArCSAgICBkaWUgIkFNRCBTRVYgZG9lcyBub3Qgc3VwcG9ydCBtaWdyYXRpb25cbiI7Cj4gKwl9 Cj4gKwo+ICAJIyB0cnkgdG8gZGV0ZWN0IGVycm9ycyBlYXJseQo+ICAKPiAgCVBWRTo6UWVtdUNv bmZpZy0+Y2hlY2tfbG9jaygkY29uZik7Cj4gQEAgLTUxNzAsNiArNTE3NCwxMiBAQCBfX1BBQ0tB R0VfXy0+cmVnaXN0ZXJfbWV0aG9kKHsKPiAgCWRpZSAidW5hYmxlIHRvIHVzZSBzbmFwc2hvdCBu YW1lICdwZW5kaW5nJyAocmVzZXJ2ZWQgbmFtZSlcbiIKPiAgCSAgICBpZiBsYygkc25hcG5hbWUp IGVxICdwZW5kaW5nJzsKPiAgCj4gKwlteSAkY29uZiA9IFBWRTo6UWVtdUNvbmZpZy0+bG9hZF9j b25maWcoJHZtaWQpOwo+ICsKPiArCWlmICgkY29uZi0+e2FtZF9zZXZ9KSB7Cj4gKwkgICAgZGll ICJBTUQgU0VWIGRvZXMgbm90IHN1cHBvcnQgc25hcHNob3RzXG4iCj4gKwl9Cj4gKwo+ICAJbXkg JHJlYWxjbWQgPSBzdWIgewo+ICAJICAgIFBWRTo6Q2x1c3Rlcjo6bG9nX21zZygnaW5mbycsICRh dXRodXNlciwgInNuYXBzaG90IFZNICR2bWlkOiAkc25hcG5hbWUiKTsKPiAgCSAgICBQVkU6OlFl bXVDb25maWctPnNuYXBzaG90X2NyZWF0ZSgkdm1pZCwgJHNuYXBuYW1lLCAkcGFyYW0tPnt2bXN0 YXRlfSwKPiBkaWZmIC0tZ2l0IGEvUFZFL1FlbXVTZXJ2ZXIucG0gYi9QVkUvUWVtdVNlcnZlci5w bQo+IGluZGV4IDZlMmM4MDUuLmNhMjZmYzUgMTAwNjQ0Cj4gLS0tIGEvUFZFL1FlbXVTZXJ2ZXIu cG0KPiArKysgYi9QVkUvUWVtdVNlcnZlci5wbQo+IEBAIC02MSw2ICs2MSw3IEBAIHVzZSBQVkU6 OlFlbXVTZXJ2ZXI6Ok1vbml0b3IgcXcobW9uX2NtZCk7Cj4gIHVzZSBQVkU6OlFlbXVTZXJ2ZXI6 OlBDSSBxdyhwcmludF9wY2lfYWRkciBwcmludF9wY2llX2FkZHIgcHJpbnRfcGNpZV9yb290X3Bv cnQgcGFyc2VfaG9zdHBjaSk7Cj4gIHVzZSBQVkU6OlFlbXVTZXJ2ZXI6OlFNUEhlbHBlcnMgcXco cWVtdV9kZXZpY2VhZGQgcWVtdV9kZXZpY2VkZWwgcWVtdV9vYmplY3RhZGQgcWVtdV9vYmplY3Rk ZWwpOwo+ICB1c2UgUFZFOjpRZW11U2VydmVyOjpVU0I7Cj4gK3VzZSBQVkU6Ok5vZGVDb25maWc7 Cgp0aGlzIGlzIGZyb20gcHZlLW1hbmFnZXIgYW5kIGFkZHMgYSBjeWNsaWMgZGVwZW5kZW5jeQoK PiAgCj4gIG15ICRoYXZlX3NkbjsKPiAgZXZhbCB7Cj4gQEAgLTE4NSw2ICsxODYsNTkgQEAgbXkg JGFnZW50X2ZtdCA9IHsKPiAgICAgIH0sCj4gIH07Cj4gIAo+ICtteSAkc2V2X2ZtdCA9IHsKPiAr ICAgIHR5cGUgPT4gewo+ICsJZGVzY3JpcHRpb24gPT4gIkVuYWJsZSBzdGFuZGFyZCBTRVYgd2l0 aCB0eXBlPSdzdGQnIG9yIGVuYWJsZSBleHBlcmltZW50YWwgU0VWLUVTIgo+ICsJLiIgd2l0aCB0 aGUgJ2VzJyBvcHRpb24uIiwKPiArCXR5cGUgPT4gJ3N0cmluZycsCj4gKwlkZWZhdWx0X2tleSA9 PiAxLAo+ICsJZm9ybWF0X2Rlc2NyaXB0aW9uID0+ICJxZW11LXNldi10eXBlIiwKPiArCWVudW0g PT4gWydzdGQnLCAnZXMnXSwKPiArCW1heExlbmd0aCA9PiAzLAo+ICsgICAgfSwKPiArICAgIG5v ZGJnID0+IHsKPiArCWRlc2NyaXB0aW9uID0+ICJTZXRzIHBvbGljeSBiaXQgMCB0byAxIHRvIGRp c2FsbG93IGRlYnVnZ2luZyBvZiBndWVzdCIsCj4gKwl0eXBlID0+ICdib29sZWFuJywKPiArCWZv cm1hdF9kZXNjcmlwdGlvbiA9PiAicWVtdS1zZXYtbm9kYmciLAo+ICsJZGVmYXVsdCA9PiAwLAo+ ICsJb3B0aW9uYWwgPT4gMSwKPiArICAgIH0sCj4gKyAgICBub2tzID0+IHsKPiArCWRlc2NyaXB0 aW9uID0+ICJTZXRzIHBvbGljeSBiaXQgMSB0byAxIHRvIGRpc2FsbG93IGtleSBzaGFyaW5nIHdp dGggb3RoZXIgZ3Vlc3RzIiwKPiArCXR5cGUgPT4gJ2Jvb2xlYW4nLAo+ICsJZm9ybWF0X2Rlc2Ny aXB0aW9uID0+ICJxZW11LXNldi1ub2tzIiwKPiArCWRlZmF1bHQgPT4gMCwKPiArCW9wdGlvbmFs ID0+IDEsCj4gKyAgICB9LAo+ICsgICAgImtlcm5lbC1oYXNoZXMiID0+IHsKPiArCWRlc2NyaXB0 aW9uID0+ICJBZGQga2VybmVsIGhhc2hlcyB0byBndWVzdCBmaXJtd2FyZSBmb3IgbWVhc3VyZWQg bGludXgga2VybmVsIGxhdW5jaCIsCj4gKwl0eXBlID0+ICdib29sZWFuJywKPiArCWZvcm1hdF9k ZXNjcmlwdGlvbiA9PiAicWVtdS1zZXYta2VybmVsLWhhc2hlcyIsCj4gKwlkZWZhdWx0ID0+IDAs Cj4gKwlvcHRpb25hbCA9PiAxLAo+ICsgICAgfSwKPiArfTsKPiArUFZFOjpKU09OU2NoZW1hOjpy ZWdpc3Rlcl9mb3JtYXQoJ3B2ZS1xZW11LXNldi1mbXQnLCAkc2V2X2ZtdCk7Cj4gKwo+ICtteSAk c2V2X25vZGVfZm10ID0gewo+ICsgICAgY2JpdHBvcyA9PiB7Cj4gKwlkZXNjcmlwdGlvbiA9PiAi Qy1iaXQ6IG1hcmtzIGlmIGEgbWVtb3J5IHBhZ2UgaXMgcHJvdGVjdGVkLiBTeXN0ZW0gZGVwZW5k ZW50IiwKPiArCXR5cGUgPT4gJ2ludGVnZXInLAo+ICsJZGVmYXVsdCA9PiA0NywKPiArCW9wdGlv bmFsID0+IDEsCj4gKwltaW5pbXVtID0+IDAsCj4gKwltYXhpbXVtID0+IDEwMCwKPiArICAgIH0s Cj4gKyAgICAncmVkdWNlZC1waHlzLWJpdHMnID0+IHsKPiArCWRlc2NyaXB0aW9uID0+ICJOdW1i ZXIgb2YgYml0cyB0aGUgcGh5c2ljYWwgYWRkcmVzcyBzcGFjZSBpcyByZWR1Y2VkIGJ5LiBTeXN0 ZW0gZGVwZW5kZW50IiwKPiArCXR5cGUgPT4gJ2ludGVnZXInLAo+ICsJZGVmYXVsdCA9PiAxLAo+ ICsJb3B0aW9uYWwgPT4gMSwKPiArCW1pbmltdW0gPT4gMCwKPiArCW1heGltdW0gPT4gMTAwLAo+ ICsgICAgfSwKPiArfTsKCmV2ZW4gaWYgaXQgd2FzIE9LIHRvIHVzZSBQVkU6Ok5vZGVDb25maWcg aGVyZSwgd2hpY2ggY3VycmVudGx5IGl0IGlzbid0IGR1ZSB0bwp0aGUgY3ljbGljIGRlcGVuZGVu Y3kgYXMgbWVudGlvbmVkIGFib3ZlLCBhYm92ZSBmb3JtYXQgc2hvdWxkIGxpdmUgdGhlbiBpbgpO b2RlQ29uZmlnLCBhcyBpdCdzIHJhdGhlciB1Z2x5IHRvIGhhdmUgdGhpcyBhdCBhIGNvbXBsZXRl bHkgZGlmZmVyZW50LCBhbmQKdW5yZWxhdGVkLCBzb3VyY2UgY29kZSBsb2NhdGlvbiB0aGFuIHRo ZSBhY3R1YWwgcmVzdCBvZiB0aGUgY29uZmlnLi4KCkluIHRoZSBtaWQtdGVybSB3ZSBjb3VsZCBz cGxpdCBvdXQgdGhlIG5vZGUgc3BlY2lmaWMgbWFuYWdlbWVudCBmcm9tIHB2ZS1tYW5hZ2VyCmlu dG8gYW4gaW1wbGVtZW50YXRpb24gKGFuZCBwb3NzaWJsZSBhbHNvIGEgc2VwYXJhdGUgYXBpKSBw YWNrYWdlIHdoaWNoIGNvdWxkIGJlCnBsYWNlZCBoaWdoZXIgdXAgb3VyIGRlcGVuZGVuY3kgc3Rh Y2ssIGFuZCB0aGVuIGNvdWxkIGJlIHVzZWQgaGVyZSB0b28uCgpCdXQgdGhhdCdzIGEgc2lnbmlm aWNhbnQgYW1vdW50IG9mIHdvcmssIGF0IGxlYXN0IGlmIGl0IHNob3VsZCBiZSBkb25lIHNvbWV3 aGF0CnJpZ2h0IGFuZCBhbHNvIGZvbGxvdyB0aGUgcmF0LXRhaWxzIG9mIG90aGVyIGNsZWFudS1w cyAobGlrZSBzcGxpdHRpbmcgQUNNRQpwbHVnaW4gY29uZmlnIG91dCBmcm9tIHRoZSBBUEkgc3Bl Y2lmaWMgcGVybCBtb2R1bGUgaW50byBhIG5vbi1BUEkgc3BlY2lmaWMgb25lKS4KCkFueWhvdywg c29tZSBwb3RlbnRpYWwgYWx0ZXJuYXRpdmUgd2l0aG91dCBhbnkgY29uZmlnIChmb3Igbm93KSBm dXRoZXIgYmVsb3cKaW4gZ2V0X3Nldl9wYXJhbWV0ZXJzX2Zyb21fbm9kZS4KCj4gKwo+ICBteSAk dmdhX2ZtdCA9IHsKPiAgICAgIHR5cGUgPT4gewo+ICAJZGVzY3JpcHRpb24gPT4gIlNlbGVjdCB0 aGUgVkdBIHR5cGUuIiwKPiBAQCAtMzY2LDYgKzQyMCwxMiBAQCBteSAkY29uZmRlc2MgPSB7Cj4g IAlkZXNjcmlwdGlvbiA9PiAiTWVtb3J5IHByb3BlcnRpZXMuIiwKPiAgCWZvcm1hdCA9PiAkUFZF OjpRZW11U2VydmVyOjpNZW1vcnk6Om1lbW9yeV9mbXQKPiAgICAgIH0sCj4gKyAgICBhbWRfc2V2 ID0+IHsKPiArCWRlc2NyaXB0aW9uID0+ICJTZWN1cmUgRW5jcnlwdGVkIFZpcnR1YWxpemF0aW9u IChTRVYpIGZlYXR1cmVzIGJ5IEFNRCBDUFVzIiwKPiArCW9wdGlvbmFsID0+IDEsCj4gKwlmb3Jt YXQgPT4gJ3B2ZS1xZW11LXNldi1mbXQnLAo+ICsJdHlwZSA9PiAnc3RyaW5nJywKPiArICAgIH0s Cj4gICAgICBiYWxsb29uID0+IHsKPiAgCW9wdGlvbmFsID0+IDEsCj4gIAl0eXBlID0+ICdpbnRl Z2VyJywKPiBAQCAtNDA4NCw2ICs0MTQ0LDI2IEBAIHN1YiBjb25maWdfdG9fY29tbWFuZCB7Cj4g ICAgICB9Cj4gICAgICBwdXNoIEAkbWFjaGluZUZsYWdzLCAidHlwZT0ke21hY2hpbmVfdHlwZV9t aW59IjsKPiAgCj4gKyAgICBpZiAoJGNvbmYtPnthbWRfc2V2fSkgewo+ICsJaWYgKCRjb25mLT57 Ymlvc30gJiYgJGNvbmYtPntiaW9zfSBuZSAnb3ZtZicpIHsKPiArCSAgICBkaWUgIkZvciB1c2lu ZyBTRVYgeW91IG5lZWQgdG8gY2hhbmdlIHlvdXIgZ3Vlc3QgYmlvcyB0byBvdm1mLlxuIjsKPiAr CX0KPiArCW15ICRhbWRfc2V2X2NvbmYgPSBwYXJzZV9wcm9wZXJ0eV9zdHJpbmcoJHNldl9mbXQs ICRjb25mLT57YW1kX3Nldn0pOwo+ICsJbXkgJG5vZGVfY29uZmlnID0gZ2V0X3Nldl9wYXJhbWV0 ZXJzX2Zyb21fbm9kZSgkbm9kZW5hbWUsICRhcmNoKTsKPiArCW15ICRtZW1vYmpjbWQgPSAnc2V2 LWd1ZXN0LGlkPXNldjAsY2JpdHBvcz0nLiRub2RlX2NvbmZpZy0+e2NiaXRwb3N9Cj4gKwkgICAg LicscmVkdWNlZC1waHlzLWJpdHM9Jy4kbm9kZV9jb25maWctPnsncmVkdWNlZC1waHlzLWJpdHMn fTsKCmluZWVkc29tZXNlcGFyYXRvcnN0b3JlYWRjb2RlYW5kdmFyaWFibGVzd2l0aG91dHdhc3Rp bmdtZW50YWxlbmVyZ3lwbGVhc2UhCgpBcyB5b3Ugc2VlLCBpdCdzIG5vdCBlYXN5IHRvIHJlYWQg c3VjaCB0aGluZ3MgaWYgb25lIGlzbid0IGFscmVhZHkgYWNjdXN0b21lZAp0byB0aGUgY29kZSwg ZS5nLiwgYmVjYXVzZSB0aGV5IHdyb3RlIGl0IHRoZW1zZWx2ZXMsIHNvIHVzZSBzb21ldGhpbmcg bGlrZQokc2V2X21lbV9vYmplY3QgaGVyZSAoaXQgaXNuJ3QgcmVhbGx5IGEgY29tbWFuZCBvbiBp dHMgb3duIGFmdGVyIGFsbCkuCgo+ICsJbXkgJHBvbGljeSA9IDBiMDsKPiArCSRwb2xpY3kgKz0g MGIxIGlmICgkYW1kX3Nldl9jb25mLT57bm9kYmd9KTsKPiArCSRwb2xpY3kgKz0gMGIxMCBpZiAo JGFtZF9zZXZfY29uZi0+e25va3N9KTsKPiArCSRwb2xpY3kgKz0gMGIxMDAgaWYgKCRhbWRfc2V2 X2NvbmYtPnt0eXBlfSBlcSAnZXMnKTsKPiArCSMgZGlzYWJsZSBtaWdyYXRpb24gd2l0aCBiaXQg MyBub3NlbmQgdG8gcHJldmVudCBhbWQtc2V2LW1pZ3JhdGlvbi1hdHRhY2sKPiArCSRwb2xpY3kg Kz0gMGIxMDAwOwo+ICsJJG1lbW9iamNtZCAuPSAnLHBvbGljeT0nLnNwcmludGYoIiUjeCIsICRw b2xpY3kpOwo+ICsJJG1lbW9iamNtZCAuPSAnLGtlcm5lbC1oYXNoZXM9b24nIGlmICgkYW1kX3Nl dl9jb25mLT57J2tlcm5lbC1oYXNoZXMnfSk7Cj4gKwlwdXNoIEAkZGV2aWNlcywgJy1vYmplY3Qn ICwgJG1lbW9iamNtZDsKPiArCXB1c2ggQCRtYWNoaW5lRmxhZ3MsICdjb25maWRlbnRpYWwtZ3Vl c3Qtc3VwcG9ydD1zZXYwJzsKPiArICAgIH0KPiArCj4gICAgICBwdXNoIEAkY21kLCBAJGRldmlj ZXM7Cj4gICAgICBwdXNoIEAkY21kLCAnLXJ0YycsIGpvaW4oJywnLCBAJHJ0Y0ZsYWdzKSBpZiBz Y2FsYXIoQCRydGNGbGFncyk7Cj4gICAgICBwdXNoIEAkY21kLCAnLW1hY2hpbmUnLCBqb2luKCcs JywgQCRtYWNoaW5lRmxhZ3MpIGlmIHNjYWxhcihAJG1hY2hpbmVGbGFncyk7Cj4gQEAgLTQxMjcs NiArNDIwNyw0MyBAQCBzdWIgY2hlY2tfcm5nX3NvdXJjZSB7Cj4gICAgICB9Cj4gIH0KPiAgCj4g K3N1YiBnZXRfc2V2X3BhcmFtZXRlcnNfZnJvbV9ub2RlIHsKPiArICAgIG15ICgkbm9kZW5hbWUs ICRhcmNoKSA9IEBfOwo+ICsgICAgIyBHZXQgcmVkdWNlZC1waHlzLWJpdHMgJiBjYml0cG9zIGZy b20gUU1QLCBpZiBub3Qgc2V0Cj4gKyAgICBteSAkbm9kZV9jb25maWcgPSBQVkU6Ok5vZGVDb25m aWc6OmxvYWRfY29uZmlnKCRub2RlbmFtZSk7Cj4gKyAgICBteSAkc2V2X25vZGVfY29uZmlnOwo+ ICsgICAgaWYgKCRub2RlX2NvbmZpZy0+e2FtZF9zZXZ9KSB7Cj4gKwkkc2V2X25vZGVfY29uZmln ID0gcGFyc2VfcHJvcGVydHlfc3RyaW5nKCRzZXZfbm9kZV9mbXQsICRub2RlX2NvbmZpZy0+e2Ft ZF9zZXZ9KTsKPiArICAgIH0KPiArICAgIGlmICgKPiArCSEkc2V2X25vZGVfY29uZmlnLT57J3Jl ZHVjZWQtcGh5cy1iaXRzJ30KPiArCXx8ICEkc2V2X25vZGVfY29uZmlnLT57Y2JpdHBvc30KPiAr ICAgICkgewo+ICsJbXkgJGZha2V2bWlkID0gLTE7Cj4gKwlteSAkcWVtdV9jbWQgPSBnZXRfY29t bWFuZF9mb3JfYXJjaCgkYXJjaCk7Cj4gKwlteSAkcGlkZmlsZSA9IFBWRTo6UWVtdVNlcnZlcjo6 SGVscGVyczo6cGlkZmlsZV9uYW1lKCRmYWtldm1pZCk7Cj4gKwlteSAkZGVmYXVsdF9tYWNoaW5l ID0gJGRlZmF1bHRfbWFjaGluZXMtPnskYXJjaH07Cj4gKwlteSAkY21kID0gWwo+ICsJICAgICRx ZW11X2NtZCwKPiArCSAgICAnLW1hY2hpbmUnLCAkZGVmYXVsdF9tYWNoaW5lLAo+ICsJICAgICct ZGlzcGxheScsICdub25lJywKPiArCSAgICAnLWNoYXJkZXYnLCAic29ja2V0LGlkPXFtcCxwYXRo PS92YXIvcnVuL3FlbXUtc2VydmVyLyRmYWtldm1pZC5xbXAsc2VydmVyPW9uLHdhaXQ9b2ZmIiwK PiArCSAgICAnLW1vbicsICdjaGFyZGV2PXFtcCxtb2RlPWNvbnRyb2wnLAo+ICsJICAgICctcGlk ZmlsZScsICRwaWRmaWxlLAo+ICsJICAgICctUycsICctZGFlbW9uaXplJwo+ICsJXTsKPiArCW15 ICRyYyA9IHJ1bl9jb21tYW5kKCRjbWQsIG5vZXJyID0+IDEsIHF1aWV0ID0+IDApOwo+ICsJZGll ICJRRU1VIGZsYWcgcXVlcnlpbmcgVk0gZXhpdGVkIHdpdGggY29kZSAiIC4gJHJjIC4gIlxuIiBp ZiAkcmM7CgpUaGlzIHNlZW1zIHJlbGF0aXZlbHkgZXhwZW5zaXZlIGZvciB0aGF0IGl0IHNlZW1z IHRvIG5vdCBjaGFuZ2UgYXQgYWxsIGZvciBhCnNwZWNpZmljIEhXLCBvciBhdCBsZWFzdCBhIHNw ZWNpZmljIGJvb3Q/CgpTbyB0aGlzIHNob3VsZCBiZSByYXRoZXI6Ci0gZG9uZSBvbmNlIGFuZCBj YWNoZWQsIGF0IGxlYXN0IGluLW1lbW9yeSAobW9kdWxlIHdpZGUgdmFyaWFibGUpIGhlcmUgb3IK ICBldmVuIGluIHNvbWUgZmlsZSBpbiBydW4gKGUuZy4sIHdyaXR0ZW4gYXQgYm9vdCkuCi0gYXZv aWQgc3RhcnRpbmcgYSBWTSBqdXN0IGZvciB0aGlzLCBhcyB5b3Ugb25seSBuZWVkIGEgc21hbGwg c3Vic2V0IG9mCiAgdmFsdWVzIHJldHVybmVkIGJ5IHNldl9nZXRfY2FwYWJpbGl0aWVzLiBPbmUg aXMgcmVkdWNlZF9waHlzX2JpdHMsIHdoaWNoCiAgaXMgaGFyZC1jb2RlZCB0byAxIGlmIFNFViBp cyBzdXBwb3J0ZWQgKHdoaWNoIHdlIGRvIG5vdCByZWFsbHkgaGF2ZSB0byBjYXJlCiAgaGVyZSBh dCB0aGlzIG1vbWVudCkuIFRoZSBzZWNvbmQgaXMgY2JpdHBvcywgd2hpY2ggY2FuIGJlIGRldGVy bWluZWQgYnkKICBhIGNwdWlkIGNhbGwsIHdoaWNoIGlzIHRyaXZpYWwgYXNzZW1ibHkgKGJ1dCBu b3QgdHJpdmlhbCB0byBkbyBkaXJlY3RseQogIGZyb20gcGVybCkuCgpTbywgSSdkIHByZWZlciBh IHRpbnkgQyBwcm9ncmFtIHRoYXQgZ2V0cyBleGVjdXRlZCBvbiBib290LCBjYWxscyBjcHVpZCBh bmQKd3JpdGVzIHRoZSByZXN1bHRpbmcgaW5mbyBpbnRvIHJ1biDigJMgaXQgd291bGQgYmUgZWFz eSB0byB0aHJvdyBpbiBpZiBTRVYsIFNFVi1FUywKLi4uIGlzIHN1cHBvcnRlZCBhbG9uZyB0aGUg d2F5LCBpLmUuIHNvbWV0aGluZyBsaWtlICh1bnRlc3RlZCk6CgoKYGBgCnVpbnQzMl90IGVheCwg ZWJ4LCBlY3gsIGVkeDsKCi8vIHF1ZXJ5IEVuY3J5cHRlZCBNZW1vcnkgQ2FwYWJpbGl0aWVzLCBz ZWU6Ci8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NQVUlEI0VBWD04MDAwMDAxRmg6 X0VuY3J5cHRlZF9NZW1vcnlfQ2FwYWJpbGl0aWVzCnVpbnQzMl90IHF1ZXJ5X2Z1bmN0aW9uID0g MHg4MDAwMDAxRjsKYXNtIHZvbGF0aWxlKCJjcHVpZCIgOiAiPWEiKGVheCksICI9YiIoZWJ4KSwg Ij1jIihlY3gpLCAiPWQiKGVkeCkgOiAiMCIocXVlcnlfZnVuY3Rpb24pOwoKYm9vbCBzZXZfc3Vw cG9ydCA9IChlYXggJiAoMTw8MSkpICE9IDA7CmJvb2wgc2V2X2VzX3N1cHBvcnQgPSAoZWF4ICYg KDE8PDMpKSAhPSAwOwpib29sIHNldl9zbnBfc3VwcG9ydCA9IChlYXggJiAoMTw8NCkpICE9IDA7 Cgp1aW50OF90IGNfYml0ID0gZWJ4ICYgMHgzZjsKCnByaW50Zigie1wiYy1iaXRcIjogJXUsIFwi c2V2XCI6ICVzLCAuLi59IiwgY19iaXQsIHNldl9zdXBwb3J0ID8gInRydWUiIDogImZhbHNlIi8q LCAuLi4qLyk7CgpgYGAKCkkgcHV0IGEgZnVsbC1mbGVkZ2VkIGV4YW1wbGUgb24gbXkgc3RhZmYg cmVwbyB1bmRlciBob3N0LWNwdS1jYXBhYmlsaXR5LWRldGVjdG9yLApJJ2Qga2VlcCBpbiBub3Qg dG8gZm9jdXNlZCBvbiBqdXN0IFNFViBhcyB0aGlzIGNvdWxkIGJlIHVzZWQgdG8gZGV0ZWN0IG90 aGVyCmNhcGFiaWxpdGllcyBhcyB3ZWxsLgoKCgo+ICsJbXkgJHJlcyA9IG1vbl9jbWQoJGZha2V2 bWlkLCAncXVlcnktc2V2LWNhcGFiaWxpdGllcycpOwo+ICsJdm1fc3RvcCh1bmRlZiwgJGZha2V2 bWlkLCAxLCAxLCAxMCwgMCwgMSk7Cj4gKwkkc2V2X25vZGVfY29uZmlnLT57J3JlZHVjZWQtcGh5 cy1iaXRzJ30gPSAkcmVzLT57J3JlZHVjZWQtcGh5cy1iaXRzJ307Cj4gKwkkc2V2X25vZGVfY29u ZmlnLT57Y2JpdHBvc30gPSAkcmVzLT57Y2JpdHBvc307Cj4gKwkkbm9kZV9jb25maWctPnthbWRf c2V2fSA9IFBWRTo6SlNPTlNjaGVtYTo6cHJpbnRfcHJvcGVydHlfc3RyaW5nKCRzZXZfbm9kZV9j b25maWcsICRzZXZfbm9kZV9mbXQpOwo+ICsJUFZFOjpOb2RlQ29uZmlnOjp3cml0ZV9jb25maWco JG5vZGVuYW1lLCAkbm9kZV9jb25maWcpOwoKeXVjaywgd3JpdGluZyBhbiB1bnJlbGF0ZWQgY29u ZmlnIHRvIGNhY2hlICg/ISkgc29tZSBIVyByZWxhdGVkIGluZm8gYXJlCm11bHRpcGxlIHRoaW5n cyB0aGF0IG9uZSBzaG91bGQgdHJ5IGhhcmQgdG8gYXZvaWQgZG9pbmchCgpBbmQgdG8gYmUgc3Vy ZSwgdGhlIG5vZGUgY29uZmlnIHRoZW4gd2FzIG5ldmVyIHVzZWQgYXMgYWN0dWFsIGNvbmZpZywg YnV0CnJlYWxseSBqdXN0IHRvIGNhY2hlIHRoZSBIVyBTRVYgY2FwYWJpbGl0aWVzPyBtZWguLgoK PiArICAgIH0KPiArICAgIHJldHVybiAkc2V2X25vZGVfY29uZmlnOwo+ICt9Cj4gKwo+ICBzdWIg c3BpY2VfcG9ydCB7Cj4gICAgICBteSAoJHZtaWQpID0gQF87Cj4gIAogCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHZlLWRldmVsIG1haWxpbmcgbGlz dApwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9j Z2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsCg==