From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mta-us-west-01.viasat.com (mta-us-west-01.viasat.com [8.37.96.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 0F0933B25E; Tue, 3 May 2016 08:50:29 -0400 (EDT) Received: from pps.filterd (VCASPAM01.hq.corp.viasat.com [127.0.0.1]) by VCASPAM01.hq.corp.viasat.com (8.15.0.59/8.15.0.59) with SMTP id u43CoS4v020530; Tue, 3 May 2016 12:50:28 GMT From: "Agarwal, Anil" To: "Agarwal, Anil" , Dave Taht , Jonathan Morton CC: "make-wifi-fast@lists.bufferbloat.net" , "codel@lists.bufferbloat.net" , ath10k Thread-Topic: [Codel] fq_codel_drop vs a udp flood Thread-Index: AQHRo1tgu0qqu0qq4EqO12VZsMC7VZ+kxGMAgAAFrACAAhpIgIAAMNgAgAASE/CAAAWZMA== Date: Tue, 3 May 2016 12:50:23 +0000 Message-ID: <7A2801D5E40DD64A85E38DF22117852CD09A1873@wdc1exchmbxp01.hq.corp.viasat.com> References: <1462125592.5535.194.camel@edumazet-glaptop3.roam.corp.google.com> <865DA393-262D-40B6-A9D3-1B978CD5F6C6@gmail.com> <7A2801D5E40DD64A85E38DF22117852CD09A181F@wdc1exchmbxp01.hq.corp.viasat.com> In-Reply-To: <7A2801D5E40DD64A85E38DF22117852CD09A181F@wdc1exchmbxp01.hq.corp.viasat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2016-05-03_05:, , signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1603290000 definitions=main-1605030202 Subject: Re: [Codel] fq_codel_drop vs a udp flood X-BeenThere: codel@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: CoDel AQM discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 May 2016 12:50:30 -0000 DQpJIHNob3VsZCBiZSBtb3JlIHByZWNpc2UgYWJvdXQgdGhlIHN0YXRlbWVudCBhYm91dCB0aGUg aW5hY2N1cmFjeSBvZiB0aGUgYWxnb3JpdGhtLg0KR2l2ZW4gdGhhdCB3ZSBkZXF1ZXVlIHBhY2tl dHMgaW4gcm91bmQgcm9iaW4gbWFubmVyLCB0aGUgbWF4cWlkeCB2YWx1ZSBtYXksIG9uIG9jY2Fz aW9ucywgcG9pbnQgdG8gYSBxdWV1ZSANCndoaWNoIGlzIHNtYWxsZXIgdGhhbiB0aGUgbGFyZ2Vz dCBxdWV1ZSBieSB1cCB0byBvbmUgTVRVLg0KDQpBbmlsDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQpGcm9tOiBDb2RlbCBbbWFpbHRvOmNvZGVsLWJvdW5jZXNAbGlzdHMuYnVmZmVyYmxv YXQubmV0XSBPbiBCZWhhbGYgT2YgQWdhcndhbCwgQW5pbA0KU2VudDogVHVlc2RheSwgTWF5IDAz LCAyMDE2IDg6NDAgQU0NClRvOiBEYXZlIFRhaHQ7IEpvbmF0aGFuIE1vcnRvbg0KQ2M6IG1ha2Ut d2lmaS1mYXN0QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldDsgY29kZWxAbGlzdHMuYnVmZmVyYmxvYXQu bmV0OyBhdGgxMGsNClN1YmplY3Q6IFJlOiBbQ29kZWxdIGZxX2NvZGVsX2Ryb3AgdnMgYSB1ZHAg Zmxvb2QNCg0KRGF2ZSBldCBhbCwNCg0KDQoNCkhlcmUgaXMgYW5vdGhlciBwb3NzaWJsZSBhcHBy b2FjaCB0byBpbXByb3ZpbmcgdGhlIGNvZGUgcGVyZm9ybWFuY2Ugd2hlbiBkcm9wcGluZyBwYWNr ZXRzLg0KDQoNCg0KS2VlcCB0cmFjayBvZiB0aGUgcXVldWUgd2l0aCB0aGUgbGFyZ2VzdCBudW1i ZXIgb2YgcGFja2V0cywgYXMgeW91IGdvLCB1c2luZyBhbiBlZmZpY2llbnQgYWxnb3JpdGhtLg0K DQpDb25zZXF1ZW50bHksIGEgc2VhcmNoIGlzIG5vdCByZXF1aXJlZCB3aGVuIHRoZSBvY2Nhc2lv biBhcmlzZXMuIA0KDQpUaGVyZSBpcyBhIHNtYWxsIGFtb3VudCBvZiBvdmVyaGVhZCBmb3IgZXZl cnkgcGFja2V0IGVucXVldWUgYW5kIGRlcXVldWUgb3BlcmF0aW9uLg0KDQpIZXJlIGlzIHNvbWUg cHNldWRvLWNvZGUgLQ0KDQoNCg0KLy8gQ2FsbGVkIGFmdGVyIGVucXVldWluZyBhIHBhY2tldCB3 aXRoIHVwZGF0ZWQgcXVldWUgbGVuZ3RoDQoNCnN0YXRpYyBpbmxpbmUgdm9pZA0KDQptYXhxX3Vw ZGF0ZV9lbnEocSwgaWR4LCBxbGVuKQ0KDQp7DQoNCiAgICBpZiAocWxlbiA+IHEtPm1heHFsZW4p IHsNCg0KICAgICAgICBxLT5tYXhxbGVuID0gcWxlbjsNCg0KICAgICAgICBxLT5tYXhxaWR4ID0g aWR4Ow0KDQogICAgfQ0KDQp9DQoNCg0KDQovLyBDYWxsZWQgYWZ0ZXIgZGVxdWV1aW5nIGEgcGFj a2V0IHdpdGggdXBkYXRlZCBxdWV1ZSBsZW5ndGgNCg0Kc3RhdGljIGlubGluZSB2b2lkDQoNCm1h eHFfdXBkYXRlX2RlcShxLCBpZHgsIHFsZW4pDQoNCnsNCg0KICAgIGlmIChpZHggPT0gcS0+bWF4 cWlkeCkgew0KDQogICAgICAgIHEtPm1heHFsZW4gPSBxbGVuOw0KDQogICAgfQ0KDQp9DQoNCg0K DQovLyBSZXR1cm5zIGlkeCBvZiB0aGUgbGFyZ2VzdCBxdWV1ZQ0KDQpzdGF0aWMgaW5saW5lIGlu dA0KDQptYXhxX2dldF9pZHgocSkNCg0Kew0KDQogICAgcmV0dXJuIChxLT5tYXhxaWR4KTsNCg0K fQ0KDQoNCg0KR2l2ZW4gdGhhdCB3ZSBkZXF1ZXVlIHBhY2tldHMgaW4gcm91bmQgcm9iaW4gbWFu bmVyLCB0aGUgbWF4cWlkeCB2YWx1ZSBtYXkgc29tZXRpbWVzIGJlIHNsaWdodGx5IGluYWNjdXJh dGUsIHBlcmhhcHMgcG9pbnRpbmcgdG8gdGhlIHNlY29uZCBsYXJnZXN0IHF1ZXVlIG9uIG9jY2Fz aW9ucy4NCg0KVGhlIGNvZGUgd2lsbCBzY2FsZSBncmFjZWZ1bGx5IHRvIGhhbmRsZSBsYXJnZXIg bnVtYmVyIG9mIHF1ZXVlcyBhbmQgbXVsdGlwbGUgdW5yZXNwb25zaXZlIGZsb3dzLg0KDQoNCg0K UGxlYXNlIHNlZSBpZiB0aGlzIG1ha2VzIHNlbnNlLiBJIGhhdmUgbm90IGdvbmUgdGhyb3VnaCB0 aGUgZnFfY29kZWwgY29kZSBpbiBkZXRhaWwuDQoNCkkgaGFkIHNlbnQgYSBzaW1pbGFyIHN1Z2dl c3Rpb24gdG8gUm9uZyBQYW4gb2YgdGhlIFBJRSBncm91cCBmZXcgbW9udGhzIGFnbzsgbm90IHN1 cmUgaWYgdGhleSBldmVyIGdvdCB0byBpdC4NCg0KDQoNClJlZ2FyZHMsDQoNCkFuaWwNCg0KDQoN Ci0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQoNCkZyb206IENvZGVsIFttYWlsdG86Y29kZWwt Ym91bmNlc0BsaXN0cy5idWZmZXJibG9hdC5uZXRdIE9uIEJlaGFsZiBPZiBEYXZlIFRhaHQNCg0K U2VudDogVHVlc2RheSwgTWF5IDAzLCAyMDE2IDE6MjIgQU0NCg0KVG86IEpvbmF0aGFuIE1vcnRv bg0KDQpDYzogbWFrZS13aWZpLWZhc3RAbGlzdHMuYnVmZmVyYmxvYXQubmV0OyBjb2RlbEBsaXN0 cy5idWZmZXJibG9hdC5uZXQ7IGF0aDEwaw0KDQpTdWJqZWN0OiBSZTogW0NvZGVsXSBmcV9jb2Rl bF9kcm9wIHZzIGEgdWRwIGZsb29kDQoNCg0KDQpPbiBNb24sIE1heSAyLCAyMDE2IGF0IDc6MjYg UE0sIERhdmUgVGFodCA8ZGF2ZS50YWh0QGdtYWlsLmNvbT4gd3JvdGU6DQoNCj4gT24gU3VuLCBN YXkgMSwgMjAxNiBhdCAxMToyMCBBTSwgSm9uYXRoYW4gTW9ydG9uIDxjaHJvbWF0aXg5OUBnbWFp bC5jb20+IHdyb3RlOg0KDQo+Pg0KDQo+Pj4gT24gMSBNYXksIDIwMTYsIGF0IDIwOjU5LCBFcmlj IER1bWF6ZXQgPGVyaWMuZHVtYXpldEBnbWFpbC5jb20+IHdyb3RlOg0KDQo+Pj4NCg0KPj4+IGZx X2NvZGVsX2Ryb3AoKSBjb3VsZCBkcm9wIF9hbGxfIHBhY2tldHMgb2YgdGhlIGZhdCBmbG93LCBp bnN0ZWFkIG9mIA0KDQo+Pj4gYSBzaW5nbGUgb25lLg0KDQo+Pg0KDQo+PiBVbmZvcnR1bmF0ZWx5 LCB0aGF0IGNvdWxkIGhhdmUgYmFkIGNvbnNlcXVlbmNlcyBpZiB0aGUg4oCcZmF0IGZsb3figJ0g aGFwcGVucyB0byBiZSBhIFRDUCBpbiBzbG93LXN0YXJ0IG9uIGEgbG9uZy1SVFQgcGF0aC4gIFN1 Y2ggYSBmbG93IGlzIHJlc3BvbnNpdmUsIGJ1dCBvbiBhbiBvcmRlci1tYWduaXR1ZGUgbG9uZ2Vy IHRpbWVzY2FsZSB0aGFuIG1heSBoYXZlIGJlZW4gY29uZmlndXJlZCBhcyBvcHRpbXVtLg0KDQo+ Pg0KDQo+PiBUaGUgcmVhbCBwcm9ibGVtIGlzIHRoYXQgZnFfY29kZWxfZHJvcCgpIHBlcmZvcm1z IHRoZSBzYW1lIChleGNlc3NpdmUpIGFtb3VudCBvZiB3b3JrIHRvIGNvcGUgd2l0aCBhIHNpbmds ZSB1bnJlc3BvbnNpdmUgZmxvdyBhcyBpdCB3b3VsZCBmb3IgYSB0cnVlIEREb1MuICBPcHRpbWlz aW5nIHRoZSBzZWFyY2ggZnVuY3Rpb24gaXMgc3VmZmljaWVudC4NCg0KPg0KDQo+IERvbid0IHRo aW5rIHNvLg0KDQo+DQoNCj4gSSBkaWQgc29tZSB0ZXN0cyB0b2RheSwgIChub3QgdGhlIGZxX2Nv ZGVsIGJhdGNoIGRyb3AgcGF0Y2ggeWV0KQ0KDQo+DQoNCj4gV2hlbiBoaXQgd2l0aCBhIDkwMG1i aXQgZmxvb2QsIGNha2Ugc2hhcGluZyBkb3duIHRvIDI1MG1iaXQsIHJlc3VsdHMgDQoNCj4gaW4g bmVhcmx5IDEwMCUgY3B1IHVzZSBpbiB0aGUga3NvZnRpcnExIHRocmVhZCBvbiB0aGUgYXB1Miwg YW5kIA0KDQo+IDE1MG1iaXRzIG9mIGFjdHVhbCB0aHJvdWdocHV0IChhcyBtZWFzdXJlZCBieSBp cGVyZjMsIHdoaWNoIGlzIG5vdyBhIA0KDQo+IG1lYXN1cmVtZW50IEkgZG9uJ3QgdHJ1c3QpDQoN Cj4NCg0KPiBjYWtlICpkb2VzKiBob2xkIHRoZSBwYWNrZXQgY291bnQgZG93biBhIGxvdCBiZXR0 ZXIgdGhhbiBmcV9jb2RlbCBkb2VzLg0KDQo+DQoNCj4gZnFfY29kZWwgKHByZSBlcmljJ3MgcGF0 Y2gpIGJhc2ljYWxseSBnb2VzIHRvIHRoZSBjb25maWd1cmVkIGxpbWl0IGFuZCANCg0KPiBzdGF5 cyB0aGVyZS4NCg0KPg0KDQo+IEluIGJvdGggY2FzZXMgSSB3aWxsIGV2ZW50dWFsbHkgZ2V0IGFu IGVycm9yIGxpa2UgdGhpcyAoaW4gbXkgYmFiZWwgDQoNCj4gcm91dGVkIGVudmlyb25tZW50KSB0 aGF0IHN1Z2dlc3RzIHRoYXQgd2UncmUgYWxzbyBub3QgZGVsaXZlcmluZyANCg0KPiBwYWNrZXRz IGZyb20gb3RoZXIgZmxvd3MgKGFycD8pIHdpdGggZWl0aGVyIGZxX2NvZGVsIG9yIGNha2UgaW4g dGhlc2UgDQoNCj4gZXh0cmVtZSBjb25kaXRpb25zLg0KDQo+DQoNCj4gaXBlcmYzIC1jIDE3Mi4y Ni42NC4yMDAgLXUgLWI5MDBNYml0IC10IDYwMA0KDQo+DQoNCj4gWyAgNF0gIDQ3LjAwLTQ4LjAw ICBzZWMgICAxMDcgTUJ5dGVzICAgODk1IE1iaXRzL3NlYyAgMTM2NTkNCg0KPiBpcGVyZjM6IGVy cm9yIC0gdW5hYmxlIHRvIHdyaXRlIHRvIHN0cmVhbSBzb2NrZXQ6IE5vIHJvdXRlIHRvIGhvc3QN Cg0KPg0KDQo+IC4uLg0KDQo+DQoNCj4gVGhlIHJlc3VsdHMgSSBnZXQgZnJvbSBpcGVyZiBhcmUg YSBiaXQgcHV6emxpbmcgb3ZlciB0aGUgaW50ZXJ2YWwgaXQgDQoNCj4gc2FtcGxlcyBhdCAtIHRo aXMgaXMgZnJvbSBhIDEwME1iaXQgdGVzdCAoZG93bnNoaWZ0aW5nIGZyb20gOTAwbWJpdCkNCg0K Pg0KDQo+IFsgMTVdICAyNS4wMC0yNi4wMCAgc2VjICAgMTUyIEtCeXRlcyAgMS4yNSBNYml0cy9z ZWMgIDAuOTk4IG1zDQoNCj4gMjk2NzMvMjk2OTIgKDFlKzAyJSkNCg0KPiBbIDE1XSAgMjYuMDAt MjcuMDAgIHNlYyAgIDIzMiBLQnl0ZXMgIDEuOTAgTWJpdHMvc2VjICAxLjIwNyBtcw0KDQo+IDEw MjM1LzEwMjY0ICgxZSswMiUpDQoNCj4gWyAxNV0gIDI3LjAwLTI4LjAwICBzZWMgIDcyLjAgS0J5 dGVzICAgNTkwIEtiaXRzL3NlYyAgMS4wOTggbXMNCg0KPiAxOTAzNS8xOTA0NCAoMWUrMDIlKQ0K DQo+IFsgMTVdICAyOC4wMC0yOS4wMCAgc2VjICAwLjAwIEJ5dGVzICAwLjAwIGJpdHMvc2VjICAx LjA5OCBtcyAgMC8wICgtbmFuJSkNCg0KPiBbIDE1XSAgMjkuMDAtMzAuMDAgIHNlYyAgNzIuMCBL Qnl0ZXMgICA1OTAgS2JpdHMvc2VjICAxLjA0NCBtcw0KDQo+IDIyNDY4LzIyNDc3ICgxZSswMiUp DQoNCj4gWyAxNV0gIDMwLjAwLTMxLjAwICBzZWMgIDY0LjAgS0J5dGVzICAgNTI0IEtiaXRzL3Nl YyAgMS4wNjAgbXMNCg0KPiAxMzA3OC8xMzA4NiAoMWUrMDIlKQ0KDQo+IFsgMTVdICAzMS4wMC0z Mi4wMCAgc2VjICAwLjAwIEJ5dGVzICAwLjAwIGJpdHMvc2VjICAxLjA2MCBtcyAgMC8wICgtbmFu JSkNCg0KPiBeQ1sgMTVdICAzMi4wMC0zMi42NiAgc2VjICA2NC4wIEtCeXRlcyAgIDc5NyBLYml0 cy9zZWMgIDEuMDUwIG1zDQoNCj4gMjU0MjAvMjU0MjggKDFlKzAyJSkNCg0KDQoNCk9LLCB0aGUg YWJvdmUgd2VpcmRuZXNzIGluIGNhbGN1bGF0aW5nIGEgInJhdGUiIGlzIGR1ZSB0byBtZSBzZW5k aW5nIDhrIGZyYWdtZW50ZWQgcGFja2V0cy4NCg0KDQoNCi1sMTQ3MCBmaXhlZCB0aGF0Lg0KDQoN Cg0KPiBOb3QgdGhhdCBJIGNhcmUgYWxsIHRoYXQgbXVjaCBhYm91dCBob3cgaXBlcmYgaXMgaW50 ZXByZXRpbmcgaXQncyBkcm9wDQoNCg0KDQoNCg0KPiByYXRlIChJIGd1ZXNzIHB1bGxpbmcgYXBh cnQgdGhlIGFjdHVhbCBjYXBzIGlzIGluIG9yZGVyKS4NCg0KPg0KDQo+IEFzIGZvciBjYWtlIHN0 cnVnZ2xpbmcgdG8gY29wZToNCg0KPg0KDQo+IHJvb3RAYXB1MjovaG9tZS9kL2dpdC90Yy1hZHYv dGMjIC4vdGMgLXMgcWRpc2Mgc2hvdyBkZXYgZW5wMnMwDQoNCj4NCg0KPiBxZGlzYyBjYWtlIDgw MTg6IHJvb3QgcmVmY250IDkgYmFuZHdpZHRoIDEwME1iaXQgZGlmZnNlcnY0IGZsb3dzIHJ0dCAN Cg0KPiAxMDAuMG1zIHJhdyAgU2VudCAyMTk3MzY4MTggYnl0ZXMgMTU3MTIxIHBrdCAoZHJvcHBl ZCA5ODkyODksIA0KDQo+IG92ZXJsaW1pdHMgMTE1MjI3MiByZXF1ZXVlcyAwKSAgYmFja2xvZyA0 NDk2NDZiIDMxOXAgcmVxdWV1ZXMgMCAgDQoNCj4gbWVtb3J5IHVzZWQ6IDI2NTg0MzJiIG9mIDUw MDAwMDBiICBjYXBhY2l0eSBlc3RpbWF0ZTogMTAwTWJpdA0KDQo+ICAgICAgICAgICAgICBCdWxr ICAgIEJlc3QgRWZmb3J0ICAgICBWaWRlbyAgICAgICBWb2ljZQ0KDQo+ICAgdGhyZXNoICAgICAg IDEwME1iaXQgICA5Mzc1MEtiaXQgICAgICA3NU1iaXQgICAgICAyNU1iaXQNCg0KPiAgIHRhcmdl dCAgICAgICAgIDUuMG1zICAgICAgIDUuMG1zICAgICAgIDUuMG1zICAgICAgIDUuMG1zDQoNCj4g ICBpbnRlcnZhbCAgICAgMTAwLjBtcyAgICAgMTAwLjBtcyAgICAgMTAwLjBtcyAgICAgMTAwLjBt cw0KDQo+ICAgcGtfZGVsYXkgICAgICAgICAwdXMgICAgICAgNS4ybXMgICAgICAgIDkydXMgICAg ICAgIDQ4dXMNCg0KPiAgIGF2X2RlbGF5ICAgICAgICAgMHVzICAgICAgIDUuMW1zICAgICAgICAg NHVzICAgICAgICAgMnVzDQoNCj4gICBzcF9kZWxheSAgICAgICAgIDB1cyAgICAgICA1LjBtcyAg ICAgICAgIDR1cyAgICAgICAgIDJ1cw0KDQo+ICAgcGt0cyAgICAgICAgICAgICAgIDAgICAgIDEx NDY2NDkgICAgICAgICAgMzEgICAgICAgICAgNDkNCg0KPiAgIGJ5dGVzICAgICAgICAgICAgICAw ICAxNjA3MDA0MDUzICAgICAgICAyMjU4ICAgICAgICA4Nzc5DQoNCj4gICB3YXlfaW5kcyAgICAg ICAgICAgMCAgICAgICAgICAgMCAgICAgICAgICAgMCAgICAgICAgICAgMA0KDQo+ICAgd2F5X21p c3MgICAgICAgICAgIDAgICAgICAgICAgMTUgICAgICAgICAgIDIgICAgICAgICAgIDENCg0KPiAg IHdheV9jb2xzICAgICAgICAgICAwICAgICAgICAgICAwICAgICAgICAgICAwICAgICAgICAgICAw DQoNCj4gICBkcm9wcyAgICAgICAgICAgICAgMCAgICAgIDk4OTI4OSAgICAgICAgICAgMCAgICAg ICAgICAgMA0KDQo+ICAgbWFya3MgICAgICAgICAgICAgIDAgICAgICAgICAgIDAgICAgICAgICAg IDAgICAgICAgICAgIDANCg0KPiAgIHNwX2Zsb3dzICAgICAgICAgICAwICAgICAgICAgICAwICAg ICAgICAgICAwICAgICAgICAgICAwDQoNCj4gICBia19mbG93cyAgICAgICAgICAgMCAgICAgICAg ICAgMSAgICAgICAgICAgMCAgICAgICAgICAgMA0KDQo+ICAgbGFzdF9sZW4gICAgICAgICAgIDAg ICAgICAgIDE1MTQgICAgICAgICAgNjYgICAgICAgICAxMzgNCg0KPiAgIG1heF9sZW4gICAgICAg ICAgICAwICAgICAgICAxNTE0ICAgICAgICAgMTEwICAgICAgICAgNDg3DQoNCj4NCg0KPiAuLi4N Cg0KPg0KDQo+IEJ1dCBJIGFtIHZlcnkgcHV6emxlZCBhcyB0byB3aHkgZmxvdyBpc29sYXRpb24g d291bGQgZmFpbCBpbiB0aGUgZmFjZSANCg0KPiBvZiB0aGlzIG92ZXJsb2FkLg0KDQoNCg0KQW5k IHRvIHNpbXBsaWZ5IG1hdHRlcnMgSSBnb3QgcmlkIG9mIHRoZSBhZHZhbmNlZCBxZGlzY3MgZW50 aXJlbHksIHN3aXRjaGVkIGJhY2sgdG8gaHRiK3BmaWZvIGFuZCBnZXQgdGhlIHNhbWUgdWx0aW1h dGUgcmVzdWx0IG9mIHRoZSB0ZXN0IGFib3J0aW5nLi4uDQoNCg0KDQpKb3kuDQoNCg0KDQpPSywN Cg0KDQoNCmV0aHRvb2wgLXMgZW5wMnMwIGFkdmVydGlzZSAweDAwOCAjIDEwMG1iaXQNCg0KDQoN CkZlZWRpbmcgcGFja2V0cyBpbiBhdCA5MDBtYml0IGludG8gYSAxMDAwIHBhY2tldCBmaWZvIHF1 ZXVlIGF0IDEwME1iaXQgaXMgcHJlZGljdGFibHkgaG9ycmlmZmljLi4uIG90aGVyIGZsb3dzIGdl dCBzdGFydmVkIGVudGlyZWx5LCB5b3UgY2FuJ3QgZXZlbiB0eXBlIG9uIHRoZSB0aGluZywgYW5k IHN0aWxsIGV2ZW50dWFsbHkNCg0KDQoNClsgMjhdICAyOC4wMC0yOS4wMCAgc2VjICAxMS40IE1C eXRlcyAgOTUuNyBNYml0cy9zZWMgIDAuMTIwIG1zDQoNCjcyNTk4LzgwNzI2ICg5MCUpDQoNClsg MjhdICAyOS4wMC0zMC4wMCAgc2VjICAxMS40IE1CeXRlcyAgOTUuNyBNYml0cy9zZWMgIDAuMTE5 IG1zDQoNCjQ2MTg3LzU0MzE0ICg4NSUpDQoNClsgMjhdIDE4OS4wMC0xOTAuMDAgc2VjICA4Ljcz IE1CeXRlcyAgNzMuMiBNYml0cy9zZWMgIDAuMTYyIG1zDQoNCjU1Mjc2LzYxNDkzICg5MCUpDQoN ClsgMjhdIDE5MC4wMC0xOTEuMDAgc2VjICAwLjAwIEJ5dGVzICAwLjAwIGJpdHMvc2VjICAwLjE2 MiBtcyAgMC8wICgtbmFuJSkNCg0KDQoNCnZzOg0KDQoNCg0KWyAgNF0gMTg4LjAwLTE4OS4wMCBz ZWMgICAxMDUgTUJ5dGVzICAgODc5IE1iaXRzL3NlYyAgNzQ2MTQNCg0KaXBlcmYzOiBlcnJvciAt IHVuYWJsZSB0byB3cml0ZSB0byBzdHJlYW0gc29ja2V0OiBObyByb3V0ZSB0byBob3N0DQoNCg0K DQpZZWEhICBNb3JlIHBlb3BsZSBzaG91bGQgZG8gdGhhdCB0byB0aGVtc2VsdmVzLiBTeXN0ZW0g aXMgYmxvb2R5IHVzZWxlc3Mgd2l0aCBhIDEwMDAgcGFja2V0IGZ1bGwgcXVldWUgIGFuZCB3YXkg bW9yZSB1c2VmdWwgd2l0aCBmcV9jb2RlbCBpbiB0aGlzIHNjZW5hcmlvLi4uDQoNCg0KDQpidXQg c3RpbGwgdGhpcyBwaW5nIHNob3VsZCBiZSBzdXJ2aXZpbmcgd2l0aCBmcV9jb2RlbCBnb2luZyBh bmQgb25lIGZ1bGwgcmF0ZSB1ZHAgZmxvb2QsIGlmIGl0IHdhc24ndCBmb3IgYWxsIHRoZSBjcHUg YmVpbmcgdXNlZCB1cCB0aHJvd2luZyBhd2F5IHBhY2tldHMuIEkgdGhpbmsuDQoNCg0KDQo2NCBi eXRlcyBmcm9tIDE3Mi4yNi42NC4yMDA6IGljbXBfc2VxPTUwIHR0bD02MyB0aW1lPTYuOTIgbXMN Cg0KNjQgYnl0ZXMgZnJvbSAxNzIuMjYuNjQuMjAwOiBpY21wX3NlcT01MiB0dGw9NjMgdGltZT03 LjE1IG1zDQoNCjY0IGJ5dGVzIGZyb20gMTcyLjI2LjY0LjIwMDogaWNtcF9zZXE9NTMgdHRsPTYz IHRpbWU9Ny4xMSBtcw0KDQo2NCBieXRlcyBmcm9tIDE3Mi4yNi42NC4yMDA6IGljbXBfc2VxPTU1 IHR0bD02MyB0aW1lPTYuNjggbXMNCg0KcGluZzogc2VuZG1zZzogTm8gcm91dGUgdG8gaG9zdA0K DQpwaW5nOiBzZW5kbXNnOiBObyByb3V0ZSB0byBob3N0DQoNCnBpbmc6IHNlbmRtc2c6IE5vIHJv dXRlIHRvIGhvc3QNCg0KDQoNCi4uLg0KDQoNCg0KT0ssIHRvbW9ycm93LCBlcmljJ3MgbmV3IHBh dGNoISBBIG5ldywgYnJpZ2h0ZXIgZGF5IG5vdyB0aGF0IEkndmUgYnVybmVkIHRoaXMgb25lIG1l bHRpbmcgMyBib3hlcyBpbnRvIHRoZSBncm91bmQuIGFuZCBwZXJmLg0KDQoNCg0KDQoNCg0KDQoN Cg0KLS0NCg0KRGF2ZSBUw6RodA0KDQpMZXQncyBnbyBtYWtlIGhvbWUgcm91dGVycyBhbmQgd2lm aSBmYXN0ZXIhIFdpdGggYmV0dGVyIHNvZnR3YXJlIQ0KDQpodHRwczovL3VybGRlZmVuc2UucHJv b2Zwb2ludC5jb20vdjIvdXJsP3U9aHR0cC0zQV9fYmxvZy5jZXJvd3J0Lm9yZyZkPUN3SUdhUSZj PWpjdjNvcnBDc3Y3QzRseTgtdWJEb2I1N3ljWjRqdmhvWVpOREJBMDZmUGsmcj1GeXZha2xLWXJI YVNDUGpiQlRkdmlXSVc5dVNibnhkTlNoZVNHejFKdnE0Jm09V0E3TThremZXdFBjMUJveXNPS3hj VU8xZnNtOWJRbHVfUzNWb2t5M0hpMCZzPXhzTmpaTlBmejRXbWZKWjRzUDdqTVRWSmUxNDBSZ05j emN3ajZnNXJVMWcmZT0NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18NCg0KQ29kZWwgbWFpbGluZyBsaXN0DQoNCkNvZGVsQGxpc3RzLmJ1ZmZlcmJsb2F0 Lm5ldA0KDQpodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9aHR0cHMt M0FfX2xpc3RzLmJ1ZmZlcmJsb2F0Lm5ldF9saXN0aW5mb19jb2RlbCZkPUN3SUdhUSZjPWpjdjNv cnBDc3Y3QzRseTgtdWJEb2I1N3ljWjRqdmhvWVpOREJBMDZmUGsmcj1GeXZha2xLWXJIYVNDUGpi QlRkdmlXSVc5dVNibnhkTlNoZVNHejFKdnE0Jm09V0E3TThremZXdFBjMUJveXNPS3hjVU8xZnNt OWJRbHVfUzNWb2t5M0hpMCZzPU5UVE43X242UFl3b0g2LXRsUE5XUTJxcFlQQ3NGWWlXOFZXbTNJ aDF1NWcmZT0gDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fDQpDb2RlbCBtYWlsaW5nIGxpc3QNCkNvZGVsQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldA0KaHR0 cHM6Ly91cmxkZWZlbnNlLnByb29mcG9pbnQuY29tL3YyL3VybD91PWh0dHBzLTNBX19saXN0cy5i dWZmZXJibG9hdC5uZXRfbGlzdGluZm9fY29kZWwmZD1Dd0lHYVEmYz1qY3Yzb3JwQ3N2N0M0bHk4 LXViRG9iNTd5Y1o0anZob1laTkRCQTA2ZlBrJnI9Rnl2YWtsS1lySGFTQ1BqYkJUZHZpV0lXOXVT Ym54ZE5TaGVTR3oxSnZxNCZtPXNoOTRWcGpSLV9OMmpBSEhxUWJuaWs4OWlDaUZ3OEN2MEJ5cmZ5 d1FZVG8mcz1vV19rdmdEdzl4LWZ0Z0Ywb3pFLUpxaVJ1QW04YmxtNy0yMlR1Vk1heDJZJmU9IA0K