From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [RFC 00/11] TDR/watchdog timeout support for gen8 Date: Sat, 11 Jul 2015 19:15:43 +0100 Message-ID: <20150711181543.GD21656@nuc-i3427.alporthouse.com> References: <1433783009-17251-1-git-send-email-tomas.elf@intel.com> <20150709184735.GA24462@nuc-i3427.alporthouse.com> <559FE3B1.6090902@intel.com> <559FE965.8070807@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [87.106.93.118]) by gabe.freedesktop.org (Postfix) with ESMTP id 7E5A06E3C5 for ; Sat, 11 Jul 2015 11:15:47 -0700 (PDT) Content-Disposition: inline In-Reply-To: <559FE965.8070807@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tomas Elf Cc: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBKdWwgMTAsIDIwMTUgYXQgMDQ6NDg6NTNQTSArMDEwMCwgVG9tYXMgRWxmIHdyb3Rl Ogo+IE9uIDEwLzA3LzIwMTUgMTY6MjQsIFRvbWFzIEVsZiB3cm90ZToKPiA+T24gMDkvMDcvMjAx NSAxOTo0NywgQ2hyaXMgV2lsc29uIHdyb3RlOgo+ID4+T24gTW9uLCBKdW4gMDgsIDIwMTUgYXQg MDY6MDM6MThQTSArMDEwMCwgVG9tYXMgRWxmIHdyb3RlOgo+ID4+PlRoaXMgcGF0Y2ggc2VyaWVz IGludHJvZHVjZXMgdGhlIGZvbGxvd2luZyBmZWF0dXJlczoKPiA+Pj4KPiA+Pj4qIEZlYXR1cmUg MTogVERSIChUaW1lb3V0IERldGVjdGlvbiBhbmQgUmVjb3ZlcnkpIGZvciBnZW44IGV4ZWNsaXN0 Cj4gPj4+bW9kZS4KPiA+Pj4qIEZlYXR1cmUgMjogV2F0Y2hkb2cgVGltZW91dCAoYS5rLmEgIm1l ZGlhIGVuZ2luZSByZXNldCIpIGZvciBnZW44Lgo+ID4+PiogRmVhdHVyZSAzLiBDb250ZXh0IFN1 Ym1pc3Npb24gU3RhdHVzIENvbnNpc3RlbmN5IGNoZWNraW5nCj4gPj4KPiA+PlRoZSBoaWdoIGxl dmVsIGRlc2lnbiBpcyByZWFzb25hYmxlIGFuZCBjb25jZXB0dWFsbHkgZXh0ZW5kcyB0aGUgY3Vy cmVudAo+ID4+c3lzdGVtIGluIGZhaXJseSBvYnZpb3VzIHdheXMuCj4gPj4KPiA+PkluIHRlcm1z IG9mIGRpc2N1c3NpbmcgdGhlIGltcGxlbWVudGF0aW9uLCBJIHRoaW5rIHRoaXMgY2FuIGJlIHBo YXNlZAo+ID4+YXM6Cj4gPj4KPiA+PjAuIE1vdmUgdG8gYSBwZXItZW5naW5lIGhhbmdjaGVjawo+ ID4+Cj4gPj4xLiBBZGQgZmFrZS1pbnRlcnJ1cHQgcmVjb3ZlcnkgZm9yIENTU0MKPiA+Pgo+ID4+ ICAgSSB0aGluayB0aGlzIGNhbiBiZSBkb25lIHdpdGhvdXQgY2hhbmdpbmcgdGhlIGhhbmdjaGVj ayBoZXVyaXN0aWNzIGF0Cj4gPj4gICBhbGwgLSB3ZSBqdXN0IG5lZWQgdG8gdGhpbmsgY2FyZWZ1 bGx5IGFib3V0IHJlY292ZXJ5ICh3aGljaCBpcyBhIG5pY2UKPiA+PiAgIHByZWN1cnNvciB0byBw ZXItZW5naW5lIHJlc2V0KS4gSSBtYXkgYmUgd3JvbmcsIGFuZCBzbyB3b3VsZCBsaWtlIHRvCj4g Pj4gICBiZSB0b2xkIHNvIGVhcmx5IG9uISBJZiB0aGUgZmFrZSBpbnRlcnJ1cHQgcmVjb3Zlcnkg aXMgZG9uZSBhcyBwYXJ0IG9mCj4gPj4gICB0aGUgcmVzZXQgaGFuZGxlciwgd2Ugc2hvdWxkIGhh dmUgKG9uZSkgZmV3ZXIgY29uY3VycmVuY3kgaXNzdWVzIHRvCj4gPj4gICB3b3JyeSBhYm91dC4K PiA+Cj4gPlNvbWUgcG9pbnRzIGFib3V0IG1vdmluZyB0aGUgQ1NTQyBvdXQgb2YgdGhlIGhhbmcg Y2hlY2tlciBhbmQgaW50byB0aGUKPiA+cmVzZXQgaGFuZGxlcjoKPiA+Cj4gPjEuIElmIHdlIGRl YWwgd2l0aCBjb25zaXN0ZW5jeSByZWN0aWZpY2F0aW9uIGluIHRoZSByZXNldCBoYW5kbGVyIHRo ZQo+ID50dXJuYXJvdW5kIHRpbWUgYmVjb21lcyBSRUFMTFkgbG9uZzoKPiA+Cj4gPiAgICAgYS4g Rmlyc3QgeW91IGhhdmUgdGhlIHRpbWUgdG8gZGV0ZWN0IHRoZSBoYW5nLCBjYWxsCj4gPmk5MTVf aGFuZGxlX2Vycm9yKCkgdGhhdCB0aGVuIHJhaXNlcyB0aGUgcmVzZXQgaW4gcHJvZ3Jlc3MgZmxh ZywKPiA+cHJldmVudGluZyBmdXJ0aGVyIHN1Ym1pc3Npb25zIHRvIHRoZSBkcml2ZXIuCj4gPgo+ ID4gICAgIGIuIFRoZW4gZ28gYWxsIHRoZSB3YXkgdG8gdGhlIHBlci1lbmdpbmUgcmVjb3Zlcnkg cGF0aCwgb25seSB0bwo+ID5kaXNjb3ZlciB0aGF0IHdlJ3ZlIGdvdCBhbiBpbmNvbnNpc3RlbmN5 IHRoYXQgaGFzIG5vdCBiZWVuIGhhbmRsZWQsIGZhbGwKPiA+YmFjayBpbW1lZGlhdGVseSB3aXRo IC1FQUdBSU4gYW5kIGxvd2VyIHRoZSByZXNldCBpbiBwcm9ncmVzcyBmbGFnLCBsZXQKPiA+dGhl IHN5c3RlbSBjb250aW51ZSBydW5uaW5nIGFuZCBkZWZlciB0byB0aGUgbmV4dCBoYW5nIGNoZWNr IChhbm90aGVyCj4gPmhhbmcgZGV0ZWN0aW9uIHBlcmlvZCkKPiA+Cj4gPiAgICAgYy4gT25jZSB0 aGUgaGFuZyBoYXMgYmVlbiBkZXRlY3RlZCBBR0FJTiwgcmFpc2UgdGhlIHJlc2V0IGluCj4gPnBy b2dyZXNzIGZsYWcgQUdBSU4gYW5kIGdvIGJhY2sgdG8gdGhlIGVuZ2luZSByZXNldCBwYXRoIGEg c2Vjb25kIHRpbWUuCj4gPgo+ID4gICAgIGQuIEF0IHRoZSBzdGFydCBvZiB0aGUgZW5naW5lIHJl c2V0IHBhdGggd2UgZG8gdGhlIHNlY29uZCBDU1NDCj4gPmRldGVjdGlvbiBhbmQgcmVhbGlzZSB0 aGF0IHdlJ3ZlIGdvdCBhIHN0YWJsZSBpbmNvbnNpc3RlbmN5IHRoYXQgd2UgY2FuCj4gPmF0dGVt cHQgdG8gcmVjdGlmeS4gV2UgY2FuIHRoZW4gdHJ5IHRvIHJlY3RpZnkgdGhlIGluY29uc2lzdGVu Y3kgYW5kIGdvCj4gPnRocm91Z2ggd2l0aCB0aGUgZW5naW5lIHJlc2V0Li4uIEFGVEVSIHdlJ3Zl IGNoZWNrZWQgdGhhdCB0aGUKPiA+aW5jb25zaXN0ZW5jeSByZWN0aWZpY2F0aW9uIHdhcyBpbmRl ZWQgZWZmZWN0aXZlISBJZiBpdCdzIG5vdCBhbmQgdGhlCj4gPnByb2JsZW0gcmVtYWlucyB0aGVu IHdlIGhhdmUgdG8gZmFpbCB0aGUgZW5naW5lIHJlY292ZXJ5IG1vZGUgYW5kIGZhbGwKPiA+YmFj ayB0byBmdWxsIEdQVSByZXNldCBpbW1lZGlhdGVseS4uLiBXaGljaCB3ZSBjb3VsZCBoYXZlIGRv bmUgZnJvbSB0aGUKPiA+aGFuZyBjaGVja2VyIGlmIHdlIGhhZCBqdXN0IHJlZnVzZWQgdG8gc2No ZWR1bGUgaGFuZyByZWNvdmVyeSBhbmQganVzdAo+ID5sZXQgdGhlIGNvbnRleHQgc3VibWlzc2lv biBzdGF0ZSBpbmNvbnNpc3RlbmN5IHBlcnNpc3QgYW5kIGxldCB0aGUgaGFuZwo+ID5zY29yZSBr ZWVwIHJpc2luZyB1bnRpbCB0aGUgaGFuZyBzY29yZSByZWFjaGVkIDIqSFVORywgd2hpY2ggd291 bGQgdGhlbgo+ID5oYXZlIHRyaWdnZXJlZCB0aGUgZnVsbCBHUFUgcmVzZXQgZmFsbGJhY2sgZnJv bSB0aGUgaGFuZyBjaGVja2VyIChzZWUKPiA+cGF0aCA5LzExIGZvciBhbGwgb2YgdGhpcykKPiA+ Cj4gPkFzIHlvdSBjYW4gc2VlLCBkZWFsaW5nIHdpdGggY29udGV4dCBzdWJtaXNzaW9uIHN0YXRl IGluY29uc2lzdGVuY3kgaW4KPiA+dGhlIHJlc2V0IHBhdGggaXMgdmVyeSBsb25nLXdpbmRlZCB3 YXkgb2YgZG9pbmcgaXQgYW5kIGRvZXMgbm90IG1ha2UgaXQKPiA+bW9yZSByZWxpYWJsZS4gQWxz bywgaXQncyBtb3JlIGNvbXBsaWNhdGVkIHRvIGFuYWx5c2UgZnJvbSBhIGNvbmN1cnJlbmN5Cj4g PnBvaW50IG9mIHZpZXcgc2luY2Ugd2UgbmVlZCB0byBmYWxsIGJhY2sgc2V2ZXJhbCB0aW1lcyBh bmQgcmFpc2UgYW5kCj4gPmxvd2VyIHRoZSByZXNldCBpbiBwcm9ncmVzcyBmbGFnLCB3aGljaCBh bGxvd3MgZHJpdmVyIHN1Ym1pc3Npb25zIHRvCj4gPmhhcHBlbiB2cy4gYmxvY2tzIHN1Ym1pc3Np b25zLiBJdCBiYXNpY2FsbHkgYmVjb21lcyB2ZXJ5IGRpZmZpY3VsdCB0bwo+ID5rbm93IHdoYXQg aXMgZ29pbmcgb24uCj4gPgo+ID4yLiBTZWNvbmRseSwgYW5kIG1vcmUgaW1wb3J0YW50bHksIGlm IGEgd2F0Y2hkb2cgdGltZW91dCBpcyBkZXRlY3RlZCBhbmQKPiA+d2UgZW5kIHVwIGluIHRoZSBw ZXItZW5naW5lIGhhbmcgcmVjb3ZlcnkgcGF0aCBhbmQgaGF2ZSB0byBmYWxsIGJhY2sgZHVlCj4g PnRvIGFuIGluY29uc2lzdGVudCBjb250ZXh0IHN1Ym1pc3Npb24gc3RhdGUgYXQgdGhhdCBwb2lu dCBhbmQgdGhlIGhhbmcKPiA+Y2hlY2tlciBpcyB0dXJuZWQgb2ZmIHRoZW4gd2UncmUgaXJyZWNv dmVyYWJseSBodW5nLiBXYXRjaGRvZyB0aW1lb3V0IGlzCj4gPnN1cHBvc2VkIHRvIHdvcmsgd2l0 aG91dCB0aGUgcGVyaW9kaWMgaGFuZyBjaGVja2VyIGJ1dCBpdCB3b24ndCBpZiBDU1NDCj4gPmlz IG5vdCBlbnN1cmVkIGF0IGFsbCB0aW1lcy4gV2hpY2ggaXMgd2h5IEkgY2hvc2UgdG8gb3ZlcnJp ZGUgdGhlCj4gPmk5MTUuZW5hYmxlX2hhbmdjaGVjayBmbGFnIHRvIG1ha2Ugc3VyZSB0aGF0IHRo ZSBoYW5nIGNoZWNrZXIgYWx3YXlzCj4gPnJ1bnMgY29uc2lzdGVuY3kgcHJlLWNoZWNraW5nIGFu ZCByZXNjaGVkdWxlcyBpdHNlbGYgaWYgdGhlcmUgaXMgbW9yZQo+ID53b3JrIHBlbmRpbmcgdG8g bWFrZSBzdXJlIHRoYXQgYXMgbG9uZyBhcyB3b3JrIGlzIHBlbmRpbmcgd2UgZG8KPiA+Y29uc2lz dGVuY3kgY2hlY2tpbmcgYXN5bmNocm9ub3VzbHkgcmVnYXJkbGVzcyBvZiBldmVyeXRoaW5nIGVs c2Ugc28KPiA+dGhhdCBpZiBhIHdhdGNoZG9nIHRpbWVvdXQgaGl0cyB3ZSBoYXZlIGEgY29uc2lz dGVudCBzdGF0ZSBvbmNlIHRoZQo+ID53YXRjaGRvZyB0aW1lb3V0IGVuZHMgdXAgaW4gcGVyLWVu Z2luZSByZWNvdmVyeS4KPiA+Cj4gPkdyYW50ZWQsIGlmIGEgd2F0Y2hkb2cgdGltZW91dCBoaXRz IGFmdGVyIHdlJ3ZlIGZpcnN0IGRldGVjdGVkIHRoZQo+ID5pbmNvbnNpc3RlbmN5IGJ1dCBub3Qg eWV0IGhhZCB0aW1lIHRvIHJlY3RpZnkgaXQgaXQgZG9lc24ndCB3b3JrIGlmIHRoZQo+ID5oYW5n IGNoZWNrZXIgaXMgdHVybmVkIG9mZiBhbmQgd2UgY2Fubm90IHJlbHkgb24gcGVyaW9kaWMgaGFu ZyBjaGVja2luZwo+ID50byBzY2hlZHVsZSBoYW5nIHJlY292ZXJ5IGluIHRoaXMgY2FzZSAtIHNv IGluIHRoYXQgY2FzZSB3ZSdyZSBzdGlsbAo+ID5pcnJlY292ZXJhYmx5IHN0dWNrLiBXZSBjb3Vs ZCBtYWtlIGNoYW5nZSBoZXJlIGFuZCBkbyBhIG9uZS10aW1lCj4gPmk5MTUuZW5hYmxlX2hhbmdj aGVjayBvdmVycmlkZSBhbmQgc2NoZWR1bGUgaGFuZyByZWNvdmVyeSBmb2xsb3dpbmcgdGhpcwo+ ID5wb2ludC4gSWYgeW91IHRoaW5rIGl0J3Mgd29ydGggaXQuCj4gPgo+ID5Cb3R0b20gbGluZTog VGhlIGNvbnNpc3RlbmN5IGNoZWNraW5nIG11c3QgaGFwcGVuIGF0IGFsbCB0aW1lcyBhbmQKPiA+ Y2Fubm90IGJlIGRvbmUgYXMgYSBjb25zZXF1ZW5jZSBvZiBhIHNjaGVkdWxlZCByZXNldCBpZiBo YW5nIGNoZWNraW5nIGlzCj4gPnR1cm5lZCBvZmYgYXQgYW55IHBvaW50Lgo+ID4KPiA+QXMgZmFy IGFzIGNvbmN1cnJlbmN5IGlzc3VlcyBpbiB0aGUgZmFjZSBvZiBDU1NDIGlzIGNvbmNlcm5lZCwK PiA+ZGlzcmVnYXJkaW5nIHRoZSBjb21wbGljYXRpb24gb2YgaGFuZGxpbmcgQ1NTQyBpbiB0aGUg cmVjb3ZlcnkgcGF0aCBhbmQKPiA+cmVseWluZyBvbiBkZWZlcnJpbmcgdG8gdGhlIG5leHQgaGFu ZyBkZXRlY3Rpb24gICAgd2l0aCBhbGwgb2YgdGhlCj4gPmNvbmN1cnJlbmN5IGlzc3VlcyB0aGF0 IGVudGFpbHM6IFRoZSBxdWVzdGlvbiByZWFsbHkgaXMgd2hhdCBraW5kIG9mCj4gPmNvbmN1cnJl bmN5IGlzc3VlcyB3ZSdyZSB3b3JyaWVkIGFib3V0LiBJZiB0aGUgaGFuZyBjaGVja2VyIGRldGVy bWluZXMKPiA+dGhhdCB3ZSd2ZSBnb3QgYSBoYW5nIHRoZW4gdGhhdCdzIGEgc3RhYmxlIHN0YXRl LiBJZiB0aGUgaGFuZyBjaGVja2VyCj4gPmNvbnNpc3RlbmN5IHByZS1jaGVjayBkZXRlcm1pbmVz IHRoYXQgd2UndmUgZ290IGEgc3VzdGFpbmVkIENTU0MKPiA+aW5jb25zaXN0ZW5jeSB0aGVuIHRo YXQncyBzdGFibGUgdG9vLiBUaGUgc3RhdGVzIGFyZSBub3QgY2hhbmdpbmcgc28KPiA+d2hhdGV2 ZXIgd2UgZG8gd2lsbCBub3QgYmUgYmVjYXVzZSB3ZSBkZXRlY3QgdGhlIHN0YXRlIGluIHRoZSBt aWRkbGUgb2YKPiA+YSBzdGF0ZSB0cmFuc2l0aW9uIGFuZCB0aGUgZGV0ZWN0aW9uIHdvbid0IGJl IHN1YmplY3QgdG8gY29uY3VycmVuY3kKPiA+ZWZmZWN0cy4gSWYgdGhlIGhhbmcgY2hlY2tlciBk ZWNpZGVzIHRoYXQgdGhlIGluY29uc2lzdGVuY3kgbmVlZHMgdG8gYmUKPiA+cmVjdGlmaWVkIGFu ZCBmYWtlcyB0aGUgcHJlc3VtYWJseSBsb3N0IGludGVycnVwdCBhbmQgdGhlIHJlYWwsIHByZXN1 bWVkCj4gPmxvc3QsIGludGVycnVwdCBoYXBwZW5zIHRvIGNvbWUgaW4gYXQgdGhlIHNhbWUgdGlt ZSB0aGVuIHRoYXQncyBmaW5lLAo+ID50aGUgQ1NCIGJ1ZmZlciBjaGVjayBpbiB0aGUgZXhlY2xp c3QgaW50ZXJydXB0IGhhbmRsZXIgaXMgbWFkZSB0byBjb3BlCj4gPndpdGggdGhhdC4gV2UgY2Fu IGhhdmUgWCBudW1iZXIgb2YgY2FsbHMgdG8gdGhlIGludGVycnVwdCBoYW5kbGVyIG9yCj4gPmp1 c3Qgb25lLCB0aGUgb3V0Y29tZSBpcyBzdXBwb3NlZCB0byBiZSB0aGUgc2FtZSAtIHRoZSBvbmx5 IHRoaW5nIHRoYXQKPiA+bWF0dGVycyBpcyBjYXB0dXJlZCBjb250ZXh0IHN0YXRlIGNoYW5nZXMg aW4gdGhlIENTQiBidWZmZXIgdGhhdCB3ZSBhY3QKPiA+dXBvbi4KPiA+Cj4gPlNvIEknbSBub3Qg ZW50aXJlbHkgc3VyZSB3aGF0IGNvbmN1cnJlbmN5IGlzc3VlcyBtaWdodCBiZSByZWFzb24gZW5v dWdoCj4gPnRvIG1vdmUgb3V0IHRoZSBDU1NDIHRvIHRoZSBoYW5nIHJlY292ZXJ5IHBhdGguIElu IGZhY3QsIEknZCBiZSBtb3JlCj4gPmluY2xpbmVkIHRvIGNyZWF0ZSBhIHNlY29uZCBhc3luYyB0 YXNrIGZvciBpdCB0byBtYWtlIHN1cmUgaXQncyBiZWluZwo+ID5ydW4gYXQgYWxsIHRpbWVzLiBC dXQgaW4gdGhhdCBjYXNlIHdlIG1pZ2h0IGFzIHdlbGwgbGV0IGl0IHN0YXkgaW4gdGhlCj4gPmhh bmcgY2hlY2tlci4KPiA+Cj4gPihJbiBhIHNpbWlsYXIgdmVpbiwgSSB0aGluayB3ZSBzaG91bGQg bW92ZSB0aGUgbWlzc2VkCj4gPj4gICBpbnRlcnVwdCBoYW5kbGVyIGZvciBsZWdhY3kgb3V0IG9m IGhhbmdjaGVjaywgcGFydGx5IHRvIHNpbXBsaWZ5IHNvbWUKPiA+PiAgIHZlcnkgY29uZnVzaW5n IGNvZGUgYW5kIHBhcnRseSBzbyB0aGF0IHdlIGhhdmUgZmV3ZXIgZGV2aWF0aW9ucwo+ID4+ICAg YmV0d2VlbiBsZWdhY3kvZXhlY2xpc3RzIHBhdGhzLikgSXQgYWxzbyBnZXRzIHVzIHRoaW5raW5n IGFib3V0IHRoZQo+ID4+ICAgY29uc2lzdGVuY3kgZGV0ZWN0aW9uIGFuZCB3aGVuIGl0IGlzIHZp YWJsZSB0byBkbyBhIGZha2UtaW50ZXJydXB0IGFuZAo+ID4+ICAgd2hlbiB3ZSBtdXN0IGRvIGEg ZnVsbC1yZXNldCAoZm9yIGV4YW1wbGUsIHdlIG9ubHkgd2FudCB0bwo+ID4+ICAgZmFrZS1pbnRl cnJ1cHQgaWYgdGhlIGNvbnNpc3RlbmN5IGNoZWNrIHNheXMgdGhlIEdQVSBpcyBpZGxlLCBhbmQg d2UKPiA+PiAgIGRlZmluaXRlbHkgd2FudCB0byByZXNldCBldmVyeXRoaW5nIGlmIHRoZSBHUFUg aXMgZXhlY3V0aW5nIGFuIGFsaWVuCj4gPj4gICBjb250ZXh0LikKPiA+Pgo+ID4+ICAgQSB0ZXN0 IGhlcmUgd291bGQgYmUgdG8gc3VzcGVuZCB0aGUgZXhlY2xpc3RzIGlycSBhbmQgd2FpdCBmb3Ig dGhlCj4gPj4gICByZWNvdmVyeS4gQ2hlZWtpbHkgd2UgY291bGQgcHVuY2ggdGhlIGlycSBlaXIg Ynkgcm9vdCBtbWlvIGFuZCBjaGVjawo+ID4+ICAgaGFuZ2NoZWNrIGF1dG9tYWdpY2FsbHkgcmVj b3ZlcnMuCj4gPj4KPiA+PldoaWxzdCBpdCB3b3VsZCBiZSBuaWNlIHRvIGFkZCB0aGUgd2F0Y2hk b2cgbmV4dCwgc2luY2UgaXQgaXMKPiA+PmNvbmNlcHR1YWxseSBxdWl0ZSBzaW1wbGUgYW5kIGJh c2ljYWxseSBqdXN0IGEgbmV3IGhhbmdjaGVjayBzb3VyY2Ugd2l0aAo+ID4+ZmFuY3kgc2V0dXAg LSBmYXN0IGhhbmdjaGVjayB3aXRob3V0IHNvZnQgcmVzZXQgbWFrZXMgZm9yIGFuIGVhc3kgRG9T Lgo+ID4+Cj4gPj4yLiBURFIKPiA+Pgo+ID4+ICAgR2l2ZW4gdGhhdCB3ZSBoYXZlIGEgY29uc2lz dGVuY3kgY2hlY2sgYW5kIGJlZ3VuIHRvIGV4dGVuZCB0aGUgcmVzZXQKPiA+PiAgIHBhdGgsIHdl IGNhbiBpbXBsZW1lbnQgYSBzb2Z0IHJlc2V0IHRoYXQgb25seSBza2lwcyB0aGUgaHVuZyByZXF1 ZXN0Lgo+ID4+ICAgKFRoZSBkZXZpbCBpcyBpbiB0aGUgZGV0YWlscywgd2hpbHN0IHRoZSBkZXNp Z24gaGVyZSBsb29rZWQgc29saWQsIEkKPiA+PiAgIHRoaW5rIHRoZSBMUkMgcmVjb3ZlcnkgY29k ZSBjb3VsZCBiZSBzaW1wbGlmaWVkIC0gSSBkaWRuJ3QgZmVlbAo+ID4+ICAgYW5vdGhlciByZXF1 ZXVlIHBhdGggd2FzIHJlcXVpcmVkIGdpdmVuIHRoYXQgd2UgbmVlZCBvbmx5IHByZXRlbmQgYQo+ ID4+ICAgcmVxdWVzdCBjb21wbGV0ZWQgKGZpeGluZyB1cCB0aGUgY29udGV4dCBpbWFnZSBhcyBy ZXF1aXJlZCkgYW5kIHRoZW4KPiA+PiAgIHVzZSB0aGUgbm9ybWFsIHVucXVldWUuKSBUaGVyZSBp cyBhbHNvIHF1aXRlIGEgYml0IG9mIExSQyBjbGVhbnVwIG9uCj4gPj4gICB0aGUgbGlzdHMgd2hp Y2ggd291bGQgYmUgdXNlZnVsIGhlcmUuCj4gPgo+ID5BcyBmYXIgYXMgdGhlIG5ldyByZXF1ZXVl IChvciByZXN1Ym1pc3Npb24pIHBhdGggaXMgY29uY2VybmVkLCB5b3UgbWlnaHQKPiA+aGF2ZSBh IHBvaW50IGhlcmUuIFRoZSByZWFzb24gaXQncyBhcyBpbnZvbHZlZCBhcyBpdCBpcyBpcyBwcm9i YWJseQo+ID5tb3N0bHkgYmVjYXVzZSBvZiBhbGwgdGhlIHZhbGlkYXRpb24gdGhhdCB0YWtlcyBw bGFjZSBpbiB0aGUKPiA+cmVzdWJtaXNzaW9uIHBhdGguIE1lYW5pbmcgdGhhdCBvbmNlIHRoZSBy ZXN1Ym1pc3Npb24gaGFwcGVucyBhdCB0aGUgZW5kCj4gPm9mIHRoZSBwZXItZW5naW5lIGhhbmcg cmVjb3ZlcnkgcGF0aCB3ZSB3YW50IHRvIG1ha2UgZXh0cmEgc3VyZSB0aGF0IHRoZQo+ID5jb250 ZXh0IHRoYXQgZ2V0cyByZXN1Ym1pdHRlZCBpbiB0aGUgZW5kICh0aGUgaGVhZCBlbGVtZW50IG9m IHRoZSBxdWV1ZQo+ID5hdCB0aGF0IHBvaW50IGluIHRpbWUpIGlzIGluIGZhY3QgdGhlIG9uZSB0 aGF0IHdhcyBwYXNzZWQgZG93biBmcm9tIHRoZQo+ID5wZXItZW5naW5lIGhhbmcgcmVjb3Zlcnkg cGF0aCAodGhlIGNvbnRleHQgYXQgdGhlIGhlYWQgb2YgdGhlIHF1ZXVlIGF0Cj4gPnRoZSBzdGFy dCBvZiB0aGUgaGFuZyByZWNvdmVyeSBwYXRoKSwgc28gdGhhdCB0aGUgc3RhdGUgb2YgdGhlIHF1 ZXVlCj4gPmRpZG4ndCBjaGFuZ2UgZHVyaW5nIGhhbmcgcmVjb3ZlcnkuIE1heWJlIHdlJ3JlIHRv byBwYXJhbm9pZCBoZXJlLgo+ID4KPiAKPiBBaCwgeWVzLCB0aGVyZSBpcyBvbmUgY3J1Y2lhbCBk aWZmZXJlbmNlIGJldHdlZW4gdGhlIG5vcm1hbAo+IGV4ZWNsaXN0c19jb250ZXh0X3VucXVldWUo KSBmdW5jdGlvbiBhbmQKPiBleGVjbGlzdHNfVERSX2NvbnRleHRfdW5xdWV1ZSgpIHRoYXQgbWVh bnMgdGhhdCB3ZSBjYW5ub3QgZnVsbHkKPiByZXVzZSB0aGUgZm9ybWVyIG9uZSBmb3IgVERSLXNw ZWNpZmljIHB1cnBvc2VzLgo+IAo+IFdoZW4gd2UgcmVzdWJtaXQgdGhlIGNvbnRleHQgdmlhIFRE UiBpdCdzIGltcG9ydGFudCB0aGF0IHdlIGRvIG5vdAo+IGluY3JlbWVudCB0aGUgZWxzcF9zdWJt aXR0ZWQgY291bnRlciBhbmQgb3RoZXJ3aXNlIHRyZWF0IHRoZQo+IHJlc3VibWlzc2lvbiBhcyBh IG5vcm1hbCBzdWJtaXNzaW9uLiBUaGUgcmVhc29uIGZvciB0aGlzIGlzIHRoYXQgdGhlCj4gaGFy ZHdhcmUgY29uc2lzdGVudGx5IHJlZnVzZXMgdG8gc2VuZCBvdXQgYW55IGtpbmQgb2YgaW50ZXJy dXB0Cj4gYWNrbm93bGVkZ2luZyB0aGUgY29udGV4dCByZXN1Ym1pc3Npb24uIElmIHlvdSBqdXN0 IHN1Ym1pdCB0aGUKPiBjb250ZXh0IGFuZCBpbmNyZW1lbnQgZWxzcF9zdWJtaXR0ZWQgZm9yIHRo YXQgY29udGV4dCwgbGlrZSB5b3UKPiBub3JtYWxseSBkbywgdGhlIGludGVycnVwdCBoYW5kbGVy IHdpbGwgc2l0IGFyb3VuZCBmb3JldmVyIHdhaXRpbmcKPiBmb3IgdGhlIGludGVycnVwdCB0aGF0 IHdpbGwgbmV2ZXIgY29tZSBmb3IgdGhlIHJlc3VibWlzc2lvbi4gSXQgd2lsbAo+IHdhaXQgLSBh bmQgcmVjZWl2ZSAtIHRoZSBpbnRlcnJ1cHQgZm9yIHRoZSBvcmlnaW5hbCBzdWJtaXNzaW9uIHRo YXQKPiBjYXVzZWQgdGhlIG9yaWdpbmFsIGhhbmcgYW5kIGFsc28gdGhlIGludGVycnVwdCBmb3Ig dGhlIGNvbnRleHQKPiBjb21wbGV0aW9uIGZvbGxvd2luZyBoYW5nIHJlY292ZXJ5LiBCdXQgaXQg d29uJ3QgcmVjZWl2ZSBhbgo+IGludGVycnVwdCBmb3IgdGhlIHJlc3VibWlzc2lvbi4KCkJ1dCB0 aGF0J3MganVzdCBhbiBpc3N1ZSB3aXRoIHRoZSBjdXJyZW50IHBvb3IgZGVzaWduIG9mIGV4ZWNs aXN0cy4uLgoKSWYgd2UgdHJhY2tlZCBleGFjdGx5IHdoYXQgcmVxdWVzdCB3ZSBzdWJtaXR0ZWQg dG8gZWFjaCBwb3J0LCBhbmQgYQp1bmlxdWUgY3R4IGlkIHRhZyBmb3IgZXZlcnkgc3VibWlzc2lv biAoaW5jbCBzdWJzdW1lZCBvbmVzIGZvciBlYXNpZXIKY29tcGxldGlvbiBoYW5kbGluZykgeW91 IGNvbXBsZXRlbHkgZWxpbWluYXRlIHRoZSBuZWVkIGZvciBlbHNwX3N1Ym1pdHRlZC4KQW5kIGEg VERSIHJlc3VibWl0IGlzIGp1c3QgdGhhdC4gKEFuZCBhbHNvIHRoZSBjb2RlIGlzIG11Y2ggc21h bGxlciBhbmQKbXVjaCBzaW1wbGVyLikKClNvIEkgZG9uJ3QgdGhpbmsgeW91IGhhdmUgc3VmZmlj aWVudGx5IHJld29ya2VkIGV4ZWNsaXN0cyB0byBhdm9pZAp1bm5lY2Vzc2FyeSBkdXBsaWNhdGlv bi4KLUNocmlzCgotLSAKQ2hyaXMgV2lsc29uLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5 IENlbnRyZQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=