From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from alln-iport-5.cisco.com (alln-iport-5.cisco.com [173.37.142.92]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "alln-iport.cisco.com", Issuer "HydrantID SSL ICA G2" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 8E6BD21F287 for ; Tue, 23 Jun 2015 05:54:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=18692; q=dns/txt; s=iport; t=1435064090; x=1436273690; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=r7OgmMmOT3QGYnOeW1Q30SnwSYG9ocKXu2NB+XkMEuc=; b=DtHMBw9QSQgIoDTQf+QykJTW4mgA356vHrKBv5+1c0D3VJQpY+rKAukn Frph2IXanjZ9rzCanVmxSLlWlXH5q0LEJykqNyiWC1HAj4YDttXf8F1Nc HeCd7b6W9BLPBVc+GIf035F8n1Ys3A36/wD/hzXkVFdUWIwMG8XrjhT8l Y=; X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AYAQAGVolV/4wNJK1bgxBUXwaDGLpPcQVmDIJCgzQCHIEwOhIBAQEBAQEBgQqEIgEBAQMBAQEBIBE2BAsFBwQCAQgRAwEBAQECAgYPAgwDAgICHwYBChQBCAgCBAENBQiIEgMKCA21bpBRDYVtAQEBAQEBAQEBAQEBAQEBAQEBAQEBF4EhiSeBAoE9gRCBVgoBBgEgMQcGIQKCPy+BFAWFWoEpjHwBg3hfgleBWWiSfocYJoIMHIFSb2YdAQEHFyOBAgEBAQ X-IronPort-AV: E=Sophos;i="5.13,665,1427760000"; d="scan'208";a="162063480" Received: from alln-core-7.cisco.com ([173.36.13.140]) by alln-iport-5.cisco.com with ESMTP; 23 Jun 2015 12:54:20 +0000 Received: from xhc-aln-x05.cisco.com (xhc-aln-x05.cisco.com [173.36.12.79]) by alln-core-7.cisco.com (8.14.5/8.14.5) with ESMTP id t5NCsKaN007853 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Tue, 23 Jun 2015 12:54:20 GMT Received: from xmb-aln-x05.cisco.com ([169.254.11.76]) by xhc-aln-x05.cisco.com ([173.36.12.79]) with mapi id 14.03.0195.001; Tue, 23 Jun 2015 07:54:20 -0500 From: "Bill Ver Steeg (versteb)" To: Dave Taht , Mikael Abrahamsson Thread-Topic: [Bloat] Fwd: performance testing on the WRT1200AC Thread-Index: AQHQpskYfGoWDyhGw0u7SaAs9xT3Ip2suyKAgAAJBwCADGePsA== Date: Tue, 23 Jun 2015 12:54:19 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.61.196.232] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Cc: bloat Subject: Re: [Bloat] Fwd: performance testing on the WRT1200AC X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Jun 2015 12:54:50 -0000 UmVnYXJkaW5nIGdldHRpbmcgQVFNIGludG8gZmFzdC1wYXRoIG9uIGVkZ2Ugcm91dGVyIHNpbGlj b24gLSBJZiB0aGVyZSBhcmUgYW55IGNoaXBzZXQgdmVuZG9ycyBtb25pdG9yaW5nIHRoaXMgbGlz dCwgZHJvcCBtZSBhIG5vdGUgYW5kIEkgY2FuIGhlbHAgZ2V0IHlvdSB1cCB0byBzcGVlZCBvbiB0 aGUgdmFyaW91cyBhbGdvcml0aG1zLiBGb3Igc2V2ZXJhbCBvZiBvdXIgbG93ZXIgZW5kIHByb2R1 Y3RzLCB3ZSBhcmUgZGVwZW5kZW50IG9uIHRoZSBkcml2ZXJzIC8gZmFzdCBwYXRoIHByb3ZpZGVk IGJ5IHRoZSB2YXJpb3VzIG1lcmNoYW50IHNpbGljb24gdmVuZG9ycy4uLi4uLiBJIGhhdmUgcmVh Y2hlZCBvdXQgdGhyb3VnaCBvdXIgbm9ybWFsIGNoYW5uZWxzLCBidXQgaGF2ZSBub3QgYmVlbiBh YmxlIHRvIGNsb3NlIHRoZSBsb29wIHlldC4NCg0KDQpCaWxsIFZlclN0ZWVnDQood2VhcmluZyBt eSBDaXNjbyBwcm9kdWN0IGVuZ2luZWVyaW5nIGhhdCwgYXMgb3Bwb3NlZCB0byB0aGUgb3RoZXIg aGF0cyBJIG9jY2FzaW9uYWxseSB3ZWFyKQ0KIA0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KRnJvbTogYmxvYXQtYm91bmNlc0BsaXN0cy5idWZmZXJibG9hdC5uZXQgW21haWx0bzpibG9h dC1ib3VuY2VzQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldF0gT24gQmVoYWxmIE9mIERhdmUgVGFodA0K U2VudDogU3VuZGF5LCBKdW5lIDE0LCAyMDE1IDk6MTYgUE0NClRvOiBNaWthZWwgQWJyYWhhbXNz b24NCkNjOiBibG9hdA0KU3ViamVjdDogUmU6IFtCbG9hdF0gRndkOiBwZXJmb3JtYW5jZSB0ZXN0 aW5nIG9uIHRoZSBXUlQxMjAwQUMNCg0KT24gU3VuLCBKdW4gMTQsIDIwMTUgYXQgMTI6NDMgUE0s IE1pa2FlbCBBYnJhaGFtc3NvbiA8c3dtaWtlQHN3bS5wcC5zZT4gd3JvdGU6DQo+DQo+IEhpLA0K Pg0KPiBTb21lIGJhY2tncm91bmQ6DQo+DQo+IFRoZSBXUlQxOTAwQUN2MSAod2hpY2ggaGFzIGJl ZW4gc2hpcHBpbmcgZm9yIDYgbW9udGhzIG9yIHNvKSBpcyBiYXNlZCANCj4gb24gTWFydmVsbCBB cm1hZGEgWFAsIHdoaWNoIHVzZXMgYSBwYWNrZXQgcHJvY2Vzc29yLiBUaGVyZSBpcyBubyANCj4g c3VwcG9ydCBmb3IgdGhpcyBpbiB0aGUgZ2VuZXJpYyBMaW51eCBrZXJuZWwsIHdoaWNoIG1lYW5z IHBlcmZvcm1hbmNlIA0KPiBpcyBhIGxvdCBsb3dlciB3aXRoIHRoZSBnZW5lcmljIGtlcm5lbCBj b21wYXJlZCB0byB0aGUgInNwZWNpYWwiIA0KPiBrZXJuZWwgd2hpY2ggaGFzIHBhdGNoZXMgYW5k IHdoZXJlIHlvdSB1c2UgdGhlIE1hcnZlbGwgU0RLIHRvIGNvbXBpbGUgDQo+IGl0IHRvIHN1cHBv cnQgdGhlIHBhY2tldCBwcm9jZXNzb3IuIFdpdGggdGhlIGdlbmVyaWMga2VybmVsLCB5b3UgZ2V0 IA0KPiBDUFUgb25seSBiYXNlZCBmb3J3YXJkaW5nIHdoaWNoIGlzIGFyb3VuZCAzMDAtNTAwIG1l Z2FiaXQvcyBvZiBUQ1AuDQo+DQo+IE5vdywgd2l0aCBXUlQxMjAwQUMgYW5kIFdSVDE5MDBBQ3Yy IHdoaWNoIHdhcyByZWxlYXNlZCBpbiB0aGUgbGFzdCBmZXcgDQo+IHdlZWtzIG9yIHNvIGFuZCBq dXN0IG5vdyBiZWNvbWluZyBtb3JlIHdpZGVseSBhdmFpbGFibGUsIHRoZXkndmUgDQo+IGNoYW5n ZWQgdG8gTWFydmVsbCBBcm1hZGEgMzg1IHdoaWNoIGlzIHRoZSBiZWVmaWVzdCBwYWNrZXQgZm9y d2FyZGluZyANCj4gZ2VuZXJpYyBDUFUgSSBoYXZlIGV2ZXIgaGVhcmQgb2Ygb3IgZW5jb3VudGVy ZWQgaW4gYSAiaG9tZSBnYXRld2F5IiANCj4ga2luZCBvZiBwYWNrYWdlLiBJIGhhdmUgYW4gV1JU MTIwMEFDIGZvciB0ZXN0aW5nIEkgcmVjZWl2ZWQgdGhpcyB3ZWVrLCANCj4gYW5kIHNvIGZhciBJ IGhhdmUgYmVlbiBhYmxlIHRvIHZlcmlmeSB0aGF0IGl0IGRvZXMgOTQwIG1lZ2FiaXQvcyBvZiAN Cj4gVENQIChpcGVyZikgd2l0aCB0aGUgZ2VuZXJpYyBrZXJuZWwgc2hpcHBlZCB3aXRoIE9wZW5X UlQgQ0Mgd2l0aCB0aGUgDQo+IGJlbG93IGRlZmF1bHQgcWRpc2MuIEl0IHNlZW1zIHRvIGRvIHRo aXMgdXNpbmcgYXBwcm94aW1hdGVseSAyNSUgQ1BVLg0KPg0KPiBTbyB3aGF0IEkgd291bGQgbGlr ZSB0byBkbyBub3cgaXMgdHJ5IHRvIHB1c2ggaXQgYSBsaXR0bGUgYml0IGhhcmRlciwgDQo+IHNv IGlmIHNvbWVvbmUgY291bGQgZ2l2ZSBtZSBhbiBleGFtcGxlIG9mIGEgbW9yZSBwdW5pc2hpbmcg cWRpc2Mgc2V0dXAgDQo+IGFuZCB0ZXN0IHRvIHJ1biB0aHJvdWdoIGl0LCB0aGF0IHdvdWxkIGJl IHZlcnkgaW50ZXJlc3RpbmcuDQo+DQo+IEJ1dCBzbyBmYXIsIHRoZSBBcm1hZGEgMzg1IGNoaXBz ZXQgKGFuZCBJIGhvcGUgd2UnbGwgc2VlIG1vcmUgZGV2aWNlcyANCj4gYmFzZWQgb24gaXQpIHNl ZW1zIHRvIGJlIGEgcGVyZmVjdCBwbGF0Zm9ybSBmb3IgYnVmZmVyYmxvYWQgdGVzdGluZyANCj4g YW5kIGRldmVsb3BtZW50LiBZZXMsIGl0J3MgYSBsb3QgcHJpY2llciB0aGFuIHRoZSBXTkRSMzgw MCB0aGF0IGZvciANCj4gaW5zdGFuY2UgQ2Vyb1dSVCB1c2VzLCBidXQgb24gdGhlIG90aGVyIGhh bmQsIGl0IHNlZW1zIHRvIGhhdmUgMTB4IHRoZSANCj4gcGVyZm9ybWFuY2Ugb2YgdGhhdCBib3gs IGFuZCBldmVyeXRoaW5nIHNlZW1zIHRvIHdvcmsgcmlnaHQgb3V0IG9mIHRoZSANCj4gYm94IHdp dGhvdXQgYW55IHNwZWNpYWwgcGF0Y2hlcy4NCg0KVGhlIHByaWNlcG9pbnQgaXMganVzdCBmaW5l ICgxNTAgZG9sbGFycykuIFRoZSBjaGlwc2V0IGxvb2tzIGV4Y2VsbGVudC4NCg0KSG93ZXZlciwg dGhpcyB0aW1lIGFyb3VuZCwgSSB3b3VsZCBsaWtlIHRvIGhhdmUgZXhwbGljaXQgc3VwcG9ydCAo Ym90aCBmaW5hbmNpYWwgYW5kIHBoeXNpY2FsKSBmcm9tIHNvbWV3aGVyZShzKSwgaW5jbHVkaW5n IHRoZSBTb0MgbWFrZXIgYW5kIHZlbmRvciwgdG8gZ28gcHVzaCB0aGUgc3RhdGUgb2YgdGhlIGFy dCBmb3J3YXJkIGFnYWluLg0KDQpEbyB5b3UgaGF2ZSBhbnkgY29udGFjdHMgYXQgbWFydmVsbD8N Cg0KV2l0aCBDZXJvV3J0LCB3ZSBzaG9vayB1cCB0aGUgaW5kdXN0cnkuIFdlIHNob3VsZCBhbGwg YmUgcHJvdWQgb2YgdGhhdCENCg0KQnV0Li4uIHNoaXBwaW5nIGFuIE9TIGZvciBvbmx5IG9uZSBi b3ggLSB0aGF0IG5vdCBvbmx5IHB1c2hlcyB0aGUgc3RhdGUgb2YgdGhlIGFydCBmb3J3YXJkLCBi dXQgaXMgcmVsaWFibGUsIHNlY3VyZSwgYW5kIHN0YWJsZSBlbm91Z2ggZm9yIGRheSB0byBkYXkg dXNlIGlzICpoYXJkKi4NCg0KLSBhbmQgaXQgY2FtZSBhdCBhIHRlcnJpYmxlIGNvc3QgdG8gbWUg YW5kIHNldmVyYWwgb3RoZXJzIGhlcmUuDQpLYXJtaWNhbGx5LCBJJ20gcHJldHR5IGhhcHB5LCB0 aG8uDQoNCkkgY291bGQgYmUgMTAlIGJlaGluZCBzb21lb25lIGVsc2UgdG8gZG8gYW5vdGhlciBj ZXJvd3J0LWlzaCB0aGluZyBvbiB0aGVpciBvd24gdGltZSBhbmQgYnVkZ2V0Lg0KDQpJZiBJIGNv dWxkIGhhbmQgb2ZmIG1vc3Qgb2YgdGhlIHRoaW5ncyB0aGF0IGNvc3QgbWUgdGhlIG1vc3QgaGFp ciAoY2hhc2luZyBkb3duIGJ1Z3MsIGRvaW5nIGJ1aWxkcywgcWEtaW5nIGJ1aWxkcywgZmxhc2hp bmcgcm91dGVycywgdXBkYXRpbmcgdGVzdGJlZHMsIHJ1bm5pbmcgdGhlIGJ1aWxkIGNsdXN0ZXIs IHN5c2FkbWluaW5nIHRoZSBzaXRlLCBjb21pbmcgdXAgd2l0aCB0ZXN0cywgZ2l2aW5nIHRhbGtz KSwgaW4gZmF2b3Igb2Ygc3RheWluZyBtb3JlIGhpZ2ggbGV2ZWwsIGFuZCBkb2luZyBtb3JlIGFu YWx5dGljcyBhbmQgcmVzZWFyY2guLi4gSSdkIGJlIHVwIGZvciAiQ2Vyb1dydCB2My4uLiB0aGUg TmV4dCBHZW5lcmF0aW9uLi4uIFJlZmVyZW5jZSBSb3V0ZXIgRGlzdHJvIi4gSSBhbSBzYWQgd2Ug aGF2ZSBzcGVudCBzbyBtdWNoIHRpbWUgbWFraW5nIHNvZnR3YXJlIHJhdGUgbGltaXRpbmcgd29y ayBiZXR0ZXIsIHdoZW4gdGhlIGNvcmUgYWxnb3JpdGhtcyAocGllLCBjb2RlbCkgd2VyZSBkZXNp Z25lZCBmb3IgdmFyaWFibGUgcmF0ZSBlbnZpcm9ubWVudHMsIGFuZCBtaWxsaW9ucyAocG9vcmx5 IGltcGxlbWVudGVkKSB3aWZpIHN0YWNrIGJhc2VkIGRldmljZXMgc2hpcCBldmVyeSBkYXkgLSBh bmQgYXJlIHN0aWxsIG5vdCBxdWl0ZSBlbm91Z2ggZm9yIHdoYXQgaXMgcmVhbGx5IG5lZWRlZC4N Cg0KU28uLi4NCg0KUmlnaHQgbm93IHRoZSBtZWFuZGVyaW5nIGNvdXJzZSBpcyB0byBqdXN0IGNv bnRyaWJ1dGUgaW5jcmVtZW50YWwgaW1wcm92ZW1lbnRzIGJhY2sgdG8gdGhlIGxpbnV4IGFuZCBv cGVud3J0IG1haW5saW5lcywgY29udGludWUgc3RhbmRhcmRpemF0aW9uIGVmZm9ydHMgYW5kIGRl dmVsb3AgYmV0dGVyIHRlc3RzLCB0b3dhcmRzIGEgYmV0dGVyIG5ldHdvcmsgZW5kIGdvYWwuLi4N Cg0KLi4ud2l0aCB0aGUgZmFyIG1vcmUgYnJvYWRseSBzY29wZWQgbWFrZS13aWZpLWZhc3QgcHJv amVjdCBjb25jZXB0IG5vdyBtYWtpbmcgaXQncyByb3VuZHMgdGhyb3VnaCB2YXJpb3VzIHBvc3Np YmxlIGZ1bmRpbmcgYWdlbmNpZXMuDQoNCkxpbWl0ZWQsIGJ1dCBicm9hZCBnb2FscyBvbiB3aGF0 IGJ1ZGdldCBJIGhhdmUgbGV0IG1lIHNsZWVwIGJldHRlcjoNCg0KRXhhbXBsZTogSSBob3BlIHRo YXQgd2UgZ2V0IGNha2UgYnVpbGRpbmcgc29vbiBmb3IgYWxsIG9mIG9wZW53cnQgYW5kIHRoZW4g aGF2aW5nIHknYWxsIHRlc3QgaXQgb24gdGhpcyBwbGF0Zm9ybSwgYW5kIGFsbCB0aGUgb3RoZXJz LiBCZWluZyBhYmxlIHRvIHByb2ZpbGUgaXQgd291bGQgYmUgbmljZSB0b28uIEkgYW0gcHJldHR5 IHN1cmUgd2UgY2FuIHRha2UgYmV0dGVyIGFkdmFudGFnZSBvZiBtdWx0aWNvcmUuIEpvbmF0aG9u IGlzIGZ1bmRlZCBmb3IgY2FrZSBmb3IgYSB3aGlsZSBsb25nZXIuIE15IHdvcmsgdG8gZ2V0IGl0 IGludG8gb3BlbndydCwgYW5kIHRoZSB0ZXN0aW5nIEkndmUgZG9uZSwgaXMgbm90Lg0KDQpJdCB3 b3VsZCBiZSBuaWNlIHRvIGZpbmQgc29tZW9uZSB0byBzaW5rIGEgd2VlayBpbnRvIGFkZGluZyBC UUwgdG8gdGhlIG12bmV0YSBkcml2ZXIsIGFuZCBwcm9maWxpbmcgaXQuDQoNCkkgd291bGQgbGlr ZSB0byBzZWUgQlFMIGJlaGF2ZSBiZXR0ZXIgb24gaGFyZHdhcmUgbXVsdGlxdWV1ZS4NCg0KSSdk IGxpa2Ugc29tZW9uZSB0byBwb2tlIGRlZXBseSBpbnRvIHRoZSB3aWZpIGNoaXBzZXQgdGhpcyBi b3ggdXNlcyB0byBzZWUgaWYgd2UgY2FuIGFwcGx5IGlkZWFzIGZyb20gbWFrZS13aWZpLWZhc3Qg dG8gaXQuDQoNCkl0IHdvdWxkIGJlIGdyZWF0IHRvIGhhdmUgc291cmNlIGFjY2VzcyB0byB0aGUg YmxvYnMuDQoNCkkgYW0gYWx3YXlzIGdsYWQgd2UgaGF2ZSBzdWNoIGEgZGl2ZXJzZSByYW5nZSBv ZiBwZW9wbGUgaGVyZSwgc2NyYXRjaGluZyB0aGUgYmVhdC10aGUtYnVmZmVyYmxvYXQgaXRjaCwg YW5kIG1ha2luZyBhIGRpZmZlcmVuY2Ugd2hlcmV2ZXIgdGhleSBjYW4sIHdpdGggd2hhdCBhYmls aXRpZXMgYW5kIHNwYXJlIHRpbWUgdGhleSBoYXZlLg0KDQpJIHdvdWxkIGxpa2UgdG8gc2VlIHdo YXQgaGFwcGVuZWQgZm9yIE9DUCBoYXBwZW4gZm9yIGVtYmVkZGVkIGVkZ2UgZGV2aWNlcywgYWxz by4NCg0KaHR0cDovL3d3dy5idXNpbmVzc2luc2lkZXIuY29tL2ZhY2Vib29rLW9wZW4tY29tcHV0 ZS1wcm9qZWN0LWhpc3RvcnktMjAxNS02DQoNCkZyb20gdGhlIGJvdHRvbSwgbG9va2luZyB1cCwg dGhhdCBzZWVtcyBoYXJkLg0KDQo+IE9uIFN1biwgMTQgSnVuIDIwMTUsIERhdmUgVGFodCB3cm90 ZToNCj4NCj4+IGEgd2lkZXIgYXVkaWVuY2UgZm9yIHRoZSBpc3N1ZXMgaW4gbmV3IGNvbnN1bWVy IGhhcmR3YXJlIHNlZW1zIGRlc2lyYWJsZS4NCj4+DQo+PiBmb3J3YXJkaW5nIHdpdGggcGVybWlz c2lvbi4NCj4+DQo+Pg0KPj4gLS0tLS0tLS0tLSBGb3J3YXJkZWQgbWVzc2FnZSAtLS0tLS0tLS0t DQo+PiBGcm9tOiBEYXZlIFRhaHQgPGRhdmUudGFodEBnbWFpbC5jb20+DQo+PiBEYXRlOiBTdW4s IEp1biAxNCwgMjAxNSBhdCA4OjQxIEFNDQo+PiBTdWJqZWN0OiBSZTogcGVyZm9ybWFuY2UgdGVz dGluZyBvbiB0aGUgV1JUMTIwMEFDDQo+PiBUbzogTWlrYWVsIEFicmFoYW1zc29uIDxzd21pa2VA c3dtLnBwLnNlPiwgQWFyb24gV29vZCANCj4+IDx3b29keTc3QGdtYWlsLmNvbT4NCj4+DQo+Pg0K Pj4gRGVhciBNaWthZWw6DQo+Pg0KPj4gbmV0cGVyZi13cmFwcGVyIGhhcyBiZWVuIHJlbmFtZWQg dG8gZmxlbnQuIDopIFF1aXRlIGEgYml0IG9mIG5ldyANCj4+IHN0dWZmIGlzIGRyb3BwaW5nIGlu dG8gaXQsIG9uZSBvZiBteSBmYXZvcml0ZSB0ZXN0cyBpcyB0aGUgbmV3IA0KPj4gcWRpc2Nfc3Rh dHMgdGVzdCAod2hpY2ggSSBydW4gYXQgdGhlIHNhbWUgdGltZSBhcyBhbm90aGVyIHRlc3QpLiBJ dCANCj4+IGhhc24ndCBiZWVuIHRlc3RlZCBvbiBhIG11bHRpLXF1ZXVlIGludGVyZmFjZSAoYW5k IGRvZXNuJ3Qgd29yayB3aXRoIA0KPj4gb3BlbndydCdzIHNoIGltcGxlbWVudGF0aW9uIGRhbmcg aXQpLiBCdXQgZG8gYSBwdWxsIGFueXdheS4gOikNCj4+DQo+PiBPbiBTdW4sIEp1biAxNCwgMjAx NSBhdCA4OjE4IEFNLCBNaWthZWwgQWJyYWhhbXNzb24gDQo+PiA8c3dtaWtlQHN3bS5wcC5zZT4N Cj4+IHdyb3RlOg0KPj4+DQo+Pj4NCj4+PiBIaSwNCj4+Pg0KPj4+IEkgd2FudCB0byBkbyBzb21l IG1vcmUgZGVtYW5kaW5nIHRlc3Rpbmcgb2YgdGhlIFdSVDEyMDBBQy4gQ3VycmVudGx5IA0KPj4+ IGl0J3MgcnVubmluZyBhIGZldyBkYXlzIG9sZCBvcGVud3J0IENDLiBJdCBjb21lcyB3aXRoIHRo ZSBiZWxvdyBxZGlzYyBzZXR0aW5nLg0KPj4+IEkNCj4+PiB3aWxsIGJlIHRlc3RpbmcgaXQgdXNp bmcgdGhlIGZvbGxvd2luZyBzZXR1cDoNCj4+Pg0KPj4+IGxpbnV4LXN3aXRjaC13cnQxMjAwYWMt bGludXgNCj4+Pg0KPj4+IEFsbCBsaW5rcyBhYm92ZSBhcmUgZ2lnYWJpdCBldGhlcm5ldCBsaW5r cy4NCj4+Pg0KPj4+IE15IHBsYW4gaXMgdG8gZm9yIGluc3RhbmNlIHJ1biBuZXRwZXJmLXdyYXBw ZXIgd2l0aCBhIGZldyBkaWZmZXJlbnQgDQo+Pj4gdGVzdHMuDQo+Pj4NCj4+PiBXb3VsZCBpdCBz dHJhaW4gdGhlIFdSVDEyMDBBQyBpZiBJIGNvbmZpZ3VyZWQgaXQgdG8gc2hhcGUgdG8gOTAwIA0K Pj4+IG1lZ2FiaXQvcyBiaWRpcmVjdGlvbmFsbHR5PyBJIGd1ZXNzIGluIG9yZGVyIHRvIGFjdHVh bGx5IGFjaGlldmUgYSANCj4+PiBsaXR0bGUgYml0IG9mDQo+Pg0KPj4NCj4+IE15IG9yaWdpbmFs IHRlc3RzIHdpdGggdGhlIDE5MDBBQyBzaG93ZWQgaHRiIHBlYWtpbmcgb3V0IHdpdGggc3FtICsg DQo+PiBvZmZsb2FkcyBhdCBhYm91dCA1NTAvNjUwbWJpdCBvbiB0aGUgcnJ1bCB0ZXN0LiAoSSBj YW4ndCByZW1lbWJlciBpZiANCj4+IG5hdCB3YXMgb24gb3Igb2ZmLCBidXQgSSB0aGluayBvZmYp DQo+Pg0KPj4gYnV0IHRoYXQgd2FzIG1vbnRocyBhZ28uIEkgaGF2ZSBhIGh1Z2UgaG9wZSB0aGF0 IGNha2Ugd2lsbCBkbyBiZXR0ZXIgDQo+PiBvbiB0aGlzIHBsYXRmb3JtIGFuZCByZWNlbnRseSAo eWVzdGVyZGF5KSBJIHRoaW5rIGdvdCB0aGF0IHRvIHRoZSANCj4+IHBvaW50IHdoZXJlIHdlIGNv dWxkIHB1c2ggaXQgdG8gb3BlbndydCB0byBiZSBidWlsdCByZWd1bGFybHkuDQo+Pg0KPj4gQWFy b24sIGNjJ2QsIGhhcyBkb25lIHF1aXRlIGEgYml0IG9mIHdvcmsgd2l0aCB0aGUgMTkwMCwgYW5k IEkgdGhpbmsgDQo+PiBoZSBzdGFydGVkIHJ1bm5pbmcgaW50byB0cm91YmxlIGF0IDIwMG1iaXQu DQo+Pg0KPj4+IGJ1ZmZlcmluZywgSSdtIGdvaW5nIHRvIGhhdmUgdG8gcnVuIGJlbG93IHdpcmVz cGVlZD8gQmVjYXVzZSBJIGNhbid0IA0KPj4+IGdldCBtb3JlIHRoYW4gMSBnaWdhYml0L3Mgb2Yg dHJhZmZpYyB0byB0aGUgd3J0MTIwMGFjIGJlY2F1c2Ugb2YgDQo+Pj4gYWJvdmUgbGF5b3V0LCBz byBkb2luZyBiaWRpcmVjdGlvbmFsIHNoYXBpbmcgdG8gOTAwIG9uIGV0aDAgKFdBTiANCj4+PiBQ T1JUKSB3b3VsZCBhdCBsZWFzdCBnaXZlIGl0IGEgYml0IG1vcmUgdG8gZG8gYW5kIGFsc28gZ2l2 ZSBhIGNoYW5jZSANCj4+PiB0byBpbmR1Y2Ugc29tZSBidWZmZXJpbmc/DQo+Pg0KPj4NCj4+IEFp bid0IGl0IGEgYml0Y2g/IEEgdGhvdWdodCB3b3VsZCBiZSB0byBhbHNvIGV4ZXJjaXNlIHRoZSB3 aWZpIGEgYml0IA0KPj4gdG8gZHJpdmUgaXQgcGFzdCBnaWdFIG92ZXJhbGwuIFNvIGhhdmUgdHdv IGNsaWVudHMgcnVubmluZyBmbGVudCANCj4+IHRlc3RzIHNpbXVsdGFuZW91c2x5LCBvbmUgb24g d2lmaSwgb25lIG9uIGV0aGVybmV0LCBhbmQgdGhlcmUgeW91IGdvLCANCj4+IGRyaXZpbmcgaXQg aW50byBvdmVybG9hZC4NCj4+DQo+Pj4gRG8geW91IGhhdmUgc29tZSBvdGhlciBpZGVhcyBmb3Ig dGVzdGluZz8gSSBhbSBtb3N0bHkgaW50ZXJlc3RlZCBpbiANCj4+PiBtYWtpbmcgc3VyZSB0aGUg Q1BVIGlzIGZhc3QgZW5vdWdoIHRvIGRvIEFRTSBhdCBnaWcgc3BlZWRzLi4uDQo+Pg0KPj4NCj4+ IFdlbGwsIHRoZXJlIGFyZSBvdGhlciBpc3N1ZXMuDQo+Pg0KPj4gQSkgVGhlIG12bmV0YSBldGhl cm5ldCBkcml2ZXIgaW4gdGhlIDE5MDAgZGlkIG5vdCBzdXBwb3J0IEJRTCB3aGVuDQo+PiBsYXN0 IEkgbG9va2VkLCBzdXBwbHlpbmcgaW5zdWZmaWNpZW50IGJhY2twcmVzc3VyZSB0byB0aGUgdXBw ZXINCj4+IGxheWVycy4NCj4+DQo+PiBCKSBUaGUgbXVsdGlxdWV1ZWQgaGFyZHdhcmUgYXBwbGll cyBhIGJpdCBvZiBmcSBmb3IgeW91IGF1dG9tYWdpY2FsbHksDQo+PiBCVVQsIGV2ZW4gaWYgQlFM IHdhcyBpbiBwbGFjZSwgQlFMJ3MgYnVmZmVyaW5nIGlzIGFkZGl0aXZlIHBlcg0KPj4gaGFyZHdh cmUgcXVldWUsIHNvIGl0IHRlbmRzIHRvDQo+Pg0KPj4gd2hhdCBJIHNhdyB3YXMgbmVhcmx5IG5v IGRyb3BzIGluIHRoZSBxZGlzYy4gSSBkb24ndCB0aGluayBJIGV2ZW4gc2F3DQo+PiBtYXhwYWNr ZXQgZ3JvdyAoYSBzdXJlIHNpZ24geW91IGFyZSBiYWNrbG9nZ2luZyBpbiB0aGUgcWRpc2MpIEkg ZW5kZWQNCj4+IHVwIGRpc2FibGluZyB0aGUgaGFyZHdhcmUgbXEgbXVsdGlxdWV1ZVsxXSBzdHVm ZiBlbnRpcmVseSBieSAidGMgcWRpc2MNCj4+IGFkZCBkZXYgZXRoMCByb290IGZxX2NvZGVsIiwg YW5kIGV2ZW4gdGhlbiwgc2VlIEEpIC0gYnV0IEkgZGlkIGZpbmFsbHkNCj4+IHNlZSBtYXhwYWNr ZXQgZ3Jvdy4uLg0KPj4NCj4+IEMpIHRvIHJlYWxpemUgdG8gbXkgaG9ycm9yIHRoYXQgdGhleSBo YWQgdmVyeSBhZ2dyZXNzaXZlbHkgaW1wbGVtZW50ZWQNCj4+IEdSTyBmb3IgZXZlcnl0aGluZywg Z2l2aW5nIHVzIDY0ayAicGFja2V0cyIgdG8gZGVhbCB3aXRoIGNvbWluZyBpbg0KPj4gZnJvbSB0 aGUgZ2lnRSBldGhlcm5ldC4uLiB3aGljaCBpbnRlcmFjdGVkIHJhdGhlciBiYWRseSB3aXRoIHRo ZQ0KPj4gMTBNYml0IG91dGdvaW5nIGludGVyZmFjZSBJIGhhZCBhdCB0aGUgdGltZS4NCj4+DQo+ PiBhbmQgdGhhdCBleHBsYWluZWQgd2h5IG5lYXJseSBhbGwgdGhlIFFvUyBzeXN0ZW1zIGFzIGRl cGxveWVkIGluIHRoaXMNCj4+IGdlbmVyYXRpb24gb2Ygcm91dGVyIHdlcmUgZG9pbmcgc28gYmFk bHkuLi4NCj4+DQo+PiB3aGljaCBsZWQgdG8gYSBjaGFuZ2UgaW4gY29kZWwncyBjb250cm9sIGxh dyAodXBzdHJlYW0gaW4gbGludXgsIG5vdA0KPj4gc3VyZSBpbiBvcGVud3J0KSwgYW5kIHVsdGlt YXRlbHkgZnJhbnRpYyBhY3Rpdml0eSBpbiBjYWtlIHRvIGRvDQo+PiBwZWVsaW5nIGFwYXJ0IG9m IHN1cGVycGFja2V0cyBsaWtlIHRoYXQuDQo+Pg0KPj4gSSBhcHBsYXVkIGZ1cnRoZXIgdGVzdGlu ZywgYW5kIEkgd291bGQgbG92ZSBpdCBpZiB5b3UgY291bGQgdmVyaWZ5DQo+PiB0aGF0IHRoZSBH Uk8gcHJvYmxlbSByZW1haW5zIGFuZCB0aGF0IGl0J3MgaGFyZCB0byBnZXQgc3VmZmljaWVudA0K Pj4gYmFja3ByZXNzdXJlIChhbmQgbGF0ZW5jaWVzIHNob3VsZCBncm93IGEgbG90KSB3aGVuIGRy aXZlbiB3aXRoIHdpZmkrDQo+PiBldGhlcm5ldA0KPj4NCj4+IE9uIHNpbXBsZSBzaW5nbGUgdGhy ZWFkZWQgdXAgb3IgZG93biB0ZXN0cyBJIHdhcyBhYmxlIHRvIGdldCBmdWxsIGdpZ0UNCj4+IHRo cm91Z2hwdXQgb3V0IG9mIHRoZSAxOTAwJ3Mgd2FuIGludGVyZmFjZSwgYnV0IGRpc2FibGluZyBv ZmZsb2FkcyB3YXMNCj4+IHF1aXRlIGRhbWFnaW5nLCBhcyB3YXMgbWl4ZWQgdHJhZmZpYyBsaWtl IHJydWxfNTAgdXAsIHdoaWNoIG1ha2VzIEdSTw0KPj4gZmFyIGxlc3MgZWZmZWN0aXZlLg0KPj4N Cj4+IEkgd2lzaCBJIGhhZCB0aW1lIHRvIGdvIGFuZCBhZGQgQlFMLiBJIHJlcXVlc3RlZCBpdCBv ZiB0aGUgYXV0aG9yLCBubw0KPj4gcmVzcG9uc2UuDQo+Pg0KPj4+DQo+Pj4gcm9vdEBPcGVuV3J0 Oi90bXAjIHRjIHFkaXNjDQo+Pg0KPj4NCj4+IHRjIC1zIHFkaXNjIHNob3cgIyAtcyBpcyBtb3Jl IHJldmVhbGluZw0KPj4NCj4+PiBxZGlzYyBtcSAwOiBkZXYgZXRoMCByb290DQo+Pj4gcWRpc2Mg ZnFfY29kZWwgMDogZGV2IGV0aDAgcGFyZW50IDoxIGxpbWl0IDEwMjRwIGZsb3dzIDEwMjQgcXVh bnR1bSAzMDANCj4+PiB0YXJnZXQgNS4wbXMgaW50ZXJ2YWwgMTAwLjBtcyBlY24NCj4+PiBxZGlz YyBmcV9jb2RlbCAwOiBkZXYgZXRoMCBwYXJlbnQgOjIgbGltaXQgMTAyNHAgZmxvd3MgMTAyNCBx dWFudHVtIDMwMA0KPj4+IHRhcmdldCA1LjBtcyBpbnRlcnZhbCAxMDAuMG1zIGVjbg0KPj4+IHFk aXNjIGZxX2NvZGVsIDA6IGRldiBldGgwIHBhcmVudCA6MyBsaW1pdCAxMDI0cCBmbG93cyAxMDI0 IHF1YW50dW0gMzAwDQo+Pj4gdGFyZ2V0IDUuMG1zIGludGVydmFsIDEwMC4wbXMgZWNuDQo+Pj4g cWRpc2MgZnFfY29kZWwgMDogZGV2IGV0aDAgcGFyZW50IDo0IGxpbWl0IDEwMjRwIGZsb3dzIDEw MjQgcXVhbnR1bSAzMDANCj4+PiB0YXJnZXQgNS4wbXMgaW50ZXJ2YWwgMTAwLjBtcyBlY24NCj4+ PiBxZGlzYyBmcV9jb2RlbCAwOiBkZXYgZXRoMCBwYXJlbnQgOjUgbGltaXQgMTAyNHAgZmxvd3Mg MTAyNCBxdWFudHVtIDMwMA0KPj4+IHRhcmdldCA1LjBtcyBpbnRlcnZhbCAxMDAuMG1zIGVjbg0K Pj4+IHFkaXNjIGZxX2NvZGVsIDA6IGRldiBldGgwIHBhcmVudCA6NiBsaW1pdCAxMDI0cCBmbG93 cyAxMDI0IHF1YW50dW0gMzAwDQo+Pj4gdGFyZ2V0IDUuMG1zIGludGVydmFsIDEwMC4wbXMgZWNu DQo+Pj4gcWRpc2MgZnFfY29kZWwgMDogZGV2IGV0aDAgcGFyZW50IDo3IGxpbWl0IDEwMjRwIGZs b3dzIDEwMjQgcXVhbnR1bSAzMDANCj4+PiB0YXJnZXQgNS4wbXMgaW50ZXJ2YWwgMTAwLjBtcyBl Y24NCj4+PiBxZGlzYyBmcV9jb2RlbCAwOiBkZXYgZXRoMCBwYXJlbnQgOjggbGltaXQgMTAyNHAg Zmxvd3MgMTAyNCBxdWFudHVtIDMwMA0KPj4+IHRhcmdldCA1LjBtcyBpbnRlcnZhbCAxMDAuMG1z IGVjbg0KPj4+IHFkaXNjIG1xIDA6IGRldiBldGgxIHJvb3QNCj4+PiBxZGlzYyBmcV9jb2RlbCAw OiBkZXYgZXRoMSBwYXJlbnQgOjEgbGltaXQgMTAyNHAgZmxvd3MgMTAyNCBxdWFudHVtIDMwMA0K Pj4+IHRhcmdldCA1LjBtcyBpbnRlcnZhbCAxMDAuMG1zIGVjbg0KPj4+IHFkaXNjIGZxX2NvZGVs IDA6IGRldiBldGgxIHBhcmVudCA6MiBsaW1pdCAxMDI0cCBmbG93cyAxMDI0IHF1YW50dW0gMzAw DQo+Pj4gdGFyZ2V0IDUuMG1zIGludGVydmFsIDEwMC4wbXMgZWNuDQo+Pj4gcWRpc2MgZnFfY29k ZWwgMDogZGV2IGV0aDEgcGFyZW50IDozIGxpbWl0IDEwMjRwIGZsb3dzIDEwMjQgcXVhbnR1bSAz MDANCj4+PiB0YXJnZXQgNS4wbXMgaW50ZXJ2YWwgMTAwLjBtcyBlY24NCj4+PiBxZGlzYyBmcV9j b2RlbCAwOiBkZXYgZXRoMSBwYXJlbnQgOjQgbGltaXQgMTAyNHAgZmxvd3MgMTAyNCBxdWFudHVt IDMwMA0KPj4+IHRhcmdldCA1LjBtcyBpbnRlcnZhbCAxMDAuMG1zIGVjbg0KPj4+IHFkaXNjIGZx X2NvZGVsIDA6IGRldiBldGgxIHBhcmVudCA6NSBsaW1pdCAxMDI0cCBmbG93cyAxMDI0IHF1YW50 dW0gMzAwDQo+Pj4gdGFyZ2V0IDUuMG1zIGludGVydmFsIDEwMC4wbXMgZWNuDQo+Pj4gcWRpc2Mg ZnFfY29kZWwgMDogZGV2IGV0aDEgcGFyZW50IDo2IGxpbWl0IDEwMjRwIGZsb3dzIDEwMjQgcXVh bnR1bSAzMDANCj4+PiB0YXJnZXQgNS4wbXMgaW50ZXJ2YWwgMTAwLjBtcyBlY24NCj4+PiBxZGlz YyBmcV9jb2RlbCAwOiBkZXYgZXRoMSBwYXJlbnQgOjcgbGltaXQgMTAyNHAgZmxvd3MgMTAyNCBx dWFudHVtIDMwMA0KPj4+IHRhcmdldCA1LjBtcyBpbnRlcnZhbCAxMDAuMG1zIGVjbg0KPj4+IHFk aXNjIGZxX2NvZGVsIDA6IGRldiBldGgxIHBhcmVudCA6OCBsaW1pdCAxMDI0cCBmbG93cyAxMDI0 IHF1YW50dW0gMzAwDQo+Pj4gdGFyZ2V0IDUuMG1zIGludGVydmFsIDEwMC4wbXMgZWNuDQo+Pj4g cWRpc2MgbXEgMDogZGV2IHdsYW4wIHJvb3QNCj4+PiBxZGlzYyBmcV9jb2RlbCAwOiBkZXYgd2xh bjAgcGFyZW50IDoxIGxpbWl0IDEwMjRwIGZsb3dzIDEwMjQgcXVhbnR1bSAzMDANCj4+PiB0YXJn ZXQgNS4wbXMgaW50ZXJ2YWwgMTAwLjBtcyBlY24NCj4+PiBxZGlzYyBmcV9jb2RlbCAwOiBkZXYg d2xhbjAgcGFyZW50IDoyIGxpbWl0IDEwMjRwIGZsb3dzIDEwMjQgcXVhbnR1bSAzMDANCj4+PiB0 YXJnZXQgNS4wbXMgaW50ZXJ2YWwgMTAwLjBtcyBlY24NCj4+PiBxZGlzYyBmcV9jb2RlbCAwOiBk ZXYgd2xhbjAgcGFyZW50IDozIGxpbWl0IDEwMjRwIGZsb3dzIDEwMjQgcXVhbnR1bSAzMDANCj4+ PiB0YXJnZXQgNS4wbXMgaW50ZXJ2YWwgMTAwLjBtcyBlY24NCj4+PiBxZGlzYyBmcV9jb2RlbCAw OiBkZXYgd2xhbjAgcGFyZW50IDo0IGxpbWl0IDEwMjRwIGZsb3dzIDEwMjQgcXVhbnR1bSAzMDAN Cj4+PiB0YXJnZXQgNS4wbXMgaW50ZXJ2YWwgMTAwLjBtcyBlY24NCj4+Pg0KPj4+DQo+Pj4gLS0N Cj4+PiBNaWthZWwgQWJyYWhhbXNzb24gICAgZW1haWw6IHN3bWlrZUBzd20ucHAuc2UNCj4+DQo+ Pg0KPj4NCj4+DQo+PiAtLQ0KPj4gRGF2ZSBUw6RodA0KPj4gV2hhdCB3aWxsIGl0IHRha2UgdG8g dmFzdGx5IGltcHJvdmUgd2lmaSBmb3IgZXZlcnlvbmU/DQo+PiBodHRwczovL3BsdXMuZ29vZ2xl LmNvbS91LzAvZXhwbG9yZS9tYWtld2lmaWZhc3QNCj4+DQo+Pg0KPj4gLS0NCj4+IERhdmUgVMOk aHQNCj4+IFdoYXQgd2lsbCBpdCB0YWtlIHRvIHZhc3RseSBpbXByb3ZlIHdpZmkgZm9yIGV2ZXJ5 b25lPw0KPj4gaHR0cHM6Ly9wbHVzLmdvb2dsZS5jb20vdS8wL2V4cGxvcmUvbWFrZXdpZmlmYXN0 DQo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4g QmxvYXQgbWFpbGluZyBsaXN0DQo+PiBCbG9hdEBsaXN0cy5idWZmZXJibG9hdC5uZXQNCj4+IGh0 dHBzOi8vbGlzdHMuYnVmZmVyYmxvYXQubmV0L2xpc3RpbmZvL2Jsb2F0DQo+DQo+DQo+IC0tDQo+ IE1pa2FlbCBBYnJhaGFtc3NvbiAgICBlbWFpbDogc3dtaWtlQHN3bS5wcC5zZQ0KDQoNCg0KLS0g DQpEYXZlIFTDpGh0DQpXaGF0IHdpbGwgaXQgdGFrZSB0byB2YXN0bHkgaW1wcm92ZSB3aWZpIGZv ciBldmVyeW9uZT8NCmh0dHBzOi8vcGx1cy5nb29nbGUuY29tL3UvMC9leHBsb3JlL21ha2V3aWZp ZmFzdA0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCkJs b2F0IG1haWxpbmcgbGlzdA0KQmxvYXRAbGlzdHMuYnVmZmVyYmxvYXQubmV0DQpodHRwczovL2xp c3RzLmJ1ZmZlcmJsb2F0Lm5ldC9saXN0aW5mby9ibG9hdA0K