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 CD0E31FF17E for ; Thu, 13 Nov 2025 13:16:30 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id F1B631A7B7; Thu, 13 Nov 2025 13:17:24 +0100 (CET) From: Lukas Wagner To: pdm-devel@lists.proxmox.com Date: Thu, 13 Nov 2025 13:16:34 +0100 Message-ID: <20251113121644.236005-2-l.wagner@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251113121644.236005-1-l.wagner@proxmox.com> References: <20251113121644.236005-1-l.wagner@proxmox.com> MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1763036184936 X-SPAM-LEVEL: Spam detection results: 0 AWL -1.020 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 KAM_MAILER 2 Automated Mailer Tag Left in Email PROLO_LEO1 0.1 Meta Catches all Leo drug variations so far SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pdm-devel] [PATCH datacenter-manager v5 01/11] pdm-api-types: views: add ViewConfig type X-BeenThere: pdm-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Datacenter Manager development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" VGhpcyB0eXBlIHdpbGwgYmUgdXNlZCB0byBkZWZpbmUgdmlld3MuCgpTaWduZWQtb2ZmLWJ5OiBM dWthcyBXYWduZXIgPGwud2FnbmVyQHByb3htb3guY29tPgpSZXZpZXdlZC1ieTogTWljaGFlbCBL w7ZwcGwgPG0ua29lcHBsQHByb3htb3guY29tPgotLS0KCk5vdGVzOgogICAgQ2hhbmdlcyBzaW5j ZSB2MjoKICAgICAgLSB1c2UgQXBpU2VjdGlvbkRhdGFFbnRyeSwgYXMgc3VnZ2VzdGVkIGJ5IERv bWluaWsKICAgICAgLSBSZW5hbWVkIFZpZXdGaWx0ZXIqIC0+IFZpZXcqCiAgICAgIC0gVXNlIFNB RkVfSURfRk9STUFUIHRvIGNoZWNrIGZpbHRlciB2YWx1ZXMgd2hlcmUgcG9zc2libGUKICAgIAog ICAgQ2hhbmdlcyBzaW5jZSBSRkM6CiAgICAgIC0gQ2hhbmdlIGNvbmZpZyBzdHJ1Y3R1cmUsIGlu c3RlYWQgb2YgJ2luY2x1ZGUte3h9IHZhbHVlJyB3ZSBub3cgZG8KICAgICAgICAnaW5jbHVkZSB7 eH06dmFsdWUnCgogbGliL3BkbS1hcGktdHlwZXMvc3JjL2xpYi5ycyAgIHwgICA4ICsrCiBsaWIv cGRtLWFwaS10eXBlcy9zcmMvdmlld3MucnMgfCAyMTAgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDIxOCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9k ZSAxMDA2NDQgbGliL3BkbS1hcGktdHlwZXMvc3JjL3ZpZXdzLnJzCgpkaWZmIC0tZ2l0IGEvbGli L3BkbS1hcGktdHlwZXMvc3JjL2xpYi5ycyBiL2xpYi9wZG0tYXBpLXR5cGVzL3NyYy9saWIucnMK aW5kZXggNWFjOTlhYTEuLjY3YTFhNTVmIDEwMDY0NAotLS0gYS9saWIvcGRtLWFwaS10eXBlcy9z cmMvbGliLnJzCisrKyBiL2xpYi9wZG0tYXBpLXR5cGVzL3NyYy9saWIucnMKQEAgLTEwNyw2ICsx MDcsOCBAQCBwdWIgbW9kIHN1YnNjcmlwdGlvbjsKIAogcHViIG1vZCBzZG47CiAKK3B1YiBtb2Qg dmlld3M7CisKIGNvbnN0X3JlZ2V4ISB7CiAgICAgLy8ganVzdCBhIHJvdWdoIGNoZWNrIC0gZHVt bXkgYWNjZXB0b3IgaXMgdXNlZCBiZWZvcmUgcGVyc2lzdGluZwogICAgIHB1YiBPUEVOU1NMX0NJ UEhFUlNfUkVHRVggPSByIl5bMC05QS1aYS16XzosICshXC1APS5dKyQiOwpAQCAtMTU0LDYgKzE1 NiwxMiBAQCBwdWIgY29uc3QgUkVBTE1fSURfU0NIRU1BOiBTY2hlbWEgPSBTdHJpbmdTY2hlbWE6 Om5ldygiUmVhbG0gbmFtZS4iKQogICAgIC5tYXhfbGVuZ3RoKDMyKQogICAgIC5zY2hlbWEoKTsK IAorcHViIGNvbnN0IFZJRVdfSURfU0NIRU1BOiBTY2hlbWEgPSBTdHJpbmdTY2hlbWE6Om5ldygi VmlldyBuYW1lLiIpCisgICAgLmZvcm1hdCgmUFJPWE1PWF9TQUZFX0lEX0ZPUk1BVCkKKyAgICAu bWluX2xlbmd0aCgyKQorICAgIC5tYXhfbGVuZ3RoKDMyKQorICAgIC5zY2hlbWEoKTsKKwogcHVi IGNvbnN0IFZNSURfU0NIRU1BOiBTY2hlbWEgPSBJbnRlZ2VyU2NoZW1hOjpuZXcoIkEgZ3Vlc3Qg SUQiKS5taW5pbXVtKDEpLnNjaGVtYSgpOwogcHViIGNvbnN0IFNOQVBTSE9UX05BTUVfU0NIRU1B OiBTY2hlbWEgPSBTdHJpbmdTY2hlbWE6Om5ldygiVGhlIG5hbWUgb2YgdGhlIHNuYXBzaG90IikK ICAgICAuZm9ybWF0KCZQUk9YTU9YX1NBRkVfSURfRk9STUFUKQpkaWZmIC0tZ2l0IGEvbGliL3Bk bS1hcGktdHlwZXMvc3JjL3ZpZXdzLnJzIGIvbGliL3BkbS1hcGktdHlwZXMvc3JjL3ZpZXdzLnJz Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5lZjM5Y2M2MgotLS0gL2Rldi9u dWxsCisrKyBiL2xpYi9wZG0tYXBpLXR5cGVzL3NyYy92aWV3cy5ycwpAQCAtMCwwICsxLDIxMCBA QAordXNlIHN0ZDo6e2ZtdDo6RGlzcGxheSwgc3RyOjpGcm9tU3RyLCBzeW5jOjpPbmNlTG9ja307 CisKK3VzZSBhbnlob3c6OmJhaWw7Cit1c2UgY29uc3RfZm9ybWF0Ojpjb25jYXRjcDsKK3VzZSBz ZXJkZTo6e0Rlc2VyaWFsaXplLCBTZXJpYWxpemV9OworCit1c2UgcHJveG1veF9zY2hlbWE6OnsK KyAgICBhcGksIGFwaV90eXBlczo6U0FGRV9JRF9SRUdFWF9TVFIsIGNvbnN0X3JlZ2V4LCBBcGlT dHJpbmdGb3JtYXQsIEFwaVR5cGUsIEFycmF5U2NoZW1hLCBTY2hlbWEsCisgICAgU3RyaW5nU2No ZW1hLCBVcGRhdGVyLAorfTsKK3VzZSBwcm94bW94X3NlY3Rpb25fY29uZmlnOjp7dHlwZWQ6OkFw aVNlY3Rpb25EYXRhRW50cnksIFNlY3Rpb25Db25maWcsIFNlY3Rpb25Db25maWdQbHVnaW59Owor Cit1c2UgY3JhdGU6OnsKKyAgICByZW1vdGVzOjpSRU1PVEVfSURfU0NIRU1BLCByZXNvdXJjZTo6 UmVzb3VyY2VUeXBlLCBQUk9YTU9YX1NBRkVfSURfUkVHRVgsIFZJRVdfSURfU0NIRU1BLAorfTsK KworY29uc3RfcmVnZXghIHsKKyAgICAvLy8gUmVnZXggZm9yIG1hdGNoaW5nIGdsb2JhbCByZXNv dXJjZSBJRHMKKyAgICBwdWIgR0xPQkFMX1JFU09VUkNFX0lEX1JFR0VYID0gY29uY2F0Y3AhKHIi XiIsIFNBRkVfSURfUkVHRVhfU1RSLCByIihcLyIsIFNBRkVfSURfUkVHRVhfU1RSLCByIikrJCIp OworfQorCisvLy8gU2NoZW1hIGZvciBmaWx0ZXIgcnVsZXMuCitwdWIgY29uc3QgRklMVEVSX1JV TEVfU0NIRU1BOiBTY2hlbWEgPSBTdHJpbmdTY2hlbWE6Om5ldygiRmlsdGVyIHJ1bGUgZm9yIHJl c291cmNlcy4iKQorICAgIC5mb3JtYXQoJkFwaVN0cmluZ0Zvcm1hdDo6VmVyaWZ5Rm4odmVyaWZ5 X2ZpbHRlcl9ydWxlKSkKKyAgICAudHlwZV90ZXh0KAorICAgICAgICAicmVzb3VyY2UtdHlwZTo8 c3RvcmFnZXxxZW11fGx4Y3xzZG4tem9uZXxkYXRhc3RvcmV8bm9kZT5cCisgICAgICAgICAgICB8 cmVzb3VyY2UtcG9vbDo8cG9vbC1uYW1lPlwKKyAgICAgICAgICAgIHx0YWc6PHRhZy1uYW1lPlwK KyAgICAgICAgICAgIHxyZW1vdGU6PHJlbW90ZS1uYW1lPlwKKyAgICAgICAgICAgIHxyZXNvdXJj ZS1pZDo8cmVzb3VyY2UtaWQ+IiwKKyAgICApCisgICAgLnNjaGVtYSgpOworCisvLy8gU2NoZW1h IGZvciBsaXN0IG9mIGZpbHRlciBydWxlcy4KK3B1YiBjb25zdCBGSUxURVJfUlVMRV9MSVNUX1ND SEVNQTogU2NoZW1hID0KKyAgICBBcnJheVNjaGVtYTo6bmV3KCJMaXN0IG9mIGZpbHRlciBydWxl cy4iLCAmRklMVEVSX1JVTEVfU0NIRU1BKS5zY2hlbWEoKTsKKworI1thcGkoCisgICAgcHJvcGVy dGllczogeworICAgICAgICAiaWQiOiB7CisgICAgICAgICAgICBzY2hlbWE6IFZJRVdfSURfU0NI RU1BLAorICAgICAgICB9LAorICAgICAgICAiaW5jbHVkZSI6IHsKKyAgICAgICAgICAgIHNjaGVt YTogRklMVEVSX1JVTEVfTElTVF9TQ0hFTUEsCisgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSwK KyAgICAgICAgfSwKKyAgICAgICAgImV4Y2x1ZGUiOiB7CisgICAgICAgICAgICBzY2hlbWE6IEZJ TFRFUl9SVUxFX0xJU1RfU0NIRU1BLAorICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsCisgICAg ICAgIH0KKyAgICB9CispXQorI1tkZXJpdmUoQ2xvbmUsIERlYnVnLCBEZWZhdWx0LCBEZXNlcmlh bGl6ZSwgU2VyaWFsaXplLCBVcGRhdGVyLCBQYXJ0aWFsRXEpXQorI1tzZXJkZShyZW5hbWVfYWxs ID0gImtlYmFiLWNhc2UiKV0KKy8vLyBWaWV3IGRlZmluaXRpb24KK3B1YiBzdHJ1Y3QgVmlld0Nv bmZpZyB7CisgICAgLy8vIFZpZXcgbmFtZS4KKyAgICAjW3VwZGF0ZXIoc2tpcCldCisgICAgcHVi IGlkOiBTdHJpbmcsCisKKyAgICAvLy8gTGlzdCBvZiBpbmNsdWRlcy4KKyAgICAjW3NlcmRlKGRl ZmF1bHQsIHNraXBfc2VyaWFsaXppbmdfaWYgPSAiVmVjOjppc19lbXB0eSIpXQorICAgICNbdXBk YXRlcihzZXJkZShza2lwX3NlcmlhbGl6aW5nX2lmID0gIk9wdGlvbjo6aXNfbm9uZSIpKV0KKyAg ICBwdWIgaW5jbHVkZTogVmVjPEZpbHRlclJ1bGU+LAorCisgICAgLy8vIExpc3Qgb2YgZXhjbHVk ZXMuCisgICAgI1tzZXJkZShkZWZhdWx0LCBza2lwX3NlcmlhbGl6aW5nX2lmID0gIlZlYzo6aXNf ZW1wdHkiKV0KKyAgICAjW3VwZGF0ZXIoc2VyZGUoc2tpcF9zZXJpYWxpemluZ19pZiA9ICJPcHRp b246OmlzX25vbmUiKSldCisgICAgcHViIGV4Y2x1ZGU6IFZlYzxGaWx0ZXJSdWxlPiwKK30KKwor I1tkZXJpdmUoQ2xvbmUsIERlYnVnLCBEZXNlcmlhbGl6ZSwgU2VyaWFsaXplLCBQYXJ0aWFsRXEp XQorI1tzZXJkZShyZW5hbWVfYWxsID0gImtlYmFiLWNhc2UiKV0KKy8vLyBFbnVtIGZvciB0aGUg ZGlmZmVyZW50IHNlY3Rpb25zIGluIHRoZSAndmlld3MuY2ZnJyBmaWxlLgorcHViIGVudW0gVmll d0NvbmZpZ0VudHJ5IHsKKyAgICAvLy8gJ3ZpZXcnIHNlY3Rpb24KKyAgICBWaWV3KFZpZXdDb25m aWcpLAorfQorCitjb25zdCBWSUVXX1NFQ1RJT05fTkFNRTogJnN0ciA9ICJ2aWV3IjsKKworaW1w bCBBcGlTZWN0aW9uRGF0YUVudHJ5IGZvciBWaWV3Q29uZmlnRW50cnkgeworICAgIGZuIHNlY3Rp b25fY29uZmlnKCkgLT4gJidzdGF0aWMgU2VjdGlvbkNvbmZpZyB7CisgICAgICAgIHN0YXRpYyBD T05GSUc6IE9uY2VMb2NrPFNlY3Rpb25Db25maWc+ID0gT25jZUxvY2s6Om5ldygpOworCisgICAg ICAgIENPTkZJRy5nZXRfb3JfaW5pdCh8fCB7CisgICAgICAgICAgICBsZXQgbXV0IHRoaXMgPSBT ZWN0aW9uQ29uZmlnOjpuZXcoJlZJRVdfSURfU0NIRU1BKTsKKworICAgICAgICAgICAgdGhpcy5y ZWdpc3Rlcl9wbHVnaW4oU2VjdGlvbkNvbmZpZ1BsdWdpbjo6bmV3KAorICAgICAgICAgICAgICAg IFZJRVdfU0VDVElPTl9OQU1FLmludG8oKSwKKyAgICAgICAgICAgICAgICBTb21lKCJpZCIudG9f c3RyaW5nKCkpLAorICAgICAgICAgICAgICAgIFZpZXdDb25maWc6OkFQSV9TQ0hFTUEudW53cmFw X29iamVjdF9zY2hlbWEoKSwKKyAgICAgICAgICAgICkpOworICAgICAgICAgICAgdGhpcworICAg ICAgICB9KQorICAgIH0KKworICAgIGZuIHNlY3Rpb25fdHlwZSgmc2VsZikgLT4gJidzdGF0aWMg c3RyIHsKKyAgICAgICAgbWF0Y2ggc2VsZiB7CisgICAgICAgICAgICBWaWV3Q29uZmlnRW50cnk6 OlZpZXcoXykgPT4gVklFV19TRUNUSU9OX05BTUUsCisgICAgICAgIH0KKyAgICB9Cit9CisKKyNb ZGVyaXZlKENsb25lLCBEZWJ1ZywgUGFydGlhbEVxKV0KKy8vLyBGaWx0ZXIgcnVsZSBmb3IgaW5j bHVkZXMvZXhjbHVkZXMuCitwdWIgZW51bSBGaWx0ZXJSdWxlIHsKKyAgICAvLy8gTWF0Y2ggYSBy ZXNvdXJjZSB0eXBlLgorICAgIFJlc291cmNlVHlwZShSZXNvdXJjZVR5cGUpLAorICAgIC8vLyBN YXRjaCBhIHJlc291cmNlIHBvb2xzIChmb3IgUFZFIGd1ZXN0cykuCisgICAgUmVzb3VyY2VQb29s KFN0cmluZyksCisgICAgLy8vIE1hdGNoIGEgKGdsb2JhbCkgcmVzb3VyY2UgSUQsIGUuZy4gJ3Jl bW90ZS88cmVtb3RlPi9ndWVzdC88dm1pZD4nLgorICAgIFJlc291cmNlSWQoU3RyaW5nKSwKKyAg ICAvLy8gTWF0Y2ggYSB0YWcgKGZvciBQVkUgZ3Vlc3RzKS4KKyAgICBUYWcoU3RyaW5nKSwKKyAg ICAvLy8gTWF0Y2ggYSByZW1vdGUuCisgICAgUmVtb3RlKFN0cmluZyksCit9CisKK2ltcGwgRnJv bVN0ciBmb3IgRmlsdGVyUnVsZSB7CisgICAgdHlwZSBFcnIgPSBhbnlob3c6OkVycm9yOworCisg ICAgZm4gZnJvbV9zdHIoczogJnN0cikgLT4gUmVzdWx0PFNlbGYsIFNlbGY6OkVycj4geworICAg ICAgICBPayhtYXRjaCBzLnNwbGl0X29uY2UoJzonKSB7CisgICAgICAgICAgICBTb21lKCgicmVz b3VyY2UtdHlwZSIsIHZhbHVlKSkgPT4gRmlsdGVyUnVsZTo6UmVzb3VyY2VUeXBlKHZhbHVlLnBh cnNlKCk/KSwKKyAgICAgICAgICAgIFNvbWUoKCJyZXNvdXJjZS1wb29sIiwgdmFsdWUpKSA9PiB7 CisgICAgICAgICAgICAgICAgaWYgIVBST1hNT1hfU0FGRV9JRF9SRUdFWC5pc19tYXRjaCh2YWx1 ZSkgeworICAgICAgICAgICAgICAgICAgICBiYWlsISgiaW52YWxpZCByZXNvdXJjZS1wb29sIHZh bHVlOiB7dmFsdWV9Iik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIEZpbHRl clJ1bGU6OlJlc291cmNlUG9vbCh2YWx1ZS50b19zdHJpbmcoKSkKKyAgICAgICAgICAgIH0KKyAg ICAgICAgICAgIFNvbWUoKCJyZXNvdXJjZS1pZCIsIHZhbHVlKSkgPT4geworICAgICAgICAgICAg ICAgIGlmICFHTE9CQUxfUkVTT1VSQ0VfSURfUkVHRVguaXNfbWF0Y2godmFsdWUpIHsKKyAgICAg ICAgICAgICAgICAgICAgYmFpbCEoImludmFsaWQgcmVzb3VyY2UtaWQgdmFsdWU6IHt2YWx1ZX0i KTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBGaWx0ZXJSdWxlOjpSZXNv dXJjZUlkKHZhbHVlLnRvX3N0cmluZygpKQorICAgICAgICAgICAgfQorICAgICAgICAgICAgU29t ZSgoInRhZyIsIHZhbHVlKSkgPT4geworICAgICAgICAgICAgICAgIGlmICFQUk9YTU9YX1NBRkVf SURfUkVHRVguaXNfbWF0Y2godmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgYmFpbCEoImlu dmFsaWQgdGFnIHZhbHVlOiB7dmFsdWV9Iik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg ICAgICAgIEZpbHRlclJ1bGU6OlRhZyh2YWx1ZS50b19zdHJpbmcoKSkKKyAgICAgICAgICAgIH0K KyAgICAgICAgICAgIFNvbWUoKCJyZW1vdGUiLCB2YWx1ZSkpID0+IHsKKyAgICAgICAgICAgICAg ICBsZXQgXyA9IFJFTU9URV9JRF9TQ0hFTUEucGFyc2Vfc2ltcGxlX3ZhbHVlKHZhbHVlKT87Cisg ICAgICAgICAgICAgICAgRmlsdGVyUnVsZTo6UmVtb3RlKHZhbHVlLnRvX3N0cmluZygpKQorICAg ICAgICAgICAgfQorICAgICAgICAgICAgU29tZSgodHksIF8pKSA9PiBiYWlsISgiaW52YWxpZCB0 eXBlOiB7dHl9IiksCisgICAgICAgICAgICBOb25lID0+IGJhaWwhKCJpbnZhbGlkIGZpbHRlciBy dWxlOiB7c30iKSwKKyAgICAgICAgfSkKKyAgICB9Cit9CisKKy8vIHVzZWQgZm9yIHNlcmlhbGl6 aW5nIGJlbG93LCBjYXV0aW9uIQoraW1wbCBEaXNwbGF5IGZvciBGaWx0ZXJSdWxlIHsKKyAgICBm biBmbXQoJnNlbGYsIGY6ICZtdXQgc3RkOjpmbXQ6OkZvcm1hdHRlcjwnXz4pIC0+IHN0ZDo6Zm10 OjpSZXN1bHQgeworICAgICAgICBtYXRjaCBzZWxmIHsKKyAgICAgICAgICAgIEZpbHRlclJ1bGU6 OlJlc291cmNlVHlwZShyZXNvdXJjZV90eXBlKSA9PiB3cml0ZSEoZiwgInJlc291cmNlLXR5cGU6 e3Jlc291cmNlX3R5cGV9IiksCisgICAgICAgICAgICBGaWx0ZXJSdWxlOjpSZXNvdXJjZVBvb2wo cG9vbCkgPT4gd3JpdGUhKGYsICJyZXNvdXJjZS1wb29sOntwb29sfSIpLAorICAgICAgICAgICAg RmlsdGVyUnVsZTo6UmVzb3VyY2VJZChpZCkgPT4gd3JpdGUhKGYsICJyZXNvdXJjZS1pZDp7aWR9 IiksCisgICAgICAgICAgICBGaWx0ZXJSdWxlOjpUYWcodGFnKSA9PiB3cml0ZSEoZiwgInRhZzp7 dGFnfSIpLAorICAgICAgICAgICAgRmlsdGVyUnVsZTo6UmVtb3RlKHJlbW90ZSkgPT4gd3JpdGUh KGYsICJyZW1vdGU6e3JlbW90ZX0iKSwKKyAgICAgICAgfQorICAgIH0KK30KKworcHJveG1veF9z ZXJkZTo6Zm9yd2FyZF9kZXNlcmlhbGl6ZV90b19mcm9tX3N0ciEoRmlsdGVyUnVsZSk7Citwcm94 bW94X3NlcmRlOjpmb3J3YXJkX3NlcmlhbGl6ZV90b19kaXNwbGF5IShGaWx0ZXJSdWxlKTsKKwor Zm4gdmVyaWZ5X2ZpbHRlcl9ydWxlKGlucHV0OiAmc3RyKSAtPiBSZXN1bHQ8KCksIGFueWhvdzo6 RXJyb3I+IHsKKyAgICBGaWx0ZXJSdWxlOjpmcm9tX3N0cihpbnB1dCkubWFwKHxffCAoKSkKK30K KworI1tjZmcodGVzdCldCittb2QgdGVzdCB7CisgICAgdXNlIGFueWhvdzo6RXJyb3I7CisKKyAg ICB1c2UgY3JhdGU6OnZpZXdzOjpGaWx0ZXJSdWxlOworCisgICAgZm4gcGFyc2VfYW5kX2NoZWNr X2Rpc3BsYXkoaW5wdXQ6ICZzdHIpIC0+IFJlc3VsdDxib29sLCBFcnJvcj4geworICAgICAgICBs ZXQgcnVsZTogRmlsdGVyUnVsZSA9IGlucHV0LnBhcnNlKCk/OworCisgICAgICAgIE9rKGlucHV0 ID09IGZvcm1hdCEoIntydWxlfSIpKQorICAgIH0KKworICAgICNbdGVzdF0KKyAgICBmbiB0ZXN0 X2ZpbHRlcl9ydWxlKCkgeworICAgICAgICBhc3NlcnQhKHBhcnNlX2FuZF9jaGVja19kaXNwbGF5 KCJhYmMiKS5pc19lcnIoKSk7CisgICAgICAgIGFzc2VydCEocGFyc2VfYW5kX2NoZWNrX2Rpc3Bs YXkoImFiYzoiKS5pc19lcnIoKSk7CisKKyAgICAgICAgYXNzZXJ0IShwYXJzZV9hbmRfY2hlY2tf ZGlzcGxheSgicmVzb3VyY2UtdHlwZToiKS5pc19lcnIoKSk7CisgICAgICAgIGFzc2VydCEocGFy c2VfYW5kX2NoZWNrX2Rpc3BsYXkoInJlc291cmNlLXR5cGU6bHhjIikudW53cmFwKCkpOworICAg ICAgICBhc3NlcnQhKHBhcnNlX2FuZF9jaGVja19kaXNwbGF5KCJyZXNvdXJjZS10eXBlOnFlbXUi KS51bndyYXAoKSk7CisgICAgICAgIGFzc2VydCEocGFyc2VfYW5kX2NoZWNrX2Rpc3BsYXkoInJl c291cmNlLXR5cGU6YWJjIikuaXNfZXJyKCkpOworCisgICAgICAgIGFzc2VydCEocGFyc2VfYW5k X2NoZWNrX2Rpc3BsYXkoInJlc291cmNlLXBvb2w6IikuaXNfZXJyKCkpOworICAgICAgICBhc3Nl cnQhKHBhcnNlX2FuZF9jaGVja19kaXNwbGF5KCJyZXNvdXJjZS1wb29sOnNvbWVwb29sIikudW53 cmFwKCkpOworCisgICAgICAgIGFzc2VydCEocGFyc2VfYW5kX2NoZWNrX2Rpc3BsYXkoInJlc291 cmNlLWlkOiIpLmlzX2VycigpKTsKKyAgICAgICAgYXNzZXJ0IShwYXJzZV9hbmRfY2hlY2tfZGlz cGxheSgicmVzb3VyY2UtaWQ6cmVtb3RlL3NvbWVyZW1vdGUvZ3Vlc3QvMTAwIikudW53cmFwKCkp OworICAgICAgICBhc3NlcnQhKHBhcnNlX2FuZF9jaGVja19kaXNwbGF5KCJyZXNvdXJjZS1pZDpy ZW1vdGUiKS5pc19lcnIoKSk7CisKKyAgICAgICAgYXNzZXJ0IShwYXJzZV9hbmRfY2hlY2tfZGlz cGxheSgidGFnOiIpLmlzX2VycigpKTsKKyAgICAgICAgYXNzZXJ0IShwYXJzZV9hbmRfY2hlY2tf ZGlzcGxheSgidGFnOnNvbWV0YWciKS51bndyYXAoKSk7CisKKyAgICAgICAgYXNzZXJ0IShwYXJz ZV9hbmRfY2hlY2tfZGlzcGxheSgicmVtb3RlOnNvbWVyZW1vdGUiKS51bndyYXAoKSk7CisgICAg ICAgIGFzc2VydCEocGFyc2VfYW5kX2NoZWNrX2Rpc3BsYXkoInJlbW90ZTphIikuaXNfZXJyKCkp OworICAgIH0KK30KLS0gCjIuNDcuMwoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpwZG0tZGV2ZWwgbWFpbGluZyBsaXN0CnBkbS1kZXZlbEBsaXN0cy5w cm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0 aW5mby9wZG0tZGV2ZWwK