From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 12/20] drm/doc: Update drm_framebuffer docs Date: Wed, 10 Aug 2016 18:15:56 +0300 Message-ID: <20160810151556.GU4329@intel.com> References: <1470750091-16627-1-git-send-email-daniel.vetter@ffwll.ch> <1470750091-16627-13-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1470750091-16627-13-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Daniel Vetter , Intel Graphics Development , DRI Development List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBBdWcgMDksIDIwMTYgYXQgMDM6NDE6MjNQTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiAtIE1vdmUgdGhlIGludHJvIHNlY3Rpb24gaW50byBhIERPQyBjb21tZW50LCBhbmQg dXBkYXRlIGl0IHNsaWdodGx5Lgo+IC0ga2VybmVsLWRvYyBmb3Igc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciEKPiAKPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGlu dGVsLmNvbT4KPiAtLS0KPiAgRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QgICAgIHwgMjYg Ky0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jIHwgMzUgKysr KysrKysrKysrKysrCj4gIGluY2x1ZGUvZHJtL2RybV9mcmFtZWJ1ZmZlci5oICAgICB8IDk0ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQo+ICAzIGZpbGVzIGNoYW5nZWQs IDExOCBpbnNlcnRpb25zKCspLCAzNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvRG9j dW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLnJz dAo+IGluZGV4IDgyNjRhODhhODY5NS4uZDI0NGUwMzY1OGNjIDEwMDY0NAo+IC0tLSBhL0RvY3Vt ZW50YXRpb24vZ3B1L2RybS1rbXMucnN0Cj4gKysrIGIvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWtt cy5yc3QKPiBAQCAtMzksMzAgKzM5LDggQEAgQXRvbWljIE1vZGUgU2V0dGluZyBGdW5jdGlvbiBS ZWZlcmVuY2UKPiAgRnJhbWUgQnVmZmVyIEFic3RyYWN0aW9uCj4gID09PT09PT09PT09PT09PT09 PT09PT09PQo+ICAKPiAtRnJhbWUgYnVmZmVycyBhcmUgYWJzdHJhY3QgbWVtb3J5IG9iamVjdHMg dGhhdCBwcm92aWRlIGEgc291cmNlIG9mCj4gLXBpeGVscyB0byBzY2Fub3V0IHRvIGEgQ1JUQy4g QXBwbGljYXRpb25zIGV4cGxpY2l0bHkgcmVxdWVzdCB0aGUKPiAtY3JlYXRpb24gb2YgZnJhbWUg YnVmZmVycyB0aHJvdWdoIHRoZSBEUk1fSU9DVExfTU9ERV9BRERGQigyKSBpb2N0bHMKPiAtYW5k IHJlY2VpdmUgYW4gb3BhcXVlIGhhbmRsZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gdGhlIEtNUyBD UlRDIGNvbnRyb2wsCj4gLXBsYW5lIGNvbmZpZ3VyYXRpb24gYW5kIHBhZ2UgZmxpcCBmdW5jdGlv bnMuCj4gLQo+IC1GcmFtZSBidWZmZXJzIHJlbHkgb24gdGhlIHVuZGVybmVhdGggbWVtb3J5IG1h bmFnZXIgZm9yIGxvdy1sZXZlbCBtZW1vcnkKPiAtb3BlcmF0aW9ucy4gV2hlbiBjcmVhdGluZyBh IGZyYW1lIGJ1ZmZlciBhcHBsaWNhdGlvbnMgcGFzcyBhIG1lbW9yeQo+IC1oYW5kbGUgKG9yIGEg bGlzdCBvZiBtZW1vcnkgaGFuZGxlcyBmb3IgbXVsdGktcGxhbmFyIGZvcm1hdHMpIHRocm91Z2gK PiAtdGhlIGBgZHJtX21vZGVfZmJfY21kMmBgIGFyZ3VtZW50LiBGb3IgZHJpdmVycyB1c2luZyBH RU0gYXMgdGhlaXIKPiAtdXNlcnNwYWNlIGJ1ZmZlciBtYW5hZ2VtZW50IGludGVyZmFjZSB0aGlz IHdvdWxkIGJlIGEgR0VNIGhhbmRsZS4KPiAtRHJpdmVycyBhcmUgaG93ZXZlciBmcmVlIHRvIHVz ZSB0aGVpciBvd24gYmFja2luZyBzdG9yYWdlIG9iamVjdAo+IC1oYW5kbGVzLCBlLmcuIHZtd2dm eCBkaXJlY3RseSBleHBvc2VzIHNwZWNpYWwgVFRNIGhhbmRsZXMgdG8gdXNlcnNwYWNlCj4gLWFu ZCBzbyBleHBlY3RzIFRUTSBoYW5kbGVzIGluIHRoZSBjcmVhdGUgaW9jdGwgYW5kIG5vdCBHRU0g aGFuZGxlcy4KPiAtCj4gLVRoZSBsaWZldGltZSBvZiBhIGRybSBmcmFtZWJ1ZmZlciBpcyBjb250 cm9sbGVkIHdpdGggYSByZWZlcmVuY2UgY291bnQsCj4gLWRyaXZlcnMgY2FuIGdyYWIgYWRkaXRp b25hbCByZWZlcmVuY2VzIHdpdGgKPiAtOmM6ZnVuYzpgZHJtX2ZyYW1lYnVmZmVyX3JlZmVyZW5j ZSgpYGFuZCBkcm9wIHRoZW0gYWdhaW4gd2l0aAo+IC06YzpmdW5jOmBkcm1fZnJhbWVidWZmZXJf dW5yZWZlcmVuY2UoKWAuIEZvciBkcml2ZXItcHJpdmF0ZQo+IC1mcmFtZWJ1ZmZlcnMgZm9yIHdo aWNoIHRoZSBsYXN0IHJlZmVyZW5jZSBpcyBuZXZlciBkcm9wcGVkIChlLmcuIGZvciB0aGUKPiAt ZmJkZXYgZnJhbWVidWZmZXIgd2hlbiB0aGUgc3RydWN0IDpjOnR5cGU6YHN0cnVjdCBkcm1fZnJh bWVidWZmZXIKPiAtPGRybV9mcmFtZWJ1ZmZlcj5gIGlzIGVtYmVkZGVkIGludG8gdGhlIGZiZGV2 IGhlbHBlciBzdHJ1Y3QpCj4gLWRyaXZlcnMgY2FuIG1hbnVhbGx5IGNsZWFuIHVwIGEgZnJhbWVi dWZmZXIgYXQgbW9kdWxlIHVubG9hZCB0aW1lIHdpdGgKPiAtOmM6ZnVuYzpgZHJtX2ZyYW1lYnVm ZmVyX3VucmVnaXN0ZXJfcHJpdmF0ZSgpYC4KPiArLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1 L2RybS9kcm1fZnJhbWVidWZmZXIuYwo+ICsgICA6ZG9jOiBvdmVydmlldwo+ICAKPiAgRnJhbWUg QnVmZmVyIEZ1bmN0aW9ucyBSZWZlcmVuY2UKPiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jCj4gaW5kZXggYzdhOGE2MjNiMzM2Li5m MmY0OTI4YzcyNjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZl ci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jCj4gQEAgLTI4LDYg KzI4LDQxIEBACj4gICNpbmNsdWRlICJkcm1fY3J0Y19pbnRlcm5hbC5oIgo+ICAKPiAgLyoqCj4g KyAqIERPQzogb3ZlcnZpZXcKPiArICoKPiArICogRnJhbWUgYnVmZmVycyBhcmUgYWJzdHJhY3Qg bWVtb3J5IG9iamVjdHMgdGhhdCBwcm92aWRlIGEgc291cmNlIG9mIHBpeGVscyB0bwo+ICsgKiBz Y2Fub3V0IHRvIGEgQ1JUQy4gQXBwbGljYXRpb25zIGV4cGxpY2l0bHkgcmVxdWVzdCB0aGUgY3Jl YXRpb24gb2YgZnJhbWUKPiArICogYnVmZmVycyB0aHJvdWdoIHRoZSBEUk1fSU9DVExfTU9ERV9B RERGQigyKSBpb2N0bHMgYW5kIHJlY2VpdmUgYW4gb3BhcXVlCj4gKyAqIGhhbmRsZSB0aGF0IGNh biBiZSBwYXNzZWQgdG8gdGhlIEtNUyBDUlRDIGNvbnRyb2wsIHBsYW5lIGNvbmZpZ3VyYXRpb24g YW5kCj4gKyAqIHBhZ2UgZmxpcCBmdW5jdGlvbnMuCj4gKyAqCj4gKyAqIEZyYW1lIGJ1ZmZlcnMg cmVseSBvbiB0aGUgdW5kZXJseWluZyBtZW1vcnkgbWFuYWdlciBmb3IgYWxsb2NhdGluZyBiYWNr aW5nCj4gKyAqIHN0b3JhZ2UuIFdoZW4gY3JlYXRpbmcgYSBmcmFtZSBidWZmZXIgYXBwbGljYXRp b25zIHBhc3MgYSBtZW1vcnkgaGFuZGxlCj4gKyAqIChvciBhIGxpc3Qgb2YgbWVtb3J5IGhhbmRs ZXMgZm9yIG11bHRpLXBsYW5hciBmb3JtYXRzKSB0aHJvdWdoIHRoZQo+ICsgKiBzdHJ1Y3QgJmRy bV9tb2RlX2ZiX2NtZDIgYXJndW1lbnQuIEZvciBkcml2ZXJzIHVzaW5nIEdFTSBhcyB0aGVpciB1 c2Vyc3BhY2UKPiArICogYnVmZmVyIG1hbmFnZW1lbnQgaW50ZXJmYWNlIHRoaXMgd291bGQgYmUg YSBHRU0gaGFuZGxlLiAgRHJpdmVycyBhcmUgaG93ZXZlcgo+ICsgKiBmcmVlIHRvIHVzZSB0aGVp ciBvd24gYmFja2luZyBzdG9yYWdlIG9iamVjdCBoYW5kbGVzLCBlLmcuIHZtd2dmeCBkaXJlY3Rs eQo+ICsgKiBleHBvc2VzIHNwZWNpYWwgVFRNIGhhbmRsZXMgdG8gdXNlcnNwYWNlIGFuZCBzbyBl eHBlY3RzIFRUTSBoYW5kbGVzIGluIHRoZQo+ICsgKiBjcmVhdGUgaW9jdGwgYW5kIG5vdCBHRU0g aGFuZGxlcy4KPiArICoKPiArICogRnJhbWVidWZmZXJzIGFyZSB0cmFja2VkIHdpdGggc3RydWN0 ICZkcm1fZnJhbWVidWZmZXIuIFRoZXkgYXJlIHB1Ymxpc2hlZAo+ICsgKiB1c2luZyBkcm1fZnJh bWVidWZmZXJfaW5pdCgpIC0gYWZ0ZXIgY2FsbGluZyB0aGF0IGZ1bmN0aW9uIHVzZXJzcGFjZSBj YW4gdXNlCj4gKyAqIGFuZCBhY2Nlc3MgdGhlIGZyYW1lYnVmZmVyIG9iamVjdC4gVGhlIGhlbHBl ciBmdW5jdGlvbgo+ICsgKiBkcm1faGVscGVyX21vZGVfZmlsbF9mYl9zdHJ1Y3QoKSBjYW4gYmUg dXNlZCB0byBwcmUtZmlsbCB0aGUgcmVxdWlyZWQKPiArICogbWV0YWRhdGEgZmllbGRzLgo+ICsg Kgo+ICsgKiBUaGUgbGlmZXRpbWUgb2YgYSBkcm0gZnJhbWVidWZmZXIgaXMgY29udHJvbGxlZCB3 aXRoIGEgcmVmZXJlbmNlIGNvdW50LAo+ICsgKiBkcml2ZXJzIGNhbiBncmFiIGFkZGl0aW9uYWwg cmVmZXJlbmNlcyB3aXRoIGRybV9mcmFtZWJ1ZmZlcl9yZWZlcmVuY2UoKSBhbmQKPiArICogZHJv cCB0aGVtIGFnYWluIHdpdGggZHJtX2ZyYW1lYnVmZmVyX3VucmVmZXJlbmNlKCkuIEZvciBkcml2 ZXItcHJpdmF0ZQo+ICsgKiBmcmFtZWJ1ZmZlcnMgZm9yIHdoaWNoIHRoZSBsYXN0IHJlZmVyZW5j ZSBpcyBuZXZlciBkcm9wcGVkIChlLmcuIGZvciB0aGUKPiArICogZmJkZXYgZnJhbWVidWZmZXIg d2hlbiB0aGUgc3RydWN0IHN0cnVjdCAmZHJtX2ZyYW1lYnVmZmVyIGlzIGVtYmVkZGVkIGludG8K PiArICogdGhlIGZiZGV2IGhlbHBlciBzdHJ1Y3QpIGRyaXZlcnMgY2FuIG1hbnVhbGx5IGNsZWFu IHVwIGEgZnJhbWVidWZmZXIgYXQKPiArICogbW9kdWxlIHVubG9hZCB0aW1lIHdpdGggZHJtX2Zy YW1lYnVmZmVyX3VucmVnaXN0ZXJfcHJpdmF0ZSgpLiBCdXQgZG9pbmcgdGhpcwo+ICsgKiBpcyBu b3QgcmVjb21tZW5kZWQsIGFuZCBpdCdzIGJldHRlciB0byBoYXZlIGEgbm9ybWFsIGZyZWUtc3Rh bmRpbmcgc3RydWN0Cj4gKyAqICZkcm1fZnJhbWVidWZmZXIuCj4gKyAqLwo+ICsKPiArLyoqCj4g ICAqIGRybV9tb2RlX2FkZGZiIC0gYWRkIGFuIEZCIHRvIHRoZSBncmFwaGljcyBjb25maWd1cmF0 aW9uCj4gICAqIEBkZXY6IGRybSBkZXZpY2UgZm9yIHRoZSBpb2N0bAo+ICAgKiBAZGF0YTogZGF0 YSBwb2ludGVyIGZvciB0aGUgaW9jdGwKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Zy YW1lYnVmZmVyLmggYi9pbmNsdWRlL2RybS9kcm1fZnJhbWVidWZmZXIuaAo+IGluZGV4IDQ2YWJk YWNlOGZhNS4uNjg1ZTA2MmU1N2Q3IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9mcmFt ZWJ1ZmZlci5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmgKPiBAQCAtOTIs MzcgKzkyLDEwNSBAQCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyX2Z1bmNzIHsKPiAgCQkgICAgIHVu c2lnbmVkIG51bV9jbGlwcyk7Cj4gIH07Cj4gIAo+ICsvKioKPiArICogc3RydWN0IGRybV9mcmFt ZWJ1ZmZlciAtIGZyYW1lIGJ1ZmZlciBvYmplY3QKPiArICoKPiArICogTm90ZSB0aGF0IHRoZSBm YiBpcyByZWZjb3VudGVkIGZvciB0aGUgYmVuZWZpdCBvZiBkcml2ZXIgaW50ZXJuYWxzLAo+ICsg KiBmb3IgZXhhbXBsZSBzb21lIGh3LCBkaXNhYmxpbmcgYSBDUlRDL3BsYW5lIGlzIGFzeW5jaHJv bm91cywgYW5kCj4gKyAqIHNjYW5vdXQgZG9lcyBub3QgYWN0dWFsbHkgY29tcGxldGUgdW50aWwg dGhlIG5leHQgdmJsYW5rLiAgU28gc29tZQo+ICsgKiBjbGVhbnVwIChsaWtlIHJlbGVhc2luZyB0 aGUgcmVmZXJlbmNlKHMpIG9uIHRoZSBiYWNraW5nIEdFTSBibyhzKSkKPiArICogc2hvdWxkIGJl IGRlZmVycmVkLiAgSW4gY2FzZXMgbGlrZSB0aGlzLCB0aGUgZHJpdmVyIHdvdWxkIGxpa2UgdG8K PiArICogaG9sZCBhIHJlZiB0byB0aGUgZmIgZXZlbiB0aG91Z2ggaXQgaGFzIGFscmVhZHkgYmVl biByZW1vdmVkIGZyb20KPiArICogdXNlcnNwYWNlIHBlcnNwZWN0aXZlLiBTZWUgZHJtX2ZyYW1l YnVmZmVyX3JlZmVyZW5jZSgpIGFuZAo+ICsgKiBkcm1fZnJhbWVidWZmZXJfdW5yZWZlcmVuY2Uo KS4KPiArICoKPiArICogVGhlIHJlZmNvdW50IGlzIHN0b3JlZCBpbnNpZGUgdGhlIG1vZGUgb2Jq ZWN0IEBiYXNlLgo+ICsgKi8KPiAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciB7Cj4gKwkvKioKPiAr CSAqIEBkZXY6IERSTSBkZXZpY2UgdGhpcyBmcmFtZWJ1ZmZlciBiZWxvbmdzIHRvCj4gKwkgKi8K PiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7Cj4gLQkvKgo+IC0JICogTm90ZSB0aGF0IHRoZSBm YiBpcyByZWZjb3VudGVkIGZvciB0aGUgYmVuZWZpdCBvZiBkcml2ZXIgaW50ZXJuYWxzLAo+IC0J ICogZm9yIGV4YW1wbGUgc29tZSBodywgZGlzYWJsaW5nIGEgQ1JUQy9wbGFuZSBpcyBhc3luY2hy b25vdXMsIGFuZAo+IC0JICogc2Nhbm91dCBkb2VzIG5vdCBhY3R1YWxseSBjb21wbGV0ZSB1bnRp bCB0aGUgbmV4dCB2YmxhbmsuICBTbyBzb21lCj4gLQkgKiBjbGVhbnVwIChsaWtlIHJlbGVhc2lu ZyB0aGUgcmVmZXJlbmNlKHMpIG9uIHRoZSBiYWNraW5nIEdFTSBibyhzKSkKPiAtCSAqIHNob3Vs ZCBiZSBkZWZlcnJlZC4gIEluIGNhc2VzIGxpa2UgdGhpcywgdGhlIGRyaXZlciB3b3VsZCBsaWtl IHRvCj4gLQkgKiBob2xkIGEgcmVmIHRvIHRoZSBmYiBldmVuIHRob3VnaCBpdCBoYXMgYWxyZWFk eSBiZWVuIHJlbW92ZWQgZnJvbQo+IC0JICogdXNlcnNwYWNlIHBlcnNwZWN0aXZlLgo+IC0JICog VGhlIHJlZmNvdW50IGlzIHN0b3JlZCBpbnNpZGUgdGhlIG1vZGUgb2JqZWN0Lgo+IC0JICovCj4g LQkvKgo+IC0JICogUGxhY2Ugb24gdGhlIGRldi0+bW9kZV9jb25maWcuZmJfbGlzdCwgYWNjZXNz IHByb3RlY3RlZCBieQo+ICsJLyoqCj4gKwkgKiBAaGVhZDogUGxhY2Ugb24gdGhlIGRldi0+bW9k ZV9jb25maWcuZmJfbGlzdCwgYWNjZXNzIHByb3RlY3RlZCBieQo+ICAJICogZGV2LT5tb2RlX2Nv bmZpZy5mYl9sb2NrLgo+ICAJICovCj4gIAlzdHJ1Y3QgbGlzdF9oZWFkIGhlYWQ7Cj4gKwo+ICsJ LyoqCj4gKwkgKiBAYmFzZTogYmFzZSBtb2Rlc2V0IG9iamVjdCBzdHJ1Y3R1cmUsIGNvbnRhaW5z IHRoZSByZWZlcmVuY2UgY291bnQuCj4gKwkgKi8KPiAgCXN0cnVjdCBkcm1fbW9kZV9vYmplY3Qg YmFzZTsKPiArCS8qKgo+ICsJICogQGZ1bmNzOiBmcmFtZWJ1ZmZlciB2ZnVuYyB0YWJsZQo+ICsJ ICovCj4gIAljb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyX2Z1bmNzICpmdW5jczsKPiArCS8q Kgo+ICsJICogQHBpdGNoZXM6IExpbmUgc3RyaWRlIHBlciBidWZmZXIuIEZvciB1c2Vyc3BhY2Ug Y3JlYXRlZCBvYmplY3QgdGhpcwo+ICsJICogaXMgY29waWVkIGZyb20gZHJtX21vZGVfZmJfY21k Mi4KCmluIGJ5dGVzCgo+ICsJICovCj4gIAl1bnNpZ25lZCBpbnQgcGl0Y2hlc1s0XTsKPiArCS8q Kgo+ICsJICogQG9mZnNldHM6IE9mZnNldCBmcm9tIGJ1ZmZlciBzdGFydCB0byB0aGUgYWN0dWFs IHBpeGVsIGRhdGEgaW4gYnl0ZXMsCj4gKwkgKiBwZXIgYnVmZmVyLiBGb3IgdXNlcnNwYWNlIGNy ZWF0ZWQgb2JqZWN0IHRoaXMgaXMgY29waWVkIGZyb20KPiArCSAqIGRybV9tb2RlX2ZiX2NtZDIu CgpTaG91bGQgd2UgdHJ5IHRvIHN0YW5kYXJkaXNlIHdoYXQgdGhpcyBhY3R1YWxseSBtZWFucz8g Q2FuIHdlPyBGb3IKaTkxNSB3ZSdyZSBnb2luZyB3aXRoIHRoZSBsaW5lYXIgb2Zmc2V0IGFwcHJv YWNoLCBhcyBpbiB0aGUgYnl0ZQpvZmZzZXQgaXMgY2FsY3VsYXRlZCBmcm9tIHgveSBvZmZzZXRz IGFzIHkqcGl0Y2greCpjcHAuIE5vdCBzdXJlCnRoYXQgd2lsbCB3b3JrIGZvciBldmVyeW9uZSwg b3Igd291bGQgc29tZW9uZSBoYXZlIHRvIHNwZWNpZnkgdGhlCm9mZnNldCBpbiBhIGRpZmZlcmVu dCB3YXk/CgpXaXRoIGxpbmVhciBidWZmZXJzIGl0J3MgYWxsIHRoZSBzYW1lIGFueXdheSwgYnV0 IHdpdGggdGlsaW5nIHRoaXMKZGlzdGljdGlvbiBiZWNvbWVzIHJhdGhlciBpbXBvcnRhbnQgaWYg eW91IG5lZWQgdG8gc3BlY2lmeSBub24KdGlsZSByb3cgYWxpZ25lZCBvZmZzZXRzLiBPYnZpb3Vz bHkgYW55IG5vbi1saW5lYXIgb2Zmc2V0IGFwcHJvYWNoCndvdWxkIGJlIHRpbGluZyBmb3JtYXQg c3BlY2lmaWMsIGFuZCB5b3Ugd291bGRuJ3QgYmUgYWJsZSB0byBkbwphIHgveSAtPiBvZmZzZXRz W10gY29udmVyc2lvbiB3aXRob3V0IGtub3dpbmcgdGhlIHRpbGUgbGF5b3V0LgpXaGljaCBpcyB3 aHkgSSBjaG9zZSB0byBnbyB3aXRoIGxpbmVhciBvZmZzZXRzIGZvciBpOTE1LgoKPiArCSAqLwo+ ICAJdW5zaWduZWQgaW50IG9mZnNldHNbNF07Cj4gKwkvKioKPiArCSAqIEBtb2RpZmllcjogRGF0 YSBsYXlvdXQgbW9kaWZpZXIsIHBlciBidWZmZXIuIFRoaXMgaXMgdXNlZCB0byBkZXNjcmliZQo+ ICsJICogdGlsaW5nLCBvciBhbHNvIHNwZWNpYWwgbGF5b3V0cyAobGlrZSBjb21wcmVzc2lvbikg b2YgYXV4aWxpYXJ5Cj4gKwkgKiBidWZmZXJzLiBGb3IgdXNlcnNwYWNlIGNyZWF0ZWQgb2JqZWN0 IHRoaXMgaXMgY29waWVkIGZyb20KPiArCSAqIGRybV9tb2RlX2ZiX2NtZDIuCj4gKwkgKi8KPiAg CXVpbnQ2NF90IG1vZGlmaWVyWzRdOwo+ICsJLyoqCj4gKwkgKiBAd2lkdGg6IExvZ2ljYWwgd2lk dGggb2YgdGhlIHZpc2libGUgYXJlYSBvZiB0aGUgZnJhbWVidWZmZXIsIGluCj4gKwkgKiBwaXhl bHMuCj4gKwkgKi8KPiAgCXVuc2lnbmVkIGludCB3aWR0aDsKPiArCS8qKgo+ICsJICogQGhlaWdo dDogTG9naWNhbCB3aWR0aCBvZiB0aGUgdmlzaWJsZSBhcmVhIG9mIHRoZSBmcmFtZWJ1ZmZlciwg aW4KPiArCSAqIHBpeGVscy4KPiArCSAqLwo+ICAJdW5zaWduZWQgaW50IGhlaWdodDsKPiAtCS8q IGRlcHRoIGNhbiBiZSAxNSBvciAxNiAqLwo+ICsJLyoqCj4gKwkgKiBAZGVwdGg6IERlcHRoIGlu IGJpdHMgcGVyIHBpeGVsIGZvciBSR0IgZm9ybWF0cy4gMCBmb3IgZXZlcnl0aGluZwo+ICsJICog ZWxzZS4gTGVnYWN5IGluZm9ybWF0aW9uIGRlcml2ZWQgZnJvbSBAcGl4ZWxfZm9ybWF0LCBpdCdz IHN1Z2dlc3RlZCB0byB1c2UKPiArCSAqIHRoZSBEUk0gRk9VUkNDIGNvZGVzIGFuZCBoZWxwZXIg ZnVuY3Rpb25zIGRpcmVjdGx5IGluc3RlYWQuCj4gKwkgKi8KPiAgCXVuc2lnbmVkIGludCBkZXB0 aDsKPiArCS8qKgo+ICsJICogQGJpdHNfcGVyX3BpeGVsOiBTdG9yYWdlIHVzZWQgYml0cyBwZXIg cGl4ZWwgZm9yIFJHQiBmb3JtYXRzLiAwIGZvcgo+ICsJICogZXZlcnl0aGluZyBlbHNlLiBMZWdh Y3kgaW5mb3JtYXRpb24gZGVyaXZlZCBmcm9tIEBwaXhlbF9mb3JtYXQsIGl0J3MKPiArCSAqIHN1 Z2dlc3RlZCB0byB1c2UgdGhlIERSTSBGT1VSQ0MgY29kZXMgYW5kIGhlbHBlciBmdW5jdGlvbnMg ZGlyZWN0bHkKPiArCSAqIGluc3RlYWQuCj4gKwkgKi8KPiAgCWludCBiaXRzX3Blcl9waXhlbDsK PiArCS8qKgo+ICsJICogQGZsYWdzOiBGcmFtZWJ1ZmZlciBmbGFncyBsaWtlIERSTV9NT0RFX0ZC X0lOVEVSTEFDRUQgb3IKPiArCSAqIERSTV9NT0RFX0ZCX01PRElGSUVSUy4KPiArCSAqLwo+ICAJ aW50IGZsYWdzOwo+ICsJLyoqCj4gKwkgKiBAcGl4ZWxfZm9ybWF0OiBEUk0gRk9VUkNDIGNvZGUg ZGVzY3JpYmluZyB0aGUgcGl4ZWwgZm9ybWF0Lgo+ICsJICovCj4gIAl1aW50MzJfdCBwaXhlbF9m b3JtYXQ7IC8qIGZvdXJjYyBmb3JtYXQgKi8KPiArCS8qKgo+ICsJICogQGhvdF94OiBYIGNvb3Jk aW5hdGUgb2YgdGhlIGN1cnNvciBob3RzcG90LiBVc2VkIGJ5IHRoZSBsZWdhY3kgY3Vyc29yCj4g KwkgKiBJT0NUTCB3aGVuIHRoZSBkcml2ZXIgc3VwcG9ydHMgY3Vyc29yIHRocm91Z2ggYSBEUk1f UExBTkVfVFlQRV9DVVJTT1IKPiArCSAqIHVuaXZlcnNhbCBwbGFuZS4KPiArCSAqLwo+ICAJaW50 IGhvdF94Owo+ICsJLyoqCj4gKwkgKiBAaG90X3k6IFkgY29vcmRpbmF0ZSBvZiB0aGUgY3Vyc29y IGhvdHNwb3QuIFVzZWQgYnkgdGhlIGxlZ2FjeSBjdXJzb3IKPiArCSAqIElPQ1RMIHdoZW4gdGhl IGRyaXZlciBzdXBwb3J0cyBjdXJzb3IgdGhyb3VnaCBhIERSTV9QTEFORV9UWVBFX0NVUlNPUgo+ ICsJICogdW5pdmVyc2FsIHBsYW5lLgo+ICsJICovCj4gIAlpbnQgaG90X3k7Cj4gKwkvKioKPiAr CSAqIEBmaWxwX2hlYWQ6IFBsYWNlZCBvbiBzdHJ1Y3QgJmRybV9maWxlIGZicyBsaXN0X2hlYWQs IHByb3RlY3RlZCBieQo+ICsJICogZmJzX2xvY2sgaW4gdGhlIHNhbWUgc3RydWN0dXJlLgo+ICsJ ICovCj4gIAlzdHJ1Y3QgbGlzdF9oZWFkIGZpbHBfaGVhZDsKPiAgfTsKPiAgCj4gLS0gCj4gMi44 LjEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=