From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass smtp.mailfrom=lang.hm; dkim=fail; arc=none (Message is not ARC signed); dmarc=none Received: from mail.lang.hm (wsip-70-167-213-146.ph.ph.cox.net [70.167.213.146]) by mail.toke.dk (Postfix) with ESMTPS id 9CA43D6E541 for ; Thu, 26 Feb 2026 19:01:43 +0100 (CET) Received: from [10.2.2.53] (unknown [10.2.2.53]) by mail.lang.hm (Postfix) with ESMTP id 1F13421C72D; Thu, 26 Feb 2026 10:01:42 -0800 (PST) Date: Thu, 26 Feb 2026 11:01:37 -0700 (MST) From: David Lang To: Mark Handley cc: David Lang , Nick Matthews , Daniel AJ Sokolov , Dave Taht via Starlink In-Reply-To: Message-ID: <799n7004-2onr-63rr-1141-r3p5p1s93qn1@ynat.uz> References: <4f2228ec-042a-48ed-8946-a6c37f10ca94@rogers.com> <2o0r5r7s-0750-o2p1-7738-n4n88q9093qs@ynat.uz> <69q3s580-8560-q213-2n61-o36qns8o6q4o@ynat.uz> MIME-Version: 1.0 Message-ID-Hash: 7E64XWZXRW7VX776S2BV2W7FCB6YHBYW X-Message-ID-Hash: 7E64XWZXRW7VX776S2BV2W7FCB6YHBYW X-MailFrom: david@lang.hm X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=UTF-8; format=flowed X-Content-Filtered-By: Mailman/MimeDel 3.3.10 X-Mailman-Version: 3.3.10 Precedence: list Subject: [Starlink] =?utf-8?q?Re=3A_Data_centers_are_racing_to_space_=E2=80=94_and_regulation_can=E2=80=99t_keep_up?= List-Id: "Starlink has bufferbloat. Bad." Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: WWVwLCB0aGF0J3Mgd2hhdCBJIHdhcyBhbGx1ZGluZyB0byBpbiBteSBlYXJsaWVyIHBvc3QuDQoN Ckhvd2V2ZXIsIEVsb24gTXVzayBhbHNvIGhhcyBleHBlcmllbmNlIGluIGJ1aWxkaW5nIGxhcmdl LCBjb2hlcmVudCB0cmFpbmluZyANCmNsdXN0ZXJzLCBwbHVzIHRoZSBEb2pvIHByb2plY3QsIGFu ZCBhcyBoZSBoYXMgYmVlbiB0YWxraW5nIGFib3V0IGZ1dHVyZSANCnRyYWluaW5nIGNsdXN0ZXJz LCBoZSBoYXMgYmVlbiBzYXlpbmcgdGhpbmdzIHRoYXQgYXJlIGFnYWluc3QgY29udmVudGlvbmFs IA0Kd2lzZG9tLg0KDQpsaWtlIHVzaW5nIHRoZSBBSTUgcHJvY2Vzc29ycyBmb3IgdHJhaW5pbmcg YXMgd2VsbCBhcyBpbmZlcmVuY2UNCg0KbGlrZSBzcGxpdHRpbmcgdGhpbmdzIHVwIGFjcm9zcyBt YW55IHNhdGVsbGl0ZXMgcmF0aGVyIHRoYW4gYmVpbmcgYSBzaW5nbGUgDQpjb2hlcmVudCBjbHVz dGVyIChlYWNoIHNhdGVsbGl0ZSBiZWluZyBhIGZyYWN0aW9uIG9mIGEgcmFjay1lcXVpdmFsZW50 KQ0KDQpJJ20gbm90IGEgZmFuYm95IHdobyBzYXlzIGhlJ3MgYWx3YXlzIHJpZ2h0IChEb2pvIHNo b3dlZCB0aGF0IGlmIG5vdGhpbmcgZWxzZSkgDQpidXQgYmV0dGluZyBhZ2FpbnN0IGhpbSBnZXR0 aW5nIHNvbWV0aGluZyBkb25lIChqdXN0IG5vdCBvbiBoaXMgc3RhdGVkIA0KdGltZXRhYmxlKSBo YXMgaGlzdG9yaWNhbGx5IG5vdCBiZWVuIGdyZWF0IG9kZHMuIDotKQ0KDQpEYXZpZCBMYW5nDQoN Ck1hcmsgSGFuZGxleSB3cm90ZToNCg0KPiBBSSBkYXRhY2VudGVycyBlZmZlY3RpdmVseSBzcGxp dCBpbnRvIHRyYWluaW5nIGFuZCBpbmZlcmVuY2UsIGFuZCBpdCdzIHdvcnRoIA0KPiBvcHRpbWl6 aW5nIGZvciBvbmUgb3IgdGhlIG90aGVyLiAgRm9yIHRyYWluaW5nLCB5b3Ugd2FudCBhcyBtdWNo IGNvbXB1dGUgaW4gDQo+IG9uZSBsb3cgbGF0ZW5jeSBjbHVzdGVyIGFzIHBvc3NpYmxlLiAgQSBz aW5nbGUgR0IyMDAgcmFjayAoNzIgR1BVcykgaXMgDQo+IGN1cnJlbnRseSBhcm91bmQgMTYwa1cs IGFuZCBhIGxlYWRpbmcgZWRnZSB0cmFpbmluZyBjbHVzdGVyIGlzIG5vdyB3ZWxsIG5vcnRoIA0K PiBvZiAxMDAsMDAwIEdQVXMuICBBIHNpbmdsZSBWUjIwMCByYWNrIHdpbGwgYmUgfjI1MGtXIGxh dGVyIHRoaXMgeWVhci4gIEZvciANCj4gaW5mZXJlbmNlLCB5b3UgdHlwaWNhbGx5IG5lZWVkIGJl dHdlZW4gYSBmZXcgYW5kIGEgZmV3IGh1bmRyZWQgR1BVcyAob3IgDQo+IGVxdWl2YWxlbnRzIC0g VFBVcywgQ2VsZWJyYXMsIGV0YykgaW50ZXJjb25uZWN0ZWQuDQo+DQo+IEl0J3MgZWFzeSB0byBz ZWUgaW5mZXJlbmNlIGNsdXN0ZXJzLCBlc3BlY2lhbGx5IHdhZmVyLXNjYWxlIGxpa2UgQ2VsZWJy YXMsIA0KPiBiZWluZyBjYXBhYmxlIG9mIGJlaW5nIHB1dCBpbiBvcmJpdC4gIEJ1dCB0aGUgcHJv YmxlbSB0aGVyZSBpcyBsb3coaXNoKSANCj4gbGF0ZW5jeSB0byBjdXN0b21lcnMgaXMgYWxzbyBh IHJlcXVpcmVtZW50LCBzbyB0aGF0IGNvbnN0cmFpbnMgdGhlIG9yYml0cyB5b3UgDQo+IGNvdWxk IHVzZS4gIEFuZCBpdCdzIGFjdHVhbGx5IG5vdCBoYXJkIHRvIGdldCB0ZXJyZXN0cmlhbCBwb3dl ciBpZiB5b3UgY2FuIA0KPiBzY2F0dGVyIGxhcmdlIG51bWJlcnMgb2Ygc21hbGxlciBpbmZlcmVu Y2UgY2x1c3RlcnMgd29ybGR3aWRlLCB3aGljaCBpcyB3aGF0IA0KPiB3ZSBkby4NCj4NCj4gSXQn cyByZWFsbHkgaGFyZCB0byBzZWUgdHJhaW5pbmcgY2x1c3RlcnMgaW4gb3JiaXQsIG5vdCBvbmx5 IGZvciBjb29saW5nIA0KPiByZWFzb25zLCBidXQgYWxzbyBiZWNhdXNlIHRoZXkgaGF2ZSB2ZXJ5 IGhpZ2ggZmFpbHVyZSByYXRlcyBhbmQgcmVxdWlyZSBhIGxvdCANCj4gb2YgaHVtYW4gbWFpbnRl bmFuY2UuICBJbiBvdXIgY3VycmVudCBzdXBlcmNvbXB1dGVycyB3ZSdyZSBsb29raW5nIGF0IG1v cmUgDQo+IHRoYW4gYSBtaWxsaW9uIG9wdGljYWwgbGlua3MgaW4gb25lIGJ1aWxkaW5nLCBzbyB0 aGVyZSBpcyBhIGNvbnRpbnVvdXMgcmF0ZSBvZiANCj4gbGluayBmYWlsdXJlIGFuZCByZXBsYWNl bWVudC4gIFdlIGFyZSBjb250aW51b3VzbHkgcmVwbGFjaW5nIHN3aXRjaGVzIGFuZCBHUFUgDQo+ IG5vZGVzLiAgTm93IHlvdSBjYW4gZGVzaWduIGZvciByZXNpbGllbmNlLCBhbmQgd2UgYXJlIGFs cmVhZHkgcnVubmluZyBhIG5ldyANCj4gbmV0d29yayBkZXNpZ24gdGhhdCBkb2VzIHRoaXMuICBC dXQgbGl2aW5nIG9uIHRoZSBsZWFkaW5nIGVkZ2Ugb2Ygd2hhdCdzIA0KPiBwb3NzaWJsZSBpbiBj b21wdXRlIGFuZCBoYXZpbmcgbG93IGZhaWx1cmUgcmF0ZXMgdGVuZCB0byBiZSBtdXR1YWxseSAN Cj4gaW5jb21wYXRpYmxlLiAgV2UgYXJlIHdvcmtpbmcgd2l0aCBhbGwgb3VyIHN1cHBsaWVycyB0 byByZWR1Y2UgZmFpbHVyZSByYXRlcyANCj4gaW4gdGhlIG5leHQtYnV0LW9uZSBnZW5lcmF0aW9u IGJ5IGRlc2lnbiAtIHdlJ2QgbG92ZSB0aGF0IGJlY2F1c2UgYSANCj4gbm9uLXRyaXZpYWwgY2F1 c2Ugb2YgZmFpbHVyZSBpcyBhIHRlY2huaWNpYW4gZml4aW5nIG9uZSBmYXVsdCBhbmQgY2F1c2lu ZyANCj4gYW5vdGhlci4gIFNvIHRoZXJlJ3MgYSBsb3Qgb2YgaG9wZSB0byBpbXByb3ZlIHRoaW5n cywgYnV0IHRoZXJlJ3Mgbm90aGluZyANCj4gY29taW5nIGRvd24gdGhlIHBpcGVsaW5lIHRoYXQg d291bGQgYWxsb3cgbGFyZ2UgdHJhaW5pbmcgY2x1c3RlcnMgdG8gaGF2ZSANCj4gbGVhZGluZyBl ZGdlIHBlcmZvcm1hbmNlIGFuZCBzaW11bHRhbmVvdXNseSBydW4gdW5tYW5uZWQuDQo+DQo+IE1h cmsgKGN1cnJlbnRseSBkb2luZyBzdXBlcmNvbXB1dGVyIG5ldHdvcmtzIGF0IE9wZW5BSSkNCj4N Cj4gT24gVGh1LCAyNiBGZWIgMjAyNiwgYXQgNDozOSBBTSwgRGF2aWQgTGFuZyB2aWEgU3Rhcmxp bmsgd3JvdGU6DQo+PiBhIGNvdXBsZSBjb21tZW50cyBpbiByZXNwb25zZSAoc3BlY2lmaWNhbGx5 IGFwcGx5aW5nIHRvIFNwYWNlWA0KPj4NCj4+IHRoZXkgYXJlIHdvcmtpbmcgdG8gcmVkdWNlIGxh dW5jaCBjb3N0cyBiZXR3ZWVuIDEweCBhbmQgMTAweA0KPj4NCj4+IHRoZXkgYXJlIG5vdCBqdXN0 IGxvb2tpbmcgYXQgc3VuIHN5bmNocm9ub3VzIG9yYml0LCBidXQgYWxzbyBhdCBsYXVuY2hpbmcg ZnJvbQ0KPj4gdGhlIG1vb24gaW50byBhIG1vb24tc2l6ZSBlYXJ0aCBvcmJpdCBvciBzb2xhciBv cmJpdA0KPj4NCj4+IHJlOiBjaGlwIHZ1bG5lcmFiaWxpdHkgdG8gcmFkaWF0aW9uDQo+Pg0KPj4g Y2hpcHMgaGF2ZSBnb3R0ZW4gTVVDSCBzbWFsbGVyIG92ZXIgdGhlIHllYXJzLCB3aGljaCBpbiBw YXJ0IG1ha2VzIGl0IG1vcmUNCj4+IGxpa2VseSBmb3IgYSBjZWxsIHRoYXQncyBoaXQgdG8gZmxp cCwgYnV0IGFsc28gbWVhbnMgdGhhdCAoZm9yIGEgZ2l2ZW4NCj4+IGNhcGFiaWxpdHkpIGl0J3Mg bXVjaCBzbWFsbGVyLCBzbyBpcyBmYXIgbGVzcyBsaWtlbHkgdG8gYmUgaGl0Lg0KPj4NCj4+IHBy b2JhYmlsaXR5IGJhc2VkIHN5c3RlbXMgZG9uJ3QgcmVxdWlyZSBldmVyeSBjYWxjdWxhdGlvbiB0 byBiZSBwZXJmZWN0DQo+Pg0KPj4gIkFJIiBzeXN0ZW1zIG5lZWQgdG8gYmUgdmFsaWRhdGVkIGFu eXdheSAoc2luY2UgdGhlaXIgYmVoYXZpb3IgY2FuJ3QgYmUNCj4+IHByZWRpY3RlZCksIHNvIGlm IHRoZXJlIGFyZSB0b28gbWFueSBlcnJvcnMsIGl0IGp1c3Qgd2lsbCBmYWlsIHZhbGlkYXRpb24N Cj4+DQo+PiB3aXRoIGVub3VnaCBwcm9jZXNzaW5nIGNhcGFjaXR5LCB5b3UgY2FuIHJlLXJ1biB0 aGUgY2FsY3VsYXRpb25zIGFuZCBjb21wYXJlDQo+PiByZXN1dHMuDQo+Pg0KPj4NCj4+IE9uZSB0 aGluZyBJIGhhdmVuJ3Qgc2VlbiBwZW9wbGUgdGFsayBhYm91dCBpcyB0aGF0IHNwYWNlLWJhc2Vk IHN5c3RlbXMNCj4+IGFyZSBOT1QNCj4+IGdvaW5nIHRvIGJlIG1hc3NpdmUsIGNvaGVyZW50IGNs dXN0ZXJzIHRoZSB3YXkgY3VycmVudCBBSSB0cmFpbmluZw0KPj4gY2x1c3RlcnMgYXJlLg0KPj4g VGhleSB3aWxsIGJlIG1hbnkgc21hbGxlciBjbHVzdGVycyB3aXRoIHJlbGF0aXZlbHkgbG93IGJh bmR3aWR0aC9oaWdoDQo+PiBsYXRlbmN5DQo+PiBjb21tdW5pY2F0aW9ucyBiZXR3ZWVuIHRoZW0g KHlvdSBjYW4ndCBzZW5kIGRhdGEgZmFzdGVyIHRoYW4gdGhlIHNwZWVkDQo+PiBvZg0KPj4gbGln aHQpLiBUaGUgZmlyc3QgcG9zdHMgYWJvdXQgc3BhY2UgZGF0YWNlbnRlcnMgd2VyZSBkZW5zZSwg bWFzc2l2ZQ0KPj4gdGhpbmdzDQo+PiAoY29tcGFyYWJsZSBpbiBzaXplIHRvIGdyb3VuZCBiYXNl ZCBzeXN0ZW1zKSB3aXRoIHNvbGFyIHBhbmVscyBhbmQNCj4+IHJhZGlhdG9ycw0KPj4gbWVhc3Vy ZWQgaW4gc3F1YXJlIG1pbGVzLiBFbG9uIGFuZCBTcGFjZVggYXJlIHRhbGtpbmcgYWJvdXQgbWFu eSBzbWFsbA0KPj4gc2F0ZWxsaXRlcyBpbiB0aGUgMTAwS3cgcmFuZ2UsIHNpbWlsYXIgaW4gc2l6 ZSB0byB0aGUgc3RhcmxpbmsNCj4+IHNhdGVsbGl0ZXMgdGhhdA0KPj4gU3RhcnNoaXAgY2FuIGRl cGxveS4NCj4+DQo+Pg0KPj4NCj4+IEkgZnVsbHkgZXhwZWN0IHRoYXQgbmV3IHRyYWluaW5nIGFs Z29yaXRobXMgd2lsbCBiZSBmb3VuZCB0aGF0IHdpbGwNCj4+IGRyYXN0aWNhbGx5DQo+PiBpbXBy b3ZlIHRoZSBlZmZpY2llbmN5LCBidXQgSSBhbHNvIGV4cGVjdCB0aGF0IHdoZW4gdGhleSBhcmUg Zm91bmQsDQo+PiB0aG9zZQ0KPj4gY29tcGFuaWVzIHdpdGggbG90cyBvZiBoYXJkd2FyZSBhbmQg ZXhwZXJ0aXNlIGluIHJ1bm5pbmcgaXQgd2lsbCBiZQ0KPj4gYWJsZSB0byBtYWtlDQo+PiBiZXR0 ZXIgdXNlIG9mIHRoZSBuZXcgYWxnb3JpdGhtcywgaWYgb25seSB0byB0cmFpbiBtb3JlIG1vZGVs cyBkb2luZw0KPj4gZGlmZmVyZW50DQo+PiB0aGluZ3MgYXQgdGhlIHNhbWUgdGltZS4gSXQgc3Rp bGwgZmF2b3JzIHRob3NlIGNvbXBhbmllcyB0aGF0IGdldCBhaGVhZA0KPj4gKGFuZA0KPj4gZG9u J3QgY29sbGFwc2UgaW4gdGhlIHByb2Nlc3MpDQo+Pg0KPj4gZXZlcnkgYnViYmxlIG92ZXItYnVp bGRzIGluZnJhc3RydWN0dXJlLCBhcyBhIGxvdCBvZiBwZW9wbGUgd2hvIGxvc2UNCj4+IHRoZWly DQo+PiBzaGlydHMganVtcCBvbiBib2FyZCB0aGUgbmV3IGZhZCB3aXRob3V0IGJlaW5nIGFibGUg dG8gZXZhbHVhdGUgdGhlDQo+PiBjb21wYW5pZXMuDQo+PiBCdXQgdGhvc2UgY29tcGFuaWVzIHRo YXQgZmFpbCBnZW5lcmFsbHkgZ2V0IGJvdWdodCBvdXQgYnkgb3RoZXJzLA0KPj4gY2hlYXAsIGFu ZCB0aGUNCj4+IGluZnJhc3RydWN0dXJlIHRoYXQgaXMgYnVpbHQgZ2V0cyB1c2VkIGJ5IHNvbWVv bmUgZWxzZSB3aXRoIGEgbW9yZQ0KPj4gcmVhbGlzdGljDQo+PiBidXNpbmVzcyBtb2RlbC4gSXQg bWF5IHRha2UgeWVhcnMgKHNlZSB0aGUgbWFzc2l2ZSBvdmVyYnVpbGRpbmcgb2YNCj4+IGZpYmVy IGluIHNvbWUNCj4+IGFyZWFzKSwgYnV0IGl0IHdpbGwgZXZlbnR1YWxseSBiZSB1c2VkLg0KPj4N Cj4+IEkgdGhpbmsgdGhlcmUgaXMgZGlzYWdyZWVtZW50IG9uIGlmIEFJIGlzIGdvaW5nIHRvICdo b2NrZXkgc3RpY2snIG9yIG5vdCwgYnV0DQo+PiBldmVuIGlmIGl0IGRvZXNuJ3QsIHRoZWUgYXJl IGEgbG90IG9mIGdvb2QgdXNlcyBmb3IgdGhlIHBhdHRlcm4gbWF0Y2hpbmcNCj4+IGNhcGFiaWxp dHkgKGp1c3Qgbm90IGF0IHRvZGF5J3MgcHJpY2VzKQ0KPj4NCj4+IERhdmlkIExhbmcNCj4+DQo+ Pg0KPj4gT24gV2VkLCAyNSBGZWIgMjAyNiwgTmljayBNYXR0aGV3cyB3cm90ZToNCj4+DQo+Pj4g RGF0ZTogV2VkLCAyNSBGZWIgMjAyNiAxOTozODo1MiAtMDcwMA0KPj4+IEZyb206IE5pY2sgTWF0 dGhld3MgPG1hdHRobmlja0BnbWFpbC5jb20+DQo+Pj4gVG86IERhdmlkIExhbmcgPGRhdmlkQGxh bmcuaG0+DQo+Pj4gQ2M6IERhbmllbCBBSiBTb2tvbG92IDxkYW5pZWxAZmFsY28uY2E+LA0KPj4+ ICAgICBEYXZlIFRhaHQgdmlhIFN0YXJsaW5rIDxzdGFybGlua0BsaXN0cy5idWZmZXJibG9hdC5u ZXQ+DQo+Pj4gU3ViamVjdDogUmU6IFtTdGFybGlua10gUmU6IERhdGEgY2VudGVycyBhcmUgcmFj aW5nIHRvIHNwYWNlIOKAlCBhbmQgcmVndWxhdGlvbg0KPj4+ICAgICBjYW7igJl0IGtlZXAgdXAN Cj4+Pg0KPj4+IFRoZSB1bmRlcmx5aW5nIHRoZW9yeSBoZXJlIGlzIGlmIHNvbWVvbmUgYnVpbGRz IGEgbW9kZWwgdGhhdCBjYW4gaW1wcm92ZQ0KPj4+IGl0c2VsZiBmYXN0ZXIgdGhhbiBodW1hbnMs IHRoZXkgd2luLiBNaWxpdGFyeSwgZWNvbm9teSwgZnV0dXJlIHByb2JsZW1zLA0KPj4+IGV0Yy4g VGhhdCBjb3VsZCBoYXZlIGEgbG90IG9mIHJlYWwgb24tRWFydGggaW1wYWN0LiBUaGVyZSdzIGlu dmVzdG1lbnRzIGFuZA0KPj4+IHJhY2VzIGdvaW5nIG9uIHRoYXQgc3VwcG9ydCB0aGF0IHRoZW9y eS4NCj4+Pg0KPj4+IElmIHRoZSBtYWpvciBsaW1pdGluZyBmYWN0b3IgaXMgaG93IGJpZyBhbmQg ZmFzdCB5b3UgY2FuIGJ1aWxkIHBvd2VyIHBsYW50cw0KPj4+IG9uIGVhcnRoLCBhbmQgYXNzdW1l IHRoZSBwZXJzb24gd2l0aCB0aGUgbW9zdCBhY2Nlc3MgdG8gcG93ZXIgd2lucywgaXQNCj4+PiBz dGFydHMgdG8gbWFrZSBtb3JlIHNlbnNlLg0KPj4+DQo+Pj4gSG93ZXZlciwgdGhlcmUncyBhbHNv IGEgZ2lhbnQgbGlzdCBvZiB0ZWNobmljYWwgYXNzdW1wdGlvbnMgdGhhdCBuZWVkIHRvIGJlDQo+ Pj4gdHJ1ZSBmb3IgdGhvc2UgYXNzdW1wdGlvbnMgdG8gZmx5IChnZXQgaXQ/KS4gQW5kIHRob3Nl IHRlY2huaWNhbA0KPj4+IGFzc3VtcHRpb25zIGRvbid0IG5lY2Vzc2FyaWx5IG5lZWQgdG8gYmUg dHJ1ZSBpbiBvcmRlciB0byBjYXNoIHRoZSBjaGVja3MNCj4+PiBmcm9tIHBlb3BsZSB0aGF0IGVp dGhlciB3YW50IHRvIGNvbXBldGUgaW4gdGhhdCByYWNlIG9yIGludmVzdCBpbiBzb21lb25lDQo+ Pj4gdGhhdCBpcy4NCj4+Pg0KPj4+IFNvbWUgb2YgdGhlIGFzc3VtcHRpb25zIEkndmUgY29tZSB0 byBpbmNsdWRlOg0KPj4+ICogQWRkaW5nIG1vcmUgcG93ZXIgYW5kIGRhdGEgdG8gbW9kZWxzIGV2 ZW50dWFsbHkgZ2V0cyB5b3UgdG8gdGhlDQo+Pj4gaW50ZWxsaWdlbmNlIG5lZWRlZCB0byBob2Nr ZXkgc3RpY2suIChWZXJzdXMgc29sdmluZyB0aGlzIHByb2JsZW0gd2l0aCBhDQo+Pj4gZGlmZmVy ZW50IGFwcHJvYWNoLCBhbGdvcml0aG1zLCBvciBkaWZmZXJlbnQga2luZHMgb2YgZGF0YS4pDQo+ Pj4gKiBUaGUgbW9kZWxzLCBkYXRhLCBhbmQgdW5kZXJseWluZyBhbGdvcml0aG1zIGFyZW4ndCBl YXNpbHkgcmVwbGljYXRlZCBieQ0KPj4+IG90aGVycyBvbmNlIHRoZXkgc3RhcnQgZXhwb25lbnRp YWxseSBpbmNyZWFzaW5nIGluIGFiaWxpdHkuIEUuZy4gY2FuDQo+Pj4gc29tZW9uZSBsaWtlIERl ZXBzZWVrIGp1c3QgdGFrZSB0aGUgb3V0cHV0cyBvZiB0aGUgZmlyc3QgbW92ZXIsIGFuZCB0aGVu DQo+Pj4gbm90IHJlcXVpcmUgdGhlIHNhbWUgcG93ZXIgY2FwYWNpdHkgYW5kIHJlcGxpY2F0ZSBh IHNpbWlsYXIgdmFsdWUuIFRoaXMNCj4+PiB3b3VsZCBzbG93IGRvd24gdGhlIGZpcnN0IG1vdmVy IHZlbG9jaXR5IGJlbmVmaXRzLg0KPj4+ICogQUkgZXZlbnR1YWxseSBzdGFydHMgY3JlYXRpbmcg cmV0dXJucy4NCj4+PiAqIExhdW5jaCBjb3N0cyBnbyBkb3duIHNpZ25pZmljYW50bHkgKHgxMD8p DQo+Pj4gKiBUaGVyZSdzIGVub3VnaCByb29tIGluIHN1biBzeW5jaHJvbm91cyBvcmJpdCB0byBy dW4gYXQgcG93ZXIgc2NhbGVzIG5vdA0KPj4+IHBvc3NpYmxlIG9uIGVhcnRoIHdpdGhvdXQga2lj a2luZyBvZmYgS2Vzc2xlcg0KPj4+ICogQSBjb21iaW5hdGlvbiBvZiB2ZXJ5IGxhcmdlIHNvbGFy IHBhbmVscywgcmFkaWF0aXZlIGNvb2xpbmcsIGZsdWlkDQo+Pj4gZXhjaGFuZ2UgYmV0d2VlbiB0 aGVtLCB0aGUgY29tcHV0aW5nLCBwcm9wdWxzaW9uLCBhbmQgYW55IG5lY2Vzc2FyeQ0KPj4+IHJl ZHVuZGFuY3kgb2YgdGhlc2UgY29tcG9uZW50cyBpcyBzdGlsbCBlY29ub21pY2FsLg0KPj4+ICog T3BlcmF0aW9uYWwgbG9zcyBkdWUgdG8gcmFkaWF0aW9uLCBtaWNybyBhc3Rlcm9pZHMsIGFuZCBn ZW5lcmFsDQo+Pj4gY29tcG9uZW50IGZhaWx1cmUgaXMgdG9sZXJhYmxlLg0KPj4+ICogQ29tcG9u ZW50cyBsaWtlIEdQVXMgYW5kIFJBTSBhbmQgdW5kZXJseWluZyBidXMgc3RydWN0dXJlcyBjYW4g YmUgYnVpbHQNCj4+PiB0byBiZSBtb3JlIHJhZGlhdGlvbiB0b2xlcmFudC4NCj4+PiAqIEJ1cm5p bmcgdXAgbmV3IG9yZGVycyBvZiBtYWduaXR1ZGUgb2YgYW1vdW50cyBvZiBlbGVtZW50cyBpbiB0 aGUNCj4+PiBhdG1vc3BoZXJlIGNhbiBiZSBtYW5hZ2VkIChhbHVtaW51bSwgc2lsaWNvbiwgZXRj LikNCj4+PiAqIE9yLCB0aGVyZSBpcyBzb21lIGFtb3VudCBvZiBpbi1vcmJpdCByZWN5Y2xpbmcg YW5kIG1hbnVmYWN0dXJpbmcgd2l0aG91dA0KPj4+IHJldHVybmluZyBtYXRlcmlhbCBiYWNrIHRv IEVhcnRoLg0KPj4+ICogQmFuZHdpZHRoIGNhbiBiZSBidWlsdCBmb3IgMSkgaW50cmEgY2x1c3Rl ciB3aXRoaW4gYSBzYXRlbGxpdGUsIDIpIGNyb3NzDQo+Pj4gY2x1c3RlciB2aWEgT0lTbCwgMykg QmFjayB0byBFYXJ0aCB1c2luZyBSRiBvciBsYXNlcnMuDQo+Pj4gKiBSZWd1bGF0b3J5IGJvZGll cyBhZ3JlZSB3aXRoIHRoZSByaXNrIHZlcnN1cyByZXdhcmQgYW5kIGFwcHJvdmUgdGhpcw0KPj4+ IGtpbmQgb2YgcGxhbi4NCj4+PiAqIFRoZSBzbWFydGVyLXRoYW4taHVtYW4gQUkgZG9lc24ndCBk ZWNpZGUgdG8gZGVzdHJveSB0aGUgaHVtYW4gcmFjZSBpbiBhDQo+Pj4gbW92ZSBvZiBzZWxmIHBy ZXNlcnZhdGlvbiBiZWNhdXNlIHRoZSBBSSBjb21wYW5pZXMgZGlkbid0IGhhdmUgdGltZSBmb3IN Cj4+PiBib3VuZGFyaWVzLg0KPj4+DQo+Pj4gSSB0aGluayBpdCdzIGEgbmVhdCB0aG91Z2h0IGV4 cGVyaW1lbnQsIGV2ZW4gaWYgaXQncyBhIGxpdHRsZSB0ZXJyaWZ5aW5nIGluDQo+Pj4gc2NhbGUg YW5kIGltcGFjdCBpZiBpdCdzIHJlbW90ZWx5IHBvc3NpYmxlLg0KPj4+DQo+Pj4gLW5pY2sNCj4+ Pg0KPj4+IE9uIFdlZCwgRmViIDI1LCAyMDI2LCA2OjMz4oCvUE0gRGF2aWQgTGFuZyB2aWEgU3Rh cmxpbmsgPA0KPj4+IHN0YXJsaW5rQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldD4gd3JvdGU6DQo+Pj4N Cj4+Pj4gRGFuaWVsIEFKIFNva29sb3Ygd3JvdGU6DQo+Pj4+DQo+Pj4+PiBCbG9jayBzcG90cyBp biBvcmJpdA0KPj4+Pg0KPj4+PiBhdCB0aGUgc2NhbGUgdGhhdCBoZSBvcGVyYXRlcywgZXZlcnlv bmUgZWxzZSBjb21iaW5lZCBpbiBpbiB0aGUgbm9pc2UuDQo+Pj4+IFN0YXJsaW5rDQo+Pj4+IGlz IGFscmVhZHkgc2V2ZXJhbCB0aW1lcyB0aGUgbnVtYmVyIG9mIG90aGVyIHNhdGVsbGl0ZXMgaW4g b3JiaXQgY29tYmluZWQuDQo+Pj4+DQo+Pj4+IGJlc2lkZXMsIGluIHRoZSBsb25nIHJ1biwgaGUn cyB0YWxraW5nIGFib3V0IGxhdW5jaGluZyBmcm9tIHRoZSBtb29uIGludG8NCj4+Pj4gc29sYXIN Cj4+Pj4gb3JiaXQsIG5vdCBlYXJ0aCBvcmJpdCwgYnV0IGV2ZW4gaWYgaGUgd2FzIGp1c3QgdGFs a2luZyBhYm91dCBsYXVuY2hpbmcNCj4+Pj4gaW50bw0KPj4+PiBlYXJ0aCBvcmJpdCBuZWFyIHRo ZSBtb29uJ3Mgb3JiaXQsIGl0J3Mgbm90IGxpa2UgdGhlcmUgYXJlIHZlcnkgbWFueQ0KPj4+PiBz YXRlbGxpdGVzDQo+Pj4+IHRoZXJlIHRvIGNvbnRlbmQgd2l0aC4NCj4+Pj4NCj4+Pj4+IEZyb20g YSB0ZWNobm9sb2d5IHBvaW50IG9mIHZpZXcsIHRoaXMgaXMgYm9ua2Vycy4NCj4+Pj4NCj4+Pj4g aWYgeW91IG9ubHkgbG9vayBhdCB0ZWNobmljYWwgZGV0YWlscywgeW91IG1heSBiZSByaWdodCwg YnV0IGlmIHlvdSBhZGQNCj4+Pj4gdGhlDQo+Pj4+IHJlZ3VsYXRvcnkgYnVyZGVuIGFuZCBkZWxh eXMgaW4gYnVpbGRpbmcgdHJhZGl0aW9uYWwgZGF0YWNlbnRlcnMsIHRoYXQgbWF5DQo+Pj4+IGJl DQo+Pj4+IGVub3VnaCB0byBjaGFuZ2UgdGhlIG1hdGguDQo+Pj4+DQo+Pj4+IE5vdywgaWYgd2Ug Y291bGQgZWFzZSB0aGUgcmVndWxhdGlvbnMgc28gdGhhdCBpdCdzIGVhc2llciB0byBidWlsZCBw b3dlcg0KPj4+PiBwbGFudHMNCj4+Pj4gYW5kIGhvb2sgdXAgdG8gdGhlIGdyaWQgKG9yIGdldCBz bWFsbCBuZXh0LWdlbiBudWNsZWFyIHBvd2VyIHBsYW50cw0KPj4+PiBvcGVyYXRpb25hbA0KPj4+ PiBzbyB0aGV5IGNhbiBiZSBkcm9wcGVkIGF0IHRoZSBkYXRhY2VudGVycyksIHRoYXQgY291bGQg Y2hhbmdlIHRoZSBtYXRoDQo+Pj4+IGJhY2suDQo+Pj4+DQo+Pj4+IERhdmlkIExhbmcNCj4+Pj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4+Pj4gU3Rh cmxpbmsgbWFpbGluZyBsaXN0IC0tIHN0YXJsaW5rQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldA0KPj4+ PiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHN0YXJsaW5rLWxlYXZlQGxpc3RzLmJ1 ZmZlcmJsb2F0Lm5ldA0KPj4+Pg0KPj4+DQo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXw0KPj4gU3RhcmxpbmsgbWFpbGluZyBsaXN0IC0tIHN0YXJsaW5r QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldA0KPj4gVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0 byBzdGFybGluay1sZWF2ZUBsaXN0cy5idWZmZXJibG9hdC5uZXQNCj4=