From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41]) (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 8BE5D3B2A4 for ; Tue, 3 Oct 2023 15:29:51 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DkHgNYDMMsq6nxfhrmmqvkL3nPjIohTTbi44DWA1iXXTCUPKPx4DFI8D3CKGf/4R8lKjODXz2LmXL0wb6pFZKowWK5JgLMTjY7EO3fM316ydqY08u7njYIaQPJaMblW/kVlaW8+8VqbfSI22MlJC5WBN6PNL202eyGz/S8hWtlaw4AKOwNlnsWUu3msdZGr9CFAMbBrMviW0fd2AgnKTiXx5MEzE5cGx/3PlPbRc+FADhY4y/AmcO3nU09I6svPpnoxdbgWBouQADWxIgBhzAvjN+BNXiMaM8isPvyKp/bcGRrgxO24IgLpl6NKSVMkOp4S8pAGVb+CZb8FXv+mvng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=W2zHfQ69kPvRLEIlgtcJKELybD1w6DTNAFuHFJ+P33I=; b=ZeyQEWos3FJOqO5Ifzo8XULjAp5VLvCntz/lvXH51WRGYmwiE9WjH29GsXEAVIC5sw/AYvJqcgHXYLjyrC8NsFU0KFO12TVuXqYyvXeyQrC24CWzSusZRtkCdi7ALK0Gx7RJQtqI3arnDDIi23rgeT5z8dQOCpmyRxLmL01DO6q9A7RCxWTJs3i/YRL6PTvGf0KgmfzcRfKhlAkWngBjllP3jltN6cIgs1Bx7HYf4wbABRxdG/ky9+skowZ9wpc3Pmsp3TC4XRUeOvV4IZKdLxK66/GTiTUuTHk8BOf0/vPYVmXLJkivUD6dv84OeiEl7AoPGda/CC7VfX0ZYAqvEg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=higbie.name; dmarc=pass action=none header.from=higbie.name; dkim=pass header.d=higbie.name; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=higbie.name; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W2zHfQ69kPvRLEIlgtcJKELybD1w6DTNAFuHFJ+P33I=; b=c2wUkoOMM02krxls3r3lppLm1B5RYaj0b3BVRv1bEepppv5B3ND/IjU+ypWaym7pKPyB816rxsQs1f6nkJiBCgNsendDz4EuqfCfj2Y1KogCafgmAqWJ4IFUf+m7I0fCr0Uzv6qUEzhx9nhUeb+NluBYCD6yWy2C13WsrrDLHV8bXjvUkf3OiPo4quRORWPBugFbB9DcF7ZPW2LS0pDI/elmr4szZDdoKD3j/UMX3huwSiBon7aMOY8ZoaP23j4stczTLqfqxSak0DT42cC2it1rmBpseCmUxvnO6dIKJL4iRXZoWco0ndlm4lktFsedMIs0HPz4nzJcOGQQTaIQdg== Received: from MN2PR16MB3391.namprd16.prod.outlook.com (2603:10b6:208:150::23) by DM6PR16MB3717.namprd16.prod.outlook.com (2603:10b6:5:2bc::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.26; Tue, 3 Oct 2023 19:29:48 +0000 Received: from MN2PR16MB3391.namprd16.prod.outlook.com ([fe80::90a9:ee9c:1420:f51f]) by MN2PR16MB3391.namprd16.prod.outlook.com ([fe80::90a9:ee9c:1420:f51f%6]) with mapi id 15.20.6838.030; Tue, 3 Oct 2023 19:29:47 +0000 From: Colin_Higbie To: rjmcmahon CC: =?utf-8?B?TmV0d29yayBOZXV0cmFsaXR5IGlzIGJhY2shIExldMK0cyBtYWtlIHRoZSB0?= =?utf-8?Q?echnical_aspects_heard_this_time!?= Thread-Topic: [NNagain] On "Throttling" behaviors Thread-Index: AQHZ9V4sRg+f2MtJgEyaZSNjOR0+erA220RAgAAi8ICAAABzcIAADNWAgAFmkhA= Date: Tue, 3 Oct 2023 19:29:47 +0000 Message-ID: References: <6D7F7242-248B-4FD4-BEDA-EE931B7DFE3C@andyring.com> <0a158308-e0c1-4722-8013-745e3ded232d@app.fastmail.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=Higbie.name; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR16MB3391:EE_|DM6PR16MB3717:EE_ x-ms-office365-filtering-correlation-id: beb5238c-299b-4164-2701-08dbc4471acf x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: fAjhCt5ApafCLx3rlThSnlIWaT2N9E/fN0yn/ZobtqTOW4lUHvyHBgqjKGqAzfX6Y++iLCBRaPVJdPKHEUdEm+rQ1huYjqgUSkDAWrzBS/VPy6DtDXca505UDW/TdogT5+1J/YGzC2oeQKjyipoUK3mfRm1TxpVGmuCuqFnyVNZBFN62w9KDmOFMaaGw/a93FaIWwQA+KNEOob9ipn1Rk4DwIaTj9yOl8ObFhSRGs2LZ9SeCJEPKC7UzQLyjc0gfC5yVaNkRKjMsJLq3PCfyV6Ci+Z0lKxO6eDG1upf5qgBKKKz60qYIinUcWRkpsy3ZBEuympUkqagNZQ3sxA2/7bIkn34iTTVrTtdE7V0xhY5autFHuWHPlEwRV21OcsKktFujasjH5QSzJiRZ4mqqxjDWrGMWjMzK9juBQKrSbPjcAetBTxvsf9EjSxDdwOS3Q6VYBwoq7+WM2gVzqhkx90nJX3kXv24IsOjkO8ILLNMe9mKhT+muTGE7bpGmU1aklDrA5md0bJsR6b99PUSn8cZldnlc0aEZbVVopfXv1c79B9ffqCakaeAEiQj5SQPGKk7Nw7Ljy2rG/NZSbhyBCVRg4bHT7EtBYdbkJnIV1B8= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR16MB3391.namprd16.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(366004)(396003)(136003)(39830400003)(376002)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(8936002)(316002)(64756008)(66476007)(66446008)(478600001)(66556008)(6916009)(83380400001)(9686003)(66946007)(4326008)(66899024)(26005)(76116006)(8676002)(41300700001)(6506007)(966005)(66574015)(86362001)(71200400001)(122000001)(7696005)(38100700002)(33656002)(38070700005)(53546011)(30864003)(2906002)(55016003)(5660300002)(52536014); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dmhzNFBaS2krNm5WVE9yNDhseXJDVGpzVlE2UkdrUi9DOTMwUkpJWUhJOUg2?= =?utf-8?B?MGRKWnJPS2FqNnpvaDBtWTZUMG9VeEkrclI4WitEcXBxa2NUaUlPT1dGbzBz?= =?utf-8?B?YXo3alBpc2JtNCtOVFhCOHNIRjRBYWV5dmt1VmlTT25BaUVha2pjK0pKV3U5?= =?utf-8?B?dG53SEw4dU8wdTJjSENtQVQrOGFSYVM4czgzajBGaklHR1NEUUxScGd2VW4r?= =?utf-8?B?aVZ3MVdoQnk3RHZkUmMzdm5BcDk0V3FGTnVWT284YmEwbWdLME54VFJUQThl?= =?utf-8?B?bDhKejh2WWRFME1QenpJUHB5ZzdlcDI0K3N2aDB5ZjNVRGNqTi9TT0xhaTFJ?= =?utf-8?B?eFlqTlJpZjZ3NTlNcVU0WFpJZTBlSWVqYXZTTmNUUGFzSkF4M29YVkZKeE9o?= =?utf-8?B?M1Mycm8ydExzMHNoMTB4NDYrQjk4WVB3R1NsNWVqR3NmeUlweDdUc3ZldGFW?= =?utf-8?B?MG0raUVZbUlkSTVqVlBldFY0K1dheEFjVXJmaEVCTy9lTnlqNHVTQlk0bDRt?= =?utf-8?B?czloMXVUcVlpeldQaDFuaVdSdmIyTHh2U3AxRzBia3l1VmNDN2RLWDR3OHgv?= =?utf-8?B?Q3p5S1kxWUpMN0VmdkdLYldhV3lWSjBFMTdvSmZoWUoySFdINzBQb1VzdUpv?= =?utf-8?B?N1A4U3hSdmZ6MWRwUEFTb242a09ERzNLelFWb3I3Nmo4V2lIODk5Q0l1alRQ?= =?utf-8?B?ckZlUzBrSHBmSzQ1V0dQL1ZGRmdPRVpBT0RsbWNDQ1V3T3Bhem5kQjF1dXVM?= =?utf-8?B?aGJoQjhzZjBrai9jd2pGRlhkb2JkN0VWMXIyYzh1TFRUZklhcmRkQXdNaGR4?= =?utf-8?B?Y05aRkZuOXpQSCtJeDZEVk1UNVJHWEU5N0ZLWGJoZXhNKzQ2ZWNPeEIrUnBn?= =?utf-8?B?aTdpRnhLTjNIUWhLcW9JRzUvNlAwY0VXSjhVYkpBM24wbHN0ZndpNWlOcjVw?= =?utf-8?B?d1BlZ1J2QXdCZWlTaGl4UzV0cnBxWXl0S3pEcndIbURMaHRRd1VVdE9QL00v?= =?utf-8?B?QWdNUU9vellsTHluVTR2cGZESUdBUlc0UlcyVTRZVVdlZFUwbUd4akNSZUNx?= =?utf-8?B?UzB6Z3d3L09LaHJXOXlSR0prdkFQa2Y1V3RrdUw0Ymp1Y3FPZnoyRkErMW04?= =?utf-8?B?YnlTUlI0bmVJZHVjMHhqUGtKcFczbzhDOUFuTWNDcUlrVnpEOTl5a1BZdEMr?= =?utf-8?B?ZVAzb1BkdllTUlBESFBmVTRzaWVhUFlZckI5ODJCdGRpRlFmSUFYSDByS0xu?= =?utf-8?B?eEhJWlFUdVJrZG9RWDl1aWtSbzJpbFVHZHU4Vyt4RjEvWTFhWnFBZm9OcVlK?= =?utf-8?B?ZXhTSTVCQm01R1MzTUg0TU5PVjZYVXhoSTlvcVBQNVQvR2tKQkNrZTZZcmJF?= =?utf-8?B?amVDdWV4WEVSTndacXFVV0ZPRXNWZnliTTVDVjE1bmpCNVE4RFF5QVpsSmJW?= =?utf-8?B?R2pvbUUrS2RUcS9uU1pteEZFbXgrNzRHL1JueUZVNzkzTEJoMHI1YmxwSG5r?= =?utf-8?B?UEVOaFYxMnJzRE1rcERoclEwSHlDR2p3RE1qZExtK3M4RVAxKytyMEY2alo2?= =?utf-8?B?eVIvSFc1K1pYejlMQ0lDeXVEUjBzNVhrNVIvUEtYa1J3UWRlRGs0azZZNzc1?= =?utf-8?B?ZDVYSVlrTW9Cd0RGamhQZG45bSsyMTlVYWRnb1JCVG40ejd3ViszNDZRUlVz?= =?utf-8?B?NHo5ejR2SUpVbmF6b2t4T29RK0VEaVZqdEVXS3IzUnZkdjkzRWpEM0lFTmVq?= =?utf-8?B?bUVSa2RjUGxidzhlcGRyK2FsUXpJbGtLL3dzdmtvSC8vYWRIaDVrT2R6V1lO?= =?utf-8?B?VEpPUWw3ZlhJL3dvUFVyOU9aaHRIdUYrQUJSZENvWHFOalFIRkNZWS8xSWJI?= =?utf-8?B?blphQmtTWXdDQW1LaWRFV3RQVExVdkxhUCtoajVIZ25PTnFtejNVN0pjNlc1?= =?utf-8?B?cWNFNjdndHdhenZOOCtCTys5ZHdYUXI2aUZuOXRhOU1CMXYrZndXMzVBeXJP?= =?utf-8?B?WXJTWWE2UzNsUWR0aDFJUnp3ak8xQVVGcGRtaTNsa2hldmR3UFFnM2MxY0cx?= =?utf-8?Q?sCfqPn?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: higbie.name X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR16MB3391.namprd16.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: beb5238c-299b-4164-2701-08dbc4471acf X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Oct 2023 19:29:47.4081 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 223bbcd9-6252-452c-afb2-140040991a08 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: od21nhXprHTsmLJGgFIFd7FO3kfuy5GG/svGPUmznRkABIzAPK+PRKUXkxtAjS/zrf6ZFO/lKATqJvOCqA70jw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR16MB3717 Subject: Re: [NNagain] On "Throttling" behaviors X-BeenThere: nnagain@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: =?utf-8?q?Network_Neutrality_is_back!_Let=C2=B4s_make_the_technical_aspects_heard_this_time!?= List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2023 19:29:51 -0000 Qm9iLA0KDQpUaGF0J3MgYW4gaW50ZXJlc3RpbmcgdGFrZSBvbiBtb25vcG9saWVzIGJlaW5nIHNv bWV0aW1lcy1PSy4gSXQncyB0aGUgb2xkICJQb3dlciBjb3JydXB0cyBhbmQgYWJzb2x1dGUgcG93 ZXIgY29ycnVwdHMgYWJzb2x1dGVseS4iIE5vIG9uZSBjYW4gaGF2ZSBhYnNvbHV0ZSBwb3dlciAo ZXZlbiBhIGRpY3RhdG9yIHdvcnJpZXMgYWJvdXQgYmVpbmcgb3ZlcnRocm93biBpZiBoaXMgcGVv cGxlIGJlY29tZSB0b28gYW5ncnkpLCB3aGljaCBJIHN1cHBvc2UgaXMgYSBjb3JvbGxhcnkgdG8g YSAiYmVuZXZvbGVudCBtb25vcG9seS4iIA0KDQpJIHBhcnRpYWxseSBhZ3JlZSB3aXRoIHlvdXIg cHJlbWlzZSwgYnV0IG1heWJlIGdldCB0aGVyZSBieSBkaWZmZXJlbnQgcmVhc29uczoNCg0KVG8g YmUgY2xlYXIsIG15IGNvbmNlcm4gaXMgbm90IHdpdGggbW9ub3BvbGllcyB0aGF0IGZvcm0gbmF0 dXJhbGx5IGZyb20gY3VzdG9tZXIgcHJlZmVyZW5jZXMgYW5kIGJ1c2luZXNzIHN1Y2Nlc3MsIGJ1 dCByYXRoZXIgc3BlY2lmaWNhbGx5IHRob3NlIHRoYXQgZXhpc3Qgb25seSBiZWNhdXNlIG9mIGxl Z2lzbGF0aXZlIG9yIHJlZ3VsYXRvciBjb250cm9scy4gSW4gb3RoZXIgd29yZHMsIEkgZG9uJ3Qg ZmVhciB0aGUgbW9ub3BvbHkgdGhhdCBlYXJuZWQgaXRzIHdheSB0byBkb21pbmFuY2UsIGJlY2F1 c2UgYXMgbG9uZyBhcyBpdCdzIG5vdCBwcm90ZWN0ZWQgYnkgZ292ZXJubWVudCwgaXQgbmVlZHMg dG8gcmVtYWluIGN1c3RvbWVyLWZvY3VzZWQgb3IgY2xldmVyIGVudHJlcHJlbmV1cmlhbCB1cHN0 YXJ0cyB3aWxsIHRha2UgaXRzIHBsYWNlIGluIHRpbWUuIFRoZXJlIG1heSBiZSBzb21lIG5pY2hl IGNhc2VzLCBidXQgaW4gYWxsIHRoZSBiaWcgaW5kdXN0cmllcywgdGhlcmUgaGFzIG5ldmVyIGJl ZW4gYSBzdXN0YWluZWQgbmF0dXJhbCBtb25vcG9seS4gRXZlbiBzdGVlbCBhbmQgcmFpbCBpbmR1 c3RyaWVzIHdlcmUgbm90IHRvdGFsIG1vbm9wb2xpZXMuIA0KDQpUaGUgdHlwaWNhbCBwcm9ibGVt IGlzIHRoYXQgYXMgY29tcGFuaWVzIGdldCBsYXJnZSBlbm91Z2ggdG8gaGF2ZSBhIGxvYmJ5aW5n IGJ1ZGdldCwgdGhleSB0ZW5kIHRvIGluZmx1ZW5jZSB0aG9zZSBpbiBnb3Zlcm5tZW50IHRvIHBh c3MgcHJvdGVjdGl2ZSBsYXdzLiBJbiB0aGlzIGRpc2N1c3Npb24sIGl0IHdhcyBsYXdzIGxpa2Ug TmV0IE5ldXRyYWxpdHkgdG8gaGVscCB0aGUgY29udGVudCBwcm92aWRlcnMgYnkgZm9yY2luZyB0 aGVpciBkaXN0cmlidXRvcnMgKHRoZSBjYXJyaWVycykgdG8gYWRoZXJlIHRvIHJ1bGVzIGJlbmVm aWNpYWwgdG8gdGhlIGNvbnRlbnQgcHJvdmlkZXJzLiBJbiBtYW55IGNhc2VzLCB0aGVzZSBsYXdz IGRvIGhlbHAgc29tZSBwb3J0aW9uIG9mIGNvbnN1bWVycyAobWF5YmUgZXZlbiBhIG1ham9yaXR5 KSBpbiB0aGUgc2hvcnQgcnVuLCBidXQgdGhleSBBTFdBWVMgZG8gaGFybSBpbiB0aGUgbG9uZyBy dW4gYnkgZGlzY291cmFnaW5nIGlubm92YXRpb24uDQoNCkNoZWVycywNCkNvbGluDQoNCg0KDQot LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogcmptY21haG9uIDxyam1jbWFob25Acmpt Y21haG9uLmNvbT4gDQpTZW50OiBNb25kYXksIE9jdG9iZXIgMiwgMjAyMyA1OjU1IFBNDQpUbzog Q29saW5fSGlnYmllIDxDSGlnYmllMUBIaWdiaWUubmFtZT4NCkNjOiBOZXR3b3JrIE5ldXRyYWxp dHkgaXMgYmFjayEgTGV0wrRzIG1ha2UgdGhlIHRlY2huaWNhbCBhc3BlY3RzIGhlYXJkIHRoaXMg dGltZSEgPG5uYWdhaW5AbGlzdHMuYnVmZmVyYmxvYXQubmV0Pg0KU3ViamVjdDogUmU6IFtOTmFn YWluXSBPbiAiVGhyb3R0bGluZyIgYmVoYXZpb3JzDQoNCkNvbXBldGl0aW9uIGluIGEgbmF0dXJh bCBtb25vcG9seSBpcyBhIG15dGguIFRoZXJlIGFyZSBhIGZldyBwbGFjZXMgdGhhdCBjb21wZXRp dGlvbiBpbiB0aGUgT1NQIG1heSBzdXJ2aXZlLCBlLmcuIE5ZQywgYnV0IG90aGVyd2lzZSBpdCdz IGxpa2Ugd2F0ZXIsIGVsZWN0cmljLCBzYW5pdGF0aW9uLCBzZWEgcG9ydHMgZXRjLg0KDQpUaGVy ZSBvZiBjb3Vyc2UgaXMgRldBIGNvbXBldGl0aW9uLCBidXQgdGhhdCdzIGxpa2VseSBhIHRyYW5z aWVudCwgb3IganVzdCBhbG9uZyBmcmVld2F5cyAobm8gZnJlZXdheXMsIG5vIEZXQSkgYXMgd2Ug bW92ZSB0byAxMDBHYnMgYW5kIGJleW9uZCBhbmQgbGVzcyBlbmVyZ3kuIEJ1dCB0aGF0IGFzc3Vt ZXMgd2UgZG8gdGhlIHdvcmsuDQoNClRoZSBiZWxpZWYgb2YgIm1vbm9wb2x5IGFzIGFsd2F5cyBi YWQiIG1pc3MgdGhhdCB3aXRob3V0IHRoZSBsYW5kIGdyYW50cyBhbmQgcmFpbHJvYWRzLCB0aGUg VS5TLiBlY29ub215IHdvdWxkIGhhdmUgZGV2ZWxvcGVkIGxpa2UgUnVzc2lhLCB3aG8gZGVjaWRl ZCBhZ2FpbnN0IGZ1bmRpbmcgUlJzIGZvciBvdmVyIGEgY2VudHVyeSBhbmQsIGluIHR1cm4sIG1p c3NlZCB0aGUgaW5kdXN0cmlhbCByZXZvbHV0aW9uLiBJdCdzIGlyb25pYyB0aGF0IHRoZSBVLlMu ICJjYXBpdGFsaXN0IiBzdGF0ZSBwcm92aWRlZCB0aGUgbGFuZCBncmFudHMgd2hpbGUgdGhlIHll dCB0byBiZSAiY29tbXVuaXN0cyIgZGlkbid0Lg0KDQpCb2INCj4gV2VsbCwgaWYgdGhhdCB3ZXJl IHRoZSBjYXNlLCBJIGJlbGlldmUgdGhhdCB3b3VsZCBzdXBwb3J0IG15IHRoZXNpczoNCj4gdGhl IHByb2JsZW0gaXMgbGFjayBvZiBjb21wZXRpdGlvbi4gVGhlIHJlYXNvbiBmb3IgdGhlIGxhY2sg b2YNCj4gY29tcGV0aXRpb24gaXMgYSBtaXggb2YgbG9jYWwgY29udHJhY3RzIGFuZCBsZWdpc2xh dGl2ZSBwcm9ibGVtcy4NCj4gRXNwZWNpYWxseSBpbiBtb3JlIHJ1cmFsIGFyZWFzLCBvbmUgY2Fu IHVuZGVyc3RhbmQgaG93IGdldHRpbmcgYSBjYWJsZQ0KPiBjb21wYW55IHRvIGJ1aWxkIG91dCB0 aGUgaW5mcmFzdHJ1Y3R1cmUgbWF5IGhhdmUgcmVxdWlyZWQgYSBwcm9taXNlIG9mDQo+IGV4Y2x1 c2l2aXR5IOKAkyBvdGhlcndpc2UsIHRoZXkgd291bGQgbm90IGhhdmUgYmVlbiB3aWxsaW5nIHRv IGluY3VyIHRoZQ0KPiBzdWJzdGFudGlhbCBjb3N0IG9mIGJ1aWxkaW5nIG91dCB0aGUgY2FwYWNp dHksIGVzcGVjaWFsbHkgaW4gYQ0KPiBsb3ctZGVuc2l0eSBhcmVhLiBBcyB0aGUgc21hbGxlciBs b2NhbCBjYWJsZSBjb21wYW5pZXMgd2VyZSBhY3F1aXJlZA0KPiBieSB0aGUgbW9kZXJuIGJlaGVt b3RocywgdGhleSBtYWludGFpbmVkIHRoZSBtb25vcG9saXN0aWMgY29udHJvbCBvdmVyDQo+IHRo b3NlIHJlZ2lvbnMuIFNvbWUgZG8gYXV0b21hdGljYWxseSB0aW1lLW91dCB0byBhbGxvdyBjb21w ZXRpdGlvbg0KPiBldmVudHVhbGx5LiBNYW55IGRvIG5vdC4NCj4gDQo+IEluIHJlYWxpdHksIHRo ZXJlIGFyZSBhbHRlcm5hdGl2ZXMgaW4gbW9zdCBwbGFjZXMsIGp1c3Qgbm90IGdlbmVyYWxseQ0K PiB2ZXJ5IGdvb2QgYWx0ZXJuYXRpdmVzOg0KPiANCj4gRFNMIGlzIGF2YWlsYWJsZSBpbiBtb3N0 IHBsYWNlcyAoSSBzdXNwZWN0IG1vcmUgYnJvYWRseSBhdmFpbGFibGUgdGhhdA0KPiBjYWJsZSBJ bnRlcm5ldCkuIFVuZm9ydHVuYXRlbHksIGFuZCBJIHN1c3BlY3QgbWFueSBoZXJlIGNhbiBzcGVh ayBtb3JlDQo+IGtub3dsZWRnZWFibHkgdGhhbiBJIG9uIHRoZSB1bmRlcmx5aW5nIHRlY2hub2xv Z3ksIERTTCBpcyBvZnRlbg0KPiBsaW1pdGVkIHRvIGxvd2VyIHNwZWVkcyB0aGFuIHRoZSBjYWJs ZSBvZmZlcmluZ3MsIGR1ZSB0byBpdHMgZXh0cmVtZQ0KPiBkaXN0YW5jZSBzZW5zaXRpdml0eSBh bmQgcmVsYXRpdmVseSBzaG9ydCByYW5nZS4gV2hlcmUgSSBsaXZlLCBJIGhhZCAzDQo+IERTTCBs aW5lcyBhbmQgZHVhbCBUMSdzIGNvbWJpbmVkIHZpYSBTRC1XQU4gYXMgdGhlIG9ubHkgd2F5IHRv IGdldA0KPiBzdWZmaWNpZW50IGJhbmR3aWR0aCBmb3IgdmlkZW8gY29uZmVyZW5jaW5nIGZyb20g aG9tZSB1bnRpbCBTdGFybGluaw0KPiBjYW1lIGFsb25nIGFuZCBzYXZlZCB0aGUgZGF5IGF0IGEg ZnJhY3Rpb24gb2YgdGhlIGNvc3QuIFRoZXJlIGlzIG5vDQo+IGNhYmxlIG9wdGlvbiBoZXJlIOKA kyB3ZSdyZSB0b28gcnVyYWwgdG8gYmUgd29ydGggYSBjYWJsZSBjb21wYW55J3MNCj4gZWZmb3J0 cy4gT24gdGhlIG90aGVyIGhhbmQsIGluIGFkZGl0aW9uIHRvIERTTCB3ZSBhbHNvIGhhdmUgYW5v dGhlcg0KPiB3aXJlZCBvcHRpb246IG91ciBlbGVjdHJpYyBjb21wYW55IGlzIHJ1bm5pbmcgR2Jw cyBmaWJlciBhbGwgb3Zlcg0KPiBydXJhbCBwYXJ0cyBvZiBOSCBub3csIHdoaWNoIHNob3VsZCBi ZWNvbWUgYXZhaWxhYmxlIGhlcmUgaW4gYW5vdGhlcg0KPiAxLTIgbW9udGhzLg0KPiANCj4gSnVz dCBub3J0aCBvZiBQaGlsbHksIEkgaGFkIEZpT1MgZmliZXIgYXMgYW4gb3B0aW9uIGluIGFkZGl0 aW9uIHRvDQo+IHRyYWRpdGlvbmFsIGNhYmxlLiBXaGVuIHRoYXQgYXJyaXZlZCwgYW5lY2RvdGFs bHksIEkgY2FuIHJlcG9ydCB0aGF0DQo+IGNhYmxlIGN1c3RvbWVycyB0YWxrZWQgYWJvdXQgaGVy IHRoZWlyIHNlcnZpY2UgaW1wcm92ZWQgdG9vIChkdWUgdG8NCj4gdGhlIGNvbXBldGl0aW9uLCBJ IGFtIGNvbmZpZGVudCkuDQo+IA0KPiBBbmQgb2J2aW91c2x5IG5vdCB3aXJlZCAodG8geW91ciBw b2ludCksIGJ1dCBjZWxsdWxhciBjb25uZWN0aXZpdHkgaXMNCj4gYWxzbyBhdmFpbGFibGUgaW4g bW9zdCBwbGFjZXMgdGhhdCBzdXBwb3J0IGNhYmxlLiBTdGFybGluaywgYW5kIG90aGVyDQo+IHdp cmVsZXNzIG9wdGlvbnMgYWxzbyBleGlzdCBhbmQgbWF5IGJlbmVmaXQgZnJvbSBiZWluZyBhYmxl IHRvIGxpbWl0DQo+IGNlcnRhaW4ga2luZHMgb2YgdHJhZmZpYy4NCj4gDQo+IE15IHBvaW50IGlz IG1vcmUgZ2VuZXJhbCB0aGFuIHRoZXNlIHNwZWNpZmljcyB0aG91Z2guIEkgY2F1dGlvbg0KPiBh Z2FpbnN0IHJlZ3VsYXRpbmcgYW4gaW5kdXN0cnkgd2hlcmUgd2UgZGVwZW5kIG9uIGlubm92YXRp b24gdG8NCj4gcmFkaWNhbGx5IGltcHJvdmUgcGVyZm9ybWFuY2Ugb3ZlciB0aGUgdXBjb21pbmcg ZGVjYWRlcy4gRm9yY2luZw0KPiBzcGVjaWZpYyBiZWhhdmlvciB3aWxsIHNsb3cgdGhlIHBhY2Ug b2YgaW5ub3ZhdGlvbiBvbiBjb25uZWN0aXZpdHkNCj4gaW5mcmFzdHJ1Y3R1cmUuIFRvIGJlIGZh aXIsIGl0IG1heSBzcGVlZCBjZXJ0YWluIG90aGVyIGFyZWFzIG9mDQo+IGlubm92YXRpb24gb3Ig aGVscCB3aXRoIGN1c3RvbWVyIGV4cGVyaWVuY2UgYXJvdW5kIHN0cmVhbWluZyBzZXJ2aWNlcy4N Cj4gVGhlc2Ugd2VyZSB0aGUgb3JpZ2luYWwgY2hhbXBpb25zIG9mIE5OLCBiZWNhdXNlIGl0J3Mg dG8gdGhlaXINCj4gYmVuZWZpdCwgYXQgdGhlIGNvc3Qgb2YgdGhlIGNhcnJpZXJzLg0KPiANCj4g QWdhaW4sIHRoZSBwcm9ibGVtIGlzIHdpdGggdGhlIGZvcmNlZCBtb25vcG9saWVzIGZvciBjYWJs ZSBzZXJ2aWNlLg0KPiBCcmVhayB0aGF0IHVwIGFuZCBoaXN0b3J5IHNob3dzIHRoYXQgdGhlIHJl c3Qgd2lsbCBsYXJnZWx5IHNvbHZlDQo+IGl0c2VsZi4gTm90IGltbWVkaWF0ZWx5ICh3aGljaCBp cyB3aHkgR29vZ2xlIGFuZCBOZXRmbGl4IHB1c2hlZCB0aGUNCj4gb3JpZ2luYWwgTk4gbW9kZWwg cmF0aGVyIHRoYW4gYnVzdGluZyB0aGUgcmVnaW9uYWwgY2FycmllciBleGNsdXNpdmUNCj4gbG9j a3MpLCBidXQgaW4gd2F5IHRoYXQncyBzdHJvbmdlciBpbiB0aGUgbG9uZy1ydW4uDQo+IA0KPiBP ciwgdG8gcHV0IGl0IGFub3RoZXIgd2F5LCB0aGUgb3JpZ2luYWwgTk4gcHVzaCAobm90IHN1Z2dl c3RpbmcgdGhhdCdzDQo+IHdoYXQgYW55b25lJ3MgZG9pbmcgaGVyZSkgd291bGQgaGF2ZSBqdXN0 IGJlZW4gdGhlIFVTIGdvdmVybm1lbnQNCj4gY2hvb3Npbmcgb25lIHNldCBvZiBjb21wYW5pZXMg dG8gc3VwcG9ydCBvdmVyIGFub3RoZXIuDQo+IA0KPiBDaGVlcnMsDQo+IENvbGluDQo+IA0KPiAN Cj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IHJqbWNtYWhvbiA8cmpt Y21haG9uQHJqbWNtYWhvbi5jb20+DQo+IFNlbnQ6IE1vbmRheSwgT2N0b2JlciAyLCAyMDIzIDU6 MDggUE0NCj4gVG86IE5ldHdvcmsgTmV1dHJhbGl0eSBpcyBiYWNrISBMZXTCtHMgbWFrZSB0aGUg dGVjaG5pY2FsIGFzcGVjdHMgaGVhcmQNCj4gdGhpcyB0aW1lISA8bm5hZ2FpbkBsaXN0cy5idWZm ZXJibG9hdC5uZXQ+DQo+IENjOiBDb2xpbl9IaWdiaWUgPENIaWdiaWUxQEhpZ2JpZS5uYW1lPg0K PiBTdWJqZWN0OiBSZTogW05OYWdhaW5dIE9uICJUaHJvdHRsaW5nIiBiZWhhdmlvcnMNCj4gDQo+ IEkgc2VlIGl0IHF1aXRlIGRpZmZlcmVudGx5LiBUaGUgY2FibGUgY29zIGluIHRoZSBVLlMuIGFy ZSB0aGUgcHJpbWFyeQ0KPiAob25seT8pIGNvbXBhbmllcyBwcm92aWRpbmcgd2lyZWQgYWNjZXNz LiAgVGhlIGNvbW1vbiBjYXJyaWFnZSBmaXhlZA0KPiB3aXJlcyBjbyBhbmQgdGhlaXIgcmVndWxh dG9ycyBhYmFuZG9uZWQgY29tbXVuaXRpZXMgdG8gZ28gdG8gRldBIGFzDQo+IE5vYW0gcHJlZGlj dGVkIGluIDE5OTQuIChUaGV5IHR1cm5lZCBvZmYgbXksIDQ4ViBiYXR0ZXJ5IGJhY2tlZCB1cCBp bg0KPiB0aGUgQ08sIGxhbmRsaW5lIHdpdGhvdXQgZXZlbiBsZXR0aW5nIG1lIGtub3cuIE5vIDkx MSwgbm8gZGlhbCB0b25lLA0KPiBubw0KPiBub3RoaW5nLikNCj4gDQo+IEkgdGhpbmsgd2F2ZWd1 aWRlcywgZS5nLiBmaWJlciwgdG8gYW5kIGluc2lkZSBwcmVtaXNlcyBhcmUgdGhlIG9ubHkNCj4g bG9uZyB0ZXJtIGFuc3dlciBhbmQgd2Ugc2VlbSB0byBrZWVwIGJhc2hpbmcgdGhlIGNvbXBhbmll cyBhY3R1YWxseQ0KPiBoZWxwaW5nLg0KPiANCj4gQm9iDQo+PiBXaGlsZSBwcm9kdWN0IGFuZCBz ZXJ2aWNlIGlubm92YXRpb24gb2Z0ZW4gb3JpZ2luYXRlcyBmcm9tIHB1cmUgUiZEIG9yDQo+PiB3 b3JrIHBlcmZvcm1lZCBpbiBhY2FkZW1pYyBsYWJzLCBpbiB2aXJ0dWFsbHkgYWxsIGNhc2VzLCBj b252ZXJ0aW5nDQo+PiB0aGF0IGludG8gY29tbWVyY2lhbGx5IHZpYWJsZSBwcm9kdWN0cyBhbmQg c2VydmljZXMgaXMgdGhlIHJlc3VsdCBvZg0KPj4gcHJvZml0IGluY2VudGl2ZXMuIEEgY29tcGFu eSB3b27igJl0IGludmVzdCBpbiBkb2luZyBzb21ldGhpbmcgbmV3IHdpdGgNCj4+IGF0dGVuZGFu dCByaXNrcyB1bmxlc3MgdGhleSBjYW4gZXhwZWN0IGEgcmV0dXJuIG9uIHRoYXQgaW52ZXN0bWVu dA0KPj4gZ3JlYXRlciB0aGFuIHRoZSBhbHRlcm5hdGl2ZXMgKG9yIHRoZXkgYmVsaWV2ZSBpdCB3 aWxsIHByb3ZpZGUNCj4+IHN0cmF0ZWdpYyBzdXBwb3J0IHRvIHNvbWUgb3RoZXIgcHJvZHVjdCBv ciBzZXJ2aWNlKS4gRm9yIHRoYXQgcmVhc29uLA0KPj4gd2Ugd2FudCB0byBiZSBleHRyZW1lbHkg Y2FyZWZ1bCBhYm91dCByZWd1bGF0aW5nIGhvdyBjb21wYW5pZXMgY2FuDQo+PiBpbXBsZW1lbnQg aW5ub3ZhdGlvbnMsIGluY2x1ZGluZyB0aGUgdXNlIG9mIHBvdGVudGlhbGx5IGRpc3Rhc3RlZnVs DQo+PiBidXNpbmVzcyBwcmFjdGljZXMuIE5vbmUgb2YgdXMgd2hvIHdhbnQgdG8gc2VlIHRoZSBJ bnRlcm5ldCBiZWNvbWUNCj4+IGJldHRlciBvdmVyIHRpbWUgYW5kIG1vcmUgYWNjZXNzaWJsZSBz aG91bGQgd2FudCBhbnl0aGluZyByZXNlbWJsaW5nDQo+PiBOTiByZWd1bGF0aW9uLg0KPj4gDQo+ PiBUaGUgcmVndWxhdG9yeSBzaWRlIG9mIHRoaXMgaXMgbGFyZ2VseSBub3QgYSB0ZWNobmljYWwg ZGlzY3Vzc2lvbg0KPj4gYmVjYXVzZSBmdXR1cmUgaW5ub3ZhdGlvbiwgYnkgZGVmaW5pdGlvbiwg bWF5IGV4Y2VlZCB0ZWNobmljYWwNCj4+IGNvbnNpZGVyYXRpb25zIHdlIGNhbiBjb25jZWl2ZSBv ZiB0b2RheS4NCj4+IA0KPj4gSXQncyBlYXN5IHRvIGNvbmNlaXZlIG9mIGV4YW1wbGVzIHdoZXJl IGFuIElTUCB3YW50cyB0byBwcmlvcml0aXplIG9yDQo+PiBwZW5hbGl6ZSBjZXJ0YWluIGtpbmRz IG9mIHRyYWZmaWMuIEFuZCB3aGlsZSB0aGF0IG1heSBzZWVtDQo+PiBzdXBlcmZpY2lhbGx5IGJh ZCwgaXTigJlzIGFuIGltcG9ydGFudCBwYXJ0IG9mIHRoZSB2ZXJ5IGNvbXBldGl0aW9uIHRoYXQN Cj4+IGRyaXZlcyBpbm5vdmF0aW9uIGFuZCBjb3N0IHJlZHVjdGlvbnMgb3ZlciB0aW1lLiBFLmcu LCByZWNhbGwgd2hlbg0KPj4gR29vZ2xlIEZpYmVyIGhhZCBiZWVuIHdpbGxpbmcgdG8gaW5zdGFs bCBHYnBzIGZpYmVyIGluIHBsYWNlcyBhdCBhDQo+PiB0aW1lIHdoZW4gbW9zdCBvZiB0aGUgcmVz dCBvZiB0aGUgY291bnRyeSB3YXMgc3RydWdnbGluZyB0byBnZXQgMjBNYnBzDQo+PiBjb25uZWN0 aW9ucy4gSWYgR29vZ2xlIGhhZCB3YW50ZWQgdG8gbGltaXQgdGhhdCB0byBHb29nbGUgc2Vydmlj ZXMsDQo+PiB0aGF0IHN0aWxsIG1pZ2h0IGhhdmUgYmVlbiBhIGJvb24gdG8gdGhvc2UgY3VzdG9t ZXJzLg0KPj4gRnVydGhlciwgaXQgY291bGQgaGF2ZSBzaG93biB0aGUgdXNlcyBhbmQgdmFsdWVz IG9mIHdoYXQgd2FzIHRoZW4NCj4+IGNvbnNpZGVyZWQgbGltaXRsZXNzIGJhbmR3aWR0aCBmb3Ig YSBob21lIG9yIHNtYWxsIGJ1c2luZXNzIHVzZXIuIEV2ZW4NCj4+IHRob3VnaCB0aGlzIHdvdWxk IGNsZWFybHkgaGF2ZSBiZWVuIGluIHZpb2xhdGlvbiBvZiB0aGUgdGVuZXRzIG9mIE5OLA0KPj4g aXQgd291bGQgaGF2ZSBwcm92aWRlZCBpbXBvcnRhbnQgZGF0YSB0aGF0IG1pZ2h0IGhhdmUgc3Bh d25lZA0KPj4gc2lnbmlmaWNhbnQgaW52ZXN0bWVudCBieSBvdGhlcnMgYW5kIGFkdmFuY2VkIHRo ZSBzdGF0ZSBvZg0KPj4gY29ubmVjdGl2aXR5IGFjcm9zcyB0aGUgYm9hcmQuDQo+PiANCj4+IEkg a25vdyB0aGUgY291bnRlciBhcmd1bWVudCB0byB0aGlzIGlzIHRoYXQgbG9jYWwgSVNQIG1vbm9w b2xpZXMNCj4+IGFscmVhZHkgYnJlYWsgaW5ub3ZhdGlvbiwgYW5kIHRob3NlIGNvbXBhbmllcywg ZXNwZWNpYWxseSB0aGUgYmlnDQo+PiBjYWJsZSBjb21wYW5pZXMsIHRoZXJlZm9yZSBoYXZlIG5v IGluY2VudGl2ZSB0byBwcm92aWRlIGEgZ29vZA0KPj4gc2VydmljZS4gSSBsYXJnZWx5IGFncmVl IHdpdGggdGhhdCAodGhlcmUgaXMgc3RpbGwgc29tZSBzbWFsbA0KPj4gaW5jZW50aXZlLCBpbiB0 aGF0IGlmIHRoZXkgYXJlIHRvbyB0ZXJyaWJsZSwgY3VzdG9tZXIgb3V0Y3J5IHdpbGwgdHVybg0K Pj4gdG8gdm90ZXIgb3V0Y3J5IGFuZCBkZW1hbmQgYnJlYWtpbmcgdGhvc2UgbW9ub3BvbGllcywg YW5kIHRoZXkgZG9u4oCZdA0KPj4gd2FudCB0byByaXNrIHRoYXQpLg0KPj4gDQo+PiBUaGVyZWZv cmUsIHRoZSBsZWdhbCBpc3N1ZSB0byBhZGRyZXNzIGlzIE5PVCBob3cgdGhleSB0cmVhdCBvcg0K Pj4gcHJpb3JpdGl6ZSBkYXRhLCB3aGV0aGVyIGJ5IGNvbnRlbnQgb3IgcHJvdG9jb2wg4oCTIHdo aWNoIHRoZXkgc2hvdWxkIGJlDQo+PiBhbGxvd2VkIHRvIGRvLCBFVkVOIFdIRU4gSVTigJlTIEJB RCBGT1IgQ1VTVE9NRVJTIOKAkyBidXQsIGF0IGxlYXN0DQo+PiByZWZlcnJpbmcgdG8gdGhlIFUu Uy4gc3BlY2lmaWNhbGx5IHdpdGggb3VyIGZlZGVyYWwvc3RhdGUgc3lzdGVtLCB0bw0KPj4gcHV0 IGZlZGVyYWwgbGltaXRzIG9uIGR1cmF0aW9ucyBvZiByZWdpb25hbCBtb25vcG9seSBkdXJhdGlv bnMuIEkNCj4+IGJlbGlldmUgdGhpcyBpcyB3aXRoaW4gdGhlIHNjb3BlIG9mIHdoYXQgRkNDIGNh biBtYW5kYXRlIChzb21lIHdvdWxkDQo+PiBkZWJhdGUgdGhpcyBhbmQgaXQgbWF5IHRha2UgdGhl IGNvdXJ0cyB0byBzb3J0IGl0IG91dCkuIFRoZXNlIG5lZWQgbm90DQo+PiBiZSBwdXJlbHkgIyBv ZiB5ZWFycywgdGhleSBjYW4gYmUgYSBmdW5jdGlvbiBvZiB0aW1lIHRvIHJlY291cA0KPj4gZGVw bG95bWVudCBjb3N0cy4gSWYgYSBjb21wYW55IG5lZ290aWF0ZWQgYSBsb2NhbCBtb25vcG9seSBh cyBwYXJ0IG9mDQo+PiBjb3ZlcmluZyB0aGVpciBkZXBsb3ltZW50IGNvc3RzLCBJIHdvdWxkIHBl cnNvbmFsbHkgc2F5IHRoYXQgdGhleQ0KPj4gc2hvdWxkIGJlIGdpdmVuIGFuIG9wcG9ydHVuaXR5 IHRvIHJlY291cCB0aG9zZSwgYnV0IHRoZW4gYWZ0ZXIgdGhhdCwNCj4+IHRoZXkgbmVlZCB0byBv cGVuIHVwIHRoZWlyIGxpbmVzIGZvciB1c2UgYnkgY29tcGV0aW5nIGZpcm1zLCBzaW1pbGFyDQo+ PiB0byB3aGF0IGhhcHBlbmVkIHdpdGggdGhlIFJCT0NzIGFuZCB0aGUgb2xkIHRlbGVwaG9uZSBs aW5lcy4NCj4+IA0KPj4gVGhpcyBpcyBhbHNvIHRoZSBsZWdhbCBsb2dpYyBiZWhpbmQgcGF0ZW50 czogZ2l2ZSBhIGNvbXBhbnkgYSAyMCB5ZWFyDQo+PiBtb25vcG9seSBvbiB0aGUgaW52ZW50aW9u IGluIGV4Y2hhbmdlIGZvciBtYWtpbmcgaXQgcHVibGljIHRvIGV2ZXJ5b25lDQo+PiBhbmQgc2hv d2luZyB0aGVtIGhvdyB0byBkbyBpdCAodGhlIHBhdGVudCBtdXN0IHByb3ZpZGUgY2xlYXINCj4+ IGluc3RydWN0aW9ucykuIFdlIGRlZW0gdGhlIHRlbXBvcmFyeSBtb25vcG9seSB3b3J0aHdoaWxl IHRvIGluY2VudCB0aGUNCj4+IGlubm92YXRpb24sIHByb3ZpZGVkIHRoZSBpbnZlbnRvciBtYWtl cyBpdCBwdWJsaWMuIFRoaXMgaXMgdGhlIHJpZ2h0DQo+PiBwaGlsb3NvcGh5IHRvIGNvbnNpZGVy IGZvciBzb21ldGhpbmcgbGlrZSBiYW5kd2lkdGggaW5ub3ZhdGlvbiwNCj4+IGludmVzdG1lbnQs IGFuZCBhY2Nlc3MuDQo+PiANCj4+IEluIHNob3J0LCB3aXRoIElTUOKAmXMgdGhlIG9wZW4tZW5k ZWQgZ292ZXJubWVudCBwcm90ZWN0ZWQgbW9ub3BvbGllcw0KPj4gYXJlIHRoZSBwcm9ibGVtLCBu b3QgdGhlIHByb3ZpZGVyc+KAmSBhYmlsaXR5IHRvIG92ZXJjaGFyZ2UgY3VzdG9tZXJzIG9yDQo+ PiBwcmlvcml0aXplIHNvbWUgZGF0YSBvdmVyIG90aGVycy4gQ29tcGV0aXRpb24gd2lsbCBmaXgg dGhhdCBvdmVyIHRpbWUsDQo+PiBhcyBsb25nIGFzIGNvbXBldGl0aW9uIGlzIGFsbG93ZWQgdG8g b2NjdXIuIEFuZCB3aGlsZSBpdCBtYXkgYmUgZmFzdGVyDQo+PiB0byBmb3JjZSBpdCB0aHJvdWdo IHJlZ3VsYXRpb24sIHRoYXQgaGFzIGRhbmdlcm91cyBsb25nLXRlcm0NCj4+IGNvbnNlcXVlbmNl cyB3aXRoIHJlc3BlY3QgdG8gZnV0dXJlIGlubm92YXRpb24uDQo+PiANCj4+IFN0YXJsaW5rIGlz IG9uZSBleGFtcGxlIG9mIGlubm92YXRpb24uIEZUVEggaXMgYW5vdGhlci4gQ2VsbHVsYXItYmFz ZWQNCj4+IEludGVybmV0IGlzIGFub3RoZXIuIFNpbXBseSBidXlpbmcgYnVsayBhY2Nlc3Mgb24g ZXhpc3RpbmcgbGluZXMgYW5kDQo+PiByZXBhY2thZ2luZyBpdCB1bmRlciBkaWZmZXJlbnQgdGVy bXMgY291bGQgYmUgeWV0IGFub3RoZXIuIFRob3NlIGFsbA0KPj4gc2VlbSBvYnZpb3VzLCBiZWNh dXNlIHRoZXnigJlyZSB0aGUgb25lcyB3ZSBrbm93LiBUaGUgcmVhbCBkYW5nZXIgaW4NCj4+IHVu Zm9yZXNlZW4gY29uc2VxdWVuY2VzIGlzIHRoZSBkYW1wZW5pbmcgZWZmZWN0IE5OLXN0eWxlIHJl Z3VsYXRpb25zDQo+PiBoYXZlIG9uIHlldC10by1iZS1zZWVuIGlubm92YXRpb25zLCB0aGUgaW5u b3ZhdGlvbnMgdGhhdCBuZXZlciBjb21lIHRvDQo+PiBmcnVpdGlvbiBiZWNhdXNlIG9mIHRoZSBy ZWd1bGF0aW9ucy4NCj4+IA0KPj4gQ2hlZXJzLA0KPj4gDQo+PiBDb2xpbiBIaWdiaWUNCj4+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+PiBObmFnYWlu IG1haWxpbmcgbGlzdA0KPj4gTm5hZ2FpbkBsaXN0cy5idWZmZXJibG9hdC5uZXQNCj4+IGh0dHBz Oi8vbGlzdHMuYnVmZmVyYmxvYXQubmV0L2xpc3RpbmZvL25uYWdhaW4NCg==