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 CB2581FF38F for ; Tue, 21 May 2024 15:29:52 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2A54019052; Tue, 21 May 2024 15:30:09 +0200 (CEST) Message-ID: Date: Tue, 21 May 2024 15:30:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Dominik Csapak , Proxmox Backup Server development discussion References: <20240514103421.289431-1-c.ebner@proxmox.com> <20240514103421.289431-18-c.ebner@proxmox.com> Content-Language: en-US, de-DE From: Christian Ebner In-Reply-To: X-SPAM-LEVEL: Spam detection results: 0 AWL 0.025 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: [pbs-devel] [PATCH v6 proxmox-backup 17/65] client: pxar: combine writers into struct 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" T24gNS8yMS8yNCAxMjoyOSwgRG9taW5payBDc2FwYWsgd3JvdGU6Cj4gbml0IGlubGluZToKPiAK PiBPbiA1LzE0LzI0IDEyOjMzLCBDaHJpc3RpYW4gRWJuZXIgd3JvdGU6Cj4+IEludHJvZHVjZSBh IGBQeGFyV3JpdGVyc2Agc3RydWN0IHRvIGJ1bmRsZSBhbGwgd3JpdGVyIGluc3RhbmNlcwo+PiBy ZXF1aXJlZCBmb3IgdGhlIHB4YXIgYXJjaGl2ZSBjcmVhdGlvbiBpbnRvIGEgc2luZ2xlIG9iamVj dCB0byBsaW1pdAo+PiB0aGUgbnVtYmVyIG9mIGZ1bmN0aW9uIGNhbGwgcGFyYW1ldGVycywgYWxs b3dpbmcgdG8gZXh0ZW5kIHRoaXMKPj4gZnVydGhlciBieSBlLmcuIHRoZSBvcHRpb25hbCBwYXls b2FkIHdyaXRlciBpbnN0YW5jZS4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEVibmVy IDxjLmVibmVyQHByb3htb3guY29tPgo+PiAtLS0KPj4gwqAgcGJzLWNsaWVudC9zcmMvcHhhci9j cmVhdGUucnPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTggKysrKysrKysr KysrKystLS0tCj4+IMKgIHBicy1jbGllbnQvc3JjL3B4YXIvbW9kLnJzwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMiArLQo+PiDCoCBwYnMtY2xpZW50L3NyYy9w eGFyX2JhY2t1cF9zdHJlYW0ucnPCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgNSArKystLQo+PiDC oCAuLi4vc3JjL3Byb3htb3hfcmVzdG9yZV9kYWVtb24vYXBpLnJzwqDCoMKgwqDCoMKgwqDCoMKg IHzCoCA2ICsrKystLQo+PiDCoCBweGFyLWJpbi9zcmMvbWFpbi5yc8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDYgKysrLS0tCj4+IMKgIHRl c3RzL2NhdGFyLnJzwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMyArLS0KPj4gwqAgNiBmaWxlcyBjaGFuZ2VkLCAyNiBp bnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL3Bicy1jbGll bnQvc3JjL3B4YXIvY3JlYXRlLnJzIAo+PiBiL3Bicy1jbGllbnQvc3JjL3B4YXIvY3JlYXRlLnJz Cj4+IGluZGV4IGM5YmY2ZGY4NS4uODJmMDU4ODliIDEwMDY0NAo+PiAtLS0gYS9wYnMtY2xpZW50 L3NyYy9weGFyL2NyZWF0ZS5ycwo+PiArKysgYi9wYnMtY2xpZW50L3NyYy9weGFyL2NyZWF0ZS5y cwo+PiBAQCAtMTM1LDEyICsxMzUsMjIgQEAgc3RydWN0IEFyY2hpdmVyIHsKPj4gwqAgdHlwZSBF bmNvZGVyPCdhLCBUPiA9IHB4YXI6OmVuY29kZXI6OmFpbzo6RW5jb2RlcjwnYSwgVD47Cj4+ICtw dWIgc3RydWN0IFB4YXJXcml0ZXJzPFQ+IHsKPj4gK8KgwqDCoCB3cml0ZXI6IFQsCj4gCj4gbml0 OiBpbWhvLCBpIHdvdWxkbid0IGNhbGwgdGhhdCAnd3JpdGVyJyBhcyB3ZSdyZSBhbHJlYWR5IGtu b3cgdGhhdCBmcm9tIAo+IHRoZSBzdHJ1Y3QgbmFtZQo+IGFuZCBvZnRlbiBmcm9tIHRoZSB2YXJp YWJsZSBuYW1lIChlLmcuIHNlZSBiZWxvdyAnd3JpdGVycy53cml0ZXInIGlzIAo+IGp1c3QgY29u ZnVzaW5nKQo+IAo+IGhvdyBhYm91dCBhcmNoaXZlL21haW4vcHhhci8uLi4gPwoKWWVzIHRoZSBg d3JpdGVyYCBpcyByYXRoZXIgb3BhcXVlIGFuZCBJIGp1c3Qga2VlcCB0aGUgY3VycmVudCBuYW1p bmcgCmhlcmUuIEkgd2lsbCBvcHQgZm9yIHJlbmFtaW5nIHRoaXMgdG8gYGFyY2hpdmVfd3JpdGVy YCwgdG8gYmUgY29uc2lzdGVudCAKd2l0aCB0aGUgYHBheWxvYWRfd3JpdGVyYCwgYWx0aG91Z2gg dGhlIGBfd3JpdGVyYCBtaWdodCBiZSBhbWJpZ3VvdXMgCmJlY2F1c2UgdGhlIHN0cnVjdCBhbHJl YWR5IGdpdmVzIHRoYXQgY29udGV4dC4KCj4gCj4gd3JpdGVycy5weGFyICYgd3JpdGVycy5jYXRh bG9nIGlzIGltaG/CoCBtb3JlIHJlYWRhYmxlCj4gdGhhbiB3cml0ZXJzLndyaXRlciAmIHdyaXRl cnMuY2F0YWxvZwo+IAo+IGJ1dCBubyBoYXJkIGZlZWxpbmdzCj4gCj4+ICvCoMKgwqAgY2F0YWxv ZzogT3B0aW9uPEFyYzxNdXRleDxkeW4gQmFja3VwQ2F0YWxvZ1dyaXRlciArIFNlbmQ+Pj4sCj4+ ICt9Cj4+ICsKPj4gK2ltcGw8VD4gUHhhcldyaXRlcnM8VD4gewo+PiArwqDCoMKgIHB1YiBmbiBu ZXcod3JpdGVyOiBULCBjYXRhbG9nOiBPcHRpb248QXJjPE11dGV4PGR5biAKPj4gQmFja3VwQ2F0 YWxvZ1dyaXRlciArIFNlbmQ+Pj4pIC0+IFNlbGYgewo+PiArwqDCoMKgwqDCoMKgwqAgU2VsZiB7 IHdyaXRlciwgY2F0YWxvZyB9Cj4+ICvCoMKgwqAgfQo+PiArfQo+PiArCj4+IMKgIHB1YiBhc3lu YyBmbiBjcmVhdGVfYXJjaGl2ZTxULCBGPigKPj4gwqDCoMKgwqDCoCBzb3VyY2VfZGlyOiBEaXIs Cj4+IC3CoMKgwqAgbXV0IHdyaXRlcjogVCwKPj4gK8KgwqDCoCBtdXQgd3JpdGVyczogUHhhcldy aXRlcnM8VD4sCj4+IMKgwqDCoMKgwqAgZmVhdHVyZV9mbGFnczogRmxhZ3MsCj4+IMKgwqDCoMKg wqAgY2FsbGJhY2s6IEYsCj4+IC3CoMKgwqAgY2F0YWxvZzogT3B0aW9uPEFyYzxNdXRleDxkeW4g QmFja3VwQ2F0YWxvZ1dyaXRlciArIFNlbmQ+Pj4sCj4+IMKgwqDCoMKgwqAgb3B0aW9uczogUHhh ckNyZWF0ZU9wdGlvbnMsCj4+IMKgICkgLT4gUmVzdWx0PCgpLCBFcnJvcj4KPj4gwqAgd2hlcmUK Pj4gQEAgLTE3MCw3ICsxODAsNyBAQCB3aGVyZQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgc2V0Lmlu c2VydChzdGF0LnN0X2Rldik7Cj4+IMKgwqDCoMKgwqAgfQo+PiAtwqDCoMKgIGxldCBtdXQgZW5j b2RlciA9IEVuY29kZXI6Om5ldygmbXV0IHdyaXRlciwgJm1ldGFkYXRhLCBOb25lKS5hd2FpdD87 Cj4+ICvCoMKgwqAgbGV0IG11dCBlbmNvZGVyID0gRW5jb2Rlcjo6bmV3KCZtdXQgd3JpdGVycy53 cml0ZXIsICZtZXRhZGF0YSwgCj4+IE5vbmUpLmF3YWl0PzsKPj4gwqDCoMKgwqDCoCBsZXQgbXV0 IHBhdHRlcm5zID0gb3B0aW9ucy5wYXR0ZXJuczsKPj4gQEAgLTE4OCw3ICsxOTgsNyBAQCB3aGVy ZQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZnNfbWFnaWMsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBj YWxsYmFjazogQm94OjpuZXcoY2FsbGJhY2spLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcGF0dGVy bnMsCj4+IC3CoMKgwqDCoMKgwqDCoCBjYXRhbG9nLAo+PiArwqDCoMKgwqDCoMKgwqAgY2F0YWxv Zzogd3JpdGVycy5jYXRhbG9nLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcGF0aDogUGF0aEJ1Zjo6 bmV3KCksCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBlbnRyeV9jb3VudGVyOiAwLAo+PiDCoMKgwqDC oMKgwqDCoMKgwqAgZW50cnlfbGltaXQ6IG9wdGlvbnMuZW50cmllc19tYXgsCj4+IGRpZmYgLS1n aXQgYS9wYnMtY2xpZW50L3NyYy9weGFyL21vZC5ycyBiL3Bicy1jbGllbnQvc3JjL3B4YXIvbW9k LnJzCj4+IGluZGV4IDE0Njc0YjliOS4uYjdkY2Y4MzYyIDEwMDY0NAo+PiAtLS0gYS9wYnMtY2xp ZW50L3NyYy9weGFyL21vZC5ycwo+PiArKysgYi9wYnMtY2xpZW50L3NyYy9weGFyL21vZC5ycwo+ PiBAQCAtNTYsNyArNTYsNyBAQCBwdWIoY3JhdGUpIG1vZCB0b29sczsKPj4gwqAgbW9kIGZsYWdz Owo+PiDCoCBwdWIgdXNlIGZsYWdzOjpGbGFnczsKPj4gLXB1YiB1c2UgY3JlYXRlOjp7Y3JlYXRl X2FyY2hpdmUsIFB4YXJDcmVhdGVPcHRpb25zfTsKPj4gK3B1YiB1c2UgY3JlYXRlOjp7Y3JlYXRl X2FyY2hpdmUsIFB4YXJDcmVhdGVPcHRpb25zLCBQeGFyV3JpdGVyc307Cj4+IMKgIHB1YiB1c2Ug ZXh0cmFjdDo6ewo+PiDCoMKgwqDCoMKgIGNyZWF0ZV90YXIsIGNyZWF0ZV96aXAsIGV4dHJhY3Rf YXJjaGl2ZSwgZXh0cmFjdF9zdWJfZGlyLCAKPj4gZXh0cmFjdF9zdWJfZGlyX3NlcSwgRXJyb3JI YW5kbGVyLAo+PiDCoMKgwqDCoMKgIE92ZXJ3cml0ZUZsYWdzLCBQeGFyRXh0cmFjdENvbnRleHQs IFB4YXJFeHRyYWN0T3B0aW9ucywKPj4gZGlmZiAtLWdpdCBhL3Bicy1jbGllbnQvc3JjL3B4YXJf YmFja3VwX3N0cmVhbS5ycyAKPj4gYi9wYnMtY2xpZW50L3NyYy9weGFyX2JhY2t1cF9zdHJlYW0u cnMKPj4gaW5kZXggMjJhNmZmZGMyLi5iZmExMDhhOGIgMTAwNjQ0Cj4+IC0tLSBhL3Bicy1jbGll bnQvc3JjL3B4YXJfYmFja3VwX3N0cmVhbS5ycwo+PiArKysgYi9wYnMtY2xpZW50L3NyYy9weGFy X2JhY2t1cF9zdHJlYW0ucnMKPj4gQEAgLTE3LDYgKzE3LDggQEAgdXNlIHByb3htb3hfaW86OlN0 ZENoYW5uZWxXcml0ZXI7Cj4+IMKgIHVzZSBwYnNfZGF0YXN0b3JlOjpjYXRhbG9nOjpDYXRhbG9n V3JpdGVyOwo+PiArdXNlIGNyYXRlOjpweGFyOjpjcmVhdGU6OlB4YXJXcml0ZXJzOwo+PiArCj4+ IMKgIC8vLyBTdHJlYW0gaW1wbGVtZW50YXRpb24gdG8gZW5jb2RlIGFuZCB1cGxvYWQgLnB4YXIg YXJjaGl2ZXMuCj4+IMKgIC8vLwo+PiDCoCAvLy8gVGhlIGh5cGVyIGNsaWVudCBuZWVkcyBhbiBh c3luYyBTdHJlYW0gZm9yIGZpbGUgdXBsb2FkLCBzbyB3ZQo+PiBAQCAtNTYsMTMgKzU4LDEyIEBA IGltcGwgUHhhckJhY2t1cFN0cmVhbSB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGxl dCB3cml0ZXIgPSAKPj4gcHhhcjo6ZW5jb2Rlcjo6c3luYzo6U3RhbmRhcmRXcml0ZXI6Om5ldyh3 cml0ZXIpOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBsZXQgRXJyKGVycikgPSBj cmF0ZTo6cHhhcjo6Y3JlYXRlX2FyY2hpdmUoCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgZGlyLAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHdyaXRlciwK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBQeGFyV3JpdGVyczo6bmV3KHdyaXRl ciwgU29tZShjYXRhbG9nKSksCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg Y3JhdGU6OnB4YXI6OkZsYWdzOjpERUZBVUxULAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIG1vdmUgfHBhdGh8IHsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGxvZzo6ZGVidWchKCJ7Oj99IiwgcGF0aCk7Cj4+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBPaygoKSkKPj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB9LAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFNv bWUoY2F0YWxvZyksCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb3B0aW9u cywKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAuYXdhaXQKPj4gZGlmZiAtLWdpdCBhL3Byb3htb3gtcmVzdG9yZS1kYWVtb24vc3Jj L3Byb3htb3hfcmVzdG9yZV9kYWVtb24vYXBpLnJzIAo+PiBiL3Byb3htb3gtcmVzdG9yZS1kYWVt b24vc3JjL3Byb3htb3hfcmVzdG9yZV9kYWVtb24vYXBpLnJzCj4+IGluZGV4IGMyMDU1MjIyNS4u MWVlMjAwNTczIDEwMDY0NAo+PiAtLS0gYS9wcm94bW94LXJlc3RvcmUtZGFlbW9uL3NyYy9wcm94 bW94X3Jlc3RvcmVfZGFlbW9uL2FwaS5ycwo+PiArKysgYi9wcm94bW94LXJlc3RvcmUtZGFlbW9u L3NyYy9wcm94bW94X3Jlc3RvcmVfZGFlbW9uL2FwaS5ycwo+PiBAQCAtMjMsNyArMjMsOSBAQCB1 c2UgcHJveG1veF9zb3J0YWJsZV9tYWNybzo6c29ydGFibGU7Cj4+IMKgIHVzZSBwcm94bW94X3N5 czo6ZnM6OnJlYWRfc3ViZGlyOwo+PiDCoCB1c2UgcGJzX2FwaV90eXBlczo6ZmlsZV9yZXN0b3Jl Ojp7RmlsZVJlc3RvcmVGb3JtYXQsIAo+PiBSZXN0b3JlRGFlbW9uU3RhdHVzfTsKPj4gLXVzZSBw YnNfY2xpZW50OjpweGFyOjp7Y3JlYXRlX2FyY2hpdmUsIEZsYWdzLCBQeGFyQ3JlYXRlT3B0aW9u cywgCj4+IEVOQ09ERVJfTUFYX0VOVFJJRVN9Owo+PiArdXNlIHBic19jbGllbnQ6OnB4YXI6OnsK Pj4gK8KgwqDCoCBjcmVhdGVfYXJjaGl2ZSwgRmxhZ3MsIFB4YXJDcmVhdGVPcHRpb25zLCBQeGFy V3JpdGVycywgCj4+IEVOQ09ERVJfTUFYX0VOVFJJRVMsCj4+ICt9Owo+PiDCoCB1c2UgcGJzX2Rh dGFzdG9yZTo6Y2F0YWxvZzo6e0FyY2hpdmVFbnRyeSwgRGlyRW50cnlBdHRyaWJ1dGV9Owo+PiDC oCB1c2UgcGJzX3Rvb2xzOjpqc29uOjpyZXF1aXJlZF9zdHJpbmdfcGFyYW07Cj4+IEBAIC0zNTYs NyArMzU4LDcgQEAgZm4gZXh0cmFjdCgKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIH07Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBsZXQgcHhhcl93cml0ZXIgPSBUb2tpb1dyaXRlcjo6bmV3KHdyaXRlcik7Cj4+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjcmVhdGVfYXJjaGl2ZShkaXIsIHB4 YXJfd3JpdGVyLCBGbGFnczo6REVGQVVMVCwgCj4+IHxffCBPaygoKSksIE5vbmUsIG9wdGlvbnMp Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjcmVhdGVfYXJjaGl2 ZShkaXIsIFB4YXJXcml0ZXJzOjpuZXcocHhhcl93cml0ZXIsIAo+PiBOb25lKSwgRmxhZ3M6OkRF RkFVTFQsIHxffCBPaygoKSksIG9wdGlvbnMpCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5hd2FpdAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIH0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuYXdh aXQ7Cj4+IGRpZmYgLS1naXQgYS9weGFyLWJpbi9zcmMvbWFpbi5ycyBiL3B4YXItYmluL3NyYy9t YWluLnJzCj4+IGluZGV4IGQ0NzVkYTRlMy4uYWUyMzI1MDc4IDEwMDY0NAo+PiAtLS0gYS9weGFy LWJpbi9zcmMvbWFpbi5ycwo+PiArKysgYi9weGFyLWJpbi9zcmMvbWFpbi5ycwo+PiBAQCAtMTMs NyArMTMsOCBAQCB1c2UgdG9raW86OnNpZ25hbDo6dW5peDo6e3NpZ25hbCwgU2lnbmFsS2luZH07 Cj4+IMKgIHVzZSBwYXRocGF0dGVybnM6OntNYXRjaEVudHJ5LCBNYXRjaFR5cGUsIFBhdHRlcm5G bGFnfTsKPj4gwqAgdXNlIHBic19jbGllbnQ6OnB4YXI6OnsKPj4gLcKgwqDCoCBmb3JtYXRfc2lu Z2xlX2xpbmVfZW50cnksIEZsYWdzLCBPdmVyd3JpdGVGbGFncywgCj4+IFB4YXJFeHRyYWN0T3B0 aW9ucywgRU5DT0RFUl9NQVhfRU5UUklFUywKPj4gK8KgwqDCoCBmb3JtYXRfc2luZ2xlX2xpbmVf ZW50cnksIEZsYWdzLCBPdmVyd3JpdGVGbGFncywgCj4+IFB4YXJFeHRyYWN0T3B0aW9ucywgUHhh cldyaXRlcnMsCj4+ICvCoMKgwqAgRU5DT0RFUl9NQVhfRU5UUklFUywKPj4gwqAgfTsKPj4gwqAg dXNlIHByb3htb3hfcm91dGVyOjpjbGk6Oio7Cj4+IEBAIC0zNzYsMTMgKzM3NywxMiBAQCBhc3lu YyBmbiBjcmVhdGVfYXJjaGl2ZSgKPj4gwqDCoMKgwqDCoCBsZXQgd3JpdGVyID0gcHhhcjo6ZW5j b2Rlcjo6c3luYzo6U3RhbmRhcmRXcml0ZXI6Om5ldyh3cml0ZXIpOwo+PiDCoMKgwqDCoMKgIHBi c19jbGllbnQ6OnB4YXI6OmNyZWF0ZV9hcmNoaXZlKAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZGly LAo+PiAtwqDCoMKgwqDCoMKgwqAgd3JpdGVyLAo+PiArwqDCoMKgwqDCoMKgwqAgUHhhcldyaXRl cnM6Om5ldyh3cml0ZXIsIE5vbmUpLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZmVhdHVyZV9mbGFn cywKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIG1vdmUgfHBhdGh8IHsKPj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgbG9nOjpkZWJ1ZyEoIns6P30iLCBwYXRoKTsKPj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgT2soKCkpCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9LAo+PiAtwqDCoMKgwqDC oMKgwqAgTm9uZSwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIG9wdGlvbnMsCj4+IMKgwqDCoMKgwqAg KQo+PiDCoMKgwqDCoMKgIC5hd2FpdD87Cj4+IGRpZmYgLS1naXQgYS90ZXN0cy9jYXRhci5ycyBi L3Rlc3RzL2NhdGFyLnJzCj4+IGluZGV4IDM2YmI0ZjNiYy4uZjQxNGRhOGM5IDEwMDY0NAo+PiAt LS0gYS90ZXN0cy9jYXRhci5ycwo+PiArKysgYi90ZXN0cy9jYXRhci5ycwo+PiBAQCAtMzUsMTAg KzM1LDkgQEAgZm4gcnVuX3Rlc3QoZGlyX25hbWU6ICZzdHIpIC0+IFJlc3VsdDwoKSwgRXJyb3I+ IHsKPj4gwqDCoMKgwqDCoCBsZXQgcnQgPSB0b2tpbzo6cnVudGltZTo6UnVudGltZTo6bmV3KCku dW53cmFwKCk7Cj4+IMKgwqDCoMKgwqAgcnQuYmxvY2tfb24oY3JlYXRlX2FyY2hpdmUoCj4+IMKg wqDCoMKgwqDCoMKgwqDCoCBkaXIsCj4+IC3CoMKgwqDCoMKgwqDCoCB3cml0ZXIsCj4+ICvCoMKg wqDCoMKgwqDCoCBQeGFyV3JpdGVyczo6bmV3KHdyaXRlciwgTm9uZSksCj4+IMKgwqDCoMKgwqDC oMKgwqDCoCBGbGFnczo6REVGQVVMVCwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHxffCBPaygoKSks Cj4+IC3CoMKgwqDCoMKgwqDCoCBOb25lLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgb3B0aW9ucywK Pj4gwqDCoMKgwqDCoCApKT87Cj4gCj4gCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCnBicy1kZXZlbCBtYWlsaW5nIGxpc3QKcGJzLWRldmVsQGxpc3Rz LnByb3htb3guY29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xp c3RpbmZvL3Bicy1kZXZlbAo=