From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: Re: [RFCv2 00/12] TDR/watchdog timeout support for gen8 (edit: fixed coverletter) Date: Fri, 24 Jul 2015 12:13:44 +0100 Message-ID: <55B21DE8.6030503@intel.com> References: <1437487135-32520-1-git-send-email-tomas.elf@intel.com> <1437490262-30791-1-git-send-email-tomas.elf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id C04626EE29 for ; Fri, 24 Jul 2015 04:13:57 -0700 (PDT) In-Reply-To: <1437490262-30791-1-git-send-email-tomas.elf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Intel-GFX@Lists.FreeDesktop.Org" List-Id: intel-gfx@lists.freedesktop.org T24gMjEvMDcvMjAxNSAxNTo1MSwgVG9tYXMgRWxmIHdyb3RlOgo+IFRoaXMgcGF0Y2ggc2VyaWVz IGludHJvZHVjZXMgdGhlIGZvbGxvd2luZyBmZWF0dXJlczoKPgo+ICogRmVhdHVyZSAxOiBURFIg KFRpbWVvdXQgRGV0ZWN0aW9uIGFuZCBSZWNvdmVyeSkgZm9yIGdlbjggZXhlY2xpc3QgbW9kZS4K Pgo+IFREUiBpcyBhbiB1bWJyZWxsYSB0ZXJtIGZvciBhbnl0aGluZyB0aGF0IGdvZXMgaW50byBk ZXRlY3RpbmcgYW5kIHJlY292ZXJpbmcgZnJvbSBHUFUgaGFuZ3MgYW5kIGlzIGEgdGVybSBtb3Jl IHdpZGVseSB1c2VkIG91dHNpZGUgb2YgdGhlIHVwc3RyZWFtIGRyaXZlci4KPiBUaGlzIGZlYXR1 cmUgaW50cm9kdWNlcyBhbiBleHRlbnNpYmxlIGZyYW1ld29yayB0aGF0IGN1cnJlbnRseSBzdXBw b3J0cyBnZW44IGJ1dCB0aGF0IGNhbiBiZSBlYXNpbHkgZXh0ZW5kZWQgdG8gc3VwcG9ydCBnZW43 IGFzIHdlbGwgKHdoaWNoIGlzIGFscmVhZHkgdGhlIGNhc2UgaW4gR01JTiBidXQgdW5mb3J0dW5h dGVseSBpbiBhIG5vdCBxdWl0ZSB1cHN0cmVhbWFibGUgZm9ybSkuIFRoZSBjb2RlIGNvbnRhaW5l ZCBpbiB0aGlzIHN1Ym1pc3Npb24gcmVwcmVzZW50cyB0aGUgZXNzZW50aWFscyBvZiB3aGF0IGlz IGN1cnJlbnRseSBpbiBHTUlOIG1lcmdlZCB3aXRoIHdoYXQgaXMgY3VycmVudGx5IGluIHVwc3Ry ZWFtIChhcyBvZiB0aGUgdGltZSB3aGVuIHRoaXMgd29yayBjb21tZW5jZWQgYSBmZXcgbW9udGhz IGJhY2spLgo+Cj4gVGhpcyBmZWF0dXJlIGFkZHMgYSBuZXcgaGFuZyByZWNvdmVyeSBwYXRoIGFs b25nc2lkZSB0aGUgbGVnYWN5IEdQVSByZXNldCBwYXRoLCB3aGljaCB0YWtlcyBjYXJlIG9mIGVu Z2luZSByZWNvdmVyeSBvbmx5LiBBc2lkZSBmcm9tIGFkZGluZyBzdXBwb3J0IGZvciBwZXItZW5n aW5lIHJlY292ZXJ5IHRoaXMgZmVhdHVyZSBhbHNvIGludHJvZHVjZXMgcnVsZXMgZm9yIGhvdyB0 byBwcm9tb3RlIGEgcG90ZW50aWFsIHBlci1lbmdpbmUgcmVzZXQgdG8gYSBsZWdhY3ksIGZ1bGwg R1BVIHJlc2V0Lgo+Cj4gVGhlIGhhbmcgY2hlY2tlciBub3cgaW50ZWdyYXRlcyB3aXRoIHRoZSBl cnJvciBoYW5kbGVyIGluIGEgc2xpZ2h0bHkgZGlmZmVyZW50IHdheSBpbiB0aGF0IGl0IGFsbG93 cyBoYW5nIHJlY292ZXJ5IG9uIG11bHRpcGxlIGVuZ2luZXMgYXQgdGhlIHNhbWUgdGltZSBieSBw YXNzaW5nIGFuIGVuZ2luZSBmbGFnIG1hc2sgdG8gdGhlIGVycm9yIGhhbmRsZXIgd2hlcmUgZmxh Z3MgcmVwcmVzZW50aW5nIGFsbCBvZiB0aGUgaHVuZyBlbmdpbmVzIGFyZSBzZXQuIFRoaXMgYWxs b3dzIHVzIHRvIHNjaGVkdWxlIGhhbmcgcmVjb3Zlcnkgb25jZSBmb3IgYWxsIGN1cnJlbnRseSBo dW5nIGVuZ2luZXMgaW5zdGVhZCBvZiBvbmUgaGFuZyByZWNvdmVyeSBwZXIgZGV0ZWN0ZWQgZW5n aW5lIGhhbmcuIFByZXZpb3VzbHksIHdoZW4gb25seSBmdWxsIEdQVSByZXNldCB3YXMgc3VwcG9y dGVkIHRoaXMgd2FzIGFsbCB0aGUgc2FtZSBzaW5jZSBpdCB3b3VsZG4ndCBtYXR0ZXIgaWYgb25l IG9yIGZvdXIgZW5naW5lcyB3ZXJlIGh1bmcgYXQgYW55IGdpdmVuIHBvaW50IHNpbmNlIGl0IHdv dWxkIGFsbCBhbW91bnQgdG8gdGhlIHNhbWUgdGhpbmcgLSB0aGUgR1BVIGdldHRpbmcgcmVzZXQu IEFzIGl0IHN0YW5kcyBub3cgdGhlIGJlaGF2aW91ciBpcyBkaWZmZXJlbnQgZGVwZW5kaW5nIG9u IHdoaWNoIGVuZ2luZSBpcyBodW5nIHNpbmNlIGVhY2ggZW5naW5lIGlzIHJlc2V0IHNlcGFyYXRl bHkgZnJvbSBhbGwgdGhlIG90aGVyIGVuZ2luZXMsIHRoZXJlZm9yZSB3ZSBoYXZlIHRvIHRoaW5r IGFib3V0IHRoaXMgaW4gdGVybXMgb2Ygc2NoZWR1bGluZyBjb3N0IGFuZCByZWNvdmVyeSBsYXRl bmN5LiAoc2VlIG9wZW4gcXVlc3Rpb24gYmVsb3cpCj4KPiBPUEVOIFFVRVNUSU9OUzoKPgo+IAkx LiBEbyB3ZSB3YW50IHRvIGludmVzdGlnYXRlIHRoZSBwb3NzaWJpbGl0eSBvZiBwZXItZW5naW5l IGhhbmcKPiAJZGV0ZWN0aW9uPyBJbiB0aGUgY3VycmVudCB1cHN0cmVhbSBkcml2ZXIgdGhlcmUg aXMgb25seSBvbmUgd29yayBxdWV1ZQo+IAl0aGF0IGhhbmRsZXMgdGhlIGhhbmcgY2hlY2tlciBh bmQgZXZlcnl0aGluZyBmcm9tIGluaXRpYWwgaGFuZwo+IAlkZXRlY3Rpb24gdG8gZmluYWwgaGFu ZyByZWNvdmVyeSBydW5zIGluIHRoaXMgdGhyZWFkLiBUaGlzIG1ha2VzIHNlbnNlCj4gCWlmIHlv dSdyZSBvbmx5IHN1cHBvcnRpbmcgb25lIGZvcm0gb2YgaGFuZyByZWNvdmVyeSAtIHVzaW5nIGZ1 bGwgR1BVCj4gCXJlc2V0IGFuZCBub3RoaW5nIHRpZWQgdG8gYW55IHBhcnRpY3VsYXIgZW5naW5l LiBIb3dldmVyLCBhcyBwYXJ0Cj4gCW9mIHRoaXMgcGF0Y2ggc2VyaWVzIHdlJ3JlIGNoYW5naW5n IHRoYXQgYnkgaW50cm9kdWNpbmcgcGVyLWVuZ2luZQo+IAloYW5nIHJlY292ZXJ5LiBJdCBjb3Vs ZCBtYWtlIHNlbnNlIHRvIGludHJvZHVjZSBtdWx0aXBsZSB3b3JrCj4gCXF1ZXVlcyAtIG9uZSBw ZXIgZW5naW5lIC0gdG8gcnVuIG11bHRpcGxlIGhhbmcgY2hlY2tpbmcgdGhyZWFkcyBpbgo+IAlw YXJhbGxlbC4KPgo+IAlUaGlzIHdvdWxkIHBvdGVudGlhbGx5IGFsbG93IHNhdmluZ3MgaW4gdGVy bXMgb2YgcmVjb3ZlcnkgbGF0ZW5jeSBzaW5jZQo+IAl3ZSBkb24ndCBoYXZlIHRvIHNjYW4gYWxs IGVuZ2luZXMgZXZlcnkgdGltZSB0aGUgaGFuZyBjaGVja2VyIGlzCj4gCXNjaGVkdWxlZCBhbmQg dGhlIGVycm9yIGhhbmRsZXIgZG9lcyBub3QgaGF2ZSB0byBzY2FuIGFsbCBlbmdpbmVzIGV2ZXJ5 Cj4gCXRpbWUgaXQgaXMgc2NoZWR1bGVkLiBJbnN0ZWFkLCB3ZSBjb3VsZCBpbXBsZW1lbnQgb25l IHdvcmsgcXVldWUgcGVyCj4gCWVuZ2luZSB0aGF0IHdvdWxkIGludm9rZSB0aGUgaGFuZyBjaGVj a2VyIHRoYXQgb25seSBjaGVja3MgX3RoYXRfCj4gCXBhcnRpY3VsYXIgZW5naW5lIGFuZCB0aGVu IHRoZSBlcnJvciBoYW5kbGVyIGlzIGludm9rZWQgZm9yIF90aGF0Xwo+IAlwYXJ0aWN1bGFyIGVu Z2luZS4gSWYgb25lIGVuZ2luZSBoYXMgaHVuZyB0aGUgbGF0ZW5jeSBmb3IgZ2V0dGluZyB0bwo+ IAl0aGUgaGFuZyByZWNvdmVyeSBwYXRoIGZvciB0aGF0IHBhcnRpY3VsYXIgZW5naW5lIHdvdWxk IGJlIChUaW1lIEZvcgo+IAlIYW5nIENoZWNraW5nIE9uZSBFbmdpbmUpICsgKFRpbWUgRm9yIEVy cm9yIEhhbmRsaW5nIE9uZSBFbmdpbmUpIHJhdGhlcgo+IAl0aGFuIHRoZSB0aW1lIGl0IHRha2Vz IHRvIGRvIGhhbmcgY2hlY2tpbmcgZm9yIGFsbCBlbmdpbmVzICsgdGhlIHRpbWUKPiAJaXQgdGFr ZXMgdG8gZG8gZXJyb3IgaGFuZGxpbmcgZm9yIGFsbCBlbmdpbmVzIHRoYXQgaGF2ZSBiZWVuIGRl dGVjdGVkCj4gCWFzIGh1bmcgKHdoaWNoIGluIHRoZSB3b3JzdCBjYXNlIHdvdWxkIGJlIGFsbCBl bmdpbmVzKS4gVGhlcmUgd291bGQKPiAJcG90ZW50aWFsbHkgYmUgYXMgbWFueSBoYW5nIGNoZWNr ZXIgYW5kIGVycm9yIGhhbmRsaW5nIHRocmVhZHMgZ29pbmcgb24KPiAJY29uY3VycmVudGx5IGFz IHRoZXJlIGFyZSBlbmdpbmVzIGluIHRoZSBoYXJkd2FyZSBidXQgdGhleSB3b3VsZCBhbGwgYmUK PiAJcnVubmluZyBpbiBwYXJhbGxlbCB3aXRob3V0IGFueSBzaWduaWZpY2FudCBsb2NraW5nLiBU aGUgZmlyc3QgdGltZQo+IAl3aGVyZSBhbnkgdGhyZWFkIG5lZWRzIGV4Y2x1c2l2ZSBhY2Nlc3Mg dG8gdGhlIGRyaXZlciBpcyBhdCB0aGUgcG9pbnQKPiAJb2YgdGhlIGFjdHVhbCBoYW5nIHJlY292 ZXJ5IGJ1dCB0aGUgdGltZSBpdCB0YWtlcyB0byBnZXQgdGhlcmUgd291bGQKPiAJdGhlb3JldGlj YWxseSBiZSBsb3dlciBhbmQgdGhlIHRpbWUgaXQgYWN0dWFsbHkgdGFrZXMgdG8gZG8gcGVyLWVu Z2luZQo+IAloYW5nIHJlY292ZXJ5IGlzIHF1aXRlIGEgbG90IGxvd2VyIHRoYW4gdGhlIHRpbWUg aXQgdGFrZXMgdG8gYWN0dWFsbHkKPiAJZGV0ZWN0IGEgaGFuZyByZWxpYWJseS4KPgo+IAlIb3cg bXVjaCB3ZSB3b3VsZCBzYXZlIGJ5IHN1Y2ggYSBjaGFuZ2Ugc3RpbGwgbmVlZHMgdG8gYmUgYW5h bHlzZWQgYW5kCj4gCWNvbXBhcmVkIGFnYWluc3QgdGhlIGN1cnJlbnQgc2luZ2xlLXRocmVhZCBt b2RlbCBidXQgaXQgbWFrZXMgc2Vuc2UKPiAJZnJvbSBhIHRoZW9yZXRpY2FsIGRlc2lnbiBwb2lu dCBvZiB2aWV3Lgo+Cj4gKiBGZWF0dXJlIDI6IFdhdGNoZG9nIFRpbWVvdXQgKGEuay5hICJtZWRp YSBlbmdpbmUgcmVzZXQiKSBmb3IgZ2VuOC4KPgo+IFRoaXMgZmVhdHVyZSBhbGxvd3MgdXNlcmxh bmQgYXBwbGljYXRpb25zIHRvIGNvbnRyb2wgd2hldGhlciBvciBub3QgaW5kaXZpZHVhbCBiYXRj aCBidWZmZXJzIHNob3VsZCBoYXZlIGEgZmlyc3QtbGV2ZWwsIGZpbmUtZ3JhaW5lZCwgaGFyZHdh cmUtYmFzZWQgaGFuZyBkZXRlY3Rpb24gbWVjaGFuaXNtIG9uIHRvcCBvZiB0aGUgb3JkaW5hcnks IHNvZnR3YXJlLWJhc2VkIHBlcmlvZGljIGhhbmcgY2hlY2tlciB0aGF0IGlzIGFscmVhZHkgaW4g dGhlIGRyaXZlci4gVGhlIGFkdmFudGFnZSBvdmVyIHJlbHlpbmcgc29sZWx5IG9uIHRoZSBjdXJy ZW50IHNvZnR3YXJlLWJhc2VkIGhhbmcgY2hlY2tlciBpcyB0aGF0IHRoZSB3YXRjaGRvZyB0aW1l b3V0IG1lY2hhbmlzbSBpcyBhYm91dCAxMDAweCBxdWlja2VyIGFuZCBtb3JlIHByZWNpc2UuIFNp bmNlIGl0J3Mgbm90IGEgZnVsbCBkcml2ZXItbGV2ZWwgaGFuZyBkZXRlY3Rpb24gbWVjaGFuaXNt IGJ1dCBvbmx5IHRhcmdldHRpbmcgb25lIGluZGl2aWR1YWwgYmF0Y2ggYnVmZmVyIGF0IGEgdGlt ZSBpdCBjYW4gYWZmb3JkIHRvIGJlIHRoYXQgcXVpY2sgd2l0aG91dCByaXNraW5nIGFuIGluY3Jl YXNlIGluIGZhbHNlIHBvc2l0aXZlIGhhbmcgZGV0ZWN0aW9uLgo+Cj4gVGhpcyBmZWF0dXJlIGlu Y2x1ZGVzIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKPgo+IGEpIFdhdGNoZG9nIHRpbWVvdXQgaW50 ZXJydXB0IHNlcnZpY2Ugcm91dGluZSBmb3IgaGFuZGxpbmcgd2F0Y2hkb2cgaW50ZXJydXB0cyBh bmQgY29ubmVjdGluZyB0aGVzZSB0byBwZXItZW5naW5lIGhhbmcgcmVjb3ZlcnkuCj4KPiBiKSBJ bmplY3Rpb24gb2Ygd2F0Y2hkb2cgdGltZXIgZW5hYmxlbWVudC9jYW5jZWxsYXRpb24gaW5zdHJ1 Y3Rpb25zIGJlZm9yZS9hZnRlciB0aGUgYmF0Y2ggYnVmZmVyIHN0YXJ0IGluc3RydWN0aW9uIGlu IHRoZSByaW5nIGJ1ZmZlciBzbyB0aGF0IHdhdGNoZG9nIHRpbWVvdXQgaXMgY29ubmVjdGVkIHRv IHRoZSBzdWJtaXNzaW9uIG9mIGFuIGluZGl2aWR1YWwgYmF0Y2ggYnVmZmVyLgo+Cj4gYykgRXh0 ZW5zaW9uIG9mIHRoZSBEUk0gYmF0Y2ggYnVmZmVyIGludGVyZmFjZSwgZXhwb3NpbmcgdGhlIHdh dGNoZG9nIHRpbWVvdXQgZmVhdHVyZSB0byB1c2VybGFuZC4gV2UndmUgZ290IHR3byBvcGVuIHNv dXJjZSBncm91cHMgaW4gVlBHIGN1cnJlbnRseSBpbiB0aGUgcHJvY2VzcyBvZiBpbnRlZ3JhdGlu ZyBzdXBwb3J0IGZvciB0aGlzIGZlYXR1cmUsIHdoaWNoIHNob3VsZCBtYWtlIGl0IHByaW5jaXBh bGx5IHBvc3NpYmxlIHRvIHVwc3RyZWFtIHRoaXMgZXh0ZW5zaW9uLgo+Cj4gVGhlcmUgaXMgY3Vy cmVudGx5IGZ1bGwgd2F0Y2hkb2cgdGltZW91dCBzdXBwb3J0IGZvciBnZW43IGluIEdNSU4gYW5k IGl0IGlzIHF1aXRlIHNpbWlsYXIgdG8gdGhlIGdlbjggaW1wbGVtZW50YXRpb24gc28gdGhlcmUg aXMgbm90aGluZyBvYnZpb3VzIHRoYXQgcHJldmVudHMgdXMgZnJvbSB1cHN0cmVhbWluZyB0aGF0 IGNvZGUgYWxvbmcgd2l0aCB0aGUgZ2VuOCBjb2RlLiBIb3dldmVyLCB3YXRjaGRvZyB0aW1lb3V0 IGlzIGZ1bGx5IGRlcGVuZGVudCBvbiB0aGUgcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5IHBhdGgg YW5kIHRoYXQgaXMgbm90IHBhcnQgb2YgdGhpcyBjb2RlIHN1Ym1pc3Npb24gZm9yIGdlbjcuIFRo ZXJlZm9yZSB3YXRjaGRvZyB0aW1lb3V0IHN1cHBvcnQgZm9yIGdlbjcgaGFzIGJlZW4gZXhjbHVk ZWQgdW50aWwgcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5IHN1cHBvcnQgZm9yCj4gZ2VuNyBoYXMg bGFuZGVkIHVwc3RyZWFtLgo+Cj4gQXMgcGFydCBvZiB0aGlzIHN1Ym1pc3Npb24gd2UndmUgaGFk IHRvIHJlaW5zdGF0ZSB0aGUgd29yayBxdWV1ZSB0aGF0IHdhcyBwcmV2aW91c2x5IGluIHBsYWNl IGJldHdlZW4gdGhlIGVycm9yIGhhbmRsZXIgYW5kIHRoZSBoYW5nIHJlY292ZXJ5IHBhdGguIFRo ZSByZWFzb24gZm9yIHRoaXMgaXMgdGhhdCB0aGUgcGVyLWVuZ2luZSByZWNvdmVyeSBwYXRoIGlz IGNhbGxlZCBkaXJlY3RseSBmcm9tIHRoZSBpbnRlcnJ1cHQgaGFuZGxlciBpbiB0aGUgY2FzZSBv ZiB3YXRjaGRvZyB0aW1lb3V0LiBJbiB0aGF0IHNpdHVhdGlvbiB0aGVyZSdzIG5vIHdheSBvZiBn cmFiYmluZyB0aGUgc3RydWN0X211dGV4LCB3aGljaCBpcyBhIHJlcXVpcmVtZW50IGZvciB0aGUg aGFuZyByZWNvdmVyeSBwYXRoLiBUaGVyZWZvcmUsIGJ5IHJlaW5zdGF0aW5nIHRoZSB3b3JrIHF1 ZXVlIHdlIHByb3ZpZGUgYSB1bmlmaWVkIGV4ZWN1dGlvbiBjb250ZXh0IGZvciB0aGUgaGFuZyBy ZWNvdmVyeSBjb2RlIHRoYXQgYWxsb3dzIHRoZSBoYW5nIHJlY292ZXJ5IGNvZGUgdG8gZ3JhYiB3 aGF0ZXZlciBsb2NrcyBpdCBuZWVkcyB3aXRob3V0IHNhY3JpZmljaW5nIGludGVycnVwdCBsYXRl bmN5IHRvbyBtdWNoIG9yIHNsZWVwaW5nIGluZGVmaW5pdGVseSBpbiBoYXJkIGludGVycnVwdCBj b250ZXh0Lgo+Cj4gKiBGZWF0dXJlIDMuIENvbnRleHQgU3VibWlzc2lvbiBTdGF0dXMgQ29uc2lz dGVuY3kgY2hlY2tpbmcKPgo+IFNvbWV0aGluZyB0aGF0IGJlY29tZXMgYXBwYXJlbnQgd2hlbiB5 b3UgcnVuIGxvbmctZHVyYXRpb24gb3BlcmF0aW9ucyB0ZXN0cyB3aXRoIGNvbmN1cnJlbnQgcmVu ZGVyaW5nIHByb2Nlc3NlcyB3aXRoIGludGVybWl0dGVudGx5IGluamVjdGVkIGhhbmdzIGlzIHRo YXQgaXQgc2VlbXMgbGlrZSB0aGUgR1BVIGZvcmdldHMgdG8gc2VuZCBjb250ZXh0IGNvbXBsZXRp b24gaW50ZXJydXB0cyB0byB0aGUgZHJpdmVyIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcy4gV2hh dCB0aGlzIG1lYW5zIGlzIHRoYXQgdGhlIGRyaXZlciBzb21ldGltZXMgZ2V0cyBzdHVjayBvbiBh IGNvbnRleHQgdGhhdCBuZXZlciBzZWVtcyB0byBmaW5pc2gsIGFsbCB0aGUgd2hpbGUgdGhlIGhh cmR3YXJlIGhhcyBjb21wbGV0ZWQgYW5kIGlzIHdhaXRpbmcgZm9yIG1vcmUgd29yay4KPgo+IFRo ZSBwcm9ibGVtIHdpdGggdGhpcyBpcyB0aGF0IHRoZSBwZXItZW5naW5lIGhhbmcgcmVjb3Zlcnkg cGF0aCByZWxpZXMgb24gY29udGV4dCByZXN1Ym1pc3Npb24gdG8ga2ljayBvZmYgdGhlIGhhcmR3 YXJlIGFnYWluIGZvbGxvd2luZyBhbiBlbmdpbmUgcmVzZXQuCj4gVGhpcyBjYW4gb25seSBiZSBk b25lIHNhZmVseSBpZiB0aGUgaGFyZHdhcmUgYW5kIGRyaXZlciBzaGFyZSB0aGUgc2FtZSBvcGlu aW9uIGFib3V0IHRoZSBjdXJyZW50IHN0YXRlLiBUaGVyZWZvcmUgd2UndmUgZXh0ZW5kZWQgdGhl IHBlcmlvZGljIGhhbmcgY2hlY2tlciB0byBjaGVjayBmb3IgY29udGV4dCBzdWJtaXNzaW9uIHN0 YXRlIGluY29uc2lzdGVuY2llcyBhc2lkZSBmcm9tIHRoZSBoYW5nIGNoZWNraW5nIGl0IGFscmVh ZHkgZG9lcy4KPgo+IElmIHN1Y2ggYSBzdGF0ZSBpcyBkZXRlY3RlZCBpdCBpcyBhc3N1bWVkIChi YXNlZCBvbiBleHBlcmllbmNlKSB0aGF0IGEgY29udGV4dCBjb21wbGV0aW9uIGludGVycnVwdCBo YXMgYmVlbiBsb3N0IHNvbWVob3cuIElmIHRoaXMgc3RhdGUgcGVyc2lzdHMgZm9yIHNvbWUgdGlt ZSBhbiBhdHRlbXB0IHRvIGNvcnJlY3QgaXQgaXMgbWFkZSBieSBmYWtpbmcgdGhlIHByZXN1bWFi bHkgbG9zdCBjb250ZXh0IGNvbXBsZXRpb24gaW50ZXJydXB0IGJ5IG1hbnVhbGx5IGNhbGxpbmcg dGhlIGV4ZWNsaXN0IGludGVycnVwdCBoYW5kbGVyLCB3aGljaCBpcyBub3JtYWxseSBjYWxsZWQg ZnJvbSB0aGUgbWFpbiBpbnRlcnJ1cHQgaGFuZGxlciBjdWVkIGJ5IGEgcmVjZWl2ZWQgY29udGV4 dCBldmVudCBpbnRlcnJ1cHQuIEp1c3QgYmVjYXVzZSBhbiBpbnRlcnJ1cHQgZ29lcyBtaXNzaW5n IGRvZXMgbm90IG1lYW4gdGhhdCB0aGUgY29udGV4dCBzdGF0dXMgYnVmZmVyIChDU0IpIGRvZXMg bm90IGdldCBhcHByb3ByaWF0ZWx5IHVwZGF0ZWQgYnkgdGhlIGhhcmR3YXJlLCB3aGljaCBtZWFu cyB0aGF0IHdlIGNhbiBleHBlY3QgdG8gZmluZCBhbGwgdGhlIHJlY2VudCBjaGFuZ2VzIHRvIHRo ZSBjb250ZXh0IHN0YXRlcyBmb3IgZWFjaCBlbmdpbmUgY2FwdHVyZWQgdGhlcmUuCj4KPiBJZiB0 aGVyZSBhcmUgb3V0c3RhbmRpbmcgY29udGV4dCBzdGF0dXMgY2hhbmdlcyBpbiBzdG9yZSB0aGVy ZSB0aGVuIHRoZSBmYWtlZCBjb250ZXh0IGV2ZW50IGludGVycnVwdCB3aWxsIGFsbG93IHRoZSBp bnRlcnJ1cHQgaGFuZGxlciB0byBhY3Qgb24gdGhlbS4gSW4gdGhlIGNhc2Ugb2YgbG9zdCBjb250 ZXh0IGNvbXBsZXRpb24gaW50ZXJydXB0cyB0aGlzIHdpbGwgcHJvbXB0IHRoZSBkcml2ZXIgdG8g cmVtb3ZlIHRoZSBhbHJlYWR5IGNvbXBsZXRlZCBjb250ZXh0IGZyb20gdGhlIGV4ZWNsaXN0IHF1 ZXVlIGFuZCBtb3ZlIG9uIHRvIHRoZSBuZXh0IHBlbmRpbmcgcGllY2Ugb2Ygd29yayBhbmQgdGhl cmVieSBlbGltaW5hdGluZyB0aGUgaW5jb25zaXN0ZW5jeS4KPgo+ICogRmVhdHVyZSA0LiBEZWJ1 Z2ZzIGV4dGVuc2lvbnMgZm9yIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBhbmQgVERSL3dhdGNo ZG9nIHRyYWNlIHBvaW50cy4KPgo+IEdJVEhVQiBSRVBPU0lUT1JZOgo+IGh0dHBzOi8vZ2l0aHVi LmNvbS90ZWxmL1REUl93YXRjaGRvZ19SRkNfMS5naXQKPgo+IFJGQyBWRVJTSU9OIDEgQlJBTkNI Ogo+IDIwMTUwNjA4X1REUl91cHN0cmVhbV9hZGFwdGF0aW9uX3NpbmdsZS10aHJlYWRfaGFuZ2No ZWNraW5nX1JGQ19kZWxpdmVyeV9zZW5kbWFpbF8xCj4KPiBSRkMgVkVSU0lPTiAyIEJSQU5DSDoK PiAyMDE1MDYwNF9URFJfdXBzdHJlYW1fYWRhcHRhdGlvbl9zaW5nbGUtdGhyZWFkX2hhbmdjaGVj a2luZ19SRkN2Ml9kZWxpdmVyeV9zZW5kbWFpbF8xCj4KPiBDSEFOR0VTIElOIFZFUlNJT04gMgo+ IC0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gVmVyc2lvbiAyIG9mIHRoaXMgUkZDIHNlcmllcyBhZGRy ZXNzZXMgZGVzaWduIGNvbmNlcm5zIHRoYXQgQ2hyaXMgV2lsc29uIGFuZCBEYW5pZWwgVmV0dGVy IGV0LiBhbC4gaGFkIHdpdGggdGhlIGZpcnN0IHZlcnNpb24gb2YgdGhpcyBSRkMgc2VyaWVzLiBC ZWxvdyBpcyBhIHN1bW1hcnkgb2YgYWxsIHRoZSBjaGFuZ2VzIG1hZGUgYmV0d2VlbiB2ZXJzaW9u czoKPgo+ICogWzEvMTJdIGRybS9pOTE1OiBFYXJseSBleGl0IGZyb20gc2VtYXBob3JlX3dhaXRz X2ZvciBmb3IgZXhlY2xpc3QgbW9kZToKPiAJVHVybmVkIHRoZSBleGVjbGlzdCBtb2RlIGNoZWNr IGludG8gYSByaW5nYnVmZmVyIE5VTEwgY2hlY2sgdG8gbWFrZSBpdCBtb3JlIHN1Ym1pc3Npb24g bW9kZSBhZ25vc3RpYyBhbmQgbGVzcyBvZiBhIGxheWVyaW5nIHZpb2xhdGlvbi4KPgo+ICogWzIv MTJdIGRybS9pOTE1OiBNYWtlIGk5MTVfZ2VtX3Jlc2V0X3Jpbmdfc3RhdHVzKCkgcHVibGljCj4g CVJlcGxhY2VzIHRoZSBvbGQgcGF0Y2ggaW4gUkZDdjE6ICJkcm0vaTkxNTogQWRkIHJlc2V0IHN0 YXRzIGVudHJ5IHBvaW50IGZvciBwZXItZW5naW5lIHJlc2V0Igo+Cj4gKiBbMy8xMl0gZHJtL2k5 MTU6IEFkZGluZyBURFIgLyBwZXItZW5naW5lIHJlc2V0IHN1cHBvcnQgZm9yIGdlbjg6Cj4KPiAJ MS4gU2ltcGx5IHVzZSB0aGUgcHJldmlvdXNseSBwcml2YXRlIGZ1bmN0aW9uCj4gCWk5MTVfZ2Vt X3Jlc2V0X3Jpbmdfc3RhdHVzKCkgZnJvbSB0aGUgZW5naW5lIGhhbmcgcmVjb3ZlcnkgcGF0aCB0 byBzZXQKPiAJYWN0aXZlL3BlbmRpbmcgY29udGV4dCBzdGF0dXMuIFRoaXMgcmVwbGljYXRlcyB0 aGUgc2FtZSBiZWhhdmlvdXIgYXMgaW4KPiAJZnVsbCBHUFUgcmVzZXQgYnV0IGZvciBhIHNpbmds ZSwgdGFyZ2V0dGVkIGVuZ2luZS4KPgo+IAkyLiBSZW1vdmUgYWxsIGFkZGl0aW9uYWwgdWV2ZW50 cyBmb3IgYm90aCBmdWxsIEdQVSByZXNldCBhbmQgcGVyLWVuZ2luZQo+IAlyZXNldC4gIEFkYXB0 ZWQgdWV2ZW50IGJlaGF2aW91ciB0byB0aGUgbmV3IHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeQo+ IAltb2RlIGluIHRoYXQgaXQgd2lsbCBvbmx5IHNlbmQgb25lIHVldmVudCByZWdhcmRsZXNzIG9m IHdoaWNoIGZvcm0gb2YKPiAJcmVjb3ZlcnkgaXMgZW1wbG95ZWQuICBJZiBhIHBlci1lbmdpbmUg cmVzZXQgaXMgYXR0ZW1wdGVkIGZpcnN0IHRoZW4KPiAJb25lIHVldmVudCB3aWxsIGJlIGRpc3Bh dGNoZWQuICBJZiB0aGF0IHJlY292ZXJ5IG1vZGUgZmFpbHMgYW5kIHRoZQo+IAloYW5nIGlzIHBy b21vdGVkIHRvIGEgZnVsbCBHUFUgcmVzZXQgbm8gZnVydGhlciB1ZXZlbnRzIHdpbGwgYmUKPiAJ ZGlzcGF0Y2hlZCBhdCB0aGF0IHBvaW50Lgo+Cj4gCTMuIFJlbW92ZWQgdGhlIDIqSFVORyBoYW5n IHRocmVzaG9sZCBmcm9tIGk5MTVfaGFuZ2NoZWNrX2VsYXBzZWQgaW4KPiAJb3JkZXIgdG8gbm90 IG1ha2UgdGhlIGhhbmcgZGV0ZWN0aW9uIGFsZ29yaXRobSB0b28gY29tcGxpY2F0ZWQuIFRoaXMK PiAJdGhyZXNob2xkIHdhcyBpbnRyb2R1Y2VkIHRvIGNvbXBlbnNhdGUgZm9yIHRoZSBwb3NzaWJp bGl0eSB0aGF0IGhhbmcKPiAJcmVjb3ZlcnkgbWlnaHQgYmUgZGVsYXllZCBkdWUgdG8gaW5jb25z aXN0ZW50IGNvbnRleHQgc3VibWlzc2lvbiBzdGF0dXMKPiAJdGhhdCB3b3VsZCBwcmV2ZW50IHBl ci1lbmdpbmUgaGFuZyByZWNvdmVyeSBmcm9tIGhhcHBlbmluZy4gSW4gYSBsYXRlcgo+IAlwYXRj aCB3ZSBpbnRyb2R1Y2UgZmFrZWQgY29udGV4dCBldmVudCBpbnRlcnJ1cHRzIGFuZCBpbmNvbnNp c3RlbmN5Cj4gCXJlY3RpZmljYXRpb24gYXQgdGhlIG9uc2V0IG9mIHBlci1lbmdpbmUgaGFuZyBy ZWNvdmVyeSBpbnN0ZWFkIG9mCj4gCXJlbHlpbmcgb24gdGhlIGhhbmcgY2hlY2tlciB0byBkbyB0 aGlzIGZvciB1cy4gVGhlcmVmb3JlLCBzaW5jZSB3ZSBkbwo+IAlub3QgZGVsYXkgYW5kIGRlZmVy IHRvIGZ1dHVyZSBoYW5nIGRldGVjdGlvbnMsIHdlIG5ldmVyIGFsbG93IGhhbmdzIHRvCj4gCWdv IGFkZHJlc3NlZCBiZXlvbmQgdGhlIEhVTkcgdGhyZXNob2xkIGFuZCB0aGVyZWZvcmUgdGhlcmUg aXMgbm8gbmVlZAo+IAlmb3IgYW55IGZ1cnRoZXIgdGhyZXNob2xkcy4KPgo+IAk0LiBUaWRpZWQg dXAgdGhlIFREUiBjb250ZXh0IHJlc3VibWlzc2lvbiBwYXRoIGluIGludGVsX2xyYy5jIC4gUmVk dWNlZAo+IAl0aGUgYW1vdW50IG9mIGR1cGxpY2F0aW9uIGJ5IHJlbHlpbmcgZW50aXJlbHkgb24g dGhlIG5vcm1hbCB1bnF1ZXVlCj4gCWZ1bmN0aW9uLiAgQWRkZWQgYSBuZXcgcGFyYW1ldGVyIHRv IHRoZSB1bnF1ZXVlIGZ1bmN0aW9uIHRoYXQgdGFrZXMKPiAJaW50byBjb25zaWRlcmF0aW9uIGlm IHRoZSB1bnF1ZXVlIGNhbGwgaXMgZm9yIGEgZmlyc3QtdGltZSBjb250ZXh0Cj4gCXN1Ym1pc3Np b24gb3IgYSByZXN1Ym1pc3Npb24gYW5kIGFkYXB0cyB0aGUgaGFuZGxpbmcgb2YgZWxzcF9zdWJt aXR0ZWQKPiAJYWNjb3JkaW5nbHkuIFRoZSByZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBmb3IgY29u dGV4dCByZXN1Ym1pc3Npb24gd2UKPiAJZG9uJ3QgZXhwZWN0IGFueSBmdXJ0aGVyIGludGVycnVw dHMgZm9yIHRoZSBzdWJtaXNzaW9uIG9yIHRoZSBmb2xsb3dpbmcKPiAJY29udGV4dCBjb21wbGV0 aW9uLiBBIG1vcmUgZWxlZ2FudCB3YXkgb2YgaGFuZGxpbmcgdGhpcyB3b3VsZCBiZSB0bwo+IAlw aGFzZSBvdXQgZWxzcF9zdWJtaXR0ZWQgYWx0b2dldGhlciwgaG93ZXZlciB0aGF0J3MgcGFydCBv ZiBhCj4gCUxSQy9leGVjbGlzdCBjbGVhbnVwIGVmZm9ydCB0aGF0IGlzIGhhcHBlbmluZyBpbmRl cGVuZGVudGx5IG9mIHRoaXMKPiAJUkZDLiBGb3Igbm93IHdlIG1ha2UgdGhpcyBjaGFuZ2UgYXMg c2ltcGxlIGFzIHBvc3NpYmxlIHdpdGggYXMgZmV3Cj4gCW5vbi1URFItcmVsYXRlZCBzaWRlLWVm ZmVjdHMgYXMgcG9zc2libGUuCj4KPiAqIFs0LzEyXSBkcm0vaTkxNTogRXh0ZW5kaW5nIGk5MTVf Z2VtX2NoZWNrX3dlZGdlIHRvIGNoZWNrIGVuZ2luZSByZXNldCBpbiBwcm9ncmVzczoKPiAJUmVt b3ZlZCB1bndhcnJhbnRlZCBjaGFuZ2VzIG1hZGUgdG8gaTkxNV9nZW1fcmluZ190aHJvdHRsZSgp Cj4KPiAqIFs3LzEyXSBkcm0vaTkxNTogRmFrZSBsb3N0IGNvbnRleHQgaW50ZXJydXB0cyB0aHJv dWdoIGZvcmNlZCBDU0IgY2hlY2sKPiAJUmVtb3ZlIGNvbnRleHQgc3VibWlzc2lvbiBzdGF0dXMg Y29uc2lzdGVuY3kgcHJlLWNoZWNrIGZyb20KPiAJaTkxNV9oYW5nY2hlY2tfZWxhcHNlZCgpIGFu ZCB0dXJuIGl0IGludG8gYSBwcmUtY2hlY2sgdG8gcGVyLWVuZ2luZQo+IAlyZXNldC4KPgo+IAlU aGUgZm9sbG93aW5nIGRlc2NyaWJlcyB0aGUgY2hhbmdlIGluIHBoaWxvc3BoeSBpbiBob3cgY29u dGV4dAo+IAlzdWJtaXNzaW9uIHN0YXRlIGluY29uc2lzdGVuY2llcyBhcmUgZGV0ZWN0ZWQ6Cj4K PiAJUHJldmlvdXNseSB3ZSB3b3VsZCBsZXQgdGhlIHBlcmlvZGljIGhhbmcgY2hlY2tlciBlbnN1 cmUgdGhhdCB0aGVyZQo+IAl3ZXJlIG5vIGNvbnRleHQgc3VibWlzc2lvbiBzdGF0dXMgaW5jb25z aXN0ZW5jaWVzIG9uIGFueSBlbmdpbmUsIGF0IGFueQo+IAlwb2ludC4gSWYgYW4gaW5jb25zaXN0 ZW5jeSB3YXMgZGV0ZWN0ZWQgaW4gdGhlIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeQo+IAlwYXRo IHdlIHdvdWxkIGJhY2sgb2ZmIGFuZCBkZWZlciB0byB0aGUgbmV4dCBoYW5nIGNoZWNrIHNpbmNl Cj4gCXBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBpcyBub3QgZWZmZWN0aXZlIGR1cmluZyBpbmNv bnNpc3RlbnQgY29udGV4dAo+IAlzdWJtaXNzaW9uIHN0YXRlcy4KPgo+IAlXaGF0IHdlIGRvIGlu IHRoaXMgbmV3IHZlcnNpb24gaXMgdG8gbW92ZSB0aGUgY29uc2lzdGVuY3kgcHJlLWNoZWNrCj4g CWZyb20gdGhlIGhhbmcgY2hlY2tlciB0byB0aGUgZWFybGllc3QgcG9pbnQgaW4gdGhlIHBlci1l bmdpbmUgaGFuZwo+IAlyZWNvdmVyeSBwYXRoLiBJZiB3ZSBkZXRlY3QgYW4gaW5jb25zaXN0ZW5j eSBhdCB0aGF0IHBvaW50IHdlIGZha2UgYQo+IAlwb3RlbnRpYWxseSBsb3N0IGNvbnRleHQgZXZl bnQgaW50ZXJydXB0IGJ5IGZvcmNpbmcgYSBDU0IgY2hlY2suIElmCj4gCXRoZXJlIGFyZSBvdXRz dGFuZGluZyBldmVudHMgaW4gdGhlIENTQiB0aGVzZSB3aWxsIGJlIGFjdGVkIHVwb24gYW5kCj4g CWhvcGVmdWxseSB0aGF0IHdpbGwgYnJpbmcgdGhlIGRyaXZlciB1cCB0byBzcGVlZCB3aXRoIHRo ZSBoYXJkd2FyZS4gSWYKPiAJdGhlIENTQiBjaGVjayBkaWQgbm90IGFtb3VudCB0byBhbnl0aGlu ZyBpdCBpcyBjb25jbHVkZWQgdGhhdCB0aGUKPiAJaW5jb25zaXN0ZW5jeSBpcyB1bnJlc29sdmFi bGUgYW5kIHRoZSBwZXItZW5naW5lIGhhbmcgcmVjb3ZlcnkgZmFpbHMKPiAJYW5kIHByb21vdGVz IHRvIGZ1bGwgR1BVIHJlc2V0IGluc3RlYWQuCj4KPiAJSW4gdGhlIGhhbmcgY2hlY2tlci1iYXNl ZCBjb25zaXN0ZW5jeSBjaGVja2luZyB3ZSB3b3VsZCBjaGVjayB0aGUKPiAJaW5jb25zaXN0ZW5j eSBmb3IgYSBudW1iZXIgb2YgdGltZXMgdG8gbWFrZSBzdXJlIHRoZSBkZXRlY3RlZCBzdGF0ZSB3 YXMKPiAJc3RhYmxlIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHJlY3RpZnkgdGhlIHNpdHVhdGlvbi4g VGhpcyBpcyBwb3NzaWJsZQo+IAlzaW5jZSBoYW5nIGNoZWNraW5nIGlzIGEgcmVjdXJyaW5nIGV2 ZW50LiBIYXZpbmcgbW92ZWQgdGhlIGNvbnNpc3RlbmN5Cj4gCWNoZWNraW5nIHRvIHRoZSByZWNv dmVyeSBwYXRoIGluc3RlYWQgKGkuZS4gYSBvbmUtdGltZSwgZmlyZSAmCj4gCWZvcmdldC1zdHls ZSBldmVudCkgaXQgaXMgYXNzdW1lZCB0aGF0IHRoZSBoYW5nIGRldGVjdGlvbiB0aGF0IGJyb3Vn aHQKPiAJb24gdGhlIGhhbmcgcmVjb3ZlcnkgaGFzIGRldGVjdGVkIGEgc3RhYmxlIGhhbmcgYW5k IHRoZXJlZm9yZSwgaWYgYW4KPiAJaW5jb25zaXN0ZW5jeSBpcyBkZXRlY3RlZCBhdCB0aGF0IHBv aW50LCB0aGUgaW5jb25zaXN0ZW5jeSBtdXN0IGJlCj4gCXN0YWJsZSBhbmQgbm90IHRoZSByZXN1 bHQgb2YgYSBtb21lbnRhcnkgY29udGV4dCBzdGF0ZSB0cmFuc2l0aW9uLgo+IAlUaGVyZWZvcmUs IHVubGlrZSBpbiB0aGUgaGFuZyBjaGVja2VyIGNhc2UsIGF0IHRoZSB2ZXJ5IGZpcnN0Cj4gCWlu ZGljYXRpb24gb2YgYW4gaW5jb25zaXN0ZW50IGNvbnRleHQgc3VibWlzc2lvbiBzdGF0dXMgdGhl IGludGVycnVwdAo+IAlpcyBmYWtlZCBzcGVjdWxhdGl2ZWx5LiBJZiBvdXRzdGFuZGluZyBDU0Ig ZXZlbnRzIGFyZSBmb3VuZCBpdCBpcwo+IAlkZXRlcm1pbmVkIHRoYXQgdGhlIGhhbmcgd2FzIGlu IGZhY3QganVzdCBhIGNvbnRleHQgc3VibWlzc2lvbiBzdGF0dXMKPiAJaW5jb25zaXN0ZW5jeSBh bmQgbm8gaGFuZyByZWNvdmVyeSBpcyBkb25lLiBJZiB0aGUgaW5jb25zaXN0ZW5jeSBjYW5ub3QK PiAJYmUgcmVzb2x2ZWQgdGhlIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBpcyBmYWlsZWQgYW5k IHRoZSBoYW5nIGlzCj4gCXByb21vdGVkIHRvIGZ1bGwgR1BVIHJlc2V0IGluc3RlYWQuCj4KPiAq IFs4LzEyXSBkcm0vaTkxNTogRGVidWdmcyBpbnRlcmZhY2UgZm9yIHBlci1lbmdpbmUgaGFuZyBy ZWNvdmVyeQo+IAkxLiBBZnRlciByZXZpZXcgY29tbWVudHMgYnkgQ2hyaXMgV2lsc29uIHdlJ3Jl IGRyb3BwaW5nIHRoZSBkdWFsLW1vZGUgcGFyYW1ldGVyCj4gCXZhbHVlIGludGVycHJldGF0aW9u IGluIGk5MTVfd2VkZ2VkX3NldCgpLiBJbiB0aGlzIHZlcnNpb24gd2Ugb25seSBhY2NlcHQKPiAJ ZW5naW5lIGlkIGZsYWcgbWFza3MgdGhhdCBjb250YWluIHRoZSBlbmdpbmUgaWQgZmxhZ3Mgb2Yg YWxsIGN1cnJlbnRseSBodW5nCj4gCWVuZ2luZXMuIEZ1bGwgR1BVIHJlc2V0IGlzIG1vc3QgZWFz aWx5IHJlcXVlc3RlZCBieSBwYXNzaW5nIGFuIGFsbCB6ZXJvCj4gCWVuZ2luZSBpZCBmbGFnIG1h c2suCj4KPiAJMi4gTW92ZWQgVERSLXNwZWNpZmljIGVuZ2luZSBtZXRyaWNzIGxpa2UgbnVtYmVy IG9mIGRldGVjdGVkIGVuZ2luZSBoYW5ncyBhbmQKPiAJbnVtYmVyIG9mIHBlci1lbmdpbmUgcmVz ZXRzIGludG8gaTkxNV9oYW5nY2hlY2tfaW5mbygpIGZyb20KPiAJaTkxNV9oYW5nY2hlY2tfcmVh ZCgpLgo+Cj4gKiBbOS8xMl0gZHJtL2k5MTU6IFREUi93YXRjaGRvZyB0cmFjZSBwb2ludHMKPiAJ QXMgYSBjb25zZXF1ZW5jZSBvZiB0aGUgZmFraW5nIGNvbnRleHQgZXZlbnQgaW50ZXJydXB0IGNv bW1pdCBiZWluZyBtb3ZlZCBmcm9tCj4gCXRoZSBoYW5nIGNoZWNrZXIgdG8gdGhlIHBlci1lbmdp bmUgcmVjb3ZlcnkgcGF0aCB3ZSBubyBsb25nZXIgY2hlY2sgY29udGV4dAo+IAlzdWJtaXNzaW9u IHN0YXR1cyBmcm9tIHRoZSBoYW5nIGNoZWNrZXIuIFRoZXJlZm9yZSB0aGVyZSBpcyBubyBuZWVk IHRvIHByb3ZpZGUKPiAJc3VibWlzc2lvbiBzdGF0dXMgb2YgdGhlIGN1cnJlbnRseSBydW5uaW5n IGNvbnRleHQgdG8gdGhlCj4gCXRyYWNlX2k5MTVfdGRyX2hhbmdfY2hlY2soKSBldmVudC4KPgo+ ICogWzEwLzEyXSBkcm0vaTkxNTogRml4IF9faTkxNV93YWl0X3JlcXVlc3QoKSBiZWhhdmlvdXIg ZHVyaW5nIGhhbmcgZGV0ZWN0aW9uCj4gKiBbMTEvMTJdIGRybS9pOTE1OiBQb3J0IG9mIEFkZGVk IHNjaGVkdWxlciBzdXBwb3J0IHRvIF9fd2FpdF9yZXF1ZXN0KCkgY2FsbHMKPiAJTkVXOiBBZGRl ZCB0byBhZGRyZXNzIHRoZSB3YXkgdGhhdCBfX2k5MTVfd2FpdF9yZXF1ZXN0KCkKPiAJYmVoYXZl cyBpbiB0aGUgZmFjZSBvZiBoYW5nIGRldGVjdGlvbnMgYW5kIGhhbmcgcmVjb3ZlcnkuCj4KPiAq IFsxMi8xMl0gZHJtL2k5MTU6IEV4dGVuZGVkIGVycm9yIHN0YXRlIHdpdGggVERSIGNvdW50LCB3 YXRjaGRvZyBjb3VudCBhbmQgZW5naW5lIHJlc2V0IGNvdW50Cj4gCU5FVzogQWRkcyBwZXItZW5n aW5lIFREUiBzdGF0aXN0aWNzIHRvIGNhcHR1cmVkIGVycm9yIHN0YXRlLgo+Cj4KPiBUb21hcyBF bGYgKDEyKToKPiAgICBkcm0vaTkxNTogRWFybHkgZXhpdCBmcm9tIHNlbWFwaG9yZV93YWl0c19m b3IgZm9yIGV4ZWNsaXN0IG1vZGUuCj4gICAgZHJtL2k5MTU6IE1ha2UgaTkxNV9nZW1fcmVzZXRf cmluZ19zdGF0dXMoKSBwdWJsaWMKPiAgICBkcm0vaTkxNTogQWRkaW5nIFREUiAvIHBlci1lbmdp bmUgcmVzZXQgc3VwcG9ydCBmb3IgZ2VuOC4KPiAgICBkcm0vaTkxNTogRXh0ZW5kaW5nIGk5MTVf Z2VtX2NoZWNrX3dlZGdlIHRvIGNoZWNrIGVuZ2luZSByZXNldCBpbgo+ICAgICAgcHJvZ3Jlc3MK PiAgICBkcm0vaTkxNTogUmVpbnN0YXRlIGhhbmcgcmVjb3Zlcnkgd29yayBxdWV1ZS4KPiAgICBk cm0vaTkxNTogV2F0Y2hkb2cgdGltZW91dCBzdXBwb3J0IGZvciBnZW44Lgo+ICAgIGRybS9pOTE1 OiBGYWtlIGxvc3QgY29udGV4dCBpbnRlcnJ1cHRzIHRocm91Z2ggZm9yY2VkIENTQiBjaGVjay4K PiAgICBkcm0vaTkxNTogRGVidWdmcyBpbnRlcmZhY2UgZm9yIHBlci1lbmdpbmUgaGFuZyByZWNv dmVyeS4KPiAgICBkcm0vaTkxNTogVERSL3dhdGNoZG9nIHRyYWNlIHBvaW50cy4KPiAgICBkcm0v aTkxNTogUG9ydCBvZiBBZGRlZCBzY2hlZHVsZXIgc3VwcG9ydCB0byBfX3dhaXRfcmVxdWVzdCgp IGNhbGxzCj4gICAgZHJtL2k5MTU6IEZpeCBfX2k5MTVfd2FpdF9yZXF1ZXN0KCkgYmVoYXZpb3Vy IGR1cmluZyBoYW5nIGRldGVjdGlvbi4KPiAgICBkcm0vaTkxNTogRXh0ZW5kZWQgZXJyb3Igc3Rh dGUgd2l0aCBURFIgY291bnQsIHdhdGNoZG9nIGNvdW50IGFuZAo+ICAgICAgZW5naW5lIHJlc2V0 IGNvdW50Cj4KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICB8ICA3 NiArKystCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jICAgICAgICAgfCAgNzgg KysrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgIHwgMjU3ICsr KysrKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAg NzkgKysrLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwgMTI4 ICsrKystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyAgIHwgICA4 ICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgICAgfCAyOTIgKysr KysrKysrKystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYyAgICAgIHwg IDEwICsKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICAgICB8ICAxMyAr Cj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNlLmggICAgICAgfCAzMDggKysrKysr KysrKysrKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICB8ICAg MiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgIHwgNzI5ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuaCAgICAgICAgfCAgMTYgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyY190ZHIuaCAgICB8ICAzOSArKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5jIHwgIDg3ICsrKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jpbmdi dWZmZXIuaCB8ICA5NSArKysrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3Jl LmMgICAgIHwgMjAzICsrKysrKysrKwo+ICAgaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oICAg ICAgICAgICAgIHwgICA1ICstCj4gICAxOCBmaWxlcyBjaGFuZ2VkLCAyMzEzIGluc2VydGlvbnMo KyksIDExMiBkZWxldGlvbnMoLSkKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scmNfdGRyLmgKPgoKU3VtbWFyaXNpbmcgZm9sbG93LXVwIG9uIElSQzoK CkNocmlzIFdpbHNvbiBpcyBvayB3aXRoIFJGQ3YyIGZyb20gYSBkZXNpZ24gcG9pbnQtb2Ytdmll dy4gV2UncmUgbW92aW5nIApvbiB0byB0aGUgZGV0YWlsZWQgY29kZSByZXZpZXcgd2hpY2ggd2ls bCBjb21tZW5jZSBvbmNlIEkgZ2V0IGJhY2sgZnJvbSAKbXkgaG9saWRheSBpbiB0aHJlZSB3ZWVr cyBhbmQgb25jZSBJJ3ZlIHByZXBhcmVkIGEgcHJvcGVybHkgc3BsaXQgdXAgCnBhdGNoIHNlcmll cyB0aGF0IGlzIHN1aXRhYmxlIGZvciBjb2RlIHJldmlld2luZy4KClRoYW5rcywKVG9tYXMKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==