From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH libdrm 05/11] tests: Move name tables to libutil Date: Sun, 25 Jan 2015 01:24:55 +0200 Message-ID: <2224555.u8x3AgUysX@avalon> References: <1422029304-1926-1-git-send-email-thierry.reding@gmail.com> <1422029304-1926-6-git-send-email-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [185.26.127.97]) by gabe.freedesktop.org (Postfix) with ESMTP id BA4D26E13F for ; Sat, 24 Jan 2015 15:24:20 -0800 (PST) In-Reply-To: <1422029304-1926-6-git-send-email-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgVGhpZXJyeSwKClRoYW5rIHlvdSBmb3IgdGhlIHBhdGNoLgoKT24gRnJpZGF5IDIzIEphbnVh cnkgMjAxNSAxNzowODoxOCBUaGllcnJ5IFJlZGluZyB3cm90ZToKPiBGcm9tOiBUaGllcnJ5IFJl ZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgo+IAo+IFRoZXNlIHRhYmxlcyBhcmUgZHVwbGljYXRl ZCBpbiBzZXZlcmFsIHBsYWNlcywgc28gbW92ZSB0aGVtIGludG8gbGlidXRpbAo+IHNvIHRoYXQg dGhleSBjYW4gYmUgc2hhcmVkLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFRoaWVycnkgUmVkaW5nIDx0 cmVkaW5nQG52aWRpYS5jb20+CgpBY2tlZC1ieTogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5w aW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgoKPiAtLS0KPiAgdGVzdHMvbW9kZXRlc3QvbW9kZXRl c3QuYyAgfCAgNTAgKystLS0tLS0tLS0tLS0tLS0tLQo+ICB0ZXN0cy9wcm9wdGVzdC9NYWtlZmls ZS5hbSB8ICAgNCArLQo+ICB0ZXN0cy9wcm9wdGVzdC9wcm9wdGVzdC5jICB8ICA0MCArLS0tLS0t LS0tLS0tLS0KPiAgdGVzdHMvdXRpbC9NYWtlZmlsZS5hbSAgICAgfCAgIDIgKwo+ICB0ZXN0cy91 dGlsL2ttcy5jICAgICAgICAgICB8IDEyMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKPiAgdGVzdHMvdXRpbC9rbXMuaCAgICAgICAgICAgfCAgMzMgKysrKysrKysr KysrCj4gIDYgZmlsZXMgY2hhbmdlZCwgMTY1IGluc2VydGlvbnMoKyksIDg2IGRlbGV0aW9ucygt KQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvdXRpbC9rbXMuYwo+ICBjcmVhdGUgbW9kZSAx MDA2NDQgdGVzdHMvdXRpbC9rbXMuaAo+IAo+IGRpZmYgLS1naXQgYS90ZXN0cy9tb2RldGVzdC9t b2RldGVzdC5jIGIvdGVzdHMvbW9kZXRlc3QvbW9kZXRlc3QuYwo+IGluZGV4IGI2MTA5NTZhZGZj Yi4uZDVmZDk5ZWJlMWZkIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL21vZGV0ZXN0L21vZGV0ZXN0LmMK PiArKysgYi90ZXN0cy9tb2RldGVzdC9tb2RldGVzdC5jCj4gQEAgLTYxLDYgKzYxLDcgQEAKPiAK PiAgI2luY2x1ZGUgInV0aWwvY29tbW9uLmgiCj4gICNpbmNsdWRlICJ1dGlsL2Zvcm1hdC5oIgo+ ICsjaW5jbHVkZSAidXRpbC9rbXMuaCIKPiAgI2luY2x1ZGUgInV0aWwvcGF0dGVybi5oIgo+IAo+ ICAjaW5jbHVkZSAiYnVmZmVycy5oIgo+IEBAIC0xMjMsMTEgKzEyNCw2IEBAIHN0YXRpYyBpbmxp bmUgaW50NjRfdCBVNjQySTY0KHVpbnQ2NF90IHZhbCkKPiAgCXJldHVybiAoaW50NjRfdCkqKChp bnQ2NF90ICopJnZhbCk7Cj4gIH0KPiAKPiAtc3RydWN0IHR5cGVfbmFtZSB7Cj4gLQlpbnQgdHlw ZTsKPiAtCWNvbnN0IGNoYXIgKm5hbWU7Cj4gLX07Cj4gLQo+ICAjZGVmaW5lIHR5cGVfbmFtZV9m bihyZXMpIFwKPiAgY29uc3QgY2hhciAqIHJlcyMjX3N0cihpbnQgdHlwZSkgewkJCVwKPiAgCXVu c2lnbmVkIGludCBpOwkJCQkJXAo+IEBAIC0xMzgsNDQgKzEzNCw2IEBAIGNvbnN0IGNoYXIgKiBy ZXMjI19zdHIoaW50IHR5cGUpIHsJCQlcCj4gIAlyZXR1cm4gIihpbnZhbGlkKSI7CQkJCVwKPiAg fQo+IAo+IC1zdHJ1Y3QgdHlwZV9uYW1lIGVuY29kZXJfdHlwZV9uYW1lc1tdID0gewo+IC0JeyBE Uk1fTU9ERV9FTkNPREVSX05PTkUsICJub25lIiB9LAo+IC0JeyBEUk1fTU9ERV9FTkNPREVSX0RB QywgIkRBQyIgfSwKPiAtCXsgRFJNX01PREVfRU5DT0RFUl9UTURTLCAiVE1EUyIgfSwKPiAtCXsg RFJNX01PREVfRU5DT0RFUl9MVkRTLCAiTFZEUyIgfSwKPiAtCXsgRFJNX01PREVfRU5DT0RFUl9U VkRBQywgIlRWREFDIiB9LAo+IC19Owo+IC0KPiAtc3RhdGljIHR5cGVfbmFtZV9mbihlbmNvZGVy X3R5cGUpCj4gLQo+IC1zdHJ1Y3QgdHlwZV9uYW1lIGNvbm5lY3Rvcl9zdGF0dXNfbmFtZXNbXSA9 IHsKPiAtCXsgRFJNX01PREVfQ09OTkVDVEVELCAiY29ubmVjdGVkIiB9LAo+IC0JeyBEUk1fTU9E RV9ESVNDT05ORUNURUQsICJkaXNjb25uZWN0ZWQiIH0sCj4gLQl7IERSTV9NT0RFX1VOS05PV05D T05ORUNUSU9OLCAidW5rbm93biIgfSwKPiAtfTsKPiAtCj4gLXN0YXRpYyB0eXBlX25hbWVfZm4o Y29ubmVjdG9yX3N0YXR1cykKPiAtCj4gLXN0cnVjdCB0eXBlX25hbWUgY29ubmVjdG9yX3R5cGVf bmFtZXNbXSA9IHsKPiAtCXsgRFJNX01PREVfQ09OTkVDVE9SX1Vua25vd24sICJ1bmtub3duIiB9 LAo+IC0JeyBEUk1fTU9ERV9DT05ORUNUT1JfVkdBLCAiVkdBIiB9LAo+IC0JeyBEUk1fTU9ERV9D T05ORUNUT1JfRFZJSSwgIkRWSS1JIiB9LAo+IC0JeyBEUk1fTU9ERV9DT05ORUNUT1JfRFZJRCwg IkRWSS1EIiB9LAo+IC0JeyBEUk1fTU9ERV9DT05ORUNUT1JfRFZJQSwgIkRWSS1BIiB9LAo+IC0J eyBEUk1fTU9ERV9DT05ORUNUT1JfQ29tcG9zaXRlLCAiY29tcG9zaXRlIiB9LAo+IC0JeyBEUk1f TU9ERV9DT05ORUNUT1JfU1ZJREVPLCAicy12aWRlbyIgfSwKPiAtCXsgRFJNX01PREVfQ09OTkVD VE9SX0xWRFMsICJMVkRTIiB9LAo+IC0JeyBEUk1fTU9ERV9DT05ORUNUT1JfQ29tcG9uZW50LCAi Y29tcG9uZW50IiB9LAo+IC0JeyBEUk1fTU9ERV9DT05ORUNUT1JfOVBpbkRJTiwgIjktcGluIERJ TiIgfSwKPiAtCXsgRFJNX01PREVfQ09OTkVDVE9SX0Rpc3BsYXlQb3J0LCAiRFAiIH0sCj4gLQl7 IERSTV9NT0RFX0NPTk5FQ1RPUl9IRE1JQSwgIkhETUktQSIgfSwKPiAtCXsgRFJNX01PREVfQ09O TkVDVE9SX0hETUlCLCAiSERNSS1CIiB9LAo+IC0JeyBEUk1fTU9ERV9DT05ORUNUT1JfVFYsICJU ViIgfSwKPiAtCXsgRFJNX01PREVfQ09OTkVDVE9SX2VEUCwgImVEUCIgfSwKPiAtfTsKPiAtCj4g LXN0YXRpYyB0eXBlX25hbWVfZm4oY29ubmVjdG9yX3R5cGUpCj4gLQo+ICAjZGVmaW5lIGJpdF9u YW1lX2ZuKHJlcykJCQkJCVwKPiAgY29uc3QgY2hhciAqIHJlcyMjX3N0cihpbnQgdHlwZSkgewkJ CQlcCj4gIAl1bnNpZ25lZCBpbnQgaTsJCQkJCQlcCj4gQEAgLTIzNSw3ICsxOTMsNyBAQCBzdGF0 aWMgdm9pZCBkdW1wX2VuY29kZXJzKHN0cnVjdCBkZXZpY2UgKmRldikKPiAgCQlwcmludGYoIiVk XHQlZFx0JXNcdDB4JTA4eFx0MHglMDh4XG4iLAo+ICAJCSAgICAgICBlbmNvZGVyLT5lbmNvZGVy X2lkLAo+ICAJCSAgICAgICBlbmNvZGVyLT5jcnRjX2lkLAo+IC0JCSAgICAgICBlbmNvZGVyX3R5 cGVfc3RyKGVuY29kZXItPmVuY29kZXJfdHlwZSksCj4gKwkJICAgICAgIHV0aWxfbG9va3VwX2Vu Y29kZXJfdHlwZV9uYW1lKGVuY29kZXItPmVuY29kZXJfdHlwZSksCj4gIAkJICAgICAgIGVuY29k ZXItPnBvc3NpYmxlX2NydGNzLAo+ICAJCSAgICAgICBlbmNvZGVyLT5wb3NzaWJsZV9jbG9uZXMp Owo+ICAJfQo+IEBAIC0zNzksOCArMzM3LDggQEAgc3RhdGljIHZvaWQgZHVtcF9jb25uZWN0b3Jz KHN0cnVjdCBkZXZpY2UgKmRldikKPiAgCQlwcmludGYoIiVkXHQlZFx0JXNcdCVzXHQlZHglZFx0 XHQlZFx0IiwKPiAgCQkgICAgICAgY29ubmVjdG9yLT5jb25uZWN0b3JfaWQsCj4gIAkJICAgICAg IGNvbm5lY3Rvci0+ZW5jb2Rlcl9pZCwKPiAtCQkgICAgICAgY29ubmVjdG9yX3N0YXR1c19zdHIo Y29ubmVjdG9yLT5jb25uZWN0aW9uKSwKPiAtCQkgICAgICAgY29ubmVjdG9yX3R5cGVfc3RyKGNv bm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUpLAo+ICsJCSAgICAgICB1dGlsX2xvb2t1cF9jb25uZWN0 b3Jfc3RhdHVzX25hbWUoY29ubmVjdG9yLT5jb25uZWN0aW9uKSwKPiArCQkgICAgICAgdXRpbF9s b29rdXBfY29ubmVjdG9yX3R5cGVfbmFtZShjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlKSwKPiAg CQkgICAgICAgY29ubmVjdG9yLT5tbVdpZHRoLCBjb25uZWN0b3ItPm1tSGVpZ2h0LAo+ICAJCSAg ICAgICBjb25uZWN0b3ItPmNvdW50X21vZGVzKTsKPiAKPiBkaWZmIC0tZ2l0IGEvdGVzdHMvcHJv cHRlc3QvTWFrZWZpbGUuYW0gYi90ZXN0cy9wcm9wdGVzdC9NYWtlZmlsZS5hbQo+IGluZGV4IGY4 MWEzYzAwODQ2Yi4uYzYxNTQ4OWI5YTkyIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL3Byb3B0ZXN0L01h a2VmaWxlLmFtCj4gKysrIGIvdGVzdHMvcHJvcHRlc3QvTWFrZWZpbGUuYW0KPiBAQCAtMSw1ICsx LDYgQEAKPiAgQU1fQ0ZMQUdTID0gXAo+ICAJLUkkKHRvcF9zcmNkaXIpL2luY2x1ZGUvZHJtIFwK PiArCS1JJCh0b3Bfc3JjZGlyKS90ZXN0cyBcCj4gIAktSSQodG9wX3NyY2RpcikKPiAKPiAgbm9p bnN0X1BST0dSQU1TID0gXAo+IEBAIC04LDQgKzksNSBAQCBub2luc3RfUFJPR1JBTVMgPSBcCj4g IHByb3B0ZXN0X1NPVVJDRVMgPSBcCj4gIAlwcm9wdGVzdC5jCj4gIHByb3B0ZXN0X0xEQUREID0g XAo+IC0JJCh0b3BfYnVpbGRkaXIpL2xpYmRybS5sYQo+ICsJJCh0b3BfYnVpbGRkaXIpL2xpYmRy bS5sYSBcCj4gKwkkKHRvcF9idWlsZGRpcikvdGVzdHMvdXRpbC9saWJ1dGlsLmxhCj4gZGlmZiAt LWdpdCBhL3Rlc3RzL3Byb3B0ZXN0L3Byb3B0ZXN0LmMgYi90ZXN0cy9wcm9wdGVzdC9wcm9wdGVz dC5jCj4gaW5kZXggZWUzZmE0MDhhMzEwLi5iNDQyZDU4M2Q1MjggMTAwNjQ0Cj4gLS0tIGEvdGVz dHMvcHJvcHRlc3QvcHJvcHRlc3QuYwo+ICsrKyBiL3Rlc3RzL3Byb3B0ZXN0L3Byb3B0ZXN0LmMK PiBAQCAtNDUsNDQgKzQ1LDYgQEAgc3RhdGljIGlubGluZSBpbnQ2NF90IFU2NDJJNjQodWludDY0 X3QgdmFsKQo+ICBpbnQgZmQ7Cj4gIGRybU1vZGVSZXNQdHIgcmVzID0gTlVMTDsKPiAKPiAtY29u c3QgY2hhciAqY29ubmVjdG9yX3R5cGVfc3RyKHVpbnQzMl90IHR5cGUpCj4gLXsKPiAtCXN3aXRj aCAodHlwZSkgewo+IC0JY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfVW5rbm93bjoKPiAtCQlyZXR1 cm4gIlVua25vd24iOwo+IC0JY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfVkdBOgo+IC0JCXJldHVy biAiVkdBIjsKPiAtCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0RWSUk6Cj4gLQkJcmV0dXJuICJE VkktSSI7Cj4gLQljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9EVklEOgo+IC0JCXJldHVybiAiRFZJ LUQiOwo+IC0JY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfRFZJQToKPiAtCQlyZXR1cm4gIkRWSS1B IjsKPiAtCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0NvbXBvc2l0ZToKPiAtCQlyZXR1cm4gIkNv bXBvc2l0ZSI7Cj4gLQljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9TVklERU86Cj4gLQkJcmV0dXJu ICJTVklERU8iOwo+IC0JY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUzoKPiAtCQlyZXR1cm4g IkxWRFMiOwo+IC0JY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfQ29tcG9uZW50Ogo+IC0JCXJldHVy biAiQ29tcG9uZW50IjsKPiAtCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SXzlQaW5ESU46Cj4gLQkJ cmV0dXJuICI5UGluRGluIjsKPiAtCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0Rpc3BsYXlQb3J0 Ogo+IC0JCXJldHVybiAiRGlzcGxheVBvcnQiOwo+IC0JY2FzZSBEUk1fTU9ERV9DT05ORUNUT1Jf SERNSUE6Cj4gLQkJcmV0dXJuICJIRE1JLUEiOwo+IC0JY2FzZSBEUk1fTU9ERV9DT05ORUNUT1Jf SERNSUI6Cj4gLQkJcmV0dXJuICJIRE1JLUIiOwo+IC0JY2FzZSBEUk1fTU9ERV9DT05ORUNUT1Jf VFY6Cj4gLQkJcmV0dXJuICJUViI7Cj4gLQljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9lRFA6Cj4g LQkJcmV0dXJuICJlRFAiOwo+IC0JZGVmYXVsdDoKPiAtCQlyZXR1cm4gIkludmFsaWQiOwo+IC0J fQo+IC19Cj4gLQo+ICAvKiBkdW1wX2Jsb2IgYW5kIGR1bXBfcHJvcCBzaGFtZWxlc3NseSBjb3Bp ZWQgZnJvbSAuLi9tb2RldGVzdC9tb2RldGVzdC5jCj4gKi8gc3RhdGljIHZvaWQKPiAgZHVtcF9i bG9iKHVpbnQzMl90IGJsb2JfaWQpCj4gQEAgLTIyNiw3ICsxODgsNyBAQCBzdGF0aWMgdm9pZCBs aXN0Q29ubmVjdG9yUHJvcGVydGllcyh2b2lkKQo+ICAJCX0KPiAKPiAgCQlwcmludGYoIkNvbm5l Y3RvciAldSAoJXMtJXUpXG4iLCBjLT5jb25uZWN0b3JfaWQsCj4gLQkJICAgICAgIGNvbm5lY3Rv cl90eXBlX3N0cihjLT5jb25uZWN0b3JfdHlwZSksCj4gKwkJICAgICAgIHV0aWxfbG9va3VwX2Nv bm5lY3Rvcl90eXBlX25hbWUoYy0+Y29ubmVjdG9yX3R5cGUpLAo+ICAJCSAgICAgICBjLT5jb25u ZWN0b3JfdHlwZV9pZCk7Cj4gCj4gIAkJbGlzdE9iamVjdFByb3BlcnRpZXMoYy0+Y29ubmVjdG9y X2lkLAo+IGRpZmYgLS1naXQgYS90ZXN0cy91dGlsL01ha2VmaWxlLmFtIGIvdGVzdHMvdXRpbC9N YWtlZmlsZS5hbQo+IGluZGV4IDFhMjUxOWZiZWE4OS4uYzAwNTc0NDg0ODY3IDEwMDY0NAo+IC0t LSBhL3Rlc3RzL3V0aWwvTWFrZWZpbGUuYW0KPiArKysgYi90ZXN0cy91dGlsL01ha2VmaWxlLmFt Cj4gQEAgLTEyLDYgKzEyLDggQEAgbGlidXRpbF9sYV9TT1VSQ0VTID0gXAo+ICAJY29tbW9uLmgg XAo+ICAJZm9ybWF0LmMgXAo+ICAJZm9ybWF0LmggXAo+ICsJa21zLmMgXAo+ICsJa21zLmggXAo+ ICAJcGF0dGVybi5jIFwKPiAgCXBhdHRlcm4uaAo+IAo+IGRpZmYgLS1naXQgYS90ZXN0cy91dGls L2ttcy5jIGIvdGVzdHMvdXRpbC9rbXMuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXgg MDAwMDAwMDAwMDAwLi5hMjcxY2EwNDdjNGUKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvdGVzdHMv dXRpbC9rbXMuYwo+IEBAIC0wLDAgKzEsMTIyIEBACj4gKy8qCj4gKyAqIENvcHlyaWdodCAyMDA4 IFR1bmdzdGVuIEdyYXBoaWNzCj4gKyAqICAgSmFrb2IgQm9ybmVjcmFudHogPGpha29iQHR1bmdz dGVuZ3JhcGhpY3MuY29tPgo+ICsgKiBDb3B5cmlnaHQgMjAwOCBJbnRlbCBDb3Jwb3JhdGlvbgo+ ICsgKiAgIEplc3NlIEJhcm5lcyA8amVzc2UuYmFybmVzQGludGVsLmNvbT4KPiArICoKPiArICog UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz b24gb2J0YWluaW5nIGEKPiArICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVk IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQo+ICJTb2Z0d2FyZSIpLCArICogdG8gZGVhbCBpbiB0 aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCj4gd2l0aG91dCBsaW1p dGF0aW9uICsgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlz aCwKPiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCArICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRo ZSBTb2Z0d2FyZSwgYW5kIHRvCj4gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgKyAqIFNvZnR3 YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwo+IHRoZSBmb2xsb3dpbmcgY29u ZGl0aW9uczogKyAqCj4gKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl cm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCj4gaW4gKyAqIGFsbCBjb3BpZXMgb3Ig c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgo+ICsgKgo+ICsgKiBUSEUgU09G VFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwg RVhQUkVTUwo+IE9SICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI RSBXQVJSQU5USUVTIE9GCj4gTUVSQ0hBTlRBQklMSVRZLCArICogRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KPiBJTiBOTyBFVkVOVCBTSEFMTCBU SEUgKyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKPiBD TEFJTSwgREFNQUdFUyBPUiBPVEhFUiArICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP TiBPRiBDT05UUkFDVCwKPiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyArICogRlJPTSwgT1VU IE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKPiBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9U SEVSIERFQUxJTkdTICsgKiBJTiBUSEUgU09GVFdBUkUuCj4gKyAqLwo+ICsKPiArLyoKPiArICog VGhpcyBmYWlybHkgc2ltcGxlIHRlc3QgcHJvZ3JhbSBkdW1wcyBvdXRwdXQgaW4gYSBzaW1pbGFy IGZvcm1hdCB0byB0aGUKPiArICogInhyYW5kciIgdG9vbCBldmVyeW9uZSBrbm93cyAmIGxvdmVz LiAgSXQncyBuZWNlc3NhcmlseSBzbGlnaHRseQo+IGRpZmZlcmVudCArICogc2luY2UgdGhlIGtl cm5lbCBzZXBhcmF0ZXMgb3V0cHV0cyBpbnRvIGVuY29kZXIgYW5kIGNvbm5lY3Rvcgo+IHN0cnVj dHVyZXMsICsgKiBlYWNoIHdpdGggdGhlaXIgb3duIHVuaXF1ZSBJRC4gIFRoZSBwcm9ncmFtIGFs c28gYWxsb3dzCj4gdGVzdCB0ZXN0aW5nIG9mIHRoZSArICogbWVtb3J5IG1hbmFnZW1lbnQgYW5k IG1vZGUgc2V0dGluZyBBUElzIGJ5IGFsbG93aW5nCj4gdGhlIHVzZXIgdG8gc3BlY2lmeSBhICsg KiBjb25uZWN0b3IgYW5kIG1vZGUgdG8gdXNlIGZvciBtb2RlIHNldHRpbmcuICBJZgo+IGFsbCB3 b3JrcyBhcyBleHBlY3RlZCwgYSArICogYmx1ZSBiYWNrZ3JvdW5kIHNob3VsZCBiZSBwYWludGVk IG9uIHRoZQo+IG1vbml0b3IgYXR0YWNoZWQgdG8gdGhlIHNwZWNpZmllZCArICogY29ubmVjdG9y IGFmdGVyIHRoZSBzZWxlY3RlZCBtb2RlIGlzCj4gc2V0Lgo+ICsgKgo+ICsgKiBUT0RPOiB1c2Ug Y2Fpcm8gdG8gd3JpdGUgdGhlIG1vZGUgaW5mbyBvbiB0aGUgc2VsZWN0ZWQgb3V0cHV0IG9uY2UK PiArICogICAgICAgdGhlIG1vZGUgaGFzIGJlZW4gcHJvZ3JhbW1lZCwgYWxvbmcgd2l0aCBwb3Nz aWJsZSB0ZXN0IHBhdHRlcm5zLgo+ICsgKi8KPiArCj4gKyNpZmRlZiBIQVZFX0NPTkZJR19ICj4g KyNpbmNsdWRlICJjb25maWcuaCIKPiArI2VuZGlmCj4gKwo+ICsjaW5jbHVkZSA8c3RkaW50Lmg+ Cj4gKyNpbmNsdWRlIDxzdGRsaWIuaD4KPiArCj4gKyNpbmNsdWRlICJ4Zjg2ZHJtTW9kZS5oIgo+ ICsKPiArI2luY2x1ZGUgImNvbW1vbi5oIgo+ICsKPiArc3RydWN0IHR5cGVfbmFtZSB7Cj4gKwl1 bnNpZ25lZCBpbnQgdHlwZTsKPiArCWNvbnN0IGNoYXIgKm5hbWU7Cj4gK307Cj4gKwo+ICtzdGF0 aWMgY29uc3QgY2hhciAqdXRpbF9sb29rdXBfdHlwZV9uYW1lKHVuc2lnbmVkIGludCB0eXBlLAo+ ICsJCQkJCSBjb25zdCBzdHJ1Y3QgdHlwZV9uYW1lICp0YWJsZSwKPiArCQkJCQkgdW5zaWduZWQg aW50IGNvdW50KQo+ICt7Cj4gKwl1bnNpZ25lZCBpbnQgaTsKPiArCj4gKwlmb3IgKGkgPSAwOyBp IDwgY291bnQ7IGkrKykKPiArCQlpZiAodGFibGVbaV0udHlwZSA9PSB0eXBlKQo+ICsJCQlyZXR1 cm4gdGFibGVbaV0ubmFtZTsKPiArCj4gKwlyZXR1cm4gTlVMTDsKPiArfQo+ICsKPiArc3RhdGlj IGNvbnN0IHN0cnVjdCB0eXBlX25hbWUgZW5jb2Rlcl90eXBlX25hbWVzW10gPSB7Cj4gKwl7IERS TV9NT0RFX0VOQ09ERVJfTk9ORSwgIm5vbmUiIH0sCj4gKwl7IERSTV9NT0RFX0VOQ09ERVJfREFD LCAiREFDIiB9LAo+ICsJeyBEUk1fTU9ERV9FTkNPREVSX1RNRFMsICJUTURTIiB9LAo+ICsJeyBE Uk1fTU9ERV9FTkNPREVSX0xWRFMsICJMVkRTIiB9LAo+ICsJeyBEUk1fTU9ERV9FTkNPREVSX1RW REFDLCAiVFZEQUMiIH0sCj4gKwl7IERSTV9NT0RFX0VOQ09ERVJfVklSVFVBTCwgIlZpcnR1YWwi IH0sCj4gKwl7IERSTV9NT0RFX0VOQ09ERVJfRFNJLCAiRFNJIiB9LAo+ICsJeyBEUk1fTU9ERV9F TkNPREVSX0RQTVNULCAiRGlzcGxheVBvcnQgTVNUIiB9LAo+ICt9Owo+ICsKPiArY29uc3QgY2hh ciAqdXRpbF9sb29rdXBfZW5jb2Rlcl90eXBlX25hbWUodW5zaWduZWQgaW50IHR5cGUpCj4gK3sK PiArCXJldHVybiB1dGlsX2xvb2t1cF90eXBlX25hbWUodHlwZSwgZW5jb2Rlcl90eXBlX25hbWVz LAo+ICsJCQkJICAgICBBUlJBWV9TSVpFKGVuY29kZXJfdHlwZV9uYW1lcykpOwo+ICt9Cj4gKwo+ ICtzdGF0aWMgY29uc3Qgc3RydWN0IHR5cGVfbmFtZSBjb25uZWN0b3Jfc3RhdHVzX25hbWVzW10g PSB7Cj4gKwl7IERSTV9NT0RFX0NPTk5FQ1RFRCwgImNvbm5lY3RlZCIgfSwKPiArCXsgRFJNX01P REVfRElTQ09OTkVDVEVELCAiZGlzY29ubmVjdGVkIiB9LAo+ICsJeyBEUk1fTU9ERV9VTktOT1dO Q09OTkVDVElPTiwgInVua25vd24iIH0sCj4gK307Cj4gKwo+ICtjb25zdCBjaGFyICp1dGlsX2xv b2t1cF9jb25uZWN0b3Jfc3RhdHVzX25hbWUodW5zaWduZWQgaW50IHN0YXR1cykKPiArewo+ICsJ cmV0dXJuIHV0aWxfbG9va3VwX3R5cGVfbmFtZShzdGF0dXMsIGNvbm5lY3Rvcl9zdGF0dXNfbmFt ZXMsCj4gKwkJCQkgICAgIEFSUkFZX1NJWkUoY29ubmVjdG9yX3N0YXR1c19uYW1lcykpOwo+ICt9 Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHR5cGVfbmFtZSBjb25uZWN0b3JfdHlwZV9uYW1l c1tdID0gewo+ICsJeyBEUk1fTU9ERV9DT05ORUNUT1JfVW5rbm93biwgInVua25vd24iIH0sCj4g Kwl7IERSTV9NT0RFX0NPTk5FQ1RPUl9WR0EsICJWR0EiIH0sCj4gKwl7IERSTV9NT0RFX0NPTk5F Q1RPUl9EVklJLCAiRFZJLUkiIH0sCj4gKwl7IERSTV9NT0RFX0NPTk5FQ1RPUl9EVklELCAiRFZJ LUQiIH0sCj4gKwl7IERSTV9NT0RFX0NPTk5FQ1RPUl9EVklBLCAiRFZJLUEiIH0sCj4gKwl7IERS TV9NT0RFX0NPTk5FQ1RPUl9Db21wb3NpdGUsICJjb21wb3NpdGUiIH0sCj4gKwl7IERSTV9NT0RF X0NPTk5FQ1RPUl9TVklERU8sICJzLXZpZGVvIiB9LAo+ICsJeyBEUk1fTU9ERV9DT05ORUNUT1Jf TFZEUywgIkxWRFMiIH0sCj4gKwl7IERSTV9NT0RFX0NPTk5FQ1RPUl9Db21wb25lbnQsICJjb21w b25lbnQiIH0sCj4gKwl7IERSTV9NT0RFX0NPTk5FQ1RPUl85UGluRElOLCAiOS1waW4gRElOIiB9 LAo+ICsJeyBEUk1fTU9ERV9DT05ORUNUT1JfRGlzcGxheVBvcnQsICJEUCIgfSwKPiArCXsgRFJN X01PREVfQ09OTkVDVE9SX0hETUlBLCAiSERNSS1BIiB9LAo+ICsJeyBEUk1fTU9ERV9DT05ORUNU T1JfSERNSUIsICJIRE1JLUIiIH0sCj4gKwl7IERSTV9NT0RFX0NPTk5FQ1RPUl9UViwgIlRWIiB9 LAo+ICsJeyBEUk1fTU9ERV9DT05ORUNUT1JfZURQLCAiZURQIiB9LAo+ICsJeyBEUk1fTU9ERV9D T05ORUNUT1JfVklSVFVBTCwgIlZpcnR1YWwiIH0sCj4gKwl7IERSTV9NT0RFX0NPTk5FQ1RPUl9E U0ksICJEU0kiIH0sCj4gK307Cj4gKwo+ICtjb25zdCBjaGFyICp1dGlsX2xvb2t1cF9jb25uZWN0 b3JfdHlwZV9uYW1lKHVuc2lnbmVkIGludCB0eXBlKQo+ICt7Cj4gKwlyZXR1cm4gdXRpbF9sb29r dXBfdHlwZV9uYW1lKHR5cGUsIGNvbm5lY3Rvcl90eXBlX25hbWVzLAo+ICsJCQkJICAgICBBUlJB WV9TSVpFKGNvbm5lY3Rvcl90eXBlX25hbWVzKSk7Cj4gK30KPiBkaWZmIC0tZ2l0IGEvdGVzdHMv dXRpbC9rbXMuaCBiL3Rlc3RzL3V0aWwva21zLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGlu ZGV4IDAwMDAwMDAwMDAwMC4uZmE5YWI2OTk4M2FjCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3Rl c3RzL3V0aWwva21zLmgKPiBAQCAtMCwwICsxLDMzIEBACj4gKy8qCj4gKyAqIENvcHlyaWdodCAy MDA4IFR1bmdzdGVuIEdyYXBoaWNzCj4gKyAqICAgSmFrb2IgQm9ybmVjcmFudHogPGpha29iQHR1 bmdzdGVuZ3JhcGhpY3MuY29tPgo+ICsgKiBDb3B5cmlnaHQgMjAwOCBJbnRlbCBDb3Jwb3JhdGlv bgo+ICsgKiAgIEplc3NlIEJhcm5lcyA8amVzc2UuYmFybmVzQGludGVsLmNvbT4KPiArICoKPiAr ICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw ZXJzb24gb2J0YWluaW5nIGEKPiArICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lh dGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQo+ICJTb2Z0d2FyZSIpLCArICogdG8gZGVhbCBp biB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCj4gd2l0aG91dCBs aW1pdGF0aW9uICsgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi bGlzaCwKPiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCArICogYW5kL29yIHNlbGwgY29waWVzIG9m IHRoZSBTb2Z0d2FyZSwgYW5kIHRvCj4gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgKyAqIFNv ZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwo+IHRoZSBmb2xsb3dpbmcg Y29uZGl0aW9uczogKyAqCj4gKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCj4gaW4gKyAqIGFsbCBjb3BpZXMg b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgo+ICsgKgo+ICsgKiBUSEUg U09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO RCwgRVhQUkVTUwo+IE9SICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP IFRIRSBXQVJSQU5USUVTIE9GCj4gTUVSQ0hBTlRBQklMSVRZLCArICogRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KPiBJTiBOTyBFVkVOVCBTSEFM TCBUSEUgKyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK PiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiArICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD VElPTiBPRiBDT05UUkFDVCwKPiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyArICogRlJPTSwg T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKPiBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9S IE9USEVSIERFQUxJTkdTICsgKiBJTiBUSEUgU09GVFdBUkUuCj4gKyAqLwo+ICsKPiArI2lmbmRl ZiBVVElMX0tNU19ICj4gKyNkZWZpbmUgVVRJTF9LTVNfSAo+ICsKPiArY29uc3QgY2hhciAqdXRp bF9sb29rdXBfZW5jb2Rlcl90eXBlX25hbWUodW5zaWduZWQgaW50IHR5cGUpOwo+ICtjb25zdCBj aGFyICp1dGlsX2xvb2t1cF9jb25uZWN0b3Jfc3RhdHVzX25hbWUodW5zaWduZWQgaW50IHR5cGUp Owo+ICtjb25zdCBjaGFyICp1dGlsX2xvb2t1cF9jb25uZWN0b3JfdHlwZV9uYW1lKHVuc2lnbmVk IGludCB0eXBlKTsKPiArCj4gKyNlbmRpZiAvKiBVVElMX0tNU19IICovCgotLSAKUmVnYXJkcywK CkxhdXJlbnQgUGluY2hhcnQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCg==