AW: AW: AW: sieve-test (Pigeonhole) on Ubuntu: PCRE support and address test restrictions on Return-Path
Michael Merz via dovecot <[email protected]> Sat, 11 Jul 2026 09:15:33 +0200
| Newsgroups | gmane.mail.imap.dovecot |
|---|---|
| Message-ID | <!&!AAAAAAAAAAAYAAAAAAAAAEARHlAfdINIvecG/[email protected]> |
SGVsbG8gQWtpLA0KDQpHb29kIG5ld3M6IGFmdGVyIGluc3RhbGxpbmcgRG92ZWNvdCAyLjQuNCBm cm9tIHJlcG8uZG92ZWNvdC5vcmcsIHRoZSAoP2kpIHJlZ2V4IGVycm9ycyBhcmUgZ29uZS4gUENS RSBhcHBlYXJzIHRvIGJlIHdvcmtpbmcgY29ycmVjdGx5IG5vdy4NCkhvd2V2ZXIsIHNpZXZlLXRl c3Qgbm93IGZhaWxzIHdpdGggYSBkaWZmZXJlbnQgZXJyb3I6DQoNCiAgc2lldmUtdGVzdDogRmF0 YWw6IG1haWxfZHJpdmVyIG5vdCBzZXQgYW5kIGF1dG9kZXRlY3Rpb24gZmFpbGVkOg0KICBNYWls IHN0b3JhZ2UgYXV0b2RldGVjdGlvbiBmYWlsZWQgKGhvbWU9L2hvbWUvbWljaGEsIG1haWxfcGF0 aD0pDQogIC0gU2V0IG1haWxfZHJpdmVyIGV4cGxpY2l0bHkNCg0KSSBhbSBpbnZva2luZyBzaWV2 ZS10ZXN0IGFzIGZvbGxvd3M6DQoNCiAgc2lldmUtdGVzdCBcDQogICAgLXggImZpbGVpbnRvIHJl Z2V4IGNvcHkgYm9keSB2YXJpYWJsZXMgaW1hcDRmbGFncyBlZGl0aGVhZGVyIiBcDQogICAgLWUg XA0KICAgIC10IC90bXAvdHJhY2UudHh0IFwNCiAgICB+L3NpZXZlLXRlc3QvcnVsZXMvdjRfMV83 LnNpZXZlIFwNCiAgICA8bWFpbC5lbWw+DQoNCkkgaGF2ZSBhbHNvIHRyaWVkIC1vIG1haWxfbG9j YXRpb249bWFpbGRpcjp+L3NpZXZlLXRlc3QvbWFpbGJveCBhbmQgLW8gcGx1Z2luL21haWxfbG9j YXRpb249bWFpbGRpcjp+L3NpZXZlLXRlc3QvbWFpbGJveCwgYm90aCBvZiB3aGljaA0KcHJvZHVj ZSAiVW5rbm93biBzZXR0aW5nIiBlcnJvcnMuDQoNCkkgYW0gbm90IHJ1bm5pbmcgYSBEb3ZlY290 IG1haWwgc2VydmVyIOKAlCBJIGFtIHVzaW5nIHNpZXZlLXRlc3QgcHVyZWx5IGFzIGFuIG9mZmxp bmUgdGVzdGluZyB0b29sIHdpdGhvdXQgYW55IERvdmVjb3Qgc2VydmVyIGNvbmZpZ3VyYXRpb24u DQoNCkNvdWxkIHlvdSBhZHZpc2Ugb24gdGhlIGNvcnJlY3Qgd2F5IHRvIHNldCBtYWlsX2RyaXZl ciAob3IgbWFpbF9sb2NhdGlvbikgZm9yIHNpZXZlLXRlc3QgMi40LjQgaW4gYSBzdGFuZGFsb25l L3NlcnZlcmxlc3MgY29udGV4dD8NCg0KVGhhbmsgeW91IHZlcnkgbXVjaC4NCg0KQmVzdCByZWdh cmRzLA0KTWljaGFlbCBNZXJ6DQptaWNoYWVsLm1lcnpAd3RuZXQuZGUNCg0KLS0tLS1VcnNwcsO8 bmdsaWNoZSBOYWNocmljaHQtLS0tLQ0KVm9uOiBBa2kgVHVvbWkgdmlhIGRvdmVjb3QgPGRvdmVj b3RAZG92ZWNvdC5vcmc+IA0KR2VzZW5kZXQ6IEZyZWl0YWcsIDEwLiBKdWxpIDIwMjYgMTk6NDQN CkFuOiBtaWNoYWVsLm1lcnpAd3RuZXQuZGU7IE1pY2hhZWwgTWVyeiB2aWEgZG92ZWNvdCA8ZG92 ZWNvdEBkb3ZlY290Lm9yZz4NCkNjOiBTdGVwaGFuIEJvc2NoIDxzdGVwaGFuQHJlbmFtZS1pdC5u bD4NCkJldHJlZmY6IFJlOiBBVzogQVc6IHNpZXZlLXRlc3QgKFBpZ2VvbmhvbGUpIG9uIFVidW50 dTogUENSRSBzdXBwb3J0IGFuZCBhZGRyZXNzIHRlc3QgcmVzdHJpY3Rpb25zIG9uIFJldHVybi1Q YXRoDQoNCkFsdGhvdWdoIEkgZGlkIHRlc3QgdGhpczoNCg0KICAgICAgICAgICAgICAgIE1BVENI X0NBU0UoIig/aSloZWxsbyIsICJIRUxMTyIpLA0KICAgICAgICAgICAgICAgIE1BVENIX0NBU0Uo Il4oP2kpXFxbKC4qKVxcXSAoLiopJCIsICJbYWNtZS11c2Vyc10gW2Z3ZF06IGhlbGxvLCB3b3Js ZCIpLA0KDQoNCmFuZCBkaWQgbm90IGdldCBhbnkgY29tcGxhaW50cyBmcm9tIHRoZSBsaWJyYXJ5 IGl0c2VsZi4gU28gdGhlcmUgaXMgc29tZSBvdGhlciByZWFzb24gZm9yIGl0IHRvIGZhaWwuDQoN CkFraQ0KDQo+IE9uIDEwLzA3LzIwMjYgMjA6NDAgRUVTVCBBa2kgVHVvbWkgPGFraS50dW9taUBv cGVuLXhjaGFuZ2UuY29tPiB3cm90ZToNCj4gDQo+ICANCj4gQSBzaWV2ZSBzdHlsZSBvZiBkb2lu ZyAoP2kpIGlzDQo+IA0KPiBpZiBoZWFkZXIgOnJlZ2V4IDpjb21wYXJhdG9yICJpO2FzY2lpLWNh c2VtYXAiICJmcm9tIiAiPHJlZ2V4PiIgeyB9DQo+IA0KPiB5b3UgY2FuIGFsc28gdXNlIHVuaWNv ZGUtY2FzZW1hcCBmb3IgdW5pY29kZS4NCj4gDQo+IEFraQ0KPiANCj4gPiBPbiAxMC8wNy8yMDI2 IDIwOjI0IEVFU1QgTWljaGFlbCBNZXJ6IHZpYSBkb3ZlY290IDxkb3ZlY290QGRvdmVjb3Qub3Jn PiB3cm90ZToNCj4gPiANCj4gPiAgDQo+ID4gSGVsbG8gQWtpLA0KPiA+IA0KPiA+IFRoYW5rIHlv dSBmb3IgdGhlIGNsYXJpZmljYXRpb24g4oCUIHRoYXQgaXMgdmVyeSBlbmNvdXJhZ2luZyBuZXdz Lg0KPiA+IEhlcmUgYXJlIGNvbmNyZXRlIGV4YW1wbGVzIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Np b25zIHVzZWQgaW4gbXkgcnVsZXNldCwgYWxvbmcgd2l0aCB0aGUgc2lldmUtdGVzdCBlcnJvciBt ZXNzYWdlcyB0aGV5IHByb2R1Y2U6DQo+ID4gDQo+ID4gRXhhbXBsZSAxIOKAlCBoZWFkZXIgOnJl Z2V4IHRlc3Q6DQo+ID4gDQo+ID4gICBpZiBoZWFkZXIgOnJlZ2V4ICJYLVNwYW0tU3RhdHVzIiAi KD9pKXNjb3JlPVsxLTldIiB7DQo+ID4gDQo+ID4gICBFcnJvcjogaW52YWxpZCByZWd1bGFyIGV4 cHJlc3Npb24gJyg/aSlzY29yZT1bMS05XScgZm9yIHJlZ2V4IG1hdGNoOg0KPiA+ICAgICAgICAg IGludmFsaWQgcHJlY2VkaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbg0KPiA+IA0KPiA+IEV4YW1wbGUg MiDigJQgaGVhZGVyIDpyZWdleCB0ZXN0Og0KPiA+IA0KPiA+ICAgaWYgaGVhZGVyIDpyZWdleCAi ZnJvbSIgIig/aSlncm91cHNcLmdvb2dsZVwuY29tIiB7DQo+ID4gDQo+ID4gICBFcnJvcjogaW52 YWxpZCByZWd1bGFyIGV4cHJlc3Npb24gJyg/aSlncm91cHNcLmdvb2dsZVwuY29tJyBmb3IgcmVn ZXggbWF0Y2g6DQo+ID4gICAgICAgICAgaW52YWxpZCBwcmVjZWRpbmcgcmVndWxhciBleHByZXNz aW9uDQo+ID4gDQo+ID4gRXhhbXBsZSAzIOKAlCBoZWFkZXIgOnJlZ2V4IHRlc3Qgd2l0aCBhbmNo b3Jpbmc6DQo+ID4gDQo+ID4gICBpZiBoZWFkZXIgOnJlZ2V4ICJzdWJqZWN0IiAiXig/aSkocmV8 ZndkKToiIHsNCj4gPiANCj4gPiAgIEVycm9yOiBpbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbiAn Xig/aSkocmV8ZndkKTonIGZvciByZWdleCBtYXRjaDoNCj4gPiAgICAgICAgICBpbnZhbGlkIHBy ZWNlZGluZyByZWd1bGFyIGV4cHJlc3Npb24NCj4gPiANCj4gPiBBbGwgZXJyb3JzIGZvbGxvdyB0 aGUgc2FtZSBwYXR0ZXJuOiB0aGUgKD9pKSBpbmxpbmUgZmxhZyBmb3IgY2FzZS1pbnNlbnNpdGl2 ZSBtYXRjaGluZyBpcyByZWplY3RlZCByZWdhcmRsZXNzIG9mIGl0cyBwb3NpdGlvbiBpbiB0aGUg ZXhwcmVzc2lvbiBvciB0aGUgaGVhZGVyIGJlaW5nIHRlc3RlZC4NCj4gPiANCj4gPiBUaGUgZnVs bCByZXF1aXJlIHN0YXRlbWVudCBhdCB0aGUgdG9wIG9mIHRoZSBzY3JpcHQgaXM6DQo+ID4gDQo+ ID4gICByZXF1aXJlIFsiZmlsZWludG8iLCAicmVqZWN0IiwgInZhY2F0aW9uIiwgInJlZ2V4Iiwg ImNvcHkiLA0KPiA+ICAgICAgICAgICAgImJvZHkiLCAidmFyaWFibGVzIiwgImltYXA0ZmxhZ3Mi LCAiZWRpdGhlYWRlciJdOw0KPiA+IA0KPiA+IHNpZXZlLXRlc3QgaXMgaW52b2tlZCBhcyBmb2xs b3dzOg0KPiA+IA0KPiA+ICAgc2lldmUtdGVzdCBcDQo+ID4gICAgIC14ICJmaWxlaW50byByZWdl eCBjb3B5IGJvZHkgdmFyaWFibGVzIGltYXA0ZmxhZ3MgZWRpdGhlYWRlciIgXA0KPiA+ICAgICAt dCAvdG1wL3RyYWNlLnR4dCBcDQo+ID4gICAgIH4vc2lldmUtdGVzdC9ydWxlcy92NF8wXzEzLnNp ZXZlIFwNCj4gPiAgICAgPG1haWwuZW1sPg0KPiA+IA0KPiA+IERvdmVjb3QgdmVyc2lvbjogMjoy LjQuNC01K3VidW50dTI0LjA0IChmcm9tIHJlcG8uZG92ZWNvdC5vcmcpDQo+ID4gVWJ1bnR1OiAy NC4wNC4zIExUUyAoTm9ibGUpLCBXU0wyDQo+ID4gDQo+ID4gVGhhbmsgeW91IHZlcnkgbXVjaCBm b3IgbG9va2luZyBpbnRvIHRoaXMuDQo+ID4gDQo+ID4gQmVzdCByZWdhcmRzLA0KPiA+IE1pY2hh ZWwgTWVyeg0KPiA+IG1pY2hhZWwubWVyekB3dG5ldC5kZQ0KPiA+IA0KPiA+IE1pY2hhZWwgTWVy eg0KPiA+IEJhcmdrb3BwZWwgMTUsIDIyODQ0IE5vcmRlcnN0ZWR0DQo+ID4gTW9iaWwgMDE3MiA0 MDQ5MTcxDQo+ID4gDQo+ID4gLS0tLS1VcnNwcsO8bmdsaWNoZSBOYWNocmljaHQtLS0tLQ0KPiA+ IFZvbjogQWtpIFR1b21pIHZpYSBkb3ZlY290IDxkb3ZlY290QGRvdmVjb3Qub3JnPg0KPiA+IEdl c2VuZGV0OiBGcmVpdGFnLCAxMC4gSnVsaSAyMDI2IDE5OjE2DQo+ID4gQW46IG1pY2hhZWwubWVy ekB3dG5ldC5kZTsgTWljaGFlbCBNZXJ6IHZpYSBkb3ZlY290IA0KPiA+IDxkb3ZlY290QGRvdmVj b3Qub3JnPg0KPiA+IENjOiBTdGVwaGFuIEJvc2NoIDxzdGVwaGFuQHJlbmFtZS1pdC5ubD4NCj4g PiBCZXRyZWZmOiBSZTogQVc6IHNpZXZlLXRlc3QgKFBpZ2VvbmhvbGUpIG9uIFVidW50dTogUENS RSBzdXBwb3J0IGFuZCANCj4gPiBhZGRyZXNzIHRlc3QgcmVzdHJpY3Rpb25zIG9uIFJldHVybi1Q YXRoDQo+ID4gDQo+ID4gQnVpbGQgb3B0aW9ucyBkb2VzIG5vdCBpbmNsdWRlIGFsbCBidWlsZCBv cHRpb25zLCB1bmZvcnR1bmF0ZWx5LiAiaW52YWxpZCBwcmVjZWRpbmcgcmVndWxhciBleHByZXNz aW9uIiBtZWFucyB0aGUgUENSRSBpcyBhdmFpbGFibGUsIHRoZSBlcnJvciB3b3VsZCBiZSBjbGVh ciB0aGF0IHRoZXJlIGlzIG5vIFBDUkUgc3VwcG9ydCBpZiBpdCB3YXMgbWlzc2luZy4NCj4gPiAN Cj4gPiBDYW4geW91IHByb3ZpZGUgdGhlIGV4YWN0IHJlZ3VsYXIgZXhwcmVzc2lvbiwgYW5kIGhv dyB5b3UgYXJlIHVzaW5nIGl0PyANCj4gPiANCj4gPiBBa2kNCj4gPiANCj4gPiA+IE9uIDEwLzA3 LzIwMjYgMjA6MDYgRUVTVCBNaWNoYWVsIE1lcnogdmlhIGRvdmVjb3QgPGRvdmVjb3RAZG92ZWNv dC5vcmc+IHdyb3RlOg0KPiA+ID4gDQo+ID4gPiAgDQo+ID4gPiBIZWxsbyBBa2ksDQo+ID4gPiAN Cj4gPiA+IFRoYW5rIHlvdSBmb3IgdGhlIHBvaW50ZXIgdG8gaHR0cHM6Ly9yZXBvLmRvdmVjb3Qu b3JnLiANCj4gPiA+IEkgaGF2ZSBub3cgaW5zdGFsbGVkIERvdmVjb3QgMi40LjQgZnJvbSB0aGUg b2ZmaWNpYWwgcmVwb3NpdG9yeSBvbiBVYnVudHUgMjQuMDQgTFRTIChOb2JsZSkgYW5kIGNhbiBj b25maXJtIHRoYXQgdGhlIHBhY2thZ2VzIGFyZSBhdmFpbGFibGUgYW5kIGluc3RhbGwgY29ycmVj dGx5Lg0KPiA+ID4gSG93ZXZlciwgY2hlY2tpbmcgdGhlIGJ1aWxkIG9wdGlvbnMgc2hvd3MgdGhh dCBQQ1JFIHN1cHBvcnQgaXMgbm90IGluY2x1ZGVkOiANCj4gPiA+IA0KPiA+ID4gICAkIGRvdmVj b3QgLS1idWlsZC1vcHRpb25zIA0KPiA+ID4gICBCdWlsZCBvcHRpb25zOiBpb2xvb3A9ZXBvbGwg bm90aWZ5PWlub3RpZnkgZXhwZXJpbWVudGFsLWltYXA0cmV2MiBvcGVuc3NsIGlvX2Jsb2NrX3Np emU9ODE5MiANCj4gPiA+ICAgU1FMIGRyaXZlciBwbHVnaW5zOiBteXNxbCBwb3N0Z3Jlc3FsIHNx bGl0ZSANCj4gPiA+ICAgUGFzc2RiOiBsZGFwIHBhbSBwYXNzd2QgcGFzc3dkLWZpbGUgc3FsIA0K PiA+ID4gICBVc2VyZGI6IGxkYXAocGx1Z2luKSBwYXNzd2QgcHJlZmV0Y2ggcGFzc3dkLWZpbGUg c3FsDQo+ID4gPiANCj4gPiA+IFRoZXJlIGlzIG5vIFBDUkUgZW50cnksIGFuZCBzaWV2ZS10ZXN0 IHN0aWxsIHJlamVjdHMgYWxsICg/aSkgaW5saW5lIGZsYWdzIGluIHJlZ2V4IGV4cHJlc3Npb25z IHdpdGggImludmFsaWQgcHJlY2VkaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiIuDQo+ID4gPiBNYXkg SSBhc2s6IGlzIFBDUkUgc3VwcG9ydCBpbnRlbnRpb25hbGx5IG5vdCBpbmNsdWRlZCBpbiB0aGUg b2ZmaWNpYWwgRG92ZWNvdC9QaWdlb25ob2xlIHBhY2thZ2VzLCBvciBpcyB0aGlzIGFuIG92ZXJz aWdodCBpbiB0aGUgYnVpbGQgY29uZmlndXJhdGlvbj8gDQo+ID4gPiBJZiBQQ1JFIGlzIG5vdCBw bGFubmVkIHRvIGJlIGluY2x1ZGVkLCBpcyB0aGVyZSBhIHJlY29tbWVuZGVkIGFsdGVybmF0aXZl IGFwcHJvYWNoIGZvciBhY2hpZXZpbmcgY2FzZS1pbnNlbnNpdGl2ZSByZWdleCBtYXRjaGluZyBp biBQaWdlb25ob2xlJ3Mgc2lldmUtdGVzdCB0aGF0IHdvdWxkIGJlIGNvbXBhdGlibGUgd2l0aCBD eXJ1cyBJTUFQZCdzIFBDUkUtYmFzZWQgcmVnZXggc3ludGF4Pw0KPiA+ID4gDQo+ID4gPiBUaGFu ayB5b3UgYWdhaW4gZm9yIHlvdXIgaGVscC4gDQo+ID4gPiBCZXN0IHJlZ2FyZHMsDQo+ID4gPiBN aWNoYWVsIE1lcnoNCj4gPiA+IG1pY2hhZWwubWVyekB3dG5ldC5kZQ0KPiA+ID4gDQo+ID4gPiAt LS0tLVVyc3Byw7xuZ2xpY2hlIE5hY2hyaWNodC0tLS0tDQo+ID4gPiBWb246IEFraSBUdW9taSB2 aWEgZG92ZWNvdCA8ZG92ZWNvdEBkb3ZlY290Lm9yZz4NCj4gPiA+IEdlc2VuZGV0OiBGcmVpdGFn LCAxMC4gSnVsaSAyMDI2IDA2OjUxDQo+ID4gPiBBbjogTWljaGFlbCBNZXJ6IDxtaWNoYWVsLm1l cnpAd3RuZXQuZGU+OyBNaWNoYWVsIE1lcnogdmlhIGRvdmVjb3QgDQo+ID4gPiA8ZG92ZWNvdEBk b3ZlY290Lm9yZz47IFN0ZXBoYW4gQm9zY2ggPHN0ZXBoYW5AcmVuYW1lLWl0Lm5sPg0KPiA+ID4g QmV0cmVmZjogUmU6IHNpZXZlLXRlc3QgKFBpZ2VvbmhvbGUpIG9uIFVidW50dTogUENSRSBzdXBw b3J0IGFuZCANCj4gPiA+IGFkZHJlc3MgdGVzdCByZXN0cmljdGlvbnMgb24gUmV0dXJuLVBhdGgN Cj4gPiA+IA0KPiA+ID4gWW91IGNhbiBnZXQgMi40LjQgcGFja2FnZXMgZm9yIHVidW50dSAyNC4w NCBmcm9tIA0KPiA+ID4gaHR0cHM6Ly9yZXBvLmRvdmVjb3Qub3JnDQo+ID4gPiANCj4gPiA+IEFr aQ0KPiA+ID4gDQo+ID4gPiA+IE9uIDA5LzA3LzIwMjYgMjI6MjEgRUVTVCBNaWNoYWVsIE1lcnog dmlhIGRvdmVjb3QgPGRvdmVjb3RAZG92ZWNvdC5vcmc+IHdyb3RlOg0KPiA+ID4gPiANCj4gPiA+ ID4gIA0KPiA+ID4gPiBEZWFyIFN0ZXBoYW4sDQo+ID4gPiA+IA0KPiA+ID4gPiBUaGFuayB5b3Ug dmVyeSBtdWNoIGZvciB5b3VyIHF1aWNrIGFuZCBoZWxwZnVsIHJlc3BvbnNlLg0KPiA+ID4gPiAN Cj4gPiA+ID4gUmVnYXJkaW5nIHBvaW50IDEgKFBDUkUgc3VwcG9ydCksIHlvdXIgY29tbWVudCB0 aGF0IFVidW50dSAyNC4wNCBpcyAibGlrZWx5IHN0dWNrIGF0IGEgcXVpdGUgb2xkIHZlcnNpb24g b2YgUGlnZW9uaG9sZSIgcmFpc2VzIGEgZm9sbG93LXVwIHF1ZXN0aW9uOg0KPiA+ID4gPiANCj4g PiA+ID4gRnJvbSB3aGljaCB2ZXJzaW9uIG9mIFBpZ2VvbmhvbGUgb253YXJkcyBpcyBQQ1JFIHN1 cHBvcnQgaW5jbHVkZWQgYnkgZGVmYXVsdCAoaS5lLiBjb21waWxlZCBpbiB3aXRob3V0IHJlcXVp cmluZyBhbiBleHBsaWNpdCAtLXdpdGgtcGNyZSBmbGFnKT8gQW5kIGlzIHRoZXJlIGFuIG9mZmlj aWFsIHJlcG9zaXRvcnksIFBQQSwgb3IgcmVjb21tZW5kZWQgd2F5IHRvIG9idGFpbiBhIG1vcmUg cmVjZW50IFBpZ2VvbmhvbGUvZG92ZWNvdC1zaWV2ZSBiaW5hcnkgZm9yIFVidW50dSAyNC4wNCBM VFMgdGhhdCB3b3VsZCBpbmNsdWRlIFBDUkUgc3VwcG9ydCBvdXQgb2YgdGhlIGJveD8NCj4gPiA+ ID4gDQo+ID4gPiA+IFJlZ2FyZGluZyBwb2ludCAyIChSZXR1cm4tUGF0aCAvIGVudmVsb3BlIHRl c3QpOiB0aGFuayB5b3UgZm9yIHRoZSBwb2ludGVyLiBJIHVuZGVyc3RhbmQgdGhhdCB0aGUgZW52 ZWxvcGUgdGVzdCB3b3VsZCBiZSB0aGUgUkZDLWNvbXBsaWFudCBhbHRlcm5hdGl2ZSB3aXRoaW4g UGlnZW9uaG9sZS4gSG93ZXZlciwgc2luY2UgbXkgcnVsZXNldCBydW5zIG9uIGEgQ3lydXMgYmFj a2VuZCB3aGVyZSB0aGUgYWRkcmVzcyB0ZXN0IG9uIFJldHVybi1QYXRoIHdvcmtzIGZpbmUsIHRo aXMgd291bGQgbWVhbiBtYWludGFpbmluZyB0d28gZGlmZmVyZW50IHZlcnNpb25zIG9mIHRoZSBy dWxlc2V0IOKAlCBvbmUgZm9yIHByb2R1Y3Rpb24gKEN5cnVzKSBhbmQgb25lIGZvciBvZmZsaW5l IHRlc3RpbmcgKFBpZ2VvbmhvbGUpLiBUaGF0IHNvbWV3aGF0IGRlZmVhdHMgdGhlIHB1cnBvc2Ug b2Ygb2ZmbGluZSB0ZXN0aW5nLCBzbyBJIG1lbnRpb24gaXQgb25seSBmb3IgY29tcGxldGVuZXNz Lg0KPiA+ID4gPiANCj4gPiA+ID4gVGhlIGtleSBxdWVzdGlvbiB0aGVyZWZvcmUgcmVtYWlucyB3 aGV0aGVyIGEgUENSRS1lbmFibGVkIFBpZ2VvbmhvbGUgYmluYXJ5IGlzIHJlYWxpc3RpY2FsbHkg b2J0YWluYWJsZSBmb3IgVWJ1bnR1IDI0LjA0LCBhcyB0aGF0IHdvdWxkIHJlc29sdmUgdGhlIG1h aW4gYmxvY2tlci4NCj4gPiA+ID4gDQo+ID4gPiA+IFRoYW5rIHlvdSBhZ2FpbiBmb3IgeW91ciB0 aW1lLg0KPiA+ID4gPiANCj4gPiA+ID4gQmVzdCByZWdhcmRzLA0KPiA+ID4gPiBNaWNoYWVsIE1l cnoNCj4gPiA+ID4gDQo+ID4gPiA+IHZvbiBtZWluZW0gaVBhZCBQcm8gNEdlbiBnZXNlbmRldA0K PiA+ID4gPiANCj4gPiA+ID4gPiBBbSAwOS4wNy4yMDI2IHVtIDE4OjM5IHNjaHJpZWIgU3RlcGhh biBCb3NjaCA8c3RlcGhhbkByZW5hbWUtaXQubmw+Og0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IO+7 vw0KPiA+ID4gPiA+IE9wIDI5LTYtMjAyNiBvbSAwOTo1NiBzY2hyZWVmIG1pY2hhZWwubWVyei0t LSB2aWEgZG92ZWNvdDoNCj4gPiA+ID4gPj4gICAgSGVsbG8sDQo+ID4gPiA+ID4+IA0KPiA+ID4g PiA+PiANCj4gPiA+ID4gPj4gDQo+ID4gPiA+ID4+ICAgIEkndmUgYmVlbiBldmFsdWF0aW5nIHNp ZXZlLXRlc3QgKFBpZ2VvbmhvbGUsIGRvdmVjb3Qtc2lldmUgcGFja2FnZSwNCj4gPiA+ID4gPj4g ICAgdmVyc2lvbiAyLjMuMjEsIGFzIHNoaXBwZWQgd2l0aCBVYnVudHUgMjQuMDQgTFRTKSBhcyBh biBvZmZsaW5lIHRlc3RpbmcNCj4gPiA+ID4gPj4gICAgdG9vbCBmb3IgYSBwZXJzb25hbCBTaWV2 ZSBydWxlc2V0IHRoYXQgY3VycmVudGx5IHJ1bnMgb24gYSBDeXJ1cyBJTUFQZC9DTVUNCj4gPiA+ ID4gPj4gICAgU2lldmUgMy4wIGJhY2tlbmQuDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gDQo+ID4g PiA+ID4gRGlmZmVyZW50IGltcGxlbWVudGF0aW9uIGFuZCBkZXNpZ24gY2hvaWNlcyB3aWxsIG1l YW4gdGhhdCBEb3ZlY290IGhhcyBhIGRpZmZlcmVudCBvcGluaW9uIHdoYXQgaXMgYSB2YWxpZCBT aWV2ZSBzY3JpcHQgYW5kIGhvdyBpdCBpcyB0byBiZSBldmFsdWF0ZWQgdGhhbiBDeXJ1cywgbWFr aW5nIHRoaXMgcHJvYmxlbWF0aWMuDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4+ ICAgIEknZCBsaWtlIHRvIGFzayBmb3Igc29tZSBjbGFyaWZpY2F0aW9uIG9uIHR3byBwb2ludHMs IGluIGNhc2UgSSdtIG1pc3NpbmcNCj4gPiA+ID4gPj4gICAgYSBjb25maWd1cmF0aW9uIG9wdGlv bi4NCj4gPiA+ID4gPj4gDQo+ID4gPiA+ID4+IA0KPiA+ID4gPiA+PiANCj4gPiA+ID4gPj4gICAg MSkgUENSRSBzdXBwb3J0DQo+ID4gPiA+ID4+IA0KPiA+ID4gPiA+PiANCj4gPiA+ID4gPj4gDQo+ ID4gPiA+ID4+ICAgIE15IHJ1bGVzZXQgbWFrZXMgZXh0ZW5zaXZlIHVzZSBvZiB0aGUgYCg/aSlg IGlubGluZSBjYXNlLWluc2Vuc2l0aXZpdHkNCj4gPiA+ID4gPj4gICAgZmxhZyB3aXRoaW4gOnJl Z2V4IHRlc3RzLCB3aGljaCBpcyB2YWxpZCB1bmRlciBQQ1JFIChhcyB1c2VkIGJ5IEN5cnVzKS4N Cj4gPiA+ID4gPj4gDQo+ID4gPiA+ID4+ICAgIFdoZW4gcnVubmluZyBzaWV2ZS10ZXN0LCBJIGdl dDoNCj4gPiA+ID4gPj4gDQo+ID4gPiA+ID4+IA0KPiA+ID4gPiA+PiANCj4gPiA+ID4gPj4gICAg ICBlcnJvcjogaW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb24gJyg/aSkuLi4nIGZvciByZWdleCBt YXRjaDoNCj4gPiA+ID4gPj4gDQo+ID4gPiA+ID4+ICAgICAgaW52YWxpZCBwcmVjZWRpbmcgcmVn dWxhciBleHByZXNzaW9uLg0KPiA+ID4gPiA+PiANCj4gPiA+ID4gPj4gDQo+ID4gPiA+ID4+IA0K PiA+ID4gPiA+PiAgICBDaGVja2luZyBgZG92ZWNvdCAtLWJ1aWxkLW9wdGlvbnNgIHNob3dzIG5v IFBDUkUgZW50cnksIHdoaWNoIHN1Z2dlc3RzIHRoZQ0KPiA+ID4gPiA+PiAgICBVYnVudHUtcGFj a2FnZWQgYmluYXJ5IHdhcyBjb21waWxlZCB3aXRob3V0IC0td2l0aC1wY3JlIGFuZCBmYWxscyBi YWNrIHRvDQo+ID4gPiA+ID4+ICAgIFBPU0lYIGV4dGVuZGVkIHJlZ2V4Lg0KPiA+ID4gPiA+PiAN Cj4gPiA+ID4gPj4gDQo+ID4gPiA+ID4+IA0KPiA+ID4gPiA+PiAgICBRdWVzdGlvbjogSXMgUENS RSBzdXBwb3J0IGluIFBpZ2VvbmhvbGUncyByZWdleCBleHRlbnNpb24gcHVyZWx5IGENCj4gPiA+ ID4gPj4gICAgY29tcGlsZS10aW1lIGRlY2lzaW9uIChpLmUuIHNvbWV0aGluZyB0aGF0IHdvdWxk IG5lZWQgdG8gYmUgYWRkcmVzc2VkIGF0DQo+ID4gPiA+ID4+ICAgIHRoZSBkaXN0cmlidXRpb24g cGFja2FnaW5nIGxldmVsLCBub3QgdmlhIHJ1bnRpbWUgY29uZmlndXJhdGlvbiksIG9yIGlzDQo+ ID4gPiA+ID4+ICAgIHRoZXJlIGEgcnVudGltZSB3YXkgdG8gZW5hYmxlIFBDUkUgbWF0Y2hpbmcg dGhhdCBJIG1pZ2h0IGhhdmUgbWlzc2VkIChlLmcuDQo+ID4gPiA+ID4+ICAgIHZpYSAtbywgc2ll dmVfZXh0ZW5zaW9ucywgb3Igc2ltaWxhcik/DQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gDQo+ID4g PiA+ID4gSXQgaXMgc3RyaWN0bHkgY29tcGlsZS10aW1lIGNvbmZpZ3VyZWQuIEkgZGlkbid0IGlt cGxlbWVudCB0aGUgUENSRSBtaWdyYXRpb24gbXlzZWxmLCBidXQgSSBkb24ndCB0aGluayB0aGVy ZSBpcyBhIFBPU0lYIHJlZ2V4IGZhbGxiYWNrIGZvciBpdC4gVGhpcyBsaWtlbHkgbWVhbnMgeW91 ciBVYnVudHUgdmVyc2lvbiBpcyBzdGlsbCBzdHVjayBhdCBhIHF1aXRlIG9sZCB2ZXJzaW9uIG9m IFBpZ2VvbmhvbGUuDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4+ICAgIDIpIFJl dHVybi1QYXRoIGluIHRoZSBgYWRkcmVzc2AgdGVzdA0KPiA+ID4gPiA+PiANCj4gPiA+ID4gPj4g DQo+ID4gPiA+ID4+IA0KPiA+ID4gPiA+PiAgICBTZXZlcmFsIG9mIG15IHJ1bGVzIHVzZToNCj4g PiA+ID4gPj4gDQo+ID4gPiA+ID4+IA0KPiA+ID4gPiA+PiANCj4gPiA+ID4gPj4gICAgICBhZGRy ZXNzIDpkb21haW4gOmlzICJyZXR1cm4tcGF0aCIgIi4uLiINCj4gPiA+ID4gPj4gDQo+ID4gPiA+ ID4+IA0KPiA+ID4gPiA+PiANCj4gPiA+ID4gPj4gICAgQ3lydXMgYWNjZXB0cyB0aGlzLiBQaWdl b25ob2xlJ3Mgc2lldmUtdGVzdCByZWplY3RzIGl0IHdpdGg6DQo+ID4gPiA+ID4+IA0KPiA+ID4g PiA+PiANCj4gPiA+ID4gPj4gDQo+ID4gPiA+ID4+ICAgICAgZXJyb3I6IHNwZWNpZmllZCBoZWFk ZXIgJ3JldHVybi1wYXRoJyBpcyBub3QgYWxsb3dlZCBmb3IgDQo+ID4gPiA+ID4+IHRoZQ0KPiA+ ID4gPiA+PiANCj4gPiA+ID4gPj4gICAgICBhZGRyZXNzIHRlc3QuDQo+ID4gPiA+ID4+IA0KPiA+ ID4gPiA+PiANCj4gPiA+ID4gPj4gDQo+ID4gPiA+ID4+ICAgIEkgdW5kZXJzdGFuZCB0aGlzIGlz IGxpa2VseSBhbiBSRkMgNTIyOCBzdHJpY3RuZXNzIGRpZmZlcmVuY2UgKEN5cnVzIGJlaW5nDQo+ ID4gPiA+ID4+ICAgIG1vcmUgcGVybWlzc2l2ZSB0aGFuIHRoZSBSRkMgcmVxdWlyZXMpLg0KPiA+ ID4gPiA+PiANCj4gPiA+ID4gPj4gICAgSXMgdGhlcmUgYSByZWNvbW1lbmRlZCBhbHRlcm5hdGl2 ZSB3aXRoaW4gU2lldmUgaXRzZWxmIHRvIGFjaGlldmUgdGhlIHNhbWUNCj4gPiA+ID4gPj4gICAg ZWZmZWN0ICh0ZXN0aW5nIHRoZSBhZGRyZXNzIHBvcnRpb24gb2YgUmV0dXJuLVBhdGgpIHdoaWxl IHN0YXlpbmcgd2l0aGluDQo+ID4gPiA+ID4+ICAgIHdoYXQgUGlnZW9uaG9sZSBhY2NlcHRzIC0t IGUuZy4gdmlhIHRoZSBgaGVhZGVyYCB0ZXN0IGNvbWJpbmVkIHdpdGggc29tZQ0KPiA+ID4gPiA+ PiAgICBhZGRyZXNzLXBhcnNpbmcgYXBwcm9hY2gsIG9yIHZpYSB0aGUgZW52ZWxvcGUgdGVzdCBp bnN0ZWFkPw0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IEVudmVsb3BlIHRlc3Qg aXMgYmVzdCBpZiB5b3Ugd2FudCB0byB1c2UgYWRkcmVzcyBtYXRjaGluZy4NCj4gPiA+ID4gPiAN Cj4gPiA+ID4gPiANCj4gPiA+ID4gPj4gICAgRm9yIGNvbnRleHQ6IEknbSBub3QgcnVubmluZyBh IERvdmVjb3QgbWFpbCBzZXJ2ZXIgbXlzZWxmLg0KPiA+ID4gPiA+PiANCj4gPiA+ID4gPj4gICAg SSdtIHVzaW5nIHNpZXZlLXRlc3QgcHVyZWx5IGFzIGFuIG9mZmxpbmUgc3ludGF4L2JlaGF2aW91 ciB2ZXJpZmljYXRpb24NCj4gPiA+ID4gPj4gICAgdG9vbCBiZWZvcmUgZGVwbG95aW5nIHJ1bGVz ZXQgY2hhbmdlcyB0byBhIHNlcGFyYXRlIEN5cnVzLWJhc2VkIHByb2R1Y3Rpb24NCj4gPiA+ID4g Pj4gICAgc3lzdGVtLg0KPiA+ID4gPiA+PiANCj4gPiA+ID4gPj4gICAgSSB1bmRlcnN0YW5kIHRo aXMgaXMgYSBiaXQgb2YgYW4gdW51c3VhbCB1c2UgY2FzZSwgc28gYW55IGd1aWRhbmNlIG9uDQo+ ID4gPiA+ID4+ICAgIHdoZXRoZXIgUGlnZW9uaG9sZSBpcyB3ZWxsIHN1aXRlZCBmb3IgdGhpcyBr aW5kIG9mIGNyb3NzLWltcGxlbWVudGF0aW9uDQo+ID4gPiA+ID4+ICAgIHRlc3RpbmcgYXQgYWxs IHdvdWxkIGFsc28gYmUgYXBwcmVjaWF0ZWQuDQo+ID4gPiA+ID4+IA0KPiA+ID4gPiA+PiANCj4g PiA+ID4gPj4gDQo+ID4gPiA+ID4+ICAgIFRoYW5rIHlvdSBmb3IgeW91ciB0aW1lIGFuZCBmb3Ig bWFpbnRhaW5pbmcgUGlnZW9uaG9sZS4NCj4gPiA+ID4gPj4gDQo+ID4gPiA+ID4+IA0KPiA+ID4g PiA+PiANCj4gPiA+ID4gPj4gICAgQmVzdCByZWdhcmRzLA0KPiA+ID4gPiA+PiANCj4gPiA+ID4g Pj4gICAgTWljaGFlbCBNZXJ6DQo+ID4gPiA+ID4+IA0KPiA+ID4gPiA+PiANCj4gPiA+ID4gPj4g DQo+ID4gPiA+ID4+IA0KPiA+ID4gPiA+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXw0KPiA+ID4gPiA+PiBkb3ZlY290IG1haWxpbmcgbGlzdCAtLSBkb3Zl Y290QGRvdmVjb3Qub3JnIFRvIHVuc3Vic2NyaWJlIA0KPiA+ID4gPiA+PiBzZW5kIGFuIGVtYWls IHRvIGRvdmVjb3QtbGVhdmVAZG92ZWNvdC5vcmcNCj4gPiA+ID4gDQo+ID4gPiA+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4gPiA+IGRvdmVjb3Qg bWFpbGluZyBsaXN0IC0tIGRvdmVjb3RAZG92ZWNvdC5vcmcgVG8gdW5zdWJzY3JpYmUgc2VuZCAN Cj4gPiA+ID4gYW4gZW1haWwgdG8gZG92ZWNvdC1sZWF2ZUBkb3ZlY290Lm9yZw0KPiA+ID4gDQo+ ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+ ID4gZG92ZWNvdCBtYWlsaW5nIGxpc3QgLS0gZG92ZWNvdEBkb3ZlY290Lm9yZyBUbyB1bnN1YnNj cmliZSBzZW5kIGFuIA0KPiA+ID4gZW1haWwgdG8gZG92ZWNvdC1sZWF2ZUBkb3ZlY290Lm9yZw0K PiA+ID4gDQo+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXw0KPiA+ID4gZG92ZWNvdCBtYWlsaW5nIGxpc3QgLS0gZG92ZWNvdEBkb3ZlY290Lm9yZyBU byB1bnN1YnNjcmliZSBzZW5kIGFuIA0KPiA+ID4gZW1haWwgdG8gZG92ZWNvdC1sZWF2ZUBkb3Zl Y290Lm9yZw0KPiA+IA0KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fDQo+ID4gZG92ZWNvdCBtYWlsaW5nIGxpc3QgLS0gZG92ZWNvdEBkb3ZlY290Lm9y ZyBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIA0KPiA+IGVtYWlsIHRvIGRvdmVjb3QtbGVhdmVAZG92 ZWNvdC5vcmcNCj4gPiANCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXw0KPiA+IGRvdmVjb3QgbWFpbGluZyBsaXN0IC0tIGRvdmVjb3RAZG92ZWNvdC5v cmcgVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiANCj4gPiBlbWFpbCB0byBkb3ZlY290LWxlYXZlQGRv dmVjb3Qub3JnDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fDQpkb3ZlY290IG1haWxpbmcgbGlzdCAtLSBkb3ZlY290QGRvdmVjb3Qub3JnIFRvIHVuc3Vi c2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gZG92ZWNvdC1sZWF2ZUBkb3ZlY290Lm9yZw0KDQpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkb3ZlY290IG1haWxp bmcgbGlzdCAtLSBkb3ZlY290QGRvdmVjb3Qub3JnClRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1h aWwgdG8gZG92ZWNvdC1sZWF2ZUBkb3ZlY290Lm9yZwo=