From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zheng, Lv" Subject: RE: [PATCH v2 3/3] ACPI / button: Send "open" state after boot/resume Date: Wed, 1 Jun 2016 01:17:12 +0000 Message-ID: <1AE640813FDE7649BE1B193DEA596E883BBB6FAA@SHSMSX101.ccr.corp.intel.com> References: <4472be3d63af1b56c2f0f7cfbccd73538dc36252.1464332745.git.lv.zheng@intel.com> <1AE640813FDE7649BE1B193DEA596E883BBB5C64@SHSMSX101.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Benjamin Tissoires Cc: "Wysocki, Rafael J" , "Rafael J. Wysocki" , "Brown, Len" , Lv Zheng , "linux-kernel@vger.kernel.org" , ACPI Devel Maling List , "Bastien Nocera:" , "Valdis.Kletnieks@vt.edu" List-Id: linux-acpi@vger.kernel.org SGksDQoNCj4gRnJvbTogQmVuamFtaW4gVGlzc29pcmVzIFttYWlsdG86YmVuamFtaW4udGlzc29p cmVzQGdtYWlsLmNvbV0NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MiAzLzNdIEFDUEkgLyBidXR0 b246IFNlbmQgIm9wZW4iIHN0YXRlIGFmdGVyDQo+IGJvb3QvcmVzdW1lDQo+IA0KPiBIaSBMdiwN Cj4gDQo+IE9uIFR1ZSwgTWF5IDMxLCAyMDE2IGF0IDQ6NTUgQU0sIFpoZW5nLCBMdiA8bHYuemhl bmdAaW50ZWwuY29tPiB3cm90ZToNCj4gPiBIaSwNCj4gPg0KPiA+PiBGcm9tOiBCZW5qYW1pbiBU aXNzb2lyZXMgW21haWx0bzpiZW5qYW1pbi50aXNzb2lyZXNAZ21haWwuY29tXQ0KPiA+PiBTdWJq ZWN0OiBSZTogW1BBVENIIHYyIDMvM10gQUNQSSAvIGJ1dHRvbjogU2VuZCAib3BlbiIgc3RhdGUg YWZ0ZXINCj4gPj4gYm9vdC9yZXN1bWUNCj4gPj4NCj4gPj4gT24gRnJpLCBNYXkgMjcsIDIwMTYg YXQgOToxNiBBTSwgTHYgWmhlbmcgPGx2LnpoZW5nQGludGVsLmNvbT4NCj4gd3JvdGU6DQo+IFtz bmlwcGVkDQo+IF0+PiBBcyBWYWxkaXMgcmVwbGllZCBvbiAwLzMsIEkgZG9uJ3QgdGhpbmsgdGhp cyBpcyBhIGdvb2Qgc29sdXRpb24gKGV2ZW4NCj4gPj4gdGVtcG9yYXJ5KS4gTGludXggc2hvdWxk IG5vdCBhc3N1bWUgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYSBpbnB1dA0KPiA+PiBkZXZpY2UsIGFu ZCBzZW5kaW5nIHVuY29uZGl0aW9uYWxseSAxIGhlcmUgaXMgd3JvbmcuIElmIHRoZSBkZXZpY2Ug aXMNCj4gPj4gb24gYSBkb2NraW5nIHN0YXRpb24sIHlvdSB3aWxsIHdha2UgdXAgdGhlIHdyb25n IG1vbml0b3IgYW5kIHNjcmV3DQo+IHRoZQ0KPiA+PiB1c2VyIHNlc3Npb24gKGFuZCB0aGlzIHdp bGwgYmUgYSByZWdyZXNzaW9uKS4NCj4gPiBbTHYgWmhlbmddDQo+ID4gV2UgYXJlIGRvaW5nIHRo ZSB0ZXN0IHRvIHNlZSBob3cgdGhpcyBiZWhhdmVzIG9uIHNldmVyYWwgZGlmZmVyZW50DQo+IHBs YXRmb3Jtcy4NCj4gPg0KPiA+Pg0KPiA+PiBIb3cgYWJvdXQgd2Ugc2ltcGx5IHNlbmQgdGhlIGN1 cnJlbnQgTElEIHN0YXRlIHN0b3JlZCBpbiB0aGUgQUNQST8NCj4gPj4gc29tZXRoaW5nIGxpa2Ug Y2FsbGluZyBhY3BpX2xpZF9zZW5kX3N0YXRlKCkgZGlyZWN0bHk/DQo+ID4gW0x2IFpoZW5nXQ0K PiA+IFRoaXMgaXMgd2hhdCB3ZSBhcmUgZ29pbmcgdG8gZWxpbWluYXRlIGluIFtQQVRDSCAwMV0u DQo+ID4gV2UgaGF2ZSBzZXZlcmFsIHJlYWwgYnVncyByZWxhdGVkIHRvIHNlbmRpbmcgYSB3cm9u ZyBzdGF0ZSB0byB0aGUNCj4gdXNlcnNwYWNlLg0KPiA+IFVzZXJzcGFjZSB3aWxsIHN1c3BlbmQg cmlnaHQgYWZ0ZXIgcmVzdW1lIGJlY2F1c2Ugb2YgdGhlICdjbG9zZScgc3RhdGUuDQo+IA0KPiBP biB0aGUgb3RoZXIgaGFuZCwgeW91IGFyZSB0cnlpbmcgdG8gcmVtb3ZlIDIzZGU1ZDllZjJhNGJi YzRmNzMzZiwgYQ0KPiBwYXRjaCB0aGF0IGhhcyBiZWVuIGFyb3VuZCBmb3IgOSB5ZWFycyBhbmQg d2Ugb25seSBzdGFydCBzZWVpbmcNCj4gZGV2aWNlcyB3aGVyZSB0aGlzIGxvZ2ljIGlzIG5vdCB3 b3JraW5nLi4uDQo+IA0KPiBJIGFtIG5vdCBzYXlpbmcgeW91ciBhcHByb2FjaCBpcyB3cm9uZywg SSBhbSBqdXN0IHNheWluZyB0aGF0IGluc3RlYWQNCj4gb2YgYSBwbGFpbiByZXZlcnQsIHdlIHNo b3VsZCBwcm9iYWJseSBiZSBtb3JlIGNvbnNlcnZhdGl2ZSBhbmQgYWRkIGENCj4gcXVpcmsgZm9y IHRob3NlIGJ1Z2d5IG1hY2hpbmVzLiBJZGVhbGx5LCB3ZSBzaG91bGQgdHJ5IHRvIHVuZGVyc3Rh bmQNCj4gd2h5IHRoZXJlIGlzIHN1Y2ggYW4gaXNzdWUgdGhhdCBXaW5kb3dzIGRvZXNuJ3QgaGF2 ZSAodGhlIHNvbHV0aW9uDQo+IG1pZ2h0IGp1c3QgYmUgdGhhdCBnaXZlbiBXaW5kb3dzIGRvZXNu J3QgY2FyZSwgd2UgYXJlIHNjcmV3ZWQpLg0KPiANCj4gQlRXLCBvbiB0aGUgU3VyZmFjZSAzLCB0 aGVyZSBpcyBhIFdNSQ0KPiAoZjdjYzI1ZWMtZDIwYi00MDRjLTg5MDMtMGVkNDM1OWMxOGFlIC0+ IFdRSEUpIHdoaWNoIHJldHVybnMgdGhlDQo+IGFjdHVhbCB2YWx1ZSBvZiB0aGUgTElELCB3aXRo b3V0IHVzaW5nIFBOUDBDMEQgYXQgYWxsLiBJIGhhdmUgYQ0KPiBmZWVsaW5nIHRoYXQgV2luZG93 cyBtaWdodCB1c2UgaXQgd2hlbiBpdCBpcyBpbiB0cm91YmxlIG9yIGluIGFuDQo+IHVuc3VyZSBz dGF0ZS4gSSBjb3VsZG4ndCBmaW5kIHRoaXMgV01JIG9uIHRoZSAyIG90aGVyIHN5c3RlbXMgc28g dGhhdA0KPiBtYXkgYWxzbyBiZSBqdXN0IGEgb25lIHNob3QgZm9yIHRoZSBTdXJmYWNlIDMuDQpb THYgWmhlbmddIA0KVGhhbmtzIGZvciB0aGUgaW5mb3JtYXRpb24uDQpCdXQgaXQgc2VlbXMgU3Vy ZmFjZSAzIGlzIG5vdCBhIGdvb2QgZXhhbXBsZSBmb3IgdGhpcy4NCkl0IGlzIGEgcnVudGltZSBp ZGxlIHBsYXRmb3JtLg0KQW5kIHRoZSByb290IGNhdXNlIG9mIHRoZSBTdXJmYWNlIDMgaXNzdWUg c2hvdWxkIGJlIGluIHRoZSBmcmVlemUgY29kZS4NCkFmdGVyIHdha2luZyB0aGUgc3lzdGVtIHVw IHZpYSBMSUQgaXJxLCB0aGUgaXJxIGlzIGRyb3BwZWQuDQpCdXQgSSBndWVzcyBpdCBpcyByaXNr eSB0byBpbnZva2UgaXJxIGhhbmRsZXIgcmlnaHQgdGhlcmUsIGRvaW5nIHNvIGNvdWxkIGJyZWFr IG1heSBleGlzdGluZyBkcml2ZXJzLg0KDQoNCj4gDQo+IFtzbmlwcGVkXQ0KPiA+IFtMdiBaaGVu Z10NCj4gPiBUaGUgdW5kZXJzdGFuZGluZyBoZXJlIGlzIGluY29ycmVjdC4NCj4gPiBXZSBoYXZl IDMgYm9ndXMgZGV2aWNlcy4NCj4gPiAxIG9mIHRoZW0gaXMgc3VyZmFjZSAzIHdoaWNoIGlzIGEg aGFyZHdhcmUgcmVkdWNlZCBwbGF0Zm9ybS4NCj4gPiBUaGUgb3RoZXJzIGFyZSBhbGwgdHJhZGl0 aW9uYWwgcGxhdGZvcm1zLg0KPiA+DQo+ID4gPT09PT0NCj4gPiBUaGUgZmFjdHMgYXJlOg0KPiA+ DQo+ID4gQm90aCB0aGUgcGxhdGZvcm1zIHJldHVybiBjYWNoZWQgbGlkIHN0YXRlIGZyb20gX0xJ RC4NCj4gPiBUaGUgY2FjaGVkIHZhbHVlIHdpbGwgYmUgdXBkYXRlZCBieSBsaWQgaXJxICh2aWEg R1BJTyBJUlEsIEdQRSwgb3IgRUMNCj4gZXZlbnQpLg0KPiA+IEFNTCB0YWJsZXMgd2lsbCBzZW5k IGxpZCBub3RpZmljYXRpb24gaW4gdGhlIGlycSBoYW5kbGVyLg0KPiA+DQo+ID4gU29tZSBBTUwg dGFibGVzIHdpbGwgdXBkYXRlIHRoZSBjYWNoZWQgdmFsdWUgaW4gX1dBSyAoSSdsbCBkZXNjcmli ZSB3aHkNCj4gaXQgaXMgbmVjZXNzYXJ5IGJlbG93KS4NCj4gPiBCdXQgdXBkYXRpbmcgdGhlIGNh Y2hlZCB2YWx1ZSBpbiBfV0FLIGlzIG5vdCBndWFyYW50ZWVkIGJ5IGFsbCBBTUwNCj4gdGFibGVz Lg0KPiA+DQo+ID4gRm9yIHRoZSAnY2xvc2UnIHN0YXRlIGlycSwgYWxsIHRhYmxlcyB3aWxsIHNl bmQgbGlkIGNsb3NlIG5vdGlmaWNhdGlvbi4NCj4gPiBGb3IgdGhlICdvcGVuJyBzdGF0ZSBpcnEs IGl0IHNlZW1zIHRoZXJlIGFyZSB0YWJsZXMgbmV2ZXIgc2VuZGluZyBsaWQgb3Blbg0KPiBub3Rp ZmljYXRpb24gKHNvdW5kcyBsaWtlIFdpbmRvd3MgZG8gbm90IGNhcmUgYWJvdXQgbGlkIG9wZW4p Lg0KPiA+ID09PT09DQo+ID4NCj4gPiBTdXJmYWNlIDMgaXMgZW50aXJlbHkgYSBkaWZmZXJlbnQg Y2FzZS4NCj4gPiBJdCBpcyBhIHJ1bnRpbWUgaWRsZSBzeXN0ZW0gYW5kIGhhcmR3YXJlIHJlZHVj ZWQuDQo+ID4gT24gdGhhdCBraW5kIG9mIHN5c3RlbSwgbGlkIG9wZW4gaXMgaGFuZGxlZCBieSBP UyBub3QgYnkgQklPUy4NCj4gPiBTdXJmYWNlIDMgaXMgZXhhY3RseSB0aGUgcGxhdGZvcm0gdGhh dCBkb2Vzbid0IHNlbmQgbGlkIG9wZW4gbm90aWZpY2F0aW9uLg0KPiA+IEkgZ3Vlc3MgdGhlIEFN TCBpcyBpbnRlbnRpb25hbGx5IHdyaXR0ZW4gaW4gdGhpcyB3YXkgdG8gYmUgY29tcGxpYW50IHRv DQo+IHRoZSB0cmFkaXRpb25hbCBwbGF0Zm9ybXMuDQo+ID4NCj4gPiBXaGlsZSBvbiB0aGUgdHJh ZGl0aW9uYWwgcGxhdGZvcm1zOg0KPiA+IFdoZW4gbGlkIGlzIG9wZW5lZCwgQklPUyBoYW5kbGVz IHRoZSBsaWQgaXJxIGFuZCB3YWtlcyB0aGUgc3lzdGVtIGZyb20NCj4gdGhlIEZBQ1Mgd2FraW5n IHZlY3Rvci4NCj4gPiBTbyBpdCBpcyBsaWtlbHkgdGhhdCB0aGVyZSBpcyBubyBsaWQgb3BlbiBp cnEgYWZ0ZXIgdGhlIHN5c3RlbSBpcyByZXN1bWVkLg0KPiA+IEJJT1MgbWF5IGZvcmdldCB0byB1 cGRhdGUgdGhlIGNhY2hlZCBsaWQgdmFsdWUgaW4gdGhlIF9XQUsgb3Igc29tZQ0KPiBvdGhlciBj b250cm9sIG1ldGhvZHMgdGhhdCBjb3VsZCBiZSBleGVjdXRlZCBhZnRlciByZXN1bWluZy4NCj4g PiBUaGVuIGlmIHdlIHNlbmQgX0xJRCByZXN1bHQgdG8gdGhlIHVzZXIgc3BhY2UsIHRoZSBjYWNo ZWQgdmFsdWUgY291bGQNCj4gYXBwYXJlbnRseSBiZSAnY2xvc2UnLg0KPiA+DQo+ID4gVGhhdCBl eHBsYWlucyB3aHkgdGhlcmUgaXMgbm8gImxpZCBvcGVuIiBjb25maWd1cmF0aW9uIGluIHRoZSAi V2luZG93cw0KPiBEZXZpY2UgTWFuYWdlciIuDQo+ID4NCj4gPj4NCj4gPj4gSSBwcm9wb3NlIGFz IGEgd29ya2Fyb3VuZCB0byBlbmFibGUgYSBrdGhyZWFkIHRoYXQgd2lsbCBtb25pdG9yIHRoZQ0K PiA+PiBsaWQgc3RhdGUgYW5kIHVwZGF0ZSB0aGUgY29ycmVjdCB2YWx1ZSB0byB1c2Vyc3BhY2Ug KDUgc2VjIG9mIHBvbGxpbmcNCj4gPj4gdGltZSBzaG91bGQgYmUgZW5vdWdoIGdpdmVuIHRoYXQg c3lzdGVtZCBjaGVja3MgZXZlcnkgMjAgc2VjKS4NCj4gPj4gV2Ugc2hvdWxkIHByb2JhYmx5IGhh dmUgdGhpcyB3b3JrYXJvdW5kIG9ubHkgZm9yIGEgc2V0IG9mIGtub3duDQo+ID4+IGRldmljZXMs IGFzIGl0IG1pZ2h0IGp1c3QgYmUgdGVtcG9yYXJ5IGZvciB0aG9zZSB1bnRpbCB0aGUgYWN0dWFs DQo+ID4+IHVuZGVybHlpbmcgcHJvYmxlbSBpcyBmaXhlZCAod3JvbmcgRFNEVCBpbiB0aGUgU3Vy ZmFjZSAzIGNhc2UgdGhhdA0KPiA+PiBkb2Vzbid0IG5vdGlmeSBhdCBhbGwsIGlzc3VlIGluIHRo ZSBFQyBmb3IgdGhlIFN1cmZhY2UgUHJvIDEgYW5kIHRoZQ0KPiA+PiBTYW1zdW5nIE4yMTApLg0K PiA+IFtMdiBaaGVuZ10NCj4gPiBUaGF0IGNhbm5vdCBoZWxwIHRvIHNvbHZlIHRoZSBpc3N1ZS9n YXAuDQo+ID4NCj4gPiBUaGUgcHJvYmxlbSBpcyBMaW51eCB1c2Vyc3BhY2UgaGFzIGEgZmFjaWxp dHkgcmUtY2hlY2tpbmcgbGlkIHN0YXRlIHdoZW4NCj4gbGlkIHN0YXRlIGlzICJjbG9zZSIuDQo+ ID4gSWYgaXQgZmFpbGVkIHRvIHVwZGF0ZSB0aGUgbGlkIHN0YXRlIHRvICJvcGVuIiBmb3IgYSB0 aW1lb3V0IHBlcmlvZCwgaXQgd291bGQNCj4gc3VzcGVuZCB0aGUgcGxhdGZvcm0uDQo+ID4NCj4g PiBXZSBhY3R1YWxseSBhcmUgcmVjb21tZW5kaW5nIExpbnVzIHVzZXJzcGFjZSB0byBpbnRyb2R1 Y2UgYSBuZXcgbGlkDQo+IGhhbmRsaW5nIG1vZGUgdG8gb25seSBoYW5kbGUgImxpZCBjbG9zZSIg ZXZlbnQgYW5kIGlnbm9yZSAibGlkIG9wZW4iIGV2ZW50Lg0KPiA+IER1cmluZyB0aGUgcGVyaW9k IHRoaXMgaXMgbm90IGNoYW5nZWQgZnJvbSB0aGUgdXNlcnNwYWNlLCB3ZSBoYXZlIHRvDQo+IHNl bmQgIm9wZW4iIGFmdGVyIHJlc3VtZS9ib290IGluIG9yZGVyIG5vdCB0byB0cmlnZ2VyIHRoZSB0 aW1lb3V0DQo+IG1lY2hhbmlzbS4NCj4gPg0KPiANCj4gSSBoZWFyIHlvdXIgcG9pbnRzIGFuZCBJ IGNvdWxkbid0IGFncmVlIG1vcmUgdGhhdCB0aGUgb25seSBzb2x1dGlvbg0KPiBmb3IgdXMgaXMg KHNhZGx5KSB0byBtaW1pYyBXaW5kb3dzLg0KPiANCj4gSSBhbSBqdXN0IGRpc2FncmVlaW5nIG9u IHRoZSBtZXRob2QgdXNlZCBoZXJlOiBJJ2QgcmF0aGVyIGhhdmUgYQ0KPiBmYWxsYmFjayBtZWNo YW5pc20gd2hlcmUgdGhlIGxpZCBpcyBub3Qgc2VudCB0byAib25lIiBhdCBlYWNoIGJvb3QNCj4g cmVzdW1lIGJlY2F1c2UgdGhpcyB3aWxsIG1lc3MgdXMgcGVvcGxlIHVzaW5nIGRvY2tpbmcgc3Rh dGlvbnMuIFRoZQ0KPiBwcm9ibGVtIGlzIHRoYXQgUmVkIEhhdCBoYXMgYSBsb3Qgb2YgdGhlbSwg YW5kIEkgZm9yZXNlZSBhIGxvdCBvZg0KPiBjb21wbGFpbnMgdG8gbWUgaWYgdGhpcyBpcyBtZXJn ZWQgaW4gaXRzIGN1cnJlbnQgc3RhdGUuDQo+IA0KPiBXZSBjb3VsZCBoYXZlIGEgcGFyYW1ldGVy IChzYXkgInNlbmRfbGlkX29wZW5fb25fcmVzdW1lIiBvcg0KPiAidXNlX2Jpb3NfbGlkX3ZhbHVl IikgaW4gYWNwaS9idXR0b24uYyB3aGljaCB3b3VsZCBhbGxvdyBwZW9wbGUgdG8NCj4gY2hvb3Nl IGlmIHRoZXkgd2FudCB0aGUgIm5ldyIgYmVoYXZpb3Igb3IgdGhlIG9sZCBvbmUuIEFuZCB3ZSBj b3VsZA0KPiBhbHNvIGFkZCBzb21lIERNSSBtYXRjaGluZyBmb3IgdGhlIG1lc3NlZCB1cCBsYXB0 b3BzL3RhYmxldHMgd2hlcmUgd2UNCj4gZm9yY2Ugb25lIG9yIHRoZSBvdGhlciBxdWlyay4gV2hl biB3ZSBhZ3JlZSB0aGF0IHVzZXIgc3BhY2Ugbm93DQo+IGJlaGF2ZXMgZ2VudGx5IHdpdGggdXMs IHdlIGNvdWxkIHRoZW4gcmVtb3ZlIGVudGlyZWx5IHRoZSBxdWlyayBhbmQNCj4gdGhlIGRtaSBt YXRjaGluZy4NCj4gDQo+IEhvdyBkb2VzIHRoYXQgc291bmQ/DQpbTHYgWmhlbmddIA0KVGhlIGNo b2ljZXMgYXJlIGluIG15IGZpcnN0IHJldmlzaW9uLg0KSSBjb3VsZCByZXN0b3JlIGl0IGJhY2sg YW5kIHJlLXNlbmQgdGhpcyBzZXJpZXMuDQpBbHNvIEkgbmVlZCB0byB1cGRhdGUgUEFUQ0ggMDIg dG8gZWxpbWluYXRlIHdyb25nIElTX0VSUl9WQUxVRSgpLg0KDQo+IA0KPiBBbHNvLCBvbiB0aGUg dG9waWMgb2YgdGhlIC5ub3RpZnkgbm90IGJlaW5nIHNlbnQgYnkgc29tZSBCSU9TLCBJIGhhdmUN Cj4gc2VlbiBzb21ldGhpbmcgc2ltaWxhciBvbiB0aGUgc3VyZmFjZSAzLg0KPiANCj4gVGhlIEFT TCBmb3IgdGhlIExJRCBzdGF0dXMgY2hhbmdlIGlzIHRoZSBmb2xsb3dpbmc6DQo+IC0tLQ0KPiAg ICAgICAgICAgICBNZXRob2QgKF9FNEMsIDAsIFNlcmlhbGl6ZWQpICAvLyBfRXh4OiBFZGdlLVRy aWdnZXJlZCBHUEUNCj4gICAgICAgICAgICAgew0KPiAgICAgICAgICAgICAgICAgSWYgKChIRUxE ID09IE9uZSkpDQo+ICAgICAgICAgICAgICAgICB7DQo+ICAgICAgICAgICAgICAgICAgICAgXl5M SUQuTElEQiA9IE9uZQ0KPiAgICAgICAgICAgICAgICAgfQ0KPiAgICAgICAgICAgICAgICAgRWxz ZQ0KPiAgICAgICAgICAgICAgICAgew0KPiAgICAgICAgICAgICAgICAgICAgIF5eTElELkxJREIg PSBaZXJvDQo+ICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChMSUQsIDB4ODApIC8vIFN0YXR1 cyBDaGFuZ2UNCj4gICAgICAgICAgICAgICAgIH0NCj4gDQo+ICAgICAgICAgICAgICAgICBOb3Rp ZnkgKF5eUENJMC5TUEkxLk5UUkcsIE9uZSkgLy8gRGV2aWNlIENoZWNrDQo+ICAgICAgICAgICAg IH0NCj4gLS0tDQo+IA0KPiBJIG5vdGljZWQgSSByZWNlaXZlZCB0aGUgaG90cGx1ZyBldmVudCBv biB0aGUgdG91Y2hzY3JlZW4gd2hlbiB0aGUgTElEDQo+IHN0YXRlIGNoYW5nZWQsIGFuZCB0cmll ZCB0byBpbml0aWF0ZSB0aGUgbm90aWZ5IG9uIHRoZSBMSUQgYWNwaSBkZXZpY2UNCj4gZnJvbSB3 aXRoaW4gdGhlIHRvdWNoc2NyZWVuIGRyaXZlci4NCj4gVGhpcyB3b3JrcyB3ZWxsLCBleGNlcHQg dGhhdCBmcm9tIHRpbWUgdG8gdGltZSwgb24gcmVzdW1lLCBJIGRvbid0DQo+IGV2ZW4gcmVjZWl2 ZSB0aGUgaG90cGx1ZyBub3RpZmljYXRpb24uIEl0IGlzIGFzIGlmIHRoZSBub3RpZmljYXRpb24g aXMNCj4gbG9zdCB3aGlsZSBJIHJlY2VpdmUgaXQgODAlIG9mIHRoZSB0aW1lLg0KW0x2IFpoZW5n XSANClByb2JhYmx5IHRoaXMgaXMgYmVjYXVzZSBvZiB0aGUgc2FtZSByZWFzb24gYXMgbWVudGlv bmVkIGJlZm9yZS4NCkkgc3RpbGwgdGhpbmsgU3VyZmFjZSAzIGlzIGEgZGlmZmVyZW50IGV4YW1w bGUuDQoNCk9uIHRob3NlIHRyYWRpdGlvbmFsIHBsYXRmb3Jtcywgd2UgY2FuIHNlZSB0aGF0Og0K MS4gVGhlcmUgYXJlIHBsYXRmb3JtcyByZXR1cm5pbmcgaGFyZHdhcmUgc3RhdGUgZGlyZWN0bHkg ZnJvbSBfTElEDQoyLiBUaGVyZSBhcmUgcGxhdGZvcm1zIHJldHVybmluZyBjYWNoZWQgc3RhdGUg ZnJvbSBfTElEIGFuZCB1cGRhdGUgaXQgdmlhIGxpZCBpcnEsIEVDLl9SRUcsIF9XQUsNCjMuIFRo ZXJlIGFyZSBwbGF0Zm9ybXMgcmV0dXJuaW5nIGNhY2hlZCBzdGF0ZSBmcm9tIF9MSUQgYW5kIHVw ZGF0ZSBpdCB2aWEgbGlkIGlycQ0KDQpUaGUgZmFjdCBpcyB0aGVyZSBhcmUgc2ltcGx5IHNvIG1h bnkgdHlwZSAzIHBsYXRmb3Jtcy4NCllvdSBtaWdodCBiZSB0aGlua2luZyB0aGVyZSBhcmUgb25s eSBzZXZlcmFsIHN1Y2gga2luZCBvZiBib2d1cyBkZXZpY2VzLg0KQnV0IGFjdHVhbGx5IG91ciB0 ZWFtIGhhcyBiZWVuIHdvcmtpbmcgb24gY3VzdG9taXppbmcgdGhvc2UgcGxhdGZvcm1zLCBlbmhh bmNpbmcgdGhlaXIgRUMuX1JFRy9fV0FLIGZvciB5ZWFycyBpbiBvcmRlciB0byBtYWtlIHRoZSBB TUwgdGFibGVzIHdvcmtpbmcgb24gTGludXguDQpUaGlzIGxvb2tzIGxpa2UgYW4gZW5kbGVzcyB3 b3JrIHRvIG1lLi4uDQoNCj4gDQo+IFRoaXMgbWlnaHQgYmUgY29tcGxldGVseSB1bnJlbGF0ZWQs IGJ1dCBJIHRoaW5rIGl0IGlzIHdvcnRoIG1lbnRpb25pbmcNCj4gYmVjYXVzZSB0aGVyZSBtaWdo dCBiZSBhIGNvbW1vbiByb290IGF0IHRoZSBzdGF0ZSBub3QgYmVpbmcgdXBkYXRlZA0KPiBjb3Jy ZWN0bHkuDQo+IA0KPiBDaGVlcnMsIGFuZCBzb3JyeSBmb3IgYmVpbmcgYW5ub3lpbmcgOikNCltM diBaaGVuZ10gDQpJIGRpZG4ndCBzZWUgYW55dGhpbmcgYW5ub3lpbmcuIDopDQoNCkNoZWVycw0K LUx2DQoNCj4gQmVuamFtaW4NCg==