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 B899F1FF15E for <inbox@lore.proxmox.com>; Tue, 22 Apr 2025 18:28:29 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id DE589E17; Tue, 22 Apr 2025 18:27:56 +0200 (CEST) From: =?UTF-8?q?Michael=20K=C3=B6ppl?= <m.koeppl@proxmox.com> To: pve-devel@lists.proxmox.com Date: Tue, 22 Apr 2025 18:27:34 +0200 Message-Id: <20250422162739.255641-2-m.koeppl@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250422162739.255641-1-m.koeppl@proxmox.com> References: <20250422162739.255641-1-m.koeppl@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.000 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. [main.rs, utils.rs, parse-answer.rs, options.rs] Subject: [pve-devel] [PATCH pve-installer 1/6] auto: add early answer file sanity check for RAID configurations 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> VGhlIEdVSSBhbmQgVFVJIGluc3RhbGxlcnMgYWxyZWFkeSBpbXBsZW1lbnQgY2hlY2tzIHRvIGVu c3VyZSBzeXN0ZW1zCmhhdmUgdGhlIG1pbmltdW0gcmVxdWlyZWQgbnVtYmVyIG9mIGRpc2tzIGF2 YWlsYWJsZSBmb3IgdGhlIHZhcmlvdXMgUkFJRApjb25maWd1cmF0aW9ucyAobWluIDIgZGlza3Mg Zm9yIFJBSUQxLCBtaW4gNCBkaXNrcyBmb3IgUkFJRDEwLCBldGMpLgpUaGlzIGNoYW5nZSBhZGRz IGFuIGVhcmx5IGNoZWNrIG9mIHRoZSBhbnN3ZXIgZmlsZSB0byB0aGUKYXV0by1pbnN0YWxsZXIs IGltcHJvdmluZyB0aGUgdXNlciBleHBlcmllbmNlIGJ5IGF2b2lkaW5nIGZhaWx1cmUgZHVyaW5n CnRoZSBhY3R1YWwgaW5zdGFsbGF0aW9uLgoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBLw7ZwcGwg PG0ua29lcHBsQHByb3htb3guY29tPgotLS0KIHByb3htb3gtYXV0by1pbnN0YWxsLWFzc2lzdGFu dC9zcmMvbWFpbi5ycyAgICB8ICA3ICsrLS0KIHByb3htb3gtYXV0by1pbnN0YWxsZXIvc3JjL3V0 aWxzLnJzICAgICAgICAgICB8IDE4ICsrKysrKysrKystCiBwcm94bW94LWF1dG8taW5zdGFsbGVy L3Rlc3RzL3BhcnNlLWFuc3dlci5ycyAgfCAgNCArKy0KIC4uLi9idHJmc19yYWlkX3NpbmdsZV9k aXNrLmpzb24gICAgICAgICAgICAgICB8ICAzICsrCiAuLi4vYnRyZnNfcmFpZF9zaW5nbGVfZGlz ay50b21sICAgICAgICAgICAgICAgfCAxNSArKysrKysrKysKIC4uLi96ZnNfcmFpZF9zaW5nbGVf ZGlzay5qc29uICAgICAgICAgICAgICAgICB8ICAzICsrCiAuLi4vemZzX3JhaWRfc2luZ2xlX2Rp c2sudG9tbCAgICAgICAgICAgICAgICAgfCAxNSArKysrKysrKysKIHByb3htb3gtaW5zdGFsbGVy LWNvbW1vbi9zcmMvb3B0aW9ucy5ycyAgICAgICB8IDMyICsrKysrKysrKysrKysrKysrKysKIDgg ZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt b2RlIDEwMDY0NCBwcm94bW94LWF1dG8taW5zdGFsbGVyL3Rlc3RzL3Jlc291cmNlcy9wYXJzZV9h bnN3ZXJfZmFpbC9idHJmc19yYWlkX3NpbmdsZV9kaXNrLmpzb24KIGNyZWF0ZSBtb2RlIDEwMDY0 NCBwcm94bW94LWF1dG8taW5zdGFsbGVyL3Rlc3RzL3Jlc291cmNlcy9wYXJzZV9hbnN3ZXJfZmFp bC9idHJmc19yYWlkX3NpbmdsZV9kaXNrLnRvbWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwcm94bW94 LWF1dG8taW5zdGFsbGVyL3Rlc3RzL3Jlc291cmNlcy9wYXJzZV9hbnN3ZXJfZmFpbC96ZnNfcmFp ZF9zaW5nbGVfZGlzay5qc29uCiBjcmVhdGUgbW9kZSAxMDA2NDQgcHJveG1veC1hdXRvLWluc3Rh bGxlci90ZXN0cy9yZXNvdXJjZXMvcGFyc2VfYW5zd2VyX2ZhaWwvemZzX3JhaWRfc2luZ2xlX2Rp c2sudG9tbAoKZGlmZiAtLWdpdCBhL3Byb3htb3gtYXV0by1pbnN0YWxsLWFzc2lzdGFudC9zcmMv bWFpbi5ycyBiL3Byb3htb3gtYXV0by1pbnN0YWxsLWFzc2lzdGFudC9zcmMvbWFpbi5ycwppbmRl eCBiNjQ2MjNiLi4zY2YzYWJjIDEwMDY0NAotLS0gYS9wcm94bW94LWF1dG8taW5zdGFsbC1hc3Np c3RhbnQvc3JjL21haW4ucnMKKysrIGIvcHJveG1veC1hdXRvLWluc3RhbGwtYXNzaXN0YW50L3Ny Yy9tYWluLnJzCkBAIC0xNCw5ICsxNCw5IEBAIHVzZSBwcm94bW94X2F1dG9faW5zdGFsbGVyOjp7 CiAgICAgYW5zd2VyOjp7QW5zd2VyLCBGaWx0ZXJNYXRjaH0sCiAgICAgc3lzaW5mbzo6U3lzSW5m bywKICAgICB1dGlsczo6ewotICAgICAgICBBdXRvSW5zdFNldHRpbmdzLCBGZXRjaEFuc3dlckZy b20sIEh0dHBPcHRpb25zLCBnZXRfbWF0Y2hlZF91ZGV2X2luZGV4ZXMsIGdldF9uaWNfbGlzdCwK LSAgICAgICAgZ2V0X3NpbmdsZV91ZGV2X2luZGV4LCB2ZXJpZnlfZW1haWxfYW5kX3Jvb3RfcGFz c3dvcmRfc2V0dGluZ3MsIHZlcmlmeV9maXJzdF9ib290X3NldHRpbmdzLAotICAgICAgICB2ZXJp ZnlfbG9jYWxlX3NldHRpbmdzLAorICAgICAgICBnZXRfbWF0Y2hlZF91ZGV2X2luZGV4ZXMsIGdl dF9uaWNfbGlzdCwgZ2V0X3NpbmdsZV91ZGV2X2luZGV4LCB2ZXJpZnlfZGlza3Nfc2V0dGluZ3Ms CisgICAgICAgIHZlcmlmeV9lbWFpbF9hbmRfcm9vdF9wYXNzd29yZF9zZXR0aW5ncywgdmVyaWZ5 X2ZpcnN0X2Jvb3Rfc2V0dGluZ3MsCisgICAgICAgIHZlcmlmeV9sb2NhbGVfc2V0dGluZ3MsIEF1 dG9JbnN0U2V0dGluZ3MsIEZldGNoQW5zd2VyRnJvbSwgSHR0cE9wdGlvbnMsCiAgICAgfSwKIH07 CiB1c2UgcHJveG1veF9pbnN0YWxsZXJfY29tbW9uOjp7RklSU1RfQk9PVF9FWEVDX01BWF9TSVpF LCBGSVJTVF9CT09UX0VYRUNfTkFNRX07CkBAIC01OTcsNiArNTk3LDcgQEAgZm4gcGFyc2VfYW5z d2VyKHBhdGg6IGltcGwgQXNSZWY8UGF0aD4gKyBmbXQ6OkRlYnVnKSAtPiBSZXN1bHQ8QW5zd2Vy PiB7CiAgICAgbWF0Y2ggdG9tbDo6ZnJvbV9zdHIoJmNvbnRlbnRzKSB7CiAgICAgICAgIE9rKGFu c3dlcikgPT4gewogICAgICAgICAgICAgdmVyaWZ5X2xvY2FsZV9zZXR0aW5ncygmYW5zd2VyLCAm c2VyZGVfanNvbjo6ZnJvbV9zdHIoTE9DQUxFX0lORk8pPyk/OworICAgICAgICAgICAgdmVyaWZ5 X2Rpc2tzX3NldHRpbmdzKCZhbnN3ZXIpPzsKICAgICAgICAgICAgIHZlcmlmeV9maXJzdF9ib290 X3NldHRpbmdzKCZhbnN3ZXIpPzsKICAgICAgICAgICAgIHZlcmlmeV9lbWFpbF9hbmRfcm9vdF9w YXNzd29yZF9zZXR0aW5ncygmYW5zd2VyKT87CiAgICAgICAgICAgICBwcmludGxuISgiVGhlIGFu c3dlciBmaWxlIHdhcyBwYXJzZWQgc3VjY2Vzc2Z1bGx5LCBubyBlcnJvcnMgZm91bmQhIik7CmRp ZmYgLS1naXQgYS9wcm94bW94LWF1dG8taW5zdGFsbGVyL3NyYy91dGlscy5ycyBiL3Byb3htb3gt YXV0by1pbnN0YWxsZXIvc3JjL3V0aWxzLnJzCmluZGV4IDM2NWUwMWEuLmQ2YmM2ZTMgMTAwNjQ0 Ci0tLSBhL3Byb3htb3gtYXV0by1pbnN0YWxsZXIvc3JjL3V0aWxzLnJzCisrKyBiL3Byb3htb3gt YXV0by1pbnN0YWxsZXIvc3JjL3V0aWxzLnJzCkBAIC02LDcgKzYsOCBAQCB1c2Ugc3RkOjp7Y29s bGVjdGlvbnM6OkJUcmVlTWFwLCBwcm9jZXNzOjpDb21tYW5kfTsKIAogdXNlIGNyYXRlOjp7CiAg ICAgYW5zd2VyOjp7Ci0gICAgICAgIHNlbGYsIEFuc3dlciwgRmlyc3RCb290SG9va1NvdXJjZU1v ZGUsIEZxZG5Db25maWcsIEZxZG5FeHRlbmRlZENvbmZpZywgRnFkblNvdXJjZU1vZGUsCisgICAg ICAgIHNlbGYsIEFuc3dlciwgRGlza1NlbGVjdGlvbiwgRmlyc3RCb290SG9va1NvdXJjZU1vZGUs IEZxZG5Db25maWcsIEZxZG5FeHRlbmRlZENvbmZpZywKKyAgICAgICAgRnFkblNvdXJjZU1vZGUs CiAgICAgfSwKICAgICB1ZGV2aW5mbzo6VWRldkluZm8sCiB9OwpAQCAtMzg0LDYgKzM4NSwyMCBA QCBwdWIgZm4gdmVyaWZ5X2VtYWlsX2FuZF9yb290X3Bhc3N3b3JkX3NldHRpbmdzKGFuc3dlcjog JkFuc3dlcikgLT4gUmVzdWx0PCgpPiB7CiAgICAgfQogfQogCitwdWIgZm4gdmVyaWZ5X2Rpc2tz X3NldHRpbmdzKGFuc3dlcjogJkFuc3dlcikgLT4gUmVzdWx0PCgpPiB7CisgICAgaWYgbGV0IERp c2tTZWxlY3Rpb246OlNlbGVjdGlvbihzZWxlY3Rpb24pID0gJmFuc3dlci5kaXNrcy5kaXNrX3Nl bGVjdGlvbiB7CisgICAgICAgIGxldCBtaW5fZGlza3MgPSBhbnN3ZXIuZGlza3MuZnNfdHlwZS5n ZXRfbWluX2Rpc2tzKCk7CisgICAgICAgIGlmIHNlbGVjdGlvbi5sZW4oKSA8IG1pbl9kaXNrcyB7 CisgICAgICAgICAgICBiYWlsISgKKyAgICAgICAgICAgICAgICAie30gcmVxdWlyZXMgYXQgbGVh c3Qge30gZGlza3MiLAorICAgICAgICAgICAgICAgIGFuc3dlci5kaXNrcy5mc190eXBlLAorICAg ICAgICAgICAgICAgIG1pbl9kaXNrcworICAgICAgICAgICAgKTsKKyAgICAgICAgfQorICAgIH0K KyAgICBPaygoKSkKK30KKwogcHViIGZuIHZlcmlmeV9maXJzdF9ib290X3NldHRpbmdzKGFuc3dl cjogJkFuc3dlcikgLT4gUmVzdWx0PCgpPiB7CiAgICAgaW5mbyEoIlZlcmlmeWluZyBmaXJzdCBi b290IHNldHRpbmdzIik7CiAKQEAgLTQxNCw2ICs0MjksNyBAQCBwdWIgZm4gcGFyc2VfYW5zd2Vy KAogICAgIGxldCBuZXR3b3JrX3NldHRpbmdzID0gZ2V0X25ldHdvcmtfc2V0dGluZ3MoYW5zd2Vy LCB1ZGV2X2luZm8sIHJ1bnRpbWVfaW5mbywgc2V0dXBfaW5mbyk/OwogCiAgICAgdmVyaWZ5X2xv Y2FsZV9zZXR0aW5ncyhhbnN3ZXIsIGxvY2FsZXMpPzsKKyAgICB2ZXJpZnlfZGlza3Nfc2V0dGlu Z3MoYW5zd2VyKT87CiAgICAgdmVyaWZ5X2VtYWlsX2FuZF9yb290X3Bhc3N3b3JkX3NldHRpbmdz KGFuc3dlcik/OwogICAgIHZlcmlmeV9maXJzdF9ib290X3NldHRpbmdzKGFuc3dlcik/OwogCmRp ZmYgLS1naXQgYS9wcm94bW94LWF1dG8taW5zdGFsbGVyL3Rlc3RzL3BhcnNlLWFuc3dlci5ycyBi L3Byb3htb3gtYXV0by1pbnN0YWxsZXIvdGVzdHMvcGFyc2UtYW5zd2VyLnJzCmluZGV4IDM0YmM5 NjkuLjkyZGJhNjMgMTAwNjQ0Ci0tLSBhL3Byb3htb3gtYXV0by1pbnN0YWxsZXIvdGVzdHMvcGFy c2UtYW5zd2VyLnJzCisrKyBiL3Byb3htb3gtYXV0by1pbnN0YWxsZXIvdGVzdHMvcGFyc2UtYW5z d2VyLnJzCkBAIC0xNDIsMTEgKzE0MiwxMyBAQCBtb2QgdGVzdHMgewogICAgICAgICAgICAgcnVu X25hbWVkX2ZhaWxfcGFyc2VfdGVzdCwKICAgICAgICAgICAgIC8vIEtlZXAgYmVsb3cgZW50cmll cyBhbHBoYWJldGljYWxseSBzb3J0ZWQKICAgICAgICAgICAgIGJvdGhfcGFzc3dvcmRfYW5kX2hh c2hlZF9zZXQsCisgICAgICAgICAgICBidHJmc19yYWlkX3NpbmdsZV9kaXNrLAogICAgICAgICAg ICAgZnFkbl9mcm9tX2RoY3Bfbm9fZGVmYXVsdF9kb21haW4sCiAgICAgICAgICAgICBmcWRuX2hv c3RuYW1lX29ubHksCiAgICAgICAgICAgICBub19mcWRuX2Zyb21fZGhjcCwKICAgICAgICAgICAg IG5vX3Jvb3RfcGFzc3dvcmRfc2V0LAotICAgICAgICAgICAgc2hvcnRfcGFzc3dvcmQKKyAgICAg ICAgICAgIHNob3J0X3Bhc3N3b3JkLAorICAgICAgICAgICAgemZzX3JhaWRfc2luZ2xlX2Rpc2sK ICAgICAgICAgKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9wcm94bW94LWF1dG8taW5zdGFsbGVy L3Rlc3RzL3Jlc291cmNlcy9wYXJzZV9hbnN3ZXJfZmFpbC9idHJmc19yYWlkX3NpbmdsZV9kaXNr Lmpzb24gYi9wcm94bW94LWF1dG8taW5zdGFsbGVyL3Rlc3RzL3Jlc291cmNlcy9wYXJzZV9hbnN3 ZXJfZmFpbC9idHJmc19yYWlkX3NpbmdsZV9kaXNrLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uMzdmMzVmZQotLS0gL2Rldi9udWxsCisrKyBiL3Byb3htb3gtYXV0by1p bnN0YWxsZXIvdGVzdHMvcmVzb3VyY2VzL3BhcnNlX2Fuc3dlcl9mYWlsL2J0cmZzX3JhaWRfc2lu Z2xlX2Rpc2suanNvbgpAQCAtMCwwICsxLDMgQEAKK3sKKyAgImVycm9yIjogIkJUUkZTIChSQUlE MSkgcmVxdWlyZXMgYXQgbGVhc3QgMiBkaXNrcyIKK30KZGlmZiAtLWdpdCBhL3Byb3htb3gtYXV0 by1pbnN0YWxsZXIvdGVzdHMvcmVzb3VyY2VzL3BhcnNlX2Fuc3dlcl9mYWlsL2J0cmZzX3JhaWRf c2luZ2xlX2Rpc2sudG9tbCBiL3Byb3htb3gtYXV0by1pbnN0YWxsZXIvdGVzdHMvcmVzb3VyY2Vz L3BhcnNlX2Fuc3dlcl9mYWlsL2J0cmZzX3JhaWRfc2luZ2xlX2Rpc2sudG9tbApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTZmYjE2Ci0tLSAvZGV2L251bGwKKysrIGIvcHJv eG1veC1hdXRvLWluc3RhbGxlci90ZXN0cy9yZXNvdXJjZXMvcGFyc2VfYW5zd2VyX2ZhaWwvYnRy ZnNfcmFpZF9zaW5nbGVfZGlzay50b21sCkBAIC0wLDAgKzEsMTUgQEAKK1tnbG9iYWxdCitrZXli b2FyZCA9ICJkZSIKK2NvdW50cnkgPSAiYXQiCitmcWRuID0gImJ0cmZzLXJhaWQtc2luZ2xlLWRp c2suZmFpbC50ZXN0aW5zdGFsbCIKK21haWx0byA9ICJtYWlsQG5vLmludmFsaWQiCit0aW1lem9u ZSA9ICJFdXJvcGUvVmllbm5hIgorcm9vdC1wYXNzd29yZCA9ICIxMjM0NTY3OCIKKworW25ldHdv cmtdCitzb3VyY2UgPSAiZnJvbS1kaGNwIgorCitbZGlzay1zZXR1cF0KK2ZpbGVzeXN0ZW0gPSAi YnRyZnMiCitidHJmcy5yYWlkID0gInJhaWQxIgorZGlzay1saXN0ID0gWyJzZGEiXQpkaWZmIC0t Z2l0IGEvcHJveG1veC1hdXRvLWluc3RhbGxlci90ZXN0cy9yZXNvdXJjZXMvcGFyc2VfYW5zd2Vy X2ZhaWwvemZzX3JhaWRfc2luZ2xlX2Rpc2suanNvbiBiL3Byb3htb3gtYXV0by1pbnN0YWxsZXIv dGVzdHMvcmVzb3VyY2VzL3BhcnNlX2Fuc3dlcl9mYWlsL3pmc19yYWlkX3NpbmdsZV9kaXNrLmpz b24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWE4Y2M5MAotLS0gL2Rldi9u dWxsCisrKyBiL3Byb3htb3gtYXV0by1pbnN0YWxsZXIvdGVzdHMvcmVzb3VyY2VzL3BhcnNlX2Fu c3dlcl9mYWlsL3pmc19yYWlkX3NpbmdsZV9kaXNrLmpzb24KQEAgLTAsMCArMSwzIEBACit7Cisg ICJlcnJvciI6ICJaRlMgKFJBSUQxMCkgcmVxdWlyZXMgYXQgbGVhc3QgNCBkaXNrcyIKK30KZGlm ZiAtLWdpdCBhL3Byb3htb3gtYXV0by1pbnN0YWxsZXIvdGVzdHMvcmVzb3VyY2VzL3BhcnNlX2Fu c3dlcl9mYWlsL3pmc19yYWlkX3NpbmdsZV9kaXNrLnRvbWwgYi9wcm94bW94LWF1dG8taW5zdGFs bGVyL3Rlc3RzL3Jlc291cmNlcy9wYXJzZV9hbnN3ZXJfZmFpbC96ZnNfcmFpZF9zaW5nbGVfZGlz ay50b21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0YWU3NDgKLS0tIC9k ZXYvbnVsbAorKysgYi9wcm94bW94LWF1dG8taW5zdGFsbGVyL3Rlc3RzL3Jlc291cmNlcy9wYXJz ZV9hbnN3ZXJfZmFpbC96ZnNfcmFpZF9zaW5nbGVfZGlzay50b21sCkBAIC0wLDAgKzEsMTUgQEAK K1tnbG9iYWxdCitrZXlib2FyZCA9ICJkZSIKK2NvdW50cnkgPSAiYXQiCitmcWRuID0gInpmcy1y YWlkLXNpbmdsZS1kaXNrLmZhaWwudGVzdGluc3RhbGwiCittYWlsdG8gPSAibWFpbEBuby5pbnZh bGlkIgordGltZXpvbmUgPSAiRXVyb3BlL1ZpZW5uYSIKK3Jvb3QtcGFzc3dvcmQgPSAiMTIzNDU2 NzgiCisKK1tuZXR3b3JrXQorc291cmNlID0gImZyb20tZGhjcCIKKworW2Rpc2stc2V0dXBdCitm aWxlc3lzdGVtID0gInpmcyIKK3pmcy5yYWlkID0gInJhaWQxMCIKK2Rpc2stbGlzdCA9IFsic2Rh Il0KZGlmZiAtLWdpdCBhL3Byb3htb3gtaW5zdGFsbGVyLWNvbW1vbi9zcmMvb3B0aW9ucy5ycyBi L3Byb3htb3gtaW5zdGFsbGVyLWNvbW1vbi9zcmMvb3B0aW9ucy5ycwppbmRleCA5Y2M0ZWUwLi45 MjcxYjhiIDEwMDY0NAotLS0gYS9wcm94bW94LWluc3RhbGxlci1jb21tb24vc3JjL29wdGlvbnMu cnMKKysrIGIvcHJveG1veC1pbnN0YWxsZXItY29tbW9uL3NyYy9vcHRpb25zLnJzCkBAIC0yMCw2 ICsyMCwxNiBAQCBwdWIgZW51bSBCdHJmc1JhaWRMZXZlbCB7CiAgICAgUmFpZDEwLAogfQogCitp bXBsIEJ0cmZzUmFpZExldmVsIHsKKyAgICBwdWIgZm4gZ2V0X21pbl9kaXNrcygmc2VsZikgLT4g dXNpemUgeworICAgICAgICBtYXRjaCBzZWxmIHsKKyAgICAgICAgICAgIEJ0cmZzUmFpZExldmVs OjpSYWlkMCA9PiAxLAorICAgICAgICAgICAgQnRyZnNSYWlkTGV2ZWw6OlJhaWQxID0+IDIsCisg ICAgICAgICAgICBCdHJmc1JhaWRMZXZlbDo6UmFpZDEwID0+IDQsCisgICAgICAgIH0KKyAgICB9 Cit9CisKIHNlcmRlX3BsYWluOjpkZXJpdmVfZGlzcGxheV9mcm9tX3NlcmlhbGl6ZSEoQnRyZnNS YWlkTGV2ZWwpOwogCiAjW2Rlcml2ZShDb3B5LCBDbG9uZSwgRGVidWcsIERlc2VyaWFsaXplLCBT ZXJpYWxpemUsIEVxLCBQYXJ0aWFsRXEpXQpAQCAtNDgsNiArNTgsMTkgQEAgcHViIGVudW0gWmZz UmFpZExldmVsIHsKICAgICBSYWlkWjMsCiB9CiAKK2ltcGwgWmZzUmFpZExldmVsIHsKKyAgICBw dWIgZm4gZ2V0X21pbl9kaXNrcygmc2VsZikgLT4gdXNpemUgeworICAgICAgICBtYXRjaCBzZWxm IHsKKyAgICAgICAgICAgIFpmc1JhaWRMZXZlbDo6UmFpZDAgPT4gMSwKKyAgICAgICAgICAgIFpm c1JhaWRMZXZlbDo6UmFpZDEgPT4gMiwKKyAgICAgICAgICAgIFpmc1JhaWRMZXZlbDo6UmFpZDEw ID0+IDQsCisgICAgICAgICAgICBaZnNSYWlkTGV2ZWw6OlJhaWRaID0+IDMsCisgICAgICAgICAg ICBaZnNSYWlkTGV2ZWw6OlJhaWRaMiA9PiA0LAorICAgICAgICAgICAgWmZzUmFpZExldmVsOjpS YWlkWjMgPT4gNSwKKyAgICAgICAgfQorICAgIH0KK30KKwogc2VyZGVfcGxhaW46OmRlcml2ZV9k aXNwbGF5X2Zyb21fc2VyaWFsaXplIShaZnNSYWlkTGV2ZWwpOwogCiAjW2Rlcml2ZShDb3B5LCBD bG9uZSwgRGVidWcsIEVxLCBQYXJ0aWFsRXEpXQpAQCAtNjcsNiArOTAsMTUgQEAgaW1wbCBGc1R5 cGUgewogICAgIHB1YiBmbiBpc19sdm0oJnNlbGYpIC0+IGJvb2wgewogICAgICAgICBtYXRjaGVz IShzZWxmLCBGc1R5cGU6OkV4dDQgfCBGc1R5cGU6OlhmcykKICAgICB9CisKKyAgICBwdWIgZm4g Z2V0X21pbl9kaXNrcygmc2VsZikgLT4gdXNpemUgeworICAgICAgICBtYXRjaCBzZWxmIHsKKyAg ICAgICAgICAgIEZzVHlwZTo6RXh0NCA9PiAxLAorICAgICAgICAgICAgRnNUeXBlOjpYZnMgPT4g MSwKKyAgICAgICAgICAgIEZzVHlwZTo6WmZzKGxldmVsKSA9PiBsZXZlbC5nZXRfbWluX2Rpc2tz KCksCisgICAgICAgICAgICBGc1R5cGU6OkJ0cmZzKGxldmVsKSA9PiBsZXZlbC5nZXRfbWluX2Rp c2tzKCksCisgICAgICAgIH0KKyAgICB9CiB9CiAKIGltcGwgZm10OjpEaXNwbGF5IGZvciBGc1R5 cGUgewotLSAKMi4zOS41CgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCnB2ZS1kZXZlbCBtYWlsaW5nIGxpc3QKcHZlLWRldmVsQGxpc3RzLnByb3htb3gu Y29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2 ZS1kZXZlbAo=