From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web11.15580.1594227798716567201 for ; Wed, 08 Jul 2020 10:03:18 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=CG19uvob; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: avP9WfTToO3phZwoWAZ+0gsI2OGCTJPdUBCwEf0vov3BN+YKl+re+28CKwGDDI6dgdMlvnGIdZ rxhVqXrwkolg== X-IronPort-AV: E=McAfee;i="6000,8403,9676"; a="127937975" X-IronPort-AV: E=Sophos;i="5.75,328,1589266800"; d="scan'208";a="127937975" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2020 10:03:17 -0700 IronPort-SDR: Cd0AKfkvjH7qUsEgavd8ypIn+0aikd+KPfOyoqC8T8NaP+RW6jD9bHNV24Colwj55Ajm/T+pU2 PCg7n7xQpjow== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,328,1589266800"; d="scan'208";a="323941816" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga007.jf.intel.com with ESMTP; 08 Jul 2020 10:03:16 -0700 Received: from fmsmsx158.amr.corp.intel.com (10.18.116.75) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 8 Jul 2020 10:03:16 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx158.amr.corp.intel.com (10.18.116.75) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 8 Jul 2020 10:03:16 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.172) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 8 Jul 2020 10:03:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DLej+yJEnpd0A9NMhswvv6UNEu58Us1TXUwRwcveGnVzQ3Ttr/awJeZOy9GJzy3m6Au+fkP6lTO82OuOe7iy6kt6GoN9AraadwrmXRwpItayIgFz7SI1lNtCYN/gCir03/O1TG0LmX9IeYQSIVvoccK4QXV37T4L09rmk5a/+88dXIlLt8gGPSETyXxLjxekghM0vK8jJNSWT9rN/tFToMt4fuKU8rwez4R4ISo8bDvkQ6VyJAFkghMYXTkkcgVapiazDLHFw+3DCbgoFpGxv8yuDkcKsNokcHTzjGg6ygQhtHOrmxjBjFl5qsvCv0mBgMPb9A09IMoKBYjVnLeVXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HGRvXlMPlLkySxPWrtiCZlJBnR7Jhhqlo6e9AV/SYx4=; b=NIvHhuwBtW0O3UWNTI9yiIczn5XizWWLFB+LuA9fgMu9O+K8M2tJoxPgdR7hxR0GdBwQ3V45u62NircGQmCEPFpTmHZA4KcZTKID/XUdHKDrryNgDG2VLJYCghAlguVAJrOGtfXFiFu+kL9bSgJkMoU2GOhw3AE5oVTv3+j3JJ6AG0e2KlchmcE2/QrjvumHxTaCgsEJZNLrP2lAdEpzzeOhg+YbQTv+yMpKTXymq7NznxpeW1YEr6JTldcHPkBHpmJxOFdwuc7bdydNniIu3o1el12BqKSrzNyBtqFuW9zuU7JuqRn5b2b/Pa1N7qf7362xPojwjiM40pBrZK89lA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HGRvXlMPlLkySxPWrtiCZlJBnR7Jhhqlo6e9AV/SYx4=; b=CG19uvobAsp9p3XYL+Qjy6za3WRk5WZtSa0blDK8Fc5rO7MEwt3klKtfyhZrkd6LQMuUV0bz0kfIS7xJEXeVZXuKxoLW4cw2NlP7L+oCIjrJ1Ddqo06A7KtcLHoQmqIL02yHY+MO3RSoze0NTdzwCCwc03l+qfaMXVHcQM7DtKw= Received: from MN2PR11MB4461.namprd11.prod.outlook.com (2603:10b6:208:192::29) by MN2PR11MB4741.namprd11.prod.outlook.com (2603:10b6:208:26a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.20; Wed, 8 Jul 2020 17:03:06 +0000 Received: from MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1]) by MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1%3]) with mapi id 15.20.3174.021; Wed, 8 Jul 2020 17:03:06 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "matthewfcarlson@gmail.com" , "Kinney, Michael D" Subject: Re: [edk2-devel] [PATCH v1 1/3] UnitTestFrameworkPkg : BaseTimerLib: Adds a host-based timer Lib Thread-Topic: [edk2-devel] [PATCH v1 1/3] UnitTestFrameworkPkg : BaseTimerLib: Adds a host-based timer Lib Thread-Index: AQHWVUIllA2oqqj01k6Z+4XOVV8tu6j95/Iw Date: Wed, 8 Jul 2020 17:03:06 +0000 Message-ID: References: <20200708013122.1301-1-matthewfcarlson@gmail.com> <20200708013122.1301-2-matthewfcarlson@gmail.com> In-Reply-To: <20200708013122.1301-2-matthewfcarlson@gmail.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [134.134.136.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: adfbf58e-9c1b-4f2a-a7c2-08d82360c8ca x-ms-traffictypediagnostic: MN2PR11MB4741: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 04583CED1A x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YJ83VHzONHp/IXqoJZIjP5k6MOBRkmqQ1neGLlT7pRY2EGXLWlpMUdZaVdoZS1/SDFaHfbOM8c2KuywYrFk6aLcGptN9E/q+Zlqv60FbNhwO0vtaOzH9DRAqJ4svPCKoRXJtAysTp5eeOH2vkOJbybf65e9p+/EAH4SzKa+Io0zT3O2Zl6jZf0rQboAfPx236V9moZx4S9dVSB5pw9XdYRxhi6t52iU2pLDUH8tO0C4E3HyTDz7UmWB0o21UTPmwTc5MRBdg/jEPg2+8FMa1v1EB9vt32ay/9Gfc/cblQL7Xekg0jHU6Xeef7+6/aS6BuixWC8wBKEtfOplO7Kd7NnlCv5dexdYGtrB54/GVUXA4VdIyrXbqeMaXAjJIxynYMt2W28OuP3+a91NmObeRRA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4461.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(396003)(366004)(136003)(376002)(39860400002)(346002)(5660300002)(66946007)(76116006)(8676002)(316002)(2906002)(33656002)(478600001)(66556008)(83380400001)(64756008)(66476007)(66446008)(71200400001)(8936002)(966005)(7696005)(52536014)(86362001)(53546011)(110136005)(9686003)(26005)(55016002)(186003)(6506007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: N5MERLRzQU3Y8zZ9sFR6RsZPktE0m4cPOfaYmp2/H9O/EYHk2hZFz0z7UK3zwBCcUsoGO7Ng7J7uK9HXC+c5lIe3wxfSgN1AlPqelHYO1YvnsjHgLnd2Dv5u/PLzh0HlO3vhFID4ox9yBnLqp6loPrRiGRifKNd89J5d2mwdz3nqWhTAadJMXfE9J909RZuHkZn4aDtVlGcOxOgiFIs8e0K7VRFI1L5O7dqSyy/I7ZAg7vOQzEjKsN75HWfiueLOro1BPGdpPJ/YC/oWHkfp6yQedk66RW+JcShVtlWgP5hAhM2EinnDqo4rn9OABnmc1w4bjeF6awZKmuVQrhYG6hGPic70F7NTI6xcE2h11KPPVRbkv/DPjTcG0Esi4CwyeAdbOwbLaH8s3r8UVHjiQP/mKQsBvnR8zhTqHk+FRBDzCE4Mp8LPF3hX6/kJkzqTJPgHVAzFgURU5zNAx6VruLlRbsO2JAXIF+gIRRYCtO0Rn35958SiXpCDv5ViyamC MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4461.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: adfbf58e-9c1b-4f2a-a7c2-08d82360c8ca X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jul 2020 17:03:06.4192 (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: rcsP8CQV1XQ2A3qDvrUDkC2dXQqJ6djcy8e4MVkgANZLv1WyJezsJ5PlCZcHMaRyrdM/OxzLEHI0twyki7q4OBDUr2DaS7rIRHSIusup0Dk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4741 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 SGkgTWF0dCwNCg0KSWYgdGhpcyBpbnN0YW5jZSB1c2VzIFBPU0lYIEFQSXMsIHNob3VsZG4ndCB0 aGlzIA0KdmVyc2lvbiBnbyBpbnRvIHRoZSBMaWJyYXJ5L1Bvc2l4IGRpcmVjdG9yeT8NCg0KVGhl cmUgYXJlIGFsc28gYSBmZXcgY29kZSBzdHlsZSBpc3N1ZXMuICBGb3IgZXhhbXBsZSwNCmxvY2Fs IHZhcmlhYmxlcyBzaG91bGQgbm90IGJlIGluaXRpYWxpemVkIGluIHRoZWlyDQpkZWNsYXJhdGlv bi4NCg0KVGhhbmtzLA0KDQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g RnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbg0KPiBC ZWhhbGYgT2YgbWF0dGhld2ZjYXJsc29uQGdtYWlsLmNvbQ0KPiBTZW50OiBUdWVzZGF5LCBKdWx5 IDcsIDIwMjAgNjozMSBQTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IE1hdHRo ZXcgQ2FybHNvbiA8bWF0dGhld2ZjYXJsc29uQGdtYWlsLmNvbT4NCj4gU3ViamVjdDogW2VkazIt ZGV2ZWxdIFtQQVRDSCB2MSAxLzNdDQo+IFVuaXRUZXN0RnJhbWV3b3JrUGtnIDogQmFzZVRpbWVy TGliOiBBZGRzIGEgaG9zdC1iYXNlZA0KPiB0aW1lciBMaWINCj4gDQo+IEZyb206IE1hdHRoZXcg Q2FybHNvbiA8bWFjYXJsQG1pY3Jvc29mdC5jb20+DQo+IA0KPiBUaGlzIGFkZHMgYSBob3N0IGJh c2VkIEJhc2VUaW1lckxpYiB0aGF0IHdvbid0IGFzc2VydC4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6 IE1hdHRoZXcgQ2FybHNvbg0KPiA8bWF0dGhld2ZjYXJsc29uQGdtYWlsLmNvbT4NCj4gLS0tDQo+ IA0KPiBVbml0VGVzdEZyYW1ld29ya1BrZy9MaWJyYXJ5L0hvc3QvQmFzZVRpbWVyTGliSG9zdC9U aW1lcg0KPiBMaWJIb3N0LmMgICAgICAgfCAxMzcgKysrKysrKysrKysrKysrKysrKysNCj4gDQo+ IFVuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvSG9zdC9CYXNlVGltZXJMaWJIb3N0L0Jhc2VU DQo+IGltZXJMaWJIb3N0LmluZiB8ICA0MCArKysrKysNCj4gDQo+IFVuaXRUZXN0RnJhbWV3b3Jr UGtnL0xpYnJhcnkvSG9zdC9CYXNlVGltZXJMaWJIb3N0L0Jhc2VUDQo+IGltZXJMaWJIb3N0LnVu aSB8ICAxOSArKysNCj4gIFVuaXRUZXN0RnJhbWV3b3JrUGtnL1VuaXRUZXN0RnJhbWV3b3JrUGtn SG9zdC5kc2MuaW5jDQo+IHwgICAxICsNCj4gIDQgZmlsZXMgY2hhbmdlZCwgMTk3IGluc2VydGlv bnMoKykNCj4gDQo+IGRpZmYgLS1naXQNCj4gYS9Vbml0VGVzdEZyYW1ld29ya1BrZy9MaWJyYXJ5 L0hvc3QvQmFzZVRpbWVyTGliSG9zdC9UaW0NCj4gZXJMaWJIb3N0LmMNCj4gYi9Vbml0VGVzdEZy YW1ld29ya1BrZy9MaWJyYXJ5L0hvc3QvQmFzZVRpbWVyTGliSG9zdC9UaW0NCj4gZXJMaWJIb3N0 LmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAwLi42MTMwNGU2 NmY1NGYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9Vbml0VGVzdEZyYW1ld29ya1BrZy9M aWJyYXJ5L0hvc3QvQmFzZVRpbWVyTGliSG9zdC9UaW0NCj4gZXJMaWJIb3N0LmMNCj4gQEAgLTAs MCArMSwxMzcgQEANCj4gKy8qKiBAZmlsZQ0KPiANCj4gKyAgQSBub24tZnVuY3Rpb25hbCBpbnN0 YW5jZSBvZiB0aGUgVGltZXIgTGlicmFyeS4NCj4gDQo+ICsNCj4gDQo+ICsgIENvcHlyaWdodCAo YykgMjAwNyAtIDIwMTEsIEludGVsIENvcnBvcmF0aW9uLiBBbGwNCj4gcmlnaHRzIHJlc2VydmVk LjxCUj4NCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+IA0KPiArDQo+IA0KPiArKiovDQo+IA0KPiArDQo+IA0KPiArI2luY2x1ZGUgPEJhc2Uu aD4NCj4gDQo+ICsjaW5jbHVkZSA8TGlicmFyeS9UaW1lckxpYi5oPg0KPiANCj4gKyNpbmNsdWRl IDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+IA0KPiArI2luY2x1ZGUgPHN0ZGlvLmg+DQo+IA0KPiAr I2luY2x1ZGUgPHN0ZGxpYi5oPg0KPiANCj4gKyNpbmNsdWRlIDx0aW1lLmg+DQo+IA0KPiArDQo+ IA0KPiArLyoqDQo+IA0KPiArICBTdGFsbHMgdGhlIENQVSBmb3IgYXQgbGVhc3QgdGhlIGdpdmVu IG51bWJlciBvZg0KPiBtaWNyb3NlY29uZHMuDQo+IA0KPiArDQo+IA0KPiArICBTdGFsbHMgdGhl IENQVSBmb3IgdGhlIG51bWJlciBvZiBtaWNyb3NlY29uZHMNCj4gc3BlY2lmaWVkIGJ5IE1pY3Jv U2Vjb25kcy4NCj4gDQo+ICsNCj4gDQo+ICsgIEBwYXJhbSAgTWljcm9TZWNvbmRzICBUaGUgbWlu aW11bSBudW1iZXIgb2YNCj4gbWljcm9zZWNvbmRzIHRvIGRlbGF5Lg0KPiANCj4gKw0KPiANCj4g KyAgQHJldHVybiBUaGUgdmFsdWUgb2YgTWljcm9TZWNvbmRzIGlucHV0dGVkLg0KPiANCj4gKw0K PiANCj4gKyoqLw0KPiANCj4gK1VJTlRODQo+IA0KPiArRUZJQVBJDQo+IA0KPiArTWljcm9TZWNv bmREZWxheSAoDQo+IA0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgTWlj cm9TZWNvbmRzDQo+IA0KPiArICApDQo+IA0KPiArew0KPiANCj4gKyAgcmV0dXJuIE5hbm9TZWNv bmREZWxheShNaWNyb1NlY29uZHMgKiAxMDAwMDAwKSAvDQo+IDEwMDAwMDA7DQo+IA0KPiArfQ0K PiANCj4gKw0KPiANCj4gKy8qKg0KPiANCj4gKyAgU3RhbGxzIHRoZSBDUFUgZm9yIGF0IGxlYXN0 IHRoZSBnaXZlbiBudW1iZXIgb2YNCj4gbmFub3NlY29uZHMuDQo+IA0KPiArDQo+IA0KPiArICBT dGFsbHMgdGhlIENQVSBmb3IgdGhlIG51bWJlciBvZiBuYW5vc2Vjb25kcw0KPiBzcGVjaWZpZWQg YnkgTmFub1NlY29uZHMuDQo+IA0KPiArDQo+IA0KPiArICBAcGFyYW0gIE5hbm9TZWNvbmRzIFRo ZSBtaW5pbXVtIG51bWJlciBvZiBuYW5vc2Vjb25kcw0KPiB0byBkZWxheS4NCj4gDQo+ICsNCj4g DQo+ICsgIEByZXR1cm4gVGhlIHZhbHVlIG9mIE5hbm9TZWNvbmRzIGlucHV0dGVkLg0KPiANCj4g Kw0KPiANCj4gKyoqLw0KPiANCj4gK1VJTlRODQo+IA0KPiArRUZJQVBJDQo+IA0KPiArTmFub1Nl Y29uZERlbGF5ICgNCj4gDQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBO YW5vU2Vjb25kcw0KPiANCj4gKyAgKQ0KPiANCj4gK3sNCj4gDQo+ICsgIC8qVUlOVDY0IHN0YXJ0 ID0gR2V0UGVyZm9ybWFuY2VDb3VudGVyKCk7DQo+IA0KPiArICBVSU5UNjQgZ29hbCA9IHN0YXJ0 ICsgTmFub1NlY29uZHM7DQo+IA0KPiArICBERUJVRygoIERFQlVHX0VSUk9SLCAiRGVsYXlpbmcg Zm9yICVkIG5zLiBTdGFydDogJWQNCj4gdG8gJWRcbiIsIE5hbm9TZWNvbmRzLCBzdGFydCwgZ29h bCkpOw0KPiANCj4gKyAgLy8gY2hlY2sgaWYgd2UgbmVlZCB0byB3YWl0IGZvciB0aGUgY291bnRl ciB0byByb2xsDQo+IG92ZXINCj4gDQo+ICsgIGlmIChzdGFydCA+IGdvYWwpIHsNCj4gDQo+ICsg ICAgREVCVUcoKCBERUJVR19FUlJPUiwgIlN0YXJ0IGlzIG1vcmUgdGhhbiBnb2FsXG4iKSk7DQo+ IA0KPiArICAgIHdoaWxlIChHZXRQZXJmb3JtYW5jZUNvdW50ZXIoKSA+IGdvYWwpOw0KPiANCj4g KyAgfQ0KPiANCj4gKyAgd2hpbGUgKEdldFBlcmZvcm1hbmNlQ291bnRlcigpIDwgZ29hbCk7DQo+ IA0KPiArICByZXR1cm4gTmFub1NlY29uZHM7Ki8NCj4gDQo+ICsgIHJldHVybiAwOw0KPiANCj4g K30NCj4gDQo+ICsNCj4gDQo+ICsvKioNCj4gDQo+ICsgIFJldHJpZXZlcyB0aGUgY3VycmVudCB2 YWx1ZSBvZiBhIDY0LWJpdCBmcmVlIHJ1bm5pbmcNCj4gcGVyZm9ybWFuY2UgY291bnRlci4NCj4g DQo+ICsNCj4gDQo+ICsgIFRoZSBjb3VudGVyIGNhbiBlaXRoZXIgY291bnQgdXAgYnkgMSBvciBj b3VudCBkb3duIGJ5DQo+IDEuIElmIHRoZSBwaHlzaWNhbA0KPiANCj4gKyAgcGVyZm9ybWFuY2Ug Y291bnRlciBjb3VudHMgYnkgYSBsYXJnZXIgaW5jcmVtZW50LA0KPiB0aGVuIHRoZSBjb3VudGVy IHZhbHVlcw0KPiANCj4gKyAgbXVzdCBiZSB0cmFuc2xhdGVkLiBUaGUgcHJvcGVydGllcyBvZiB0 aGUgY291bnRlciBjYW4NCj4gYmUgcmV0cmlldmVkIGZyb20NCj4gDQo+ICsgIEdldFBlcmZvcm1h bmNlQ291bnRlclByb3BlcnRpZXMoKS4NCj4gDQo+ICsNCj4gDQo+ICsgIEByZXR1cm4gVGhlIGN1 cnJlbnQgdmFsdWUgb2YgdGhlIGZyZWUgcnVubmluZw0KPiBwZXJmb3JtYW5jZSBjb3VudGVyLg0K PiANCj4gKw0KPiANCj4gKyoqLw0KPiANCj4gK1VJTlQ2NA0KPiANCj4gK0VGSUFQSQ0KPiANCj4g K0dldFBlcmZvcm1hbmNlQ291bnRlciAoDQo+IA0KPiArICBWT0lEDQo+IA0KPiArICApDQo+IA0K PiArew0KPiANCj4gKyAgc3RydWN0IHRpbWVzcGVjIHRzOw0KPiANCj4gKyAgdGltZXNwZWNfZ2V0 KCZ0cywgVElNRV9VVEMpOw0KPiANCj4gKyAgcmV0dXJuIHRzLnR2X25zZWM7DQo+IA0KPiArfQ0K PiANCj4gKw0KPiANCj4gKy8qKg0KPiANCj4gKyAgUmV0cmlldmVzIHRoZSA2NC1iaXQgZnJlcXVl bmN5IGluIEh6IGFuZCB0aGUgcmFuZ2Ugb2YNCj4gcGVyZm9ybWFuY2UgY291bnRlcg0KPiANCj4g KyAgdmFsdWVzLg0KPiANCj4gKw0KPiANCj4gKyAgSWYgU3RhcnRWYWx1ZSBpcyBub3QgTlVMTCwg dGhlbiB0aGUgdmFsdWUgdGhhdCB0aGUNCj4gcGVyZm9ybWFuY2UgY291bnRlciBzdGFydHMNCj4g DQo+ICsgIHdpdGggaW1tZWRpYXRlbHkgYWZ0ZXIgaXMgaXQgcm9sbHMgb3ZlciBpcyByZXR1cm5l ZA0KPiBpbiBTdGFydFZhbHVlLiBJZg0KPiANCj4gKyAgRW5kVmFsdWUgaXMgbm90IE5VTEwsIHRo ZW4gdGhlIHZhbHVlIHRoYXQgdGhlDQo+IHBlcmZvcm1hbmNlIGNvdW50ZXIgZW5kIHdpdGgNCj4g DQo+ICsgIGltbWVkaWF0ZWx5IGJlZm9yZSBpdCByb2xscyBvdmVyIGlzIHJldHVybmVkIGluDQo+ IEVuZFZhbHVlLiBUaGUgNjQtYml0DQo+IA0KPiArICBmcmVxdWVuY3kgb2YgdGhlIHBlcmZvcm1h bmNlIGNvdW50ZXIgaW4gSHogaXMgYWx3YXlzDQo+IHJldHVybmVkLiBJZiBTdGFydFZhbHVlDQo+ IA0KPiArICBpcyBsZXNzIHRoYW4gRW5kVmFsdWUsIHRoZW4gdGhlIHBlcmZvcm1hbmNlIGNvdW50 ZXINCj4gY291bnRzIHVwLiBJZiBTdGFydFZhbHVlDQo+IA0KPiArICBpcyBncmVhdGVyIHRoYW4g RW5kVmFsdWUsIHRoZW4gdGhlIHBlcmZvcm1hbmNlDQo+IGNvdW50ZXIgY291bnRzIGRvd24uIEZv cg0KPiANCj4gKyAgZXhhbXBsZSwgYSA2NC1iaXQgZnJlZSBydW5uaW5nIGNvdW50ZXIgdGhhdCBj b3VudHMgdXANCj4gd291bGQgaGF2ZSBhIFN0YXJ0VmFsdWUNCj4gDQo+ICsgIG9mIDAgYW5kIGFu IEVuZFZhbHVlIG9mIDB4RkZGRkZGRkZGRkZGRkZGRi4gQSAyNC1iaXQNCj4gZnJlZSBydW5uaW5n IGNvdW50ZXINCj4gDQo+ICsgIHRoYXQgY291bnRzIGRvd24gd291bGQgaGF2ZSBhIFN0YXJ0VmFs dWUgb2YgMHhGRkZGRkYNCj4gYW5kIGFuIEVuZFZhbHVlIG9mIDAuDQo+IA0KPiArDQo+IA0KPiAr ICBAcGFyYW0gIFN0YXJ0VmFsdWUgIFRoZSB2YWx1ZSB0aGUgcGVyZm9ybWFuY2UgY291bnRlcg0K PiBzdGFydHMgd2l0aCB3aGVuIGl0DQo+IA0KPiArICAgICAgICAgICAgICAgICAgICAgIHJvbGxz IG92ZXIuDQo+IA0KPiArICBAcGFyYW0gIEVuZFZhbHVlICAgIFRoZSB2YWx1ZSB0aGF0IHRoZSBw ZXJmb3JtYW5jZQ0KPiBjb3VudGVyIGVuZHMgd2l0aCBiZWZvcmUNCj4gDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgaXQgcm9sbHMgb3Zlci4NCj4gDQo+ICsNCj4gDQo+ICsgIEByZXR1cm4gVGhl IGZyZXF1ZW5jeSBpbiBIei4NCj4gDQo+ICsNCj4gDQo+ICsqKi8NCj4gDQo+ICtVSU5UNjQNCj4g DQo+ICtFRklBUEkNCj4gDQo+ICtHZXRQZXJmb3JtYW5jZUNvdW50ZXJQcm9wZXJ0aWVzICgNCj4g DQo+ICsgIE9VVCAgICAgIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgKlN0YXJ0VmFsdWUsDQo+ IE9QVElPTkFMDQo+IA0KPiArICBPVVQgICAgICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICpF bmRWYWx1ZQ0KPiBPUFRJT05BTA0KPiANCj4gKyAgKQ0KPiANCj4gK3sNCj4gDQo+ICsgIHJldHVy biAoVUlOVDY0KSgtMSk7DQo+IA0KPiArfQ0KPiANCj4gKw0KPiANCj4gKy8qKg0KPiANCj4gKyAg Q29udmVydHMgZWxhcHNlZCB0aWNrcyBvZiBwZXJmb3JtYW5jZSBjb3VudGVyIHRvIHRpbWUNCj4g aW4gbmFub3NlY29uZHMuDQo+IA0KPiArDQo+IA0KPiArICBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRz IHRoZSBlbGFwc2VkIHRpY2tzIG9mIHJ1bm5pbmcNCj4gcGVyZm9ybWFuY2UgY291bnRlciB0bw0K PiANCj4gKyAgdGltZSB2YWx1ZSBpbiB1bml0IG9mIG5hbm9zZWNvbmRzLg0KPiANCj4gKw0KPiAN Cj4gKyAgQHBhcmFtICBUaWNrcyAgICAgVGhlIG51bWJlciBvZiBlbGFwc2VkIHRpY2tzIG9mDQo+ IHJ1bm5pbmcgcGVyZm9ybWFuY2UgY291bnRlci4NCj4gDQo+ICsNCj4gDQo+ICsgIEByZXR1cm4g VGhlIGVsYXBzZWQgdGltZSBpbiBuYW5vc2Vjb25kcy4NCj4gDQo+ICsNCj4gDQo+ICsqKi8NCj4g DQo+ICtVSU5UNjQNCj4gDQo+ICtFRklBUEkNCj4gDQo+ICtHZXRUaW1lSW5OYW5vU2Vjb25kICgN Cj4gDQo+ICsgIElOICAgICAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICAgVGlja3MNCj4gDQo+ ICsgICkNCj4gDQo+ICt7DQo+IA0KPiArICByZXR1cm4gVGlja3M7DQo+IA0KPiArfQ0KPiANCj4g ZGlmZiAtLWdpdA0KPiBhL1VuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvSG9zdC9CYXNlVGlt ZXJMaWJIb3N0L0Jhcw0KPiBlVGltZXJMaWJIb3N0LmluZg0KPiBiL1VuaXRUZXN0RnJhbWV3b3Jr UGtnL0xpYnJhcnkvSG9zdC9CYXNlVGltZXJMaWJIb3N0L0Jhcw0KPiBlVGltZXJMaWJIb3N0Lmlu Zg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMDAuLmFjMDkxY2Qx MGFmMQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1VuaXRUZXN0RnJhbWV3b3JrUGtnL0xp YnJhcnkvSG9zdC9CYXNlVGltZXJMaWJIb3N0L0Jhcw0KPiBlVGltZXJMaWJIb3N0LmluZg0KPiBA QCAtMCwwICsxLDQwIEBADQo+ICsjIyBAZmlsZQ0KPiANCj4gKyMgIE5VTEwgaW5zdGFuY2Ugb2Yg VGltZXIgTGlicmFyeSBhcyBhIHRlbXBsYXRlLg0KPiANCj4gKyMNCj4gDQo+ICsjICBBIG5vbi1m dW5jdGlvbmFsIGluc3RhbmNlIG9mIHRoZSBUaW1lciBMaWJyYXJ5IHRoYXQNCj4gY2FuIGJlIHVz ZWQgYXMgYSB0ZW1wbGF0ZQ0KPiANCj4gKyMgIGZvciB0aGUgaW1wbGVtZW50YXRpb24gb2YgYSBm dW5jdGlvbmFsIHRpbWVyIGxpYnJhcnkNCj4gaW5zdGFuY2UuIFRoaXMgbGlicmFyeSBpbnN0YW5j ZSBjYW4NCj4gDQo+ICsjICBhbHNvIGJlIHVzZWQgdG8gdGVzdCBidWlsZCBEWEUsIFJ1bnRpbWUs IERYRSBTQUwsDQo+IGFuZCBEWEUgU01NIG1vZHVsZXMgdGhhdCByZXF1aXJlIHRpbWVyDQo+IA0K PiArIyAgc2VydmljZXMgYXMgd2VsbCBhcyBFQkMgbW9kdWxlcyB0aGF0IHJlcXVpcmUgdGltZXIN Cj4gc2VydmljZXMuDQo+IA0KPiArIw0KPiANCj4gKyMgIENvcHlyaWdodCAoYykgMjAwNyAtIDIw MTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwNCj4gcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gDQo+ ICsjDQo+IA0KPiArIyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRl bnQNCj4gDQo+ICsjDQo+IA0KPiArIw0KPiANCj4gKyMjDQo+IA0KPiArDQo+IA0KPiArW0RlZmlu ZXNdDQo+IA0KPiArICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1 DQo+IA0KPiArICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBCYXNlVGltZXJMaWJI b3N0DQo+IA0KPiArICBNT0RVTEVfVU5JX0ZJTEUgICAgICAgICAgICAgICAgPSBCYXNlVGltZXJM aWJIb3N0LnVuaQ0KPiANCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0gYTJh NDEzYjgtNDNjMy00MGNjLQ0KPiBhMjk4LWJlN2EyMTRkMzU2NA0KPiANCj4gKyAgTU9EVUxFX1RZ UEUgICAgICAgICAgICAgICAgICAgID0gQkFTRQ0KPiANCj4gKyAgVkVSU0lPTl9TVFJJTkcgICAg ICAgICAgICAgICAgID0gMS4wDQo+IA0KPiArICBMSUJSQVJZX0NMQVNTICAgICAgICAgICAgICAg ICAgPSBUaW1lckxpYg0KPiANCj4gKw0KPiANCj4gKw0KPiANCj4gKyMNCj4gDQo+ICsjICBWQUxJ RF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0IEVCQyBBQVJDSA0KPiANCj4gKyMN Cj4gDQo+ICsNCj4gDQo+ICtbU291cmNlc10NCj4gDQo+ICsgIFRpbWVyTGliSG9zdC5jDQo+IA0K PiArDQo+IA0KPiArDQo+IA0KPiArW1BhY2thZ2VzXQ0KPiANCj4gKyAgTWRlUGtnL01kZVBrZy5k ZWMNCj4gDQo+ICsNCj4gDQo+ICsNCj4gDQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+IA0KPiArICBE ZWJ1Z0xpYg0KPiANCj4gKw0KPiANCj4gZGlmZiAtLWdpdA0KPiBhL1VuaXRUZXN0RnJhbWV3b3Jr UGtnL0xpYnJhcnkvSG9zdC9CYXNlVGltZXJMaWJIb3N0L0Jhcw0KPiBlVGltZXJMaWJIb3N0LnVu aQ0KPiBiL1VuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvSG9zdC9CYXNlVGltZXJMaWJIb3N0 L0Jhcw0KPiBlVGltZXJMaWJIb3N0LnVuaQ0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRl eCAwMDAwMDAwMDAwMDAuLjZlMTAwYmQzODNkMg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBi L1VuaXRUZXN0RnJhbWV3b3JrUGtnL0xpYnJhcnkvSG9zdC9CYXNlVGltZXJMaWJIb3N0L0Jhcw0K PiBlVGltZXJMaWJIb3N0LnVuaQ0KPiBAQCAtMCwwICsxLDE5IEBADQo+ICsvLyAvKiogQGZpbGUN Cj4gDQo+ICsvLyBOVUxMIGluc3RhbmNlIG9mIFRpbWVyIExpYnJhcnkgYXMgYSB0ZW1wbGF0ZS4N Cj4gDQo+ICsvLw0KPiANCj4gKy8vIEEgbm9uLWZ1bmN0aW9uYWwgaW5zdGFuY2Ugb2YgdGhlIFRp bWVyIExpYnJhcnkgdGhhdA0KPiBjYW4gYmUgdXNlZCBhcyBhIHRlbXBsYXRlDQo+IA0KPiArLy8g Zm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhIGZ1bmN0aW9uYWwgdGltZXIgbGlicmFyeQ0KPiBp bnN0YW5jZS4gVGhpcyBsaWJyYXJ5IGluc3RhbmNlIGNhbg0KPiANCj4gKy8vIGFsc28gYmUgdXNl ZCB0byB0ZXN0IGJ1aWxkIERYRSwgUnVudGltZSwgRFhFIFNBTCwNCj4gYW5kIERYRSBTTU0gbW9k dWxlcyB0aGF0IHJlcXVpcmUgdGltZXINCj4gDQo+ICsvLyBzZXJ2aWNlcyBhcyB3ZWxsIGFzIEVC QyBtb2R1bGVzIHRoYXQgcmVxdWlyZSB0aW1lcg0KPiBzZXJ2aWNlcy4NCj4gDQo+ICsvLw0KPiAN Cj4gKy8vIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwN Cj4gcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gDQo+ICsvLw0KPiANCj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+IA0KPiArLy8NCj4gDQo+ICsvLyAq Ki8NCj4gDQo+ICsNCj4gDQo+ICsNCj4gDQo+ICsjc3RyaW5nIFNUUl9NT0RVTEVfQUJTVFJBQ1Qg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJIb3N0IGluc3RhbmNlIG9mIFRpbWVyIExp YnJhcnkiDQo+IA0KPiArDQo+IA0KPiArI3N0cmluZyBTVFJfTU9EVUxFX0RFU0NSSVBUSU9OICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiQW4gaW5zdGFuY2Ugb2YgdGhlIFRpbWVyIExpYnJh cnkgdGhhdCBjYW4gYmUgdXNlZCBmb3INCj4gaG9zdCBiYXNlZCB1bml0IHRlc3RzLiINCj4gDQo+ ICsNCj4gDQo+IGRpZmYgLS1naXQNCj4gYS9Vbml0VGVzdEZyYW1ld29ya1BrZy9Vbml0VGVzdEZy YW1ld29ya1BrZ0hvc3QuZHNjLmluYw0KPiBiL1VuaXRUZXN0RnJhbWV3b3JrUGtnL1VuaXRUZXN0 RnJhbWV3b3JrUGtnSG9zdC5kc2MuaW5jDQo+IGluZGV4IGU5NTQ5NjhlZmM1Mi4uYmM3YjdhZmEx NzI5IDEwMDY0NA0KPiAtLS0NCj4gYS9Vbml0VGVzdEZyYW1ld29ya1BrZy9Vbml0VGVzdEZyYW1l d29ya1BrZ0hvc3QuZHNjLmluYw0KPiArKysNCj4gYi9Vbml0VGVzdEZyYW1ld29ya1BrZy9Vbml0 VGVzdEZyYW1ld29ya1BrZ0hvc3QuZHNjLmluYw0KPiBAQCAtMTMsNiArMTMsNyBAQA0KPiANCj4g VW5pdFRlc3RMaWJ8VW5pdFRlc3RGcmFtZXdvcmtQa2cvTGlicmFyeS9Vbml0VGVzdExpYi9VbmkN Cj4gdFRlc3RMaWJDbW9ja2EuaW5mDQo+IA0KPiANCj4gRGVidWdMaWJ8VW5pdFRlc3RGcmFtZXdv cmtQa2cvTGlicmFyeS9Qb3NpeC9EZWJ1Z0xpYlBvc2kNCj4geC9EZWJ1Z0xpYlBvc2l4LmluZg0K PiANCj4gDQo+IE1lbW9yeUFsbG9jYXRpb25MaWJ8VW5pdFRlc3RGcmFtZXdvcmtQa2cvTGlicmFy eS9Qb3NpeC9NDQo+IGVtb3J5QWxsb2NhdGlvbkxpYlBvc2l4L01lbW9yeUFsbG9jYXRpb25MaWJQ b3NpeC5pbmYNCj4gDQo+ICsNCj4gVGltZXJMaWJ8VW5pdFRlc3RGcmFtZXdvcmtQa2cvTGlicmFy eS9Ib3N0L0Jhc2VUaW1lckxpYkgNCj4gb3N0L0Jhc2VUaW1lckxpYkhvc3QuaW5mDQo+IA0KPiAN Cj4gDQo+ICBbQnVpbGRPcHRpb25zXQ0KPiANCj4gICAgR0NDOipfKl8qX0NDX0ZMQUdTID0gLWZu by1waWUNCj4gDQo+IC0tDQo+IDIuMjUuMS52ZnMuMS4xDQo+IA0KPiANCj4gLT0tPS09LT0tPS09 DQo+IEdyb3Vwcy5pbyBMaW5rczogWW91IHJlY2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhp cw0KPiBncm91cC4NCj4gDQo+IFZpZXcvUmVwbHkgT25saW5lICgjNjIyNDcpOg0KPiBodHRwczov L2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS82MjI0Nw0KPiBNdXRlIFRoaXMgVG9waWM6 IGh0dHBzOi8vZ3JvdXBzLmlvL210Lzc1Mzc5Njc4LzE2NDM0OTYNCj4gR3JvdXAgT3duZXI6IGRl dmVsK293bmVyQGVkazIuZ3JvdXBzLmlvDQo+IFVuc3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3Jv dXBzLmlvL2cvZGV2ZWwvdW5zdWINCj4gW21pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tXQ0KPiAt PS09LT0tPS09LT0NCg0K