From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from 8.mo69.mail-out.ovh.net (8.mo69.mail-out.ovh.net [46.105.56.233]) by gabe.freedesktop.org (Postfix) with ESMTPS id 963D78930A for ; Sun, 7 Apr 2019 22:47:40 +0000 (UTC) Received: from player793.ha.ovh.net (unknown [10.109.146.82]) by mo69.mail-out.ovh.net (Postfix) with ESMTP id 73E0E4AC12 for ; Mon, 8 Apr 2019 00:38:03 +0200 (CEST) From: Andi Shyti Date: Mon, 8 Apr 2019 01:37:48 +0300 Message-Id: <20190407223754.6940-1-andi@etezian.org> MIME-Version: 1.0 Subject: [igt-dev] [PATCH v18 0/6] 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: IGT dev Cc: Andi Shyti List-ID: RnJvbTogQW5kaSBTaHl0aSA8YW5kaS5zaHl0aUBpbnRlbC5jb20+CgpIaSwKCkluIHRoaXMgcGF0 Y2hzZXQgSSBwcm9wb3NlIGFuIGFsdGVybmF0aXZlIHdheSBvZiBlbmdpbmUgZGlzY292ZXJ5CnRo YW5rcyB0byB0aGUgbmV3IGludGVyZmFjZXMgZGV2ZWxvcGVkIGJ5IFR2cnRrbyBhbmQgQ2hyaXNb NF0uCgpUaGUgY2hhbmdlcyB0byBwZXJmX3BtdSBhcmUgYSBwcm9wb3NhbCwgbW9zdCBwcm9iYWJs eSB0aGV5IGRvbid0CndvcmsgKGl0J3MgYW55d2F5IGFuIFJGQykgYmVjYXVzZSB0aGUgZGVwZW5k ZW5jeSB0byBsZWdhY3kgY29kZQppcyBzdGlsbCB0b28gc3Ryb25nLgoKVGhhbmtzIFR2cnRrbywg Q2hyaXMsIEFudG9uaW8gYW5kIFBldHJpIGZvciB5b3VyIGNvbW1lbnRzIGluIHRoZQpwcmV2aW91 cyBSRkNzLgoKQW5kaQoKdjE3IC0tPiB2MTgKPT09PT09PT09PT0KIC0gdGhyZWUgcGF0Y2hlcyBo YXZlIGJlZW4gYXBwbGllZCAodGhlIG9uZXMgdGhhdCBhZGQKICAgZ2VtX2NvbnRleHRfaGFzX2Vu Z2luZSgpIGZ1bmN0aW9uKQogLSBmZXcgY29zbWV0aWMgZml4ZXMKIC0gYW5kIHNvbWUgY2hhbmdl cyBjb21pbmcgZnJvbSBUdnJ0a28ncyByZXZpZXcgb24gdjE3Cgp2MTYgLS0+IHYxNwo9PT09PT09 PT09PQphbW9uZ3N0IG1hbnkgbGl0dGxlIHRoaW5ncywgdGhyZWUgbWFpbiBjaGFuZ2VzOgogLSBp bXByb3ZlZCBwZXJmX3BtdSBhZGFwdGF0aW9uIHRvIGdlbV9lbmdpbmVfdG9wb2xvZ3kKIC0gcmVt b3ZlZCB0aGUgZXhlYy1jdHggdGVzdCwgcGVyZl9wbXUgd2lsbCBiZSB0aGUgZmxhZyB0ZXN0CiAt IHdoZW4gY3JlYXRpbmcgdGhlIGVuZ2luZSBsaXN0LCBub3cgdGhlCiAgIGZvcl9lYWNoX2VuZ2lu ZV9waHlzaWNhbCBjYW4gYmUgZXhlY3V0ZWQgc2FmZWx5IGR1cmluZyBzdWJ0ZXN0CiAgIGxpc3Rp bmcKCnYxNSAtLT4gdjE2Cj09PT09PT09PT09CiAtIGZldyBjaGFuZ2VzIHRvIHRoZSBnZW1fZW5n aW5lX3RvcG9sb2d5IHN0dWZmCiAtIGFkZGVkIHVuZSBtb3JlIGR1bW15IHRlc3Qgd2hpY2ggbG9v cHMgdGhyb3VnaCB0aGUgcGh5c2ljYWwKICAgZW5naW5lcywgYXMgd2VsbC4KIC0gY2hhbmdlcyB0 byB0ZXN0L3BlcmZfcG11IHJlcXVpcmVkIHNvbWUgbW9yZSBjaGFuZ2VzIHRoYW4KICAgZXhwZWN0 ZWQgKHRoZSAzIGxhc3QgcGF0Y2hlcykKCnYxNCAtLT4gdjE1Cj09PT09PT09PT09ClBBVENIIHYx NDogWzE2XQoKIC0gdmlydHVhbCBlbmdpbmVzIHdpbGwgYmUgY2FsbGVkICJ2aXJ0dWFsIiBsaWtl IHVucmVjb2duaXNlZAogICBlbmdpbmVzIHdpbGwgYmUgY2FsbGVkICJ1bmtub3duIgoKIC0gcmVu YW1lZCB0aGUgZm9yX2VhY2ggbG9vcHMgdG8gbW9yZSBtZWFuaW5nZnVsIG5hbWVzCiAgIChfX2Zv cl9lYWNoX3N0YXRpY19lbmdpbmUgYW5kIGZvcl9lYWNoX2NvbnRleHRfZW5naW5lKSBhbmQKICAg bW92ZWQgaW50byBnZW1fZW5naW5lX3RvcG9sb2d5LmgKCiAtIG1pbm9yIGNoYW5nZXMgYWJvdXQg ZGF0YSB0eXBlcy4KCnYxMyAtLT4gdjE0Cj09PT09PT09PT09ClBBVENIIHYxMzogWzE1XQptaW5v ciBjaGFuZ2VzIHRoaXMgdGltZToKIC0gc3F1YXNoZWQgcGF0Y2ggMiBhbmQgMyAoZnJvbSB2MTMp IHdpdGggYSBsaXR0bGUgcmVuYW1lIGFuZAogICBhZGRlZCBDaHJpcyByLWIKCiAtIGZpeGVkIHNv bWUgaW5kZXggaXNzdWVzIGFuZCBzdHJpbmcgYXNzaWduZW1lbnQgbGVha3MKCiAtIHNxdWFzaGVk IHBhdGNoZXMgNSwgNiwgNyBhbmQgOCBmcm9tIHYxMwoKdjEyIC0tPiB2MTMKPT09PT09PT09PT0K UEFUQ0ggdjEyOiBbMTRdClRoaXMgcGF0Y2ggaXMgYWxzbyB2ZXJ5IGRpZmZlcmVudCBmcm9tIHRo ZSBwcmV2aW91cyBvdGhlciB0aGFuCnNvbWUgcmVvcmdhbml6YXRpb24gb2YgdGhlIGNvZGUgdGhl c2UgYXJlIHRoZSBtYWluIGNoYW5nZXM6CgogLSB0aGUgcHJldmlvdXMgdmVyc2lvbiBsYWNrZWQg dGhlIGNhc2Ugd2hlbiB0aGUgY29udGV4dCBoYWQgaXRzCiAgIGVuZ2luZXMgbWFwcGVkLiBjaGVj a3MgaW4gdGhlIGZvbGxvd2luZyBvcmRlcgoKIGlmIHRoZSBkcml2ZXIgZG9lc24ndCBoYXZlIHRo ZSBuZXcgQVBJCiAgLT4gZ2V0IHRoZSBlbmdpbmVzIGZyb20gdGhlIHN0YXRpYyBsaXN0CiBpZiB0 aGUgZHJpdmVyIGhhcyB0aGUgQVBJIGJ1dCB0aGUgY29udGV4dCBoYXMgbm90aGluZyBtYXBwZWQK ICAtPiBnZXQgdGhlIGVuZ2luZXMgZnJvbSAicXVlcnkiIGFuZCBtYXAgdGhlbQogaWYgdGhlIGRy aXZlciBoYXMgdGhlIEFQSSBhbmQgdGhlIGNvbnRleHQgaGFzIGVuZ2luZXMgbWFwcGVkCiAgLT4g Z2V0IHRoZSBlbmdpbmVzIGZyb20gdGhlIGNvbnRleHQKCiAtIHRoZSBoZWxwZXIgZnVuY3Rpb25z IGhhdmUgYmVlbiByZW1vdmVkIGFzIHRoZXkgd2VyZSBvZiBubyB1c2UuCgp2MTEgLS0+IHYxMgo9 PT09PT09PT09PQpQQVRDSCB2MTE6IFsxM10KVGhpcyAxMnRoIHZlcnNpb24gc3RhcnRzIGZyb20g YSBjb21wbGV0ZWx5IGRpZmZlcmVudCB0aG91Z2h0LgpIZXJlJ3MgdGhlIG1haW4gZGlmZmVyZW5j ZXM6CgogLSBUaGUgbGlzdCBvZiBlbmdpbmVzIGlzIHByb3ZpZGVkIGluIGFuIGVuZ2luZV9kYXRh IHN0cnVjdHVyZQogICB3aGljaCBjb250YWlucyBhbiBpbmRleCAodXNlZnVsIGZvciBsb29waW5n IHRocm91Z2ggYW5kIGZvcgogICBlbmdpbmUvY29udGV4dCBpbmRleCBtYXBwaW5nKSBpbnN0ZWFk IG9mIGFuIGFycmF5IG9mIGVuZ2luZXMuCgogLSBUaGUgbGlzdCBvZiBlbmdpbmVzIGlzIGdlbmVy YXRlZCBldmVyeSB0aW1lIHRoZSBpbml0IGZ1bmN0aW9uCiAgIGlzIGNhbGxlZCBhbmQgbm90aGlu ZyBpcyBhbGxvY2F0ZWQgaW4gaGVhcCBtZW1vcnkuCgogLSBUaGUgaW9jdGwgY2hlY2sgaXMgZG9u ZSBhbHJlYWR5IGR1cmluZyB0aGUgaW5pdGlhbGl6YXRpb24gcGFydAogICBhbmQgaWYgdGhlIG5l dyBpb2N0bHMgYXJlIG5vdCBpbXBsZW1lbnRlZCwgdGhlbiB0aGUgaW5pdAogICBmdW5jdGlvbiBz dGlsbCBzdG9yZXMgb25seSB0aG9zZSBwcmVzZW50IGluIHRoZSBHUFUuCgogLSBUaGUgZm9yX2Vh Y2ggbG9vcCBpcyBpbXBsZW1lbnRlZCBieSByZS11c2luZyB0aGUgcHJldmlvdXMKICAgJ2Zvcl9l YWNoX2VuZ2luZV9jbGFzc19pbnN0YW5jZSgpJyBpbXBsZW1lbnRlZCBieSBUdnJ0a28uCgogLSBU aGUgZ2VtX3RvcG9sb2d5IGxpYnJhcnkgb2ZmZXJzIGZldyBoZWxwZXIgZnVuY3Rpb25zIGZvcgog ICBjaGVja2luZyB0aGUgZW5naW5lIHByZXNlbmNlLCBjaGVja2luZyB0aGUgaW1wbGVtZW50YXRp b24gb2YKICAgdGhlIGlvY3RscyBhbmQgZXhlY3V0aW5nIHRoZSBidWZmZXIsIGluIG9yZGVyIHRv IGJlIGNvbXBsZXRlbHkKICAgdW5hd2FyZSBvZiB0aGUgZHJpdmVyIGltcGxlbWVudGF0aW9uLgoK VGhhbmtzIFR2cnRrbyBmb3IgYWxsIHlvdXIgaW5wdXRzLgoKdjEwIC0tPiB2MTEKPT09PT09PT09 PT0KUkZDIHYxMDogWzEyXQpmZXcgY29zbWV0aWMgY2hhbmdlcyBpbiB2MTEgYW5kIG1pbm9yIGFy Y2hpdGVjdHVyYWwgZGV0YWlscy4KVGhhbmtzIFR2cnRrby4KCi0gdGhlICdxdWVyeV9lbmdpbmVz KCknIGZ1bmN0aW9ucyBhcmUgc3RhdGljIGFzIG5vIG9uZSBpcyB1c2luZwogIHRoZW0geWV0LgoK LSByZW1vdmVkIHRoZSAnZ2VtX2hhc19lbmdpbmVfdG9wb2xvZ3koKScgZnVuY3Rpb24gYmVjYXVz ZSBpdCdzCiAgdmVyeSBsaXR0bGUgdXNlZCwgJ2dldF9hY3RpdmVfZW5naW5lcygpJyBjYW4gYmUg dXNlZCBpbnN0ZWFkLgoKLSBhIG1pbm9yIHJpbmcgLT4gZW5naW5lIHJlbmFtaW5nIGNvbWluZyBm cm9tIENocmlzLiAKCnY5IC0tPiB2MTAKPT09PT09PT09PQpSRkMgdjk6IFsxMV0KYWxzbyB0aGlz IHRpbWUgcXVpdGUgbWFueSBjaGFuZ2VzLCB0aGFua3MgQ2hyaXMgZm9yIHRoZSByZXZpZXdzLApo ZXJlIHRoZSBtb3N0IHJlbGV2YW50IG9mIHRoZW0uCgotIGdlbV9xdWVyeS5bY2hdIGhhdmUgYmVl biByZW5hbWVkIHRvIGdlbV9lbmdpbmVfdG9wb2xvZ3kuW2NoXQogIGFuZCBhbGwgdGhlIGZ1bmN0 aW9ucyBlbmRlZCB1cCB0aGVyZSBhcyB0aGV5IGFyZSByZWZlcnJpbmcgdG8KICB0aGUgdG9wb2xv Z3kgb2YgdGhlIGVuZ2luZXMuCgotIHRoZSBmdW5jdGlvbnMgJ2dldF9hY3RpdmVfZW5naW5lcygp JywKICAnZ2VtX3NldF9jb250ZXh0X2dldF9lbmdpbmVzKCknIGFuZAogICdpZ3RfcmVxdWlyZV9n ZW1fZW5naW5lX2xpc3QoKScgd2lsbCBiZSB0aGUgbWFpbiBpbnRlcmZhY2UgdG8KICB0aGUgZ2Vt X2VuZ2luZV90b3BvbG9neSBsaWJyYXJ5LCByZWZlciB0byBwYXRjaCAyIGZvciBkZXRhaWxzLgoK LSB0aGUgZGVmaW5lICdmb3JfZWFjaF9lbmdpbmUyKCknIGRvZXNuJ3QgZXhwb3NlIGFueW1vcmUg dGhlCiAgaXRlcmF0b3IuCgotICdnZW1fY29udGV4dF9oYXNfZW5naW5lKCknIGhhcyBiZWVuIG1v dmVkIGZyb20gaW9jdGxfd3JhcHBlcnMuYwogIHRvIGdlbV9jb250ZXh0LmMuCgotIHRoZSBnZW1f ZXhlY19iYXNpYyBleGVjLWN0eCBzdWJ0ZXN0IGRvZXMgbm90IGFib3J0IGlmIHRoZSBuZXcKICBn ZXRwYXJhbS9zZXRwYXJhbSBhbmQgcXVlcnkgYXBpcyBhcmUgbm90IGltcGxlbWVudGVkIGFzIGl0 IGNhbgogIHdvcmsgd2l0aCBib3RoIChhcyBpdCB3YXMgZG9uZSBhdCB0aGUgYmVnaW5uaW5nKS4K CnY4IC0tPiB2OQo9PT09PT09PT0KUkZDIHY4OiBbMTBdCnF1aXRlIG1hbnkgY2hhbmdlcywgcGxl YXNlIHJlZmVyIHRvIHRoZSByZXZpZXcgaW4gWzEwXS4gVGhhbmtzCkNocmlzIGZvciB0aGUgcmV2 aWV3LiBUaGVzZSBhcmUgdGhlIG1vc3QgcmVsZXZhbnQ6CgotIGFsbCB0aGUgYWxsb2NhdGlvbiBp biBnZW1fcXVlcnkgaGF2ZSBiZWVuIG1hZGUgaW4gc3RhY2ssIG5vdAogIGFueW1vcmUgYWxsb2Nh dGVkIGR5bmFtaWNhbGx5LgoKLSByZW1vdmVkIGdldC9zZXRfY29udGV4dCBhcyBpdCB3YXMgYWxy ZWFkeSBpbXBsZW1lbnRlZCBhbmQgSQogIGRpZG4ndCBrbm93LgoKLSByZW5hbWVkIHNvbWUgZnVu Y3Rpb25zIGFuZCB2YXJpYWJsZXMgdG8gaG9wZWZ1bGx5IG1vcmUKICBtZWFuaW5nZnVsIG5hbWVz LgoKVjcgLS0+IHY4Cj09PT09PT09PQpSRkMgdjc6IFs5XQoKLSBhbGwgZnVuY3Rpb25zIGhhdmUg YmVlbiBtb3ZlZCBmcm9tIGxpYi9pZ3RfZ3Que2MsaH0gYW5kCiAgbGliL2lvY3RsX3dyYXBwZXJz LntjLGh9IHRvIGxpYi9pOTE2L2dlbV9xdWVyeS57YyxofS4gKHRoYW5rcwogIENocmlzKQoKLSAn Zm9yX2VhY2hfZW5naW5lX2N0eCcgaGFzIGJlZW4gcmVuYW1lZCB0byAnZm9yX2VhY2hfZW5naW5l MicgdG8KICBiZSBjb25zaXN0ZW50IHdpdGggdGhlICcyJyB0aGF0IGluZGljYXRlcyB0aGUgbmV3 ICdzdHJ1Y3QKICBpbnRlbF9leGVjdXRpb25fZW5naW5lMicgZGF0YSBzdHJ1Y3R1cmUuCgpWNiAt LT4gVjcKPT09PT09PT09ClJGQyB2NjogWzhdCgotIGEgbmV3IHBhdGNoIGhhcyBiZWVuIGFkZGVk IChwYXRjaCAzKSB3aGljaCBhZGRzIGEgbmV3CiAgcmVxdWlyZW1lbnQgY2hlY2sgdGhyb3VnaCB0 aGUgaWd0X3JlcXVpcmVfZ2VtX2VuZ2luZV9saXN0KCkKICBmdW5jdGlvbi4gKHRoYW5rcyBDaHJp cykgVGhpcyBmdW5jdGlvbiB3aWxsIGluaXRpYWxpemUgdGhlCiAgZW5naW5lIGxpc3QgaW5zdGVh ZCBvZiB0aGUgaW5zdGVhZCBvZiBpZ3RfcmVxdWlyZV9nZW0oKSBhcyBpdAogIHdhcyBpbiB2NgoK LSBhbGwgdGhlIGlvY3RscyBoYXZlIGJlZW4gd3JhcHBlZCAodGhhbmtzIENocmlzIGFuZCBBbnRv bmlvKSBhbmQKICBuZXcgbGlicmFyeSBmdW5jdGlvbnMgaGF2ZSBiZWVuIGFkZGVkIGFuZCBhc3Nl cnQgdGhlIGlvY3RscwoKLSBnZW1faW5pdF9lbmdpbmVfbGlzdCgpIGZ1bmN0aW9uIHJldHVybnMg dGhlIGVycm5vIGZyb20gdGhlCiAgR0VUUEFSQU0gaW9jdGwgaW4gb3JkZXIgdG8gYmUgdXNlZCBh cyBhIHJlcXVpcmVtZW50LiAodGhhbmtzCiAgQ2hyaXMpCgotIGZpeGVkIGZldyByZXF1aXJlcy9h c3NlcnRzCgotIFRoZSBlbmdpbmUgbGlzdCAiaW50ZWxfYWN0aXZlX2VuZ2luZXMyIiBpcyBhbGxv Y2F0ZWQgb2YgdGhlCiAgbnVtYmVyIG9mIGVuZ2luZXMgaW5zdGVhZCBvZiBhIHBvbGl0aWNhbCA2 NCAodGhhbmtzIEFudG9uaW8pLgoKLSBzb21lIHBhcmFtZXRlciByZW5hbWluZyBpbiBnZW1faGFz X3JpbmdfYnlfaWR4KCkuICh0aGFua3MKICBDaHJpcykuCgotIHRoZSBvcmlnaW5hbCAiaW50ZWxf ZXhlY3V0aW9uX2VuZ2luZXMyIiBoYXMgbm90IGJlZW4gcmVuYW1lZCwKICBiZWNhdXNlIGl0IGlz IHVzZWQgdG8gY3JlYXRlIHN1YnRlc3RzIGJlZm9yZSBldmVuIGV4ZWN1dGluZyBhbnkKICB0ZXN0 L2lvY3RsLiBCeSByZW5hbWluZyBpdCwgc29tZSBzdWJ0ZXN0IGdlbmVyYXRpb25zIGZhaWxlZC4K ICAodGhhbmtzIFBldHJpKQoKVjUgLS0+IFY2Cj09PT09PT09PQpSRkMgdjU6IFs3XQotIENocmlz IGltcGxlbWVudGVkIHRoZSBnZXRwYXJhbSBpb2N0bCB3aGljaCBhbGxvd3MgdG8gdGhlIHRlc3QK ICB0byBmaWd1cmUgb3R1IHdoZXRoZXIgdGhlIG5ldyBpbnRlcmZhY2UgaGFzIGJlZW4gaW1wbGVt ZW50ZWQuCiAgVGhpcyB3YXkgdGhlIGZvcl9lYWNoX2VuZ2luZV9jdHgoKSBpcyBhYmxlIHRvIHdv cmsgd2l0aCBuZXcgYW5kCiAgb2xkIGtlcm5lbCB1YXBpICh0aGFua3MgQ2hyaXMpCgpWNCAtLT4g VjUKPT09PT09PT09ClJGQyB2NDogWzZdCgotIHRoZSBlbmdpbmUgbGlzdCBpcyBub3cgYnVpbHQg aW4gJ2lndF9yZXF1aXJlX2dlbSgpJyBpbnN0ZWFkIG9mCiAgJ19fb3Blbl9kcml2ZXIoKScgc28g dGhhdCB3ZSBrZWVwIHRoaXMgZGlzY292ZXJ5IG1ldGhvZAogIHNwZWNpZmljIHRvIHRoZSBpOTE1 IGRyaXZlciAodGhhbmtzIENocmlzKS4KCi0gQWxsIHRoZSBxdWVyeS9zZXRwYXJhbSBzdHJ1Y3R1 cmVzIGR5bmFtaWMgYWxsb2NhdGlvbiBiYXNlZCBvbgogIHRoZSBudW1iZXIgb2YgZW5naW5lcywg bm93IGFyZSBwb2xpdGljYWxseSBhbGxvY2F0ZWQgNjQgdGltZXMsCiAgdG8gYXZvaWQgZXh0cmEg aW9jdGwgY2FsbHMgdGhhdCByZXRyaWV2ZSB0aGUgZW5naW5lIG51bWJlcgogICh0aGFua3MgQ2hy aXMpCgotIHVzZSBpZ3RfaW9jdGwgaW5zdGVhZCBvZiBpb2N0bCAodGhhbmtzIENocmlzKQoKLSBh bGxvY2F0ZSBpbnRlbF9leGVjdXRpb25fZW5naW5lczIgZHluYW1pY2FsbHkgaW5zdGVhZCBvZgog IHN0YXRpY2FsbHkgKHRoYW5rcyBUdnJ0a28pCgotIHNpbXBsaWZ5IHRoZSB0ZXN0IGluICdnZW1f ZXhlY19iYXNpYygpJyBzbyB0aGF0IHNpbXBseSBjaGVja3MKICB0aGUgcHJlc2VuY2Ugb2YgdGhl IGVuZ2luZSBpbnN0ZWFkIG9mIGV4ZWN1dGluZyBhIGJ1ZmZlcgogICh0aGFuayBDaHJpcykKCi0g YSBuZXcgcGF0Y2ggaGFzIGJlZW4gYWRkZWQgKHBhdGNoIDMpIHRoYXQgZXh0ZW5kcyB0aGUKICAn Z2VtX2hhc19yaW5nKCknIGJvb2xlYW4gZnVuY3Rpb24uIFRoZSBuZXcgdmVyc2lvbiBzZXRzIHRo ZQogIGluZGV4IGFzIGl0J3MgbWFwcGVkIGluIHRoZSBrZXJuZWwuVGhlIHByZXZpb3VzIGZ1bmN0 aW9uIGlzIG5vdwogIGEgd3JhcHBlciB0byB0aGUgbmV3IGZ1bmN0aW9uLgoKVjMgLS0+IFY0Cj09 PT09PT09PQpQQVRDSCB2MzogWzNdCgotIHJlLWFyY2hpdGVjdHVyZWQgdGhlIGRpc2NvdmVyeSBt ZWNoYW5pc20gYmFzZWQgb24gVHZydGtvJ3MKICBzdWdlc3Rpb24gYW5kIHJldmlld3MuLiBJbiB0 aGlzIHZlcnNpb24gdGhlIGRpc2NvdmVyeSBpcyBkb25lCiAgZHVyaW5nIHRoZSBkZXZpY2Ugb3Bl bmluZyBhbmQgc3RvcmVkIGluIGEgTlVMTCB0ZXJtaW5hdGVkCiAgYXJyYXksIHdoaWNoIHJlcGxh Y2VzIHRoZSBleGlzdGluZyBpbnRlbF9leGVjdXRpb25fZW5naW5lczIKICB0aGF0IGlzIG1haW5s eSB1c2VkIGFzIGEgcmVmZXJlbmNlLgoKVjIgLS0+IFYzCj09PT09PT09PQpSRkMgdjI6IFsyXQoK LSByZW1vdmVkIGEgc3RhbmRhbG9uZSBnZW1fcXVlcnlfZW5naW5lc19kZW1vIHRlc3QgYW5kIGFk ZGVkIHRoZQogIGV4ZWMtY3R4IHN1YnRlc3QgaW5zaWRlIGdlbV9leGVjX2Jhc2ljICh0aGFua3Mg VHZydGtvKS4KCi0gZml4ZWQgbW9zdCBvZiBUdnJ0a28ncyBjb21tZW50cyBpbiBbNV0sIHdoaWNo IGNvbnNpc3QgaW4KICBwdXR0aW5nIHRoZSBtYWxsb2NzIGlndF9hc3NlcnQgYW5kIGljdGxzIGlu IGlndF9yZXF1aXJlIGFuZCBmZXcKICByZWZhY3RvcmluZyAodGhhbmtzIFR2cnRrbykuCgpWMSAt LT4gVjIKPT09PT09PT09ClJGQyB2MTogWzFdCgotIGFkZGVkIGEgZGVtbyB0ZXN0IHRoYXQgc2lt cGx5IHF1ZXJpZXMgdGhlIGRyaXZlciBhYm91dCB0aGUKICBlbmdpbmVzIGFuZCBleGVjdXRlcyBh IGJ1ZmZlciAodGhhbmtzIFR2cnRrbykKCi0gcmVmYWN0b3JlZCB0aGUgZm9yX2VhY2hfZW5naW5l X2N0eCgpIG1hY3JvIHNvIHRoYXQgd2hhdCBpbiB0aGUKICBwcmV2aW91cyB2ZXJzaW9uIHdhcyBk b25lIGJ5IHRoZSAiYmluZCIgZnVuY3Rpb24sIG5vdyBpdCdzIGRvbmUKICBpbiB0aGUgZmlyc3Qg aXRlcmF0aW9uLiAoVGhhbmtzIENyaGlzKQoKLSByZW1vdmVkIHRoZSAiZ2VtX2hhc19yaW5nX2N0 eCgpIiBiZWNhdXNlIGl0IHdhcyBvdXQgb2YgdGhlCiAgc2NvcGUuCgotIHJlbmFtZSBmdW5jdGlv bnMgdG8gbW9yZSBtZWFuaW5nZnVsIG5hbWVzCgpbMV0gUkZDIHYxOiBodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTgtTm92ZW1iZXIvMDA3MDI1Lmh0bWwK WzJdIFJGQyB2MjogaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvaWd0LWRl di8yMDE4LU5vdmVtYmVyLzAwNzA3OS5odG1sClszXSBQQVRDSCB2MzogaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvaWd0LWRldi8yMDE4LU5vdmVtYmVyLzAwNzE0OC5odG1s Cls0XSBodHRwczovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL350dXJzdWxpbi9kcm0taW50ZWwvbG9n Lz9oPW1lZGlhCls1XSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3Qt ZGV2LzIwMTgtTm92ZW1iZXIvMDA3MTAwLmh0bWwKWzZdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1KYW51YXJ5LzAwODAyOS5odG1sCls3XSBodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTktSmFudWFyeS8w MDgxNjUuaHRtbApbOF0gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvaWd0 LWRldi8yMDE5LUZlYnJ1YXJ5LzAwODkwMi5odG1sCls5XSBodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTktRmVicnVhcnkvMDA5MTg1Lmh0bWwKWzEwXSBo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTktRmVicnVh cnkvMDA5MjA1Lmh0bWwKWzExXSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZl cy9pZ3QtZGV2LzIwMTktRmVicnVhcnkvMDA5Mjc3Lmh0bWwKWzEyXSBodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTktTWFyY2gvMDEwMTk3Lmh0bWwKWzEz XSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTktTWFy Y2gvMDEwNDY3Lmh0bWwKWzE0XSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZl cy9pZ3QtZGV2LzIwMTktTWFyY2gvMDEwNzc2Lmh0bWwKWzE1XSBodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTktTWFyY2gvMDEwODI3Lmh0bWwKWzE2XSBo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTktTWFyY2gv MDEwOTE2Lmh0bWwKCkFuZGkgU2h5dGkgKDYpOgogIGluY2x1ZGUvZHJtLXVhcGk6IGltcG9ydCBp OTE1X2RybS5oIGhlYWRlciBmaWxlCiAgbGliL2k5MTU6IGFkZCBnZW1fZW5naW5lX3RvcG9sb2d5 IGxpYnJhcnkgYW5kIGZvcl9lYWNoIGxvb3AgZGVmaW5pdGlvbgogIGxpYjogaWd0X2d0OiBhZGQg ZWIgZmxhZ3MgdG8gY2xhc3MgaGVscGVyCiAgbGliOiBpZ3RfZ3Q6IG1ha2UgZ2VtX2VuZ2luZV9j YW5fc3RvcmVfZHdvcmQoKSBjaGVjayBlbmdpbmUgY2xhc3MKICBsaWI6IGlndF9kdW1teWxvYWQ6 IHVzZSBmb3JfZWFjaF9jb250ZXh0X2VuZ2luZSgpCiAgdGVzdDogcGVyZl9wbXU6IHVzZSB0aGUg Z2VtX2VuZ2luZV90b3BvbG9neSBsaWJyYXJ5CgogaW5jbHVkZS9kcm0tdWFwaS9pOTE1X2RybS5o ICAgIHwgMzYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogbGliL01ha2VmaWxl LnNvdXJjZXMgICAgICAgICAgIHwgICAyICsKIGxpYi9pOTE1L2dlbV9lbmdpbmVfdG9wb2xvZ3ku YyB8IDI1MCArKysrKysrKysrKysrKysrKysrKysrKwogbGliL2k5MTUvZ2VtX2VuZ2luZV90b3Bv bG9neS5oIHwgIDY2ICsrKysrKwogbGliL2lndC5oICAgICAgICAgICAgICAgICAgICAgIHwgICAx ICsKIGxpYi9pZ3RfZHVtbXlsb2FkLmMgICAgICAgICAgICB8ICAyNiArLS0KIGxpYi9pZ3RfZ3Qu YyAgICAgICAgICAgICAgICAgICB8ICA0MyArKystCiBsaWIvaWd0X2d0LmggICAgICAgICAgICAg ICAgICAgfCAgMTQgKy0KIGxpYi9tZXNvbi5idWlsZCAgICAgICAgICAgICAgICB8ICAgMSArCiB0 ZXN0cy9wZXJmX3BtdS5jICAgICAgICAgICAgICAgfCAxMTMgKysrKysrLS0tLS0KIDEwIGZpbGVz IGNoYW5nZWQsIDc0NCBpbnNlcnRpb25zKCspLCAxMzMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k ZSAxMDA2NDQgbGliL2k5MTUvZ2VtX2VuZ2luZV90b3BvbG9neS5jCiBjcmVhdGUgbW9kZSAxMDA2 NDQgbGliL2k5MTUvZ2VtX2VuZ2luZV90b3BvbG9neS5oCgotLSAKMi4yMC4xCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlz dAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=