From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pve-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id DA0031FF164 for <inbox@lore.proxmox.com>; Fri, 25 Apr 2025 15:26:10 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 1AEE633B52; Fri, 25 Apr 2025 15:26:17 +0200 (CEST) Message-ID: <500c452d-581d-4fb7-81d2-fe0f46d29fd6@proxmox.com> Date: Fri, 25 Apr 2025 15:25:42 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Fiona Ebner <f.ebner@proxmox.com>, Proxmox VE development discussion <pve-devel@lists.proxmox.com> References: <20250325151254.193177-1-d.kral@proxmox.com> <cab3e44f-1294-429d-8e06-b6743c3cb3a7@proxmox.com> <c93a04b3-b177-4bfc-8a8a-8e10fd635b15@proxmox.com> <d977b382-95ab-4f51-b1ce-8268630a5e24@proxmox.com> Content-Language: en-US From: Daniel Kral <d.kral@proxmox.com> In-Reply-To: <d977b382-95ab-4f51-b1ce-8268630a5e24@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.011 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 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 Subject: Re: [pve-devel] [RFC cluster/ha-manager 00/16] HA colocation rules X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/> List-Post: <mailto:pve-devel@lists.proxmox.com> List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com> Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com> T24gNC8yNS8yNSAxNDoyNSwgRmlvbmEgRWJuZXIgd3JvdGU6Cj4gQW0gMjUuMDQuMjUgdW0gMTA6 MzYgc2NocmllYiBEYW5pZWwgS3JhbDoKPj4gT24gNC8yNC8yNSAxMjoxMiwgRmlvbmEgRWJuZXIg d3JvdGU6Cj4+IEFzIHN1Z2dlc3RlZCBieSBATHVrYXMgb2ZmLWxpc3QsIEknbGwgYWxzbyB0cnkg dG8gbWFrZSB0aGUgY2hlY2sKPj4gc2VsZWN0aXZlLCBlLmcuIHRoZSB1c2VyIGhhcyBtYWRlIGFu IGluZmVhc2libGUgY2hhbmdlIHRvIHRoZSBjb25maWcKPj4gbWFudWFsbHkgYnkgd3JpdGluZyB0 byB0aGUgZmlsZSBhbmQgdGhlbiB3YW50cyB0byBjcmVhdGUgYW5vdGhlciBydWxlLgo+PiBIZXJl IGl0IHNob3VsZCBpZ25vcmUgdGhlIGluZmVhc2libGUgcnVsZXMgKGFzIHRoZXknbGwgYmUgZHJv cHBlZAo+PiBhbnl3YXkpIGFuZCBvbmx5IGNoZWNrIGlmIHRoZSBhZGRlZCBydWxlIC8gY2hhbmdl ZCBydWxlIGlzIGluZmVhc2libGUuCj4gCj4gSG93IHdpbGwgeW91IHNlbGVjdCB0aGUgcnVsZSB0 byBkcm9wPyBBcHBseWluZyB0aGUgcnVsZXMgb25lLWJ5LW9uZSB0bwo+IGZpbmQgYSBmaXJzdCB2 aW9sYXRpb24/CgpBRkFJQ1Mgd2UgY291bGQgdXNlIHRoZSBzYW1lIGhlbHBlcnMgdG8gY2hlY2sg d2hldGhlciB0aGUgcnVsZXMgYXJlIApmZWFzaWJsZSwgYW5kIG9ubHkgY2hlY2sgd2hldGhlciB0 aGUgYWRkZWQgLyB1cGRhdGVkIHJ1bGVpZCBpcyBvbmUgdGhhdCAKaXMgY2F1c2luZyB0aGVzZSB0 cm91Ymxlcy4gSSBndWVzcyB0aGlzIHdvdWxkIGJlIGEgcmVhc29uYWJsZSBvcHRpb24gCndpdGhv dXQgZHVwbGljYXRpbmcgY29kZSwgYnV0IHN0aWxsIGNoZWNrIGFnYWluc3QgdGhlIHdob2xlIGNv bmZpZy4gClRoZXJlJ3Mgc3VyZWx5IHNvbWUgb3B0aW1pemF0aW9uIHBvdGVudGlhbCBoZXJlLCBi dXQgdGhlbiB3ZSB3b3VsZCBoYXZlIAphIGxhcmdlciBwcm9ibGVtIGF0IHJlbG9hZGluZyB0aGUg cnVsZSBjb25maWd1cmF0aW9uIGZvciB0aGUgbWFuYWdlciAKYW55d2F5LiBGb3IgdGhlIGxhdHRl ciBJIGNvdWxkIGNoZWNrIGZvciB3aGF0IHNpemUgb2YgYSBsYXJnZXIgCmNvbmZpZ3VyYXRpb24g dGhpcyBjb3VsZCBiZWNvbWUgYW4gYWN0dWFsIGJvdHRsZW5lY2suCgpGb3IgZWl0aGVyIGFkZGlu ZyBhIHJ1bGUgb3IgdXBkYXRpbmcgYSBydWxlLCB3ZSB3b3VsZCBqdXN0IG1ha2UgdGhlIApjaGFu Z2UgdG8gdGhlIGNvbmZpZ3VyYXRpb24gaW4tbWVtb3J5IGFuZCBydW4gdGhlIGhlbHBlci4gRGVw ZW5kaW5nIG9uIAp0aGUgcmVzdWx0LCB3ZSdkIHN0b3JlIHRoZSBjb25maWcgb3IgZXJyb3Igb3V0 IHRvIHRoZSBBUEkgdXNlci4KCj4gCj4+IEJ1dCBhcyB5b3Ugc2FpZCwgaXQgbXVzdCBub3QgY2hh bmdlIHRoZSB1c2VyJ3MgY29uZmlndXJhdGlvbiBpbiB0aGUgZW5kCj4+IGFzIHRoYXQgd291bGQg YmUgdmVyeSBjb25mdXNpbmcgdG8gdGhlIHVzZXIuCj4gCj4gT2theSwgc28gZHJvcHBpbmcgZHlu YW1pY2FsbHkuIEkgZ3Vlc3Mgd2UgY291bGQgYWxzbyBkaXNhYmxlIHN1Y2ggcnVsZXMKPiBleHBs aWNpdGx5L21hcmsgdGhlbSBhcyBiZWluZyBpbiB2aW9sYXRpb24gd2l0aCBvdGhlciBydWxlcyBz b21laG93Ogo+IFRyaS1zdGF0ZSBlbmFibGVkL2Rpc2FibGVkL2NvbmZsaWN0IHN0YXR1cz8gRXhw bGljaXQgZmllbGQ/Cj4gCj4gU29tZXRoaW5nIGxpa2UgdGhhdCB3b3VsZCBtYWtlIHN1Y2ggcnVs ZXMgZWFzaWx5IHZpc2libGUgYW5kIGhhdmUgdGhlCj4gY29uZmlndXJhdGlvbiBiZXR0ZXIgcmVm bGVjdCB0aGUgYWN0dWFsIHN0YXR1cy4KPiAKPiBBcyBkaXNjdXNzZWQgb2ZmLWxpc3Qgbm93OiB3 ZSBjYW4gdHJ5IHRvIHJlLWVuYWJsZSBjb25mbGljdGluZyBydWxlcwo+IG5leHQgdGltZSB0aGUg cnVsZXMgYXJlIGxvYWRlZC4KCkhtLCB0aGVyZSdzIHRocmVlIG9wdGlvbnMgbm93OgoKLSBBbGxv d2luZyBjb25mbGljdHMgb3ZlciB0aGUgY3JlYXRlIC8gdXBkYXRlIEFQSSBhbmQgYXV0by1yZXNv bHZpbmcgdGhlIApjb25mbGljdHMgYXMgc29vbiBhcyB3ZSdyZSBhYmxlIHRvIChlLmcuIG9uIHRo ZSBsb2FkIC8gc2F2ZSB3aGVyZSB0aGUgCnJ1bGUgYmVjb21lcyBmZWFzaWJsZSBhZ2FpbikuCgot IE5vdCBhbGxvd2luZyBjb25mbGljdHMgb3ZlciB0aGUgY3JlYXRlIC8gdXBkYXRlIEFQSSwgYnV0 IHNldCB0aGUgc3RhdGUgCnRvICdjb25mbGljdCcgaWYgbWFudWFsIGNoYW5nZXMgKG9yIG90aGVy IGNpcmN1bXN0YW5jZXMpIG1hZGUgdGhlIHJ1bGVzIApiZSBpbiBjb25mbGljdCB3aXRoIG9uZSBh bm90aGVyLgoKLSBIYXZpbmcgc29tZXRoaW5nIGxpa2UgdGhlIFNETiBjb25maWcsIHdoZXJlIHRo ZXJlJ3MgYSB3b3JraW5nIApjb25maWd1cmF0aW9uIGFuZCBhICJkcmFmdCIgY29uZmlndXJhdGlv biB0aGF0IG5lZWRzIHRvIGJlIGFwcGxpZWQuIFNvIApjb25mbGljdHMgYXJlIGFsbG93ZWQgaW4g ZHJhZnRzLCBidXQgbm90IGluIHdvcmtpbmcgY29uZmlndXJhdGlvbnMuCgpUaGUgU0ROIG9wdGlv biBzZWVtcyB0b28gbXVjaCBmb3IgbWUgaGVyZSwgYnV0IEkganVzdCBub3RpY2VkIHNvbWUgCnNp bWlsYXJpdHkuCgpJIGd1ZXNzIG9uZSBvZiB0aGUgZmlyc3QgdHdvIG1ha2VzIG1vcmUgc2Vuc2Uu IElmIHRoZXJlJ3Mgbm8gYXJndW1lbnRzIAphZ2FpbnN0IHRoaXMsIEknZCBjaG9vc2UgdGhlIHNl Y29uZCBvcHRpb24gYXMgd2UgY2FuIGFsd2F5cyBhbGxvdyAKaW50ZW50aW9uYWwgY29uZmxpY3Rz IGxhdGVyIGlmIHRoZXJlJ3MgdXNlciBkZW1hbmQgb3Igd2Ugc2VlIG90aGVyIApyZWFzb25zIGlu IHRoYXQuCgo+IAo+Pj4+IFRoZSBvbmx5IHRoaW5nIHRoYXQgSSdtIHVuc3VyZSBhYm91dCB0aGlz LCBpcyBob3cgd2Ugd291bGQgbWlncmF0ZSB0aGUKPj4+PiBgbm9mYWlsYmFja2Agb3B0aW9uLCBz aW5jZSB0aGlzIG9wZXJhdGVzIG9uIHRoZSBncm91cC1sZXZlbC4gSWYgd2Uga2VlcAo+Pj4+IHRo ZSBgPG5vZGU+KDo8cHJpb3JpdHk+KWAgc3ludGF4IGFuZCByZXN0cmljdCB0aGF0IGVhY2ggc2Vy dmljZSBjYW4gb25seQo+Pj4+IGJlIHBhcnQgb2Ygb25lIGxvY2F0aW9uIHJ1bGUsIGl0J2QgYmUg ZWFzeSB0byBoYXZlIHRoZSBzYW1lIGZsYWcuIElmIHdlCj4+Pj4gZ28gd2l0aCBtdWx0aXBsZSBs b2NhdGlvbiBydWxlcyBwZXIgc2VydmljZSBhbmQgZWFjaCBoYXZpbmcgYSBzY29yZSBvcgo+Pj4+ IHdlaWdodCAoZm9yIHRoZSBwcmlvcml0eSksIHRoZW4gd2Ugd291bGRuJ3QgYmUgYWJsZSB0byBo YXZlIHRoaXMgZmxhZwo+Pj4+IGFueW1vcmUuIEkgdGhpbmsgd2UgY291bGQga2VlcCB0aGUgc2Vt YW50aWMgaWYgd2UgbW92ZSB0aGlzIGZsYWcgdG8gdGhlCj4+Pj4gc2VydmljZSBjb25maWcsIGJ1 dCBJJ20gdGhhbmtmdWwgZm9yIGFueSBjb21tZW50cyBvbiB0aGlzLgo+Pj4gTXkgZ3V0IGZlZWxp bmcgaXMgdGhhdCBnb2luZyBmb3IgYSBtb3JlIGRpcmVjdCBtYXBwaW5nLCBpLmUuIGVhY2gKPj4+ IGxvY2F0aW9uIHJ1bGUgcmVwcmVzZW50cyBvbmUgSEEgZ3JvdXAsIGlzIGJldHRlci4gVGhlIG5v ZmFpbGJhY2sgZmxhZwo+Pj4gY2FuIHN0aWxsIGFwcGx5IHRvIGEgZ2l2ZW4gbG9jYXRpb24gcnVs ZSBJIHRoaW5rPyBGb3IgYSBnaXZlbiBzZXJ2aWNlLAo+Pj4gaWYgYSBoaWdoZXItcHJpb3JpdHkg bm9kZSBpcyBvbmxpbmUgZm9yIGFueSBsb2NhdGlvbiBydWxlIHRoZSBzZXJ2aWNlIGlzCj4+PiBw YXJ0IG9mLCB3aXRoIG5vZmFpbGJhY2s9MCwgaXQgd2lsbCBnZXQgbWlncmF0ZWQgdG8gdGhhdCBo aWdoZXItcHJpb3JpdHkKPj4+IG5vZGUuIEl0IGRvZXMgbWFrZSBzZW5zZSB0byBoYXZlIGEgZ2l2 ZW4gc2VydmljZSBiZSBwYXJ0IG9mIG9ubHkgb25lCj4+PiBsb2NhdGlvbiBydWxlIHRoZW4gdGhv dWdoLCBzaW5jZSBub2RlIHByaW9yaXRpZXMgY2FuIGNvbmZsaWN0IGJldHdlZW4KPj4+IHJ1bGVz Lgo+Pgo+PiBZZWFoLCBJIHRoaW5rIHRoaXMgaXMgdGhlIHJlYXNvbmFibGUgb3B0aW9uIHRvby4K Pj4KPj4gSSBicmllZmx5IGRpc2N1c3NlZCB0aGlzIHdpdGggQEZhYmlhbiBvZmYtbGlzdCBhbmQg d2UgYWxzbyBhZ3JlZWQgdGhhdAo+PiBpdCB3b3VsZCBiZSBnb29kIHRvIG1ha2UgbG9jYXRpb24g cnVsZXMgYXMgMToxIHRvIGxvY2F0aW9uIHJ1bGVzIGFzCj4+IHBvc3NpYmxlIGFuZCBrZWVwIHRo ZSBub2ZhaWxiYWNrIHBlciBsb2NhdGlvbiBydWxlLCBhcyB0aGUgYmVoYXZpb3Igb2YKPj4gdGhl IEhBIGdyb3VwJ3Mgbm9mYWlsYmFjayBjb3VsZCBzdGlsbCBiZSBwcmVzZXJ2ZWQgLSBhdCBsZWFz dCBpZiB0aGVyZSdzCj4+IG9ubHkgYSBzaW5nbGUgbG9jYXRpb24gcnVsZSBwZXIgc2VydmljZSBh dCBsZWFzdC4KPj4KPj4gLS0tCj4+Cj4+IE9uIHRoZSBvdGhlciBoYW5kLCBJJ2xsIGhhdmUgdG8g dGFrZSBhIGNsb3NlciBsb29rIGlmIHdlIGNhbiBkbwo+PiBzb21ldGhpbmcgYWJvdXQgdGhlIGJs b2NrZXJzIHdoZW4gY3JlYXRpbmcgbXVsdGlwbGUgbG9jYXRpb24gcnVsZXMgd2hlcmUKPj4gZS5n LiBvbmUgaGFzIG5vZmFpbGJhY2sgZW5hYmxlZCBhbmQgdGhlIG90aGVyIGhhcyBub3QuIEFzIHlv dSBhbHJlYWR5Cj4+IHNhaWQsIHRoZXkgY291bGQgZWFzaWx5IGNvbmZsaWN0IGJldHdlZW4gcnVs ZXMuLi4KPj4KPj4gTXkgcHJldmlvdXMgaWRlYSB3YXMgdG8gbWFrZSBsb2NhdGlvbiBydWxlcyBh cyBmbGV4aWJsZSBhcyBwb3NzaWJsZSwgc28KPj4gdGhhdCBpdCB3b3VsZCB0aGVvcmV0aWNhbGx5 IG5vdCBtYXR0ZXIgaWYgb25lIHdyaXRlczoKPj4KPj4gbG9jYXRpb246IHJ1bGUxCj4+ICDCoMKg wqAgc2VydmljZXM6IHZtOjEwMQo+PiAgwqDCoMKgIG5vZGVzOiBub2RlMToyLG5vZGUyOjEKPj4g IMKgwqDCoCBzdHJpY3Q6IDEKPj4gb3I6Cj4+Cj4+IGxvY2F0aW9uOiBydWxlMQo+PiAgwqDCoMKg IHNlcnZpY2VzOiB2bToxMDEKPj4gIMKgwqDCoCBub2Rlczogbm9kZTEKPj4gIMKgwqDCoCBzdHJp Y3Q6IDEKPj4KPj4gbG9jYXRpb246IHJ1bGUyCj4+ICDCoMKgwqAgc2VydmljZXM6IHZtOjEwMQo+ PiAgwqDCoMKgIG5vZGVzOiBub2RlMgo+PiAgwqDCoMKgIHN0cmljdDogMQo+Pgo+PiBUaGUgb3Jk ZXIgd2hpY2ggb25lJ3MgbW9yZSBpbXBvcnRhbnQgY291bGQgYmUgZW5jb2RlZCBpbiB0aGUgb3Jk ZXIgd2hpY2gKPj4gaXQgaXMgZGVmaW5lZCAoaWYgb25lIGNvbmZpZ3VyZXMgdGhpcyBpbiB0aGUg Y29uZmlnIGl0J3MgZWFzeSwgYW5kIEknZAo+PiBhZGQgYW4gQVBJIGVuZHBvaW50IHRvIHJlYWxp emUgdGhpcyBvdmVyIHRoZSBBUEkvV2ViR1VJIHRvbyksIG9yIG1heWJlCj4+IGV2ZW4gc2ltcGxl ciB0byBtYWludGFpbjoganVzdCBhbm90aGVyIHByb3BlcnR5Lgo+IAo+IFdlIGNhbm5vdCB1c2Ug anVzdCB0aGUgb3JkZXIsIGJlY2F1c2UgYSB1c2VyIG1pZ2h0IHdhbnQgdG8gZ2l2ZSB0d28KPiBu b2RlcyB0aGUgc2FtZSBwcmlvcml0eS4gSSdkIGFsc28gbGlrZSB0byBhdm9pZCBhbiBpbXBsaWNp dAo+IG9yZGVyLXByaW9yaXR5IG1hcHBpbmcuCgpSaWdodCwgZ29vZCBwb2ludCEKCj4gCj4+IEJ1 dCB0aGVuLCB0aGUKPj4gbm9mYWlsYmFjayB3b3VsZCBoYXZlIHRvIGJlIGVpdGhlciBtb3ZlZCB0 byBzb21lIG90aGVyIHBsYWNlLi4uCj4gCj4+IE9yIGl0IGlzIHN0aWxsIGFsbG93ZWQgaW4gbG9j YXRpb24gcnVsZXMsIGJ1dCBlaXRoZXIgdGhlIG1vcmUgZGV0YWlsZWQKPj4gcnVsZSB3aW5zIChl LmcuIG9uZSBydWxlIGhhcyBub2RlMSB3aXRob3V0IGEgcHJpb3JpdHkgYW5kIHRoZSBvdGhlciBk b2VzCj4+IGhhdmUgbm9kZTEgd2l0aCBhIHByaW9yaXR5KQo+IAo+IE1heWJlIHdlIHNob3VsZCBw cm9oaWJpdCBtdWx0aXBsZSBydWxlcyB3aXRoIHRoZSBzYW1lIHNlcnZpY2Utbm9kZSBwYWlyPwo+ IE90aGVyd2lzZSwgbXkgaW50dWl0aW9uIHNheXMgdGhhdCBhbGwgcnVsZXMgc2hvdWxkIGJlIGNv bnNpZGVyZWQgYW5kIHRoZQo+IHJ1bGUgd2l0aCB0aGUgaGlnaGVzdCBub2RlIHByaW9yaXR5IHNo b3VsZCB3aW4uCgpZZXMsIEkgdGhpbmsgdGhhdCB3b3VsZCBtYWtlIHRoZSBtb3N0IHNlbnNlIGFz IGRpc2FsbG93aW5nIHVzZXJzIHRvIHB1dCAKdGhlIHNhbWUgdHdvIG9yIG1vcmUgc2VydmljZXMg aW4gbXVsdGlwbGUgbmVnYXRpdmUgY29sb2NhdGlvbiBydWxlcy4KCj4gCj4+IG9yIHRoZSBmaXJz dCBsb2NhdGlvbiBydWxlIHdpdGggYSBzcGVjaWZpYwo+PiBub2RlIHdpbnMgYW5kIHRoZSBvdGhl ciBpcyBpZ25vcmVkLiBCdXQgdGhpcyBpcyBhbHJlYWR5IGNvbmZ1c2luZyB3aGVuCj4+IHdyaXRp bmcgaXQgb3V0IGhlcmUuLi4KPj4KPj4gSSdkIHByZWZlciB1c2VycyB0byB3cml0ZSB0aGUgZm9y bWVyIChhbmQgbWFrZSB0aGlzIHRoZSBkeW5hbWljCj4+ICdjYW5vbmljYWwnIGZvcm0gd2hlbiBz ZWxlY3Rpbmcgbm9kZXMpLCBidXQgYXMgd2l0aCBjb2xvY2F0aW9uIHJ1bGVzIGl0Cj4+IGNvdWxk IG1ha2Ugc2Vuc2UgdG8gc2VwYXJhdGUgdGhlbSBmb3Igc3BlY2lmaWMgcmVhc29ucyAvIHVzZSBj YXNlcy4KPiAKPiBGYWlyIHBvaW50Lgo+IAo+PiBBbmQgYW5vdGhlciByZWFzb24gd2h5IGl0IGNv dWxkIHN0aWxsIG1ha2Ugc2Vuc2UgdG8gZ28gdGhhdCB3YXkgaXMgdG8KPj4gYWxsb3cgIm5lZ2F0 aXZlIiBsb2NhdGlvbiBydWxlcyBhdCBhIGxhdGVyIHBvaW50LCB3aGljaCBtYWtlcyBzZW5zZSBp bgo+PiBsYXJnZXIgZW52aXJvbm1lbnRzLCB3aGVyZSBpdCdzIGVhc2llciB0byB3cml0ZSBvcHQt b3V0IHJ1bGVzIHRoYW4gb3B0LQo+PiBpbiBydWxlcywgc28gSSdkIGxpa2UgdG8ga2VlcCB0aGF0 IHBhdGggb3BlbiBmb3IgdGhlIGZ1dHVyZS4KPiAKPiBXZSBhbHNvIGRpc2N1c3NlZCB0aGlzIG9m ZiBsaXN0OiBEYW5pZWwgY29udmluY2VkIG1lIHRoYXQgaXQgd291bGQgYmUKPiBjbGVhbmVyIGlm IHRoZSBub2ZhaWxiYWNrIHByb3BlcnR5IHdvdWxkIGJlIGFzc29jaWF0ZWQgdG8gYSBnaXZlbgo+ IHNlcnZpY2UgcmF0aGVyIHRoYW4gYSBnaXZlbiBsb2NhdGlvbiBydWxlLiBBbmQgaWYgd2UgbGF0 ZXIgc3VwcG9ydCBwb29scwo+IGFzIHJlc291cmNlcywgdGhlIHByb3BlcnR5IHNob3VsZCBiZSBh c3NvY2lhdGVkIHRvIChjZXJ0YWluIG9yIGFsbCkKPiBzZXJ2aWNlcyBpbiB0aGF0IHBvb2wgYW5k IGRlZmluZWQgaW4gdGhlIHJlc291cmNlIGNvbmZpZyBmb3IgdGhlIHBvb2wuCj4gCj4gVG8gYXZv aWQgdGhlIGRvdWJsZS1uZWdhdGlvbiB3aXRoIG5vZmFpbGJhY2s9MCwgaXQgY291bGQgYWxzbyBi ZSByZW5hbWVkCj4gdG8gYSBwb3NpdGl2ZSBwcm9wZXJ0eSwgYmVsb3cgY2FsbGVkICJhdXRvLWVs ZXZhdGUiLCBqdXN0IGEgd29ya2luZyBuYW1lLgo+IAo+IEEgc21hbGwgY29uY2VybiBvZiBtaW5l IHdhcyB0aGF0IHRoaXMgbWFrZXMgaXQgaW1wb3NzaWJsZSB0byBoYXZlIGEKPiBzZXJ2aWNlIHRo YXQgb25seSAiYXV0by1lbGV2YXRlcyIgdG8gYSBzcGVjaWZpYyBub2RlIHdpdGggYSBwcmlvcml0 eSwKPiBidXQgbm90IG90aGVycy4gVGhpcyBpcyBhbHJlYWR5IG5vdCBwb3NzaWJsZSByaWdodCBu b3csIGFuZCBob25lc3RseSwKPiB0aGF0IHdvdWxkIGJlIHF1aXRlIHN0cmFuZ2UgYmVoYXZpb3Ig YW5kIG5vdCBzdXBwb3J0aW5nIHRoYXQgaXMgdW5saWtlbHkKPiB0byBodXJ0IHJlYWwgdXNlIGNh c2VzLgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCnB2 ZS1kZXZlbCBtYWlsaW5nIGxpc3QKcHZlLWRldmVsQGxpc3RzLnByb3htb3guY29tCmh0dHBzOi8v bGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZlbAo=