From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web11.16446.1688628582388108276 for ; Thu, 06 Jul 2023 00:29:43 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=kDPJKLRw; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: w.sheng@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1688628582; x=1720164582; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Zlagh4ulxZtXqNVEWmQCPpTWml5rVd+8IVuUSJ+TFwo=; b=kDPJKLRw0h2Jsar9NeibL/MRF4PLxnkqI7WWsuAYNbORI7OzJxJ4G4ff LCLQK5+uv/wunGbSIovZFu8AMeWdzkBxvDa6CfwBTNZHDbzzPSjbvT5w6 Zn9cdIDd+918c2PGXsG6az5tmE4iEifXf3wnMZWVK3LYmlwUgjHgCVp1r QigxdBzCf8xoT+heuqfZFbtlEpsMhDjMEcMQrcqbu0a+Bly0yNT6UiFds WcW4THLrk9YnWuDEaV2+uSOTdCthV82q5aE75B1iJ1uBztXcuoJjwy8w+ vhaWYo0LgHD2LkxoBTjTl17wcI43W7gSnpx3XVLACC1bdiVs2Uh6E/5uw g==; X-IronPort-AV: E=McAfee;i="6600,9927,10762"; a="361002447" X-IronPort-AV: E=Sophos;i="6.01,185,1684825200"; d="scan'208";a="361002447" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jul 2023 00:29:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10762"; a="749033570" X-IronPort-AV: E=Sophos;i="6.01,185,1684825200"; d="scan'208";a="749033570" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga008.jf.intel.com with ESMTP; 06 Jul 2023 00:29:33 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 6 Jul 2023 00:29:31 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Thu, 6 Jul 2023 00:29:31 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.41) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Thu, 6 Jul 2023 00:29:31 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N4uMHg+lvrdrJ/B46huB3eWlDMYU5iSmZT9A8JRF9c6NHTUck36wU5h21FXs9P7kWa468qpZgJeG+2wpVImqxR5QXWwNu+RtHGsVJPaQrRIgrC+MO6rKpSZiraBVXcUT8lndplzgUVeaDCQEqOiRnE0w9Lb5oqE1j+zNYcvADBLjuHFDZ17/OxkVlxDhSbmOeyYiXMWLsK3VsgqiPsIFNoclrye5eGLxR7LxYrlRlwHVM6+wxDeemLRO7KIG14x787RVpiNYT3c98p1uMKyO5MvZynGvUEbbC0Agbh6/cEKD+t89Tjfn7ph7n8PgD3tG9JlX2P+5nv68NTPa8J8wAA== 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=Zlagh4ulxZtXqNVEWmQCPpTWml5rVd+8IVuUSJ+TFwo=; b=LPKpICTBvmnVItYD1oL7Y0K3+tn4ypTp/d87DlVkZz+i6c1O6ef0HRo/M+wRCpgC2mC2rB2fdkJL/8a4C8ExXeSAPqCXW5RacjIYGbQ7QWqlyV0Ryda6ySDXmv2cwTT/GPP3CVy8xWm+pZReO4Buu5fR0xUUNJ5AcMD17sk/Yck79bCod+YLqrICgswz/O+ZUxAvjJaU74O0+QAXpBiKzKBHFcWpXp8nbRPTP/snSTdpKeX2XDNUEThr7tv/mXeSd4mWOX2fdXaB4/X21zTaP1DAUwEZrOA9AFuvqPMR+CkWGIKyTT5k9db0cQWEGmgbh9sy0/AZk/cjJn6MZ7bQwQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from PH0PR11MB4870.namprd11.prod.outlook.com (2603:10b6:510:34::16) by SA3PR11MB7416.namprd11.prod.outlook.com (2603:10b6:806:316::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.17; Thu, 6 Jul 2023 07:29:21 +0000 Received: from PH0PR11MB4870.namprd11.prod.outlook.com ([fe80::8319:9f44:4a00:6ff2]) by PH0PR11MB4870.namprd11.prod.outlook.com ([fe80::8319:9f44:4a00:6ff2%5]) with mapi id 15.20.6565.016; Thu, 6 Jul 2023 07:29:21 +0000 From: "Sheng Wei" To: "Yao, Jiewen" , "devel@edk2.groups.io" CC: "Wang, Jian J" , "Xu, Min M" , "Chen, Zeyi" , "Wang, Fiona" Subject: Re: [PATCH] SecurityPkg/SecureBoot: Support RSA 512 and RSA 384 Thread-Topic: [PATCH] SecurityPkg/SecureBoot: Support RSA 512 and RSA 384 Thread-Index: AQHZjskJ013VdJPEo0+BUvJoerQ0VK+WlClQgAybtrCAAEWxUIAJFZFggAAG1WCAAAYRsA== Date: Thu, 6 Jul 2023 07:29:21 +0000 Message-ID: References: <20230525052316.512-1-w.sheng@intel.com> In-Reply-To: Accept-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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR11MB4870:EE_|SA3PR11MB7416:EE_ x-ms-office365-filtering-correlation-id: 84e06746-bdbc-41f8-3c1d-08db7df2b766 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ma89yy94xB0engfG8WfAJW/zeV5oOYX1Zbb5viBj0glHiPXntay9plC5/G+tXvc52B7evCr4r/nu5MMz+B8BGOVGCbPRJuypt/+MMzmboYrSnZu5ntlfhG+VPbHZhYtrUSeyDHQ5DuclQFBSGTqffCPC+5IcYtJNfZnOlNOuY/toApuIRwvK3vML9VUwFdcA6nyseVaTkWHmtfC7/rEMFEdy1h0gDxsw9RxYpn/sElu5pYs+eSshM5Tf0Yzaky3zDCeAitwbSJWw+HaoNJ6aYsXIMTdKBVAEHRsxxCurR6P1xYO3zPxfPNjy2fSFhLnFq6gE4b+JqWssMzU0HI2K7Lf1WwxZp6DloEtty9jN0IpS4dDmjSFOzDUQ1TRDRxhfdYZ2A4eV9dHYi7kFkw/GJ3nXgW40tZC70fTiLNmbPGtNK9C3BnPkn/TXKmyLFYh7LmztzwPEjYTb5xyBF8VMenZNnhnhsjSDWkDoRSdYmFN7Qcmd/5+3qJvQr889WlY/jUmaJPpjBKfkJiouCyi03zjFiyr0VYpmBG+fBcoziP40mX/ullzPWc0jIMQ2ShpOjRjMMtMCOTrzjqnl1Fsu9Xldwxtov0tOUANTlJ+un6w= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB4870.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(136003)(39860400002)(366004)(396003)(451199021)(53546011)(2906002)(19627235002)(107886003)(966005)(478600001)(7696005)(110136005)(71200400001)(54906003)(83380400001)(26005)(9686003)(186003)(6506007)(15650500001)(5660300002)(30864003)(52536014)(66476007)(33656002)(8936002)(38100700002)(122000001)(76116006)(66946007)(55016003)(82960400001)(64756008)(38070700005)(41300700001)(8676002)(4326008)(66446008)(86362001)(316002)(66556008)(559001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?gb2312?B?WmpHRDRiZkZTWW5ZMGgybzZQZzczcEZvMnJzTGpJUzV6dUdIbTZVd2lEQm9s?= =?gb2312?B?bFFkY3ZLU0tzVnRWYzg4czBNZi9EeU9mRDZVd3ExSERZVUpONUNHK0E0ZVNH?= =?gb2312?B?bis0emNieFVSekRuVjFKUytwa0l5SDFqMUxOUGJPbVJPMjZPdmN2bG03bDNG?= =?gb2312?B?cVBBNzF0UWFyaUlEZHhIMG1xNjhnR1l5aGdzMThOT3RFbDJBUmF0OWorVWU5?= =?gb2312?B?Unc5OVk5NVVmUFk3WGloN2xvd2lEYXMwNnVRSHNBSmVlbkJjbGhERHd4cmpJ?= =?gb2312?B?eU51VUE3c3VZbTYyeUZKL0FoOUtQU1VpS1RmdVpmUWd5VmlHMWpTekNrZkZX?= =?gb2312?B?djVvYzl3eUE5c2haWFVRRDRwalhVTzhGSEYxa2s5Tm9RMDl2TUJiMTNkQUNp?= =?gb2312?B?UEFJd2F6Uiswdm82bjZMM052MFlydjAyeHg5d2xzMndtOGVuTk4vZ3NMMS8y?= =?gb2312?B?YytmcW5XTUl1WC9RR0ZBbHd0OTArN1V5Q3AzaTkwMmpoM3lXM2daWjByeFR0?= =?gb2312?B?Q1o0eFpsL0tMVFFyOU0yVnpXRjZ6NWhWSlZxYmJKQkxGMlV3R2dMdUtOS1Rk?= =?gb2312?B?YTJUMlluTnVMQ003MTkwRkdCaWUxRlZQb09kRTBDU3BmK3BnYXljTHllWTRX?= =?gb2312?B?WGNUNStwV2o0YjUwREJEYnU4eFB4cUNzVU9GNzRqN3hxZWVScytIcDRkZVlr?= =?gb2312?B?RXRFZzJWbjVDdkw5VnZ6UHJyMytlTmRwYzdpU09adTM3RjNpcGh3LzdsYjh3?= =?gb2312?B?NFRVWi9QZTJpcmViK3RzVjhFUVdRTnA5NTFEdEMzZTBxUUhrR2tJVEtvR0li?= =?gb2312?B?eDErT0hORW5WUTgwL2YvNVR4ekg0d1BXb1B3MjlsdlUzZ1VOaVhOQzgxL29a?= =?gb2312?B?dFlxWmZ5U0hZYWcycmExM0hxZlJuREE0MHVjbUhoVHdTcStDOEwvMHBPbWo5?= =?gb2312?B?M1V5USszRFdSZnlhVFhvd01HYXhhYVJrWXRGYzNIUFZvejVWMGV5cW5GdUIw?= =?gb2312?B?TER0ejZMZkoxVUFEN0F6ZGZYd2g2VEgwU0pxK0VPdHc3LzZJVDRMTE9tWm9X?= =?gb2312?B?MzJ1WDZBSytZRyttZkF2M1ZXTytDUUdWR0pnK3BzRWxqV1h4dU1mcGpIaUYv?= =?gb2312?B?RTVaVU5pUy83c1ZSeGhka044Z29Bdk10bnpPM2RFQlJ3MjdHWm1PYU8yM1Vv?= =?gb2312?B?REkwc2k0Wk5SdnA2UGFkR0pUb0VYWnI3azZuZkZXOFNDMTJnUnBFeWtMZVZj?= =?gb2312?B?QVBDaDVhMUtsZVRJc2EwNXFnZXRUMkRCWTI2c0dhS1VYdkVnQVl4NTQ3L2xD?= =?gb2312?B?eUV0bzBHRlhCUk5rM3Z4ay9VVUJJT04xNzlKTVQzblgwQTJtVXZtVTIzOTNq?= =?gb2312?B?b1dFUysveHB3clBBeTByNWh1eXRFUTlzMUU2ZGpnaTRjRkxvTDhIenlUZ3p0?= =?gb2312?B?R0lFcVU0bS9FNXRuNGx4Mk4zZlN3YnFGbnNlcjNpVlNMb2sxek1WUkNZc25V?= =?gb2312?B?OFd3L0RvUjJsTjBnVlMwR0hleDFvclRCRmhvNXpkUXh0bUFHN2hJeUF3Qjgz?= =?gb2312?B?SG56T2hvVW1vU1F2NWZueEF4aW95a2dXZVgySGpLakxSeHZWaHpCL212OGNy?= =?gb2312?B?bmQzc1lBSmpnYjhQd0RwUTJFaGM1eUFkd2tjNkRia21McXZ6RVQxQk9rZXN1?= =?gb2312?B?NUI3MlkyVElMOXFid1NST0cyN2kwdjR0Z1lIQ1BiaDBGdzNIeEJIQ2NON3Fp?= =?gb2312?B?ci9lRGZJYXJQUlpNaUt5azh3anIrclVad0c1UktSdGV0cnFnU0dYRWwxSHdh?= =?gb2312?B?R3BLYWh4WTBqM3JYNXBMRlRrdlJ2bUUxRDU1ZEtRU213bUNuZWtFa1ZXNFFk?= =?gb2312?B?TDJjcWRmclgwd2dnbEFEYUVIbDNaS0F5a21jYndLSUZxNFMyQmdmQXFVQWtV?= =?gb2312?B?aGN1d1Y5akZRSno2SXAvaGhQMnk4MDBhK01ueUtIVVIwTDUvRjdpZkJ2Tjhq?= =?gb2312?B?c1lDakUzblVLZlpUakZYZVFjbTNRYzM3UnJXY29YVlhaVGtqSXBrRFdJUDVz?= =?gb2312?B?UXFnZUNuSkJUTjIvMTB0L0ZBNlMvMkhUb012Yzh2QkliOU1uWFExRlIrWWQr?= =?gb2312?Q?8Gvo=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4870.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 84e06746-bdbc-41f8-3c1d-08db7df2b766 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jul 2023 07:29:21.5056 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mP5vlKTcSc8I+zVn1N7F4Kfqu0Cc+5bLjLU6GSOwJP4UdT6PeQn62uHRGQhWqfjtEl6N5BdmTzJehzFVwSJ3Sg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR11MB7416 Return-Path: w.sheng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGkgSmlld2VuLA0KQXMgeW91ciBzdWdnZXN0aW9uLg0KSSB3aWxsIGNoZWNrIGlmIENQTF9LRVlf SU5GTy4gS2V5VHlwZSA9PSAwIGZpcnN0Lg0KSWYgdHJ1ZSwgSSB3aWxsIHVzZSBiZWxvdyB0YWJs ZSB0byBzZWxlY3QgUlNBIGFsZ29yaXRobS4NCktleUxlbmd0aEluQml0cyAgICBSU0EgYWxnb3Jp dGhtDQoyMDQ4ICAgICAgICAgICAgICAgICAgICAgICAgUlNBIDJLDQozMDcyICAgICAgICAgICAg ICAgICAgICAgICAgUlNBIDNLDQo0MDk2ICAgICAgICAgICAgICAgICAgICAgICAgUlNBIDRLDQpE byB5b3UgaGF2ZSBhbnkgY29tbWVudCBhYm91dCB0aGlzIHNvbHV0aW9uID8NCg0KVGhhbmsgeW91 DQpCUg0KU2hlbmcgV2VpDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9t OiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+IFNlbnQ6IDIwMjPE6jfUwjbI 1SAxNTowNg0KPiBUbzogU2hlbmcsIFcgPHcuc2hlbmdAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5n cm91cHMuaW8NCj4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgWHUs IE1pbiBNDQo+IDxtaW4ubS54dUBpbnRlbC5jb20+OyBDaGVuLCBaZXlpIDx6ZXlpLmNoZW5AaW50 ZWwuY29tPjsgV2FuZywgRmlvbmENCj4gPGZpb25hLndhbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0 OiBSRTogW1BBVENIXSBTZWN1cml0eVBrZy9TZWN1cmVCb290OiBTdXBwb3J0IFJTQSA1MTIgYW5k IFJTQSAzODQNCj4gDQo+IENQTF9LRVlfSU5GTyBpcyBub3Qgc3RhbmRhcmQsIGJ1dCBpbXBsZW1l bnRhdGlvbiBjaG9pY2UuDQo+IA0KPiBJIG5vdGljZSBLZXlUeXBlIGZpZWxkIGlzIG5vdCB1c2Vk IHRvZGF5LiBJIGFzc3VtZSBpdCBpcyAwIHRvZGF5Lg0KPiANCj4gQ2FuIHdlIHVzZSAwIHRvIGlu ZGljYXRlIFJTQVNTQT8NCj4gDQo+IFRoYW5rIHlvdQ0KPiBZYW8sIEppZXdlbg0KPiANCj4gDQo+ IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogU2hlbmcsIFcgPHcu c2hlbmdAaW50ZWwuY29tPg0KPiA+IFNlbnQ6IFRodXJzZGF5LCBKdWx5IDYsIDIwMjMgMjo0OCBQ TQ0KPiA+IFRvOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBkZXZlbEBlZGsy Lmdyb3Vwcy5pbw0KPiA+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47 IFh1LCBNaW4gTQ0KPiA8bWluLm0ueHVAaW50ZWwuY29tPjsNCj4gPiBDaGVuLCBaZXlpIDx6ZXlp LmNoZW5AaW50ZWwuY29tPjsgV2FuZywgRmlvbmEgPGZpb25hLndhbmdAaW50ZWwuY29tPg0KPiA+ IFN1YmplY3Q6IFJFOiBbUEFUQ0hdIFNlY3VyaXR5UGtnL1NlY3VyZUJvb3Q6IFN1cHBvcnQgUlNB IDUxMiBhbmQgUlNBDQo+IDM4NA0KPiA+DQo+ID4gSGkgSmlld2VuLA0KPiA+IEkgcmFpc2VkIHRo ZSBwYXRjaCBWMywgQW5kIEkgYWxzbyBhdHRhY2hlZCB0aGUgcGF0Y2ggZmlsZS4NCj4gPiBGb3Ig NCwNCj4gPiBNeSBzb2x1dGlvbiBpcyBiZWxvdy4NCj4gPiBXaGVuIGVucm9sbCB0aGUgdW5zaWdu ZWQgaW1hZ2UsIEJJT1Mgd2lsbCBzZWxlY3QgdGhlIG1vc3Qgc3VwcG9ydGVkDQo+IGNvbXBsZXgN Cj4gPiBoYXNoIGFsZ29yaXRobSB0byBnZXQgdGhlIGhhc2guDQo+ID4gV2hlbiBkbyB0aGUgdmVy aWZpY2F0aW9uLCBCSU9TIHdpbGwgdHJ5IGFsbCBzdXBwb3J0ZWQgaGFzaCBhbGdvcml0aG0gaW4g ImRiIg0KPiBhbmQNCj4gPiAiZGJ4Ii4NCj4gPg0KPiA+IEZvciA1Lg0KPiA+IFRoZSBzdHJ1Y3Qg b2YgQ1BMX0tFWV9JTkZPIHNob3VsZCBiZSBiaW5kZWQgdG8gLnBiayBmaWxlIGZvcm1hdC4NCj4g PiBJIGNhbm5vdCBmaW5kIHRoZSBzcGVjIG9mIC5wYmsgZmlsZS4gSSBjYW4gbm90IGNoYW5nZSB0 aGUgc3RydWN0IGl0ZW1zLg0KPiA+IERvIHlvdSBrbm93IHdoZXJlIHRvIGZpbmQgdGhlIHNwZWMg b2YgcHVibGljIGtleSBzdG9yaW5nIGZpbGUgKCoucGJrKSA/DQo+ID4gT3IgaXMgKi5wYmsgZmls ZSBhIGxlZ2FjeSBmaWxlIGZvcm1hdD8gV2UgZG8gbm90IG5lZWQgdG8gY2hhbmdlIHRoaXMgcGFy dCBhbmQNCj4gPiBrZWVwIGl0IGZvciBSU0EgMjA0OCBvbmx5ID8NCj4gPg0KPiA+IFRoYW5rIHlv dQ0KPiA+IEJSDQo+ID4gU2hlbmcgV2VpDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4gPiBGcm9tOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ ID4gPiBTZW50OiAyMDIzxOo21MIzMMjVIDE5OjU3DQo+ID4gPiBUbzogU2hlbmcsIFcgPHcuc2hl bmdAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+IENjOiBXYW5nLCBKaWFu IEogPGppYW4uai53YW5nQGludGVsLmNvbT47IFh1LCBNaW4gTQ0KPiA+ID4gPG1pbi5tLnh1QGlu dGVsLmNvbT47IENoZW4sIFpleWkgPHpleWkuY2hlbkBpbnRlbC5jb20+OyBXYW5nLCBGaW9uYQ0K PiA+ID4gPGZpb25hLndhbmdAaW50ZWwuY29tPg0KPiA+ID4gU3ViamVjdDogUkU6IFtQQVRDSF0g U2VjdXJpdHlQa2cvU2VjdXJlQm9vdDogU3VwcG9ydCBSU0EgNTEyIGFuZCBSU0ENCj4gMzg0DQo+ ID4gPg0KPiA+ID4gRm9yIDQsIEkgdGhpbmsgd2UgY2FuIGVucm9sbCBhbGwgc3VwcG9ydGVkIGFs Z29yaXRobXMsIG9yIHRoZSBhY3RpdmUNCj4gYWxnb3JpdGhtLiBJDQo+ID4gPiBkb26hr3QgdGhp bmsgdGhlIFBDRCBpcyBuZWVkZWQuDQo+ID4gPg0KPiA+ID4gRm9yIDUsIEkgc3VnZ2VzdCB0byBj aGFuZ2UgdGhlIGRhdGEgc3RydWN0dXJlIHRvIGluY2x1ZGUgdGhlIGFsZ29yaXRobSBJRC4NCj4g PiA+DQo+ID4gPiBUaGFuayB5b3UNCj4gPiA+IFlhbywgSmlld2VuDQo+ID4gPg0KPiA+ID4NCj4g PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gRnJvbTogU2hlbmcsIFcg PHcuc2hlbmdAaW50ZWwuY29tPg0KPiA+ID4gPiBTZW50OiBGcmlkYXksIEp1bmUgMzAsIDIwMjMg Mzo1MiBQTQ0KPiA+ID4gPiBUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsg ZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndh bmdAaW50ZWwuY29tPjsgWHUsIE1pbiBNDQo+ID4gPiA8bWluLm0ueHVAaW50ZWwuY29tPjsNCj4g PiA+ID4gQ2hlbiwgWmV5aSA8emV5aS5jaGVuQGludGVsLmNvbT47IFdhbmcsIEZpb25hDQo+IDxm aW9uYS53YW5nQGludGVsLmNvbT4NCj4gPiA+ID4gU3ViamVjdDogUkU6IFtQQVRDSF0gU2VjdXJp dHlQa2cvU2VjdXJlQm9vdDogU3VwcG9ydCBSU0EgNTEyIGFuZCBSU0ENCj4gPiA+IDM4NA0KPiA+ ID4gPg0KPiA+ID4gPiBIaSBKaWV3ZW4sDQo+ID4gPiA+IEkgcmFpc2VkIHRoZSBwYXRjaCBWMi4N Cj4gPiA+ID4gSSBkbyB0aGUgZml4IGZvciAxKSAsIDIpLCAzKS4NCj4gPiA+ID4gQnV0IGZvciA0 KSA1KSwgSSBoYXZlIGJlbG93IGNvbW1lbnRzLg0KPiA+ID4gPg0KPiA+ID4gPiA0KSBJIGFtIG5v dCBzdXJlIHdoeSB3ZSBuZWVkIHRoaXMgUENELiBXaHkgY2Fubm90IHdlIHN1cHBvcnQgYWxsIG9m DQo+IGhhc2gNCj4gPiA+IGFsZ28/DQo+ID4gPiA+DQo+ID4gPiA+ICsgICMjIEluZGljYXRlcyBk ZWZhdWx0IGhhc2ggYWxnb3JpdGhtIGluIFNlY3VyZSBCb290DQo+ID4gPiA+ICsgICMgICAwIC0g VXNlIFNIQTI1Ng0KPiA+ID4gPiArICAjICAgMSAtIFVzZSBTSEEzODQNCj4gPiA+ID4gKyAgIyAg IDIgLSBVc2UgU0hBNTEyDQo+ID4gPiA+ICsgICMgQFByb21wdCBTZWN1cmUgQm9vdCBkZWZhdWx0 IGhhc2ggYWxnb3JpdGhtDQo+ID4gPiA+ICsNCj4gPiA+ID4gKw0KPiA+ID4gPg0KPiA+ID4NCj4g Z0VmaVNlY3VyaXR5UGtnVG9rZW5TcGFjZUd1aWQuUGNkU2VjdXJlQm9vdERlZmF1bHRIYXNoQWxn fDB8VUlOVDh8MHgNCj4gPiA+IDAwDQo+ID4gPiA+ICsgMDEwMDQwDQo+ID4gPiA+DQo+ID4gPiA+ IFBDRCBQY2RTZWN1cmVCb290RGVmYXVsdEhhc2hBbGcgaXMgdXNlZCBmb3IgdGhlIG9ubHkgY2Fz ZSBvZiBlbnJvbGwgYW4NCj4gPiA+ID4gdW5zaWduZWQgaW1hZ2UuDQo+ID4gPiA+IFRoZSBvcmln aW5hbCBsb2dpYyBpcyBCSU9TIHdpbGwgZ2VucmF0ZSBTSEEyNTYgZGlnZXN0IGZvciB0aGlzIHVu c2lnbmVkDQo+IGltYWdlDQo+ID4gPiBhbmQNCj4gPiA+ID4gc2F2ZSBpdC4NCj4gPiA+ID4gVGhl IFBDRCBpcyB1c2VkIHRvIHNlbGVjdCB0aGUgaGFzaCBhbGdvcml0aG0gZm9yIHRoaXMgY2FzZS4N Cj4gPiA+ID4gU28gd2UgaGF2ZSB0byB1c2UgYSBQQ0QgdG8gc2VsZWN0IHRoZSBhbGdvcml0aG0g bWFudWxseS4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gNSkgSSBkb26hr3QgYmVsaWV2ZSB0 aGF0IHlvdSBjYW4gdXNlIHNpemUgdG8gZGV0ZXJtaW5lIHRoZSBhbGdvcml0aG0uIFdlDQo+ID4g PiBuZWVkIGENCj4gPiA+ID4gbW9yZSByb2J1c3Qgd2F5LCBzdWNoIGFzIGFsZ29yaXRobSBJRC4N Cj4gPiA+ID4NCj4gPiA+ID4gKyAgc3dpdGNoIChLZXlMZW5JbkJ5dGVzKSB7DQo+ID4gPiA+ICsg IGNhc2UgV0lOX0NFUlRfVUVGSV9SU0EyMDQ4X1NJWkU6DQo+ID4gPiA+ICsgICAgQ29weUd1aWQg KCZLZWtTaWdMaXN0LT5TaWduYXR1cmVUeXBlLCAmZ0VmaUNlcnRSc2EyMDQ4R3VpZCk7DQo+ID4g PiA+ICsgICAgYnJlYWs7DQo+ID4gPiA+ICsgIGNhc2UgV0lOX0NFUlRfVUVGSV9SU0EzMDcyX1NJ WkU6DQo+ID4gPiA+ICsgICAgQ29weUd1aWQgKCZLZWtTaWdMaXN0LT5TaWduYXR1cmVUeXBlLCAm Z0VmaUNlcnRSc2EzMDcyR3VpZCk7DQo+ID4gPiA+ICsgICAgYnJlYWs7DQo+ID4gPiA+ICsgIGNh c2UgV0lOX0NFUlRfVUVGSV9SU0E0MDk2X1NJWkU6DQo+ID4gPiA+ICsgICAgQ29weUd1aWQgKCZL ZWtTaWdMaXN0LT5TaWduYXR1cmVUeXBlLCAmZ0VmaUNlcnRSc2E0MDk2R3VpZCk7DQo+ID4gPiA+ ICsgICAgYnJlYWs7DQo+ID4gPiA+ICsgICAgYnJlYWs7DQo+ID4gPiA+DQo+ID4gPiA+IFRoaXMg Y29kZSBpcyB1c2VkIHdoZW4gZW5yb2xsIGEgUlNBIHB1YmxpYyBrZXkgc3RvcmluZyBmaWxlICgq LnBiaykuDQo+ID4gPiA+IEhlcmUgaXMgdGhlIGhlYWRlciBTdHJ1Y3Qgb2YgdGhpcyBmaWxlLg0K PiA+ID4gPiB0eXBlZGVmIHN0cnVjdCBfQ1BMX0tFWV9JTkZPIHsNCj4gPiA+ID4gICBVSU5UMzIg ICAgS2V5TGVuZ3RoSW5CaXRzOyAgICAgICAgLy8gS2V5IExlbmd0aCBJbiBCaXRzDQo+ID4gPiA+ ICAgVUlOVDMyICAgIEJsb2NrU2l6ZTsgICAgICAgICAgICAgIC8vIE9wZXJhdGlvbiBCbG9jayBT aXplIGluIEJ5dGVzDQo+ID4gPiA+ICAgVUlOVDMyICAgIENpcGhlckJsb2NrU2l6ZTsgICAgICAg IC8vIE91dHB1dCBDaXBoZXIgQmxvY2sgU2l6ZSBpbiBCeXRlcw0KPiA+ID4gPiAgIFVJTlQzMiAg ICBLZXlUeXBlOyAgICAgICAgICAgICAgICAvLyBLZXkgVHlwZQ0KPiA+ID4gPiAgIFVJTlQzMiAg ICBDaXBoZXJNb2RlOyAgICAgICAgICAgICAvLyBDaXBoZXIgTW9kZSBmb3IgU3ltbWV0cmljIEFs Z29yaXRobQ0KPiA+ID4gPiAgIFVJTlQzMiAgICBGbGFnczsgICAgICAgICAgICAgICAgICAvLyBB ZGRpdGlvbmFsIEtleSBQcm9wZXJ0eSBGbGFncw0KPiA+ID4gPiB9IENQTF9LRVlfSU5GTzsNCj4g PiA+ID4NCj4gPiA+DQo+IEVkazIvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1Nl Y3VyZUJvb3RDb25maWdEeGUvU2VjdXJlQm9vdA0KPiA+ID4gQ29uDQo+ID4gPiA+IGZpZ0ltcGwu aA0KPiA+ID4gPiBXZSBjYW4gb25seSBnZXQgdG8ga25vdyB0aGUgUlNBIGFsZ29yaXRobSBieSBL ZXlMZW5ndGhJbkJpdHMuDQo+ID4gPiA+IChSU0EyMDQ4L1JTQTMwNzIvUlNBNDA5NikNCj4gPiA+ ID4NCj4gPiA+ID4gVGhhbmsgeW91Lg0KPiA+ID4gPiBCUg0KPiA+ID4gPiBTaGVuZyBXZWkNCj4g PiA+ID4NCj4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+IEZy b206IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiA+ID4gPiBTZW50OiAy MDIzxOo21MIyMsjVIDE1OjIyDQo+ID4gPiA+ID4gVG86IFNoZW5nLCBXIDx3LnNoZW5nQGludGVs LmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiA+ID4gQ2M6IFdhbmcsIEppYW4gSiA8 amlhbi5qLndhbmdAaW50ZWwuY29tPjsgWHUsIE1pbiBNDQo+ID4gPiA8bWluLm0ueHVAaW50ZWwu Y29tPjsNCj4gPiA+ID4gPiBDaGVuLCBaZXlpIDx6ZXlpLmNoZW5AaW50ZWwuY29tPjsgV2FuZywg RmlvbmENCj4gPGZpb25hLndhbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+IFN1YmplY3Q6IFJFOiBb UEFUQ0hdIFNlY3VyaXR5UGtnL1NlY3VyZUJvb3Q6IFN1cHBvcnQgUlNBIDUxMiBhbmQNCj4gUlNB DQo+ID4gPiAzODQNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRoYW5rIHlvdSB2ZXJ5IG11Y2ggdG8g Y29udHJpYnV0ZSB0aGlzIHBhdGNoLiBIZXJlIGlzIG15IGZlZWRiYWNrLg0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gMSkgSSBkb26hr3QgYmVsaWV2ZSB0aGF0IHlvdSBjYW5ub3QgdXNlIGRpZ2VzdCBz aXplIHRvIGRldGVybWluZSB0aGUNCj4gPiA+IGFsZ29yaXRobSwNCj4gPiA+ID4gPiBiZWNhdXNl IGRpZmZlcmVudCBoYXNoIGFsZ29yaXRobSBtYXkgaGF2ZSBzYW1lIHRpbWUuIEUuZy4gU0hBMjU2 DQo+IGFuZA0KPiA+ID4gPiA+IFNIQTNfMjU2Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKyAgaWYg KERpZ2VzdFNpemUgPT0gU0hBMjU2X0RJR0VTVF9TSVpFKSB7DQo+ID4gPiA+ID4gKyAgICBTdGF0 dXMgPSBDYWxjdWxhdGVQcml2QXV0aFZhclNpZ25DaGFpblNIQTI1NkRpZ2VzdCAoDQo+ID4gPiA+ ID4gKyAgICAgICAgICAgICAgIFNpZ25lckNlcnQsDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAg IFNpZ25lckNlcnRTaXplLA0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICBUb3BMZXZlbENlcnQs DQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgIFRvcExldmVsQ2VydFNpemUsDQo+ID4gPiA+ID4g KyAgICAgICAgICAgICAgIFNoYURpZ2VzdA0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICApOw0K PiA+ID4gPiA+DQo+ID4gPiA+ID4gMikgSSBkb26hr3QgYmVsaWV2ZSB0aGF0IHlvdSBjYW5ub3Qg YXNzdW1pbmcgQ3R4U2l6ZSBvZiBTSEE1MTIgaXMNCj4gYmlnZ2VyDQo+ID4gPiB0aGFuDQo+ID4g PiA+ID4gU0hBMjU2LiBJIHRoaW5rIHdlIG1heSBuZWVkIGNyZWF0ZSBjb250ZXh0IGZvciBlYWNo IGFsZ28uDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBAQCAtMTM1LDcgKzEzNSw3IEBAIEF1dGhWYXJp YWJsZUxpYkluaXRpYWxpemUgKA0KPiA+ID4gPiA+ICAgIC8vDQo+ID4gPiA+ID4gICAgLy8gSW5p dGlhbGl6ZSBoYXNoIGNvbnRleHQuDQo+ID4gPiA+ID4gICAgLy8NCj4gPiA+ID4gPiAtICBDdHhT aXplICA9IFNoYTI1NkdldENvbnRleHRTaXplICgpOw0KPiA+ID4gPiA+ICsgIEN0eFNpemUgID0g U2hhNTEyR2V0Q29udGV4dFNpemUgKCk7DQo+ID4gPiA+ID4gICAgbUhhc2hDdHggPSBBbGxvY2F0 ZVJ1bnRpbWVQb29sIChDdHhTaXplKTsNCj4gPiA+ID4gPiAgICBpZiAobUhhc2hDdHggPT0gTlVM TCkgew0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gMykgSSBiZWxpZXZlIHdlIHNob3VsZCB1c2UgMCBm b3IgU0hBMjU2IGFuZCBBU1NFUlQgaW4gZGVmYXVsdC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsg IHN3aXRjaCAoUGNkR2V0OCAoUGNkU2VjdXJlQm9vdERlZmF1bHRIYXNoQWxnKSkgeyAgY2FzZSAx Og0KPiA+ID4gPiA+ICsgICAgREVCVUcgKChERUJVR19JTkZPLCAiJWEgdXNlIFNIQTM4NCIsIF9f ZnVuY19fKSk7DQo+ID4gPiA+ID4gKyAgICBIYXNoQWxnID0gSEFTSEFMR19TSEEzODQ7DQo+ID4g PiA+ID4gKyAgICBicmVhazsNCj4gPiA+ID4gPiArICBjYXNlIDI6DQo+ID4gPiA+ID4gKyAgICBE RUJVRyAoKERFQlVHX0lORk8sICIlYSB1c2UgU0hBNTEyIiwgX19mdW5jX18pKTsNCj4gPiA+ID4g PiArICAgIEhhc2hBbGcgPSBIQVNIQUxHX1NIQTUxMjsNCj4gPiA+ID4gPiArICAgIGJyZWFrOw0K PiA+ID4gPiA+ICsgIGRlZmF1bHQ6DQo+ID4gPiA+ID4gKyAgICBERUJVRyAoKERFQlVHX0lORk8s ICIlYSB1c2UgU0hBMjU2IiwgX19mdW5jX18pKTsNCj4gPiA+ID4gPiArICAgIEhhc2hBbGcgPSBI QVNIQUxHX1NIQTI1NjsNCj4gPiA+ID4gPiArICAgIGJyZWFrOw0KPiA+ID4gPiA+ICsgIH0NCj4g PiA+ID4gPg0KPiA+ID4gPiA+IDQpIEkgYW0gbm90IHN1cmUgd2h5IHdlIG5lZWQgdGhpcyBQQ0Qu IFdoeSBjYW5ub3Qgd2Ugc3VwcG9ydCBhbGwgb2YNCj4gPiA+IGhhc2gNCj4gPiA+ID4gPiBhbGdv Pw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKyAgIyMgSW5kaWNhdGVzIGRlZmF1bHQgaGFzaCBhbGdv cml0aG0gaW4gU2VjdXJlIEJvb3QNCj4gPiA+ID4gPiArICAjICAgMCAtIFVzZSBTSEEyNTYNCj4g PiA+ID4gPiArICAjICAgMSAtIFVzZSBTSEEzODQNCj4gPiA+ID4gPiArICAjICAgMiAtIFVzZSBT SEE1MTINCj4gPiA+ID4gPiArICAjIEBQcm9tcHQgU2VjdXJlIEJvb3QgZGVmYXVsdCBoYXNoIGFs Z29yaXRobQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4NCj4gPiA+DQo+IGdF ZmlTZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNlY3VyZUJvb3REZWZhdWx0SGFzaEFsZ3ww fFVJTlQ4fDB4DQo+ID4gPiA+ID4gMDANCj4gPiA+ID4gPiArIDAxMDA0MA0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gNSkgSSBkb26hr3QgYmVsaWV2ZSB0aGF0IHlvdSBjYW4gdXNlIHNpemUgdG8gZGV0 ZXJtaW5lIHRoZSBhbGdvcml0aG0uDQo+IFdlDQo+ID4gPiBuZWVkDQo+ID4gPiA+ID4gYSBtb3Jl IHJvYnVzdCB3YXksIHN1Y2ggYXMgYWxnb3JpdGhtIElELg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g KyAgc3dpdGNoIChLZXlMZW5JbkJ5dGVzKSB7DQo+ID4gPiA+ID4gKyAgY2FzZSBXSU5fQ0VSVF9V RUZJX1JTQTIwNDhfU0laRToNCj4gPiA+ID4gPiArICAgIENvcHlHdWlkICgmS2VrU2lnTGlzdC0+ U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0UnNhMjA0OEd1aWQpOw0KPiA+ID4gPiA+ICsgICAgYnJl YWs7DQo+ID4gPiA+ID4gKyAgY2FzZSBXSU5fQ0VSVF9VRUZJX1JTQTMwNzJfU0laRToNCj4gPiA+ ID4gPiArICAgIENvcHlHdWlkICgmS2VrU2lnTGlzdC0+U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0 UnNhMzA3Mkd1aWQpOw0KPiA+ID4gPiA+ICsgICAgYnJlYWs7DQo+ID4gPiA+ID4gKyAgY2FzZSBX SU5fQ0VSVF9VRUZJX1JTQTQwOTZfU0laRToNCj4gPiA+ID4gPiArICAgIENvcHlHdWlkICgmS2Vr U2lnTGlzdC0+U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0UnNhNDA5Nkd1aWQpOw0KPiA+ID4gPiA+ ICsgICAgYnJlYWs7DQo+ID4gPiA+ID4gKyAgICBicmVhazsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ IFRoYW5rIHlvdQ0KPiA+ID4gPiA+IFlhbywgSmlld2VuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPiBGcm9tOiBTaGVuZywgVyA8 dy5zaGVuZ0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiBTZW50OiBUaHVyc2RheSwgTWF5IDI1LCAy MDIzIDE6MjMgUE0NCj4gPiA+ID4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4g PiA+ID4gQ2M6IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IFdhbmcsIEppYW4g Sg0KPiA+ID4gPiA+ID4gPGppYW4uai53YW5nQGludGVsLmNvbT47IFh1LCBNaW4gTSA8bWluLm0u eHVAaW50ZWwuY29tPjsgQ2hlbiwNCj4gPiA+IFpleWkNCj4gPiA+ID4gPiA+IDx6ZXlpLmNoZW5A aW50ZWwuY29tPjsgV2FuZywgRmlvbmEgPGZpb25hLndhbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+ ID4gU3ViamVjdDogW1BBVENIXSBTZWN1cml0eVBrZy9TZWN1cmVCb290OiBTdXBwb3J0IFJTQSA1 MTIgYW5kIFJTQQ0KPiA+ID4gMzg0DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gUkVGOiBodHRw czovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTM0MTMNCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ ID4gPiA+ID4gPiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gPiA+ ID4gPiA+IENjOiBNaW4gWHUgPG1pbi5tLnh1QGludGVsLmNvbT4NCj4gPiA+ID4gPiA+IENjOiBa ZXlpIENoZW4gPHpleWkuY2hlbkBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiBDYzogRmlvbmEgV2Fu ZyA8ZmlvbmEud2FuZ0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBTaGVu ZyBXZWkgPHcuc2hlbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPiAg Q3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0VHMuYyAgIHwgICAzICstDQo+ ID4gPiA+ID4gPiAgTWRlUGtnL0luY2x1ZGUvR3VpZC9JbWFnZUF1dGhlbnRpY2F0aW9uLmggICAg IHwgIDI2ICsrDQo+ID4gPiA+ID4gPiAgTWRlUGtnL01kZVBrZy5kZWMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAyICsNCj4gPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9BdXRoVmFyaWFi bGVMaWIvQXV0aFNlcnZpY2UuYyAgICAgfCAyNzINCj4gKysrKysrKysrKysrKysrKy0NCj4gPiA+ IC0NCj4gPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFZhcmlhYmxl TGliLmMgfCAgIDQgKy0NCj4gPiA+ID4gPiA+ICAuLi4vRHhlSW1hZ2VWZXJpZmljYXRpb25MaWIu YyAgICAgICAgICAgICAgICAgfCAgMzUgKystDQo+ID4gPiA+ID4gPiAgLi4uL0R4ZUltYWdlVmVy aWZpY2F0aW9uTGliLmluZiAgICAgICAgICAgICAgIHwgICAxICsNCj4gPiA+ID4gPiA+ICBTZWN1 cml0eVBrZy9TZWN1cml0eVBrZy5kZWMgICAgICAgICAgICAgICAgICAgfCAgIDcgKw0KPiA+ID4g PiA+ID4gIC4uLi9TZWN1cmVCb290Q29uZmlnRHhlLmluZiAgICAgICAgICAgICAgICAgICB8ICAx OSArKw0KPiA+ID4gPiA+ID4gIC4uLi9TZWN1cmVCb290Q29uZmlnSW1wbC5jICAgICAgICAgICAg ICAgICAgICB8IDEyMiArKysrKysrLQ0KPiA+ID4gPiA+ID4gIC4uLi9TZWN1cmVCb290Q29uZmln SW1wbC5oICAgICAgICAgICAgICAgICAgICB8ICAgMiArDQo+ID4gPiA+ID4gPiAgLi4uL1NlY3Vy ZUJvb3RDb25maWdTdHJpbmdzLnVuaSAgICAgICAgICAgICAgIHwgICA2ICsNCj4gPiA+ID4gPiA+ ICAxMiBmaWxlcyBjaGFuZ2VkLCA0NjMgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL0NyeXB0b1BrZy9MaWJyYXJ5L0Jh c2VDcnlwdExpYi9Qay9DcnlwdFRzLmMNCj4gPiA+ID4gPiA+IGIvQ3J5cHRvUGtnL0xpYnJhcnkv QmFzZUNyeXB0TGliL1BrL0NyeXB0VHMuYw0KPiA+ID4gPiA+ID4gaW5kZXggMDI3ZGJiNjg0Mi4u OTQ0YmNmOGQzOCAxMDA2NDQNCj4gPiA+ID4gPiA+IC0tLSBhL0NyeXB0b1BrZy9MaWJyYXJ5L0Jh c2VDcnlwdExpYi9Qay9DcnlwdFRzLmMNCj4gPiA+ID4gPiA+ICsrKyBiL0NyeXB0b1BrZy9MaWJy YXJ5L0Jhc2VDcnlwdExpYi9Qay9DcnlwdFRzLmMNCj4gPiA+ID4gPiA+IEBAIC01OTEsNyArNTkx LDggQEAgSW1hZ2VUaW1lc3RhbXBWZXJpZnkgKA0KPiA+ID4gPiA+ID4gICAgLy8gUmVnaXN0ZXIg JiBJbml0aWFsaXplIG5lY2Vzc2FyeSBkaWdlc3QgYWxnb3JpdGhtcyBmb3IgUEtDUyM3DQo+IEhh bmRsaW5nLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIC8vDQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gICAgaWYgKChFVlBfYWRkX2RpZ2VzdCAoRVZQX21kNSAoKSkgPT0gMCkgfHwgKEVW UF9hZGRfZGlnZXN0DQo+ID4gPiAoRVZQX3NoYTENCj4gPiA+ID4gPiA+ICgpKSA9PSAwKQ0KPiA+ ID4gPiA+ID4gfHwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAtICAgICAgKEVWUF9hZGRfZGln ZXN0IChFVlBfc2hhMjU2ICgpKSA9PSAwKSB8fA0KPiAoKEVWUF9hZGRfZGlnZXN0X2FsaWFzDQo+ ID4gPiA+ID4gPiAoU05fc2hhMVdpdGhSU0FFbmNyeXB0aW9uLCBTTl9zaGExV2l0aFJTQSkpID09 IDApKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAoRVZQX2FkZF9kaWdlc3QgKEVW UF9zaGEyNTYgKCkpID09IDApIHx8IChFVlBfYWRkX2RpZ2VzdA0KPiA+ID4gPiA+ID4gKyAoRVZQ X3NoYTM4NCAoKSkNCj4gPiA+ID4gPiA+ID09IDApIHx8DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKyAgICAgIChFVlBfYWRkX2RpZ2VzdCAoRVZQX3NoYTUxMiAoKSkgPT0gMCkgfHwNCj4gKChF VlBfYWRkX2RpZ2VzdF9hbGlhcw0KPiA+ID4gPiA+ID4gKFNOX3NoYTFXaXRoUlNBRW5jcnlwdGlv biwgU05fc2hhMVdpdGhSU0EpKSA9PSAwKSkNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICB7 DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICByZXR1cm4gRkFMU0U7DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gICAgfQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQg YS9NZGVQa2cvSW5jbHVkZS9HdWlkL0ltYWdlQXV0aGVudGljYXRpb24uaA0KPiA+ID4gPiA+ID4g Yi9NZGVQa2cvSW5jbHVkZS9HdWlkL0ltYWdlQXV0aGVudGljYXRpb24uaA0KPiA+ID4gPiA+ID4g aW5kZXggZmU4MzU5NjU3MS4uYzhlYTJjMTRmYiAxMDA2NDQNCj4gPiA+ID4gPiA+IC0tLSBhL01k ZVBrZy9JbmNsdWRlL0d1aWQvSW1hZ2VBdXRoZW50aWNhdGlvbi5oDQo+ID4gPiA+ID4gPiArKysg Yi9NZGVQa2cvSW5jbHVkZS9HdWlkL0ltYWdlQXV0aGVudGljYXRpb24uaA0KPiA+ID4gPiA+ID4g QEAgLTE0NCw2ICsxNDQsMzAgQEAgdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ID4gPiA+ID4gICAgICAw eDNjNTc2NmU4LCAweDI2OWMsIDB4NGUzNCwgezB4YWEsIDB4MTQsIDB4ZWQsIDB4NzcsIDB4NmUs IDB4ODUsDQo+ID4gPiA+ID4gPiAweGIzLCAweGI2fSBcDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gICAgfQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKy8vLw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsvLy8gVGhpcyBpZGVudGlmaWVzIGEg c2lnbmF0dXJlIGNvbnRhaW5pbmcgYW4gUlNBLTMwNzIga2V5LiBUaGUga2V5DQo+ID4gPiA+ID4g PiArKG9ubHkgdGhlDQo+ID4gPiA+ID4gPiBtb2R1bHVzDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKy8vLyBzaW5jZSB0aGUgcHVibGljIGtleSBleHBvbmVudCBpcyBrbm93biB0byBiZSAweDEw MDAxKSBzaGFsbCBiZQ0KPiA+ID4gPiA+ID4gK3N0b3JlZCBpbiBiaWctDQo+ID4gPiA+ID4gPiBl bmRpYW4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArLy8vIG9yZGVyLg0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ICsvLy8gVGhlIFNpZ25hdHVyZUhlYWRlciBzaXplIHNoYWxsIGFsd2F5cyBi ZSAwLiBUaGUgU2lnbmF0dXJlU2l6ZQ0KPiA+ID4gPiA+ID4gK3NoYWxsIGFsd2F5cw0KPiA+ID4g PiA+ID4gYmUgMTYgKHNpemUNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArLy8vIG9mIFNpZ25h dHVyZU93bmVyIGNvbXBvbmVudCkgKyAzODQgYnl0ZXMuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKy8vLw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsjZGVmaW5lIEVGSV9DRVJUX1JTQTMw NzJfR1VJRCBcDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgeyBcDQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gKyAgICAweGVkZDMyMGMyLCAweGIwNTcsIDB4NGI4ZSwgezB4YWQsIDB4NDYs IDB4MmMsIDB4OWIsIDB4ODUsIDB4ODksDQo+ID4gPiA+ID4gPiArIDB4ZWUsDQo+ID4gPiA+ID4g PiAweDkyIH0gXA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKy8vLw0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ICsvLy8gVGhpcyBpZGVudGlmaWVzIGEgc2lnbmF0dXJlIGNvbnRhaW5pbmcg YW4gUlNBLTQwOTYga2V5LiBUaGUga2V5DQo+ID4gPiA+ID4gPiArKG9ubHkgdGhlDQo+ID4gPiA+ ID4gPiBtb2R1bHVzDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKy8vLyBzaW5jZSB0aGUgcHVi bGljIGtleSBleHBvbmVudCBpcyBrbm93biB0byBiZSAweDEwMDAxKSBzaGFsbCBiZQ0KPiA+ID4g PiA+ID4gK3N0b3JlZCBpbiBiaWctDQo+ID4gPiA+ID4gPiBlbmRpYW4NCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiArLy8vIG9yZGVyLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsvLy8gVGhl IFNpZ25hdHVyZUhlYWRlciBzaXplIHNoYWxsIGFsd2F5cyBiZSAwLiBUaGUgU2lnbmF0dXJlU2l6 ZQ0KPiA+ID4gPiA+ID4gK3NoYWxsIGFsd2F5cw0KPiA+ID4gPiA+ID4gYmUgMTYgKHNpemUNCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArLy8vIG9mIFNpZ25hdHVyZU93bmVyIGNvbXBvbmVudCkg KyA1MTIgYnl0ZXMuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKy8vLw0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ICsjZGVmaW5lIEVGSV9DRVJUX1JTQTQwOTZfR1VJRCBcDQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gKyAgeyBcDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAweGIy M2U4OWE2LCAweDhjOGIsIDB4NDQxMiwgezB4ODUsIDB4NzMsIDB4MTUsIDB4NGUsIDB4OGQsIDB4 MDAsDQo+ID4gPiA+ID4gPiArIDB4OTgsDQo+ID4gPiA+ID4gPiAweDJjIH0gXA0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gIC8vLw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAvLy8gVGhp cyBpZGVudGlmaWVzIGEgc2lnbmF0dXJlIGNvbnRhaW5pbmcgYSBSU0EtMjA0OCBzaWduYXR1cmUg b2YgYQ0KPiA+ID4gPiA+ID4gU0hBLTI1NiBoYXNoLiAgVGhlDQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gIC8vLyBTaWduYXR1cmVIZWFkZXIgc2l6ZSBzaGFsbCBhbHdheXMgYmUgMC4gVGhlIFNp Z25hdHVyZVNpemUgc2hhbGwNCj4gPiA+ID4gPiA+IGFsd2F5cyBiZSAxNiAoc2l6ZSBvZg0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEBAIC0zMzAsNiArMzU0LDggQEAgdHlwZWRlZiBzdHJ1Y3Qg ew0KPiA+ID4gPiA+ID4gIGV4dGVybiBFRklfR1VJRCAgZ0VmaUltYWdlU2VjdXJpdHlEYXRhYmFz ZUd1aWQ7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gIGV4dGVybiBFRklfR1VJRCAgZ0VmaUNl cnRTaGEyNTZHdWlkOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICBleHRlcm4gRUZJX0dVSUQg IGdFZmlDZXJ0UnNhMjA0OEd1aWQ7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gK2V4dGVybiBF RklfR1VJRCAgZ0VmaUNlcnRSc2EzMDcyR3VpZDsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAr ZXh0ZXJuIEVGSV9HVUlEICBnRWZpQ2VydFJzYTQwOTZHdWlkOw0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICBleHRlcm4gRUZJX0dVSUQgIGdFZmlDZXJ0UnNhMjA0OFNoYTI1Nkd1aWQ7DQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gIGV4dGVybiBFRklfR1VJRCAgZ0VmaUNlcnRTaGExR3VpZDsN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgZXh0ZXJuIEVGSV9HVUlEICBnRWZpQ2VydFJzYTIw NDhTaGExR3VpZDsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvTWRlUGtn L01kZVBrZy5kZWMgYi9NZGVQa2cvTWRlUGtnLmRlYyBpbmRleA0KPiA+ID4gPiA+ID4gODBiNjU1 OTA1My4uNzgyZjZkMTg0ZCAxMDA2NDQNCj4gPiA+ID4gPiA+IC0tLSBhL01kZVBrZy9NZGVQa2cu ZGVjDQo+ID4gPiA+ID4gPiArKysgYi9NZGVQa2cvTWRlUGtnLmRlYw0KPiA+ID4gPiA+ID4gQEAg LTU2Miw2ICs1NjIsOCBAQA0KPiA+ID4gPiA+ID4gICAgZ0VmaUltYWdlU2VjdXJpdHlEYXRhYmFz ZUd1aWQgID0geyAweGQ3MTliMmNiLCAweDNkM2EsIDB4NDU5NiwNCj4gPiA+ID4gPiA+IHsweGEz LCAweGJjLCAweGRhLCAweGQwLCAgMHhlLCAweDY3LCAweDY1LCAweDZmIH19DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gICAgZ0VmaUNlcnRTaGEyNTZHdWlkICAgICAgICAgICAgID0geyAweGMx YzQxNjI2LCAweDUwNGMsIDB4NDA5MiwgezB4YWMsDQo+IDB4YTksDQo+ID4gPiA+ID4gMHg0MSwN Cj4gPiA+ID4gPiA+IDB4ZjksIDB4MzYsIDB4OTMsIDB4NDMsIDB4MjggfX0NCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiAgICBnRWZpQ2VydFJzYTIwNDhHdWlkICAgICAgICAgICAgPSB7IDB4M2M1 NzY2ZTgsIDB4MjY5YywgMHg0ZTM0LCB7MHhhYSwNCj4gPiAweDE0LA0KPiA+ID4gPiA+IDB4ZWQs DQo+ID4gPiA+ID4gPiAweDc3LCAweDZlLCAweDg1LCAweGIzLCAweGI2IH19DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gKyAgZ0VmaUNlcnRSc2EzMDcyR3VpZCAgICAgICAgICAgID0geyAweGVk ZDMyMGMyLCAweGIwNTcsIDB4NGI4ZSwgezB4YWQsDQo+ID4gPiAweDQ2LA0KPiA+ID4gPiA+ID4g MHgyYywgMHg5YiwgMHg4NSwgMHg4OSwgMHhlZSwgMHg5MiB9fQ0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICsgIGdFZmlDZXJ0UnNhNDA5Nkd1aWQgICAgICAgICAgICA9IHsgMHhiMjNlODlhNiwg MHg4YzhiLCAweDQ0MTIsIHsweDg1LA0KPiA+ID4gMHg3MywNCj4gPiA+ID4gPiA+IDB4MTUsIDB4 NGUsIDB4OGQsIDB4MDAsIDB4OTgsIDB4MmMgfX0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAg ICBnRWZpQ2VydFJzYTIwNDhTaGEyNTZHdWlkICAgICAgPSB7IDB4ZTJiMzYxOTAsIDB4ODc5Yiwg MHg0YTNkLA0KPiB7MHhhZCwNCj4gPiA+ID4gPiAweDhkLA0KPiA+ID4gPiA+ID4gMHhmMiwgMHhl NywgMHhiYiwgMHhhMywgMHgyNywgMHg4NCB9fQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAg IGdFZmlDZXJ0U2hhMUd1aWQgICAgICAgICAgICAgICA9IHsgMHg4MjZjYTUxMiwgMHhjZjEwLCAw eDRhYzksIHsweGIxLA0KPiAweDg3LA0KPiA+ID4gPiAweGJlLA0KPiA+ID4gPiA+ID4gMHgxLCAw eDQ5LCAweDY2LCAweDMxLCAweGJkIH19DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgZ0Vm aUNlcnRSc2EyMDQ4U2hhMUd1aWQgICAgICAgID0geyAweDY3Zjg0NDRmLCAweDg3NDMsIDB4NDhm MSwgezB4YTMsDQo+ID4gPiAweDI4LA0KPiA+ID4gPiA+ID4gMHgxZSwgMHhhYSwgMHhiOCwgMHg3 MywgMHg2MCwgMHg4MCB9fQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9T ZWN1cml0eVBrZy9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxpYi9BdXRoU2VydmljZS5jDQo+ID4gPiA+ ID4gPiBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1dGhTZXJ2aWNlLmMN Cj4gPiA+ID4gPiA+IGluZGV4IDQ1MmVkNDkxZWEuLjI4OGU0NGEzNTkgMTAwNjQ0DQo+ID4gPiA+ ID4gPiAtLS0gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxpYi9BdXRoU2Vydmlj ZS5jDQo+ID4gPiA+ID4gPiArKysgYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxp Yi9BdXRoU2VydmljZS5jDQo+ID4gPiA+ID4gPiBAQCAtMjksMTIgKzI5LDE2IEBAIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtDQo+IFBhdGVudA0KPiA+ID4gPiA+ID4gI2lu Y2x1ZGUgPFByb3RvY29sL1ZhcmlhYmxlUG9saWN5Lmg+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gICNpbmNsdWRlIDxMaWJyYXJ5L1ZhcmlhYmxlUG9saWN5TGliLmg+DQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArI2RlZmluZSBTSEFfRElHRVNU X1NJWkVfTUFYIFNIQTUxMl9ESUdFU1RfU0laRQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgLy8NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAg Ly8gUHVibGljIEV4cG9uZW50IG9mIFJTQSBLZXkuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g IC8vDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gIENPTlNUIFVJTlQ4ICBtUnNhRVtdID0geyAw eDAxLCAweDAwLCAweDAxIH07DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiAgQ09OU1QgVUlOVDggIG1TaGEyNTZPaWRWYWx1ZVtdID0geyAweDYwLCAw eDg2LCAweDQ4LCAweDAxLCAweDY1LA0KPiA+ID4gPiA+ID4gMHgwMywgMHgwNCwgMHgwMiwgMHgw MSB9Ow0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICtDT05TVCBVSU5UOCAgbVNoYTM4NE9pZFZh bHVlW10gPSB7IDB4NjAsIDB4ODYsIDB4NDgsIDB4MDEsIDB4NjUsDQo+ID4gPiA+ID4gPiArMHgw MywNCj4gPiA+ID4gPiA+IDB4MDQsIDB4MDIsIDB4MDIgfTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiArQ09OU1QgVUlOVDggIG1TaGE1MTJPaWRWYWx1ZVtdID0geyAweDYwLCAweDg2LCAweDQ4 LCAweDAxLCAweDY1LA0KPiA+ID4gPiA+ID4gKzB4MDMsDQo+ID4gPiA+ID4gPiAweDA0LCAweDAy LCAweDAzIH07DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiAgLy8NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgLy8gUmVxdWlyZW1lbnQgZm9yIGRp ZmZlcmVudCBzaWduYXR1cmUgdHlwZSB3aGljaCBoYXZlIGJlZW4NCj4gZGVmaW5lZA0KPiA+ID4g PiA+ID4gaW4gVUVGSSBzcGVjLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEBAIC00NCw2ICs0 OCw4IEBAIEVGSV9TSUdOQVRVUkVfSVRFTSAgbVN1cHBvcnRTaWdJdGVtW10gPSB7DQo+ID4gPiA+ ID4gPiAgICAvLyB7U2lnVHlwZSwgICAgICAgICAgICAgICAgICAgICAgIFNpZ0hlYWRlclNpemUs ICAgU2lnRGF0YVNpemUgIH0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICB7IEVGSV9DRVJU X1NIQTI1Nl9HVUlELCAgICAgICAgIDAsIDMyICAgICAgICAgICAgfSwNCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiAgICB7IEVGSV9DRVJUX1JTQTIwNDhfR1VJRCwgICAgICAgIDAsIDI1NiAgICAg ICAgICAgfSwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICB7IEVGSV9DRVJUX1JTQTMwNzJf R1VJRCwgICAgICAgIDAsIDM4NCAgICAgICAgICAgfSwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiArICB7IEVGSV9DRVJUX1JTQTQwOTZfR1VJRCwgICAgICAgIDAsIDUxMiAgICAgICAgICAgfSwN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICB7IEVGSV9DRVJUX1JTQTIwNDhfU0hBMjU2X0dV SUQsIDAsIDI1NiAgICAgICAgICAgfSwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICB7IEVG SV9DRVJUX1NIQTFfR1VJRCwgICAgICAgICAgIDAsIDIwICAgICAgICAgICAgfSwNCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiAgICB7IEVGSV9DRVJUX1JTQTIwNDhfU0hBMV9HVUlELCAgIDAsIDI1 NiAgICAgICAgICAgfSwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBAQCAtMTE3Miw2ICsxMTc4 LDE3MiBAQA0KPiA+ID4gQ2FsY3VsYXRlUHJpdkF1dGhWYXJTaWduQ2hhaW5TSEEyNTZEaWdlc3Qg KA0KPiA+ID4gPiA+ID4gICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICB9DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiArLyoqDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgQ2FsY3VsYXRlIFNIQTM4IGRp Z2VzdCBvZiBTaWduZXJDZXJ0IENvbW1vbk5hbWUgKw0KPiBUb3BsZXZlbENlcnQNCj4gPiA+ID4g PiA+IHRic0NlcnRpZmljYXRlDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgU2lnbmVyQ2Vy dCBhbmQgVG9wbGV2ZWxDZXJ0IGFyZSBpbnNpZGUgdGhlIHNpZ25lciBjZXJ0aWZpY2F0ZSBjaGFp bi4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g KyAgQHBhcmFtW2luXSAgU2lnbmVyQ2VydCAgICAgICAgICBBIHBvaW50ZXIgdG8gU2lnbmVyQ2Vy dCBkYXRhLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIEBwYXJhbVtpbl0gIFNpZ25lckNl cnRTaXplICAgICAgTGVuZ3RoIG9mIFNpZ25lckNlcnQgZGF0YS4NCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiArICBAcGFyYW1baW5dICBUb3BMZXZlbENlcnQgICAgICAgIEEgcG9pbnRlciB0byBU b3BMZXZlbENlcnQgZGF0YS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBAcGFyYW1baW5d ICBUb3BMZXZlbENlcnRTaXplICAgIExlbmd0aCBvZiBUb3BMZXZlbENlcnQgZGF0YS4NCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiArICBAcGFyYW1bb3V0XSBTaGEzODREaWdlc3QgICAgICAgU2hh Mzg0IGRpZ2VzdCBjYWxjdWxhdGVkLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiArICBAcmV0dXJuIEVGSV9BQk9SVEVEICAgICAgICAgIERpZ2Vz dCBwcm9jZXNzIGZhaWxlZC4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBAcmV0dXJuIEVG SV9TVUNDRVNTICAgICAgICAgIFNIQTM4NCBEaWdlc3QgaXMgc3VjY2Vzc2Z1bGx5DQo+IGNhbGN1 bGF0ZWQuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+ICsqKi8NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArRUZJX1NUQVRVUw0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ICtDYWxjdWxhdGVQcml2QXV0aFZhclNpZ25DaGFpblNIQTM4NERpZ2Vz dCAoDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgSU4gICAgIFVJTlQ4ICAqU2lnbmVyQ2Vy dCwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBJTiAgICAgVUlOVE4gIFNpZ25lckNlcnRT aXplLA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIElOICAgICBVSU5UOCAgKlRvcExldmVs Q2VydCwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBJTiAgICAgVUlOVE4gIFRvcExldmVs Q2VydFNpemUsDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgT1VUICAgIFVJTlQ4ICAqU2hh Mzg0RGlnZXN0DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgKQ0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ICt7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgVUlOVDggICAgICAgKlRi c0NlcnQ7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgVUlOVE4gICAgICAgVGJzQ2VydFNp emU7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgQ0hBUjggICAgICAgQ2VydENvbW1vbk5h bWVbMTI4XTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBVSU5UTiAgICAgICBDZXJ0Q29t bW9uTmFtZVNpemU7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgQk9PTEVBTiAgICAgQ3J5 cHRvU3RhdHVzOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIEVGSV9TVEFUVVMgIFN0YXR1 czsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g KyAgQ2VydENvbW1vbk5hbWVTaXplID0gc2l6ZW9mIChDZXJ0Q29tbW9uTmFtZSk7DQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIC8vDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgLy8gR2V0IFNpZ25lckNlcnQgQ29tbW9uTmFtZQ0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAg U3RhdHVzID0gWDUwOUdldENvbW1vbk5hbWUgKFNpZ25lckNlcnQsIFNpZ25lckNlcnRTaXplLA0K PiA+ID4gPiA+ID4gQ2VydENvbW1vbk5hbWUsICZDZXJ0Q29tbW9uTmFtZVNpemUpOw0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiArICAgIERFQlVHICgoREVCVUdfSU5GTywgIiVhIEdldCBTaWduZXJD ZXJ0IENvbW1vbk5hbWUNCj4gZmFpbGVkDQo+ID4gPiB3aXRoDQo+ID4gPiA+ID4gPiBzdGF0dXMg JXhcbiIsIF9fRlVOQ1RJT05fXywgU3RhdHVzKSk7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g KyAgICByZXR1cm4gRUZJX0FCT1JURUQ7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgfQ0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAv Lw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIC8vIEdldCBUb3BMZXZlbENlcnQgdGJzQ2Vy dGlmaWNhdGUNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAvLw0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ICsgIGlmICghWDUwOUdldFRCU0NlcnQgKFRvcExldmVsQ2VydCwgVG9wTGV2ZWxD ZXJ0U2l6ZSwgJlRic0NlcnQsDQo+ID4gPiA+ID4gPiAmVGJzQ2VydFNpemUpKSB7DQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gKyAgICBERUJVRyAoKERFQlVHX0lORk8sICIlYSBHZXQgVG9wLWxl dmVsIENlcnQgdGJzQ2VydGlmaWNhdGUNCj4gPiA+ID4gPiA+ICsgZmFpbGVkIVxuIiwNCj4gPiA+ ID4gPiA+IF9fRlVOQ1RJT05fXykpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgcmV0 dXJuIEVGSV9BQk9SVEVEOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgLy8NCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiArICAvLyBEaWdlc3QgU2lnbmVyQ2VydCBDTiArIFRvcExldmVs Q2VydCB0YnNDZXJ0aWZpY2F0ZQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIC8vDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgWmVyb01lbSAoU2hhMzg0RGlnZXN0LCBTSEEzODRfRElH RVNUX1NJWkUpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIENyeXB0b1N0YXR1cyA9IFNo YTM4NEluaXQgKG1IYXNoQ3R4KTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBpZiAoIUNy eXB0b1N0YXR1cykgew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgcmV0dXJuIEVGSV9B Qk9SVEVEOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiArICAvLyAnXDAnIGlzIGZvcmNlZCBpbiBDZXJ0Q29tbW9uTmFtZS4gTm8gb3Zl cmZsb3cgaXNzdWUNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAvLw0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ICsgIENyeXB0b1N0YXR1cyA9IFNoYTM4NFVwZGF0ZSAoDQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICBtSGFzaEN0eCwNCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgIENlcnRDb21tb25OYW1lLA0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgQXNjaWlTdHJMZW4gKENlcnRD b21tb25OYW1lKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg KTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBpZiAoIUNyeXB0b1N0YXR1cykgew0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgcmV0dXJuIEVGSV9BQk9SVEVEOw0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gKyAgQ3J5cHRvU3RhdHVzID0gU2hhMzg0VXBkYXRlIChtSGFzaEN0 eCwgVGJzQ2VydCwgVGJzQ2VydFNpemUpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIGlm ICghQ3J5cHRvU3RhdHVzKSB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICByZXR1cm4g RUZJX0FCT1JURUQ7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgfQ0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBDcnlwdG9TdGF0dXMg PSBTaGEzODRGaW5hbCAobUhhc2hDdHgsIFNoYTM4NERpZ2VzdCk7DQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gKyAgaWYgKCFDcnlwdG9TdGF0dXMpIHsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiArICAgIHJldHVybiBFRklfQUJPUlRFRDsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICB9 DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsg IHJldHVybiBFRklfU1VDQ0VTUzsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArfQ0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArLyoqDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgQ2FsY3VsYXRlIFNIQTUxMiBkaWdlc3Qgb2YgU2lnbmVy Q2VydCBDb21tb25OYW1lICsNCj4gVG9wbGV2ZWxDZXJ0DQo+ID4gPiA+ID4gPiB0YnNDZXJ0aWZp Y2F0ZQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIFNpZ25lckNlcnQgYW5kIFRvcGxldmVs Q2VydCBhcmUgaW5zaWRlIHRoZSBzaWduZXIgY2VydGlmaWNhdGUgY2hhaW4uDQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIEBwYXJhbVtpbl0g IFNpZ25lckNlcnQgICAgICAgICAgQSBwb2ludGVyIHRvIFNpZ25lckNlcnQgZGF0YS4NCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiArICBAcGFyYW1baW5dICBTaWduZXJDZXJ0U2l6ZSAgICAgIExl bmd0aCBvZiBTaWduZXJDZXJ0IGRhdGEuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgQHBh cmFtW2luXSAgVG9wTGV2ZWxDZXJ0ICAgICAgICBBIHBvaW50ZXIgdG8gVG9wTGV2ZWxDZXJ0IGRh dGEuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgQHBhcmFtW2luXSAgVG9wTGV2ZWxDZXJ0 U2l6ZSAgICBMZW5ndGggb2YgVG9wTGV2ZWxDZXJ0IGRhdGEuDQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gKyAgQHBhcmFtW291dF0gU2hhNTEyRGlnZXN0ICAgICAgIFNoYTUxMiBkaWdlc3QgY2Fs Y3VsYXRlZC4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gKyAgQHJldHVybiBFRklfQUJPUlRFRCAgICAgICAgICBEaWdlc3QgcHJvY2VzcyBmYWls ZWQuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgQHJldHVybiBFRklfU1VDQ0VTUyAgICAg ICAgICBTSEE1MTIgRGlnZXN0IGlzIHN1Y2Nlc3NmdWxseQ0KPiBjYWxjdWxhdGVkLg0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArKiovDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gK0VGSV9TVEFUVVMNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiArQ2FsY3VsYXRlUHJpdkF1dGhWYXJTaWduQ2hhaW5TSEE1MTJEaWdlc3QgKA0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ICsgIElOICAgICBVSU5UOCAgKlNpZ25lckNlcnQsDQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gKyAgSU4gICAgIFVJTlROICBTaWduZXJDZXJ0U2l6ZSwNCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiArICBJTiAgICAgVUlOVDggICpUb3BMZXZlbENlcnQsDQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gKyAgSU4gICAgIFVJTlROICBUb3BMZXZlbENlcnRTaXplLA0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIE9VVCAgICBVSU5UOCAgKlNoYTUxMkRpZ2VzdA0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICkNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArew0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIFVJTlQ4ICAgICAgICpUYnNDZXJ0Ow0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ICsgIFVJTlROICAgICAgIFRic0NlcnRTaXplOw0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ICsgIENIQVI4ICAgICAgIENlcnRDb21tb25OYW1lWzEyOF07DQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgVUlOVE4gICAgICAgQ2VydENvbW1vbk5hbWVTaXplOw0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIEJPT0xFQU4gICAgIENyeXB0b1N0YXR1czsNCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBFRklfU1RBVFVTICBTdGF0dXM7DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIENlcnRDb21tb25O YW1lU2l6ZSA9IHNpemVvZiAoQ2VydENvbW1vbk5hbWUpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+ICsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAvLw0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICsgIC8vIEdldCBTaWduZXJDZXJ0IENvbW1vbk5hbWUNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiArICAvLw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIFN0YXR1cyA9IFg1MDlH ZXRDb21tb25OYW1lIChTaWduZXJDZXJ0LCBTaWduZXJDZXJ0U2l6ZSwNCj4gPiA+ID4gPiA+IENl cnRDb21tb25OYW1lLCAmQ2VydENvbW1vbk5hbWVTaXplKTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKyAgICBERUJVRyAoKERFQlVHX0lORk8sICIlYSBHZXQgU2lnbmVyQ2VydCBDb21tb25OYW1l DQo+IGZhaWxlZA0KPiA+ID4gd2l0aA0KPiA+ID4gPiA+ID4gc3RhdHVzICV4XG4iLCBfX0ZVTkNU SU9OX18sIFN0YXR1cykpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgcmV0dXJuIEVG SV9BQk9SVEVEOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiArICAvLyBHZXQgVG9wTGV2ZWxDZXJ0IHRic0NlcnRpZmljYXRlDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBp ZiAoIVg1MDlHZXRUQlNDZXJ0IChUb3BMZXZlbENlcnQsIFRvcExldmVsQ2VydFNpemUsICZUYnND ZXJ0LA0KPiA+ID4gPiA+ID4gJlRic0NlcnRTaXplKSkgew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+ICsgICAgREVCVUcgKChERUJVR19JTkZPLCAiJWEgR2V0IFRvcC1sZXZlbCBDZXJ0IHRic0Nl cnRpZmljYXRlDQo+ID4gPiA+ID4gPiArIGZhaWxlZCFcbiIsDQo+ID4gPiA+ID4gPiBfX0ZVTkNU SU9OX18pKTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgIHJldHVybiBFRklfQUJPUlRF RDsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICB9DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gKyAgLy8gRGlnZXN0IFNpZ25lckNlcnQgQ04gKyBUb3BMZXZlbENlcnQgdGJzQ2VydGlm aWNhdGUNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAvLw0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICsgIFplcm9NZW0gKFNoYTUxMkRpZ2VzdCwgU0hBNTEyX0RJR0VTVF9TSVpFKTsNCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBDcnlwdG9TdGF0dXMgPSBTaGE1MTJJbml0IChtSGFz aEN0eCk7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgaWYgKCFDcnlwdG9TdGF0dXMpIHsN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgIHJldHVybiBFRklfQUJPUlRFRDsNCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiArICB9DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKw0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAg Ly8gJ1wwJyBpcyBmb3JjZWQgaW4gQ2VydENvbW1vbk5hbWUuIE5vIG92ZXJmbG93IGlzc3VlDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAr ICBDcnlwdG9TdGF0dXMgPSBTaGE1MTJVcGRhdGUgKA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgbUhhc2hDdHgsDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g KyAgICAgICAgICAgICAgICAgICBDZXJ0Q29tbW9uTmFtZSwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiArICAgICAgICAgICAgICAgICAgIEFzY2lpU3RyTGVuIChDZXJ0Q29tbW9uTmFtZSkNCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICk7DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gKyAgaWYgKCFDcnlwdG9TdGF0dXMpIHsNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiArICAgIHJldHVybiBFRklfQUJPUlRFRDsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiArICB9DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+ICsgIENyeXB0b1N0YXR1cyA9IFNoYTUxMlVwZGF0ZSAobUhhc2hDdHgsIFRic0NlcnQsIFRi c0NlcnRTaXplKTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBpZiAoIUNyeXB0b1N0YXR1 cykgew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgcmV0dXJuIEVGSV9BQk9SVEVEOw0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAr DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgQ3J5cHRvU3RhdHVzID0gU2hhNTEyRmluYWwg KG1IYXNoQ3R4LCBTaGE1MTJEaWdlc3QpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIGlm ICghQ3J5cHRvU3RhdHVzKSB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICByZXR1cm4g RUZJX0FCT1JURUQ7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgfQ0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICByZXR1cm4gRUZJX1NV Q0NFU1M7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gK30NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gIC8qKg0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICAgIEZpbmQgbWF0Y2hpbmcgc2lnbmVyJ3MgY2VydGlmaWNhdGVzIGZvciBjb21tb24g YXV0aGVudGljYXRlZA0KPiA+ID4gPiA+ID4gdmFyaWFibGUNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiAgICBieSBjb3JyZXNwb25kaW5nIFZhcmlhYmxlTmFtZSBhbmQgVmVuZG9yR3VpZCBmcm9t ICJjZXJ0ZGIiIG9yDQo+ID4gPiA+ID4gImNlcnRkYnYiLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+IEBAIC0xNTI2LDYgKzE2OTgsNyBAQCBEZWxldGVDZXJ0c0Zyb21EYiAoDQo+ID4gPiA+ID4g PiAgICBAcGFyYW1baW5dICBTaWduZXJDZXJ0U2l6ZSAgICBMZW5ndGggb2Ygc2lnbmVyIGNlcnRp ZmljYXRlLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIEBwYXJhbVtpbl0gIFRvcExldmVs Q2VydCAgICAgIFRvcC1sZXZlbCBjZXJ0aWZpY2F0ZSBkYXRhLg0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICAgIEBwYXJhbVtpbl0gIFRvcExldmVsQ2VydFNpemUgIExlbmd0aCBvZiB0b3AtbGV2 ZWwgY2VydGlmaWNhdGUuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgQHBhcmFtW2luXSAg RGlnZXN0U2l6ZSAgICAgICAgRGlnZXN0IFNpemUuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICBAcmV0dmFsICBFRklfSU5WQUxJRF9QQVJBTUVU RVIgQW55IGlucHV0IHBhcmFtZXRlciBpcyBpbnZhbGlkLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+ICAgIEByZXR2YWwgIEVGSV9BQ0NFU1NfREVOSUVEICAgICBBbiBBVVRIX0NFUlRfREJfREFU QSBlbnRyeQ0KPiB3aXRoDQo+ID4gPiA+ID4gc2FtZQ0KPiA+ID4gPiA+ID4gVmFyaWFibGVOYW1l DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gQEAgLTE1NDIsNyArMTcxNSw4IEBAIEluc2VydENl cnRzVG9EYiAoDQo+ID4gPiA+ID4gPiAgICBJTiAgICAgVUlOVDggICAgICpTaWduZXJDZXJ0LA0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIElOICAgICBVSU5UTiAgICAgU2lnbmVyQ2VydFNp emUsDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgSU4gICAgIFVJTlQ4ICAgICAqVG9wTGV2 ZWxDZXJ0LA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0gIElOICAgICBVSU5UTiAgICAgVG9w TGV2ZWxDZXJ0U2l6ZQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIElOICAgICBVSU5UTiAg ICAgVG9wTGV2ZWxDZXJ0U2l6ZSwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBJTiAgICAg VUlOVDMyICAgIERpZ2VzdFNpemUNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICApDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gIHsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICBFRklf U1RBVFVTICAgICAgICAgU3RhdHVzOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEBAIC0xNTU2 LDcgKzE3MzAsNyBAQCBJbnNlcnRDZXJ0c1RvRGIgKA0KPiA+ID4gPiA+ID4gICAgVUlOVDMyICAg ICAgICAgICAgIENlcnREYXRhU2l6ZTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICBBVVRI X0NFUlRfREJfREFUQSAgKlB0cjsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICBDSEFSMTYg ICAgICAgICAgICAgKkRiTmFtZTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAtICBVSU5UOCAg ICAgICAgICAgICAgU2hhMjU2RGlnZXN0W1NIQTI1Nl9ESUdFU1RfU0laRV07DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gKyAgVUlOVDggICAgICAgICAgICAgIFNoYURpZ2VzdFtTSEFfRElHRVNU X1NJWkVfTUFYXTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICAgIGlmICgoVmFyaWFibGVOYW1lID09IE5VTEwpIHx8IChWZW5kb3JHdWlkID09IE5V TEwpIHx8DQo+IChTaWduZXJDZXJ0DQo+ID4gPiA+ID4gPiA9PSBOVUxMKQ0KPiA+ID4gPiA+ID4g fHwgKFRvcExldmVsQ2VydCA9PSBOVUxMKSkgew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAg ICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiBAQCAtMTYxOCwyMCArMTc5Miw0MSBAQCBJbnNlcnRDZXJ0c1RvRGIgKA0KPiA+ID4gPiA+ID4g ICAgLy8gQ29uc3RydWN0IG5ldyBkYXRhIGNvbnRlbnQgb2YgdmFyaWFibGUgImNlcnRkYiIgb3Ig ImNlcnRkYnYiLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIC8vDQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gICAgTmFtZVNpemUgICAgICA9IChVSU5UMzIpU3RyTGVuIChWYXJpYWJsZU5h bWUpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0gIENlcnREYXRhU2l6ZSAgPSBzaXplb2Yg KFNoYTI1NkRpZ2VzdCk7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgQ2VydERhdGFTaXpl ICA9IERpZ2VzdFNpemU7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgQ2VydE5vZGVTaXpl ICA9IHNpemVvZiAoQVVUSF9DRVJUX0RCX0RBVEEpICsNCj4gPiA+IChVSU5UMzIpQ2VydERhdGFT aXplICsNCj4gPiA+ID4gPiA+IE5hbWVTaXplICogc2l6ZW9mIChDSEFSMTYpOw0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ICAgIE5ld0NlcnREYlNpemUgPSAoVUlOVDMyKURhdGFTaXplICsgQ2Vy dE5vZGVTaXplOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIGlmIChOZXdDZXJ0RGJTaXpl ID4gbU1heENlcnREYlNpemUpIHsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgIHJldHVy biBFRklfT1VUX09GX1JFU09VUkNFUzsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICB9DQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAtICBTdGF0 dXMgPSBDYWxjdWxhdGVQcml2QXV0aFZhclNpZ25DaGFpblNIQTI1NkRpZ2VzdCAoDQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICBTaWduZXJDZXJ0LA0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgU2lnbmVyQ2VydFNpemUsDQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gLSAgICAgICAgICAgICBUb3BMZXZlbENlcnQsDQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gLSAgICAgICAgICAgICBUb3BMZXZlbENlcnRTaXplLA0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+IC0gICAgICAgICAgICAgU2hhMjU2RGlnZXN0DQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gLSAgICAgICAgICAgICApOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIGlmIChE aWdlc3RTaXplID09IFNIQTI1Nl9ESUdFU1RfU0laRSkgew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+ICsgICAgU3RhdHVzID0gQ2FsY3VsYXRlUHJpdkF1dGhWYXJTaWduQ2hhaW5TSEEyNTZEaWdl c3QgKA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICBTaWduZXJDZXJ0 LA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICBTaWduZXJDZXJ0U2l6 ZSwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgVG9wTGV2ZWxDZXJ0 LA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICBUb3BMZXZlbENlcnRT aXplLA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICBTaGFEaWdlc3QN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgKTsNCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiArICB9IGVsc2UgaWYgKERpZ2VzdFNpemUgPT0gU0hBMzg0X0RJR0VTVF9T SVpFKSB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICBTdGF0dXMgPSBDYWxjdWxhdGVQ cml2QXV0aFZhclNpZ25DaGFpblNIQTM4NERpZ2VzdCAoDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKyAgICAgICAgICAgICAgIFNpZ25lckNlcnQsDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g KyAgICAgICAgICAgICAgIFNpZ25lckNlcnRTaXplLA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ICsgICAgICAgICAgICAgICBUb3BMZXZlbENlcnQsDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g KyAgICAgICAgICAgICAgIFRvcExldmVsQ2VydFNpemUsDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKyAgICAgICAgICAgICAgIFNoYURpZ2VzdA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsg ICAgICAgICAgICAgICApOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIH0gZWxzZSBpZiAo RGlnZXN0U2l6ZSA9PSBTSEE1MTJfRElHRVNUX1NJWkUpIHsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiArICAgIFN0YXR1cyA9IENhbGN1bGF0ZVByaXZBdXRoVmFyU2lnbkNoYWluU0hBNTEyRGln ZXN0ICgNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgU2lnbmVyQ2Vy dCwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgU2lnbmVyQ2VydFNp emUsDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgIFRvcExldmVsQ2Vy dCwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgVG9wTGV2ZWxDZXJ0 U2l6ZSwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgU2hhRGlnZXN0 DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICk7DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gKyAgfSBlbHNlIHsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAg IHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgfQ0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICBp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICBy ZXR1cm4gU3RhdHVzOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIH0NCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiBAQCAtMTY2Myw3ICsxODU4LDcgQEAgSW5zZXJ0Q2VydHNUb0RiICgNCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgQ29weU1lbSAoDQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gICAgICAoVUlOVDggKilQdHIgKyAgc2l6ZW9mIChBVVRIX0NFUlRf REJfREFUQSkgKyBOYW1lU2l6ZSAqDQo+IHNpemVvZg0KPiA+ID4gPiA+ID4gKENIQVIxNiksDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gLSAgICBTaGEyNTZEaWdlc3QsDQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gKyAgICBTaGFEaWdlc3QsDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAg ICBDZXJ0RGF0YVNpemUNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgICk7DQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBAQCAtMTg1Nyw3ICsy MDUyLDcgQEAgVmVyaWZ5VGltZUJhc2VkUGF5bG9hZCAoDQo+ID4gPiA+ID4gPiAgICBVSU5UTiAg ICAgICAgICAgICAgICAgICAgICAgICAgQ2VydFN0YWNrU2l6ZTsNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiAgICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgKkNlcnRzSW5DZXJ0RGI7 DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAg ICAgIENlcnRzU2l6ZWluRGI7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gLSAgVUlOVDggICAg ICAgICAgICAgICAgICAgICAgICAgIFNoYTI1NkRpZ2VzdFtTSEEyNTZfRElHRVNUX1NJWkVdOw0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAg ICBTaGFEaWdlc3RbU0hBX0RJR0VTVF9TSVpFX01BWF07DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gICAgRUZJX0NFUlRfREFUQSAgICAgICAgICAgICAgICAgICpDZXJ0RGF0YVB0cjsNCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIC8vDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gQEAgLTE5MjgsNyArMjEyMyw3IEBAIFZlcmlmeVRpbWVCYXNl ZFBheWxvYWQgKA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAvLw0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIC8vIFNpZ25lZERhdGEuZGlnZXN0QWxnb3JpdGht cyBzaGFsbCBjb250YWluIHRoZSBkaWdlc3QgYWxnb3JpdGhtDQo+ID4gPiA+ID4gPiB1c2VkIHdo ZW4gcHJlcGFyaW5nIHRoZQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0gIC8vIHNpZ25hdHVy ZS4gT25seSBhIGRpZ2VzdCBhbGdvcml0aG0gb2YgU0hBLTI1NiBpcyBhY2NlcHRlZC4NCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiArICAvLyBzaWduYXR1cmUuIE9ubHkgYSBkaWdlc3QgYWxnb3Jp dGhtIG9mIFNIQS0yNTYsIFNIQS0zODQgb3INCj4gPiA+ID4gPiA+ICsgU0hBLTUxMiBpcw0KPiA+ ID4gPiA+ID4gYWNjZXB0ZWQuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgLy8NCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAvLyAgICBBY2NvcmRpbmcgdG8gUEtDUyM3IERlZmluaXRp b24gKGh0dHBzOi8vd3d3LnJmYy0NCj4gPiA+ID4gPiBlZGl0b3Iub3JnL3JmYy9yZmMyMzE1KToN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAvLyAgICAgICAgU2lnbmVkRGF0YSA6Oj0gU0VR VUVOQ0Ugew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEBAIC0xOTc4LDcgKzIxNzMsMTkgQEAg VmVyaWZ5VGltZUJhc2VkUGF5bG9hZCAoDQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgIHx8IChD b21wYXJlTWVtIChTaWdEYXRhICsgMTMsICZtU2hhMjU2T2lkVmFsdWUsIHNpemVvZg0KPiA+ID4g PiA+ID4gKG1TaGEyNTZPaWRWYWx1ZSkpICE9IDApKSkNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiAgICAgICAgICYmICggIChTaWdEYXRhU2l6ZSA+PSAoMzIgKyBzaXplb2YgKG1TaGEyNTZPaWRW YWx1ZSkpKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAgICAgICAgJiYgKCAgKCgqKFNp Z0RhdGEgKyAyMCkgJiBUV09fQllURV9FTkNPREUpICE9DQo+ID4gPiA+ID4gPiBUV09fQllURV9F TkNPREUpDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICB8fCAoQ29tcGFy ZU1lbSAoU2lnRGF0YSArIDMyLCAmbVNoYTI1Nk9pZFZhbHVlLCBzaXplb2YNCj4gPiA+ID4gPiA+ IChtU2hhMjU2T2lkVmFsdWUpKSAhPSAwKSkpKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsg ICAgICAgICAgICAgfHwgKENvbXBhcmVNZW0gKFNpZ0RhdGEgKyAzMiwgJm1TaGEyNTZPaWRWYWx1 ZSwgc2l6ZW9mDQo+ID4gPiA+ID4gPiAobVNoYTI1Nk9pZFZhbHVlKSkgIT0gMCkpKQ0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgJiYgKCAgKFNpZ0RhdGFTaXplID49ICgxMyArIHNp emVvZiAobVNoYTM4NE9pZFZhbHVlKSkpDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAg ICAgICAmJiAoICAoKCooU2lnRGF0YSArIDEpICYgVFdPX0JZVEVfRU5DT0RFKSAhPQ0KPiA+ID4g PiA+ID4gKyBUV09fQllURV9FTkNPREUpDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAg ICAgICAgICB8fCAoQ29tcGFyZU1lbSAoU2lnRGF0YSArIDEzLCAmbVNoYTM4NE9pZFZhbHVlLCBz aXplb2YNCj4gPiA+ID4gPiA+IChtU2hhMzg0T2lkVmFsdWUpKSAhPSAwKSkpDQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gKyAgICAgICAmJiAoICAoU2lnRGF0YVNpemUgPj0gKDMyICsgc2l6ZW9m IChtU2hhMzg0T2lkVmFsdWUpKSkNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAg ICYmICggICgoKihTaWdEYXRhICsgMjApICYgVFdPX0JZVEVfRU5DT0RFKSAhPQ0KPiA+ID4gPiA+ ID4gKyBUV09fQllURV9FTkNPREUpDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAgICAg ICAgICB8fCAoQ29tcGFyZU1lbSAoU2lnRGF0YSArIDMyLCAmbVNoYTM4NE9pZFZhbHVlLCBzaXpl b2YNCj4gPiA+ID4gPiA+IChtU2hhMzg0T2lkVmFsdWUpKSAhPSAwKSkpDQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gKyAgICAgICAmJiAoICAoU2lnRGF0YVNpemUgPj0gKDEzICsgc2l6ZW9mICht U2hhNTEyT2lkVmFsdWUpKSkNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAgICYm ICggICgoKihTaWdEYXRhICsgMSkgJiBUV09fQllURV9FTkNPREUpICE9DQo+ID4gPiA+ID4gPiAr IFRXT19CWVRFX0VOQ09ERSkNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAg IHx8IChDb21wYXJlTWVtIChTaWdEYXRhICsgMTMsICZtU2hhNTEyT2lkVmFsdWUsIHNpemVvZg0K PiA+ID4gPiA+ID4gKG1TaGE1MTJPaWRWYWx1ZSkpICE9IDApKSkNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiArICAgICAgICYmICggIChTaWdEYXRhU2l6ZSA+PSAoMzIgKyBzaXplb2YgKG1TaGE1 MTJPaWRWYWx1ZSkpKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgJiYgKCAg KCgqKFNpZ0RhdGEgKyAyMCkgJiBUV09fQllURV9FTkNPREUpICE9DQo+ID4gPiA+ID4gPiArIFRX T19CWVRFX0VOQ09ERSkNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgIHx8 IChDb21wYXJlTWVtIChTaWdEYXRhICsgMzIsICZtU2hhNTEyT2lkVmFsdWUsIHNpemVvZg0KPiA+ ID4gPiA+ID4gKG1TaGE1MTJPaWRWYWx1ZSkpICE9IDApKSkpDQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gICAgICB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICAgIHJldHVybiBFRklf U0VDVVJJVFlfVklPTEFUSU9OOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAgfQ0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEBAIC0yMTgwLDkgKzIzODcsMzkgQEAgVmVyaWZ5VGltZUJh c2VkUGF5bG9hZCAoDQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhZFVu YWxpZ25lZDMyICgoVUlOVDMyDQo+ID4gPiA+ID4gPiAqKSYoQ2VydERhdGFQdHItPkNlcnREYXRh TGVuZ3RoKSksDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgIFRvcExldmVsQ2VydCwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAg ICAgICAgICAgICAgVG9wTGV2ZWxDZXJ0U2l6ZSwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAt ICAgICAgICAgICAgICAgICAgICAgICAgU2hhMjU2RGlnZXN0DQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIFNoYURpZ2VzdA0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICsgICAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykgfHwgKENvbXBhcmVNZW0gKFNo YURpZ2VzdCwNCj4gPiA+ID4gPiA+ICsgQ2VydHNJbkNlcnREYiwNCj4gPiA+ID4gPiA+IENlcnRz U2l6ZWluRGIpICE9IDApKSB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAgICAgICBn b3RvIEV4aXQ7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAgICAgfQ0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ICsgICAgICB9IGVsc2UgaWYgKENlcnRzU2l6ZWluRGIgPT0gU0hBMzg0 X0RJR0VTVF9TSVpFKSB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAgICAgLy8NCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAvLyBDaGVjayBoYXNoIG9mIHNpZ25lciBj ZXJ0IENvbW1vbk5hbWUgKyBUb3AtbGV2ZWwgaXNzdWVyDQo+ID4gPiA+ID4gPiB0YnNDZXJ0aWZp Y2F0ZSBhZ2FpbnN0IGRhdGEgaW4gQ2VydERiDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAg ICAgICAgLy8NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICBDZXJ0RGF0YVB0ciA9 IChFRklfQ0VSVF9EQVRBICopKFNpZ25lckNlcnRzICsgMSk7DQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gKyAgICAgICAgU3RhdHVzICAgICAgPSBDYWxjdWxhdGVQcml2QXV0aFZhclNpZ25DaGFp blNIQTM4NERpZ2VzdCAoDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgIENlcnREYXRhUHRyLT5DZXJ0RGF0YUJ1ZmZlciwNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgUmVhZFVuYWxpZ25lZDMyICgoVUlOVDMy DQo+ID4gPiA+ID4gPiArICopJihDZXJ0RGF0YVB0ci0+Q2VydERhdGFMZW5ndGgpKSwNCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgVG9wTGV2ZWxDZXJ0 LA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICBUb3BM ZXZlbENlcnRTaXplLA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICBTaGFEaWdlc3QNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgKTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpIHx8IChDb21wYXJlTWVtIChTaGFEaWdlc3QsDQo+ID4gPiA+ID4gPiAr IENlcnRzSW5DZXJ0RGIsDQo+ID4gPiA+ID4gPiBDZXJ0c1NpemVpbkRiKSAhPSAwKSkgew0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgZ290byBFeGl0Ow0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ICsgICAgICAgIH0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAg fSBlbHNlIGlmIChDZXJ0c1NpemVpbkRiID09IFNIQTUxMl9ESUdFU1RfU0laRSkgew0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgIC8vDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g KyAgICAgICAgLy8gQ2hlY2sgaGFzaCBvZiBzaWduZXIgY2VydCBDb21tb25OYW1lICsgVG9wLWxl dmVsIGlzc3Vlcg0KPiA+ID4gPiA+ID4gdGJzQ2VydGlmaWNhdGUgYWdhaW5zdCBkYXRhIGluIENl cnREYg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgIC8vDQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gKyAgICAgICAgQ2VydERhdGFQdHIgPSAoRUZJX0NFUlRfREFUQSAqKShTaWdu ZXJDZXJ0cyArIDEpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgIFN0YXR1cyAg ICAgID0gQ2FsY3VsYXRlUHJpdkF1dGhWYXJTaWduQ2hhaW5TSEE1MTJEaWdlc3QgKA0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICBDZXJ0RGF0YVB0ci0+ Q2VydERhdGFCdWZmZXIsDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgIFJlYWRVbmFsaWduZWQzMiAoKFVJTlQzMg0KPiA+ID4gPiA+ID4gKyAqKSYoQ2Vy dERhdGFQdHItPkNlcnREYXRhTGVuZ3RoKSksDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgIFRvcExldmVsQ2VydCwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgVG9wTGV2ZWxDZXJ0U2l6ZSwNCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgU2hhRGlnZXN0DQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gLSAgICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSB8fCAoQ29t cGFyZU1lbSAoU2hhMjU2RGlnZXN0LA0KPiA+ID4gPiA+IENlcnRzSW5DZXJ0RGIsDQo+ID4gPiA+ ID4gPiBDZXJ0c1NpemVpbkRiKSAhPSAwKSkgew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsg ICAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykgfHwgKENvbXBhcmVNZW0gKFNoYURpZ2VzdCwN Cj4gPiA+ID4gPiA+ICsgQ2VydHNJbkNlcnREYiwNCj4gPiA+ID4gPiA+IENlcnRzU2l6ZWluRGIp ICE9IDApKSB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICAgICAgICBnb3RvIEV4aXQ7 DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICAgICAgfQ0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICAgICAgICB9IGVsc2Ugew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEBAIC0yMjIx LDcgKzI0NTgsOCBAQCBWZXJpZnlUaW1lQmFzZWRQYXlsb2FkICgNCj4gPiA+ID4gPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgQ2VydERhdGFQdHItPkNlcnREYXRhQnVmZmVyLA0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgUmVhZFVuYWxpZ25lZDMyICgo VUlOVDMyDQo+ID4gPiA+ID4gPiAqKSYoQ2VydERhdGFQdHItPkNlcnREYXRhTGVuZ3RoKSksDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICBUb3BMZXZlbENl cnQsDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICBUb3BM ZXZlbENlcnRTaXplDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICBUb3BMZXZlbENlcnRTaXplLA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgQ2VydHNTaXplaW5EYg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgKTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgICAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAg ICAgIFZlcmlmeVN0YXR1cyA9IEZBTFNFOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IGRpZmYg LS1naXQgYS9TZWN1cml0eVBrZy9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxpYi9BdXRoVmFyaWFibGVM aWIuYw0KPiA+ID4gPiA+ID4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxpYi9B dXRoVmFyaWFibGVMaWIuYw0KPiA+ID4gPiA+ID4gaW5kZXggZGM2MWFlODQwYy4uNTUyYzBlOTli ZSAxMDA2NDQNCj4gPiA+ID4gPiA+IC0tLSBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvQXV0aFZhcmlh YmxlTGliL0F1dGhWYXJpYWJsZUxpYi5jDQo+ID4gPiA+ID4gPiArKysgYi9TZWN1cml0eVBrZy9M aWJyYXJ5L0F1dGhWYXJpYWJsZUxpYi9BdXRoVmFyaWFibGVMaWIuYw0KPiA+ID4gPiA+ID4gQEAg LTI2LDcgKzI2LDcgQEAgVUlOVDMyICBtTWF4Q2VydERiU2l6ZTsNCj4gPiA+ID4gPiA+ICBVSU5U MzIgIG1QbGF0Zm9ybU1vZGU7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gIFVJTlQ4ICAgbVZl bmRvcktleVN0YXRlOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gLUVGSV9HVUlEICBtU2lnbmF0dXJlU3VwcG9ydFtdID0geyBFRklfQ0VSVF9TSEEx X0dVSUQsDQo+ID4gPiA+ID4gPiBFRklfQ0VSVF9TSEEyNTZfR1VJRCwgRUZJX0NFUlRfUlNBMjA0 OF9HVUlELA0KPiA+ID4gPiA+IEVGSV9DRVJUX1g1MDlfR1VJRCB9Ow0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ICtFRklfR1VJRCAgbVNpZ25hdHVyZVN1cHBvcnRbXSA9IHsgRUZJX0NFUlRfU0hB MV9HVUlELA0KPiA+ID4gPiA+ID4gRUZJX0NFUlRfU0hBMjU2X0dVSUQsIEVGSV9DRVJUX1NIQTM4 NF9HVUlELA0KPiA+ID4gPiA+IEVGSV9DRVJUX1NIQTUxMl9HVUlELA0KPiA+ID4gPiA+ID4gRUZJ X0NFUlRfUlNBMjA0OF9HVUlELCBFRklfQ0VSVF9SU0EzMDcyX0dVSUQsDQo+ID4gPiA+ID4gRUZJ X0NFUlRfUlNBNDA5Nl9HVUlELA0KPiA+ID4gPiA+ID4gRUZJX0NFUlRfWDUwOV9HVUlEIH07DQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgLy8NCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgLy8gSGFzaCBjb250ZXh0IHBvaW50ZXINCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiBAQCAtMTM1LDcgKzEzNSw3IEBAIEF1dGhWYXJpYWJsZUxpYkluaXRp YWxpemUgKA0KPiA+ID4gPiA+ID4gICAgLy8NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAv LyBJbml0aWFsaXplIGhhc2ggY29udGV4dC4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAv Lw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0gIEN0eFNpemUgID0gU2hhMjU2R2V0Q29udGV4 dFNpemUgKCk7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgQ3R4U2l6ZSAgPSBTaGE1MTJH ZXRDb250ZXh0U2l6ZSAoKTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICBtSGFzaEN0eCA9 IEFsbG9jYXRlUnVudGltZVBvb2wgKEN0eFNpemUpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ICAgIGlmIChtSGFzaEN0eCA9PSBOVUxMKSB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAg ICByZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g ZGlmZiAtLWdpdA0KPiA+ID4gPiA+ID4NCj4gPiA+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9EeGVJ bWFnZVZlcmlmaWNhdGlvbkxpYi9EeGVJbWFnZVZlcmlmaWNhdGlvbkxpYi4NCj4gPiA+ID4gPiA+ IGMNCj4gPiA+ID4gPiA+DQo+ID4gPiBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvRHhlSW1hZ2VWZXJp ZmljYXRpb25MaWIvRHhlSW1hZ2VWZXJpZmljYXRpb25MaWIuDQo+ID4gPiA+ID4gPiBjDQo+ID4g PiA+ID4gPiBpbmRleCA2NmUyZjVlYWEzLi5mNjQyYWFkNjRkIDEwMDY0NA0KPiA+ID4gPiA+ID4g LS0tDQo+ID4gPiA+ID4gPg0KPiA+ID4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZUltYWdlVmVy aWZpY2F0aW9uTGliL0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliLg0KPiA+ID4gPiA+ID4gYw0KPiA+ ID4gPiA+ID4gKysrDQo+ID4gPiBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvRHhlSW1hZ2VWZXJpZmlj YXRpb25MaWIvRHhlSW1hZ2VWZXJpZmljYXRpb24NCj4gPiA+ID4gPiA+ICsrKyBMaWIuYw0KPiA+ ID4gPiA+ID4gQEAgLTE2MDYsNiArMTYwNiwzNSBAQCBEb25lOg0KPiA+ID4gPiA+ID4gICAgcmV0 dXJuIFZlcmlmeVN0YXR1czsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgfQ0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKy8qKg0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ICsgIEdldCBIYXNoIEFsZyBieSBQY2RTZWN1cmVCb290RGVmYXVsdEhh c2hBbGcNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKyAgQHJldHZhbCAgVUlOVDMyICAgICAgIEhhc2ggQWxnDQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gKyAgKiovDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gK1VJTlQzMg0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ICtHZXREZWZhdWx0SGFzaEFsZyAoDQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gKyAgVk9JRA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICkNCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiArew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIFVJTlQzMiAgSGFz aEFsZzsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKyAgc3dpdGNoIChQY2RHZXQ4IChQY2RTZWN1cmVCb290RGVmYXVsdEhhc2hBbGcpKSB7DQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgY2FzZSAxOg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+ICsgICAgREVCVUcgKChERUJVR19JTkZPLCAiJWEgdXNlIFNIQTM4NCIsIF9fZnVuY19fKSk7 DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICBIYXNoQWxnID0gSEFTSEFMR19TSEEzODQ7 DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICBicmVhazsNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiArICBjYXNlIDI6DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICBERUJVRyAo KERFQlVHX0lORk8sICIlYSB1c2UgU0hBNTEyIiwgX19mdW5jX18pKTsNCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiArICAgIEhhc2hBbGcgPSBIQVNIQUxHX1NIQTUxMjsNCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiArICAgIGJyZWFrOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIGRlZmF1 bHQ6DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICBERUJVRyAoKERFQlVHX0lORk8sICIl YSB1c2UgU0hBMjU2IiwgX19mdW5jX18pKTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAg IEhhc2hBbGcgPSBIQVNIQUxHX1NIQTI1NjsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAg IGJyZWFrOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiArICByZXR1cm4gSGFzaEFsZzsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArfQ0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgLyoq DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgUHJvdmlkZSB2ZXJpZmljYXRpb24gc2Vydmlj ZSBmb3Igc2lnbmVkIGltYWdlcywgd2hpY2ggaW5jbHVkZSBib3RoDQo+ID4gPiA+ID4gPiBzaWdu YXR1cmUgdmFsaWRhdGlvbg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIGFuZCBwbGF0Zm9y bSBwb2xpY3kgY29udHJvbC4gRm9yIHNpZ25hdHVyZSB0eXBlcywgYm90aCBVRUZJDQo+ID4gPiA+ ID4gPiBXSU5fQ0VSVElGSUNBVEVfVUVGSV9HVUlEIGFuZA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+IEBAIC0xNjIwLDcgKzE2NDksNyBAQCBEb25lOg0KPiA+ID4gPiA+ID4gICAgICAgIGluIHRo ZSBzZWN1cml0eSBkYXRhYmFzZSAiZGIiLCBhbmQgbm8gdmFsaWQgc2lnbmF0dXJlIG5vciBhbnkN Cj4gPiA+ID4gPiA+IGhhc2ggdmFsdWUgb2YgdGhlIGltYWdlIG1heQ0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ICAgICAgICBiZSByZWZsZWN0ZWQgaW4gdGhlIHNlY3VyaXR5IGRhdGFiYXNlICJk YngiLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAgT3RoZXJ3aXNlLCB0aGUgaW1hZ2Ug aXMgbm90IHNpZ25lZCwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAtICAgICAgVGhlIFNIQTI1 NiBoYXNoIHZhbHVlIG9mIHRoZSBpbWFnZSBtdXN0IG1hdGNoIGEgcmVjb3JkIGluIHRoZQ0KPiA+ ID4gPiA+IHNlY3VyaXR5DQo+ID4gPiA+ID4gPiBkYXRhYmFzZSAiZGIiLCBhbmQNCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiArICAgICAgVGhlIGhhc2ggdmFsdWUgb2YgdGhlIGltYWdlIG11c3Qg bWF0Y2ggYSByZWNvcmQgaW4gdGhlIHNlY3VyaXR5DQo+ID4gPiA+ID4gPiArIGRhdGFiYXNlDQo+ ID4gPiA+ID4gPiAiZGIiLCBhbmQNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgICAgbm90 IGJlIHJlZmxlY3RlZCBpbiB0aGUgc2VjdXJpdHkgZGF0YSBiYXNlICJkYngiLg0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgQ2F1dGlvbjogVGhp cyBmdW5jdGlvbiBtYXkgcmVjZWl2ZSB1bnRydXN0ZWQgaW5wdXQuDQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gQEAgLTE4MzIsMTAgKzE4NjEsMTAgQEAgRHhlSW1hZ2VWZXJpZmljYXRpb25IYW5k bGVyICgNCj4gPiA+ID4gPiA+ICAgIC8vDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgaWYg KChTZWNEYXRhRGlyID09IE5VTEwpIHx8IChTZWNEYXRhRGlyLT5TaXplID09IDApKSB7DQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICAvLw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0g ICAgLy8gVGhpcyBpbWFnZSBpcyBub3Qgc2lnbmVkLiBUaGUgU0hBMjU2IGhhc2ggdmFsdWUgb2Yg dGhlIGltYWdlDQo+IG11c3QNCj4gPiA+ID4gPiBtYXRjaA0KPiA+ID4gPiA+ID4gYSByZWNvcmQg aW4gdGhlIHNlY3VyaXR5IGRhdGFiYXNlICJkYiIsDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g KyAgICAvLyBUaGlzIGltYWdlIGlzIG5vdCBzaWduZWQuIFRoZSBoYXNoIHZhbHVlIG9mIHRoZSBp bWFnZSBtdXN0DQo+ID4gPiA+ID4gPiArIG1hdGNoIGEgcmVjb3JkDQo+ID4gPiA+ID4gPiBpbiB0 aGUgc2VjdXJpdHkgZGF0YWJhc2UgImRiIiwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAg IC8vIGFuZCBub3QgYmUgcmVmbGVjdGVkIGluIHRoZSBzZWN1cml0eSBkYXRhIGJhc2UgImRieCIu DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICAvLw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+IC0gICAgaWYgKCFIYXNoUGVJbWFnZSAoSEFTSEFMR19TSEEyNTYpKSB7DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gKyAgICBpZiAoIUhhc2hQZUltYWdlIChHZXREZWZhdWx0SGFzaEFsZyAo KSkpIHsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgICAgREVCVUcgKChERUJVR19JTkZP LCAiRHhlSW1hZ2VWZXJpZmljYXRpb25MaWI6IEZhaWxlZCB0byBoYXNoDQo+ID4gPiA+ID4gPiB0 aGlzIGltYWdlIHVzaW5nICVzLlxuIiwgbUhhc2hUeXBlU3RyKSk7DQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gICAgICAgIGdvdG8gRmFpbGVkOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAg ICAgfQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQNCj4gPiA+ID4gPiA+DQo+ ID4gPiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvRHhlSW1hZ2VWZXJpZmljYXRpb25MaWIvRHhlSW1h Z2VWZXJpZmljYXRpb25MaWIuDQo+ID4gPiA+ID4gPiBpbmYNCj4gPiA+ID4gPiA+DQo+ID4gPiBi L1NlY3VyaXR5UGtnL0xpYnJhcnkvRHhlSW1hZ2VWZXJpZmljYXRpb25MaWIvRHhlSW1hZ2VWZXJp ZmljYXRpb25MaWIuDQo+ID4gPiA+ID4gPiBpbmYNCj4gPiA+ID4gPiA+IGluZGV4IDFlMWE2Mzk4 NTcuLmYxZWY5MjM2YzIgMTAwNjQ0DQo+ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiA+DQo+ID4g PiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvRHhlSW1hZ2VWZXJpZmljYXRpb25MaWIvRHhlSW1hZ2VW ZXJpZmljYXRpb25MaWIuDQo+ID4gPiA+ID4gPiBpbmYNCj4gPiA+ID4gPiA+ICsrKw0KPiA+ID4g Yi9TZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliL0R4ZUltYWdlVmVy aWZpY2F0aW9uDQo+ID4gPiA+ID4gPiArKysgTGliLmluZg0KPiA+ID4gPiA+ID4gQEAgLTkzLDMg KzkzLDQgQEANCj4gPiA+ID4gPiA+DQo+ID4gPiBnRWZpU2VjdXJpdHlQa2dUb2tlblNwYWNlR3Vp ZC5QY2RPcHRpb25Sb21JbWFnZVZlcmlmaWNhdGlvblBvbGljeQ0KPiA+ID4gPiA+ID4gIyMgU09N RVRJTUVTX0NPTlNVTUVTDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4NCj4gPiA+DQo+IGdFZmlTZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFJlbW92 YWJsZU1lZGlhSW1hZ2VWZXJpZmljYXRpb25Qb2xpYw0KPiA+ID4gPiA+IHkNCj4gPiA+ID4gPiA+ ICMjIFNPTUVUSU1FU19DT05TVU1FUw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiBn RWZpU2VjdXJpdHlQa2dUb2tlblNwYWNlR3VpZC5QY2RGaXhlZE1lZGlhSW1hZ2VWZXJpZmljYXRp b25Qb2xpY3kNCj4gPiA+ID4gPiAjIw0KPiA+ID4gPiA+ID4gU09NRVRJTUVTX0NPTlNVTUVTDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgZ0VmaVNlY3VyaXR5UGtnVG9rZW5TcGFjZUd1aWQu UGNkU2VjdXJlQm9vdERlZmF1bHRIYXNoQWxnDQo+ID4gPiA+ID4gIyMNCj4gPiA+ID4gPiA+IENP TlNVTUVTDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL1NlY3VyaXR5UGtn L1NlY3VyaXR5UGtnLmRlYw0KPiBiL1NlY3VyaXR5UGtnL1NlY3VyaXR5UGtnLmRlYw0KPiA+ID4g PiA+ID4gaW5kZXggMDM4MjA5MGY0ZS4uNGFkYzJhNzJhYiAxMDA2NDQNCj4gPiA+ID4gPiA+IC0t LSBhL1NlY3VyaXR5UGtnL1NlY3VyaXR5UGtnLmRlYw0KPiA+ID4gPiA+ID4gKysrIGIvU2VjdXJp dHlQa2cvU2VjdXJpdHlQa2cuZGVjDQo+ID4gPiA+ID4gPiBAQCAtNTIxLDYgKzUyMSwxMyBAQA0K PiA+ID4gPiA+ID4gICAgIyBAUHJvbXB0IFNraXAgSGRkIFBhc3N3b3JkIHByb21wdC4NCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4NCj4gZ0Vm aVNlY3VyaXR5UGtnVG9rZW5TcGFjZUd1aWQuUGNkU2tpcEhkZFBhc3N3b3JkUHJvbXB0fEZBTFNF fEJPT0xFDQo+ID4gPiA+ID4gQU58DQo+ID4gPiA+ID4gPiAweDAwMDEwMDIxDQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAjIyBJbmRpY2F0ZXMg ZGVmYXVsdCBoYXNoIGFsZ29yaXRobSBpbiBTZWN1cmUgQm9vdA0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICsgICMgICAwIC0gVXNlIFNIQTI1Ng0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsg ICMgICAxIC0gVXNlIFNIQTM4NA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICMgICAyIC0g VXNlIFNIQTUxMg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICMgQFByb21wdCBTZWN1cmUg Qm9vdCBkZWZhdWx0IGhhc2ggYWxnb3JpdGhtDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4NCj4gZ0VmaVNlY3VyaXR5UGtnVG9rZW5TcGFj ZUd1aWQuUGNkU2VjdXJlQm9vdERlZmF1bHRIYXNoQWxnfDB8VUlOVDh8MHgNCj4gPiA+ID4gPiAw MA0KPiA+ID4gPiA+ID4gMA0KPiA+ID4gPiA+ID4gMTAwNDANCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gIFtQY2RzRHluYW1pYywgUGNkc0R5bmFt aWNFeF0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ICAgICMjIFRoaXMgUENEIGluZGljYXRlcyBIYXNoIG1hc2sgZm9yIFRQTSAyLjAuIEJpdCBkZWZp bml0aW9uDQo+ID4gPiA+ID4gPiBzdHJpY3RseSBmb2xsb3dzIFRDRyBBbGdvcml0aG0gUmVnaXN0 cnkuPEJSPjxCUj4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0KPiBhL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGlj YXRlZC9TZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RDb24NCj4gPiA+ID4gPiBmDQo+ID4g PiA+ID4gPiBpZw0KPiA+ID4gPiA+ID4gRHhlLmluZg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPg0K PiA+ID4NCj4gYi9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENv bmZpZ0R4ZS9TZWN1cmVCb290Q29uDQo+ID4gPiA+ID4gZg0KPiA+ID4gPiA+ID4gaWcNCj4gPiA+ ID4gPiA+IER4ZS5pbmYNCj4gPiA+ID4gPiA+IGluZGV4IDE2NzFkNWJlN2MuLjRiMDAxMmQwMzMg MTAwNjQ0DQo+ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+DQo+ IGEvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdEeGUv U2VjdXJlQm9vdENvbg0KPiA+ID4gPiA+IGYNCj4gPiA+ID4gPiA+IGlnDQo+ID4gPiA+ID4gPiBE eGUuaW5mDQo+ID4gPiA+ID4gPiArKysNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+DQo+ IGIvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdEeGUv U2VjdXJlQm9vdENvbg0KPiA+ID4gPiA+IGYNCj4gPiA+ID4gPiA+IGlnDQo+ID4gPiA+ID4gPiBE eGUuaW5mDQo+ID4gPiA+ID4gPiBAQCAtNzAsNiArNzAsMTQgQEANCj4gPiA+ID4gPiA+ICAgICMj IFNPTUVUSU1FU19QUk9EVUNFUyAgICAgICMjIEdVSUQgICAgICAgICAgICAjIFVuaXF1ZSBJRCBm b3IgdGhlDQo+IHR5cGUNCj4gPiA+IG9mDQo+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiBzaWdu YXR1cmUuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgZ0VmaUNlcnRSc2EyMDQ4R3VpZA0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgIyMg U09NRVRJTUVTX0NPTlNVTUVTICAgICAgIyMgR1VJRCAgICAgICAgICAgICMgVW5pcXVlIElEIGZv ciB0aGUNCj4gPiA+IHR5cGUgb2YNCj4gPiA+ID4gPiB0aGUNCj4gPiA+ID4gPiA+IHNpZ25hdHVy ZS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAjIyBTT01FVElNRVNfUFJPRFVDRVMgICAg ICAjIyBHVUlEICAgICAgICAgICAgIyBVbmlxdWUgSUQgZm9yIHRoZQ0KPiB0eXBlDQo+ID4gPiBv Zg0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gc2lnbmF0dXJlLg0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ICsgIGdFZmlDZXJ0UnNhMzA3Mkd1aWQNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiArDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgIyMgU09NRVRJTUVTX0NPTlNVTUVTICAg ICAgIyMgR1VJRCAgICAgICAgICAgICMgVW5pcXVlIElEIGZvciB0aGUNCj4gPiA+IHR5cGUgb2YN Cj4gPiA+ID4gPiB0aGUNCj4gPiA+ID4gPiA+IHNpZ25hdHVyZS4NCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiArICAjIyBTT01FVElNRVNfUFJPRFVDRVMgICAgICAjIyBHVUlEICAgICAgICAgICAg IyBVbmlxdWUgSUQgZm9yIHRoZQ0KPiB0eXBlDQo+ID4gPiBvZg0KPiA+ID4gPiA+IHRoZQ0KPiA+ ID4gPiA+ID4gc2lnbmF0dXJlLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIGdFZmlDZXJ0 UnNhNDA5Nkd1aWQNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTICAgICAgIyMgR1VJRCAgICAgICAgICAg ICMgVW5pcXVlIElEIGZvciB0aGUNCj4gdHlwZQ0KPiA+ID4gb2YNCj4gPiA+ID4gPiB0aGUNCj4g PiA+ID4gPiA+IHNpZ25hdHVyZS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAjIyBTT01F VElNRVNfUFJPRFVDRVMgICAgICAjIyBHVUlEICAgICAgICAgICAgIyBVbmlxdWUgSUQgZm9yIHRo ZQ0KPiB0eXBlDQo+ID4gPiBvZg0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gc2lnbmF0dXJl Lg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIGdFZmlDZXJ0WDUwOUd1aWQNCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiBAQCAtODIsNiArOTAsMTQgQEANCj4gPiA+ID4gPiA+ICAgICMjIFNP TUVUSU1FU19QUk9EVUNFUyAgICAgICMjIEdVSUQgICAgICAgICAgICAjIFVuaXF1ZSBJRCBmb3Ig dGhlDQo+IHR5cGUNCj4gPiA+IG9mDQo+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiBzaWduYXR1 cmUuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgZ0VmaUNlcnRTaGEyNTZHdWlkDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAjIyBTT01F VElNRVNfQ09OU1VNRVMgICAgICAjIyBHVUlEICAgICAgICAgICAgIyBVbmlxdWUgSUQgZm9yIHRo ZQ0KPiA+ID4gdHlwZSBvZg0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gc2lnbmF0dXJlLg0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICMjIFNPTUVUSU1FU19QUk9EVUNFUyAgICAgICMj IEdVSUQgICAgICAgICAgICAjIFVuaXF1ZSBJRCBmb3IgdGhlDQo+IHR5cGUNCj4gPiA+IG9mDQo+ ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiBzaWduYXR1cmUuDQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gKyAgZ0VmaUNlcnRTaGEzODRHdWlkDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICMjIFNPTUVUSU1FU19DT05TVU1FUyAgICAgICMj IEdVSUQgICAgICAgICAgICAjIFVuaXF1ZSBJRCBmb3IgdGhlDQo+ID4gPiB0eXBlIG9mDQo+ID4g PiA+ID4gdGhlDQo+ID4gPiA+ID4gPiBzaWduYXR1cmUuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKyAgIyMgU09NRVRJTUVTX1BST0RVQ0VTICAgICAgIyMgR1VJRCAgICAgICAgICAgICMgVW5p cXVlIElEIGZvciB0aGUNCj4gdHlwZQ0KPiA+ID4gb2YNCj4gPiA+ID4gPiB0aGUNCj4gPiA+ID4g PiA+IHNpZ25hdHVyZS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBnRWZpQ2VydFNoYTUx Mkd1aWQNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTICAgICAgIyMgVmFyaWFibGU6TCJkYiINCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAjIyBTT01FVElNRVNfUFJPRFVDRVMgICAgICAjIyBWYXJp YWJsZTpMImRiIg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICMjIFNPTUVUSU1FU19DT05T VU1FUyAgICAgICMjIFZhcmlhYmxlOkwiZGJ4Ig0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEBA IC0xMDcsNiArMTIzLDkgQEANCj4gPiA+ID4gPiA+ICAgIGdFZmlDZXJ0WDUwOVNoYTM4NEd1aWQg ICAgICAgICAgICAgICAgICAgICAgICAjIyBTT01FVElNRVNfUFJPRFVDRVMNCj4gIyMNCj4gPiA+ IEdVSUQNCj4gPiA+ID4gPiAjDQo+ID4gPiA+ID4gPiBVbmlxdWUgSUQgZm9yIHRoZSB0eXBlIG9m IHRoZSBjZXJ0aWZpY2F0ZS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICBnRWZpQ2VydFg1 MDlTaGE1MTJHdWlkICAgICAgICAgICAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX1BST0RVQ0VT DQo+ICMjDQo+ID4gPiBHVUlEDQo+ID4gPiA+ID4gIw0KPiA+ID4gPiA+ID4gVW5pcXVlIElEIGZv ciB0aGUgdHlwZSBvZiB0aGUgY2VydGlmaWNhdGUuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArW1BjZF0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiArICBnRWZpU2VjdXJpdHlQa2dUb2tlblNwYWNlR3VpZC5QY2RTZWN1cmVCb290RGVmYXVsdEhh c2hBbGcNCj4gPiA+ID4gPiAjIw0KPiA+ID4gPiA+ID4gQ09OU1VNRVMNCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gIFtQcm90b2NvbHNdDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgZ0VmaUhpaUNvbmZpZ0FjY2Vzc1Byb3RvY29sR3VpZCAg ICAgICAgICAgICAgICMjIFBST0RVQ0VTDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgZ0Vm aURldmljZVBhdGhQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICMjIFBST0RVQ0VTDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g Pg0KPiA+ID4NCj4gYS9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9v dENvbmZpZ0R4ZS9TZWN1cmVCb290Q29uDQo+ID4gPiA+ID4gZg0KPiA+ID4gPiA+ID4gaWdJDQo+ ID4gPiA+ID4gPiBtcGwuYw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4NCj4gYi9TZWN1 cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZS9TZWN1cmVC b290Q29uDQo+ID4gPiA+ID4gZg0KPiA+ID4gPiA+ID4gaWdJDQo+ID4gPiA+ID4gPiBtcGwuYw0K PiA+ID4gPiA+ID4gaW5kZXggNDI5OWE2YjVlNS4uMGJhMDI5YTM5NCAxMDA2NDQNCj4gPiA+ID4g PiA+IC0tLQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4NCj4gYS9TZWN1cml0eVBrZy9W YXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZS9TZWN1cmVCb290Q29uDQo+ ID4gPiA+ID4gZg0KPiA+ID4gPiA+ID4gaWdJDQo+ID4gPiA+ID4gPiBtcGwuYw0KPiA+ID4gPiA+ ID4gKysrDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0KPiBiL1NlY3VyaXR5UGtnL1Zh cmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RDb24NCj4g PiA+ID4gPiBmDQo+ID4gPiA+ID4gPiBpZ0kNCj4gPiA+ID4gPiA+IG1wbC5jDQo+ID4gPiA+ID4g PiBAQCAtNTYwLDcgKzU2MCw3IEBAIE9OX0VYSVQ6DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ICAqKi8NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgRUZJX1NUQVRVUw0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC1FbnJvbGxSc2EyMDQ4VG9LZWsgKA0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ICtFbnJvbGxSc2FUb0tlayAoDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gICAgSU4gU0VDVVJFQk9PVF9DT05GSUdfUFJJVkFURV9EQVRBICAqUHJpdmF0ZQ0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ICAgICkNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgew0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEBAIC02MDMsOCArNjAzLDEzIEBAIEVucm9sbFJzYTIwNDhU b0tlayAoDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIEFTU0VSVCAo S2V5QmxvYiAhPSBOVUxMKTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICBLZXlJbmZvID0g KENQTF9LRVlfSU5GTyAqKUtleUJsb2I7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gLSAgaWYg KEtleUluZm8tPktleUxlbmd0aEluQml0cyAvIDggIT0NCj4gV0lOX0NFUlRfVUVGSV9SU0EyMDQ4 X1NJWkUpIHsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAtICAgIERFQlVHICgoREVCVUdfRVJS T1IsICJVbnN1cHBvcnRlZCBrZXkgbGVuZ3RoLCBPbmx5DQo+IFJTQTIwNDggaXMNCj4gPiA+ID4g PiA+IHN1cHBvcnRlZC5cbiIpKTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBzd2l0Y2gg KEtleUluZm8tPktleUxlbmd0aEluQml0cyAvIDgpIHsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiArICBjYXNlIFdJTl9DRVJUX1VFRklfUlNBMjA0OF9TSVpFOg0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICsgIGNhc2UgV0lOX0NFUlRfVUVGSV9SU0EzMDcyX1NJWkU6DQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gKyAgY2FzZSBXSU5fQ0VSVF9VRUZJX1JTQTQwOTZfU0laRToNCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiArICAgIGJyZWFrOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsg IGRlZmF1bHQgOg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgREVCVUcgKChERUJVR19F UlJPUiwgIlVuc3VwcG9ydGVkIGtleSBsZW5ndGgsIE9ubHkNCj4gUlNBMjA0OCwNCj4gPiA+ID4g PiA+ICsgUlNBMzA3Mg0KPiA+ID4gPiA+ID4gYW5kIFJTQTQwOTYgYXJlIHN1cHBvcnRlZC5cbiIp KTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgIFN0YXR1cyA9IEVGSV9VTlNVUFBPUlRF RDsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgIGdvdG8gT05fRVhJVDsNCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiAgICB9DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gQEAgLTYzMiw3 ICs2MzcsNyBAQCBFbnJvbGxSc2EyMDQ4VG9LZWsgKA0KPiA+ID4gPiA+ID4gICAgLy8NCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiAgICBLZWtTaWdMaXN0U2l6ZSA9IHNpemVvZiAoRUZJX1NJR05B VFVSRV9MSVNUKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAg KyBzaXplb2YgKEVGSV9TSUdOQVRVUkVfREFUQSkgLSAxDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gLSAgICAgICAgICAgICAgICAgICArIFdJTl9DRVJUX1VFRklfUlNBMjA0OF9TSVpFOw0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgKyBLZXlMZW5JbkJ5dGVz Ow0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAg S2VrU2lnTGlzdCA9IChFRklfU0lHTkFUVVJFX0xJU1QgKilBbGxvY2F0ZVplcm9Qb29sDQo+ID4g PiA+ID4gPiAoS2VrU2lnTGlzdFNpemUpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIGlm IChLZWtTaWdMaXN0ID09IE5VTEwpIHsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBAQCAtNjQy LDE3ICs2NDcsMzIgQEAgRW5yb2xsUnNhMjA0OFRvS2VrICgNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gICAgS2VrU2lnTGlzdC0+U2lnbmF0dXJlTGlzdFNpemUgPSBzaXpl b2YgKEVGSV9TSUdOQVRVUkVfTElTVCkNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgc2l6ZW9mIChFRklfU0lHTkFUVVJFX0RBVEEp IC0gMQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKyBXSU5fQ0VSVF9VRUZJX1JTQTIwNDhfU0laRTsNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgKFVJTlQzMikgS2V5 TGVuSW5CeXRlczsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICBLZWtTaWdMaXN0LT5TaWdu YXR1cmVIZWFkZXJTaXplID0gMDsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAtICBLZWtTaWdM aXN0LT5TaWduYXR1cmVTaXplICAgICAgID0gc2l6ZW9mIChFRklfU0lHTkFUVVJFX0RBVEEpIC0g MQ0KPiArDQo+ID4gPiA+ID4gPiBXSU5fQ0VSVF9VRUZJX1JTQTIwNDhfU0laRTsNCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiAtICBDb3B5R3VpZCAoJktla1NpZ0xpc3QtPlNpZ25hdHVyZVR5cGUs ICZnRWZpQ2VydFJzYTIwNDhHdWlkKTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBLZWtT aWdMaXN0LT5TaWduYXR1cmVTaXplICAgICAgID0gc2l6ZW9mIChFRklfU0lHTkFUVVJFX0RBVEEp IC0gMQ0KPiArDQo+ID4gPiA+ID4gKFVJTlQzMikNCj4gPiA+ID4gPiA+IEtleUxlbkluQnl0ZXM7 DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgc3dpdGNoIChLZXlMZW5JbkJ5dGVzKSB7DQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgY2FzZSBXSU5fQ0VSVF9VRUZJX1JTQTIwNDhfU0la RToNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgIENvcHlHdWlkICgmS2VrU2lnTGlzdC0+ U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0UnNhMjA0OEd1aWQpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICsgICAgYnJlYWs7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgY2FzZSBXSU5f Q0VSVF9VRUZJX1JTQTMwNzJfU0laRToNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgIENv cHlHdWlkICgmS2VrU2lnTGlzdC0+U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0UnNhMzA3Mkd1aWQp Ow0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgYnJlYWs7DQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gKyAgY2FzZSBXSU5fQ0VSVF9VRUZJX1JTQTQwOTZfU0laRToNCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiArICAgIENvcHlHdWlkICgmS2VrU2lnTGlzdC0+U2lnbmF0dXJlVHlwZSwg JmdFZmlDZXJ0UnNhNDA5Nkd1aWQpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgYnJl YWs7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICBicmVhazsNCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiArICBkZWZhdWx0IDoNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgIERF QlVHICgoREVCVUdfRVJST1IsICJVbnN1cHBvcnRlZCBrZXkgbGVuZ3RoLlxuIikpOw0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgU3RhdHVzID0gRUZJX1VOU1VQUE9SVEVEOw0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgZ290byBPTl9FWElUOw0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICsgIH0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICAgIEtFS1NpZ0RhdGEgPSAoRUZJX1NJR05BVFVSRV9EQVRBICopKChVSU5UOCAqKUtl a1NpZ0xpc3QgKw0KPiBzaXplb2YNCj4gPiA+ID4gPiA+IChFRklfU0lHTkFUVVJFX0xJU1QpKTsN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICBDb3B5R3VpZCAoJktFS1NpZ0RhdGEtPlNpZ25h dHVyZU93bmVyLCBQcml2YXRlLQ0KPiA+U2lnbmF0dXJlR1VJRCk7DQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gICAgQ29weU1lbSAoDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICBLRUtT aWdEYXRhLT5TaWduYXR1cmVEYXRhLA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAgS2V5 QmxvYiArIHNpemVvZiAoQ1BMX0tFWV9JTkZPKSwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAt ICAgIFdJTl9DRVJUX1VFRklfUlNBMjA0OF9TSVpFDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g KyAgICBLZXlMZW5JbkJ5dGVzDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICApOw0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgLy8NCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBAQCAtODkwLDcgKzkxMCw3IEBAIEVucm9sbEtleUV4Y2hh bmdlS2V5ICgNCj4gPiA+ID4gPiA+ICAgIGlmIChJc0RlckVuY29kZUNlcnRpZmljYXRlIChGaWxl UG9zdEZpeCkpIHsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgIHJldHVybiBFbnJvbGxY NTA5VG9LZWsgKFByaXZhdGUpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIH0gZWxzZSBp ZiAoQ29tcGFyZU1lbSAoRmlsZVBvc3RGaXgsIEwiLnBiayIsIDQpID09IDApIHsNCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiAtICAgIHJldHVybiBFbnJvbGxSc2EyMDQ4VG9LZWsgKFByaXZhdGUp Ow0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgcmV0dXJuIEVucm9sbFJzYVRvS2VrIChQ cml2YXRlKTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICB9IGVsc2Ugew0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ICAgICAgLy8NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgIC8v IEZpbGUgdHlwZSBpcyB3cm9uZywgc2ltcGx5IGNsb3NlIGl0DQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gQEAgLTE4NDcsNyArMTg2Nyw3IEBAIEhhc2hQZUltYWdlICgNCj4gPiA+ID4gPiA+ICAg IFNlY3Rpb25IZWFkZXIgPSBOVUxMOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIFN0YXR1 cyAgICAgICAgPSBGQUxTRTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+IC0gIGlmIChIYXNoQWxnICE9IEhBU0hBTEdfU0hBMjU2KSB7DQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gKyAgaWYgKChIYXNoQWxnID49IEhBU0hBTEdfTUFYKSkgew0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAgcmV0dXJuIEZBTFNFOw0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ICAgIH0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+IEBAIC0xODU2LDggKzE4NzYsMjUgQEAgSGFzaFBlSW1hZ2UgKA0KPiA+ID4gPiA+ ID4gICAgLy8NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICBaZXJvTWVtIChtSW1hZ2VEaWdl c3QsIE1BWF9ESUdFU1RfU0laRSk7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiAtICBtSW1hZ2VEaWdlc3RTaXplID0gU0hBMjU2X0RJR0VTVF9TSVpF Ow0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0gIG1DZXJ0VHlwZSAgICAgICAgPSBnRWZpQ2Vy dFNoYTI1Nkd1aWQ7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgIHN3aXRjaCAoSGFzaEFs Zykgew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgY2FzZSBIQVNIQUxHX1NIQTI1NjoN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgbUltYWdlRGlnZXN0U2l6ZSA9IFNIQTI1 Nl9ESUdFU1RfU0laRTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgbUNlcnRUeXBl ICAgICAgICA9IGdFZmlDZXJ0U2hhMjU2R3VpZDsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAr ICAgICAgYnJlYWs7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ICsgICAgY2FzZSBIQVNIQUxHX1NIQTM4NDoNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiArICAgICAgbUltYWdlRGlnZXN0U2l6ZSA9IFNIQTM4NF9ESUdFU1RfU0laRTsNCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgbUNlcnRUeXBlICAgICAgICA9IGdFZmlDZXJ0U2hh Mzg0R3VpZDsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgYnJlYWs7DQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgY2FzZSBI QVNIQUxHX1NIQTUxMjoNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgICAgbUltYWdlRGln ZXN0U2l6ZSA9IFNIQTUxMl9ESUdFU1RfU0laRTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAr ICAgICAgbUNlcnRUeXBlICAgICAgICA9IGdFZmlDZXJ0U2hhNTEyR3VpZDsNCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiArICAgICAgYnJlYWs7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgZGVmYXVsdDoNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiArICAgICAgcmV0dXJuIEZBTFNFOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsg IH0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAg IEN0eFNpemUgPSBtSGFzaFtIYXNoQWxnXS5HZXRDb250ZXh0U2l6ZSAoKTsNCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEBAIC0yMjIyLDYgKzIyNTks MzUgQEAgT05fRVhJVDoNCj4gPiA+ID4gPiA+ICAgIHJldHVybiBTdGF0dXM7DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gIH0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ICsvKioNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICBHZXQgSGFzaCBB bGcgYnkgUGNkU2VjdXJlQm9vdERlZmF1bHRIYXNoQWxnDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIEByZXR2YWwgIFVJTlQzMiAgICAgICBI YXNoIEFsZw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICoqLw0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ICtVSU5UMzINCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArR2V0RGVmYXVsdEhh c2hBbGcgKA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIFZPSUQNCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiArICApDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gK3sNCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiArICBVSU5UMzIgIEhhc2hBbGc7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIHN3aXRjaCAoUGNkR2V0OCAoUGNkU2Vj dXJlQm9vdERlZmF1bHRIYXNoQWxnKSkgew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIGNh c2UgMToNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgIERFQlVHICgoREVCVUdfSU5GTywg IiVhIHVzZSBTSEEzODQiLCBfX2Z1bmNfXykpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsg ICAgSGFzaEFsZyA9IEhBU0hBTEdfU0hBMzg0Ow0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsg ICAgYnJlYWs7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgY2FzZSAyOg0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ICsgICAgREVCVUcgKChERUJVR19JTkZPLCAiJWEgdXNlIFNIQTUxMiIs IF9fZnVuY19fKSk7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICBIYXNoQWxnID0gSEFT SEFMR19TSEE1MTI7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICBicmVhazsNCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiArICBkZWZhdWx0Og0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ICsgICAgREVCVUcgKChERUJVR19JTkZPLCAiJWEgdXNlIFNIQTI1NiIsIF9fZnVuY19fKSk7DQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICBIYXNoQWxnID0gSEFTSEFMR19TSEEyNTY7DQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICBicmVhazsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiArICB9DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgcmV0dXJuIEhhc2hBbGc7DQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gK30NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gIC8qKg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAg IEVucm9sbCBhIG5ldyBzaWduYXR1cmUgb2YgZXhlY3V0YWJsZSBpbnRvIFNpZ25hdHVyZSBEYXRh YmFzZS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ IEBAIC0yMjg5LDcgKzIzNTUsNyBAQCBFbnJvbGxJbWFnZVNpZ25hdHVyZVRvU2lnREIgKA0KPiA+ ID4gPiA+ID4gICAgfQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gICAgaWYgKG1TZWNEYXRhRGlyLT5TaXplT2ZDZXJ0ID09IDApIHsNCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiAtICAgIGlmICghSGFzaFBlSW1hZ2UgKEhBU0hBTEdfU0hBMjU2KSkg ew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgaWYgKCFIYXNoUGVJbWFnZSAoR2V0RGVm YXVsdEhhc2hBbGcgKCkpKSB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICAgIFN0YXR1 cyA9ICBFRklfU0VDVVJJVFlfVklPTEFUSU9OOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAg ICAgICBnb3RvIE9OX0VYSVQ7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICB9DQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gQEAgLTI1ODksNiArMjY1NSwxMCBAQCBVcGRhdGVEZWxldGVQ YWdlICgNCj4gPiA+ID4gPiA+ICAgIHdoaWxlICgoSXRlbURhdGFTaXplID4gMCkgJiYgKEl0ZW1E YXRhU2l6ZSA+PQ0KPiA+ID4gPiA+ID4gQ2VydExpc3QtPlNpZ25hdHVyZUxpc3RTaXplKSkgew0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAgaWYgKENvbXBhcmVHdWlkICgmQ2VydExpc3Qt PlNpZ25hdHVyZVR5cGUsDQo+ICZnRWZpQ2VydFJzYTIwNDhHdWlkKSkNCj4gPiA+ID4gPiA+IHsN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgICAgSGVscCA9IFNUUklOR19UT0tFTg0KPiAo U1RSX0NFUlRfVFlQRV9SU0EyMDQ4X1NIQTI1Nl9HVUlEKTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiArICAgIH0gZWxzZSBpZiAoQ29tcGFyZUd1aWQgKCZDZXJ0TGlzdC0+U2lnbmF0dXJlVHlw ZSwNCj4gPiA+ID4gPiA+ICsgJmdFZmlDZXJ0UnNhMzA3Mkd1aWQpKSB7DQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gKyAgICAgIEhlbHAgPSBTVFJJTkdfVE9LRU4NCj4gKFNUUl9DRVJUX1RZUEVf UlNBMzA3Ml9TSEEzODRfR1VJRCk7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICB9IGVs c2UgaWYgKENvbXBhcmVHdWlkICgmQ2VydExpc3QtPlNpZ25hdHVyZVR5cGUsDQo+ID4gPiA+ID4g PiArICZnRWZpQ2VydFJzYTQwOTZHdWlkKSkgew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsg ICAgICBIZWxwID0gU1RSSU5HX1RPS0VODQo+IChTVFJfQ0VSVF9UWVBFX1JTQTQwOTZfU0hBNTEy X0dVSUQpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAgfSBlbHNlIGlmIChDb21wYXJl R3VpZCAoJkNlcnRMaXN0LT5TaWduYXR1cmVUeXBlLA0KPiA+ID4gPiA+ID4gJmdFZmlDZXJ0WDUw OUd1aWQpKSB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICAgIEhlbHAgPSBTVFJJTkdf VE9LRU4gKFNUUl9DRVJUX1RZUEVfUENLUzdfR1VJRCk7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gICAgICB9IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmQ2VydExpc3QtPlNpZ25hdHVyZVR5cGUs DQo+ID4gPiA+ID4gPiAmZ0VmaUNlcnRTaGExR3VpZCkpIHsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiBAQCAtMjc1MCw2ICsyODIwLDggQEAgRGVsZXRlS2V5RXhjaGFuZ2VLZXkgKA0KPiA+ID4g PiA+ID4gICAgR3VpZEluZGV4ICAgICAgPSAwOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAg IHdoaWxlICgoS2VrRGF0YVNpemUgPiAwKSAmJiAoS2VrRGF0YVNpemUgPj0NCj4gPiA+ID4gPiA+ IENlcnRMaXN0LT5TaWduYXR1cmVMaXN0U2l6ZSkpIHsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiAgICAgIGlmIChDb21wYXJlR3VpZCAoJkNlcnRMaXN0LT5TaWduYXR1cmVUeXBlLA0KPiAmZ0Vm aUNlcnRSc2EyMDQ4R3VpZCkNCj4gPiA+ID4gPiA+IHx8DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKyAgICAgICAgQ29tcGFyZUd1aWQgKCZDZXJ0TGlzdC0+U2lnbmF0dXJlVHlwZSwNCj4gJmdF ZmlDZXJ0UnNhMzA3Mkd1aWQpDQo+ID4gPiA+ID4gPiArIHx8DQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gKyAgICAgICAgQ29tcGFyZUd1aWQgKCZDZXJ0TGlzdC0+U2lnbmF0dXJlVHlwZSwNCj4g JmdFZmlDZXJ0UnNhNDA5Nkd1aWQpDQo+ID4gPiA+ID4gPiArIHx8DQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gICAgICAgICAgQ29tcGFyZUd1aWQgKCZDZXJ0TGlzdC0+U2lnbmF0dXJlVHlwZSwg JmdFZmlDZXJ0WDUwOUd1aWQpKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAgew0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAgICBDb3B5TWVtIChEYXRhICsgT2Zmc2V0LCBDZXJ0 TGlzdCwgKHNpemVvZiAoRUZJX1NJR05BVFVSRV9MSVNUKQ0KPiA+ID4gPiA+ID4gKyBDZXJ0TGlz dC0NCj4gPiA+ID4gPiA+ID5TaWduYXR1cmVIZWFkZXJTaXplKSk7DQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gQEAgLTI5NTIsNiArMzAyNCw4IEBAIERlbGV0ZVNpZ25hdHVyZSAoDQo+ID4gPiA+ ID4gPiAgICBHdWlkSW5kZXggICAgPSAwOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgIHdo aWxlICgoSXRlbURhdGFTaXplID4gMCkgJiYgKEl0ZW1EYXRhU2l6ZSA+PQ0KPiA+ID4gPiA+ID4g Q2VydExpc3QtPlNpZ25hdHVyZUxpc3RTaXplKSkgew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ICAgICAgaWYgKENvbXBhcmVHdWlkICgmQ2VydExpc3QtPlNpZ25hdHVyZVR5cGUsDQo+ICZnRWZp Q2VydFJzYTIwNDhHdWlkKQ0KPiA+ID4gPiA+ID4gfHwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiArICAgICAgICBDb21wYXJlR3VpZCAoJkNlcnRMaXN0LT5TaWduYXR1cmVUeXBlLA0KPiAmZ0Vm aUNlcnRSc2EzMDcyR3VpZCkNCj4gPiA+ID4gPiA+ICsgfHwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiArICAgICAgICBDb21wYXJlR3VpZCAoJkNlcnRMaXN0LT5TaWduYXR1cmVUeXBlLA0KPiAm Z0VmaUNlcnRSc2E0MDk2R3VpZCkNCj4gPiA+ID4gPiA+ICsgfHwNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiAgICAgICAgICBDb21wYXJlR3VpZCAoJkNlcnRMaXN0LT5TaWduYXR1cmVUeXBlLCAm Z0VmaUNlcnRYNTA5R3VpZCkNCj4gfHwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgICAg ICBDb21wYXJlR3VpZCAoJkNlcnRMaXN0LT5TaWduYXR1cmVUeXBlLCAmZ0VmaUNlcnRTaGExR3Vp ZCkNCj4gfHwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgICAgICBDb21wYXJlR3VpZCAo JkNlcnRMaXN0LT5TaWduYXR1cmVUeXBlLCAmZ0VmaUNlcnRTaGEyNTZHdWlkKQ0KPiA+ID4gPiA+ ID4gfHwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBAQCAtMzc1OCwxMiArMzgzMiwyMCBAQCBM b2FkU2lnbmF0dXJlTGlzdCAoDQo+ID4gPiA+ID4gPiAgICB3aGlsZSAoKFJlbWFpbmluZ1NpemUg PiAwKSAmJiAoUmVtYWluaW5nU2l6ZSA+PQ0KPiA+ID4gPiA+ID4gTGlzdFdhbGtlci0+U2lnbmF0 dXJlTGlzdFNpemUpKSB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICBpZiAoQ29tcGFy ZUd1aWQgKCZMaXN0V2Fsa2VyLT5TaWduYXR1cmVUeXBlLA0KPiA+ID4gPiA+ID4gJmdFZmlDZXJ0 UnNhMjA0OEd1aWQpKSB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICAgIExpc3RUeXBl ID0gU1RSSU5HX1RPS0VOIChTVFJfTElTVF9UWVBFX1JTQTIwNDhfU0hBMjU2KTsNCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiArICAgIH0gZWxzZSBpZiAoQ29tcGFyZUd1aWQgKCZMaXN0V2Fsa2Vy LT5TaWduYXR1cmVUeXBlLA0KPiA+ID4gPiA+ID4gKyAmZ0VmaUNlcnRSc2EzMDcyR3VpZCkpDQo+ ID4gPiA+ID4gPiB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAgIExpc3RUeXBlID0g U1RSSU5HX1RPS0VOIChTVFJfTElTVF9UWVBFX1JTQTMwNzJfU0hBMzg0KTsNCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiArICAgIH0gZWxzZSBpZiAoQ29tcGFyZUd1aWQgKCZMaXN0V2Fsa2VyLT5T aWduYXR1cmVUeXBlLA0KPiA+ID4gPiA+ID4gKyAmZ0VmaUNlcnRSc2E0MDk2R3VpZCkpDQo+ID4g PiA+ID4gPiB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAgIExpc3RUeXBlID0gU1RS SU5HX1RPS0VOIChTVFJfTElTVF9UWVBFX1JTQTQwOTZfU0hBNTEyKTsNCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiAgICAgIH0gZWxzZSBpZiAoQ29tcGFyZUd1aWQgKCZMaXN0V2Fsa2VyLT5TaWdu YXR1cmVUeXBlLA0KPiA+ID4gPiA+ID4gJmdFZmlDZXJ0WDUwOUd1aWQpKSB7DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gICAgICAgIExpc3RUeXBlID0gU1RSSU5HX1RPS0VOIChTVFJfTElTVF9U WVBFX1g1MDkpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAgfSBlbHNlIGlmIChDb21w YXJlR3VpZCAoJkxpc3RXYWxrZXItPlNpZ25hdHVyZVR5cGUsDQo+ID4gPiA+ID4gPiAmZ0VmaUNl cnRTaGExR3VpZCkpIHsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgICAgTGlzdFR5cGUg PSBTVFJJTkdfVE9LRU4gKFNUUl9MSVNUX1RZUEVfU0hBMSk7DQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gICAgICB9IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmTGlzdFdhbGtlci0+U2lnbmF0dXJl VHlwZSwNCj4gPiA+ID4gPiA+ICZnRWZpQ2VydFNoYTI1Nkd1aWQpKSB7DQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gICAgICAgIExpc3RUeXBlID0gU1RSSU5HX1RPS0VOIChTVFJfTElTVF9UWVBF X1NIQTI1Nik7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICB9IGVsc2UgaWYgKENvbXBh cmVHdWlkICgmTGlzdFdhbGtlci0+U2lnbmF0dXJlVHlwZSwNCj4gPiA+ID4gPiA+ICsgJmdFZmlD ZXJ0U2hhMzg0R3VpZCkpDQo+ID4gPiA+ID4gPiB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g KyAgICAgIExpc3RUeXBlID0gU1RSSU5HX1RPS0VOIChTVFJfTElTVF9UWVBFX1NIQTM4NCk7DQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICB9IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmTGlz dFdhbGtlci0+U2lnbmF0dXJlVHlwZSwNCj4gPiA+ID4gPiA+ICsgJmdFZmlDZXJ0U2hhNTEyR3Vp ZCkpDQo+ID4gPiA+ID4gPiB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICAgIExpc3RU eXBlID0gU1RSSU5HX1RPS0VOIChTVFJfTElTVF9UWVBFX1NIQTUxMik7DQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gICAgICB9IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmTGlzdFdhbGtlci0+U2ln bmF0dXJlVHlwZSwNCj4gPiA+ID4gPiA+ICZnRWZpQ2VydFg1MDlTaGEyNTZHdWlkKSkgew0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAgICBMaXN0VHlwZSA9IFNUUklOR19UT0tFTiAoU1RS X0xJU1RfVFlQRV9YNTA5X1NIQTI1Nik7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAgICB9 IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmTGlzdFdhbGtlci0+U2lnbmF0dXJlVHlwZSwNCj4gPiA+ ID4gPiA+ICZnRWZpQ2VydFg1MDlTaGEzODRHdWlkKSkgew0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+IEBAIC00MDAxLDYgKzQwODMsMTQgQEAgRm9ybWF0SGVscEluZm8gKA0KPiA+ID4gPiA+ID4g ICAgICBMaXN0VHlwZUlkID0gU1RSSU5HX1RPS0VOIChTVFJfTElTVF9UWVBFX1JTQTIwNDhfU0hB MjU2KTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgIERhdGFTaXplICAgPSBMaXN0RW50 cnktPlNpZ25hdHVyZVNpemUgLSBzaXplb2YgKEVGSV9HVUlEKTsNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiAgICAgIElzQ2VydCAgICAgPSBUUlVFOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ICsgIH0gZWxzZSBpZiAoQ29tcGFyZUd1aWQgKCZMaXN0RW50cnktPlNpZ25hdHVyZVR5cGUsDQo+ ID4gPiA+ID4gPiArICZnRWZpQ2VydFJzYTMwNzJHdWlkKSkgew0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICsgICAgTGlzdFR5cGVJZCA9IFNUUklOR19UT0tFTiAoU1RSX0xJU1RfVFlQRV9SU0Ez MDcyX1NIQTM4NCk7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICBEYXRhU2l6ZSAgID0g TGlzdEVudHJ5LT5TaWduYXR1cmVTaXplIC0gc2l6ZW9mIChFRklfR1VJRCk7DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gKyAgICBJc0NlcnQgICAgID0gVFJVRTsNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiArICB9IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmTGlzdEVudHJ5LT5TaWduYXR1cmVU eXBlLA0KPiA+ID4gPiA+ID4gKyAmZ0VmaUNlcnRSc2E0MDk2R3VpZCkpIHsNCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiArICAgIExpc3RUeXBlSWQgPSBTVFJJTkdfVE9LRU4gKFNUUl9MSVNUX1RZ UEVfUlNBNDA5Nl9TSEE1MTIpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgRGF0YVNp emUgICA9IExpc3RFbnRyeS0+U2lnbmF0dXJlU2l6ZSAtIHNpemVvZiAoRUZJX0dVSUQpOw0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgICAgSXNDZXJ0ICAgICA9IFRSVUU7DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gICAgfSBlbHNlIGlmIChDb21wYXJlR3VpZCAoJkxpc3RFbnRyeS0+U2ln bmF0dXJlVHlwZSwNCj4gPiA+ID4gPiA+ICZnRWZpQ2VydFg1MDlHdWlkKSkgew0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ICAgICAgTGlzdFR5cGVJZCA9IFNUUklOR19UT0tFTiAoU1RSX0xJU1Rf VFlQRV9YNTA5KTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgIERhdGFTaXplICAgPSBM aXN0RW50cnktPlNpZ25hdHVyZVNpemUgLSBzaXplb2YgKEVGSV9HVUlEKTsNCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiBAQCAtNDAxMSw2ICs0MTAxLDEyIEBAIEZvcm1hdEhlbHBJbmZvICgNCj4g PiA+ID4gPiA+ICAgIH0gZWxzZSBpZiAoQ29tcGFyZUd1aWQgKCZMaXN0RW50cnktPlNpZ25hdHVy ZVR5cGUsDQo+ID4gPiA+ID4gPiAmZ0VmaUNlcnRTaGEyNTZHdWlkKSkgew0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ICAgICAgTGlzdFR5cGVJZCA9IFNUUklOR19UT0tFTiAoU1RSX0xJU1RfVFlQ RV9TSEEyNTYpOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAgICAgRGF0YVNpemUgICA9IDMy Ow0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsgIH0gZWxzZSBpZiAoQ29tcGFyZUd1aWQgKCZM aXN0RW50cnktPlNpZ25hdHVyZVR5cGUsDQo+ID4gPiA+ID4gPiArICZnRWZpQ2VydFNoYTM4NEd1 aWQpKSB7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgICBMaXN0VHlwZUlkID0gU1RSSU5H X1RPS0VOIChTVFJfTElTVF9UWVBFX1NIQTM4NCk7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g KyAgICBEYXRhU2l6ZSAgID0gNDg7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyAgfSBlbHNl IGlmIChDb21wYXJlR3VpZCAoJkxpc3RFbnRyeS0+U2lnbmF0dXJlVHlwZSwNCj4gPiA+ID4gPiA+ ICsgJmdFZmlDZXJ0U2hhNTEyR3VpZCkpIHsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArICAg IExpc3RUeXBlSWQgPSBTVFJJTkdfVE9LRU4gKFNUUl9MSVNUX1RZUEVfU0hBNTEyKTsNCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiArICAgIERhdGFTaXplICAgPSA2NDsNCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiAgICB9IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmTGlzdEVudHJ5LT5TaWduYXR1 cmVUeXBlLA0KPiA+ID4gPiA+ID4gJmdFZmlDZXJ0WDUwOVNoYTI1Nkd1aWQpKSB7DQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gICAgICBMaXN0VHlwZUlkID0gU1RSSU5HX1RPS0VOIChTVFJfTElT VF9UWVBFX1g1MDlfU0hBMjU2KTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgIERhdGFT aXplICAgPSAzMjsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0KPiBhL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGlj YXRlZC9TZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RDb24NCj4gPiA+ID4gPiBmDQo+ID4g PiA+ID4gPiBpZ0kNCj4gPiA+ID4gPiA+IG1wbC5oDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ ID4gPg0KPiBiL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29u ZmlnRHhlL1NlY3VyZUJvb3RDb24NCj4gPiA+ID4gPiBmDQo+ID4gPiA+ID4gPiBpZ0kNCj4gPiA+ ID4gPiA+IG1wbC5oDQo+ID4gPiA+ID4gPiBpbmRleCAzN2M2NmYxYjk1Li5hZTUwZDkyOWE3IDEw MDY0NA0KPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0KPiBh L1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29uZmlnRHhlL1Nl Y3VyZUJvb3RDb24NCj4gPiA+ID4gPiBmDQo+ID4gPiA+ID4gPiBpZ0kNCj4gPiA+ID4gPiA+IG1w bC5oDQo+ID4gPiA+ID4gPiArKysNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+DQo+IGIv U2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdEeGUvU2Vj dXJlQm9vdENvbg0KPiA+ID4gPiA+IGYNCj4gPiA+ID4gPiA+IGlnSQ0KPiA+ID4gPiA+ID4gbXBs LmgNCj4gPiA+ID4gPiA+IEBAIC04Miw2ICs4Miw4IEBAIGV4dGVybiAgRUZJX0lGUl9HVUlEX0xB QkVMICAqbUVuZExhYmVsOw0KPiA+ID4gI2RlZmluZQ0KPiA+ID4gPiA+ID4gTUFYX0RJR0VTVF9T SVpFICBTSEE1MTJfRElHRVNUX1NJWkUNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ICAjZGVmaW5lIFdJTl9DRVJUX1VFRklfUlNBMjA0OF9TSVpFICAy NTYNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArI2RlZmluZSBXSU5fQ0VSVF9VRUZJX1JTQTMw NzJfU0laRSAgMzg0DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyNkZWZpbmUgV0lOX0NFUlRf VUVGSV9SU0E0MDk2X1NJWkUgIDUxMg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gIC8vDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gIC8vIFN1cHBv cnQgaGFzaCB0eXBlcw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQNCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+DQo+IGEvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50 aWNhdGVkL1NlY3VyZUJvb3RDb25maWdEeGUvU2VjdXJlQm9vdENvbg0KPiA+ID4gPiA+IGYNCj4g PiA+ID4gPiA+IGlnUw0KPiA+ID4gPiA+ID4gdHJpbmdzLnVuaQ0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPg0KPiA+ID4NCj4gYi9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJl Qm9vdENvbmZpZ0R4ZS9TZWN1cmVCb290Q29uDQo+ID4gPiA+ID4gZg0KPiA+ID4gPiA+ID4gaWdT DQo+ID4gPiA+ID4gPiB0cmluZ3MudW5pDQo+ID4gPiA+ID4gPiBpbmRleCAwZDAxNzAxZGU3Li4x YjQ4YWNjODAwIDEwMDY0NA0KPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ DQo+ID4gPg0KPiBhL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290 Q29uZmlnRHhlL1NlY3VyZUJvb3RDb24NCj4gPiA+ID4gPiBmDQo+ID4gPiA+ID4gPiBpZ1MNCj4g PiA+ID4gPiA+IHRyaW5ncy51bmkNCj4gPiA+ID4gPiA+ICsrKw0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPg0KPiA+ID4NCj4gYi9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJl Qm9vdENvbmZpZ0R4ZS9TZWN1cmVCb290Q29uDQo+ID4gPiA+ID4gZg0KPiA+ID4gPiA+ID4gaWdT DQo+ID4gPiA+ID4gPiB0cmluZ3MudW5pDQo+ID4gPiA+ID4gPiBAQCAtMTEzLDYgKzExMyw4IEBA IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtDQo+IFBhdGVudA0KPiA+ID4g PiA+ID4gICNzdHJpbmcgU1RSX0ZPUk1fRU5ST0xMX0tFS19GUk9NX0ZJTEVfVElUTEVfSEVMUA0K PiAjbGFuZ3VhZ2UNCj4gPiA+IGVuLQ0KPiA+ID4gPiA+IFVTDQo+ID4gPiA+ID4gPiAiUmVhZCB0 aGUgcHVibGljIGtleSBvZiBLRUsgZnJvbSBmaWxlIg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ICAjc3RyaW5nIFNUUl9GSUxFX0VYUExPUkVSX1RJVExFICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiRmlsZQ0KPiA+ID4gPiA+IEV4cGxvcmVyIg0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICAjc3RyaW5nIFNUUl9DRVJUX1RZUEVfUlNBMjA0OF9TSEEyNTZfR1VJRCAgICAgICAg ICNsYW5ndWFnZSBlbi0NCj4gVVMNCj4gPiA+ID4gPiA+ICJSU0EyMDQ4X1NIQTI1Nl9HVUlEIg0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsjc3RyaW5nIFNUUl9DRVJUX1RZUEVfUlNBMzA3Ml9T SEEzODRfR1VJRCAgICAgICAgICNsYW5ndWFnZQ0KPiBlbi1VUw0KPiA+ID4gPiA+ID4gIlJTQTMw NzJfU0hBMzg0X0dVSUQiDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKyNzdHJpbmcgU1RSX0NF UlRfVFlQRV9SU0E0MDk2X1NIQTUxMl9HVUlEICAgICAgICAgI2xhbmd1YWdlDQo+IGVuLVVTDQo+ ID4gPiA+ID4gPiAiUlNBNDA5Nl9TSEE1MTJfR1VJRCINCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiAgI3N0cmluZyBTVFJfQ0VSVF9UWVBFX1BDS1M3X0dVSUQgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMNCj4gPiA+ID4gPiAiUEtDUzdfR1VJRCINCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiAgI3N0cmluZyBTVFJfQ0VSVF9UWVBFX1NIQTFfR1VJRCAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMNCj4gPiA+ID4gPiAiU0hBMV9HVUlEIg0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICAjc3RyaW5nIFNUUl9DRVJUX1RZUEVfU0hBMjU2X0dVSUQgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUw0KPiA+ID4gPiA+ID4gIlNIQTI1Nl9HVUlEIg0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+IEBAIC0xMjEsOSArMTIzLDEzIEBAIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBCU0QtMi1DbGF1c2UtDQo+IFBhdGVudA0KPiA+ID4gPiA+ID4gICNzdHJpbmcgU1RSX0NFUlRf VFlQRV9YNTA5X1NIQTUxMl9HVUlEICAgICAgICAgICAgI2xhbmd1YWdlIGVuLQ0KPiBVUw0KPiA+ ID4gPiA+ID4gIlg1MDlfU0hBNTEyX0dVSUQiDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgI3N0cmluZyBTVFJfTElTVF9UWVBFX1JTQTIwNDhfU0hB MjU2ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gPiA+ID4gPiA+ICJSU0EyMDQ4X1NI QTI1NiINCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArI3N0cmluZyBTVFJfTElTVF9UWVBFX1JT QTMwNzJfU0hBMzg0ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gPiA+ID4gPiA+ICJS U0EzMDcyX1NIQTM4NCINCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArI3N0cmluZyBTVFJfTElT VF9UWVBFX1JTQTQwOTZfU0hBNTEyICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gPiA+ ID4gPiA+ICJSU0E0MDk2X1NIQTUxMiINCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgI3N0cmlu ZyBTVFJfTElTVF9UWVBFX1g1MDkgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMgIlg1MDkiDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICNzdHJpbmcgU1RSX0xJU1RfVFlQ RV9TSEExICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTSEExIg0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAjc3RyaW5nIFNUUl9MSVNUX1RZUEVfU0hBMjU2ICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiU0hBMjU2Ig0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ICsjc3RyaW5nIFNUUl9MSVNUX1RZUEVfU0hBMzg0ICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiU0hBMzg0Ig0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+ICsjc3RyaW5nIFNUUl9MSVNUX1RZUEVfU0hBNTEyICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUw0KPiAiU0hBNTEyIg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAjc3Ry aW5nIFNUUl9MSVNUX1RZUEVfWDUwOV9TSEEyNTYgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUw0KPiA+ID4gPiA+ID4gIlg1MDlfU0hBMjU2Ig0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ICAjc3RyaW5nIFNUUl9MSVNUX1RZUEVfWDUwOV9TSEEzODQgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUw0KPiA+ID4gPiA+ID4gIlg1MDlfU0hBMzg0Ig0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICAjc3RyaW5nIFNUUl9MSVNUX1RZUEVfWDUwOV9TSEE1MTIgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUw0KPiA+ID4gPiA+ID4gIlg1MDlfU0hBNTEyIg0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+IC0tDQo+ID4gPiA+ID4gPiAyLjI2LjIud2luZG93cy4xDQoNCg==