From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web10.89973.1670975801031098411 for ; Tue, 13 Dec 2022 15:56:41 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=W7z27pKf; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670975801; x=1702511801; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=qT573YxFqo6H7l04hjriUENorG9/Bm94w/tTY/oZFKA=; b=W7z27pKfVMmewlg244YLQRWgDTmXqeg5Kxd3bSE+CHg4mrOOar6DDa7S gpDF25aS7Rtaxdibk2rDcbzFCAwgjnv3PV/XCfCES4nSke7LSn1iXjT5J MhLsbl2ts/+kReXaJ4cdD3jqfaG0x0QVmGOpcBZQK5PB7bczgVy6Ogx6l ZMaqfkqEqdw1lCcl1ULPqKV2BRImE7SCrHk/4Uv3A58wVfPLur7VKBbCd CmDkWGPjMRrnAisft5CmJeqL0i3+mMj9a5QOpGC66cbB6lc2h5kuqE7sP vp0uHdUJPE0EZMRitHyXLRwqB440ghqJdJSqhVPIdJfzWGVuv/ZCw1UAN Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10560"; a="319410806" X-IronPort-AV: E=Sophos;i="5.96,242,1665471600"; d="scan'208";a="319410806" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Dec 2022 15:56:33 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10560"; a="977613026" X-IronPort-AV: E=Sophos;i="5.96,242,1665471600"; d="scan'208";a="977613026" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga005.fm.intel.com with ESMTP; 13 Dec 2022 15:56:32 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Tue, 13 Dec 2022 15:56:32 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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; Tue, 13 Dec 2022 15:56:31 -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; Tue, 13 Dec 2022 15:56:31 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.170) 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; Tue, 13 Dec 2022 15:56:31 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KnCYTaD7rYmjoQMPK+hsdCXQgF0tu0Pe+8iVTUzErgtN5t/7P2QcIIRmv1bot1oRleoW95uW7DWI8tMu+yffcEUv0TsijssgMvpmOyx8qCama5aePL7e+COCsQjiWoglzfYOsi3rrrnxZFCFZCWUBWEu/8Vb/DX+SyycEiYkV45EEoE1letrThwxSYifJqN26tuZW9cNjWYU6tWao28G4BaHX0HIAuDRhTTLpvIieZP18KewLEquk1uT6zz7W+mYGQ38oiB4BEaOZbXtfJYaz2jDWngMioeT/mpZB7Qz24NWW25TY6pvT+6n3af3F6Otzwj++S6kUmKwf/ipQx8iPA== 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=qT573YxFqo6H7l04hjriUENorG9/Bm94w/tTY/oZFKA=; b=mnGYC+dH0hfJhQ1Wall/rDcEeaWWgDrHEEpGa9H4eOf1RmhLrpQSN1Ar7qHUCdVQvrSsrMYqcb3XQRmM4A0e9lT+/jcTKFpqNVUex7geSJRgGl8KHavIAgXfLWaWmRLzQxfFOk7CTjPYpuGU2ndpG8AKDFtB6iIl9hAbBAFhnexDsRFNpJShXqnHazfQ4XkCmDASZtlRTE4I4RgdFwcYKeJeaS2WNPG+Hv9IuBgPNG772wnjgtpClM+x7/M2HUQ63wtIg5q53A+v7QZYmA3dIIXEaJoiHPqNcCNgl76c0qO4x889HEGXycVYg9cGt0B5tiQ/oKL+ccbE0izliH13Cg== 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 CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by DM4PR11MB6214.namprd11.prod.outlook.com (2603:10b6:8:ac::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec 2022 23:56:29 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::5b3:916c:706d:b41b]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::5b3:916c:706d:b41b%5]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022 23:56:29 +0000 From: "Michael D Kinney" To: "Liu, Zhiguang" , "devel@edk2.groups.io" , Michael Kubacki , "Sean Brogan" , "Kinney, Michael D" CC: "Ni, Ray" Subject: Re: [edk2-devel] [PATCH] UnitTestFrameworkPkg: Modify APIs in UnitTestPersistenceLib Thread-Topic: [edk2-devel] [PATCH] UnitTestFrameworkPkg: Modify APIs in UnitTestPersistenceLib Thread-Index: AQHZCTM/PtZjfGWiGkyWIvBhZzLCmK5p5QWAgAKldOA= Date: Tue, 13 Dec 2022 23:56:29 +0000 Message-ID: References: <172E1CF5498F8F29.13790@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: CO1PR11MB4929:EE_|DM4PR11MB6214:EE_ x-ms-office365-filtering-correlation-id: 4286b1f5-a5af-42b0-0c68-08dadd65a75f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: fi+2uUiJzICBhG3cFKZXugbkC20h78m7OEZHRe/nbnnDSXXZbffJO8A90rWMi3rlIzQvuEeoOnmLdKrYTuuG+QhIrUG0hCen2j/Bqh8xPv8TcnVXZF23arrL8ute7cbrBB42SJkNtZP1g42oNs5pxHDObt52/Mdi+iEaHd/reDCqoKx9XccPvv2X1EDwfPmCEwJHH8MkWuob2kn93gPWGhkcImNsqzOQquEeFUlvYllMWlA2iWGAaw/DV6NIFVdN1REDSlXiZwobEGkFwOX7yn9yuaquJXbPaTvZEmOqngAbQ7WMFVibiJBomIa7ez9Ncp404QCRmNloEAiQSgc7/0gUMXAlzFOdMYYWqSTJ1lDJNjRyv7iTIWjPGVInwQWzOtmIIYCvbH1VdiSkgUMgxbTGUq9VuATf3Gf7VhzxNezezy8MGoaQ7oIvY2ZRuod3kWnYgLKJCYao8czN+aHWHPgFwlpcLLK53DNp+JvWWpj0UVyf8RfbxpN16nrZX2NUufUVOhlMXkptzuRoODqBbfa6eI63VumhP2fh8+raFN4DMaiqPoR0dYXceio58QgMsSHe9UHPWClgudxfsbalMGOm8nJvN1g1C5RPrznFnfU23W2Uq+Lb5C9YBYwqG/cHQcUCLDn5Jc/2f01r8jzuaza6++FiRQeSmbO7dcpJmtusABWAg2gZkwQTYt6d4//zwfTQ2H00QS5IXLiogWrvSKVK6CDZIdDQuCnfj719V0axKTH8Z8EW3s2YgYUYq3Odu9Mnu1jQQO7Bdzva+gphFA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(136003)(366004)(396003)(39860400002)(451199015)(86362001)(33656002)(52536014)(55016003)(8936002)(107886003)(71200400001)(38100700002)(66899015)(966005)(122000001)(82960400001)(478600001)(5660300002)(30864003)(41300700001)(66556008)(4326008)(316002)(45080400002)(38070700005)(186003)(110136005)(66446008)(66946007)(6506007)(66476007)(26005)(8676002)(76116006)(53546011)(9686003)(64756008)(7696005)(83380400001)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?T3Bubk8vSDhqQ1BhSWZIeHM0cVNZU2R3dnFBQXdFM0ZZR1hIRENUTCtkb01a?= =?utf-8?B?Q2FRdXNHZmxuZTFLS3JrWGdjK1lsdGo0c2o5dnJXdWl0cWNzeEF0Rjk4T0Qr?= =?utf-8?B?Yzh1Ni9KYVAydkxhSDN5ekxVVnpWVmU4MVFWTTk5SVRPZytBTnlBQ0xBbUNo?= =?utf-8?B?L2ZJb0JyOU9jWlhZMXA4TEk0QWFxcWs1YmlyUUM2bnFxeDJqNm5mbnB5VVJo?= =?utf-8?B?VkdYR3NTajkxV3NMZ0EzOEFlSHhhNnVqb0VUQ2MyeWJ5eFA5cFBuNUpqK3Ix?= =?utf-8?B?TGdMVjE2TEoxZVZUeUNrUUhYeDQ1OWtrUlcydHE0d0MrV0tCWVBFN2VPTWRy?= =?utf-8?B?VkFTNXBPSzRKSk10eHRvTVcxcEY4aDFINElZVEFvcXdJaUlNSEoxRDZkekwz?= =?utf-8?B?RDVJMEhNNmxtN0ZPYXMyaEJVd0FIeUpPRUNRSlUzVmJSVnh4UGdmL2twU1Vm?= =?utf-8?B?OHp1RFVwQ3pNYmxwQ0I5czg5OUZOOWM4RXJyTjFRUTl1QStGeGVsWVNCazhs?= =?utf-8?B?UUNFQ1pxOFE3R25XTFNnbmRmcTdhUHprRnNIaXVmNVdZU0FtUnlMdHBCNDlI?= =?utf-8?B?clErUkV1bCtSb3FwUzZ1ZU5QbTVZbEFXZGFDYjlNVHRFRnRQeU4yRndzT1lz?= =?utf-8?B?bjJHUlhxUFRoQW9EQWQ5ZGdyVUVXaSt4aUV6ZmJEMjFOOW4rWXZhUmlCRGxN?= =?utf-8?B?OEo2emVJUlN1V2ZWU0tkUWxoejNhU1RuMlNQWmNwOGhhSExDR1NJdHJ2dW5t?= =?utf-8?B?bDNCcGNPeFZGUnJKdmN6L0hXR0FEcG9LTUVYbzl0Um90RUVYQ0x4dGk3VmN1?= =?utf-8?B?TnBCVFJwUzJxZldsbndZNk9qMldGWlhpMUV4dzZtWlpkZjc3UzE4Z253Tkpx?= =?utf-8?B?QkRpNHlZK2ROTDZGSkovLzcveGtsWDNEci9Kc3RHMUg1cWRyblpVUHh0T1FJ?= =?utf-8?B?N2hJblRENkN5WHgvTmJIT3BKZFdPcVBucitvZUhzaXY0d1NDZ0RVdWlKdGZJ?= =?utf-8?B?UXdoVEJ4bUczQ2E5ZUh6TWg2SVRKYUVKOGt6cDU5WWwrdWZLd2ZDRkVwQnQz?= =?utf-8?B?RXlGVklydit4ajlQM2ozR2I1VVlnb05wcWlZV2J1QThFTCt3TjR5Z1EwOEJa?= =?utf-8?B?KzRTZE13VzNPaUdFZmdYeGNieHlqU2ZkZ0t0WWtVL3B3YTBvamU5RjlyNXlK?= =?utf-8?B?YjhRZFJLMkcrQ3VrU1Z1UXRQVWpUOHREeXIyTElTa3lUa3p6SlZsNjFtSFE0?= =?utf-8?B?V0VZbE9oWks1U0Y4dFp4Njd1N2hvak1ZNzZ0eDNyUEZQQ3hQNWlSeVUvbTJ0?= =?utf-8?B?dDFlWkFVVkpwaHVhNWpuTkJwaS9hQWhoU3hHTmkwKzdOdWU3d3NsYjZhdllz?= =?utf-8?B?eFA5aXpPWEYyd2xQZlZKeFJMZ2d3dXd1Q21CWmEzaFg0T1I4MGorTWhiZHBw?= =?utf-8?B?STBRdHRYMjkwZjlXZjh3VnRWcWxCVUJsYVR1bVJVUnhnd0E5NDB3Zk03dWZi?= =?utf-8?B?TTArTEhuMzRYZEUxb1Q2enNMZHloT1VJalVVSGhlRTNyVDJDQmt0cDlIYlNp?= =?utf-8?B?aHQxZkhWN3VmbVEwc3B3dzRRKzBqY3BQNzAwd3hUclNrcmtXM3VPdXQrejYx?= =?utf-8?B?NlFSeVVxaVpJdG02VHZnSE5XU0Q2bDM5cDdjZGwzWndSMEVQTjBkZFVhbmtQ?= =?utf-8?B?OWZ2d3RqNjVUOWdjTU54L0pmY0gxdU5KbGlDaUZack9uL01zQkMwU3VXUlZ5?= =?utf-8?B?T25JOHMrSGJpQVp6OHhLRzcvdk5JU2t3VGJFZ1RxVEtQcTFsSmJmejI3MTZv?= =?utf-8?B?SGJ5ZXBaV3JMdWNFTDBDNyswbDVhcUpDYUJ2TG40SFEzZnRxekFXVDFRL3B2?= =?utf-8?B?eU5rcTRPYy83bU9kbjQvQW5nZmZVVFdMN0M4VWxuV2w1ZEhQN2ZVMnd0bzJE?= =?utf-8?B?b1ZKTU5CcVlOckxvVlhNR2I1b0U3MlhRRkg2WXVkSytTQ3lWMlVpTVVMSU9P?= =?utf-8?B?ckJzN0FIaFN1bExwMXVKQ0kvczI5YnM1RzFRbVBaTFlkbjBkSjdRbEp1NDRE?= =?utf-8?B?R3p6bXZ4cXJtWFc3bTFxaXNpbHJUMXMxVXlySEZoZW9rMDVaUHl1TndObk82?= =?utf-8?B?b1V0MDg0VGVkWTArcFdVcTcxQ0I5TWdIWUhYTW81WjZzYXlxRWRxd2g5dnQw?= =?utf-8?B?eXc9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4286b1f5-a5af-42b0-0c68-08dadd65a75f X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2022 23:56:29.5493 (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: +W6Tdha7caiYJm30Xokn0vbSYhQwGP351KCJERLi/fBwFxRDNBXMrQ7N4IHaUW+v5VxvY0HYylZno6K8bUWmMUNk5Qo/Y+mnMXyCUPGDsVA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB6214 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KDQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGl1LCBa aGlndWFuZyA8emhpZ3VhbmcubGl1QGludGVsLmNvbT4NCj4gU2VudDogU3VuZGF5LCBEZWNlbWJl ciAxMSwgMjAyMiAxMTozMyBQTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IExpdSwgWmhp Z3VhbmcgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFl bC5kLmtpbm5leUBpbnRlbC5jb20+OyBNaWNoYWVsDQo+IEt1YmFja2kgPG1pa3ViYWNrQGxpbnV4 Lm1pY3Jvc29mdC5jb20+OyBTZWFuIEJyb2dhbiA8c2Vhbi5icm9nYW5AbWljcm9zb2Z0LmNvbT4N Cj4gQ2M6IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJFOiBbZWRrMi1k ZXZlbF0gW1BBVENIXSBVbml0VGVzdEZyYW1ld29ya1BrZzogTW9kaWZ5IEFQSXMgaW4gVW5pdFRl c3RQZXJzaXN0ZW5jZUxpYg0KPiANCj4gSGkgVW5pdFRlc3RGcmFtZXdvcmtQa2cgTWFpbnRhaW5l cnMgYW5kIHJldmlld2VycywNCj4gDQo+IENvdWxkIHlvdSBoZWxwIHJldmlldyB0aGlzIHBhdGNo Pw0KPiANCj4gVGhhbmtzDQo+IFpoaWd1YW5nDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBz LmlvPiBPbiBCZWhhbGYgT2YNCj4gPiBaaGlndWFuZyBMaXUNCj4gPiBTZW50OiBUdWVzZGF5LCBE ZWNlbWJlciA2LCAyMDIyIDE6MjYgUE0NCj4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4g PiBDYzogTGl1LCBaaGlndWFuZyA8emhpZ3VhbmcubGl1QGludGVsLmNvbT47IEtpbm5leSwgTWlj aGFlbCBEDQo+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgTWljaGFlbCBLdWJhY2tp DQo+ID4gPG1pa3ViYWNrQGxpbnV4Lm1pY3Jvc29mdC5jb20+OyBTZWFuIEJyb2dhbg0KPiA+IDxz ZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4g PiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENIXSBVbml0VGVzdEZyYW1ld29ya1BrZzogTW9k aWZ5IEFQSXMgaW4NCj4gPiBVbml0VGVzdFBlcnNpc3RlbmNlTGliDQo+ID4NCj4gPiBSRUY6IGh0 dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE4Mw0KPiA+DQo+ ID4gVW5pdFRlc3RQZXJzaXN0ZW5jZUxpYiBub3cgY29uc3VtZXMgcHJpdmF0ZSBzdHJ1Y3QgZGVm aW5pdGlvbi4NCj4gPiBNb2RpZnkgQVBJcyBpbiBVbml0VGVzdFBlcnNpc3RlbmNlTGliIHRvIG1h a2UgaXQgZWFzeSB0byBiZWNvbWUgYSBwdWJsaWMNCj4gPiBsaWJyYXJ5Lg0KPiA+DQo+ID4gQ2M6 IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+IENjOiBN aWNoYWVsIEt1YmFja2kgPG1pa3ViYWNrQGxpbnV4Lm1pY3Jvc29mdC5jb20+DQo+ID4gQ2M6IFNl YW4gQnJvZ2FuIDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tPg0KPiA+IENjOiBSYXkgTmkgPHJh eS5uaUBpbnRlbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogWmhpZ3VhbmcgTGl1IDx6aGlndWFu Zy5saXVAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICAuLi4vSW5jbHVkZS9MaWJyYXJ5L1VuaXRU ZXN0UGVyc2lzdGVuY2VMaWIuaCAgfCAxNCArKysrKysrLS0tLQ0KPiA+ICAuLi4vTGlicmFyeS9V bml0VGVzdExpYi9Vbml0VGVzdExpYi5jICAgICAgICAgfCAgNiArKystLQ0KPiA+ICAuLi4vVW5p dFRlc3RQZXJzaXN0ZW5jZUxpYk51bGwuYyAgICAgICAgICAgICAgfCAxMSArKysrKystLS0NCj4g PiAgLi4uL1VuaXRUZXN0UGVyc2lzdGVuY2VMaWJTaW1wbGVGaWxlU3lzdGVtLmMgIHwgMjMgKysr KysrKysrKysrLS0tLS0tLQ0KPiA+ICA0IGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyks IDE4IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL1VuaXRUZXN0RnJhbWV3b3Jr UGtnL0luY2x1ZGUvTGlicmFyeS9Vbml0VGVzdFBlcnNpc3RlbmNlTGliLmgNCj4gPiBiL1VuaXRU ZXN0RnJhbWV3b3JrUGtnL0luY2x1ZGUvTGlicmFyeS9Vbml0VGVzdFBlcnNpc3RlbmNlTGliLmgN Cj4gPiBpbmRleCBiZTI5ZTA3OWVjLi41NTQzYjc5YTBkIDEwMDY0NA0KPiA+IC0tLSBhL1VuaXRU ZXN0RnJhbWV3b3JrUGtnL0luY2x1ZGUvTGlicmFyeS9Vbml0VGVzdFBlcnNpc3RlbmNlTGliLmgN Cj4gPiArKysgYi9Vbml0VGVzdEZyYW1ld29ya1BrZy9JbmNsdWRlL0xpYnJhcnkvVW5pdFRlc3RQ ZXJzaXN0ZW5jZUxpYi5oDQo+ID4gQEAgLTQsNyArNCw3IEBADQo+ID4gICAgKGVnLiBhIHJlYm9v dC1iYXNlZCB0ZXN0KS4NCj4gPg0KPiA+ICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBv cmF0aW9uLjxCUj4NCj4gPiAtICBDb3B5cmlnaHQgKGMpIDIwMTkgLSAyMDIwLCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gKyAgQ29weXJpZ2h0IChjKSAy MDE5IC0gMjAyMiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiArIHJlc2VydmVk LjxCUj4NCj4gPiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiA+DQo+ID4gICoqLw0KPiA+IEBAIC0xMiw3ICsxMiw3IEBADQo+ID4gICNpZm5kZWYgX1VO SVRfVEVTVF9QRVJTSVNURU5DRV9MSUJfSF8NCj4gPiAgI2RlZmluZSBfVU5JVF9URVNUX1BFUlNJ U1RFTkNFX0xJQl9IXw0KPiA+DQo+ID4gLSNpbmNsdWRlIDxVbml0VGVzdEZyYW1ld29ya1R5cGVz Lmg+DQo+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VuaXRUZXN0TGliLmg+DQo+ID4NCj4gPiAgI2Rl ZmluZSBVTklUX1RFU1RfUEVSU0lTVEVOQ0VfTElCX1ZFUlNJT04gIDENCj4gPg0KPiA+IEBAIC00 MCw2ICs0MCw3IEBAIERvZXNDYWNoZUV4aXN0ICgNCj4gPiAgICBAcGFyYW1baW5dICBGcmFtZXdv cmtIYW5kbGUgICBBIHBvaW50ZXIgdG8gdGhlIGZyYW1ld29yayB0aGF0IGlzIGJlaW5nDQo+ID4g cGVyc2lzdGVkLg0KPiA+ICAgIEBwYXJhbVtpbl0gIFNhdmVEYXRhICAgICAgICAgIEEgcG9pbnRl ciB0byB0aGUgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIHNlcmlhbGl6ZWQNCj4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmcmFtZXdvcmsgaW50ZXJuYWwgc3RhdGUuDQo+ID4gKyAg QHBhcmFtW2luXSAgU2F2ZVN0YXRlU2l6ZSAgICAgVGhlIHNpemUgb2YgU2F2ZURhdGEgaW4gYnl0 ZXMuDQo+ID4NCj4gPiAgICBAcmV0dmFsICAgICBFRklfU1VDQ0VTUyAgIERhdGEgaXMgcGVyc2lz dGVkIGFuZCB0aGUgdGVzdCBjYW4gYmUgc2FmZWx5IHF1aXQuDQo+ID4gICAgQHJldHZhbCAgICAg T3RoZXJzICAgICAgICBEYXRhIGlzIG5vdCBwZXJzaXN0ZWQgYW5kIHRlc3QgY2Fubm90IGJlIHJl c3VtZWQNCj4gPiB1cG9uIGV4aXQuDQo+ID4gQEAgLTQ5LDcgKzUwLDggQEAgRUZJX1NUQVRVUw0K PiA+ICBFRklBUEkNCj4gPiAgU2F2ZVVuaXRUZXN0Q2FjaGUgKA0KPiA+ICAgIElOIFVOSVRfVEVT VF9GUkFNRVdPUktfSEFORExFICBGcmFtZXdvcmtIYW5kbGUsDQo+ID4gLSAgSU4gVU5JVF9URVNU X1NBVkVfSEVBREVSICAgICAgICpTYXZlRGF0YQ0KPiA+ICsgIElOIFZPSUQgICAgICAgICAgICAg ICAgICAgICAgICAqU2F2ZURhdGEsDQo+ID4gKyAgSU4gVUlOVE4gICAgICAgICAgICAgICAgICAg ICAgIFNhdmVTdGF0ZVNpemUNCj4gPiAgICApOw0KPiA+DQo+ID4gIC8qKg0KPiA+IEBAIC01Nyw4 ICs1OSw5IEBAIFNhdmVVbml0VGVzdENhY2hlICgNCj4gPiAgICBXaWxsIGFsbG9jYXRlIGEgYnVm ZmVyIHRvIGhvbGQgdGhlIGxvYWRlZCBkYXRhLg0KPiA+DQo+ID4gICAgQHBhcmFtW2luXSAgRnJh bWV3b3JrSGFuZGxlICAgQSBwb2ludGVyIHRvIHRoZSBmcmFtZXdvcmsgdGhhdCBpcyBiZWluZw0K PiA+IHBlcnNpc3RlZC4NCj4gPiAtICBAcGFyYW1baW5dICBTYXZlRGF0YSAgICAgICAgICBBIHBv aW50ZXIgcG9pbnRlciB0aGF0IHdpbGwgYmUgdXBkYXRlZCB3aXRoIHRoZQ0KPiA+IGFkZHJlc3MN Cj4gPiArICBAcGFyYW1bb3V0XSBTYXZlRGF0YSAgICAgICAgICBBIHBvaW50ZXIgcG9pbnRlciB0 aGF0IHdpbGwgYmUgdXBkYXRlZCB3aXRoDQo+ID4gdGhlIGFkZHJlc3MNCj4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvZiB0aGUgbG9hZGVkIGRhdGEgYnVmZmVyLg0KPiA+ICsg IEBwYXJhbVtvdXRdIFNhdmVTdGF0ZVNpemUgICAgIFJldHVybiB0aGUgc2l6ZSBvZiBTYXZlRGF0 YSBpbiBieXRlcy4NCj4gPg0KPiA+ICAgIEByZXR2YWwgICAgIEVGSV9TVUNDRVNTICAgICAgIERh dGEgaGFzIGJlZW4gbG9hZGVkIHN1Y2Nlc3NmdWxseSBhbmQgU2F2ZURhdGENCj4gPiBpcyB1cGRh dGVkDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIHBvaW50ZXIg dG8gdGhlIGJ1ZmZlci4NCj4gPiBAQCAtNzAsNyArNzMsOCBAQCBFRklfU1RBVFVTDQo+ID4gIEVG SUFQSQ0KPiA+ICBMb2FkVW5pdFRlc3RDYWNoZSAoDQo+ID4gICAgSU4gIFVOSVRfVEVTVF9GUkFN RVdPUktfSEFORExFICBGcmFtZXdvcmtIYW5kbGUsDQo+ID4gLSAgT1VUIFVOSVRfVEVTVF9TQVZF X0hFQURFUiAgICAgICAqKlNhdmVEYXRhDQo+ID4gKyAgT1VUIFZPSUQgICAgICAgICAgICAgICAg ICAgICAgICAqKlNhdmVEYXRhLA0KPiA+ICsgIE9VVCBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgKlNhdmVTdGF0ZVNpemUNCj4gPiAgICApOw0KPiA+DQo+ID4gICNlbmRpZg0KPiA+IGRpZmYg LS1naXQgYS9Vbml0VGVzdEZyYW1ld29ya1BrZy9MaWJyYXJ5L1VuaXRUZXN0TGliL1VuaXRUZXN0 TGliLmMNCj4gPiBiL1VuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvVW5pdFRlc3RMaWIvVW5p dFRlc3RMaWIuYw0KPiA+IGluZGV4IDY0ZDU4ODA3ODMuLjViNDQyZWQxMjIgMTAwNjQ0DQo+ID4g LS0tIGEvVW5pdFRlc3RGcmFtZXdvcmtQa2cvTGlicmFyeS9Vbml0VGVzdExpYi9Vbml0VGVzdExp Yi5jDQo+ID4gKysrIGIvVW5pdFRlc3RGcmFtZXdvcmtQa2cvTGlicmFyeS9Vbml0VGVzdExpYi9V bml0VGVzdExpYi5jDQo+ID4gQEAgLTIsNiArMiw3IEBADQo+ID4gICAgSW1wbGVtZW50IFVuaXRU ZXN0TGliDQo+ID4NCj4gPiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4N Cj4gPiArICBDb3B5cmlnaHQgKGMpIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz IHJlc2VydmVkLjxCUj4NCj4gPiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xh dXNlLVBhdGVudCAgKiovDQo+ID4NCj4gPiBAQCAtMjEwLDYgKzIxMSw3IEBAIEluaXRVbml0VGVz dEZyYW1ld29yayAoDQo+ID4gICAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgIFN0YXR1czsN Cj4gPiAgICBVTklUX1RFU1RfRlJBTUVXT1JLX0hBTkRMRSAgTmV3RnJhbWV3b3JrSGFuZGxlOw0K PiA+ICAgIFVOSVRfVEVTVF9GUkFNRVdPUksgICAgICAgICAqTmV3RnJhbWV3b3JrOw0KPiA+ICsg IFVJTlROICAgICAgICAgICAgICAgICAgICAgICBTYXZlU3RhdGVTaXplOw0KPiA+DQo+ID4gICAg U3RhdHVzICAgICAgID0gRUZJX1NVQ0NFU1M7DQo+ID4gICAgTmV3RnJhbWV3b3JrID0gTlVMTDsN Cj4gPiBAQCAtMjY3LDcgKzI2OSw3IEBAIEluaXRVbml0VGVzdEZyYW1ld29yayAoDQo+ID4gICAg Ly8gSWYgdGhlcmUgaXMgYSBwZXJzaXN0ZWQgY29udGV4dCwgbG9hZCBpdCBub3cuDQo+ID4gICAg Ly8NCj4gPiAgICBpZiAoRG9lc0NhY2hlRXhpc3QgKE5ld0ZyYW1ld29ya0hhbmRsZSkpIHsNCj4g PiAtICAgIFN0YXR1cyA9IExvYWRVbml0VGVzdENhY2hlIChOZXdGcmFtZXdvcmtIYW5kbGUsDQo+ ID4gKFVOSVRfVEVTVF9TQVZFX0hFQURFUiAqKikoJk5ld0ZyYW1ld29yay0+U2F2ZWRTdGF0ZSkp Ow0KPiA+ICsgICAgU3RhdHVzID0gTG9hZFVuaXRUZXN0Q2FjaGUgKE5ld0ZyYW1ld29ya0hhbmRs ZSwgKFZPSUQNCj4gPiArICoqKSgmTmV3RnJhbWV3b3JrLT5TYXZlZFN0YXRlKSwgJlNhdmVTdGF0 ZVNpemUpOw0KPiA+ICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+ICAgICAgICAv Lw0KPiA+ICAgICAgICAvLyBEb24ndCBhY3R1YWxseSByZXBvcnQgaXQgYXMgYW4gZXJyb3IsIGJ1 dCBlbWl0IGEgd2FybmluZy4NCj4gPiBAQCAtODUyLDcgKzg1NCw3IEBAIFNhdmVGcmFtZXdvcmtT dGF0ZSAoDQo+ID4gICAgLy8NCj4gPiAgICAvLyBBbGwgdGhhdCBzaG91bGQgYmUgbGVmdCB0byBk byBpcyBzYXZlIGl0IHVzaW5nIHRoZSBhc3NvY2lhdGVkIHBlcnNpc3RlbmNlIGxpYi4NCj4gPiAg ICAvLw0KPiA+IC0gIFN0YXR1cyA9IFNhdmVVbml0VGVzdENhY2hlIChGcmFtZXdvcmtIYW5kbGUs IEhlYWRlcik7DQo+ID4gKyAgU3RhdHVzID0gU2F2ZVVuaXRUZXN0Q2FjaGUgKEZyYW1ld29ya0hh bmRsZSwgSGVhZGVyLA0KPiA+ICsgSGVhZGVyLT5TYXZlU3RhdGVTaXplKTsNCj4gPiAgICBpZiAo RUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ID4gICAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWEg LSBDb3VsZCBub3Qgc2F2ZSBzdGF0ZSEgJXJcbiIsDQo+ID4gX19GVU5DVElPTl9fLCBTdGF0dXMp KTsNCj4gPiAgICAgIFN0YXR1cyA9IEVGSV9ERVZJQ0VfRVJST1I7DQo+ID4gZGlmZiAtLWdpdA0K PiA+IGEvVW5pdFRlc3RGcmFtZXdvcmtQa2cvTGlicmFyeS9Vbml0VGVzdFBlcnNpc3RlbmNlTGli TnVsbC9Vbml0VGVzdFBlcnNpcw0KPiA+IHRlbmNlTGliTnVsbC5jDQo+ID4gYi9Vbml0VGVzdEZy YW1ld29ya1BrZy9MaWJyYXJ5L1VuaXRUZXN0UGVyc2lzdGVuY2VMaWJOdWxsL1VuaXRUZXN0UGVy c2lzDQo+ID4gdGVuY2VMaWJOdWxsLmMNCj4gPiBpbmRleCBlMjgzMjc2NTJlLi5hYmIyNGNmZjk4 IDEwMDY0NA0KPiA+IC0tLQ0KPiA+IGEvVW5pdFRlc3RGcmFtZXdvcmtQa2cvTGlicmFyeS9Vbml0 VGVzdFBlcnNpc3RlbmNlTGliTnVsbC9Vbml0VGVzdFBlcnNpcw0KPiA+IHRlbmNlTGliTnVsbC5j DQo+ID4gKysrDQo+ID4gYi9Vbml0VGVzdEZyYW1ld29ya1BrZy9MaWJyYXJ5L1VuaXRUZXN0UGVy c2lzdGVuY2VMaWJOdWxsL1VuaXRUZXN0UGUNCj4gPiArKysgcnNpc3RlbmNlTGliTnVsbC5jDQo+ ID4gQEAgLTIsNiArMiw3IEBADQo+ID4gICAgVGhpcyBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgVW5p dCBUZXN0IFBlcnNpc3RlbmNlIExpYiB0aGF0IGRvZXMgbm90aGluZy4NCj4gPg0KPiA+ICAgIENv cHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLjxCUj4NCj4gPiArICBDb3B5cmlnaHQg KGMpIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4g PiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudCAgKiovDQo+ ID4NCj4gPiBAQCAtMzUsNiArMzYsNyBAQCBEb2VzQ2FjaGVFeGlzdCAoDQo+ID4gICAgQHBhcmFt W2luXSAgRnJhbWV3b3JrSGFuZGxlICBBIHBvaW50ZXIgdG8gdGhlIGZyYW1ld29yayB0aGF0IGlz IGJlaW5nDQo+ID4gcGVyc2lzdGVkLg0KPiA+ICAgIEBwYXJhbVtpbl0gIFNhdmVEYXRhICAgICAg ICAgQSBwb2ludGVyIHRvIHRoZSBidWZmZXIgY29udGFpbmluZyB0aGUgc2VyaWFsaXplZA0KPiA+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWV3b3JrIGludGVybmFsIHN0YXRl Lg0KPiA+ICsgIEBwYXJhbVtpbl0gIFNhdmVTdGF0ZVNpemUgICAgVGhlIHNpemUgb2YgU2F2ZURh dGEgaW4gYnl0ZXMuDQo+ID4NCj4gPiAgICBAcmV0dmFsICBFRklfU1VDQ0VTUyAgRGF0YSBpcyBw ZXJzaXN0ZWQgYW5kIHRoZSB0ZXN0IGNhbiBiZSBzYWZlbHkgcXVpdC4NCj4gPiAgICBAcmV0dmFs ICBPdGhlcnMgICAgICAgRGF0YSBpcyBub3QgcGVyc2lzdGVkIGFuZCB0ZXN0IGNhbm5vdCBiZSBy ZXN1bWVkIHVwb24NCj4gPiBleGl0Lg0KPiA+IEBAIC00NCw3ICs0Niw4IEBAIEVGSV9TVEFUVVMN Cj4gPiAgRUZJQVBJDQo+ID4gIFNhdmVVbml0VGVzdENhY2hlICgNCj4gPiAgICBJTiBVTklUX1RF U1RfRlJBTUVXT1JLX0hBTkRMRSAgRnJhbWV3b3JrSGFuZGxlLA0KPiA+IC0gIElOIFVOSVRfVEVT VF9TQVZFX0hFQURFUiAgICAgICAqU2F2ZURhdGENCj4gPiArICBJTiBWT0lEICAgICAgICAgICAg ICAgICAgICAgICAgKlNhdmVEYXRhLA0KPiA+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAg ICAgICBTYXZlU3RhdGVTaXplDQo+ID4gICAgKQ0KPiA+ICB7DQo+ID4gICAgcmV0dXJuIEVGSV9V TlNVUFBPUlRFRDsNCj4gPiBAQCAtNTUsOCArNTgsOSBAQCBTYXZlVW5pdFRlc3RDYWNoZSAoDQo+ ID4gICAgV2lsbCBhbGxvY2F0ZSBhIGJ1ZmZlciB0byBob2xkIHRoZSBsb2FkZWQgZGF0YS4NCj4g Pg0KPiA+ICAgIEBwYXJhbVtpbl0gIEZyYW1ld29ya0hhbmRsZSAgQSBwb2ludGVyIHRvIHRoZSBm cmFtZXdvcmsgdGhhdCBpcyBiZWluZw0KPiA+IHBlcnNpc3RlZC4NCj4gPiAtICBAcGFyYW1baW5d ICBTYXZlRGF0YSAgICAgICAgIEEgcG9pbnRlciBwb2ludGVyIHRoYXQgd2lsbCBiZSB1cGRhdGVk IHdpdGggdGhlDQo+ID4gYWRkcmVzcw0KPiA+ICsgIEBwYXJhbVtvdXRdIFNhdmVEYXRhICAgICAg ICAgQSBwb2ludGVyIHBvaW50ZXIgdGhhdCB3aWxsIGJlIHVwZGF0ZWQgd2l0aCB0aGUNCj4gPiBh ZGRyZXNzDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiB0aGUgbG9hZGVk IGRhdGEgYnVmZmVyLg0KPiA+ICsgIEBwYXJhbVtvdXRdIFNhdmVTdGF0ZVNpemUgICAgUmV0dXJu IHRoZSBzaXplIG9mIFNhdmVEYXRhIGluIGJ5dGVzLg0KPiA+DQo+ID4gICAgQHJldHZhbCAgRUZJ X1NVQ0NFU1MgIERhdGEgaGFzIGJlZW4gbG9hZGVkIHN1Y2Nlc3NmdWxseSBhbmQgU2F2ZURhdGEg aXMNCj4gPiB1cGRhdGVkDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYSBwb2lu dGVyIHRvIHRoZSBidWZmZXIuDQo+ID4gQEAgLTY4LDcgKzcyLDggQEAgRUZJX1NUQVRVUw0KPiA+ ICBFRklBUEkNCj4gPiAgTG9hZFVuaXRUZXN0Q2FjaGUgKA0KPiA+ICAgIElOICBVTklUX1RFU1Rf RlJBTUVXT1JLX0hBTkRMRSAgRnJhbWV3b3JrSGFuZGxlLA0KPiA+IC0gIE9VVCBVTklUX1RFU1Rf U0FWRV9IRUFERVIgICAgICAgKipTYXZlRGF0YQ0KPiA+ICsgIE9VVCBWT0lEICAgICAgICAgICAg ICAgICAgICAgICAgKipTYXZlRGF0YSwNCj4gPiArICBPVVQgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgICpTYXZlU3RhdGVTaXplDQo+ID4gICAgKQ0KPiA+ICB7DQo+ID4gICAgcmV0dXJuIEVG SV9VTlNVUFBPUlRFRDsNCj4gPiBkaWZmIC0tZ2l0DQo+ID4gYS9Vbml0VGVzdEZyYW1ld29ya1Br Zy9MaWJyYXJ5L1VuaXRUZXN0UGVyc2lzdGVuY2VMaWJTaW1wbGVGaWxlU3lzdGVtLw0KPiA+IFVu aXRUZXN0UGVyc2lzdGVuY2VMaWJTaW1wbGVGaWxlU3lzdGVtLmMNCj4gPiBiL1VuaXRUZXN0RnJh bWV3b3JrUGtnL0xpYnJhcnkvVW5pdFRlc3RQZXJzaXN0ZW5jZUxpYlNpbXBsZUZpbGVTeXN0ZW0v DQo+ID4gVW5pdFRlc3RQZXJzaXN0ZW5jZUxpYlNpbXBsZUZpbGVTeXN0ZW0uYw0KPiA+IGluZGV4 IGVkNGE3ZDE2MTUuLmQ3YTYyMTQ1ZGEgMTAwNjQ0DQo+ID4gLS0tDQo+ID4gYS9Vbml0VGVzdEZy YW1ld29ya1BrZy9MaWJyYXJ5L1VuaXRUZXN0UGVyc2lzdGVuY2VMaWJTaW1wbGVGaWxlU3lzdGVt Lw0KPiA+IFVuaXRUZXN0UGVyc2lzdGVuY2VMaWJTaW1wbGVGaWxlU3lzdGVtLmMNCj4gPiArKysN Cj4gPiBiL1VuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvVW5pdFRlc3RQZXJzaXN0ZW5jZUxp YlNpbXBsZUZpbGVTeXN0ZQ0KPiA+ICsrKyBtL1VuaXRUZXN0UGVyc2lzdGVuY2VMaWJTaW1wbGVG aWxlU3lzdGVtLmMNCj4gPiBAQCAtNCw2ICs0LDcgQEANCj4gPiAgICB2ZXJzaW9uIG9mIHRoZSBp bnRlcm5hbCB0ZXN0IHN0YXRlIGluIGNhc2UgdGhlIHRlc3QgbmVlZHMgdG8gcXVpdCBhbmQgcmVz dG9yZS4NCj4gPg0KPiA+ICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLjxC Uj4NCj4gPiArICBDb3B5cmlnaHQgKGMpIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln aHRzIHJlc2VydmVkLjxCUj4NCj4gPiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudCAgKiovDQo+ID4NCj4gPiBAQCAtMTYsNiArMTcsNyBAQA0KPiA+ICAjaW5j bHVkZSA8TGlicmFyeS9EZXZpY2VQYXRoTGliLmg+DQo+ID4gICNpbmNsdWRlIDxMaWJyYXJ5L1No ZWxsTGliLmg+DQo+ID4gICNpbmNsdWRlIDxQcm90b2NvbC9Mb2FkZWRJbWFnZS5oPg0KPiA+ICsj aW5jbHVkZSA8VW5pdFRlc3RGcmFtZXdvcmtUeXBlcy5oPg0KPiA+DQo+ID4gICNkZWZpbmUgQ0FD SEVfRklMRV9TVUZGSVggIEwiX0NhY2hlLmRhdCINCj4gPg0KPiA+IEBAIC0yMTMsNiArMjE1LDcg QEAgRG9lc0NhY2hlRXhpc3QgKA0KPiA+ICAgIEBwYXJhbVtpbl0gIEZyYW1ld29ya0hhbmRsZSAg QSBwb2ludGVyIHRvIHRoZSBmcmFtZXdvcmsgdGhhdCBpcyBiZWluZw0KPiA+IHBlcnNpc3RlZC4N Cj4gPiAgICBAcGFyYW1baW5dICBTYXZlRGF0YSAgICAgICAgIEEgcG9pbnRlciB0byB0aGUgYnVm ZmVyIGNvbnRhaW5pbmcgdGhlIHNlcmlhbGl6ZWQNCj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZyYW1ld29yayBpbnRlcm5hbCBzdGF0ZS4NCj4gPiArICBAcGFyYW1baW5dICBT YXZlU3RhdGVTaXplICAgIFRoZSBzaXplIG9mIFNhdmVEYXRhIGluIGJ5dGVzLg0KPiA+DQo+ID4g ICAgQHJldHZhbCAgRUZJX1NVQ0NFU1MgIERhdGEgaXMgcGVyc2lzdGVkIGFuZCB0aGUgdGVzdCBj YW4gYmUgc2FmZWx5IHF1aXQuDQo+ID4gICAgQHJldHZhbCAgT3RoZXJzICAgICAgIERhdGEgaXMg bm90IHBlcnNpc3RlZCBhbmQgdGVzdCBjYW5ub3QgYmUgcmVzdW1lZCB1cG9uDQo+ID4gZXhpdC4N Cj4gPiBAQCAtMjIyLDcgKzIyNSw4IEBAIEVGSV9TVEFUVVMNCj4gPiAgRUZJQVBJDQo+ID4gIFNh dmVVbml0VGVzdENhY2hlICgNCj4gPiAgICBJTiBVTklUX1RFU1RfRlJBTUVXT1JLX0hBTkRMRSAg RnJhbWV3b3JrSGFuZGxlLA0KPiA+IC0gIElOIFVOSVRfVEVTVF9TQVZFX0hFQURFUiAgICAgICAq U2F2ZURhdGENCj4gPiArICBJTiBWT0lEICAgICAgICAgICAgICAgICAgICAgICAgKlNhdmVEYXRh LA0KPiA+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAgICAgICBTYXZlU3RhdGVTaXplDQo+ ID4gICAgKQ0KPiA+ICB7DQo+ID4gICAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqRmlsZURl dmljZVBhdGg7IEBAIC0yODAsNyArMjg0LDcgQEANCj4gPiBTYXZlVW5pdFRlc3RDYWNoZSAoDQo+ ID4gICAgLy8NCj4gPiAgICAvLyBXcml0ZSB0aGUgZGF0YSB0byB0aGUgZmlsZS4NCj4gPiAgICAv Lw0KPiA+IC0gIFdyaXRlQ291bnQgPSBTYXZlRGF0YS0+U2F2ZVN0YXRlU2l6ZTsNCj4gPiArICBX cml0ZUNvdW50ID0gU2F2ZVN0YXRlU2l6ZTsNCj4gPiAgICBERUJVRyAoKERFQlVHX0lORk8sICIl YSAtIFdyaXRpbmcgJWQgYnl0ZXMgdG8gZmlsZS4uLlxuIiwgX19GVU5DVElPTl9fLA0KPiA+IFdy aXRlQ291bnQpKTsNCj4gPiAgICBTdGF0dXMgPSBTaGVsbFdyaXRlRmlsZSAoDQo+ID4gICAgICAg ICAgICAgICBGaWxlSGFuZGxlLA0KPiA+IEBAIC0yODgsNyArMjkyLDcgQEAgU2F2ZVVuaXRUZXN0 Q2FjaGUgKA0KPiA+ICAgICAgICAgICAgICAgU2F2ZURhdGENCj4gPiAgICAgICAgICAgICAgICk7 DQo+ID4NCj4gPiAtICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpIHx8IChXcml0ZUNvdW50ICE9IFNh dmVEYXRhLT5TYXZlU3RhdGVTaXplKSkgew0KPiA+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykg fHwgKFdyaXRlQ291bnQgIT0gU2F2ZVN0YXRlU2l6ZSkpIHsNCj4gPiAgICAgIERFQlVHICgoREVC VUdfRVJST1IsICIlYSAtIFdyaXRpbmcgdG8gZmlsZSBmYWlsZWQhICVyXG4iLA0KPiA+IF9fRlVO Q1RJT05fXywgU3RhdHVzKSk7DQo+ID4gICAgfSBlbHNlIHsNCj4gPiAgICAgIERFQlVHICgoREVC VUdfSU5GTywgIiVhIC0gU1VDQ0VTUyFcbiIsIF9fRlVOQ1RJT05fXykpOyBAQCAtMzEyLDgNCj4g PiArMzE2LDkgQEAgRXhpdDoNCj4gPiAgICBXaWxsIGFsbG9jYXRlIGEgYnVmZmVyIHRvIGhvbGQg dGhlIGxvYWRlZCBkYXRhLg0KPiA+DQo+ID4gICAgQHBhcmFtW2luXSAgRnJhbWV3b3JrSGFuZGxl ICBBIHBvaW50ZXIgdG8gdGhlIGZyYW1ld29yayB0aGF0IGlzIGJlaW5nDQo+ID4gcGVyc2lzdGVk Lg0KPiA+IC0gIEBwYXJhbVtpbl0gIFNhdmVEYXRhICAgICAgICAgQSBwb2ludGVyIHBvaW50ZXIg dGhhdCB3aWxsIGJlIHVwZGF0ZWQgd2l0aCB0aGUNCj4gPiBhZGRyZXNzDQo+ID4gKyAgQHBhcmFt W291dF0gU2F2ZURhdGEgICAgICAgICBBIHBvaW50ZXIgcG9pbnRlciB0aGF0IHdpbGwgYmUgdXBk YXRlZCB3aXRoIHRoZQ0KPiA+IGFkZHJlc3MNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG9mIHRoZSBsb2FkZWQgZGF0YSBidWZmZXIuDQo+ID4gKyAgQHBhcmFtW291dF0gU2F2 ZVN0YXRlU2l6ZSAgICBSZXR1cm4gdGhlIHNpemUgb2YgU2F2ZURhdGEgaW4gYnl0ZXMuDQo+ID4N Cj4gPiAgICBAcmV0dmFsICBFRklfU1VDQ0VTUyAgRGF0YSBoYXMgYmVlbiBsb2FkZWQgc3VjY2Vz c2Z1bGx5IGFuZCBTYXZlRGF0YSBpcw0KPiA+IHVwZGF0ZWQNCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAgd2l0aCBhIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlci4NCj4gPiBAQCAtMzI1LDcgKzMz MCw4IEBAIEVGSV9TVEFUVVMNCj4gPiAgRUZJQVBJDQo+ID4gIExvYWRVbml0VGVzdENhY2hlICgN Cj4gPiAgICBJTiAgVU5JVF9URVNUX0ZSQU1FV09SS19IQU5ETEUgIEZyYW1ld29ya0hhbmRsZSwN Cj4gPiAtICBPVVQgVU5JVF9URVNUX1NBVkVfSEVBREVSICAgICAgICoqU2F2ZURhdGENCj4gPiAr ICBPVVQgVk9JRCAgICAgICAgICAgICAgICAgICAgICAgICoqU2F2ZURhdGEsDQo+ID4gKyAgT1VU IFVJTlROICAgICAgICAgICAgICAgICAgICAgICAqU2F2ZVN0YXRlU2l6ZQ0KPiA+ICAgICkNCj4g PiAgew0KPiA+ICAgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiA+IEBAIC0z MzQsNyArMzQwLDcgQEAgTG9hZFVuaXRUZXN0Q2FjaGUgKA0KPiA+ICAgIEJPT0xFQU4gICAgICAg ICAgICAgICAgICAgSXNGaWxlT3BlbmVkOw0KPiA+ICAgIFVJTlQ2NCAgICAgICAgICAgICAgICAg ICAgTGFyZ2VGaWxlU2l6ZTsNCj4gPiAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEZpbGVT aXplOw0KPiA+IC0gIFVOSVRfVEVTVF9TQVZFX0hFQURFUiAgICAgKkJ1ZmZlcjsNCj4gPiArICBW T0lEICAgICAgICAgICAgICAgICAgICAgICpCdWZmZXI7DQo+ID4NCj4gPiAgICBJc0ZpbGVPcGVu ZWQgPSBGQUxTRTsNCj4gPiAgICBCdWZmZXIgICAgICAgPSBOVUxMOw0KPiA+IEBAIC0zODAsOCAr Mzg2LDkgQEAgTG9hZFVuaXRUZXN0Q2FjaGUgKA0KPiA+ICAgIC8vDQo+ID4gICAgLy8gTm93IHRo YXQgd2Uga25vdyB0aGUgc2l6ZSwgbGV0J3MgYWxsb2NhdGVkIGEgYnVmZmVyIHRvIGhvbGQgdGhl IGNvbnRlbnRzLg0KPiA+ICAgIC8vDQo+ID4gLSAgRmlsZVNpemUgPSAoVUlOVE4pTGFyZ2VGaWxl U2l6ZTsgICAgLy8gWW91IGtub3cgd2hhdC4uLiBpZiBpdCdzIHRvbyBsYXJnZSwgdGhpcyBsaWIN Cj4gPiBkb24ndCBjYXJlLg0KPiA+IC0gIEJ1ZmZlciAgID0gQWxsb2NhdGVQb29sIChGaWxlU2l6 ZSk7DQo+ID4gKyAgRmlsZVNpemUgICAgICAgPSAoVUlOVE4pTGFyZ2VGaWxlU2l6ZTsgLy8gWW91 IGtub3cgd2hhdC4uLiBpZiBpdCdzIHRvbyBsYXJnZSwgdGhpcw0KPiA+IGxpYiBkb24ndCBjYXJl Lg0KPiA+ICsgICpTYXZlU3RhdGVTaXplID0gRmlsZVNpemU7DQo+ID4gKyAgQnVmZmVyICAgICAg ICAgPSBBbGxvY2F0ZVBvb2wgKEZpbGVTaXplKTsNCj4gPiAgICBpZiAoQnVmZmVyID09IE5VTEwp IHsNCj4gPiAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICIlYSAtIEZhaWxlZCB0byBhbGxvY2F0 ZSBhIHBvb2wgdG8gaG9sZCB0aGUgZmlsZQ0KPiA+IGNvbnRlbnRzISAlclxuIiwgX19GVU5DVElP Tl9fLCBTdGF0dXMpKTsNCj4gPiAgICAgIFN0YXR1cyA9IEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0K PiA+IC0tDQo+ID4gMi4zMS4xLndpbmRvd3MuMQ0KPiA+DQo+ID4NCj4gPg0KPiA+IA0KPiA+DQoN Cg==