From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [RFC] drm: Start documenting userspace ABI Date: Tue, 18 Nov 2014 15:19:33 +0100 Message-ID: <1416320373-18445-1-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 mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by gabe.freedesktop.org (Postfix) with ESMTP id 2FBDA6E4E6 for ; Tue, 18 Nov 2014 06:19:38 -0800 (PST) Received: by mail-wi0-f172.google.com with SMTP id n3so1969534wiv.5 for ; Tue, 18 Nov 2014 06:19:35 -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-devel@lists.freedesktop.org Cc: Daniel Vetter , Laurent Pinchart List-Id: dri-devel@lists.freedesktop.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCkFmdGVyIHNlZWluZyBo b3cgdGhlIERSTV9JT0NUTF9NT0RFX0NSRUFURV9EVU1CIHdhcyBpbXBsZW1lbnRlZCB3aXRoCmRp ZmZlcmVudCBzZW1hbnRpY3Mgb24gZGlmZmVyZW50IGRyaXZlcnMgaXQgc2VlbXMgbGlrZSBhIGdv b2QgaWRlYSB0bwpzdGFydCB0byBtb3JlIHJpZ29yb3VzbHkgZG9jdW1lbnQgdXNlcnNwYWNlIEFC SSB0byBhdm9pZCB0aGVzZSB0aGluZ3MKaW4gdGhlIGZ1dHVyZS4KClRoaXMgaXMgYSBmaXJzdCBk cmFmdCBvZiB3aGF0IHN1Y2ggZG9jdW1lbnRhdGlvbiBjb3VsZCBsb29rIGxpa2UuIE5vdAphbGwg SU9DVExzIGFyZSBkb2N1bWVudGVkIGFuZCBzb21lIGV4cGxhbmF0aW9uIGFib3V0IHRoZSBvdGhl ciBzeXN0ZW0KY2FsbHMgKG1tYXAoKSwgcG9sbCgpLCByZWFkKCksIC4uLikgd291bGQgYmUgZ29v ZCB0b28uIEJ1dCBJIHdhbnRlZCB0bwpzZW5kIHRoaXMgb3V0IGZvciBlYXJseSByZXZpZXcgdG8g c2VlIGlmIHRoZSBkaXJlY3Rpb24gaXMgcmVhc29uYWJsZS4KSWYgc28gbXkgcGxhbiBpcyB0byBj b250aW51ZSB0byBjaGlwIGF3YXkgYXQgdGhpcyBhcyBJIGZpbmQgdGltZS4KClNpZ25lZC1vZmYt Ynk6IFRoaWVycnkgUmVkaW5nIDx0cmVkaW5nQG52aWRpYS5jb20+Ci0tLQogRG9jdW1lbnRhdGlv bi9Eb2NCb29rL2RybS50bXBsIHwgNzAwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystCiBpbmNsdWRlL3VhcGkvZHJtL2RybS5oICAgICAgICAgfCAgOTUgKysrKy0tCiAy IGZpbGVzIGNoYW5nZWQsIDc3MyBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZHJtLnRtcGwgYi9Eb2N1bWVudGF0aW9uL0Rv Y0Jvb2svZHJtLnRtcGwKaW5kZXggZmZlMGQ5YjQxODI2Li5iYzEyNWMwNDMwMzIgMTAwNjQ0Ci0t LSBhL0RvY3VtZW50YXRpb24vRG9jQm9vay9kcm0udG1wbAorKysgYi9Eb2N1bWVudGF0aW9uL0Rv Y0Jvb2svZHJtLnRtcGwKQEAgLTM4MzEsOCArMzgzMSw3MDYgQEAgaW50IG51bV9pb2N0bHM7PC9z eW5vcHNpcz4KIAogICA8L2NoYXB0ZXI+CiA8L3BhcnQ+Cis8cGFydCBpZD0iZHJtQUJJIj4KKyAg PHRpdGxlPkRSTSBVc2Vyc3BhY2UgQUJJPC90aXRsZT4KKyAgPHBhcnRpbnRybz4KKyAgICA8cGFy YT4KKyAgICAgIFRoaXMgdGhpcmQgcGFydCBvZiB0aGUgRFJNIERldmVsb3BlcidzIEd1aWRlIGRv Y3VtZW50cyB1c2Vyc3BhY2UKKyAgICAgIGludGVyZmFjZXMuIERSTSBkZXZpY2VzIGNhbiBiZSBh Y2Nlc3NlZCB1c2luZyBzdGFuZGFyZCBmaWxlIG9wZXJhdGlvbnMKKyAgICAgIHN1Y2ggYXMgb3Bl bigpLCBjbG9zZSgpLCBpb2N0bCgpIG9yIG1tYXAoKS4gSG93IHRoZXNlIHRyYW5zbGF0ZSB0byB0 aGUKKyAgICAgIERSTSBkcml2ZXJzIGlzIGV4cGxhaW5lZCBpbiB0aGUgZm9sbG93aW5nIGNoYXB0 ZXJzLgorICAgIDwvcGFyYT4KKyAgICA8cGFyYT4KKyAgICAgIEZvciBkcml2ZXItc3BlY2lmaWMg dXNlcnNwYWNlIGludGVyZmFjZXMgKGJ1ZmZlciBhbGxvY2F0aW9uIGFuZAorICAgICAgbWFuYWdl bWVudCwgY29tbWFuZCBzdHJlYW0gc3VibWlzc2lvbiwgLi4uKSByZWZlciB0byB0aGUgZHJpdmVy LXNwZWNpZmljCisgICAgICBzZWN0aW9ucyBpbiA8bGluayBsaW5rZW5kPSJkcm1Ecml2ZXJzIiBl bmR0ZXJtPSJkcm1Ecml2ZXJzLnRpdGxlIi8+LgorICAgIDwvcGFyYT4KKyAgPC9wYXJ0aW50cm8+ CisgIDxjaGFwdGVyIGlkPSJkcm1Jb2N0bCI+CisgICAgPHRpdGxlPkRSTSBJT0NUTHM8L3RpdGxl PgorICAgIDxwYXJhPgorICAgICAgQSBudW1iZXIgb2YgSU9DVExzIGNhbiBiZSBwZXJmb3JtZWQg b24gYSBEUk0gZGV2aWNlIG5vZGUuIE1hbnkgb2YgdGhlbQorICAgICAgYXJlIGdlbmVyaWMgYW5k IGFwcGx5IHRvIGFsbCBkZXZpY2VzLCBvdGhlcnMgYXJlIGNvbnNpZGVyZWQgbGVnYWN5IGFuZAor ICAgICAgc2hvdWxkIG5vIGxvbmdlciBiZSB1c2VkIGluIG5ldyB1c2Vyc3BhY2UgYXBwbGljYXRp b25zLgorICAgIDwvcGFyYT4KKyAgICA8c2VjdDE+CisgICAgICA8dGl0bGU+SWRlbnRpZmljYXRp b248L3RpdGxlPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX1ZFUlNJ T04gLSBxdWVyeSBkcml2ZXIgbmFtZSBhbmQgdmVyc2lvbjwvdGl0bGU+CisgICAgICAgIDxwYXJh PgorICAgICAgICAgIEFmdGVyIG9wZW5pbmcgYSBEUk0gZGV2aWNlLCB1c2Vyc3BhY2UgYXBwbGlj YXRpb25zIHdpbGwgdHlwaWNhbGx5CisgICAgICAgICAgd2FudCB0byBpZGVudGlmeSB0aGUgZHJp dmVyIGJvdW5kIHRvIHRoZSBkZXZpY2UuIFRoZXkgY2FuIHVzZSB0aGlzCisgICAgICAgICAgSU9D VEwgdG8gb2J0YWluIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkcml2ZXIgaW4gdGhlIGZvcm0gb2Yg YQorICAgICAgICAgIDxzdHJ1Y3RuYW1lPmRybV92ZXJzaW9uPC9zdHJ1Y3RuYW1lPiBzdHJ1Y3R1 cmUuCisgICAgICAgIDwvcGFyYT4KKyFGaW5jbHVkZS91YXBpL2RybS9kcm0uaCBkcm1fdmVyc2lv bgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBSZXR1cm5zIDAgb24gc3VjY2VzcyBvciBvbmUg b2YgdGhlIGZvbGxvd2luZyBlcnJvciBjb2RlcyBvbgorICAgICAgICAgIGZhaWx1cmU6CisgICAg ICAgIDwvcGFyYT4KKyAgICAgICAgPHZhcmlhYmxlbGlzdD4KKyAgICAgICAgICA8dmFybGlzdGVu dHJ5PgorICAgICAgICAgICAgPHRlcm0+PGNvbnN0YW50PkVGQVVMVDwvY29uc3RhbnQ+PC90ZXJt PgorICAgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAg ICAgICAgICBJZiBkYXRhIGNhbm5vdCBiZSBjb3BpZWQgdG8gYW55IG9mIHRoZQorICAgICAgICAg ICAgICAgIDxzdHJ1Y3RmaWVsZD5uYW1lPC9zdHJ1Y3RmaWVsZD4sCisgICAgICAgICAgICAgICAg PHN0cnVjdGZpZWxkPmRhdGU8L3N0cnVjdGZpZWxkPiBvcgorICAgICAgICAgICAgICAgIDxzdHJ1 Y3RmaWVsZD5kZXNjPC9zdHJ1Y3RmaWVsZD4gZmllbGRzLgorICAgICAgICAgICAgICA8L3BhcmE+ CisgICAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgorICAg ICAgICA8L3ZhcmlhYmxlbGlzdD4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAg ICAgIDx0aXRsZT5EUk1fSU9DVExfR0VUX1VOSVFVRSAtIGdldCB1bmlxdWUgZGV2aWNlIG5hbWU8 L3RpdGxlPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBFYWNoIGRldmljZSBoYXMgYSB1bmlx dWUgbmFtZSBhc3NvY2lhdGVkIHdpdGggaXQuIFRoaXMgaXMgdXNlZnVsIHRvCisgICAgICAgICAg ZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHR3byBkZXZpY2VzIGRyaXZlbiBieSB0aGUgc2FtZSBkcml2 ZXIuIFVuaXF1ZQorICAgICAgICAgIG5hbWVzIG9mIGRldmljZXMgY2FuIGJlIG9idGFpbmVkIHdp dGggdGhpcyBJT0NUTCBhbmQgdGhlIHJlc3VsdCBpcworICAgICAgICAgIHJldHVybmVkIGluIGEg PHN0cnVjdG5hbWU+ZHJtX3VuaXF1ZTwvc3RydWN0bmFtZT4gc3RydWN0dXJlLgorICAgICAgICA8 L3BhcmE+CishRmluY2x1ZGUvdWFwaS9kcm0vZHJtLmggZHJtX3VuaXF1ZQorICAgICAgICA8cGFy YT4KKyAgICAgICAgICBSZXR1cm5zIDAgb24gc3VjY2VzcyBvciBvbmUgb2YgdGhlIGZvbGxvd2lu ZyBlcnJvciBjb2RlcyBvbiBmYWlsdXJlOgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDx2YXJp YWJsZWxpc3Q+CisgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgICAgICAgIDx0ZXJtPjxj b25zdGFudD5FRkFVTFQ8L2NvbnN0YW50PjwvdGVybT4KKyAgICAgICAgICAgIDxsaXN0aXRlbT4K KyAgICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAgSWYgdGhlIGRldmljZSdzIHVu aXF1ZSBuYW1lIGNhbm5vdCBiZSBjb3BpZWQgdG8gdGhlCisgICAgICAgICAgICAgICAgPHN0cnVj dGZpZWxkPnVuaXF1ZTwvc3RydWN0ZmllbGQ+IGZpZWxkLgorICAgICAgICAgICAgICA8L3BhcmE+ CisgICAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgorICAg ICAgICA8L3ZhcmlhYmxlbGlzdD4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAg ICAgIDx0aXRsZT5EUk1fSU9DVExfU0VUX1ZFUlNJT04gLSByZXF1ZXN0IGludGVyZmFjZSB2ZXJz aW9uPC90aXRsZT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgUmVxdWVzdCBhIHNwZWNpZmlj IGludGVyZmFjZSBvciBkcml2ZXIgdmVyc2lvbi4gVGhlIHZhbHVlcyBwYXNzZWQgaW4KKyAgICAg ICAgICB0aGUgPHN0cnVjdG5hbWU+ZHJtX3NldF92ZXJzaW9uPC9zdHJ1Y3RuYW1lPiBzdHJ1Y3R1 cmUgYXJlIG1hdGNoZWQKKyAgICAgICAgICBhZ2FpbnN0IHRoZSBEUk0gaW50ZXJmYWNlIGFuZCBk cml2ZXIgdmVyc2lvbnMuCisgICAgICAgIDwvcGFyYT4KKyFGaW5jbHVkZS91YXBpL2RybS9kcm0u aCBkcm1fc2V0X3ZlcnNpb24KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgUmV0dXJucyAwIG9u IHN1Y2Nlc3Mgb3Igb25lIG9mIHRoZSBmb2xsb3dpbmcgZXJyb3IgY29kZXMgb24gZmFpbHVyZToK KyAgICAgICAgPC9wYXJhPgorICAgICAgICA8dmFyaWFibGVsaXN0PgorICAgICAgICAgIDx2YXJs aXN0ZW50cnk+CisgICAgICAgICAgICA8dGVybT48Y29uc3RhbnQ+RUlOVkFMPC9jb25zdGFudD48 L3Rlcm0+CisgICAgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAgICAgIDxwYXJhPgorICAg ICAgICAgICAgICAgIElmIHRoZSBpbnRlcmZhY2UgdmVyc2lvbiBpbiB0aGUga2VybmVsIGlzIGlu Y29tcGF0aWJsZSB3aXRoCisgICAgICAgICAgICAgICAgdGhhdCByZXF1ZXN0ZWQgYnkgdGhlIHVz ZXJzcGFjZSBhcHBsaWNhdGlvbiBvciBpZiB0aGUgZHJpdmVyCisgICAgICAgICAgICAgICAgaXMg bm90IGNvbXBhdGlibGUgd2l0aCB0aGUgdmVyc2lvbiByZXF1ZXN0ZWQgYnkgdGhlIHVzZXJzcGFj ZQorICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uLgorICAgICAgICAgICAgICA8L3BhcmE+Cisg ICAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgorICAgICAg ICA8L3ZhcmlhYmxlbGlzdD4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAg IDx0aXRsZT5EUk1fSU9DVExfR0VUX0NBUCAtIHF1ZXJ5IGRldmljZSBjYXBhYmlsaXRpZXM8L3Rp dGxlPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBEUk0gZHJpdmVycyB2YXJ5IGluIHRlcm1z IG9mIHdoaWNoIGZ1bmN0aW9uYWxpdHkgdGhhdCB0aGV5IHN1cHBvcnQuCisgICAgICAgICAgRXZl biB3aXRoaW4gb25lIGRyaXZlciwgY2VydGFpbiBkZXZpY2VzIG1heSBub3Qgc3VwcG9ydCB0aGUg c2FtZQorICAgICAgICAgIGZ1bmN0aW9uYWxpdHkgYXMgb3RoZXJzLiBUaGUgPGNvbnN0YW50PkRS TV9JT0NUTF9HRVRfQ0FQPC9jb25zdGFudD4KKyAgICAgICAgICBJT0NUTCBjYW4gYmUgdXNlZCB0 byBxdWVyeSBzdWNoIGNhcGFiaWxpdGllcyBhdCBydW50aW1lLgorICAgICAgICA8L3BhcmE+Cisg ICAgICAgIDxwYXJhPgorICAgICAgICAgIFRoZSBmb2xsb3dpbmcgaXMgYSBsaXN0IG9mIGF2YWls YWJsZSBjYXBhYmlsaXRpZXMuIFVzZXJzcGFjZQorICAgICAgICAgIGFwcGxpY2F0aW9ucyBzZXQg dGhlIDxzdHJ1Y3RmaWVsZD5jYXBhYmlsaXR5PC9zdHJ1Y3RmaWVsZD4gdG8gb25lIG9mCisgICAg ICAgICAgdGhlc2UgYmVmb3JlIHBlcmZvcm1pbmcgdGhlIElPQ1RMLiBUaGUga2VybmVsIHJldHVy bnMgdGhlIGNhcGFiaWxpdHkKKyAgICAgICAgICB2YWx1ZSBpbiB0aGUgPHN0cnVjdGZpZWxkPnZh bHVlPC9zdHJ1Y3RmaWVsZD4gZmllbGQuIFR5cGljYWxseSB0aGlzCisgICAgICAgICAgd2lsbCBi ZSBhIGJvb2xlYW4gKDAgb3IgMSkgdmFsdWUgdGhhdCBkZW5vdGVzIHdoZXRoZXIgb3Igbm90IHRo ZQorICAgICAgICAgIGRldmljZSBzdXBwb3J0cyB0aGUgZ2l2ZW4gY2FwYWJpbGl0eS4gSW4gb3Ro ZXIgY2FzZXMgdGhlIHJldHVybmVkCisgICAgICAgICAgdmFsdWUgaXMgbnVtZXJpY2FsIGFuZCB0 aGUgbWVhbmluZyBpcyBzcGVjaWZpZWQgYmVsb3cuCisgICAgICAgIDwvcGFyYT4KKyFGaW5jbHVk ZS91YXBpL2RybS9kcm0uaCBkcm1fZ2V0X2NhcAorICAgICAgICA8dmFyaWFibGVsaXN0PgorICAg ICAgICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICAgICAgICA8dGVybT48Y29uc3RhbnQ+RFJNX0NB UF9EVU1CX0JVRkZFUjwvY29uc3RhbnQ+PC90ZXJtPgorICAgICAgICAgICAgPGxpc3RpdGVtPgor ICAgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICBUaGUgZGV2aWNlIHN1cHBvcnRz IHRoZSBjcmVhdGlvbiBvZiBkdW1iIGJ1ZmZlcnMuIER1bWIgYnVmZmVycworICAgICAgICAgICAg ICAgIGFyZSB0eXBpY2FsbHkgdXNlZCBmb3IgdW5hY2NlbGVyYXRlZCBvcGVyYXRpb25zLiBUaGVz ZSBidWZmZXJzCisgICAgICAgICAgICAgICAgY2FuIGJlIG1hcHBlZCB0byB1c2Vyc3BhY2Ugc28g dGhhdCBzb2Z0d2FyZSBjYW4gZHJhdyBpbnRvIHRoZW0KKyAgICAgICAgICAgICAgICBhbmQgYXR0 YWNoIHRoZW0gdG8gYSBDUlRDIGZvciBzY2Fub3V0LgorICAgICAgICAgICAgICA8L3BhcmE+Cisg ICAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgorICAgICAg ICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICAgICAgICA8dGVybT48Y29uc3RhbnQ+RFJNX0NBUF9W QkxBTktfSElHSF9DUlRDPC9jb25zdGFudD48L3Rlcm0+CisgICAgICAgICAgICA8bGlzdGl0ZW0+ CisgICAgICAgICAgICAgIDxwYXJhPgorICAgICAgICAgICAgICAgIFRoZSBkZXZpY2UgaXMgY2Fw YWJsZSBvZiB3YWl0aW5nIGZvciBWQkxBTksgZXZlbnRzIG9uIGFsbAorICAgICAgICAgICAgICAg IENSVENzLgorICAgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgICA8L2xpc3RpdGVtPgor ICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgorICAgICAgICAgIDx2YXJsaXN0ZW50cnk+CisgICAg ICAgICAgICA8dGVybT48Y29uc3RhbnQ+RFJNX0NBUF9EVU1CX1BSRUZFUlJFRF9ERVBUSDwvY29u c3RhbnQ+PC90ZXJtPgorICAgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgICAgICA8cGFy YT4KKyAgICAgICAgICAgICAgICBUaGUgcHJlZmVycmVkIHBpeGVsIGJpdCBkZXB0aCBvZiBkdW1i IGJ1ZmZlcnMuCisgICAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICAgIDwvbGlzdGl0ZW0+ CisgICAgICAgICAgPC92YXJsaXN0ZW50cnk+CisgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KKyAg ICAgICAgICAgIDx0ZXJtPjxjb25zdGFudD5EUk1fQ0FQX0RVTUJfUFJFRkVSX1NIQURPVzwvY29u c3RhbnQ+PC90ZXJtPgorICAgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgICAgICA8cGFy YT4KKyAgICAgICAgICAgICAgICBXaGV0aGVyIHVzZXJzcGFjZSBzaG91bGQgcHJlZmVyIHNoYWRv dyBtb2RlIG9uIGR1bWIgYnVmZmVycy4KKyAgICAgICAgICAgICAgPC9wYXJhPgorICAgICAgICAg ICAgPC9saXN0aXRlbT4KKyAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KKyAgICAgICAgICA8dmFy bGlzdGVudHJ5PgorICAgICAgICAgICAgPHRlcm0+PGNvbnN0YW50PkRSTV9DQVBfUFJJTUU8L2Nv bnN0YW50PjwvdGVybT4KKyAgICAgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgICAgICAgPHBh cmE+CisgICAgICAgICAgICAgICAgVGhlIGRldmljZSBzdXBwb3J0cyBETUEtQlVGIHNoYXJpbmcg dXNpbmcgUFJJTUUuIFRoZSB2YWx1ZQorICAgICAgICAgICAgICAgIHJldHVybmVkIGlzIGEgbWFz ayBvZiB0aGUgZm9sbG93aW5nIGJpdHM6CisgICAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAg ICAgICAgPHZhcmlhYmxlbGlzdD4KKyAgICAgICAgICAgICAgICA8dmFybGlzdGVudHJ5PgorICAg ICAgICAgICAgICAgICAgPHRlcm0+PGNvbnN0YW50PkRSTV9QUklNRV9DQVBfSU1QT1JUPC9jb25z dGFudD48L3Rlcm0+CisgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAgICAg ICAgICAgIDxwYXJhPgorICAgICAgICAgICAgICAgICAgICAgIFRoZSBkZXZpY2Ugc3VwcG9ydHMg aW1wb3J0aW5nIERNQS1CVUYgYnVmZmVycyB1c2luZworICAgICAgICAgICAgICAgICAgICAgIFBS SU1FLgorICAgICAgICAgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgICAgICAgICA8L2xp c3RpdGVtPgorICAgICAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgorICAgICAgICAgICAgICAg IDx2YXJsaXN0ZW50cnk+CisgICAgICAgICAgICAgICAgICA8dGVybT48Y29uc3RhbnQ+RFJNX1BS SU1FX0NBUF9FWFBPUlQ8L2NvbnN0YW50PjwvdGVybT4KKyAgICAgICAgICAgICAgICAgIDxsaXN0 aXRlbT4KKyAgICAgICAgICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAg VGhlIGRldmljZSBzdXBwb3J0cyBleHBvcnRpbmcgRE1BLUJVRiBidWZmZXJzIHVzaW5nCisgICAg ICAgICAgICAgICAgICAgICAgUFJJTUUuCisgICAgICAgICAgICAgICAgICAgIDwvcGFyYT4KKyAg ICAgICAgICAgICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICAgICAgICAgICAgPC92YXJsaXN0ZW50 cnk+CisgICAgICAgICAgICAgIDwvdmFyaWFibGVsaXN0PgorICAgICAgICAgICAgPC9saXN0aXRl bT4KKyAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KKyAgICAgICAgICA8dmFybGlzdGVudHJ5Pgor ICAgICAgICAgICAgPHRlcm0+PGNvbnN0YW50PkRSTV9DQVBfVElNRVNUQU1QX01PTk9UT05JQzwv Y29uc3RhbnQ+PC90ZXJtPgorICAgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgICAgICA8 cGFyYT4KKyAgICAgICAgICAgICAgICBUaGUgdGltZXN0YW1wIGFzc29jaWF0ZWQgd2l0aCBWQkxB TksgZXZlbnRzIGlzIG1vbm90b25pY2FsbHkKKyAgICAgICAgICAgICAgICBpbmNyZWFzaW5nIChu b3QgaW5mbHVlbmNlZCBieSBzeW5jaHJvbml6YXRpb24gdG8gZXh0ZXJuYWwKKyAgICAgICAgICAg ICAgICBjbG9ja3MsIHN1Y2ggYXMgTlRQIG9yIFJUQywgbm9yIGxlYXAgc2Vjb25kcykuCisgICAg ICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICAgICAgPC92 YXJsaXN0ZW50cnk+CisgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgICAgICAgIDx0ZXJt Pjxjb25zdGFudD5EUk1fQ0FQX0FTWU5DX1BBR0VfRkxJUDwvY29uc3RhbnQ+PC90ZXJtPgorICAg ICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAg ICBUaGUgZGV2aWNlIHN1cHBvcnRzIGFzeW5jaHJvbm91cyAoaS5lLiBpbW1lZGlhdGUsIG5vbi1W QkxBTksKKyAgICAgICAgICAgICAgICBzeW5jaHJvbml6ZWQpIHBhZ2UgZmxpcHMuCisgICAgICAg ICAgICAgIDwvcGFyYT4KKyAgICAgICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICAgICAgPC92YXJs aXN0ZW50cnk+CisgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgICAgICAgIDx0ZXJtPjxj b25zdGFudD5EUk1fQ0FQX0NVUlNPUl9XSURUSDwvY29uc3RhbnQ+PC90ZXJtPgorICAgICAgICAg ICAgPGxpc3RpdGVtPgorICAgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICBUaGUg dmFsdWUgcmV0dXJuZWQgaXMgYSB2YWxpZCB3aWR0aCBmb3IgdGhlIGhhcmR3YXJlIGN1cnNvci4K KyAgICAgICAgICAgICAgICBIYXJkd2FyZS1hZ25vc3RpYyB1c2Vyc3BhY2UgYXBwbGljYXRpb25z IGNhbiB1c2UgdGhpcyB0byBoZWxwCisgICAgICAgICAgICAgICAgZGV0ZXJtaW5lIHRoZSBwcm9w ZXIgc2l6ZSBmb3IgdGhlIGhhcmR3YXJlIGN1cnNvci4KKyAgICAgICAgICAgICAgPC9wYXJhPgor ICAgICAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KKyAgICAg ICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgICAgICAgPHRlcm0+PGNvbnN0YW50PkRSTV9DQVBf Q1VSU09SX0hFSUdIVDwvY29uc3RhbnQ+PC90ZXJtPgorICAgICAgICAgICAgPGxpc3RpdGVtPgor ICAgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICBUaGUgdmFsdWUgcmV0dXJuZWQg aXMgYSB2YWxpZCBoZWlnaHQgZm9yIHRoZSBoYXJkd2FyZSBjdXJzb3IuCisgICAgICAgICAgICAg ICAgSGFyZHdhcmUtYWdub3N0aWMgdXNlcnNwYWNlIGFwcGxpY2F0aW9ucyBjYW4gdXNlIHRoaXMg dG8gaGVscAorICAgICAgICAgICAgICAgIGRldGVybWluZSB0aGUgcHJvcGVyIHNpemUgZm9yIHRo ZSBoYXJkd2FyZSBjdXJzb3IuCisgICAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICAgIDwv bGlzdGl0ZW0+CisgICAgICAgICAgPC92YXJsaXN0ZW50cnk+CisgICAgICAgIDwvdmFyaWFibGVs aXN0PgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBSZXR1cm5zIDAgb24gc3VjY2VzcyBvciBv bmUgb2YgdGhlIGZvbGxvd2luZyBlcnJvciBjb2RlcyBvbiBmYWlsdXJlOgorICAgICAgICA8L3Bh cmE+CisgICAgICAgIDx2YXJpYWJsZWxpc3Q+CisgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KKyAg ICAgICAgICAgIDx0ZXJtPjxjb25zdGFudD5FSU5WQUw8L2NvbnN0YW50PjwvdGVybT4KKyAgICAg ICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAg SWYgdGhlIHZhbHVlIGluIHRoZSA8c3RydWN0ZmllbGQ+Y2FwYWJpbGl0eTwvc3RydWN0ZmllbGQ+ CisgICAgICAgICAgICAgICAgZmllbGQgaXMgbm90IHN1cHBvcnRlZC4KKyAgICAgICAgICAgICAg PC9wYXJhPgorICAgICAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICAgICA8L3Zhcmxpc3RlbnRy eT4KKyAgICAgICAgPC92YXJpYWJsZWxpc3Q+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3Qy PgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX1NFVF9DTElFTlRfQ0FQIC0gYWR2ZXJ0aXNlIGNs aWVudCBjYXBhYmlsaXRpZXM8L3RpdGxlPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBTZW1h bnRpY3Mgc29tZXRpbWVzIGNoYW5nZSBhcyBhbiBpbnRlcmZhY2VzIGV2b2x2ZXMuIFRvIHByZXNl cnZlCisgICAgICAgICAgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgYW5kIHN0aWxsIHRha2UgYWR2 YW50YWdlIG9mIG5ldyBmZWF0dXJlcworICAgICAgICAgIHVzZXJzcGFjZSBjYW4gdXNlIHRoaXMg SU9DVEwgdG8gYWR2ZXJ0aXNlIGl0cyBvd24gY2FwYWJpbGl0aWVzLgorICAgICAgICA8L3BhcmE+ CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIFVzZXJzcGFjZSBhcHBsaWNhdGlvbnMgc2V0IDxz dHJ1Y3RmaWVsZD5jYXBhYmlsaXR5PC9zdHJ1Y3RmaWVsZD4KKyAgICAgICAgICBhbmQgPHN0cnVj dGZpZWxkPnZhbHVlPC9zdHJ1Y3RmaWVsZD4gYXBwcm9wcmlhdGVseSBhbmQgcGFzcyB0aGUKKyAg ICAgICAgICA8c3RydWN0bmFtZT5kcm1fc2V0X2NsaWVudF9jYXA8L3N0cnVjdG5hbWU+IHN0cnVj dHVyZSB0byB0aGlzCisgICAgICAgICAgSU9DVEwuIEJlbG93IGlzIGEgbGlzdCBvZiB2YWxpZCBj YXBhYmlsaXRpZXMuCisgICAgICAgIDwvcGFyYT4KKyFGaW5jbHVkZS91YXBpL2RybS9kcm0uaCBk cm1fc2V0X2NsaWVudF9jYXAKKyAgICAgICAgPHZhcmlhYmxlbGlzdD4KKyAgICAgICAgICA8dmFy bGlzdGVudHJ5PgorICAgICAgICAgICAgPHRlcm0+PGNvbnN0YW50PkRSTV9DTElFTlRfQ0FQX1NU RVJFT18zRDwvY29uc3RhbnQ+PC90ZXJtPgorICAgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAg ICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICBUaGUgZGV2aWNlIHdpbGwgZXhwb3NlIHN0 ZXJlbyAzRCBjYXBhYmlsaXRpZXMgb2YgbW9uaXRvcnMgYnkKKyAgICAgICAgICAgICAgICBhZHZl cnRpc2luZyB0aGUgc3VwcG9ydGVkIDNEIGxheW91dHMgaW4gdGhlIGZsYWdzIG9mIHRoZQorICAg ICAgICAgICAgICAgIDxzdHJ1Y3RuYW1lPmRybV9tb2RlX21vZGVpbmZvPC9zdHJ1Y3RuYW1lPiBz dHJ1Y3R1cmUuCisgICAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICAgICAgPHBhcmE+Cisg ICAgICAgICAgICAgICAgVmFsaWQgdmFsdWVzIGFyZSAwIChkaXNhYmxlKSBvciAxIChlbmFibGUp LgorICAgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAg ICAgIDwvdmFybGlzdGVudHJ5PgorICAgICAgICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICAgICAg ICA8dGVybT48Y29uc3RhbnQ+RFJNX0NMSUVOVF9DQVBfVU5JVkVSU0FMX1BMQU5FUzwvY29uc3Rh bnQ+PC90ZXJtPgorICAgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgICAgICA8cGFyYT4K KyAgICAgICAgICAgICAgICBUaGUgZGV2aWNlIHdpbGwgZXhwb3NlIHBsYW5lcyBvZiBhbGwgdHlw ZXMgKHByaW1hcnksIG92ZXJsYXkKKyAgICAgICAgICAgICAgICBhbmQgY3Vyc29yKSB0byB1c2Vy c3BhY2UsIGluIGNvbnRyYXN0IHdpdGggdGhlIGRlZmF1bHQgbW9kZQorICAgICAgICAgICAgICAg IHdoZXJlIG9ubHkgb3ZlcmxheSBwbGFuZXMgYXJlIGV4cG9zZWQuCisgICAgICAgICAgICAgIDwv cGFyYT4KKyAgICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAgVmFsaWQgdmFsdWVz IGFyZSAwIChkaXNhYmxlKSBvciAxIChlbmFibGUpLgorICAgICAgICAgICAgICA8L3BhcmE+Cisg ICAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgorICAgICAg ICA8L3ZhcmlhYmxlbGlzdD4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgUmV0dXJucyAwIG9u IHN1Y2Nlc3Mgb3Igb25lIG9mIHRoZSBmb2xsb3dpbmcgZXJyb3IgY29kZXMgb24gZmFpbHVyZToK KyAgICAgICAgPC9wYXJhPgorICAgICAgICA8dmFyaWFibGVsaXN0PgorICAgICAgICAgIDx2YXJs aXN0ZW50cnk+CisgICAgICAgICAgICA8dGVybT48Y29uc3RhbnQ+RUlOVkFMPC9jb25zdGFudD48 L3Rlcm0+CisgICAgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAgICAgIDxwYXJhPgorICAg ICAgICAgICAgICAgIElmIHRoZSB2YWx1ZSBvZiB0aGUgPHN0cnVjdGZpZWxkPmNhcGFiaWxpdHk8 L3N0cnVjdGZpZWxkPgorICAgICAgICAgICAgICAgIGZpZWxkIGlzIG5vdCBzdXBwb3J0ZWQgb3Ig dGhlIHZhbHVlIGluIHRoZSA8c3RydWN0ZmllbGQ+CisgICAgICAgICAgICAgICAgdmFsdWU8L3N0 cnVjdGZpZWxkPiBmaWVsZCBpcyBub3QgdmFsaWQgZm9yIHRoZSBjYXBhYmlsaXR5LgorICAgICAg ICAgICAgICA8L3BhcmE+CisgICAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICAgIDwvdmFy bGlzdGVudHJ5PgorICAgICAgICA8L3ZhcmlhYmxlbGlzdD4KKyAgICAgIDwvc2VjdDI+CisgICAg PC9zZWN0MT4KKyAgICA8c2VjdDE+CisgICAgICA8dGl0bGU+QXV0aGVudGljYXRpb248L3RpdGxl PgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX0dFVF9NQUdJQzwvdGl0 bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lP Q1RMX0FVVEhfTUFHSUM8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAg ICAgICAgPHRpdGxlPkRSTV9JT0NUTF9TRVRfTUFTVEVSPC90aXRsZT4KKyAgICAgIDwvc2VjdDI+ CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1fSU9DVExfRFJPUF9NQVNURVI8L3Rp dGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICA8L3NlY3QxPgorICAgIDxzZWN0MT4KKyAgICAgIDx0 aXRsZT5CdWZmZXIgTWFuYWdlbWVudDwvdGl0bGU+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0 aXRsZT5EUk1fSU9DVExfR0VNX0NMT1NFIC0gcmVtb3ZlIGEgR0VNIG9iamVjdDwvdGl0bGU+Cisg ICAgICAgIDxwYXJhPgorICAgICAgICAgIFJlbW92ZXMgdGhlIGhhbmRsZSBvZiBhIEdFTSBvYmpl Y3QgYW5kIGRyb3BzIHRoZSBoYW5kbGUncyByZWZlcmVuY2UKKyAgICAgICAgICB0byB0aGUgb2Jq ZWN0LiBJZiB0aGUgaGFuZGxlIHdhcyBob2xkaW5nIHRoZSBsYXN0IHJlZmVyZW5jZSwgdGhlCisg ICAgICAgICAgR0VNIG9iamVjdCBpcyBkZXN0cm95ZWQuCisgICAgICAgIDwvcGFyYT4KKyFGaW5j bHVkZS91YXBpL2RybS9kcm0uaCBkcm1fZ2VtX2Nsb3NlCisgICAgICAgIDxwYXJhPgorICAgICAg ICAgIFJldHVybnMgMCBvbiBzdWNjZXNzIG9yIG9uZSBvZiB0aGUgZm9sbG93aW5nIGVycm9yIGNv ZGVzIG9uIGZhaWx1cmU6CisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPHZhcmlhYmxlbGlzdD4K KyAgICAgICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgICAgICAgPHRlcm0+PGNvbnN0YW50PkVO T0RFVjwvY29uc3RhbnQ+PC90ZXJtPgorICAgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAg ICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICBJZiB0aGUgZGV2aWNlIGRvZXNuJ3Qgc3VwcG9y dCBHRU0gb2JqZWN0cy4KKyAgICAgICAgICAgICAgPC9wYXJhPgorICAgICAgICAgICAgPC9saXN0 aXRlbT4KKyAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KKyAgICAgICAgICA8dmFybGlzdGVudHJ5 PgorICAgICAgICAgICAgPHRlcm0+PGNvbnN0YW50PkVJTlZBTDwvY29uc3RhbnQ+PC90ZXJtPgor ICAgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAg ICAgICBJZiBubyBHRU0gb2JqZWN0IHdpdGggdGhlIHNwZWNpZmllZCBoYW5kbGUgZXhpc3RzLgor ICAgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICAg IDwvdmFybGlzdGVudHJ5PgorICAgICAgICA8L3ZhcmlhYmxlbGlzdD4KKyAgICAgIDwvc2VjdDI+ CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1fSU9DVExfR0VNX0ZMSU5LIC0gZXhw b3J0IGEgR0VNIG9iamVjdCBieSBuYW1lPC90aXRsZT4KKyAgICAgICAgPHBhcmE+CisgICAgICAg ICAgQ3JlYXRlcyBhIGdsb2JhbCBuYW1lIGZvciBhIEdFTSBvYmplY3QuCisgICAgICAgIDwvcGFy YT4KKyFGaW5jbHVkZS91YXBpL2RybS9kcm0uaCBkcm1fZ2VtX2ZsaW5rCisgICAgICAgIDxwYXJh PgorICAgICAgICAgIFRoZSBuYW1lIGRvZXMgbm90IGhvbGQgYSByZWZlcmVuY2UgdG8gdGhlIG9i amVjdC4gSWYgYSByZWZlcmVuY2UgaXMKKyAgICAgICAgICBuZWVkZWQsIG9wZW4gdGhlIEdFTSBv YmplY3QgdXNpbmcgdGhlIDxjb25zdGFudD5EUk1fSU9DVExfR0VNX09QRU4KKyAgICAgICAgICA8 L2NvbnN0YW50PiBJT0NUTC4KKyAgICAgICAgPC9wYXJhPgorICAgICAgICA8cGFyYT4KKyAgICAg ICAgICBSZXR1cm5zIDAgb24gc3VjY2VzcyBvciBvbmUgb2YgdGhlIGZvbGxvd2luZyBlcnJvciBj b2RlcyBvbiBmYWlsdXJlOgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDx2YXJpYWJsZWxpc3Q+ CisgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgICAgICAgIDx0ZXJtPjxjb25zdGFudD5F Tk9ERVY8L2NvbnN0YW50PjwvdGVybT4KKyAgICAgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAg ICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAgSWYgdGhlIGRldmljZSBkb2Vzbid0IHN1cHBv cnQgR0VNIG9iamVjdHMuCisgICAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICAgIDwvbGlz dGl0ZW0+CisgICAgICAgICAgPC92YXJsaXN0ZW50cnk+CisgICAgICAgICAgPHZhcmxpc3RlbnRy eT4KKyAgICAgICAgICAgIDx0ZXJtPjxjb25zdGFudD5FTk9FTlQ8L2NvbnN0YW50PjwvdGVybT4K KyAgICAgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAg ICAgICAgSWYgbm8gR0VNIG9iamVjdCB3aXRoIHRoZSBzcGVjaWZpZWQgaGFuZGxlIGV4aXN0cyBv ciBpZiBpdCBpcworICAgICAgICAgICAgICAgIGluIHRoZSBwcm9jZXNzIG9mIGJlaW5nIHJlbW92 ZWQuCisgICAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICAgIDwvbGlzdGl0ZW0+CisgICAg ICAgICAgPC92YXJsaXN0ZW50cnk+CisgICAgICAgIDwvdmFyaWFibGVsaXN0PgorICAgICAgPC9z ZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9HRU1fT1BFTiAt IG9wZW4gYSBHRU0gb2JqZWN0IGJ5IG5hbWU8L3RpdGxlPgorICAgICAgICA8cGFyYT4KKyAgICAg ICAgICBPcGVucyBhIEdFTSBvYmplY3QgYnkgbmFtZS4KKyAgICAgICAgPC9wYXJhPgorIUZpbmNs dWRlL3VhcGkvZHJtL2RybS5oIGRybV9nZW1fb3BlbgorICAgICAgICA8cGFyYT4KKyAgICAgICAg ICBSZXR1cm5zIDAgb24gc3VjY2VzcyBvciBvbmUgb2YgdGhlIGZvbGxvd2luZyBlcnJvciBjb2Rl cyBvbiBmYWlsdXJlOgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDx2YXJpYWJsZWxpc3Q+Cisg ICAgICAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgICAgICAgIDx0ZXJtPjxjb25zdGFudD5FTk9E RVY8L2NvbnN0YW50PjwvdGVybT4KKyAgICAgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgICAg ICAgPHBhcmE+CisgICAgICAgICAgICAgICAgSWYgdGhlIGRldmljZSBkb2Vzbid0IHN1cHBvcnQg R0VNIG9iamVjdHMuCisgICAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICAgIDwvbGlzdGl0 ZW0+CisgICAgICAgICAgPC92YXJsaXN0ZW50cnk+CisgICAgICAgICAgPHZhcmxpc3RlbnRyeT4K KyAgICAgICAgICAgIDx0ZXJtPjxjb25zdGFudD5FTk9FTlQ8L2NvbnN0YW50PjwvdGVybT4KKyAg ICAgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAg ICAgSWYgbm8gR0VNIG9iamVjdCB3aXRoIHRoZSBzcGVjaWZpZWQgaGFuZGxlIGV4aXN0cy4KKyAg ICAgICAgICAgICAgPC9wYXJhPgorICAgICAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICAgICA8 L3Zhcmxpc3RlbnRyeT4KKyAgICAgICAgPC92YXJpYWJsZWxpc3Q+CisgICAgICA8L3NlY3QyPgor ICAgIDwvc2VjdDE+CisgICAgPHNlY3QxPgorICAgICAgPHRpdGxlPkRNQS1CVUYgU2hhcmluZyAo UFJJTUUpPC90aXRsZT4KKyAgICAgIDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9Q UklNRV9IQU5ETEVfVE9fRkQgLSBleHBvcnQgYSBETUEtQlVGIGJ1ZmZlcjwvdGl0bGU+CisgICAg ICAgIDxwYXJhPgorICAgICAgICAgIEV4cG9ydHMgYSBidWZmZXIgb2JqZWN0IGlkZW50aWZpZWQg YnkgaXRzIGhhbmRsZSB1c2luZyBETUEtQlVGLiBUaGUKKyAgICAgICAgICBmaWxlIGRlc2NyaXB0 b3Igb2J0YWluZWQgZHVyaW5nIHRoaXMgcHJvY2VzcyBjYW4gYmUgaW1wb3J0ZWQgaW50byBhCisg ICAgICAgICAgZGlmZmVyZW50IGRyaXZlciBzdXBwb3J0aW5nIERNQS1CVUYgZm9yIHplcm8tY29w eSBzaGFyaW5nIG9mIGJ1ZmZlcgorICAgICAgICAgIGNvbnRlbnQuCisgICAgICAgIDwvcGFyYT4K KyAgICAgICAgPHBhcmE+CisgICAgICAgICAgVGhlIG9ubHkgc3VwcG9ydGVkIGZsYWcgaW4gdGhl IDxzdHJ1Y3RmaWVsZD5mbGFnczwvc3RydWN0ZmllbGQ+CisgICAgICAgICAgZmllbGQgaXMgPGNv bnN0YW50PkRNQV9DTE9FWEVDPC9jb25zdGFudD4uCisgICAgICAgIDwvcGFyYT4KKyFGaW5jbHVk ZS91YXBpL2RybS9kcm0uaCBkcm1fcHJpbWVfaGFuZGxlCisgICAgICAgIDxwYXJhPgorICAgICAg ICAgIFJldHVybnMgMCBvbiBzdWNjZXNzIG9yIG9uZSBvZiB0aGUgZm9sbG93aW5nIGVycm9yIGNv ZGVzIG9uIGZhaWx1cmU6CisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPHZhcmlhYmxlbGlzdD4K KyAgICAgICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgICAgICAgPHRlcm0+PGNvbnN0YW50PkVJ TlZBTDwvY29uc3RhbnQ+PC90ZXJtPgorICAgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAg ICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICBJZiB0aGUgZHJpdmVyIGRvZXMgbm90IHN1cHBv cnQgYnVmZmVyIHNoYXJpbmcgdXNpbmcgUFJJTUUgb3IKKyAgICAgICAgICAgICAgICBpZiB0aGUg ZmxhZ3Mgc3BlY2lmaWVkIGluIDxzdHJ1Y3RmaWVsZD5mbGFnczwvc3RydWN0ZmllbGQ+IGFyZQor ICAgICAgICAgICAgICAgIGludmFsaWQuCisgICAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAg ICAgIDwvbGlzdGl0ZW0+CisgICAgICAgICAgPC92YXJsaXN0ZW50cnk+CisgICAgICAgICAgPHZh cmxpc3RlbnRyeT4KKyAgICAgICAgICAgIDx0ZXJtPjxjb25zdGFudD5FTk9TWVM8L2NvbnN0YW50 PjwvdGVybT4KKyAgICAgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgICAgICAgPHBhcmE+Cisg ICAgICAgICAgICAgICAgSWYgdGhlIGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IGV4cG9ydGluZyBi dWZmZXJzIHVzaW5nIFBSSU1FLgorICAgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgICA8 L2xpc3RpdGVtPgorICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgorICAgICAgICA8L3ZhcmlhYmxl bGlzdD4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1f SU9DVExfUFJJTUVfRkRfVE9fSEFORExFIC0gaW1wb3J0IGEgRE1BLUJVRiBidWZmZXI8L3RpdGxl PgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBJbXBvcnRzIGEgRE1BLUJVRiBidWZmZXIgaWRl bnRpZmllZCBieSBpdHMgZmlsZSBkZXNjcmlwdG9yLiBCdWZmZXJzCisgICAgICAgICAgaW1wb3J0 ZWQgdXNpbmcgdGhpcyBJT0NUTCBhcmUgYXNzaWduZWQgYSBuZXcgaGFuZGxlIHJlbGF0aXZlIHRv IHRoZQorICAgICAgICAgIGRldmljZSBhbmQgY2FuIGJlIHVzZWQgbGlrZSBhbnkgbmF0aXZlbHkt YWxsb2NhdGVkIGJ1ZmZlci4KKyAgICAgICAgPC9wYXJhPgorICAgICAgICA8cGFyYT4KKyAgICAg ICAgICBSZXR1cm5zIDAgb24gc3VjY2VzcyBvciBvbmUgb2YgdGhlIGZvbGxvd2luZyBlcnJvciBj b2RlcyBvbiBmYWlsdXJlOgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDx2YXJpYWJsZWxpc3Q+ CisgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgICAgICAgIDx0ZXJtPjxjb25zdGFudD5F SU5WQUw8L2NvbnN0YW50PjwvdGVybT4KKyAgICAgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAg ICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAgSWYgdGhlIGRyaXZlciBkb2VzIG5vdCBzdXBw b3J0IGJ1ZmZlciBzaGFyaW5nIHVzaW5nIFBSSU1FLgorICAgICAgICAgICAgICA8L3BhcmE+Cisg ICAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgorICAgICAg ICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICAgICAgICA8dGVybT48Y29uc3RhbnQ+RU5PU1lTPC9j b25zdGFudD48L3Rlcm0+CisgICAgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAgICAgIDxw YXJhPgorICAgICAgICAgICAgICAgIElmIHRoZSBkcml2ZXIgZG9lcyBub3Qgc3VwcG9ydCBpbXBv cnRpbmcgYnVmZmVycyB1c2luZyBQUklNRS4KKyAgICAgICAgICAgICAgPC9wYXJhPgorICAgICAg ICAgICAgPC9saXN0aXRlbT4KKyAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KKyAgICAgICAgPC92 YXJpYWJsZWxpc3Q+CisgICAgICA8L3NlY3QyPgorICAgIDwvc2VjdDE+CisgICAgPHNlY3QxPgor ICAgICAgPHRpdGxlPk1vZGVzZXR0aW5nPC90aXRsZT4KKyAgICAgIDxzZWN0Mj4KKyAgICAgICAg PHRpdGxlPkRSTV9JT0NUTF9NT0RFX0dFVFJFU09VUkNFUzwvdGl0bGU+CisgICAgICA8L3NlY3Qy PgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX01PREVfR0VUQ1JUQzwv dGl0bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJN X0lPQ1RMX01PREVfU0VUQ1JUQzwvdGl0bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3Qy PgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX01PREVfQ1VSU09SPC90aXRsZT4KKyAgICAgIDwv c2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1fSU9DVExfTU9ERV9HRVRH QU1NQTwvdGl0bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0 bGU+RFJNX0lPQ1RMX01PREVfU0VUR0FNTUE8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICAg IDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9NT0RFX0dFVEVOQ09ERVI8L3RpdGxl PgorICAgICAgPC9zZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NU TF9NT0RFX0dFVENPTk5FQ1RPUjwvdGl0bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3Qy PgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX01PREVfQVRUQUNITU9ERTwvdGl0bGU+CisgICAg ICA8L3NlY3QyPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX01PREVf REVUQUNITU9ERTwvdGl0bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3QyPgorICAgICAg ICA8dGl0bGU+RFJNX0lPQ1RMX01PREVfR0VUUFJPUEVSVFk8L3RpdGxlPgorICAgICAgPC9zZWN0 Mj4KKyAgICAgIDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9NT0RFX1NFVFBST1BF UlRZPC90aXRsZT4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRs ZT5EUk1fSU9DVExfTU9ERV9HRVRQUk9QQkxPQjwvdGl0bGU+CisgICAgICA8L3NlY3QyPgorICAg ICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX01PREVfR0VURkI8L3RpdGxlPgor ICAgICAgPC9zZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9N T0RFX0FEREZCPC90aXRsZT4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAg IDx0aXRsZT5EUk1fSU9DVExfTU9ERV9STUZCPC90aXRsZT4KKyAgICAgIDwvc2VjdDI+CisgICAg ICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1fSU9DVExfTU9ERV9QQUdFX0ZMSVA8L3RpdGxl PgorICAgICAgPC9zZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NU TF9NT0RFX0RJUlRZRkI8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAg ICAgICAgPHRpdGxlPkRSTV9JT0NUTF9NT0RFX0NSRUFURV9EVU1CPC90aXRsZT4KKyAgICAgIDwv c2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1fSU9DVExfTU9ERV9NQVBf RFVNQjwvdGl0bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0 bGU+RFJNX0lPQ1RMX01PREVfREVTVFJPWV9EVU1CPC90aXRsZT4KKyAgICAgIDwvc2VjdDI+Cisg ICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1fSU9DVExfTU9ERV9HRVRQTEFORVJFU09V UkNFUzwvdGl0bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0 bGU+RFJNX0lPQ1RMX01PREVfR0VUUExBTkU8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICAg IDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9NT0RFX1NFVFBMQU5FPC90aXRsZT4K KyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1fSU9DVExf TU9ERV9BRERGQjI8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAgICAg ICAgPHRpdGxlPkRSTV9JT0NUTF9NT0RFX09CSl9HRVRQUk9QRVJUSUVTPC90aXRsZT4KKyAgICAg IDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1fSU9DVExfTU9ERV9P QkpfU0VUUFJPUEVSVFk8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAg ICAgICAgPHRpdGxlPkRSTV9JT0NUTF9NT0RFX0NVUlNPUjI8L3RpdGxlPgorICAgICAgPC9zZWN0 Mj4KKyAgICAgIDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9XQUlUX1ZCTEFOSzwv dGl0bGU+CisgICAgICA8L3NlY3QyPgorICAgIDwvc2VjdDE+CisgICAgPHNlY3QxPgorICAgICAg PHRpdGxlPkxlZ2FjeSBJT0NUTHM8L3RpdGxlPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0 bGU+RFJNX0lPQ1RMX1NFVF9VTklRVUU8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICAgIDxz ZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9JUlFfQlVTSUQ8L3RpdGxlPgorICAgICAg PC9zZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9HRVRfTUFQ PC90aXRsZT4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5E Uk1fSU9DVExfR0VUX0NMSUVOVDwvdGl0bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3Qy PgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX0dFVF9TVEFUUzwvdGl0bGU+CisgICAgICA8L3Nl Y3QyPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX01PREVTRVRfQ1RM PC90aXRsZT4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5E Uk1fSU9DVExfQkxPQ0s8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAg ICAgICAgPHRpdGxlPkRSTV9JT0NUTF9VTkJMT0NLPC90aXRsZT4KKyAgICAgIDwvc2VjdDI+Cisg ICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1fSU9DVExfQ09OVFJPTDwvdGl0bGU+Cisg ICAgICA8L3NlY3QyPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX0FE RF9NQVA8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAgICAgICAgPHRp dGxlPkRSTV9JT0NUTF9BRERfQlVGUzwvdGl0bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNl Y3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX01BUktfQlVGUzwvdGl0bGU+CisgICAgICA8 L3NlY3QyPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX0lORk9fQlVG UzwvdGl0bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+ RFJNX0lPQ1RMX01BUF9CVUZTPC90aXRsZT4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+ CisgICAgICAgIDx0aXRsZT5EUk1fSU9DVExfRlJFRV9CVUZTPC90aXRsZT4KKyAgICAgIDwvc2Vj dDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1fSU9DVExfUk1fTUFQPC90aXRs ZT4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1fSU9D VExfU0VUX1NBUkVBX0NUWDwvdGl0bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3QyPgor ICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX0dFVF9TQVJFQV9DVFg8L3RpdGxlPgorICAgICAgPC9z ZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9BRERfQ1RYPC90 aXRsZT4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1f SU9DVExfUk1fQ1RYPC90aXRsZT4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAg ICAgIDx0aXRsZT5EUk1fSU9DVExfTU9EX0NUWDwvdGl0bGU+CisgICAgICA8L3NlY3QyPgorICAg ICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX0dFVF9DVFg8L3RpdGxlPgorICAg ICAgPC9zZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9TV0lU Q0hfQ1RYPC90aXRsZT4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0 aXRsZT5EUk1fSU9DVExfTkVXX0NUWDwvdGl0bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNl Y3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX1JFU19DVFg8L3RpdGxlPgorICAgICAgPC9z ZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9BRERfRFJBVzwv dGl0bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJN X0lPQ1RMX1JNX0RSQVc8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAg ICAgICAgPHRpdGxlPkRSTV9JT0NUTF9ETUE8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICAg IDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9MT0NLPC90aXRsZT4KKyAgICAgIDwv c2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1fSU9DVExfVU5MT0NLPC90 aXRsZT4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1f SU9DVExfRklOSVNIPC90aXRsZT4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAg ICAgIDx0aXRsZT5EUk1fSU9DVExfQUdQX0FDUVVJUkU8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4K KyAgICAgIDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9BR1BfUkVMRUFTRTwvdGl0 bGU+CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lP Q1RMX0FHUF9FTkFCTEU8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAg ICAgICAgPHRpdGxlPkRSTV9JT0NUTF9BR1BfSU5GTzwvdGl0bGU+CisgICAgICA8L3NlY3QyPgor ICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RMX0FHUF9BTExPQzwvdGl0bGU+ CisgICAgICA8L3NlY3QyPgorICAgICAgPHNlY3QyPgorICAgICAgICA8dGl0bGU+RFJNX0lPQ1RM X0FHUF9GUkVFPC90aXRsZT4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAg IDx0aXRsZT5EUk1fSU9DVExfQUdQX0JJTkQ8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICAg IDxzZWN0Mj4KKyAgICAgICAgPHRpdGxlPkRSTV9JT0NUTF9BR1BfVU5CSU5EPC90aXRsZT4KKyAg ICAgIDwvc2VjdDI+CisgICAgICA8c2VjdDI+CisgICAgICAgIDx0aXRsZT5EUk1fSU9DVExfU0df QUxMT0M8L3RpdGxlPgorICAgICAgPC9zZWN0Mj4KKyAgICAgIDxzZWN0Mj4KKyAgICAgICAgPHRp dGxlPkRSTV9JT0NUTF9TR19GUkVFPC90aXRsZT4KKyAgICAgIDwvc2VjdDI+CisgICAgICA8c2Vj dDI+CisgICAgICAgIDx0aXRsZT5EUk1fSU9DVExfVVBEQVRFX0RSQVc8L3RpdGxlPgorICAgICAg PC9zZWN0Mj4KKyAgICA8L3NlY3QxPgorICA8L2NoYXB0ZXI+Cis8L3BhcnQ+CiA8cGFydCBpZD0i ZHJtRHJpdmVycyI+Ci0gIDx0aXRsZT5EUk0gRHJpdmVyczwvdGl0bGU+CisgIDx0aXRsZSBpZD0i ZHJtRHJpdmVycy50aXRsZSI+RFJNIERyaXZlcnM8L3RpdGxlPgogCiAgIDxwYXJ0aW50cm8+CiAg ICAgPHBhcmE+CmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybS5oIGIvaW5jbHVkZS91 YXBpL2RybS9kcm0uaAppbmRleCBiMGI4NTU2MTM2NDEuLmVjNTMzZWE3NDMyNCAxMDA2NDQKLS0t IGEvaW5jbHVkZS91YXBpL2RybS9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybS5oCkBA IC0xLDUgKzEsNCBAQAogLyoqCi0gKiBcZmlsZSBkcm0uaAogICogSGVhZGVyIGZvciB0aGUgRGly ZWN0IFJlbmRlcmluZyBNYW5hZ2VyCiAgKgogICogXGF1dGhvciBSaWNrYXJkIEUuIChSaWspIEZh aXRoIDxmYWl0aEB2YWxpbnV4LmNvbT4KQEAgLTEyMSw5ICsxMjAsMjQgQEAgc3RydWN0IGRybV9o d19sb2NrIHsKIH07CiAKIC8qKgotICogRFJNX0lPQ1RMX1ZFUlNJT04gaW9jdGwgYXJndW1lbnQg dHlwZS4KKyAqIHN0cnVjdCBkcm1fdmVyc2lvbiAtIERSTV9JT0NUTF9WRVJTSU9OIElPQ1RMIGFy Z3VtZW50IHR5cGUKKyAqIEB2ZXJzaW9uX21ham9yOiBtYWpvciB2ZXJzaW9uCisgKiBAdmVyc2lv bl9taW5vcjogbWlub3IgdmVyc2lvbgorICogQHZlcnNpb25fcGF0Y2hsZXZlbDogcGF0Y2ggbGV2 ZWwKKyAqIEBuYW1lX2xlbjogbGVuZ3RoIG9mIG5hbWUgYnVmZmVyCisgKiBAbmFtZTogZHJpdmVy IG5hbWUKKyAqIEBkYXRlX2xlbjogbGVuZ3RoIG9mIGRhdGUgYnVmZmVyCisgKiBAZGF0ZTogZHJp dmVyIGRhdGUKKyAqIEBkZXNjX2xlbjogbGVuZ3RoIG9mIGRlc2NyaXB0aW9uIGJ1ZmZlcgorICog QGRlc2M6IGRyaXZlciBkZXNjcmlwdGlvbgogICoKLSAqIFxzYSBkcm1HZXRWZXJzaW9uKCkuCisg KiBUaGUgQG5hbWUsIEBkYXRlIGFuZCBAZGVzYyBmaWVsZHMgbXVzdCBwb2ludCB0byBidWZmZXJz IGFsbG9jYXRlZCBieSB0aGUKKyAqIHVzZXJzcGFjZSBhcHBsaWNhdGlvbi4gT25seSBAbmFtZV9s ZW4sIEBkYXRlX2xlbiBvciBAZGVzY19sZW4gY2hhcmFjdGVycworICogd2lsbCBiZSB3cml0dGVu IGludG8gdGhlc2UgYnVmZmVycywgc28gdGhlIHN0cmluZ3MgbWF5IGJlIHRydW5jYXRlZC4gVGhl CisgKiBrZXJuZWwgc2V0cyB0aGUgQG5hbWVfbGVuLCBAZGF0ZV9sZW4gYW5kIEBkZXNjX2xlbiBm aWVsZHMgdG8gdGhlIGFjdHVhbAorICogbGVuZ3RocyBvZiB0aGUgc3RyaW5ncyB1cG9uIHJldHVy biAobm90IGluY2NsdWRpbmcgdGhlIHRlcm1pbmF0aW5nIE5VTAorICogY2hhcmFjdGVyKS4gVXNl cnNwYWNlIGNhbiBjYWxsIHRoaXMgSU9DVEwgd2l0aCBhbGwgbGVuZ3RocyBzZXQgdG8gMCAoYW5k CisgKiBidWZmZXJzIHRvIE5VTEwpIHRvIGRldGVybWluZSB0aGUgZXhhY3Qgc2l6ZSBvZiB0aGUg YnVmZmVycyB0byBhbGxvY2F0ZS4KICAqLwogc3RydWN0IGRybV92ZXJzaW9uIHsKIAlpbnQgdmVy c2lvbl9tYWpvcjsJICAvKio8IE1ham9yIHZlcnNpb24gKi8KQEAgLTEzOCw5ICsxNTIsMTcgQEAg c3RydWN0IGRybV92ZXJzaW9uIHsKIH07CiAKIC8qKgotICogRFJNX0lPQ1RMX0dFVF9VTklRVUUg aW9jdGwgYXJndW1lbnQgdHlwZS4KKyAqIHN0cnVjdCBkcm1fdW5pcXVlIC0gRFJNX0lPQ1RMX0dF VF9VTklRVUUgSU9DVEwgYXJndW1lbnQgdHlwZQorICogQHVuaXF1ZV9sZW46IGxlbmd0aCBvZiB1 bmlxdWUgbmFtZSBmb3IgZHJpdmVyIGluc3RhbnRpYXRpb24KKyAqIEB1bmlxdWU6IHVuaXF1ZSBu YW1lIGZvciBkcml2ZXIgaW5zdGFudGlhdGlvbgogICoKLSAqIFxzYSBkcm1HZXRCdXNpZCgpIGFu ZCBkcm1TZXRCdXNJZCgpLgorICogVGhlIEB1bmlxdWUgZmllbGQgbXVzdCBwb2ludCB0byBhIGJ1 ZmZlciBhbGxvY2F0ZWQgYnkgdGhlIHVzZXJzcGFjZQorICogYXBwbGljYXRpb24uIElmIHRoZSBA dW5pcXVlX2xlbiBmaWVsZCBpcyBsZXNzIHRoYW4gdGhlIGFjdHVhbCBzaXplIG9mIHRoZQorICog dW5pcXVlIG5hbWUgb2YgdGhlIGRldmljZSwgdGhlIGtlcm5lbCB3aWxsIG5vdCBmaWxsIHRoZSBA dW5pcXVlIGZpZWxkIGJ1dAorICogcmV0dXJuIHRoZSBhY3R1YWwgc2l6ZSBpbiBAdW5pcXVlX2xl biBpbnN0ZWFkLiBVc2Vyc3BhY2UgYXBwbGljYXRpb25zCisgKiB3aWxsIHR5cGljYWxseSBwZXJm b3JtIHRoZSBJT0NUTCBvbmNlIHdpdGggQHVuaXF1ZV9sZW4gYW5kIEB1bmlxdWUgc2V0IHRvCisg KiAwIGFuZCBOVUxMLCByZXNwZWN0aXZlbHksIGFsbG9jYXRlIGEgYnVmZmVyIHVzaW5nIHRoZSBy ZXR1cm5lZCBsZW5ndGggYW5kCisgKiBwZXJmb3JtIHRoZSBJT0NUTCBhZ2FpbiB3aXRoIHRoZSBw cm9wZXJseSBzaXplZCBidWZmZXIuCiAgKi8KIHN0cnVjdCBkcm1fdW5pcXVlIHsKIAlzaXplX3Qg dW5pcXVlX2xlbjsJICAvKio8IExlbmd0aCBvZiB1bmlxdWUgKi8KQEAgLTU3Myw3ICs1OTUsMTEg QEAgc3RydWN0IGRybV9zY2F0dGVyX2dhdGhlciB7CiB9OwogCiAvKioKLSAqIERSTV9JT0NUTF9T RVRfVkVSU0lPTiBpb2N0bCBhcmd1bWVudCB0eXBlLgorICogc3RydWN0IGRybV9zZXRfdmVyc2lv biAtIERSTV9JT0NUTF9TRVRfVkVSU0lPTiBJT0NUTCBhcmd1bWVudCB0eXBlCisgKiBAZHJtX2Rp X21ham9yOiBEUk0gaW50ZXJmYWNlIG1ham9yIHZlcnNpb24KKyAqIEBkcm1fZGlfbWlub3I6IERS TSBpbnRlcmZhY2UgbWlub3IgdmVyc2lvbgorICogQGRybV9kZF9tYWpvcjogRFJNIGRyaXZlciBt YWpvciB2ZXJzaW9uCisgKiBAZHJtX2RkX21pbm9yOiBEUk0gZHJpdmVyIG1pbm9yIHZlcnNpb24K ICAqLwogc3RydWN0IGRybV9zZXRfdmVyc2lvbiB7CiAJaW50IGRybV9kaV9tYWpvcjsKQEAgLTU4 MiwxNCArNjA4LDIxIEBAIHN0cnVjdCBkcm1fc2V0X3ZlcnNpb24gewogCWludCBkcm1fZGRfbWlu b3I7CiB9OwogCi0vKiogRFJNX0lPQ1RMX0dFTV9DTE9TRSBpb2N0bCBhcmd1bWVudCB0eXBlICov CisvKioKKyAqIHN0cnVjdCBkcm1fZ2VtX2Nsb3NlIC0gRFJNX0lPQ1RMX0dFTV9DTE9TRSBJT0NU TCBhcmd1bWVudCB0eXBlCisgKiBAaGFuZGxlOiBoYW5kbGUgb2Ygb2JqZWN0IHRvIGNsb3NlCisg KiBAcGFkOiBwYWRkaW5nIGZvciA2NC1iaXQgYWxpZ25tZW50CisgKi8KIHN0cnVjdCBkcm1fZ2Vt X2Nsb3NlIHsKLQkvKiogSGFuZGxlIG9mIHRoZSBvYmplY3QgdG8gYmUgY2xvc2VkLiAqLwogCV9f dTMyIGhhbmRsZTsKIAlfX3UzMiBwYWQ7CiB9OwogCi0vKiogRFJNX0lPQ1RMX0dFTV9GTElOSyBp b2N0bCBhcmd1bWVudCB0eXBlICovCisvKioKKyAqIHN0cnVjdCBkcm1fZ2VtX2ZsaW5rIC0gRFJN X0lPQ1RMX0dFTV9GTElOSyBJT0NUTCBhcmd1bWVudCB0eXBlCisgKiBAaGFuZGxlOiBoYW5kbGUg b2Ygb2JqZWN0IHRvIGV4cG9ydAorICogQG5hbWU6IHJldHVybmVkIG9iamVjdCBuYW1lCisgKi8K IHN0cnVjdCBkcm1fZ2VtX2ZsaW5rIHsKIAkvKiogSGFuZGxlIGZvciB0aGUgb2JqZWN0IGJlaW5n IG5hbWVkICovCiAJX191MzIgaGFuZGxlOwpAQCAtNTk4LDE1ICs2MzEsMTUgQEAgc3RydWN0IGRy bV9nZW1fZmxpbmsgewogCV9fdTMyIG5hbWU7CiB9OwogCi0vKiogRFJNX0lPQ1RMX0dFTV9PUEVO IGlvY3RsIGFyZ3VtZW50IHR5cGUgKi8KKy8qKgorICogc3RydWN0IGRybV9nZW1fb3BlbiAtIERS TV9JT0NUTF9HRU1fT1BFTiBJT0NUTCBhcmd1bWVudCB0eXBlCisgKiBAbmFtZTogbmFtZSBvZiB0 aGUgb2JqZWN0IGJlaW5nIG9wZW5lZAorICogQGhhbmRsZTogcmV0dXJuZWQgb2JqZWN0IGhhbmRs ZQorICogQHNpemU6IHJldHVybmVkIG9iamVjdCBzaXplCisgKi8KIHN0cnVjdCBkcm1fZ2VtX29w ZW4gewotCS8qKiBOYW1lIG9mIG9iamVjdCBiZWluZyBvcGVuZWQgKi8KIAlfX3UzMiBuYW1lOwot Ci0JLyoqIFJldHVybmVkIGhhbmRsZSBmb3IgdGhlIG9iamVjdCAqLwogCV9fdTMyIGhhbmRsZTsK LQotCS8qKiBSZXR1cm5lZCBzaXplIG9mIHRoZSBvYmplY3QgKi8KIAlfX3U2NCBzaXplOwogfTsK IApAQCAtNjMxLDcgKzY2NCwxMSBAQCBzdHJ1Y3QgZHJtX2dlbV9vcGVuIHsKICNkZWZpbmUgRFJN X0NBUF9DVVJTT1JfV0lEVEgJCTB4OAogI2RlZmluZSBEUk1fQ0FQX0NVUlNPUl9IRUlHSFQJCTB4 OQogCi0vKiogRFJNX0lPQ1RMX0dFVF9DQVAgaW9jdGwgYXJndW1lbnQgdHlwZSAqLworLyoqCisg KiBzdHJ1Y3QgZHJtX2dldF9jYXAgLSBEUk1fSU9DVExfR0VUX0NBUCBJT0NUTCBhcmd1bWVudCB0 eXBlCisgKiBAY2FwYWJpbGl0eTogZGV2aWNlL2RyaXZlciBjYXBhYmlsaXR5IHRvIHF1ZXJ5Cisg KiBAdmFsdWU6IHJldHVybiBsb2NhdGlvbiBmb3IgdGhlIHZhbHVlCisgKi8KIHN0cnVjdCBkcm1f Z2V0X2NhcCB7CiAJX191NjQgY2FwYWJpbGl0eTsKIAlfX3U2NCB2YWx1ZTsKQEAgLTY1NCwyMCAr NjkxLDM2IEBAIHN0cnVjdCBkcm1fZ2V0X2NhcCB7CiAgKi8KICNkZWZpbmUgRFJNX0NMSUVOVF9D QVBfVU5JVkVSU0FMX1BMQU5FUyAgMgogCi0vKiogRFJNX0lPQ1RMX1NFVF9DTElFTlRfQ0FQIGlv Y3RsIGFyZ3VtZW50IHR5cGUgKi8KKy8qKgorICogc3RydWN0IGRybV9zZXRfY2xpZW50X2NhcCAt IERSTV9JT0NUTF9TRVRfQ0xJRU5UX0NBUCBJT0NUTCBhcmd1bWVudCB0eXBlCisgKiBAY2FwYWJp bGl0eTogY2xpZW50IGNhcGFiaWxpdHkKKyAqIEB2YWx1ZTogY2FwYWJpbGl0eSB2YWx1ZQorICov CiBzdHJ1Y3QgZHJtX3NldF9jbGllbnRfY2FwIHsKIAlfX3U2NCBjYXBhYmlsaXR5OwogCV9fdTY0 IHZhbHVlOwogfTsKIAogI2RlZmluZSBEUk1fQ0xPRVhFQyBPX0NMT0VYRUMKKworLyoqCisgKiBz dHJ1Y3QgZHJtX3ByaW1lX2hhbmRsZSAtIERSTV9JT0NUTF9QUklNRV8qIElPQ1RMIGFyZ3VtZW50 IHR5cGUKKyAqIEBoYW5kbGU6IGJ1ZmZlciBvYmplY3QgaGFuZGxlCisgKiBAZmxhZ3M6IGV4cG9y dCBmbGFncyAob25seSBhcHBsaWNhYmxlIGZvciBEUk1fSU9DVExfUFJJTUVfSEFORExFX1RPX0ZE KQorICogQGZkOiBETUEtQlVGIGZpbGUgZGVzY3JpcHRvcgorICoKKyAqIEZvciBEUk1fSU9DVExf UFJJTUVfSEFORExFX1RPX0ZEIChleHBvcnQpIHRoZSBAaGFuZGxlIGlzIHBhc3NlZCBpbiBhbG9u ZworICogd2l0aCBhIHNldCBvZiBAZmxhZ3MgKG9ubHkgRFJNX0NMT0VYRUMgaXMgY3VycmVudGx5 IHZhbGlkKS4gVXBvbiByZXR1cm4gdGhlCisgKiBAZmQgZmllbGQgY29udGFpbnMgYSBmaWxlIGRl c2NyaXB0b3IgdGhhdCBjYW4gYmUgdXNlZCB0byBpbXBvcnQgdGhlIGJ1ZmZlcgorICogaW50byBh bm90aGVyIGRyaXZlci4KKyAqCisgKiBGb3IgRFJNX0lPQ1RMX1BSSU1FX0ZEX1RPX0hBTkRMRSAo aW1wb3J0KSB0aGUgZmlsZSBkZXNjcmlwdG9yIGNvcnJlc3BvbmRpbmcKKyAqIHRvIHRoZSBidWZm ZXIgdGhhdCBpcyB0byBiZSBpbXBvcnRlZCBpcyBzcGVjaWZpZWQgaW4gQGZkLiBVcG9uIHJldHVy biB0aGUKKyAqIEBoYW5kbGUgZmllbGQgY29udGFpbnMgYSBkZXZpY2UtbG9jYWwgaGFuZGxlIHRv IHRoZSBpbXBvcnRlZCBidWZmZXIgb2JqZWN0LgorICovCiBzdHJ1Y3QgZHJtX3ByaW1lX2hhbmRs ZSB7CiAJX191MzIgaGFuZGxlOwotCi0JLyoqIEZsYWdzLi4gb25seSBhcHBsaWNhYmxlIGZvciBo YW5kbGUtPmZkICovCiAJX191MzIgZmxhZ3M7Ci0KLQkvKiogUmV0dXJuZWQgZG1hYnVmIGZpbGUg ZGVzY3JpcHRvciAqLwogCV9fczMyIGZkOwogfTsKIAotLSAKMi4xLjMKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==