From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 26/28] drm: Move drm_display_mode an related docs into kerneldoc Date: Fri, 4 Dec 2015 09:46:07 +0100 Message-ID: <1449218769-16577-27-git-send-email-daniel.vetter@ffwll.ch> References: <1449218769-16577-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-wm0-f43.google.com (mail-wm0-f43.google.com [74.125.82.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id D09748A81D for ; Fri, 4 Dec 2015 00:46:45 -0800 (PST) Received: by wmec201 with SMTP id c201so55655354wme.1 for ; Fri, 04 Dec 2015 00:46:44 -0800 (PST) In-Reply-To: <1449218769-16577-1-git-send-email-daniel.vetter@ffwll.ch> 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 , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org VGhpcyB3YXMgaW4gdGhlIGRvY3VtZW50YXRpb24gZm9yIG1vZGVzZXQgaGVscGVyIGhvb2tzLCB3 aGVyZSBpdCBpcyBhCmJpdCBtaXNwbGFjZWQuCgp2MjogUmVpbmRlbnQgdGhlIGRybV9tb2RlX3N0 YXR1cyBlbnVtLCBpbnNwaXJlZCBieSBWaWxsZS4KCkNjOiB2aWxsZS5zeXJqYWxhQGxpbnV4Lmlu dGVsLmNvbQpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVs LmNvbT4KLS0tCiBEb2N1bWVudGF0aW9uL0RvY0Jvb2svZ3B1LnRtcGwgfCAxOTIgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYyAgICB8ICAgMyArLQog aW5jbHVkZS9kcm0vZHJtX21vZGVzLmggICAgICAgIHwgMzQyICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDI5NyBpbnNlcnRpb25zKCsp LCAyNDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2dw dS50bXBsIGIvRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2dwdS50bXBsCmluZGV4IDUzMTJmNWEwNTc5 OC4uODZlNWIxMmE0OWJhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZ3B1LnRt cGwKKysrIGIvRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2dwdS50bXBsCkBAIC0xNzU4LDE5OCArMTc1 OCw2IEBAIHZvaWQgaW50ZWxfY3J0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKICAgICAg ICAgICAgIDxmdW5jdGlvbj5kcm1fYWRkX2VkaWRfbW9kZXM8L2Z1bmN0aW9uPiBtYW51YWxseSBp biB0aGF0IGNhc2UuCiAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgIDxwYXJhPgotICAgICAg ICAgICAgV2hlbiBhZGRpbmcgbW9kZXMgbWFudWFsbHkgdGhlIGRyaXZlciBjcmVhdGVzIGVhY2gg bW9kZSB3aXRoIGEgY2FsbCB0bwotICAgICAgICAgICAgPGZ1bmN0aW9uPmRybV9tb2RlX2NyZWF0 ZTwvZnVuY3Rpb24+IGFuZCBtdXN0IGZpbGwgdGhlIGZvbGxvd2luZyBmaWVsZHMuCi0gICAgICAg ICAgICA8aXRlbWl6ZWRsaXN0PgotICAgICAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICAg ICAgICAgPHN5bm9wc2lzPl9fdTMyIHR5cGU7PC9zeW5vcHNpcz4KLSAgICAgICAgICAgICAgICA8 cGFyYT4KLSAgICAgICAgICAgICAgICAgIE1vZGUgdHlwZSBiaXRtYXNrLCBhIGNvbWJpbmF0aW9u IG9mCi0gICAgICAgICAgICAgICAgICA8dmFyaWFibGVsaXN0PgotICAgICAgICAgICAgICAgICAg ICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgICAgICAgIDx0ZXJtPkRSTV9NT0RFX1RZ UEVfQlVJTFRJTjwvdGVybT4KLSAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+ bm90IHVzZWQ/PC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDwvdmFybGlz dGVudHJ5PgotICAgICAgICAgICAgICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgICAg ICAgICAgICAgIDx0ZXJtPkRSTV9NT0RFX1RZUEVfQ0xPQ0tfQzwvdGVybT4KLSAgICAgICAgICAg ICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+bm90IHVzZWQ/PC9wYXJhPjwvbGlzdGl0ZW0+Ci0g ICAgICAgICAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgICAgICA8 dmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgICAgICAgIDx0ZXJtPkRSTV9NT0RFX1RZUEVf Q1JUQ19DPC90ZXJtPgotICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT5ub3Qg dXNlZD88L3BhcmE+PC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPC92YXJsaXN0ZW50 cnk+Ci0gICAgICAgICAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAg ICAgICAgPHRlcm0+Ci0gICAgICAgIERSTV9NT0RFX1RZUEVfUFJFRkVSUkVEIC0gVGhlIHByZWZl cnJlZCBtb2RlIGZvciB0aGUgY29ubmVjdG9yCi0gICAgICAgICAgICAgICAgICAgICAgPC90ZXJt PgotICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAg ICAgIDxwYXJhPm5vdCB1c2VkPzwvcGFyYT4KLSAgICAgICAgICAgICAgICAgICAgICA8L2xpc3Rp dGVtPgotICAgICAgICAgICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgICAg ICAgICAgPHZhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICA8dGVybT5EUk1fTU9E RV9UWVBFX0RFRkFVTFQ8L3Rlcm0+Ci0gICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxw YXJhPm5vdCB1c2VkPzwvcGFyYT48L2xpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICA8L3Zh cmxpc3RlbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KLSAgICAgICAg ICAgICAgICAgICAgICA8dGVybT5EUk1fTU9ERV9UWVBFX1VTRVJERUY8L3Rlcm0+Ci0gICAgICAg ICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPm5vdCB1c2VkPzwvcGFyYT48L2xpc3RpdGVt PgotICAgICAgICAgICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgICAgICAg ICAgPHZhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICA8dGVybT5EUk1fTU9ERV9U WVBFX0RSSVZFUjwvdGVybT4KLSAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+Ci0gICAg ICAgICAgICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgVGhl IG1vZGUgaGFzIGJlZW4gY3JlYXRlZCBieSB0aGUgZHJpdmVyIChhcyBvcHBvc2VkIHRvCi0gICAg ICAgICAgICAgICAgICAgICAgICAgIHRvIHVzZXItY3JlYXRlZCBtb2RlcykuCi0gICAgICAgICAg ICAgICAgICAgICAgICA8L3BhcmE+Ci0gICAgICAgICAgICAgICAgICAgICAgPC9saXN0aXRlbT4K LSAgICAgICAgICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgICA8 L3ZhcmlhYmxlbGlzdD4KLSAgICAgICAgICAgICAgICAgIERyaXZlcnMgbXVzdCBzZXQgdGhlIERS TV9NT0RFX1RZUEVfRFJJVkVSIGJpdCBmb3IgYWxsIG1vZGVzIHRoZXkKLSAgICAgICAgICAgICAg ICAgIGNyZWF0ZSwgYW5kIHNldCB0aGUgRFJNX01PREVfVFlQRV9QUkVGRVJSRUQgYml0IGZvciB0 aGUgcHJlZmVycmVkCi0gICAgICAgICAgICAgICAgICBtb2RlLgotICAgICAgICAgICAgICAgIDwv cGFyYT4KLSAgICAgICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgPGxpc3RpdGVt PgotICAgICAgICAgICAgICAgIDxzeW5vcHNpcz5fX3UzMiBjbG9jazs8L3N5bm9wc2lzPgotICAg ICAgICAgICAgICAgIDxwYXJhPlBpeGVsIGNsb2NrIGZyZXF1ZW5jeSBpbiBrSHogdW5pdDwvcGFy YT4KLSAgICAgICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgPGxpc3RpdGVtPgot ICAgICAgICAgICAgICAgIDxzeW5vcHNpcz5fX3UxNiBoZGlzcGxheSwgaHN5bmNfc3RhcnQsIGhz eW5jX2VuZCwgaHRvdGFsOwotICAgIF9fdTE2IHZkaXNwbGF5LCB2c3luY19zdGFydCwgdnN5bmNf ZW5kLCB2dG90YWw7PC9zeW5vcHNpcz4KLSAgICAgICAgICAgICAgICA8cGFyYT5Ib3Jpem9udGFs IGFuZCB2ZXJ0aWNhbCB0aW1pbmcgaW5mb3JtYXRpb248L3BhcmE+Ci0gICAgICAgICAgICAgICAg PHNjcmVlbj48IVtDREFUQVsKLSAgICAgICAgICAgICBBY3RpdmUgICAgICAgICAgICAgICAgIEZy b250ICAgICAgICAgICBTeW5jICAgICAgICAgICBCYWNrCi0gICAgICAgICAgICAgUmVnaW9uICAg ICAgICAgICAgICAgICBQb3JjaCAgICAgICAgICAgICAgICAgICAgICAgICAgUG9yY2gKLSAgICA8 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+PC0tLS0tLS0tLS0tLS0tLS0+PC0tLS0tLS0tLS0tLS0+ PC0tLS0tLS0tLS0tLS0tPgotCi0gICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vfAotICAgICAv Ly8vLy8vLy8vLy8vLy8vLy8vLy8vIHwKLSAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vICB8Li4u Li4uLi4uLi4uLi4uLi4uICAgICAgICAgICAgICAgLi4uLi4uLi4uLi4uLi4uLgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX19fX19fX19fX19fX18KLQot ICAgIDwtLS0tLSBbaHZdZGlzcGxheSAtLS0tLT4KLSAgICA8LS0tLS0tLS0tLS0tLSBbaHZdc3lu Y19zdGFydCAtLS0tLS0tLS0tLS0+Ci0gICAgPC0tLS0tLS0tLS0tLS0tLS0tLS0tLSBbaHZdc3lu Y19lbmQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tPgotICAgIDwtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSBbaHZddG90YWwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+Ci1dXT48 L3NjcmVlbj4KLSAgICAgICAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgPGxpc3Rp dGVtPgotICAgICAgICAgICAgICAgIDxzeW5vcHNpcz5fX3UxNiBoc2tldzsKLSAgICBfX3UxNiB2 c2Nhbjs8L3N5bm9wc2lzPgotICAgICAgICAgICAgICAgIDxwYXJhPlVua25vd248L3BhcmE+Ci0g ICAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAg ICAgICAgICAgICA8c3lub3BzaXM+X191MzIgZmxhZ3M7PC9zeW5vcHNpcz4KLSAgICAgICAgICAg ICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICAgIE1vZGUgZmxhZ3MsIGEgY29tYmluYXRpb24g b2YKLSAgICAgICAgICAgICAgICAgIDx2YXJpYWJsZWxpc3Q+Ci0gICAgICAgICAgICAgICAgICAg IDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgICAgPHRlcm0+RFJNX01PREVfRkxB R19QSFNZTkM8L3Rlcm0+Ci0gICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgot ICAgICAgICAgICAgICAgICAgICAgICAgSG9yaXpvbnRhbCBzeW5jIGlzIGFjdGl2ZSBoaWdoCi0g ICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAg ICAgIDwvdmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgICAgICA8dmFybGlzdGVudHJ5Pgot ICAgICAgICAgICAgICAgICAgICAgIDx0ZXJtPkRSTV9NT0RFX0ZMQUdfTkhTWU5DPC90ZXJtPgot ICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAg ICAgICAgIEhvcml6b250YWwgc3luYyBpcyBhY3RpdmUgbG93Ci0gICAgICAgICAgICAgICAgICAg ICAgPC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5 PgotICAgICAgICAgICAgICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgICAg ICAgIDx0ZXJtPkRSTV9NT0RFX0ZMQUdfUFZTWU5DPC90ZXJtPgotICAgICAgICAgICAgICAgICAg ICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgICAgIFZlcnRpY2FsIHN5 bmMgaXMgYWN0aXZlIGhpZ2gKLSAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRl bT4KLSAgICAgICAgICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAg ICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgICAgPHRlcm0+RFJNX01PREVf RkxBR19OVlNZTkM8L3Rlcm0+Ci0gICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJh PgotICAgICAgICAgICAgICAgICAgICAgICAgVmVydGljYWwgc3luYyBpcyBhY3RpdmUgbG93Ci0g ICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAg ICAgIDwvdmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgICAgICA8dmFybGlzdGVudHJ5Pgot ICAgICAgICAgICAgICAgICAgICAgIDx0ZXJtPkRSTV9NT0RFX0ZMQUdfSU5URVJMQUNFPC90ZXJt PgotICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAg ICAgICAgICAgIE1vZGUgaXMgaW50ZXJsYWNlZAotICAgICAgICAgICAgICAgICAgICAgIDwvcGFy YT48L2xpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAg ICAgICAgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICA8dGVy bT5EUk1fTU9ERV9GTEFHX0RCTFNDQU48L3Rlcm0+Ci0gICAgICAgICAgICAgICAgICAgICAgPGxp c3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICAgICAgTW9kZSB1c2VzIGRvdWJsZXNj YW4KLSAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KLSAgICAgICAgICAg ICAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgIDx2YXJsaXN0ZW50 cnk+Ci0gICAgICAgICAgICAgICAgICAgICAgPHRlcm0+RFJNX01PREVfRkxBR19DU1lOQzwvdGVy bT4KLSAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAg ICAgICAgICAgICBNb2RlIHVzZXMgY29tcG9zaXRlIHN5bmMKLSAgICAgICAgICAgICAgICAgICAg ICA8L3BhcmE+PC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+ Ci0gICAgICAgICAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgICAg ICAgPHRlcm0+RFJNX01PREVfRkxBR19QQ1NZTkM8L3Rlcm0+Ci0gICAgICAgICAgICAgICAgICAg ICAgPGxpc3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICAgICAgQ29tcG9zaXRlIHN5 bmMgaXMgYWN0aXZlIGhpZ2gKLSAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRl bT4KLSAgICAgICAgICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAg ICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgICAgPHRlcm0+RFJNX01PREVf RkxBR19OQ1NZTkM8L3Rlcm0+Ci0gICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJh PgotICAgICAgICAgICAgICAgICAgICAgICAgQ29tcG9zaXRlIHN5bmMgaXMgYWN0aXZlIGxvdwot ICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgotICAgICAgICAgICAgICAg ICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgPHZhcmxpc3RlbnRyeT4K LSAgICAgICAgICAgICAgICAgICAgICA8dGVybT5EUk1fTU9ERV9GTEFHX0hTS0VXPC90ZXJtPgot ICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAg ICAgICAgIGhza2V3IHByb3ZpZGVkIChub3QgdXNlZD8pCi0gICAgICAgICAgICAgICAgICAgICAg PC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5Pgot ICAgICAgICAgICAgICAgICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgICAgICAg IDx0ZXJtPkRSTV9NT0RFX0ZMQUdfQkNBU1Q8L3Rlcm0+Ci0gICAgICAgICAgICAgICAgICAgICAg PGxpc3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICAgICAgbm90IHVzZWQ/Ci0gICAg ICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAg IDwvdmFybGlzdGVudHJ5PgotICAgICAgICAgICAgICAgICAgICA8dmFybGlzdGVudHJ5PgotICAg ICAgICAgICAgICAgICAgICAgIDx0ZXJtPkRSTV9NT0RFX0ZMQUdfUElYTVVYPC90ZXJtPgotICAg ICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAg ICAgIG5vdCB1c2VkPwotICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgot ICAgICAgICAgICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgICAgICAgICAg PHZhcmxpc3RlbnRyeT4KLSAgICAgICAgICAgICAgICAgICAgICA8dGVybT5EUk1fTU9ERV9GTEFH X0RCTENMSzwvdGVybT4KLSAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0g ICAgICAgICAgICAgICAgICAgICAgICBub3QgdXNlZD8KLSAgICAgICAgICAgICAgICAgICAgICA8 L3BhcmE+PC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0g ICAgICAgICAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgICAgICAg PHRlcm0+RFJNX01PREVfRkxBR19DTEtESVYyPC90ZXJtPgotICAgICAgICAgICAgICAgICAgICAg IDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgICAgID8KLSAgICAgICAgICAg ICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPC92YXJs aXN0ZW50cnk+Ci0gICAgICAgICAgICAgICAgICA8L3ZhcmlhYmxlbGlzdD4KLSAgICAgICAgICAg ICAgICA8L3BhcmE+Ci0gICAgICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgICAgICBO b3RlIHRoYXQgbW9kZXMgbWFya2VkIHdpdGggdGhlIElOVEVSTEFDRSBvciBEQkxTQ0FOIGZsYWdz IHdpbGwgYmUKLSAgICAgICAgICAgICAgICAgIGZpbHRlcmVkIG91dCBieQotICAgICAgICAgICAg ICAgICAgPGZ1bmN0aW9uPmRybV9oZWxwZXJfcHJvYmVfc2luZ2xlX2Nvbm5lY3Rvcl9tb2Rlczwv ZnVuY3Rpb24+IGlmCi0gICAgICAgICAgICAgICAgICB0aGUgY29ubmVjdG9yJ3MgPHN0cnVjdGZp ZWxkPmludGVybGFjZV9hbGxvd2VkPC9zdHJ1Y3RmaWVsZD4gb3IKLSAgICAgICAgICAgICAgICAg IDxzdHJ1Y3RmaWVsZD5kb3VibGVzY2FuX2FsbG93ZWQ8L3N0cnVjdGZpZWxkPiBmaWVsZCBpcyBz ZXQgdG8gMC4KLSAgICAgICAgICAgICAgICA8L3BhcmE+Ci0gICAgICAgICAgICAgIDwvbGlzdGl0 ZW0+Ci0gICAgICAgICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgICAgICAgICA8c3lub3BzaXM+ Y2hhciBuYW1lW0RSTV9ESVNQTEFZX01PREVfTEVOXTs8L3N5bm9wc2lzPgotICAgICAgICAgICAg ICAgIDxwYXJhPgotICAgICAgICAgICAgICAgICAgTW9kZSBuYW1lLiBUaGUgZHJpdmVyIG11c3Qg Y2FsbAotICAgICAgICAgICAgICAgICAgPGZ1bmN0aW9uPmRybV9tb2RlX3NldF9uYW1lPC9mdW5j dGlvbj4gdG8gZmlsbCB0aGUgbW9kZSBuYW1lIGZyb20KLSAgICAgICAgICAgICAgICAgIDxzdHJ1 Y3RmaWVsZD5oZGlzcGxheTwvc3RydWN0ZmllbGQ+LAotICAgICAgICAgICAgICAgICAgPHN0cnVj dGZpZWxkPnZkaXNwbGF5PC9zdHJ1Y3RmaWVsZD4gYW5kIGludGVybGFjZSBmbGFnIGFmdGVyCi0g ICAgICAgICAgICAgICAgICBmaWxsaW5nIHRoZSBjb3JyZXNwb25kaW5nIGZpZWxkcy4KLSAgICAg ICAgICAgICAgICA8L3BhcmE+Ci0gICAgICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgICAg ICA8L2l0ZW1pemVkbGlzdD4KLSAgICAgICAgICA8L3BhcmE+Ci0gICAgICAgICAgPHBhcmE+CiAg ICAgICAgICAgICBUaGUgPHN0cnVjdGZpZWxkPnZyZWZyZXNoPC9zdHJ1Y3RmaWVsZD4gdmFsdWUg aXMgY29tcHV0ZWQgYnkKICAgICAgICAgICAgIDxmdW5jdGlvbj5kcm1faGVscGVyX3Byb2JlX3Np bmdsZV9jb25uZWN0b3JfbW9kZXM8L2Z1bmN0aW9uPi4KICAgICAgICAgICA8L3BhcmE+CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X21vZGVzLmMKaW5kZXggNWY3OWI5MzM0YTM4Li4wNDExMzhmNWFjYzkgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVz LmMKQEAgLTcwOCw3ICs3MDgsOCBAQCB2b2lkIGRybV9tb2RlX3NldF9uYW1lKHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlKQogfQogRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9zZXRfbmFtZSk7 CiAKLS8qKiBkcm1fbW9kZV9oc3luYyAtIGdldCB0aGUgaHN5bmMgb2YgYSBtb2RlCisvKioKKyAq IGRybV9tb2RlX2hzeW5jIC0gZ2V0IHRoZSBoc3luYyBvZiBhIG1vZGUKICAqIEBtb2RlOiBtb2Rl CiAgKgogICogUmV0dXJuczoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tb2Rlcy5oIGIv aW5jbHVkZS9kcm0vZHJtX21vZGVzLmgKaW5kZXggZjkxMTVhZWU0M2Y0Li5jZDNjNDIyNTZhYjgg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9tb2Rlcy5oCisrKyBiL2luY2x1ZGUvZHJtL2Ry bV9tb2Rlcy5oCkBAIC0zNSw0NiArMzUsOTEgQEAKICAqIHN0cnVjdHVyZXMpLgogICovCiAKKy8q KgorICogZW51bSBkcm1fbW9kZV9zdGF0dXMgLSBoYXJkd2FyZSBzdXBwb3J0IHN0YXR1cyBvZiBh IG1vZGUKKyAqIEBNT0RFX09LOiBNb2RlIE9LCisgKiBATU9ERV9IU1lOQzogaHN5bmMgb3V0IG9m IHJhbmdlCisgKiBATU9ERV9WU1lOQzogdnN5bmMgb3V0IG9mIHJhbmdlCisgKiBATU9ERV9IX0lM TEVHQUw6IG1vZGUgaGFzIGlsbGVnYWwgaG9yaXpvbnRhbCB0aW1pbmdzCisgKiBATU9ERV9WX0lM TEVHQUw6IG1vZGUgaGFzIGlsbGVnYWwgaG9yaXpvbnRhbCB0aW1pbmdzCisgKiBATU9ERV9CQURf V0lEVEg6IHJlcXVpcmVzIGFuIHVuc3VwcG9ydGVkIGxpbmVwaXRjaAorICogQE1PREVfTk9NT0RF OiBubyBtb2RlIHdpdGggYSBtYXRjaGluZyBuYW1lCisgKiBATU9ERV9OT19JTlRFUkxBQ0U6IGlu dGVybGFjZWQgbW9kZSBub3Qgc3VwcG9ydGVkCisgKiBATU9ERV9OT19EQkxFU0NBTjogZG91Ymxl c2NhbiBtb2RlIG5vdCBzdXBwb3J0ZWQKKyAqIEBNT0RFX05PX1ZTQ0FOOiBtdWx0aXNjYW4gbW9k ZSBub3Qgc3VwcG9ydGVkCisgKiBATU9ERV9NRU06IGluc3VmZmljaWVudCB2aWRlbyBtZW1vcnkK KyAqIEBNT0RFX1ZJUlRVQUxfWDogbW9kZSB3aWR0aCB0b28gbGFyZ2UgZm9yIHNwZWNpZmllZCB2 aXJ0dWFsIHNpemUKKyAqIEBNT0RFX1ZJUlRVQUxfWTogbW9kZSBoZWlnaHQgdG9vIGxhcmdlIGZv ciBzcGVjaWZpZWQgdmlydHVhbCBzaXplCisgKiBATU9ERV9NRU1fVklSVDogaW5zdWZmaWNpZW50 IHZpZGVvIG1lbW9yeSBnaXZlbiB2aXJ0dWFsIHNpemUKKyAqIEBNT0RFX05PQ0xPQ0s6IG5vIGZp eGVkIGNsb2NrIGF2YWlsYWJsZQorICogQE1PREVfQ0xPQ0tfSElHSDogY2xvY2sgcmVxdWlyZWQg aXMgdG9vIGhpZ2gKKyAqIEBNT0RFX0NMT0NLX0xPVzogY2xvY2sgcmVxdWlyZWQgaXMgdG9vIGxv dworICogQE1PREVfQ0xPQ0tfUkFOR0U6IGNsb2NrL21vZGUgaXNuJ3QgaW4gYSBDbG9ja1Jhbmdl CisgKiBATU9ERV9CQURfSFZBTFVFOiBob3Jpem9udGFsIHRpbWluZyB3YXMgb3V0IG9mIHJhbmdl CisgKiBATU9ERV9CQURfVlZBTFVFOiB2ZXJ0aWNhbCB0aW1pbmcgd2FzIG91dCBvZiByYW5nZQor ICogQE1PREVfQkFEX1ZTQ0FOOiBWU2NhbiB2YWx1ZSBvdXQgb2YgcmFuZ2UKKyAqIEBNT0RFX0hT WU5DX05BUlJPVzogaG9yaXpvbnRhbCBzeW5jIHRvbyBuYXJyb3cKKyAqIEBNT0RFX0hTWU5DX1dJ REU6IGhvcml6b250YWwgc3luYyB0b28gd2lkZQorICogQE1PREVfSEJMQU5LX05BUlJPVzogaG9y aXpvbnRhbCBibGFua2luZyB0b28gbmFycm93CisgKiBATU9ERV9IQkxBTktfV0lERTogaG9yaXpv bnRhbCBibGFua2luZyB0b28gd2lkZQorICogQE1PREVfVlNZTkNfTkFSUk9XOiB2ZXJ0aWNhbCBz eW5jIHRvbyBuYXJyb3cKKyAqIEBNT0RFX1ZTWU5DX1dJREU6IHZlcnRpY2FsIHN5bmMgdG9vIHdp ZGUKKyAqIEBNT0RFX1ZCTEFOS19OQVJST1c6IHZlcnRpY2FsIGJsYW5raW5nIHRvbyBuYXJyb3cK KyAqIEBNT0RFX1ZCTEFOS19XSURFOiB2ZXJ0aWNhbCBibGFua2luZyB0b28gd2lkZQorICogQE1P REVfUEFORUw6IGV4Y2VlZHMgcGFuZWwgZGltZW5zaW9ucworICogQE1PREVfSU5URVJMQUNFX1dJ RFRIOiB3aWR0aCB0b28gbGFyZ2UgZm9yIGludGVybGFjZWQgbW9kZQorICogQE1PREVfT05FX1dJ RFRIOiBvbmx5IG9uZSB3aWR0aCBpcyBzdXBwb3J0ZWQKKyAqIEBNT0RFX09ORV9IRUlHSFQ6IG9u bHkgb25lIGhlaWdodCBpcyBzdXBwb3J0ZWQKKyAqIEBNT0RFX09ORV9TSVpFOiBvbmx5IG9uZSBy ZXNvbHV0aW9uIGlzIHN1cHBvcnRlZAorICogQE1PREVfTk9fUkVEVUNFRDogbW9uaXRvciBkb2Vz bid0IGFjY2VwdCByZWR1Y2VkIGJsYW5raW5nCisgKiBATU9ERV9OT19TVEVSRU86IHN0ZXJlbyBt b2RlcyBub3Qgc3VwcG9ydGVkCisgKiBATU9ERV9VTlZFUklGSUVEOiBtb2RlIG5lZWRzIHRvIHJl dmVyaWZpZWQKKyAqIEBNT0RFX0JBRDogdW5zcGVjaWZpZWQgcmVhc29uCisgKiBATU9ERV9FUlJP UjogZXJyb3IgY29uZGl0aW9uCisgKgorICogVGhpcyBlbnVtIGlzIHVzZWQgdG8gZmlsdGVyIG91 dCBtb2RlcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIvaGFyZHdhcmUKKyAqIGNvbWJpbmF0 aW9uLgorICovCiBlbnVtIGRybV9tb2RlX3N0YXR1cyB7Ci0gICAgTU9ERV9PSwk9IDAsCS8qIE1v ZGUgT0sgKi8KLSAgICBNT0RFX0hTWU5DLAkJLyogaHN5bmMgb3V0IG9mIHJhbmdlICovCi0gICAg TU9ERV9WU1lOQywJCS8qIHZzeW5jIG91dCBvZiByYW5nZSAqLwotICAgIE1PREVfSF9JTExFR0FM LAkvKiBtb2RlIGhhcyBpbGxlZ2FsIGhvcml6b250YWwgdGltaW5ncyAqLwotICAgIE1PREVfVl9J TExFR0FMLAkvKiBtb2RlIGhhcyBpbGxlZ2FsIGhvcml6b250YWwgdGltaW5ncyAqLwotICAgIE1P REVfQkFEX1dJRFRILAkvKiByZXF1aXJlcyBhbiB1bnN1cHBvcnRlZCBsaW5lcGl0Y2ggKi8KLSAg ICBNT0RFX05PTU9ERSwJLyogbm8gbW9kZSB3aXRoIGEgbWF0Y2hpbmcgbmFtZSAqLwotICAgIE1P REVfTk9fSU5URVJMQUNFLAkvKiBpbnRlcmxhY2VkIG1vZGUgbm90IHN1cHBvcnRlZCAqLwotICAg IE1PREVfTk9fREJMRVNDQU4sCS8qIGRvdWJsZXNjYW4gbW9kZSBub3Qgc3VwcG9ydGVkICovCi0g ICAgTU9ERV9OT19WU0NBTiwJLyogbXVsdGlzY2FuIG1vZGUgbm90IHN1cHBvcnRlZCAqLwotICAg IE1PREVfTUVNLAkJLyogaW5zdWZmaWNpZW50IHZpZGVvIG1lbW9yeSAqLwotICAgIE1PREVfVklS VFVBTF9YLAkvKiBtb2RlIHdpZHRoIHRvbyBsYXJnZSBmb3Igc3BlY2lmaWVkIHZpcnR1YWwgc2l6 ZSAqLwotICAgIE1PREVfVklSVFVBTF9ZLAkvKiBtb2RlIGhlaWdodCB0b28gbGFyZ2UgZm9yIHNw ZWNpZmllZCB2aXJ0dWFsIHNpemUgKi8KLSAgICBNT0RFX01FTV9WSVJULAkvKiBpbnN1ZmZpY2ll bnQgdmlkZW8gbWVtb3J5IGdpdmVuIHZpcnR1YWwgc2l6ZSAqLwotICAgIE1PREVfTk9DTE9DSywJ Lyogbm8gZml4ZWQgY2xvY2sgYXZhaWxhYmxlICovCi0gICAgTU9ERV9DTE9DS19ISUdILAkvKiBj bG9jayByZXF1aXJlZCBpcyB0b28gaGlnaCAqLwotICAgIE1PREVfQ0xPQ0tfTE9XLAkvKiBjbG9j ayByZXF1aXJlZCBpcyB0b28gbG93ICovCi0gICAgTU9ERV9DTE9DS19SQU5HRSwJLyogY2xvY2sv bW9kZSBpc24ndCBpbiBhIENsb2NrUmFuZ2UgKi8KLSAgICBNT0RFX0JBRF9IVkFMVUUsCS8qIGhv cml6b250YWwgdGltaW5nIHdhcyBvdXQgb2YgcmFuZ2UgKi8KLSAgICBNT0RFX0JBRF9WVkFMVUUs CS8qIHZlcnRpY2FsIHRpbWluZyB3YXMgb3V0IG9mIHJhbmdlICovCi0gICAgTU9ERV9CQURfVlND QU4sCS8qIFZTY2FuIHZhbHVlIG91dCBvZiByYW5nZSAqLwotICAgIE1PREVfSFNZTkNfTkFSUk9X LAkvKiBob3Jpem9udGFsIHN5bmMgdG9vIG5hcnJvdyAqLwotICAgIE1PREVfSFNZTkNfV0lERSwJ LyogaG9yaXpvbnRhbCBzeW5jIHRvbyB3aWRlICovCi0gICAgTU9ERV9IQkxBTktfTkFSUk9XLAkv KiBob3Jpem9udGFsIGJsYW5raW5nIHRvbyBuYXJyb3cgKi8KLSAgICBNT0RFX0hCTEFOS19XSURF LAkvKiBob3Jpem9udGFsIGJsYW5raW5nIHRvbyB3aWRlICovCi0gICAgTU9ERV9WU1lOQ19OQVJS T1csCS8qIHZlcnRpY2FsIHN5bmMgdG9vIG5hcnJvdyAqLwotICAgIE1PREVfVlNZTkNfV0lERSwJ LyogdmVydGljYWwgc3luYyB0b28gd2lkZSAqLwotICAgIE1PREVfVkJMQU5LX05BUlJPVywJLyog dmVydGljYWwgYmxhbmtpbmcgdG9vIG5hcnJvdyAqLwotICAgIE1PREVfVkJMQU5LX1dJREUsCS8q IHZlcnRpY2FsIGJsYW5raW5nIHRvbyB3aWRlICovCi0gICAgTU9ERV9QQU5FTCwgICAgICAgICAv KiBleGNlZWRzIHBhbmVsIGRpbWVuc2lvbnMgKi8KLSAgICBNT0RFX0lOVEVSTEFDRV9XSURUSCwg Lyogd2lkdGggdG9vIGxhcmdlIGZvciBpbnRlcmxhY2VkIG1vZGUgKi8KLSAgICBNT0RFX09ORV9X SURUSCwgICAgIC8qIG9ubHkgb25lIHdpZHRoIGlzIHN1cHBvcnRlZCAqLwotICAgIE1PREVfT05F X0hFSUdIVCwgICAgLyogb25seSBvbmUgaGVpZ2h0IGlzIHN1cHBvcnRlZCAqLwotICAgIE1PREVf T05FX1NJWkUsICAgICAgLyogb25seSBvbmUgcmVzb2x1dGlvbiBpcyBzdXBwb3J0ZWQgKi8KLSAg ICBNT0RFX05PX1JFRFVDRUQsICAgIC8qIG1vbml0b3IgZG9lc24ndCBhY2NlcHQgcmVkdWNlZCBi bGFua2luZyAqLwotICAgIE1PREVfTk9fU1RFUkVPLAkvKiBzdGVyZW8gbW9kZXMgbm90IHN1cHBv cnRlZCAqLwotICAgIE1PREVfVU5WRVJJRklFRCA9IC0zLCAvKiBtb2RlIG5lZWRzIHRvIHJldmVy aWZpZWQgKi8KLSAgICBNT0RFX0JBRCA9IC0yLAkvKiB1bnNwZWNpZmllZCByZWFzb24gKi8KLSAg ICBNT0RFX0VSUk9SCT0gLTEJLyogZXJyb3IgY29uZGl0aW9uICovCisJTU9ERV9PSwk9IDAsCisJ TU9ERV9IU1lOQywKKwlNT0RFX1ZTWU5DLAorCU1PREVfSF9JTExFR0FMLAorCU1PREVfVl9JTExF R0FMLAorCU1PREVfQkFEX1dJRFRILAorCU1PREVfTk9NT0RFLAorCU1PREVfTk9fSU5URVJMQUNF LAorCU1PREVfTk9fREJMRVNDQU4sCisJTU9ERV9OT19WU0NBTiwKKwlNT0RFX01FTSwKKwlNT0RF X1ZJUlRVQUxfWCwKKwlNT0RFX1ZJUlRVQUxfWSwKKwlNT0RFX01FTV9WSVJULAorCU1PREVfTk9D TE9DSywKKwlNT0RFX0NMT0NLX0hJR0gsCisJTU9ERV9DTE9DS19MT1csCisJTU9ERV9DTE9DS19S QU5HRSwKKwlNT0RFX0JBRF9IVkFMVUUsCisJTU9ERV9CQURfVlZBTFVFLAorCU1PREVfQkFEX1ZT Q0FOLAorCU1PREVfSFNZTkNfTkFSUk9XLAorCU1PREVfSFNZTkNfV0lERSwKKwlNT0RFX0hCTEFO S19OQVJST1csCisJTU9ERV9IQkxBTktfV0lERSwKKwlNT0RFX1ZTWU5DX05BUlJPVywKKwlNT0RF X1ZTWU5DX1dJREUsCisJTU9ERV9WQkxBTktfTkFSUk9XLAorCU1PREVfVkJMQU5LX1dJREUsCisJ TU9ERV9QQU5FTCwKKwlNT0RFX0lOVEVSTEFDRV9XSURUSCwKKwlNT0RFX09ORV9XSURUSCwKKwlN T0RFX09ORV9IRUlHSFQsCisJTU9ERV9PTkVfU0laRSwKKwlNT0RFX05PX1JFRFVDRUQsCisJTU9E RV9OT19TVEVSRU8sCisJTU9ERV9VTlZFUklGSUVEID0gLTMsCisJTU9ERV9CQUQgPSAtMiwKKwlN T0RFX0VSUk9SCT0gLTEKIH07CiAKICNkZWZpbmUgRFJNX01PREVfVFlQRV9DTE9DS19DUlRDX0Mg KERSTV9NT0RFX1RZUEVfQ0xPQ0tfQyB8IFwKQEAgLTk2LDE3ICsxNDEsMTI0IEBAIGVudW0gZHJt X21vZGVfc3RhdHVzIHsKIAogI2RlZmluZSBEUk1fTU9ERV9GTEFHXzNEX01BWAlEUk1fTU9ERV9G TEFHXzNEX1NJREVfQllfU0lERV9IQUxGCiAKKy8qKgorICogc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgLSBEUk0ga2VybmVsLWludGVybmFsIGRpc3BsYXkgbW9kZSBzdHJ1Y3R1cmUKKyAqIEBoZGlz cGxheTogaG9yaXpvbnRhbCBkaXNwbGF5IHNpemUKKyAqIEBoc3luY19zdGFydDogaG9yaXpvbnRh bCBzeW5jIHN0YXJ0CisgKiBAaHN5bmNfZW5kOiBob3Jpem9udGFsIHN5bmMgZW5kCisgKiBAaHRv dGFsOiBob3Jpem9udGFsIHRvdGFsIHNpemUKKyAqIEBoc2tldzogaG9yaXpvbnRhbCBza2V3PyEK KyAqIEB2ZGlzcGxheTogdmVydGljYWwgZGlzcGxheSBzaXplCisgKiBAdnN5bmNfc3RhcnQ6IHZl cnRpY2FsIHN5bmMgc3RhcnQKKyAqIEB2c3luY19lbmQ6IHZlcnRpY2FsIHN5bmMgZW5kCisgKiBA dnRvdGFsOiB2ZXJ0aWNhbCB0b3RhbCBzaXplCisgKiBAdnNjYW46IHZlcnRpY2FsIHNjYW4/IQor ICogQGNydGNfaGRpc3BsYXk6IGhhcmR3YXJlIG1vZGVob3Jpem9udGFsIGRpc3BsYXkgc2l6ZQor ICogQGNydGNfaHN5bmNfc3RhcnQ6IGhhcmR3YXJlIG1vZGVob3Jpem9udGFsIHN5bmMgc3RhcnQK KyAqIEBjcnRjX2hzeW5jX2VuZDogaGFyZHdhcmUgbW9kZWhvcml6b250YWwgc3luYyBlbmQKKyAq IEBjcnRjX2h0b3RhbDogaGFyZHdhcmUgbW9kZWhvcml6b250YWwgdG90YWwgc2l6ZQorICogQGNy dGNfaHNrZXc6IGhhcmR3YXJlIG1vZGVob3Jpem9udGFsIHNrZXc/IQorICogQGNydGNfdmRpc3Bs YXk6IGhhcmR3YXJlIG1vZGV2ZXJ0aWNhbCBkaXNwbGF5IHNpemUKKyAqIEBjcnRjX3ZzeW5jX3N0 YXJ0OiBoYXJkd2FyZSBtb2RldmVydGljYWwgc3luYyBzdGFydAorICogQGNydGNfdnN5bmNfZW5k OiBoYXJkd2FyZSBtb2RldmVydGljYWwgc3luYyBlbmQKKyAqIEBjcnRjX3Z0b3RhbDogaGFyZHdh cmUgbW9kZXZlcnRpY2FsIHRvdGFsIHNpemUKKyAqIEBjcnRjX3ZzY2FuOiBoYXJkd2FyZSBtb2Rl dmVydGljYWwgc2Nhbj8hCisgKgorICogVGhlIGhvcml6b250YWwgYW4gdmVydGljYWwgdGltaW5n cyBhcmUgZGVmaW5lZCBwZXIgdGhlIGZvbGxvd2luZyBkaWFncmFtOgorICoKKyAqCisgKiAgICAg ICAgICAgICAgIEFjdGl2ZSAgICAgICAgICAgICAgICAgRnJvbnQgICAgICAgICAgIFN5bmMgICAg ICAgICAgIEJhY2sKKyAqICAgICAgICAgICAgICBSZWdpb24gICAgICAgICAgICAgICAgIFBvcmNo ICAgICAgICAgICAgICAgICAgICAgICAgICBQb3JjaAorICogICAgIDwtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLT48LS0tLS0tLS0tLS0tLS0tLT48LS0tLS0tLS0tLS0tLT48LS0tLS0tLS0tLS0tLS0+ CisgKgorICogICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vL3wKKyAqICAgICAgLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLyB8CisgKiAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgfC4uLi4uLi4u Li4uLi4uLi4uLiAgICAgICAgICAgICAgIC4uLi4uLi4uLi4uLi4uLi4KKyAqICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19fX19fX19fX19fX19fCisgKgor ICogICAgIDwtLS0tLSBbaHZdZGlzcGxheSAtLS0tLT4KKyAqICAgICA8LS0tLS0tLS0tLS0tLSBb aHZdc3luY19zdGFydCAtLS0tLS0tLS0tLS0+CisgKiAgICAgPC0tLS0tLS0tLS0tLS0tLS0tLS0t LSBbaHZdc3luY19lbmQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tPgorICogICAgIDwtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBbaHZddG90YWwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0+KgorICoKKyAqIFRoaXMgc3RydWN0dXJlIGNvbnRhaW5zIHR3byBjb3BpZXMgb2YgdGlt aW5ncy4gRmlyc3QgYXJlIHRoZSBwbGFpbiB0aW1pbmdzLAorICogd2hpY2ggc3BlY2lmeSB0aGUg bG9naWNhbCBtb2RlLCBhcyBpdCB3b3VsZCBiZSBmb3IgYSBwcm9ncmVzc2l2ZSAxOjEgc2Nhbm91 dAorICogYXQgdGhlIHJlZnJlc2ggcmF0ZSB1c2Vyc3BhY2UgY2FuIG9ic2VydmUgdGhyb3VnaCB2 YmxhbmsgdGltZXN0YW1wcy4gVGhlbgorICogdGhlcmUncyB0aGUgaGFyZHdhcmUgdGltaW5ncywg d2hpY2ggYXJlIGNvcnJlY3RlZCBmb3IgaW50ZXJsYWNpbmcsCisgKiBkb3VibGUtY2xvY2tpbmcg YW5kIHNpbWlsYXIgdGhpbmdzLiBUaGV5IGFyZSBwcm92aWRlZCBhcyBhIGNvbnZpZW5jZSwgYW5k IGNhbgorICogYmUgYXBwcm9wcmlhdGVseSBjb21wdXRlZCB1c2luZyBkcm1fbW9kZV9zZXRfY3J0 Y2luZm8oKS4KKyAqLwogc3RydWN0IGRybV9kaXNwbGF5X21vZGUgewotCS8qIEhlYWRlciAqLwor CS8qKgorCSAqIEBoZWFkOgorCSAqCisJICogc3RydWN0IGxpc3RfaGVhZCBmb3IgbW9kZSBsaXN0 cy4KKwkgKi8KIAlzdHJ1Y3QgbGlzdF9oZWFkIGhlYWQ7CisKKwkvKioKKwkgKiBAYmFzZToKKwkg KgorCSAqIEEgZGlzcGxheSBtb2RlIGlzIGEgbm9ybWFsIG1vZGVzZXQgb2JqZWN0LCBwb3NzaWJs eSBpbmNsdWRpbmcgcHVibGljCisJICogdXNlcnNwYWNlIGlkLgorCSAqCisJICogRklYTUU6CisJ ICoKKwkgKiBUaGlzIGNhbiBwcm9iYWJseSBiZSByZW1vdmVkIHNpbmNlIHRoZSBlbnRpcmUgY29u Y2VwdCBvZiB1c2Vyc3BhY2UKKwkgKiBtYW5hZ2luZyBtb2RlcyBleHBsaWNpdGx5IGhhc24ndCBl dmVyIGxhbmRlZCBpbiB1cHN0cmVhbSBrZXJuZWwgbW9kZQorCSAqIHNldHRpbmcgc3VwcG9ydC4K KwkgKi8KIAlzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0IGJhc2U7CiAKKwkvKioKKwkgKiBAbmFtZToK KwkgKgorCSAqIEh1bWFuLXJlYWRhYmxlIG5hbWUgb2YgdGhlIG1vZGUsIGZpbGxlZCBvdXQgd2l0 aCBkcm1fbW9kZV9zZXRfbmFtZSgpLgorCSAqLwogCWNoYXIgbmFtZVtEUk1fRElTUExBWV9NT0RF X0xFTl07CiAKKwkvKioKKwkgKiBAc3RhdHVzOgorCSAqCisJICogU3RhdHVzIG9mIHRoZSBtb2Rl LCB1c2VkIHRvIGZpbHRlciBvdXQgbW9kZXMgbm90IHN1cHBvcnRlZCBieSB0aGUKKwkgKiBoYXJk d2FyZS4gU2VlIGVudW0gJmRybV9tb2RlX3N0YXR1cy4KKwkgKi8KIAllbnVtIGRybV9tb2RlX3N0 YXR1cyBzdGF0dXM7CisKKwkvKioKKwkgKiBAdHlwZToKKwkgKgorCSAqIEEgYml0bWFzayBvZiBm bGFncywgbW9zdGx5IGFib3V0IHRoZSBzb3VyY2Ugb2YgYSBtb2RlLiBQb3NzaWJsZSBmbGFncwor CSAqIGFyZToKKwkgKgorCSAqICAtIERSTV9NT0RFX1RZUEVfQlVJTFRJTjogTWVhbnQgZm9yIGhh cmQtY29kZWQgbW9kZXMsIGVmZmVjdGl2ZWx5CisJICogICAgdW51c2VkLgorCSAqICAtIERSTV9N T0RFX1RZUEVfUFJFRkVSUkVEOiBQcmVmZXJyZWQgbW9kZSwgdXN1YWxseSB0aGUgbmF0aXZlCisJ ICogICAgcmVzb2x1dGlvbiBvZiBhbiBMQ0QgcGFuZWwuIFRoZXJlIHNob3VsZCBvbmx5IGJlIG9u ZSBwcmVmZXJyZWQKKwkgKiAgICBtb2RlIHBlciBjb25uZWN0b3IgYXQgYW55IGdpdmVuIHRpbWUu CisJICogIC0gRFJNX01PREVfVFlQRV9EUklWRVI6IE1vZGUgY3JlYXRlZCBieSB0aGUgZHJpdmVy LCB3aGljaCBpcyBhbGwgb2YKKwkgKiAgICB0aGVtIHJlYWxseS4gRHJpdmVycyBtdXN0IHNldCB0 aGlzIGJpdCBmb3IgYWxsIG1vZGVzIHRoZXkgY3JlYXRlCisJICogICAgYW5kIGV4cG9zZSB0byB1 c2Vyc3BhY2UuCisJICoKKwkgKiBQbHVzIGEgYmlnIGxpc3Qgb2YgZmxhZ3Mgd2hpY2ggc2hvdWxk bid0IGJlIHVzZWQgYXQgYWxsLCBidXQgYXJlCisJICogc3RpbGwgYXJvdW5kIHNpbmNlIHRoZXNl IGZsYWdzIGFyZSBhbHNvIHVzZWQgaW4gdGhlIHVzZXJzcGFjZSBBQkk6CisJICoKKwkgKiAgLSBE Uk1fTU9ERV9UWVBFX0RFRkFVTFQ6IEFnYWluIGEgbGVmdG92ZXIsIHVzZQorCSAqICAgIERSTV9N T0RFX1RZUEVfUFJFRkVSUkVEIGluc3RlYWQuCisJICogIC0gRFJNX01PREVfVFlQRV9DTE9DS19D IGFuZCBEUk1fTU9ERV9UWVBFX0NSVENfQzogRGVmaW5lIGxlZnRvdmVycworCSAqICAgIHdoaWNo IGFyZSBzdHVjayBhcm91bmQgZm9yIGh5c3RlcmljYWwgcmFpc2lucyBvbmx5LiBObyBvbmUgaGFz IGFuCisJICogICAgaWRlYSB3aGF0IHRoZXkgd2hlcmUgbWVhbnQgZm9yLiBEb24ndCB1c2UuCisJ ICogIC0gRFJNX01PREVfVFlQRV9VU0VSREVGOiBNb2RlIGRlZmluZWQgYnkgdXNlcnNwYWNlLCBh Z2FpbiBhIHZlc3RpZ2UKKwkgKiAgICBmcm9tIG9sZGVyIGttcyBkZXNpZ25zIHdoZXJlIHVzZXJz cGFjZSBoYWQgdG8gZmlyc3QgYWRkIGEgY3VzdG9tCisJICogICAgbW9kZSB0byB0aGUga2VybmVs J3MgbW9kZSBsaXN0IGJlZm9yZSBpdCBjb3VsZCB1c2UgaXQuIERvbid0IHVzZS4KKwkgKi8KIAl1 bnNpZ25lZCBpbnQgdHlwZTsKIAotCS8qIFByb3Bvc2VkIG1vZGUgdmFsdWVzICovCisJLyoqCisJ ICogQGNsb2NrOgorCSAqCisJICogUGl4ZWwgY2xvY2sgaW4ga0h6LgorCSAqLwogCWludCBjbG9j azsJCS8qIGluIGtIeiAqLwogCWludCBoZGlzcGxheTsKIAlpbnQgaHN5bmNfc3RhcnQ7CkBAIC0x MTgsMTQgKzI3MCw3NCBAQCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSB7CiAJaW50IHZzeW5jX2Vu ZDsKIAlpbnQgdnRvdGFsOwogCWludCB2c2NhbjsKKwkvKioKKwkgKiBAZmxhZ3M6CisJICoKKwkg KiBTeW5jIGFuZCB0aW1pbmcgZmxhZ3M6CisJICoKKwkgKiAgLSBEUk1fTU9ERV9GTEFHX1BIU1lO QzogaG9yaXpvbnRhbCBzeW5jIGlzIGFjdGl2ZSBoaWdoLgorCSAqICAtIERSTV9NT0RFX0ZMQUdf TkhTWU5DOiBob3Jpem9udGFsIHN5bmMgaXMgYWN0aXZlIGxvdy4KKwkgKiAgLSBEUk1fTU9ERV9G TEFHX1BWU1lOQzogdmVydGljYWwgc3luYyBpcyBhY3RpdmUgaGlnaC4KKwkgKiAgLSBEUk1fTU9E RV9GTEFHX05WU1lOQzogdmVydGljYWwgc3luYyBpcyBhY3RpdmUgbG93LgorCSAqICAtIERSTV9N T0RFX0ZMQUdfSU5URVJMQUNFOiBtb2RlIGlzIGludGVybGFjZWQuCisJICogIC0gRFJNX01PREVf RkxBR19EQkxTQ0FOOiBtb2RlIHVzZXMgZG91Ymxlc2Nhbi4KKwkgKiAgLSBEUk1fTU9ERV9GTEFH X0NTWU5DOiBtb2RlIHVzZXMgY29tcG9zaXRlIHN5bmMuCisJICogIC0gRFJNX01PREVfRkxBR19Q Q1NZTkM6IGNvbXBvc2l0ZSBzeW5jIGlzIGFjdGl2ZSBoaWdoLgorCSAqICAtIERSTV9NT0RFX0ZM QUdfTkNTWU5DOiBjb21wb3NpdGUgc3luYyBpcyBhY3RpdmUgbG93LgorCSAqICAtIERSTV9NT0RF X0ZMQUdfSFNLRVc6IGhza2V3IHByb3ZpZGVkIChub3QgdXNlZD8pLgorCSAqICAtIERSTV9NT0RF X0ZMQUdfQkNBU1Q6IG5vdCB1c2VkPworCSAqICAtIERSTV9NT0RFX0ZMQUdfUElYTVVYOiBub3Qg dXNlZD8KKwkgKiAgLSBEUk1fTU9ERV9GTEFHX0RCTENMSzogZG91YmxlLWNsb2NrZWQgbW9kZS4K KwkgKiAgLSBEUk1fTU9ERV9GTEFHX0NMS0RJVjI6IGhhbGYtY2xvY2tlZCBtb2RlLgorCSAqCisJ ICogQWRkaXRpb25hbGx5IHRoZXJlJ3MgZmxhZ3MgdG8gc3BlY2lmeSBob3cgM0QgbW9kZXMgYXJl IHBhY2tlZDoKKwkgKgorCSAqICAtIERSTV9NT0RFX0ZMQUdfM0RfTk9ORTogbm9ybWFsLCBub24t M0QgbW9kZS4KKwkgKiAgLSBEUk1fTU9ERV9GTEFHXzNEX0ZSQU1FX1BBQ0tJTkc6IDIgZnVsbCBm cmFtZXMgZm9yIGxlZnQgYW5kIHJpZ2h0LgorCSAqICAtIERSTV9NT0RFX0ZMQUdfM0RfRklFTERf QUxURVJOQVRJVkU6IGludGVybGVhdmVkIGxpa2UgZmllbGRzLgorCSAqICAtIERSTV9NT0RFX0ZM QUdfM0RfTElORV9BTFRFUk5BVElWRTogaW50ZXJsZWF2ZWQgbGluZXMuCisJICogIC0gRFJNX01P REVfRkxBR18zRF9TSURFX0JZX1NJREVfRlVMTDogc2lkZS1ieS1zaWRlIGZ1bGwgZnJhbWVzLgor CSAqICAtIERSTV9NT0RFX0ZMQUdfM0RfTF9ERVBUSDoJPworCSAqICAtIERSTV9NT0RFX0ZMQUdf M0RfTF9ERVBUSF9HRlhfR0ZYX0RFUFRIOiA/CisJICogIC0gRFJNX01PREVfRkxBR18zRF9UT1Bf QU5EX0JPVFRPTTogZnJhbWUgc3BsaXQgaW50byB0b3AgYW5kIGJvdHRvbQorCSAqICAgIHBhcnRz LgorCSAqICAtIERSTV9NT0RFX0ZMQUdfM0RfU0lERV9CWV9TSURFX0hBTEY6IGZyYW1lIHNwbGl0 IGludG8gbGVmdCBhbmQKKwkgKiAgICByaWdodCBwYXJ0cy4KKwkgKi8KIAl1bnNpZ25lZCBpbnQg ZmxhZ3M7CiAKLQkvKiBBZGRyZXNzYWJsZSBpbWFnZSBzaXplIChtYXkgYmUgMCBmb3IgcHJvamVj dG9ycywgZXRjLikgKi8KKwkvKioKKwkgKiBAd2lkdGhfbW06CisJICoKKwkgKiBBZGRyZXNzYWJs ZSBzaXplIG9mIHRoZSBvdXRwdXQgaW4gbW0sIHByb2plY3RvcnMgc2hvdWxkIHNldCB0aGlzIHRv CisJICogMC4KKwkgKi8KIAlpbnQgd2lkdGhfbW07CisKKwkvKioKKwkgKiBAaGVpZ2h0X21tOgor CSAqCisJICogQWRkcmVzc2FibGUgc2l6ZSBvZiB0aGUgb3V0cHV0IGluIG1tLCBwcm9qZWN0b3Jz IHNob3VsZCBzZXQgdGhpcyB0bworCSAqIDAuCisJICovCiAJaW50IGhlaWdodF9tbTsKIAotCS8q IEFjdHVhbCBtb2RlIHdlIGdpdmUgdG8gaHcgKi8KLQlpbnQgY3J0Y19jbG9jazsJCS8qIGluIEtI eiAqLworCS8qKgorCSAqIEBjcnRjX2Nsb2NrOgorCSAqCisJICogQWN0dWFsIHBpeGVsIG9yIGRv dCBjbG9jayBpbiB0aGUgaGFyZHdhcmUuIFRoaXMgZGlmZmVycyBmcm9tIHRoZQorCSAqIGxvZ2lj YWwgQGNsb2NrIHdoZW4gZS5nLiB1c2luZyBpbnRlcmxhY2luZywgZG91YmxlLWNsb2NraW5nLCBz dGVyZW8KKwkgKiBtb2RlcyBvciBvdGhlciBmYW5jeSBzdHVmZiB0aGF0IGNoYW5nZXMgdGhlIHRp bWluZ3MgYW5kIHNpZ25hbHMKKwkgKiBhY3R1YWxseSBzZW50IG92ZXIgdGhlIHdpcmUuCisJICoK KwkgKiBUaGlzIGlzIGFnYWluIGluIGtIei4KKwkgKgorCSAqIE5vdGUgdGhhdCB3aXRoIGRpZ2l0 YWwgb3V0cHV0cyBsaWtlIEhETUkgb3IgRFAgdGhlcmUncyB1c3VhbGx5IGEKKwkgKiBtYXNzaXZl IGNvbmZ1c2lvbiBiZXR3ZWVuIHRoZSBkb3QgY2xvY2sgYW5kIHRoZSBzaWduYWwgY2xvY2sgYXQg dGhlCisJICogYml0IGVuY29kaW5nIGxldmVsLiBFc3BlY2lhbGx5IHdoZW4gYSA4Yi8xMGIgZW5j b2RpbmcgaXMgdXNlZCBhbmQgdGhlCisJICogZGlmZmVyZW5jZXMgaXMgZXhhY3RseSBhIGZhY3Rv ciBvZiAxMC4KKwkgKi8KKwlpbnQgY3J0Y19jbG9jazsKIAlpbnQgY3J0Y19oZGlzcGxheTsKIAlp bnQgY3J0Y19oYmxhbmtfc3RhcnQ7CiAJaW50IGNydGNfaGJsYW5rX2VuZDsKQEAgLTE0MCwxMiAr MzUyLDQ4IEBAIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIHsKIAlpbnQgY3J0Y192c3luY19lbmQ7 CiAJaW50IGNydGNfdnRvdGFsOwogCi0JLyogRHJpdmVyIHByaXZhdGUgbW9kZSBpbmZvICovCisJ LyoqCisJICogQHByaXZhdGU6CisJICoKKwkgKiBQb2ludGVyIGZvciBkcml2ZXIgcHJpdmF0ZSBk YXRhLiBUaGlzIGNhbiBvbmx5IGJlIHVzZWQgZm9yIG1vZGUKKwkgKiBvYmplY3RzIHBhc3NlZCB0 byBkcml2ZXJzIGluIG1vZGVzZXQgb3BlcmF0aW9ucy4gSXQgc2hvdWxkbid0IGJlIHVzZWQKKwkg KiBieSBhdG9taWMgZHJpdmVycyBzaW5jZSB0aGV5IGNhbiBzdG9yZSBhbnkgYWRkaXRpb25hbCBk YXRhIGJ5CisJICogc3ViY2xhc3Npbmcgc3RhdGUgc3RydWN0dXJlcy4KKwkgKi8KIAlpbnQgKnBy aXZhdGU7CisKKwkvKioKKwkgKiBAcHJpdmF0ZV9mbGFnczoKKwkgKgorCSAqIFNpbWlsYXIgdG8g QHByaXZhdGUsIGJ1dCBqdXN0IGFuIGludGVnZXIuCisJICovCiAJaW50IHByaXZhdGVfZmxhZ3M7 CiAKLQlpbnQgdnJlZnJlc2g7CQkvKiBpbiBIeiAqLwotCWludCBoc3luYzsJCS8qIGluIGtIeiAq LworCS8qKgorCSAqIEB2cmVmcmVzaDoKKwkgKgorCSAqIFZlcnRpY2FsIHJlZnJlc2ggcmF0ZSwg Zm9yIGRlYnVnIG91dHB1dCBpbiBodW1hbiByZWFkYWJsZSBmb3JtLiBOb3QKKwkgKiB1c2VkIGlu IGEgZnVuY3Rpb25hbCB3YXkuCisJICoKKwkgKiBUaGlzIHZhbHVlIGlzIGluIEh6LgorCSAqLwor CWludCB2cmVmcmVzaDsKKworCS8qKgorCSAqIEBoc3luYzoKKwkgKgorCSAqIEhvcml6b250YWwg cmVmcmVzaCByYXRlLCBmb3IgZGVidWcgb3V0cHV0IGluIGh1bWFuIHJlYWRhYmxlIGZvcm0uIE5v dAorCSAqIHVzZWQgaW4gYSBmdW5jdGlvbmFsIHdheS4KKwkgKgorCSAqIFRoaXMgdmFsdWUgaXMg aW4ga0h6LgorCSAqLworCWludCBoc3luYzsKKworCS8qKgorCSAqIEBwaWN0dXJlX2FzcGVjdF9y YXRpbzoKKwkgKgorCSAqIEZpbGVkIGZvciBzZXR0aW5nIHRoZSBIRE1JIHBpY3R1cmUgYXNwZWN0 IHJhdGlvIG9mIGEgbW9kZS4KKwkgKi8KIAllbnVtIGhkbWlfcGljdHVyZV9hc3BlY3QgcGljdHVy ZV9hc3BlY3RfcmF0aW87CiB9OwogCi0tIAoyLjUuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK