Re: Some pattern annoyance
Christian Tismer-Sperling <[email protected]> Thu, 3 Aug 2023 11:46:45 +0200
| Newsgroups | gmane.comp.python.devel |
|---|---|
| Message-ID | <[email protected]> |
SGkgU3RldmUsDQoNClllcyBJIGFtIHdlbGwgYXdhcmUgdGhhdCB0aGlzIHJlZ2V4IGV4YW1wbGUg aXMgbm90IHdlbGwgc3VpdGVkIGZvciBTUE0uDQpUaGlzIHdhcyBhIHByb29mIG9mIGNvbmNlcHQu IFB1c2hpbmcgdGhpbmdzIG5vIHRoZSBleHRyZW1lIGlzIG15DQp3YXkgb2YgdW5kZXJzdGFuZGlu ZyB0aGluZ3MgZGVlcGx5LCBzbyB0aGlzIHdhcyBzb21ldGhpbmcgSSBuZWVkZWQuDQoNCkZvciBz b21lIHJlYXNvbiwgSSBsb3ZlIGFuZCBoYXRlIHJlZ2V4LiBJIGhhdGUgaXQgYmVjYXVzZSBpdCBp cw0KdW5weXRob25pYywgY2hhciBvbmx5IGFuZCB1Z2x5LiBJIGxvdmUgaXQgYmVjYXVzZSBpdCBp cyBmYXN0LCBhbmQgYnkgdGhlDQp1c2Ugb2YgdGhlIHZlcmJvc2UgZmxhZyBhbHNvIHF1aXRlIHJl YWRhYmxlLg0KDQpCdXQgZ2V0dGluZyByaWQgb2YgcmVnZXggaW4gZmF2b3Igb2Ygc29tZXRoaW5n IGV2ZW4gbW9yZSBjYXBhYmxlIHdhcw0KYSBsb25nLXN0YW5kaW5nIHdpc2ggdGhhdCBpcyB5ZXQg bm90IGZ1bGZpbGxlZCwgYmVjYXVzZSB0aGUgbmF0dXJlIG9mDQpib3RoIGZlYXR1cmVzIGlzIChz dGlsbCkgcHJldHR5IGRpZmZlcmVudC4NCg0KSSB3b3VsZCBsb3ZlIHRvIGhhdmUgc2ltaWxhciBi dWlsZGluZyBibG9ja3MgYXMgaW4gcmVnZXgsIGJ1dCB3aXRoIGENCnB5dGhvbmljIHN5bnRheCwg YW5kIGV4dGVuZGluZyB0aGUgYmFzaWMgc3RyaW5nIG1hdGNoaW5nIHRvIGdlbmVyYWwNCm9iamVj dHMuIEF0IHRoZSBtb21lbnQgSSBkb24ndCBzZWUgdGhpcyBpbiBTUE0gYmVjYXVzZSB0aGVyZSBh cmUgYmFzaWMNCmZsZXhpYmxlIHBhdHRlcm5zIG1pc3NpbmcuIFRoZSBvbmx5IGZsZXhpYmxlIHRo aW5nIGluIHNlcXVlbmNlcyBpcw0KdGhlIHN0YXIgb3BlcmF0b3IsIGJ1dCBpbiBteSBleGFtcGxl IHRoaXMgaXMgYWx3YXlzIGVhdGVuIGJ5IHRoZSBuZWVkDQpvZiBhbiBvcGVuIGVuZCBpbiB0aGUg cGF0dGVybi4gVGhpcyBpcyBzb21ldGhpbmcgdGhhdCBtaWdodCBpbXByb3ZlLg0KDQpBcyBhIGRy aXZlLWJ5LCB3aGlsZSBsb29raW5nIGludG8gdGhlIFBpbGdyaW0gYWxnb3JpdGhtIGZvciBSb21h bg0KbGl0ZXJhbHMsIEkgZm91bmQgYnkgY2hhbmNlIGEgZmFzdGVyIGFsZ29yaXRobSA6KQ0KTm90 IG9ubHkgdGhhdCBteSBTUE0gY3JhemluZXNzIGlzIG5vdyByZWFsbHkgZmFzdGVyIHRoYW4gdGhl IHJlZ2V4DQpzb2x1dGlvbiwgYnV0IEkgZm91bmQgc29tZXRoaW5nIGJldHRlciwgYmFzZWQgb24g UGlsZ3JpbSdzIGB0b1JvbWFuYA0KcGFydCBvZiB0aGUgYWxnb3JpdGhtIDpEDQoNCkdpdmVuIG9u ZSBvZiB0aGUgYmFzaWMgYWxnb3JpdGhtcyBpbiB0aGUgaW50ZXJuZXQgd2hpY2ggYXJlIGZhc3QN CmFuZCBpbmNvbXBsZXRlLCB0aGlzIGhlcmUgaXMgbXVjaCBmYXN0ZXIgdGhhbiB1c2luZyByZWdl eDoNCg0KICAgICBkZWYgZnJvbV9yb21hbl9mYXN0ZXN0KG51bWVyYWwpOg0KICAgICAgICAgaWYg bnVtZXJhbCA9PSAnTic6DQogICAgICAgICAgICAgcmV0dXJuIDANCiAgICAgICAgIG51bSA9IGZy b21fcm9tYW5fbnVtZXJhbChudW1lcmFsKQ0KICAgICAgICAgY21wID0gcm9tYW4udG9Sb21hbihu dW0pDQogICAgICAgICBpZiBudW1lcmFsICE9IGNtcDoNCiAgICAgICAgICAgICByYWlzZSBJbnZh bGlkUm9tYW5OdW1lcmFsRXJyb3IoZiJJbnZhbGlkIFJvbWFuIG51bWVyYWw6IA0Ke251bWVyYWx9 IikNCiAgICAgICAgIHJldHVybiBudW0NCg0KVGhpcyBmb2xsb3dzIHRoZSBvbGQgb2JzZXJ2YXRp b24gIkxpc3RlbmluZyBpcyBtdWNoIGhhcmRlciB0aGFuIHRhbGtpbmciLA0Kc28gdGhpcyBhbGdv cml0aG0gZG9lcyBub3QgdHJ5IGEgY29tcGxleCBzb2x1dGlvbiwgYnV0IHVzZXMgYSBzaW1wbGUg b25lDQphbmQgY2hlY2tzIGlmIHRoZSBpbnB1dCBzdHJpbmcgd2FzIGNvcnJlY3RseSByZWNvbnN0 cnVjdGVkLg0KDQpDaGVlcnMgLS0gQ2hyaXMNCg0KDQpPbiAwMi4wOC4yMyAyMjozMCwgU3RldmUg SG9sZGVuIHdyb3RlOg0KPiBIaSBDaHJpcywNCj4gDQo+IE5pY2UgdG8gc2VlIHlvdSBvbiB0aGUg bGlzdC4NCj4gDQo+IFdoaWxlIHRoaXMgaXMgZGVmaW5pdGVseSBvZmYtdG9waWMsIEkgdHJ1c3Qg SSBtaWdodCBiZSBnaXZlbiBsaWNlbnNlIGJ5IA0KPiB0aGUgbGlzdCdzIGZldyByZW1haW5pbmcg cmVhZGVycyB0byBwb2ludCBvdXQgdGhhdCB0aGUgbWF0Y2gtY2FzZSANCj4gY29uc3RydWN0IGlz IGZvciBfc3RydWN0dXJhbF8gcGF0dGVybiBtYXRjaGluZy4gQXMgSSB3cm90ZSBpbiB0aGUgbGF0 ZXN0IA0KPiBOdXRzaGVsbDogIlJlc2lzdCB0aGUgdGVtcHRhdGlvbiB0byB1c2UgbWF0Y2ggdW5s ZXNzIHRoZXJlIGlzIGEgbmVlZCB0byANCj4gYW5hbHlzZSB0aGUgX3N0cnVjdHVyZV8gb2YgYW4g b2JqZWN0LiINCj4gDQo+IEkgZG9uJ3QgYmVsaWV2ZSBpdCdzIGFjY2lkZW50YWwgdGhhdCBtYXRj aC1jYXNlIHNlcXVlbmNlIHBhdHRlcm5zIHdvbid0IA0KPiBtYXRjaCBzdHIsIGJ5dGVzIG9yIGJ5 dGVhcnJyYXnCoG9iamVjdHMgLSByZWdleGVuwqBhcmUgdGhlIHRvb2wgYWxyZWFkeSANCj4gb3B0 aW1pc2VkIGZvciB0aGF0IHB1cnBvc2UsIHNvIGl0J3MgcXVpdGUgaW1wcmVzc2l2ZSB0aGF0IHlv dSBhcmUgDQo+IG1hbmFnaW5nwqB0byBhcHByb2FjaCB0aGUgc2FtZSBsZXZlbCBvZiBwZXJmb3Jt YW5jZSENCj4gDQo+IEtpbmQgcmVnYXJkcywNCj4gU3RldmUNCj4gDQo+IA0KPiBPbiBXZWQsIDIg QXVnIDIwMjMgYXQgMTg6MjYsIENocmlzdGlhbiBUaXNtZXItU3BlcmxpbmcgDQo+IDx0aXNtZXJA c3RhY2tsZXNzLmNvbSA8bWFpbHRvOnRpc21lckBzdGFja2xlc3MuY29tPj4gd3JvdGU6DQo+IA0K PiAgICAgT24gMDIuMDguMjMgMTg6MzAsIFBhdWwgTW9vcmUgd3JvdGU6DQo+ICAgICAgPiBPbiBX ZWQsIDIgQXVnIDIwMjMgYXQgMTU6MjQsIFN0ZXBoZW4gSi4gVHVybmJ1bGwNCj4gICAgICA+IDx0 dXJuYnVsbC5zdGVwaGVuLmZ3QHUudHN1a3ViYS5hYy5qcA0KPiAgICAgPG1haWx0bzp0dXJuYnVs bC5zdGVwaGVuLmZ3QHUudHN1a3ViYS5hYy5qcD4NCj4gICAgICA+IDxtYWlsdG86dHVybmJ1bGwu c3RlcGhlbi5md0B1LnRzdWt1YmEuYWMuanANCj4gICAgIDxtYWlsdG86dHVybmJ1bGwuc3RlcGhl bi5md0B1LnRzdWt1YmEuYWMuanA+Pj4gd3JvdGU6DQo+ICAgICAgPg0KPiAgICAgID7CoCDCoCDC oFBhcnRseSBiZWNhdXNlIHRoYXQncyB3aGVyZSB0aGUgb3RoZXIgZGlzY3Vzc2FudHMgYXJlICh0 aGUNCj4gICAgIG5ldHdvcmsNCj4gICAgICA+wqAgwqAgwqBleHRlcm5hbGl0eSBpcyB1bmRlbmlh Ymx5IHBvd2VyZnVsKSwgYW5kIHBhcnRseSAoSSBiZWxpZXZlKQ0KPiAgICAgYmVjYXVzZQ0KPiAg ICAgID7CoCDCoCDCoGVmZmVjdGl2ZSB1c2Ugb2YgZW1haWwgaXMgYSBza2lsbCB0aGF0IHJlcXVp cmVzIGVmZm9ydCB0bw0KPiAgICAgYWNxdWlyZS4NCj4gICAgICA+wqAgwqAgwqBQb3B1bGFyIG1h aWwgY2xpZW50cyBhcmUgZGVzaWduZWQgdG8gYmUgcG9wdWxhciwgbm90IHRvIG1ha2UgdGhhdA0K PiAgICAgID7CoCDCoCDCoGV4cGVydGlzZSBlYXN5IHRvIGFjcXVpcmUgYW5kIGV4ZXJjaXNlLsKg IENsdW5reSB1c2Ugb2YgZW1haWwNCj4gICAgIG1ha2VzDQo+ICAgICAgPsKgIMKgIMKgbGlzdHMg bXVjaCBsZXNzIHBsZWFzYW50IGZvciBldmVyeW9uZSB0aGFuIHRoZXkgY291bGQgYmUuDQo+ICAg ICAgPg0KPiAgICAgID7CoCDCoCDCoEkgZ3Vlc3MgdGhhdCdzIHNhZCAoSSBhbSwgYWZ0ZXIgYWxs LCBhIEdOVSBNYWlsbWFuDQo+ICAgICBkZXZlbG9wZXIpLCBidXQNCj4gICAgICA+wqAgwqAgwqBp dCdzIHJlYWxpdHkuDQo+ICAgICAgPg0KPiAgICAgID4NCj4gICAgICA+IFBlcnNvbmFsbHksIEkn bSBzYWQgYmVjYXVzZSBzb21lIHBlb3BsZSB3aG9zZSBjb250cmlidXRpb25zIEkNCj4gICAgIGVu am95ICh5b3UNCj4gICAgICA+IGJlaW5nIG9uZSBvZiB0aGVtIDotKSkgZGlkbid0IG1vdmUgdG8g RGlzY291cnNlLiBCdXQgbGlrZSB5b3UNCj4gICAgIHNheSwgaXQncw0KPiAgICAgID4gaG93IHRo aW5ncyBhcmUuDQo+ICAgICAgPg0KPiAgICAgID4gQ2hyaXN0aWFuIC0geW91IGNhbiBtYWtlIG5h bWVkIGNvbnN0YW50cyB1c2luZyBjbGFzcyBhdHRyaWJ1dGVzDQo+ICAgICAob3IgYW4NCj4gICAg ICA+IGVudW0pOg0KPiAgICAgID4NCj4gICAgICA+IGNsYXNzIEE6DQo+ICAgICAgPsKgIMKgIMKg IE0gPSAiTSINCj4gICAgICA+DQo+ICAgICAgPiBtYXRjaCBzZXE6DQo+ICAgICAgPsKgIMKgIMKg IGNhc2UgQS5NLCBBLk0sIEEuTSwgQS5NLCAqcjoNCj4gICAgICA+wqAgwqAgwqAgwqAgwqAgcmV0 dXJuIDQqMTAwMCwgcg0KPiAgICAgID4NCj4gICAgICA+IEJhc2ljYWxseSwgdGhlICJuYW1lcyBh cmUgdHJlYXRlZCBhcyB2YXJpYWJsZXMgdG8gYXNzaWduIHRvIiBydWxlDQo+ICAgICAgPiBkb2Vz bid0IGFwcGx5IHRvIGF0dHJpYnV0ZXMuDQo+ICAgICAgPg0KPiAgICAgID4gSSdtIG5vdCBzdXJl IGhvdyBoZWxwZnVsIHRoYXQgaXMgKGl0J3Mgbm90IHBhcnRpY3VsYXJseQ0KPiAgICAgKnNob3J0 ZXIqKSBidXQgSQ0KPiAgICAgID4gdGhpbmsgdGhlIGlkZWEgd2FzIHRoYXQgbW9zdCB1c2VzIG9m IG5hbWVkIGNvbnN0YW50cyBpbiBhIG1hdGNoDQo+ICAgICAgPiBzdGF0ZW1lbnQgd291bGQgYmUg ZW51bXMgb3IgbW9kdWxlIGF0dHJpYnV0ZXMuIEFuZCBjb21wcm9taXNlcw0KPiAgICAgaGFkIHRv IGJlDQo+ICAgICAgPiBtYWRlLg0KPiAgICAgID4NCj4gICAgICA+IENoZWVycywNCj4gICAgICA+ IFBhdWwNCj4gDQo+ICAgICBUaGFua3MgYSBsb3QsIGV2ZXJ5Ym9keSENCj4gDQo+ICAgICBJIGhh dmUgdHJpZWQgYSBsb3Qgbm93LCB1c2luZyBjbGFzc2VzIHdoaWNoIGJlY29tZXMgbW9yZSByZWFk YWJsZQ0KPiAgICAgYnV0IC0gZnVubmlseSAtIHNsb3dlciEgVXNpbmcgdGhlIGNsdW1zeSBpZi1n dWFyZHMgZmVsdCBzbG93IGJ1dCBpc24ndC4NCj4gDQo+ICAgICBUaGVuIEkgZ2VuZXJhdGVkIGZ1 bmN0aW9ucyBldmVuLCB3aXRoIGV2ZXJ5dGhpbmcgYXMgY29uc3RhbnRzLA0KPiAgICAgYW5kIG5v dyB0aGUgU1BNIHZlcnNpb24gaW4gZmFjdCBvdXQtcGVyZm9ybXMgdGhlIHJlZ2V4IHNsaWdodGx5 IQ0KPiANCj4gICAgIEJ1dCBhdCBsYXN0LCBJIGZvdW5kIGFuIGV2ZW4gZmFzdGVyIGFuZCBjb3Jy ZWN0IGFsZ29yaXRobQ0KPiAgICAgYnkgYSBkaWZmZXJlbnQgYXBwcm9hY2gsIHdoaWNoIGVuZHMg bm93IHRoaXMgc3RvcnkgOikNCj4gDQo+ICAgICBHb2luZyB0byB0aGUgRGlzY291cnNlIHRpdGUs IG5vdy4NCj4gDQo+ICAgICBDaGVlcnMgLS0gQ2hyaXMNCj4gICAgIC0tIA0KPiAgICAgQ2hyaXN0 aWFuIFRpc21lci1TcGVybGluZ8KgIMKgIDpeKSB0aXNtZXJAc3RhY2tsZXNzLmNvbQ0KPiAgICAg PG1haWx0bzp0aXNtZXJAc3RhY2tsZXNzLmNvbT4NCj4gICAgIFNvZnR3YXJlIENvbnN1bHRpbmfC oCDCoCDCoCDCoCDCoCA6IGh0dHA6Ly93d3cuc3RhY2tsZXNzLmNvbS8NCj4gICAgIDxodHRwOi8v d3d3LnN0YWNrbGVzcy5jb20vPg0KPiAgICAgU3RyYW5kc3RyYcOfZSAzN8KgIMKgIMKgIMKgIMKg IMKgIMKgIDogaHR0cHM6Ly9naXRodWIuY29tL1B5U2lkZQ0KPiAgICAgPGh0dHBzOi8vZ2l0aHVi LmNvbS9QeVNpZGU+DQo+ICAgICAyNDIxNyBTY2jDtm5iZXJnwqAgwqAgwqAgwqAgwqAgwqAgwqAg OsKgIMKgIMKgR1BHIGtleSAtPiAweEZCN0JFRTBFDQo+ICAgICBwaG9uZSArNDkgMTczIDI0IDE4 IDc3NsKgIGZheCArNDkgKDMwKSA3MDAxNDMtMDAyMw0KPiANCj4gICAgIF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ICAgICBQeXRob24tRGV2IG1haWxp bmcgbGlzdCAtLSBweXRob24tZGV2QHB5dGhvbi5vcmcNCj4gICAgIDxtYWlsdG86cHl0aG9uLWRl dkBweXRob24ub3JnPg0KPiAgICAgVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBweXRo b24tZGV2LWxlYXZlQHB5dGhvbi5vcmcNCj4gICAgIDxtYWlsdG86cHl0aG9uLWRldi1sZWF2ZUBw eXRob24ub3JnPg0KPiAgICAgaHR0cHM6Ly9tYWlsLnB5dGhvbi5vcmcvbWFpbG1hbjMvbGlzdHMv cHl0aG9uLWRldi5weXRob24ub3JnLw0KPiAgICAgPGh0dHBzOi8vbWFpbC5weXRob24ub3JnL21h aWxtYW4zL2xpc3RzL3B5dGhvbi1kZXYucHl0aG9uLm9yZy8+DQo+ICAgICBNZXNzYWdlIGFyY2hp dmVkIGF0DQo+ICAgICBodHRwczovL21haWwucHl0aG9uLm9yZy9hcmNoaXZlcy9saXN0L3B5dGhv bi1kZXZAcHl0aG9uLm9yZy9tZXNzYWdlL09GTEFVMzRLV0FLUkVLRzRIMk01R0VTM1BHVDZWQkFV LyA8aHR0cHM6Ly9tYWlsLnB5dGhvbi5vcmcvYXJjaGl2ZXMvbGlzdC9weXRob24tZGV2QHB5dGhv bi5vcmcvbWVzc2FnZS9PRkxBVTM0S1dBS1JFS0c0SDJNNUdFUzNQR1Q2VkJBVS8+DQo+ICAgICBD b2RlIG9mIENvbmR1Y3Q6IGh0dHA6Ly9weXRob24ub3JnL3BzZi9jb2Rlb2Zjb25kdWN0Lw0KPiAg ICAgPGh0dHA6Ly9weXRob24ub3JnL3BzZi9jb2Rlb2Zjb25kdWN0Lz4NCj4gDQo+IA0KPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBQeXRob24tRGV2 IG1haWxpbmcgbGlzdCAtLSBweXRob24tZGV2QHB5dGhvbi5vcmcNCj4gVG8gdW5zdWJzY3JpYmUg c2VuZCBhbiBlbWFpbCB0byBweXRob24tZGV2LWxlYXZlQHB5dGhvbi5vcmcNCj4gaHR0cHM6Ly9t YWlsLnB5dGhvbi5vcmcvbWFpbG1hbjMvbGlzdHMvcHl0aG9uLWRldi5weXRob24ub3JnLw0KPiBN ZXNzYWdlIGFyY2hpdmVkIGF0IGh0dHBzOi8vbWFpbC5weXRob24ub3JnL2FyY2hpdmVzL2xpc3Qv cHl0aG9uLWRldkBweXRob24ub3JnL21lc3NhZ2UvRFlUVlQ3Q1VGVlZHSURQWEcyTUtJT0VMV0pQ RzNXNzMvDQo+IENvZGUgb2YgQ29uZHVjdDogaHR0cDovL3B5dGhvbi5vcmcvcHNmL2NvZGVvZmNv bmR1Y3QvDQoNCi0tIA0KQ2hyaXN0aWFuIFRpc21lci1TcGVybGluZyAgICA6XikgICB0aXNtZXJA c3RhY2tsZXNzLmNvbQ0KU29mdHdhcmUgQ29uc3VsdGluZyAgICAgICAgICA6ICAgICBodHRwOi8v d3d3LnN0YWNrbGVzcy5jb20vDQpTdHJhbmRzdHJhw59lIDM3ICAgICAgICAgICAgICA6ICAgICBo dHRwczovL2dpdGh1Yi5jb20vUHlTaWRlDQoyNDIxNyBTY2jDtm5iZXJnICAgICAgICAgICAgICA6 ICAgICBHUEcga2V5IC0+IDB4RkI3QkVFMEUNCnBob25lICs0OSAxNzMgMjQgMTggNzc2ICBmYXgg KzQ5ICgzMCkgNzAwMTQzLTAwMjMNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KUHl0aG9uLURldiBtYWlsaW5nIGxpc3QgLS0gcHl0aG9uLWRldkBweXRo b24ub3JnClRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcHl0aG9uLWRldi1sZWF2ZUBw eXRob24ub3JnCmh0dHBzOi8vbWFpbC5weXRob24ub3JnL21haWxtYW4zL2xpc3RzL3B5dGhvbi1k ZXYucHl0aG9uLm9yZy8KTWVzc2FnZSBhcmNoaXZlZCBhdCBodHRwczovL21haWwucHl0aG9uLm9y Zy9hcmNoaXZlcy9saXN0L3B5dGhvbi1kZXZAcHl0aG9uLm9yZy9tZXNzYWdlL1hHVFFWVlRSTVFS S1ZLWFNFNE81V1pZWklUTU41REJFLwpDb2RlIG9mIENvbmR1Y3Q6IGh0dHA6Ly9weXRob24ub3Jn L3BzZi9jb2Rlb2Zjb25kdWN0Lwo=