From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 28 Jan 2019 14:03:54 +0000 From: Liviu Dudau Message-ID: <20190128140354.GA25147@e110455-lin.cambridge.arm.com> References: <20190121115420.7oxbn2zqvfhn5vke@DESKTOP-E1NTVVP.localdomain> <20190122132757.hnhjpm7m3wq43ccj@DESKTOP-E1NTVVP.localdomain> <20190122150851.f4wnhyfedfrmiqkv@DESKTOP-E1NTVVP.localdomain> <20190122161156.GD114153@art_vandelay> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Subject: Re: [igt-dev] [PATCH] drm/doc: Make igts for cross-driver stuff mandatory List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Daniel Vetter Cc: Petri Latvala , DRI Development , IGT development , Daniel Vetter , Alex Deucher , Dave Airlie , nd , Sean Paul , Brian Starkey List-ID: T24gVHVlLCBKYW4gMjIsIDIwMTkgYXQgMDU6Mjg6MTlQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBUdWUsIEphbiAyMiwgMjAxOSBhdCA1OjExIFBNIFNlYW4gUGF1bCA8c2VhbkBw b29ybHkucnVuPiB3cm90ZToKPiA+IE9uIFR1ZSwgSmFuIDIyLCAyMDE5IGF0IDA0OjE3OjI1UE0g KzAxMDAsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiA+IE9uIFR1ZSwgSmFuIDIyLCAyMDE5IGF0 IDQ6MDggUE0gQnJpYW4gU3RhcmtleSA8QnJpYW4uU3RhcmtleUBhcm0uY29tPiB3cm90ZToKPiA+ ID4gPgo+ID4gPiA+IE9uIFR1ZSwgSmFuIDIyLCAyMDE5IGF0IDAzOjAzOjU5UE0gKzAxMDAsIERh bmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiA+ID4gPiBPbiBUdWUsIEphbiAyMiwgMjAxOSBhdCAyOjI3 IFBNIEJyaWFuIFN0YXJrZXkgPEJyaWFuLlN0YXJrZXlAYXJtLmNvbT4gd3JvdGU6Cj4gPiA+ID4K PiA+Cj4gPiAvc25pcAo+ID4KPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gVGhhdCBzZWVtcyBhIGJp dCBvdXQgb2Ygb3JkZXIgdG8gbWUuIEl0IHdvdWxkIGJlIGxpa2UgbWUgc2F5aW5nICJhbGwKPiA+ ID4gPiA+ID4gPiA+ID4gS01TIGRyaXZlcnMgbXVzdCB1c2UgQXJtJ3MgdGVzdCBzdWl0ZSwgd2hp Y2ggdXNlcyB3cml0ZWJhY2sgYW5kIHBpeGVsCj4gPiA+ID4gPiA+ID4gPiA+IGNoZWNraW5nIiwg YW5kIHlvdSdkIGJlIGluIGEgcGlja2xlIGJlY2F1c2UgeW91IGRvbid0IGhhdmUgd3JpdGViYWNr Lgo+ID4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gPiBJbiBhIHNpbWlsYXIgdmVpbiwg SSByZW1lbWJlciBoYXZpbmcgdG8gZml4IGlndCBvbiBkZXZpY2VzIHdoaWNoCj4gPiA+ID4gPiA+ ID4gPiA+IGRpZG4ndCBoYXZlIGN1cnNvciBwbGFuZXMsIGJlZm9yZSBJIGNvdWxkIGV2ZW4gdGhp bmsgYWJvdXQgd3JpdGluZwo+ID4gPiA+ID4gPiA+ID4gPiB0ZXN0cy4KPiA+ID4gPiA+ID4gPiA+ ID4KPiA+ID4gPiA+ID4gPiA+ID4gSWYgeW91IGNhbiBwcm92ZSB0aGF0IGlzc3VlcyBsaWtlIHRo ZXNlIGFyZSBhbGwgcmVzb2x2ZWQgbm93IGluIGlndCwKPiA+ID4gPiA+ID4gPiA+ID4gdGhlbiBn cmVhdCEgT3RoZXJ3aXNlLCBJIGRvbid0IHRoaW5rIGlndCBpcyAicmVhZHkiIHRvIGJlIHVzZWQg YXMgYQo+ID4gPiA+ID4gPiA+ID4gPiByZXF1aXJlbWVudCBmb3IgbWVyZ2luZyBLTVMga2VybmVs IEFQSS4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IFdpdGggYSBuaWdodCdzIHdvcnRoIG9m IHNsZWVwLCB0aGlzIGhlcmUgaXMgd2hhdCBhbm5veXMgbWUgLSB5b3UKPiA+ID4gPiA+ID4gPiBk ZW1hbmQgSSAicHJvdmUiIHRoYXQgaWd0IHdvcmtzIGV2ZXJ5d2hlcmUuIFRoYXQncyBub3QgcmVh bGlzdGljLgo+ID4gPiA+ID4gPiA+IEludGVsIGlzIG5vdCBnb2luZyB0byBwYXkgdGhlIGJpbGwg dG8gZ2V0IGEgQ0kgZmFybSBmb3IgZXZlcnkgZHJtCj4gPiA+ID4gPiA+ID4gZHJpdmVyIGV4aXN0 aW5nIHVwJnJ1bm5pbmcsIGluY2x1ZGluZyBmaXhpbmcgYWxsIHRoZSBidWdzIHRoYXQgd2lsbAo+ ID4gPiA+ID4gPiA+IHVuY292ZXIgKGJvdGggaW4gaWd0IGFuZCBldmVuIG1vcmUgc28gaW4gZHJp dmVycykuIEVzcGVjaWFsbHkgbm90IGlmCj4gPiA+ID4gPiA+ID4gbWVyZSBtb3J0YWxzIGNhbid0 IGV2ZW4gYnV5IHRoZSBoYXJkd2FyZS4gTm9yIGlzIGFueW9uZSBlbHNlIGdvaW5nIHRvCj4gPiA+ ID4gPiA+ID4gZG8gdGhhdC4gSWYgdGhlcmUgYXJlIHNvbWUgZnVuZGFtZW50YWwgb3ZlcmFsbCBp c3N1ZXMgd2l0aCBpZ3QgdGhlbgo+ID4gPiA+ID4gPiA+IEknbSBvZmMgaGFwcHkgdG8gZ2V0IHRo ZW0gYWRkcmVzc2VkIChsaWtlIHRoZSBidWlsZCBpc3N1ZXMgcmFpc2VkIGEKPiA+ID4gPiA+ID4g PiBmZXcgbW9udGhzIGFnbykuCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IEknbSByZWFsbHkgbm90 IGFza2luZyB5b3UgdG8uIEknbSBzb3JyeSB0aGF0IEkndmUgYW5ub3llZCB5b3UsIGFuZCBJJ20K PiA+ID4gPiA+ID4gbm90IGJlaW5nIGRlbGliZXJhdGVseSBhd2t3YXJkLgo+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gPiBJIGdlbnVpbmVseSBkb24ndCBrbm93IHdoYXQgdGhlIGN1cnJlbnQgc3RhdGUg b2YgIm5vdC1pOTE1IiB0ZXN0aW5nIGlzCj4gPiA+ID4gPiA+IGluIGlndC4gRG8geW91IHJlYWxs eSBub3QgdGhpbmsgaXQncyBhIGdvb2QgaWRlYSB0byBoYXZlIHRoYXQga25vd24KPiA+ID4gPiA+ ID4gYW5kIGRvY3VtZW50ZWQgYmVmb3JlIHlvdSBtYWtlIGlndCBhIG1hbmRhdG9yeSBwYXJ0IG9m IHRoZSBEUk0gdHJlZT8KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gU3VyZSwgdGhlcmUncyBjb21t aXRzIGZyb20gbm9uLWludGVsIGZvbGtzIC0gaGVjayB0aGVyZSdzIGV2ZW4gYSBmZXcKPiA+ID4g PiA+ID4gZnJvbSBtZS4gQnV0IEkgY2FuIHRlbGwgeW91IHJpZ2h0IGF3YXkgdGhhdCBkb2Vzbid0 IG1lYW4gdGhhdCBpZ3QKPiA+ID4gPiA+ID4gd29ya3MgaW4gYW55IG1lYW5pbmdmdWwgd2F5IG9u IG15IHBsYXRmb3JtLiBEb2VzIGl0IHdvcmsgd2VsbCBlbm91Z2gKPiA+ID4gPiA+ID4gZm9yIG1l IHRvIGFkZCBuZXcgdGVzdCBjYXNlcz8gSG9uZXN0bHkgSSBkb24ndCBrbm93Lgo+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiBNYXliZSB5b3UgY2FuIHN1Z2dlc3Qgc29tZSBzdWl0ZXMgd2hpY2ggYXJl IGV4cGVjdGVkIHRvIGFscmVhZHkgYmUKPiA+ID4gPiA+ID4gZnVsbHkgZ2VuZXJpYyBhbmQgc2hv dWxkIHJ1biBhbnl3aGVyZSB3aGljaCB3ZSBjYW4gdXNlIGFzCj4gPiA+ID4gPiA+IGNvbmZpcm1h dGlvbj8gVG8gbWUsIGhhdmluZyBzb21lIHJlYXNvbmFibGUgc3Vic2V0IG9mIHRoZSBhY3RpdmUK PiA+ID4gPiA+ID4gZHJpdmVyIGRldnMgYnVpbGRpbmcgYW5kIHJ1bm5pbmcgdGhhdCBvbiB0aGVp ciBwbGF0Zm9ybXMgYW5kIHJlcG9ydGluZwo+ID4gPiA+ID4gPiBiYWNrIGJlZm9yZSB5b3UgbWVy Z2UgdGhpcyBwYXRjaCB3b3VsZG4ndCBiZSB1bnJlYXNvbmFibGUgb3IKPiA+ID4gPiA+ID4gb3V0 bGFuZGlzaC4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBTbyBteSBHcmFuZCBQbGFuIGlzIHRvIGdldCB2 a21zIHVwIHRvIHBhciwgYW5kIGV2ZW4gZ2V0IHRoYXQKPiA+ID4gPiA+IGludGVncmF0ZWQgaW50 byBpZ3QgYW5kIGRybSBhdXRvYnVpbGRzIHdlJ2xsIHJ1biBvbiBnaXRsYWIgQ0kuIEJ1dAo+ID4g PiA+ID4gdmttcyBpcyBzdGlsbCBhIGZldyBpbnRlcm5zaGlwcyBhd2F5IGZyb20gYmVpbmcgdXNl ZnVsLCBhdG0gaXQgaGFzIG9uZQo+ID4gPiA+ID4gcHJpbWFyeSBwbGFuZSBhbmQgb25lIG5vbi1w bGFuZSBjdXJzb3IgKGl0J3Mgbm90IGV2ZW4gYSB1bml2ZXJzYWwKPiA+ID4gPiA+IGN1cnNvciBw bGFuZSB5ZXQpLiBXaWxsIGdpdmUgeW91IF9sb3RzXyBvZiBza2lwcy4KPiA+ID4gPiA+Cj4gPiA+ ID4gPiBCdXQgSSBndWVzcyB3ZSBjb3VsZCBmYWlybHkgZWFzaWx5IGFkZCB2a21zIGFzIG9uZSBv ZiB0aGUgbWFjaGluZXMKPiA+ID4gPiA+IHdlJ3JlIHRlc3RpbmcgdG8gaW50ZWwncyBDSSBmYXJt LCB3aGljaCBtZWFucyBldmVyeSBwYXRjaCBhbmQgZXZlcnkKPiA+ID4gPiA+IGNvbW1pdCBnZXRz IGF0IGxlYXN0IHRlc3RlZCBvbiBub24taTkxNSwgYW5kIHlvdSdsbCBnZXQgdG9ucyBvZiBkYXRh Cj4gPiA+ID4gPiBvZiB3aGljaCB0ZXN0cyBibG93IHVwLCBhbmQgZXZlbiBtb3JlIHdoaWNoIHdp bGwganVzdCBza2lwIChkdWUgdG8KPiA+ID4gPiA+IGxhY2sgb2YgZmVhdHVyZXMgb24gdmttcycg c2lkZSkuIFdlIGRpZCBoYXZlIHRoYXQgc2l0dWF0aW9uIGEgd2hpbGUKPiA+ID4gPiA+IGJhY2sg d2l0aCBhbWRncHUgYW5kIGtibC1nICh0aGUgaW50ZWwrYW1kIGdwdSdzIGNoaXApLCBidXQgb25s eSBieQo+ID4gPiA+ID4gYWNjaWRlbnQgKHdlIGRvIHN0aWxsIHJ1biBpOTE1K2FtZGdwdSBidWZm ZXIgc2hhcmluZyB0ZXN0cywgc2luY2Ugd2UKPiA+ID4gPiA+IGNhcmUgYWJvdXQgdGhhdCkuIFRv b2sgdXMgYSB3aGlsZSB0byByZWFsaXplIHRoYXQgaWd0IHByZWZlcnJlZAo+ID4gPiA+ID4gcnVu bmluZyBvbiBhbWRncHUgc29tZWhvdy4gUnVubmluZyByYW5kb20gbm9uLWk5MTUgY2hpcHMgaW4g b3VyIENJCj4gPiA+ID4gPiBmYXJtIGlzbid0IHNvbWV0aGluZyB0aGF0J2xsIGhhcHBlbiwgYnV0 IHZrbXMgc2hvdWxkIG5vdCBiZSBoYXJkIHRvCj4gPiA+ID4gPiBzZXQgdXAgYW5kIGdldCBnb2lu Zy4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBXb3VsZCB0aGF0IGJlIHVzZWZ1bCBpZiB3ZSBnZXQgdGhh dCBkb25lIGZpcnN0Pwo+ID4gPiA+Cj4gPiA+ID4gU3VyZSwgdGhhdCB3b3VsZCBiZSB1c2VmdWwu IEknbSBub3QgZXZlbiBzYXlpbmcgSSB3YW50IGl0IGluIENJCj4gPiA+ID4gdGhvdWdoLCBqdXN0 IGZvciBzb21lIHBlb3BsZSB3aG8gYXJlbid0IEBpbnRlbC5jb20gdG8gdHJ5IGl0IG9uIHRoZWly Cj4gPiA+ID4gSFcgYW5kIHNheSAid29ya3MgZm9yIG1lIi4KPiA+ID4KPiA+ID4gVGhlcmUncyBh IHByZXR0eSBodWdlIGRpZmZlcmVuY2UgYmV0d2VlbiAiSSB3YW50IGFja3MgZnJvbSBvdGhlcgo+ ID4gPiBwZW9wbGUiIGFuZCAieW91IG5lZWQgdG8gcHJvdmUgdGhpcyB3b3JrcyBldmVyeXdoZXJl IiAuLi4gVGhlIHByb3ZlCj4gPiA+IHRoaW5nIHByZXR0eSBtdWNoIHJlcXVpcmVzIENJLCBvciBp dCdzIGltbyBub3QgcmVhbGx5IGFueXdoZXJlIG5lYXIKPiA+ID4gcHJvdmluZy4KPiA+Cj4gPiBN eSAkMC4wMiBzaW5jZSBteSBpbnRlcmVzdHMgYXJlOgo+ID4gLSBNYWtlIHN1cmUgYWxsIG9mIG91 ciAoQ3JPUykgcGxhdGZvcm1zIGFyZSB3ZWxsLXRlc3RlZCwgYW5kCj4gPiAtIEVuc3VyZSBuZXcg ZmVhdHVyZXMgY2FuIGJlIG1lcmdlZCB1cHN0cmVhbSB3aXRob3V0IHRvbyBtdWNoIG92ZXJoZWFk Cj4gPgo+ID4gTXkgaW5pdGlhbCByZWFjdGlvbiB3YXMgdGhlIHNhbWUgYXMgQnJpYW4ncy4gSSd2 ZSAiYnJvdWdodCB1cCIgaWd0IG9uIGEgbm9uLWk5MTUKPiA+IGRldmljZSBhbmQgaXQgd2FzIGEg Yml0IG9mIGEgaG9ycm9yIHNob3csIGJ1dCBJIG1hbmFnZWQgdG8gZ2V0IHRoZSB0ZXN0IEkgd2Fu dGVkCj4gPiBydW5uaW5nIGFuZCBsaXQgdGhlIGRldmljZSBvbiBmaXJlIGFmdGVyd2FyZHMuIFNp bmNlIHRoZW4gYXQgbGVhc3QgdGhlIHRvb2xjaGFpbgo+ID4gaGFzIGJlZW4gZml4ZWQgYW5kIGln dCBidWlsZHMsIHNvIHRoYXQncyBuaWNlLgo+ID4KPiA+IFRoYXQgc2FpZCwgdGhlIGNvdW50ZXJh cmd1bWVudHMgcHJlc2VudGVkIGhhdmUgYmVlbiBwcmV0dHkgaHlwb3RoZXRpY2FsLiBJIGdldAo+ ID4gdGhhdCBjcmMgaXMgYSBwYWluIGZvciBBUk0gKEFybT8gYXJtPyBhUm0/KSwgYnV0IGl0IHNl ZW1zIGxpa2UgYSB3b3J0aHdoaWxlCj4gPiBpbnZlc3RtZW50IHRvIGdldCBpdCB3b3JraW5nIHNv IHRoYXQgdGhleSBjYW4gbGV2ZXJhZ2UgaWd0LiBFdmVuIGlmIGNyYwo+ID4gZ2VuZXJhdGlvbiBp cyBsYWdneS4gSWYsIGh5cG90aGV0aWNhbGx5LCBBUk0gaGFzIGEgbmV3IGZlYXR1cmUgdGhhdCBy ZXF1aXJlcyBhbgo+ID4gaWd0IHRlc3QgdXNpbmcgY3JjLCBpdCBzZWVtcyBsaWtlIGEgZ29vZCB0 aW1lIHRvIGdldCBjcmMgd29ya2luZyBzbyB0aGUgbmV3Cj4gPiBmZWF0dXJlIGNhbiBiZSBwcm92 ZW4gb3V0Lgo+ID4KPiA+IEkgdGhpbmsgd2Ugc2hvdWxkIGF0IGxlYXN0IGhhdmUgYSBzb2xpZCBw bGFuIGZvciBjcmMgZ2VuZXJhdGlvbiBvbiBBUk0gKHRoYXQgQVJNCj4gPiBpcyBoYXBweSB3aXRo KSBiZWZvcmUgcmVxdWlyaW5nIGlndCBhY3Jvc3MgdGhlIGJvYXJkLiBUaGF0IGNhbiBiZSB0cmFu c2xhdGVkIHRvCj4gPiBhIFRPRE8sIGFuZCBwZXJoYXBzIHNvbWVvbmUgd2lsbCBiZSBpbnRlcmVz dGVkIGluIHBpY2tpbmcgdGhhdCB1cC4KPiAKPiBPbmUgdGhpbmcgdG8ga2VlcCBpbiBtaW5kIGlz IHRoYXQgdGhpcyBpcyBvbmx5IGFib3V0IF9uZXdfIGZlYXR1cmVzLgo+IEluIG15IGV4cGVyaWVu Y2UgKGFuZCBJIGtpbGxlZCBhIGZhaXIgc2hhcmUgb2YgaW50ZXJuYWwgdGVzdCBzdWl0ZXMpCj4g dGhhdCdzIHRoZSBvbmx5IHdheSB0byBnZXQgb3V0IG9mIHRoZSBjaGlja2VuJmVnZyBwcm9ibGVt IGlmIHlvdSBoYXZlCj4gYSBsYXJnZSBwcm9qZWN0IHdpdGhvdXQgYSB0ZXN0IHN1aXRlLiBUaGUg c2Vjb25kIHlvdSBzdGFydCByZXF1aXJpbmcKPiB0aGF0IHRoZSB0ZXN0cyB3b3JrIGV2ZW4gb24g b2xkIHN0dWZmLCBhbmQgaGF2ZSBnb29kIGNvdmVyYWdlIG9uCj4gZXhpc3RpbmcgZmVhdHVyZXMg eW91ciB0ZXN0IHN1aXRlIGlzIGRlYWQ6Cj4gLSBubyBvbmUgaXMgZ29pbmcgdG8gYWJhbmRvbiB0 aGVpciBpbnZlc3RlbWVudCBpbnRvIGV4aXN0aW5nIHRlc3Qgc3VpdGVzCj4gLSBubyBvbmUgaXMg Z29pbmcgdG8gYmUgYWJsZSB0byBhZmZvcmQgcmV3cml0aW5nIHRoZWlyIGV4aXN0aW5nIHRlc3Rz IGluIG9uZSBnbwo+IC0gbm8gb25lIGlzIGdvaW5nIHRvIGZpeCBhbGwgdGhlIGJ1Z3MgdGhpcyB3 aWxsIHVuY292ZXIKPiAKPiBTbyByZXF1aXJpbmcgdGhhdCBpZ3Qgd29ya3MgZm9yIGV2ZXJ5b25l IGtpbGxzIHRoaXMgaWRlYSBvZiBoYXZpbmcgYQo+IHNoYXJlZCB0ZXN0IHN1aXRlIGZvciBrbXMu IFdoaWNoIEkgdGhpbmsgd291bGRuJ3QgYmUgZ3JlYXQsIGJ1dCBJJ20KPiBhbHNvIG5vdCBnb2lu ZyB0byBwdXNoIGZvciB0aGlzIGlmIHRoaXMgaXMgaG93IHRoZSBjb21tdW5pdHkgb3ZlcmFsbAo+ IGZlZWxzIGxpa2UuCgpTb3JyeSBmb3IgcmVzdXJlY3RpbmcgdGhpcyB0aHJlYWQsIEkgd2FzIG9u IGhvbGlkYXkgZm9yIGEgd2VlayBidXQgSQp3YW50IHRvIGtlZXAgbXkgcHJvbWlzZSBvZiBrZWVw aW5nIERhbmllbCBvbiBhbiBob25lc3QgcGF0aCBhcyBhIERSTQpjby1tYWludGFpbmVyOgoKRGFu aWVsLCBpZiB5b3UgaGFkIHRoYXQgcHJldmlvdXMgZXhwZXJpZW5jZSBhbmQgaWYgeW91IGtub3cv a25ldyB0aGF0CiJyZXF1aXJpbmcgdGhhdCBpZ3Qgd29ya3MgZm9yIGV2ZXJ5b25lIHdvdWxkIGtp bGwgdGhlIGlkZWEiLCBJIHRoaW5rIHlvdQpzaG91bGQgaGF2ZSBiZWVuIG1vcmUgY2xlYXIgYW5k IGZvcnRoY29taW5nIHdpdGggdGhlIGluZm9ybWF0aW9uIGFuZAphbHNvIG1hZGUgaXQgbW9yZSBl eHBsaWNpdCB0aGF0IHlvdSdyZSB0cnlpbmcgdG8gZ2V0ICpzb21ldGhpbmcqIGluIHBsYWNlCmFu ZCB0aGF0IG1lYW5zIGJlaW5nIGZvcmdpdmluZyB3aXRoIHRoZSBwYXN0IGJ1dCBsZXNzIHNvIHdp dGggdGhlIGZ1dHVyZQpBUElzLiBJdCB3b3VsZCBoYXZlIGN1dCB0cmVtZW5kb3VzbHkgb24gdGhl IG51bWJlciBvZiBtZXNzYWdlcyBleGNoYW5nZWQKYmV0d2VlbiBBcm0tc2lkZSBhbmQgeW91LgoK V2l0aG91dCBiZWluZyBqdWRnZW1lbnRhbCwgZnJvbSBteSBzaWRlIEknbSBzZWVpbmcgYSBkaXNj b25uZWN0IGJldHdlZW4Kd2hhdCBpcyBiZWluZyBjbGFpbWVkIHRoYXQgaWd0IGNhbiBkbyB0b2Rh eSBhbmQgd2hhdCBJIGtub3cgSSBjYW4gZXh0cmFjdApmcm9tIGlndCBvbiBteSBkcml2ZXIuIEFz IGEgcmVzdWx0LCBpdCBtYWtlcyBtZSB3b25kZXIgaWYgaXQgaXMganVzdCB0aGUKQXJtLWRldmVs b3BlZCBkcml2ZXJzJyBwcm9ibGVtIG9yIGlzIGl0IHRydWUgZm9yIG1vc3Qgb2YgdGhlIG5vbi1Q QyBkcml2ZXJzLgpUaGF0IHdhcyB0aGUgcmVhc29uIGZvciBhc2tpbmcgZm9yIHJlc3VsdHMgZnJv bSBvdGhlciBkcml2ZXJzOiBzbyB0aGF0IHdlCmtub3cgd2hlcmUgd2UgYXJlIGFuZCBwbGFuIGZv ciBjaGFuZ2UuIEkgb2J2aW91c2x5IGRvbid0IHdhbnQgdG8gYmUgbGVmdApiZWhpbmQgYnV0IEkg YWxzbyBmYWNlIHRoZSByZWFsaXR5IHRoYXQgYmVpbmcgb25lIG9mIHRoZSBmaXJzdCB0byBiZW5k IGlndAp0byB3b3JrIG9uIG15IHBsYXRmb3JtcyByZXF1aXJlcyBlZmZvcnQgdGhhdCBJIG5lZWQg dG8ganVzdGlmeSB0byBteSBtYW5hZ2VtZW50LgpBbmQgSSBjYW4gb25seSBkbyBzbyB3aGVuIEkg aGF2ZSBpbmZvcm1hdGlvbiByZWFkaWx5IGF0IG15IGRpc3Bvc2FsIHNvIHRoYXQKSSBjYW4gcG9p bnQgdGhlbSB0byBzb21lIHRlc3QgcnVucyB0aGF0IHNob3cgdGhhdCBvdGhlcnMgYXJlIGRvaW5n IGJldHRlciB0aGFuCnVzLCBvciB0aGF0IHdlIGFyZSBmYWlsaW5nIGluIGltcG9ydGFudCBhcmVh cy4gV2UncmUgbm90IHRyeWluZyB0byBob2xkCmFueW9uZSBob3N0YWdlLCBub3IgdHJ5aW5nIHRv IGtpbGwgdGhlIGlkZWEuIFdlIGp1c3QgbmVlZCBjb2xsYWJvcmF0aW9uCmFuZCBmYWlyIGdyb3Vu ZHMuCgpUaGF0IGJlaW5nIHNhaWQsIGlmIHlvdSBmZWVsIHRoYXQgdGhpcyB0aHJlYWQgaGFzIGRy YWdnZWQgb24gZm9yIHRvbyBsb25nLApwbGVhc2UgaWdub3JlIHRoaXMgcmVwbHkgZXZlbiBpZiBJ IHdpbGwgdXNlIGl0IGluIHRoZSBmdXR1cmUgZm9yIHJlZmVyZW5jZSA7KQoKSSB3b3VsZCBhbHNv IGxpa2UgdG8gYWRkIHRoYXQgSSdtIGhhcHB5IHdpdGggdGhlIHJlc29sdXRpb24gcHJlc2VudGVk IGxhc3QKd2Vlaywgd2hlbiBpdCB3YXMgYWdyZWVkIHRoYXQgdGhlIGNoYW5nZSBzaG91bGQgc2F5 ICJzaG91bGQiIGFuZCBhbHNvIGNvbnRhaW4Kc29tZSBibHVyYiBhYm91dCB0aGUgaWd0IHRlc3Rz IGJlaW5nIGNyZWF0ZWQgZm9yIEFQSSBjaGFuZ2VzICJ3aGVuIGFwcHJvcHJpYXRlIi4KCkJlc3Qg cmVnYXJkcywKTGl2aXUKCj4gCj4gVGhlIG9ubHkgdGhpbmcgdGhhdCB3b3JrcyBpcyBsaW1pdGlu ZyB5b3Vyc2VsZiBvbiBuZXcgc3R1ZmYgb25seSwgYW5kCj4gcHJldGVuZGluZyB0aGUgdGhlIGV4 aXN0aW5nIGR1bXBzdGVyIGZpcmUgb2YgdW50ZXN0ZWQgZmVhdHVyZXMsIGJyb2tlbgo+IGRyaXZl cnMgYW5kIG5vdC1nZW5lcmljIGVub3VnaCB0ZXN0cyBkb2Vzbid0IGV4aXN0LiBBbmQgSSB0aGlu ayBpZ3QKPiBmb3Igbm9uLWk5MTUgZHJpdmVycyBpcyBpbiBhIG11Y2ggYmV0dGVyIHNoYXBlIHRo YW4gaWd0IHdhcyA1KyB5ZWFycwo+IGFnbyB3aGVuIHdlIG1hZGUgaXQgbWFuZGF0b3J5IGZvciBh bnl0aGluZyBpbnRlbCBkb2VzIGluIHRoZSBrZXJuZWwuCj4gT3ZlciB0aGUgY291cnNlIG9mIHRo ZSBwYXN0IDUgeWVhcnMgd2UndmUgbWFuYWdlZCB0byBtb3N0bHkgYWRkcmVzcwo+IHRoZSBnYXBz IGluIGlndCBmcm9tIGFuIGludGVsIHBvdi4gSSB0aGluayB0aGF0J3MgYWJvdXQgdGhlIHNhbWUg dGltZQo+IEkgZXhwZWN0IGFueW9uZSBlbHNlIHN3aXRjaGluZyBvdmVyIHRvIGlndCB3aWxsIG5l ZWQgdG8gZnVsbHkgZ2V0IHJpZAo+IG9mIHRoZWlyIGV4aXN0aW5nIHRlc3Qgc3VpdGUgYW5kIGlu dGVncmF0ZWQgaXQgYWxsIGludG8gaWd0LiBTbyBhZ2FpbjoKPiBSZXF1aXJpbmcgdGhhdCB3b3Jr IGZpcnN0IGp1c3QgbWVhbnMgd2UgcGVycGV0dWFsbHkgcG9zdHBvbmUgaGF2aW5nIGEKPiBzaGFy ZWQgdGVzdCBzdWl0ZSBieSA1IHllYXJzLCBmb3JldmVyICh0aGVyZSdzIGdvaW5nIHRvIGJlIG5l dyBkcml2ZXJzCj4gd2hpY2ggdGhlbiBhZ2FpbiB3b250IHdvcmsgd2l0aCBpZ3QpLiBBbmQgbW9z dCBsaWtlbHkgaXQgd29uJ3QgaGFwcGVuLAo+IGJlY2F1c2UgdGhlcmUncyBubyBpbmNlbnRpdmUg dG8gc3dpdGNoIG92ZXIgYXQgYWxsLgo+IC1EYW5pZWwKPiAtLSAKPiBEYW5pZWwgVmV0dGVyCj4g U29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gKzQxICgwKSA3OSAzNjUgNTcg NDggLSBodHRwOi8vYmxvZy5mZndsbC5jaAoKLS0gCj09PT09PT09PT09PT09PT09PT09CnwgSSB3 b3VsZCBsaWtlIHRvIHwKfCBmaXggdGhlIHdvcmxkLCAgfAp8IGJ1dCB0aGV5J3JlIG5vdCB8Cnwg Z2l2aW5nIG1lIHRoZSAgIHwKIFwgc291cmNlIGNvZGUhICAvCiAgLS0tLS0tLS0tLS0tLS0tCiAg ICDCr1xfKOODhClfL8KvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=