From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: Re: [RFC 00/11] TDR/watchdog timeout support for gen8 Date: Tue, 23 Jun 2015 15:06:49 +0100 Message-ID: <558967F9.40008@intel.com> References: <1433783009-17251-1-git-send-email-tomas.elf@intel.com> <20150623100551.GT25769@phenom.ffwll.local> <55893934.4080105@intel.com> <20150623113829.GU25769@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id DCCB46E9A1 for ; Tue, 23 Jun 2015 07:06:57 -0700 (PDT) In-Reply-To: <20150623113829.GU25769@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: "Intel-GFX@Lists.FreeDesktop.Org" List-Id: intel-gfx@lists.freedesktop.org T24gMjMvMDYvMjAxNSAxMjozOCwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBUdWUsIEp1biAy MywgMjAxNSBhdCAxMTo0NzoxNkFNICswMTAwLCBUb21hcyBFbGYgd3JvdGU6Cj4+IE9uIDIzLzA2 LzIwMTUgMTE6MDUsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4+PiBZb3VyIHBhdGNoZXMgZG9uJ3Qg YXBwbHkgY2xlYW5seSBhbnkgbW9yZSBhbmQgSSBjYW4ndCBmaW5kIGEgc3VpdGFibGUKPj4+IGJh c2VsaW5lIHdoZXJlIHRoZXkgd291bGQuIEJ1dCBJJ2QgbGlrZSB0byBzZWUgaXQgYWxsIGluIGNv bnRleHQgdG8gY2hlY2sKPj4+IGEgZmV3IHRoaW5ncy4KPj4+Cj4+PiBDYW4geW91IHBscyBwdXNo IGEgZ2l0IGJyYW5jaCB3aXRoIHRoZXNlIHNvbWV3aGVyZT8KPj4+Cj4+Cj4+IEhlcmUncyB0aGUg YmFzZWxpbmUgZm9yIG15IGxvY2FsIHRyZWU6Cj4+IGNkMDc2MzcgLSAgZHJtLWludGVsLW5pZ2h0 bHk6IDIwMTV5LTA0bS0xM2QtMDloLTQ2bS01OXMgVVRDIGludGVncmF0aW9uCj4+IG1hbmlmZXN0 IDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+Cj4gSSBkb24ndCBoYXZlIHRoYXQgYmFzZWxpbmUg YXJvdW5kIGhlcmUgKGFueSBtb3JlIGF0IGxlYXN0KS4gSGFwcGVucwo+IHJlZ3VsYXJseSB3aXRo IHJlYmFzaW5nIHRyZWVzLgo+Cj4+IEkgaGF2ZW4ndCB1cGRhdGVkIGl0IGluIGEgd2hpbGUgb2J2 aW91c2x5IHNpbmNlIEkgdGhvdWdodCB0aGF0IGNvdWxkIHdhaXQKPj4gdW50aWwgd2UnZCB3b3Jr ZWQgb3VyIHdheSB0aHJvdWdoIHRoZSBSRkMgc2VyaWVzIGFuZCBJIGNvdWxkIGdldCB0byB3b3Jr IG9uCj4+IHRoZSBmaXJzdCByZWFsIHBhdGNoIHNlcmllcy4KPj4KPj4gSXMgaXQgcG9zc2libGUg Zm9yIHlvdSB0byBzZXQgdXAgYSBsb2NhbCB0cmVlIG9mIHlvdXIgb3duIHdpdGggbXkgYmFzZWxp bmUKPj4gYW5kIG15IFJGQyBwYXRjaGVzIG9uIHRvcCBvciB3b3VsZCB5b3UgcHJlZmVyIGl0IGlm IEkgcHVzaCBteSBicmFuY2ggdG8KPj4gZHJtLXByaXZhdGU/Cj4KPiBTbyB5ZWFoIEkgbmVlZCB5 b3VyIGJyYW5jaCA7LSkKCkkgcHVzaGVkIG15IGJyYW5jaCwgCjIwMTUwNjA4X1REUl91cHN0cmVh bV9hZGFwdGF0aW9uX3NpbmdsZS10aHJlYWRfaGFuZ2NoZWNraW5nX1JGQ19kZWxpdmVyeV9zZW5k bWFpbF8xLCAKdG8gZHJtLXByaXZhdGUgOgoKaHR0cHM6Ly9naXQtYW1yLTIuZGV2dG9vbHMuaW50 ZWwuY29tL2dlcnJpdC9naXR3ZWI/cD1vdGNfZ2VuX2dyYXBoaWNzLWRybS1wcml2YXRlLmdpdDth PXNob3J0bG9nO2g9cmVmcy9oZWFkcy8yMDE1MDYwOF9URFJfdXBzdHJlYW1fYWRhcHRhdGlvbl9z aW5nbGUtdGhyZWFkX2hhbmdjaGVja2luZ19SRkNfZGVsaXZlcnlfc2VuZG1haWxfMQoKV2lsbCB0 aGF0IHdvcmsgb3IgZG8geW91IG5lZWQgc29tZXRoaW5nIGVsc2U/CgpUaGFua3MsClRvbWFzCgo+ IC1EYW5pbAo+Pgo+PiBUaGFua3MsCj4+IFRvbWFzCj4+Cj4+PiBUaGFua3MsIERhbmllbAo+Pj4K Pj4+IE9uIE1vbiwgSnVuIDA4LCAyMDE1IGF0IDA2OjAzOjE4UE0gKzAxMDAsIFRvbWFzIEVsZiB3 cm90ZToKPj4+PiBUaGlzIHBhdGNoIHNlcmllcyBpbnRyb2R1Y2VzIHRoZSBmb2xsb3dpbmcgZmVh dHVyZXM6Cj4+Pj4KPj4+PiAqIEZlYXR1cmUgMTogVERSIChUaW1lb3V0IERldGVjdGlvbiBhbmQg UmVjb3ZlcnkpIGZvciBnZW44IGV4ZWNsaXN0IG1vZGUuCj4+Pj4KPj4+PiBURFIgaXMgYW4gdW1i cmVsbGEgdGVybSBmb3IgYW55dGhpbmcgdGhhdCBnb2VzIGludG8gZGV0ZWN0aW5nIGFuZCByZWNv dmVyaW5nCj4+PiA+ZnJvbSBHUFUgaGFuZ3MgYW5kIGlzIGEgdGVybSBtb3JlIHdpZGVseSB1c2Vk IG91dHNpZGUgb2YgdGhlIHVwc3RyZWFtIGRyaXZlci4KPj4+PiBUaGlzIGZlYXR1cmUgaW50cm9k dWNlcyBhbiBleHRlbnNpYmxlIGZyYW1ld29yayB0aGF0IGN1cnJlbnRseSBzdXBwb3J0cyBnZW44 Cj4+Pj4gYnV0IHRoYXQgY2FuIGJlIGVhc2lseSBleHRlbmRlZCB0byBzdXBwb3J0IGdlbjcgYXMg d2VsbCAod2hpY2ggaXMgYWxyZWFkeSB0aGUKPj4+PiBjYXNlIGluIEdNSU4gYnV0IHVuZm9ydHVu YXRlbHkgaW4gYSBub3QgcXVpdGUgdXBzdHJlYW1hYmxlIGZvcm0pLiBUaGUgY29kZQo+Pj4+IGNv bnRhaW5lZCBpbiB0aGlzIHN1Ym1pc3Npb24gcmVwcmVzZW50cyB0aGUgZXNzZW50aWFscyBvZiB3 aGF0IGlzIGN1cnJlbnRseSBpbgo+Pj4+IEdNSU4gbWVyZ2VkIHdpdGggd2hhdCBpcyBjdXJyZW50 bHkgaW4gdXBzdHJlYW0gKGFzIG9mIHRoZSB0aW1lIHdoZW4gdGhpcyB3b3JrCj4+Pj4gY29tbWVu Y2VkIGEgZmV3IG1vbnRocyBiYWNrKS4KPj4+Pgo+Pj4+IFRoaXMgZmVhdHVyZSBhZGRzIGEgbmV3 IGhhbmcgcmVjb3ZlcnkgcGF0aCBhbG9uZ3NpZGUgdGhlIGxlZ2FjeSBHUFUgcmVzZXQgcGF0aCwK Pj4+PiB3aGljaCB0YWtlcyBjYXJlIG9mIGVuZ2luZSByZWNvdmVyeSBvbmx5LiBBc2lkZSBmcm9t IGFkZGluZyBzdXBwb3J0IGZvcgo+Pj4+IHBlci1lbmdpbmUgcmVjb3ZlcnkgdGhpcyBmZWF0dXJl IGFsc28gaW50cm9kdWNlcyBydWxlcyBmb3IgaG93IHRvIHByb21vdGUgYQo+Pj4+IHBvdGVudGlh bCBwZXItZW5naW5lIHJlc2V0IHRvIGEgbGVnYWN5LCBmdWxsIEdQVSByZXNldC4KPj4+Pgo+Pj4+ IFRoZSBoYW5nIGNoZWNrZXIgbm93IGludGVncmF0ZXMgd2l0aCB0aGUgZXJyb3IgaGFuZGxlciBp biBhIHNsaWdodGx5IGRpZmZlcmVudAo+Pj4+IHdheSBpbiB0aGF0IGl0IGFsbG93cyBoYW5nIHJl Y292ZXJ5IG9uIG11bHRpcGxlIGVuZ2luZXMgYXQgdGhlIHNhbWUgdGltZSBieQo+Pj4+IHBhc3Np bmcgYW4gZW5naW5lIGZsYWcgbWFzayB0byB0aGUgZXJyb3IgaGFuZGxlciB3aGVyZSBmbGFncyBy ZXByZXNlbnRpbmcgYWxsCj4+Pj4gb2YgdGhlIGh1bmcgZW5naW5lcyBhcmUgc2V0LiBUaGlzIGFs bG93cyB1cyB0byBzY2hlZHVsZSBoYW5nIHJlY292ZXJ5IG9uY2UgZm9yCj4+Pj4gYWxsIGN1cnJl bnRseSBodW5nIGVuZ2luZXMgaW5zdGVhZCBvZiBvbmUgaGFuZyByZWNvdmVyeSBwZXIgZGV0ZWN0 ZWQgZW5naW5lCj4+Pj4gaGFuZy4gUHJldmlvdXNseSwgd2hlbiBvbmx5IGZ1bGwgR1BVIHJlc2V0 IHdhcyBzdXBwb3J0ZWQgdGhpcyB3YXMgYWxsIHRoZSBzYW1lCj4+Pj4gc2luY2UgaXQgd291bGRu J3QgbWF0dGVyIGlmIG9uZSBvciBmb3VyIGVuZ2luZXMgd2VyZSBodW5nIGF0IGFueSBnaXZlbiBw b2ludAo+Pj4+IHNpbmNlIGl0IHdvdWxkIGFsbCBhbW91bnQgdG8gdGhlIHNhbWUgdGhpbmcgLSB0 aGUgR1BVIGdldHRpbmcgcmVzZXQuIEFzIGl0Cj4+Pj4gc3RhbmRzIG5vdyB0aGUgYmVoYXZpb3Vy IGlzIGRpZmZlcmVudCBkZXBlbmRpbmcgb24gd2hpY2ggZW5naW5lIGlzIGh1bmcgc2luY2UKPj4+ PiBlYWNoIGVuZ2luZSBpcyByZXNldCBzZXBhcmF0ZWx5IGZyb20gYWxsIHRoZSBvdGhlciBlbmdp bmVzLCB0aGVyZWZvcmUgd2UgaGF2ZQo+Pj4+IHRvIHRoaW5rIGFib3V0IHRoaXMgaW4gdGVybXMg b2Ygc2NoZWR1bGluZyBjb3N0IGFuZCByZWNvdmVyeSBsYXRlbmN5LiAoc2VlCj4+Pj4gb3BlbiBx dWVzdGlvbiBiZWxvdykKPj4+Pgo+Pj4+IE9QRU4gUVVFU1RJT05TOgo+Pj4+Cj4+Pj4gCTEuIERv IHdlIHdhbnQgdG8gaW52ZXN0aWdhdGUgdGhlIHBvc3NpYmlsaXR5IG9mIHBlci1lbmdpbmUgaGFu Zwo+Pj4+IAlkZXRlY3Rpb24/IEluIHRoZSBjdXJyZW50IHVwc3RyZWFtIGRyaXZlciB0aGVyZSBp cyBvbmx5IG9uZSB3b3JrIHF1ZXVlCj4+Pj4gCXRoYXQgaGFuZGxlcyB0aGUgaGFuZyBjaGVja2Vy IGFuZCBldmVyeXRoaW5nIGZyb20gaW5pdGlhbCBoYW5nCj4+Pj4gCWRldGVjdGlvbiB0byBmaW5h bCBoYW5nIHJlY292ZXJ5IHJ1bnMgaW4gdGhpcyB0aHJlYWQuIFRoaXMgbWFrZXMgc2Vuc2UKPj4+ PiAJaWYgeW91J3JlIG9ubHkgc3VwcG9ydGluZyBvbmUgZm9ybSBvZiBoYW5nIHJlY292ZXJ5IC0g dXNpbmcgZnVsbCBHUFUKPj4+PiAJcmVzZXQgYW5kIG5vdGhpbmcgdGllZCB0byBhbnkgcGFydGlj dWxhciBlbmdpbmUuIEhvd2V2ZXIsIGFzIHBhcnQKPj4+PiAJb2YgdGhpcyBwYXRjaCBzZXJpZXMg d2UncmUgY2hhbmdpbmcgdGhhdCBieSBpbnRyb2R1Y2luZyBwZXItZW5naW5lCj4+Pj4gCWhhbmcg cmVjb3ZlcnkuIEl0IGNvdWxkIG1ha2Ugc2Vuc2UgdG8gaW50cm9kdWNlIG11bHRpcGxlIHdvcmsK Pj4+PiAJcXVldWVzIC0gb25lIHBlciBlbmdpbmUgLSB0byBydW4gbXVsdGlwbGUgaGFuZyBjaGVj a2luZyB0aHJlYWRzIGluCj4+Pj4gCXBhcmFsbGVsLgo+Pj4+Cj4+Pj4gCVRoaXMgd291bGQgcG90 ZW50aWFsbHkgYWxsb3cgc2F2aW5ncyBpbiB0ZXJtcyBvZiByZWNvdmVyeSBsYXRlbmN5IHNpbmNl Cj4+Pj4gCXdlIGRvbid0IGhhdmUgdG8gc2NhbiBhbGwgZW5naW5lcyBldmVyeSB0aW1lIHRoZSBo YW5nIGNoZWNrZXIgaXMKPj4+PiAJc2NoZWR1bGVkIGFuZCB0aGUgZXJyb3IgaGFuZGxlciBkb2Vz IG5vdCBoYXZlIHRvIHNjYW4gYWxsIGVuZ2luZXMgZXZlcnkKPj4+PiAJdGltZSBpdCBpcyBzY2hl ZHVsZWQuIEluc3RlYWQsIHdlIGNvdWxkIGltcGxlbWVudCBvbmUgd29yayBxdWV1ZSBwZXIKPj4+ PiAJZW5naW5lIHRoYXQgd291bGQgaW52b2tlIHRoZSBoYW5nIGNoZWNrZXIgdGhhdCBvbmx5IGNo ZWNrcyBfdGhhdF8KPj4+PiAJcGFydGljdWxhciBlbmdpbmUgYW5kIHRoZW4gdGhlIGVycm9yIGhh bmRsZXIgaXMgaW52b2tlZCBmb3IgX3RoYXRfCj4+Pj4gCXBhcnRpY3VsYXIgZW5naW5lLiBJZiBv bmUgZW5naW5lIGhhcyBodW5nIHRoZSBsYXRlbmN5IGZvciBnZXR0aW5nIHRvCj4+Pj4gCXRoZSBo YW5nIHJlY292ZXJ5IHBhdGggZm9yIHRoYXQgcGFydGljdWxhciBlbmdpbmUgd291bGQgYmUgKFRp bWUgRm9yCj4+Pj4gCUhhbmcgQ2hlY2tpbmcgT25lIEVuZ2luZSkgKyAoVGltZSBGb3IgRXJyb3Ig SGFuZGxpbmcgT25lIEVuZ2luZSkgcmF0aGVyCj4+Pj4gCXRoYW4gdGhlIHRpbWUgaXQgdGFrZXMg dG8gZG8gaGFuZyBjaGVja2luZyBmb3IgYWxsIGVuZ2luZXMgKyB0aGUgdGltZQo+Pj4+IAlpdCB0 YWtlcyB0byBkbyBlcnJvciBoYW5kbGluZyBmb3IgYWxsIGVuZ2luZXMgdGhhdCBoYXZlIGJlZW4g ZGV0ZWN0ZWQKPj4+PiAJYXMgaHVuZyAod2hpY2ggaW4gdGhlIHdvcnN0IGNhc2Ugd291bGQgYmUg YWxsIGVuZ2luZXMpLiBUaGVyZSB3b3VsZAo+Pj4+IAlwb3RlbnRpYWxseSBiZSBhcyBtYW55IGhh bmcgY2hlY2tlciBhbmQgZXJyb3IgaGFuZGxpbmcgdGhyZWFkcyBnb2luZyBvbgo+Pj4+IAljb25j dXJyZW50bHkgYXMgdGhlcmUgYXJlIGVuZ2luZXMgaW4gdGhlIGhhcmR3YXJlIGJ1dCB0aGV5IHdv dWxkIGFsbCBiZQo+Pj4+IAlydW5uaW5nIGluIHBhcmFsbGVsIHdpdGhvdXQgYW55IHNpZ25pZmlj YW50IGxvY2tpbmcuIFRoZSBmaXJzdCB0aW1lCj4+Pj4gCXdoZXJlIGFueSB0aHJlYWQgbmVlZHMg ZXhjbHVzaXZlIGFjY2VzcyB0byB0aGUgZHJpdmVyIGlzIGF0IHRoZSBwb2ludAo+Pj4+IAlvZiB0 aGUgYWN0dWFsIGhhbmcgcmVjb3ZlcnkgYnV0IHRoZSB0aW1lIGl0IHRha2VzIHRvIGdldCB0aGVy ZSB3b3VsZAo+Pj4+IAl0aGVvcmV0aWNhbGx5IGJlIGxvd2VyIGFuZCB0aGUgdGltZSBpdCBhY3R1 YWxseSB0YWtlcyB0byBkbyBwZXItZW5naW5lCj4+Pj4gCWhhbmcgcmVjb3ZlcnkgaXMgcXVpdGUg YSBsb3QgbG93ZXIgdGhhbiB0aGUgdGltZSBpdCB0YWtlcyB0byBhY3R1YWxseQo+Pj4+IAlkZXRl Y3QgYSBoYW5nIHJlbGlhYmx5Lgo+Pj4+Cj4+Pj4gCUhvdyBtdWNoIHdlIHdvdWxkIHNhdmUgYnkg c3VjaCBhIGNoYW5nZSBzdGlsbCBuZWVkcyB0byBiZSBhbmFseXNlZCBhbmQKPj4+PiAJY29tcGFy ZWQgYWdhaW5zdCB0aGUgY3VycmVudCBzaW5nbGUtdGhyZWFkIG1vZGVsIGJ1dCBpdCBtYWtlcyBz ZW5zZQo+Pj4+IAlmcm9tIGEgdGhlb3JldGljYWwgZGVzaWduIHBvaW50IG9mIHZpZXcuCj4+Pj4K Pj4+PiAJMi4gSG93IGRvZXMgcGVyLWVuZ2luZSByZXNldCBpbnRlZ3JhdGUgd2l0aCB0aGUgcHVi bGljIHJlc2V0IHN0YXRzCj4+Pj4gCUlPQ1RMPyBUaGVzZSBzdGF0cyBhcmUgdXNlZCBmb3IgdGhl IEdMIHJvYnVzdG5lc3MgaW50ZXJmYWNlIGFuZAo+Pj4+IAljdXJyZW50bHkgdGhlc2UgdGVzdHMg YXJlIGZhaWxpbmcgd2hlbiBydW5uaW5nIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeQo+Pj4+IAlz aW5jZSB3ZSB0cmVhdCBwZXItZW5naW5lIHJlY292ZXJ5IGRpZmZlcmVudGx5IGZyb20gZnVsbCBH UFUgcmVjb3ZlcnksCj4+Pj4gCXdoaWNoIGlzIG5vdGhpbmcgdGhhdCB1c2VybGFuZCBrbm93cyBh bnl0aGluZyBhYm91dC4gV2hlbiB1c2VybGFuZAo+Pj4+IAlleHBlY3RzIHRvIGhhbmcgdGhlIGhh cmR3YXJlIGl0IGV4cGVjdHMgdGhlIHJlc2V0IHN0YXQgaW50ZXJmYWNlIHRvCj4+Pj4gCXJlZmxl Y3QgdGhpcywgd2hpY2ggaXMgc29tZXRoaW5nIHRoYXQgaGFzIGNoYW5nZWQgYXMgcGFydCBvZiB0 aGlzIGNvZGUKPj4+PiAJc3VibWlzc2lvbi4gVGhlcmUncyBtb3JlIHRoYW4gb25lIHdheSB0byBz b2x2ZSB0aGlzLiBIZXJlIGFyZSB0d28gb3B0aW9uczoKPj4+Pgo+Pj4+IAkJMS4gRXhwb3NlIHBl ci1lbmdpbmUgcmVzZXQgc3RhdGlzdGljcyBhbmQgc2V0IGNvbnRleHRzIGFzCj4+Pj4gCQlndWls dHkgdGhlIHNhbWUgd2F5IGZvciBwZXItZW5naW5lIHJlc2V0IGFzIGZvciBmdWxsIEdQVQo+Pj4+ IAkJcmVzZXRzLgo+Pj4+Cj4+Pj4gCQlUaGF0IHdvdWxkIG1ha2UgdGhpcyBjaGFuZ2UgdG8gdGhl IGhhbmcgcmVjb3ZlcnkgbWVjaGFuaXNtCj4+Pj4gCQl0cmFuc3BhcmVudCB0byB1c2VybGFuZCBi dXQgaXQgd291bGQgY2hhbmdlIHRoZSBzZW1hbnRpY3Mgc2luY2UKPj4+PiAJCWFuIGFjdGl2ZSBj b250ZXh0IGluIHRoZSByZXNldCBzdGF0cyBubyBsb25nZXIgaW1wbGllcyB0aGF0IHRoZQo+Pj4+ IAkJR1BVIHdhcyBmdWxseSByZXNldC4KPj4+Pgo+Pj4+IAkJMi4gQWRkIGEgbmV3IHNldCBvZiBz dGF0aXN0aWNzIGZvciBwZXItZW5naW5lIHJlc2V0IChvbmUgZ3JvdXAKPj4+PiAJCW9mIHN0YXRp c3RpY3MgZm9yIGVhY2ggZW5naW5lKSB0byByZWZsZWN0IHRoZSBleHRlbmRlZAo+Pj4+IAkJY2Fw YWJpbGl0aWVzIHRoYXQgcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5IG9mZmVycy4KPj4+Pgo+Pj4+ IAkJV291bGQgdGhhdCBiZSBicmVha2luZyB0aGUgQUJJPwo+Pj4+Cj4+Pj4gCQkuLi4gT3IgYXJl IHRoZXJlIGFueSBvdGhlciB3YXkgb2YgZG9pbmcgdGhpcz8KPj4+Pgo+Pj4+ICogRmVhdHVyZSAy OiBXYXRjaGRvZyBUaW1lb3V0IChhLmsuYSAibWVkaWEgZW5naW5lIHJlc2V0IikgZm9yIGdlbjgu Cj4+Pj4KPj4+PiBUaGlzIGZlYXR1cmUgYWxsb3dzIHVzZXJsYW5kIGFwcGxpY2F0aW9ucyB0byBj b250cm9sIHdoZXRoZXIgb3Igbm90IGluZGl2aWR1YWwKPj4+PiBiYXRjaCBidWZmZXJzIHNob3Vs ZCBoYXZlIGEgZmlyc3QtbGV2ZWwsIGZpbmUtZ3JhaW5lZCwgaGFyZHdhcmUtYmFzZWQgaGFuZwo+ Pj4+IGRldGVjdGlvbiBtZWNoYW5pc20gb24gdG9wIG9mIHRoZSBvcmRpbmFyeSwgc29mdHdhcmUt YmFzZWQgcGVyaW9kaWMgaGFuZwo+Pj4+IGNoZWNrZXIgdGhhdCBpcyBhbHJlYWR5IGluIHRoZSBk cml2ZXIuIFRoZSBhZHZhbnRhZ2Ugb3ZlciByZWx5aW5nIHNvbGVseSBvbiB0aGUKPj4+PiBjdXJy ZW50IHNvZnR3YXJlLWJhc2VkIGhhbmcgY2hlY2tlciBpcyB0aGF0IHRoZSB3YXRjaGRvZyB0aW1l b3V0IG1lY2hhbmlzbSBpcwo+Pj4+IGFib3V0IDEwMDB4IHF1aWNrZXIgYW5kIG1vcmUgcHJlY2lz ZS4gU2luY2UgaXQncyBub3QgYSBmdWxsIGRyaXZlci1sZXZlbCBoYW5nCj4+Pj4gZGV0ZWN0aW9u IG1lY2hhbmlzbSBidXQgb25seSB0YXJnZXR0aW5nIG9uZSBpbmRpdmlkdWFsIGJhdGNoIGJ1ZmZl ciBhdCBhIHRpbWUKPj4+PiBpdCBjYW4gYWZmb3JkIHRvIGJlIHRoYXQgcXVpY2sgd2l0aG91dCBy aXNraW5nIGFuIGluY3JlYXNlIGluIGZhbHNlIHBvc2l0aXZlCj4+Pj4gaGFuZyBkZXRlY3Rpb24u Cj4+Pj4KPj4+PiBUaGlzIGZlYXR1cmUgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBjaGFuZ2VzOgo+ Pj4+Cj4+Pj4gYSkgV2F0Y2hkb2cgdGltZW91dCBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lIGZv ciBoYW5kbGluZyB3YXRjaGRvZyBpbnRlcnJ1cHRzCj4+Pj4gYW5kIGNvbm5lY3RpbmcgdGhlc2Ug dG8gcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5Lgo+Pj4+Cj4+Pj4gYikgSW5qZWN0aW9uIG9mIHdh dGNoZG9nIHRpbWVyIGVuYWJsZW1lbnQvY2FuY2VsbGF0aW9uIGluc3RydWN0aW9ucwo+Pj4+IGJl Zm9yZS9hZnRlciB0aGUgYmF0Y2ggYnVmZmVyIHN0YXJ0IGluc3RydWN0aW9uIGluIHRoZSByaW5n IGJ1ZmZlciBzbyB0aGF0Cj4+Pj4gd2F0Y2hkb2cgdGltZW91dCBpcyBjb25uZWN0ZWQgdG8gdGhl IHN1Ym1pc3Npb24gb2YgYW4gaW5kaXZpZHVhbCBiYXRjaCBidWZmZXIuCj4+Pj4KPj4+PiBjKSBF eHRlbnNpb24gb2YgdGhlIERSTSBiYXRjaCBidWZmZXIgaW50ZXJmYWNlLCBleHBvc2luZyB0aGUg d2F0Y2hkb2cgdGltZW91dAo+Pj4+IGZlYXR1cmUgdG8gdXNlcmxhbmQuIFdlJ3ZlIGdvdCB0d28g b3BlbiBzb3VyY2UgZ3JvdXBzIGluIFZQRyBjdXJyZW50bHkgaW4gdGhlCj4+Pj4gcHJvY2VzcyBv ZiBpbnRlZ3JhdGluZyBzdXBwb3J0IGZvciB0aGlzIGZlYXR1cmUsIHdoaWNoIHNob3VsZCBtYWtl IGl0Cj4+Pj4gcHJpbmNpcGFsbHkgcG9zc2libGUgdG8gdXBzdHJlYW0gdGhpcyBleHRlbnNpb24u Cj4+Pj4KPj4+PiBUaGVyZSBpcyBjdXJyZW50bHkgZnVsbCB3YXRjaGRvZyB0aW1lb3V0IHN1cHBv cnQgZm9yIGdlbjcgaW4gR01JTiBhbmQgaXQgaXMKPj4+PiBxdWl0ZSBzaW1pbGFyIHRvIHRoZSBn ZW44IGltcGxlbWVudGF0aW9uIHNvIHRoZXJlIGlzIG5vdGhpbmcgb2J2aW91cyB0aGF0Cj4+Pj4g cHJldmVudHMgdXMgZnJvbSB1cHN0cmVhbWluZyB0aGF0IGNvZGUgYWxvbmcgd2l0aCB0aGUgZ2Vu OCBjb2RlLiBIb3dldmVyLAo+Pj4+IHdhdGNoZG9nIHRpbWVvdXQgaXMgZnVsbHkgZGVwZW5kZW50 IG9uIHRoZSBwZXItZW5naW5lIGhhbmcgcmVjb3ZlcnkgcGF0aCBhbmQKPj4+PiB0aGF0IGlzIG5v dCBwYXJ0IG9mIHRoaXMgY29kZSBzdWJtaXNzaW9uIGZvciBnZW43LiBUaGVyZWZvcmUgd2F0Y2hk b2cgdGltZW91dAo+Pj4+IHN1cHBvcnQgZm9yIGdlbjcgaGFzIGJlZW4gZXhjbHVkZWQgdW50aWwg cGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5IHN1cHBvcnQgZm9yCj4+Pj4gZ2VuNyBoYXMgbGFuZGVk IHVwc3RyZWFtLgo+Pj4+Cj4+Pj4gQXMgcGFydCBvZiB0aGlzIHN1Ym1pc3Npb24gd2UndmUgaGFk IHRvIHJlaW5zdGF0ZSB0aGUgd29yayBxdWV1ZSB0aGF0IHdhcwo+Pj4+IHByZXZpb3VzbHkgaW4g cGxhY2UgYmV0d2VlbiB0aGUgZXJyb3IgaGFuZGxlciBhbmQgdGhlIGhhbmcgcmVjb3ZlcnkgcGF0 aC4gVGhlCj4+Pj4gcmVhc29uIGZvciB0aGlzIGlzIHRoYXQgdGhlIHBlci1lbmdpbmUgcmVjb3Zl cnkgcGF0aCBpcyBjYWxsZWQgZGlyZWN0bHkgZnJvbQo+Pj4+IHRoZSBpbnRlcnJ1cHQgaGFuZGxl ciBpbiB0aGUgY2FzZSBvZiB3YXRjaGRvZyB0aW1lb3V0LiBJbiB0aGF0IHNpdHVhdGlvbgo+Pj4+ IHRoZXJlJ3Mgbm8gd2F5IG9mIGdyYWJiaW5nIHRoZSBzdHJ1Y3RfbXV0ZXgsIHdoaWNoIGlzIGEg cmVxdWlyZW1lbnQgZm9yIHRoZQo+Pj4+IGhhbmcgcmVjb3ZlcnkgcGF0aC4gVGhlcmVmb3JlLCBi eSByZWluc3RhdGluZyB0aGUgd29yayBxdWV1ZSB3ZSBwcm92aWRlIGEKPj4+PiB1bmlmaWVkIGV4 ZWN1dGlvbiBjb250ZXh0IGZvciB0aGUgaGFuZyByZWNvdmVyeSBjb2RlIHRoYXQgYWxsb3dzIHRo ZSBoYW5nCj4+Pj4gcmVjb3ZlcnkgY29kZSB0byBncmFiIHdoYXRldmVyIGxvY2tzIGl0IG5lZWRz IHdpdGhvdXQgc2FjcmlmaWNpbmcgaW50ZXJydXB0Cj4+Pj4gbGF0ZW5jeSB0b28gbXVjaCBvciBz bGVlcGluZyBpbmRlZmluaXRlbHkgaW4gaGFyZCBpbnRlcnJ1cHQgY29udGV4dC4KPj4+Pgo+Pj4+ ICogRmVhdHVyZSAzLiBDb250ZXh0IFN1Ym1pc3Npb24gU3RhdHVzIENvbnNpc3RlbmN5IGNoZWNr aW5nCj4+Pj4KPj4+PiBTb21ldGhpbmcgdGhhdCBiZWNvbWVzIGFwcGFyZW50IHdoZW4geW91IHJ1 biBsb25nLWR1cmF0aW9uIG9wZXJhdGlvbnMgdGVzdHMKPj4+PiB3aXRoIGNvbmN1cnJlbnQgcmVu ZGVyaW5nIHByb2Nlc3NlcyB3aXRoIGludGVybWl0dGVudGx5IGluamVjdGVkIGhhbmdzIGlzIHRo YXQKPj4+PiBpdCBzZWVtcyBsaWtlIHRoZSBHUFUgZm9yZ2V0cyB0byBzZW5kIGNvbnRleHQgY29t cGxldGlvbiBpbnRlcnJ1cHRzIHRvIHRoZQo+Pj4+IGRyaXZlciB1bmRlciBzb21lIGNpcmN1bXN0 YW5jZXMuIFdoYXQgdGhpcyBtZWFucyBpcyB0aGF0IHRoZSBkcml2ZXIgc29tZXRpbWVzCj4+Pj4g Z2V0cyBzdHVjayBvbiBhIGNvbnRleHQgdGhhdCBuZXZlciBzZWVtcyB0byBmaW5pc2gsIGFsbCB0 aGUgd2hpbGUgdGhlIGhhcmR3YXJlCj4+Pj4gaGFzIGNvbXBsZXRlZCBhbmQgaXMgd2FpdGluZyBm b3IgbW9yZSB3b3JrLgo+Pj4+Cj4+Pj4gVGhlIHByb2JsZW0gd2l0aCB0aGlzIGlzIHRoYXQgdGhl IHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBwYXRoIHJlbGllcyBvbgo+Pj4+IGNvbnRleHQgcmVz dWJtaXNzaW9uIHRvIGtpY2sgb2ZmIHRoZSBoYXJkd2FyZSBhZ2FpbiBmb2xsb3dpbmcgYW4gZW5n aW5lIHJlc2V0Lgo+Pj4+IFRoaXMgY2FuIG9ubHkgYmUgZG9uZSBzYWZlbHkgaWYgdGhlIGhhcmR3 YXJlIGFuZCBkcml2ZXIgc2hhcmUgdGhlIHNhbWUgb3Bpbmlvbgo+Pj4+IGFib3V0IHRoZSBjdXJy ZW50IHN0YXRlLiBUaGVyZWZvcmUgd2UndmUgZXh0ZW5kZWQgdGhlIHBlcmlvZGljIGhhbmcgY2hl Y2tlciB0bwo+Pj4+IGNoZWNrIGZvciBjb250ZXh0IHN1Ym1pc3Npb24gc3RhdGUgaW5jb25zaXN0 ZW5jaWVzIGFzaWRlIGZyb20gdGhlIGhhbmcgY2hlY2tpbmcKPj4+PiBpdCBhbHJlYWR5IGRvZXMu Cj4+Pj4KPj4+PiBJZiBzdWNoIGEgc3RhdGUgaXMgZGV0ZWN0ZWQgaXQgaXMgYXNzdW1lZCAoYmFz ZWQgb24gZXhwZXJpZW5jZSkgdGhhdCBhIGNvbnRleHQKPj4+PiBjb21wbGV0aW9uIGludGVycnVw dCBoYXMgYmVlbiBsb3N0IHNvbWVob3cuIElmIHRoaXMgc3RhdGUgcGVyc2lzdHMgZm9yIHNvbWUK Pj4+PiB0aW1lIGFuIGF0dGVtcHQgdG8gY29ycmVjdCBpdCBpcyBtYWRlIGJ5IGZha2luZyB0aGUg cHJlc3VtYWJseSBsb3N0IGNvbnRleHQKPj4+PiBjb21wbGV0aW9uIGludGVycnVwdCBieSBtYW51 YWxseSBjYWxsaW5nIHRoZSBleGVjbGlzdCBpbnRlcnJ1cHQgaGFuZGxlciwgd2hpY2gKPj4+PiBp cyBub3JtYWxseSBjYWxsZWQgZnJvbSB0aGUgbWFpbiBpbnRlcnJ1cHQgaGFuZGxlciBjdWVkIGJ5 IGEgcmVjZWl2ZWQgY29udGV4dAo+Pj4+IGV2ZW50IGludGVycnVwdC4gSnVzdCBiZWNhdXNlIGFu IGludGVycnVwdCBnb2VzIG1pc3NpbmcgZG9lcyBub3QgbWVhbiB0aGF0IHRoZQo+Pj4+IGNvbnRl eHQgc3RhdHVzIGJ1ZmZlciAoQ1NCKSBkb2VzIG5vdCBnZXQgYXBwcm9wcmlhdGVseSB1cGRhdGVk IGJ5IHRoZSBoYXJkd2FyZSwKPj4+PiB3aGljaCBtZWFucyB0aGF0IHdlIGNhbiBleHBlY3QgdG8g ZmluZCBhbGwgdGhlIHJlY2VudCBjaGFuZ2VzIHRvIHRoZSBjb250ZXh0Cj4+Pj4gc3RhdGVzIGZv ciBlYWNoIGVuZ2luZSBjYXB0dXJlZCB0aGVyZS4gSWYgdGhlcmUgYXJlIG91dHN0YW5kaW5nIGNv bnRleHQgc3RhdHVzCj4+Pj4gY2hhbmdlcyBpbiBzdG9yZSB0aGVyZSB0aGVuIHRoZSBmYWtlZCBj b250ZXh0IGV2ZW50IGludGVycnVwdCB3aWxsIGFsbG93IHRoZQo+Pj4+IGludGVycnVwdCBoYW5k bGVyIHRvIGFjdCBvbiB0aGVtLiBJbiB0aGUgY2FzZSBvZiBsb3N0IGNvbnRleHQgY29tcGxldGlv bgo+Pj4+IGludGVycnVwdHMgdGhpcyB3aWxsIHByb21wdCB0aGUgZHJpdmVyIHRvIHJlbW92ZSB0 aGUgYWxyZWFkeSBjb21wbGV0ZWQgY29udGV4dAo+Pj4gPmZyb20gdGhlIGV4ZWNsaXN0IHF1ZXVl IGFuZCBtb3ZlIG9uIHRvIHRoZSBuZXh0IHBlbmRpbmcgcGllY2Ugb2Ygd29yayBhbmQKPj4+PiB0 aGVyZWJ5IGVsaW1pbmF0aW5nIHRoZSBpbmNvbnNpc3RlbmN5Lgo+Pj4+Cj4+Pj4gKiBGZWF0dXJl IDQuIERlYnVnZnMgZXh0ZW5zaW9ucyBmb3IgcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5IGFuZCBU RFIvd2F0Y2hkb2cgdHJhY2UKPj4+PiBwb2ludHMuCj4+Pj4KPj4+Pgo+Pj4+IFRvbWFzIEVsZiAo MTEpOgo+Pj4+ICAgIGRybS9pOTE1OiBFYXJseSBleGl0IGZyb20gc2VtYXBob3JlX3dhaXRzX2Zv ciBmb3IgZXhlY2xpc3QgbW9kZS4KPj4+PiAgICBkcm0vaTkxNTogSW50cm9kdWNlIHVldmVudCBm b3IgZnVsbCBHUFUgcmVzZXQuCj4+Pj4gICAgZHJtL2k5MTU6IEFkZCByZXNldCBzdGF0cyBlbnRy eSBwb2ludCBmb3IgcGVyLWVuZ2luZSByZXNldC4KPj4+PiAgICBkcm0vaTkxNTogQWRkaW5nIFRE UiAvIHBlci1lbmdpbmUgcmVzZXQgc3VwcG9ydCBmb3IgZ2VuOC4KPj4+PiAgICBkcm0vaTkxNTog RXh0ZW5kaW5nIGk5MTVfZ2VtX2NoZWNrX3dlZGdlIHRvIGNoZWNrIGVuZ2luZSByZXNldCBpbgo+ Pj4+ICAgICAgcHJvZ3Jlc3MKPj4+PiAgICBkcm0vaTkxNTogRGlzYWJsZSB3YXJuaW5ncyBmb3Ig VERSIGludGVycnVwdGlvbnMgaW4gdGhlIGRpc3BsYXkKPj4+PiAgICAgIGRyaXZlci4KPj4+PiAg ICBkcm0vaTkxNTogUmVpbnN0YXRlIGhhbmcgcmVjb3Zlcnkgd29yayBxdWV1ZS4KPj4+PiAgICBk cm0vaTkxNTogV2F0Y2hkb2cgdGltZW91dCBzdXBwb3J0IGZvciBnZW44Lgo+Pj4+ICAgIGRybS9p OTE1OiBGYWtlIGxvc3QgY29udGV4dCBpbnRlcnJ1cHRzIHRocm91Z2ggZm9yY2VkIENTQiBjaGVj ay4KPj4+PiAgICBkcm0vaTkxNTogRGVidWdmcyBpbnRlcmZhY2UgZm9yIHBlci1lbmdpbmUgaGFu ZyByZWNvdmVyeS4KPj4+PiAgICBkcm0vaTkxNTogVERSL3dhdGNoZG9nIHRyYWNlIHBvaW50cy4K Pj4+Pgo+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgIHwgIDE0 NiArKysrKy0KPj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMgICAgICAgICB8 ICAgNzkgKysrCj4+Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgICAg fCAgMjAxICsrKysrKysrCj4+Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAg ICAgICAgfCAgIDkxICsrKy0KPj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg ICAgICAgICB8ICAgOTMgKysrLQo+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVf ZXJyb3IuYyAgIHwgICAgMiArLQo+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEu YyAgICAgICAgIHwgIDM3OCArKysrKysrKysrKystLQo+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wYXJhbXMuYyAgICAgIHwgICAxMCArCj4+Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oICAgICAgICAgfCAgIDEzICsKPj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfdHJhY2UuaCAgICAgICB8ICAyOTggKysrKysrKysrKysKPj4+PiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICB8ICAgMTYgKy0KPj4+PiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICB8ICA4NTggKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLQo+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggICAgICAg IHwgICAxNiArLQo+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjX3Rkci5oICAg IHwgICA0MCArKwo+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5j IHwgICA4NyArKystCj4+Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmggfCAgMTA5ICsrKysKPj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5j ICAgICB8ICAyNDEgKysrKysrKystCj4+Pj4gICBpbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgg ICAgICAgICAgICAgfCAgICA1ICstCj4+Pj4gICAxOCBmaWxlcyBjaGFuZ2VkLCAyNTg5IGluc2Vy dGlvbnMoKyksIDk0IGRlbGV0aW9ucygtKQo+Pj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyY190ZHIuaAo+Pj4+Cj4+Pj4gLS0KPj4+PiAxLjcuOS41 Cj4+Pj4KPj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+Pj4+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPj4+PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4+Pj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo+Pj4KPj4KPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK