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 6BC371FF396 for ; Thu, 6 Jun 2024 10:49:44 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2A9A9A07B; Thu, 6 Jun 2024 10:50:15 +0200 (CEST) Message-ID: Date: Thu, 6 Jun 2024 10:49:39 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Proxmox Backup Server development discussion , =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= References: <20240605154155.2365-1-c.ebner@proxmox.com> <20240605154155.2365-2-c.ebner@proxmox.com> <1717661517.z9ivsk6e9o.astroid@yuna.none> Content-Language: en-US, de-DE From: Christian Ebner In-Reply-To: <1717661517.z9ivsk6e9o.astroid@yuna.none> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.373 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_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible spam tricks 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 T_SCC_BODY_TEXT_LINE -0.01 - Subject: Re: [pbs-devel] [PATCH v2 stable-2 pxar 1/1] format/decoder/accessor: backport pxar entry type `Version` X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Backup Server development discussion Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" T24gNi82LzI0IDEwOjIxLCBGYWJpYW4gR3LDvG5iaWNobGVyIHdyb3RlOgo+IE9uIEp1bmUgNSwg MjAyNCA1OjQxIHBtLCBDaHJpc3RpYW4gRWJuZXIgd3JvdGU6Cj4+IEJhY2twb3J0cyB0aGUgcHhh ciBmb3JtYXQgZW50cnkgdHlwZSBgVmVyc2lvbmAgYW5kIHRoZSBhc3NvY2lhdGVkCj4+IGRlY29k ZXIgbWV0aG9kcy4gVGhlIGZvcm1hdCB2ZXJzaW9uIGVudHJ5IGlzIGV4cGVjdGVkIG9uY2UgYXMg dGhlCj4+IGZpcnN0IGVudHJ5IG9mIHRoZSBweGFyIGFyY2hpdmUsIG1hcmtlZCB3aXRoIGEgYFBY QVJfRk9STUFUX1ZFUlNJT05gCj4+IGhlYWRlciBmb2xsb3dlZCBieSB0aGUgZW5jb2RlZCB2ZXJz aW9uIG51bWJlciBmb3IgYXJjaGl2ZXMgd2l0aAo+PiBmb3JtYXQgdmVyc2lvbiAyIG9yIGhpZ2hl ci4KPj4gSWYgbm90IHByZXNlbnQsIHRoZSBkZWZhdWx0IGZvcm1hdCB2ZXJzaW9uIDEgaXMgYXNz dW1lZCBhcyBlbmNvZGluZwo+PiBmb3JtYXQgZm9yIHRoZSBhcmNoaXZlLgo+Pgo+PiBUaGUgZW50 cnkgYWxsb3dzIHRvIGVhcmx5IGRldGVjdCBhbmQgYmFpbCBpZiBhbiBpbmNvbXBhdGlibGUgYXJj aGl2ZQo+PiB2ZXJzaW9uIGlzIGVuY291bnRlcmVkLgo+Pgo+PiBUaGUgZm9ybWF0IHZlcnNpb24g ZW50cnkgaXMgbm90IGJhY2t3YXJkcyBjb21wYXRpYmxlIHRvIHB4YXIgZm9ybWF0Cj4+IHZlcnNp b24gMS4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEVibmVyIDxjLmVibmVyQHByb3ht b3guY29tPgo+PiAtLS0KPj4gTm90ZToKPj4KPj4gVGhpcyBwYXRjaCBpcyBpbnRlbmRlZCB0byBi ZSBhcHBsaWVkIG9uIGEgZGVkaWNhdGVkIGJyYW5jaCB0byBiZSBmb3JrZWQKPj4gZnJvbSBwcmV2 aW91cyBtYXN0ZXIgY29tbWl0IDY3NWVjZmYzMmZiZWZmMDk3M2VhZWEwMTZjNGI4ZjM4NzcwMTVh ZGIKPj4KPj4gICBleGFtcGxlcy9tay1mb3JtYXQtaGFzaGVzLnJzIHwgIDUgKysrKysKPj4gICBz cmMvYWNjZXNzb3IvbW9kLnJzICAgICAgICAgIHwgMjggKysrKysrKysrKysrKysrKysrKysrKysr KystLQo+PiAgIHNyYy9kZWNvZGVyL21vZC5ycyAgICAgICAgICAgfCAyOCArKysrKysrKysrKysr KysrKysrKysrKysrKy0tCj4+ICAgc3JjL2Zvcm1hdC9tb2QucnMgICAgICAgICAgICB8IDE5ICsr KysrKysrKysrKysrKysrKysKPj4gICBzcmMvbGliLnJzICAgICAgICAgICAgICAgICAgIHwgIDMg KysrCj4+ICAgdGVzdHMvc2ltcGxlL2ZzLnJzICAgICAgICAgICB8ICAxICsKPj4gICA2IGZpbGVz IGNoYW5nZWQsIDgwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1n aXQgYS9leGFtcGxlcy9tay1mb3JtYXQtaGFzaGVzLnJzIGIvZXhhbXBsZXMvbWstZm9ybWF0LWhh c2hlcy5ycwo+PiBpbmRleCA2ZTAwNjU0Li5hZmQwOTI0IDEwMDY0NAo+PiAtLS0gYS9leGFtcGxl cy9tay1mb3JtYXQtaGFzaGVzLnJzCj4+ICsrKyBiL2V4YW1wbGVzL21rLWZvcm1hdC1oYXNoZXMu cnMKPj4gQEAgLTEsNiArMSwxMSBAQAo+PiAgIHVzZSBweGFyOjpmb3JtYXQ6Omhhc2hfZmlsZW5h bWU7Cj4+ICAgCj4+ICAgY29uc3QgQ09OU1RBTlRTOiAmWygmc3RyLCAmc3RyLCAmc3RyKV0gPSAm Wwo+PiArICAgICgKPj4gKyAgICAgICAgIlB4YXIgZm9ybWF0IHZlcnNpb24gZW50cnksIGZhbGxi YWNrIHRvIHZlcnNpb24gMSBpZiBub3QgcHJlc2VudCIsCj4+ICsgICAgICAgICJQWEFSX0ZPUk1B VF9WRVJTSU9OIiwKPj4gKyAgICAgICAgIl9fUFJPWE1PWF9GT1JNQVRfVkVSU0lPTl9fIiwKPj4g KyAgICApLAo+PiAgICAgICAoCj4+ICAgICAgICAgICAiQmVnaW5uaW5nIG9mIGFuIGVudHJ5IChj dXJyZW50IHZlcnNpb24pLiIsCj4+ICAgICAgICAgICAiUFhBUl9FTlRSWSIsCj4+IGRpZmYgLS1n aXQgYS9zcmMvYWNjZXNzb3IvbW9kLnJzIGIvc3JjL2FjY2Vzc29yL21vZC5ycwo+PiBpbmRleCA2 YTJkZTczLi43M2Q3OWUxIDEwMDY0NAo+PiAtLS0gYS9zcmMvYWNjZXNzb3IvbW9kLnJzCj4+ICsr KyBiL3NyYy9hY2Nlc3Nvci9tb2QucnMKPj4gQEAgLTE3LDcgKzE3LDcgQEAgdXNlIGVuZGlhbl90 cmFpdDo6RW5kaWFuOwo+PiAgIAo+PiAgIHVzZSBjcmF0ZTo6YmluYXJ5X3RyZWVfYXJyYXk7Cj4+ ICAgdXNlIGNyYXRlOjpkZWNvZGVyOjp7c2VsZiwgRGVjb2RlckltcGx9Owo+PiAtdXNlIGNyYXRl Ojpmb3JtYXQ6OntzZWxmLCBHb29kYnllSXRlbX07Cj4+ICt1c2UgY3JhdGU6OmZvcm1hdDo6e3Nl bGYsIEZvcm1hdFZlcnNpb24sIEdvb2RieWVJdGVtfTsKPj4gICB1c2UgY3JhdGU6OnV0aWw7Cj4+ ICAgdXNlIGNyYXRlOjp7RW50cnksIEVudHJ5S2luZH07Cj4+ICAgCj4+IEBAIC0xODUsMTEgKzE4 NSwyMyBAQCBwdWIoY3JhdGUpIHN0cnVjdCBBY2Nlc3NvckltcGw8VD4gewo+PiAgIH0KPj4gICAK Pj4gICBpbXBsPFQ6IFJlYWRBdD4gQWNjZXNzb3JJbXBsPFQ+IHsKPj4gLSAgICBwdWIgYXN5bmMg Zm4gbmV3KGlucHV0OiBULCBzaXplOiB1NjQpIC0+IGlvOjpSZXN1bHQ8U2VsZj4gewo+PiArICAg IHB1YiBhc3luYyBmbiBuZXcobXV0IGlucHV0OiBULCBzaXplOiB1NjQpIC0+IGlvOjpSZXN1bHQ8 U2VsZj4gewo+PiAgICAgICAgICAgaWYgc2l6ZSA8IChzaXplX29mOjo8R29vZGJ5ZUl0ZW0+KCkg YXMgdTY0KSB7Cj4+ICAgICAgICAgICAgICAgaW9fYmFpbCEoInRvbyBzbWFsbCB0byBjb250YWlu IGEgcHhhciBhcmNoaXZlIik7Cj4+ICAgICAgICAgICB9Cj4+ICAgCj4+ICsgICAgICAgIGxldCBo ZWFkZXI6IGZvcm1hdDo6SGVhZGVyID0gcmVhZF9lbnRyeV9hdCgmbXV0IGlucHV0LCAwKS5hd2Fp dD87Cj4+ICsgICAgICAgIGhlYWRlci5jaGVja19oZWFkZXJfc2l6ZSgpPzsKPj4gKwo+PiArICAg ICAgICBpZiBoZWFkZXIuaHR5cGUgPT0gZm9ybWF0OjpQWEFSX0ZPUk1BVF9WRVJTSU9OIHsKPj4g KyAgICAgICAgICAgIGxldCB2ZXJzaW9uOiB1NjQgPSByZWFkX2VudHJ5X2F0KAo+PiArICAgICAg ICAgICAgICAgICZtdXQgaW5wdXQsCj4+ICsgICAgICAgICAgICAgICAgc2l6ZV9vZjo6PGZvcm1h dDo6SGVhZGVyPigpIGFzIHU2NCwKPj4gKyAgICAgICAgICAgICkKPj4gKyAgICAgICAgICAgIC5h d2FpdD87Cj4+ICsgICAgICAgICAgICBGb3JtYXRWZXJzaW9uOjpkZXNlcmlhbGl6ZSh2ZXJzaW9u KT87Cj4+ICsgICAgICAgIH0KPiAKPiBpcyB0aGVyZSBzb21lIG90aGVyIHdheSB0byBjb25zdHJ1 Y3QgdGhlIEFjY2Vzc29ySW1wbD8gaWYgbm90LCB3b3VsZG4ndAo+IHRoaXMgY2hlY2sgaGVyZSBi ZSBlbm91Z2ggYW5kIHRoZSBvbmVzIGJlbG93IGNhbiBhY3R1YWxseSBuZXZlcgo+IHRyaWdnZXIv aGFwcGVuPyBzZWUgYmVsb3cgYXMgd2VsbCwgSSB0aGluayB0aGUgZGVzZXJpYWxpemUgY291bGQg anVzdCBiZQo+IGFuIGlvX2JhaWwKClRydWUsIEkganVzdCB3YW50ZWQgdG8ga2VlcCB0aGUgbG9n aWMgdGhlIHNhbWUgYXMgZm9yIHRoZSBjdXJyZW50IAptYXN0ZXIsIGJ1dCBJIGFtIGZpbmUgc2Vu ZCBhIG5ldyB2ZXJzaW9uIHNpbXBseSBiYWlsaW5nIGhlcmUgaW5zdGVhZC4KCj4gCj4+ICsKPj4g ICAgICAgICAgIE9rKFNlbGYgewo+PiAgICAgICAgICAgICAgIGlucHV0LAo+PiAgICAgICAgICAg ICAgIHNpemUsCj4+IEBAIC0yOTMsNiArMzA1LDEyIEBAIGltcGw8VDogQ2xvbmUgKyBSZWFkQXQ+ IEFjY2Vzc29ySW1wbDxUPiB7Cj4+ICAgICAgICAgICAgICAgLm5leHQoKQo+PiAgICAgICAgICAg ICAgIC5hd2FpdAo+PiAgICAgICAgICAgICAgIC5va19vcl9lbHNlKHx8IGlvX2Zvcm1hdF9lcnIh KCJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBkZWNvZGluZyBmaWxlIGVudHJ5IikpPz87Cj4+ICsKPj4g KyAgICAgICAgaWYgbGV0IEVudHJ5S2luZDo6VmVyc2lvbihfKSA9IGVudHJ5LmtpbmQoKSB7Cj4+ ICsgICAgICAgICAgICAvLyBjbGllbnQgaXMgaW5jb21wYXRpYmxlIHdpdGggYW55IGZvcm1hdCB2 ZXJzaW9uIGVudHJ5ICh2ZXJzaW9uIDEgaXMgbmV2ZXIgZW5jb2RlZCkKPj4gKyAgICAgICAgICAg IGlvX2JhaWwhKCJnb3QgZm9ybWF0IHZlcnNpb24gbm90IGNvbXBhdGlibGUgd2l0aCB0aGlzIGNs aWVudC4iKTsKPj4gKyAgICAgICAgfQo+IAo+IHNpbmNlIG5vIGVuY29kZWQgdmVyc2lvbiBjYW4g YmUgZGVzZXJpYWxpemVkIGJ5IHRoZSBzdGFibGUtMiBwYXJzZXIsCj4gdGhpcyBjYW5ub3QgaGFw cGVuIHNpbmNlIHRoZSBkZXNlcmlhbGl6ZXIgd291bGQgaGF2ZSBiYWlsZWQgYmVmb3JlPwoKQWxz byB0cnVlLCBoYXZlIHRoZXNlIGluIHBsYWNlIGFzIGFkZGl0aW9uYWwgc2FmZWd1YXJkLiBCdXQg SSBjYW4gZHJvcCAKdGhpcyBpbiBhIG5ldyB2ZXJzaW9uLgoKPiAKPj4gKwo+PiAgICAgICAgICAg T2soRmlsZUVudHJ5SW1wbCB7Cj4+ICAgICAgICAgICAgICAgaW5wdXQ6IHNlbGYuaW5wdXQuY2xv bmUoKSwKPj4gICAgICAgICAgICAgICBlbnRyeSwKPj4gQEAgLTUxNiw2ICs1MzQsMTIgQEAgaW1w bDxUOiBDbG9uZSArIFJlYWRBdD4gRGlyZWN0b3J5SW1wbDxUPiB7Cj4+ICAgICAgICAgICAgICAg Lm5leHQoKQo+PiAgICAgICAgICAgICAgIC5hd2FpdAo+PiAgICAgICAgICAgICAgIC5va19vcl9l bHNlKHx8IGlvX2Zvcm1hdF9lcnIhKCJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBkZWNvZGluZyBkaXJl Y3RvcnkgZW50cnkiKSk/PzsKPj4gKwo+PiArICAgICAgICBpZiBsZXQgRW50cnlLaW5kOjpWZXJz aW9uKF8pID0gZW50cnkua2luZCgpIHsKPj4gKyAgICAgICAgICAgIC8vIGNsaWVudCBpcyBpbmNv bXBhdGlibGUgd2l0aCBhbnkgZm9ybWF0IHZlcnNpb24gZW50cnkgKHZlcnNpb24gMSBpcyBuZXZl ciBlbmNvZGVkKQo+PiArICAgICAgICAgICAgaW9fYmFpbCEoImdvdCBmb3JtYXQgdmVyc2lvbiBu b3QgY29tcGF0aWJsZSB3aXRoIHRoaXMgY2xpZW50LiIpOwo+PiArICAgICAgICB9Cj4gCj4gc2Ft ZSBoZXJlCgpzYW1lIGFzIGFib3ZlCgo+IAo+PiArCj4+ICAgICAgICAgICBPaygoZW50cnksIGRl Y29kZXIpKQo+PiAgICAgICB9Cj4+ICAgCj4+IGRpZmYgLS1naXQgYS9zcmMvZGVjb2Rlci9tb2Qu cnMgYi9zcmMvZGVjb2Rlci9tb2QucnMKPj4gaW5kZXggZDFmYjkxMS4uYzZlYWU5ZiAxMDA2NDQK Pj4gLS0tIGEvc3JjL2RlY29kZXIvbW9kLnJzCj4+ICsrKyBiL3NyYy9kZWNvZGVyL21vZC5ycwo+ PiBAQCAtMTcsNyArMTcsNyBAQCB1c2Ugc3RkOjp0YXNrOjp7Q29udGV4dCwgUG9sbH07Cj4+ICAg Cj4+ICAgdXNlIGVuZGlhbl90cmFpdDo6RW5kaWFuOwo+PiAgIAo+PiAtdXNlIGNyYXRlOjpmb3Jt YXQ6OntzZWxmLCBIZWFkZXJ9Owo+PiArdXNlIGNyYXRlOjpmb3JtYXQ6OntzZWxmLCBGb3JtYXRW ZXJzaW9uLCBIZWFkZXJ9Owo+PiAgIHVzZSBjcmF0ZTo6dXRpbDo6e3NlbGYsIGlvX2Vycl9vdGhl cn07Cj4+ICAgdXNlIGNyYXRlOjp7RW50cnksIEVudHJ5S2luZCwgTWV0YWRhdGF9Owo+PiAgIAo+ PiBAQCAtMTYyLDYgKzE2Miw3IEBAIHB1YihjcmF0ZSkgc3RydWN0IERlY29kZXJJbXBsPFQ+IHsK Pj4gICAgICAgZW9mX2FmdGVyX2VudHJ5OiBib29sLAo+PiAgIH0KPj4gICAKPj4gKyNbZGVyaXZl KENsb25lLCBQYXJ0aWFsRXEpXQo+PiAgIGVudW0gU3RhdGUgewo+PiAgICAgICBCZWdpbiwKPj4g ICAgICAgRGVmYXVsdCwKPj4gQEAgLTIzNiw3ICsyMzcsMTYgQEAgaW1wbDxJOiBTZXFSZWFkPiBE ZWNvZGVySW1wbDxJPiB7Cj4+ICAgICAgICAgICBsb29wIHsKPj4gICAgICAgICAgICAgICBtYXRj aCBzZWxmLnN0YXRlIHsKPj4gICAgICAgICAgICAgICAgICAgU3RhdGU6OkVvZiA9PiByZXR1cm4g T2soTm9uZSksCj4+IC0gICAgICAgICAgICAgICAgU3RhdGU6OkJlZ2luID0+IHJldHVybiBzZWxm LnJlYWRfbmV4dF9lbnRyeSgpLmF3YWl0Lm1hcChTb21lKSwKPj4gKyAgICAgICAgICAgICAgICBT dGF0ZTo6QmVnaW4gPT4gewo+PiArICAgICAgICAgICAgICAgICAgICBsZXQgZW50cnkgPSBzZWxm LnJlYWRfbmV4dF9lbnRyeSgpLmF3YWl0Lm1hcChTb21lKTsKPj4gKyAgICAgICAgICAgICAgICAg ICAgaWYgbGV0IE9rKFNvbWUocmVmIGVudHJ5KSkgPSBlbnRyeSB7Cj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICBpZiBsZXQgRW50cnlLaW5kOjpWZXJzaW9uKF8pID0gZW50cnkua2luZCgpIHsK Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjbGllbnQgaXMgaW5jb21wYXRpYmxl IHdpdGggYW55IGZvcm1hdCB2ZXJzaW9uIGVudHJ5ICh2ZXJzaW9uIDEgaXMgbmV2ZXIgZW5jb2Rl ZCkKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb19iYWlsISgiZ290IGZvcm1hdCB2 ZXJzaW9uIG5vdCBjb21wYXRpYmxlIHdpdGggdGhpcyBjbGllbnQuIik7Cj4gCj4gZG8gd2Ugd2Fu dCB0byBpbmNsdWRlIHRoZSB2ZXJzaW9uIGhlcmU/IGJ1dCBzZWUgYmVsb3csIEkgdGhpbmsgd2Ug Y2FuCj4gc2tpcCB0aGlzIGFsdG9nZXRoZXIgc2luY2Ugd2UgbmV2ZXIgZXZlciB3aWxsIGVuY291 bnRlciBhIHZhbGlkIFZlcnNpb24KPiBlbnRyeS4uCgpZZXMsIHNhbWUgYXMgYWJvdmUuIEkga2Vl cCB0aGlzIGFzIHNhZmVndWFyZCwgYnV0IGNhbiBkcm9wIHRoaXMgYXMgd2VsbAo+IAo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgfQo+PiArICAgICAgICAgICAgICAgICAgICB9Cj4+ICsgICAg ICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeTsKPj4gKyAgICAgICAgICAgICAgICB9Cj4+ICAg ICAgICAgICAgICAgICAgIFN0YXRlOjpEZWZhdWx0ID0+IHsKPj4gICAgICAgICAgICAgICAgICAg ICAgIC8vIHdlIGNvbXBsZXRlbHkgZmluaXNoZWQgYW4gZW50cnksIHNvIG5vdyB3ZSdyZSBnb2lu ZyAidXAiIGluIHRoZSBkaXJlY3RvcnkKPj4gICAgICAgICAgICAgICAgICAgICAgIC8vIGhpZXJh cmNoeSBhbmQgcGFyc2UgdGhlIG5leHQgUFhBUl9GSUxFTkFNRSBvciB0aGUgUFhBUl9HT09EQllF Ogo+PiBAQCAtMzU0LDYgKzM2NCw3IEBAIGltcGw8STogU2VxUmVhZD4gRGVjb2RlckltcGw8ST4g ewo+PiAgICAgICB9Cj4+ICAgCj4+ICAgICAgIGFzeW5jIGZuIHJlYWRfbmV4dF9lbnRyeV9vcl9l b2YoJm11dCBzZWxmKSAtPiBpbzo6UmVzdWx0PE9wdGlvbjxFbnRyeT4+IHsKPj4gKyAgICAgICAg bGV0IHByZXZpb3VzX3N0YXRlID0gc2VsZi5zdGF0ZS5jbG9uZSgpOwo+PiAgICAgICAgICAgc2Vs Zi5zdGF0ZSA9IFN0YXRlOjpEZWZhdWx0Owo+PiAgICAgICAgICAgc2VsZi5lbnRyeS5jbGVhcl9k YXRhKCk7Cj4+ICAgCj4+IEBAIC0zNzMsNiArMzg0LDE0IEBAIGltcGw8STogU2VxUmVhZD4gRGVj b2RlckltcGw8ST4gewo+PiAgICAgICAgICAgICAgIHNlbGYuZW50cnkubWV0YWRhdGEgPSBNZXRh ZGF0YTo6ZGVmYXVsdCgpOwo+PiAgICAgICAgICAgICAgIHNlbGYuZW50cnkua2luZCA9IEVudHJ5 S2luZDo6SGFyZGxpbmsoc2VsZi5yZWFkX2hhcmRsaW5rKCkuYXdhaXQ/KTsKPj4gICAKPj4gKyAg ICAgICAgICAgIE9rKFNvbWUoc2VsZi5lbnRyeS50YWtlKCkpKQo+PiArICAgICAgICB9IGVsc2Ug aWYgaGVhZGVyLmh0eXBlID09IGZvcm1hdDo6UFhBUl9GT1JNQVRfVkVSU0lPTiB7Cj4+ICsgICAg ICAgICAgICBpZiBwcmV2aW91c19zdGF0ZSAhPSBTdGF0ZTo6QmVnaW4gewo+PiArICAgICAgICAg ICAgICAgIGlvX2JhaWwhKCJHb3QgZm9ybWF0IHZlcnNpb24gZW50cnkgYXQgdW5leHBlY3RlZCBw b3NpdGlvbiIpOwo+PiArICAgICAgICAgICAgfQo+IAo+IHRlY2huaWNhbGx5IGFueSBwb3NpdGlv biBpcyB1bmV4cGVjdGVkLCBzbyB3ZSBjb3VsZCBkcm9wIHRoaXMgY2hlY2sKPiBoZXJlLi4KPiAK Pj4gKyAgICAgICAgICAgIHNlbGYuY3VycmVudF9oZWFkZXIgPSBoZWFkZXI7Cj4+ICsgICAgICAg ICAgICBzZWxmLmVudHJ5LmtpbmQgPSBFbnRyeUtpbmQ6OlZlcnNpb24oc2VsZi5yZWFkX2Zvcm1h dF92ZXJzaW9uKCkuYXdhaXQ/KTsKPiAKPiB3ZSBjYW4gc2tpcCB0aGlzLCBzaW5jZSB0aGVyZSBj YW4gbmV2ZXIgYmUgYSB2YWxpZCBWZXJzaW9uIGVudHJ5LCBhbmQKPiBqdXN0IGlubGluZSByZWFk X2Zvcm1hdF92ZXJzaW9uIGFzIGEgc2luZ2xlIGNhbGwgdG8gc2VxX3JlYWRfZW50cnkKPiBmb2xs b3dlZCBieSBiYWlsaW5nPwoKT2theSwgd2lsbCBkbyB0aGF0LgoKPiAKPj4gKwo+PiAgICAgICAg ICAgICAgIE9rKFNvbWUoc2VsZi5lbnRyeS50YWtlKCkpKQo+PiAgICAgICAgICAgfSBlbHNlIGlm IGhlYWRlci5odHlwZSA9PSBmb3JtYXQ6OlBYQVJfRU5UUlkgfHwgaGVhZGVyLmh0eXBlID09IGZv cm1hdDo6UFhBUl9FTlRSWV9WMSB7Cj4+ICAgICAgICAgICAgICAgaWYgaGVhZGVyLmh0eXBlID09 IGZvcm1hdDo6UFhBUl9FTlRSWSB7Cj4+IEBAIC02NjEsNiArNjgwLDExIEBAIGltcGw8STogU2Vx UmVhZD4gRGVjb2RlckltcGw8ST4gewo+PiAgICAgICBhc3luYyBmbiByZWFkX3F1b3RhX3Byb2pl Y3RfaWQoJm11dCBzZWxmKSAtPiBpbzo6UmVzdWx0PGZvcm1hdDo6UXVvdGFQcm9qZWN0SWQ+IHsK Pj4gICAgICAgICAgIHNlbGYucmVhZF9zaW1wbGVfZW50cnkoInF1b3RhIHByb2plY3QgaWQiKS5h d2FpdAo+PiAgICAgICB9Cj4+ICsKPj4gKyAgICBhc3luYyBmbiByZWFkX2Zvcm1hdF92ZXJzaW9u KCZtdXQgc2VsZikgLT4gaW86OlJlc3VsdDxmb3JtYXQ6OkZvcm1hdFZlcnNpb24+IHsKPj4gKyAg ICAgICAgbGV0IHZlcnNpb246IHU2NCA9IHNlcV9yZWFkX2VudHJ5KCZtdXQgc2VsZi5pbnB1dCku YXdhaXQ/Owo+PiArICAgICAgICBGb3JtYXRWZXJzaW9uOjpkZXNlcmlhbGl6ZSh2ZXJzaW9uKQo+ PiArICAgIH0KPj4gICB9Cj4+ICAgCj4+ICAgLy8vIFJlYWRlciBmb3IgZmlsZSBjb250ZW50cyBp bnNpZGUgYSBweGFyIGFyY2hpdmUuCj4+IGRpZmYgLS1naXQgYS9zcmMvZm9ybWF0L21vZC5ycyBi L3NyYy9mb3JtYXQvbW9kLnJzCj4+IGluZGV4IGJmZWE5ZjYuLjJlMjE2MzUgMTAwNjQ0Cj4+IC0t LSBhL3NyYy9mb3JtYXQvbW9kLnJzCj4+ICsrKyBiL3NyYy9mb3JtYXQvbW9kLnJzCj4+IEBAIC02 LDYgKzYsNyBAQAo+PiAgIC8vISBpdGVtIGRhdGEuCj4+ICAgLy8hCj4+ICAgLy8hIEFuIGFyY2hp dmUgY29udGFpbnMgaXRlbXMgaW4gdGhlIGZvbGxvd2luZyBvcmRlcjoKPj4gKy8vISAgKiBgRk9S TUFUX1ZFUlNJT05gICAgICAtLSAob3B0aW9uYWwgZm9yIHYxKSwgdmVyc2lvbiBvZiBlbmNvZGlu ZyBmb3JtYXQKPj4gICAvLyEgICogYEVOVFJZYCAgICAgICAgICAgICAgLS0gY29udGFpbmluZyBn ZW5lcmFsIHN0YXQoKSBkYXRhIGFuZCByZWxhdGVkIGJpdHMKPj4gICAvLyEgICAqIGBYQVRUUmAg ICAgICAgICAgICAgLS0gb25lIGV4dGVuZGVkIGF0dHJpYnV0ZQo+PiAgIC8vISAgICogLi4uICAg ICAgICAgICAgICAgICAtLSBtb3JlIG9mIHRoZXNlIHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlIGRl ZmluZWQKPj4gQEAgLTc5LDYgKzgwLDggQEAgcHViIG1vZCBtb2RlIHsKPj4gICB9Cj4+ICAgCj4+ ICAgLy8gR2VuZXJhdGVkIGJ5IGBjYXJnbyBydW4gLS1leGFtcGxlIG1rLWZvcm1hdC1oYXNoZXNg Cj4+ICsvLy8gUHhhciBmb3JtYXQgdmVyc2lvbiBlbnRyeSwgZmFsbGJhY2sgdG8gdmVyc2lvbiAx IGlmIG5vdCBwcmVzZW50Cj4+ICtwdWIgY29uc3QgUFhBUl9GT1JNQVRfVkVSU0lPTjogdTY0ID0g MHg3MzBmNmM3NWRmMTZhNDBkOwo+PiAgIC8vLyBCZWdpbm5pbmcgb2YgYW4gZW50cnkgKGN1cnJl bnQgdmVyc2lvbikuCj4+ICAgcHViIGNvbnN0IFBYQVJfRU5UUlk6IHU2NCA9IDB4ZDU5NTY0NzRl NTg4YWNlZjsKPj4gICAvLy8gUHJldmlvdXMgdmVyc2lvbiBvZiB0aGUgZW50cnkgc3RydWN0Cj4+ IEBAIC0xNzcsNiArMTgwLDcgQEAgaW1wbCBIZWFkZXIgewo+PiAgIGltcGwgRGlzcGxheSBmb3Ig SGVhZGVyIHsKPj4gICAgICAgZm4gZm10KCZzZWxmLCBmOiAmbXV0IGZtdDo6Rm9ybWF0dGVyPCdf PikgLT4gZm10OjpSZXN1bHQgewo+PiAgICAgICAgICAgbGV0IHJlYWRhYmxlID0gbWF0Y2ggc2Vs Zi5odHlwZSB7Cj4+ICsgICAgICAgICAgICBQWEFSX0ZPUk1BVF9WRVJTSU9OID0+ICJGT1JNQVRf VkVSU0lPTiIsCj4+ICAgICAgICAgICAgICAgUFhBUl9GSUxFTkFNRSA9PiAiRklMRU5BTUUiLAo+ PiAgICAgICAgICAgICAgIFBYQVJfU1lNTElOSyA9PiAiU1lNTElOSyIsCj4+ICAgICAgICAgICAg ICAgUFhBUl9IQVJETElOSyA9PiAiSEFSRExJTksiLAo+PiBAQCAtNTQwLDYgKzU0NCwyMSBAQCBp bXBsIEZyb208JnN0ZDo6ZnM6Ok1ldGFkYXRhPiBmb3IgU3RhdCB7Cj4+ICAgICAgIH0KPj4gICB9 Cj4+ICAgCj4+ICsjW2Rlcml2ZShDbG9uZSwgRGVidWcsIERlZmF1bHQsIFBhcnRpYWxFcSldCj4+ ICtwdWIgZW51bSBGb3JtYXRWZXJzaW9uIHsKPj4gKyAgICAjW2RlZmF1bHRdCj4+ICsgICAgVmVy c2lvbjEsCj4+ICt9Cj4+ICsKPj4gK2ltcGwgRm9ybWF0VmVyc2lvbiB7Cj4+ICsgICAgcHViIGZu IGRlc2VyaWFsaXplKHZlcnNpb246IHU2NCkgLT4gUmVzdWx0PEZvcm1hdFZlcnNpb24sIGlvOjpF cnJvcj4gewo+PiArICAgICAgICBtYXRjaCB2ZXJzaW9uIHsKPj4gKyAgICAgICAgICAgIDF1NjQg PT4gT2soRm9ybWF0VmVyc2lvbjo6VmVyc2lvbjEpLAo+IAo+IHRoZSAxdTY0IGhlcmUgaXMgd3Jv bmcsIHJpZ2h0PyBpdCBjYW4ndCBldmVyIGJlIGVuY29kZWQgdGhhdCB3YXkuLiBzbwo+IHRoaXMg Y2FuIGdvIHN0cmFpZ2h0IHRvIGlvX2JhaWwhLCBvciB3ZSBjYW4gZXZlbiBza2lwIHRoZSBkZXNl cmlhbGl6ZQo+IGFsdG9nZXRoZXIgYW5kIGp1c3QgaW5saW5lIHRoYXQgYmFpbCBhYm92ZSBpbiBg cmVhZF9mb3JtYXRfdmVyc2lvbmAKClNhbWUgYXMgYWJvdmUsIEkgdHJpZWQgdG8ga2VlcCB0aGUg bG9naWMgc2ltaWxhciB0byBjdXJyZW50IG1hc3RlciwgYnV0IApjYW4gZHJvcCB0aGlzIGFzIHdl bGwuCgo+IAo+PiArICAgICAgICAgICAgdmVyc2lvbiA9PiBpb19iYWlsISgiaW5jb21wYXRpYmxl IGZvcm1hdCB2ZXJzaW9uIHt2ZXJzaW9ufSIpCj4+ICsgICAgICAgIH0KPj4gKyAgICB9Cj4+ICt9 Cj4+ICsKPj4gICAjW2Rlcml2ZShDbG9uZSwgRGVidWcpXQo+PiAgIHB1YiBzdHJ1Y3QgRmlsZW5h bWUgewo+PiAgICAgICBwdWIgbmFtZTogVmVjPHU4PiwKPj4gZGlmZiAtLWdpdCBhL3NyYy9saWIu cnMgYi9zcmMvbGliLnJzCj4+IGluZGV4IDIxMGM0YjEuLmI2M2Q0M2MgMTAwNjQ0Cj4+IC0tLSBh L3NyYy9saWIucnMKPj4gKysrIGIvc3JjL2xpYi5ycwo+PiBAQCAtMzQyLDYgKzM0Miw5IEBAIGlt cGwgQWNsIHsKPj4gICAvLy8gSWRlbnRpZmllcyB3aGV0aGVyIHRoZSBlbnRyeSBpcyBhIGZpbGUs IHN5bWxpbmssIGRpcmVjdG9yeSwgZXRjLgo+PiAgICNbZGVyaXZlKENsb25lLCBEZWJ1ZyldCj4+ ICAgcHViIGVudW0gRW50cnlLaW5kIHsKPj4gKyAgICAvLy8gUHhhciBmaWxlIGZvcm1hdCB2ZXJz aW9uCj4+ICsgICAgVmVyc2lvbihmb3JtYXQ6OkZvcm1hdFZlcnNpb24pLAo+PiArCj4gCj4gaWYg d2UgbmV2ZXIgY29uc3RydWN0IHN1Y2ggYW4gZW50cnksIHNpbmNlIGl0IGlzIGFsd2F5cyBjb25z aWRlcmVkCj4gaW52YWxpZCwgd2UgY2FuIHNraXAgdGhpcz8KCldpbGwgZHJvcCB0aGlzIGFzIHdl bGwKCj4gCj4+ICAgICAgIC8vLyBTeW1ib2xpYyBsaW5rcy4KPj4gICAgICAgU3ltbGluayhmb3Jt YXQ6OlN5bWxpbmspLAo+PiAgIAo+PiBkaWZmIC0tZ2l0IGEvdGVzdHMvc2ltcGxlL2ZzLnJzIGIv dGVzdHMvc2ltcGxlL2ZzLnJzCj4+IGluZGV4IDlhODljNGQuLmZkMTNlNjUgMTAwNjQ0Cj4+IC0t LSBhL3Rlc3RzL3NpbXBsZS9mcy5ycwo+PiArKysgYi90ZXN0cy9zaW1wbGUvZnMucnMKPj4gQEAg LTIyOSw2ICsyMjksNyBAQCBpbXBsIEVudHJ5IHsKPj4gICAgICAgICAgICAgICAgICAgICAgIH0p PykpCj4+ICAgICAgICAgICAgICAgICAgIH07Cj4+ICAgICAgICAgICAgICAgbWF0Y2ggaXRlbS5r aW5kKCkgewo+PiArICAgICAgICAgICAgICAgIFB4YXJFbnRyeUtpbmQ6OlZlcnNpb24oXykgPT4g Y29udGludWUsCj4gCj4gYW5kIGFzIGEgcmVzdWx0LCB0aGlzPwoKU2FtZSwgZ2l2ZW4gdGhhdCBJ IHRoaW5rIHRoaXMgd291bGQgbm90IGV2ZW4gcmVxdWlyZSB0aGUgcGF0Y2hlcyBvbiB0aGUgCnBi cyBzaWRlIGFueW1vcmUsIGFzIHRoZSBkZWNvZGVyL2FjY2Vzc29yIHdpbGwgYWx3YXlzIGZhaWwg YW55d2F5LgoKPiAKPj4gICAgICAgICAgICAgICAgICAgUHhhckVudHJ5S2luZDo6R29vZGJ5ZVRh YmxlID0+IGJyZWFrLAo+PiAgICAgICAgICAgICAgICAgICBQeGFyRW50cnlLaW5kOjpGaWxlIHsg c2l6ZSwgLi4gfSA9PiB7Cj4+ICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXV0IGRhdGEgPSBW ZWM6Om5ldygpOwo+PiAtLSAKPj4gMi4zMC4yCj4+Cj4+Cj4+Cj4+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IHBicy1kZXZlbCBtYWlsaW5nIGxpc3QK Pj4gcGJzLWRldmVsQGxpc3RzLnByb3htb3guY29tCj4+IGh0dHBzOi8vbGlzdHMucHJveG1veC5j b20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3Bicy1kZXZlbAo+Pgo+Pgo+Pgo+IAo+IAo+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gcGJzLWRldmVs IG1haWxpbmcgbGlzdAo+IHBicy1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQo+IGh0dHBzOi8vbGlz dHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3Bicy1kZXZlbAo+IAo+IAoK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwYnMtZGV2 ZWwgbWFpbGluZyBsaXN0CnBicy1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3Rz LnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wYnMtZGV2ZWwK