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 41F901FF190 for ; Fri, 10 Jan 2025 18:01:19 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id A89C8301; Fri, 10 Jan 2025 18:01:05 +0100 (CET) Date: Fri, 10 Jan 2025 18:00:29 +0100 Message-Id: To: "Daniel Kral" , "Proxmox VE development discussion" From: "Alexander Zeidler" Mime-Version: 1.0 References: <20241218161948.3-1-a.zeidler@proxmox.com> In-Reply-To: X-SPAM-LEVEL: Spam detection results: 0 AWL -0.315 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 Subject: Re: [pve-devel] [PATCH docs v2 1/2] pvesr: update the chapter and bring it into good condition 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" T24gV2VkIEphbiA4LCAyMDI1IGF0IDExOjM0IEFNIENFVCwgRGFuaWVsIEtyYWwgd3JvdGU6Cj4g VGhhbmtzIGEgbG90IGZvciB0YWtpbmcgdGhlIHRpbWUgdG8gcmV3cml0ZSB0aGlzISBZb3VyIGNo YW5nZWQgdGV4dCAKPiByZWFkcyBncmVhdCBhbmQgaXQgZmVlbHMgbGlrZSB0aGUgcmlnaHQgaW5m b3JtYXRpb24gaXMgcG9pbnRlZCB0byBhdCB0aGUgCj4gcmlnaHQgdGltZS4gSSd2ZSBhZGRlZCBh IGZldyBub3RlcyBpbmxpbmUgYmVsb3cuClRoYW5rIHlvdSBmb3IgdGhlIHJldmlldyEgTW9zdCBz dWdnZXN0aW9ucyBhcmUgaW1wbGVtZW50ZWQgaW4gdGhlIG5ldwp2ZXJzaW9uLCBvdGhlcnMgd2Vy ZSBkaXNjdXNzZWQgb2ZmLWxpc3QsIHNlZSBjb21tZW50cyBiZWxvdy4KdjM6IGh0dHBzOi8vbG9y ZS5wcm94bW94LmNvbS9wdmUtZGV2ZWwvMjAyNTAxMTAxNjU4MDcuMy0xLWEuemVpZGxlckBwcm94 bW94LmNvbQoKPgo+IE9uIDEyLzE4LzI0IDE3OjE5LCBBbGV4YW5kZXIgWmVpZGxlciB3cm90ZToK Pj4gKiByZXN0cnVjdHVyZSBhbmQgcmV2aXNlIHRoZSBpbnRyb2R1Y3Rpb24KPj4gKiBhZGQgc3Vi Y2hhcHRlciAiUmVjb21tZW5kYXRpb25zIgo+PiAqIHJlbW92ZSB0aGUgc3ViY2hhcHRlciAiU2No ZWR1bGUgRm9ybWF0IiB3aXRoIGl0cyBvbmUgbGluZSBvZiBjb250ZW50Cj4+ICAgIGFuZCBsaW5r IHdoZXJlIGFwcHJvcHJpYXRlIGRpcmVjdGx5IHRvIHRoZSBjb3B5IHVuZGVyICIyNS4gQXBwZW5k aXggRDoKPj4gICAgQ2FsZW5kYXIgRXZlbnRzIi4gVGhlIGhlbHAgYnV0dG9uIGF0IGFkZGluZy9l ZGl0aW5nIGEgam9iIGxpbmtzIG5vdyB0bwo+PiAgICB0aGUgc3ViY2hhcHRlciAiTWFuYWdpbmcg Sm9icyIuCj4+ICogcHJvdmlkZSBkZXRhaWxzIG9uIGpvYiByZW1vdmFsIGFuZCBob3cgdG8gZW5m b3JjZSBpdCBpZiBuZWNlc3NhcnkKPj4gKiBhZGQgbW9yZSBoZWxwZnVsIENMSSBleGFtcGxlcyBh bmQgaW1wcm92ZSBleGlzdGluZyBvbmVzCj4+ICogcmVzdHJ1Y3R1cmUgYW5kIHJldmlzZSB0aGUg c3ViY2hhcHRlciAiRXJyb3IgSGFuZGxpbmciCj4KPiBTaW5jZSB0aGVzZSBjaGFuZ2VzIHNlZW0g YWxsIHByZXR0eSBpbmRlcGVuZGVudCBmcm9tIGVhY2ggb3RoZXIsIGl0IAo+IHdvdWxkIGJlIGdy ZWF0IGZvciB0aGUgZ2l0IGhpc3RvcnkgdG8gaGF2ZSBlYWNoIG9mIHRoZW0gaW4gc2VwYXJhdGUg Cj4gY29tbWl0cyB3aXRoIHRoZSByZWFzb25pbmcgb2YgdGhlIGNoYW5nZSBpbiB0aGUgYm9keS4K Pgo+IFRoaXMgYWxzbyBtYWtlcyBpdCBlYXNpZXIgdG8gZm9sbG93IHdoZXJlIG9sZCBzZWN0aW9u cyBoYXZlIGJlZW4gbW92ZWQgCj4gdG8gb3IgaGF2ZSBiZWVuIHJlbW92ZWQgKHdpdGggYSByZWFz b24gd2h5IGl0IHdhcyByZW1vdmVkKS4gSXQgd291bGQgCj4gYWxzbyBjbGFyaWZ5IHdoeSBzb21l IGh5cGVybGluayByZWZlcmVuY2VzIChlLmcuIGBwdmVjbV9xdW9ydW1gKSB3ZXJlIAo+IGNyZWF0 ZWQgaW4gdGhpcyBwYXRjaCBzZXJpZXMuClBhcnRseSBpbXBsZW1lbnRlZCBpbiBuZXcgdmVyc2lv bi4gV2hpbGUgdGhlIGJ1bGxldCBwb2ludHMgYXBwZWFyIHByZXR0eQppbmRlcGVuZGVudCBmcm9t IGVhY2ggb3RoZXIsIGl0IHdvdWxkIG5vdCBiZSB3b3J0aCB0aGUgdGltZSB0byBhY3R1YWxseQpj cmVhdGUgc2VwYXJhdGUgY29tbWl0cyB0aGlzIHRpbWUgZHVlIHRvIHRoZSBleHRlbnNpdmUgY2hh cHRlciByZXZpc2lvbi4KCkkgdXBkYXRlZCB0aGUgY29tbWl0IG1lc3NhZ2UgdG8gbWVudGlvbiB0 aGF0IGJhc2ljYWxseSBubyBpbmZvcm1hdGlvbiBpcwpyZW1vdmVkIGJ5IHRoaXMgY29tbWl0LCBi ZXNpZGUgdGhlIHN1cGVyZmx1b3VzICJTY2hlZHVsZSBGb3JtYXQiCnN1YmNoYXB0ZXIgYXMgYWxy ZWFkeSBleHBsYWluZWQgaW4gdGhlIGNvbW1pdCBtZXNzYWdlLgoKQW5jaG9ycyBsaWtlIGBwdmVj bV9xdW9ydW1gIGhhdmUgYmVlbiBjcmVhdGVkIGJlY2F1c2UgdGhleSBhcmUgZWl0aGVyCm5vdyBh bHJlYWR5IHVzZWQgb3Igd2lsbCB2ZXJ5IGxpa2VseSBiZSB1c2VkIGluIHRoZSBmdXR1cmUgaW4g dGhlCmVudGVycHJpc2Ugc3VwcG9ydCwgZm9ydW0gYW5kIHNpbWlsYXIuCgo+Cj4+IAo+PiBTaWdu ZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgWmVpZGxlciA8YS56ZWlkbGVyQHByb3htb3guY29tPgo+PiAt LS0KPj4gdjI6Cj4+ICogbm8gY2hhbmdlcywgb25seSBhZGQgbWlzc2luZyBwdmUtbWFuYWdlciBw YXRjaAo+PiAKPj4gICBwdmVjbS5hZG9jIHwgICAyICsKPj4gICBwdmVzci5hZG9jIHwgNDAyICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCj4+ICAg MiBmaWxlcyBjaGFuZ2VkLCAyNzkgaW5zZXJ0aW9ucygrKSwgMTI1IGRlbGV0aW9ucygtKQo+PiAK Pj4gZGlmZiAtLWdpdCBhL3B2ZWNtLmFkb2MgYi9wdmVjbS5hZG9jCj4+IGluZGV4IDE1ZGRhNGUu LjQwMjhlOTIgMTAwNjQ0Cj4+IC0tLSBhL3B2ZWNtLmFkb2MKPj4gKysrIGIvcHZlY20uYWRvYwo+ PiBAQCAtNDg2LDYgKzQ4Niw3IEBAIGF1dGhlbnRpY2F0aW9uLiBZb3Ugc2hvdWxkIGZpeCB0aGlz IGJ5IHJlbW92aW5nIHRoZSByZXNwZWN0aXZlIGtleXMgZnJvbSB0aGUKPj4gICAnL2V0Yy9wdmUv cHJpdi9hdXRob3JpemVkX2tleXMnIGZpbGUuCj4+ICAgCj4+ICAgCj4+ICtbW3B2ZWNtX3F1b3J1 bV1dCj4+ICAgUXVvcnVtCj4+ICAgLS0tLS0tCj4+ICAgCj4+IEBAIC05NjMsNiArOTY0LDcgQEAg Y2FzZSAkLSBpbgo+PiAgIGVzYWMKPj4gICAtLS0tCj4+ICAgCj4+ICtbW3B2ZWNtX2V4dGVybmFs X3ZvdGVdXQo+PiAgIENvcm9zeW5jIEV4dGVybmFsIFZvdGUgU3VwcG9ydAo+PiAgIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiAgIAo+PiBkaWZmIC0tZ2l0IGEvcHZlc3IuYWRvYyBi L3B2ZXNyLmFkb2MKPj4gaW5kZXggOWFkMDJmNS4uZGUyOTI0MCAxMDA2NDQKPj4gLS0tIGEvcHZl c3IuYWRvYwo+PiArKysgYi9wdmVzci5hZG9jCj4+IEBAIC0yNCw0OCArMjQsNjUgQEAgU3RvcmFn ZSBSZXBsaWNhdGlvbgo+PiAgIDpwdmUtdG9wbGV2ZWw6Cj4+ICAgZW5kaWY6Om1hbnZvbG51bVtd Cj4+ICAgCj4+IC1UaGUgYHB2ZXNyYCBjb21tYW5kLWxpbmUgdG9vbCBtYW5hZ2VzIHRoZSB7UFZF fSBzdG9yYWdlIHJlcGxpY2F0aW9uCj4+IC1mcmFtZXdvcmsuIFN0b3JhZ2UgcmVwbGljYXRpb24g YnJpbmdzIHJlZHVuZGFuY3kgZm9yIGd1ZXN0cyB1c2luZwo+PiAtbG9jYWwgc3RvcmFnZSBhbmQg cmVkdWNlcyBtaWdyYXRpb24gdGltZS4KPj4gLQo+PiAtSXQgcmVwbGljYXRlcyBndWVzdCB2b2x1 bWVzIHRvIGFub3RoZXIgbm9kZSBzbyB0aGF0IGFsbCBkYXRhIGlzIGF2YWlsYWJsZQo+PiAtd2l0 aG91dCB1c2luZyBzaGFyZWQgc3RvcmFnZS4gUmVwbGljYXRpb24gdXNlcyBzbmFwc2hvdHMgdG8g bWluaW1pemUgdHJhZmZpYwo+PiAtc2VudCBvdmVyIHRoZSBuZXR3b3JrLiBUaGVyZWZvcmUsIG5l dyBkYXRhIGlzIHNlbnQgb25seSBpbmNyZW1lbnRhbGx5IGFmdGVyCj4+IC10aGUgaW5pdGlhbCBm dWxsIHN5bmMuIEluIHRoZSBjYXNlIG9mIGEgbm9kZSBmYWlsdXJlLCB5b3VyIGd1ZXN0IGRhdGEg aXMKPj4gLXN0aWxsIGF2YWlsYWJsZSBvbiB0aGUgcmVwbGljYXRlZCBub2RlLgo+PiAtCj4+IC1U aGUgcmVwbGljYXRpb24gaXMgZG9uZSBhdXRvbWF0aWNhbGx5IGluIGNvbmZpZ3VyYWJsZSBpbnRl cnZhbHMuCj4+IC1UaGUgbWluaW11bSByZXBsaWNhdGlvbiBpbnRlcnZhbCBpcyBvbmUgbWludXRl LCBhbmQgdGhlIG1heGltYWwgaW50ZXJ2YWwKPj4gLW9uY2UgYSB3ZWVrLiBUaGUgZm9ybWF0IHVz ZWQgdG8gc3BlY2lmeSB0aG9zZSBpbnRlcnZhbHMgaXMgYSBzdWJzZXQgb2YKPj4gLWBzeXN0ZW1k YCBjYWxlbmRhciBldmVudHMsIHNlZQo+PiAteHJlZjpwdmVzcl9zY2hlZHVsZV90aW1lX2Zvcm1h dFtTY2hlZHVsZSBGb3JtYXRdIHNlY3Rpb246Cj4+IC0KPj4gLUl0IGlzIHBvc3NpYmxlIHRvIHJl cGxpY2F0ZSBhIGd1ZXN0IHRvIG11bHRpcGxlIHRhcmdldCBub2RlcywKPj4gLWJ1dCBub3QgdHdp Y2UgdG8gdGhlIHNhbWUgdGFyZ2V0IG5vZGUuCj4+IC0KPj4gLUVhY2ggcmVwbGljYXRpb25zIGJh bmR3aWR0aCBjYW4gYmUgbGltaXRlZCwgdG8gYXZvaWQgb3ZlcmxvYWRpbmcgYSBzdG9yYWdlCj4+ IC1vciBzZXJ2ZXIuCj4+IC0KPj4gLU9ubHkgY2hhbmdlcyBzaW5jZSB0aGUgbGFzdCByZXBsaWNh dGlvbiAoc28tY2FsbGVkIGBkZWx0YXNgKSBuZWVkIHRvIGJlCj4+IC10cmFuc2ZlcnJlZCBpZiB0 aGUgZ3Vlc3QgaXMgbWlncmF0ZWQgdG8gYSBub2RlIHRvIHdoaWNoIGl0IGFscmVhZHkgaXMKPj4g LXJlcGxpY2F0ZWQuIFRoaXMgcmVkdWNlcyB0aGUgdGltZSBuZWVkZWQgc2lnbmlmaWNhbnRseS4g VGhlIHJlcGxpY2F0aW9uCj4+IC1kaXJlY3Rpb24gYXV0b21hdGljYWxseSBzd2l0Y2hlcyBpZiB5 b3UgbWlncmF0ZSBhIGd1ZXN0IHRvIHRoZSByZXBsaWNhdGlvbgo+PiAtdGFyZ2V0IG5vZGUuCj4+ IC0KPj4gLUZvciBleGFtcGxlOiBWTTEwMCBpcyBjdXJyZW50bHkgb24gYG5vZGVBYCBhbmQgZ2V0 cyByZXBsaWNhdGVkIHRvIGBub2RlQmAuCj4+IC1Zb3UgbWlncmF0ZSBpdCB0byBgbm9kZUJgLCBz byBub3cgaXQgZ2V0cyBhdXRvbWF0aWNhbGx5IHJlcGxpY2F0ZWQgYmFjayBmcm9tCj4+IC1gbm9k ZUJgIHRvIGBub2RlQWAuCj4+IC0KPj4gLUlmIHlvdSBtaWdyYXRlIHRvIGEgbm9kZSB3aGVyZSB0 aGUgZ3Vlc3QgaXMgbm90IHJlcGxpY2F0ZWQsIHRoZSB3aG9sZSBkaXNrCj4+IC1kYXRhIG11c3Qg c2VuZCBvdmVyLiBBZnRlciB0aGUgbWlncmF0aW9uLCB0aGUgcmVwbGljYXRpb24gam9iIGNvbnRp bnVlcyB0bwo+PiAtcmVwbGljYXRlIHRoaXMgZ3Vlc3QgdG8gdGhlIGNvbmZpZ3VyZWQgbm9kZXMu Cj4+ICtTdG9yYWdlIHJlcGxpY2F0aW9uIGlzIHBhcnRpY3VsYXJseSBpbnRlcmVzdGluZyBmb3Ig c21hbGwgY2x1c3RlcnMgaWYKPj4gK2d1ZXN0IHZvbHVtZXMgYXJlIHBsYWNlZCBvbiBhIGxvY2Fs IHN0b3JhZ2UgaW5zdGVhZCBvZiBhIHNoYXJlZCBvbmUuCj4+ICtCeSByZXBsaWNhdGluZyB0aGUg dm9sdW1lcyB0byBvdGhlciBjbHVzdGVyIG5vZGVzLCBndWVzdCBtaWdyYXRpb24gdG8KPj4gK3Ro b3NlIG5vZGVzIHdpbGwgYmVjb21lIHNpZ25pZmljYW50bHkgZmFzdGVyLgo+Cj4gSG0sIEkgbGlr ZSB0aGUgbmV3IHBhcmFncmFwaCBhcyBpdCdzIHZlcnkgY2xlYXIgdG8gdGhlIHJlYWRlciBpZiB0 aGUgCj4gZm9sbG93aW5nIGlzIHJlbGV2YW50IHRvIHRoZWlyIG5lZWRzIHJpZ2h0IGZyb20gdGhl IHN0YXJ0LiBTdGlsbCwgaWYgdGhlIAo+IHJlYWRlciBoYXMgbm8gY2x1ZSBhYm91dCB3aGF0IHN0 b3JhZ2UgcmVwbGljYXRpb24gY291bGQgYmUgYWJvdXQsIEkgCj4gdGhpbmsgdGhlIGZpcnN0IHNl bnRlbmNlIHNob3VsZCBzdGlsbCBiZSBhICJTdG9yYWdlIHJlcGxpY2F0aW9uIGlzIAo+IFtzaG9y dCBzdW1tYXJ5IGRlc2NyaXB0aW9uXS4gSXQgaXMgcGFydGljdWxhcmx5IGludGVyZXN0aW5nIGZv ci4uLiIuCkltcGxlbWVudGVkIGluIG5ldyB2ZXJzaW9uLgoKPgo+PiArCj4+ICtJbiB0aGUgZXZl bnQgb2YgYSBub2RlIG9yIGxvY2FsIHN0b3JhZ2UgZmFpbHVyZSwgdGhlIHZvbHVtZSBkYXRhIGFz IG9mCj4+ICt0aGUgbGF0ZXN0IGNvbXBsZXRlZCByZXBsaWNhdGlvbiBydW5zIGFyZSBzdGlsbCBh dmFpbGFibGUgb24gdGhlCj4+ICtyZXBsaWNhdGlvbiB0YXJnZXQgbm9kZXMuCj4+ICAgCj4+ICAg W0lNUE9SVEFOVF0KPj4gICA9PT09Cj4+IC1IaWdoLUF2YWlsYWJpbGl0eSBpcyBhbGxvd2VkIGlu IGNvbWJpbmF0aW9uIHdpdGggc3RvcmFnZSByZXBsaWNhdGlvbiwgYnV0IHRoZXJlCj4+IC1tYXkg YmUgc29tZSBkYXRhIGxvc3MgYmV0d2VlbiB0aGUgbGFzdCBzeW5jZWQgdGltZSBhbmQgdGhlIHRp bWUgYSBub2RlIGZhaWxlZC4KPj4gK1doaWxlIGEgcmVwbGljYXRpb24tZW5hYmxlZCBndWVzdCBj YW4gYmUgY29uZmlndXJlZCBmb3IKPj4gK3hyZWY6Y2hhcHRlcl9oYV9tYW5hZ2VyW2hpZ2ggYXZh aWxhYmlsaXR5XSwgb3IKPj4gK3hyZWY6cHZlc3Jfbm9kZV9mYWlsZWRbbWFudWFsbHkgbW92ZWRd IHdoaWxlIGl0cyBvcmlnaW4gbm9kZSBpcyBub3QKPj4gK2F2YWlsYWJsZSwgcmVhZCBhYm91dCB0 aGUgaW52b2x2ZWQKPj4gK3hyZWY6cHZlc3Jfcmlza19vZl9kYXRhX2xvc3NbcmlzayBvZiBkYXRh IGxvc3NdIGFuZCBob3cgdG8gYXZvaWQgaXQuCj4+ICAgPT09PQo+Cj4gbml0OiBpZiBwb3NzaWJs ZSwgbWFrZSB0aGlzIHNlbnRlbmNlIGEgbGl0dGxlIHNob3J0ZXIgYXMgdGhlIG5ldyB0ZXh0Cj4g ICAgICAgd3JhcHMganVzdCBmb3IgdGhlIHdvcmQgIml0LiIuIEp1c3QgYSBuaXQgb2YgY291cnNl IDspLgpOb3QgaW1wbGVtZW50ZWQgaW4gbmV3IHZlcnNpb24uIFRoZSBkaXNwbGF5ZWQgbGluZSBs ZW5ndGggZGVwZW5kcyBvbgp2YXJpb3VzIGZhY3RvcnMsIHNvIElNTyBpdCBpcyByYXRoZXIgbm90 IHByYWN0aWNhbCB0byBzaG9ydGVuIGEgc2VudGVuY2UKZm9yIGl0LiBGb3IgZXhhbXBsZSwgb25l IG9mIG15IGJyb3dzZXJzIHNob3dzIG5vIHRoaXJkIGxpbmUgYXQgYWxsIHdoaWxlCmFub3RoZXIg aGFzIGEgdGhpcmQgbGluZSB3aXRoICJob3cgdG8gYXZvaWQgaXQuIi4KCj4KPj4gICAKPj4gKy5S ZXBsaWNhdGlvbiByZXF1aXJlcyDigKYKPj4gKwo+PiArKiBhdCBsZWFzdCBvbmUgb3RoZXIgY2x1 c3RlciBub2RlIGFzIGEgcmVwbGljYXRpb24gdGFyZ2V0Cj4+ICsqIG9uZSBjb21tb24gbG9jYWwg c3RvcmFnZSBlbnRyeSBpbiB0aGUgZGF0YWNlbnRlciwgYmVpbmcgZnVuY3Rpb25hbAo+PiArb24g Ym90aCBub2Rlcwo+PiArKiB0aGF0IHRoZSBsb2NhbCBzdG9yYWdlIHR5cGUgaXMKPj4gK3hyZWY6 cHZlc3Jfc3VwcG9ydGVkX3N0b3JhZ2Vbc3VwcG9ydGVkIGJ5IHJlcGxpY2F0aW9uXQo+PiArKiB0 aGF0IGd1ZXN0IHZvbHVtZXMgYXJlIHN0b3JlZCBvbiB0aGF0IGxvY2FsIHN0b3JhZ2UKPj4gKwo+ PiArLlJlcGxpY2F0aW9uIOKApgo+PiArCj4+ICsqIGFsbG93cyBhIGZhc3QgbWlncmF0aW9uIHRv IG5vZGVzIHdoZXJlIHRoZSBndWVzdCBpcyBiZWluZyByZXBsaWNhdGVkCj4+ICsqIHByb3ZpZGVz IGd1ZXN0IHZvbHVtZSByZWR1bmRhbmN5IGluIGEgY2x1c3RlciB3aGVyZSB1c2luZyBhIHNoYXJl ZAo+PiArc3RvcmFnZSB0eXBlIGlzIG5vdCBhbiBvcHRpb24KPj4gKyogaXMgY29uZmlndXJlZCBh cyBhIGpvYiBmb3IgYSBndWVzdCwgd2l0aCBtdWx0aXBsZSBqb2JzIGVuYWJsaW5nCj4+ICttdWx0 aXBsZSByZXBsaWNhdGlvbiB0YXJnZXRzCj4+ICsqIGpvYnMgcnVuIG9uZSBhZnRlciB0aGUgb3Ro ZXIgYXQgdGhlaXIgY29uZmlndXJlZCBpbnRlcnZhbCAoc2hvcnRlc3QKPj4gK2lzIGV2ZXJ5IG1p bnV0ZSkKPj4gKyogdXNlcyBzbmFwc2hvdHMgdG8gcmVndWxhcmx5IHRyYW5zbWl0IG9ubHkgY2hh bmdlZCB2b2x1bWUgZGF0YQo+PiArKHNvLWNhbGxlZCBkZWx0YXMpCj4+ICsqIG5ldHdvcmsgYmFu ZHdpZHRoIGNhbiBiZSBsaW1pdGVkIHBlciBqb2IsIHNtb290aGluZyB0aGUgc3RvcmFnZSBhbmQK Pj4gK25ldHdvcmsgdXRpbGl6YXRpb24KPj4gKyogdGFyZ2V0cyBzdGF5IGJhc2ljYWxseSB0aGUg c2FtZSB3aGVuIG1pZ3JhdGluZyB0aGUgZ3Vlc3QgdG8gYW5vdGhlcgo+PiArbm9kZQo+PiArKiBk aXJlY3Rpb24gb2YgYSBqb2IgcmV2ZXJzZXMgd2hlbiBtb3ZpbmcgdGhlIGd1ZXN0IHRvIGl0cyBj b25maWd1cmVkCj4+ICtyZXBsaWNhdGlvbiB0YXJnZXQKPj4gKwo+PiArLkV4YW1wbGU6Cj4+ICsK Pj4gK0EgZ3Vlc3QgcnVucyBvbiBub2RlIGBBYCBhbmQgaGFzIHJlcGxpY2F0aW9uIGpvYnMgdG8g bm9kZSBgQmAgYW5kIGBDYCwKPj4gK2JvdGggd2l0aCBhIHNldCBpbnRlcnZhbCBvZiBldmVyeSBm aXZlIG1pbnV0ZXMgKGAqLzVgKS4gTm93IHdlIG1pZ3JhdGUKPj4gK3RoZSBndWVzdCBmcm9tIGBB YCB0byBgQmAsIHdoaWNoIGFsc28gYXV0b21hdGljYWxseSB1cGRhdGVzIHRoZQo+PiArcmVwbGlj YXRpb24gdGFyZ2V0cyBmb3IgdGhpcyBndWVzdCB0byBiZSBgQWAgYW5kIGBDYC4gTWlncmF0aW9u IHdhcwo+PiArY29tcGxldGVkIGZhc3QsIGFzIG9ubHkgdGhlIGNoYW5nZWQgdm9sdW1lIGRhdGEg c2luY2UgdGhlIGxhc3QKPj4gK3JlcGxpY2F0aW9uIHJ1biBoYXMgYmVlbiB0cmFuc21pdHRlZC4K Pj4gKwo+PiArSW4gdGhlIGV2ZW50IHRoYXQgbm9kZSBgQmAgb3IgaXRzIGxvY2FsIHN0b3JhZ2Ug ZmFpbHMsIHRoZSBndWVzdCBjYW4KPj4gK2JlIHJlc3RhcnRlZCBvbiBgQWAgb3IgYENgLCB3aXRo IHRoZSByaXNrIG9mIHNvbWUgZGF0YSBsb3NzIGFzCj4+ICtkZXNjcmliZWQgaW4gdGhpcyBjaGFw dGVyLgo+PiArCj4+ICtbW3B2ZXNyX3N1cHBvcnRlZF9zdG9yYWdlXV0KPj4gICBTdXBwb3J0ZWQg U3RvcmFnZSBUeXBlcwo+PiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+ICAgCj4+IEBAIC03 NiwxNDcgKzkzLDI4MiBAQCBTdXBwb3J0ZWQgU3RvcmFnZSBUeXBlcwo+PiAgIHxaRlMgKGxvY2Fs KSAgICB8emZzcG9vbCAgICAgfHllcyAgICAgIHx5ZXMKPj4gICB8PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4+ICAgCj4+IC1bW3B2ZXNyX3NjaGVkdWxlX3Rp bWVfZm9ybWF0XV0KPj4gLVNjaGVkdWxlIEZvcm1hdAo+PiArW1twdmVzcl9yZWNvbW1lbmRhdGlv bnNdXQo+PiArUmVjb21tZW5kYXRpb25zCj4+ICAgLS0tLS0tLS0tLS0tLS0tCj4KPiBIbS4uLiBX b3VsZCAiQ29uc2lkZXJhdGlvbnMiIGJlIGEgYmV0dGVyIHRpdGxlIGZvciB0aGlzIHNlY3Rpb24/ IEFsbCBvZiAKPiB0aGUgc3Vic2VjdGlvbnMgYXJlIG1vcmUgZm9jdXNlZCBhYm91dCB3YXJuaW5n IHRoZSByZWFkZXIgb2YgdGhpbmdzIHRoYXQgCj4gY291bGQgaGFwcGVuIG9yIHdoYXQgdG8gY29u c2lkZXIgaWYgdGhleSBzaG91bGQgaW1wbGVtZW50IHN0b3JhZ2UgCj4gcmVwbGljYXRpb24gaW4g dGhlaXIgc2V0dXAsIHNvIHRoZSB0ZXh0IG1ha2VzIGl0IHZpc2libGUgdG8gdGhlIHJlYWRlciAK PiB3aGF0IHRoZXkgc2hvdWxkIHRoaW5rIGFib3V0IGFuZCBvcHRpb25hbGx5IHdlIHJlY29tbWVu ZCB0aGVtIHNvbWV0aGluZyAKPiB0aGV5IHNob3VsZCBkby4KSW1wbGVtZW50ZWQgaW4gbmV3IHZl cnNpb24uCgo+Cj4+IC1SZXBsaWNhdGlvbiB1c2VzIHhyZWY6Y2hhcHRlcl9jYWxlbmRhcl9ldmVu dHNbY2FsZW5kYXIgZXZlbnRzXSBmb3IKPj4gLWNvbmZpZ3VyaW5nIHRoZSBzY2hlZHVsZS4KPj4g ICAKPj4gLUVycm9yIEhhbmRsaW5nCj4+IC0tLS0tLS0tLS0tLS0tLQo+PiArW1twdmVzcl9yaXNr X29mX2RhdGFfbG9zc11dCj4+ICtSaXNrIG9mIERhdGEgTG9zcwo+PiArfn5+fn5+fn5+fn5+fn5+ fn4KPj4gKwo+PiArSWYgYSBub2RlIHNob3VsZCBzdWRkZW5seSBiZWNvbWUgdW5hdmFpbGFibGUg Zm9yIGEgbG9uZ2VyIHBlcmlvZCBvZgo+PiArdGltZSwgaXQgbWF5IGJlY29tZSBuZWNjZXNzYXJ5 IHRvIHJ1biBhIGd1ZXN0IG9uIGEgcmVwbGljYXRpb24gdGFyZ2V0Cj4+ICtub2RlIGluc3RlYWQu IFRoZXJlYnkgdGhlIGd1ZXN0IHdpbGwgdXNlIHRoZSBsYXRlc3QgcmVwbGljYXRlZCB2b2x1bWUK Pj4gK2RhdGEgYXZhaWxhYmxlIG9uIHRoZSBjaG9zZW4gdGFyZ2V0IG5vZGUuIFRoYXQgdm9sdW1l IHN0YXRlIHdpbGwgdGhlbgo+PiArYWxzbyBiZSByZXBsaWNhdGVkIHRvIG90aGVyIG5vZGVzIHdp dGggdGhlIG5leHQgcmVwbGljYXRpb24gcnVucywKPj4gK3NpbmNlIHRoZSByZXBsaWNhdGlvbiBk aXJlY3Rpb25zIGFyZSBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZm9yIHJlbGF0ZWQKPj4gK2pvYnMu IFRoaXMgYWxzbyBtZWFucywgdGhhdCB0aGUgb25jZSBuZXdlciB2b2x1bWUgc3RhdGUgb24gdGhl IGZhaWxlZAo+PiArbm9kZSB3aWxsIGJlIHJlbW92ZWQgYWZ0ZXIgaXQgYmVjb21lcyBhdmFpbGFi bGUgYWdhaW4uCj4+ICsKPj4gK0EgbW9yZSByZXNpbGllbnQgc29sdXRpb24gbWF5IGJlIHRvIHVz ZSBhIHNoYXJlZAo+PiAreHJlZjpjaGFwdGVyX3N0b3JhZ2Vbc3RvcmFnZSB0eXBlXSBpbnN0ZWFk LiBJZiB0aGF0IGlzIG5vdCBhbiBvcHRpb24sCj4+ICtjb25zaWRlciBzZXR0aW5nIHRoZSByZXBs aWNhdGlvbiBqb2IgaW50ZXJ2YWxzIHNob3J0IGVub3VnaCBhbmQgYXZvaWQKPj4gK21vdmluZyBy ZXBsaWNhdGlvbi1jb25maWd1cmVkIGd1ZXN0cyB3aGlsZSB0aGVpciBvcmlnaW4gbm9kZSBpcyBu b3QKPj4gK2F2YWlsYWJsZS4gSW5zdGVhZCBvZiBjb25maWd1cmluZyB0aG9zZSBndWVzdHMgZm9y IGhpZ2ggYXZhaWxhYmlsaXR5LAo+PiAreHJlZjpxbV9zdGFydHVwX2FuZF9zaHV0ZG93bltzdGFy dCBhdCBib290XSBjb3VsZCBiZSBhIHN1ZmZpY2llbnQKPj4gK2FsdGVybmF0aXZlLgo+PiArCj4+ ICtbW3B2ZXNyX3JlcGxpY2F0aW9uX25ldHdvcmtdXQo+PiArTmV0d29yayBmb3IgUmVwbGljYXRp b24gVHJhZmZpYwo+PiArfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgo+PiArCj4+ICtS ZXBsaWNhdGlvbiB0cmFmZmljIGlzIHJvdXRlZCB2aWEgdGhlCj4+ICt4cmVmOnB2ZWNtX21pZ3Jh dGlvbl9uZXR3b3JrW21pZ3JhdGlvbiBuZXR3b3JrXS4gSWYgaXQgaXMgbm90IHNldCwgdGhlCj4+ ICttYW5hZ2VtZW50IG5ldHdvcmsgaXMgdXNlZCBieSBkZWZhdWx0LCB3aGljaCBjYW4gaGF2ZSBh IG5lZ2F0aXZlCj4+ICtpbXBhY3Qgb24gY29yb3N5bmMgYW5kIHRoZXJlZm9yZSBvbiBjbHVzdGVy IGF2YWlsYWJpbGl0eS4gVG8gc3BlY2lmeQo+PiArdGhlIG1pZ3JhdGlvbiBuZXR3b3JrLCBuYXZp Z2F0ZSB0bwo+PiArX19EYXRhY2VudGVyIC0+IE9wdGlvbnMgLT4gTWlncmF0aW9uIFNldHRpbmdz X18sIG9yIHNldCBpdCB2aWEgQ0xJIGluCj4+ICt0aGUgeHJlZjpkYXRhY2VudGVyX2NvbmZpZ3Vy YXRpb25fZmlsZVtgZGF0YWNlbnRlci5jZmdgXS4KPj4gKwo+PiArW1twdmVzcl9jbHVzdGVyX3Np emVdXQo+PiArQ2x1c3RlciBTaXplCj4+ICt+fn5+fn5+fn5+fn4KPj4gKwo+PiArV2l0aCBhIDIt bm9kZSBjbHVzdGVyIGluIHBhcnRpY3VsYXIsIHRoZSBmYWlsdXJlIG9mIG9uZSBub2RlIGNhbiBs ZWF2ZQo+PiArdGhlIG90aGVyIG5vZGUgd2l0aG91dCBhIHhyZWY6cHZlY21fcXVvcnVtW3F1b3J1 bV0uIEluIG9yZGVyIHRvIGtlZXAKPj4gK3RoZSBjbHVzdGVyIGZ1bmN0aW9uYWwgYXQgYWxsIHRp bWVzLCBpdCBpcyB0aGVyZWZvcmUgY3J1Y2lhbCB0bwo+PiAreHJlZjpwdmVjbV9qb2luX25vZGVf dG9fY2x1c3RlcltleHBhbmRdIHRvIGEgMy1ub2RlIGNsdXN0ZXIgaW4gYWR2YW5jZQo+PiArb3Ig dG8gY29uZmlndXJlIGEgeHJlZjpwdmVjbV9leHRlcm5hbF92b3RlW1FEZXZpY2VdIGZvciB0aGUg dGhpcmQKPj4gK3ZvdGUuCj4+ICsKPj4gK1tbcHZlc3JfbWFuYWdpbmdfam9ic11dCj4+ICtNYW5h Z2luZyBKb2JzCj4+ICstLS0tLS0tLS0tLS0tCj4+ICAgCj4+IC1JZiBhIHJlcGxpY2F0aW9uIGpv YiBlbmNvdW50ZXJzIHByb2JsZW1zLCBpdCBpcyBwbGFjZWQgaW4gYW4gZXJyb3Igc3RhdGUuCj4+ IC1JbiB0aGlzIHN0YXRlLCB0aGUgY29uZmlndXJlZCByZXBsaWNhdGlvbiBpbnRlcnZhbHMgZ2V0 IHN1c3BlbmRlZAo+PiAtdGVtcG9yYXJpbHkuIFRoZSBmYWlsZWQgcmVwbGljYXRpb24gaXMgcmVw ZWF0ZWRseSB0cmllZCBhZ2FpbiBpbiBhCj4+IC0zMCBtaW51dGUgaW50ZXJ2YWwuCj4+IC1PbmNl IHRoaXMgc3VjY2VlZHMsIHRoZSBvcmlnaW5hbCBzY2hlZHVsZSBnZXRzIGFjdGl2YXRlZCBhZ2Fp bi4KPj4gK1t0aHVtYm5haWw9InNjcmVlbnNob3QvZ3VpLXFlbXUtYWRkLXJlcGxpY2F0aW9uLWpv Yi5wbmciXQo+PiAgIAo+PiAtUG9zc2libGUgaXNzdWVzCj4+IC1+fn5+fn5+fn5+fn5+fn4KPj4g K1JlcGxpY2F0aW9uIGpvYnMgY2FuIGVhc2lseSBiZSBjcmVhdGVkLCBtb2RpZmllZCBhbmQgcmVt b3ZlZCB2aWEgd2ViCj4+ICtpbnRlcmZhY2UsIG9yIGJ5IHVzaW5nIHRoZSBDTEkgdG9vbCBgcHZl c3JgLgo+PiAgIAo+PiAtU29tZSBvZiB0aGUgbW9zdCBjb21tb24gaXNzdWVzIGFyZSBpbiB0aGUg Zm9sbG93aW5nIGxpc3QuIERlcGVuZGluZyBvbiB5b3VyCj4+IC1zZXR1cCB0aGVyZSBtYXkgYmUg YW5vdGhlciBjYXVzZS4KPj4gK1RvIG1hbmFnZSBhbGwgcmVwbGljYXRpb24gam9icyBpbiBvbmUg cGxhY2UsIGdvIHRvCj4+ICtfX0RhdGFjZW50ZXIgLT4gUmVwbGljYXRpb25fXy4gQWRkaXRpb25h bCBmdW5jdGlvbmFsaXRpZXMgYXJlCj4+ICthdmFpbGFibGUgdW5kZXIgX19Ob2RlIC0+IFJlcGxp Y2F0aW9uX18gYW5kIF9fR3Vlc3QgLT4gUmVwbGljYXRpb25fXy4KPj4gK0dvIHRoZXJlIHRvIHZp ZXcgbG9ncywgc2NoZWR1bGUgYSBqb2Igb25jZSBmb3Igbm93LCBvciBiZW5lZml0IGZyb20KPj4g K3ByZXNldCBmaWVsZHMgd2hlbiBjb25maWd1cmluZyBhIGpvYi4KPj4gICAKPj4gLSogTmV0d29y ayBpcyBub3Qgd29ya2luZy4KPj4gK0VuYWJsZWQgcmVwbGljYXRpb24gam9icyB3aWxsIGF1dG9t YXRpY2FsbHkgcnVuIGF0IHRoZWlyIHNldCBpbnRlcnZhbCwKPj4gK29uZSBhZnRlciB0aGUgb3Ro ZXIuIFRoZSBkZWZhdWx0IGludGVydmFsIGlzIGF0IGV2ZXJ5IHF1YXJ0ZXIgb2YgYW4KPj4gK2hv dXIgKGAqLzE1YCksIGFuZCBjYW4gYmUgc2V0IHRvIGFzIG9mdGVuIGFzIGV2ZXJ5IG1pbnV0ZSAo YCovMWApLCBzZWUKPgo+IHVzZSAiZXZlcnkgMTUgbWludXRlcyIgaGVyZSBhcyB0aGUgcGxhY2Vo b2xkZXIgdGV4dCBpcyBpbiB0aGUgIkNyZWF0ZTogCj4gUmVwbGljYXRpb24gSm9iIiBtb2RhbCBp biB0aGUgV2ViR1VJLgpJbXBsZW1lbnRlZCBpbiBuZXcgdmVyc2lvbi4KCj4KPj4gK3hyZWY6Y2hh cHRlcl9jYWxlbmRhcl9ldmVudHNbc2NoZWR1bGUgZm9ybWF0XS4KPj4gICAKPj4gLSogTm8gZnJl ZSBzcGFjZSBsZWZ0IG9uIHRoZSByZXBsaWNhdGlvbiB0YXJnZXQgc3RvcmFnZS4KPj4gK09wdGlv bmFsbHksIHRoZSBuZXR3b3JrIGJhbmR3aWR0aCBjYW4gYmUgbGltaXRlZCwgd2hpY2ggYWxzbyBo ZWxwcyB0bwo+PiAra2VlcCB0aGUgc3RvcmFnZSBsb2FkIG9uIHRoZSB0YXJnZXQgbm9kZSBhY2Nl cHRhYmxlLgo+Cj4gVGhpcyBzZW50ZW5jZSAvIHBhcmFncmFwaCBjb3VsZCBiZSByZXN0cnVjdHVy ZWQgdG8gcHJpb3JpdGl6ZSB3aHkgCj4gc29tZW9uZSB3b3VsZCBsaWtlIHRvIGxpbWl0IHRoZSBi YW5kd2lkdGguIFNvbWV0aGluZyBsaWtlOgo+Cj4gIklmIHRoZSBzdG9yYWdlIHJlcGxpY2F0aW9u IGpvYnMgcmVzdWx0IGluIHNpZ25pZmljYW50IEkvTyBsb2FkIG9uIHRoZSAKPiB0YXJnZXQgbm9k ZSwgdGhlIG5ldHdvcmsgYmFuZHdpZHRoIG9mIGluZGl2aWR1YWwgam9icyBjYW4gYmUgbGltaXRl ZCB0byAKPiByZWR1Y2UgaXQgdG8gYW4gYWNjZXB0YWJsZSBsZXZlbC4iCkltcGxlbWVudGVkIGlu IG5ldyB2ZXJzaW9uLgoKPgo+PiAgIAo+PiAtKiBTdG9yYWdlIHdpdGggdGhlIHNhbWUgc3RvcmFn ZSBJRCBpcyBub3QgYXZhaWxhYmxlIG9uIHRoZSB0YXJnZXQgbm9kZS4KPj4gK1Nob3J0bHkgYWZ0 ZXIgam9iIGNyZWF0aW9uLCBhIGZpcnN0IHNuYXBzaG90IGlzIHRha2VuIGFuZCBzZW50IHRvIHRo ZQo+PiArdGFyZ2V0IG5vZGUuIFN1YnNlcXVlbnQgc25hcHNob3RzIGFyZSB0YWtlbiBhdCB0aGUg c2V0IGludGVydmFsIGFuZAo+PiArb25seSBjb250YWluIG1vZGlmaWVkIHZvbHVtZSBkYXRhLCBh bGxvd2luZyBhIHNpZ25pZmljYW50bHkgc2hvcnRlcgo+PiArdHJhbnNmZXIgdGltZS4KPj4gICAK Pj4gLU5PVEU6IFlvdSBjYW4gYWx3YXlzIHVzZSB0aGUgcmVwbGljYXRpb24gbG9nIHRvIGZpbmQg b3V0IHdoYXQgaXMgY2F1c2luZyB0aGUgcHJvYmxlbS4KPj4gK0lmIHlvdSByZW1vdmUgYSByZXBs aWNhdGlvbiBqb2IsIHRoZSBzbmFwc2hvdHMgb24gdGhlIHRhcmdldCBub2RlIGFyZQo+PiArYWxz byBnZXR0aW5nIGRlbGV0ZWQgYWdhaW4gYnkgZGVmYXVsdC4gVGhlIHJlbW92YWwgdGFrZXMgcGxh Y2UgYXQgdGhlCj4+ICtuZXh0IHBvc3NpYmxlIHBvaW50IGluIHRpbWUgYW5kIHJlcXVpcmVzIHRo ZSBqb2IgdG8gYmUgZW5hYmxlZC4gSWYgdGhlCj4+ICt0YXJnZXQgbm9kZSBpcyBwZXJtYW5lbnRs eSB1bnJlYWNoYWJsZSwgdGhlIGNsZWFudXAgY2FuIGJlIHNraXBwZWQgYnkKPj4gK2ZvcmNpbmcg YSBqb2IgZGVsZXRpb24gdmlhIENMSS4KPj4gICAKPgo+IFsgLi4uIF0KPgo+IEkgaGF2ZSBvbmx5 IGdsb3NzZWQgb3ZlciB3aGV0aGVyIGFsbCBpbmZvcm1hdGlvbiBmcm9tIHRoZSBwcmV2aW91cyAK PiBhcnRpY2xlIGhhcyBiZWVuIHByZXNlcnZlZCBhbmQgaGF2ZW4ndCBmb3VuZCBhbnl0aGluZyBt aXNzaW5nIHNvIGZhci4gCj4gQWxsIGJlaW5nIHNhaWQsIHRoaXMgbG9va3MgZ3JlYXQsIGNvbnNp ZGVyIHRoaXM6Cj4KPiBSZXZpZXdlZC1ieTogRGFuaWVsIEtyYWwgPGQua3JhbEBwcm94bW94LmNv bT4KCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHZl LWRldmVsIG1haWxpbmcgbGlzdApwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9s aXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsCg==