From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 00/17] atomic modeset core<->driver interfaces and helpers Date: Sun, 2 Nov 2014 14:19:13 +0100 Message-ID: <1414934370-11924-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f54.google.com (mail-wg0-f54.google.com [74.125.82.54]) by gabe.freedesktop.org (Postfix) with ESMTP id D52266E27D for ; Sun, 2 Nov 2014 05:19:24 -0800 (PST) Received: by mail-wg0-f54.google.com with SMTP id n12so3995359wgh.27 for ; Sun, 02 Nov 2014 05:19:23 -0800 (PST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: DRI Development Cc: Daniel Vetter , Intel Graphics Development List-Id: dri-devel@lists.freedesktop.org SGkgYWxsLAoKU28gaGVyZSdzIG15IGF0b21pYyBzZXJpZXMsIGZpbmFsbHkgZGVidWdnZWQuIFRo aXMgaXMganVzdCB0aGUKY29yZTwtPmRyaXZlciBpbnRlcmZhY2UgcGx1cyBhIGJpZyBwaWxlIG9m IGhlbHBlcnMuIFNob3J0IHJlY2FwIG9mIHRoZSBtYWluCmlkZWFzOgoKLSBUaGVyZSBhcmUgZXNz ZW50aWFsbHkgdGhyZWUgaGVscGVyIGxpYnJhcmllcyBpbiB0aGlzIHBhdGNoIHNldDoKCiAgKiBU cmFuc2l0aW9uYWwgaGVscGVycyB0byB1c2UgdGhlIG5ldyBwbGFuZSBjYWxsYmFja3MgZm9yIGxl Z2FjeSBwbGFuZQogICAgdXBkYXRlcyBhbmQgaW4gdGhlIGNydGMgaGVscGVyJ3MgLT5tb2RlX3Nl dCBjYWxsYmFjay4gVGhlc2UgaGVscGVycyBhcmUKICAgIG9ubHkgdGVtcG9yYXJpbHkgdXNlZCB0 byBjb252ZXJ0IGRyaXZlcnMgdG8gYXRvbWljLCBidXQgdGhleSBhbGxvdyBhCiAgICBuaWNlIHNl cGFyYXRpb24gYmV0d2VlbiBjaGFuZ2luZyB0aGUgZHJpdmVyIGJhY2tlbmQgYW5kIHN3aXRjaGlu ZyB0bwogICAgdGhlIGF0b21pYyBjb21taXQgbG9naWMuCgogICogTGVnYWN5IGhlbHBlcnMgdG8g aW1wbGVtZW50IGFsbCB0aGUgbGVnYWN5IGRyaXZlciBlbnRyeSBwb2ludHMKICAgIChwYWdlX2Zs aXAsIHNldF9jb25maWcsIHBsYW5lIHZmdW5jcykgb24gdG9wIG9mIHRoZSBuZXcgYXRvbWljIGRy aXZlcgogICAgaW50ZXJmYWNlLiBUaGVzZSBhcmUgY29tcGxldGVseSBkcml2ZXIgYWdub3N0aWMu IFRoZSByZWFzb24gZm9yIGhhdmluZwogICAgdGhlIGxlZ2FjeSBzdXBwb3J0IGFzIGhlbHBlcnMg aXMgdGhhdCBkcml2ZXJzIGNhbiBzd2l0Y2ggc3RlcC1ieS1zdGVwLgogICAgQW5kIHRoZXkgY291 bGQgZS5nLiBldmVuIGtlZXAgdGhlIGxlZ2FjeSBwYWdlX2ZsaXAgY29kZSBhcm91bmQgZm9yIHNv bWUKICAgIG9sZCBwbGF0Zm9ybXMgd2hlcmUgY29udmVydGluZyB0byBmdWxsLWJsb3duIGF0b21p YyBpc24ndCB3b3J0aCBpdC4KCiAgKiBBdG9taWMgaGVscGVycyB3aGljaCBpbXBsZW1lbnQgdGhl IHZhcmlvdXMgbmV3IC0+YXRvbWljXyogZHJpdmVyCiAgICBpbnRlcmZhY2VzIGluIHRlcm1zIG9m IHRoZSByZXZpc2VkIGNydGMgaGVscGVyIGFuZCBuZXcgcGxhbmUgaGVscGVyCiAgICBob29rcy4K Ci0gVGhlIHJldmlzZWQgY3J0YyBoZWxwZXIgaW1wbGVtZW5hdGlvbiBlc3NlbnRpYWxseSBpbXBs ZW1lbnRzIGFsbCB0aGUKICBsZXNzb25zIGxlYXJuZWQgaW4gdGhlIGk5MTUgbW9kZXNldCByZXdv cmsgKHdoZW4gdXNpbmcgdGhlIGF0b21pYyBoZWxwZXJzCiAgb25seSk6CgogICogRW5hYmxlL2Rp c2FibGUgc2VxdWVuY2UgZm9yIGEgZ2l2ZW4gY29uZmlnIGFyZSBhbHdheXMgdGhlIHNhbWUgYW5k CiAgICBjYWxsYmFja3MgYXJlIGFsd2F5cyBjYWxsZWQgaW4gdGhlIHNhbWUgb3JkZXIuIFRoaXMg Y29udHJhc3Qgc3RhcmtseQogICAgd2l0aCB0aGUgY3J0YyBoZWxwZXJzLCB3aGVyZSB0aGUgc2Vx dWVuY2Ugb2Ygb3BlcmF0aW9ucyBpcyBoZWF2aWx5CiAgICBkZXBlbmRlbnQgb24gdGhlIHByZXZp b3VzIGNvbmZpZy4KCiAgICBPbmUgY29yb2xsYXJ5IG9mIHRoaXMgaXMgdGhhdCBpZiB0aGUgY29u ZmlndXJhdGlvbiBvZiBhIGNydGMgb25seQogICAgcGFydGlhbGx5IGNoYW5nZXMgKGUuZy4gYSBj b25uZWN0b3IgbW92ZXMgaW4gYSBjbG9uZWQgY29uZmlnKSB0aGUKICAgIGhlbHBlciBjb2RlIHdp bGwgc3RpbGwgZGlzYWJsZS9lbmFibGUgdGhlIGZ1bGwgZGlzcGxheSBwaXBlbGluZS4gVGhpcwog ICAgaXMgdGhlIG9ubHkgd2F5IHRvIGVuc3VyZSB0aGF0IHRoZSBlbmFibGUvZGlzYWJsZSBzZXF1 ZW5jZSBpcyBhbHdheXMKICAgIHRoZSBzYW1lLgoKICAqIEl0IHdvbid0IGNhbGwgZGlzYWJsZSBv ciBlbmFibGUgaG9va3MgbW9yZSB0aGFuIG9uY2UgYW55IG1vcmUgYmVjYXVzZQogICAgaXQgbG9z dCB0cmFjayBvZiBzdGF0ZSwgdGhhbmtzIHRvIHRoZSBhdG9taWMgc3RhdGUgdHJhY2tpbmcuIEFu ZCBpZgogICAgZHJpdmVycyBpbXBsZW1lbnQgdGhlIC0+cmVzZXQgaG9vayBwcm9wZXJseSAoYnkg ZWl0aGVyIHJlc2V0dGluZyB0aGUgaHcKICAgIG9yIHJlYWRpbmcgb3V0IHRoZSBodyBzdGF0ZSBp bnRvIHRoZSBhdG9taWMgc3RydWN0dXJlcykgdGhpcyBldmVuCiAgICBleHRlbmRzIHRvIHRoZSBo YXJkd2FyZSBzdGF0ZS4gU28gbm8gbW9yZSBkaXNhYmxlLW1lLWhhcmRlciBraW5kIG9mCiAgICBu b25zZW5zZS4KCiAgKiBUaGUgb25seSBsYWNraW5nIHRoaW5nIGlzIHRoZSBodyBzdGF0ZSByZWFk b3V0L2Nyb3NzLWNoZWNrIHN1cHBvcnQsIGJ1dAogICAgaWYgZHJpdmVycyBoYXZlIGh3IHN0YXRl IHJlYWRvdXQgc3VwcG9ydCBpbiB0aGVpciAtPnJlc2V0IGhhbmRsZXJzIGl0J3MKICAgIHNpbXBs ZSB0byBleHRlbmQgdGhhdCB0byBjcm9zcy1jaGVjayB0aGUgaHcgc3RhdGUuCgogICogVGhlIGNy dGMtPm1vZGVfc2V0IGNhbGxiYWNrIGlzIGdvbmUgYW5kIGl0cyByZXBsYWNlbWVudCBvbmx5IHNl dHMgY3J0YwogICAgdGltaW5ncyBhbiBubyBsb25nZXIgdXBkYXRlcyB0aGUgcHJpbWFyeSBwbGFu ZSBzdGF0ZS4gVGhpcyB3YXkgd2UgY2FuCiAgICBmaW5hbGx5IGltcGxlbWVudCBwcmltYXJ5IHBs YW5lcyBwcm9wZXJseS4KCi0gVGhlIG5ldyBwbGFuZSBoZWxwZXJzIHNob3VsZCBiZSBzdWl0YWJs ZSBlbm91Z2ggZm9yIHByZXR0eSBtdWNoCiAgZXZlcnl0aGluZywgYW5kIGEgcGVyZmVjdCBmaXQg Zm9yIGhhcmR3YXJlIHdpdGggR08gYml0cy4gRXZlbiBpZiB0aGV5CiAgZG9uJ3QgZml0IHRoZSBh dG9taWMgaGVscGVyIGxpYnJhcnkgaXMgcmF0aGVyIGZsZXhpYmxlIGFuZCBleHBvcnRzIGFsbAog IHRoZSBmdW5jdGlvbnMgZm9yIHRoZSBpbmRpdmlkdWFsIHN0ZXBzIHRvIGRyaXZlcnMuIFNvIGRy aXZlcnMgY2FuIHBpY2sKICB3aGF0IG1hdGNoZXMgYW5kIGltcGxlbWVudCB0aGVpciBvd24gbWFn aWMgZm9yIGV2ZXJ5dGhpbmcuCgotIEEgYmlnIGRpZmZlcmVuY2UgY29tcGFyZWQgdG8gYWxsIHBy ZXZpb3VzIGF0b21pYyBzZXJpZXMgaXMgdGhhdCB0aGlzIG9uZQogIGRvZXNuJ3QgaW1wbGVtZW50 IGFzeW5jIGNvbW1pdCBpbiBhIGdlbmVyaWMgd2F5LiBJbW8gZHJpdmVyIHJlcXVpcmVtZW50cwog IGZvciB0aGF0IGFyZSB0b28gZGl2ZXJzZSB0byBjcmVhdGUgYW55dGhpbmcgcmVhc29uYWJsZSBz YW5lIHdoaWNoIHdvdWxkCiAgYWN0dWFsbHkgd29yayBvbiBhIHJlYXNvbmFibGUgYW1vdW50IG9m IGRpZmZlcmVudCBkcml2ZXJzLiBBbHNvLCB3ZSd2ZQogIG5ldmVyIGhhZCBhIGhlbHBlciBsaWJy YXJ5IGZvciBwYWdlX2ZsaXBzIGV2ZW4sIHNvIGl0J3MgcmVhbGx5IGhhcmQgdG8KICBrbm93IHdo YXQgbWlnaHQgd29yayBhbmQgd2hhdCdzIHN0dXBpZCB3aXRob3V0IGEgYml0IG9mIGV4cGVyaWVu Y2UuCgogIEkgdGhpbmsgd2l0aCB0aGUgY3VycmVudCBmbGV4aWJpbGl0eSBmb3IgZHJpdmVycyB0 byBwaWNrIGluZGl2aWR1YWwKICBzdGFnZXMgYW5kIGV4aXN0aW5nIGhlbHBlcnMgbGlrZSBkcm1f ZmxpcF9xdWV1ZSBpdCdzIHJhdGhlciBlYXN5IHRob3VnaAogIHRvIGltcGxlbWVudCBwcm9wZXIg YXN5bmMgY29tbWl0LgoKLSBUaGVyZSdzIGEgZmV3IG90aGVyIGRpZmZlcmVuY2VzIG9mIG1pbm9y IGltcG9ydGFuY2UgdG8gZWFybGllciBhdG9taWMKICBzZXJpZXM6CgogICogQ29tbW9uL2dlbmVy aWMgcHJvcGVydGllcyBhcmUgcGFyc2VkIGluIHRoZSBjYWxsZXJzL2NvcmUgYW5kIG5vdCBpbgog ICAgZHJpdmVycywgYW5kIHBhc3NlZCB0byBkcml2ZXJzIGJ5IGRpcmVjdGx5IHNldHRpbmcgdGhl IHJpZ2h0IG1lbWJlcnMgaW4KICAgIGF0b21pYyBzdGF0ZSBzdHJ1Y3R1cmVzLiBUaGF0IGdyZWF0 bHkgc2ltcGxpZmllcyBhbGwgdGhlIHRyYW5zaXRpb25hbAogICAgYW5kIGxlZ2FjeSBoZWxwZXJz IGFuIHJlbW92ZXMgYSBsb3Qgb2YgYm9pbGVycGxhdGUgY29kZS4KCiAgKiBUaGVyZSdzIG5vIGNy YXp5IHRyeWxvY2sgbW9kZSB1c2VkIGZvciB0aGUgYXN5bmMgY29tbWl0IHNpbmNlIHRoZXNlCiAg ICBoZWxwZXJzIGRvbid0IGRvIGFzeW5jIGNvbW1pdC4gQSBzaW1wbGUgb3JkZXJlZCBmbGlwIHF1 ZXVlIG9mIGF0b21pYwogICAgc3RhdGUgdXBkYXRlcyBzaG91bGQgYmUgc3VmZmljaWVudCBmb3Ig cHJldmVudGluZyBjb25jdXJyZW50IGh3IGFjY2VzcwogICAgYW55d2F5LCBhcyBsb25nIGFzIHN5 bmNocm9ub3VzIHVwZGF0ZXMgc3RhbGwgY29ycmVjdGx5IHdpdGggZS5nLgogICAgZmx1c2hfd29y a19xdWV1ZSBvciBzaW1pbGFyIGZ1bmN0aW9uLgoKICAqIFRoZXNlIGhlbHBlcnMgcmV1c2UgdGhl IGV4aXN0aW5nIC0+bW9kZV9maXh1cCBob29rcyBpbiB0aGUgYXRvbWljX2NoZWNrCiAgICBjYWxs YmFjay4gV2hpY2ggbWVhbnMgdGhhdCBkcml2ZXJzIG5lZWQgdG8gYWRhcGF0IGFuZCBtb3ZlIGEg bG90IGxlc3MgY29kZQogICAgaW50byB0aGVpciBhdG9taWNfY2hlY2sgY2FsbGJhY2tzLgoKTm93 IHRoaXMgaXNuJ3QgZXZlcnl0aGluZyBuZWVkZWQgaW4gdGhlIGRybSBjb3JlIGFuZCBoZWxwZXJz IGZvciBmdWxsCmF0b21pYyBzdXBwb3J0LiBCdXQgaXQncyBlbm91Z2ggdG8gc3RhcnQgd2l0aCBj b252ZXJ0aW5nIGRyaXZlcnMsIGFuZApleGNlcHQgZm9yIGFjdHVhbGx5IHRlc3RpbmcgbXVsdGlw bGFuZSBhbmQgbXVsdGljcnRjIHVwZGF0ZXMgYWxzbyBlbm91Z2ggdG8KaW1wbGVtZW50IGZ1bGwg YXRvbWljIHVwZGF0ZXMuIFN0aWxsIG1pc3NpbmcgYXJlOgoKLSBQZXItcGxhbmUgbG9ja2luZy4g U2luY2UgdGhlc2UgaGVscGVycyBoZXJlIGVuY2Fwc3VsYXRlIHRoZSBsb2NraW5nCiAgY29tcGxl dGVseSB0aGlzIHNob3VsZCBiZSBmYWlybHkgZWFzeSB0byBpbXBsZW1lbnQuCgotIGZiZGV2IHN1 cHBvcnQgZm9yIGF0b21pY19jaGVjay9jb21taXQsIHNvIHRoYXQgbXVsdGktcGlwZSBmaW5hbGx5 IHdvcmtzCiAgc2FuZWx5LgoKLSBBZGRpbmcgYW5kIGRlY29kaW5nIHNoYXJlZC9jb3JlIHByb3Bl cnRpZXMuIFRoYXQganVzdCBuZWVkcyB0byBiZSByZWJhc2VkCiAgZnJvbSBSb2IncyBsYXRlc3Qg cGF0Y2ggc2VyaWVzLCB3aXRoIG1pbm9yIGFkanVzdG1lbnRzIHNvIHRoYXQgdGhlCiAgZGVjb2Rp bmcgaGFwcGVucyBpbiB0aGUgY29yZSBpbnN0ZWFkIG9mIGluIGRyaXZlcnMuCgotIEFjdHVhbGx5 IGFkZGluZyB0aGUgYXRvbWljIGlvY3RsLiBBZ2FpbiBqdXN0IHJlYmFzaW5nIFJvYidzIGxhdGVz dCBwYXRjaAogIHNob3VsZCBiZSBhbGwgdGhhdCdzIG5lZWRlZC4KCi0gRmluYWxseSBJIGNvdWxk bid0IHRlc3QgY29ubmVjdG9yL2VuY29kZXIgc3RlYWxpbmcgcHJvcGVybHkgc2luY2UgbXkgdGVz dAogIHZlaGljbGUgaGVyZSBkb2Vzbid0IGFsbG93IGEgY29ubmVjdG9yIG9uIGRpZmZlcmVudCBj cnRjcy4gU28gZHJpdmVycwogIHdoaWNoIHN1cHBvcnQgdGhpcyBtaWdodCBzZWUgc29tZSBzdXJw cmlzZXMgaW4gdGhhdCBhcmVhLgoKQXMganVzdCBtZW50aW9uZWQgSSd2ZSBkb25lIGEgZmFrZSBj b252ZXJzaW9uIG9mIGFuIGV4aXN0aW5nIGRyaXZlciB1c2luZwpjcnRjIGhlbHBlcnMgdG8gZGVi dWcgdGhlIGhlbHBlciBjb2RlIGFuZCB2YWxpZGF0ZSB0aGUgc21vb3RoIHRyYW5zaXRpb24KYXBw cm9hY2guIEFuZCB0aGF0IHNtb290aCB0cmFuc2l0aW9uIHdhcyB0aGUgcmVhbGx5IGJpZyBtb3Rp dmF0aW9uIGZvcgp0aGlzLiBJdCBzZWVtcyB0byBhY3R1YWxseSB3b3JrIGFuZCBjb25zaXN0cyBv ZiAzIHBoYXNlczoKClBoYXNlIDE6IFJld29yayBkcml2ZXIgYmFja2VuZCBmb3IgY3J0Yy9wbGFu ZSBoZWxwZXJzCgpUaGUgcmVxdWlyZW1lbnQgaGVyZSBpcyB0aGF0IHVuaXZlcnNhbCBwbGFuZSBz dXBwb3J0IGlzIGFscmVhZHkgaW1wbGVtZW50LgpXaGVuIHRoYXQncyBkb25lIHRoZXJlJ3MgdHdv IGJpZyB0aGluZ3MgdG8gZG86CgotIFNwbGl0IHVwIHRoZSBleGlzdGluZyAtPnVwZGF0ZS9kaXNh YmxlX3BsYW5lIGhvb2tzIGludG8gY2hlY2svY29tbWl0CiAgaG9va3MgYW5kIGV4dHJhY3QgdGhl IGNydGMtd2lkZSBwcmVwL2ZsdXNoIHBhcnRzIChsaWtlIHNldHRpbmcvY2xlYXJpbmcKICBHTyBi aXRzKS4KCi0gVGhlIG90aGVyIGJpZyBjaGFuZ2UgaXMgdG8gc3BsaXQgdGhlIGNydGMtPm1vZGVf c2V0IGhvb2sgaW50byB0aGUgcGxhbmUKICB1cGRhdGUgKGRvbmUgdXNpbmcgdGhlIHBsYW5lIGhl bHBlcnMpIGFuZCB0aGUgY3J0YyBzZXR1cCBpbiBhIG5ldwogIC0+bW9kZV9zZXRfbm9mYiBob29r LgoKV2hlbiBwaGFzZSAxIGlzIGNvbXBsZXRlIHRoZSBkcml2ZXIgaW1wbGVtZW50cyBhbGwgdGhl IG5ldyBjYWxsYmFja3Mgd2hpY2gKcHVzaCB0aGUgc29mdHdhcmUgc3RhdGUgaW50byBoYXJkd2Fy ZSwgYnV0IHN0aWxsIHVzaW5nIGFsbCB0aGUgbGVnYWN5IGVudHJ5CnBvaW50cyBhbmQgY3J0YyBo ZWxwZXJzLiBUaGUgdHJhbnNpdGlvbmFsIGhlbHBlcnMgc2VydmUgYXMgaW1wZW5kYW5jZQptaXNt YXRjaCBoZXJlLgoKUGhhc2UgMjogUmV3b3JrIHN0YXRlIGhhbmRsaW5nCgpUaGlzIGNvbnNpc3Rz IG9mIHJvbGxpbmcgb3V0IHRoZSBzdGF0ZSBoYW5kbGluZyBoZWxwZXJzIGZvciBwbGFuZXMsIGNy dGNzCmFuZCBjb25uZWN0b3JzIGFuZCByZXZpZXdpbmcgYWxsIC0+bW9kZV9maXh1cCBhbmQgc2lt aWxhciBob29rcyB0byBtYWtlCnN1cmUgdGhleSBkb24ndCBkZXBlbmQgdXBvbiBpbXBsaWNpdCBn bG9iYWwgc3RhdGUgd2hpY2ggbWlnaHQgY2hhbmdlLiBBbnkKc3VjaCBjb2RlIG11c3QgYmUgbW92 ZWQgaW50byAtPmF0b21pY19jaGVjayBmdW5jdGlvbnMgd2hpY2gganVzdCByZWx5IG9uCnRoZSBm cmVlLXN0YW5kaW5nIGF0b21pYyBzdGF0ZSB1cGRhdGUgc3RydWN0dXJlcy4KClRoaXMgcGhhc2Ug YWxzbyBhZGRzIGEgZmV3IHNtYWxsIHBpZWNlcyBvZiBmaXh1cCBjb2RlIHRvIG1ha2Ugc3VyZSB0 aGUKYXRvbWljIHN0YXRlIGRvZXNuJ3QgZ2V0IG91dCBvZiBzeW5jIGluIHRoZSBsZWdhY3kgZHJp dmVyIGNhbGxiYWNrcy4KClBoYXNlIDM6IFJvbGwgb3V0IGF0b21pYyBzdXBwb3J0CgpOb3cgaXQn cyBqdXN0IGFib3V0IHJlcGxhY2luZyB2ZnVuY3Mgd2l0aCB0aGUgb25lcyBwcm92aWRlZCBieSB0 aGUgaGVscGVyCmFuZCBmaWxsaW5nIG91dCB0aGUgc21hbGwgbWlzc2luZyBwaWVjZXMgKGxpa2Ug YXRvbWljX2NoZWNrIGxvZ2ljIG9yIGFzeW5jCmNvbW1pdCBzdXBwb3J0IG5lZWRlZCBmb3IgcGFn ZV9mbGlwcykuIER1ZSB0byB0aGUgcHJlcCB3b3JrIGluIHBoYXNlIDEgbm8KY2hhbmdlcyB0byB0 aGUgZHJpdmVyIGJhY2tlbmQgZnVuY3Rpb25zIHNob3VsZCBiZSByZXF1aXJlZCwgYW5kIGJlY2F1 c2Ugb2YKdGhlIHByZXAgd29yayBpbiBwaGFzZSAyIGF0b21pYyBpbXBsZW1lbnRhdGlvbnMgY2Fu IGJlIHJvbGxlZCBvdXQKc3RlcC1ieS1zdGVwLiBTbyBpZiBhc3luYyBjb21taXQgaW5zJ3QgaW1w bGVtZW50ZWQgeWV0IHBhZ2VfZmxpcCBjYW4gYmUKaW1wbGVtZW50ZWQgd2l0aCB0aGUgbGVnYWN5 IGZ1bmN0aW9ucyB3aXRob3V0IHdyZWFraW5nIGhhdm9jIGluIHRoZSBvdGhlcgpvcGVyYXRpb25z LgoKSSdtIHdvcmtpbmcgb24gYSBibG9nIHBvc3QgdG8gZ28gYSBiaXQgbW9yZSBpbnRvIGRldGFp bHMgb2YgdGhlIGNvbnZlcnNpb24sIHRvby4KClRoZSBlbnRpcmUgcGlsZSBvZiBwYXRjaGVzIGlz IGF2YWlsYWJsZSBhdAoKaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL35kYW52ZXQvZHJtL2xv Zy8/aD1jb2xkZXItZnVzaW9uCgpUaGF0IGJyYW5jaCBpbmNsdWRlcyB0aGUgc29tZXdoYXQgc3R1 YmJlZC1vdXQgYW5kIGhhY2tpc2ggY29udmVyc2lvbiBvZiBleHlub3MsCmJ1dCBpdCBzaG91bGQg YmUgZ29vZCBlbm91Z2ggdG8gZGVtb25zdHJhdGUgdGhlIGlkZWFzIGFuZCBjb25jZXB0cy4KClNp bmNlIEkndmUgd2FzdGVkIHNvIG11Y2ggdGltZSBnZXR0aW5nIGV4eW5vcyBnb2luZyBoZXJlIGFu ZCBzbyBtYW55IHBlb3BsZSBhcmUKZWFnZXJseSB3YWl0aW5nIGZvciB0aGlzIEkgd2FudCB0byBz ZW5kIHRoZSBwdWxsIHJlcXVlc3QgdG8gRGF2ZSBpbiB0aGUgbmV4dCBmZXcKZGF5cyBpZiBwb3Nz aWJsZS4gU28gcGxlYXNlIGJyaW5nIG9uIGFsbCB0aGUgcmV2aWV3LCBjb21tZW50cyBhbmQgZmVl ZGJhY2sKcXVpY2tseS4KCkNoZWVycywgRGFuaWVsCgpEYW5pZWwgVmV0dGVyICgxNyk6CiAgZHJt OiBNb3ZlIGRybV9jcnRjX2luaXQgZnJvbSBkcm1fY3J0Yy5oIHRvIGRybV9wbGFuZV9oZWxwZXIu aAogIGRybTogUHVsbCBkcm1fY3J0Yy5oIGludG8gdGhlIGtlcm5lbGRvYyB0ZW1wbGF0ZQogIGRy bTogZml4dXAga2VybmVsZG9jIGluIGRybV9jcnRjLmgKICBkcm0vbW9kZXNldF9sb2NrOiBkb2N1 bWVudCB0cnlsb2NrX29ubHkgaW4ga2VybmVsZG9jCiAgZHJtOiBBZGQgYXRvbWljIGRyaXZlciBp bnRlcmZhY2UgZGVmaW5pdGlvbnMgZm9yIG9iamVjdHMKICBkcm06IEdsb2JhbCBhdG9taWMgc3Rh dGUgaGFuZGxpbmcKICBkcm06IEFkZCBhdG9taWMvcGxhbmUgaGVscGVycwogIGRybS9wbGFuZS1o ZWxwZXI6IHRyYW5zaXRpb25hbCBhdG9taWMgcGxhbmUgaGVscGVycwogIGRybS9jcnRjLWhlbHBl cjogVHJhbnNpdGlvbmFsIGZ1bmN0aW9ucyB1c2luZyBhdG9taWMgcGxhbmUgaGVscGVycwogIGRy bTogQXRvbWljIGNydGMvY29ubmVjdG9yIHVwZGF0ZXMgdXNpbmcgY3J0Yy9wbGFuZSBoZWxwZXIg aW50ZXJmYWNlcwogIGRybS9hdG9taWMtaGVscGVyOiBpbXBsZW1lbnRhdGF0aW9ucyBmb3IgbGVn YWN5IGludGVyZmFjZXMKICBkcm0vYXRvbWljOiBJbnRlZ3JhdGUgZmVuY2Ugc3VwcG9ydAogIGRy bS9hdG9taWMtaGVscGVyczogZG9jdW1lbnQgaG93IHRvIGltcGxlbWVudCBhc3luYyBjb21taXQK ICBkcm0vYXRvbWljLWhlbHBlcjogaW1wbGVtZW50IC0+cGFnZV9mbGlwCiAgZHJtL2F0b21pYy1o ZWxwZXJzOiBmdW5jdGlvbnMgZm9yIHN0YXRlIGR1cGxpY2F0ZS9kZXN0cm95L3Jlc2V0CiAgZHJt OiBEb2Nib29rIGludGVncmF0aW9uIGFuZCBvdmVyIHNlY3Rpb25zIGZvciBhbGwgdGhlIG5ldyBo ZWxwZXJzCiAgZHJtL2F0b21pYzogUmVmY291bnRpbmcgZm9yIHBsYW5lX3N0YXRlLT5mYgoKIERv Y3VtZW50YXRpb24vRG9jQm9vay9kcm0udG1wbCAgICAgICAgICAgICB8ICAgMjggKy0KIGRyaXZl cnMvZ3B1L2RybS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIGRyaXZlcnMv Z3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYyAgICAgICB8ICAgIDEgKwogZHJpdmVycy9ncHUv ZHJtL2FzdC9hc3RfbW9kZS5jICAgICAgICAgICAgIHwgICAgMSArCiBkcml2ZXJzL2dwdS9kcm0v Ym9jaHMvYm9jaHNfa21zLmMgICAgICAgICAgfCAgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9jaXJy dXMvY2lycnVzX21vZGUuYyAgICAgICB8ICAgIDEgKwogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWMuYyAgICAgICAgICAgICAgIHwgIDYxNSArKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX2hlbHBlci5jICAgICAgICB8IDE5MDYgKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2hlbHBlci5jICAgICAgICAgIHwgIDEzMiArKwog ZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZV9oZWxwZXIuYyAgICAgICAgIHwgIDE5OCArKy0KIGRy aXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2ludGVsX2Rpc3BsYXkuYyB8ICAgIDEgKwogZHJpdmVy cy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9tb2RlLmMgICAgIHwgICAgMSArCiBkcml2ZXJzL2dw dS9kcm0vbm91dmVhdS9kaXNwbnYwNC9jcnRjLmMgICAgfCAgICAxICsKIGRyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L252NTBfZGlzcGxheS5jICAgICB8ICAgIDEgKwogZHJpdmVycy9ncHUvZHJtL29t YXBkcm0vb21hcF9jcnRjLmMgICAgICAgIHwgICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vcXhsL3F4 bF9kaXNwbGF5LmMgICAgICAgICAgfCAgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2Rpc3BsYXkuYyAgICB8ICAgIDEgKwogZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9k dV9jcnRjLmMgICAgIHwgICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vc2htb2JpbGUvc2htb2JfZHJt X2NydGMuYyAgfCAgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2RybV9jcnRjLmMgICAg ICAgICB8ICAgIDEgKwogZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMgICAgICAgICAgICAgICAg IHwgICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY19jcnRjLmMgICAgICAgfCAg ICAxICsKIGRyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX21vZGVzZXQuYyAgICAgICAgICB8ICAgIDEg KwogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbGR1LmMgICAgICAgIHwgICAgMSArCiBk cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zY3JuLmMgICAgICAgfCAgICAxICsKIGRyaXZl cnMvc3RhZ2luZy9pbXgtZHJtL2lteC1kcm0tY29yZS5jICAgICB8ICAgIDEgKwogaW5jbHVkZS9k cm0vZHJtX2F0b21pYy5oICAgICAgICAgICAgICAgICAgIHwgICA2NSArCiBpbmNsdWRlL2RybS9k cm1fYXRvbWljX2hlbHBlci5oICAgICAgICAgICAgfCAgIDk3ICsrCiBpbmNsdWRlL2RybS9kcm1f Y3J0Yy5oICAgICAgICAgICAgICAgICAgICAgfCAgMjQ1ICsrKy0KIGluY2x1ZGUvZHJtL2RybV9j cnRjX2hlbHBlci5oICAgICAgICAgICAgICB8ICAgMTMgKwogaW5jbHVkZS9kcm0vZHJtX21vZGVz ZXRfbG9jay5oICAgICAgICAgICAgIHwgICAgMSArCiBpbmNsdWRlL2RybS9kcm1fcGxhbmVfaGVs cGVyLmggICAgICAgICAgICAgfCAgIDM4ICsKIDMyIGZpbGVzIGNoYW5nZWQsIDMzMjYgaW5zZXJ0 aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX2hlbHBlci5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9kcm0vZHJtX2F0b21p Yy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaAoK LS0gCjIuMS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=