From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D4C9FC33C9E for ; Wed, 15 Jan 2020 01:35:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5D84B24658 for ; Wed, 15 Jan 2020 01:35:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=hammerspace.com header.i=@hammerspace.com header.b="f1rj1mPJ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728885AbgAOBfA (ORCPT ); Tue, 14 Jan 2020 20:35:00 -0500 Received: from mail-eopbgr700091.outbound.protection.outlook.com ([40.107.70.91]:32187 "EHLO NAM04-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728844AbgAOBe7 (ORCPT ); Tue, 14 Jan 2020 20:34:59 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dKXVBGAwYPzflje/O6Jqd7WrVzB59QWwkT9M0N6mvHswQx1Edb+Fa7LYEsxKA//0TwcT06cYVQ3fFFRK9MKji5gVSd73Svut5RMn36Kn5Dzcl+itJN4prt4TT4NtPq1ZR7yt8ZpCu7j8Hx44oNUI6E6l5McZ8NG7drT5mqHV0Hz+QgAl7VTZ2sOUg+Am2W0b4SXg4gLLBi5wbXq3rJA+ls0ffIz1HLOadcy7L/TZY6k7cjvC89BszQzjAP8hrY9qq4CyZ5QFWVsOhuiSAlFDOLS0iSdWBEK9G9qVmyz74+74NBu/3vFhWT9oI0SJgBPDbwAyblVnfZXfycuBTpVjcw== 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-SenderADCheck; bh=qynopy1Wi5GUDYy3zWmXVgNQ9NEmdM1lXlGSBTumYGc=; b=AIF3iQtyopEQy6DDxbKWTGNBpAGU1vtE2+USUwt94hU+VZkkxkTZ0wc+GSkhdp3dpF9gWbKmbicbOc/NSWu5ZpoxYOPfkpGTGFRmiOpgxk6Tef046HIvjKLo7Pq41H3ZqXFPkjoGI6pmQYW4VqDUtFHv5TgJbu7Lcl+1J8KvCq81hC7hb6tLITnvJUWwmxQ45c9jmgAGFZVO6toXfBbGH887MN4oBShay4DKjWulq+qNvsR4cbaXiCqSPUYe9v1SppBBtIWzEy6jiaVmsb7dWpuBN2g3XnO8fVX6Fy+2jfUXj1N9Jm7Q2Hv5jHdCV1p9RGO+ibWw7vM0icwH6e7LFw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hammerspace.com; dmarc=pass action=none header.from=hammerspace.com; dkim=pass header.d=hammerspace.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammerspace.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qynopy1Wi5GUDYy3zWmXVgNQ9NEmdM1lXlGSBTumYGc=; b=f1rj1mPJ+1U98DgOJ3dxhjE5FMNr/1U5hN31ocbeS+WboIp9HYXDJSyzdPFOsKGwWUjMNFSnI3B/K679p/t5tIhwQmXjSErMr433k6/FcoJthkgw/lOwZ5agP3tcG6/U1ugDlESALBJOYFhS4VQzcaOWiuxwW+mQFK9fHuh/k/Q= Received: from DM5PR1301MB2108.namprd13.prod.outlook.com (10.174.186.34) by DM5PR1301MB2043.namprd13.prod.outlook.com (10.174.185.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2644.6; Wed, 15 Jan 2020 01:34:51 +0000 Received: from DM5PR1301MB2108.namprd13.prod.outlook.com ([fe80::2d32:cf4b:1b58:16ce]) by DM5PR1301MB2108.namprd13.prod.outlook.com ([fe80::2d32:cf4b:1b58:16ce%7]) with mapi id 15.20.2644.015; Wed, 15 Jan 2020 01:34:51 +0000 From: Trond Myklebust To: "aglo@umich.edu" CC: "linux-nfs@vger.kernel.org" Subject: Re: interrupted rpcs problem Thread-Topic: interrupted rpcs problem Thread-Index: AQHVx+xAF9geEgvaYEKYoTth6kuH4qfkYv+AgARkqICAAAtUAIAAFlKAgAAEV4CAACzHgIAADPCAgAFdtoCAACQbgIAALj0AgAAgsYA= Date: Wed, 15 Jan 2020 01:34:51 +0000 Message-ID: References: <3b89b01911b5149533e45478fdcec941a4f915ba.camel@hammerspace.com> <185a1505f75a36d852df7a9351d6bb776103c506.camel@hammerspace.com> <1538116fa0b35674da7242e9fadf19ddeca5e2c2.camel@hammerspace.com> <1f7833103abdeb9976d5c0aa2f4c1f7c5f06edb4.camel@hammerspace.com> In-Reply-To: Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=trondmy@hammerspace.com; x-originating-ip: [68.40.189.247] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9176a824-6dcf-4fbe-e5d9-08d7995b1db0 x-ms-traffictypediagnostic: DM5PR1301MB2043: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 02830F0362 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(396003)(39830400003)(366004)(376002)(346002)(136003)(199004)(189003)(86362001)(6916009)(6486002)(8936002)(30864003)(478600001)(4326008)(6512007)(71200400001)(186003)(64756008)(66556008)(2906002)(81166006)(66446008)(26005)(8676002)(316002)(5660300002)(7116003)(81156014)(36756003)(2616005)(66476007)(91956017)(76116006)(66946007)(53546011)(6506007)(3480700007)(15974865002)(579004);DIR:OUT;SFP:1102;SCL:1;SRVR:DM5PR1301MB2043;H:DM5PR1301MB2108.namprd13.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: hammerspace.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bKsGJHiurzTo3d7cpQsNyuJlbIjG+SPYtdr5tPvLcMtLTa4cw4L3Q534c5qgiWQK/WdPbvKH6ab00aIBF8oA+hHz1UaW/L8bF3yQZC1HvcJUJeJmclkl/8RdcExCZET4ZGagJZoZdJvmAi7DsDdxUCXCYyDAde/4C8ZyM6U49GtgiwFYVTxoRi9jD8VhzbJVeEIn+buVhpfW/P1Xb11wdcCaRQsjsVO86VriGa8gRuwUdBtYuYV7c8Sha8HdvwGSQ5Jeif5IwLt3GF4uVVBFm7/8oYY0/1AQwa+QRLWcv3Qs2y5lPTmvcrbnC9Pi9yhGv6TCaTr4tHSaWVSf5tZFVi9Sv8WMZ+Qd3gS5N6ax3FHcX0Wfo5SjoHel+ST2wzsQerpiF6eH2LpF993SpBqM3wT08/vd3ZjHYweEU//k0DPRPft4IzCC7eXW7hOFDhkysRzY0q5PoqhvnMWkbtzK4B5Ge8O132KKefA5yTHPaARp/p9elPBWKk3lLCLEPwIzkbmoo4fbIc5Evf0z4zKxhg== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <3AE31DCF4F49994BA02A4AFC24A175DE@namprd13.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9176a824-6dcf-4fbe-e5d9-08d7995b1db0 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jan 2020 01:34:51.4051 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d4fed5c-3a70-46fe-9430-ece41741f59e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: sy037x8LXpXPMD3r07IaPVogtrnZTNdx78qfGKWZBG6YAQtmTsDJB3k92CogvyYs8zKFFRuObwIDDCfaNseL0g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1301MB2043 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org T24gVHVlLCAyMDIwLTAxLTE0IGF0IDE4OjM3IC0wNTAwLCBPbGdhIEtvcm5pZXZza2FpYSB3cm90 ZToNCj4gT24gVHVlLCBKYW4gMTQsIDIwMjAgYXQgMzo1MiBQTSBUcm9uZCBNeWtsZWJ1c3QgPA0K PiB0cm9uZG15QGhhbW1lcnNwYWNlLmNvbT4gd3JvdGU6DQo+ID4gT24gVHVlLCAyMDIwLTAxLTE0 IGF0IDEzOjQzIC0wNTAwLCBPbGdhIEtvcm5pZXZza2FpYSB3cm90ZToNCj4gPiA+IE9uIE1vbiwg SmFuIDEzLCAyMDIwIGF0IDQ6NTEgUE0gVHJvbmQgTXlrbGVidXN0IDwNCj4gPiA+IHRyb25kbXlA aGFtbWVyc3BhY2UuY29tPiB3cm90ZToNCj4gPiA+ID4gT24gTW9uLCAyMDIwLTAxLTEzIGF0IDE2 OjA1IC0wNTAwLCBPbGdhIEtvcm5pZXZza2FpYSB3cm90ZToNCj4gPiA+ID4gPiBPbiBNb24sIEph biAxMywgMjAyMCBhdCAxOjI0IFBNIFRyb25kIE15a2xlYnVzdCA8DQo+ID4gPiA+ID4gdHJvbmRt eUBoYW1tZXJzcGFjZS5jb20+IHdyb3RlOg0KPiA+ID4gPiA+ID4gT24gTW9uLCAyMDIwLTAxLTEz IGF0IDEzOjA5IC0wNTAwLCBPbGdhIEtvcm5pZXZza2FpYSB3cm90ZToNCj4gPiA+ID4gPiA+ID4g T24gTW9uLCBKYW4gMTMsIDIwMjAgYXQgMTE6NDkgQU0gVHJvbmQgTXlrbGVidXN0DQo+ID4gPiA+ ID4gPiA+IDx0cm9uZG15QGhhbW1lcnNwYWNlLmNvbT4gd3JvdGU6DQo+ID4gPiA+ID4gPiA+ID4g T24gTW9uLCAyMDIwLTAxLTEzIGF0IDExOjA4IC0wNTAwLCBPbGdhIEtvcm5pZXZza2FpYQ0KPiA+ ID4gPiA+ID4gPiA+IHdyb3RlOg0KPiA+ID4gPiA+ID4gPiA+ID4gT24gRnJpLCBKYW4gMTAsIDIw MjAgYXQgNDowMyBQTSBUcm9uZCBNeWtsZWJ1c3QgPA0KPiA+ID4gPiA+ID4gPiA+ID4gdHJvbmRt eUBoYW1tZXJzcGFjZS5jb20+IHdyb3RlOg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBPbiBGcmksIDIw MjAtMDEtMTAgYXQgMTQ6MjkgLTA1MDAsIE9sZ2ENCj4gPiA+ID4gPiA+ID4gPiA+ID4gS29ybmll dnNrYWlhDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHdyb3RlOg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IEhpIGZvbGtzLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IFdlIGFyZSBoYXZpbmcgYW4gaXNzdWUgd2l0aCBhbiBpbnRlcnJ1cHRlZCBSUENzDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gYWdhaW4uDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gSGVyZSdzDQo+ID4g PiA+ID4gPiA+ID4gPiA+ID4gd2hhdCBJDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gc2VlIHdoZW4g eGZzdGVzdHMgd2VyZSBjdHJsLWMtZWQuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gZnJhbWUgMzMyIFNFVEFUVFIgY2FsbCBzbG90PTAgc2VxaWQ9MHgwMDAw MTNjYQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IChJJ20NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBh c3N1bWluZw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHRoaXMNCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiBpcw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGludGVycnVwdGVkIGFuZCByZWxlYXNlZCkNCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiBmcmFtZSAzMzMgQ0xPU0UgY2FsbCBzbG90PTANCj4gPiA+ID4g PiA+ID4gPiA+ID4gPiBzZXFpZD0weDAwMDAxM2NiICAob25seQ0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+IHdheQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IHNsb3QNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBjb3VsZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IGJlIGZyZWUgYmVmb3JlIHRoZSByZXBseSBpZiBpdCB3YXMgaW50ZXJydXB0ZWQsDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gcmlnaHQ/DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gT3RoZXJ3aXNlDQo+ ID4gPiA+ID4gPiA+ID4gPiA+ID4gd2UNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBzaG91bGQgbmV2 ZXIgaGF2ZSB0aGUgc2xvdCB1c2VkIGJ5IG1vcmUgdGhhbiBvbmUNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPiBvdXRzdGFuZGluZw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IFJQQykNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiBmcmFtZSAzMzQgcmVwbHkgdG8gMzMzIHdpdGggU0VRX01JU19PUkRFUkVEIChJ J20NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBhc3N1bWluZw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IHNlcnZlcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHJlY2VpdmVkIGZyYW1lIDMzMyBiZWZvcmUg MzMyKQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGZyYW1lIDMzNiBDTE9TRSBjYWxsIHNsb3Q9MCBz ZXFpZD0weDAwMDAxM2NhICg/Pz8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiB3aHkNCj4gPiA+ID4g PiA+ID4gPiA+ID4gPiBkaWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiB3ZQ0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+IGRlY3JlbWVudGVkIGl0LiBJIG1lYW4gSSBrbm93IHdoeSBpdCdzIGluIHRoZQ0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+IGN1cnJlbnQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBjb2Rl IDotDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gLyApDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZnJh bWUgMzM3IHJlcGx5IHRvIDMzNiBTRVFVRU5DRSB3aXRoIEVSUl9ERUxBWQ0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+IGZyYW1lIDMzOSByZXBseSB0byAzMzIgU0VUQVRUUiB3aGljaCBub2JvZHkgaXMN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiB3YWl0aW5nDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZm9y DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZnJhbWUgNTQzIENMT1NFIGNhbGwgc2xvdD0wIHNlcWlk PTB4MDAwMDEzY2ENCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAocmV0cnkNCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiBhZnRlcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHdhaXRpbmcNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiBmb3INCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBlcnJfZGVsYXkpDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gZnJhbWUgNTQ0IHJlcGx5IHRvIDU0MyB3aXRoIFNFVEFUVFIgKG91dCBv ZiB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBjYWNoZSkuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gV2hhdCB0aGlzIGxlYWRzIHRvIGlzOiBmaWxlIGlz IG5ldmVyIGNsb3NlZCBvbg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+IHNlcnZlci4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBDYW4ndA0KPiA+ID4gPiA+ ID4gPiA+ID4gPiA+IHJlbW92ZSBpdC4gVW5tb3VudCBmYWlscyB3aXRoIENMSURfQlVTWS4NCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBJIGJlbGlldmUgdGhh dCdzIHRoZSByZXN1bHQgb2YgY29tbWl0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gMzQ1M2Q1NzA4 YjMzZWZlNzZmNDBlY2ExYzBlZDYwOTIzMDk0Yjk3MS4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBX ZSB1c2VkIHRvIGhhdmUgY29kZSB0aGF0IGJ1bXBlZCB0aGUgc2VxdWVuY2UgdXANCj4gPiA+ID4g PiA+ID4gPiA+ID4gPiB3aGVuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4g PiA+ID4gPiA+ID4gc2xvdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHdhcw0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+IGludGVycnVwdGVkIGJ1dCBhZnRlciB0aGUgY29tbWl0ICJORlN2NC4xOiBBdm9p ZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGZhbHNlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gcmV0 cmllcw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHdoZW4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBS UEMgY2FsbHMgYXJlIGludGVycnVwdGVkIi4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPiBDb21taXQgaGFzIHRoaXMgIlRoZSBvYnZpb3VzIGZpeCBpcyB0byBi dW1wIHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHNlcXVlbmNlDQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gbnVtYmVyDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gcHJlLWVtcHRpdmVseSBpZiBhbg0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICBSUEMgY2FsbCBpcyBpbnRlcnJ1cHRlZCwgYnV0IGlu IG9yZGVyIHRvIGRlYWwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiB3aXRoDQo+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gY29ybmVyDQo+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gY2FzZXMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgd2hlcmUgdGhlIGludGVy cnVwdGVkIGNhbGwgaXMgbm90IGFjdHVhbGx5DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gcmVjZWl2 ZWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBhbmQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBwcm9j ZXNzZWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBieQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAg ICB0aGUgc2VydmVyLCB3ZSBuZWVkIHRvIGludGVycHJldCB0aGUgZXJyb3INCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiBORlM0RVJSX1NFUV9NSVNPUkRFUkVEDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g ICAgIGFzIGEgc2lnbiB0aGF0IHdlIG5lZWQgdG8gZWl0aGVyIHdhaXQgb3INCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiBsb2NhdGUgYQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGNvcnJlY3QNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPiBzZXF1ZW5jZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICBudW1i ZXIgdGhhdCBsaWVzIGJldHdlZW4gdGhlIHZhbHVlIHdlIHNlbnQsDQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gYW5kDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gbGFzdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHZhbHVlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gdGhhdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICB3YXMgYWNrZWQgYnkgYSBTRVFVRU5D RSBjYWxsIG9uIHRoYXQgc2xvdC4iDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4g PiA+ID4gPiA+ID4gSWYgd2UgY2FuJ3Qgbm8gbG9uZ2VyIGp1c3QgYnVtcCB0aGUgc2VxdWVuY2Ug dXAsDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gSQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGRvbid0 DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gdGhpbmsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiB0aGUN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBjb3JyZWN0IGFjdGlvbiBpcyB0byBhdXRvbWF0aWNhbGx5 IGJ1bXAgaXQgZG93bg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IChhcw0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+IHBlcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGV4YW1wbGUNCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiBoZXJlKT8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBUaGUgY29tbWl0IGRvZXNuJ3Qg ZGVzY3JpYmUgdGhlIGNvcm5lciBjYXNlIHdoZXJlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gaXQN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiB3YXMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBuZWNlc3Nh cnkgdG8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBidW1wIHRoZSBzZXF1ZW5jZSB1cC4gSSB3b25k ZXIgaWYgd2UgY2FuIHJldHVybg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ ID4gPiA+ID4gPiA+IGtub3dsZWRnZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IG9mDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gaW50ZXJydXB0ZWQgc2xv dCBhbmQgbWFrZSBhIGRlY2lzaW9uIGJhc2VkIG9uDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gdGhh dCBhcw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHdlbGwgYXMNCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiB3aGF0ZXZlcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHRoZSBvdGhlciBjb3JuZXIgY2FzZSBp cy4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBJIGd1ZXNz IHdoYXQgSSdtIGdldHRpbmcgaXMsIGNhbiBzb21lYm9keSAoVHJvbmQpDQo+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gcHJvdmlkZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+IGluZm8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBmb3INCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiB0aGUgY29ybmVyIGNhc2UgZm9yIHRoaXMgdGhhdCBwYXRjaCB3YXMgY3JlYXRlZC4N Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBJDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gY2FuDQo+ID4g PiA+ID4gPiA+ID4gPiA+ID4gc2VlIGlmDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gSQ0KPiA+ID4g PiA+ID4gPiA+ID4gPiA+IGNhbg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGZpeCB0aGUgImNvbW1v biIgY2FzZSB3aGljaCBpcyBub3cgYnJva2VuIGFuZCBub3QNCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiBicmVhaw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IGNvcm5lcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGNhc2UuLi4uDQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBUaGVyZSBp cyBubyBwdXJlIGNsaWVudCBzaWRlIHNvbHV0aW9uIGZvciB0aGlzDQo+ID4gPiA+ID4gPiA+ID4g PiA+IHByb2JsZW0uDQo+ID4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBU aGUgY2hhbmdlIHdhcyBtYWRlIGJlY2F1c2UgaWYgeW91IGhhdmUgbXVsdGlwbGUNCj4gPiA+ID4g PiA+ID4gPiA+ID4gaW50ZXJydXB0aW9ucw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBvZg0KPiA+ID4g PiA+ID4gPiA+ID4gPiB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gUlBDIGNhbGwsIHRoZW4gdGhl IGNsaWVudCBoYXMgdG8gc29tZWhvdyBmaWd1cmUgb3V0DQo+ID4gPiA+ID4gPiA+ID4gPiA+IHdo YXQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGNvcnJlY3QN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gc2xvdCBudW1iZXIgaXMuIElmIGl0IHN0YXJ0cyBsb3csIGFu ZCB0aGVuIGdvZXMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gaGlnaCwNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gYW5kDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBzZXJ2 ZXIgaXMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gbm90IGNhY2hpbmcgdGhlIGFyZ3VtZW50cyBmb3Ig dGhlIFJQQyBjYWxsIHRoYXQgaXMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gaW4NCj4gPiA+ID4gPiA+ ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHNlc3Npb24NCj4gPiA+ID4gPiA+ID4g PiA+ID4gY2FjaGUsIHRoZW4gd2Ugd2lsbCBfYWx3YXlzXyBoaXQgdGhpcyBidWcgYmVjYXVzZQ0K PiA+ID4gPiA+ID4gPiA+ID4gPiB3ZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiB3aWxsDQo+ID4gPiA+ ID4gPiA+ID4gPiA+IGFsd2F5cw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBoaXQNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gdGhlIHJlcGxheSBvZiB0aGUgbGFzdCBlbnRyeS4NCj4gPiA+ID4gPiA+ID4gPiA+ ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+IEF0IGxlYXN0IGlmIHdlIHN0YXJ0IGhpZ2gsIGFuZCBp dGVyYXRlIGJ5IGxvdywgdGhlbg0KPiA+ID4gPiA+ID4gPiA+ID4gPiB3ZQ0KPiA+ID4gPiA+ID4g PiA+ID4gPiByZWR1Y2UNCj4gPiA+ID4gPiA+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiA+ID4g PiA+IHByb2JsZW0gdG8gYmVpbmcgYSByYWNlIHdpdGggdGhlIHByb2Nlc3Npbmcgb2YgdGhlDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IGludGVycnVwdGVkDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHJlcXVl c3QNCj4gPiA+ID4gPiA+ID4gPiA+ID4gYXMgaXQgaXMgaW4gdGhpcyBjYXNlLg0KPiA+ID4gPiA+ ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+ID4gSG93ZXZlciwgYXMgSSBzYWlkLCB0aGUg cmVhbCBzb2x1dGlvbiBoZXJlIGhhcyB0bw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBpbnZvbHZlDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBzZXJ2ZXIuDQo+ID4g PiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+IE9rIEkgc2VlIHlvdXIgcG9pbnQgdGhh dCBpZiB0aGUgc2VydmVyIGNhY2hlZCB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+IGFyZ3VtZW50cywN Cj4gPiA+ID4gPiA+ID4gPiA+IHRoZW4NCj4gPiA+ID4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ ID4gPiA+ID4gc2VydmVyIHdvdWxkIHRlbGwgdGhhdCAybmQgcnBjIHVzaW5nIHRoZSBzYW1lDQo+ ID4gPiA+ID4gPiA+ID4gPiBzbG90K3NlcWlkDQo+ID4gPiA+ID4gPiA+ID4gPiBoYXMNCj4gPiA+ ID4gPiA+ID4gPiA+IGRpZmZlcmVudA0KPiA+ID4gPiA+ID4gPiA+ID4gYXJncyBhbmQgd291bGQg bm90IHVzZSB0aGUgcmVwbGF5IGNhY2hlLg0KPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4g PiA+ID4gPiBIb3dldmVyLCBJIHdvbmRlciBpZiB0aGUgY2xpZW50IGNhbiBkbyBiZXR0ZXIuIENh bid0DQo+ID4gPiA+ID4gPiA+ID4gPiB3ZQ0KPiA+ID4gPiA+ID4gPiA+ID4gYmUNCj4gPiA+ID4g PiA+ID4gPiA+IG1vcmUNCj4gPiA+ID4gPiA+ID4gPiA+IGF3YXJlDQo+ID4gPiA+ID4gPiA+ID4g PiBvZiB3aGVuIHdlIGFyZSBpbnRlcnJ1cHRpbmcgdGhlIHJwYz8gRm9yIGluc3RhbmNlLCBpZg0K PiA+ID4gPiA+ID4gPiA+ID4gd2UNCj4gPiA+ID4gPiA+ID4gPiA+IGFyZQ0KPiA+ID4gPiA+ID4g PiA+ID4gaW50ZXJydXB0ZWQgYWZ0ZXIgd2Ugc3RhcnRlZCB0byB3YWl0IG9uIHRoZSBSUEMsDQo+ ID4gPiA+ID4gPiA+ID4gPiBkb2Vzbid0DQo+ID4gPiA+ID4gPiA+ID4gPiBpdA0KPiA+ID4gPiA+ ID4gPiA+ID4gbWVhbg0KPiA+ID4gPiA+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiBy cGMgaXMgc2VudCBvbiB0aGUgbmV0d29yayBhbmQgc2luY2UgbmV0d29yayBpcw0KPiA+ID4gPiA+ ID4gPiA+ID4gcmVsaWFibGUNCj4gPiA+ID4gPiA+ID4gPiA+IHRoZW4NCj4gPiA+ID4gPiA+ID4g PiA+IHNlcnZlcg0KPiA+ID4gPiA+ID4gPiA+ID4gbXVzdCBoYXZlIGNvbnN1bWVkIHRoZSBzZXFp ZCBmb3IgdGhhdCBzbG90IChpbiB0aGlzDQo+ID4gPiA+ID4gPiA+ID4gPiBjYXNlDQo+ID4gPiA+ ID4gPiA+ID4gPiBpbmNyZW1lbnQNCj4gPiA+ID4gPiA+ID4gPiA+IHNlcWlkKT8gVGhhdCdzIHRo ZSBjYXNlIHRoYXQncyBmYWlsaW5nIG5vdy4NCj4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+ICJSZWxpYWJsZSB0cmFuc3BvcnQiIGRvZXMgbm90IG1l YW4gdGhhdCBhIGNsaWVudCBrbm93cw0KPiA+ID4gPiA+ID4gPiA+IHdoYXQNCj4gPiA+ID4gPiA+ ID4gPiBnb3QNCj4gPiA+ID4gPiA+ID4gPiByZWNlaXZlZCBhbmQgcHJvY2Vzc2VkIGJ5IHRoZSBz ZXJ2ZXIgYW5kIHdoYXQgZGlkbid0Lg0KPiA+ID4gPiA+ID4gPiA+IEFsbA0KPiA+ID4gPiA+ID4g PiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiA+IGNsaWVudA0KPiA+ID4gPiA+ID4gPiA+IGtub3dzIGlz IHRoYXQgaWYgdGhlIGNvbm5lY3Rpb24gaXMgc3RpbGwgdXAsIHRoZW4gdGhlDQo+ID4gPiA+ID4g PiA+ID4gVENQDQo+ID4gPiA+ID4gPiA+ID4gbGF5ZXINCj4gPiA+ID4gPiA+ID4gPiB3aWxsDQo+ ID4gPiA+ID4gPiA+ID4ga2VlcCByZXRyeWluZyB0cmFuc21pc3Npb24gb2YgdGhlIHJlcXVlc3Qu IFRoZXJlIGFyZQ0KPiA+ID4gPiA+ID4gPiA+IHBsZW50eQ0KPiA+ID4gPiA+ID4gPiA+IG9mDQo+ ID4gPiA+ID4gPiA+ID4gZXJyb3INCj4gPiA+ID4gPiA+ID4gPiBzY2VuYXJpb3Mgd2hlcmUgdGhl IGNsaWVudCBnZXRzIG5vIGluZm9ybWF0aW9uIGJhY2sgYXMNCj4gPiA+ID4gPiA+ID4gPiB0bw0K PiA+ID4gPiA+ID4gPiA+IHdoZXRoZXINCj4gPiA+ID4gPiA+ID4gPiBvcg0KPiA+ID4gPiA+ID4g PiA+IG5vdCB0aGUgZGF0YSB3YXMgcmVjZWl2ZWQgYnkgdGhlIHNlcnZlciAoZS5nLiBkdWUgdG8N Cj4gPiA+ID4gPiA+ID4gPiBsb3N0DQo+ID4gPiA+ID4gPiA+ID4gQUNLcykuDQo+ID4gPiA+ID4g PiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gRnVydGhlcm1vcmUsIGlmIGEgUlBDIGNhbGwgaXMgaW50 ZXJydXB0ZWQgb24gdGhlDQo+ID4gPiA+ID4gPiA+ID4gY2xpZW50LA0KPiA+ID4gPiA+ID4gPiA+ IGVpdGhlcg0KPiA+ID4gPiA+ID4gPiA+IGR1ZQ0KPiA+ID4gPiA+ID4gPiA+IHRvDQo+ID4gPiA+ ID4gPiA+ID4gYSB0aW1lb3V0IG9yIGEgc2lnbmFsLA0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4g PiA+ID4gV2hhdCB0aW1lb3V0IGFyZSB5b3UgcmVmZXJyaW5nIHRvIGhlcmUgc2luY2UgNC4xIHJj cA0KPiA+ID4gPiA+ID4gPiBjYW4ndA0KPiA+ID4gPiA+ID4gPiB0aW1lb3V0LiBJDQo+ID4gPiA+ ID4gPiA+IHRoaW5rIGl0IG9ubHkgbGVhdmVzIGEgc2lnbmFsLg0KPiA+ID4gPiA+ID4gDQo+ID4g PiA+ID4gPiBJZiB5b3UgdXNlICdzb2Z0JyBvciAnc29mdGVycicgbW91bnQgb3B0aW9ucywgdGhl biBORlN2NC4xDQo+ID4gPiA+ID4gPiB3aWxsDQo+ID4gPiA+ID4gPiB0aW1lDQo+ID4gPiA+ID4g PiBvdXQgd2hlbiB0aGUgc2VydmVyIGlzIGJlaW5nIHVucmVzcG9uc2l2ZS4gVGhhdCBiZWhhdmlv dXINCj4gPiA+ID4gPiA+IGlzDQo+ID4gPiA+ID4gPiBkaWZmZXJlbnQNCj4gPiA+ID4gPiA+IHRv IHRoZSBiZWhhdmlvdXIgdW5kZXIgYSBzaWduYWwsIGJ1dCBoYXMgdGhlIHNhbWUgZWZmZWN0IG9m DQo+ID4gPiA+ID4gPiBpbnRlcnJ1cHRpbmcgdGhlIFJQQyBjYWxsIHdpdGhvdXQgdXMgYmVpbmcg YWJsZSB0byBrbm93IGlmDQo+ID4gPiA+ID4gPiB0aGUNCj4gPiA+ID4gPiA+IHNlcnZlcg0KPiA+ ID4gPiA+ID4gcmVjZWl2ZWQgdGhlIGRhdGEuDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4g PiB0aGVuIGl0IGFsbW9zdCBhbHdheXMgZW5kcyB1cCBicmVha2luZyB0aGUNCj4gPiA+ID4gPiA+ ID4gPiBjb25uZWN0aW9uIGluIG9yZGVyIHRvIGF2b2lkIGNvcnJ1cHRpb24gb2YgdGhlIGRhdGEN Cj4gPiA+ID4gPiA+ID4gPiBzdHJlYW0NCj4gPiA+ID4gPiA+ID4gPiAoYnkNCj4gPiA+ID4gPiA+ ID4gPiBpbnRlcnJ1cHRpbmcgdGhlIHRyYW5zbWlzc2lvbiBiZWZvcmUgdGhlIGVudGlyZSBSUEMN Cj4gPiA+ID4gPiA+ID4gPiBjYWxsDQo+ID4gPiA+ID4gPiA+ID4gaGFzDQo+ID4gPiA+ID4gPiA+ ID4gYmVlbg0KPiA+ID4gPiA+ID4gPiA+IHNlbnQpLiBZb3UgZ2VuZXJhbGx5IGhhdmUgdG8gYmUg bHVja3kgdG8gc2VlIHRoZQ0KPiA+ID4gPiA+ID4gPiA+IHRpbWVvdXQvc2lnbmFsDQo+ID4gPiA+ ID4gPiA+ID4gb2NjdXINCj4gPiA+ID4gPiA+ID4gPiBvbmx5IHdoZW4gYWxsIHRoZSBSUEMgY2Fs bHMgYmVpbmcgY2FuY2VsbGVkIGhhdmUNCj4gPiA+ID4gPiA+ID4gPiBleGFjdGx5DQo+ID4gPiA+ ID4gPiA+ID4gZml0DQo+ID4gPiA+ID4gPiA+ID4gaW50bw0KPiA+ID4gPiA+ID4gPiA+IHRoZQ0K PiA+ID4gPiA+ID4gPiA+IHNvY2tldCBidWZmZXIuDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ ID4gPiBXb3VsZG4ndCBhIHJldHJhbnNtaXNzaW9uIChkdWUgdG8gYSBjb25uZWN0aW9uIHJlc2V0 IGZvcg0KPiA+ID4gPiA+ID4gPiB3aGF0ZXZlcg0KPiA+ID4gPiA+ID4gPiByZWFzb24pIGJlIGRp ZmZlcmVudCBhbmQgZG9lc24ndCBpbnZvbHZlIHJlcHJvY2Vzc2luZyBvZg0KPiA+ID4gPiA+ID4g PiB0aGUNCj4gPiA+ID4gPiA+ID4gc2xvdC4NCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gSSdt IG5vdCB0YWxraW5nIGFib3V0IHJldHJhbnNtaXNzaW9ucyBoZXJlLiBJJ20gdGFsa2luZw0KPiA+ ID4gPiA+ID4gb25seQ0KPiA+ID4gPiA+ID4gYWJvdXQNCj4gPiA+ID4gPiA+IE5GU3Y0LnggUlBD IGNhbGxzIHRoYXQgc3VmZmVyIGEgZmF0YWwgaW50ZXJydXB0aW9uIChpLmUuIG5vDQo+ID4gPiA+ ID4gPiByZXRyYW5zbWlzc2lvbikuDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiBGaW5h bGx5LCBqdXN0IGJlY2F1c2UgdGhlIHNlcnZlcidzIFRDUCBsYXllciBBQ0tlZA0KPiA+ID4gPiA+ ID4gPiA+IHJlY2VpcHQNCj4gPiA+ID4gPiA+ID4gPiBvZg0KPiA+ID4gPiA+ID4gPiA+IHRoZQ0K PiA+ID4gPiA+ID4gPiA+IFJQQw0KPiA+ID4gPiA+ID4gPiA+IGNhbGwgZGF0YSwgdGhhdCBkb2Vz IG5vdCBtZWFuIHRoYXQgaXQgd2lsbCBwcm9jZXNzIHRoYXQNCj4gPiA+ID4gPiA+ID4gPiBjYWxs Lg0KPiA+ID4gPiA+ID4gPiA+IFRoZQ0KPiA+ID4gPiA+ID4gPiA+IGNvbm5lY3Rpb24gY291bGQg YnJlYWsgYmVmb3JlIHRoZSBjYWxsIGlzIHJlYWQgb3V0IG9mDQo+ID4gPiA+ID4gPiA+ID4gdGhl DQo+ID4gPiA+ID4gPiA+ID4gcmVjZWl2aW5nDQo+ID4gPiA+ID4gPiA+ID4gc29ja2V0LCBvciB0 aGUgc2VydmVyIG1heSBsYXRlciBkZWNpZGUgdG8gZHJvcCBpdCBvbg0KPiA+ID4gPiA+ID4gPiA+ IHRoZQ0KPiA+ID4gPiA+ID4gPiA+IGZsb29yDQo+ID4gPiA+ID4gPiA+ID4gYW5kDQo+ID4gPiA+ ID4gPiA+ID4gYnJlYWsgdGhlIGNvbm5lY3Rpb24uDQo+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ ID4gPiA+ID4gSU9XOiB0aGUgUlBDIHByb3RvY29sIGhlcmUgaXMgbm90IHRoYXQgInJlbGlhYmxl DQo+ID4gPiA+ID4gPiA+ID4gdHJhbnNwb3J0DQo+ID4gPiA+ID4gPiA+ID4gaW1wbGllcw0KPiA+ ID4gPiA+ID4gPiA+IHByb2Nlc3NpbmcgaXMgZ3VhcmFudGVlZCIuIEl0IGlzIHJhdGhlciB0aGF0 DQo+ID4gPiA+ID4gPiA+ID4gImNvbm5lY3Rpb24gaXMNCj4gPiA+ID4gPiA+ID4gPiBzdGlsbA0K PiA+ID4gPiA+ID4gPiA+IHVwDQo+ID4gPiA+ID4gPiA+ID4gaW1wbGllcyBwcm9jZXNzaW5nIG1h eSBldmVudHVhbGx5IG9jY3VyIi4NCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ICJldmVu dHVhbGx5IG9jY3VyIiBtZWFucyB0aGF0IGl0cyBwcm9jZXNzIG9mIHRoZSBycGMgaXMNCj4gPiA+ ID4gPiA+ID4gZ3VhcmFudGVlZA0KPiA+ID4gPiA+ID4gPiAiaW4NCj4gPiA+ID4gPiA+ID4gdGlt ZSIuIEFnYWluIHVubGVzcyB0aGUgY2xpZW50IGlzIGJyb2tlbiwgd2UgY2FuJ3QgaGF2ZQ0KPiA+ ID4gPiA+ID4gPiBtb3JlDQo+ID4gPiA+ID4gPiA+IHRoYW4NCj4gPiA+ID4gPiA+ID4gYW4NCj4g PiA+ID4gPiA+ID4gaW50ZXJydXB0ZWQgcnBjICh0aGF0IGhhcyBub3RoaW5nIHdhaXRpbmcpIGFu ZCB0aGUgbmV4dA0KPiA+ID4gPiA+ID4gPiBycGMNCj4gPiA+ID4gPiA+ID4gKGJvdGgNCj4gPiA+ ID4gPiA+ID4gb2YNCj4gPiA+ID4gPiA+ID4gd2hpY2ggd2lsbCBiZSByZS10cmFuc21pdHRlZCBp ZiBjb25uZWN0aW9uIGlzIGRyb3BwZWQpDQo+ID4gPiA+ID4gPiA+IGdvaW5nDQo+ID4gPiA+ID4g PiA+IHRvDQo+ID4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiBzZXJ2ZXIuDQo+ID4gPiA+ ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBDYW4gd2UgZGlzdGluZ3Vpc2ggYmV0d2VlbiBpbnRlcnJ1 cHRlZCBkdWUgdG8gcmUtDQo+ID4gPiA+ID4gPiA+IHRyYW5zbWlzc2lvbg0KPiA+ID4gPiA+ID4g PiBhbmQNCj4gPiA+ID4gPiA+ID4gaW50ZXJydXB0ZWQgZHVlIHRvIGN0cmwtYyBvZiB0aGUgdGhy ZWFkPyBJZiB3ZSBjYW4ndCwNCj4gPiA+ID4gPiA+ID4gdGhlbg0KPiA+ID4gPiA+ID4gPiBJJ2xs DQo+ID4gPiA+ID4gPiA+IHN0b3ANCj4gPiA+ID4gPiA+ID4gYXJndWluZyB0aGF0IGNsaWVudCBj YW4gZG8gYmV0dGVyLg0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBUaGVyZSBpcyBubyAiaW50 ZXJydXB0ZWQgZHVlIHRvIHJlLXRyYW5zbWlzc2lvbiIgY2FzZS4gV2UNCj4gPiA+ID4gPiA+IG9u bHkNCj4gPiA+ID4gPiA+IHJldHJhbnNtaXQgTkZTdjQgcmVxdWVzdHMgaWYgdGhlIFRDUCBjb25u ZWN0aW9uIGJyZWFrcy4NCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gQXMgZmFyIGFzIEknbSBj b25jZXJuZWQsIHRoaXMgZGlzY3Vzc2lvbiBpcyBvbmx5IGFib3V0DQo+ID4gPiA+ID4gPiBpbnRl cnJ1cHRpb25zDQo+ID4gPiA+ID4gPiB0aGF0IGNhdXNlIHRoZSBSUEMgY2FsbCB0byBiZSBhYmFu ZG9uZWQgKGkuZS4gZmF0YWwNCj4gPiA+ID4gPiA+IHRpbWVvdXRzDQo+ID4gPiA+ID4gPiBhbmQN Cj4gPiA+ID4gPiA+IHNpZ25hbHMpLg0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IEJ1dCBy aWdodCBub3cgd2UgYXJlIGxlZnQgaW4gYSBiYWQgc3RhdGUuIENsaWVudCBsZWF2ZXMNCj4gPiA+ ID4gPiA+ID4gb3BlbmVkDQo+ID4gPiA+ID4gPiA+IHN0YXRlDQo+ID4gPiA+ID4gPiA+IG9uIHRo ZSBzZXJ2ZXIgYW5kIHdpbGwgbm90IGFsbG93IGZvciBmaWxlcyB0byBiZSBkZWxldGVkLg0KPiA+ ID4gPiA+ID4gPiBJDQo+ID4gPiA+ID4gPiA+IHRoaW5rDQo+ID4gPiA+ID4gPiA+IGluDQo+ID4g PiA+ID4gPiA+IGNhc2UgdGhlICJuZXh0IHJwYyIgaXMgdGhlIHdyaXRlIHRoYXQgd2lsbCBuZXZl ciBiZQ0KPiA+ID4gPiA+ID4gPiBjb21wbGV0ZWQNCj4gPiA+ID4gPiA+ID4gaXQNCj4gPiA+ID4g PiA+ID4gd291bGQNCj4gPiA+ID4gPiA+ID4gbGVhdmUgdGhlIG1hY2hpbmUgaW4gYSBodW5nIHN0 YXRlLiBJIGp1c3QgZG9uJ3Qgc2VlIGhvdw0KPiA+ID4gPiA+ID4gPiBjYW4NCj4gPiA+ID4gPiA+ ID4geW91DQo+ID4gPiA+ID4gPiA+IGp1c3RpZnkgdGhhdCBoYXZpbmcgdGhlIGN1cnJlbnQgY29k ZSBpcyBhbnkgYmV0dGVyIHRoYW4NCj4gPiA+ID4gPiA+ID4gaGF2aW5nDQo+ID4gPiA+ID4gPiA+ IHRoZQ0KPiA+ID4gPiA+ID4gPiBzb2x1dGlvbiB0aGF0IHdhcyB0aGVyZSBiZWZvcmUuDQo+ID4g PiA+ID4gPiANCj4gPiA+ID4gPiA+IFRoYXQncyBhIGdlbmVyYWwgcHJvYmxlbSB3aXRoIGFsbG93 aW5nIGludGVycnVwdGlvbnMgdGhhdA0KPiA+ID4gPiA+ID4gaXMNCj4gPiA+ID4gPiA+IGxhcmdl bHkNCj4gPiA+ID4gPiA+IG9ydGhvZ29uYWwgdG8gdGhlIHF1ZXN0aW9uIG9mIHdoaWNoIHN0cmF0 ZWd5IHdlIGNob29zZSB3aGVuDQo+ID4gPiA+ID4gPiByZXN5bmNocm9uaXNpbmcgdGhlIHNsb3Qg bnVtYmVycyBhZnRlciBhbiBpbnRlcnJ1cHRpb24gaGFzDQo+ID4gPiA+ID4gPiBvY2N1cnJlZC4N Cj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IEknbSByZS1yZWFkaW5nIHRoZSBz cGVjIGFuZCBpbiBzZWN0aW9uIDIuMTAuNi4yIHdlIGhhdmUgIkENCj4gPiA+ID4gPiByZXF1ZXN0 ZXINCj4gPiA+ID4gPiBNVVNUIHdhaXQgZm9yIGEgcmVwbHkgdG8gYSByZXF1ZXN0IGJlZm9yZSB1 c2luZyB0aGUgc2xvdCBmb3INCj4gPiA+ID4gPiBhbm90aGVyDQo+ID4gPiA+ID4gcmVxdWVzdCIu IEFyZSB3ZSBldmVuIGxlZ2FsbHkgdXNpbmcgdGhlIHNsb3Qgd2hlbiB3ZSBoYXZlIGFuDQo+ID4g PiA+ID4gaW50ZXJydXB0ZWQgc2xvdD8NCj4gPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IFlv dSBjYW4gY2VydGFpbmx5IGFyZ3VlIHRoYXQuIEhvd2V2ZXIgdGhlIGZhY3QgdGhhdCB0aGUgc3Bl Yw0KPiA+ID4gPiBmYWlscw0KPiA+ID4gPiB0bw0KPiA+ID4gPiBhZGRyZXNzIHRoZSBpc3N1ZSBk b2Vzbid0IGltcGx5IGxhY2sgb2YgbmVlZC4gSSBoYXZlIHdvcmtsb2Fkcw0KPiA+ID4gPiBvbg0K PiA+ID4gPiBteQ0KPiA+ID4gPiBvd24gc3lzdGVtcyB0aGF0IHdvdWxkIGNhdXNlIG1ham9yIGRp c3J1cHRpb24gaWYgSSBkaWQgbm90DQo+ID4gPiA+IGFsbG93DQo+ID4gPiA+IHRoZW0NCj4gPiA+ ID4gdG8gdGltZSBvdXQgd2hlbiB0aGUgc2VydmVyIGlzIHVuYXZhaWxhYmxlIChlLmcuIHdpdGgg bWVtb3J5DQo+ID4gPiA+IGZpbGxpbmcgdXANCj4gPiA+ID4gd2l0aCBkaXJ0eSBwYWdlcyB0aGF0 IGNhbid0IGJlIGNsZWFuZWQpLg0KPiA+ID4gPiANCj4gPiA+ID4gSU9XOiBJJ20gcXVpdGUgaGFw cHkgdG8gbWFrZSBhIGJlc3QgZWZmb3J0IGF0dGVtcHQgdG8gbWVldCB0aGF0DQo+ID4gPiA+IHJl cXVpcmVtZW50LCBieSBtYWtpbmcgJ2hhcmQnIG1vdW50cyB0aGUgZGVmYXVsdCwgYW5kIGJ5IG1h a2luZw0KPiA+ID4gPiBzaWduYWxsaW5nIGJlIGEgZmF0YWwgb3BlcmF0aW9uLiBIb3dldmVyIEkn bSB1bndpbGxpbmcgdG8gbWFrZQ0KPiA+ID4gPiBpdA0KPiA+ID4gPiBpbXBvc3NpYmxlIHRvIGZp eCB1cCBteSBzeXN0ZW0gd2hlbiB0aGUgc2VydmVyIGlzIHVucmVzcG9uc2l2ZQ0KPiA+ID4gPiBq dXN0DQo+ID4gPiA+IGJlY2F1c2UgdGhlIHByb3RvY29sIGlzIGxhenkgYWJvdXQgcHJvdmlkaW5n IGZvciB0aGF0IGFiaWxpdHkuDQo+ID4gPiANCj4gPiA+IEknbSBqdXN0IHRyeWluZyB0byB0aGlu ayBvZiBvcHRpb25zLg0KPiA+ID4gDQo+ID4gPiBIZXJlJ3Mgd2hhdCdzIGJvdGhlcmluZyBtZS4g WWVzIG15IHNlcnZlciBsaXN0IGlzIGxpbWl0ZWQgYnV0DQo+ID4gPiBuZWl0aGVyDQo+ID4gPiBM aW51eCBub3QgTmV0YXBwIHNlcnZlcnMgaW1wbGVtZW50cyBhcmd1bWVudCBjYWNoaW5nIGZvciBy ZXBsYXkNCj4gPiA+IGNhY2hlDQo+ID4gPiBkdWUgdG8gcGVyZm9ybWFuY2UgaGl0LiBZZXMgcGVy aGFwcyB0aGV5IHNob3VsZCBidXQgdGhlIHByb2JsZW0NCj4gPiA+IGlzDQo+ID4gPiB0aGV5IGN1 cnJlbnRseSBkb24ndCBhbmQgY3VzdG9tZXIgcHJvYmFibHkgZGVzZXJ2ZSB0aGUgYmVzdA0KPiA+ ID4gc29sdXRpb24NCj4gPiA+IGdpdmVuIGV4aXN0aW5nIGNvbnN0cmFpbnRzLiBEbyB3ZSBoYXZl IHN1Y2ggYSBzb2x1dGlvbj8gQ2FuIHlvdQ0KPiA+ID4gYXJndWUNCj4gPiA+IHRoYXQgdGhlIG51 bWJlciBvZiBwcm9ibGVtcyBzb2x2ZWQgYnkgdGhlIGN1cnJlbnQgc29sdXRpb24gaXMNCj4gPiA+ IGhpZ2hlcg0KPiA+ID4gdGhhbiBieSB0aGUgb3RoZXIgc29sdXRpb24uIFdpdGggdGhlIGN1cnJl bnQgc29sdXRpb24sIHdlIGhhdmUNCj4gPiA+IChzaWxlbnQpIGRhdGEgY29ycnVwdGlvbiBhbmQg cmVzb3VyY2UgbGVha2FnZSBvbiB0aGUgc2VydmVyLiBJDQo+ID4gPiB0aGluaw0KPiA+ID4gdGhh dCdzIGEgcHJldHR5IGJpZyBwcm9ibGVtLiBXaGF0J3Mgd29yc2Ugc2lsZW50IGRhdGEgY29ycnVw dGlvbg0KPiA+ID4gb3IgYQ0KPiA+ID4gaHVuZyBjbGllbnQgYmVjYXVzZSBpdCBrZWVwcyBzZW5k aW5nIHNhbWUgb3BzIGFuZCBrZWVwcyBnZXR0aW5nDQo+ID4gPiBTRVFfTUlTT1JERVJFRCAodGhh dCdzIGEgcmF0aGVyIGJpZyBwcm9ibGVtIHRvbyBidXQgd29yayBhcm91bmRzDQo+ID4gPiBleGlz dA0KPiA+ID4gdG8gcHJldmVudCBkYXRhIGNvcnJ1cHRpb24vbG9zcy4gbGlrZSBmb3JjaW5nIHRo ZSBjbGllbnQgdG8NCj4gPiA+IHJlLW5lZ290aWF0ZSB0aGUgc2Vzc2lvbikuDQo+ID4gPiANCj4g PiA+IFVudGlsIHNlcnZlcnMgY2F0Y2ggdXAgd2l0aCBhZGRyZXNzaW5nIGZhbHNlIHJldHJpZXMs IHdoYXQncyB0aGUNCj4gPiA+IGJlc3QNCj4gPiA+IHNvbHV0aW9uIHRoZSBjbGllbnQgY2FuIGhh dmUuDQo+ID4gDQo+ID4gSWYgSSBrbmV3IG9mIGEgYmV0dGVyIGNsaWVudCBzaWRlIHNvbHV0aW9u LCBJIHdvdWxkIGFscmVhZHkgaGF2ZQ0KPiA+IGltcGxlbWVudGVkIGl0Lg0KPiA+IA0KPiA+ID4g U2lsZW50IGRhdGEgY29ycnVwdGlvbiBpcyBpbiBwbmZzIGJlY2F1c2UgdGhlIHdyaXRlcyBhcmUg YWxsb3dlZA0KPiA+ID4gdG8NCj4gPiA+IGxlYXZlIGludGVycnVwdGVkIHNsb3QgZHVlIHRvIGEg dGltZW91dC4gQWx0ZXJuYXRpdmVseSwgSSBwcm9wb3NlDQo+ID4gPiB0bw0KPiA+ID4gdGhlbiBt YWtlIHBuZnMgd3JpdGVzIHNhbWUgYXMgdGhlIG5vcm1hbCB3cml0ZXMuIEl0IHdpbGwgcmVtb3Zl DQo+ID4gPiB0aGUNCj4gPiA+IGRhdGEgY29ycnVwdGlvbiBwcm9ibGVtLiBJdCB3b3VsZCBzdGls bCBoYXZlIHJlc291cmNlIGxlYWthZ2UgYnV0DQo+ID4gPiB0aGF0DQo+ID4gPiBzZWVtcyBsaWtl IGEgYml0IGJldHRlciB0aGFuIGRhdGEgY29ycnVwdGlvbi4NCj4gPiANCj4gPiBIb3cgb2Z0ZW4g ZG9lcyB0aGlzIHByb2JsZW0gYWN0dWFsbHkgb2NjdXIgaW4gdGhlIGZpZWxkPw0KPiA+IA0KPiA+ IFRoZSBwb2ludCBpcyB0aGF0IGlmIHRoZSBpbnRlcnJ1cHRpb24gaXMgZHVlIHRvIGEgc2lnbmFs LCB0aGVuIHRoYXQNCj4gPiBpcw0KPiA+IGEgc2lnbmFsIHRoYXQgaXMgZmF0YWwgdG8gdGhlIGFw cGxpY2F0aW9uLiBUaGF0J3Mgbm90IHNpbGVudA0KPiA+IGNvcnJ1cHRpb247IHdyaXRlcyBhcmUg ZXhwZWN0ZWQgbm90IHRvIGNvbXBsZXRlIGluIHRoYXQga2luZCBvZg0KPiA+IHNpdHVhdGlvbi4N Cj4gDQo+IEludGVycnVwdGlvbiBpcyBiZWNhdXNlIHRoZSBzZXJ2ZXIgaXNuJ3QgcmVwbHlpbmcg aW4gdGltZSB0byBhIHBuZnMNCj4gd3JpdGUuIEkgYmVsaWV2ZSB3ZSBoYXZlIGEgdGltZW91dCBv ZiAxMHNlY3MgKG9yIHdoYXRldmVyIHRoYXQgdmFsdWUNCj4gaXMpIGFmdGVyIHdoaWNoIHRoaXMg d3JpdGUgaXMgc2VudCB0byB0aGUgTURTLiBCdXQgdGhlIHNsb3QgdG8gdGhlIERTDQo+IGlzIGxl ZnQgYXMgaW50ZXJydXB0ZWQgKG9yIGF0IGxlYXN0IGl0IHVzZWQgdG8gYmUgdGhhdCkuDQo+DQo+ IEhlcmUncyB3aGF0IG5lZWRzIHRvIGhhcHBlbiBmb3IgdGhlIHByb2JsZW0gdG8gb2NjdXIuIEkg ZG9uJ3Qga25vdw0KPiB0aGUNCj4gbGlrZWxpaG9vZCBpdCBjYW4gb2NjdXIuDQo+IA0KPiAxLiAx c3QgRFMgd3JpdGUgc2F5IGdldHMgc3R1Y2sgaW4gdGhlIG5ldHdvcmsgZm9yIGxvbmdlciB0aGFu IHRoZSBORlMNCj4gY2xpZW50IHdhaXRzIGZvci4NCj4gMi4gQ2xpZW50IGludGVycnVwdHMgdGhl IHNsb3QgYW5kIHJlLXNlbmRzIHRvIHRoZSBNRFMNCg0KVGhhdCdzIG5vdCB3aGF0IEkgZXhwZWN0 IGZyb20gYW4gdXBzdHJlYW0gNS41LXJjWCBjbGllbnQuIFRoZSBmb2xsb3dpbmcNCmxpbmVzIGlu IHJwY19jaGVja190aW1lb3V0KCkgc2hvdWxkIGVuc3VyZSB0aGUgY2xpZW50IGRvZXMgbm90DQpp bnRlcnJ1cHQgdW5sZXNzIHRoZSBuZXR3b3JrIGlzIGRpc2Nvbm5lY3RlZDoNCg0KICAgICAgICAg ICAgICAgIC8qDQogICAgICAgICAgICAgICAgICogT25jZSBhICJubyByZXRyYW5zIHRpbWVvdXQi IHNvZnQgdGFza3MgKGEuay5hIE5GU3Y0KQ0KaGFzDQogICAgICAgICAgICAgICAgICogYmVlbiBz ZW50LCBpdCBzaG91bGQgdGltZSBvdXQgb25seSBpZiB0aGUgdHJhbnNwb3J0DQogICAgICAgICAg ICAgICAgICogY29ubmVjdGlvbiBnZXRzIHRlcm1pbmFsbHkgYnJva2VuLg0KICAgICAgICAgICAg ICAgICAqLw0KICAgICAgICAgICAgICAgIGlmICgodGFzay0+dGtfZmxhZ3MgJiBSUENfVEFTS19O T19SRVRSQU5TX1RJTUVPVVQpICYmDQogICAgICAgICAgICAgICAgICAgIHJwY19jaGVja19jb25u ZWN0ZWQodGFzay0+dGtfcnFzdHApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0K DQo+IDMuIEFub3RoZXIgd3JpdGUgdG8gdGhlIERTIGlzIGlzc3VlZCByZS11c2luZyB0aGUgc2xv dCAoc2VxaWQgYnVtcGVkKQ0KPiBhbmQgdGhpcyB3cml0ZSBnZXRzIHRvIHRoZSBzZXJ2ZXIgYmVm b3JlIHRoZSB3cml0ZSBpbiBzdGVwMS4gU2VydmVyDQo+IHJlcGxpZXMgd2l0aCBFUlJfU0VRX01J U09SREVSRUQuDQo+IDQuIFNlcnZlciBwcm9jZXNzZXMgdGhlIDFzdCB3cml0ZQ0KPiA1LiBjbGll bnQgcmV0aXJlcyB0aGUgd3JpdGUgZnJvbSBzdGVwIyB3aXRoIGRlY3JlbWVudGVkIHNlcXVpbi4g R2V0cw0KPiBhDQo+IHJlcGx5IHNheWluZyB3cml0ZSB3YXMgY29tcGxldGVkLiBCdXQgaW4gcmVh bGl0eSB0aGlzIHdyaXRlIG5ldmVyDQo+IHdyaXRlcyB0aGUgZGF0YS4gVGh1cyBzaWxlbnQgZGF0 YSBjb3JydXB0aW9uLg0KDQpTbyB0cnkgdGhlIGZvbGxvd2luZyBjaGFuZ2U6IGNoYW5nZSB0aGUg bmZzNF9pbml0X3NlcXVlbmNlKCkgbGluZSBpbg0KbmZzNF9wcm9jX3dyaXRlX3NldHVwKCkgc28g dGhhdCBpdCByZWFkcw0KDQpuZnM0X2luaXRfc2VxdWVuY2UoJmhkci0+YXJncy5zZXFfYXJncywg Jmhkci0+cmVzLnNlcV9yZXMsIDAsIDApOw0KDQpUaGVyZSByZWFsbHkgaXMgbm8gZ29vZCByZWFz b24gZm9yIHVzIHRvIGJlIGNhY2hpbmcgd3JpdGUgcmVwbGllcyB3aGVuDQp3ZSBrbm93IHRoZSBj bGllbnQgaXMgYWxyZWFkeSBvcmRlcmluZyBORlMgd3JpdGVzIHRvIHRoZSBzYW1lIHJhbmdlLg0K DQo+ID4gSWYgdGhlIGludGVycnVwdGlvbiBpcyBkdWUgdG8gYSBzb2Z0IG1vdW50IHRpbWluZyBv dXQsIHRoZW4gaXQgaXMNCj4gPiBiZWNhdXNlIHRoZSB1c2VyIGRlbGliZXJhdGVseSBjaG9zZSB0 aGF0IG5vbi1kZWZhdWx0IHNldHRpbmcsIGFuZA0KPiA+IHNob3VsZCBiZSBhd2FyZSBvZiB0aGUg Y29uc2VxdWVuY2VzLg0KPiA+IE5vdGUgdGhhdCBpbiBuZXdlciBrZXJuZWxzLCB0aGVzZSBzb2Z0 IHRpbWVvdXRzIGRvIG5vdCB0cmlnZ2VyDQo+ID4gdW5sZXNzDQo+ID4gdGhlIG5ldHdvcmsgY29u bmVjdGlvbiBpcyBhbHNvIGRvd24sIHNvIHRoZXJlIGlzIGFscmVhZHkgYSByZWNvdmVyeQ0KPiA+ IHByb2Nlc3MgcmVxdWlyZWQgdG8gcmUtZXN0YWJsaXNoIHRoZSBuZXR3b3JrIGNvbm5lY3Rpb24g YmVmb3JlIGFueQ0KPiA+IGZ1cnRoZXIgcmVxdWVzdHMgY2FuIGJlIHNlbnQuDQo+ID4gRnVydGhl cm1vcmUsIHRoZSBhcHBsaWNhdGlvbiBzaG91bGQgYWxzbyBiZSBzZWVpbmcgYSBQT1NJWCBlcnJv cg0KPiA+IHdoZW4NCj4gPiBmc3luYygpIGlzIGNhbGxlZCwgc28gYWdhaW4sIHRoZXJlIHNob3Vs ZCBiZSBubyBzaWxlbnQgY29ycnVwdGlvbi4NCj4gPiANCj4gPiAtLQ0KPiA+IFRyb25kIE15a2xl YnVzdA0KPiA+IExpbnV4IE5GUyBjbGllbnQgbWFpbnRhaW5lciwgSGFtbWVyc3BhY2UNCj4gPiB0 cm9uZC5teWtsZWJ1c3RAaGFtbWVyc3BhY2UuY29tDQo+ID4gDQo+ID4gDQotLSANClRyb25kIE15 a2xlYnVzdA0KQ1RPLCBIYW1tZXJzcGFjZSBJbmMNCjQzMDAgRWwgQ2FtaW5vIFJlYWwsIFN1aXRl IDEwNQ0KTG9zIEFsdG9zLCBDQSA5NDAyMg0Kd3d3LmhhbW1lci5zcGFjZQ0KDQo=