From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [radeon-alex:drm-next-4.21 64/142] drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:4942 amdgpu_dm_atomic_commit_tail() error: we previously assumed 'dc_state' could be null (see line 4927) Date: Mon, 10 Dec 2018 13:34:48 +0300 Message-ID: <20181210103448.GA3093@kadam> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from userp2120.oracle.com (userp2120.oracle.com [156.151.31.85]) by gabe.freedesktop.org (Postfix) with ESMTPS id F34A06E980 for ; Mon, 10 Dec 2018 10:35:09 +0000 (UTC) Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: kbuild@01.org, Nicholas Kazlauskas Cc: Alex Deucher , Leo Li , kbuild-all@01.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org dHJlZTogICBnaXQ6Ly9wZW9wbGUuZnJlZWRlc2t0b3Aub3JnL35hZ2Q1Zi9saW51eC5naXQgZHJt LW5leHQtNC4yMQpoZWFkOiAgIDIyNjY2Y2MxNDgxYWUzODE0ZDljNzcxODQxOGNjNGEzYWE3ZDkw YzMKY29tbWl0OiBlYjNkYzg5Nzg1OTZhMDQ1ZjQ2OWYxM2JiMTMyNzFhNzA3NjIzZWNiIFs2NC8x NDJdIGRybS9hbWQvZGlzcGxheTogVXNlIHByaXZhdGUgb2JqIGhlbHBlcnMgZm9yIGRtX2F0b21p Y19zdGF0ZQoKTmV3IHNtYXRjaCB3YXJuaW5nczoKZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Li4vZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmM6NDk0MiBhbWRncHVfZG1fYXRvbWljX2Nv bW1pdF90YWlsKCkgZXJyb3I6IHdlIHByZXZpb3VzbHkgYXNzdW1lZCAnZGNfc3RhdGUnIGNvdWxk IGJlIG51bGwgKHNlZSBsaW5lIDQ5MjcpCgpPbGQgc21hdGNoIHdhcm5pbmdzOgpkcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS8uLi9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYzoyOTc5IGNy ZWF0ZV9zdHJlYW1fZm9yX3NpbmsoKSBlcnJvcjogd2UgcHJldmlvdXNseSBhc3N1bWVkICdwcmVm ZXJyZWRfbW9kZScgY291bGQgYmUgbnVsbCAoc2VlIGxpbmUgMjk2MikKZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvLi4vZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmM6NDk5OCBhbWRncHVf ZG1fYXRvbWljX2NvbW1pdF90YWlsKCkgZXJyb3I6IHdlIHByZXZpb3VzbHkgYXNzdW1lZCAnZG1f c3RhdGUnIGNvdWxkIGJlIG51bGwgKHNlZSBsaW5lIDQ4NDYpCgpnaXQgcmVtb3RlIGFkZCByYWRl b24tYWxleCBnaXQ6Ly9wZW9wbGUuZnJlZWRlc2t0b3Aub3JnL35hZ2Q1Zi9saW51eC5naXQKZ2l0 IHJlbW90ZSB1cGRhdGUgcmFkZW9uLWFsZXgKZ2l0IGNoZWNrb3V0IGViM2RjODk3ODU5NmEwNDVm NDY5ZjEzYmIxMzI3MWE3MDc2MjNlY2IKdmltICsvZGNfc3RhdGUgKzQ5NDIgZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvLi4vZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMKCmU3YjA3Y2Vl ZiBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDQ4MTcgIApiODU5MmI0ODQgTGVvIExp ICAgICAgICAgICAgICAyMDE4LTA5LTE0ICA0ODE4ICAvKioKYjg1OTJiNDg0IExlbyBMaSAgICAg ICAgICAgICAgMjAxOC0wOS0xNCAgNDgxOSAgICogYW1kZ3B1X2RtX2F0b21pY19jb21taXRfdGFp bCgpIC0gQU1EZ3B1IERNJ3MgY29tbWl0IHRhaWwgaW1wbGVtZW50YXRpb24uCmI4NTkyYjQ4NCBM ZW8gTGkgICAgICAgICAgICAgIDIwMTgtMDktMTQgIDQ4MjAgICAqIEBzdGF0ZTogVGhlIGF0b21p YyBzdGF0ZSB0byBjb21taXQKYjg1OTJiNDg0IExlbyBMaSAgICAgICAgICAgICAgMjAxOC0wOS0x NCAgNDgyMSAgICoKYjg1OTJiNDg0IExlbyBMaSAgICAgICAgICAgICAgMjAxOC0wOS0xNCAgNDgy MiAgICogVGhpcyB3aWxsIHRlbGwgREMgdG8gY29tbWl0IHRoZSBjb25zdHJ1Y3RlZCBEQyBzdGF0 ZSBmcm9tIGF0b21pY19jaGVjaywKYjg1OTJiNDg0IExlbyBMaSAgICAgICAgICAgICAgMjAxOC0w OS0xNCAgNDgyMyAgICogcHJvZ3JhbW1pbmcgdGhlIGhhcmR3YXJlLiBBbnkgZmFpbHVyZXMgaGVy ZSBpbXBsaWVzIGEgaGFyZHdhcmUgZmFpbHVyZSwgc2luY2UKYjg1OTJiNDg0IExlbyBMaSAgICAg ICAgICAgICAgMjAxOC0wOS0xNCAgNDgyNCAgICogYXRvbWljIGNoZWNrIHNob3VsZCBoYXZlIGZp bHRlcmVkIGFueXRoaW5nIG5vbi1rb3NoZXIuCmI4NTkyYjQ4NCBMZW8gTGkgICAgICAgICAgICAg IDIwMTgtMDktMTQgIDQ4MjUgICAqLwo3NTc4ZWNkYTEgQWxleCBEZXVjaGVyICAgICAgICAyMDE3 LTEwLTEwICA0ODI2ICBzdGF0aWMgdm9pZCBhbWRncHVfZG1fYXRvbWljX2NvbW1pdF90YWlsKHN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAg ICAgMjAxNy0wOC0xMCAgNDgyNyAgewplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3 LTA4LTEwICA0ODI4ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHN0YXRlLT5kZXY7CmU3YjA3 Y2VlZiBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDQ4MjkgIAlzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldiA9IGRldi0+ZGV2X3ByaXZhdGU7CmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFu ZCAgICAgIDIwMTctMDgtMTAgIDQ4MzAgIAlzdHJ1Y3QgYW1kZ3B1X2Rpc3BsYXlfbWFuYWdlciAq ZG0gPSAmYWRldi0+ZG07CmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTctMDgtMTAg IDQ4MzEgIAlzdHJ1Y3QgZG1fYXRvbWljX3N0YXRlICpkbV9zdGF0ZTsKZWIzZGM4OTc4IE5pY2hv bGFzIEthemxhdXNrYXMgMjAxOC0xMS0yMiAgNDgzMiAgCXN0cnVjdCBkY19zdGF0ZSAqZGNfc3Rh dGUgPSBOVUxMLCAqZGNfc3RhdGVfdGVtcCA9IE5VTEw7CmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFu ZCAgICAgIDIwMTctMDgtMTAgIDQ4MzMgIAl1aW50MzJfdCBpLCBqOwo1Y2M2ZGNiZDQgTGVvIChT dW5wZW5nICBMaSAgICAyMDE3LTEwLTEyICA0ODM0KSAJc3RydWN0IGRybV9jcnRjICpjcnRjOwow YmM5NzA2ZGIgTGVvIChTdW5wZW5nICBMaSAgICAyMDE3LTEwLTEyICA0ODM1KSAJc3RydWN0IGRy bV9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwgKm5ld19jcnRjX3N0YXRlOwplN2IwN2NlZWYg SGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA0ODM2ICAJdW5zaWduZWQgbG9uZyBmbGFn czsKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDgzNyAgCWJvb2wg d2FpdF9mb3JfdmJsYW5rID0gdHJ1ZTsKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAx Ny0wOC0xMCAgNDgzOCAgCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CmMyY2VhNzA2 MyBMZW8gKFN1bnBlbmcgIExpICAgIDIwMTctMTAtMTIgIDQ4MzkpIAlzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9zdGF0ZSAqb2xkX2Nvbl9zdGF0ZSwgKm5ld19jb25fc3RhdGU7CjU0ZDc2NTc1MiBMZW8g KFN1bnBlbmcgIExpICAgIDIwMTctMTAtMTIgIDQ4NDApIAlzdHJ1Y3QgZG1fY3J0Y19zdGF0ZSAq ZG1fb2xkX2NydGNfc3RhdGUsICpkbV9uZXdfY3J0Y19zdGF0ZTsKZmUyYTE5NjUyIEx5dWRlIFBh dWwgICAgICAgICAgMjAxOC0wNi0yMSAgNDg0MSAgCWludCBjcnRjX2Rpc2FibGVfY291bnQgPSAw OwplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA0ODQyICAKZTdiMDdj ZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDg0MyAgCWRybV9hdG9taWNfaGVs cGVyX3VwZGF0ZV9sZWdhY3lfbW9kZXNldF9zdGF0ZShkZXYsIHN0YXRlKTsKZTdiMDdjZWVmIEhh cnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDg0NCAgCmViM2RjODk3OCBOaWNob2xhcyBL YXpsYXVza2FzIDIwMTgtMTEtMjIgIDQ4NDUgIAlkbV9zdGF0ZSA9IGRtX2F0b21pY19nZXRfbmV3 X3N0YXRlKHN0YXRlKTsKZWIzZGM4OTc4IE5pY2hvbGFzIEthemxhdXNrYXMgMjAxOC0xMS0yMiAg NDg0NiAgCWlmIChkbV9zdGF0ZSAmJiBkbV9zdGF0ZS0+Y29udGV4dCkgewplYjNkYzg5NzggTmlj aG9sYXMgS2F6bGF1c2thcyAyMDE4LTExLTIyICA0ODQ3ICAJCWRjX3N0YXRlID0gZG1fc3RhdGUt PmNvbnRleHQ7CmViM2RjODk3OCBOaWNob2xhcyBLYXpsYXVza2FzIDIwMTgtMTEtMjIgIDQ4NDgg IAl9IGVsc2UgewplYjNkYzg5NzggTmljaG9sYXMgS2F6bGF1c2thcyAyMDE4LTExLTIyICA0ODQ5 ICAJCS8qIE5vIHN0YXRlIGNoYW5nZXMsIHJldGFpbiBjdXJyZW50IHN0YXRlLiAqLwplYjNkYzg5 NzggTmljaG9sYXMgS2F6bGF1c2thcyAyMDE4LTExLTIyICA0ODUwICAJCWRjX3N0YXRlX3RlbXAg PSBkY19jcmVhdGVfc3RhdGUoKTsKZWIzZGM4OTc4IE5pY2hvbGFzIEthemxhdXNrYXMgMjAxOC0x MS0yMiAgNDg1MSAgCQlBU1NFUlQoZGNfc3RhdGVfdGVtcCk7CmViM2RjODk3OCBOaWNob2xhcyBL YXpsYXVza2FzIDIwMTgtMTEtMjIgIDQ4NTIgIAkJZGNfc3RhdGUgPSBkY19zdGF0ZV90ZW1wOwpl YjNkYzg5NzggTmljaG9sYXMgS2F6bGF1c2thcyAyMDE4LTExLTIyICA0ODUzICAJCWRjX3Jlc291 cmNlX3N0YXRlX2NvcHlfY29uc3RydWN0X2N1cnJlbnQoZG0tPmRjLCBkY19zdGF0ZSk7CmViM2Rj ODk3OCBOaWNob2xhcyBLYXpsYXVza2FzIDIwMTgtMTEtMjIgIDQ4NTQgIAl9CgpkY19zdGF0ZSBj YW4ndCBiZSBOVUxMIGFmdGVyIHRoaXMgaWYgc3RhdGVtZW50LgoKZTdiMDdjZWVmIEhhcnJ5IFdl bnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDg1NSAgCmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFuZCAg ICAgIDIwMTctMDgtMTAgIDQ4NTYgIAkvKiB1cGRhdGUgY2hhbmdlZCBpdGVtcyAqLwowYmM5NzA2 ZGIgTGVvIChTdW5wZW5nICBMaSAgICAyMDE3LTEwLTEyICA0ODU3KSAJZm9yX2VhY2hfb2xkbmV3 X2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLCBuZXdfY3J0Y19zdGF0 ZSwgaSkgewplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA0ODU4ICAJ CXN0cnVjdCBhbWRncHVfY3J0YyAqYWNydGMgPSB0b19hbWRncHVfY3J0YyhjcnRjKTsKYjgzMGVi YzkxIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wNy0yNiAgNDg1OSAgCjU0ZDc2NTc1MiBMZW8g KFN1bnBlbmcgIExpICAgIDIwMTctMTAtMTIgIDQ4NjApIAkJZG1fbmV3X2NydGNfc3RhdGUgPSB0 b19kbV9jcnRjX3N0YXRlKG5ld19jcnRjX3N0YXRlKTsKNTRkNzY1NzUyIExlbyAoU3VucGVuZyAg TGkgICAgMjAxNy0xMC0xMiAgNDg2MSkgCQlkbV9vbGRfY3J0Y19zdGF0ZSA9IHRvX2RtX2NydGNf c3RhdGUob2xkX2NydGNfc3RhdGUpOwplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3 LTA4LTEwICA0ODYyICAKZjFhZDJmNWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOS0xMiAg NDg2MyAgCQlEUk1fREVCVUdfRFJJVkVSKAplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAy MDE3LTA4LTEwICA0ODY0ICAJCQkiYW1kZ3B1X2NydGMgaWQ6JWQgY3J0Y19zdGF0ZV9mbGFnczog ZW5hYmxlOiVkLCBhY3RpdmU6JWQsICIKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAx Ny0wOC0xMCAgNDg2NSAgCQkJInBsYW5lc19jaGFuZ2VkOiVkLCBtb2RlX2NoYW5nZWQ6JWQsYWN0 aXZlX2NoYW5nZWQ6JWQsIgplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEw ICA0ODY2ICAJCQkiY29ubmVjdG9yc19jaGFuZ2VkOiVkXG4iLAplN2IwN2NlZWYgSGFycnkgV2Vu dGxhbmQgICAgICAyMDE3LTA4LTEwICA0ODY3ICAJCQlhY3J0Yy0+Y3J0Y19pZCwKMGJjOTcwNmRi IExlbyAoU3VucGVuZyAgTGkgICAgMjAxNy0xMC0xMiAgNDg2OCkgCQkJbmV3X2NydGNfc3RhdGUt PmVuYWJsZSwKMGJjOTcwNmRiIExlbyAoU3VucGVuZyAgTGkgICAgMjAxNy0xMC0xMiAgNDg2OSkg CQkJbmV3X2NydGNfc3RhdGUtPmFjdGl2ZSwKMGJjOTcwNmRiIExlbyAoU3VucGVuZyAgTGkgICAg MjAxNy0xMC0xMiAgNDg3MCkgCQkJbmV3X2NydGNfc3RhdGUtPnBsYW5lc19jaGFuZ2VkLAowYmM5 NzA2ZGIgTGVvIChTdW5wZW5nICBMaSAgICAyMDE3LTEwLTEyICA0ODcxKSAJCQluZXdfY3J0Y19z dGF0ZS0+bW9kZV9jaGFuZ2VkLAowYmM5NzA2ZGIgTGVvIChTdW5wZW5nICBMaSAgICAyMDE3LTEw LTEyICA0ODcyKSAJCQluZXdfY3J0Y19zdGF0ZS0+YWN0aXZlX2NoYW5nZWQsCjBiYzk3MDZkYiBM ZW8gKFN1bnBlbmcgIExpICAgIDIwMTctMTAtMTIgIDQ4NzMpIAkJCW5ld19jcnRjX3N0YXRlLT5j b25uZWN0b3JzX2NoYW5nZWQpOwplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4 LTEwICA0ODc0ICAKMjdiM2Y0ZmM5IExlbyAoU3VucGVuZyAgTGkgICAgMjAxNy0xMS0xMCAgNDg3 NSkgCQkvKiBDb3B5IGFsbCB0cmFuc2llbnQgc3RhdGUgZmxhZ3MgaW50byBkYyBzdGF0ZSAqLwoy N2IzZjRmYzkgTGVvIChTdW5wZW5nICBMaSAgICAyMDE3LTExLTEwICA0ODc2KSAJCWlmIChkbV9u ZXdfY3J0Y19zdGF0ZS0+c3RyZWFtKSB7CjI3YjNmNGZjOSBMZW8gKFN1bnBlbmcgIExpICAgIDIw MTctMTEtMTAgIDQ4NzcpIAkJCWFtZGdwdV9kbV9jcnRjX2NvcHlfdHJhbnNpZW50X2ZsYWdzKCZk bV9uZXdfY3J0Y19zdGF0ZS0+YmFzZSwKMjdiM2Y0ZmM5IExlbyAoU3VucGVuZyAgTGkgICAgMjAx Ny0xMS0xMCAgNDg3OCkgCQkJCQkJCSAgICBkbV9uZXdfY3J0Y19zdGF0ZS0+c3RyZWFtKTsKMjdi M2Y0ZmM5IExlbyAoU3VucGVuZyAgTGkgICAgMjAxNy0xMS0xMCAgNDg3OSkgCQl9CjI3YjNmNGZj OSBMZW8gKFN1bnBlbmcgIExpICAgIDIwMTctMTEtMTAgIDQ4ODApIAplN2IwN2NlZWYgSGFycnkg V2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA0ODgxICAJCS8qIGhhbmRsZXMgaGVhZGxlc3MgaG90 cGx1ZyBjYXNlLCB1cGRhdGluZyBuZXdfc3RhdGUgYW5kCmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFu ZCAgICAgIDIwMTctMDgtMTAgIDQ4ODIgIAkJICogYWNvbm5lY3RvciBhcyBuZWVkZWQKZTdiMDdj ZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDg4MyAgCQkgKi8KZTdiMDdjZWVm IEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDg4NCAgCjU0ZDc2NTc1MiBMZW8gKFN1 bnBlbmcgIExpICAgIDIwMTctMTAtMTIgIDQ4ODUpIAkJaWYgKG1vZGVzZXRfcmVxdWlyZWQobmV3 X2NydGNfc3RhdGUsIGRtX25ld19jcnRjX3N0YXRlLT5zdHJlYW0sIGRtX29sZF9jcnRjX3N0YXRl LT5zdHJlYW0pKSB7CmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDQ4 ODYgIApmMWFkMmY1ZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA5LTEyICA0ODg3ICAJCQlE Uk1fREVCVUdfRFJJVkVSKCJBdG9taWMgY29tbWl0OiBTRVQgY3J0YyBpZCAlZDogWyVwXVxuIiwg YWNydGMtPmNydGNfaWQsIGFjcnRjKTsKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAx Ny0wOC0xMCAgNDg4OCAgCjU0ZDc2NTc1MiBMZW8gKFN1bnBlbmcgIExpICAgIDIwMTctMTAtMTIg IDQ4ODkpIAkJCWlmICghZG1fbmV3X2NydGNfc3RhdGUtPnN0cmVhbSkgewplN2IwN2NlZWYgSGFy cnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA0ODkwICAJCQkJLyoKZTdiMDdjZWVmIEhhcnJ5 IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDg5MSAgCQkJCSAqIHRoaXMgY291bGQgaGFwcGVu IGJlY2F1c2Ugb2YgaXNzdWVzIHdpdGgKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAx Ny0wOC0xMCAgNDg5MiAgCQkJCSAqIHVzZXJzcGFjZSBub3RpZmljYXRpb25zIGRlbGl2ZXJ5Lgpl N2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA0ODkzICAJCQkJICogSW4g dGhpcyBjYXNlIHVzZXJzcGFjZSB0cmllcyB0byBzZXQgbW9kZSBvbgoxZjYwMTBhOTYgRGF2aWQg RnJhbmNpcyAgICAgICAyMDE4LTA4LTE1ICA0ODk0ICAJCQkJICogZGlzcGxheSB3aGljaCBpcyBk aXNjb25uZWN0ZWQgaW4gZmFjdC4KMWY2MDEwYTk2IERhdmlkIEZyYW5jaXMgICAgICAgMjAxOC0w OC0xNSAgNDg5NSAgCQkJCSAqIGRjX3NpbmsgaXMgTlVMTCBpbiB0aGlzIGNhc2Ugb24gYWNvbm5l Y3Rvci4KZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDg5NiAgCQkJ CSAqIFdlIGV4cGVjdCByZXNldCBtb2RlIHdpbGwgY29tZSBzb29uLgplN2IwN2NlZWYgSGFycnkg V2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA0ODk3ICAJCQkJICoKZTdiMDdjZWVmIEhhcnJ5IFdl bnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDg5OCAgCQkJCSAqIFRoaXMgY2FuIGFsc28gaGFwcGVu IHdoZW4gdW5wbHVnIGlzIGRvbmUKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0w OC0xMCAgNDg5OSAgCQkJCSAqIGR1cmluZyByZXN1bWUgc2VxdWVuY2UgZW5kZWQKZTdiMDdjZWVm IEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDkwMCAgCQkJCSAqCmU3YjA3Y2VlZiBI YXJyeSBXZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDQ5MDEgIAkJCQkgKiBJbiB0aGlzIGNhc2Us IHdlIHdhbnQgdG8gcHJldGVuZCB3ZSBzdGlsbAplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAg ICAyMDE3LTA4LTEwICA0OTAyICAJCQkJICogaGF2ZSBhIHNpbmsgdG8ga2VlcCB0aGUgcGlwZSBy dW5uaW5nIHNvIHRoYXQKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAg NDkwMyAgCQkJCSAqIGh3IHN0YXRlIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgc3cgc3RhdGUKZTdi MDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDkwNCAgCQkJCSAqLwpmMWFk MmY1ZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA5LTEyICA0OTA1ICAJCQkJRFJNX0RFQlVH X0RSSVZFUigiJXM6IEZhaWxlZCB0byBjcmVhdGUgbmV3IHN0cmVhbSBmb3IgY3J0YyAlZFxuIiwK ZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDkwNiAgCQkJCQkJX19m dW5jX18sIGFjcnRjLT5iYXNlLmJhc2UuaWQpOwplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAg ICAyMDE3LTA4LTEwICA0OTA3ICAJCQkJY29udGludWU7CmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFu ZCAgICAgIDIwMTctMDgtMTAgIDQ5MDggIAkJCX0KZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAg ICAgMjAxNy0wOC0xMCAgNDkwOSAgCjU0ZDc2NTc1MiBMZW8gKFN1bnBlbmcgIExpICAgIDIwMTct MTAtMTIgIDQ5MTApIAkJCWlmIChkbV9vbGRfY3J0Y19zdGF0ZS0+c3RyZWFtKQo1NGQ3NjU3NTIg TGVvIChTdW5wZW5nICBMaSAgICAyMDE3LTEwLTEyICA0OTExKSAJCQkJcmVtb3ZlX3N0cmVhbShh ZGV2LCBhY3J0YywgZG1fb2xkX2NydGNfc3RhdGUtPnN0cmVhbSk7CmU3YjA3Y2VlZiBIYXJyeSBX ZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDQ5MTIgIAo5NzAyODAzN2EgTHl1ZGUgUGF1bCAgICAg ICAgICAyMDE4LTA2LTA0ICA0OTEzICAJCQlwbV9ydW50aW1lX2dldF9ub3Jlc3VtZShkZXYtPmRl dik7Cjk3MDI4MDM3YSBMeXVkZSBQYXVsICAgICAgICAgIDIwMTgtMDYtMDQgIDQ5MTQgIAplN2Iw N2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA0OTE1ICAJCQlhY3J0Yy0+ZW5h YmxlZCA9IHRydWU7CjBiYzk3MDZkYiBMZW8gKFN1bnBlbmcgIExpICAgIDIwMTctMTAtMTIgIDQ5 MTYpIAkJCWFjcnRjLT5od19tb2RlID0gbmV3X2NydGNfc3RhdGUtPm1vZGU7CjBiYzk3MDZkYiBM ZW8gKFN1bnBlbmcgIExpICAgIDIwMTctMTAtMTIgIDQ5MTcpIAkJCWNydGMtPmh3bW9kZSA9IG5l d19jcnRjX3N0YXRlLT5tb2RlOwowYmM5NzA2ZGIgTGVvIChTdW5wZW5nICBMaSAgICAyMDE3LTEw LTEyICA0OTE4KSAJCX0gZWxzZSBpZiAobW9kZXJlc2V0X3JlcXVpcmVkKG5ld19jcnRjX3N0YXRl KSkgewpmMWFkMmY1ZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA5LTEyICA0OTE5ICAJCQlE Uk1fREVCVUdfRFJJVkVSKCJBdG9taWMgY29tbWl0OiBSRVNFVC4gY3J0YyBpZCAlZDpbJXBdXG4i LCBhY3J0Yy0+Y3J0Y19pZCwgYWNydGMpOwplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAy MDE3LTA4LTEwICA0OTIwICAKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0x MCAgNDkyMSAgCQkJLyogaS5lLiByZXNldCBtb2RlICovCjU0ZDc2NTc1MiBMZW8gKFN1bnBlbmcg IExpICAgIDIwMTctMTAtMTIgIDQ5MjIpIAkJCWlmIChkbV9vbGRfY3J0Y19zdGF0ZS0+c3RyZWFt KQo1NGQ3NjU3NTIgTGVvIChTdW5wZW5nICBMaSAgICAyMDE3LTEwLTEyICA0OTIzKSAJCQkJcmVt b3ZlX3N0cmVhbShhZGV2LCBhY3J0YywgZG1fb2xkX2NydGNfc3RhdGUtPnN0cmVhbSk7CmU3YjA3 Y2VlZiBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDQ5MjQgIAkJfQplN2IwN2NlZWYg SGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA0OTI1ICAJfSAvKiBmb3JfZWFjaF9jcnRj X2luX3N0YXRlKCkgKi8KZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAg NDkyNiAgCmViM2RjODk3OCBOaWNob2xhcyBLYXpsYXVza2FzIDIwMTgtMTEtMjIgQDQ5MjcgIAlp ZiAoZGNfc3RhdGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXl5eXl5eXl4KU28gdGhpcyBjaGVjayBjYW4gYmUgcmVtb3ZlZC4K CmViM2RjODk3OCBOaWNob2xhcyBLYXpsYXVza2FzIDIwMTgtMTEtMjIgIDQ5MjggIAkJZG1fZW5h YmxlX3Blcl9mcmFtZV9jcnRjX21hc3Rlcl9zeW5jKGRjX3N0YXRlKTsKZWIzZGM4OTc4IE5pY2hv bGFzIEthemxhdXNrYXMgMjAxOC0xMS0yMiAgNDkyOSAgCQlXQVJOX09OKCFkY19jb21taXRfc3Rh dGUoZG0tPmRjLCBkY19zdGF0ZSkpOwpmYTIxMjNkYmMgTWlraXRhIExpcHNraSAgICAgICAyMDE3 LTEwLTE3ICA0OTMwICAJfQplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEw ICA0OTMxICAKMGJjOTcwNmRiIExlbyAoU3VucGVuZyAgTGkgICAgMjAxNy0xMC0xMiAgNDkzMikg CWZvcl9lYWNoX25ld19jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBuZXdfY3J0Y19zdGF0ZSwg aSkgewplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA0OTMzICAJCXN0 cnVjdCBhbWRncHVfY3J0YyAqYWNydGMgPSB0b19hbWRncHVfY3J0YyhjcnRjKTsKYjgzMGViYzkx IEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wNy0yNiAgNDkzNCAgCjU0ZDc2NTc1MiBMZW8gKFN1 bnBlbmcgIExpICAgIDIwMTctMTAtMTIgIDQ5MzUpIAkJZG1fbmV3X2NydGNfc3RhdGUgPSB0b19k bV9jcnRjX3N0YXRlKG5ld19jcnRjX3N0YXRlKTsKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAg ICAgMjAxNy0wOC0xMCAgNDkzNiAgCjU0ZDc2NTc1MiBMZW8gKFN1bnBlbmcgIExpICAgIDIwMTct MTAtMTIgIDQ5MzcpIAkJaWYgKGRtX25ld19jcnRjX3N0YXRlLT5zdHJlYW0gIT0gTlVMTCkgewpl N2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA0OTM4ICAJCQljb25zdCBz dHJ1Y3QgZGNfc3RyZWFtX3N0YXR1cyAqc3RhdHVzID0KNTRkNzY1NzUyIExlbyAoU3VucGVuZyAg TGkgICAgMjAxNy0xMC0xMiAgNDkzOSkgCQkJCQlkY19zdHJlYW1fZ2V0X3N0YXR1cyhkbV9uZXdf Y3J0Y19zdGF0ZS0+c3RyZWFtKTsKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0w OC0xMCAgNDk0MCAgCmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDQ5 NDEgIAkJCWlmICghc3RhdHVzKQplYjNkYzg5NzggTmljaG9sYXMgS2F6bGF1c2thcyAyMDE4LTEx LTIyIEA0OTQyICAJCQkJc3RhdHVzID0gZGNfc3RhdGVfZ2V0X3N0cmVhbV9zdGF0dXMoZGNfc3Rh dGUsCmViM2RjODk3OCBOaWNob2xhcyBLYXpsYXVza2FzIDIwMTgtMTEtMjIgIDQ5NDMgIAkJCQkJ CQkJICAgIGRtX25ld19jcnRjX3N0YXRlLT5zdHJlYW0pOwplYjNkYzg5NzggTmljaG9sYXMgS2F6 bGF1c2thcyAyMDE4LTExLTIyICA0OTQ0ICAKZWIzZGM4OTc4IE5pY2hvbGFzIEthemxhdXNrYXMg MjAxOC0xMS0yMiAgNDk0NSAgCQkJaWYgKCFzdGF0dXMpCjU0ZDc2NTc1MiBMZW8gKFN1bnBlbmcg IExpICAgIDIwMTctMTAtMTIgIDQ5NDYpIAkJCQlEQ19FUlIoImdvdCBubyBzdGF0dXMgZm9yIHN0 cmVhbSAlcCBvbiBhY3J0YyVwXG4iLCBkbV9uZXdfY3J0Y19zdGF0ZS0+c3RyZWFtLCBhY3J0Yyk7 CmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDQ5NDcgIAkJCWVsc2UK ZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDk0OCAgCQkJCWFjcnRj LT5vdGdfaW5zdCA9IHN0YXR1cy0+cHJpbWFyeV9vdGdfaW5zdDsKZTdiMDdjZWVmIEhhcnJ5IFdl bnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDk0OSAgCQl9CmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFu ZCAgICAgIDIwMTctMDgtMTAgIDQ5NTAgIAl9CmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFuZCAgICAg IDIwMTctMDgtMTAgIDQ5NTEgIApjMWVlOTJmOTQgRGF2aWQgRnJhbmNpcyAgICAgICAyMDE4LTEx LTI2ICA0OTUyICAJLyogSGFuZGxlIHNjYWxpbmcsIHVuZGVyc2NhbiwgYW5kIGFibSBjaGFuZ2Vz Ki8KYzJjZWE3MDYzIExlbyAoU3VucGVuZyAgTGkgICAgMjAxNy0xMC0xMiAgNDk1MykgCWZvcl9l YWNoX29sZG5ld19jb25uZWN0b3JfaW5fc3RhdGUoc3RhdGUsIGNvbm5lY3Rvciwgb2xkX2Nvbl9z dGF0ZSwgbmV3X2Nvbl9zdGF0ZSwgaSkgewo1NGQ3NjU3NTIgTGVvIChTdW5wZW5nICBMaSAgICAy MDE3LTEwLTEyICA0OTU0KSAJCXN0cnVjdCBkbV9jb25uZWN0b3Jfc3RhdGUgKmRtX25ld19jb25f c3RhdGUgPSB0b19kbV9jb25uZWN0b3Jfc3RhdGUobmV3X2Nvbl9zdGF0ZSk7CjU0ZDc2NTc1MiBM ZW8gKFN1bnBlbmcgIExpICAgIDIwMTctMTAtMTIgIDQ5NTUpIAkJc3RydWN0IGRtX2Nvbm5lY3Rv cl9zdGF0ZSAqZG1fb2xkX2Nvbl9zdGF0ZSA9IHRvX2RtX2Nvbm5lY3Rvcl9zdGF0ZShvbGRfY29u X3N0YXRlKTsKNTRkNzY1NzUyIExlbyAoU3VucGVuZyAgTGkgICAgMjAxNy0xMC0xMiAgNDk1Nikg CQlzdHJ1Y3QgYW1kZ3B1X2NydGMgKmFjcnRjID0gdG9fYW1kZ3B1X2NydGMoZG1fbmV3X2Nvbl9z dGF0ZS0+YmFzZS5jcnRjKTsKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0x MCAgNDk1NyAgCQlzdHJ1Y3QgZGNfc3RyZWFtX3N0YXR1cyAqc3RhdHVzID0gTlVMTDsKZTdiMDdj ZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDk1OCAgCjQ0ZDA5YzZhNSBIYXJy eSBXZW50bGFuZCAgICAgIDIwMTgtMDMtMTUgIDQ5NTkgIAkJaWYgKGFjcnRjKSB7CjBiYzk3MDZk YiBMZW8gKFN1bnBlbmcgIExpICAgIDIwMTctMTAtMTIgIDQ5NjApIAkJCW5ld19jcnRjX3N0YXRl ID0gZHJtX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsICZhY3J0Yy0+YmFzZSk7CjQ0 ZDA5YzZhNSBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTgtMDMtMTUgIDQ5NjEgIAkJCW9sZF9jcnRj X3N0YXRlID0gZHJtX2F0b21pY19nZXRfb2xkX2NydGNfc3RhdGUoc3RhdGUsICZhY3J0Yy0+YmFz ZSk7CjQ0ZDA5YzZhNSBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTgtMDMtMTUgIDQ5NjIgIAkJfQow YmM5NzA2ZGIgTGVvIChTdW5wZW5nICBMaSAgICAyMDE3LTEwLTEyICA0OTYzKSAKZTdiMDdjZWVm IEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDk2NCAgCQkvKiBTa2lwIGFueSBtb2Rl c2V0cy9yZXNldHMgKi8KMGJjOTcwNmRiIExlbyAoU3VucGVuZyAgTGkgICAgMjAxNy0xMC0xMiAg NDk2NSkgCQlpZiAoIWFjcnRjIHx8IGRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KG5ld19j cnRjX3N0YXRlKSkKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDk2 NiAgCQkJY29udGludWU7CmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTctMDgtMTAg IDQ5NjcgIAplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA0OTY4ICAK NTRkNzY1NzUyIExlbyAoU3VucGVuZyAgTGkgICAgMjAxNy0xMC0xMiAgNDk2OSkgCQlkbV9uZXdf Y3J0Y19zdGF0ZSA9IHRvX2RtX2NydGNfc3RhdGUobmV3X2NydGNfc3RhdGUpOwpjMWVlOTJmOTQg RGF2aWQgRnJhbmNpcyAgICAgICAyMDE4LTExLTI2ICA0OTcwICAJCWRtX29sZF9jcnRjX3N0YXRl ID0gdG9fZG1fY3J0Y19zdGF0ZShvbGRfY3J0Y19zdGF0ZSk7CmMxZWU5MmY5NCBEYXZpZCBGcmFu Y2lzICAgICAgIDIwMTgtMTEtMjYgIDQ5NzEgIApjMWVlOTJmOTQgRGF2aWQgRnJhbmNpcyAgICAg ICAyMDE4LTExLTI2ICA0OTcyICAJCS8qIFNraXAgYW55dGhpbmcgdGhhdCBpcyBub3Qgc2NhbGlu ZyBvciB1bmRlcnNjYW4gY2hhbmdlcyAqLwpjMWVlOTJmOTQgRGF2aWQgRnJhbmNpcyAgICAgICAy MDE4LTExLTI2ICA0OTczICAJCWlmICghaXNfc2NhbGluZ19zdGF0ZV9kaWZmZXJlbnQoZG1fbmV3 X2Nvbl9zdGF0ZSwgZG1fb2xkX2Nvbl9zdGF0ZSkgJiYKYzFlZTkyZjk0IERhdmlkIEZyYW5jaXMg ICAgICAgMjAxOC0xMS0yNiAgNDk3NCAgCQkJCShkbV9uZXdfY3J0Y19zdGF0ZS0+YWJtX2xldmVs ID09IGRtX29sZF9jcnRjX3N0YXRlLT5hYm1fbGV2ZWwpKQpjMWVlOTJmOTQgRGF2aWQgRnJhbmNp cyAgICAgICAyMDE4LTExLTI2ICA0OTc1ICAJCQljb250aW51ZTsKZTdiMDdjZWVmIEhhcnJ5IFdl bnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDk3NiAgCjU0ZDc2NTc1MiBMZW8gKFN1bnBlbmcgIExp ICAgIDIwMTctMTAtMTIgIDQ5NzcpIAkJdXBkYXRlX3N0cmVhbV9zY2FsaW5nX3NldHRpbmdzKCZk bV9uZXdfY29uX3N0YXRlLT5iYXNlLmNydGMtPm1vZGUsCjU0ZDc2NTc1MiBMZW8gKFN1bnBlbmcg IExpICAgIDIwMTctMTAtMTIgIDQ5NzgpIAkJCQlkbV9uZXdfY29uX3N0YXRlLCAoc3RydWN0IGRj X3N0cmVhbV9zdGF0ZSAqKWRtX25ld19jcnRjX3N0YXRlLT5zdHJlYW0pOwplN2IwN2NlZWYgSGFy cnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA0OTc5ICAKNzBlOGZmYzU1IEhhcnJ5IFdlbnRs YW5kICAgICAgMjAxNy0xMS0xMCAgNDk4MCAgCQlpZiAoIWRtX25ld19jcnRjX3N0YXRlLT5zdHJl YW0pCjcwZThmZmM1NSBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTctMTEtMTAgIDQ5ODEgIAkJCWNv bnRpbnVlOwo3MGU4ZmZjNTUgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTExLTEwICA0OTgyICAK NTRkNzY1NzUyIExlbyAoU3VucGVuZyAgTGkgICAgMjAxNy0xMC0xMiAgNDk4MykgCQlzdGF0dXMg PSBkY19zdHJlYW1fZ2V0X3N0YXR1cyhkbV9uZXdfY3J0Y19zdGF0ZS0+c3RyZWFtKTsKZTdiMDdj ZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNDk4NCAgCQlXQVJOX09OKCFzdGF0 dXMpOwozYmU1MjYyZTMgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA3LTI3ICA0OTg1ICAJCVdB Uk5fT04oIXN0YXR1cy0+cGxhbmVfY291bnQpOwplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAg ICAyMDE3LTA4LTEwICA0OTg2ICAKOThlNjQzNmQzIEFudGhvbnkgS29vICAgICAgICAgMjAxOC0w OC0yMSAgNDk4NyAgCQlkbV9uZXdfY3J0Y19zdGF0ZS0+c3RyZWFtLT5hZGp1c3QgPSBkbV9uZXdf Y3J0Y19zdGF0ZS0+YWRqdXN0Owo5OGU2NDM2ZDMgQW50aG9ueSBLb28gICAgICAgICAyMDE4LTA4 LTIxICA0OTg4ICAJCWRtX25ld19jcnRjX3N0YXRlLT5zdHJlYW0tPnZycl9pbmZvcGFja2V0ID0g ZG1fbmV3X2NydGNfc3RhdGUtPnZycl9pbmZvcGFja2V0OwpjMWVlOTJmOTQgRGF2aWQgRnJhbmNp cyAgICAgICAyMDE4LTExLTI2ICA0OTg5ICAJCWRtX25ld19jcnRjX3N0YXRlLT5zdHJlYW0tPmFi bV9sZXZlbCA9IGRtX25ld19jcnRjX3N0YXRlLT5hYm1fbGV2ZWw7Cjk4ZTY0MzZkMyBBbnRob255 IEtvbyAgICAgICAgIDIwMTgtMDgtMjEgIDQ5OTAgIAplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQg ICAgICAyMDE3LTA4LTEwICA0OTkxICAJCS8qVE9ETyBIb3cgaXQgd29ya3Mgd2l0aCBNUE8gPyov CjQ0ZDA5YzZhNSBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTgtMDMtMTUgIDQ5OTIgIAkJaWYgKCFj b21taXRfcGxhbmVzX3RvX3N0cmVhbSgKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAx Ny0wOC0xMCAgNDk5MyAgCQkJCWRtLT5kYywKM2JlNTI2MmUzIEhhcnJ5IFdlbnRsYW5kICAgICAg MjAxNy0wNy0yNyAgNDk5NCAgCQkJCXN0YXR1cy0+cGxhbmVfc3RhdGVzLAozYmU1MjYyZTMgSGFy cnkgV2VudGxhbmQgICAgICAyMDE3LTA3LTI3ICA0OTk1ICAJCQkJc3RhdHVzLT5wbGFuZV9jb3Vu dCwKNDRkMDljNmE1IEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxOC0wMy0xNSAgNDk5NiAgCQkJCWRt X25ld19jcnRjX3N0YXRlLAo0NGQwOWM2YTUgSGFycnkgV2VudGxhbmQgICAgICAyMDE4LTAzLTE1 ICA0OTk3ICAJCQkJdG9fZG1fY3J0Y19zdGF0ZShvbGRfY3J0Y19zdGF0ZSksCmJjNjgyOGUwZSBC aGF3YW5wcmVldCBMYWtoYSAgIDIwMTctMDktMTIgIDQ5OTggIAkJCQlkbV9zdGF0ZS0+Y29udGV4 dCkpCmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDQ5OTkgIAkJCWRt X2Vycm9yKCIlczogRmFpbGVkIHRvIHVwZGF0ZSBzdHJlYW0gc2NhbGluZyFcbiIsIF9fZnVuY19f KTsKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNTAwMCAgCX0KZTdi MDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNTAwMSAgCmUxZmMyZGNhMSBM ZW8gKFN1bnBlbmcgIExpICAgIDIwMTctMTAtMTggIDUwMDIpIAlmb3JfZWFjaF9vbGRuZXdfY3J0 Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsCmUxZmMyZGNhMSBMZW8gKFN1 bnBlbmcgIExpICAgIDIwMTctMTAtMTggIDUwMDMpIAkJCW5ld19jcnRjX3N0YXRlLCBpKSB7CmU3 YjA3Y2VlZiBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDUwMDQgIAkJLyoKZTdiMDdj ZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNTAwNSAgCQkgKiBsb29wIHRvIGVu YWJsZSBpbnRlcnJ1cHRzIG9uIG5ld2x5IGFycml2ZWQgY3J0YwplN2IwN2NlZWYgSGFycnkgV2Vu dGxhbmQgICAgICAyMDE3LTA4LTEwICA1MDA2ICAJCSAqLwplMWZjMmRjYTEgTGVvIChTdW5wZW5n ICBMaSAgICAyMDE3LTEwLTE4ICA1MDA3KSAJCXN0cnVjdCBhbWRncHVfY3J0YyAqYWNydGMgPSB0 b19hbWRncHVfY3J0YyhjcnRjKTsKZTFmYzJkY2ExIExlbyAoU3VucGVuZyAgTGkgICAgMjAxNy0x MC0xOCAgNTAwOCkgCQlib29sIG1vZGVzZXRfbmVlZGVkOwpiODMwZWJjOTEgSGFycnkgV2VudGxh bmQgICAgICAyMDE3LTA3LTI2ICA1MDA5ICAKZmUyYTE5NjUyIEx5dWRlIFBhdWwgICAgICAgICAg MjAxOC0wNi0yMSAgNTAxMCAgCQlpZiAob2xkX2NydGNfc3RhdGUtPmFjdGl2ZSAmJiAhbmV3X2Ny dGNfc3RhdGUtPmFjdGl2ZSkKZmUyYTE5NjUyIEx5dWRlIFBhdWwgICAgICAgICAgMjAxOC0wNi0y MSAgNTAxMSAgCQkJY3J0Y19kaXNhYmxlX2NvdW50Kys7CmZlMmExOTY1MiBMeXVkZSBQYXVsICAg ICAgICAgIDIwMTgtMDYtMjEgIDUwMTIgIAo1NGQ3NjU3NTIgTGVvIChTdW5wZW5nICBMaSAgICAy MDE3LTEwLTEyICA1MDEzKSAJCWRtX25ld19jcnRjX3N0YXRlID0gdG9fZG1fY3J0Y19zdGF0ZShu ZXdfY3J0Y19zdGF0ZSk7CmUxZmMyZGNhMSBMZW8gKFN1bnBlbmcgIExpICAgIDIwMTctMTAtMTgg IDUwMTQpIAkJZG1fb2xkX2NydGNfc3RhdGUgPSB0b19kbV9jcnRjX3N0YXRlKG9sZF9jcnRjX3N0 YXRlKTsKZTFmYzJkY2ExIExlbyAoU3VucGVuZyAgTGkgICAgMjAxNy0xMC0xOCAgNTAxNSkgCQlt b2Rlc2V0X25lZWRlZCA9IG1vZGVzZXRfcmVxdWlyZWQoCmUxZmMyZGNhMSBMZW8gKFN1bnBlbmcg IExpICAgIDIwMTctMTAtMTggIDUwMTYpIAkJCQluZXdfY3J0Y19zdGF0ZSwKZTFmYzJkY2ExIExl byAoU3VucGVuZyAgTGkgICAgMjAxNy0xMC0xOCAgNTAxNykgCQkJCWRtX25ld19jcnRjX3N0YXRl LT5zdHJlYW0sCmUxZmMyZGNhMSBMZW8gKFN1bnBlbmcgIExpICAgIDIwMTctMTAtMTggIDUwMTgp IAkJCQlkbV9vbGRfY3J0Y19zdGF0ZS0+c3RyZWFtKTsKZTFmYzJkY2ExIExlbyAoU3VucGVuZyAg TGkgICAgMjAxNy0xMC0xOCAgNTAxOSkgCmUxZmMyZGNhMSBMZW8gKFN1bnBlbmcgIExpICAgIDIw MTctMTAtMTggIDUwMjApIAkJaWYgKGRtX25ld19jcnRjX3N0YXRlLT5zdHJlYW0gPT0gTlVMTCB8 fCAhbW9kZXNldF9uZWVkZWQpCmUxZmMyZGNhMSBMZW8gKFN1bnBlbmcgIExpICAgIDIwMTctMTAt MTggIDUwMjEpIAkJCWNvbnRpbnVlOwplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3 LTA4LTEwICA1MDIyICAKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAg NTAyMyAgCQltYW5hZ2VfZG1faW50ZXJydXB0cyhhZGV2LCBhY3J0YywgdHJ1ZSk7CmU3YjA3Y2Vl ZiBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDUwMjQgIAl9CmU3YjA3Y2VlZiBIYXJy eSBXZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDUwMjUgIAplN2IwN2NlZWYgSGFycnkgV2VudGxh bmQgICAgICAyMDE3LTA4LTEwICA1MDI2ICAJLyogdXBkYXRlIHBsYW5lcyB3aGVuIG5lZWRlZCBw ZXIgY3J0YyovCjVjYzZkY2JkNCBMZW8gKFN1bnBlbmcgIExpICAgIDIwMTctMTAtMTIgIDUwMjcp IAlmb3JfZWFjaF9uZXdfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgbmV3X2NydGNfc3RhdGUs IGopIHsKNTRkNzY1NzUyIExlbyAoU3VucGVuZyAgTGkgICAgMjAxNy0xMC0xMiAgNTAyOCkgCQlk bV9uZXdfY3J0Y19zdGF0ZSA9IHRvX2RtX2NydGNfc3RhdGUobmV3X2NydGNfc3RhdGUpOwplN2Iw N2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA1MDI5ICAKNTRkNzY1NzUyIExl byAoU3VucGVuZyAgTGkgICAgMjAxNy0xMC0xMiAgNTAzMCkgCQlpZiAoZG1fbmV3X2NydGNfc3Rh dGUtPnN0cmVhbSkKZWIzZGM4OTc4IE5pY2hvbGFzIEthemxhdXNrYXMgMjAxOC0xMS0yMiAgNTAz MSAgCQkJYW1kZ3B1X2RtX2NvbW1pdF9wbGFuZXMoc3RhdGUsIGRjX3N0YXRlLCBkZXYsCmViM2Rj ODk3OCBOaWNob2xhcyBLYXpsYXVza2FzIDIwMTgtMTEtMjIgIDUwMzIgIAkJCQkJCWRtLCBjcnRj LCAmd2FpdF9mb3JfdmJsYW5rKTsKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0w OC0xMCAgNTAzMyAgCX0KZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAg NTAzNCAgCmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDUwMzUgIApl N2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA1MDM2ICAJLyoKZTdiMDdj ZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNTAzNyAgCSAqIHNlbmQgdmJsYW5r IGV2ZW50IG9uIGFsbCBldmVudHMgbm90IGhhbmRsZWQgaW4gZmxpcCBhbmQKZTdiMDdjZWVmIEhh cnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNTAzOCAgCSAqIG1hcmsgY29uc3VtZWQgZXZl bnQgZm9yIGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9od19kb25lCmU3YjA3Y2VlZiBIYXJyeSBX ZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDUwMzkgIAkgKi8KZTdiMDdjZWVmIEhhcnJ5IFdlbnRs YW5kICAgICAgMjAxNy0wOC0xMCAgNTA0MCAgCXNwaW5fbG9ja19pcnFzYXZlKCZhZGV2LT5kZGV2 LT5ldmVudF9sb2NrLCBmbGFncyk7CjBiYzk3MDZkYiBMZW8gKFN1bnBlbmcgIExpICAgIDIwMTct MTAtMTIgIDUwNDEpIAlmb3JfZWFjaF9uZXdfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgbmV3 X2NydGNfc3RhdGUsIGkpIHsKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0x MCAgNTA0MiAgCjBiYzk3MDZkYiBMZW8gKFN1bnBlbmcgIExpICAgIDIwMTctMTAtMTIgIDUwNDMp IAkJaWYgKG5ld19jcnRjX3N0YXRlLT5ldmVudCkKMGJjOTcwNmRiIExlbyAoU3VucGVuZyAgTGkg ICAgMjAxNy0xMC0xMiAgNTA0NCkgCQkJZHJtX3NlbmRfZXZlbnRfbG9ja2VkKGRldiwgJm5ld19j cnRjX3N0YXRlLT5ldmVudC0+YmFzZSk7CmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFuZCAgICAgIDIw MTctMDgtMTAgIDUwNDUgIAowYmM5NzA2ZGIgTGVvIChTdW5wZW5nICBMaSAgICAyMDE3LTEwLTEy ICA1MDQ2KSAJCW5ld19jcnRjX3N0YXRlLT5ldmVudCA9IE5VTEw7CmU3YjA3Y2VlZiBIYXJyeSBX ZW50bGFuZCAgICAgIDIwMTctMDgtMTAgIDUwNDcgIAl9CmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFu ZCAgICAgIDIwMTctMDgtMTAgIDUwNDggIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZhZGV2LT5k ZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7CmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFuZCAgICAgIDIw MTctMDgtMTAgIDUwNDkgIAplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEw ICA1MDUwICAKZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAxNy0wOC0xMCAgNTA1MSAg CWlmICh3YWl0X2Zvcl92YmxhbmspCjMyMGExMjc0MyBBbmRyZXkgR3JvZHpvdnNreSAgIDIwMTct MTEtMTQgIDUwNTIgIAkJZHJtX2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZmxpcF9kb25lKGRldiwg c3RhdGUpOwplN2IwN2NlZWYgSGFycnkgV2VudGxhbmQgICAgICAyMDE3LTA4LTEwICA1MDUzICAK NzE3Mjc2YjkyIFNoaXJpc2ggUyAgICAgICAgICAgMjAxOC0wOS0yNCAgNTA1NCAgCS8qCjcxNzI3 NmI5MiBTaGlyaXNoIFMgICAgICAgICAgIDIwMTgtMDktMjQgIDUwNTUgIAkgKiBGSVhNRToKNzE3 Mjc2YjkyIFNoaXJpc2ggUyAgICAgICAgICAgMjAxOC0wOS0yNCAgNTA1NiAgCSAqIERlbGF5IGh3 X2RvbmUoKSB1bnRpbCBmbGlwX2RvbmUoKSBpcyBzaWduYWxlZC4gVGhpcyBpcyB0byBibG9jawo3 MTcyNzZiOTIgU2hpcmlzaCBTICAgICAgICAgICAyMDE4LTA5LTI0ICA1MDU3ICAJICogYW5vdGhl ciBjb21taXQgZnJvbSBmcmVlaW5nIHRoZSBDUlRDIHN0YXRlIHdoaWxlIHdlJ3JlIHN0aWxsCjcx NzI3NmI5MiBTaGlyaXNoIFMgICAgICAgICAgIDIwMTgtMDktMjQgIDUwNTggIAkgKiB3YWl0aW5n IG9uIGZsaXBfZG9uZS4KNzE3Mjc2YjkyIFNoaXJpc2ggUyAgICAgICAgICAgMjAxOC0wOS0yNCAg NTA1OSAgCSAqLwo3MTcyNzZiOTIgU2hpcmlzaCBTICAgICAgICAgICAyMDE4LTA5LTI0ICA1MDYw ICAJZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2h3X2RvbmUoc3RhdGUpOwo3MTcyNzZiOTIgU2hp cmlzaCBTICAgICAgICAgICAyMDE4LTA5LTI0ICA1MDYxICAKZTdiMDdjZWVmIEhhcnJ5IFdlbnRs YW5kICAgICAgMjAxNy0wOC0xMCAgNTA2MiAgCWRybV9hdG9taWNfaGVscGVyX2NsZWFudXBfcGxh bmVzKGRldiwgc3RhdGUpOwo5NzAyODAzN2EgTHl1ZGUgUGF1bCAgICAgICAgICAyMDE4LTA2LTA0 ICA1MDYzICAKMWY2MDEwYTk2IERhdmlkIEZyYW5jaXMgICAgICAgMjAxOC0wOC0xNSAgNTA2NCAg CS8qCjFmNjAxMGE5NiBEYXZpZCBGcmFuY2lzICAgICAgIDIwMTgtMDgtMTUgIDUwNjUgIAkgKiBG aW5hbGx5LCBkcm9wIGEgcnVudGltZSBQTSByZWZlcmVuY2UgZm9yIGVhY2ggbmV3bHkgZGlzYWJs ZWQgQ1JUQywKOTcwMjgwMzdhIEx5dWRlIFBhdWwgICAgICAgICAgMjAxOC0wNi0wNCAgNTA2NiAg CSAqIHNvIHdlIGNhbiBwdXQgdGhlIEdQVSBpbnRvIHJ1bnRpbWUgc3VzcGVuZCBpZiB3ZSdyZSBu b3QgZHJpdmluZyBhbnkKOTcwMjgwMzdhIEx5dWRlIFBhdWwgICAgICAgICAgMjAxOC0wNi0wNCAg NTA2NyAgCSAqIGRpc3BsYXlzIGFueW1vcmUKOTcwMjgwMzdhIEx5dWRlIFBhdWwgICAgICAgICAg MjAxOC0wNi0wNCAgNTA2OCAgCSAqLwpmZTJhMTk2NTIgTHl1ZGUgUGF1bCAgICAgICAgICAyMDE4 LTA2LTIxICA1MDY5ICAJZm9yIChpID0gMDsgaSA8IGNydGNfZGlzYWJsZV9jb3VudDsgaSsrKQo5 NzAyODAzN2EgTHl1ZGUgUGF1bCAgICAgICAgICAyMDE4LTA2LTA0ICA1MDcwICAJCXBtX3J1bnRp bWVfcHV0X2F1dG9zdXNwZW5kKGRldi0+ZGV2KTsKZmUyYTE5NjUyIEx5dWRlIFBhdWwgICAgICAg ICAgMjAxOC0wNi0yMSAgNTA3MSAgCXBtX3J1bnRpbWVfbWFya19sYXN0X2J1c3koZGV2LT5kZXYp OwplYjNkYzg5NzggTmljaG9sYXMgS2F6bGF1c2thcyAyMDE4LTExLTIyICA1MDcyICAKZWIzZGM4 OTc4IE5pY2hvbGFzIEthemxhdXNrYXMgMjAxOC0xMS0yMiAgNTA3MyAgCWlmIChkY19zdGF0ZV90 ZW1wKQplYjNkYzg5NzggTmljaG9sYXMgS2F6bGF1c2thcyAyMDE4LTExLTIyICA1MDc0ICAJCWRj X3JlbGVhc2Vfc3RhdGUoZGNfc3RhdGVfdGVtcCk7CmU3YjA3Y2VlZiBIYXJyeSBXZW50bGFuZCAg ICAgIDIwMTctMDgtMTAgIDUwNzUgIH0KZTdiMDdjZWVmIEhhcnJ5IFdlbnRsYW5kICAgICAgMjAx Ny0wOC0xMCAgNTA3NiAgCgotLS0KMC1EQVkga2VybmVsIHRlc3QgaW5mcmFzdHJ1Y3R1cmUgICAg ICAgICAgICAgICAgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKaHR0cHM6Ly9saXN0cy4w MS5vcmcvcGlwZXJtYWlsL2tidWlsZC1hbGwgICAgICAgICAgICAgICAgICAgSW50ZWwgQ29ycG9y YXRpb24KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==