From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.92.0.106; helo=nam01-bn3-obe.outbound.protection.outlook.com; envelope-from=vanjeff_919@hotmail.com; receiver=edk2-devel@lists.01.org Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-oln040092000106.outbound.protection.outlook.com [40.92.0.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 7FF9D202E5CFC for ; Tue, 24 Oct 2017 22:28:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=72Cn8trmicNFjULo/RrOh6WmPJgaeuBxCIIyf1JJSB4=; b=PeCdHbWeXw1aWiwZ20Iv4y9dkGeE4bevT/MmHENeCAlv/c0rWvZ2EHrJ1f+/NRFmvUzRrxX80rVfsT3K0cqFRi++PWZF42x+fzytleoYSzvZxn4MBhrKgS3tifUevpCSJQSHzJTMvBVlt0zWjIjwHagPKvzCPMi4CbUFMJp7kWySEq3y40KJGCHBCAgIQan3fed3SLWZEK2SKZkzL8iBrNVwkmQbViFgdK8r+LTuBgYCAJvhKVjoV5p9cjY1xfcRx+jbF1G9hyXMBCxYwUbIwXNDRIR+JgHU0GttEIHQ4FgDbsH1vZwkvbRMTWf/C086mCZ/mwCqMUE/WchxWtPd/w== Received: from BY2NAM01FT017.eop-nam01.prod.protection.outlook.com (10.152.68.55) by BY2NAM01HT038.eop-nam01.prod.protection.outlook.com (10.152.68.154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.156.4; Wed, 25 Oct 2017 05:32:27 +0000 Received: from CY1PR19MB0283.namprd19.prod.outlook.com (10.152.68.56) by BY2NAM01FT017.mail.protection.outlook.com (10.152.69.207) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.156.4 via Frontend Transport; Wed, 25 Oct 2017 05:32:27 +0000 Received: from CY1PR19MB0283.namprd19.prod.outlook.com ([10.163.54.13]) by CY1PR19MB0283.namprd19.prod.outlook.com ([10.163.54.13]) with mapi id 15.20.0156.005; Wed, 25 Oct 2017 05:32:27 +0000 From: Fan Jeff To: Laszlo Ersek , "Dong, Eric" , "edk2-devel@lists.01.org" CC: "Ni, Ruiyu" , Paolo Bonzini Thread-Topic: [edk2] [Patch 2/2] UefiCpuPkg/MpInitLib: Enhance waiting for AP initialization logic. Thread-Index: AQHTS8+868VkAVBPWEOBGKDo6dgstKLyyn0AgABWFwCAACYggIAAxSe1 Date: Wed, 25 Oct 2017 05:32:26 +0000 Message-ID: References: <1508743358-3640-1-git-send-email-eric.dong@intel.com> <1508743358-3640-3-git-send-email-eric.dong@intel.com> <4fe39a52-0cd3-de2e-84f2-7363823a1b60@redhat.com> , <1329f926-4c33-aaca-108a-7d15ae0503bc@redhat.com> In-Reply-To: <1329f926-4c33-aaca-108a-7d15ae0503bc@redhat.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=hotmail.com; x-incomingtopheadermarker: OriginalChecksum:2C233E46F37F4E7B5B70C10B0E6866FBF8F984D103CD18D896ADA8DCA7751767; UpperCasedChecksum:0E428F99C4817239BD338B8E8D545048095BC3920405DDF6B59CE401EDF5F5AB; SizeAsReceived:7518; Count:47 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [GmxdGNW92tlTDQ3ePgEKpGbP5ScN8cmb] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; BY2NAM01HT038; 6:9U4aDsdPVuvYqzCWzDHSxJ/CpXZYMev5QNOPYuDi5nerW4c5FmUtPpKnwaUSJybMtP67jJl5WecRGuH5dzQFg7M404DpjECbhNca0wyZGrUYjVTd73PXa8/JJQAhQwGx2aNMMrg6NSl6rtO+DcZNCcZ6bEG/ZNMHqS8C8SmKNF6GR/ql9+J9P53I1exJ5tj8Gti1DEX0ejuNpLUkigcNDIA6OSUdB3OmqrvV5XGeM0ZXps2CWJ/0QTlMJidNngat4WDt4mC1s5X7pfCcqoijvAyD6ifnplkXKMyr9eChrtpBty5ObB/lM6F3oahV8Q1rxFGrsE/jnaJTp/TzTLJLbQ==; 5:eHMxDUP4NhVEdcwN4eg8gLHTOUbrw6EyHea4dKnSnJT1rGI+uWM1pg7r4X6o+30DTOIXm/Cu/kZYzy5FyO9/4Wf9aumrpoSBpql8tC4Z+J80FJ+nRscUehVeUrtiV4X0qkMuXHI9fXqkF8Eyh3Umtg==; 24:Y9n+B+kWE3Rd+2dXqthsg0w81ZUiOAXoM9HUkcCcNqKCNubZLleYd4x/h3bwp0w+fTa8/+VqgzNO0w0/TftKqh343SskeUbG2z7GvMf2Vq0=; 7:DnOXkSxag4r2SJd9KU4IejsYjuU+k3OfrfyTEUdLvuB3EfOwK/AIcB7lT2XC5aVA7rK9MI0QDlJmKDVk3H7vfDiIgUYCTFV1i+RKLN9SdGuWRs0loAoh6hevZrKwnpiOjvZuTNIJtm5qLEkAQN1XXdaWd0cqohzL95UBJnRa+cE4/a6fN0Olmk1ZC8B9dJF9coFYfaAx6gtqTMKWrUJy6YTwMXP2vxWuaV51YogoPAM= x-incomingheadercount: 47 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: b605bdc8-18b1-4400-8c67-08d51b69c733 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201702061074)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322404)(1603101448)(1601125374)(1701031045); SRVR:BY2NAM01HT038; x-ms-traffictypediagnostic: BY2NAM01HT038: x-exchange-antispam-report-test: UriScan:(162533806227266)(194151415913766)(21748063052155)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(444000031); SRVR:BY2NAM01HT038; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2NAM01HT038; x-forefront-prvs: 0471B73328 x-forefront-antispam-report: SFV:NSPM; SFS:(7070007)(98901004); DIR:OUT; SFP:1901; SCL:1; SRVR:BY2NAM01HT038; H:CY1PR19MB0283.namprd19.prod.outlook.com; FPR:; SPF:None; LANG:; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-Network-Message-Id: b605bdc8-18b1-4400-8c67-08d51b69c733 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Oct 2017 05:32:26.9415 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2NAM01HT038 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: =?UTF-8?B?562U5aSNOiBbUGF0Y2ggMi8yXSBVZWZpQ3B1UGtnL01wSW5pdExpYjogRW5oYW5jZSB3YWl0aW5nIGZvciBBUCBpbml0aWFsaXphdGlvbiBsb2dpYy4=?= X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Oct 2017 05:28:45 -0000 Content-Language: zh-CN Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 TGFzemxvLA0KDQpJIGFncmVlIEJaIzI1MSBjYW4gbm90IGJlIGNsb3NlZCBpZiBjb21taXQgMDU5 NGVjNDE3Yzg5IGRvZXMgbm90IHdvcmsgZm9yIE9WTUYuDQoNCkkgd2lsbCByZW9wZW4gaXQuDQoN CkplZmYNCg0Kt6K8/sjLOiBMYXN6bG8gRXJzZWs8bWFpbHRvOmxlcnNla0ByZWRoYXQuY29tPg0K t6LLzcqxvOQ6IDIwMTfE6jEw1MIyNcjVIDE6NDANCsrVvP7IyzogRG9uZywgRXJpYzxtYWlsdG86 ZXJpYy5kb25nQGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsy LWRldmVsQGxpc3RzLjAxLm9yZz4NCrOty806IE5pLCBSdWl5dTxtYWlsdG86cnVpeXUubmlAaW50 ZWwuY29tPjsgUGFvbG8gQm9uemluaTxtYWlsdG86cGJvbnppbmlAcmVkaGF0LmNvbT47IEplZmYg RmFuPG1haWx0bzp2YW5qZWZmXzkxOUBob3RtYWlsLmNvbT4NCtb3zOI6IFJlOiBbZWRrMl0gW1Bh dGNoIDIvMl0gVWVmaUNwdVBrZy9NcEluaXRMaWI6IEVuaGFuY2Ugd2FpdGluZyBmb3IgQVAgaW5p dGlhbGl6YXRpb24gbG9naWMuDQoNCkhpIEVyaWMsDQoNCk9uIDEwLzI0LzE3IDE3OjIzLCBEb25n LCBFcmljIHdyb3RlOg0KPiBMYXN6bG8sDQo+DQo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPj4gRnJvbTogTGFzemxvIEVyc2VrIFttYWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+PiBT ZW50OiBUdWVzZGF5LCBPY3RvYmVyIDI0LCAyMDE3IDY6MTYgUE0NCj4+IFRvOiBEb25nLCBFcmlj IDxlcmljLmRvbmdAaW50ZWwuY29tPjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4+IENjOiBO aSwgUnVpeXUgPHJ1aXl1Lm5pQGludGVsLmNvbT47IFBhb2xvIEJvbnppbmkgPHBib256aW5pQHJl ZGhhdC5jb20+DQo+PiBTdWJqZWN0OiBSZTogW2VkazJdIFtQYXRjaCAyLzJdIFVlZmlDcHVQa2cv TXBJbml0TGliOiBFbmhhbmNlIHdhaXRpbmcgZm9yDQo+PiBBUCBpbml0aWFsaXphdGlvbiBsb2dp Yy4NCj4+DQo+PiBDQyBQYW9sbw0KPj4NCj4+IE9uIDEwLzIzLzE3IDA5OjIyLCBFcmljIERvbmcg d3JvdGU6DQoNCj4+PiBkaWZmIC0tZ2l0IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9J YTMyL01wRXF1LmluYw0KPj4+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9JYTMyL01w RXF1LmluYw0KPj4+IGluZGV4IDk3NmFmMWYuLmJkZmUwZDMgMTAwNjQ0DQo+Pj4gLS0tIGEvVWVm aUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9JYTMyL01wRXF1LmluYw0KPj4+ICsrKyBiL1VlZmlD cHVQa2cvTGlicmFyeS9NcEluaXRMaWIvSWEzMi9NcEVxdS5pbmMNCj4+PiBAQCAtNDAsNCArNDAs NSBAQCBFbmFibGVFeGVjdXRlRGlzYWJsZUxvY2F0aW9uICBlcXUgICAgICAgIExvY2tMb2NhdGlv bg0KPj4gKyAzMGgNCj4+PiAgQ3IzTG9jYXRpb24gICAgICAgICAgICAgICAgICAgZXF1ICAgICAg ICBMb2NrTG9jYXRpb24gKyAzNGgNCj4+PiAgSW5pdEZsYWdMb2NhdGlvbiAgICAgICAgICAgICAg ZXF1ICAgICAgICBMb2NrTG9jYXRpb24gKyAzOGgNCj4+PiAgQ3B1SW5mb0xvY2F0aW9uICAgICAg ICAgICAgICAgZXF1ICAgICAgICBMb2NrTG9jYXRpb24gKyAzQ2gNCj4+PiArTnVtQXBzRXhlY3V0 aW5nTG9jYXRpb24gICAgICAgZXF1ICAgICAgICBMb2NrTG9jYXRpb24gKyA0MGgNCj4+Pg0KPj4+ IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0lhMzIvTXBGdW5jcy5u YXNtDQo+Pj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0lhMzIvTXBGdW5jcy5uYXNt DQo+Pj4gaW5kZXggMWI5YzZhNi4uMmI2YzI3ZCAxMDA2NDQNCj4+PiAtLS0gYS9VZWZpQ3B1UGtn L0xpYnJhcnkvTXBJbml0TGliL0lhMzIvTXBGdW5jcy5uYXNtDQo+Pj4gKysrIGIvVWVmaUNwdVBr Zy9MaWJyYXJ5L01wSW5pdExpYi9JYTMyL01wRnVuY3MubmFzbQ0KPj4+IEBAIC04Niw2ICs4Niwx MiBAQCBGbGF0MzJTdGFydDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgcHJv dGVjdGVkIG1vZGUNCj4+IGVudHJ5IHBvaW50DQo+Pj4NCj4+PiAgICAgIG1vdiAgICAgICAgZXNp LCBlYngNCj4+Pg0KPj4+ICsgICAgOyBJbmNyZW1lbnQgdGhlIG51bWJlciBvZiBBUHMgZXhlY3V0 aW5nIGhlcmUgYXMgZWFybHkgYXMgcG9zc2libGUNCj4+PiArICAgIDsgVGhpcyBpcyBkZWNyZW1l bnRlZCBpbiBDIGNvZGUgd2hlbiBBUCBpcyBmaW5pc2hlZCBleGVjdXRpbmcNCj4+PiArICAgIG1v diAgICAgICAgZWRpLCBlc2kNCj4+PiArICAgIGFkZCAgICAgICAgZWRpLCBOdW1BcHNFeGVjdXRp bmdMb2NhdGlvbg0KPj4+ICsgICAgbG9jayBpbmMgICBkd29yZCBbZWRpXQ0KPj4+ICsNCj4+PiAg ICAgIG1vdiAgICAgICAgIGVkaSwgZXNpDQo+Pj4gICAgICBhZGQgICAgICAgICBlZGksIEVuYWJs ZUV4ZWN1dGVEaXNhYmxlTG9jYXRpb24NCj4+PiAgICAgIGNtcCAgICAgICAgIGJ5dGUgW2VkaV0s IDANCj4+PiBkaWZmIC0tZ2l0IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9NcExpYi5j DQo+Pj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL01wTGliLmMNCj4+PiBpbmRleCBk YjkyM2M5Li40OGY5MzBiIDEwMDY0NA0KPj4+IC0tLSBhL1VlZmlDcHVQa2cvTGlicmFyeS9NcElu aXRMaWIvTXBMaWIuYw0KPj4+ICsrKyBiL1VlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvTXBM aWIuYw0KPj4+IEBAIC02NjIsNiArNjYyLDcgQEAgQXBXYWtldXBGdW5jdGlvbiAoDQo+Pj4gICAg ICAvLyBBUCBmaW5pc2hlZCBleGVjdXRpbmcgQyBjb2RlDQo+Pj4gICAgICAvLw0KPj4+ICAgICAg SW50ZXJsb2NrZWRJbmNyZW1lbnQgKChVSU5UMzIgKikgJkNwdU1wRGF0YS0+RmluaXNoZWRDb3Vu dCk7DQo+Pj4gKyAgICBJbnRlcmxvY2tlZERlY3JlbWVudCAoKFVJTlQzMiAqKQ0KPj4+ICsgJkNw dU1wRGF0YS0+TXBDcHVFeGNoYW5nZUluZm8tPk51bUFwc0V4ZWN1dGluZyk7DQo+Pj4NCj4+PiAg ICAgIC8vDQo+Pj4gICAgICAvLyBQbGFjZSBBUCBpcyBzcGVjaWZpZWQgbG9vcCBtb2RlIEBAIC03 NjUsNiArNzY2LDcgQEANCj4+PiBGaWxsRXhjaGFuZ2VJbmZvRGF0YSAoDQo+Pj4NCj4+PiAgICBF eGNoYW5nZUluZm8tPkNGdW5jdGlvbiAgICAgICA9IChVSU5UTikgQXBXYWtldXBGdW5jdGlvbjsN Cj4+PiAgICBFeGNoYW5nZUluZm8tPkFwSW5kZXggICAgICAgICA9IDA7DQo+Pj4gKyAgRXhjaGFu Z2VJbmZvLT5OdW1BcHNFeGVjdXRpbmcgPSAwOw0KPj4+ICAgIEV4Y2hhbmdlSW5mby0+SW5pdEZs YWcgICAgICAgID0gKFVJTlROKSBDcHVNcERhdGEtPkluaXRGbGFnOw0KPj4+ICAgIEV4Y2hhbmdl SW5mby0+Q3B1SW5mbyAgICAgICAgID0gKENQVV9JTkZPX0lOX0hPQiAqKSAoVUlOVE4pDQo+PiBD cHVNcERhdGEtPkNwdUluZm9JbkhvYjsNCj4+PiAgICBFeGNoYW5nZUluZm8tPkNwdU1wRGF0YSAg ICAgICA9IENwdU1wRGF0YTsNCj4+PiBAQCAtOTM0LDEzICs5MzYsMTkgQEAgV2FrZVVwQVAgKA0K Pj4+ICAgICAgfQ0KPj4+ICAgICAgaWYgKENwdU1wRGF0YS0+SW5pdEZsYWcgPT0gQXBJbml0Q29u ZmlnKSB7DQo+Pj4gICAgICAgIC8vDQo+Pj4gLSAgICAgIC8vIFdhaXQgZm9yIGFsbCBwb3RlbnRp YWwgQVBzIHdha2VuIHVwIGluIG9uZSBzcGVjaWZpZWQgcGVyaW9kDQo+Pj4gKyAgICAgIC8vIFdh aXQgZm9yIG9uZSBwb3RlbnRpYWwgQVAgd2FrZW4gdXAgaW4gb25lIHNwZWNpZmllZCBwZXJpb2QN Cj4+PiAgICAgICAgLy8NCj4+PiAtICAgICAgVGltZWRXYWl0Rm9yQXBGaW5pc2ggKA0KPj4+IC0g ICAgICAgIENwdU1wRGF0YSwNCj4+PiAtICAgICAgICBQY2RHZXQzMiAoUGNkQ3B1TWF4TG9naWNh bFByb2Nlc3Nvck51bWJlcikgLSAxLA0KPj4+IC0gICAgICAgIFBjZEdldDMyIChQY2RDcHVBcElu aXRUaW1lT3V0SW5NaWNyb1NlY29uZHMpDQo+Pj4gLSAgICAgICAgKTsNCj4+PiArICAgICAgaWYg KENwdU1wRGF0YS0+Q3B1Q291bnQgPT0gMCkgew0KPj4+ICsgICAgICAgIFRpbWVkV2FpdEZvckFw RmluaXNoICgNCj4+PiArICAgICAgICAgIENwdU1wRGF0YSwNCj4+PiArICAgICAgICAgIFBjZEdl dDMyIChQY2RDcHVNYXhMb2dpY2FsUHJvY2Vzc29yTnVtYmVyKSAtIDEsDQo+Pj4gKyAgICAgICAg ICBQY2RHZXQzMiAoUGNkQ3B1QXBJbml0VGltZU91dEluTWljcm9TZWNvbmRzKQ0KPj4+ICsgICAg ICAgICAgKTsNCj4+PiArICAgICAgfQ0KPj4NCj4+IEkgZG9uJ3QgdW5kZXJzdGFuZCB0aGlzIGNo YW5nZS4gVGhlIG5ldyBjb21tZW50IHNheXMsDQo+Pg0KPj4gICBXYWl0IGZvciAqb25lKiBwb3Rl bnRpYWwgQVAgd2FrZW4gdXAgaW4gb25lIHNwZWNpZmllZCBwZXJpb2QNCj4+DQo+PiBIb3dldmVy LCB0aGUgc2Vjb25kIHBhcmFtZXRlciBvZiBUaW1lZFdhaXRGb3JBcEZpbmlzaCgpLCBuYW1lbHkN Cj4+ICJGaW5pc2hlZEFwTGltaXQiLCBnZXRzIHRoZSBzYW1lIHZhbHVlIGFzIGJlZm9yZToNCj4+ DQo+PiAgIFBjZEdldDMyIChQY2RDcHVNYXhMb2dpY2FsUHJvY2Vzc29yTnVtYmVyKSAtIDENCj4+ DQo+PiBJdCBtZWFucyB0aGF0IGFsbCBvZiB0aGUgKHBvc3NpYmxlKSBBUHMgYXJlIHdhaXRlZC1m b3IsIGp1c3QgdGhlIHNhbWUNCj4+IGFzIGJlZm9yZS4NCj4NCj4gW1tFcmljXV0gVGhpcyBwYXRj aCBjaGFuZ2VzIHRoZSBjb2xsZWN0IEFQIGNvdW50IGxvZ2ljLCBvcmlnaW5hbA0KPiBzb2x1dGlv biBhbHdheXMgd2FpdHMgZm9yIGEgc3BlY2lmaWMgdGltZSB0byBsZXQgYWxsIEFQcyBzdGFydCB1 cC4gSWYNCj4gdGhlIGlucHV0IENQVSBudW1iZXIgKFBjZEdldDMyKFBjZENwdU1heExvZ2ljYWxQ cm9jZXNzb3JOdW1iZXIpIC0gMSkNCj4gaGF2ZSBiZWVuIGZvdW5kIG9yIGFmdGVyIGEgc3BlY2lm aWMgdGltZShQY2RHZXQzMg0KPiAoUGNkQ3B1QXBJbml0VGltZU91dEluTWljcm9TZWNvbmRzKSku IEJTUCB3aWxsIG5vdCB3YWl0IGFueW1vcmUgYW5kIHVzZQ0KPiBDcHVNcERhdGEtPkNwdUNvdW50 IGFzIHRoZSBmb3VuZCBBUCBjb3VudC4NCj4NCj4gTmV3IGxvZ2ljIGFsc28gd2FpdCBmb3IgYSBz cGVjaWZpYyB0aW1lLCBidXQgdGhpcyB0aW1lIGlzIHNtYWxsZXIgdGhhbg0KPiB0aGUgb3JpZ2lu YWwgb25lLiBJdCBqdXN0IHdhaXQgZm9yIHRoZSBmaXJzdCBBUChhbnkgQVApIGJlZ2luIHRvIGRv IHRoZQ0KPiBpbml0aWFsaXphdGlvbiggZG8gQ3B1TXBEYXRhLT5NcENwdUV4Y2hhbmdlSW5mby0+ TnVtQXBzRXhlY3V0aW5nKysgbWVhbnMNCj4gaXQgYmVnaW4gdG8gZG8gdGhlIGluaXRpYWxpemF0 aW9uKS4gV2hlbiBBcCBmaW5pc2hlcyBpbml0aWFsaXphdGlvbiwgaXQNCj4gd2lsbCBkbyBDcHVN cERhdGEtPk1wQ3B1RXhjaGFuZ2VJbmZvLT5OdW1BcHNFeGVjdXRpbmctLS4gU28gYWZ0ZXIgQlNQ DQo+IHdhaXRzIGZvciBhIHNwZWNpZmljIHRpbWUgYXQgZmlyc3QsIGl0IGp1c3QgbmVlZHMgdG8g Y2hlY2sgd2hldGhlcg0KPiBDcHVNcERhdGEtPk1wQ3B1RXhjaGFuZ2VJbmZvLT5OdW1BcHNFeGVj dXRpbmcgPT0gMCB0byBrbm93IHdoZXRoZXIgYWxsDQo+IEFwcyBoYXZlIGZpbmlzaGVkIGluaXRp YWxpemF0aW9uLiBIZXJlIHdlIHN0aWxsIHVzZSB0aGUgb3JpZ2luYWwgUENEDQo+IChQY2RDcHVB cEluaXRUaW1lT3V0SW5NaWNyb1NlY29uZHMpIGZvciB0aGUgbmV3IHRpbWUgdmFsdWUuDQo+DQo+ IFdoZW4gb25lIEFQIGRvIHRoZSBpbml0aWFsaXphdGlvbiwgaXQgd2lsbCBhbHNvIGRvDQo+IENw dU1wRGF0YS0+Q3B1Q291bnQrKy4gU28gaGVyZSBJIGNoZWNrIHdoZXRoZXIgQ3B1TXBEYXRhLT5D cHVDb3VudCAhPSAwDQo+IHRvIGtub3cgd2hldGhlciBBUHMgYWxyZWFkeSBiZWdpbiB0byBkbyB0 aGUgaW5pdGlhbGl6YXRpb24uIElmIHllcywgSQ0KPiBub3QgbmVlZCB0byBkbyB0aGUgdGltZSBv dXQgd2FpdGluZyBhbnltb3JlLCBqdXN0IGNoZWNrIHRoZQ0KPiBDcHVNcERhdGEtPk1wQ3B1RXhj aGFuZ2VJbmZvLT5OdW1BcHNFeGVjdXRpbmcgdG8ga25vdyB3aGV0aGVyIGFsbCBBcHMNCj4gaGF2 ZSBmaW5pc2hlZCBpbml0aWFsaXphdGlvbi4NCg0KVGhhbmtzIGZvciB0aGUgZXhwbGFuYXRpb24u DQoNClRoZSAiTnVtQXBzRXhlY3V0aW5nIiBpbmNyZW1lbnQgLyBkZWNyZW1lbnQgbG9naWMgaW4g dGhpcyBwYXRjaCBleHBlY3RzDQp0aGF0IHRoZSBBUHMgd29yayBhcyBmb2xsb3dzOg0KDQooMSkg QWZ0ZXIgdGhlIElOSVQtU0lQSS1TSVBJLCB0aGVyZSBtYXkgYmUgYSBkZWxheSBiZWZvcmUgdGhl IEFQcyBzdGFydA0KcnVubmluZy4gRHVyaW5nIHRoaXMgZGVsYXksIHRoZSBCU1AgbWF5IG9yIG1h eSBub3QgcmVhY2ggdGhlIGNvZGUgaW4NCnF1ZXN0aW9uLiBUaGUgKENwdU1wRGF0YS0+Q3B1Q291 bnQgIT0gMCkgY2hlY2sgaXMgc3VwcG9zZWQgdG8gdGFrZSB0aGlzDQppbnRvIGFjY291bnQuDQoN CigyKSBBZnRlciBhdCBsZWFzdCBvbmUgQVAgaGFzIHN0YXJ0ZWQgcnVubmluZywgdGhlIGxvZ2lj IGV4cGVjdHMNCiJOdW1BcHNFeGVjdXRpbmciIHRvIG1vbm90b25pY2FsbHkgZ3JvdyBmb3IgYSB3 aGlsZSwgYW5kIHRoZW4gdG8NCm1vbm90b25pY2FsbHkgZGVjcmVhc2UsIGJhY2sgdG8gemVyby4g Rm9yIGV4YW1wbGUsIGlmIHdlIGhhdmUgMSBCU1AgYW5kDQo3IEFQcywgdGhlIEJTUCBsb2dpYyBt b3JlIG9yIGxlc3MgZXhwZWN0cyB0aGUgZm9sbG93aW5nIHZhbHVlcyBpbg0KIk51bUFwc0V4ZWN1 dGluZyI6DQoNCjE7IDI7IDM7IDQ7IDU7IDY7IDc7DQo2OyA1OyA0OyAzOyAyOyAxOyAwDQoNCg0K V2hpbGUgdGhpcyBtYXkgYmUgYSB2YWxpZCBleHBlY3RhdGlvbiBmb3IgcGh5c2ljYWwgcHJvY2Vz c29ycyAod2hpY2gNCmFjdHVhbGx5IHJ1biBpbiBwYXJhbGxlbCwgaW4gdGhlIHBoeXNpY2FsIHdv cmxkKSwgaW4gYSB2aXJ0dWFsIG1hY2hpbmUsDQppdCBpcyBub3QgZ3VhcmFudGVlZC4gRGVwZW5k ZW50IG9uIGh5cGVydmlzb3Igc2NoZWR1bGluZyBhcnRpZmFjdHMsIGl0DQppcyBwb3NzaWJsZSB0 aGF0LCBzYXksIHRocmVlIEFQcyBzdGFydCB1cCAqYW5kIGZpbmlzaCogYmVmb3JlIHRoZQ0KcmVt YWluaW5nIGZvdXIgQVBzIHN0YXJ0IHVwICphdCBhbGwqLiBUaGUgSU5JVC1TSVBJLVNJUEkgbWFy a3MgYWxsIEFQcw0KZm9yIGV4ZWN1dGlvbiAvIHNjaGVkdWxpbmcgaW4gdGhlIGh5cGVydmlzb3Is IHllcywgYnV0IHRoZSBhY3R1YWwgY29kZQ0KZXhlY3V0aW9uIG1heSBjb21tZW5jZSBhIGxvdCBs YXRlci4gRm9yIGV4YW1wbGUsIHRoZSBCU1AgbWF5IHdpdG5lc3MgdGhlDQpmb2xsb3dpbmcgc2Vy aWVzIG9mIHZhbHVlcyBpbiAiTnVtQXBzRXhlY3V0aW5nIjoNCg0KMTsgMjsgMzsNCjI7IDE7IDA7 DQoxOyAyOyAzOyA0Ow0KMzsgMjsgMTsgMA0KDQphbmQgdGhlIEJTUCBjb3VsZCB0aGluayB0aGF0 IHRoZXJlIGFyZSAzIEFQcyBvbmx5LCB3aGVuIGl0IHNlZXMgdGhlDQpmaXJzdCAwIHZhbHVlLg0K DQoNCk5vdywgbGV0IG1lIGdldCBiYWNrIHRvIHRoZSB1c2UgY2FzZSB0aGF0IGFjdHVhbGx5IG1h dHRlcnMgdG8gT1ZNRiBhbmQNClFFTVUuIEFzIEkgbWVudGlvbmVkIGVhcmxpZXIsIE9WTUYga25v d3MgZnJvbSBRRU1VIHRoZSBleGFjdCBudW1iZXIgb2YNCkFQcy4gSWYgdGhlcmUgaXMgYSB3YXkg Zm9yIE9WTUYgdG8gdGVsbCBNcEluaXRMaWIgdG8gd2FpdCBmb3IgdGhpcyBleGFjdA0KbnVtYmVy IG9mIEFQcyAtLSBubyBtYXR0ZXIgaG93IGxvbmcgaXQgdGFrZXMgLS0sIHRoZW4gdGhhdCdzIHdo YXQgSQ0Kd291bGQgbGlrZSB0byB1c2UuDQoNClBsZWFzZSBzZWUgdGhlIG9yaWdpbmFsIGRpc2N1 c3Npb24gYXJvdW5kIE9WTUYgY29tbWl0IDQ1YTcwZGIzYzNhNTk6DQoNCiogSW4gdmVyc2lvbiAx LCBJIGludHJvZHVjZWQgYSBuZXcgUENEIGNhbGxlZA0KDQogIFBjZENwdUtub3duTG9naWNhbFBy b2Nlc3Nvck51bWJlcg0KDQphbmQgSSBtb2RpZmllZCBNcEluaXRMaWIgdG8gd2FpdCBmb3IgdGhp cyBBUCBudW1iZXIsIGlnbm9yaW5nIHRpbWVvdXQNCmNvbXBsZXRlbHksIGlmIHRoZSBQQ0Qgd2Fz IHNldDoNCg0KICBodHRwczovL2xpc3RzLjAxLm9yZy9waXBlcm1haWwvZWRrMi1kZXZlbC8yMDE2 LU5vdmVtYmVyLzAwNTA3Ni5odG1sDQoNCkhvd2V2ZXIsIEplZmYgc3VnZ2VzdGVkIHRvIHVzZSB0 aGUgcHJlZXhpc3RlbnQgUENEDQoiUGNkQ3B1TWF4TG9naWNhbFByb2Nlc3Nvck51bWJlciIgZm9y IHRoaXMgcHVycG9zZToNCg0KICBodHRwczovL2xpc3RzLjAxLm9yZy9waXBlcm1haWwvZWRrMi1k ZXZlbC8yMDE2LU5vdmVtYmVyLzAwNTA5Mi5odG1sDQoNCiogSW4gdmVyc2lvbiAyLCBJIHVzZWQg dGhlIFBDRCBzdWdnZXN0ZWQgYnkgSmVmZiwgYnV0IEkgYWxzbyBpbnRyb2R1Y2VkDQphIG5ldyBz cGVjaWFsIHZhbHVlIGZvciB0aGUgdGltZW91dC4gVGltZW91dD0wIHdvdWxkIG1lYW4gImluZmlu aXR5IjoNCg0KICBodHRwczovL2xpc3RzLjAxLm9yZy9waXBlcm1haWwvZWRrMi1kZXZlbC8yMDE2 LU5vdmVtYmVyLzAwNTIwOS5odG1sDQoNCkplZmYgZGlkbid0IGxpa2UgdGhlIHNwZWNpYWwgdmFs dWUsIGFuZCBzdWdnZXN0ZWQgdGhhdCBPVk1GIHNpbXBseSB1c2UNCk1BWF9VSU5UMzIgbWljcm9z ZWNvbmRzIChhcHByb3guIDcxIG1pbnV0ZXMpIGluc3RlYWQgb2YgImluZmluaXR5IjoNCg0KICBo dHRwczovL2xpc3RzLjAxLm9yZy9waXBlcm1haWwvZWRrMi1kZXZlbC8yMDE2LU5vdmVtYmVyLzAw NTI2Ni5odG1sDQoNCiogSW4gdjMsIEkgaW1wbGVtZW50ZWQgdGhhdCwgYW5kIHRoYXQgd2FzIHB1 c2hlZCBhczoNCg0KICAtIFVlZmlDcHVQa2cgY29tbWl0IDZlMTk4N2YxOWFmNyAoIlVlZmlDcHVQ a2cvTXBJbml0TGliOiB3YWl0IG5vDQogICAgbG9uZ2VyIHRoYW4gbmVjZXNzYXJ5IGZvciBpbml0 aWFsIEFQIHN0YXJ0dXAiLCAyMDE2LTExLTI0KQ0KDQogIC0gYW5kIE92bWZQa2cgY29tbWl0IDQ1 YTcwZGIzYzNhNSAoIk92bWZQa2cvUGxhdGZvcm1QZWk6IHRha2UgVkNQVQ0KICAgIGNvdW50IGZy b20gUUVNVSBhbmQgY29uZmlndXJlIE1wSW5pdExpYiIsIDIwMTYtMTEtMjQpLg0KDQoNClNvLCBh Z2FpbiwgdGhlIHVzZSBjYXNlIHRoYXQgSSB3b3VsZCBsaWtlIHRvIGNvdmVyIGlzOg0KDQoqIHRo ZSBleGFjdCBudW1iZXIgb2YgQVBzIGlzIGtub3duIGF0IGJvb3QsIHRvIE92bWZQa2cvUGxhdGZv cm1QZWksDQoNCiogYWZ0ZXIgdGhlIHZlcnkgZmlyc3QgSU5JVC1TSVBJLVNJUEksIE1wSW5pdExp YiBzaG91bGQgd2FpdCBmb3IgZXhhY3RseQ0KICB0aGlzIG51bWJlciBvZiBBUHMgdG8gInJlcG9y dCBpbiIsIHJlZ2FyZGxlc3Mgb2Y6DQoNCiAgLSBob3cgbG9uZyBpdCB0YWtlcywNCg0KICAtIGlu IHdoYXQgb3JkZXIgLyBzZXF1ZW5jZSB0aGUgQVBzIHJlcG9ydCBpbi4gKEFnYWluLCBwbGVhc2Ug cmVtZW1iZXINCiAgICB0aGF0IHNvbWUgQVBzIG1heSBjb21wbGV0ZSB0aGUgaW5pdGlhbGl6YXRp b24gYmVmb3JlIG90aGVyIEFQcw0KICAgIGV4ZWN1dGUgdGhlaXIgdmVyeSBmaXJzdCBpbnN0cnVj dGlvbi4pDQoNCiogUHJlZmVyYWJseSwgdGhlIGNhc2Ugc2hvdWxkIGJlIGhhbmRsZWQgd2hlbiB0 aGUgcHJvY2Vzc29yIGNvdW50IGdyb3dzDQogIGZyb20gY29sZCBib290IHRvIFMzIHJlc3VtZSAo VkNQVSBob3RwbHVnKS4gVGlhbm9Db3JlIEJaIzI1MSB1c2VkIHRvDQogIHRyYWNrIHRoaXMgdXNl IGNhc2Ugc2VwYXJhdGVseS4NCg0KKA0KDQpKZWZmIGNsb3NlZCBCWiMyNTEgdG9kYXksIHdpdGgg dGhlIGFyZ3VtZW50IHRoYXQgY29tbWl0IDA1OTRlYzQxN2M4OQ0KKHRoaXMgcGF0Y2gpIGZpbmRz IHRoZSBDUFUgY291bnQgZHluYW1pY2FsbHkgYW55d2F5LCBzbyBhIHBsYXRmb3JtIGNhbg0Kc2lt cGx5IHNldCAiUGNkQ3B1TWF4TG9naWNhbFByb2Nlc3Nvck51bWJlciIgdG8gdGhlIG1heGltdW0g cG9zc2libGUgdmFsdWUuDQoNClRoaXMgYXJndW1lbnQgZG9lcyBub3Qgd29yayBpbiBhIHZpcnR1 YWwgbWFjaGluZSwgYmVjYXVzZSBjb21taXQNCjA1OTRlYzQxN2M4OSAodGhpcyBwYXRjaCkgbWF5 IGluIGZhY3Qgbm90IGZpbmQgdGhlIFZDUFUgY291bnQgY29ycmVjdGx5DQotLSBpbiBhIFZNLCAo TnVtQXBzRXhlY3V0aW5nPT0wKSBkb2VzIG5vdCBpbXBseSB0aGF0IGFsbCBBUHMgaGF2ZSBmaW5p c2hlZC4NCg0KKQ0KDQpUaGFua3MhDQpMYXN6bG8NCg0K