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 280231FF16B for ; Thu, 9 Jan 2025 12:07:30 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 321BFBE97; Thu, 9 Jan 2025 12:07:15 +0100 (CET) Date: Thu, 9 Jan 2025 12:06:40 +0100 From: Wolfgang Bumiller To: Max Carrara Message-ID: References: <20241220185207.519912-1-m.carrara@proxmox.com> <20241220185207.519912-2-m.carrara@proxmox.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-SPAM-LEVEL: Spam detection results: 0 AWL -2.419 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_SOMETLD_ARE_BAD_TLD 5 .bar, .beauty, .buzz, .cam, .casa, .cfd, .club, .date, .guru, .link, .live, .monster, .online, .press, .pw, .quest, .rest, .sbs, .shop, .stream, .top, .trade, .wiki, .work, .xyz TLD abuse RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. 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. [rust-lang.org, foo.bar, python.org, cppreference.com] Subject: Re: [pve-devel] [PATCH v2 pve-common 01/12] introduce PVE::Path 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: 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" T24gVGh1LCBKYW4gMDksIDIwMjUgYXQgMTA6NTY6MTZBTSArMDEwMCwgTWF4IENhcnJhcmEgd3Jv dGU6Cj4gT24gV2VkIEphbiA4LCAyMDI1IGF0IDM6MDUgUE0gQ0VULCBXb2xmZ2FuZyBCdW1pbGxl ciB3cm90ZToKPiA+IE9uIEZyaSwgRGVjIDIwLCAyMDI0IGF0IDA3OjUxOjU2UE0gKzAxMDAsIE1h eCBDYXJyYXJhIHdyb3RlOgo+ID4gPiArbXkgc3ViIF9wYXRoX2ZpbGVfc3VmZml4ZXMgOiBwcm90 b3R5cGUoJCkgewo+ID4gPiArICAgIG15ICgkZmlsZV9uYW1lX25vX3ByZWZpeCkgPSBAXzsKPiA+ ID4gKwo+ID4gPiArICAgIGNvbmZlc3MgIlwkZmlsZV9uYW1lX25vX3ByZWZpeCBpcyB1bmRlZiIg aWYgIWRlZmluZWQoJGZpbGVfbmFtZV9ub19wcmVmaXgpOwo+ID4gPiArCj4gPiA+ICsgICAgIyBT dWZmaXhlcyBhcmUgZXh0cmFjdGVkICJtYW51YWxseSIgYmVjYXVzZSBqb2luKClpbmcgdGhlIHJl c3VsdCBvZiBzcGxpdCgpCj4gPiA+ICsgICAgIyByZXN1bHRzIGluIGEgZGlmZmVyZW50IGZpbGUg bmFtZSB0aGFuIHRoZSBvcmlnaW5hbC4gTGV0J3Mgc2F5IHlvdSBoYXZlIGEKPiA+ID4gKyAgICAj IGZpbGUgbmFtZWQgImZvby5iYXIuIi4gVGhlIGNvcnJlY3Qgc3VmZml4ZXMgd291bGQgYmUgKCJi YXIiLCAiIikuCj4gPiA+ICsgICAgIyBXaXRoIHNwbGl0LCB5b3UgZ2V0IHRoZSBmb2xsb3dpbmc6 Cj4gPiA+ICsgICAgIyAgICAgc3BsaXQoL1wuLywgIi5iYXIuIikgICAgIC0tPiAoIiIsICJiYXIi KSAgICAgLS0+IGpvaW4oKWVkIHRvICJmb28uLmJhciIKPiA+ID4gKyAgICAjICAgICBzcGxpdCgv XC4vLCAiLmJhci4iLCAtMSkgLS0+ICgiIiwgImJhciIsICIiKSAtLT4gam9pbigpZWQgdG8gImZv by4uYmFyLiIKPiA+ID4gKyAgICBteSBAc3VmZml4ZXMgPSAoKTsKPiA+ID4gKyAgICB3aGlsZSAo JGZpbGVfbmFtZV9ub19wcmVmaXggPX4gc3xeKFwuW15cLl0qKXx8KSB7Cj4gPiA+ICsJbXkgJHN1 ZmZpeCA9ICQxOwo+ID4gPiArCSRzdWZmaXggPX4gc3xeXC58fDsKPiA+ID4gKwlwdXNoKEBzdWZm aXhlcywgJHN1ZmZpeCk7Cj4gPiA+ICsgICAgfQo+ID4gPiArCj4gPiA+ICsgICAgcmV0dXJuIEBz dWZmaXhlczsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiArPWhlYWQzIHBhdGhfZmlsZV9zdWZmaXhl cygkcGF0aCkKPiA+ID4gKwo+ID4gPiArUmV0dXJucyB0aGUgc3VmZml4ZXMgb2YgdGhlIEM8JHBh dGg+J3MgZmlsZSBuYW1lIGFzIGEgbGlzdC4gSWYgdGhlIEM8JHBhdGg+IGRvZXMKPiA+ID4gK25v dCBoYXZlIGEgdmFsaWQgZmlsZSBuYW1lLCBhbiBlbXB0eSBsaXN0IGlzIHJldHVybmVkIGluc3Rl YWQuCj4gPiA+ICsKPiA+ID4gK0luIHNjYWxhciBjb250ZXh0LCByZXR1cm5zIGEgcmVmZXJlbmNl IHRvIGEgbGlzdC4KPiA+Cj4gPiAoXiBJc24ndCB0aGlzIGEgYml0IGF3a3dhcmQ/KQo+IAo+IFdl bGwsIGRvIHlvdSB0aGluayBpdCBpcz8gSSd2ZSBiZWVuIHVzaW5nIHRoYXQga2luZCBvZiAicmV0 dXJuIHN0eWxlIgo+IGhlcmUgYW5kIHRoZXJlIGFuZCBoYXZlIGJlZW4gbGlraW5nIGl0LCBidXQg aWYgaXQncyB3ZWlyZCB0byBvdGhlcnMsIEkKPiBjYW4gYWRhcHQgaXQuIDpQCgpJZiB5b3UgcmVt b3ZlIHRoZSBkaXN0aW5jdGlvbiBhbmQgYWx3YXlzIHJldHVybiB0aGUgbGlzdCwgdGhlIHNjYWxh cgpjb250ZXh0IHdvdWxkIGdpdmUgeW91IHRoZSBmaW5hbCBlbGVtZW50LCB3aGljaCB3b3VsZCBi ZSAidGhlIGV4dGVuc2lvbiIKKCdneicsIG5vdCAndGFyLmd6JyA6UCksIHdoaWNoIHdvdWxkIGFs c28gYmUgYSBuaWNlIHNob3J0Y3V0IGZvciB3aGF0CkknZCBhbnRpY2lwYXRlIHRvIGJlIG9uZSBv ZiB0aGUgbW9zdCBjb21tb24oPykgdXNlcy4KCj4gCj4gPgo+ID4gPiArCj4gPiA+ICtUaGUgc3Vm Zml4ZXMgb2YgYSBwYXRoIGFyZSBlc3NlbnRpYWxseSB0aGUgZmlsZSBuYW1lJ3MgZXh0ZW5zaW9u cywgdGhlIHBhcnRzCj4gPiA+ICt0aGF0IGNvbWUgYWZ0ZXIgdGhlIEw8PCBwcmVmaXh8LyJwYXRo X2ZpbGVfcHJlZml4KCRwYXRoKSIgPj4uCj4gPiA+ICsKPiA+ID4gKyAgICBteSBAc3VmZml4ZXMg PSBwYXRoX2ZpbGVfc3VmZml4ZXMoIi9ldGMvcmVzb2x2LmNvbmYiKTsKPiA+ID4gKyAgICAjICgi Y29uZiIpCj4gPiA+ICsKPiA+ID4gKyAgICBteSAkc3VmZml4ZXMgPSBwYXRoX2ZpbGVfcHJlZml4 KCIvdG1wL2FyY2hpdmUudGFyLnpzdCIpOwo+ID4gPiArICAgICMgWyJ0YXIiLCAienN0Il0KPiA+ ID4gKwo+ID4gPiArVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiBDPCRwYXRoPiBpcyBDPHVuZGVmPi4K PiA+ID4gKwo+ID4gPiArPWN1dAo+ID4gPiArCj4gPiA+ICtzdWIgcGF0aF9maWxlX3N1ZmZpeGVz IDogcHJvdG90eXBlKCQpIHsKPiA+ID4gKyAgICBteSAoJHBhdGgpID0gQF87Cj4gPiA+ICsKPiA+ ID4gKyAgICBjcm9hayAiXCRwYXRoIGlzIHVuZGVmIiBpZiAhZGVmaW5lZCgkcGF0aCk7Cj4gPiA+ ICsKPiA+ID4gKyAgICBteSAkZmlsZV9uYW1lID0gcGF0aF9maWxlX25hbWUoJHBhdGgpOwo+ID4g PiArICAgIGlmICghZGVmaW5lZCgkZmlsZV9uYW1lKSkgewo+ID4gPiArCXJldHVybiB3YW50YXJy YXkgPyAoKSA6IFtdOwo+ID4gPiArICAgIH0KPiA+ID4gKwo+ID4gPiArICAgICh1bmRlZiwgJGZp bGVfbmFtZSkgPSBfcGF0aF9maWxlX3ByZWZpeCgkZmlsZV9uYW1lKTsKPiA+ID4gKwo+ID4gPiAr ICAgIG15IEBzdWZmaXhlcyA9IF9wYXRoX2ZpbGVfc3VmZml4ZXMoJGZpbGVfbmFtZSk7Cj4gPiA+ ICsKPiA+ID4gKyAgICByZXR1cm4gd2FudGFycmF5ID8gQHN1ZmZpeGVzIDogXEBzdWZmaXhlczsK PiA+ID4gK30KPiA+ID4gKwo+ID4gPiArPWhlYWQzIHBhdGhfd2l0aF9maWxlX3N1ZmZpeGVzKCRw YXRoLCBAc3VmZml4ZXMpCj4gPiA+ICsKPiA+ID4gK1JldHVybnMgQzwkcGF0aD4gd2l0aCBuZXcg QzxAc3VmZml4ZXM+LiBUaGlzIGlzIHNpbWlsYXIgdG8KPiA+ID4gK0M8TDw8IHBhdGhfd2l0aF9m aWxlX25hbWUoKXwvInBhdGhfd2l0aF9maWxlX25hbWUoJHBhdGgsICRmaWxlX25hbWUpIiA+Pj4s Cj4gPiA+ICtleGNlcHQgdGhhdCB0aGUgc3VmZml4ZXMgb2YgdGhlIGZpbGUgbmFtZSBhcmUgcmVw bGFjZWQuCj4gPiA+ICsKPiA+ID4gK0lmIHRoZSBDPCRwYXRoPiBkb2VzIG5vdCBoYXZlIGEgZmls ZSBuYW1lLCBDPHVuZGVmPiBpcyByZXR1cm5lZC4KPiA+ID4gKwo+ID4gPiArICAgIG15ICRuZXdf cGF0aCA9IHBhdGhfd2l0aF9maWxlX3N1ZmZpeGVzKCIvdG1wL2FyY2hpdmUudGFyLnpzdCIsICJw eGFyIiwgImd6Iik7Cj4gPiA+ICsgICAgIyAvdG1wL2FyY2hpdmUucHhhci5nego+ID4gPiArCj4g PiA+ICsgICAgbXkgJG5ld19wYXRoID0gcGF0aF93aXRoX2ZpbGVfc3VmZml4ZXMoIi90bXAvYXJj aGl2ZS50YXIuenN0IiwgImd6Iik7Cj4gPiA+ICsgICAgIyAvdG1wL2FyY2hpdmUuZ3oKPiA+ID4g Kwo+ID4gPiArSWYgdGhlIGZpbGUgbmFtZSBoYXMgbm8gc3VmZml4ZXMsIHRoZSBDPEBzdWZmaXhl cz4gYXJlIGFwcGVuZGVkIGluc3RlYWQ6Cj4gPiA+ICsKPiA+ID4gKyAgICBteSAkbmV3X3BhdGgg PSBwYXRoX3dpdGhfZmlsZV9zdWZmaXhlcygiL2V0Yy9yZXNvbHYiLCAiY29uZiIpOwo+ID4gPiAr ICAgICMgL2V0Yy9yZXNvbHYuY29uZgo+ID4gPiArCj4gPiA+ICsgICAgbXkgJG5ld19wYXRoID0g cGF0aF93aXRoX2ZpbGVfc3VmZml4ZXMoIi9ldGMvcmVzb2x2IiwgImNvbmYiLCAienN0Iik7Cj4g PiA+ICsgICAgIyAvZXRjL3Jlc29sdi5jb25mLnpzdAo+ID4gPiArCj4gPiA+ICtJZiB0aGVyZSBh cmUgbm8gQzxAc3VmZml4ZXM+IHByb3ZpZGVkLCB0aGUgZmlsZSBuYW1lJ3Mgc3VmZml4ZXMgd2ls bAo+ID4gPiArYmUgcmVtb3ZlZCAoaWYgdGhlcmUgYXJlIGFueSk6Cj4gPiA+ICsKPiA+ID4gKyAg ICBteSAkbmV3X3BhdGggPSBwYXRoX3dpdGhfZmlsZV9zdWZmaXhlcygiL3RtcC9hcmNoaXZlLnRh ci56c3QiKTsKPiA+ID4gKyAgICAjIC90bXAvYXJjaGl2ZQo+ID4gPiArCj4gPiA+ICtOb3RlIHRo YXQgYW4gZW1wdHkgc3RyaW5nIGlzIHN0aWxsIGEgdmFsaWQgc3VmZml4IChhbiAiZW1wdHkiIGZp bGUgZW5kaW5nKToKPiA+ID4gKwo+ID4gPiArICAgIG15ICRuZXdfcGF0aCA9IHBhdGhfd2l0aF9m aWxlX3N1ZmZpeGVzKCIvdG1wL2FyY2hpdmUudGFyLnpzdCIsICIiLCAiIiwgIiIsICJ6c3QiKTsK PiA+ID4gKyAgICAjIC90bXAvYXJjaGl2ZS4uLi56c3QKPiA+ID4gKwo+ID4gPiArVGhyb3dzIGFu IGV4Y2VwdGlvbiBpZiBDPCRwYXRoPiBvciBhbnkgb2YgdGhlIEM8QHN1ZmZpeGVzPiBpcyBDPHVu ZGVmPiwgb3IKPiA+ID4gK2lmIGFueSBzdWZmaXggY29udGFpbnMgYSBwYXRoIHNlcGFyYXRvciAo QzwvPikgb3IgYSBDPC4+Lgo+ID4gPiArCj4gPiA+ICs9Y3V0Cj4gPiA+ICsKPiA+ID4gK3N1YiBw YXRoX3dpdGhfZmlsZV9zdWZmaXhlcyA6IHByb3RvdHlwZSgkQCkgewo+ID4gPiArICAgIG15ICgk cGF0aCwgQHN1ZmZpeGVzKSA9IEBfOwo+ID4KPiA+IEkgYW0gcXVlc3Rpb25pbmcgYSBiaXQgdGhl IHNhbml0eSBvZiBoYXZpbmcgInN1ZmZpeGVzIiB0aHJvdWdob3V0IHRoaXMKPiA+IG1vZHVsZSBp bnN0ZWFkIG9mIHNpbXBseSBhbiAiZXh0ZW5zaW9uIiB0aGF0IGNvdmVycyB0aGVtIGFsbCBhbmQg Y2FuIGJlCj4gPiBzcGxpdCBpZiBuZWVkZWQuLi4KPiA+Cj4gPiBEbyB3ZSBoYXZlL2FudGljaXBh dGUgcGFydGljdWxhciB1c2UgY2FzZXMgd2hlcmUgdGhpcyBpcyBtb3JlCj4gPiBjb252ZW5pZW50 Pwo+IAo+IFRvIGJlIHJlYWxseSBob25lc3QsIGl0IHdhcyA1MC81MCBvbiB0aGUgImV4dGVuc2lv biIgdnMgInN1ZmZpeGVzIgo+IGRlY2lzaW9uLiBJIHRoZW4gb3B0ZWQgZm9yIHN1ZmZpeGVzIGlu c3RlYWQsIGJlY2F1c2UgdGhleSBzZWVtZWQgdG8gYmUKPiBsZXNzIGFtYmlndW91cyB0aGFuIGFu ICJleHRlbnNpb24iLiBMZXQgbWUgZWxhYm9yYXRlLgo+IAo+IExldCdzIHNheSB3ZSBoYXZlIGEg ZmlsZSBjYWxsZWQgImZvby50YXIuZ3oiIC0tIHdoYXQgd291bGQgaXRzIGV4dGVuc2lvbgo+IGJl PyBTb21lIG1pZ2h0IHNheSB0aGF0ICIudGFyLmd6IiBpcyBpdHMgZXh0ZW5zaW9uLCB3aGlsZSBz b21lIG90aGVycwo+IG1pZ2h0IHNheSAiLmd6IjsgYm90aCBoYXZlIGRpZmZlcmVudCByZWFzb25p bmdzIGJ1dCBhcmVuJ3QgbmVjZXNzYXJpbHkKPiBtb3JlIG9yIGxlc3MgY29ycmVjdCB0aGFuIHRo ZSBvdGhlci4KPiAKPiBJbiBvdXIgY2FzZSwgYm90aCB5b3UgYW5kIEkgd291bGQgc2F5IHRoYXQg Ii50YXIuZ3oiIGlzIHRoZSBleHRlbnNpb24sCj4gYnV0Li4uCj4gCj4gUnVzdCdzIHN0ZDo6cGF0 aDo6UGF0aDo6ZXh0ZW5zaW9uIFsxXSB3b3VsZCByZXR1cm4gImd6IiBmb3IgdGhlIGFib3ZlLAo+ IHdoaWxlIEMrKydzIHN0ZDo6ZmlsZXN5c3RlbTo6cGF0aDo6ZXh0ZW5zaW9uIFsyXSByZXR1cm5z ICIuZ3oiIChidXQgdGhleQo+IGRvbid0IGhhdmUgc3VjaCBhIGNhc2UgaW4gdGhlaXIgZG9jcyEp LiBKYXZhIGhhcyBqYXZhLm5pby5maWxlLlBhdGgsIGJ1dAo+IGNvbnZlbmllbnRseSBkb2Vzbid0 IGNhcmUgYWJvdXQgZXh0ZW5zaW9ucy4gS290bGluIGZpeGVzdCBoaXMgYnkgYWRkaW5nCj4gYW4g ImV4dGVuc2lvbiIgcHJvcGVydHkgdG8gdGhhdCBjbGFzcywgd2hpY2ggcmV0dXJucyAiZ3oiIFsz XS4KPiAKPiBQeXRob24ncyBwYXRobGliIGlzIHRoZSBvbmx5IG9uZSBJJ3ZlIHNlZW4gZ28gdGhl ICJzdWZmaXggcm91dGUiIGFuZAo+IHByb3ZpZGVzIHRoZSBwYXRobGliLlB1cmVQYXRoLnN1ZmZp eCBhbmQgLnN1ZmZpeGVzIG1ldGhvZHMgWzRdLiBUaGlzCj4gdHlwZSBvZiBhcHByb2FjaCBhbHNv IGNhbWUgdXAgb24gdGhlIChSdXN0KSB0cmFja2luZyBpc3N1ZSBmb3IKPiBQYXRoOjpmaWxlX3By ZWZpeCBbNV0uCj4gCj4gV2hlbiBJIHdhcyBsb29raW5nIHVwIGFsbCB0aGF0LCBJIGRlY2lkZWQg dG8gZ28gZm9yIHRoZSBwcmVmaXggKwo+IHN1ZmZpeChlcykgcm91dGUsIGFzIHRoYXQganVzdCBz ZWVtZWQgdG8gYmUgdGhlIG1vc3QgdW5hbWJpZ3VvdXMuCj4gQ29udmVuaWVuY2Ugd2Fzbid0IHJl YWxseSBhIGZhY3RvciBoZXJlLCBiZWNhdXNlIHRoZXJlJ3MgdGhlCj4gInBhdGhfd2l0aF9maWxl XyogZmFtaWx5IiBvZiBmdW5jdGlvbnMgdGhhdCBzaG91bGQgaGFuZGxlIG1vc3Qgb2YgdGhlCj4g cmVwbGFjZW1lbnQgY2FzZXMuCj4gCj4gKEJlc2lkZXMsIEkgZm91bmQgaXQgcXVpdGUgbmljZSB0 aGF0IEkgY291bGQgam9pbigpIG9uIHRoZSBwcmVmaXggKwo+IHN1ZmZpeGVzIChlLmcuIGpvaW4o Ii4iLCAiZm9vIiwgInRhciIsICJneiIpKSB0aGF0IEkgZmlyc3QgZXh0cmFjdGVkCj4gd2l0aCBw YXRoX2ZpbGVfcHJlZml4KCkgYW5kIHBhdGhfZmlsZV9zdWZmaXhlcygpOyBJIGxpa2UgdGhhdCB0 aGVyZSdzIGFuCj4gImludmVyc2UiIG9wZXJhdGlvbi4pCj4gCj4gKkJ1dCwqIEkgd291bGRuJ3Qg YmUgb3Bwb3NlZCB0byBhZGRpbmcgYSBmdW5jdGlvbiB0aGF0IGp1c3QgcmV0dXJucwo+ICJ0YXIu Z3oiIGZvciB0aGUgYWJvdmUgY2FzZS4gUGVyaGFwcyB3aXRoIGEgZGlmZmVyZW50IG5hbWUgdGhv dWdoIDpQCj4gCj4gWzFdIGh0dHBzOi8vZG9jLnJ1c3QtbGFuZy5vcmcvc3RkL3BhdGgvc3RydWN0 LlBhdGguaHRtbCNtZXRob2QuZXh0ZW5zaW9uCj4gWzJdIGh0dHBzOi8vZW4uY3BwcmVmZXJlbmNl LmNvbS93L2NwcC9maWxlc3lzdGVtL3BhdGgvZXh0ZW5zaW9uCj4gWzNdIGh0dHBzOi8vZ2l0aHVi LmNvbS9KZXRCcmFpbnMva290bGluL2Jsb2IvcnJyLzIuMS4wL2NvcmUtZG9jcy9saWJyYXJpZXMv c3RkbGliL2pkazcvc3JjL2tvdGxpbi9pby9wYXRoL1BhdGhVdGlscy5rdCNMNDYKPiBbNF0gaHR0 cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy9saWJyYXJ5L3BhdGhsaWIuaHRtbCNwYXRobGliLlB1cmVQ YXRoLnN1ZmZpeAo+IFs1XSBodHRwczovL2dpdGh1Yi5jb20vcnVzdC1sYW5nL3J1c3QvaXNzdWVz Lzg2MzE5CgpUQkggSSB3b3VsZG4ndCBjYXJlIGlmIGl0IHJldHVybmVkICJ0YXIuZ3oiLCAiLnRh ci5neiIsICJneiIgb3IgIi5neiIKYXMgbG9uZyBhcyBpdCdzIGRvY3VtZW50ZWQgOy0pLgoKQnV0 IHllYWgsIEkgZ3Vlc3Mgc3VmZml4ZXMgbWFrZXMgc2Vuc2UgLSAiZm9yY2VzIijwn6SqKSB5b3Ug dG8gbm90IGlnbm9yZQppdCBpbiB5b3VyIGNvZGUuLi4KCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2ZS1kZXZl bEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFp bG1hbi9saXN0aW5mby9wdmUtZGV2ZWwK