From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web11.144461.1671134108260350309 for ; Thu, 15 Dec 2022 11:55:08 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Dr+Q4GjK; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: zachary.clark-williams@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1671134107; x=1702670107; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=aDtMJB6PpzY3aqSt6ECE+/QEkai5YYuEMaM+yLzHdMg=; b=Dr+Q4GjKXBnvohdq+gSpWBZd6HKZwpxu016WeIt6EMYeTGuoyhpWBc0l y0XDE4udIIIobWvwRDZHgqzaXRuU4y5CUsdU0AoOW4vmFGqxFE8+k3s6a IRqXrxbtAZTDW8GX19akZLwXA1W59rEsgNQ1T/aRcQEZMev0SxFz3Osld jx1yE1X8Z9YpR5vh/cJumFBYVb62/eP+OigC+e6j0Ci4cQY8L1VynQkFS VPE0yL5ctHwR3syzs+Ql45H8uhgGrBthp8UWHFyIidiYtDnXuV57muvdF fk65hIRe6X0+9rtqUJRu6TAi09LGGLfUgy6zu6b5VbfBjZF/ytMpakEOe w==; X-IronPort-AV: E=McAfee;i="6500,9779,10562"; a="383116023" X-IronPort-AV: E=Sophos;i="5.96,248,1665471600"; d="scan'208";a="383116023" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Dec 2022 11:55:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10562"; a="791793515" X-IronPort-AV: E=Sophos;i="5.96,248,1665471600"; d="scan'208";a="791793515" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga001.fm.intel.com with ESMTP; 15 Dec 2022 11:55:06 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Thu, 15 Dec 2022 11:55:06 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Thu, 15 Dec 2022 11:55:06 -0800 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.42) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Thu, 15 Dec 2022 11:55:05 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RYUz4OVH4evzhLzR4tGbwRgb/Y+t8DMjgdcqabLackGozPHI3EFpFVF7izSI+4PIYr+I5p23J99j6niwvFqQ82b9JxNRYGRu5dB4+z4aDk65VGCL9PUb0g/k+IyEnw1uWoC1Ag7IYH+1UJp/+gzcagAUDhc5GEhTAW24iO/JzLgjzrPW0zCwqSspbXe2q/0+mbuPEhNdOPNp/Mrn2FDIuM4a7SQoKhXlOa6vGO3xWCciiZ92WH+LV4syPknEB4WGf8Fb42xmzP66rjeSHHEOzep9VKULh89iBsFILkgeVnMmmlojnnaKFsb+QI70EJcm61jUYPj3ETmuR961m4rjCQ== 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=aDtMJB6PpzY3aqSt6ECE+/QEkai5YYuEMaM+yLzHdMg=; b=GP9GxPWXEJk99ri+q2Kw4N8OZ4Ga2nIMzVfrDhh5YxgxNfYONZBrg2CgOPtu5zVCYMvLrlvAYWtTo+1himz7jcEkSoHAl9m0qPcq1g4ICLY4hNa2Rx7ENoVV+YcjIKgh6YyHxU8bmwVPeOUXhMq+ZzeGF8Eu8vIptGX7WFX5zjjUO9fb+bWRZoOggu04J//qZ/Z+sGa2LFeu6byQj5bqQRPXvdPH69ulrV5qXSRVfya79N/f688wFXp1iXCMHRZ3XsNEOTOHSAmTKt9bgX0q/kQK7iF+mpSCXxjS7FsmKFVpOeEgpz9D0f17BR/Yu7XQvYZxAvpKV72qorOd4D4mKA== 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 CO6PR11MB5601.namprd11.prod.outlook.com (2603:10b6:303:13d::7) by BL1PR11MB5526.namprd11.prod.outlook.com (2603:10b6:208:31d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Thu, 15 Dec 2022 19:55:02 +0000 Received: from CO6PR11MB5601.namprd11.prod.outlook.com ([fe80::c0cb:1048:4a2a:789a]) by CO6PR11MB5601.namprd11.prod.outlook.com ([fe80::c0cb:1048:4a2a:789a%7]) with mapi id 15.20.5924.011; Thu, 15 Dec 2022 19:55:01 +0000 From: "Clark-williams, Zachary" To: "devel@edk2.groups.io" , "Rabeda, Maciej" , "Zimmer, Vincent" , "Luo, Heng" , "Kuo, Scottie" , "Kuo, Ted" , "Dutkiewicz, Michal" , "Wu, Jiaxin" , "Otcheretianski, Andrei" , "Kasbekar, Saloni" , "Kinney, Michael D" , "Klos, Lukasz" , "Sulkowski, Michal" CC: "Alappat, Paul" , "Patil, Ajit" Subject: Re: [edk2-devel] [PATCH v4] NetworkPkg/WifiProfileSync: Add WiFi profile sync protocol support Thread-Topic: [edk2-devel] [PATCH v4] NetworkPkg/WifiProfileSync: Add WiFi profile sync protocol support Thread-Index: AQHY6jr1YBx+4nENxEWJqUx5LJQFoa4iq1aAgAGR5jCAAADHwIAEq9RQgAAdggCAAVFMoIAABJAAgAAAR5CAAT0igIAAN+MwgDWcboCAAACqMIAOOX+g Date: Thu, 15 Dec 2022 19:55:01 +0000 Message-ID: References: <9102518d297546d349e9dcbaf9a87706ec8529e0.1664830666.git.zachary.clark-williams@intel.com> <1723CFBA04C671AE.15522@groups.io> 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: CO6PR11MB5601:EE_|BL1PR11MB5526:EE_ x-ms-office365-filtering-correlation-id: 930c38b0-40b8-402c-f9f6-08daded640bc x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: j0X2ahLLfNEu4eRp8XrD4r6FkUZc7+55NrAdPKx13zfTI5PVsXdYp+1qjnmkUEXC2XKGDb0MHf1GUHPJMM4Yzuzmyco6HC1j2+NIwnoa0p2sI9x8+ICIbz5MuUXRX46w0hVjLOl6Iycex6jwBxIfh8D59ojEkpR+pMB0juojtbqBT1fKtilm8UJ4TgDTQRqjgGIAkYhAOZKcMN4YK34q0+SdNJ0zzPL0zS5+AgQVy5hTOm4ja1DJP/4Ml5GbCMFjYiL8NRXf42/rdZR5XmCuHHFxx7RWbj91WVzgFY3vYtaowjX5UZScRZkMgzb9XpNHCOjua7+Y4VB0cCeWLQ6YvvVWxUC5T/nmqVF/8b1snIGTkLgVbhcGDxg62o8xMIRTVHpYikVvA4X6G07kkBF7JALLavfvgOHPdvIRv8bRmW+3YbY/EKmh92aim3vlo3y2uXsQ9kJCq1XO/wNlzSdMdZ0eH4nCsNGfjwlfjKlmczszy5fkY9fCdQUqSOmy5OsEUiayq1byV4nCbw9NaA7on8pTpXBi3ScJvRhoBGnwIqdn+arkpR4EVVCzu3qOI32QHinoE9dqijddcQqSMwsW/kRcFbL4vtN8AJahoLaxLmTYEbjBSM+XqR5SIcqBmi5VjSxGYWUT4qnVfS/9Gro3UtSBXBRzweBSDr1SNuhhiQBmBKeMpX6LUr1teR/FLga+YG3gaHE9K43LTbYaSn4ULbPwCMwzqSIIgHEDXn/JAEGwIRg83sBS2H18+GCUUtbzSgnvw+wWh9kix2f1m3IzEbWFUR4lnr3LO9Q7E8P6wGMJ+Ou2/q8MAJjB+UTZYH2K x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR11MB5601.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(6029001)(136003)(396003)(39860400002)(376002)(366004)(346002)(451199015)(55016003)(83380400001)(38070700005)(921005)(86362001)(54906003)(33656002)(110136005)(316002)(19627235002)(478600001)(6636002)(966005)(71200400001)(30864003)(2906002)(66446008)(8676002)(66476007)(76116006)(66556008)(64756008)(41300700001)(66946007)(107886003)(52536014)(5660300002)(8936002)(4326008)(122000001)(6506007)(38100700002)(7696005)(82960400001)(186003)(26005)(9686003)(53546011)(66899015)(559001)(579004)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R1lDYnZOSGUrWlIxM0hvYXdXSEdGOEZsV25vUUp5RFljMWNZenZyK1VUR0Jn?= =?utf-8?B?ZFE5aXpmUFN2ZldTdWJvUXFaaHVTMGlzLy9ZajlaNnhKcmNsQ2tLUlUrdUVU?= =?utf-8?B?V2NiZ1JYN0VyRFJxTGZwVjNac1M4USt2TTIvN3BIYXBjcUhlQnI5V0lEOFE0?= =?utf-8?B?YXpKU3dqYStJQmM1aStNWlhoaHpoMGdRM2hiMmg0UTRyU3d6QytMcjNzc3Qr?= =?utf-8?B?ZFJIU3BCbGJ2c1JYNUQ0NllGWDJtSmVYMWI4RjZDRFpZRHdQSHVOMXpjVjI1?= =?utf-8?B?WmRKdTROZmVSeU1kdE0yK2c3SHVwcXEwOFFFb3lKWlNnYVhiVUdEaEJwRlVJ?= =?utf-8?B?WGtGYVRhbWV5Uzl6SmJiSGpGNEluUGptMUhMY2p5RXFFUC93cXBuUTVCeS9V?= =?utf-8?B?c0FMTUxPUS9NdkFpSFR4SmczbnUzQjVxNk1iNTdHdGhsTG53K3NJaHhta1BC?= =?utf-8?B?Mit3amJqTEdJRmZtWVZTYlZPODZwOFB3a2c0Y2RYM2tkMmN3Mkt4SGlkUEx5?= =?utf-8?B?aTVJQVpqZllqTTRIOXZKWmtSWjFDYytmTmx1czFHdER1M1lWYTlDY3Y2dDg5?= =?utf-8?B?UkdML1dhc0MwWkJkVG5kUUNjSmx4RmNGbmRZY2lsWVhodjQzeW9GRDE3Y1lw?= =?utf-8?B?VWJCYlVGZUcrUlJlN2EzYTBTVmtaVElaSFZlRVRXMXBLRzRmY3p2QmVTUU0z?= =?utf-8?B?U0xwK0NQenhtSTFVL0pvZlh5SXhCVGRmbytmV3hSWU41bW56SkpQYTdMZFpx?= =?utf-8?B?UW9FUUI1U2R4VE42QkR0TzM4Rk10UDE4YUxONFdEbXFJcGkwNnJ3WmsyY0RQ?= =?utf-8?B?YWNhcGpaZVRyejFwR1NnUXdXeFZ1UVcvVVhDSDhubHZxdjJ4VmZvWWU0eUV2?= =?utf-8?B?OTRPNG1EWFVaVi9VTWR2dDJQc2syMVp3ZHZBRFZXdWkwb0JXSmFVOHhKTGI1?= =?utf-8?B?VVBwTjRPbGtTSDdRSWZid3U3cEVTY292QnZ1UDR3OXo1M1luUldocnhGVVJ1?= =?utf-8?B?M3EwRy9mMDk4RXV1YmtoTGpKRkZYbFV5ZXp1a3VUK1gwZUNVWkxSMTNrMUxy?= =?utf-8?B?d1pzWVdhSHRES3dyay8xRlYxRWE4UHJJemFrRFFuVnZINXBZbVQ4eFNmdjhK?= =?utf-8?B?eHNzQWJwcDVlYVlTTk9oUUZDVTF0Zng3eXk2V2VYaW5tekY5bVJ2UDI3QU8y?= =?utf-8?B?MFRDZWRjSExKamZtTTBZeE5nNE5JZXN2V01YK0JqSWZIY3IxaVdXVm9hcVEv?= =?utf-8?B?NVlHK3JzRnZQS1RWTnFVanZYcjVuVERnekJHYkR1eFBGUGkzQWlxUHJhM0tZ?= =?utf-8?B?TFNrU2dNaXhtMVVZTkZhUG5LMGF3ZnpiV2dvblhlSGlINXRRNzNLbGU3Szh1?= =?utf-8?B?RGd1QTd4SHdPYm80c0Zqa05VWkRnNlBiMmY2VWx5bXhXbHBQaFVzWGx2WVpn?= =?utf-8?B?UTk4aDYvV0EwOU42YzloQy8rQ251dFdraWY3YVo1aHhLWWo3Mkt4ZC9PSGFP?= =?utf-8?B?RFB4VklPTWRMVHUzMXo0bW9OR3FVTVI0MVlrT0JnRkRhWkJNMHBFMmx2OTJp?= =?utf-8?B?TGVqN2FzMDhwRngrTnZQL3lHSE5iRzJtNzM5NGdYRVRqTGJJZHlGWEhFUWZ5?= =?utf-8?B?VmxjRXNGQVJySmx2VTBRQVZENVBmVjYwUjhZTUN1aXFoemJJdzA2UktORDBF?= =?utf-8?B?WUNjd3Y3dldmWEo0Z2hXTnBKYVpvbFBicHc3ZEFJTDk2dkVPczloTCt4VlRZ?= =?utf-8?B?aGNtSTF0bG9Hc3d0N3hOY3M2TWVhR09zUUErM3lveEY1L0ZTRFFZTTBiWXFI?= =?utf-8?B?ckQ0RTViWDh6N1RwdEVBVjAySXl6T2VlWk5aL3BRUko3U3NRcGdudWZidmxN?= =?utf-8?B?aVlnMmhGUi9DWkQyMU1ieGFtMGYrOVBQNHZlZ0tPNXh2TmZzSVVqcXd4THhm?= =?utf-8?B?c3NBdGxjc0RUUnRMYTNlbXllTng4VmtselphdXJqQ09rN2ZhTzlTNmpkWGlS?= =?utf-8?B?VmJWMmVsejJ4d0ZPbHJzOUlnM2ViWU9UMGNOb3JVRjJ0ZVpmMmRXejY1L1lD?= =?utf-8?B?eVpxSjFrK2FoOXordmIrTm1MbmduN1VPN2JBUzNEZXZZc0IvdTA5YW1UMnVK?= =?utf-8?B?a1k0Uk1Bb1cvNUpsWmJnNWhQd0hvSnViMzFOWExBL09Fb3dIbitrbWMvbU9r?= =?utf-8?Q?zgLqF2NsnJ/g+mtzTb1L590=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5601.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 930c38b0-40b8-402c-f9f6-08daded640bc X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Dec 2022 19:55:01.6371 (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: AtIGPCCJqBOm987u1sH9MWHbHgg7sahlWlNJs/26sM14L+BLWrIvMUpf5/TEEWVPRKewbSuv0F34gVw/Iry3IGCU5iVUyzmgMppJI9MLDN89m1jWKT+NAGafuw3+fPsv X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR11MB5526 Return-Path: zachary.clark-williams@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGV5IEFsbCwNCg0KQW55b25lIGFibGUgdG8gcmV2aWV3IHRoZSBFREsyIE5ldHdvcmsgUGtnIHBh dGNoIEkndmUgc3VibWl0dGVkPw0KDQpUaGUgcGF0Y2ggaXMgYmVsb3cgaW4gdGhlIG9yaWdpbmFs IGVtYWlsLiBMZXQgbWUga25vdyBpZiB5b3UnZCBsaWtlIGEgZnJlc2ggcGF0Y2ggZmlsZS4NCg0K VGhhbmtzLA0KWmFjaw0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogQ2xhcmst d2lsbGlhbXMsIFphY2hhcnkgDQpTZW50OiBUdWVzZGF5LCBEZWNlbWJlciA2LCAyMDIyIDEwOjQy IEFNDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IFJhYmVkYSwgTWFjaWVqIDxtYWNpZWoucmFi ZWRhQGludGVsLmNvbT47IFppbW1lciwgVmluY2VudCA8dmluY2VudC56aW1tZXJAaW50ZWwuY29t PjsgTHVvLCBIZW5nIDxoZW5nLmx1b0BpbnRlbC5jb20+OyBLdW8sIFNjb3R0aWUgPHNjb3R0aWUu a3VvQGludGVsLmNvbT47IEt1bywgVGVkIDx0ZWQua3VvQGludGVsLmNvbT47IER1dGtpZXdpY3os IE1pY2hhbCA8bWljaGFsLmR1dGtpZXdpY3pAaW50ZWwuY29tPjsgV3UsIEppYXhpbiA8amlheGlu Lnd1QGludGVsLmNvbT47IE90Y2hlcmV0aWFuc2tpLCBBbmRyZWkgPGFuZHJlaS5vdGNoZXJldGlh bnNraUBpbnRlbC5jb20+OyBLYXNiZWthciwgU2Fsb25pIDxzYWxvbmkua2FzYmVrYXJAaW50ZWwu Y29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgS2xv cywgTHVrYXN6IDxMdWthc3ouS2xvc0BpbnRlbC5jb20+OyBTdWxrb3dza2ksIE1pY2hhbCA8bWlj aGFsLnN1bGtvd3NraUBpbnRlbC5jb20+DQpDYzogQWxhcHBhdCwgUGF1bCA8cGF1bC5hbGFwcGF0 QGludGVsLmNvbT47IFBhdGlsLCBBaml0IDxhaml0LnBhdGlsQGludGVsLmNvbT4NClN1YmplY3Q6 IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzog QWRkIFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIHN1cHBvcnQNCg0KKysgTWljaGFsJ3MgY292 ZXJhZ2UgTWljaGFsIGFuZCBMdWthc3oNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZy b206IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJrLXdpbGxpYW1zQGludGVs LmNvbT4NClNlbnQ6IFR1ZXNkYXksIERlY2VtYmVyIDYsIDIwMjIgMTA6MzggQU0NClRvOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbzsgQ2xhcmstd2lsbGlhbXMsIFphY2hhcnkgPHphY2hhcnkuY2xhcmst d2lsbGlhbXNAaW50ZWwuY29tPjsgUmFiZWRhLCBNYWNpZWogPG1hY2llai5yYWJlZGFAaW50ZWwu Y29tPjsgWmltbWVyLCBWaW5jZW50IDx2aW5jZW50LnppbW1lckBpbnRlbC5jb20+OyBMdW8sIEhl bmcgPGhlbmcubHVvQGludGVsLmNvbT47IEt1bywgU2NvdHRpZSA8c2NvdHRpZS5rdW9AaW50ZWwu Y29tPjsgS3VvLCBUZWQgPHRlZC5rdW9AaW50ZWwuY29tPjsgRHV0a2lld2ljeiwgTWljaGFsIDxt aWNoYWwuZHV0a2lld2ljekBpbnRlbC5jb20+OyBXdSwgSmlheGluIDxqaWF4aW4ud3VAaW50ZWwu Y29tPjsgT3RjaGVyZXRpYW5za2ksIEFuZHJlaSA8YW5kcmVpLm90Y2hlcmV0aWFuc2tpQGludGVs LmNvbT47IEthc2Jla2FyLCBTYWxvbmkgPHNhbG9uaS5rYXNiZWthckBpbnRlbC5jb20+OyBLaW5u ZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQpDYzogQWxhcHBhdCwg UGF1bCA8cGF1bC5hbGFwcGF0QGludGVsLmNvbT47IFBhdGlsLCBBaml0IDxhaml0LnBhdGlsQGlu dGVsLmNvbT4NClN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0XSBOZXR3b3JrUGtn L1dpZmlQcm9maWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIHN1cHBvcnQN Cg0KSGV5IE1hY2llaiBhbmQgQWxsLA0KDQpJcyB0aGVyZSBhbnkgdXBkYXRlIGluIGFiaWxpdHkg dG8gcmV2aWV3IHRoaXMgcGF0Y2ggZm9yIFdpZmkgUHJvZmlsZSBTeW5jIFByb3RvY29sIGFuZCBX aWZpIENvbm5lY3Rpb24gTWFuYWdlcj8NCg0KVGhhbmsgeW91LA0KWmFjaw0KDQotLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIu Z3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgQ2xhcmstd2lsbGlhbXMsIFphY2hhcnkNClNlbnQ6IFdl ZG5lc2RheSwgTm92ZW1iZXIgMiwgMjAyMiA4OjU4IEFNDQpUbzogUmFiZWRhLCBNYWNpZWogPG1h Y2llai5yYWJlZGFAaW50ZWwuY29tPjsgWmltbWVyLCBWaW5jZW50IDx2aW5jZW50LnppbW1lckBp bnRlbC5jb20+OyBMdW8sIEhlbmcgPGhlbmcubHVvQGludGVsLmNvbT47IEt1bywgU2NvdHRpZSA8 c2NvdHRpZS5rdW9AaW50ZWwuY29tPjsgS3VvLCBUZWQgPHRlZC5rdW9AaW50ZWwuY29tPjsgRHV0 a2lld2ljeiwgTWljaGFsIDxtaWNoYWwuZHV0a2lld2ljekBpbnRlbC5jb20+OyBkZXZlbEBlZGsy Lmdyb3Vwcy5pbzsgV3UsIEppYXhpbiA8amlheGluLnd1QGludGVsLmNvbT47IE90Y2hlcmV0aWFu c2tpLCBBbmRyZWkgPGFuZHJlaS5vdGNoZXJldGlhbnNraUBpbnRlbC5jb20+OyBLYXNiZWthciwg U2Fsb25pIDxzYWxvbmkua2FzYmVrYXJAaW50ZWwuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1p Y2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KQ2M6IEFsYXBwYXQsIFBhdWwgPHBhdWwuYWxhcHBh dEBpbnRlbC5jb20+OyBQYXRpbCwgQWppdCA8YWppdC5wYXRpbEBpbnRlbC5jb20+DQpTdWJqZWN0 OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2NF0gTmV0d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6 IEFkZCBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbCBzdXBwb3J0DQoNCkhleSBNYWNpZWosDQoN CkkgY2FuIHVuZGVyc3RhbmQgdGhhdCBhbmQgYXBwcmVjaWF0ZSB0aGUgYXR0ZW50aW9uIHlvdSBj YW4gc3BhcmUgZm9yIHJldmlld2luZyB0aGlzIGNoYW5nZS4gDQpJZiB0aGVyZSBhcmUgYW55IHBl ZXJzIHlvdSBrbm93IHdobyBjYW4vd2lsbCB3YW50IHRvIHJldmlldyBvciBoYXZlIHZhbHVhYmxl IGlucHV0IG9uIHRoaXMgUFIgcGxlYXNlIGZlZWwgZnJlZSB0byBzZW5kIHRoZW0gYW4gaW52aXRl IHRvIHJldmlldy4NCg0KVGhhbmtzLA0KWmFjaw0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KRnJvbTogUmFiZWRhLCBNYWNpZWogPG1hY2llai5yYWJlZGFAaW50ZWwuY29tPg0KU2VudDog V2VkbmVzZGF5LCBOb3ZlbWJlciAyLCAyMDIyIDU6MzUgQU0NClRvOiBDbGFyay13aWxsaWFtcywg WmFjaGFyeSA8emFjaGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+OyBaaW1tZXIsIFZpbmNl bnQgPHZpbmNlbnQuemltbWVyQGludGVsLmNvbT47IEx1bywgSGVuZyA8aGVuZy5sdW9AaW50ZWwu Y29tPjsgS3VvLCBTY290dGllIDxzY290dGllLmt1b0BpbnRlbC5jb20+OyBLdW8sIFRlZCA8dGVk Lmt1b0BpbnRlbC5jb20+OyBEdXRraWV3aWN6LCBNaWNoYWwgPG1pY2hhbC5kdXRraWV3aWN6QGlu dGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBXdSwgSmlheGluIDxqaWF4aW4ud3VAaW50 ZWwuY29tPjsgT3RjaGVyZXRpYW5za2ksIEFuZHJlaSA8YW5kcmVpLm90Y2hlcmV0aWFuc2tpQGlu dGVsLmNvbT47IEthc2Jla2FyLCBTYWxvbmkgPHNhbG9uaS5rYXNiZWthckBpbnRlbC5jb20+OyBL aW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQpDYzogQWxhcHBh dCwgUGF1bCA8cGF1bC5hbGFwcGF0QGludGVsLmNvbT47IFBhdGlsLCBBaml0IDxhaml0LnBhdGls QGludGVsLmNvbT4NClN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0XSBOZXR3b3Jr UGtnL1dpZmlQcm9maWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIHN1cHBv cnQNCg0KQEtpbm5leSwgTWljaGFlbCBEDQpXaXRoIHRoZSBhbW91bnQgb2Ygd29yayBhcm91bmQg SVBVcywgSSBjYW4gaGFyZGx5IHNwYXJlIHRpbWUgKG1heWJlIDJoL3dlZWsgb24gYXZlcmFnZSAt IGluY2x1ZGluZyBjb2RlKS4NCk15IHRpbWUgZm9yIEVESzIgaXMgY3VycmVudGx5IGZ1bGx5IGFs bG9jYXRlZCB0bzoNCjEuIGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi1zdGFnaW5n L3RyZWUvSHR0cFByb3h5IChAS2FzYmVrYXIsIFNhbG9uaSkgMi4gTlZNZS1vRiBib290IHByb3Rv dHlwZSB1bmRlciBudm1lLm9yZyB1bWJyZWxsYSAoQFppbW1lciwgVmluY2VudCkNCg0KQENsYXJr LXdpbGxpYW1zLCBaYWNoYXJ5DQpZb3VyIHBhdGNoIGlzIG5vbi10cml2aWFsIGFuZCByZXF1aXJl cyB1bmRlcnN0YW5kaW5nIG9uIG15IHNpZGUuIEJhc2VkIG9uIHRoYXQgYW5kIHRoZSBhYm92ZSwg dGhpcyB3aWxsIHRha2UgdGltZS4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206 IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJrLXdpbGxpYW1zQGludGVsLmNv bT4NClNlbnQ6IFR1ZXNkYXksIE5vdmVtYmVyIDEsIDIwMjIgNjo0MSBQTQ0KVG86IFppbW1lciwg VmluY2VudCA8dmluY2VudC56aW1tZXJAaW50ZWwuY29tPjsgUmFiZWRhLCBNYWNpZWogPG1hY2ll ai5yYWJlZGFAaW50ZWwuY29tPjsgTHVvLCBIZW5nIDxoZW5nLmx1b0BpbnRlbC5jb20+OyBLdW8s IFNjb3R0aWUgPHNjb3R0aWUua3VvQGludGVsLmNvbT47IEt1bywgVGVkIDx0ZWQua3VvQGludGVs LmNvbT47IER1dGtpZXdpY3osIE1pY2hhbCA8bWljaGFsLmR1dGtpZXdpY3pAaW50ZWwuY29tPjsg ZGV2ZWxAZWRrMi5ncm91cHMuaW87IFd1LCBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5jb20+OyBP dGNoZXJldGlhbnNraSwgQW5kcmVpIDxhbmRyZWkub3RjaGVyZXRpYW5za2lAaW50ZWwuY29tPg0K Q2M6IEFsYXBwYXQsIFBhdWwgPHBhdWwuYWxhcHBhdEBpbnRlbC5jb20+OyBLYXNiZWthciwgU2Fs b25pIDxzYWxvbmkua2FzYmVrYXJAaW50ZWwuY29tPjsgUGF0aWwsIEFqaXQgPGFqaXQucGF0aWxA aW50ZWwuY29tPg0KU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjRdIE5ldHdvcmtQ a2cvV2lmaVByb2ZpbGVTeW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9y dA0KDQpHcmVhdCB0aGFuayB5b3UgVmluY2VudCwgSSB3aWxsIGFkZCB0aGVtIHRvIHRoZSBwcm90 b2NvbCBoZWFkZXIgZmlsZSBhbmQgc2VuZCBhbiB1cGRhdGVkIHBhdGNoIHRvZGF5Lg0KDQotLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogWmltbWVyLCBWaW5jZW50IDx2aW5jZW50Lnpp bW1lckBpbnRlbC5jb20+DQpTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAxLCAyMDIyIDEwOjM5IEFN DQpUbzogQ2xhcmstd2lsbGlhbXMsIFphY2hhcnkgPHphY2hhcnkuY2xhcmstd2lsbGlhbXNAaW50 ZWwuY29tPjsgUmFiZWRhLCBNYWNpZWogPG1hY2llai5yYWJlZGFAaW50ZWwuY29tPjsgTHVvLCBI ZW5nIDxoZW5nLmx1b0BpbnRlbC5jb20+OyBLdW8sIFNjb3R0aWUgPHNjb3R0aWUua3VvQGludGVs LmNvbT47IEt1bywgVGVkIDx0ZWQua3VvQGludGVsLmNvbT47IER1dGtpZXdpY3osIE1pY2hhbCA8 bWljaGFsLmR1dGtpZXdpY3pAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87IFd1LCBK aWF4aW4gPGppYXhpbi53dUBpbnRlbC5jb20+OyBPdGNoZXJldGlhbnNraSwgQW5kcmVpIDxhbmRy ZWkub3RjaGVyZXRpYW5za2lAaW50ZWwuY29tPg0KQ2M6IEFsYXBwYXQsIFBhdWwgPHBhdWwuYWxh cHBhdEBpbnRlbC5jb20+OyBLYXNiZWthciwgU2Fsb25pIDxzYWxvbmkua2FzYmVrYXJAaW50ZWwu Y29tPjsgUGF0aWwsIEFqaXQgPGFqaXQucGF0aWxAaW50ZWwuY29tPg0KU3ViamVjdDogUkU6IFtl ZGsyLWRldmVsXSBbUEFUQ0ggdjRdIE5ldHdvcmtQa2cvV2lmaVByb2ZpbGVTeW5jOiBBZGQgV2lG aSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9ydA0KDQpUaGF0J3MgZ3JlYXQNCklmIHRoZXNl IGxpbmtzIGFyZSBub3QgYWxyZWFkeSBpbiB0aGUgLmggZmlsZXMgb2YgdGhlIHBhdGNoIEknZCBh ZGQgdGhlbS4NClR5cGljYWxseSB0aGUgdWVmaSBuZXR3b3JraW5nIGNvZGUgbGV2ZXJhZ2VzIHVl Zmkgc3BlYyBvciBpZXRmIHJmYydzIG9yIG90aGVyIHB1YmxpYyBjb2xsYXRlcmFsLiAgTGV0dGlu ZyBmb2xrcyBrbm93IHRoZSBiYWNrZ3JvdW5kIG9mIHRoZXNlIGludGVyZmFjZXMgd2l0aCBhIHJl ZmVyZW5jZSBzaG91bGQgaGVscCBjb25zdW1lcnMgSU1ITyBWaW5jZW50DQoNCi0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBDbGFyay13aWxsaWFtcywgWmFjaGFyeSA8emFjaGFyeS5j bGFyay13aWxsaWFtc0BpbnRlbC5jb20+DQpTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAxLCAyMDIy IDEwOjM1IEFNDQpUbzogWmltbWVyLCBWaW5jZW50IDx2aW5jZW50LnppbW1lckBpbnRlbC5jb20+ OyBSYWJlZGEsIE1hY2llaiA8bWFjaWVqLnJhYmVkYUBpbnRlbC5jb20+OyBMdW8sIEhlbmcgPGhl bmcubHVvQGludGVsLmNvbT47IEt1bywgU2NvdHRpZSA8c2NvdHRpZS5rdW9AaW50ZWwuY29tPjsg S3VvLCBUZWQgPHRlZC5rdW9AaW50ZWwuY29tPjsgRHV0a2lld2ljeiwgTWljaGFsIDxtaWNoYWwu ZHV0a2lld2ljekBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgV3UsIEppYXhpbiA8 amlheGluLnd1QGludGVsLmNvbT47IE90Y2hlcmV0aWFuc2tpLCBBbmRyZWkgPGFuZHJlaS5vdGNo ZXJldGlhbnNraUBpbnRlbC5jb20+DQpDYzogQWxhcHBhdCwgUGF1bCA8cGF1bC5hbGFwcGF0QGlu dGVsLmNvbT47IEthc2Jla2FyLCBTYWxvbmkgPHNhbG9uaS5rYXNiZWthckBpbnRlbC5jb20+OyBQ YXRpbCwgQWppdCA8YWppdC5wYXRpbEBpbnRlbC5jb20+DQpTdWJqZWN0OiBSRTogW2VkazItZGV2 ZWxdIFtQQVRDSCB2NF0gTmV0d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHByb2Zp bGUgc3luYyBwcm90b2NvbCBzdXBwb3J0DQoNCkhleSBWaW5jZW50LA0KDQpUaGUgZG9jdW1lbnRh dGlvbiBmb3IgZGVzY3JpYmluZyB0aGUgZmVhdHVyZXMgaW4gdGhlIFBSIGRlc2NyaXB0aW9uIGNh biBiZSBmb3VuZCBpbiB0aGUgQ1NNRSBkb2N1bWVudGF0aW9uIGZvdW5kIG9uIHRoZSBwdWJsaWMg YWNjZXNzaWJsZSBpbnRlbCBsaW5rIGJlbG93Lg0KDQpPQ1IgLSBodHRwczovL3NvZnR3YXJlLmlu dGVsLmNvbS9zaXRlcy9tYW5hZ2VhYmlsaXR5L0FNVF9JbXBsZW1lbnRhdGlvbl9hbmRfUmVmZXJl bmNlX0d1aWRlL2RlZmF1bHQuaHRtP3R1cmw9V29yZERvY3VtZW50cyUyRm9uZWNsaWNrcmVjb3Zl cnkuaHRtDQoNCktWTSAtIGh0dHBzOi8vc29mdHdhcmUuaW50ZWwuY29tL3NpdGVzL21hbmFnZWFi aWxpdHkvQU1UX0ltcGxlbWVudGF0aW9uX2FuZF9SZWZlcmVuY2VfR3VpZGUvZGVmYXVsdC5odG0/ dHVybD1Xb3JkRG9jdW1lbnRzJTJGb25lY2xpY2tyZWNvdmVyeS5odG0NCg0KVGhhbmtzLA0KWmFj aw0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogWmltbWVyLCBWaW5jZW50IDx2 aW5jZW50LnppbW1lckBpbnRlbC5jb20+DQpTZW50OiBNb25kYXksIE9jdG9iZXIgMzEsIDIwMjIg MjoxNiBQTQ0KVG86IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJrLXdpbGxp YW1zQGludGVsLmNvbT4NClN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0XSBOZXR3 b3JrUGtnL1dpZmlQcm9maWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIHN1 cHBvcnQNCg0KUXVpY2sgcXVlc3Rpb24NCg0KQXJlIHRoZSBmZWF0dXJlcyBkZXNjcmliZWQgaW4g IiBFbmFibGVzIEtWTSBhbmQgT25lIENsaWNrIFJlY292ZXJ5IFdMQU4gY2FwYWJpbGl0eSB3aXRo IFdpRmkgUHJvZmlsZSBTeW5jIGZlYXR1cmUgYW5kIHByb3RvY29sLiBBZGRpbmcgV2lGaVByb2Zp bGVTeW5jUHJvdG9jb2wsIHdoaWNoIHN1cHBvcnRzIHRoZSBwcm9maWxlc3luYyBkcml2ZXIgb3Bl cmF0aW9ucyBmb3IgdHJhbnNmZXJyaW5nIFdpRmkgcHJvZmlsZXMgZnJvbSBBTVQgdG8gdGhlIFN1 cHBsaWNhbnQuIFdpRmlDb25uZWN0aW9uTWFuYWdlciB3aWxsIGNoZWNrIGZvciB0aGUgV2lmaVBy b2ZpbGVTeW5jUHJvdG9jb2wgYW5kIGlmIGZvdW5kIHdpbGwgb3BlcmF0ZSBvbiB0aGUgcHJlbWlz ZSBvZiBhIE9uZSBDbGljayBSZWNvdmVyeSwgb3IgS1ZNIGZsb3cgd2l0aCBhIFdpZmkgcHJvZmls ZSBwcm92aWRlZCBieSBBTVQuIiBpbiBhIHB1YmxpYyBkb2N1bWVudD8gIFRoaW5ncyBsaWtlIGNv bmNlcHQgb2YgcHJvZmlsZSBzeW5jPyAgSSdtIGd1ZXNzaW5nIHRoZXkgYXJlIHNpbmNlIExpbnV4 IHByb2JhYmx5IGRvZXMgdGhlIHNhbWUgaW4gdGhlIGludGVsIGl3bCBkcml2ZXI/DQoNClZpbmNl bnQNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IGRldmVsQGVkazIuZ3JvdXBz LmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIENsYXJrLXdpbGxpYW1zLCBa YWNoYXJ5DQpTZW50OiBNb25kYXksIE9jdG9iZXIgMzEsIDIwMjIgMTI6MzEgUE0NClRvOiBLaW5u ZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBSYWJlZGEsIE1hY2ll aiA8bWFjaWVqLnJhYmVkYUBpbnRlbC5jb20+OyBMdW8sIEhlbmcgPGhlbmcubHVvQGludGVsLmNv bT47IEt1bywgU2NvdHRpZSA8c2NvdHRpZS5rdW9AaW50ZWwuY29tPjsgS3VvLCBUZWQgPHRlZC5r dW9AaW50ZWwuY29tPjsgRHV0a2lld2ljeiwgTWljaGFsIDxtaWNoYWwuZHV0a2lld2ljekBpbnRl bC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgJ0Z1LCBTaXl1YW4nIDxzaXl1YW4uZnVAaW50 ZWwuY29tPjsgV3UsIEppYXhpbiA8amlheGluLnd1QGludGVsLmNvbT47IE90Y2hlcmV0aWFuc2tp LCBBbmRyZWkgPGFuZHJlaS5vdGNoZXJldGlhbnNraUBpbnRlbC5jb20+DQpDYzogQWxhcHBhdCwg UGF1bCA8cGF1bC5hbGFwcGF0QGludGVsLmNvbT47IEthc2Jla2FyLCBTYWxvbmkgPHNhbG9uaS5r YXNiZWthckBpbnRlbC5jb20+OyBQYXRpbCwgQWppdCA8YWppdC5wYXRpbEBpbnRlbC5jb20+DQpT dWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2NF0gTmV0d29ya1BrZy9XaWZpUHJvZmls ZVN5bmM6IEFkZCBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbCBzdXBwb3J0DQoNCisrIHZpc2li aWxpdHkNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IENsYXJrLXdpbGxpYW1z LCBaYWNoYXJ5DQpTZW50OiBGcmlkYXksIE9jdG9iZXIgMjgsIDIwMjIgMToxMyBQTQ0KVG86IEtp bm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IFJhYmVkYSwgTWFj aWVqIDxtYWNpZWoucmFiZWRhQGludGVsLmNvbT47IEx1bywgSGVuZyA8aGVuZy5sdW9AaW50ZWwu Y29tPjsgS3VvLCBTY290dGllIDxzY290dGllLmt1b0BpbnRlbC5jb20+OyBLdW8sIFRlZCA8dGVk Lmt1b0BpbnRlbC5jb20+OyBEdXRraWV3aWN6LCBNaWNoYWwgPG1pY2hhbC5kdXRraWV3aWN6QGlu dGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBGdSwgU2l5dWFuIDxzaXl1YW4uZnVAaW50 ZWwuY29tPjsgV3UsIEppYXhpbiA8amlheGluLnd1QGludGVsLmNvbT47IE90Y2hlcmV0aWFuc2tp LCBBbmRyZWkgPGFuZHJlaS5vdGNoZXJldGlhbnNraUBpbnRlbC5jb20+DQpTdWJqZWN0OiBSRTog W1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBz eW5jIHByb3RvY29sIHN1cHBvcnQNCg0KKytNb3JlIGZvciByZXZpZXdhbCENCg0KLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5DQpTZW50OiBG cmlkYXksIE9jdG9iZXIgMjgsIDIwMjIgMToxMCBQTQ0KVG86IEtpbm5leSwgTWljaGFlbCBEIDxt aWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IFJhYmVkYSwgTWFjaWVqIDxtYWNpZWoucmFiZWRh QGludGVsLmNvbT47IEx1bywgSGVuZyA8aGVuZy5sdW9AaW50ZWwuY29tPjsgS3VvLCBTY290dGll IDxzY290dGllLmt1b0BpbnRlbC5jb20+OyBLdW8sIFRlZCA8dGVkLmt1b0BpbnRlbC5jb20+OyBE dXRraWV3aWN6LCBNaWNoYWwgPG1pY2hhbC5kdXRraWV3aWN6QGludGVsLmNvbT47IGRldmVsQGVk azIuZ3JvdXBzLmlvDQpTdWJqZWN0OiBSRTogW1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9m aWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIHN1cHBvcnQNCg0KVGhhbmtz IGZvciB0aGUgZm9yd2FyZCBNaWtlIQ0KDQpNYWNpZWogYW5kIEFsbCwgDQoNCklmIHlvdSBjb3Vs ZCBwbGVhc2UgcmV2aWV3IHRoZSBQUiBiZWxvdy4gSSB3b3VsZCBsaWtlIHRvIGdldCB0aGlzIHJl dmlldyBjb21wbGV0ZWQgd2l0aGluIHRoZSB3ZWVrLg0KDQpUaGFua3MsDQpaYWNrDQoNCi0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+DQpTZW50OiBUaHVyc2RheSwgT2N0b2JlciAyNywgMjAyMiAxOjA5 IFBNDQpUbzogUmFiZWRhLCBNYWNpZWogPG1hY2llai5yYWJlZGFAaW50ZWwuY29tPjsgS2lubmV5 LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgQ2xhcmstd2lsbGlhbXMs IFphY2hhcnkgPHphY2hhcnkuY2xhcmstd2lsbGlhbXNAaW50ZWwuY29tPg0KU3ViamVjdDogRlc6 IFtQQVRDSCB2NF0gTmV0d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHByb2ZpbGUg c3luYyBwcm90b2NvbCBzdXBwb3J0DQoNCkhpIE1hY2llaiwNCg0KQ2FuIHlvdSBwbGVhc2UgaGVs cCByZXZpZXcgdGhlc2UgTmV0d29ya1BrZyBjaGFuZ2VzLg0KDQpJIGFtIG5vdCBzdXJlIGlmIHlv dSBtb25pdG9yIHlvdXIgbGludXguaW50ZWwuY29tIGFjY291bnQgYXMgY2xvc2VseSBhcyB5b3Vy IGludGVsLmNvbSBhY2NvdW50Lg0KDQpUaGFua3MsDQoNCk1pa2UNCg0KLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCkZyb206IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJr LXdpbGxpYW1zQGludGVsLmNvbT4NClNlbnQ6IFRodXJzZGF5LCBPY3RvYmVyIDI3LCAyMDIyIDEy OjMzIFBNDQpUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KU3ViamVjdDogRlc6IFtQQVRDSCB2NF0gTmV0d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6IEFk ZCBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbCBzdXBwb3J0DQoNCkhleSBNaWtlLA0KDQpJJ20g c3RydWdnbGluZyB0byBnZXQgYW55IGZlZWRiYWNrIG9uIHRoaXMgUFIuIERvIHlvdSBoYXZlIGFu eSBzdWdnZXN0aW9ucyB0byBnZXQgYmV0dGVyIHZpc2liaWxpdHkgYW5kIHJlc3BvbnNlcyBzbyBJ IGNhbiBnZXQgdGhpcyBtaXZpbmc/DQoNClRoYW5rcywNClphY2sNCg0KLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCkZyb206IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJr LXdpbGxpYW1zQGludGVsLmNvbT4NClNlbnQ6IFRodXJzZGF5LCBPY3RvYmVyIDI3LCAyMDIyIDEy OjMxIFBNDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCkNjOiBaYWNoYXJ5IENsYXJrLVdpbGxp YW1zIDx6Y2xhcmt3MTEyQGdtYWlsLmNvbT47IE1hY2llaiBSYWJlZGEgPG1hY2llai5yYWJlZGFA bGludXguaW50ZWwuY29tPjsgRnUgU2l5dWFuIDxzaXl1YW4uZnVAaW50ZWwuY29tPjsgV3UsIEpp YXhpbiA8amlheGluLnd1QGludGVsLmNvbT47IE90Y2hlcmV0aWFuc2tpLCBBbmRyZWkgPGFuZHJl aS5vdGNoZXJldGlhbnNraUBpbnRlbC5jb20+OyBDbGFyay13aWxsaWFtcywgWmFjaGFyeSA8emFj aGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+DQpTdWJqZWN0OiBbUEFUQ0ggdjRdIE5ldHdv cmtQa2cvV2lmaVByb2ZpbGVTeW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3Vw cG9ydA0KDQpGcm9tOiBaYWNoYXJ5IENsYXJrLVdpbGxpYW1zIDx6Y2xhcmt3MTEyQGdtYWlsLmNv bT4NCg0KUkVGOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lk PTM4NDUNCg0KRW5hYmxlcyBLVk0gYW5kIE9uZSBDbGljayBSZWNvdmVyeSBXTEFOIGNhcGFiaWxp dHkgd2l0aCBXaUZpIFByb2ZpbGUgU3luYyBmZWF0dXJlIGFuZCBwcm90b2NvbC4gQWRkaW5nIFdp RmlQcm9maWxlU3luY1Byb3RvY29sLCB3aGljaCBzdXBwb3J0cyB0aGUgcHJvZmlsZXN5bmMgZHJp dmVyIG9wZXJhdGlvbnMgZm9yIHRyYW5zZmVycmluZyBXaUZpIHByb2ZpbGVzIGZyb20gQU1UIHRv IHRoZSBTdXBwbGljYW50LiBXaUZpQ29ubmVjdGlvbk1hbmFnZXIgd2lsbCBjaGVjayBmb3IgdGhl IFdpZmlQcm9maWxlU3luY1Byb3RvY29sIGFuZCBpZiBmb3VuZCB3aWxsIG9wZXJhdGUgb24gdGhl IHByZW1pc2Ugb2YgYSBPbmUgQ2xpY2sgUmVjb3ZlcnksIG9yIEtWTSBmbG93IHdpdGggYSBXaWZp IHByb2ZpbGUgcHJvdmlkZWQgYnkgQU1ULg0KDQpDYzogTWFjaWVqIFJhYmVkYSA8bWFjaWVqLnJh YmVkYUBsaW51eC5pbnRlbC5jb20+DQpDYzogRnUgU2l5dWFuIDxzaXl1YW4uZnVAaW50ZWwuY29t Pg0KQ2M6IFd1IEppYXhpbiA8amlheGluLnd1QGludGVsLmNvbT4NCkNjOiBBbmRyZWkgT3RjaGVy ZXRpYW5za2kgPGFuZHJlaS5vdGNoZXJldGlhbnNraUBpbnRlbC5jb20+DQoNClNpZ25lZC1vZmYt Ynk6IFphY2hhcnkgQ2xhcmstV2lsbGlhbXMgPHphY2hhcnkuY2xhcmstd2lsbGlhbXNAaW50ZWwu Y29tPg0KLS0tDQogLi4uL1Byb3RvY29sL1dpRmlQcm9maWxlU3luY1Byb3RvY29sLmggICAgICAg IHwgIDgzICsrKysrKysrDQogTmV0d29ya1BrZy9OZXR3b3JrUGtnLmRlYyAgICAgICAgICAgICAg ICAgICAgIHwgICAzICsNCiAuLi4vV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlLmluZiAgICAgICAg ICAgICAgfCAgIDMgKy0NCiAuLi4vV2lmaUNvbm5lY3Rpb25NZ3JDb25maWdOVkRhdGFTdHJ1Y3Qu aCAgICAgfCAgIDIgKy0NCiAuLi4vV2lmaUNvbm5lY3Rpb25NZ3JEcml2ZXIuYyAgICAgICAgICAg ICAgICAgfCAxMjYgKysrKysrKystLS0tDQogLi4uL1dpZmlDb25uZWN0aW9uTWdyRHhlLmggICAg ICAgICAgICAgICAgICAgIHwgICA0ICstDQogLi4uL1dpZmlDb25uZWN0aW9uTWdySW1wbC5jICAg ICAgICAgICAgICAgICAgIHwgMTkzICsrKysrKysrKysrKysrKystLQ0KIC4uLi9XaWZpQ29ubmVj dGlvbk1nck1pc2MuYyAgICAgICAgICAgICAgICAgICB8ICAxMyArKw0KIDggZmlsZXMgY2hhbmdl ZCwgMzY3IGluc2VydGlvbnMoKyksIDYwIGRlbGV0aW9ucygtKSAgY3JlYXRlIG1vZGUgMTAwNjQ0 IE5ldHdvcmtQa2cvSW5jbHVkZS9Qcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90b2NvbC5oDQoN CmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL0luY2x1ZGUvUHJvdG9jb2wvV2lGaVByb2ZpbGVTeW5j UHJvdG9jb2wuaCBiL05ldHdvcmtQa2cvSW5jbHVkZS9Qcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQ cm90b2NvbC5oDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMC4uZTM2ZGFj ZWFiZg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvTmV0d29ya1BrZy9JbmNsdWRlL1Byb3RvY29sL1dp RmlQcm9maWxlU3luY1Byb3RvY29sLmgNCkBAIC0wLDAgKzEsODMgQEANCisvKiogQGZpbGUNCisg IFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29sLiBTdXBwb3J0cyBPbmUgQ2xpY2sgUmVjb3Zlcnkg b3IgS1ZNIE9TIA0KK3JlY292ZXJ5DQorICBib290IGZsb3cgb3ZlciBXaUZpLg0KKw0KKyAgQ29w eXJpZ2h0IChjKSAyMDIyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQorDQorICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudCAq Ki8NCisNCisjaWZuZGVmIFdJRklfUFJPRklMRV9TWU5DX1BST1RPQ09MX0hfDQorI2RlZmluZSBX SUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTF9IXw0KKw0KKyNpbmNsdWRlIDxXaWZpQ29ubmVjdGlv bk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JDb25maWcuaD4NCisNCisvLw0KKy8vICBXaUZp IFByb2ZpbGUgU3luYyBQcm90b2NvbCBHVUlEIHZhcmlhYmxlLg0KKy8vDQorZXh0ZXJuIEVGSV9H VUlEICBnRWZpV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2xHdWlkOw0KKw0KKy8qKg0KKyAgVXNlZCBi eSB0aGUgV2lGaSBjb25uZWN0aW9uIG1hbmFnZXIgdG8gZ2V0IHRoZSBXaUZpIHByb2ZpbGUgdGhh dCBBTVQgDQorc2hhcmVkDQorICBhbmQgd2FzIHN0b3JlZCBpbiBXaUZpIHByb2ZpbGUgcHJvdG9j b2wuIEFsaWducyB0aGUgQU1UIFdpRmkgcHJvZmlsZSANCitkYXRhIHRvDQorICB0aGUgV2lGaSBj b25uZWN0aW9uIG1hbmFnZXIgcHJvZmlsZSBzdHJ1Y3R1cmUgZm8gY29ubmVjdGlvbiB1c2UuDQor DQorICBAcGFyYW1baW4sIG91dF0gIFdjbVByb2ZpbGUgICAgICAgV2lGaSBDb25uZWN0aW9uIE1h bmFnZXIgcHJvZmlsZSBzdHJ1Y3R1cmUNCisgIEBwYXJhbVtpbiwgb3V0XSAgTWFjQWRkcmVzcyAg ICAgICBNQUMgYWRkcmVzcyBmcm9tIEFNVCBzYXZlZCB0byBOaUMgTUFDIGFkZHJlc3MNCisNCisg IEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgICBTdG9yZWQgV2lGaSBwcm9maWxlIGNv bnZlcnRlZCBhbmQgcmV0dXJuZWQgc3VjY2VmdWxseQ0KKyAgQHJldHZhbCBFRklfVU5TVVBQT1JU RUQgICAgICAgICAgIFByb2ZpbGUgcHJvdG9jb2wgc2hhcmluZyBub3Qgc3VwcG9ydGVkIG9yIGVu YWJsZWQNCisgIEByZXR2YWwgRUZJX05PVF9GT1VORCAgICAgICAgICAgICBObyBwcm9maWxlcyB0 byByZXR1cm5lZA0KKyAgQHJldHZhbCBPdGhlcnMgICAgICAgICAgICAgICAgICAgIEVycm9yIE9j Y3VycmVkDQorKiovDQordHlwZWRlZg0KK0VGSV9TVEFUVVMNCisoRUZJQVBJICpXSUZJX1BST0ZJ TEVfR0VUKSgNCisgIElOIE9VVCAgV0lGSV9NR1JfTkVUV09SS19QUk9GSUxFICAqUHJvZmlsZSwN CisgIElOIE9VVCAgRUZJXzgwMjExX01BQ19BRERSRVNTICAgICBNYWNBZGRyZXNzDQorICApOw0K Kw0KKy8qKg0KKyAgU2F2ZXMgdGhlIFdpRmkgY29ubmVjdGlvbiBzdGF0dXMgcmVjaWV2ZWQgYnkg dGhlIA0KK1dpRmlDb25uZWN0aW9uTWFuYWdlciB3aGVuDQorICBpbiBhIEtWTSBPUiBPbmUgQ2xp Y2sgUmVjb3ZlcnkgV0xBTiByZWNvdmVyeSBmbG93LiBJbnB1dCBhcw0KKyAgRUZJXzgwMjExX0NP Tk5FQ1RfTkVUV09SS19SRVNVTFRfQ09ERSB0aGVuIGNvbnZlcnRlZCBhbmQgc3RvcmVkIGFzIEVG SV9TVEFUVVMgdHlwZS4NCisNCisgIEBwYXJhbVtpbl0gQ29ubmVjdGlvblN0YXR1cyAgICAgV2lG aSBjb25uZWN0aW9uIGF0dGVtcHQgcmVzdWx0cw0KKyoqLw0KK3R5cGVkZWYNCitWT0lEDQorKEVG SUFQSSAqV0lGSV9TRVRfQ09OTkVDVF9TVEFURSkoDQorICBJTiAgRUZJXzgwMjExX0NPTk5FQ1Rf TkVUV09SS19SRVNVTFRfQ09ERSBDb25uZWN0aW9uU3RhdHVzDQorICApOw0KKw0KKy8qKg0KKyAg UmV0cmlldmVzIHRoZSBzdG9yZWQgV2lGaSBjb25uZWN0aW9uIHN0YXR1cyB3aGVuIGluIGVpdGhl ciBLVk0gT1IgT25lIA0KK0NsaWNrDQorICBSZWNvdmVyeSBXTEFOIHJlY292ZXJ5IGZsb3cuDQor DQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICAgV2lGaSBjb25uZWN0aW9uIGNv bXBsZXRlZCBzdWNjZXNmdWxseQ0KKyAgQHJldHZhbCBPdGhlcnMgICAgICAgICAgICAgICAgICAg IENvbm5lY3Rpb24gZmFpbHVyZSBvY2N1cnJlZA0KKyoqLw0KK3R5cGVkZWYNCitFRklfU1RBVFVT DQorKEVGSUFQSSAqV0lGSV9HRVRfQ09OTkVDVF9TVEFURSkoDQorICBWT0lEDQorICApOw0KKw0K Ky8vDQorLy8gIFdpRmkgUHJvZmlsZSBTeW5jIFByb3RvY29sIHN0cnVjdHVyZS4NCisvLw0KK3R5 cGVkZWYgc3RydWN0IHsNCisgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgUmV2aXNpb247DQor ICBXSUZJX1NFVF9DT05ORUNUX1NUQVRFICAgIFdpZmlQcm9maWxlU3luY1NldENvbm5lY3RTdGF0 ZTsNCisgIFdJRklfR0VUX0NPTk5FQ1RfU1RBVEUgICAgV2lmaVByb2ZpbGVTeW5jR2V0Q29ubmVj dFN0YXRlOw0KKyAgV0lGSV9QUk9GSUxFX0dFVCAgICAgICAgICBXaWZpUHJvZmlsZVN5bmNHZXRQ cm9maWxlOw0KK30gRUZJX1dJRklfUFJPRklMRV9TWU5DX1BST1RPQ09MOw0KKw0KKy8qKg0KKyAg V2lGaSBQcm9maWxlIFByb3RvY29sIHJldmlzaW9uIG51bWJlci4NCisNCisgIFJldmlzaW9uIDE6 ICAgSW5pdGlhbCB2ZXJzaW9uDQorKiovDQorI2RlZmluZSBFRklfV0lGSV9QUk9GSUxFX1NZTkNf UFJPVE9DT0xfUkVWSVNJT04gIDENCisNCisjZW5kaWYgLy8gIFdJRklfUFJPRklMRV9TWU5DX1BS T1RPQ09MX0hfDQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9OZXR3b3JrUGtnLmRlYyBiL05ldHdv cmtQa2cvTmV0d29ya1BrZy5kZWMgaW5kZXggNWU0M2ViZjhjNS4uNTNmYjM0YzRhMCAxMDA2NDQN Ci0tLSBhL05ldHdvcmtQa2cvTmV0d29ya1BrZy5kZWMNCisrKyBiL05ldHdvcmtQa2cvTmV0d29y a1BrZy5kZWMNCkBAIC05MSw2ICs5MSw5IEBADQogICAjIyBJbmNsdWRlL1Byb3RvY29sL0h0dHBD YWxsYmFjay5oDQogICBnRWRraWlIdHRwQ2FsbGJhY2tQcm90b2NvbEd1aWQgID0gezB4NjExMTE0 ZjEsIDB4YTM3YiwgMHg0NDY4LCB7MHhhNCwgMHgzNiwgMHg1YiwgMHhkZCwgMHhhMSwgMHg2YSwg MHhhMiwgMHg0MH19DQogDQorICAjIyBJbmNsdWRlL1Byb3RvY29sL1dpRmlQcm9maWxlU3luY1By b3RvY29sLmgNCisgIGdFZmlXaUZpUHJvZmlsZVN5bmNQcm90b2NvbEd1aWQgPSB7MHgzOTlhMmI4 YSwgMHhjMjY3LCAweDQ0YWEsIHsweDlhLCANCisgMHhiNCwgMHgzMCwgMHg1OCwgMHg4YywgMHhk MiwgMHgyZCwgMHhjY319DQorDQogW1BjZHNGaXhlZEF0QnVpbGRdDQogICAjIyBUaGUgbWF4IGF0 dGVtcHQgbnVtYmVyIHdpbGwgYmUgY3JlYXRlZCBieSBpU0NTSSBkcml2ZXIuDQogICAjIEBQcm9t cHQgTWF4IGF0dGVtcHQgbnVtYmVyLg0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvV2lmaUNvbm5l Y3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS5pbmYgYi9OZXR3b3JrUGtn L1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUuaW5mDQpp bmRleCA0Mzk0YjZmNGJiLi43ZTM2MDE2Y2Y4IDEwMDY0NA0KLS0tIGEvTmV0d29ya1BrZy9XaWZp Q29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlLmluZg0KKysrIGIv TmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NYW5hZ2Vy RHhlLmluZg0KQEAgLTksNyArOSw3IEBADQogIyAgMikuIFdQQTIgUGVyc29uYWwgTmV0d29yaw0K ICMgIDMpLiBFQVAgTmV0d29ya3MgKEVBUC1UTFMsIEVBUC1UVExTL01TQ0hBUHYyIGFuZCBQRUFQ djAvTVNDSEFQdjIpICAjIC0jICBDb3B5cmlnaHQgKGMpIDIwMTksIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCisjICBDb3B5cmlnaHQgKGMpIDIwMTkgLSAyMDIy LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyANCityZXNlcnZlZC48QlI+DQogIw0KICMg IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50ICAjIEBAIC03MSw2 ICs3MSw3IEBADQogICBnRWZpQWRhcHRlckluZm9ybWF0aW9uUHJvdG9jb2xHdWlkICAgICAgICAg ICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTDQogICBnRWZpU3VwcGxpY2FudFByb3RvY29sR3VpZCAg ICAgICAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTDQogICBnRWZpRWFwQ29uZmln dXJhdGlvblByb3RvY29sR3VpZCAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTDQor ICBnRWZpV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgIyMgU09NRVRJ TUVTX0NPTlNVTUVTDQogDQogW0d1aWRzXQ0KICAgZ1dpZmlDb25maWdHdWlkICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICMjIFBST0RVQ0VTICAjIyBHVUlEDQpkaWZmIC0tZ2l0IGEvTmV0 d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JDb25maWdO VkRhdGFTdHJ1Y3QuaCBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlD b25uZWN0aW9uTWdyQ29uZmlnTlZEYXRhU3RydWN0LmgNCmluZGV4IGI1NTE4YTc0ZDguLmRjYzRi ZjdlMjcgMTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9X aWZpQ29ubmVjdGlvbk1nckNvbmZpZ05WRGF0YVN0cnVjdC5oDQorKysgYi9OZXR3b3JrUGtnL1dp ZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckNvbmZpZ05WRGF0YVMNCisr KyB0cnVjdC5oDQpAQCAtMjUsNyArMjUsNyBAQA0KIA0KICNkZWZpbmUgUEFTU1dPUkRfTUlOX0xF TiAgICAgICA4DQogI2RlZmluZSBQQVNTV09SRF9NQVhfTEVOICAgICAgIDYzDQotI2RlZmluZSBQ QVNTV09SRF9TVE9SQUdFX1NJWkUgIDY0DQorI2RlZmluZSBQQVNTV09SRF9TVE9SQUdFX1NJWkUg IDY1DQogDQogI2RlZmluZSBFQVBfSURFTlRJVFlfTEVOICAgNjMNCiAjZGVmaW5lIEVBUF9JREVO VElUWV9TSVpFICA2NA0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5h Z2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyRHJpdmVyLmMgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0 aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckRyaXZlci5jDQppbmRleCA2N2EwMWNhMDU4 Li45N2NhN2E5ZjBiIDEwMDY0NA0KLS0tIGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFn ZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JEcml2ZXIuYw0KKysrIGIvTmV0d29ya1BrZy9XaWZpQ29u bmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JEcml2ZXIuYw0KQEAgLTEsNyArMSw3 IEBADQogLyoqIEBmaWxlDQogICBUaGUgZHJpdmVyIGJpbmRpbmcgcHJvdG9jb2wgZm9yIHRoZSBX aUZpIENvbm5lY3Rpb24gTWFuYWdlci4NCiANCi0gIENvcHlyaWdodCAoYykgMjAxOSwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KKyAgQ29weXJpZ2h0IChjKSAy MDE5IC0gMjAyMiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQorIHJlc2VydmVkLjxC Uj4NCiANCiAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQog DQpAQCAtMzksNiArMzksMTEgQEAgRUZJX0dVSUQgIG1XaWZpQ29uZmlnTmV0d29ya0xpc3RSZWZy ZXNoR3VpZCA9IFdJRklfQ09ORklHX05FVFdPUktfTElTVF9SRUZSRVNIX0cNCiBFRklfR1VJRCAg bVdpZmlDb25maWdDb25uZWN0Rm9ybVJlZnJlc2hHdWlkID0gV0lGSV9DT05GSUdfQ09OTkVDVF9G T1JNX1JFRlJFU0hfR1VJRDsNCiBFRklfR1VJRCAgbVdpZmlDb25maWdNYWluRm9ybVJlZnJlc2hH dWlkICAgID0gV0lGSV9DT05GSUdfTUFJTl9GT1JNX1JFRlJFU0hfR1VJRDsNCiANCisvLw0KKy8v IFdpZmkgY29ubmVjdGlvbiBhdHRlbXB0IGNvdW50ZXIgZm9yIHJldHJpZXMgLy8gZXh0ZXJuIFVJ TlQ4IA0KK21XaWZpQ29ubmVjdGlvbkNvdW50Ow0KKw0KIC8qKg0KICAgVGVzdHMgdG8gc2VlIGlm IHRoaXMgZHJpdmVyIHN1cHBvcnRzIGEgZ2l2ZW4gY29udHJvbGxlci4gSWYgYSBjaGlsZCBkZXZp Y2UgaXMgcHJvdmlkZWQsDQogICBpdCBmdXJ0aGVyIHRlc3RzIHRvIHNlZSBpZiB0aGlzIGRyaXZl ciBzdXBwb3J0cyBjcmVhdGluZyBhIGhhbmRsZSBmb3IgdGhlIHNwZWNpZmllZCBjaGlsZCBkZXZp Y2UuDQpAQCAtMTY3LDggKzE3MiwxMCBAQCBXaWZpTWdyRHhlRHJpdmVyQmluZGluZ1N0YXJ0ICgN CiAgIEVGSV9XSVJFTEVTU19NQUNfQ09OTkVDVElPTl9JSV9QUk9UT0NPTCAgKldtcDsNCiAgIEVG SV9TVVBQTElDQU5UX1BST1RPQ09MICAgICAgICAgICAgICAgICAgKlN1cHBsaWNhbnQ7DQogICBF RklfRUFQX0NPTkZJR1VSQVRJT05fUFJPVE9DT0wgICAgICAgICAgICpFYXBDb25maWc7DQorICBF RklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0wgICAgICAgICAgICpXaUZpUHJvZmlsZVN5bmNQ cm90b2NvbDsNCiANCi0gIE5pYyA9IE5VTEw7DQorICBtV2lmaUNvbm5lY3Rpb25Db3VudCA9IDA7 DQorICBOaWMgICAgICAgICAgICAgICAgICA9IE5VTEw7DQogDQogICAvLw0KICAgLy8gT3BlbiBQ cm90b2NvbHMNCkBAIC0yMzYsNDcgKzI0Myw3MyBAQCBXaWZpTWdyRHhlRHJpdmVyQmluZGluZ1N0 YXJ0ICgNCiAgIEluaXRpYWxpemVMaXN0SGVhZCAoJk5pYy0+UHJvZmlsZUxpc3QpOw0KIA0KICAg Ly8NCi0gIC8vIFJlY29yZCB0aGUgTUFDIGFkZHJlc3Mgb2YgdGhlIGluY29taW5nIE5JQy4NCisg IC8vIFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIGluc3RhbGxhdGlvbiBjaGVjayBmb3IgT1Mg cmVjb3ZlcnkgZmxvdy4NCiAgIC8vDQotICBTdGF0dXMgPSBOZXRMaWJHZXRNYWNBZGRyZXNzICgN Ci0gICAgICAgICAgICAgQ29udHJvbGxlckhhbmRsZSwNCi0gICAgICAgICAgICAgKEVGSV9NQUNf QUREUkVTUyAqKSZOaWMtPk1hY0FkZHJlc3MsDQotICAgICAgICAgICAgICZBZGRyZXNzU2l6ZQ0K LSAgICAgICAgICAgICApOw0KLSAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KLSAgICBnb3Rv IEVSUk9SMjsNCi0gIH0NCi0NCi0gIC8vDQotICAvLyBDcmVhdGUgYW5kIHN0YXJ0IHRoZSB0aW1l ciBmb3IgdGhlIHN0YXR1cyBjaGVjaw0KLSAgLy8NCi0gIFN0YXR1cyA9IGdCUy0+Q3JlYXRlRXZl bnQgKA0KLSAgICAgICAgICAgICAgICAgIEVWVF9OT1RJRllfU0lHTkFMIHwgRVZUX1RJTUVSLA0K LSAgICAgICAgICAgICAgICAgIFRQTF9DQUxMQkFDSywNCi0gICAgICAgICAgICAgICAgICBXaWZp TWdyT25UaW1lclRpY2ssDQotICAgICAgICAgICAgICAgICAgTmljLA0KLSAgICAgICAgICAgICAg ICAgICZOaWMtPlRpY2tUaW1lcg0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQor ICAgICAgICAgICAgICAgICAgJmdFZmlXaUZpUHJvZmlsZVN5bmNQcm90b2NvbEd1aWQsDQorICAg ICAgICAgICAgICAgICAgTlVMTCwNCisgICAgICAgICAgICAgICAgICAoVk9JRCAqKikmV2lGaVBy b2ZpbGVTeW5jUHJvdG9jb2wNCiAgICAgICAgICAgICAgICAgICApOw0KLSAgaWYgKEVGSV9FUlJP UiAoU3RhdHVzKSkgew0KLSAgICBnb3RvIEVSUk9SMjsNCi0gIH0NCisgIGlmICghRUZJX0VSUk9S IChTdGF0dXMpKSB7DQorICAgIE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrID0gKFdJRklfTUdS X05FVFdPUktfUFJPRklMRSAqKUFsbG9jYXRlWmVyb1Bvb2wgKHNpemVvZiAoV0lGSV9NR1JfTkVU V09SS19QUk9GSUxFKSk7DQorICAgIGlmIChOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yayA9PSBO VUxMKSB7DQorICAgICAgU3RhdHVzID0gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQorICAgICAgZ290 byBFUlJPUjE7DQorICAgIH0NCiANCi0gIFN0YXR1cyA9IGdCUy0+U2V0VGltZXIgKE5pYy0+VGlj a1RpbWVyLCBUaW1lclBlcmlvZGljLCBFRklfVElNRVJfUEVSSU9EX01JTExJU0VDT05EUyAoNTAw KSk7DQotICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQotICAgIGdvdG8gRVJST1IzOw0KLSAg fQ0KKyAgICBXaUZpUHJvZmlsZVN5bmNQcm90b2NvbC0+V2lmaVByb2ZpbGVTeW5jR2V0UHJvZmls ZSAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmssIE5pYy0+TWFjQWRkcmVzcyk7DQorICAgIGlm IChOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yayAhPSBOVUxMKSB7DQorICAgICAgU3RhdHVzID0g V2lmaU1nckNvbm5lY3RUb05ldHdvcmsgKE5pYywgTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmsp Ow0KKyAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgICAgIFdpRmlQcm9maWxl U3luY1Byb3RvY29sLT5XaWZpUHJvZmlsZVN5bmNTZXRDb25uZWN0U3RhdGUgKFN0YXR1cyk7DQor ICAgICAgfQ0KKyAgICB9IGVsc2Ugew0KKyAgICAgIGdvdG8gRVJST1IxOw0KKyAgICB9DQorICB9 IGVsc2Ugew0KKyAgICAvLw0KKyAgICAvLyBSZWNvcmQgdGhlIE1BQyBhZGRyZXNzIG9mIHRoZSBp bmNvbWluZyBOSUMuDQorICAgIC8vDQorICAgIFN0YXR1cyA9IE5ldExpYkdldE1hY0FkZHJlc3Mg KA0KKyAgICAgICAgICAgICAgIENvbnRyb2xsZXJIYW5kbGUsDQorICAgICAgICAgICAgICAgKEVG SV9NQUNfQUREUkVTUyAqKSZOaWMtPk1hY0FkZHJlc3MsDQorICAgICAgICAgICAgICAgJkFkZHJl c3NTaXplDQorICAgICAgICAgICAgICAgKTsNCisgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkg ew0KKyAgICAgIGdvdG8gRVJST1IyOw0KKyAgICB9DQogDQotICBOaWMtPkNvbm5lY3RTdGF0ZSA9 IFdpZmlNZ3JEaXNjb25uZWN0ZWQ7DQotICBOaWMtPlNjYW5TdGF0ZSAgICA9IFdpZmlNZ3JTY2Fu RmluaXNoZWQ7DQorICAgIC8vDQorICAgIC8vIENyZWF0ZSBhbmQgc3RhcnQgdGhlIHRpbWVyIGZv ciB0aGUgc3RhdHVzIGNoZWNrDQorICAgIC8vDQorICAgIFN0YXR1cyA9IGdCUy0+Q3JlYXRlRXZl bnQgKA0KKyAgICAgICAgICAgICAgICAgICAgRVZUX05PVElGWV9TSUdOQUwgfCBFVlRfVElNRVIs DQorICAgICAgICAgICAgICAgICAgICBUUExfQ0FMTEJBQ0ssDQorICAgICAgICAgICAgICAgICAg ICBXaWZpTWdyT25UaW1lclRpY2ssDQorICAgICAgICAgICAgICAgICAgICBOaWMsDQorICAgICAg ICAgICAgICAgICAgICAmTmljLT5UaWNrVGltZXINCisgICAgICAgICAgICAgICAgICAgICk7DQor ICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgICBnb3RvIEVSUk9SMjsNCisgICAg fQ0KIA0KLSAgT2xkVHBsID0gZ0JTLT5SYWlzZVRQTCAoVFBMX0NBTExCQUNLKTsNCi0gIEluc2Vy dFRhaWxMaXN0ICgmbVByaXZhdGUtPk5pY0xpc3QsICZOaWMtPkxpbmspOw0KLSAgTmljLT5OaWNJ bmRleCA9IG1Qcml2YXRlLT5OaWNDb3VudCsrOw0KLSAgaWYgKG1Qcml2YXRlLT5DdXJyZW50Tmlj ID09IE5VTEwpIHsNCi0gICAgbVByaXZhdGUtPkN1cnJlbnROaWMgPSBOaWM7DQotICB9DQorICAg IFN0YXR1cyA9IGdCUy0+U2V0VGltZXIgKE5pYy0+VGlja1RpbWVyLCBUaW1lclBlcmlvZGljLCBF RklfVElNRVJfUEVSSU9EX01JTExJU0VDT05EUyAoNTAwKSk7DQorICAgIGlmIChFRklfRVJST1Ig KFN0YXR1cykpIHsNCisgICAgICBnb3RvIEVSUk9SMzsNCisgICAgfQ0KIA0KLSAgZ0JTLT5SZXN0 b3JlVFBMIChPbGRUcGwpOw0KKyAgICBOaWMtPkNvbm5lY3RTdGF0ZSA9IFdpZmlNZ3JEaXNjb25u ZWN0ZWQ7DQorICAgIE5pYy0+U2NhblN0YXRlICAgID0gV2lmaU1nclNjYW5GaW5pc2hlZDsNCisN CisgICAgT2xkVHBsID0gZ0JTLT5SYWlzZVRQTCAoVFBMX0NBTExCQUNLKTsNCisgICAgSW5zZXJ0 VGFpbExpc3QgKCZtUHJpdmF0ZS0+TmljTGlzdCwgJk5pYy0+TGluayk7DQorICAgIE5pYy0+Tmlj SW5kZXggPSBtUHJpdmF0ZS0+TmljQ291bnQrKzsNCisgICAgaWYgKG1Qcml2YXRlLT5DdXJyZW50 TmljID09IE5VTEwpIHsNCisgICAgICBtUHJpdmF0ZS0+Q3VycmVudE5pYyA9IE5pYzsNCisgICAg fQ0KKw0KKyAgICBnQlMtPlJlc3RvcmVUUEwgKE9sZFRwbCk7DQorICB9DQogDQogICBTdGF0dXMg PSBnQlMtPkluc3RhbGxQcm90b2NvbEludGVyZmFjZSAoDQogICAgICAgICAgICAgICAgICAgJkNv bnRyb2xsZXJIYW5kbGUsDQpAQCAtMzg1LDEwICs0MTgsMTEgQEAgV2lmaU1nckR4ZURyaXZlckJp bmRpbmdTdG9wICgNCiAgIElOIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgKkNoaWxkSGFu ZGxlQnVmZmVyIE9QVElPTkFMDQogICApDQogew0KLSAgRUZJX1NUQVRVUyAgICAgICAgICAgICAg ICAgU3RhdHVzOw0KLSAgRUZJX1RQTCAgICAgICAgICAgICAgICAgICAgT2xkVHBsOw0KLSAgV0lG SV9NR1JfUFJJVkFURV9QUk9UT0NPTCAgKldpZmlNZ3JJZGVudGlmaWVyOw0KLSAgV0lGSV9NR1Jf REVWSUNFX0RBVEEgICAgICAgKk5pYzsNCisgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAg ICAgU3RhdHVzOw0KKyAgRUZJX1RQTCAgICAgICAgICAgICAgICAgICAgICAgICBPbGRUcGw7DQor ICBXSUZJX01HUl9QUklWQVRFX1BST1RPQ09MICAgICAgICpXaWZpTWdySWRlbnRpZmllcjsNCisg IFdJRklfTUdSX0RFVklDRV9EQVRBICAgICAgICAgICAgKk5pYzsNCisgIEVGSV9XSUZJX1BST0ZJ TEVfU1lOQ19QUk9UT0NPTCAgKldpRmlQcm9maWxlU3luY1Byb3RvY29sOw0KIA0KICAgU3RhdHVz ID0gZ0JTLT5PcGVuUHJvdG9jb2wgKA0KICAgICAgICAgICAgICAgICAgIENvbnRyb2xsZXJIYW5k bGUsDQpAQCAtNDgxLDcgKzUxNSwxNSBAQCBXaWZpTWdyRHhlRHJpdmVyQmluZGluZ1N0b3AgKA0K ICAgLy8NCiAgIE9sZFRwbCA9IGdCUy0+UmFpc2VUUEwgKFRQTF9DQUxMQkFDSyk7DQogDQotICBS ZW1vdmVFbnRyeUxpc3QgKCZOaWMtPkxpbmspOw0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90 b2NvbCAoDQorICAgICAgICAgICAgICAgICAgJmdFZmlXaUZpUHJvZmlsZVN5bmNQcm90b2NvbEd1 aWQsDQorICAgICAgICAgICAgICAgICAgTlVMTCwNCisgICAgICAgICAgICAgICAgICAoVk9JRCAq KikmV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wNCisgICAgICAgICAgICAgICAgICApOw0KKyAgaWYg KEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBSZW1vdmVFbnRyeUxpc3QgKCZOaWMtPkxpbmsp Ow0KKyAgfQ0KKw0KICAgbVByaXZhdGUtPk5pY0NvdW50LS07DQogICBpZiAobVByaXZhdGUtPkN1 cnJlbnROaWMgPT0gTmljKSB7DQogICAgIG1Qcml2YXRlLT5DdXJyZW50TmljID0gTlVMTDsNCmRp ZmYgLS1naXQgYS9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVj dGlvbk1nckR4ZS5oIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNv bm5lY3Rpb25NZ3JEeGUuaA0KaW5kZXggN2IyZTQxZTE1NS4uMDQ3Zjg1ZGJjMiAxMDA2NDQNCi0t LSBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdy RHhlLmgNCisrKyBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25u ZWN0aW9uTWdyRHhlLmgNCkBAIC00Nyw2ICs0Nyw3IEBADQogI2luY2x1ZGUgPFByb3RvY29sL1Np bXBsZU5ldHdvcmsuaD4NCiAjaW5jbHVkZSA8UHJvdG9jb2wvU2ltcGxlRmlsZVN5c3RlbS5oPg0K ICNpbmNsdWRlIDxQcm90b2NvbC9FYXBDb25maWd1cmF0aW9uLmg+DQorI2luY2x1ZGUgPFByb3Rv Y29sL1dpRmlQcm9maWxlU3luY1Byb3RvY29sLmg+DQogDQogLy8NCiAvLyBQcm9kdWNlZCBQcm90 b2NvbHMNCkBAIC03Myw3ICs3NCw4IEBADQogLy8NCiAjZGVmaW5lIFdJRklfTUdSX0RYRV9WRVJT SU9OICAweGINCiANCi0jZGVmaW5lIE9VSV9JRUVFXzgwMjExSSAgMHhBQzBGMDANCisjZGVmaW5l IE9VSV9JRUVFXzgwMjExSSAgICAgICAgICAgICAgMHhBQzBGMDANCisjZGVmaW5lIE1BWF9XSUZJ X0NPTk5FVElPTl9BVFRFTVBUUyAgMw0KIA0KIHR5cGVkZWYgZW51bSB7DQogICBJZWVlODAyMTFQ YWlyd2lzZUNpcGhlclN1aXRlVXNlR3JvdXBDaXBoZXJTdWl0ZSA9IDAsIGRpZmYgLS1naXQgYS9O ZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckltcGwu YyBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdy SW1wbC5jDQppbmRleCA1OWJhYzQ4YzQyLi5hNzNhYjlmNzEwIDEwMDY0NA0KLS0tIGEvTmV0d29y a1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JJbXBsLmMNCisr KyBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdy SW1wbC5jDQpAQCAtMTksNiArMTksOCBAQCBFRklfRUFQX1RZUEUgIG1FYXBTZWNvbmRBdXRoTWV0 aG9kW10gPSB7DQogICBFRklfRUFQX1RZUEVfTVNDSEFQVjINCiB9Ow0KIA0KK1VJTlQ4ICBtV2lm aUNvbm5lY3Rpb25Db3VudCA9IDA7DQorDQogLyoqDQogICBUaGUgY2FsbGJhY2sgZnVuY3Rpb24g Zm9yIHNjYW4gb3BlcmF0aW9uLiBUaGlzIGZ1bmN0aW9uIHVwZGF0ZXMgbmV0d29ya3MNCiAgIGFj Y29yZGluZyB0byB0aGUgbGF0ZXN0IHNjYW4gcmVzdWx0LCBhbmQgdHJpZ2dlciBVSSByZWZyZXNo Lg0KQEAgLTQyNCwxOCArNDI2LDI2IEBAIFdpZmlNZ3JDb25maWdQYXNzd29yZCAoDQogICAgIHJl dHVybiBFRklfTk9UX0ZPVU5EOw0KICAgfQ0KIA0KLSAgQXNjaWlQYXNzd29yZCA9IEFsbG9jYXRl WmVyb1Bvb2wgKChTdHJMZW4gKFByb2ZpbGUtPlBhc3N3b3JkKSArIDEpICogc2l6ZW9mIChVSU5U OCkpOw0KKyAgaWYgKFN0ckxlbiAoUHJvZmlsZS0+UGFzc3dvcmQpID49IFBBU1NXT1JEX1NUT1JB R0VfU0laRSkgew0KKyAgICBBU1NFUlQgKEVGSV9JTlZBTElEX1BBUkFNRVRFUik7DQorICAgIHJl dHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQorICB9DQorDQorICBBc2NpaVBhc3N3b3JkID0g QWxsb2NhdGVaZXJvUG9vbCAoKFN0ckxlbiAoUHJvZmlsZS0+UGFzc3dvcmQpICsgMSkgKiANCisg c2l6ZW9mIChDSEFSOCkpOw0KICAgaWYgKEFzY2lpUGFzc3dvcmQgPT0gTlVMTCkgew0KICAgICBy ZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQogICB9DQogDQotICBVbmljb2RlU3RyVG9Bc2Np aVN0clMgKFByb2ZpbGUtPlBhc3N3b3JkLCAoQ0hBUjggKilBc2NpaVBhc3N3b3JkLCBQQVNTV09S RF9TVE9SQUdFX1NJWkUpOw0KLSAgU3RhdHVzID0gU3VwcGxpY2FudC0+U2V0RGF0YSAoDQotICAg ICAgICAgICAgICAgICAgICAgICAgIFN1cHBsaWNhbnQsDQotICAgICAgICAgICAgICAgICAgICAg ICAgIEVmaVN1cHBsaWNhbnQ4MDIxMVBza1Bhc3N3b3JkLA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICBBc2NpaVBhc3N3b3JkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAoU3RyTGVuIChQ cm9maWxlLT5QYXNzd29yZCkgKyAxKSAqIHNpemVvZiAoVUlOVDgpDQotICAgICAgICAgICAgICAg ICAgICAgICAgICk7DQorICBTdGF0dXMgPSBVbmljb2RlU3RyVG9Bc2NpaVN0clMgKFByb2ZpbGUt PlBhc3N3b3JkLCAoQ0hBUjggDQorICopQXNjaWlQYXNzd29yZCwgKFN0ckxlbiAoUHJvZmlsZS0+ UGFzc3dvcmQpICsgMSkpOyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgU3RhdHVz ID0gU3VwcGxpY2FudC0+U2V0RGF0YSAoDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Vw cGxpY2FudCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICBFZmlTdXBwbGljYW50ODAyMTFQ c2tQYXNzd29yZCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICBBc2NpaVBhc3N3b3JkLA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgIChTdHJMZW4gKFByb2ZpbGUtPlBhc3N3b3JkKSAr IDEpICogc2l6ZW9mIChDSEFSOCkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KKyAg fQ0KKw0KICAgWmVyb01lbSAoQXNjaWlQYXNzd29yZCwgQXNjaWlTdHJMZW4gKChDSEFSOCAqKUFz Y2lpUGFzc3dvcmQpICsgMSk7DQogICBGcmVlUG9vbCAoQXNjaWlQYXNzd29yZCk7DQogDQpAQCAt NDY2LDYgKzQ3Niw3IEBAIFdpZmlNZ3JDb25maWdFYXAgKA0KICAgKQ0KIHsNCiAgIEVGSV9TVEFU VVMgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KKyAgRUZJX1dJRklfUFJPRklMRV9TWU5D X1BST1RPQ09MICAqV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2w7DQogICBFRklfRUFQX0NPTkZJR1VS QVRJT05fUFJPVE9DT0wgICpFYXBDb25maWc7DQogICBFRklfRUFQX1RZUEUgICAgICAgICAgICAg ICAgICAgIEVhcEF1dGhNZXRob2Q7DQogICBFRklfRUFQX1RZUEUgICAgICAgICAgICAgICAgICAg IEVhcFNlY29uZEF1dGhNZXRob2Q7DQpAQCAtNTY3LDcgKzU3OCwxMyBAQCBXaWZpTWdyQ29uZmln RWFwICgNCiAgICAgICByZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQogICAgIH0NCiANCi0g ICAgVW5pY29kZVN0clRvQXNjaWlTdHJTIChQcm9maWxlLT5FYXBJZGVudGl0eSwgSWRlbnRpdHks IElkZW50aXR5U2l6ZSk7DQorICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKCZnRWZp V2lGaVByb2ZpbGVTeW5jUHJvdG9jb2xHdWlkLCBOVUxMLCAoVk9JRCAqKikmV2lGaVByb2ZpbGVT eW5jUHJvdG9jb2wpOw0KKyAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAgIENv cHlNZW0gKElkZW50aXR5LCAmUHJvZmlsZS0+RWFwSWRlbnRpdHksIElkZW50aXR5U2l6ZSk7DQor ICAgIH0gZWxzZSB7DQorICAgICAgVW5pY29kZVN0clRvQXNjaWlTdHJTIChQcm9maWxlLT5FYXBJ ZGVudGl0eSwgSWRlbnRpdHksIElkZW50aXR5U2l6ZSk7DQorICAgIH0NCisNCiAgICAgU3RhdHVz ID0gRWFwQ29uZmlnLT5TZXREYXRhICgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhcENv bmZpZywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEVGSV9FQVBfVFlQRV9JREVOVElUWSwg QEAgLTg5Miw2ICs5MDksMTMzIEBAIFdpZmlNZ3JQcmVwYXJlQ29ubmVjdGlvbiAoDQogICByZXR1 cm4gRUZJX1NVQ0NFU1M7DQogfQ0KIA0KKy8qKg0KKyAgV2lsbCByZXNldCBOaUMgZGF0YSwgZ2V0 IHByb2ZpbGUgZnJvbSBwcm9maWxlIHN5bmMgZHJpdmVyLCBhbmQgc2VuZCANCitmb3INCisgIGFu b3RoZXIgY29ubmVjdGlvbiBhdHRlbXB0LlRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBjYWxs ZWQgbW9yZSANCit0aGFuDQorICAzIHRpbWVzLg0KKw0KKyAgQHBhcmFtW2luXSAgV2lGaVByb2Zp bGVTeW5jUHJvdG9jb2wgIFRoZSB0YXJnZXQgbmV0d29yayBwcm9maWxlIHRvIGNvbm5lY3QuDQor DQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICAgICAgVGhlIG9wZXJhdGlvbiBp cyBjb21wbGV0ZWQuDQorICBAcmV0dmFsIG90aGVyICAgICAgICAgICAgICAgICAgICAgICAgT3Bl cmF0aW9uIGZhaWx1cmUuDQorDQorKiovDQorRUZJX1NUQVRVUw0KK0Nvbm5lY3Rpb25SZXRyeSAo DQorICBJTiAgIEVGSV9XSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTCAgKldpRmlQcm9maWxlU3lu Y1Byb3RvY29sDQorICApDQorew0KKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdGF0dXM7DQorICBXSUZJX01HUl9ERVZJQ0VfREFUQSAgICAgICAgICAgICAgICAg ICAgICpOaWM7DQorICBFRklfV0lSRUxFU1NfTUFDX0NPTk5FQ1RJT05fSUlfUFJPVE9DT0wgICpX bXA7DQorICBFRklfU1VQUExJQ0FOVF9QUk9UT0NPTCAgICAgICAgICAgICAgICAgICpTdXBwbGlj YW50Ow0KKyAgRUZJX0VBUF9DT05GSUdVUkFUSU9OX1BST1RPQ09MICAgICAgICAgICAqRWFwQ29u ZmlnOw0KKw0KKyAgTmljID0gTlVMTDsNCisNCisgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9j b2wgKA0KKyAgICAgICAgICAgICAgICAgICZnRWZpV2lGaTJQcm90b2NvbEd1aWQsDQorICAgICAg ICAgICAgICAgICAgTlVMTCwNCisgICAgICAgICAgICAgICAgICAoVk9JRCAqKikmV21wDQorICAg ICAgICAgICAgICAgICAgKTsNCisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgcmV0 dXJuIFN0YXR1czsNCisgIH0NCisNCisgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0K KyAgICAgICAgICAgICAgICAgICZnRWZpU3VwcGxpY2FudFByb3RvY29sR3VpZCwNCisgICAgICAg ICAgICAgICAgICBOVUxMLA0KKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZTdXBwbGljYW50 DQorICAgICAgICAgICAgICAgICAgKTsNCisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisg ICAgU3VwcGxpY2FudCA9IE5VTEw7DQorICB9DQorDQorICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVBy b3RvY29sICgNCisgICAgICAgICAgICAgICAgICAmZ0VmaUVhcENvbmZpZ3VyYXRpb25Qcm90b2Nv bEd1aWQsDQorICAgICAgICAgICAgICAgICAgTlVMTCwNCisgICAgICAgICAgICAgICAgICAoVk9J RCAqKikmRWFwQ29uZmlnDQorICAgICAgICAgICAgICAgICAgKTsNCisgIGlmIChFRklfRVJST1Ig KFN0YXR1cykpIHsNCisgICAgRWFwQ29uZmlnID0gTlVMTDsNCisgIH0NCisNCisgIC8vDQorICAv LyBJbml0aWFsaXplIE5pYyBkZXZpY2UgZGF0YQ0KKyAgLy8NCisgIE5pYyA9IEFsbG9jYXRlWmVy b1Bvb2wgKHNpemVvZiAoV0lGSV9NR1JfREVWSUNFX0RBVEEpKTsgIGlmIChOaWMgPT0NCisgTlVM TCkgew0KKyAgICBTdGF0dXMgPSBFRklfT1VUX09GX1JFU09VUkNFUzsNCisgICAgcmV0dXJuIFN0 YXR1czsNCisgIH0NCisNCisgIE5pYy0+U2lnbmF0dXJlICAgICAgICAgICA9IFdJRklfTUdSX0RF VklDRV9EQVRBX1NJR05BVFVSRTsNCisgIE5pYy0+UHJpdmF0ZSAgICAgICAgICAgICA9IG1Qcml2 YXRlOw0KKyAgTmljLT5XbXAgICAgICAgICAgICAgICAgID0gV21wOw0KKyAgTmljLT5TdXBwbGlj YW50ICAgICAgICAgID0gU3VwcGxpY2FudDsNCisgIE5pYy0+RWFwQ29uZmlnICAgICAgICAgICA9 IEVhcENvbmZpZzsNCisgIE5pYy0+VXNlclNlbGVjdGVkUHJvZmlsZSA9IE5VTEw7DQorICBOaWMt Pk9uZVRpbWVTY2FuUmVxdWVzdCAgPSBGQUxTRTsNCisNCisgIGlmIChOaWMtPlN1cHBsaWNhbnQg IT0gTlVMTCkgew0KKyAgICBTdGF0dXMgPSBXaWZpTWdyR2V0U3VwcG9ydGVkU3VpdGVzIChOaWMp OyAgfQ0KKw0KKyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgSW5pdGlhbGl6ZUxp c3RIZWFkICgmTmljLT5Qcm9maWxlTGlzdCk7DQorDQorICAgIE5pYy0+Q29ubmVjdFBlbmRpbmdO ZXR3b3JrID0gKFdJRklfTUdSX05FVFdPUktfUFJPRklMRSAqKUFsbG9jYXRlWmVyb1Bvb2wgKHNp emVvZiAoV0lGSV9NR1JfTkVUV09SS19QUk9GSUxFKSk7DQorICAgIGlmIChOaWMtPkNvbm5lY3RQ ZW5kaW5nTmV0d29yayA9PSBOVUxMKSB7DQorICAgICAgU3RhdHVzID0gRUZJX09VVF9PRl9SRVNP VVJDRVM7DQorICAgICAgREVCVUcgKChERUJVR19FUlJPUiwgIltXaUZpIENvbm5lY3Rpb24gTWFu YWdlcl0gRmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgQ29ubmVjdFBlbmRpbmdOZXR3b3Jr XG4iKSk7DQorICAgICAgZ290byBFUlJPUjsNCisgICAgfQ0KKw0KKyAgICBTdGF0dXMgPSBXaUZp UHJvZmlsZVN5bmNQcm90b2NvbC0+V2lmaVByb2ZpbGVTeW5jR2V0UHJvZmlsZSAoTmljLT5Db25u ZWN0UGVuZGluZ05ldHdvcmssIE5pYy0+TWFjQWRkcmVzcyk7DQorICAgIGlmICghRUZJX0VSUk9S IChTdGF0dXMpICYmIChOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yayAhPSBOVUxMKSkgew0KKyAg ICAgIFN0YXR1cyA9IFdpZmlNZ3JDb25uZWN0VG9OZXR3b3JrIChOaWMsIE5pYy0+Q29ubmVjdFBl bmRpbmdOZXR3b3JrKTsNCisgICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAg ICAgcmV0dXJuIFN0YXR1czsNCisgICAgICB9DQorICAgIH0gZWxzZSB7DQorICAgICAgREVCVUcg KChERUJVR19FUlJPUiwgIltXaUZpIENvbm5lY3Rpb24gTWFuYWdlcl0gRmFpbGVkIHRvIGdldCBX aUZpIHByb2ZpbGUgd2l0aCBzdGF0dXMgJXJcbiIsIFN0YXR1cykpOw0KKyAgICB9DQorICB9IGVs c2Ugew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiW1dpRmkgQ29ubmVjdGlvbiBNYW5hZ2Vy XSBGYWlsZWQgdG8gZ2V0IA0KKyBTdXBwb3J0ZWQgc3VpdGVzIHdpdGggc3RhdHVzICVyXG4iLCBT dGF0dXMpKTsgIH0NCisNCisgIGlmIChOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yayAhPSBOVUxM KSB7DQorICAgIGlmIChOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yay0+TmV0d29yay5BS01TdWl0 ZSAhPSBOVUxMKSB7DQorICAgICAgRnJlZVBvb2wgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3Jr LT5OZXR3b3JrLkFLTVN1aXRlKTsNCisgICAgfQ0KKw0KKyAgICBpZiAoTmljLT5Db25uZWN0UGVu ZGluZ05ldHdvcmstPk5ldHdvcmsuQ2lwaGVyU3VpdGUgIT0gTlVMTCkgew0KKyAgICAgIEZyZWVQ b29sIChOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yay0+TmV0d29yay5DaXBoZXJTdWl0ZSk7DQor ICAgIH0NCisNCisgICAgRnJlZVBvb2wgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrKTsgIH0N CisNCitFUlJPUjoNCisgIGlmIChOaWMtPlN1cHBsaWNhbnQgIT0gTlVMTCkgew0KKyAgICBpZiAo TmljLT5TdXBwb3J0ZWRTdWl0ZXMuU3VwcG9ydGVkQUtNU3VpdGVzICE9IE5VTEwpIHsNCisgICAg ICBGcmVlUG9vbCAoTmljLT5TdXBwb3J0ZWRTdWl0ZXMuU3VwcG9ydGVkQUtNU3VpdGVzKTsNCisg ICAgfQ0KKw0KKyAgICBpZiAoTmljLT5TdXBwb3J0ZWRTdWl0ZXMuU3VwcG9ydGVkU3dDaXBoZXJT dWl0ZXMgIT0gTlVMTCkgew0KKyAgICAgIEZyZWVQb29sIChOaWMtPlN1cHBvcnRlZFN1aXRlcy5T dXBwb3J0ZWRTd0NpcGhlclN1aXRlcyk7DQorICAgIH0NCisNCisgICAgaWYgKE5pYy0+U3VwcG9y dGVkU3VpdGVzLlN1cHBvcnRlZEh3Q2lwaGVyU3VpdGVzICE9IE5VTEwpIHsNCisgICAgICBGcmVl UG9vbCAoTmljLT5TdXBwb3J0ZWRTdWl0ZXMuU3VwcG9ydGVkSHdDaXBoZXJTdWl0ZXMpOw0KKyAg ICB9DQorICB9DQorDQorICBGcmVlUG9vbCAoTmljKTsNCisNCisgIHJldHVybiBTdGF0dXM7DQor fQ0KKw0KIC8qKg0KICAgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGZvciBjb25uZWN0IG9wZXJhdGlv bi4NCiANCkBAIC05MDgsMTIgKzEwNTIsMTMgQEAgV2lmaU1nck9uQ29ubmVjdEZpbmlzaGVkICgN CiAgIElOICBWT0lEICAgICAgICpDb250ZXh0DQogICApDQogew0KLSAgRUZJX1NUQVRVUyAgICAg ICAgICAgICAgICAgU3RhdHVzOw0KLSAgV0lGSV9NR1JfTUFDX0NPTkZJR19UT0tFTiAgKkNvbmZp Z1Rva2VuOw0KLSAgV0lGSV9NR1JfTkVUV09SS19QUk9GSUxFICAgKkNvbm5lY3RlZFByb2ZpbGU7 DQotICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICBTZWN1cml0eVR5cGU7DQotICBVSU5UOCAg ICAgICAgICAgICAgICAgICAgICBTU0lkTGVuOw0KLSAgQ0hBUjggICAgICAgICAgICAgICAgICAg ICAgKkFzY2lpU1NJZDsNCisgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgU3RhdHVz Ow0KKyAgV0lGSV9NR1JfTUFDX0NPTkZJR19UT0tFTiAgICAgICAqQ29uZmlnVG9rZW47DQorICBX SUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgICAgICAgICpDb25uZWN0ZWRQcm9maWxlOw0KKyAgVUlO VDggICAgICAgICAgICAgICAgICAgICAgICAgICBTZWN1cml0eVR5cGU7DQorICBVSU5UOCAgICAg ICAgICAgICAgICAgICAgICAgICAgIFNTSWRMZW47DQorICBDSEFSOCAgICAgICAgICAgICAgICAg ICAgICAgICAgICpBc2NpaVNTSWQ7DQorICBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0wg ICpXaUZpUHJvZmlsZVN5bmNQcm90b2NvbDsNCiANCiAgIEFTU0VSVCAoQ29udGV4dCAhPSBOVUxM KTsNCiANCkBAIC05MjUsNiArMTA3MCwyNCBAQCBXaWZpTWdyT25Db25uZWN0RmluaXNoZWQgKA0K ICAgQVNTRVJUIChDb25maWdUb2tlbi0+VHlwZSA9PSBUb2tlblR5cGVDb25uZWN0TmV0d29ya1Rv a2VuKTsNCiANCiAgIEFTU0VSVCAoQ29uZmlnVG9rZW4tPlRva2VuLkNvbm5lY3ROZXR3b3JrVG9r ZW4gIT0gTlVMTCk7DQorDQorICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgmZ0VmaVdp RmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCwgTlVMTCwgDQorIChWT0lEICoqKSZXaUZpUHJvZmls ZVN5bmNQcm90b2NvbCk7ICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBXaUZpUHJv ZmlsZVN5bmNQcm90b2NvbC0+V2lmaVByb2ZpbGVTeW5jU2V0Q29ubmVjdFN0YXRlIChDb25maWdU b2tlbi0+VG9rZW4uQ29ubmVjdE5ldHdvcmtUb2tlbi0+UmVzdWx0Q29kZSk7DQorICAgIGlmICgo bVdpZmlDb25uZWN0aW9uQ291bnQgPCBNQVhfV0lGSV9DT05ORVRJT05fQVRURU1QVFMpICYmDQor ICAgICAgICAoQ29uZmlnVG9rZW4tPlRva2VuLkNvbm5lY3ROZXR3b3JrVG9rZW4tPlJlc3VsdENv ZGUgIT0gQ29ubmVjdFN1Y2Nlc3MpKQ0KKyAgICB7DQorICAgICAgbVdpZmlDb25uZWN0aW9uQ291 bnQrKzsNCisgICAgICBnQlMtPkNsb3NlRXZlbnQgKEV2ZW50KTsNCisgICAgICBTdGF0dXMgPSBD b25uZWN0aW9uUmV0cnkgKFdpRmlQcm9maWxlU3luY1Byb3RvY29sKTsNCisgICAgICBpZiAoIUVG SV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAgICAgcmV0dXJuOw0KKyAgICAgIH0NCisNCisgICAg ICBXaUZpUHJvZmlsZVN5bmNQcm90b2NvbC0+V2lmaVByb2ZpbGVTeW5jU2V0Q29ubmVjdFN0YXRl IChTdGF0dXMpOw0KKyAgICB9DQorICB9DQorDQogICBpZiAoQ29uZmlnVG9rZW4tPlRva2VuLkNv bm5lY3ROZXR3b3JrVG9rZW4tPlN0YXR1cyAhPSBFRklfU1VDQ0VTUykgew0KICAgICBpZiAoQ29u ZmlnVG9rZW4tPk5pYy0+T25lVGltZUNvbm5lY3RSZXF1ZXN0KSB7DQogICAgICAgLy8NCmRpZmYg LS1naXQgYS9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlv bk1nck1pc2MuYyBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25u ZWN0aW9uTWdyTWlzYy5jDQppbmRleCA0YWQ1NjQzYzI0Li44N2FkZmM1MDMzIDEwMDY0NA0KLS0t IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JN aXNjLmMNCisrKyBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25u ZWN0aW9uTWdyTWlzYy5jDQpAQCAtNjcyLDEwICs2NzIsMjMgQEAgV2lmaU1nckNsZWFuUHJvZmls ZVNlY3JldHMgKA0KICAgSU4gIFdJRklfTUdSX05FVFdPUktfUFJPRklMRSAgKlByb2ZpbGUNCiAg ICkNCiB7DQorICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCisgIEVG SV9XSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTCAgKldpRmlQcm9maWxlU3luY1Byb3RvY29sOw0K Kw0KICAgWmVyb01lbSAoUHJvZmlsZS0+UGFzc3dvcmQsIHNpemVvZiAoQ0hBUjE2KSAqIFBBU1NX T1JEX1NUT1JBR0VfU0laRSk7DQogICBaZXJvTWVtIChQcm9maWxlLT5FYXBQYXNzd29yZCwgc2l6 ZW9mIChDSEFSMTYpICogUEFTU1dPUkRfU1RPUkFHRV9TSVpFKTsNCiAgIFplcm9NZW0gKFByb2Zp bGUtPlByaXZhdGVLZXlQYXNzd29yZCwgc2l6ZW9mIChDSEFSMTYpICogUEFTU1dPUkRfU1RPUkFH RV9TSVpFKTsNCiANCisgIC8vDQorICAvLyAgV2hlbiBFRkkgV2lGaSBwcm9maWxlIHN5bmMgcHJv dG9jb2wgaXMgZm91bmQgdGhlIHN5c3RlbSBpcyANCisgcGVyZm9ybWluZyBhIHJlY292ZXJ5IGJv b3QgaW4gc2VjdXJlICAvLyAgYm9vdCBtb2RlLiBUaGUgcHJvZmlsZSBzeW5jIA0KKyBkcml2ZXIg d2lsbCBtYW5hZ2UgdGhlIENBIGNlcnRpZmljYXRlLCBjbGllbnQgY2VydGlmaWNhdGUsIGFuZCBr ZXkgIC8vICBkYXRhLCBjbGVhbmluZyB0aGVtIGF0IGV4aXQgYm9vdCBzZXJ2aWNlcy4NCisgIC8v DQorICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgmZ0VmaVdpRmlQcm9maWxlU3luY1By b3RvY29sR3VpZCwgTlVMTCwgDQorIChWT0lEICoqKSZXaUZpUHJvZmlsZVN5bmNQcm90b2NvbCk7 ICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICByZXR1cm47DQorICB9DQorDQogICBp ZiAoUHJvZmlsZS0+Q0FDZXJ0RGF0YSAhPSBOVUxMKSB7DQogICAgIFplcm9NZW0gKFByb2ZpbGUt PkNBQ2VydERhdGEsIFByb2ZpbGUtPkNBQ2VydFNpemUpOw0KICAgICBGcmVlUG9vbCAoUHJvZmls ZS0+Q0FDZXJ0RGF0YSk7DQotLQ0KMi4zNy4zLndpbmRvd3MuMQ0KDQoNCg0KDQoNCg0KDQoNCg0K DQoNCg==