From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 25C7B1FF185 for ; Mon, 7 Jul 2025 13:46:51 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 0432E31366; Mon, 7 Jul 2025 13:47:34 +0200 (CEST) Date: Mon, 07 Jul 2025 13:47:27 +0200 Message-Id: To: =?utf-8?q?Michael_K=C3=B6ppl?= From: "Christoph Heiss" Mime-Version: 1.0 X-Mailer: aerc 0.20.1 References: <20250626151119.255169-1-m.koeppl@proxmox.com> <20250626151119.255169-3-m.koeppl@proxmox.com> In-Reply-To: <20250626151119.255169-3-m.koeppl@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.030 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 Subject: Re: [pve-devel] [PATCH pve-installer v3 2/7] move RAID setup checks to RAID level enum implementations 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 Cc: 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" T24gVGh1IEp1biAyNiwgMjAyNSBhdCA1OjExIFBNIENFU1QsIE1pY2hhZWwgS8O2cHBsIHdyb3Rl OgpbLi5dCj4gZGlmZiAtLWdpdCBhL3Byb3htb3gtaW5zdGFsbGVyLWNvbW1vbi9zcmMvZGlza19j aGVja3MucnMgYi9wcm94bW94LWluc3RhbGxlci1jb21tb24vc3JjL2Rpc2tfY2hlY2tzLnJzCj4g aW5kZXggZWNjNDNiZC4uZDUzNTgzNyAxMDA2NDQKPiAtLS0gYS9wcm94bW94LWluc3RhbGxlci1j b21tb24vc3JjL2Rpc2tfY2hlY2tzLnJzCj4gKysrIGIvcHJveG1veC1pbnN0YWxsZXItY29tbW9u L3NyYy9kaXNrX2NoZWNrcy5ycwpbLi5dCj4gICNbY2ZnKHRlc3QpXQo+ICBtb2QgdGVzdHMgewo+ ICsgICAgdXNlIGNyYXRlOjpvcHRpb25zOjp7QnRyZnNSYWlkTGV2ZWwsIFpmc1JhaWRMZXZlbH07 Cj4gKwo+ICAgICAgdXNlIHN1cGVyOjoqOwo+Cj4gICAgICBmbiBkdW1teV9kaXNrKGluZGV4OiB1 c2l6ZSkgLT4gRGlzayB7Cj4gQEAgLTE5NCw1MCArMTEwLDM4IEBAIG1vZCB0ZXN0cyB7Cj4gICAg ICBmbiBidHJmc19yYWlkKCkgewo+ICAgICAgICAgIGxldCBkaXNrcyA9IGR1bW15X2Rpc2tzKDEw KTsKPgo+IC0gICAgICAgIGFzc2VydCEoY2hlY2tfYnRyZnNfcmFpZF9jb25maWcoQnRyZnNSYWlk TGV2ZWw6OlJhaWQwLCAmW10pLmlzX2VycigpKTsKPiAtICAgICAgICBhc3NlcnQhKGNoZWNrX2J0 cmZzX3JhaWRfY29uZmlnKEJ0cmZzUmFpZExldmVsOjpSYWlkMCwgJmRpc2tzWy4uMV0pLmlzX29r KCkpOwo+IC0gICAgICAgIGFzc2VydCEoY2hlY2tfYnRyZnNfcmFpZF9jb25maWcoQnRyZnNSYWlk TGV2ZWw6OlJhaWQwLCAmZGlza3MpLmlzX29rKCkpOwo+IC0KPiAtICAgICAgICBhc3NlcnQhKGNo ZWNrX2J0cmZzX3JhaWRfY29uZmlnKEJ0cmZzUmFpZExldmVsOjpSYWlkMSwgJltdKS5pc19lcnIo KSk7Cj4gLSAgICAgICAgYXNzZXJ0IShjaGVja19idHJmc19yYWlkX2NvbmZpZyhCdHJmc1JhaWRM ZXZlbDo6UmFpZDEsICZkaXNrc1suLjFdKS5pc19lcnIoKSk7Cj4gLSAgICAgICAgYXNzZXJ0IShj aGVja19idHJmc19yYWlkX2NvbmZpZyhCdHJmc1JhaWRMZXZlbDo6UmFpZDEsICZkaXNrc1suLjJd KS5pc19vaygpKTsKPiAtICAgICAgICBhc3NlcnQhKGNoZWNrX2J0cmZzX3JhaWRfY29uZmlnKEJ0 cmZzUmFpZExldmVsOjpSYWlkMSwgJmRpc2tzKS5pc19vaygpKTsKPiAtCj4gLSAgICAgICAgYXNz ZXJ0IShjaGVja19idHJmc19yYWlkX2NvbmZpZyhCdHJmc1JhaWRMZXZlbDo6UmFpZDEwLCAmW10p LmlzX2VycigpKTsKPiAtICAgICAgICBhc3NlcnQhKGNoZWNrX2J0cmZzX3JhaWRfY29uZmlnKEJ0 cmZzUmFpZExldmVsOjpSYWlkMTAsICZkaXNrc1suLjNdKS5pc19lcnIoKSk7Cj4gLSAgICAgICAg YXNzZXJ0IShjaGVja19idHJmc19yYWlkX2NvbmZpZyhCdHJmc1JhaWRMZXZlbDo6UmFpZDEwLCAm ZGlza3NbLi40XSkuaXNfb2soKSk7Cj4gLSAgICAgICAgYXNzZXJ0IShjaGVja19idHJmc19yYWlk X2NvbmZpZyhCdHJmc1JhaWRMZXZlbDo6UmFpZDEwLCAmZGlza3MpLmlzX29rKCkpOwo+ICsgICAg ICAgIGxldCBidHJmc19yYWlkX3ZhcmlhbnRzID0gWwo+ICsgICAgICAgICAgICBCdHJmc1JhaWRM ZXZlbDo6UmFpZDAsCj4gKyAgICAgICAgICAgIEJ0cmZzUmFpZExldmVsOjpSYWlkMSwKPiArICAg ICAgICAgICAgQnRyZnNSYWlkTGV2ZWw6OlJhaWQxMCwKPiArICAgICAgICBdOwo+ICsKPiArICAg ICAgICBmb3IgdiBpbiBidHJmc19yYWlkX3ZhcmlhbnRzIHsKPiArICAgICAgICAgICAgYXNzZXJ0 ISh2LmNoZWNrX2Rpc2tzKCZbXSkuaXNfZXJyKCkpOwo+ICsgICAgICAgICAgICBhc3NlcnQhKHYu Y2hlY2tfZGlza3MoJmRpc2tzWy4udi5nZXRfbWluX2Rpc2tzKCkgLSAxXSkuaXNfZXJyKCkpOwo+ ICsgICAgICAgICAgICBhc3NlcnQhKHYuY2hlY2tfZGlza3MoJmRpc2tzWy4udi5nZXRfbWluX2Rp c2tzKCldKS5pc19vaygpKTsKPiArICAgICAgICAgICAgYXNzZXJ0ISh2LmNoZWNrX2Rpc2tzKCZk aXNrcykuaXNfb2soKSk7Cj4gKyAgICAgICAgfQo+ICAgICAgfQo+Cj4gICAgICAjW3Rlc3RdCj4g ICAgICBmbiB6ZnNfcmFpZCgpIHsKPiAgICAgICAgICBsZXQgZGlza3MgPSBkdW1teV9kaXNrcygx MCk7Cj4KPiAtICAgICAgICBhc3NlcnQhKGNoZWNrX3pmc19yYWlkX2NvbmZpZyhaZnNSYWlkTGV2 ZWw6OlJhaWQwLCAmW10pLmlzX2VycigpKTsKPiAtICAgICAgICBhc3NlcnQhKGNoZWNrX3pmc19y YWlkX2NvbmZpZyhaZnNSYWlkTGV2ZWw6OlJhaWQwLCAmZGlza3NbLi4xXSkuaXNfb2soKSk7Cj4g LSAgICAgICAgYXNzZXJ0IShjaGVja196ZnNfcmFpZF9jb25maWcoWmZzUmFpZExldmVsOjpSYWlk MCwgJmRpc2tzKS5pc19vaygpKTsKPiAtCj4gLSAgICAgICAgYXNzZXJ0IShjaGVja196ZnNfcmFp ZF9jb25maWcoWmZzUmFpZExldmVsOjpSYWlkMSwgJltdKS5pc19lcnIoKSk7Cj4gLSAgICAgICAg YXNzZXJ0IShjaGVja196ZnNfcmFpZF9jb25maWcoWmZzUmFpZExldmVsOjpSYWlkMSwgJmRpc2tz Wy4uMl0pLmlzX29rKCkpOwo+IC0gICAgICAgIGFzc2VydCEoY2hlY2tfemZzX3JhaWRfY29uZmln KFpmc1JhaWRMZXZlbDo6UmFpZDEsICZkaXNrcykuaXNfb2soKSk7Cj4gLQo+IC0gICAgICAgIGFz c2VydCEoY2hlY2tfemZzX3JhaWRfY29uZmlnKFpmc1JhaWRMZXZlbDo6UmFpZDEwLCAmW10pLmlz X2VycigpKTsKPiAtICAgICAgICBhc3NlcnQhKGNoZWNrX3pmc19yYWlkX2NvbmZpZyhaZnNSYWlk TGV2ZWw6OlJhaWQxMCwgJmR1bW15X2Rpc2tzKDQpKS5pc19vaygpKTsKPiAtICAgICAgICBhc3Nl cnQhKGNoZWNrX3pmc19yYWlkX2NvbmZpZyhaZnNSYWlkTGV2ZWw6OlJhaWQxMCwgJmRpc2tzKS5p c19vaygpKTsKPiAtCj4gLSAgICAgICAgYXNzZXJ0IShjaGVja196ZnNfcmFpZF9jb25maWcoWmZz UmFpZExldmVsOjpSYWlkWiwgJltdKS5pc19lcnIoKSk7Cj4gLSAgICAgICAgYXNzZXJ0IShjaGVj a196ZnNfcmFpZF9jb25maWcoWmZzUmFpZExldmVsOjpSYWlkWiwgJmRpc2tzWy4uMl0pLmlzX2Vy cigpKTsKPiAtICAgICAgICBhc3NlcnQhKGNoZWNrX3pmc19yYWlkX2NvbmZpZyhaZnNSYWlkTGV2 ZWw6OlJhaWRaLCAmZGlza3NbLi4zXSkuaXNfb2soKSk7Cj4gLSAgICAgICAgYXNzZXJ0IShjaGVj a196ZnNfcmFpZF9jb25maWcoWmZzUmFpZExldmVsOjpSYWlkWiwgJmRpc2tzKS5pc19vaygpKTsK PiAtCj4gLSAgICAgICAgYXNzZXJ0IShjaGVja196ZnNfcmFpZF9jb25maWcoWmZzUmFpZExldmVs OjpSYWlkWjIsICZbXSkuaXNfZXJyKCkpOwo+IC0gICAgICAgIGFzc2VydCEoY2hlY2tfemZzX3Jh aWRfY29uZmlnKFpmc1JhaWRMZXZlbDo6UmFpZFoyLCAmZGlza3NbLi4zXSkuaXNfZXJyKCkpOwo+ IC0gICAgICAgIGFzc2VydCEoY2hlY2tfemZzX3JhaWRfY29uZmlnKFpmc1JhaWRMZXZlbDo6UmFp ZFoyLCAmZGlza3NbLi40XSkuaXNfb2soKSk7Cj4gLSAgICAgICAgYXNzZXJ0IShjaGVja196ZnNf cmFpZF9jb25maWcoWmZzUmFpZExldmVsOjpSYWlkWjIsICZkaXNrcykuaXNfb2soKSk7Cj4gLQo+ IC0gICAgICAgIGFzc2VydCEoY2hlY2tfemZzX3JhaWRfY29uZmlnKFpmc1JhaWRMZXZlbDo6UmFp ZFozLCAmW10pLmlzX2VycigpKTsKPiAtICAgICAgICBhc3NlcnQhKGNoZWNrX3pmc19yYWlkX2Nv bmZpZyhaZnNSYWlkTGV2ZWw6OlJhaWRaMywgJmRpc2tzWy4uNF0pLmlzX2VycigpKTsKPiAtICAg ICAgICBhc3NlcnQhKGNoZWNrX3pmc19yYWlkX2NvbmZpZyhaZnNSYWlkTGV2ZWw6OlJhaWRaMywg JmRpc2tzWy4uNV0pLmlzX29rKCkpOwo+IC0gICAgICAgIGFzc2VydCEoY2hlY2tfemZzX3JhaWRf Y29uZmlnKFpmc1JhaWRMZXZlbDo6UmFpZFozLCAmZGlza3MpLmlzX29rKCkpOwo+ICsgICAgICAg IGxldCB6ZnNfcmFpZF92YXJpYW50cyA9IFsKPiArICAgICAgICAgICAgWmZzUmFpZExldmVsOjpS YWlkMCwKPiArICAgICAgICAgICAgWmZzUmFpZExldmVsOjpSYWlkMSwKPiArICAgICAgICAgICAg WmZzUmFpZExldmVsOjpSYWlkMTAsCj4gKyAgICAgICAgICAgIFpmc1JhaWRMZXZlbDo6UmFpZFos Cj4gKyAgICAgICAgICAgIFpmc1JhaWRMZXZlbDo6UmFpZFoyLAo+ICsgICAgICAgICAgICBaZnNS YWlkTGV2ZWw6OlJhaWRaMywKPiArICAgICAgICBdOwo+ICsKPiArICAgICAgICBmb3IgdiBpbiB6 ZnNfcmFpZF92YXJpYW50cyB7Cj4gKyAgICAgICAgICAgIGFzc2VydCEodi5jaGVja19kaXNrcygm W10pLmlzX2VycigpKTsKPiArICAgICAgICAgICAgYXNzZXJ0ISh2LmNoZWNrX2Rpc2tzKCZkaXNr c1suLnYuZ2V0X21pbl9kaXNrcygpIC0gMV0pLmlzX2VycigpKTsKPiArICAgICAgICAgICAgYXNz ZXJ0ISh2LmNoZWNrX2Rpc2tzKCZkaXNrc1suLnYuZ2V0X21pbl9kaXNrcygpXSkuaXNfb2soKSk7 Cj4gKyAgICAgICAgICAgIGFzc2VydCEodi5jaGVja19kaXNrcygmZGlza3MpLmlzX29rKCkpOwo+ ICsgICAgICAgIH0KPiAgICAgIH0KClRoZXNlIHVuaXQgdGVzdHMgc2hvdWxkIGJlIG1vdmVkIHRv IGBwcm94bW94X2luc3RhbGxlcl9jb21tb246Om9wdGlvbnNgLAppZiB0aGUgaW1wbGVtZW50YXRp b24gb2YgdGhlc2UgbWV0aG9kcyBhbHNvIHJlc2lkZXMgdGhlcmUuCgo+ICB9Cj4gZGlmZiAtLWdp dCBhL3Byb3htb3gtaW5zdGFsbGVyLWNvbW1vbi9zcmMvb3B0aW9ucy5ycyBiL3Byb3htb3gtaW5z dGFsbGVyLWNvbW1vbi9zcmMvb3B0aW9ucy5ycwo+IGluZGV4IDkyNzFiOGIuLjA1NTI5NTQgMTAw NjQ0Cj4gLS0tIGEvcHJveG1veC1pbnN0YWxsZXItY29tbW9uL3NyYy9vcHRpb25zLnJzCj4gKysr IGIvcHJveG1veC1pbnN0YWxsZXItY29tbW9uL3NyYy9vcHRpb25zLnJzCj4gQEAgLTYsNiArNiw3 IEBAIHVzZSBzdGQ6OnN0cjo6RnJvbVN0cjsKPiAgdXNlIHN0ZDo6c3luYzo6T25jZUxvY2s7Cj4g IHVzZSBzdGQ6OntjbXAsIGZtdH07Cj4KPiArdXNlIGNyYXRlOjpkaXNrX2NoZWNrczo6Y2hlY2tf cmFpZF9taW5fZGlza3M7Cj4gIHVzZSBjcmF0ZTo6c2V0dXA6OntMb2NhbGVJbmZvLCBOZXR3b3Jr SW5mbywgUnVudGltZUluZm8sIFNldHVwSW5mb307Cj4gIHVzZSBjcmF0ZTo6dXRpbHM6OntDaWRy QWRkcmVzcywgRnFkbn07Cj4KPiBAQCAtMjgsNiArMjksMTcgQEAgaW1wbCBCdHJmc1JhaWRMZXZl bCB7Cj4gICAgICAgICAgICAgIEJ0cmZzUmFpZExldmVsOjpSYWlkMTAgPT4gNCwKPiAgICAgICAg ICB9Cj4gICAgICB9Cj4gKwo+ICsgICAgLy8vIENoZWNrcyB3aGV0aGVyIGEgdXNlci1zdXBwbGll ZCBCdHJmcyBSQUlEIHNldHVwIGlzIHZhbGlkIG9yIG5vdCwgc3VjaCBhcyBtaW5pbXVtCj4gKyAg ICAvLy8gbnVtYmVyIG9mIGRpc2tzLgo+ICsgICAgLy8vCj4gKyAgICAvLy8gIyBBcmd1bWVudHMK PiArICAgIC8vLwo+ICsgICAgLy8vICogYGRpc2tzYCAtIExpc3Qgb2YgZGlza3MgZGVzaWduYXRl ZCBhcyBSQUlEIHRhcmdldHMuCj4gKyAgICBwdWIgZm4gY2hlY2tfZGlza3MoJnNlbGYsIGRpc2tz OiAmW0Rpc2tdKSAtPiBSZXN1bHQ8KCksIFN0cmluZz4gewoKTWF5YmUgcmVuYW1lIHRoaXMgdG8g c29tZXRoaW5nIG1vcmUgZXhwcmVzc2l2ZSwgZS5nLgpjaGVja19yYWlkX2Rpc2tzX3NldHVwKCk/ CgpjaGVja19kaXNrcygpIGJ5IGl0c2VsZiBpcyBhIHJhdGhlciAib3BhcXVlIiBtZXRob2QgbmFt ZSBhbmQgd291bGQgKGF0CmxlYXN0IHRvIG1lLCBpZiBJIGRpZG4ndCBrbm93IHRoZSBpbXBsZW1l bnRhdGlvbikgc3VnZ2VzdHMgdGhhdCB0aGUKYWN0dWFsIGRpc2tzIGFyZSBjaGVja2VkLCBub3Qg anVzdCB0aGUgUkFJRCBjb25maWd1cmF0aW9uIGFuZCBzaXplcy4KCj4gKyAgICAgICAgY2hlY2tf cmFpZF9taW5fZGlza3MoZGlza3MsIHNlbGYuZ2V0X21pbl9kaXNrcygpKT87Cj4gKyAgICAgICAg T2soKCkpCj4gKyAgICB9Cj4gIH0KPgo+ICBzZXJkZV9wbGFpbjo6ZGVyaXZlX2Rpc3BsYXlfZnJv bV9zZXJpYWxpemUhKEJ0cmZzUmFpZExldmVsKTsKPiBAQCAtNjksNiArODEsNTMgQEAgaW1wbCBa ZnNSYWlkTGV2ZWwgewo+ICAgICAgICAgICAgICBaZnNSYWlkTGV2ZWw6OlJhaWRaMyA9PiA1LAo+ ICAgICAgICAgIH0KPiAgICAgIH0KPiArCj4gKyAgICBmbiBjaGVja19taXJyb3Jfc2l6ZSgmc2Vs ZiwgZGlzazE6ICZEaXNrLCBkaXNrMjogJkRpc2spIC0+IFJlc3VsdDwoKSwgU3RyaW5nPiB7Cj4g KyAgICAgICAgaWYgKGRpc2sxLnNpemUgLSBkaXNrMi5zaXplKS5hYnMoKSA+IGRpc2sxLnNpemUg LyAxMC4gewo+ICsgICAgICAgICAgICBFcnIoZm9ybWF0ISgKPiArICAgICAgICAgICAgICAgICJN aXJyb3JlZCBkaXNrcyBtdXN0IGhhdmUgc2FtZSBzaXplOlxuXG4gICoge2Rpc2sxfVxuICAqIHtk aXNrMn0iCj4gKyAgICAgICAgICAgICkpCj4gKyAgICAgICAgfSBlbHNlIHsKPiArICAgICAgICAg ICAgT2soKCkpCj4gKyAgICAgICAgfQo+ICsgICAgfQo+ICsKPiArICAgIC8vLyBDaGVja3Mgd2hl dGhlciBhIHVzZXItc3VwcGxpZWQgWkZTIFJBSUQgc2V0dXAgaXMgdmFsaWQgb3Igbm90LCBzdWNo IGFzIGRpc2sgc2l6ZXMgYW5kbWluaW11bQo+ICsgICAgLy8vIG51bWJlciBvZiBkaXNrcy4KPiAr ICAgIC8vLwo+ICsgICAgLy8vICMgQXJndW1lbnRzCj4gKyAgICAvLy8KPiArICAgIC8vLyAqIGBk aXNrc2AgLSBMaXN0IG9mIGRpc2tzIGRlc2lnbmF0ZWQgYXMgUkFJRCB0YXJnZXRzLgo+ICsgICAg cHViIGZuIGNoZWNrX2Rpc2tzKCZzZWxmLCBkaXNrczogJltEaXNrXSkgLT4gUmVzdWx0PCgpLCBT dHJpbmc+IHsKCl4gU2FtZSBoZXJlIGFzIGFib3ZlLgoKPiArICAgICAgICBjaGVja19yYWlkX21p bl9kaXNrcyhkaXNrcywgc2VsZi5nZXRfbWluX2Rpc2tzKCkpPzsKPiArCj4gKyAgICAgICAgbWF0 Y2ggc2VsZiB7Cj4gKyAgICAgICAgICAgIFpmc1JhaWRMZXZlbDo6UmFpZDAgPT4ge30KPiArICAg ICAgICAgICAgWmZzUmFpZExldmVsOjpSYWlkMTAgPT4gewo+ICsgICAgICAgICAgICAgICAgaWYg ZGlza3MubGVuKCkgJSAyICE9IDAgewo+ICsgICAgICAgICAgICAgICAgICAgIHJldHVybiBFcnIo Zm9ybWF0ISgKPiArICAgICAgICAgICAgICAgICAgICAgICAgIk5lZWRzIGFuIGV2ZW4gbnVtYmVy IG9mIGRpc2tzLCBjdXJyZW50bHkgc2VsZWN0ZWQ6IHt9IiwKPiArICAgICAgICAgICAgICAgICAg ICAgICAgZGlza3MubGVuKCksCj4gKyAgICAgICAgICAgICAgICAgICAgKSk7Cj4gKyAgICAgICAg ICAgICAgICB9Cj4gKwo+ICsgICAgICAgICAgICAgICAgLy8gUGFpcnMgbmVlZCB0byBoYXZlIHRo ZSBzYW1lIHNpemUKPiArICAgICAgICAgICAgICAgIGZvciBpIGluICgwLi5kaXNrcy5sZW4oKSku c3RlcF9ieSgyKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgc2VsZi5jaGVja19taXJyb3Jfc2l6 ZSgmZGlza3NbaV0sICZkaXNrc1tpICsgMV0pPzsKPiArICAgICAgICAgICAgICAgIH0KPiArICAg ICAgICAgICAgfQo+ICsgICAgICAgICAgICBaZnNSYWlkTGV2ZWw6OlJhaWQxCj4gKyAgICAgICAg ICAgIHwgWmZzUmFpZExldmVsOjpSYWlkWgo+ICsgICAgICAgICAgICB8IFpmc1JhaWRMZXZlbDo6 UmFpZFoyCj4gKyAgICAgICAgICAgIHwgWmZzUmFpZExldmVsOjpSYWlkWjMgPT4gewo+ICsgICAg ICAgICAgICAgICAgZm9yIGRpc2sgaW4gZGlza3Mgewo+ICsgICAgICAgICAgICAgICAgICAgIHNl bGYuY2hlY2tfbWlycm9yX3NpemUoJmRpc2tzWzBdLCBkaXNrKT87Cj4gKyAgICAgICAgICAgICAg ICB9Cj4gKyAgICAgICAgICAgIH0KPiArICAgICAgICB9Cj4gKwo+ICsgICAgICAgIE9rKCgpKQo+ ICsgICAgfQo+ICB9CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KcHZlLWRldmVsIG1haWxpbmcgbGlzdApwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20K aHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRl dmVsCg==