Authentication-Results: mail-b.sr.ht; dkim=pass header.d=protesilaos.com header.i=@protesilaos.com Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) by mail-b.sr.ht (Postfix) with ESMTPS id 77AE911EEF6 for <~protesilaos/modus-themes@lists.sr.ht>; Mon, 9 Jan 2023 01:48:48 +0000 (UTC) Received: (Authenticated sender: public@protesilaos.com) by mail.gandi.net (Postfix) with ESMTPSA id CE80BC0005; Mon, 9 Jan 2023 01:48:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protesilaos.com; s=gm1; t=1673228927; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jFzCk+SglRC7yUjMHV+z8CR9o9EiDNcYhiB4PZN3fU0=; b=YQTooJi8KvyRfgrilNtThXJGnndaH7EnPM4ioCWDKJiNbHcVsiat1BRa/eVSRXY2BcQ0Da Y2/n4RfgrqIUOxvqgr8OkegKNfn6Qs6VkUp3hi8UJ7NcwepbmHsmvng0yCg6UpflJwNp7u XVkNx97hwonKM5IgWEo7hu53zaukcOB8yUdnP2ZeoiWNNzjLxuOGEMCWplPSKDzLNTWXJP 7bH1ZpdIPRJs+GGxxRciFrruKqaWuFUIS/1XwX4wsr5TTzczVcJLOwqgMu0Im2NSwgV41n yTasEFPs8cevofRgHKnEHEIJ3tlydCWzIBfxgoHVupRlN9F6oSnFT01w8jcCmg== From: Protesilaos Stavrou To: Vic Rao Cc: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> Subject: Re: Questions around suitability of modus-themes for those that don't have reading disabilities In-Reply-To: References: <87o7rcp6ln.fsf@protesilaos.com> <875ydhzf75.fsf@protesilaos.com> Date: Mon, 09 Jan 2023 03:48:44 +0200 Message-ID: <87fscktr43.fsf@protesilaos.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 PiBGcm9tOiBWaWMgUmFvIDx2aWNyYW8yMjQ0QGdtYWlsLmNvbT4NCj4gRGF0ZTogU3VuLCAgOCBK YW4gMjAyMyAxOToyNjo1NSAtMDMwMA0KPg0KPiBZb3UgaGF2ZSBjb252aW5jZWQgbWUgdGhhdCBt b2R1cyBoYXMgdmVyeSBnb29kIGRlZmF1bHRzIGZvciBpdHMgdGFyZ2V0DQo+IGF1ZGllbmNlIGFu ZCB0aGF0IG15IHByZXZpb3VzIGltcGxpY2l0IHByb3Bvc2l0aW9uIG9mIGhhdmluZyBtb2R1cw0K PiBkZWNsYXJlIHRoYXQgaXRzIHRhcmdldCBhdWRpZW5jZSBpcyBvbmx5IHBlb3BsZSB3aXRoIHJl YWRpbmcNCj4gZGlzYWJpbGl0aWVzIHdhcyBiYWQuDQoNCkkgdGhpbmsgdGhpcyBleGNoYW5nZSBp cyBpbmZvcm1hdGl2ZS4gIEl0IHRvdWNoZXMgb24gYXNwZWN0cyBvZiB0aGUNCmRlc2lnbiB0aGF0 IHdlIHVzdWFsbHkgZG9uJ3QgdGFsayBhYm91dC4gIFRoYW5rIHlvdSBmb3IgZ2l2aW5nIG1lIHRo aXMNCm9wcG9ydHVuaXR5IQ0KDQpUYWtpbmcgYSBzdGVwIGJhY2ssIHRoZSBtaXN0YWtlIEkgZGlk IHdpdGggdGhlIHRlbXB1cy10aGVtZXMgKGZyb20gbXkNCnByZS1FbWFjcyBkYXlzKSB3YXMgdG8g cGxhY2UgdG9vIG11Y2ggZW1waGFzaXMgb24gY29sb3VyIGNvbnRyYXN0IGluDQphYnN0cmFjdC4g IFRoaXMgbWVhbnMgdGhhdCBJIHdhcyB0aGlua2luZyBpbiB0ZXJtcyBvZiB0aGUgcmVsYXRpb25z DQpiZXR3ZWVuIGNvbG91ciB2YWx1ZXMgdGhlbXNlbHZlcy4gIEkgZGlkIG5vdCBoYXZlIGEgY3Jp dGljYWwgZXllIGZvciB0aGUNCmFwcGxpY2F0aW9uIG9mIHRob3NlIGNvbG91cnMtLS1hbmQgdGhl aXIgY29tYmluYXRpb25zLS0taW4gdGhlaXINCmNvbnRleHQuICBUaGUgZGlzdGlsbGF0aW9uIG9m IHRoaXMgcmVhbGlzYXRpb24gaXMgdGhhdCBhIGNvbG91ciBzY2hlbWUNCmlzIG5vdCBhIHRoZW1l IChhbmQgYSB0aGVtZSBpbiBFbWFjcyBpcyBub3QgYSBmdWxseSBmbGVkZ2VkDQphcmNoaXRlY3R1 cmUpLg0KDQpJbiB0aGUgdGVtcHVzLXRoZW1lcyBJIGF2b2lkZWQgbWF4aW11bSBjb250cmFzdCBm b3IgdGhlIGtpbmQgb2YgcmVhc29ucw0KeW91IGFsbHVkZWQgdG8uICBZZXQgaW4gdGhlIGNvbnRl eHQgb2YgYXBwbGljYXRpb25zIHRoYXQgcmVxdWlyZSBhDQp2YXJpZXR5IG9mIGNvbG91ci1jb2Rp bmcgcGFyYWRpZ21zLCBJIHJlYWxpc2VkIHRoYXQgSSB3YXMgbWFraW5nIGENCnN1YnRsZSBtaXN0 YWtlOiBJIHdhcyBtb3ZpbmcgdG93YXJkcyB0aGUgaW1wb3NpdGlvbiBvZiBhIHVuaWZvcm0gdmlz dWFsDQpyaHl0aG0uICBUaGlzIGlzIG5vdCBhYm91dCB0aGUgbWluaW11bSBjb250cmFzdCByYXRp byBvciBkZXNpcmVkIHRhcmdldCwNCmJ1dCB0aGUgb3ZlcmFsbCBkaXN0cmlidXRpb24gb2YgY29u dHJhc3QgaW4gY29tYmluYXRpb25zIGJldHdlZW4NCmFkamFjZW50IGNvbG91cnMgaW4gdGhlIGdp dmVuIGludGVyZmFjZS4gIFdlIGRvIG5vdCB3YW50IGFsbCBmb3JlZ3JvdW5kDQp2YWx1ZXMgdG8g InNwZWFrIiBhdCB0aGUgc2FtZSBwaXRjaCBhcyB0aGVuIHdlIGNhbm5vdCBkaXNjZXJuIHBhdHRl cm5zDQphcyBlYXNpbHkuICBXZSBuZWVkIHNvbWUgdmFyaWV0eSBiZXR3ZWVuIHJlbGF0aXZlIGhp Z2hzIGFuZCBsb3dzLiAgVGhpcw0KaXMgd2hhdCB0aGUgbWF4aW11bSBjb250cmFzdCBiZXR3ZWVu IGJsYWNrIGFuZCB3aGl0ZSBlbmFibGVzIGZvciBNb2R1czoNCnN1ZmZpY2llbnQgbWFub2V1dnJp bmcgc3BhY2Ugd2hpbGUgYWxzbyBjb25mb3JtaW5nIHdpdGggdGhlIDc6MSB0YXJnZXQNCmZvciBj b2xvdXIgY29udHJhc3QgYWdhaW5zdCB0aGUgYmFja2dyb3VuZC4NCg0KV2l0aCB0aGUgZWYtdGhl bWVzLCBzYXksIGVmLW5pZ2h0IG9yIGVmLXN1bW1lciBJIGRvIHRoZSBzYW1lIHRoaW5nDQpleGNl cHQgdGhlIHRhcmdldCBpcyBtdWNoIGxvd2VyLiAgQXMgc3VjaCwgdGhlcmUgaXMgbm8gbmVlZCBm b3IgYQ0KYmxhY2stYW5kLXdoaXRlIGNvbWJpbmF0aW9uIGFzIGEgc3RhcnRpbmcgcG9pbnQuDQoN Cj4gSW4gdGhlIG5leHQgdHdvIHNlY3Rpb25zIChzZXBhcmF0ZWQgdmlhIC0tLSApLCBJIGNvbW1l bnQgb24gdGhlIHBhcnRzDQo+IG9mIHlvdXIgcmVwbHkgdGhhdCBtb3N0IGxlZCBtZSB0byB1bmRl cnN0YW5kIChmZWVsIGZyZWUgdG8gc2tpcCBpZg0KPiB1bmludGVyZXN0ZWQpLg0KDQpJIGFtIGlu dGVyZXN0ZWQgYW5kIGFsd2F5cyByZWFkIGV2ZXJ5dGhpbmc6IGl0IGhlbHBzIG1lIHVuZGVyc3Rh bmQNCnRoaW5ncyBiZXR0ZXIuDQoNCj4gSSB3YXMgdGhpbmtpbmcgb25seSBvZiB0ZXh0LXRvLWJh Y2tncm91bmQsIGFuZCBzbyBJIHRob3VnaHQgdGhhdCB0aGUNCj4gMjE6MSBmcm9tIHRoZSBibGFj ay93aGl0ZSBwYWlyaW5nIHdhcyBleGNlc3NpdmUuIEkgZmluYWxseSB1bmRlcnN0b29kDQo+IHNv bWUga2V5IHBvaW50cyBhYm91dCBob3cgdGhlc2UgY2hvaWNlcyBkZWVwbHkgYWZmZWN0IHRoZSBy ZWxhdGlvbnNoaXANCj4gYmV0d2VlbiB0aGUgYWNjZW50IGNvbG9yczoNCg0KSSBkaWQgdGhhdCBm b3IgeWVhcnMgYW5kIGtub3cgZXhhY3RseSBob3cgaXQgZmVlbHMuDQoNCj4gUmVnYXJkaW5nIG5v bi1ibGFjayBvciBub24td2hpdGUgYmFja2dyb3VuZHM6DQo+PiBHcmV5IFsuLi5dIGRvZXMgbm90 IGdpdmUgZGlmZmVyZW50bHkgY29sb3VyZWQgdGV4dCB0aGUgY2hhbmNlIHRvIHN0YW5kIG91dCBy ZWxhdGl2ZSB0byBlYWNoIG90aGVyLg0KPg0KPiBSZWdhcmRpbmcgbm9uLWJsYWNrIG9yIG5vbi13 aGl0ZSB0ZXh0Og0KPj4gSWYgZ3JleSBpcyBvdXIgYmFzZSBjb2xvdXIsIHRoZSBzZWNvbmRhcnkg b25lcyB3aWxsIGhhdmUgdG8gYmUgZXZlbiBmYWludGVyLCBhdCB3aGljaCBwb2ludCB0aGV5IHdp bGwgbm90IGJlIGFzIHVzYWJsZS4NCj4NCj4gKGZvciBtZSwgdGhlIGtleSB0byB0aGlzIHVuZGVy c3RhbmRpbmcgd2FzIHNpbXVsYXRpbmcgaG93IHRoZSBtYXRoIGZvcg0KPiBjYWxjdWxhdGluZyBh Y2NlbnQgY29sb3JzIGlzIGRpZmZlcmVudCB3aXRoIGJsYWNrIG9yIHdoaXRlIHZzIGdyYXkpDQoN ClllcywgdGhhdCBtYWtlcyBzZW5zZS4gIEkgbm90aWNlZCB0aG9zZSBjb25zdHJhaW50cyB3aGls ZSBJIHdhcw0KZGV2ZWxvcGluZyB0aGUgdW5kZXJzdGFuZGluZyB0aGF0ICJhIGNvbG91ciBzY2hl bWUgaXMgbm90IGEgdGhlbWUiLiAgSXQNCmFsbCBjb21lcyBkb3duIHRvIGRlY2lzaW9ucyBzdWNo IGFzIGhvdyB0byBkZW5vdGUgYWN0aXZlL2luYWN0aXZlIG1vZGUNCmxpbmVzLCB0YWJzLCBNYWdp dCBkaWZmIGh1bmtzLCB0aGUgcmVnaW9uLCBldGMuIHdoaWxlIHN0aWxsIGtlZXBpbmcNCnRob3Nl IGxlZ2libGUgYW5kIGNvbG91ci1jb2RhYmxlIChpZiBuZWVkZWQpLg0KDQo+IEFuZCBJIGZpbmFs bHkgdW5kZXJzdG9vZCB0aGUgbmV4dCBwb2ludCBleHBsYWlucyBkaXN0aW5ndWlzaGFibGUNCj4g YWNjZW50IGNvbG9ycyBhcmUgbXVjaCBtb3JlIGltcG9ydGFudCBmb3IgRW1hY3MgdGhlbWVzDQo+ IHRoYXQtY29udHJvbC1vbmx5LWNvbG9yIHRoYW4gbW9zdCBvdGhlciBhcHBsaWNhdGlvbnMnIHRo ZW1lczsgb25lIGhhcw0KPiB0byBhY2NvdW50IGZvciB0aGUgYWJzb2x1dGUgd29yc3QgY2FzZSB3 aGVyZSB0aGVyZSBhcmUgbm8gb3RoZXINCj4gZGlzdGluZ3Vpc2hpbmcgbWVjaGFuaXNtcyAoZS5n LiwgcGFkZGluZyk6DQo+DQo+PiBUcnkgc2NlbmFyaWEgd2hlcmUgd2UgbmVlZCB0byBpbXBvc2Ug c29tZSBzb3J0IG9mIHN0cnVjdHVyZSwgbGlrZSBuZXN0ZWQgcXVvdGVzIGluIGFuIGVtYWlsL21l c3NhZ2UgYnVmZmVyLCBzeW50YXggaGlnaGxpZ2h0aW5nLCBkaWZmZXJlbnRpYXRpb24gb2YgIm1h aW4iIGFuZCAiYW5jaWxsYXJ5IiBlbGVtZW50cyBsaWtlIE9yZyBwYXJhZ3JhcGggdGV4dCBhbmQg dGhlIFBST1BFUlRJRVMgZHJhd2VycywgYW5kIHNvIG9uLiAgQ29uc2lkZXIsIGZ1cnRoZXIsIHRo YXQgdGhpcyAic3RydWN0dXJlIiBjYW5ub3QgYmUgYnJvdWdodCBhYm91dCB3aXRoIGNoYW5nZXMg dG8gcGFkZGluZywgaW5kZW50YXRpb24sIGFuZCB0aGUgbGlrZSwgdGhlIHdheSBhbiBib29rL3dl YnNpdGUgZGVzaWduIGNhbi4NCj4NCj4gSSB0aGluayB0aGlzIHNpdHVhdGlvbiBpcyBpbmRlZWQg dmVyeSB1bmlxdWUsIGFuZCB0aGVyZWZvcmUgb25lIGlzDQo+IHVubGlrZWx5IHRvIGZpbmQgaGln aC1xdWFsaXR5IHNjaWVuY2UgdGhhdCBwcm9wZXJseSBhZGRyZXNzZXMgaXQuDQoNCklmIEkgaGFk IGZ1bGwgY29udHJvbCBvdmVyIGV2ZXJ5IGFzcGVjdCBvZiB0aGUgZGVzaWduLCBJIHdvdWxkIHBs YWNlDQptb3JlIGVtcGhhc2lzIG9uIHR5cG9ncmFwaHkgYW5kIHRoZSB1c2Ugb2YgbmVnYXRpdmUg c3BhY2UuICBGb3INCmluc3RhbmNlLCB1c2luZyBzeW1ib2xzIG9yIGFwcHJvcHJpYXRlIGluZGlj YXRvcnMgaGVscHMgcmVkdWNlIHJlbGlhbmNlDQpvbiBjb2xvdXIuICBUbyBnaXZlIGEgY3J1ZGUg ZXhhbXBsZSwgaW1hZ2luZSBhIOKaoO+4jyBlbW9qaSBuZXh0IHRvIGFuIE9yZw0KYWdlbmRhIHNj aGVkdWxlZCBpdGVtOiBpdCBnaXZlcyB1cyB0aGUgZnJlZWRvbSB0byByZWR1Y2UgdGhlIHNhdHVy YXRpb24NCm9mIHRoZSBhcHBsaWNhYmxlIGNvbG91ciBiZWNhdXNlIHdlIG5vdyBoYXZlIGFub3Ro ZXIgZWxlbWVudCBvZg0KZGlmZmVyZW50aWF0aW9uIHRoYXQgaGVscHMgdGhlIHVzZXIgZGlzY2Vy biB0aGUgcGF0dGVybi4NCg0KQXMgb25lIHVzZXIgcHV0IGl0IG5pY2VseSwgbXkgcm9sZSBpcyB0 aGF0IG9mIHRoZSBnYXJkZW5lciBOT1QgdGhlDQphcmNoaXRlY3Q6IEkgaGF2ZSB0byB3b3JrIHdp dGggd2hhdCBpcyBhdmFpbGFibGUgYW5kIGRvIG5vdCBnZXQgdG8NCnJlZmFjdG9yIEVtYWNzIGlu IHRoZSBzZXJ2aWNlIG9mIHRoZSB0aGVtZS4NCg0KPj4gPiAtIFdoeSBkaWQgeW91IG1ha2UgdGhl IHRpbnRlZCB2ZXJzaW9ucz8NCj4+DQo+PiBCZWNhdXNlIG1hbnkgdXNlcnMgd2hlcmUgdXNpbmcg dGhlIG9sZCBvdmVycmlkZXMgSSBoYWQgaW4gdGhlIG1hbnVhbA0KPj4gd2hpY2ggcHJvZHVjZWQg YXBwcm94aW1hdGlvbnMgb2YgdGhvc2UgdmVyc2lvbnMuICBQZW9wbGUgdG9sZCBtZSB0aGV5DQo+ PiBmb3VuZCB0aGVtIHBsZWFzYW50IHRvIHdvcmsgd2l0aC4NCj4NCj4gSSBleHBlY3QgdGhhdCBt YW55IHVzZXJzIChpbmNsdWRpbmcgbXlzZWxmKSB3aWxsIGhhdmUgYSBwcmVmZXJlbmNlIGZvcg0K PiBpdC4gR2l2ZW4gdGhhdDoNCj4gLSBsaWdodC1ncmV5LW9uLWRhcmstZ3JleSBpcyBzbyB1Ymlx dWl0b3VzIGZvciBkYXJrIG1vZGVzDQo+IC0gbW9zdCBlbWFjcyB1c2VycyB1c2Ugb3RoZXIgYXBw bGljYXRpb25zIGJlc2lkZXMgZW1hY3MNCj4gLSBtb3N0IHBlb3BsZSB0ZW5kIHRvIHN0YXkgY2xv c2UgdG8gZGVmYXVsdHMgKEkgd29uZGVyIGlmIHRoaXMgaG9sZHMNCj4gd2hlbiByZXBsYWNpbmcg InBlb3BsZSIgd2l0aCAiZW1hY3MgdXNlcnMiLCBidXQgSSB0aGluayBpdCBkb2VzKSwNCj4gQSB0 aGluayBhIHZlcnkgcmVhc29uYWJsZSBhcHByb2FjaCBmb3Igc3VjaCB1c2VycyBpcyB0byB1c2UN Cj4gbW9kdXMtdGludGVkIGZvciBjb25zaXN0ZW5jeSBhY3Jvc3MgYXBwbGljYXRpb25zIGFuZCBp bmNyZWFzZSB0aGVpcg0KPiBtb25pdG9yJ3MgY29udHJhc3QgaWYgbmVlZCBiZS4NCj4NCj4gQWxz bywgSSBzZWUgdGhlIHRpbnRlZCB0aGVtZXMgbWVudGlvbmVkIHZlcnkgcHJvbWluZW50bHkgaW4g dGhlDQo+IG1vZHVzLXRoZW1lcyBtYW51YWwuIFRoYXQgaXMgZXhhY3RseSB0aGUgYXBwcm9hY2gg SSB3b3VsZCBoYXZlIHRha2VuDQo+IGFzIHdlbGwsIGdpdmVuIHRoZWlyIHBvcHVsYXJpdHkuDQoN ClllcywgdGhpcyBtYWtlcyBzZW5zZS4NCg0KPiBJJ2QgbGlrZSB0byBjbGFyaWZ5IHNvbWUgdGhp bmdzIEkgbWF5IGhhdmUgZXhwcmVzc2VkIHBvb3JseS4gSWYgeW91DQo+IGhhZCBhbHJlYWR5IHVu ZGVyc3Rvb2QgdGhlbSBvcmlnaW5hbGx5LCBhbmQgdGhlcmVmb3JlIHRoaXMNCj4gY2xhcmlmaWNh dGlvbiBpcyB1bm5lZWRlZCwgZmVlbCBmcmVlIHRvIHNraXAgaXQ6DQoNClRoYW5rcyBmb3IgdGFr aW5nIHRoZSB0aW1lIHRvIGRvIHRoaXMhDQoNCj4+PiBJIHdpbGwgcHJldGVuZCB0aGF0IHlvdSB3 ZXJlIGRlZmVuZGluZyB0aGUgZm9sbG93aW5nIHN0YXRlbWVudDogIk1vZHVzJ3MgZGVmYXVsdCBj b250cmFzdCBsZXZlbHMgYXJlIGlkZWFsIGZvciB0aGVpciByZXNwZWN0aXZlIHRhcmdldCB1c2Fn ZSBzY2VuYXJpb3MuIiwNCj4+DQo+PiBUaGF0IGlzIG5vdCB0aGUgcHJlbWlzZSBvZiB0aGUgdGhl bWVzJyBkZXNpZ24uICAiSWRlYWwiIGNhbm5vdCBiZSByZWNvbmNpbGVkIHdpdGggdGhlIHBvaW50 IEkgbWFkZSB0aGF0IHRoZXJlIGlzIG5vIHN1Y2ggdGhpbmcgYXMgYSBvbmUtc2l6ZS1maXRzLWFs bC4gIFRoZSBpZGVhbCBjYW5ub3QgZXhpc3QuDQo+DQo+IElmIHRoZSBkZWZpbml0aW9uIG9mICJp ZGVhbCIgaXMgIm9wdGltYWwgZm9yIGVhY2ggaW5kaXZpZHVhbCB1c2FnZSwiDQo+ICh3aGljaCBJ IGhlbmNlZm9ydGggYXNzdW1lIHlvdSBhcmUgdXNpbmcpLCB5b3VyIHN0YXRlbWVudCBpcw0KPiBv YmplY3RpdmVseSB0cnVlIChhc3N1bWluZyBhICdub3JtYWwnIGRlZmluaXRpb24gb2YgICJpbmRp dmlkdWFsIg0KPiBoZXJlKSwgYW5kIHByb3Zpbmcgc28gaXMgc2ltcGxlIChib3RoIGluIHByYWN0 aWNlIGFuZCBpbiB0aGVvcnkpOg0KPiAgICAgZWFjaCB1c2FnZSBpcyBpbmRpdmlkdWFsIFRIRVJF Rk9SRSBlYWNoIHVzYWdlIGNhbiBoYXZlIGRpZmZlcmVudA0KPiBwcm9kdWN0IHNldHRpbmdzIGZv ciBvcHRpbWFsIHByb2R1Y3QgdmFsdWUgVEhFUkVGT1JFIHRoZXJlIGNhbiBiZSBubw0KPiBvbmUg cHJvZHVjdCBzZXR0aW5nIHRoYXQgbWF4aW1pemVzIHByb2R1Y3QgdmFsdWUgYWNyb3NzIGFsbCB1 c2FnZXMuDQo+IEkgaG9wZSB0aGUgYWJvdmUgaXMgY2xlYXI7IEkgY291bGQgZXhwcmVzcyB0aGVz ZSAqdmFsdWUqLXJlbGF0ZWQgaWRlYXMNCj4gYmV0dGVyIHdpdGggbG9naWNhbCBhbmQgbWF0aGVt YXRpY2FsIHN5bWJvbHMsIGJ1dCBJIGRvbid0IGtub3cgd2hldGhlcg0KPiB0aGV5IGFyZSBwYXJ0 IG9mIHlvdXIgdm9jYWJ1bGFyeS4gRnVydGhlciwgdGhpcyBpcyBmYXIgZnJvbSBiZWluZw0KPiBm b3JtYWwgcHJvb2YgKGZvciBleGFtcGxlLCB0aGVyZSBhcmUgYSBidW5jaCBvZiB0aGluZ3MgSSBk aWRuJ3QNCj4gZm9ybWFsbHkgZGVmaW5lKSwgYnV0IGhvcGVmdWxseSwgdGhlIGxvZ2ljIEkgYW0g dHJ5aW5nIHRvIGNvbnZleSBpcw0KPiBjbGVhci4NCg0KWWVzLCB0aGlzIGlzIGNsZWFyIGFuZCBp cyB3aGF0IEkgaGFkIGluIG1pbmQuICBCYXNpY2FsbHksIHdlIGhhdmUgdG8NCm1ha2UgY29tcHJv bWlzZXMgYW5kIHBlcmZvcm0gYSBsZWFwIG9mIGZhaXRoIGluIHRoZSBmYWNlIG9mIHVuY2VydGFp bnR5Lg0KDQo+IEkgd2FzIHVzaW5nIGFub3RoZXIgZGVmaW5pdGlvbiBvZiAiaWRlYWwiOiAibWF4 aW1pemVzIHRoZSBjdW11bGF0aXZlDQo+IHN1bSBvZiB2YWx1ZSBhY3Jvc3MgYWxsIHRhcmdldCB1 c2FnZXMiIChwcmV2aW91c2x5IGV4cGxhaW5lZCkuIFRoaXMNCj4gb25lICpjYW4qIGV4aXN0IGlu IHRoZW9yeSAoYXNzdW1pbmcgb25lIGhhcyBhIGZvcm1hbCBkZWZpbml0aW9uIG9mDQo+ICJ2YWx1 ZSIpLCBidXQgaW4gcHJhY3RpY2UsIGl0IGNhbm5vdCAoYmVjYXVzZSBvZiBtYW55IHByb2JsZW1z DQo+IHByZXZpb3VzbHkgZGlzY3Vzc2VkLCBlLmcuLCB0aGUgZmFjdCB0aGF0IHdlICpkbyBub3Qq IGluIGZhY3QsIGhhdmUgYQ0KPiBmb3JtYWwgZGVmaW5pdGlvbiBvZiB2YWx1ZSkuDQoNCkkgaW50 dWl0aXZlbHkgYWdyZWUgd2l0aCB5b3UuICBUaGUgcHJvYmxlbSBpcyBvbmUgb2YgYXBwbGljYXRp b24uDQoNCj4gTm90ZSB0aGF0IEkgdXNlICJ1c2FnZSIgYW5kIG5vdCAidXNlciI7IGEgc2luZ2xl IHVzZXIgY2FuIGhhdmUNCj4gbXVsdGlwbGUgdXNhZ2VzOiBlLmcuLCBtb2R1cy1vcGVyYW5kaSBk dXJpbmcgdGhlIGRheSBhbmQgbW9kdXMtdml2ZW5kaQ0KPiBhdCBuaWdodC4NCg0KR29vZCBwb2lu dCENCg0KWyBXZSBjb3VsZCBzYXkgdGhhdCAieW91IiBhcmUgbm90ICJ0aGUgc2FtZSIgYmVjYXVz ZSB5b3UgYXJlIGEgZnVuY3Rpb24NCiAgb2YgYW4gZW52aXJvbm1lbnQgdGhhdCBoYXMgdW5kZXJn b25lIGNoYW5nZSwgYnV0IHRoaXMgaXMgbm90IGNoYW5naW5nDQogIHRoZSBwb2ludC4gXQ0KDQo+ IFRhbmdlbnQ6IGluIGZhY3QsIGEgZGVmaW5pdGlvbiBjbG9zZXIgdG8gcmVhbGl0eSBpcyB0byBk ZWZpbmUgZWFjaA0KPiBpbnN0YW50IG9mIHRpbWUgYXMgYSBzZXBhcmF0ZSB1c2FnZS4gVGhpcyBk ZWZpbml0aW9uIGNvdWxkIGJlIHVzZWQgaW4NCj4gcHJhY3RpY2UgYXMgdGhlIGJhc2lzIGZvciBh biBvcHRpbWl6YXRpb24gdGFyZ2V0IG9mIHNvZnR3YXJlIHdpdGggQUkNCj4gY29tcG9uZW50cyBj YXBhYmxlIG9mIGNvbnRpbnVvdXNseSBzY2FubmluZyB0aGUgdXNlcidzIGV5ZXMgYW5kIGJyYWlu DQo+IGFuZCBkeW5hbWljYWxseSBhbmQgY29udGludW91c2x5IGFkYXB0aW5nIHRoZSB0aGVtZSBi YXNlZCBvbiB0aGUNCj4gcmVhZGluZ3MuIE9mIGNvdXJzZSwgc3VjaCBhbiBhcHBsaWNhdGlvbiBp cyBmYXIgZnJvbSB0aGUgY29udGV4dCBvZg0KPiBtb2R1cywgYW5kIEkgZG9uJ3Qgc2VlIGhvdyB0 aGlzIGRlZmluaXRpb24gd291bGQgYmUgdXNlZnVsIGZvciBtb2R1czsNCj4gZXJnbywgSSBsYWJl bGVkIGl0IGEgdGFuZ2VudC4NCg0KSW4gZ2VuZXJhbCwgSSBhbSBhbHdheXMgb3BlbiB0byBpbXBy b3ZlbWVudHMgYW5kIHRvIHVuZGVyc3RhbmQgdGhvc2UNCmNvbmNlcHRzIGJldHRlci4gIEV2aWRl bmNlIG9mIHRoaXMgZWFnZXJuZXNzIGlzIHRoZSByZWNlbnQgcmV2aXNpb24gb2YNCnNvbWUgZ3Jl eSB2YWx1ZXMgdGhhdCBJIHNsaWdodGx5IGludGVuc2lmaWVkIHRvIGF2b2lkIHNjZW5hcmlhIG9m DQoiaW52aXNpYmxlIiBiYWNrZ3JvdW5kcyAoZS5nLiB3aXRoIG1vbml0b3JzIHRoYXQgaGF2ZSBp bmFjY3VyYXRlIGNvbG91cg0KcmVwcm9kdWN0aW9uIGNhcGFiaWxpdGllcykuDQoNCj4+IEkgYWRt aXQgdGhhdCB0aGUgb3V0LW9mLXRoZS1ib3ggZXhwZXJpZW5jZSBpcyBub3Qgc3VpdGFibGUgZm9y DQo+PiBldmVyeW9uZSBhbmQgd291bGQgZXhwZWN0IHRoaXMgdG8gYmUgdHJ1ZSBmb3IgZXZlcnkg dGhlbWUuDQo+DQo+IFJpZ2h0LCBhbmQgd2l0aCB5b3VyIGRlZmluaXRpb24gb2YgImlkZWFsLCIg eW91IGNhbiByZXBlYXQgdGhhdA0KPiBzZW50ZW5jZSBzdWJzdGl0dXRpbmcgIndvdWxkIGV4cGVj dCB0aGlzIHRvIGJlIHRydWUiIGZvciB0aGUgbXVjaA0KPiBzdHJvbmdlciAiaXMgdHJ1ZSwiIGFu ZCBpdCB3b3VsZCByZW1haW4gY29ycmVjdCAoZm9sbG93aW5nIHdoYXQgSQ0KPiBwcmV2aW91c2x5 ICJwcm92ZWQiKS4NCg0KQWdyZWVkLg0KDQo+IEkgY2xhcmlmeSB0aGVzZSB0aGluZ3Mgc28gSSBj YW4gYXNrOiBEbyB5b3UgYWdyZWUgdGhhdCBteSBkZWZpbml0aW9uDQo+IG9mICJpZGVhbCIgaXMg cHJvYmFibHkgd2hhdCBvbmUgc2hvdWxkIHN0cml2ZSBmb3Igd2l0aCB0aGVpciBwcm9kdWN0LA0K PiBhcyBpdCBpcyBwcm9iYWJseSB0aGUgY2xvc2VzdCB0aGluZyB0byAib25lLXNpemUtZml0cy1h bGwiPw0KDQpDb25jZXB0dWFsbHkgeWVzLiAgVGhlIHRyaWNreSBwYXJ0IGlzIHRvIGV4cHJlc3Mg dGhhdCBhcyB0aGUgZmluaXNoZWQNCmFydGljbGUuICBPbmNlIHlvdSBnZXQgaW50byB0aGUgdGVj aG5pY2FsaXRpZXMgb2YgdGhlIHRoZW1lLCB5b3UgcmVhbGlzZQ0KdGhhdCAidGhlIGRldmlsIGlz IGluIHRoZSBkZXRhaWxzIi4NCg0KPj4gVGhlIGNvZGUgd2lsbCBub3QgYmUgbW9yZSBtYWludGFp bmFibGUgaWYgaXQgaXMgaW4gRW1hY3MsIGJlY2F1c2Ugd2UNCj4+IHN0aWxsIG5lZWQgc29tZW9u ZSB0byB0YWtlIGNhcmUgb2YgaXQuDQo+DQo+IFlvdSdyZSByaWdodC4gSSBiZWxpZXZlIHRoZXJl IGlzIGFuIHVuZm9ybWFsaXplZCBjb25zZW5zdXMgdGhhdCBhbGwNCj4gZmlsZXMgaW4gdGhlIGVt YWNzIHNvdXJjZSBhcmUgaW4gc2NvcGUgZm9yIG1haW50ZW5hbmNlIGJ5IEVtYWNzDQo+IG1haW50 YWluZXJzLiBIb3dldmVyLCBFbWFjcyBpcyB1bmZvcnR1bmF0ZWx5IHVuZGVybWFpbnRhaW5lZCAo b25lDQo+IGV4YW1wbGUgb2YgdGhpcyBpcyBlc2hlbGwsIHdoaWNoIGlzIG5vdG9yaW91c2x5IGxh Y2tpbmcgaW4NCj4gZG9jdW1lbnRhdGlvbikuIFNvLCB0aGlzIGNvbnNlbnN1cyBkb2VzIG5vdCBt ZWFuIG11Y2ggYnkgaXRzZWxmLg0KDQpFbWFjcyBpcyB1bmRlcnN0YWZmZWQgYW5kIHVuZGVyZnVu ZGVkIChhY3R1YWxseSBub3QgZnVuZGVkIGF0IGFsbCwgYXMNCmZhciBhcyBJIGNhbiB0ZWxsKS4g IE1haW50YWluaW5nIGVtYWNzLmdpdCByaWdodCBub3cgaXMgYSBIZXJjdWxlYW4gdGFzaw0KYW5k IEkgdGhpbmsgdGhlIGluY2x1c2lvbiBvZiBldmVuIG1vcmUgcGFja2FnZXMgKGxpa2UgdGhlIG1v ZHVzLXRoZW1lcykNCmFkZHMgdG8gdGhlIG1haW50ZW5hbmNlIGJ1cmRlbi4NCg0KSSBmZWVsIHRo YXQgYSBtb3JlIHN1c3RhaW5hYmxlIGFwcHJvYWNoIGlzIHRoaXMgbm90aW9uIHRoYXQgaGFzIGJl ZW4NCmZsb2F0aW5nIGFyb3VuZCBvbiB0aGUgRW1hY3MgZGV2ZWxvcG1lbnQgbWFpbGluZyBsaXN0 IChlbWFjcy1kZXZlbCkgb2YNCnByb2R1Y2luZyBhbiBFbWFjcyB0YXJiYWxsIHRoYXQgYnVuZGxl cyBwYWNrYWdlcyBmcm9tIEdOVSBFTFBBLiAgVGhpcw0Kd291bGQgYWxsb3cgdGhlIG1haW50YWlu ZXJzIHRvIGRlY291cGxlIHRoZSB0cnVlICJjb3JlIEVtYWNzIiBmcm9tIGFsbA0KdGhlIGV4dHJh cyBsaWtlIE9yZywgdGhlIG1vZHVzLXRoZW1lcywgYW5kIGEgemlsbGlvbiBvdGhlciBwYWNrYWdl cy4NClRoZSBlbmQtcHJvZHVjdCB3b3VsZCBzdGlsbCBiZSB0aGUgc2FtZSBmb3IgdGhlIHVzZXIs IGJ1dCBpbnRlcm5hbGx5IHRoZQ0Kd29yayB3b3VsZCBiZSByZW9yZ2FuaXNlZCBpbiBhIG1vcmUg ZGVjZW50cmFsaXNlZCBmYXNoaW9uLg0KDQpUaGUgb3JnYW5pc2F0aW9uIG1vZGVsIGlzIGN1cnJl bnRseSBjZW50cmFsaXN0LWFuZC1jZW50cmFsaXNpbmcgd2l0aA0Kb25lL3R3byBtYWludGFpbmVy cyBoYXZpbmcgdG8gb3ZlcnNlZSBhIHRvbiBvZiB3b3JrIGFjcm9zcyBtdWx0aXBsZQ0Kc3Vic3lz dGVtcy4gIEl0IHdvcmtzIHJpZ2h0IG5vdyBiZWNhdXNlIHRoZSBjdXJyZW50IG1haW50YWluZXJz IGFyZQ0KdGVuYWNpb3VzLCBidXQgd2UgYXJlIHN0aWxsIG92ZXJseSByZWxpYW50IG9uIGluZGl2 aWR1YWwgYXZhaWxhYmlsaXR5Lg0KDQpKdXN0IGxvb2sgYXQgdGhlIHNpdHVhdGlvbiB3aXRoIGlk by1tb2RlOiBpY29tcGxldGUuZWwgZGV2ZWxvcGVkDQpmdW5jdGlvbmFsaXR5IHRvIHJlcGxhY2Ug KG1pbWljPywgZHVwbGljYXRlPykgSWRvIGluIHRoZSBmb3JtIG9mDQpmaWRvLW1vZGUgYW5kIGhh cyBzaW5jZSBkZWZpbmVkIGEgdG90YWwgb2YgZm91ciBtaW5vciBtb2Rlcy4gIEluc3RlYWQgb2YN CnN0cmVhbWxpbmluZyB0aGUgZXhwZXJpZW5jZSwgd2UgZW5kZWQgdXAgd2l0aCBJZG8gcGx1cyBh bGwgdGhlIEljb21wbGV0ZQ0KdmFyaWFudHMgKHBsdXMgdGhlIHN0YW5kYXJkICpDb21wbGV0aW9u cyogYnVmZmVyKS4gIElmIElkbyBpcyBzdGlsbCBhDQp0aGluZywgd2h5IGhhdmUgRmlkbz8gIE1h aW50YWluaW5nIGFsbCB0aGF0IGRvZXMgbm90IGNvbWUgZm9yIGZyZWUuDQoNCkFueWhvdywgdGhp cyBpcyBydW5uaW5nIG9mZiBvbiBhIHRhbmdlbnQuICBJIGFtIGhhcHB5IHRoYXQgdGhlDQptb2R1 cy10aGVtZXMgYXJlIGJ1aWx0IGludG8gRW1hY3MgKCJzaGlwcGVkIHdpdGggRW1hY3MiLCBhcyBJ IHdyb3RlDQpiZWZvcmUpIHRob3VnaCBJIHByZWZlciB0byB0aGluayBhYm91dCB0aGUgYmlnZ2Vy IHBpY3R1cmUuDQoNCi0tIA0KUHJvdGVzaWxhb3MgU3RhdnJvdQ0KaHR0cHM6Ly9wcm90ZXNpbGFv cy5jb20NCg==