From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; dkim=pass header.d=uvic.ca header.i=@uvic.ca header.a=rsa-sha256 header.s=selector2 header.b=MSPAj2Au; arc=pass; dmarc=pass (Used From Domain Record) header.from=uvic.ca policy.dmarc=reject Received: from YT5PR01CU002.outbound.protection.outlook.com (mail-canadacentralazlp170110005.outbound.protection.outlook.com [IPv6:2a01:111:f403:c103::5]) by mail.toke.dk (Postfix) with ESMTPS id 55F3A19DDD07; Sat, 07 Nov 2026 07:41:28 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YnTgM8iKcnBm734rzF+UPINg0aLkHzTKOfbY4cT91y1boMVuGUPB1RtqBY70Nzkueo6acNfnyQIyBhMgweJHTfwYfgesoVFcEaeK7D/QsY9C1aEBx4yKhKCoznPdKRbHeWvGo4MXtYSIr4hqx2RZxlyCUSyvgju6gMj13xRqfL+D6+hVm6gJoaMLc8SWVrnocKzWYkGmKDt9a7OLY4brdzP30UIFNwLSMrvTNos+y6Y8FBVJ8hupYpV60tfRaOQBf3so3gWJM73ZigrB8cPBzwWi+F/9yKyjXyhOQgkFT8xBnROTN71OG4Tek+YB20vejD+/9IO+AKlL36uYnbu8Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=AnyRQD7cXfsSIPhr7/j9koyAocQVaIdSCMSeHhE9uSs=; b=SZBbKrNFzCRC0xQile8sxgCFrs7emdRo2yWLQVaQdjJb0sN+PJR64iJSeGhm1P3a0lDc9uYkOWSrfLVH6IlWPHF0gPAHrVok00tFKL/dsnEhPwI7zD20BLkZc5kDGcXghniziyMQ1fcS0ynR+K4hse0aJPlFqC/YTqJnqhm4EdIK3Fqdm2u30v1XZcTsMu+XjVas9wzn6+N24SzBANP8UCn6vs+EvuZBoD74x52ll4HNdPqV4zG2ABQSN1ifah93h4zkl67mf0oGyjEOz/8KRqiud6nH2YMcm3yV3pEyIv5YUWb8w39j6bziZG0NTrX2qOm/xLGHcV77E0ofisb7Hw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uvic.ca; dmarc=pass action=none header.from=uvic.ca; dkim=pass header.d=uvic.ca; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uvic.ca; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AnyRQD7cXfsSIPhr7/j9koyAocQVaIdSCMSeHhE9uSs=; b=MSPAj2Ausn4X9G8A7H+Eqtqo7JuGz6B9YKniPdwo5TmgtOdHbXVOV7wgXe20exHnFOzfsWaVCc8iJvu0RTZr6RMmHEqchxHGjszd9R4k4V4gONaro+n2MgDpMiavoHVm5V4TEZnHEWw7J5MeK6L/GHJdOtIv4UbY/wM87zjxgPsDX5Su8tCrcS3+KdUvZWUqJfeh2EgA1kTAKDpD9Mkxh18kEqyKHdhXjlJT0UqVKouESdqI52ig1R+b8MZV5yd34tn4ZZGusS1Zp4mPU0UpMF0QKjyUSijPMTPak98Dblx7eGQ3ueCefC/dXmYPIqDgrap7/nq2ajvBeYsDZqohAg== Received: from YT4P288MB1242.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:164::20) by YQBP288MB0763.CANP288.PROD.OUTLOOK.COM (2603:10b6:c01:93::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.592.11; Sat, 7 Nov 2026 06:41:23 +0000 Received: from YT4P288MB1242.CANP288.PROD.OUTLOOK.COM ([fe80::9df7:b071:ed0d:4a09]) by YT4P288MB1242.CANP288.PROD.OUTLOOK.COM ([fe80::9df7:b071:ed0d:4a09%2]) with mapi id 15.21.0592.010; Sat, 7 Nov 2026 06:41:23 +0000 From: Jianping Pan To: bloat , Cake List , Jeremy Austin via Rpm , Dave Taht via Starlink , libreqos , Make-Wifi-fast , =?utf-8?B?TmV0d29yayBOZXV0cmFsaXR5IGlzIGJhY2shIExldMK0cyBtYWtlIHRoZSB0?= =?utf-8?Q?echnical_aspects_heard_this_time!?= , Frantisek Borsik Thread-Topic: [Starlink] Jason leaving Comcast after 30 years - thanks for all your amazing work on fixing bufferbloat! Thread-Index: AQHdbTv5+3swMrujpUmIES7rwjT8tbciKg+u Date: Sat, 7 Nov 2026 06:41:23 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: YT4P288MB1242:EE_|YQBP288MB0763:EE_ x-ms-office365-filtering-correlation-id: 26d0367d-c6bd-4168-5537-08df3c9a23de x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|23010399003|376014|786006|1800799024|4022899009|366016|38070700021|260925022911599003|260925021911599003|260925021311599003|11063799006|56012099006|261021133027099003|261022115727099003|261021123027099003|261022105027099003|261022113327099003|261021135927099003|261021130227099003|261022075727099003|261021121427099003|261009223027099003|261026135527099003|261026121527099003|261026130827099003|261026140227099003|261102123227099003|261028144727099003|22082099003|18002099003|6133799003|10067099003|4133799003; x-microsoft-antispam-message-info: pAEbV3U6bMVfDoT7WAoThvAdRES4WH0IxBzIGPYQkMKxZChBjoScXuFCynSMNUZSE5Mg01eZM3nX2grOG/BdtXTHVh4lmV3nNnqzem8XWn5t6Uzqi/bTCAeCSUeYc7whe8VUhzEPANnJN2u3JnJICK3VhM+c7zz1fXEXMGygjlup2VzV/zqWBGxAq+ZIgJ0KEU74X93/trUO5LGc6aL/Rna+5HxzcMn91NjUCSnaaYEpAN1GPJU5n7im8Xgv0jItDs7xwRss5FKlN+tIVspYYTkekyeQsbClXwkOPTVl7k2MWnADUsIpCushtfvQfOc4FNAVRLXa5tZJIU4gYIyrd4+5mLWXT1rpyQ6AHEknilEovlI9wD5SDz70bBRuKjxq58fX8n9E0rRZxUvOK2P7r+gdWHaeYJYfwSrKgaVF9hIjIWqRaebOZOs2o2jVaBWhlqfN/HB8G7UI1CWtyn+RCdC3t47/GqPUlR7rioqmAOral5X7hgbvavojI5uP24ODKnFEuOyjeVojPte5pgUDejDPps9qLzalHz68AYvNpDyiFymlAM2dTaJoQHUIUTh/Kiyi39lIlJLF3jLIG8hxc3AXlfmip7/fwKGgtI8Xfi8px4qvLBV4TmePmbTiv/7CGgMxQtrLmh10KvD8uKhAHo9DWgjxgxPkF7xgBpRfR2k= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YT4P288MB1242.CANP288.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(786006)(1800799024)(4022899009)(366016)(38070700021)(260925022911599003)(260925021911599003)(260925021311599003)(11063799006)(56012099006)(261021133027099003)(261022115727099003)(261021123027099003)(261022105027099003)(261022113327099003)(261021135927099003)(261021130227099003)(261022075727099003)(261021121427099003)(261009223027099003)(261026135527099003)(261026121527099003)(261026130827099003)(261026140227099003)(261102123227099003)(261028144727099003)(22082099003)(18002099003)(6133799003)(10067099003)(4133799003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UlpvMDhDWFhCWEpQWmxsTGNhL2l2K0ZyTVFNeDQ1OWQ1Z1p4SFF6MGh5WEFm?= =?utf-8?B?ek1EWlkxWHB3c0VXWENHS1RTUGtBWDBxUys3azY4NVpWUktKKzEvQ2ZOM01r?= =?utf-8?B?RVc0TEFCQ1U4ZERqOTFrWG1OMWVLQ1FJVWk5UjRhUzdJUldlQjZxNzlKbzJP?= =?utf-8?B?VE1VVzV5MnZqckpvOExDcUdPS041YmRSZVZseWdZbnFYTnJMSjRjVHZ2Zysx?= =?utf-8?B?SXdLUkdtblRhSlB6TDQ3ZVNMM0RGN0t3dk1iOHIvZFZjNGxYODZhc09TT3Ar?= =?utf-8?B?WWdZaGxjMjk3cVJWRWtiaEc5Nk5FQWtiV3N2T05oWEdNUWw2N3RLcmJkUFVJ?= =?utf-8?B?cCs4Yy94Uk9oS2lTNy9zQVN1N2o5MXBkNnVpak5TOVBhZncxNW84R04wR1lO?= =?utf-8?B?Z29Wbi9wMjYwOG1DdUNZRWp0TTlnVzV1ZnJhZjVhK3pqcjVyR0htMFZ5RkV4?= =?utf-8?B?YWcwZnJtT0ExSFpEaFM3MVFpWVpob1A0ZVFnQktIclp4MDYxUFFMRWV3Z29V?= =?utf-8?B?dEl6U1phbjF1aUlhR09aeTZ4cWczWG1sTGovampkSEV3Nkw1bmV4Wk1CK1Zn?= =?utf-8?B?SzZGLzFUSGs5RFpjUjR4NEpiR1pPcy9kcnZxVnJYWlVDaCtGcWlxbEZXU1Fk?= =?utf-8?B?RkN3M1NwZWlJblBNK1FiN0hDNll0VGhRbEZTdHFXU0ZzV2xMdC9QYUlIbGky?= =?utf-8?B?NGhueFpKY0h1Lzh3aGk5NlpsbUhyS3lSTXRrZUFZSXBSTTg0eGNuWThRZHVa?= =?utf-8?B?L1lkbjdZRzdmOHZmM08yRC80SFJ3OXlUSG1OSlF0RXBNMzY1Mzc4ellDdHg2?= =?utf-8?B?MXJRUVN0SlZtbG5KdzN4Sy82VzNGY2xqZ2hlNVJDYzUwTHhkTlVna2M5czdz?= =?utf-8?B?QkNLRWY4b2NnblFEUDRudHFCY0l2dVN0Ly9RZUNJMCt0WlV0YjBGc1RnSnZL?= =?utf-8?B?SjhYVEc4MmFCdy82TzNWTXlsRHV0WUFLNFg4NzJaa3RJWjNVTnhWWVZxZzE2?= =?utf-8?B?WUhpUnZvajFNcWh2WGFpVFM5U1dMT1dxcHhRMWJjb2RVNldhZWVuRUFNV3FV?= =?utf-8?B?RWRpQmRqREwyb29UbjA0Rnl5bTB5MFZac0RkbmFDNGhocFZ0Vy9OeTRhcThE?= =?utf-8?B?L1BjUlBvUHNudGRlUzZ5L3N0WERHTnQrbUtRR25UaExMU212RFRETVRmTnJ5?= =?utf-8?B?bU5RVjFRdFRVYk8xWTRKQlBMcENudDYvNEhaUGRndHZMN1Z0aEdiY1pUSFF5?= =?utf-8?B?a2JhMHE0b1B5ekk4T0duRjlMTWszNlhKaFUyUExlREsrNWM5MFdMemkzOEJU?= =?utf-8?B?akExM0dLbTFXMit1aktkWERERmJwZVZLV3I1YVhmd2cyVUVZMTZocTlZZVNQ?= =?utf-8?B?MWNaaThTNVBONXU4OFFsUW40VUxYazRCVTd3SSt5YWFyN0J5RjFmOVBmN1ZC?= =?utf-8?B?WklhR1RwS3BFV2ZFTlJOV3VxTmhiaXh3RUMrVm5LUHZnOUZBZUxvc0NrZlc2?= =?utf-8?B?d09KNWdBTTVvNERrQWNMN01lb0hWZVFxRzRSZzRPZWYyVWpDWjNrOUgvWWh6?= =?utf-8?B?aGRna21KWTZPR2pBSm04TUo1enJYMEVuVFRuaHo2ZkI5aXpxT0FpQkZGMGJv?= =?utf-8?B?c0w4QnNsb1M4ZElPbVhCbVFpbUQ1M0lWR016NUNzbWJDcEw1NlFEenJwWk8w?= =?utf-8?B?T29QSEZBenhuY3NCa1VLWjV1eUs2R1VIRHJUWGpvUlZYVjJ2Y3g4UTlVclZZ?= =?utf-8?B?dUxJQmtRWnU1bHFQUE5oMTJ0eFFoZHNsUDdMcXVOZWRrMlhyMWdIcFlSZlI4?= =?utf-8?B?dkFLRGxmSWtYcGtTMUIyZnpzaTl2cjdCVDhFTEhKbDdqanljZzFRVmhkUVAy?= =?utf-8?B?TlN3cHYyTjZNRHFiWktXQVo0UTdsditxeWt6OFRqQk5acFpHTXJpT0MxL3Uw?= =?utf-8?B?Z28zM1BaY25MbEhiK2dFUm01OWg5eFlFQ1JmajZKekx6aTFXNW90OXpya2Zl?= =?utf-8?B?TVdiVVJRRzhzck83UFZ2ZG1tRHFVSUszbmlGWnBnZENjRi9mQWRRRGxiNFJP?= =?utf-8?B?cW1LbVJnckhqRkRsajBIUTI5ZWJzRFkrNG5jREVMVXRGbldLaFRZa3FybHFk?= =?utf-8?B?RGVoa3N0NFZRTHgvN3VuZHJkN1I3Y1JkRkVESFlFVWF0eHcyT3drcVNwQnVH?= =?utf-8?B?dW5xT2gyRnYxcDZ0TDVFN0FyNnFCZGtpN1JveUJjY0VBUWEzWmRVMC93TGRL?= =?utf-8?Q?a8AP9PTYYuYNWGGjpjtZ7FrFwZohbBx+Xrz/EvrMN0=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: uvic.ca X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: YT4P288MB1242.CANP288.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 26d0367d-c6bd-4168-5537-08df3c9a23de X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Nov 2026 06:41:23.4099 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9c61d377-9894-427c-b13b-1d6a51662b4e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: oZ2WS+Q1Q99fqv1CVwOP/QT1Gh59keNmZScQR7ceSKO3fAXsqmhdwNb29GNUNDhp X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQBP288MB0763 Message-ID-Hash: JRKSGC4NGJCTUKPLNM2XNC5ZJQQM3RPK X-Message-ID-Hash: JRKSGC4NGJCTUKPLNM2XNC5ZJQQM3RPK X-MailFrom: pan@uvic.ca 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 X-Mailman-Version: 3.3.10 Precedence: list Subject: [LibreQoS] Re: [Starlink] Jason leaving Comcast after 30 years - thanks for all your amazing work on fixing bufferbloat! List-Id: Many ISPs need the kinds of quality shaping cake can do Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: eWVzLCBqYXNvbiB3YXMgdGhlIGZpcnN0IHRvIHNlbmQgdXMgcmlwZSBhdGxhcyBwcm9iZXMgdG8g YmUgYXR0YWNoZWQgdG8gb3VyIGh0dHA6Ly9vYWMudXZpYy5jYS9jY2NsZW8gdGVzdGJlZC4gdGhh bmtzLCBqYXNvbiENCi0tDQpKIFBhbiwgVVZpYyBDU2MsIEVDUzU2NiwgMjUwLTQ3Mi01Nzk2IChO TyBWTSksIFBhbkBVVmljLkNBLCBXZWIuVVZpYy5DQS9+cGFuDQoNCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18NCkZyb206IEZyYW50aXNlayBCb3JzaWsgdmlhIFN0YXJs aW5rIDxzdGFybGlua0BsaXN0cy5idWZmZXJibG9hdC5uZXQ+DQpTZW50OiBUaHVyc2RheSwgTm92 ZW1iZXIgNSwgMjAyNiA4OjUxIEFNDQpUbzogYmxvYXQ7IENha2UgTGlzdDsgSmVyZW15IEF1c3Rp biB2aWEgUnBtOyBEYXZlIFRhaHQgdmlhIFN0YXJsaW5rOyBsaWJyZXFvczsgTWFrZS1XaWZpLWZh c3Q7IE5ldHdvcmsgTmV1dHJhbGl0eSBpcyBiYWNrISBMZXTCtHMgbWFrZSB0aGUgdGVjaG5pY2Fs IGFzcGVjdHMgaGVhcmQgdGhpcyB0aW1lIQ0KU3ViamVjdDogW1N0YXJsaW5rXSBKYXNvbiBsZWF2 aW5nIENvbWNhc3QgYWZ0ZXIgMzAgeWVhcnMgLSB0aGFua3MgZm9yIGFsbCB5b3VyIGFtYXppbmcg d29yayBvbiBmaXhpbmcgYnVmZmVyYmxvYXQhDQoNCkhlbGxvIHRvIGFsbCwNCg0KQmVmb3JlIGNv cHkrcGFzdGluZyBKYXNvbidzIGFubm91bmNlbWVudCBvbiBzb2NpYWwgbWVkaWE6DQoNCk1hbnkg b2YgdXMgaGVyZSB3b3VsZCBhZ3JlZSwgSSBkbyBiZWxpZXZlLCB0aGF0IEphc29uJ3MgY29udHJp YnV0aW9uIHRvDQppbXByb3ZpbmcgYnVmZmVyYmxvYXQgc2l0dWF0aW9uIChhbmQgbW9yZSwgbGlr ZSBOZXQgTmV1dHJhbGl0eSBldGMpIG5vdA0Kb25seSBpbiBDb21jYXN0IGJ1dCBhbHNvIGluIGdl bmVyYWwsIHdhcyB0cnVseSBpbnN0cnVtZW50YWwuDQpIZSBzdXBwb3J0ZWQgRGF2ZSBvdmVyIHRo ZSB5ZWFycywgYW5kIG5vdCBvbmx5IHdpdGggQ29tY2FzdCdzICQuIEhlIGFsc28NCmhlbHBmdWwg dG8gdXMsIGF0IExpYnJlUW9TLiBMZXQncyBob3BlIGhlIGNhbiBjb250aW51ZSB0byB3b3JrIG9u IGl0IGluIGhpcw0KbmV4dCB2ZW50dXJlIQ0KDQpCQU5EV0lEVEggSVMgREVBRC4gQmFuZHdpZHRo IGlzIGEgTGllIQ0KDQpodHRwczovL3d3dy5saW5rZWRpbi5jb20vZmVlZC91cGRhdGUvdXJuOmxp OnVnY1Bvc3Q6NzUyNDExMzI5MTM4ODk2MDc2OS8NCmh0dHBzOi8veC5jb20vamxpdmluZ29vZC9z dGF0dXMvMjExODM1MTMwMzk5OTA5OTA5NA0KDQoNCj4gQWZ0ZXIgYW4gYW1hemluZyAmIGZ1biAz MC15ZWFyIGNhcmVlciBhdCBDb21jYXN0LCBhdCB0aGUgZW5kIG9mIHRoaXMgeWVhcg0KPiBpdCB3 aWxsIGJlIHRpbWUgdG8gdHVybiB0aGUgcGFnZSB0byBzdGFydCB3cml0aW5nIG15IG5leHQgY2hh cHRlciEg8J+ZjA0KPiBXaGlsZSBJIHN1cHBvc2UgSSBjb3VsZCByZXRpcmUsIGl0IHNlZW1zIHRv byBzb29uIC0gSSBzdGlsbCBoYXZlIHBsZW50eQ0KPiBJJ2QgbGlrZSB0byBkbyEgSSdtIG5vdCBl bnRpcmVseSBzdXJlIHdoYXQgdGhlIG5leHQgY2hhcHRlciBsb29rcyBsaWtlIC0NCj4gdGhhdCdz IHBhcnQgb2YgdGhlIGZ1bi4gSWYgeW91IGhhdmUgaWRlYXMsIHNlZSBvcHBvcnR1bml0aWVzIHdo ZXJlIEkgbWlnaHQNCj4gYmUgYWJsZSB0byBoZWxwLCBvciBqdXN0IHdhbnQgdG8gY29tcGFyZSBu b3RlcywgSSdkIGxvdmUgdG8gaGVhciBmcm9tIHlvdSENCj4gSSBzdGFydGVkIGF0IENvbWNhc3Qg d2hlbiBjYWJsZSBtb2RlbXMgd2VyZSBzdGlsbCBiZWluZyB0ZXN0ZWQsIGFzIHBhcnQgb2YNCj4g YSBzbWFsbCB0ZWFtIGZpZ3VyaW5nIG91dCB3aGV0aGVyIGJyb2FkYmFuZCBvdmVyIEhGQyBjb3Vs ZCB3b3JrLg0KPiBGb3J0dW5hdGVseSwgaXQgZGlkISBXaGF0IGZvbGxvd2VkIHdhcyB0aGUgY3Jl YXRpb24gb2YgYQ0KPiBtdWx0aWJpbGxpb24tZG9sbGFyIGJ1c2luZXNzICYgYSB0ZWNobm9sb2d5 IHRoYXQgaGVscGVkIGNoYW5nZSB0aGUgd29ybGQuDQo+IEl0IGlzIGh1bWJsaW5nIGluIHJldHJv c3BlY3QgdG8gYmUgYSBwYXJ0IG9mIG1ha2luZyBicm9hZGJhbmQgaGFwcGVuLg0KPiBJIHdhcyBm b3J0dW5hdGUgdG8gYWxzbyBiZSBwYXJ0IG9mIHN0YXJ0aW5nIHR3byBtb3JlIGJpbGxpb24tZG9s bGFyDQo+IGJ1c2luZXNzZXMsIGFzIHdlbGwgYXMgbGF1bmNoaW5nIGNvdW50bGVzcyBwcm9kdWN0 cywgb3BlcmF0aW5nIHBsYXRmb3JtcyBhdA0KPiBoaWdoIHNjYWxlLCBhbmQgZGVwbG95aW5nIG5l dyBzdGFuZGFyZHMgYW5kIHRlY2hub2xvZ2llcyBhdCBzY2FsZS4NCj4gQWxvbmcgdGhlIHdheSwg SSBiZWNhbWUgZGVlcGx5IGludm9sdmVkIGluIHRoZSBicm9hZGVyIEludGVybmV0IGVjb3N5c3Rl bQ0KPiBhbmQgYnJvYWRiYW5kIGluZHVzdHJ5LCB3b3JraW5nIHdpdGggb3JnYW5pemF0aW9ucyBp bmNsdWRpbmcgdGhlIEludGVybmV0DQo+IFNvY2lldHksIElFVEYsIElBQiwgSVJURiwgSUNBTk4s IEZDQyBDU1JJQy9UQUMsIE5BTk9HLCBBVElTLCBCSVRBRywgTUFBV0csDQo+IGFuZCBtYW55IG90 aGVyIGNyaXRpY2FsIG9yZ2FuaXphdGlvbnMuIEl0IHdhcyBhbHNvIHJld2FyZGluZyBhbmQNCj4g aW50ZXJlc3RpbmcgdG8gYmUgYSB0ZWNoIGFkdmlzb3Igb24gcmVndWxhdG9yeSwgbGVnYWwsIGxl Z2lzbGF0aXZlIGFuZA0KPiBhc3NvY2lhdGVkIGdvdmVybmFuY2UgYW5kIHBvbGljeSB3b3JrIG92 ZXIgdGhlIHllYXJzIOKAkyBzdGFydGluZyB3aXRoIG5ldA0KPiBuZXV0cmFsaXR5Lg0KPiBJIGFs c28gaGFkIHRoZSBwbGVhc3VyZSBvZiBjcmVhdGluZyBhbmQgbGVhZGluZyB0aGUgQ29tY2FzdCBJ bm5vdmF0aW9uDQo+IEZ1bmQsIHdoaWNoIGF3YXJkZWQgaHVuZHJlZHMgb2YgZ3JhbnRzIHN1cHBv cnRpbmcgaW1wb3J0YW50IHJlc2VhcmNoIGFuZA0KPiBjcml0aWNhbCBvcGVuLXNvdXJjZSBzb2Z0 d2FyZSBkZXZlbG9wbWVudCB0aGF0IGlzIHBhcnQgb2YgcG93ZXJpbmcgdGhpbmdzDQo+IG9uIHRo ZSBJbnRlcm5ldCBhbmQgd2l0aGluIHRoZSBjb21wYW554oCZcyBuZXR3b3JrLCBzZXJ2aWNlIGlu ZnJhc3RydWN0dXJlDQo+IGFuZCBjdXN0b21lciBlZGdlLg0KPiBCZWluZyByZWNlbnRseSBuYW1l ZCBhIENhYmxlIFRWIFBpb25lZXIgaW4gcmVjb2duaXRpb24gb2YgbXkgY29udHJpYnV0aW9ucw0K PiB0byB0aGUgYnJvYWRiYW5kIGluZHVzdHJ5IHdhcyBwYXJ0aWN1bGFybHkgZ3JhdGlmeWluZyBh bmQgYSBuaWNlIGNhcHN0b25lDQo+IHRvIHRoaXMgY2hhcHRlci4NCj4gQSBmcmllbmQgc3VnZ2Vz dGVkIHRoYXQgY2FyZWVycyBoYXZlIHRocmVlIHBoYXNlczogImxlYXJuLCBlYXJuLCByZXR1cm4u Ig0KPiBQZXJoYXBzIHdoYXRldmVyIGNvbWVzIG5leHQgd2lsbCBpbnZvbHZlIGEgbGl0dGxlIG1v cmUgb2YgdGhhdCBsYXN0IHBoYXNlIOKAkw0KPiBzdWNoIGFzIGNvbnRpbnVpbmcgdG8gY29udHJp YnV0ZSB0byB0aGUgY2F1c2UtYmFzZWQgbm9ucHJvZml0cyBhbmQgaW5kdXN0cnkNCj4gb3JnYW5p emF0aW9ucyB0aGF0IGhhdmUgYmVlbiBzbyBpbXBvcnRhbnQgdG8gdGhlIGdyb3d0aCwgc2VjdXJp dHksIGFuZA0KPiBzdGFiaWxpdHkgb2YgdGhlIEludGVybmV0IGVjb3N5c3RlbSDigJMgb3IgZXZl biBJbnRlcm5ldCBHb3Zlcm5hbmNlLCBwdWJsaWMNCj4gcG9saWN5LCBhbmQgZ292ZXJubWVudC1y ZWxhdGVkIHRoaW5ncyB0aGF0IG1heSBuZWVkIGRvaW5nIGluIHRoZSBjb21pbmcNCj4geWVhcnMg KGVzcGVjaWFsbHkgd2l0aCB0aGUgcmlzZSBvZiBBSSkuIEl04oCZcyBhbHNvIGJlZW4gZnVuIHRv IGhlbHAgc3RhcnQgdXANCj4gY29tcGFuaWVzIGFuZCBJIGhvcGUgdG8gZXhwYW5kIHVwb24gdGhh dC4gSSBndWVzcyB3ZeKAmWxsIHNlZS4NCj4gVG8gZXZlcnlvbmUgSSd2ZSB3b3JrZWQgd2l0aCBv dmVyIHRoZSB5ZWFycywgYm90aCBpbnNpZGUgQ29tY2FzdCBhbmQNCj4gYWNyb3NzIHRoZSBpbmR1 c3RyeTogdGhhbmsgeW91IGZvciBiZWluZyBzdWNoIHRlcnJpZmljIGNvbGxlYWd1ZXMgYW5kDQo+ IGNvbGxhYm9yYXRvcnMuIEkndmUgYmVlbiBpbmNyZWRpYmx5IGZvcnR1bmF0ZSB0byBoYXZlIHdv cmsgdGhhdCBJIGdlbnVpbmVseQ0KPiBlbmpveWVkLCBwYXJ0bmVyaW5nIHdpdGggc28gbWFueSB0 YWxlbnRlZCBwZW9wbGUgYW5kIGhlbHBpbmcgYnVpbGQgYW5kDQo+IGNvbnRpbnVhbGx5IGltcHJv dmUgdGhlIEludGVybmV0IGZvciBtaWxsaW9ucyBvZiBwZW9wbGUgaW4gdGhlIFVTIGFuZA0KPiBh cm91bmQgdGhlIHdvcmxkLg0KPiBJJ20gbG9va2luZyBmb3J3YXJkIHRvIHRha2luZyBzb21lIHRp bWUgaW4gdGhlIGNvbWluZyB3ZWVrcyBhbmQgbW9udGhzIHRvDQo+IGZpZ3VyZSBvdXQgd2hhdCBj b21lcyBuZXh0IQ0KDQoNCkFsbCB0aGUgYmVzdCwNCg0KRnJhbmsNCg0KRnJhbnRpc2VrIChGcmFu aykgQm9yc2lrDQoNCg0KKkluIGxvdmluZyBtZW1vcnkgb2YgRGF2ZSBUw6RodDogKjE5NjUtMjAy NQ0KDQpodHRwczovL2xpYnJlcW9zLmlvLzIwMjUvMDQvMDEvaW4tbG92aW5nLW1lbW9yeS1vZi1k YXZlLw0KDQoNCmh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9pbi9mcmFudGlzZWtib3JzaWsNCg0K U2lnbmFsLCBUZWxlZ3JhbSwgV2hhdHNBcHA6ICs0MjE5MTk0MTY3MTQNCg0KaU1lc3NhZ2UsIG1v YmlsZTogKzQyMDc3NTIzMDg4NQ0KDQpTa3lwZTogY2FzaW9hNTMwMmNhDQoNCmZyYW50aXNlay5i b3JzaWtAZ21haWwuY29tDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXw0KU3RhcmxpbmsgbWFpbGluZyBsaXN0IC0tIHN0YXJsaW5rQGxpc3RzLmJ1ZmZlcmJs b2F0Lm5ldA0KVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBzdGFybGluay1sZWF2ZUBs aXN0cy5idWZmZXJibG9hdC5uZXQNCg==