From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=104.47.0.68; helo=eur01-he1-obe.outbound.protection.outlook.com; envelope-from=meenakshi.aggarwal@nxp.com; receiver=edk2-devel@lists.01.org Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0068.outbound.protection.outlook.com [104.47.0.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 72E52202E5E56 for ; Mon, 13 Nov 2017 21:32:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=dQcgH8p0IkCjoEhUYPh6XRDiK5kHvHEx1gBRiE4XFns=; b=BReLR0jhVYTR6eHbiPXg/jfYMPe7wj9UvGujympWvo9nQtIGGorlcTm/9A0e+Vp9d8/ojzBKJoshSVgLnnozxP+9L2wHb8+DjYGnFbeeviSmU5Mu30qWznSE42fARYZy0jmvB47ExWvOrzBZX4c9WRDnnOPCjWKbbCumFMYplhE= Received: from DB5PR04MB0998.eurprd04.prod.outlook.com (10.161.199.12) by AM5PR04MB2995.eurprd04.prod.outlook.com (10.173.254.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.218.12; Tue, 14 Nov 2017 05:36:20 +0000 Received: from DB5PR04MB0998.eurprd04.prod.outlook.com ([fe80::7964:3b7:763b:63ba]) by DB5PR04MB0998.eurprd04.prod.outlook.com ([fe80::7964:3b7:763b:63ba%13]) with mapi id 15.20.0197.017; Tue, 14 Nov 2017 05:36:19 +0000 From: Meenakshi Aggarwal To: Ard Biesheuvel CC: Leif Lindholm , "Kinney, Michael D" , "edk2-devel@lists.01.org" , Udit Kumar , Varun Sethi Thread-Topic: [PATCH 04/10] Platform/NXP : Add support for Watchdog driver Thread-Index: AQHTV6YMUXPps2shcUqx1UpJ+x3h+6MSRQ2AgAD86tA= Date: Tue, 14 Nov 2017 05:36:19 +0000 Message-ID: References: <1510065736-9394-1-git-send-email-meenakshi.aggarwal@nxp.com> <1510065736-9394-5-git-send-email-meenakshi.aggarwal@nxp.com> In-Reply-To: Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=meenakshi.aggarwal@nxp.com; x-originating-ip: [192.88.169.1] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM5PR04MB2995; 6:S6y799OzTbQOlL47owzQDu2jbYaoMGQwxM80xmgPhn65hksp2lAlbp2QaT9N2rGfBbDmUDP9j6wNNIKxCfoiB03FB37n/0s8mgAyLlfYqeqUPpQ/9R+Y6OsOCRnUNocZgEbcAkyz3tY8uqIKwzFuUkvxHThd2R5UWQPZuZSM/XY+RVawIVNmnCkYMmq1qtlKudlpMtOpwhuuwt3PSgGgRxMYXSQ7rTSPoZ4XkuPvUu7bkXqKeTsUofc8qBxU4ZTgSxVuGuaFh+m5JiA9YvSeKmFnLAZCDzM6gbddvl3lg74fviQxuzKX4LGjr2eQJEr31uZvS6kGdTUeKlX6oqUhnmmFuufACTtLCk14QKcYPvU=; 5:ppH8qWBc+lb0nNbt2h8xbcrdk7njxr+AnL/hLAGgp+MKHh3cHXtZN0eDPIrkQdqEvse6fWy6BdodalEEBHqqxrwnENMxcH1XG7ByIRa3On5QCaUF5pnq25FuhbopaiXOuJT4gXZVauqsrLql3XiRlpTC2S161AxMb8fNzB2id1k=; 24:mNjlpO3ew6fhdE1Nn/txqYPc3DSCbnr2wBOmXyB3fTyxdE+eANrW9YyIxCdZW33df8ZuA1RqPEH3YSGmZZh2y8dW6PWYwkYnpjRTbXIiWDI=; 7:JN2EkyjSfhp0KXftff86wEBJ6D/MN6fU8M6b0/x+7NhiCOpfS3FAtCFH/fPQS2DavrnBsY0JKWaoXwJELfNMG4o26y7C6EBDTwZc9Dd1jIriI9rTcw1h9uEJviFoyDPWWIRmO2F7TEV4nC4JdRzjWP5rNAqRm+ihZ1uKEso/O1Sju7kxjyxaVsPuTDSIyPA5jQgAFLz6rLBI8mAYXiNNJNxb+ih/8WUacuF56Ue+2Ey1B+WaPo5alRpfpGNqeOux x-ms-exchange-antispam-srfa-diagnostics: SSOS;SSOR; x-forefront-antispam-report: SFV:SKI; SCL:-1; SFV:NSPM; SFS:(10009020)(6009001)(346002)(376002)(39860400002)(50944005)(13464003)(199003)(189002)(24454002)(3280700002)(6306002)(25786009)(86362001)(99286004)(53936002)(14454004)(8936002)(316002)(5660300001)(55016002)(6916009)(2906002)(5250100002)(68736007)(54906003)(6246003)(7736002)(3660700001)(305945005)(105586002)(106356001)(33656002)(53946003)(8676002)(74316002)(76176999)(102836003)(6116002)(9686003)(2950100002)(4326008)(66066001)(3846002)(229853002)(53546010)(6506006)(478600001)(6436002)(54356999)(50986999)(45080400002)(101416001)(7696004)(81166006)(189998001)(16799955002)(97736004)(81156014)(2900100001)(171213001)(579004)(44824005)(19627235001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR04MB2995; H:DB5PR04MB0998.eurprd04.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; x-ms-office365-filtering-correlation-id: 2865cf53-5942-490d-d3d9-08d52b21a1ee x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603258); SRVR:AM5PR04MB2995; x-ms-traffictypediagnostic: AM5PR04MB2995: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(189930954265078)(185117386973197)(162533806227266)(45079756050767)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93001095)(3002001)(3231022)(10201501046)(6055026)(6041248)(20161123558100)(20161123560025)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR04MB2995; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR04MB2995; x-forefront-prvs: 04916EA04C received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2865cf53-5942-490d-d3d9-08d52b21a1ee X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Nov 2017 05:36:19.1929 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR04MB2995 Subject: Re: [PATCH 04/10] Platform/NXP : Add support for Watchdog driver X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Nov 2017 05:32:17 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQXJkIEJpZXNoZXV2ZWwg W21haWx0bzphcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnXQ0KPiBTZW50OiBNb25kYXksIE5vdmVt YmVyIDEzLCAyMDE3IDU6NTMgUE0NCj4gVG86IE1lZW5ha3NoaSBBZ2dhcndhbCA8bWVlbmFrc2hp LmFnZ2Fyd2FsQG54cC5jb20+DQo+IENjOiBMZWlmIExpbmRob2xtIDxsZWlmLmxpbmRob2xtQGxp bmFyby5vcmc+OyBLaW5uZXksIE1pY2hhZWwgRA0KPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsgVWRpdCBLdW1hcg0KPiA8dWRpdC5rdW1hckBu eHAuY29tPjsgVmFydW4gU2V0aGkgPFYuU2V0aGlAbnhwLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQ QVRDSCAwNC8xMF0gUGxhdGZvcm0vTlhQIDogQWRkIHN1cHBvcnQgZm9yIFdhdGNoZG9nIGRyaXZl cg0KPiANCj4gT24gNyBOb3ZlbWJlciAyMDE3IGF0IDE0OjQyLCBNZWVuYWtzaGkgQWdnYXJ3YWwN Cj4gPG1lZW5ha3NoaS5hZ2dhcndhbEBueHAuY29tPiB3cm90ZToNCj4gPiBJbnN0YWxscyB3YXRj aGRvZyB0aW1lciBhcmNoIHByb3RvY29sDQo+ID4NCj4gPiBDb250cmlidXRlZC11bmRlcjogVGlh bm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4xDQo+ID4gU2lnbmVkLW9mZi1ieTogTWVl bmFrc2hpIEFnZ2Fyd2FsIDxtZWVuYWtzaGkuYWdnYXJ3YWxAbnhwLmNvbT4NCj4gPiAtLS0NCj4g PiAgUGxhdGZvcm0vTlhQL0RyaXZlcnMvV2F0Y2hEb2cvV2F0Y2hEb2cuYyAgICAgIHwgMzg2DQo+ ICsrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gIFBsYXRmb3JtL05YUC9Ecml2ZXJzL1dh dGNoRG9nL1dhdGNoRG9nLmggICAgICB8ICAzNyArKysNCj4gPiAgUGxhdGZvcm0vTlhQL0RyaXZl cnMvV2F0Y2hEb2cvV2F0Y2hEb2dEeGUuaW5mIHwgIDQ3ICsrKysNCj4gPiAgMyBmaWxlcyBjaGFu Z2VkLCA0NzAgaW5zZXJ0aW9ucygrKQ0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUGxhdGZvcm0v TlhQL0RyaXZlcnMvV2F0Y2hEb2cvV2F0Y2hEb2cuYw0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQg UGxhdGZvcm0vTlhQL0RyaXZlcnMvV2F0Y2hEb2cvV2F0Y2hEb2cuaA0KPiA+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgUGxhdGZvcm0vTlhQL0RyaXZlcnMvV2F0Y2hEb2cvV2F0Y2hEb2dEeGUuaW5mDQo+ ID4NCj4gPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vTlhQL0RyaXZlcnMvV2F0Y2hEb2cvV2F0Y2hE b2cuYw0KPiA+IGIvUGxhdGZvcm0vTlhQL0RyaXZlcnMvV2F0Y2hEb2cvV2F0Y2hEb2cuYw0KPiA+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMC4uZjI1N2ExZA0KPiA+IC0t LSAvZGV2L251bGwNCj4gPiArKysgYi9QbGF0Zm9ybS9OWFAvRHJpdmVycy9XYXRjaERvZy9XYXRj aERvZy5jDQo+ID4gQEAgLTAsMCArMSwzODYgQEANCj4gPiArLyoqIFdhdGNoRG9nLmMNCj4gPiAr Kg0KPiA+ICsqICBCYXNlZCBvbiBXYXRjaGRvZyBkcml2ZXIgaW1wbGVtZW5hdGlvbiBhdmFpbGFi bGUgaW4NCj4gPiArKiAgQXJtUGxhdGZvcm1Qa2cvRHJpdmVycy9TUDgwNVdhdGNoZG9nRHhlL1NQ ODA1V2F0Y2hkb2cuYw0KPiA+ICsqDQo+ID4gKyogIENvcHlyaWdodCAoYykgMjAxMS0yMDEzLCBB Uk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gPiArKiAgQ29weXJpZ2h0IDIwMTcg TlhQDQo+ID4gKyoNCj4gPiArKiAgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1h dGVyaWFscw0KPiA+ICsqICBhcmUgbGljZW5zZWQgYW5kIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRo ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZg0KPiA+ICt0aGUgQlNEIExpY2Vuc2UNCj4gPiArKiAg d2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24uICBUaGUgZnVsbCB0ZXh0IG9mIHRo ZSBsaWNlbnNlDQo+ID4gK21heSBiZSBmb3VuZCBhdA0KPiA+ICsqDQo+ID4NCj4gK2h0dHBzOi8v ZW1lYTAxLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cCUzQSUyRiUy Rm9wDQo+IGUNCj4gPiArbnNvdXJjZS5vcmclMkZsaWNlbnNlcyUyRmJzZC0NCj4gbGljZW5zZS5w aHAmZGF0YT0wMiU3QzAxJTdDbWVlbmFrc2hpLmFnZw0KPiA+DQo+ICthcndhbCU0MG54cC5jb20l N0NmZTAzYjU1MmQwMmI0NzhhOTIzNjA4ZDUyYTkxNTBmOCU3QzY4NmVhMWQzYmMNCj4gMmI0YzZm DQo+ID4NCj4gK2E5MmNkOTljNWMzMDE2MzUlN0MwJTdDMCU3QzYzNjQ2MTcyNTk5ODkyMjQxNCZz ZGF0YT0wOTRtJTJGa2dYDQo+IE51dndYUlMNCj4gPiArRXdlJTJCa2U4ZG8zS3ZXaFc3UEJBdk1U eTJPJTJGYzQlM0QmcmVzZXJ2ZWQ9MA0KPiA+ICsqDQo+ID4gKyogIFRIRSBQUk9HUkFNIElTIERJ U1RSSUJVVEVEIFVOREVSIFRIRSBCU0QgTElDRU5TRSBPTiBBTiAiQVMgSVMiDQo+ID4gK0JBU0lT LA0KPiA+ICsqICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TIE9GIEFOWSBL SU5ELCBFSVRIRVINCj4gRVhQUkVTUyBPUiBJTVBMSUVELg0KPiA+ICsqDQo+ID4gKyoqLw0KPiA+ ICsNCj4gPiArI2luY2x1ZGUgPFBpRHhlLmg+DQo+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VM aWIuaD4NCj4gPiArI2luY2x1ZGUgPExpYnJhcnkvQmVJb0xpYi5oPg0KPiA+ICsjaW5jbHVkZSA8 TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiA+ICsjaW5jbHVkZSA8TGlicmFyeS9Jb0xpYi5oPg0KPiA+ ICsjaW5jbHVkZSA8TGlicmFyeS9QY2RMaWIuaD4NCj4gPiArI2luY2x1ZGUgPExpYnJhcnkvVWVm aUJvb3RTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ID4gKyNpbmNsdWRlIDxQcm90b2NvbC9XYXRjaGRv Z1RpbWVyLmg+DQo+ID4gKw0KPiA+ICsjaW5jbHVkZSAiV2F0Y2hEb2cuaCINCj4gPiArDQo+IA0K PiBTVEFUSUMgcGxlYXNlLCBhbmQgZHJvcCB0aGUgcmVkdW5kYW50IGluaXRpYWxpemVyLg0KT0ss IHdpbGwgY29ycmVjdCB0aGlzLg0KPiANCj4gPiArRUZJX0VWRU5UICBFZmlFeGl0Qm9vdFNlcnZp Y2VzRXZlbnQgPSAoRUZJX0VWRU5UKU5VTEw7DQo+ID4gKw0KPiANCj4gU1RBVElDDQo+IA0KPiBJ biBnZW5lcmFsLCBhbnkgZnVuY3Rpb24gdGhhdCBpcyBub3QgZXhwb3J0ZWQgZnJvbSB0aGUgZHJp dmVyIHNob3VsZCBiZQ0KPiBTVEFUSUMsIGV2ZW4gaWYgaXQgaXMgcmVmZXJlbmNlZCBmcm9tIGEg cHJvdG9jb2wgc3RydWN0DQpPSywgd2lsbCBjb3JyZWN0IGluIGFsbCBwYXRjaGVzLg0KPiANCj4g PiArVUlOVDE2DQo+ID4gK0VGSUFQSQ0KPiA+ICtXZG9nUmVhZCAoDQo+ID4gKyAgSU4gIFVJTlRO ICAgICBBZGRyZXNzDQo+ID4gKyAgKQ0KPiA+ICt7DQo+ID4gKyAgaWYgKEZpeGVkUGNkR2V0Qm9v bChQY2RXZG9nQmlnRW5kaWFuKSkgew0KPiANCj4gSW4gZ2VuZXJhbCwgYnV0IEkgd2lsbCBtZW50 aW9uIGl0IGhlcmU6IGV2ZXJ5IGZ1bmN0aW9uIGNhbGwgb3IgbWFjcm8gaW52b2NhdGlvbg0KPiBy ZXF1aXJlcyBhIHNwYWNlIGJlZm9yZSAoDQpXaWxsIGNvcnJlY3QgaW4gYWxsIHBhdGNoZXMuDQo+ IA0KPiA+ICsgICAgcmV0dXJuIEJlTW1pb1JlYWQxNihBZGRyZXNzKTsNCj4gPiArICB9IGVsc2Ug ew0KPiA+ICsgICAgcmV0dXJuIE1taW9SZWFkMTYoQWRkcmVzcyk7DQo+ID4gKyAgfQ0KPiA+ICt9 DQo+ID4gKw0KPiA+ICtVSU5UMTYNCj4gPiArRUZJQVBJDQo+ID4gK1dkb2dXcml0ZSAoDQo+ID4g KyAgSU4gIFVJTlROICAgICBBZGRyZXNzLA0KPiA+ICsgIElOICBVSU5UMTYgICAgVmFsdWUNCj4g PiArICApDQo+ID4gK3sNCj4gPiArICBpZiAoRml4ZWRQY2RHZXRCb29sKFBjZFdkb2dCaWdFbmRp YW4pKSB7DQo+ID4gKyAgICByZXR1cm4gQmVNbWlvV3JpdGUxNihBZGRyZXNzLCBWYWx1ZSk7DQo+ ID4gKyAgfSBlbHNlIHsNCj4gPiArICAgIHJldHVybiBNbWlvV3JpdGUxNihBZGRyZXNzLCBWYWx1 ZSk7DQo+ID4gKyAgfQ0KPiA+ICt9DQo+ID4gKw0KPiA+ICtTVEFUSUMNCj4gPiArVk9JRA0KPiA+ ICtXZG9nUGluZyAoDQo+ID4gKyAgVk9JRA0KPiA+ICsgICkNCj4gPiArew0KPiA+ICsgIFdkb2dX cml0ZShQY2RHZXQ2NChQY2RXZG9nMUJhc2VBZGRyKSArIFdET0dfV1NSX09GRlNFVCwNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgV0RPR19TRVJWSUNFX1NFUTEpOw0KPiA+ICsgIFdkb2dXcml0 ZShQY2RHZXQ2NChQY2RXZG9nMUJhc2VBZGRyKSArIFdET0dfV1NSX09GRlNFVCwNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgV0RPR19TRVJWSUNFX1NFUTIpOyB9DQo+ID4gKw0KPiA+ICsvKioN Cj4gPiArICBTdG9wIHRoZSBXZG9nIHdhdGNoZG9nIHRpbWVyIGZyb20gY291bnRpbmcgZG93bi4N Cj4gPiArKiovDQo+ID4gK1NUQVRJQw0KPiA+ICtWT0lEDQo+ID4gK1dkb2dTdG9wICgNCj4gPiAr ICBWT0lEDQo+ID4gKyAgKQ0KPiA+ICt7DQo+ID4gKyAgLy8gIFdhdGNoZG9nIGNhbm5vdCBiZSBk aXNhYmxlZCBieSBzb2Z0d2FyZSBvbmNlIHN0YXJ0ZWQuDQo+ID4gKyAgLy8gQXQgYmVzdCwgd2Ug Y2FuIGtlZXAgcGluZ2luZyB0aGUgd2F0Y2hkb2cNCj4gPiArICBXZG9nUGluZygpOw0KPiANCj4g SG93IGlzIHRoaXMgc3VwcG9zZWQgdG8gd29yayB3aGVuIGVudGVyaW5nIHRoZSBPUz8NCg0KV2F0 Y2hkb2cgY29udHJvbGxlciBvZiBMUzEwNDMgU29DIGNhbm5vdCBiZSBzdG9wcGVkIG9uY2UgZW5h YmxlZC4NCldoZW4gbGludXggYm9vdHMgLCB0aGVuIG9uIHJlY2VpdmluZyBFeGl0Qm9vdFNlcnZp Y2VzIGV2ZW50LCB3ZSBhcmUgY2FsbGluZw0KV2RvZ1N0b3AgYW5kIGhlcmUsIHdlIGFyZSBwaW5n aW5nIHRoZSB3YXRjaGRvZyBpLmUuIHJlbG9hZGluZyB0aGUgd2F0Y2hkb2cNCndpdGggdGhlIG1h eGltdW0gdmFsdWUgKDEyOCBzZWNvbmRzKSwgdGhpcyBtdWNoIHRpbWUgaXMgc3VmZmljaWVudCBm b3IgT1MgdG8gYm9vdC4NCg0KPiANCj4gPiArfQ0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAgU3Rh cnRzIHRoZSBXZG9nIGNvdW50aW5nIGRvd24gYnkgZmVlZGluZyBTZXJ2aWNlIHJlZ2lzdGVyIHdp dGgNCj4gPiArICBkZXNpcmVkIHBhdHRlcm4uDQo+ID4gKyAgVGhlIGNvdW50IGRvd24gd2lsbCBz dGFydCBmcm9tIHRoZSB2YWx1ZSBzdG9yZWQgaW4gdGhlIExvYWQNCj4gPiArcmVnaXN0ZXIsDQo+ ID4gKyAgbm90IGZyb20gdGhlIHZhbHVlIHdoZXJlIGl0IHdhcyBwcmV2aW91c2x5IHN0b3BwZWQu DQo+ID4gKyoqLw0KPiA+ICtTVEFUSUMNCj4gPiArVk9JRA0KPiA+ICtXZG9nU3RhcnQgKA0KPiA+ ICsgIFZPSUQNCj4gPiArICApDQo+ID4gK3sNCj4gPiArICAvKiBSZWxvYWQgdGhlIHRpbWVvdXQg dmFsdWUgKi8NCj4gPiArICBXZG9nUGluZygpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICsvKioNCj4g PiArICAgIE9uIGV4aXRpbmcgYm9vdCBzZXJ2aWNlcyB3ZSBtdXN0IG1ha2Ugc3VyZSB0aGUgV2Rv ZyBXYXRjaGRvZyBUaW1lcg0KPiA+ICsgICAgaXMgc3RvcHBlZC4NCj4gPiArKiovDQo+ID4gK1ZP SUQNCj4gPiArRUZJQVBJDQo+ID4gK0V4aXRCb290U2VydmljZXNFdmVudCAoDQo+ID4gKyAgSU4g RUZJX0VWRU5UICBFdmVudCwNCj4gPiArICBJTiBWT0lEICAgICAgICpDb250ZXh0DQo+ID4gKyAg KQ0KPiA+ICt7DQo+ID4gKyAgV2RvZ1N0b3AoKTsNCj4gDQo+IFRoZSBjb21tZW50IGFib3ZlIHNh eXMgdGhpcyBpcyBpbXBvc3NpYmxlLg0KPiANClBsZWFzZSByZWZlciBhYm92ZSBkZXNjcmlwdGlv biBmb3IgdGhpcy4NCg0KPiA+ICt9DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICBUaGlzIGZ1bmN0 aW9uIHJlZ2lzdGVycyB0aGUgaGFuZGxlciBOb3RpZnlGdW5jdGlvbiBzbyBpdCBpcyBjYWxsZWQN Cj4gPiArZXZlcnkgdGltZQ0KPiA+ICsgIHRoZSB3YXRjaGRvZyB0aW1lciBleHBpcmVzLiAgSXQg YWxzbyBwYXNzZXMgdGhlIGFtb3VudCBvZiB0aW1lDQo+ID4gK3NpbmNlIHRoZSBsYXN0DQo+ID4g KyAgaGFuZGxlciBjYWxsIHRvIHRoZSBOb3RpZnlGdW5jdGlvbi4NCj4gPiArICBJZiBOb3RpZnlG dW5jdGlvbiBpcyBub3QgTlVMTCBhbmQgYSBoYW5kbGVyIGlzIG5vdCBhbHJlYWR5DQo+ID4gK3Jl Z2lzdGVyZWQsDQo+ID4gKyAgdGhlbiB0aGUgbmV3IGhhbmRsZXIgaXMgcmVnaXN0ZXJlZCBhbmQg RUZJX1NVQ0NFU1MgaXMgcmV0dXJuZWQuDQo+ID4gKyAgSWYgTm90aWZ5RnVuY3Rpb24gaXMgTlVM TCwgYW5kIGEgaGFuZGxlciBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQsDQo+ID4gKyAgdGhlbiB0aGF0 IGhhbmRsZXIgaXMgdW5yZWdpc3RlcmVkLg0KPiA+ICsgIElmIGFuIGF0dGVtcHQgaXMgbWFkZSB0 byByZWdpc3RlciBhIGhhbmRsZXIgd2hlbiBhIGhhbmRsZXIgaXMNCj4gPiArYWxyZWFkeSByZWdp c3RlcmVkLA0KPiA+ICsgIHRoZW4gRUZJX0FMUkVBRFlfU1RBUlRFRCBpcyByZXR1cm5lZC4NCj4g PiArICBJZiBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gdW5yZWdpc3RlciBhIGhhbmRsZXIgd2hlbiBh IGhhbmRsZXIgaXMgbm90DQo+ID4gK3JlZ2lzdGVyZWQsDQo+ID4gKyAgdGhlbiBFRklfSU5WQUxJ RF9QQVJBTUVURVIgaXMgcmV0dXJuZWQuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbSAgVGhpcyAgICAg ICAgICAgICBUaGUgRUZJX1RJTUVSX0FSQ0hfUFJPVE9DT0wgaW5zdGFuY2UuDQo+ID4gKyAgQHBh cmFtICBOb3RpZnlGdW5jdGlvbiAgIFRoZSBmdW5jdGlvbiB0byBjYWxsIHdoZW4gYSB0aW1lciBp bnRlcnJ1cHQNCj4gZmlyZXMuIFRoaXMNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ZnVuY3Rpb24gZXhlY3V0ZXMgYXQgVFBMX0hJR0hfTEVWRUwuIFRoZSBEWEUgQ29yZSB3aWxsDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyIGEgaGFuZGxlciBmb3IgdGhl IHRpbWVyIGludGVycnVwdCwgc28gaXQgY2FuIGtub3cNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgaG93IG11Y2ggdGltZSBoYXMgcGFzc2VkLiBUaGlzIGluZm9ybWF0aW9uIGlzIHVz ZWQgdG8NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmFsIHRpbWVyIGJhc2Vk IGV2ZW50cy4gTlVMTCB3aWxsIHVucmVnaXN0ZXIgdGhlIGhhbmRsZXIuDQo+ID4gKw0KPiA+ICsg IEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIFRoZSB3YXRjaGRvZyB0aW1lciBoYW5kbGVy IHdhcyByZWdpc3RlcmVkLg0KPiA+ICsgIEByZXR2YWwgRUZJX0FMUkVBRFlfU1RBUlRFRCAgIE5v dGlmeUZ1bmN0aW9uIGlzIG5vdCBOVUxMLCBhbmQgYQ0KPiBoYW5kbGVyIGlzIGFscmVhZHkNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlcmVkLg0KPiA+ICsgIEBy ZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIE5vdGlmeUZ1bmN0aW9uIGlzIE5VTEwsIGFuZCBh IGhhbmRsZXINCj4gd2FzIG5vdA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHByZXZpb3VzbHkgcmVnaXN0ZXJlZC4NCj4gPiArDQo+ID4gKyoqLw0KPiA+ICtFRklfU1RBVFVT DQo+ID4gK0VGSUFQSQ0KPiA+ICtXZG9nUmVnaXN0ZXJIYW5kbGVyICgNCj4gPiArICBJTiBDT05T VCBFRklfV0FUQ0hET0dfVElNRVJfQVJDSF9QUk9UT0NPTCAgICpUaGlzLA0KPiA+ICsgIElOIEVG SV9XQVRDSERPR19USU1FUl9OT1RJRlkgICAgICAgICAgICAgICAgTm90aWZ5RnVuY3Rpb24NCj4g PiArICApDQo+ID4gK3sNCj4gPiArICAvLyBFUlJPUjogVGhpcyBmdW5jdGlvbiBpcyBub3Qgc3Vw cG9ydGVkLg0KPiA+ICsgIC8vIFRoZSBoYXJkd2FyZSB3YXRjaGRvZyB3aWxsIHJlc2V0IHRoZSBi b2FyZA0KPiA+ICsgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+IA0KPiBEb2Vzbid0 IHRoaXMgdmlvbGF0ZSB0aGUgcHJvdG9jb2w/IFdoeSBkb2VzIGl0IG1ha2Ugc2Vuc2UgdG8gaW1w bGVtZW50IHRoZQ0KPiBwcm90b2NvbCBiYXNlZCBvbiB0aGlzIGhhcmR3YXJlPw0KV2UgaGF2ZSBy ZWZlcnJlZCBBcm1QbGF0Zm9ybVBrZy9Ecml2ZXJzL1NQODA1V2F0Y2hkb2dEeGUvU1A4MDVXYXRj aGRvZy5jDQpQbGVhc2Ugc3VnZ2VzdCBhbnkgdXNlciBvZiB0aGlzIGZ1bmN0aW9uLg0KPiANCj4g PiArfQ0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKw0KPiA+ICsgIFRoaXMgZnVuY3Rpb24gYWRqdXN0 cyB0aGUgcGVyaW9kIG9mIHRpbWVyIGludGVycnVwdHMgdG8gdGhlIHZhbHVlDQo+ID4gKyBzcGVj aWZpZWQgIGJ5IFRpbWVyUGVyaW9kLiAgSWYgdGhlIHRpbWVyIHBlcmlvZCBpcyB1cGRhdGVkLCB0 aGVuIHRoZQ0KPiA+ICsgc2VsZWN0ZWQgdGltZXIgIHBlcmlvZCBpcyBzdG9yZWQgaW4gRUZJX1RJ TUVSLlRpbWVyUGVyaW9kLCBhbmQNCj4gPiArIEVGSV9TVUNDRVNTIGlzIHJldHVybmVkLiAgSWYg IHRoZSB0aW1lciBoYXJkd2FyZSBpcyBub3QgcHJvZ3JhbW1hYmxlLA0KPiB0aGVuIEVGSV9VTlNV UFBPUlRFRCBpcyByZXR1cm5lZC4NCj4gPiArICBJZiBhbiBlcnJvciBvY2N1cnMgd2hpbGUgYXR0 ZW1wdGluZyB0byB1cGRhdGUgdGhlIHRpbWVyIHBlcmlvZCwNCj4gPiArIHRoZW4gdGhlICB0aW1l ciBoYXJkd2FyZSB3aWxsIGJlIHB1dCBiYWNrIGluIGl0cyBzdGF0ZSBwcmlvciB0byB0aGlzDQo+ ID4gKyBjYWxsLCBhbmQgIEVGSV9ERVZJQ0VfRVJST1IgaXMgcmV0dXJuZWQuICBJZiBUaW1lclBl cmlvZCBpcyAwLCB0aGVuDQo+ID4gKyB0aGUgdGltZXIgaW50ZXJydXB0ICBpcyBkaXNhYmxlZC4g IFRoaXMgaXMgbm90IHRoZSBzYW1lIGFzIGRpc2FibGluZyB0aGUgQ1BVJ3MNCj4gaW50ZXJydXB0 cy4NCj4gPiArICBJbnN0ZWFkLCBpdCBtdXN0IGVpdGhlciB0dXJuIG9mZiB0aGUgdGltZXIgaGFy ZHdhcmUsIG9yIGl0IG11c3QNCj4gPiArIGFkanVzdCB0aGUgIGludGVycnVwdCBjb250cm9sbGVy IHNvIHRoYXQgYSBDUFUgaW50ZXJydXB0IGlzIG5vdA0KPiA+ICsgZ2VuZXJhdGVkIHdoZW4gdGhl IHRpbWVyICBpbnRlcnJ1cHQgZmlyZXMuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbSAgVGhpcyAgICAg ICAgICAgICBUaGUgRUZJX1RJTUVSX0FSQ0hfUFJPVE9DT0wgaW5zdGFuY2UuDQo+ID4gKyAgQHBh cmFtICBUaW1lclBlcmlvZCAgICAgIFRoZSByYXRlIHRvIHByb2dyYW0gdGhlIHRpbWVyIGludGVy cnVwdCBpbiAxMDANCj4gblMgdW5pdHMuIElmDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRoZSB0aW1lciBoYXJkd2FyZSBpcyBub3QgcHJvZ3JhbW1hYmxlLCB0aGVuDQo+IEVGSV9V TlNVUFBPUlRFRCBpcw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5lZC4g SWYgdGhlIHRpbWVyIGlzIHByb2dyYW1tYWJsZSwgdGhlbiB0aGUgdGltZXINCj4gcGVyaW9kDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGwgYmUgcm91bmRlZCB1cCB0byB0aGUg bmVhcmVzdCB0aW1lciBwZXJpb2QgdGhhdCBpcw0KPiBzdXBwb3J0ZWQNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgYnkgdGhlIHRpbWVyIGhhcmR3YXJlLiBJZiBUaW1lclBlcmlvZCBp cyBzZXQgdG8gMCwgdGhlbiB0aGUNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlt ZXIgaW50ZXJydXB0cyB3aWxsIGJlIGRpc2FibGVkLg0KPiA+ICsNCj4gPiArDQo+ID4gKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgVGhlIHRpbWVyIHBlcmlvZCB3YXMgY2hhbmdlZC4N Cj4gPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICBUaGUgcGxhdGZvcm0gY2Fubm90 IGNoYW5nZSB0aGUgcGVyaW9kDQo+IG9mIHRoZSB0aW1lciBpbnRlcnJ1cHQuDQo+ID4gKyAgQHJl dHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgVGhlIHRpbWVyIHBlcmlvZCBjb3VsZCBub3QgYmUg Y2hhbmdlZA0KPiBkdWUgdG8gYSBkZXZpY2UgZXJyb3IuDQo+ID4gKw0KPiA+ICsqKi8NCj4gPiAr RUZJX1NUQVRVUw0KPiA+ICtFRklBUEkNCj4gPiArV2RvZ1NldFRpbWVyUGVyaW9kICgNCj4gPiAr ICBJTiBDT05TVCBFRklfV0FUQ0hET0dfVElNRVJfQVJDSF9QUk9UT0NPTCAgICpUaGlzLA0KPiA+ ICsgIElOIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZXJQZXJp b2QgICAvLyBJbiAxMDBucyB1bml0cw0KPiA+ICsgICkNCj4gPiArew0KPiA+ICsgIEVGSV9TVEFU VVMgIFN0YXR1czsNCj4gPiArICBVSU5UNjQgICAgICBUaW1lclBlcmlvZEluU2VjOw0KPiA+ICsg IFVJTlQxNiAgICAgIFZhbDsNCj4gPiArDQo+ID4gKyAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQo+ ID4gKw0KPiA+ICsgIGlmIChUaW1lclBlcmlvZCA9PSAwKSB7DQo+ID4gKyAgICAvLyBUaGlzIGlz IGEgd2F0Y2hkb2cgc3RvcCByZXF1ZXN0DQo+ID4gKyAgICBXZG9nU3RvcCgpOw0KPiA+ICsgICAg Z290byBFWElUOw0KPiA+ICsgIH0gZWxzZSB7DQo+ID4gKyAgICAvLyBDb252ZXJ0IHRoZSBUaW1l clBlcmlvZCAoaW4gMTAwIG5zIHVuaXQpIHRvIGFuIGVxdWl2YWxlbnQNCj4gPiArIHNlY29uZCB2 YWx1ZQ0KPiA+ICsNCj4gPiArICAgIFRpbWVyUGVyaW9kSW5TZWMgPSBEaXZVNjR4MzIoVGltZXJQ ZXJpb2QsIE5BTk9fU0VDT05EX0JBU0UpOw0KPiA+ICsNCj4gPiArICAgIC8vIFRoZSByZWdpc3Rl cnMgaW4gdGhlIFdkb2cgYXJlIG9ubHkgMzIgYml0cw0KPiA+ICsgICAgaWYoVGltZXJQZXJpb2RJ blNlYyA+IFdUX01BWF9USU1FKSB7DQo+ID4gKyAgICAgIC8vIFdlIGNvdWxkIGxvYWQgdGhlIHdh dGNoZG9nIHdpdGggdGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlIGJ1dA0KPiA+ICsgICAgICAv LyBpZiBhIHNtYWxsZXIgdmFsdWUgd2FzIHJlcXVlc3RlZCwgdGhpcyBjb3VsZCBoYXZlIHRoZSB3 YXRjaGRvZw0KPiA+ICsgICAgICAvLyB0cmlnZ2VyaW5nIGJlZm9yZSBpdCB3YXMgaW50ZW5kZWQu DQo+ID4gKyAgICAgIC8vIEJldHRlciBnZW5lcmF0ZSBhbiBlcnJvciB0byBsZXQgdGhlIGNhbGxl ciBrbm93Lg0KPiA+ICsgICAgICBTdGF0dXMgPSBFRklfREVWSUNFX0VSUk9SOw0KPiA+ICsgICAg ICBnb3RvIEVYSVQ7DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+ICsgICAgLy8gc2V0IHRoZSBuZXcg dGltZW91dCB2YWx1ZSBpbiB0aGUgV0NSDQo+ID4gKyAgICBWYWwgPSBXZG9nUmVhZChQY2RHZXQ2 NChQY2RXZG9nMUJhc2VBZGRyKSArDQo+IFdET0dfV0NSX09GRlNFVCk7DQo+ID4gKyAgICBWYWwg Jj0gfldET0dfV0NSX1dUOw0KPiA+ICsgICAgLy8gQ29udmVydCB0aGUgdGltZW91dCB2YWx1ZSBm cm9tIFNlY29uZHMgdG8gdGltZXIgY291bnQNCj4gPiArICAgIFZhbCB8PSAoKFdEX0NPVU5UKFRp bWVyUGVyaW9kSW5TZWMpICYgV0RfQ09VTlRfTUFTSykgPDwgOCk7DQo+ID4gKyAgICBXZG9nV3Jp dGUoUGNkR2V0NjQoUGNkV2RvZzFCYXNlQWRkcikgKyBXRE9HX1dDUl9PRkZTRVQsDQo+IFZhbCk7 DQo+ID4gKw0KPiA+ICsgICAgLy8gU3RhcnQgdGhlIHdhdGNoZG9nDQo+ID4gKyAgICBXZG9nU3Rh cnQoKTsNCj4gPiArICB9DQo+ID4gKw0KPiA+ICsgIEVYSVQ6DQo+ID4gKyAgcmV0dXJuIFN0YXR1 czsNCj4gPiArfQ0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAgVGhpcyBmdW5jdGlvbiByZXRyaWV2 ZXMgdGhlIHBlcmlvZCBvZiB0aW1lciBpbnRlcnJ1cHRzIGluIDEwMCBucw0KPiA+ICt1bml0cywN Cj4gPiArICByZXR1cm5zIHRoYXQgdmFsdWUgaW4gVGltZXJQZXJpb2QsIGFuZCByZXR1cm5zIEVG SV9TVUNDRVNTLiAgSWYNCj4gPiArVGltZXJQZXJpb2QNCj4gPiArICBpcyBOVUxMLCB0aGVuIEVG SV9JTlZBTElEX1BBUkFNRVRFUiBpcyByZXR1cm5lZC4gIElmIGEgVGltZXJQZXJpb2QNCj4gPiAr b2YgMCBpcw0KPiA+ICsgIHJldHVybmVkLCB0aGVuIHRoZSB0aW1lciBpcyBjdXJyZW50bHkgZGlz YWJsZWQuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbSAgVGhpcyAgICAgICAgICAgICBUaGUgRUZJX1RJ TUVSX0FSQ0hfUFJPVE9DT0wgaW5zdGFuY2UuDQo+ID4gKyAgQHBhcmFtICBUaW1lclBlcmlvZCAg ICAgIEEgcG9pbnRlciB0byB0aGUgdGltZXIgcGVyaW9kIHRvIHJldHJpZXZlIGluIDEwMA0KPiBu cyB1bml0cy4gSWYNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgMCBpcyByZXR1cm5l ZCwgdGhlbiB0aGUgdGltZXIgaXMgY3VycmVudGx5IGRpc2FibGVkLg0KPiA+ICsNCj4gPiArDQo+ ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgVGhlIHRpbWVyIHBlcmlvZCB3YXMg cmV0dXJuZWQgaW4NCj4gVGltZXJQZXJpb2QuDQo+ID4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9Q QVJBTUVURVIgVGltZXJQZXJpb2QgaXMgTlVMTC4NCj4gPiArDQo+ID4gKyoqLw0KPiA+ICtFRklf U1RBVFVTDQo+ID4gK0VGSUFQSQ0KPiA+ICtXZG9nR2V0VGltZXJQZXJpb2QgKA0KPiA+ICsgIElO IENPTlNUIEVGSV9XQVRDSERPR19USU1FUl9BUkNIX1BST1RPQ09MICAgKlRoaXMsDQo+ID4gKyAg T1VUIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqVGltZXJQZXJpb2QN Cj4gPiArICApDQo+ID4gK3sNCj4gPiArICBFRklfU1RBVFVTICBTdGF0dXM7DQo+ID4gKyAgVUlO VDY0ICAgICAgUmV0dXJuVmFsdWU7DQo+ID4gKyAgVUlOVDE2ICAgICAgVmFsOw0KPiA+ICsNCj4g PiArICBTdGF0dXMgPSBFRklfU1VDQ0VTUzsNCj4gPiArDQo+ID4gKyAgaWYgKFRpbWVyUGVyaW9k ID09IE5VTEwpIHsNCj4gPiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ID4g KyAgfQ0KPiA+ICsNCj4gPiArICAvLyBDaGVjayBpZiB0aGUgd2F0Y2hkb2cgaXMgc3RvcHBlZCAg aWYNCj4gPiArICgoV2RvZ1JlYWQoUGNkR2V0NjQoUGNkV2RvZzFCYXNlQWRkcikgKyBXRE9HX1dD Ul9PRkZTRVQpDQo+ID4gKyAgICAgICAgICAgICAgJiBXRE9HX1dDUl9XREUpID09IDAgKSB7DQo+ ID4gKyAgICAvLyBJdCBpcyBzdG9wcGVkLCBzbyByZXR1cm4gemVyby4NCj4gPiArICAgIFJldHVy blZhbHVlID0gMDsNCj4gPiArICB9IGVsc2Ugew0KPiA+ICsgICAgLy8gQ29udmVydCB0aGUgV2F0 Y2hkb2cgdGlja3MgaW50byBlcXVpdmFsZW50IFRpbWVyUGVyaW9kIHNlY29uZA0KPiB2YWx1ZS4N Cj4gPiArICAgIFZhbCA9IChXZG9nUmVhZChQY2RHZXQ2NChQY2RXZG9nMUJhc2VBZGRyKSArDQo+ IFdET0dfV0NSX09GRlNFVCkNCj4gPiArICAgICAgICAgICAgJiBXRE9HX1dDUl9XVCApID4+IDg7 DQo+ID4gKyAgICBSZXR1cm5WYWx1ZSA9IFdEX1NFQyhWYWwpOw0KPiA+ICsgIH0NCj4gPiArDQo+ ID4gKyAgKlRpbWVyUGVyaW9kID0gUmV0dXJuVmFsdWU7DQo+ID4gKyAgcmV0dXJuIFN0YXR1czsN Cj4gPiArfQ0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAgSW50ZXJmYWNlIHN0cnVjdHVyZSBmb3Ig dGhlIFdhdGNoZG9nIEFyY2hpdGVjdHVyYWwgUHJvdG9jb2wuDQo+ID4gKw0KPiA+ICsgIEBwYXIg UHJvdG9jb2wgRGVzY3JpcHRpb246DQo+ID4gKyAgVGhpcyBwcm90b2NvbCBwcm92aWRlcyBhIHNl cnZpY2UgdG8gc2V0IHRoZSBhbW91bnQgb2YgdGltZSB0byB3YWl0DQo+ID4gKyBiZWZvcmUgZmly aW5nIHRoZSB3YXRjaGRvZyB0aW1lciwgYW5kIGl0IGFsc28gcHJvdmlkZXMgYSBzZXJ2aWNlIHRv DQo+ID4gKyByZWdpc3RlciBhIGhhbmRsZXIgdGhhdCBpcyBpbnZva2VkIHdoZW4gdGhlIHdhdGNo ZG9nIHRpbWVyIGZpcmVzLg0KPiA+ICsNCj4gPiArICBAcGFyIFdoZW4gdGhlIHdhdGNoZG9nIHRp bWVyIGZpcmVzLCBjb250cm9sIHdpbGwgYmUgcGFzc2VkIHRvIGENCj4gPiArIGhhbmRsZXIgIGlm IG9uZSBoYXMgYmVlbiByZWdpc3RlcmVkLiAgSWYgbm8gaGFuZGxlciBoYXMgYmVlbg0KPiA+ICsg cmVnaXN0ZXJlZCwgIG9yIHRoZSByZWdpc3RlcmVkIGhhbmRsZXIgcmV0dXJucywgdGhlbiB0aGUg c3lzdGVtIHdpbGwNCj4gPiArIGJlICByZXNldCBieSBjYWxsaW5nIHRoZSBSdW50aW1lIFNlcnZp Y2UgUmVzZXRTeXN0ZW0oKS4NCj4gPiArDQo+ID4gKyAgQHBhcmFtIFJlZ2lzdGVySGFuZGxlcg0K PiA+ICsgIFJlZ2lzdGVycyBhIGhhbmRsZXIgdGhhdCB3aWxsIGJlIGNhbGxlZCBlYWNoIHRpbWUg dGhlDQo+ID4gKyB3YXRjaGRvZ3RpbWVyIGludGVycnVwdCBmaXJlcy4gIFRpbWVyUGVyaW9kIGRl ZmluZXMgdGhlIG1pbmltdW0NCj4gPiArIHRpbWUgYmV0d2VlbiB0aW1lciBpbnRlcnJ1cHRzLCBz byBUaW1lclBlcmlvZCB3aWxsIGFsc28gIGJlIHRoZQ0KPiA+ICsgbWluaW11bSB0aW1lIGJldHdl ZW4gY2FsbHMgdG8gdGhlIHJlZ2lzdGVyZWQgIGhhbmRsZXIuDQo+ID4gKyAgTk9URTogSWYgdGhl IHdhdGNoZG9nIHJlc2V0cyB0aGUgc3lzdGVtIGluIGhhcmR3YXJlLCB0aGVuDQo+ID4gKyAgICAg ICAgdGhpcyBmdW5jdGlvbiB3aWxsIG5vdCBoYXZlIGFueSBjaGFuY2Ugb2YgZXhlY3V0aW5nLg0K PiA+ICsNCj4gPiArICBAcGFyYW0gU2V0VGltZXJQZXJpb2QNCj4gPiArICBTZXRzIHRoZSBwZXJp b2Qgb2YgdGhlIHRpbWVyIGludGVycnVwdCBpbiAxMDAgblMgdW5pdHMuDQo+ID4gKyAgVGhpcyBm dW5jdGlvbiBpcyBvcHRpb25hbCwgYW5kIG1heSByZXR1cm4gRUZJX1VOU1VQUE9SVEVELg0KPiA+ ICsgIElmIHRoaXMgZnVuY3Rpb24gaXMgc3VwcG9ydGVkLCB0aGVuIHRoZSB0aW1lciBwZXJpb2Qg d2lsbCAgYmUNCj4gPiArIHJvdW5kZWQgdXAgdG8gdGhlIG5lYXJlc3Qgc3VwcG9ydGVkIHRpbWVy IHBlcmlvZC4NCj4gPiArDQo+ID4gKyAgQHBhcmFtIEdldFRpbWVyUGVyaW9kDQo+ID4gKyAgUmV0 cmlldmVzIHRoZSBwZXJpb2Qgb2YgdGhlIHRpbWVyIGludGVycnVwdCBpbiAxMDAgblMgdW5pdHMu DQo+ID4gKw0KPiA+ICsqKi8NCj4gPiArRUZJX1dBVENIRE9HX1RJTUVSX0FSQ0hfUFJPVE9DT0wg ICAgZ1dhdGNoZG9nVGltZXIgPSB7DQo+IA0KPiBTVEFUSUMgcGxlYXNlDQo+IA0KT0sNCj4gDQo+ ID4gKyAgKEVGSV9XQVRDSERPR19USU1FUl9SRUdJU1RFUl9IQU5ETEVSKSBXZG9nUmVnaXN0ZXJI YW5kbGVyLA0KPiA+ICsgIChFRklfV0FUQ0hET0dfVElNRVJfU0VUX1RJTUVSX1BFUklPRCkgV2Rv Z1NldFRpbWVyUGVyaW9kLA0KPiA+ICsgIChFRklfV0FUQ0hET0dfVElNRVJfR0VUX1RJTUVSX1BF UklPRCkgV2RvZ0dldFRpbWVyUGVyaW9kDQo+IA0KPiBUaGUgKCkgY2FzdHMgc2hvdWxkbid0IGJl IG5lY2Vzc2FyeS4NCj4gDQpPSw0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAgSW5p dGlhbGl6ZSBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgdGhlIFdhdGNoZG9nIFRpbWVyIEFyY2hpdGVj dHVyYWwNCj4gUHJvdG9jb2wuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbSAgSW1hZ2VIYW5kbGUgICBv ZiB0aGUgbG9hZGVkIGRyaXZlcg0KPiA+ICsgIEBwYXJhbSAgU3lzdGVtVGFibGUgICBQb2ludGVy IHRvIHRoZSBTeXN0ZW0gVGFibGUNCj4gPiArDQo+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAg ICAgICAgICAgUHJvdG9jb2wgcmVnaXN0ZXJlZA0KPiA+ICsgIEByZXR2YWwgRUZJX09VVF9PRl9S RVNPVVJDRVMgIENhbm5vdCBhbGxvY2F0ZSBwcm90b2NvbCBkYXRhDQo+IHN0cnVjdHVyZQ0KPiA+ ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgIEhhcmR3YXJlIHByb2JsZW1zDQo+ID4g Kw0KPiA+ICsqKi8NCj4gPiArRUZJX1NUQVRVUw0KPiA+ICtFRklBUEkNCj4gPiArV2RvZ0luaXRp YWxpemUgKA0KPiA+ICsgIElOIEVGSV9IQU5ETEUgICAgICAgICBJbWFnZUhhbmRsZSwNCj4gPiAr ICBJTiBFRklfU1lTVEVNX1RBQkxFICAgKlN5c3RlbVRhYmxlDQo+ID4gKyAgKQ0KPiA+ICt7DQo+ ID4gKyAgRUZJX1NUQVRVUyAgU3RhdHVzOw0KPiA+ICsgIEVGSV9IQU5ETEUgIEhhbmRsZTsNCj4g PiArICBVSU5UMTYgICAgICBWYWw7DQo+ID4gKw0KPiA+ICsNCj4gPiArICBWYWwgPSBXZG9nUmVh ZChQY2RHZXQ2NChQY2RXZG9nMUJhc2VBZGRyKSArDQo+IFdET0dfV0NSX09GRlNFVCk7DQo+ID4g Kw0KPiA+ICsgIFZhbCAmPSB+V0RPR19XQ1JfV1Q7DQo+ID4gKw0KPiA+ICsgIFZhbCAmPSB+V0RP R19XQ1JfV0RFOw0KPiA+ICsNCj4gPiArICBWYWwgfD0gV0RfQ09VTlQoV1RfTUFYX1RJTUUpICYg V0RfQ09VTlRfTUFTSzsNCj4gPiArDQo+ID4gKyAgV2RvZ1dyaXRlKFBjZEdldDY0KFBjZFdkb2cx QmFzZUFkZHIpICsgV0RPR19XQ1JfT0ZGU0VULA0KPiBWYWwpOw0KPiA+ICsNCj4gDQo+IENhbiB5 b3UgdXNlIE1taW9BbmRUaGVuT3IxNiAoKSBoZXJlPw0KPiANClllcywgd2lsbCB1cGRhdGUgdGhp cy4NCg0KPiA+ICsgIFZhbCB8PSBXRE9HX1dDUl9XREU7DQo+ID4gKw0KPiANCj4gV2hhdCBpcyB0 aGUgcHVycG9zZSBvZiB0aGlzIGFzc2lnbm1lbnQ/DQo+IA0KQWguLiB3aWxsIGNvcnJlY3QgdGhp cy4NCg0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gTWFrZSBzdXJlIHRoZSBXYXRjaGRvZyBUaW1lciBB cmNoaXRlY3R1cmFsIFByb3RvY29sICAvLyBoYXMgbm90DQo+ID4gKyBiZWVuIGluc3RhbGxlZCBp biB0aGUgc3lzdGVtIHlldC4NCj4gPiArICAvLyBUaGlzIHdpbGwgYXZvaWQgY29uZmxpY3RzIHdp dGggdGhlIHVuaXZlcnNhbCB3YXRjaGRvZyAgLy8NCj4gPiArIEFTU0VSVF9QUk9UT0NPTF9BTFJF QURZX0lOU1RBTExFRCAoTlVMTCwNCj4gPiArICZnRWZpV2F0Y2hkb2dUaW1lckFyY2hQcm90b2Nv bEd1aWQpOw0KPiA+ICsNCj4gPiArICAvLyBSZWdpc3RlciBmb3IgYW4gRXhpdEJvb3RTZXJ2aWNl c0V2ZW50ICBTdGF0dXMgPSBnQlMtPkNyZWF0ZUV2ZW50DQo+ID4gKyAoRVZUX1NJR05BTF9FWElU X0JPT1RfU0VSVklDRVMsIFRQTF9OT1RJRlksDQo+ID4gKyAgICAgICAgICAgICAgRXhpdEJvb3RT ZXJ2aWNlc0V2ZW50LCBOVUxMLA0KPiA+ICsgJkVmaUV4aXRCb290U2VydmljZXNFdmVudCk7ICBp ZiAoRUZJX0VSUk9SKFN0YXR1cykpIHsNCj4gPiArICAgIFN0YXR1cyA9IEVGSV9PVVRfT0ZfUkVT T1VSQ0VTOw0KPiANCj4gV2h5IG5vdCByZXR1cm4gU3RhdHVzIGRpcmVjdGx5Pw0KPiANCldpbGwg Y29ycmVjdCBzYW1lLg0KDQo+ID4gKyAgICBnb3RvIEVYSVQ7DQo+ID4gKyAgfQ0KPiA+ICsNCj4g PiArICAvLyBJbnN0YWxsIHRoZSBUaW1lciBBcmNoaXRlY3R1cmFsIFByb3RvY29sIG9udG8gYSBu ZXcgaGFuZGxlDQo+ID4gKyBIYW5kbGUgPSBOVUxMOyAgU3RhdHVzID0gZ0JTLT5JbnN0YWxsTXVs dGlwbGVQcm90b2NvbEludGVyZmFjZXMoDQo+ID4gKyAgICAgICAgICAgICAgICAgICZIYW5kbGUs DQo+ID4gKyAgICAgICAgICAgICAgICAgICZnRWZpV2F0Y2hkb2dUaW1lckFyY2hQcm90b2NvbEd1 aWQsICZnV2F0Y2hkb2dUaW1lciwNCj4gPiArICAgICAgICAgICAgICAgICAgTlVMTA0KPiA+ICsg ICAgICAgICAgICAgICAgICApOw0KPiA+ICsgIGlmIChFRklfRVJST1IoU3RhdHVzKSkgew0KPiA+ ICsgICAgU3RhdHVzID0gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQo+IA0KPiBXaHkgbm90IHJldHVy biBTdGF0dXMgZGlyZWN0bHk/DQo+IA0KPiA+ICsgICAgZ290byBFWElUOw0KPiA+ICsgIH0NCj4g PiArDQo+ID4gK0VYSVQ6DQo+ID4gKyAgaWYoRUZJX0VSUk9SKFN0YXR1cykpIHsNCj4gPiArICAg IC8vIFRoZSB3YXRjaGRvZyBmYWlsZWQgdG8gaW5pdGlhbGl6ZQ0KPiA+ICsgICAgQVNTRVJUKEZB TFNFKTsNCj4gPiArICB9DQo+ID4gKw0KPiA+ICsgIFdkb2dQaW5nKCk7DQo+ID4gKw0KPiA+ICsg IHJldHVybiBTdGF0dXM7DQo+IA0KPiBQbGVhc2UgY2xvc2UgdGhlIGV2ZW50IGFuZC9vciB1bmlu c3RhbGwgdGhlIHByb3RvY29sIGJlZm9yZSByZXR1cm5pbmcgd2l0aCBhbg0KPiBlcnJvci4NCj4g DQpPSw0KPiA+ICt9DQo+ID4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL05YUC9Ecml2ZXJzL1dhdGNo RG9nL1dhdGNoRG9nLmgNCj4gPiBiL1BsYXRmb3JtL05YUC9Ecml2ZXJzL1dhdGNoRG9nL1dhdGNo RG9nLmgNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAuLjU2ZGRi ZGUNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvUGxhdGZvcm0vTlhQL0RyaXZlcnMvV2F0 Y2hEb2cvV2F0Y2hEb2cuaA0KPiA+IEBAIC0wLDAgKzEsMzcgQEANCj4gPiArLyoqIFdhdGNoRG9n LmgNCj4gPiArKg0KPiA+ICsqICBDb3B5cmlnaHQgMjAxNyBOWFANCj4gPiArKg0KPiA+ICsqICBU aGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQo+ID4gKyogIGFyZSBs aWNlbnNlZCBhbmQgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25z IG9mDQo+ID4gK3RoZSBCU0QgTGljZW5zZQ0KPiA+ICsqICB3aGljaCBhY2NvbXBhbmllcyB0aGlz IGRpc3RyaWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vuc2UNCj4gPiArbWF5IGJl IGZvdW5kIGF0DQo+ID4gKyoNCj4gPg0KPiAraHR0cHM6Ly9lbWVhMDEuc2FmZWxpbmtzLnByb3Rl Y3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwJTNBJTJGJTJGb3ANCj4gZQ0KPiA+ICtuc291cmNl Lm9yZyUyRmxpY2Vuc2VzJTJGYnNkLQ0KPiBsaWNlbnNlLnBocCZkYXRhPTAyJTdDMDElN0NtZWVu YWtzaGkuYWdnDQo+ID4NCj4gK2Fyd2FsJTQwbnhwLmNvbSU3Q2ZlMDNiNTUyZDAyYjQ3OGE5MjM2 MDhkNTJhOTE1MGY4JTdDNjg2ZWExZDNiYw0KPiAyYjRjNmYNCj4gPg0KPiArYTkyY2Q5OWM1YzMw MTYzNSU3QzAlN0MwJTdDNjM2NDYxNzI1OTk4OTIyNDE0JnNkYXRhPTA5NG0lMkZrZ1gNCj4gTnV2 d1hSUw0KPiA+ICtFd2UlMkJrZThkbzNLdldoVzdQQkF2TVR5Mk8lMkZjNCUzRCZyZXNlcnZlZD0w DQo+ID4gKyoNCj4gPiArKiAgVEhFIFBST0dSQU0gSVMgRElTVFJJQlVURUQgVU5ERVIgVEhFIEJT RCBMSUNFTlNFIE9OIEFOICJBUyBJUyINCj4gPiArQkFTSVMsDQo+ID4gKyogIFdJVEhPVVQgV0FS UkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUg0KPiBFWFBSRVNT IE9SIElNUExJRUQuDQo+ID4gKyoNCj4gPiArKiovDQo+ID4gKw0KPiA+ICsjaWZuZGVmIF9fV0FU Q0hET0dfSF9fDQo+ID4gKyNkZWZpbmUgX19XQVRDSERPR19IX18NCj4gPiArDQo+ID4gKyNkZWZp bmUgV0RPR19TSVpFICAgICAgICAgICAweDEwMDANCj4gPiArI2RlZmluZSBXRE9HX1dDUl9PRkZT RVQgICAgIDANCj4gPiArI2RlZmluZSBXRE9HX1dTUl9PRkZTRVQgICAgIDINCj4gPiArI2RlZmlu ZSBXRE9HX1dSU1JfT0ZGU0VUICAgIDQNCj4gPiArI2RlZmluZSBXRE9HX1dJQ1JfT0ZGU0VUICAg IDYNCj4gPiArI2RlZmluZSBXRE9HX1dDUl9XVCAgICAgICAgICgweEZGIDw8IDgpDQo+ID4gKyNk ZWZpbmUgV0RPR19XQ1JfV0RFICAgICAgICAoMSA8PCAyKQ0KPiA+ICsjZGVmaW5lIFdET0dfU0VS VklDRV9TRVExICAgMHg1NTU1DQo+ID4gKyNkZWZpbmUgV0RPR19TRVJWSUNFX1NFUTIgICAweEFB QUENCj4gPiArI2RlZmluZSBXRE9HX1dDUl9XRFpTVCAgICAgIDB4MQ0KPiA+ICsjZGVmaW5lIFdE T0dfV0NSX1dSRSAgICAgICAgKDEgPDwgMykgIC8qIC0+IFdET0cgUmVzZXQgRW5hYmxlICovDQo+ ID4gKw0KPiA+ICsjZGVmaW5lIFdUX01BWF9USU1FICAgICAgICAgMTI4DQo+ID4gKyNkZWZpbmUg V0RfQ09VTlQoU2VjKSAgICAgICAoKChTZWMpICogMiAtIDEpIDw8IDgpDQo+ID4gKyNkZWZpbmUg V0RfQ09VTlRfTUFTSyAgICAgICAweGZmMDANCj4gPiArI2RlZmluZSBXRF9TRUMoQ250KSAgICAg ICAgICgoKENudCkgKyAxKSAvIDIpDQo+ID4gKw0KPiA+ICsjZGVmaW5lIE5BTk9fU0VDT05EX0JB U0UgICAgMTAwMDAwMDANCj4gPiArDQo+ID4gKyNlbmRpZiAvL19fV0FUQ0hET0dfSF9fDQo+ID4g ZGlmZiAtLWdpdCBhL1BsYXRmb3JtL05YUC9Ecml2ZXJzL1dhdGNoRG9nL1dhdGNoRG9nRHhlLmlu Zg0KPiA+IGIvUGxhdGZvcm0vTlhQL0RyaXZlcnMvV2F0Y2hEb2cvV2F0Y2hEb2dEeGUuaW5mDQo+ ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwLi40Y2Y3ZDg0DQo+ID4g LS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL1BsYXRmb3JtL05YUC9Ecml2ZXJzL1dhdGNoRG9nL1dh dGNoRG9nRHhlLmluZg0KPiA+IEBAIC0wLDAgKzEsNDcgQEANCj4gPiArIyAgV2F0Y2hEb2cuaW5m DQo+ID4gKyMNCj4gPiArIyAgQ29tcG9uZW50IGRlc2NyaXB0aW9uIGZpbGUgZm9yICBXYXRjaERv ZyBtb2R1bGUgIyAjICBDb3B5cmlnaHQNCj4gPiArMjAxNyBOWFAgIyAjICBUaGlzIHByb2dyYW0g YW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzICMgIGFyZQ0KPiA+ICtsaWNlbnNlZCBhbmQg bWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBCU0QN Cj4gPiArTGljZW5zZSAjICB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4gIFRo ZSBmdWxsIHRleHQgb2YgdGhlDQo+ID4gK2xpY2Vuc2UgbWF5IGJlIGZvdW5kIGF0ICMNCj4gPg0K PiAraHR0cHM6Ly9lbWVhMDEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1o dHRwJTNBJTJGJTJGb3ANCj4gZQ0KPiA+ICtuc291cmNlLm9yZyUyRmxpY2Vuc2VzJTJGYnNkLQ0K PiBsaWNlbnNlLnBocCZkYXRhPTAyJTdDMDElN0NtZWVuYWtzaGkuYWdnDQo+ID4NCj4gK2Fyd2Fs JTQwbnhwLmNvbSU3Q2ZlMDNiNTUyZDAyYjQ3OGE5MjM2MDhkNTJhOTE1MGY4JTdDNjg2ZWExZDNi Yw0KPiAyYjRjNmYNCj4gPg0KPiArYTkyY2Q5OWM1YzMwMTYzNSU3QzAlN0MwJTdDNjM2NDYxNzI1 OTk4OTIyNDE0JnNkYXRhPTA5NG0lMkZrZ1gNCj4gTnV2d1hSUw0KPiA+ICtFd2UlMkJrZThkbzNL dldoVzdQQkF2TVR5Mk8lMkZjNCUzRCZyZXNlcnZlZD0wDQo+ID4gKyMNCj4gPiArIyAgVEhFIFBS T0dSQU0gSVMgRElTVFJJQlVURUQgVU5ERVIgVEhFIEJTRCBMSUNFTlNFIE9OIEFOICJBUyBJUyIN Cj4gPiArQkFTSVMsICMgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlMgT0Yg QU5ZIEtJTkQsDQo+IEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQuDQo+ID4gKyMNCj4gPiArIw0K PiA+ICsNCj4gPiArW0RlZmluZXNdDQo+ID4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAg ICAgID0gMHgwMDAxMDAwNQ0KPiANCj4gMHgwMDAxMDAxQQ0KPiANCk9LDQo+ID4gKyAgQkFTRV9O QU1FICAgICAgICAgICAgICAgICAgICAgID0gV2F0Y2hEb2dEeGUNCj4gPiArICBGSUxFX0dVSUQg ICAgICAgICAgICAgICAgICAgICAgPSBlYmQ3MDVmYi1mYTkyLTQ2YTctYjMyYi03ZjU2NmQ5NDQ2 MTQNCj4gDQo+IFBsZWFzZSBkb24ndCByZXVzZSB0aGUgU1A4MDVXYXRjaGRvZ0R4ZSBHVUlEDQo+ IA0KT0sNCj4gPiArICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAgICAgPSBEWEVfRFJJVkVS DQo+ID4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ID4gKyAgRU5U UllfUE9JTlQgICAgICAgICAgICAgICAgICAgID0gV2RvZ0luaXRpYWxpemUNCj4gPiArDQo+ID4g K1tTb3VyY2VzLmNvbW1vbl0NCj4gPiArICBXYXRjaERvZy5jDQo+ID4gKw0KPiA+ICtbUGFja2Fn ZXNdDQo+ID4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gPiArICBlZGsyLXBsYXRmb3Jtcy9QbGF0 Zm9ybS9OWFAvTnhwUW9yaXFMcy5kZWMNCj4gPiArDQo+ID4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4g PiArICBCYXNlTGliDQo+ID4gKyAgQmVJb0xpYg0KPiA+ICsgIFBjZExpYg0KPiA+ICsgIFVlZmlC b290U2VydmljZXNUYWJsZUxpYg0KPiA+ICsgIFVlZmlEcml2ZXJFbnRyeVBvaW50DQo+ID4gKw0K PiA+ICtbUGNkXQ0KPiA+ICsgIGdOeHBRb3JpcUxzVG9rZW5TcGFjZUd1aWQuUGNkV2RvZzFCYXNl QWRkcg0KPiA+ICsgIGdOeHBRb3JpcUxzVG9rZW5TcGFjZUd1aWQuUGNkV2RvZ0JpZ0VuZGlhbg0K PiA+ICsNCj4gPiArW1Byb3RvY29sc10NCj4gPiArICBnRWZpV2F0Y2hkb2dUaW1lckFyY2hQcm90 b2NvbEd1aWQNCj4gPiArDQo+ID4gK1tEZXBleF0NCj4gPiArICBUUlVFDQo+ID4gLS0NCj4gPiAx LjkuMQ0KPiA+DQo=