From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff McGee Subject: Re: [Beignet] [Intel-gfx] [PATCH i-g-t v3] tests/core_getparams: Create new test core_getparams Date: Fri, 13 Mar 2015 09:51:57 -0700 Message-ID: <20150313165156.GL3263@jeffdesk> References: <1426192735-3306-1-git-send-email-jeff.mcgee@intel.com> <1426206385-4251-1-git-send-email-jeff.mcgee@intel.com> <20150313090945.GD21732@ivb-gt2-rev4> <20150313163241.GF3800@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20150313163241.GF3800@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org, beignet@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBNYXIgMTMsIDIwMTUgYXQgMDU6MzI6NDFQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBGcmksIE1hciAxMywgMjAxNSBhdCAwNTowOTo0NlBNICswODAwLCBaaGlnYW5n IEdvbmcgd3JvdGU6Cj4gPiBNeSBvbmx5IGNvbmNlcm4gaXMgYWJvdXQgdGhlIGZvbGxvd2luZyBt YWNyb3M6Cj4gPiAKPiA+ID4gKyNkZWZpbmUgTE9DQUxfSTkxNV9QQVJBTV9TVUJTTElDRV9UT1RB TCAgICAgIDMzCj4gPiA+ICsjZGVmaW5lIExPQ0FMX0k5MTVfUEFSQU1fRVVfVE9UQUwgICAgMzQK PiA+IAo+ID4gSG93IGFib3V0IHRvIGp1c3QgdXNlIHRoZSBkZWZpbml0b25zIGluIHRoZSBrZXJu ZWwgaGVhZGVyIGZpbGU/Cj4gPiBGb3IgYW4gZXhhbXBsZToKPiA+IAo+ID4gICAjaW5jbHVkZSA8 ZHJtL2k5MTVfZHJtLmg+Cj4gPiAKPiA+ICAgI2lmZGVmIExPQ0FMX0k5MTVfUEFSQU1fU1VCU0xJ Q0VfVE9UQUwKPiA+ICAgLy9QdXQgYWxsIHRoZSBjb2RlIGludG8gdGhpcyBibG9jay4KPiA+ICAg I2VuZGlmCj4gPiAKPiA+IFRoZW4gd2UgY2FuIGF2b2lkIHB1dCB0aGUgc2FtZSBkZWZpbml0aW9u cyBpbiBkaWZmZXJlbnQgZmlsZXMsCj4gPiBhbmQgd2UgY2FuIGF2b2lkIHVuZWNlc3NhcnkgdGVz dGluZyBvbiBhbiBvbGQga2VybmVsIHdoaWNoIGRvZXNuJ3QKPiA+IGhhdmUgdGhpcyBrZXJuZWwg aW50ZXJmYWNlLgo+ID4gCj4gPiBGb3IgYWxsIHRoZSBvdGhlciBwYXJ0LCBpdCBMR1RNLgo+ID4g Cj4gPiBSZXZpZXdlZC1ieTogWmhpZ2FuZyBHb25nIDx6aGlnYW5nLmdvbmdAbGludXguaW50ZWwu Y29tPgo+IAo+IE9uY2Ugd2UgdXBkYXRlIHRoZSBsaWJkcm0gcmVxdWlyZW1lbnRzIGluIGlndCB3 ZSB0ZW5kIHRvIGdvIGFyb3VuZCBhbmQKPiByZXBsYWNlIGFsbCB0aGUgbm93IG9ic29sZXRlIExP Q0FMXyBkZWZpbmVzLiBJbW8gbm90IHdvcnRoIGRvaW5nIGV4dHJhCj4gd29yayB1bnRpbCB0aGVu Lgo+IAo+IFBhdGNoIGFwcGxpZWQsIHRoYW5rcy4KPiAtRGFuaWVsCj4gCgpQYXRjaCBhcHBsaWVk PyBEbyB5b3Ugd2FudCBtZSB0byBtYWtlIHRoZSBuYW1lIGNoYW5nZSBmaXJzdD8gU2hvdWxkIHRo ZQprZXJuZWwgcGFydCBiZSByZXZpZXdlZCBhbmQgbWVyZ2VkIGZpcnN0PwotSmVmZgoKPiA+IAo+ ID4gVGhhbmtzLAo+ID4gWmhpZ2FuZyBHb25nLgo+ID4gCj4gPiBPbiBUaHUsIE1hciAxMiwgMjAx NSBhdCAwNToyNjoyNVBNIC0wNzAwLCBqZWZmLm1jZ2VlQGludGVsLmNvbSB3cm90ZToKPiA+ID4g RnJvbTogSmVmZiBNY0dlZSA8amVmZi5tY2dlZUBpbnRlbC5jb20+Cj4gPiA+IAo+ID4gPiBOZXcg dGVzdCBjb3JlX2dldHBhcmFtcyBjb25zaXN0cyBvZiAyIHN1YnRlc3RzLCBlYWNoIG9uZSB0ZXN0 aW5nCj4gPiA+IHRoZSBhYmlsaXR5IG9mIHVzZXJzcGFjZSB0byBxdWVyeSB0aGUgY29ycmVjdCB2 YWx1ZSBvZiBhIEdUIGNvbmZpZwo+ID4gPiBhdHRyaWJ1dGU6IHN1YnNsaWNlIHRvdGFsIG9yIEVV IHRvdGFsLiBkcm0vaTkxNSBpbXBsZW1lbnRhdGlvbiBvZgo+ID4gPiB0aGVzZSBxdWVyaWVzIGlz IHJlcXVpcmVkIGZvciBDaGVycnl2aWV3IGFuZCBHZW45KyBkZXZpY2VzIChub24tCj4gPiA+IHNp bXVsYXRlZCkuCj4gPiA+IAo+ID4gPiB2MjogRHVwbGljYXRlIHNtYWxsIGFtb3VudCBvZiBuZXcg bGliZHJtIGZ1bmN0aW9uYWxpdHkgdG8gYXZvaWQKPiA+ID4gICAgIGJ1bXBpbmcgbGliZHJtIHZl cnNpb24gcmVxdWlyZW1lbnQgKERhbmllbCkuIENvbnZlcnQgc29tZQo+ID4gPiAgICAgaWd0X2Fz c2VydHMgdG8gdGhlIGFwcHJvcHJpYXRlIGNvbXBhcmlzb24gdmFyaWFudHMuIEFkZCBhCj4gPiA+ ICAgICB0ZXN0IGRlc2NyaXB0aW9uLgo+ID4gPiB2MzogQWN0dWFsbHkgdXNlIHRoZSBMT0NBTCBH RVRQQVJBTSBkZWZpbmVzLiBPdGhlcndpc2UgY2FuJ3QgYnVpbGQKPiA+ID4gICAgIGFnYWluc3Qg b2xkZXIgbGliZHJtIGFzIGludGVuZGVkIGJ5IHYyLgo+ID4gPiAKPiA+ID4gRm9yOiBWSVotNDYz Ngo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBKZWZmIE1jR2VlIDxqZWZmLm1jZ2VlQGludGVsLmNvbT4K PiA+ID4gLS0tCj4gPiA+ICB0ZXN0cy8uZ2l0aWdub3JlICAgICAgIHwgICAxICsKPiA+ID4gIHRl c3RzL01ha2VmaWxlLnNvdXJjZXMgfCAgIDEgKwo+ID4gPiAgdGVzdHMvY29yZV9nZXRwYXJhbXMu YyB8IDE2NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Cj4gPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDE2OSBpbnNlcnRpb25zKCspCj4gPiA+ICBjcmVhdGUg bW9kZSAxMDA2NDQgdGVzdHMvY29yZV9nZXRwYXJhbXMuYwo+ID4gPiAKPiA+ID4gZGlmZiAtLWdp dCBhL3Rlc3RzLy5naXRpZ25vcmUgYi90ZXN0cy8uZ2l0aWdub3JlCj4gPiA+IGluZGV4IDQyNmNj NjcuLmM3NDIzMDggMTAwNjQ0Cj4gPiA+IC0tLSBhL3Rlc3RzLy5naXRpZ25vcmUKPiA+ID4gKysr IGIvdGVzdHMvLmdpdGlnbm9yZQo+ID4gPiBAQCAtMSw2ICsxLDcgQEAKPiA+ID4gICMgUGxlYXNl IGtlZXAgc29ydGVkIGFscGhhYmV0aWNhbGx5Cj4gPiA+ICBjb3JlX2dldF9jbGllbnRfYXV0aAo+ ID4gPiAgY29yZV9nZXRjbGllbnQKPiA+ID4gK2NvcmVfZ2V0cGFyYW1zCj4gPiA+ICBjb3JlX2dl dHN0YXRzCj4gPiA+ICBjb3JlX2dldHZlcnNpb24KPiA+ID4gIGRybV9pbXBvcnRfZXhwb3J0Cj4g PiA+IGRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIGIvdGVzdHMvTWFrZWZpbGUu c291cmNlcwo+ID4gPiBpbmRleCA1MWU4Mzc2Li45OTljOGY4IDEwMDY0NAo+ID4gPiAtLS0gYS90 ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4gPiA+ICsrKyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMK PiA+ID4gQEAgLTE1LDYgKzE1LDcgQEAgTk9VVkVBVV9URVNUU19NID0gXAo+ID4gPiAgCj4gPiA+ ICBURVNUU19wcm9nc19NID0gXAo+ID4gPiAgCWNvcmVfZ2V0X2NsaWVudF9hdXRoIFwKPiA+ID4g Kwljb3JlX2dldHBhcmFtcyBcCj4gPiA+ICAJZHJ2X3N1c3BlbmQgXAo+ID4gPiAgCWRydl9oYW5n bWFuIFwKPiA+ID4gIAlnZW1fYmFkX3JlbG9jIFwKPiA+ID4gZGlmZiAtLWdpdCBhL3Rlc3RzL2Nv cmVfZ2V0cGFyYW1zLmMgYi90ZXN0cy9jb3JlX2dldHBhcmFtcy5jCj4gPiA+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0Cj4gPiA+IGluZGV4IDAwMDAwMDAuLjI4NTVkMDYKPiA+ID4gLS0tIC9kZXYvbnVs bAo+ID4gPiArKysgYi90ZXN0cy9jb3JlX2dldHBhcmFtcy5jCj4gPiA+IEBAIC0wLDAgKzEsMTY3 IEBACj4gPiA+ICsvKgo+ID4gPiArICogQ29weXJpZ2h0IMKpIDIwMTQgSW50ZWwgQ29ycG9yYXRp b24KPiA+ID4gKyAqCj4gPiA+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ID4gPiArICogY29weSBvZiB0 aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29m dHdhcmUiKSwKPiA+ID4gKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJp Y3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KPiA+ID4gKyAqIHRoZSByaWdodHMg dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNl bnNlLAo+ID4gPiArICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRv IHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCj4gPiA+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNo ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+ID4gPiAr ICoKPiA+ID4gKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np b24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKPiA+ID4gKyAqIHBhcmFncmFwaCkgc2hhbGwg YmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUK PiA+ID4gKyAqIFNvZnR3YXJlLgo+ID4gPiArICoKPiA+ID4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQ Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9S Cj4gPiA+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJS QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPiA+ID4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAo+ID4g PiArICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkg Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKPiA+ID4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB TiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCj4gPiA+ICsg KiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUg VVNFIE9SIE9USEVSIERFQUxJTkdTCj4gPiA+ICsgKiBJTiBUSEUgU09GVFdBUkUuCj4gPiA+ICsg Kgo+ID4gPiArICogQXV0aG9yczoKPiA+ID4gKyAqICAgIEplZmYgTWNHZWUgPGplZmYubWNnZWVA aW50ZWwuY29tPgo+ID4gPiArICoKPiA+ID4gKyAqLwo+ID4gPiArCj4gPiA+ICsjaW5jbHVkZSA8 dW5pc3RkLmg+Cj4gPiA+ICsjaW5jbHVkZSA8ZXJybm8uaD4KPiA+ID4gKyNpbmNsdWRlIDx4Zjg2 ZHJtLmg+Cj4gPiA+ICsjaW5jbHVkZSA8aTkxNV9kcm0uaD4KPiA+ID4gKyNpbmNsdWRlICJkcm10 ZXN0LmgiCj4gPiA+ICsjaW5jbHVkZSAiaW50ZWxfY2hpcHNldC5oIgo+ID4gPiArI2luY2x1ZGUg ImludGVsX2J1Zm1nci5oIgo+ID4gPiArCj4gPiA+ICtJR1RfVEVTVF9ERVNDUklQVElPTigiVGVz dHMgdGhlIGV4cG9ydCBvZiBwYXJhbWV0ZXJzIHZpYSBEUk1fSU9DVExfSTkxNV9HRVRQQVJBTVxu Iik7Cj4gPiA+ICsKPiA+ID4gK2ludCBkcm1fZmQ7Cj4gPiA+ICtpbnQgZGV2aWQ7Cj4gPiA+ICsK PiA+ID4gK3N0YXRpYyB2b2lkCj4gPiA+ICtpbml0KHZvaWQpCj4gPiA+ICt7Cj4gPiA+ICsJZHJt X2ZkID0gZHJtX29wZW5fYW55KCk7Cj4gPiA+ICsJZGV2aWQgPSBpbnRlbF9nZXRfZHJtX2Rldmlk KGRybV9mZCk7Cj4gPiA+ICt9Cj4gPiA+ICsKPiA+ID4gK3N0YXRpYyB2b2lkCj4gPiA+ICtkZWlu aXQodm9pZCkKPiA+ID4gK3sKPiA+ID4gKwljbG9zZShkcm1fZmQpOwo+ID4gPiArfQo+ID4gPiAr Cj4gPiA+ICsjZGVmaW5lIExPQ0FMX0k5MTVfUEFSQU1fU1VCU0xJQ0VfVE9UQUwJMzMKPiA+ID4g KyNkZWZpbmUgTE9DQUxfSTkxNV9QQVJBTV9FVV9UT1RBTAkzNAo+ID4gPiArCj4gPiA+ICtzdGF0 aWMgaW50Cj4gPiA+ICtnZXRwYXJhbShpbnQgcGFyYW0sIGludCAqdmFsdWUpCj4gPiA+ICt7Cj4g PiA+ICsJZHJtX2k5MTVfZ2V0cGFyYW1fdCBncDsKPiA+ID4gKwlpbnQgcmV0Owo+ID4gPiArCj4g PiA+ICsJbWVtc2V0KCZncCwgMCwgc2l6ZW9mKGdwKSk7Cj4gPiA+ICsJZ3AudmFsdWUgPSB2YWx1 ZTsKPiA+ID4gKwlncC5wYXJhbSA9IHBhcmFtOwo+ID4gPiArCXJldCA9IGRybUlvY3RsKGRybV9m ZCwgRFJNX0lPQ1RMX0k5MTVfR0VUUEFSQU0sICZncCk7Cj4gPiA+ICsJaWYgKHJldCkKPiA+ID4g KwkJcmV0dXJuIC1lcnJubzsKPiA+ID4gKwo+ID4gPiArCXJldHVybiAwOwo+ID4gPiArfQo+ID4g PiArCj4gPiA+ICtzdGF0aWMgdm9pZAo+ID4gPiArc3Vic2xpY2VfdG90YWwodm9pZCkKPiA+ID4g K3sKPiA+ID4gKwl1bnNpZ25lZCBpbnQgc3Vic2xpY2VfdG90YWwgPSAwOwo+ID4gPiArCWludCBy ZXQ7Cj4gPiA+ICsKPiA+ID4gKwlyZXQgPSBnZXRwYXJhbShMT0NBTF9JOTE1X1BBUkFNX1NVQlNM SUNFX1RPVEFMLCAoaW50Kikmc3Vic2xpY2VfdG90YWwpOwo+ID4gPiArCj4gPiA+ICsJaWYgKHJl dCkgewo+ID4gPiArCQkvKgo+ID4gPiArCQkgKiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgcmVxdWly ZWQgdG8gaW1wbGVtZW50IHRoZQo+ID4gPiArCQkgKiBpbnRlcmZhY2UuIElmIHRoZXkgZG8gbm90 LCAtRU5PREVWIG11c3QgYmUgcmV0dXJuZWQuCj4gPiA+ICsJCSovCj4gPiA+ICsJCWlmICgoaW50 ZWxfZ2VuKGRldmlkKSA8IDgpIHx8Cj4gPiA+ICsJCSAgICBJU19CUk9BRFdFTEwoZGV2aWQpIHx8 Cj4gPiA+ICsJCSAgICBpZ3RfcnVuX2luX3NpbXVsYXRpb24oKSkgewo+ID4gPiArCQkJaWd0X2Fz c2VydF9lcShyZXQsIC1FTk9ERVYpOwo+ID4gPiArCQkJaWd0X2luZm8oInN1YnNsaWNlIHRvdGFs OiB1bmtub3duXG4iKTsKPiA+ID4gKwkJLyoKPiA+ID4gKwkJICogQWxsIG90aGVyIGRldmljZXMg bXVzdCBpbXBsZW1lbnQgdGhlIGludGVyZmFjZSwgc28KPiA+ID4gKwkJICogZmFpbCB0aGVtIGlm IHdlIGFyZSBoZXJlLgo+ID4gPiArCQkqLwo+ID4gPiArCQl9IGVsc2Ugewo+ID4gPiArCQkJaWd0 X2Fzc2VydF9uZXEocmV0LCBFSU5WQUwpOyAvKiByZXF1ZXN0IG5vdCByZWNvZ25pemVkPyAqLwo+ ID4gPiArCQkJaWd0X2Fzc2VydF9uZXEocmV0LCBFTk9ERVYpOyAvKiBkZXZpY2Ugbm90IHN1cHBv cnRlZD8gKi8KPiA+ID4gKwkJCWlndF9hc3NlcnRfZXEocmV0LCAwKTsgLyogb3RoZXIgZXJyb3I/ ICovCj4gPiA+ICsJCX0KPiA+ID4gKwl9IGVsc2Ugewo+ID4gPiArCQkvKgo+ID4gPiArCQkgKiBP biBzdWNjZXNzLCBqdXN0IG1ha2Ugc3VyZSB0aGUgcmV0dXJuZWQgY291bnQgdmFsdWUgaXMKPiA+ ID4gKwkJICogbm9uLXplcm8uIFRoZSB2YWxpZGl0eSBvZiB0aGUgY291bnQgdmFsdWUgZm9yIHRo ZSBnaXZlbgo+ID4gPiArCQkgKiBkZXZpY2UgaXMgbm90IGNoZWNrZWQuCj4gPiA+ICsJCSovCj4g PiA+ICsJCWlndF9hc3NlcnRfbmVxKHN1YnNsaWNlX3RvdGFsLCAwKTsKPiA+ID4gKwkJaWd0X2lu Zm8oInN1YnNsaWNlIHRvdGFsOiAldVxuIiwgc3Vic2xpY2VfdG90YWwpOwo+ID4gPiArCX0KPiA+ ID4gK30KPiA+ID4gKwo+ID4gPiArc3RhdGljIHZvaWQKPiA+ID4gK2V1X3RvdGFsKHZvaWQpCj4g PiA+ICt7Cj4gPiA+ICsJdW5zaWduZWQgaW50IGV1X3RvdGFsID0gMDsKPiA+ID4gKwlpbnQgcmV0 Owo+ID4gPiArCj4gPiA+ICsJcmV0ID0gZ2V0cGFyYW0oTE9DQUxfSTkxNV9QQVJBTV9FVV9UT1RB TCwgKGludCopJmV1X3RvdGFsKTsKPiA+ID4gKwo+ID4gPiArCWlmIChyZXQpIHsKPiA+ID4gKwkJ LyoKPiA+ID4gKwkJICogVGhlc2UgZGV2aWNlcyBhcmUgbm90IHJlcXVpcmVkIHRvIGltcGxlbWVu dCB0aGUKPiA+ID4gKwkJICogaW50ZXJmYWNlLiBJZiB0aGV5IGRvIG5vdCwgLUVOT0RFViBtdXN0 IGJlIHJldHVybmVkLgo+ID4gPiArCQkqLwo+ID4gPiArCQlpZiAoKGludGVsX2dlbihkZXZpZCkg PCA4KSB8fAo+ID4gPiArCQkgICAgSVNfQlJPQURXRUxMKGRldmlkKSB8fAo+ID4gPiArCQkgICAg aWd0X3J1bl9pbl9zaW11bGF0aW9uKCkpIHsKPiA+ID4gKwkJCWlndF9hc3NlcnRfZXEocmV0LCAt RU5PREVWKTsKPiA+ID4gKwkJCWlndF9pbmZvKCJFVSB0b3RhbDogdW5rbm93blxuIik7Cj4gPiA+ ICsJCS8qCj4gPiA+ICsJCSAqIEFsbCBvdGhlciBkZXZpY2VzIG11c3QgaW1wbGVtZW50IHRoZSBp bnRlcmZhY2UsIHNvCj4gPiA+ICsJCSAqIGZhaWwgdGhlbSBpZiB3ZSBhcmUgaGVyZS4KPiA+ID4g KwkJKi8KPiA+ID4gKwkJfSBlbHNlIHsKPiA+ID4gKwkJCWlndF9hc3NlcnRfbmVxKHJldCwgRUlO VkFMKTsgLyogcmVxdWVzdCBub3QgcmVjb2duaXplZD8gKi8KPiA+ID4gKwkJCWlndF9hc3NlcnRf bmVxKHJldCwgRU5PREVWKTsgLyogZGV2aWNlIG5vdCBzdXBwb3J0ZWQ/ICovCj4gPiA+ICsJCQlp Z3RfYXNzZXJ0X2VxKHJldCwgMCk7IC8qIG90aGVyIGVycm9yPyAqLwo+ID4gPiArCQl9Cj4gPiA+ ICsJfSBlbHNlIHsKPiA+ID4gKwkJLyoKPiA+ID4gKwkJICogT24gc3VjY2VzcywganVzdCBtYWtl IHN1cmUgdGhlIHJldHVybmVkIGNvdW50IHZhbHVlIGlzCj4gPiA+ICsJCSAqIG5vbi16ZXJvLiBU aGUgdmFsaWRpdHkgb2YgdGhlIGNvdW50IHZhbHVlIGZvciB0aGUgZ2l2ZW4KPiA+ID4gKwkJICog ZGV2aWNlIGlzIG5vdCBjaGVja2VkLgo+ID4gPiArCQkqLwo+ID4gPiArCQlpZ3RfYXNzZXJ0X25l cShldV90b3RhbCwgMCk7Cj4gPiA+ICsJCWlndF9pbmZvKCJFVSB0b3RhbDogJXVcbiIsIGV1X3Rv dGFsKTsKPiA+ID4gKwl9Cj4gPiA+ICt9Cj4gPiA+ICsKPiA+ID4gK3N0YXRpYyB2b2lkCj4gPiA+ ICtleGl0X2hhbmRsZXIoaW50IHNpZykKPiA+ID4gK3sKPiA+ID4gKwlkZWluaXQoKTsKPiA+ID4g K30KPiA+ID4gKwo+ID4gPiAraWd0X21haW4KPiA+ID4gK3sKPiA+ID4gKwlpZ3RfZml4dHVyZSB7 Cj4gPiA+ICsJCWlndF9pbnN0YWxsX2V4aXRfaGFuZGxlcihleGl0X2hhbmRsZXIpOwo+ID4gPiAr CQlpbml0KCk7Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICsJaWd0X3N1YnRlc3QoInN1YnNsaWNl LXRvdGFsIikKPiA+ID4gKwkJc3Vic2xpY2VfdG90YWwoKTsKPiA+ID4gKwo+ID4gPiArCWlndF9z dWJ0ZXN0KCJldS10b3RhbCIpCj4gPiA+ICsJCWV1X3RvdGFsKCk7Cj4gPiA+ICt9Cj4gPiA+IC0t IAo+ID4gPiAyLjMuMAo+ID4gPiAKPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiA+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gPiBJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiA+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4g PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gCj4gLS0gCj4gRGFuaWVsIFZl dHRlcgo+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgo+ICs0MSAoMCkgNzkg MzY1IDU3IDQ4IC0gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKPiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwo+IEJlaWduZXQgbWFpbGluZyBsaXN0Cj4gQmVpZ25l dEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vYmVpZ25ldApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=