From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F257DC433B4 for ; Wed, 21 Apr 2021 16:49:04 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6B86C61449 for ; Wed, 21 Apr 2021 16:49:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6B86C61449 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id F0F9D6E999; Wed, 21 Apr 2021 16:49:03 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3CBC56E999 for ; Wed, 21 Apr 2021 16:49:02 +0000 (UTC) IronPort-SDR: syNf6WfHypYBpMLfDOlTgN13QL2SfUvT3JIj7+BAYdUXSGBofFyX9nTvGpOctP+Z8l8V2sraj4 oiLj5aS/bIqA== X-IronPort-AV: E=McAfee;i="6200,9189,9961"; a="175841491" X-IronPort-AV: E=Sophos;i="5.82,240,1613462400"; d="scan'208";a="175841491" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Apr 2021 09:49:01 -0700 IronPort-SDR: z+LbycwGYhHN8E3Gc7s2cp9+OnkQUnLNluFRg6hAY49080dIIGtwNU+KmPXZDGRpka5wqZmWEg 39AC400h3BCg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,240,1613462400"; d="scan'208";a="455411421" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.171]) by fmsmga002.fm.intel.com with SMTP; 21 Apr 2021 09:48:58 -0700 Received: by stinkbox (sSMTP sendmail emulation); Wed, 21 Apr 2021 19:48:58 +0300 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Wed, 21 Apr 2021 19:48:35 +0300 Message-Id: <20210421164849.12806-4-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210421164849.12806-1-ville.syrjala@linux.intel.com> References: <20210421164849.12806-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 03/17] drm/i915: Wrap the platform specific buf trans structs into a union X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCklu IG9yZGVyIHRvIGFic3RhY3QgdGhlIGJ1ZiB0cmFucyBzdHVmZiBsZXQncyB3cmFwIHRoZSBwbGF0 Zm9ybQpzcGVjaWZpYyBzdHJ1Y3RzIGludG8gYSB1bmlvbi4KClNpZ25lZC1vZmYtYnk6IFZpbGxl IFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYyAgICAgIHwgICA3NiArLQogLi4uL2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1Zl90cmFucy5jICAgIHwgMTMxOCArKysrKysrKy0tLS0t LS0tLQogLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1Zl90cmFucy5oICAgIHwgICAy OCArLQogMyBmaWxlcyBjaGFuZ2VkLCA3MTUgaW5zZXJ0aW9ucygrKSwgNzA3IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCmluZGV4IDNlYmYzNTAz YmRmNy4uZmQyZGZmMTBmYzgzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2RkaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGRpLmMKQEAgLTEwMCw3ICsxMDAsNyBAQCB2b2lkIGhzd19wcmVwYXJlX2RwX2RkaV9idWZmZXJz KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXUzMiBpYm9vc3RfYml0ID0gMDsKIAlp bnQgaSwgbl9lbnRyaWVzOwogCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKLQljb25z dCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlvbnM7CisJY29uc3QgdW5p b24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqZGRpX3RyYW5zbGF0aW9uczsKIAogCWRkaV90 cmFuc2xhdGlvbnMgPSBoc3dfZ2V0X2J1Zl90cmFucyhlbmNvZGVyLCBjcnRjX3N0YXRlLCAmbl9l bnRyaWVzKTsKIApAQCAtMTE0LDkgKzExNCw5IEBAIHZvaWQgaHN3X3ByZXBhcmVfZHBfZGRpX2J1 ZmZlcnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAKIAlmb3IgKGkgPSAwOyBpIDwg bl9lbnRyaWVzOyBpKyspIHsKIAkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIERESV9CVUZfVFJB TlNfTE8ocG9ydCwgaSksCi0JCQkgICAgICAgZGRpX3RyYW5zbGF0aW9uc1tpXS50cmFuczEgfCBp Ym9vc3RfYml0KTsKKwkJCSAgICAgICBkZGlfdHJhbnNsYXRpb25zW2ldLmhzdy50cmFuczEgfCBp Ym9vc3RfYml0KTsKIAkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIERESV9CVUZfVFJBTlNfSEko cG9ydCwgaSksCi0JCQkgICAgICAgZGRpX3RyYW5zbGF0aW9uc1tpXS50cmFuczIpOworCQkJICAg ICAgIGRkaV90cmFuc2xhdGlvbnNbaV0uaHN3LnRyYW5zMik7CiAJfQogfQogCkBAIC0xMzMsNyAr MTMzLDcgQEAgc3RhdGljIHZvaWQgaHN3X3ByZXBhcmVfaGRtaV9kZGlfYnVmZmVycyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAl1MzIgaWJvb3N0X2JpdCA9IDA7CiAJaW50IG5fZW50 cmllczsKIAllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7Ci0JY29uc3Qgc3RydWN0IGhz d19kZGlfYnVmX3RyYW5zICpkZGlfdHJhbnNsYXRpb25zOworCWNvbnN0IHVuaW9uIGludGVsX2Rk aV9idWZfdHJhbnNfZW50cnkgKmRkaV90cmFuc2xhdGlvbnM7CiAKIAlkZGlfdHJhbnNsYXRpb25z ID0gaHN3X2dldF9idWZfdHJhbnMoZW5jb2RlciwgY3J0Y19zdGF0ZSwgICZuX2VudHJpZXMpOwog CkBAIC0xNDksOSArMTQ5LDkgQEAgc3RhdGljIHZvaWQgaHN3X3ByZXBhcmVfaGRtaV9kZGlfYnVm ZmVycyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAogCS8qIEVudHJ5IDkgaXMgZm9y IEhETUk6ICovCiAJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIERESV9CVUZfVFJBTlNfTE8ocG9y dCwgOSksCi0JCSAgICAgICBkZGlfdHJhbnNsYXRpb25zW2xldmVsXS50cmFuczEgfCBpYm9vc3Rf Yml0KTsKKwkJICAgICAgIGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmhzdy50cmFuczEgfCBpYm9v c3RfYml0KTsKIAlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRERJX0JVRl9UUkFOU19ISShwb3J0 LCA5KSwKLQkJICAgICAgIGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLnRyYW5zMik7CisJCSAgICAg ICBkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5oc3cudHJhbnMyKTsKIH0KIAogdm9pZCBpbnRlbF93 YWl0X2RkaV9idWZfaWRsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCkBAIC05 MDgsNyArOTA4LDcgQEAgc3RhdGljIHZvaWQgc2tsX2RkaV9zZXRfaWJvb3N0KHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogCQlpYm9vc3QgPSBpbnRlbF9iaW9zX2VuY29kZXJfZHBfYm9v c3RfbGV2ZWwoZW5jb2Rlci0+ZGV2ZGF0YSk7CiAKIAlpZiAoaWJvb3N0ID09IDApIHsKLQkJY29u c3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zICpkZGlfdHJhbnNsYXRpb25zOworCQljb25zdCB1 bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICpkZGlfdHJhbnNsYXRpb25zOwogCQlpbnQg bl9lbnRyaWVzOwogCiAJCWRkaV90cmFuc2xhdGlvbnMgPSBoc3dfZ2V0X2J1Zl90cmFucyhlbmNv ZGVyLCBjcnRjX3N0YXRlLCAmbl9lbnRyaWVzKTsKQEAgLTkxOCw3ICs5MTgsNyBAQCBzdGF0aWMg dm9pZCBza2xfZGRpX3NldF9pYm9vc3Qoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJ CWlmIChkcm1fV0FSTl9PTl9PTkNFKCZkZXZfcHJpdi0+ZHJtLCBsZXZlbCA+PSBuX2VudHJpZXMp KQogCQkJbGV2ZWwgPSBuX2VudHJpZXMgLSAxOwogCi0JCWlib29zdCA9IGRkaV90cmFuc2xhdGlv bnNbbGV2ZWxdLmlfYm9vc3Q7CisJCWlib29zdCA9IGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmhz dy5pX2Jvb3N0OwogCX0KIAogCS8qIE1ha2Ugc3VyZSB0aGF0IHRoZSByZXF1ZXN0ZWQgSV9ib29z dCBpcyB2YWxpZCAqLwpAQCAtOTM4LDcgKzkzOCw3IEBAIHN0YXRpYyB2b2lkIGJ4dF9kZGlfdnN3 aW5nX3NlcXVlbmNlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAgICBpbnQg bGV2ZWwpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShl bmNvZGVyLT5iYXNlLmRldik7Ci0JY29uc3Qgc3RydWN0IGJ4dF9kZGlfYnVmX3RyYW5zICpkZGlf dHJhbnNsYXRpb25zOworCWNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKmRk aV90cmFuc2xhdGlvbnM7CiAJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0OwogCWludCBu X2VudHJpZXM7CiAKQEAgLTk0OSwxMCArOTQ5LDEwIEBAIHN0YXRpYyB2b2lkIGJ4dF9kZGlfdnN3 aW5nX3NlcXVlbmNlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQlsZXZlbCA9IG5f ZW50cmllcyAtIDE7CiAKIAlieHRfZGRpX3BoeV9zZXRfc2lnbmFsX2xldmVsKGRldl9wcml2LCBw b3J0LAotCQkJCSAgICAgZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0ubWFyZ2luLAotCQkJCSAgICAg ZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uc2NhbGUsCi0JCQkJICAgICBkZGlfdHJhbnNsYXRpb25z W2xldmVsXS5lbmFibGUsCi0JCQkJICAgICBkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5kZWVtcGhh c2lzKTsKKwkJCQkgICAgIGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmJ4dC5tYXJnaW4sCisJCQkJ ICAgICBkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5ieHQuc2NhbGUsCisJCQkJICAgICBkZGlfdHJh bnNsYXRpb25zW2xldmVsXS5ieHQuZW5hYmxlLAorCQkJCSAgICAgZGRpX3RyYW5zbGF0aW9uc1ts ZXZlbF0uYnh0LmRlZW1waGFzaXMpOwogfQogCiBzdGF0aWMgdTggaW50ZWxfZGRpX2RwX3ZvbHRh Z2VfbWF4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCkBAIC0xMDExLDcgKzEwMTEsNyBAQCBz dGF0aWMgdm9pZCBjbmxfZGRpX3Zzd2luZ19wcm9ncmFtKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogCQkJCSAgIGludCBsZXZlbCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQljb25zdCBzdHJ1Y3QgY25s X2RkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlvbnM7CisJY29uc3QgdW5pb24gaW50ZWxfZGRp X2J1Zl90cmFuc19lbnRyeSAqZGRpX3RyYW5zbGF0aW9uczsKIAllbnVtIHBvcnQgcG9ydCA9IGVu Y29kZXItPnBvcnQ7CiAJaW50IG5fZW50cmllcywgbG47CiAJdTMyIHZhbDsKQEAgLTEwMzMsOCAr MTAzMyw4IEBAIHN0YXRpYyB2b2lkIGNubF9kZGlfdnN3aW5nX3Byb2dyYW0oc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiAJdmFsID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgQ05MX1BP UlRfVFhfRFcyX0xOMChwb3J0KSk7CiAJdmFsICY9IH4oU1dJTkdfU0VMX0xPV0VSX01BU0sgfCBT V0lOR19TRUxfVVBQRVJfTUFTSyB8CiAJCSBSQ09NUF9TQ0FMQVJfTUFTSyk7Ci0JdmFsIHw9IFNX SU5HX1NFTF9VUFBFUihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5kdzJfc3dpbmdfc2VsKTsKLQl2 YWwgfD0gU1dJTkdfU0VMX0xPV0VSKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3Ml9zd2luZ19z ZWwpOworCXZhbCB8PSBTV0lOR19TRUxfVVBQRVIoZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uY25s LmR3Ml9zd2luZ19zZWwpOworCXZhbCB8PSBTV0lOR19TRUxfTE9XRVIoZGRpX3RyYW5zbGF0aW9u c1tsZXZlbF0uY25sLmR3Ml9zd2luZ19zZWwpOwogCS8qIFJjb21wIHNjYWxhciBpcyBmaXhlZCBh cyAweDk4IGZvciBldmVyeSB0YWJsZSBlbnRyeSAqLwogCXZhbCB8PSBSQ09NUF9TQ0FMQVIoMHg5 OCk7CiAJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIENOTF9QT1JUX1RYX0RXMl9HUlAocG9ydCks IHZhbCk7CkBAIC0xMDQ1LDkgKzEwNDUsOSBAQCBzdGF0aWMgdm9pZCBjbmxfZGRpX3Zzd2luZ19w cm9ncmFtKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQl2YWwgPSBpbnRlbF9kZV9y ZWFkKGRldl9wcml2LCBDTkxfUE9SVF9UWF9EVzRfTE4obG4sIHBvcnQpKTsKIAkJdmFsICY9IH4o UE9TVF9DVVJTT1JfMV9NQVNLIHwgUE9TVF9DVVJTT1JfMl9NQVNLIHwKIAkJCSBDVVJTT1JfQ09F RkZfTUFTSyk7Ci0JCXZhbCB8PSBQT1NUX0NVUlNPUl8xKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxd LmR3NF9wb3N0X2N1cnNvcl8xKTsKLQkJdmFsIHw9IFBPU1RfQ1VSU09SXzIoZGRpX3RyYW5zbGF0 aW9uc1tsZXZlbF0uZHc0X3Bvc3RfY3Vyc29yXzIpOwotCQl2YWwgfD0gQ1VSU09SX0NPRUZGKGRk aV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3NF9jdXJzb3JfY29lZmYpOworCQl2YWwgfD0gUE9TVF9D VVJTT1JfMShkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5jbmwuZHc0X3Bvc3RfY3Vyc29yXzEpOwor CQl2YWwgfD0gUE9TVF9DVVJTT1JfMihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5jbmwuZHc0X3Bv c3RfY3Vyc29yXzIpOworCQl2YWwgfD0gQ1VSU09SX0NPRUZGKGRkaV90cmFuc2xhdGlvbnNbbGV2 ZWxdLmNubC5kdzRfY3Vyc29yX2NvZWZmKTsKIAkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIENO TF9QT1JUX1RYX0RXNF9MTihsbiwgcG9ydCksIHZhbCk7CiAJfQogCkBAIC0xMDYyLDcgKzEwNjIs NyBAQCBzdGF0aWMgdm9pZCBjbmxfZGRpX3Zzd2luZ19wcm9ncmFtKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCS8qIFByb2dyYW0gUE9SVF9UWF9EVzcgKi8KIAl2YWwgPSBpbnRlbF9k ZV9yZWFkKGRldl9wcml2LCBDTkxfUE9SVF9UWF9EVzdfTE4wKHBvcnQpKTsKIAl2YWwgJj0gfk5f U0NBTEFSX01BU0s7Ci0JdmFsIHw9IE5fU0NBTEFSKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3 N19uX3NjYWxhcik7CisJdmFsIHw9IE5fU0NBTEFSKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmNu bC5kdzdfbl9zY2FsYXIpOwogCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBDTkxfUE9SVF9UWF9E VzdfR1JQKHBvcnQpLCB2YWwpOwogfQogCkBAIC0xMTMyLDcgKzExMzIsNyBAQCBzdGF0aWMgdm9p ZCBpY2xfZGRpX2NvbWJvX3Zzd2luZ19wcm9ncmFtKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogCQkJCQkgaW50IGxldmVsKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCWNvbnN0IHN0cnVjdCBjbmxfZGRp X2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9uczsKKwljb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVm X3RyYW5zX2VudHJ5ICpkZGlfdHJhbnNsYXRpb25zOwogCWVudW0gcGh5IHBoeSA9IGludGVsX3Bv cnRfdG9fcGh5KGRldl9wcml2LCBlbmNvZGVyLT5wb3J0KTsKIAlpbnQgbl9lbnRyaWVzLCBsbjsK IAl1MzIgdmFsOwpAQCAtMTE3Myw4ICsxMTczLDggQEAgc3RhdGljIHZvaWQgaWNsX2RkaV9jb21i b192c3dpbmdfcHJvZ3JhbShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAl2YWwgPSBp bnRlbF9kZV9yZWFkKGRldl9wcml2LCBJQ0xfUE9SVF9UWF9EVzJfTE4wKHBoeSkpOwogCXZhbCAm PSB+KFNXSU5HX1NFTF9MT1dFUl9NQVNLIHwgU1dJTkdfU0VMX1VQUEVSX01BU0sgfAogCQkgUkNP TVBfU0NBTEFSX01BU0spOwotCXZhbCB8PSBTV0lOR19TRUxfVVBQRVIoZGRpX3RyYW5zbGF0aW9u c1tsZXZlbF0uZHcyX3N3aW5nX3NlbCk7Ci0JdmFsIHw9IFNXSU5HX1NFTF9MT1dFUihkZGlfdHJh bnNsYXRpb25zW2xldmVsXS5kdzJfc3dpbmdfc2VsKTsKKwl2YWwgfD0gU1dJTkdfU0VMX1VQUEVS KGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmNubC5kdzJfc3dpbmdfc2VsKTsKKwl2YWwgfD0gU1dJ TkdfU0VMX0xPV0VSKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmNubC5kdzJfc3dpbmdfc2VsKTsK IAkvKiBQcm9ncmFtIFJjb21wIHNjYWxhciBmb3IgZXZlcnkgdGFibGUgZW50cnkgKi8KIAl2YWwg fD0gUkNPTVBfU0NBTEFSKDB4OTgpOwogCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBJQ0xfUE9S VF9UWF9EVzJfR1JQKHBoeSksIHZhbCk7CkBAIC0xMTg1LDE2ICsxMTg1LDE2IEBAIHN0YXRpYyB2 b2lkIGljbF9kZGlfY29tYm9fdnN3aW5nX3Byb2dyYW0oc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJCXZhbCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIElDTF9QT1JUX1RYX0RXNF9M TihsbiwgcGh5KSk7CiAJCXZhbCAmPSB+KFBPU1RfQ1VSU09SXzFfTUFTSyB8IFBPU1RfQ1VSU09S XzJfTUFTSyB8CiAJCQkgQ1VSU09SX0NPRUZGX01BU0spOwotCQl2YWwgfD0gUE9TVF9DVVJTT1Jf MShkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5kdzRfcG9zdF9jdXJzb3JfMSk7Ci0JCXZhbCB8PSBQ T1NUX0NVUlNPUl8yKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3NF9wb3N0X2N1cnNvcl8yKTsK LQkJdmFsIHw9IENVUlNPUl9DT0VGRihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5kdzRfY3Vyc29y X2NvZWZmKTsKKwkJdmFsIHw9IFBPU1RfQ1VSU09SXzEoZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0u Y25sLmR3NF9wb3N0X2N1cnNvcl8xKTsKKwkJdmFsIHw9IFBPU1RfQ1VSU09SXzIoZGRpX3RyYW5z bGF0aW9uc1tsZXZlbF0uY25sLmR3NF9wb3N0X2N1cnNvcl8yKTsKKwkJdmFsIHw9IENVUlNPUl9D T0VGRihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5jbmwuZHc0X2N1cnNvcl9jb2VmZik7CiAJCWlu dGVsX2RlX3dyaXRlKGRldl9wcml2LCBJQ0xfUE9SVF9UWF9EVzRfTE4obG4sIHBoeSksIHZhbCk7 CiAJfQogCiAJLyogUHJvZ3JhbSBQT1JUX1RYX0RXNyAqLwogCXZhbCA9IGludGVsX2RlX3JlYWQo ZGV2X3ByaXYsIElDTF9QT1JUX1RYX0RXN19MTjAocGh5KSk7CiAJdmFsICY9IH5OX1NDQUxBUl9N QVNLOwotCXZhbCB8PSBOX1NDQUxBUihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5kdzdfbl9zY2Fs YXIpOworCXZhbCB8PSBOX1NDQUxBUihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5jbmwuZHc3X25f c2NhbGFyKTsKIAlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgSUNMX1BPUlRfVFhfRFc3X0dSUChw aHkpLCB2YWwpOwogfQogCkBAIC0xMjY1LDcgKzEyNjUsNyBAQCBzdGF0aWMgdm9pZCBpY2xfbWdf cGh5X2RkaV92c3dpbmdfc2VxdWVuY2Uoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiB7 CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5i YXNlLmRldik7CiAJZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRlbF9wb3J0X3RvX3RjKGRldl9w cml2LCBlbmNvZGVyLT5wb3J0KTsKLQljb25zdCBzdHJ1Y3QgaWNsX21nX3BoeV9kZGlfYnVmX3Ry YW5zICpkZGlfdHJhbnNsYXRpb25zOworCWNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNf ZW50cnkgKmRkaV90cmFuc2xhdGlvbnM7CiAJaW50IG5fZW50cmllcywgbG47CiAJdTMyIHZhbDsK IApAQCAtMTI5NSwxMyArMTI5NSwxMyBAQCBzdGF0aWMgdm9pZCBpY2xfbWdfcGh5X2RkaV92c3dp bmdfc2VxdWVuY2Uoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCXZhbCA9IGludGVs X2RlX3JlYWQoZGV2X3ByaXYsIE1HX1RYMV9TV0lOR0NUUkwobG4sIHRjX3BvcnQpKTsKIAkJdmFs ICY9IH5DUklfVFhERUVNUEhfT1ZFUlJJREVfMTdfMTJfTUFTSzsKIAkJdmFsIHw9IENSSV9UWERF RU1QSF9PVkVSUklERV8xN18xMigKLQkJCWRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmNyaV90eGRl ZW1waF9vdmVycmlkZV8xN18xMik7CisJCQlkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5tZy5jcmlf dHhkZWVtcGhfb3ZlcnJpZGVfMTdfMTIpOwogCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgTUdf VFgxX1NXSU5HQ1RSTChsbiwgdGNfcG9ydCksIHZhbCk7CiAKIAkJdmFsID0gaW50ZWxfZGVfcmVh ZChkZXZfcHJpdiwgTUdfVFgyX1NXSU5HQ1RSTChsbiwgdGNfcG9ydCkpOwogCQl2YWwgJj0gfkNS SV9UWERFRU1QSF9PVkVSUklERV8xN18xMl9NQVNLOwogCQl2YWwgfD0gQ1JJX1RYREVFTVBIX09W RVJSSURFXzE3XzEyKAotCQkJZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uY3JpX3R4ZGVlbXBoX292 ZXJyaWRlXzE3XzEyKTsKKwkJCWRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLm1nLmNyaV90eGRlZW1w aF9vdmVycmlkZV8xN18xMik7CiAJCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBNR19UWDJfU1dJ TkdDVFJMKGxuLCB0Y19wb3J0KSwgdmFsKTsKIAl9CiAKQEAgLTEzMTEsOSArMTMxMSw5IEBAIHN0 YXRpYyB2b2lkIGljbF9tZ19waHlfZGRpX3Zzd2luZ19zZXF1ZW5jZShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKIAkJdmFsICY9IH4oQ1JJX1RYREVFTVBIX09WRVJSSURFXzExXzZfTUFT SyB8CiAJCQkgQ1JJX1RYREVFTVBIX09WRVJSSURFXzVfMF9NQVNLKTsKIAkJdmFsIHw9IENSSV9U WERFRU1QSF9PVkVSUklERV81XzAoCi0JCQlkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5jcmlfdHhk ZWVtcGhfb3ZlcnJpZGVfNV8wKSB8CisJCQlkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5tZy5jcmlf dHhkZWVtcGhfb3ZlcnJpZGVfNV8wKSB8CiAJCQlDUklfVFhERUVNUEhfT1ZFUlJJREVfMTFfNigK LQkJCQlkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5jcmlfdHhkZWVtcGhfb3ZlcnJpZGVfMTFfNikg fAorCQkJCWRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLm1nLmNyaV90eGRlZW1waF9vdmVycmlkZV8x MV82KSB8CiAJCQlDUklfVFhERUVNUEhfT1ZFUlJJREVfRU47CiAJCWludGVsX2RlX3dyaXRlKGRl dl9wcml2LCBNR19UWDFfRFJWQ1RSTChsbiwgdGNfcG9ydCksIHZhbCk7CiAKQEAgLTEzMjEsOSAr MTMyMSw5IEBAIHN0YXRpYyB2b2lkIGljbF9tZ19waHlfZGRpX3Zzd2luZ19zZXF1ZW5jZShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJdmFsICY9IH4oQ1JJX1RYREVFTVBIX09WRVJS SURFXzExXzZfTUFTSyB8CiAJCQkgQ1JJX1RYREVFTVBIX09WRVJSSURFXzVfMF9NQVNLKTsKIAkJ dmFsIHw9IENSSV9UWERFRU1QSF9PVkVSUklERV81XzAoCi0JCQlkZGlfdHJhbnNsYXRpb25zW2xl dmVsXS5jcmlfdHhkZWVtcGhfb3ZlcnJpZGVfNV8wKSB8CisJCQlkZGlfdHJhbnNsYXRpb25zW2xl dmVsXS5tZy5jcmlfdHhkZWVtcGhfb3ZlcnJpZGVfNV8wKSB8CiAJCQlDUklfVFhERUVNUEhfT1ZF UlJJREVfMTFfNigKLQkJCQlkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5jcmlfdHhkZWVtcGhfb3Zl cnJpZGVfMTFfNikgfAorCQkJCWRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLm1nLmNyaV90eGRlZW1w aF9vdmVycmlkZV8xMV82KSB8CiAJCQlDUklfVFhERUVNUEhfT1ZFUlJJREVfRU47CiAJCWludGVs X2RlX3dyaXRlKGRldl9wcml2LCBNR19UWDJfRFJWQ1RSTChsbiwgdGNfcG9ydCksIHZhbCk7CiAK QEAgLTE0MDMsNyArMTQwMyw3IEBAIHRnbF9ka2xfcGh5X2RkaV92c3dpbmdfc2VxdWVuY2Uoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJZW51bSB0Y19wb3J0IHRj X3BvcnQgPSBpbnRlbF9wb3J0X3RvX3RjKGRldl9wcml2LCBlbmNvZGVyLT5wb3J0KTsKLQljb25z dCBzdHJ1Y3QgdGdsX2RrbF9waHlfZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9uczsKKwlj b25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICpkZGlfdHJhbnNsYXRpb25zOwog CXUzMiB2YWwsIGRwY250X21hc2ssIGRwY250X3ZhbDsKIAlpbnQgbl9lbnRyaWVzLCBsbjsKIApA QCAtMTQyMCw5ICsxNDIwLDkgQEAgdGdsX2RrbF9waHlfZGRpX3Zzd2luZ19zZXF1ZW5jZShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlkcGNudF9tYXNrID0gKERLTF9UWF9QUkVTSE9P VF9DT0VGRl9NQVNLIHwKIAkJICAgICAgREtMX1RYX0RFX0VNUEFIU0lTX0NPRUZGX01BU0sgfAog CQkgICAgICBES0xfVFhfVlNXSU5HX0NPTlRST0xfTUFTSyk7Ci0JZHBjbnRfdmFsID0gREtMX1RY X1ZTV0lOR19DT05UUk9MKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmRrbF92c3dpbmdfY29udHJv bCk7Ci0JZHBjbnRfdmFsIHw9IERLTF9UWF9ERV9FTVBIQVNJU19DT0VGRihkZGlfdHJhbnNsYXRp b25zW2xldmVsXS5ka2xfZGVfZW1waGFzaXNfY29udHJvbCk7Ci0JZHBjbnRfdmFsIHw9IERLTF9U WF9QUkVTSE9PVF9DT0VGRihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5ka2xfcHJlc2hvb3RfY29u dHJvbCk7CisJZHBjbnRfdmFsID0gREtMX1RYX1ZTV0lOR19DT05UUk9MKGRkaV90cmFuc2xhdGlv bnNbbGV2ZWxdLmRrbC5ka2xfdnN3aW5nX2NvbnRyb2wpOworCWRwY250X3ZhbCB8PSBES0xfVFhf REVfRU1QSEFTSVNfQ09FRkYoZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uZGtsLmRrbF9kZV9lbXBo YXNpc19jb250cm9sKTsKKwlkcGNudF92YWwgfD0gREtMX1RYX1BSRVNIT09UX0NPRUZGKGRkaV90 cmFuc2xhdGlvbnNbbGV2ZWxdLmRrbC5ka2xfcHJlc2hvb3RfY29udHJvbCk7CiAKIAlmb3IgKGxu ID0gMDsgbG4gPCAyOyBsbisrKSB7CiAJCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBISVBfSU5E RVhfUkVHKHRjX3BvcnQpLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kZGlfYnVmX3RyYW5zLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2RkaV9idWZfdHJhbnMuYwppbmRleCA1NmI1MjFkMDMwZTEuLmZlZWY5ZDlhOWRkOCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGlfYnVmX3RyYW5z LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGlfYnVmX3RyYW5z LmMKQEAgLTEyLDczMyArMTIsNzMzIEBACiAgKiB0aGVtIGZvciBib3RoIERQIGFuZCBGREkgdHJh bnNwb3J0cywgYWxsb3dpbmcgdGhvc2UgcG9ydHMgdG8KICAqIGF1dG9tYXRpY2FsbHkgYWRhcHQg dG8gSERNSSBjb25uZWN0aW9ucyBhcyB3ZWxsCiAgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3 X2RkaV9idWZfdHJhbnMgaHN3X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKLQl7IDB4MDBGRkZG RkYsIDB4MDAwNjAwMEUsIDB4MCB9LAotCXsgMHgwMEQ3NUZGRiwgMHgwMDA1MDAwQSwgMHgwIH0s Ci0JeyAweDAwQzMwRkZGLCAweDAwMDQwMDA2LCAweDAgfSwKLQl7IDB4ODBBQUFGRkYsIDB4MDAw QjAwMDAsIDB4MCB9LAotCXsgMHgwMEZGRkZGRiwgMHgwMDA1MDAwQSwgMHgwIH0sCi0JeyAweDAw RDc1RkZGLCAweDAwMEMwMDA0LCAweDAgfSwKLQl7IDB4ODBDMzBGRkYsIDB4MDAwQjAwMDAsIDB4 MCB9LAotCXsgMHgwMEZGRkZGRiwgMHgwMDA0MDAwNiwgMHgwIH0sCi0JeyAweDgwRDc1RkZGLCAw eDAwMEIwMDAwLCAweDAgfSwKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5z X2VudHJ5IGhzd19kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7CisJeyAuaHN3ID0geyAweDAwRkZG RkZGLCAweDAwMDYwMDBFLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMEQ3NUZGRiwgMHgwMDA1 MDAwQSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDBDMzBGRkYsIDB4MDAwNDAwMDYsIDB4MCB9 IH0sCisJeyAuaHN3ID0geyAweDgwQUFBRkZGLCAweDAwMEIwMDAwLCAweDAgfSB9LAorCXsgLmhz dyA9IHsgMHgwMEZGRkZGRiwgMHgwMDA1MDAwQSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDBE NzVGRkYsIDB4MDAwQzAwMDQsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgwQzMwRkZGLCAweDAw MEIwMDAwLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDA0MDAwNiwgMHgw IH0gfSwKKwl7IC5oc3cgPSB7IDB4ODBENzVGRkYsIDB4MDAwQjAwMDAsIDB4MCB9IH0sCiB9Owog Ci1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zIGhzd19kZGlfdHJhbnNsYXRp b25zX2ZkaVtdID0gewotCXsgMHgwMEZGRkZGRiwgMHgwMDA3MDAwRSwgMHgwIH0sCi0JeyAweDAw RDc1RkZGLCAweDAwMEYwMDBBLCAweDAgfSwKLQl7IDB4MDBDMzBGRkYsIDB4MDAwNjAwMDYsIDB4 MCB9LAotCXsgMHgwMEFBQUZGRiwgMHgwMDFFMDAwMCwgMHgwIH0sCi0JeyAweDAwRkZGRkZGLCAw eDAwMEYwMDBBLCAweDAgfSwKLQl7IDB4MDBENzVGRkYsIDB4MDAxNjAwMDQsIDB4MCB9LAotCXsg MHgwMEMzMEZGRiwgMHgwMDFFMDAwMCwgMHgwIH0sCi0JeyAweDAwRkZGRkZGLCAweDAwMDYwMDA2 LCAweDAgfSwKLQl7IDB4MDBENzVGRkYsIDB4MDAxRTAwMDAsIDB4MCB9LAorc3RhdGljIGNvbnN0 IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgaHN3X2RkaV90cmFuc2xhdGlvbnNfZmRp W10gPSB7CisJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMDcwMDBFLCAweDAgfSB9LAorCXsg LmhzdyA9IHsgMHgwMEQ3NUZGRiwgMHgwMDBGMDAwQSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4 MDBDMzBGRkYsIDB4MDAwNjAwMDYsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwQUFBRkZGLCAw eDAwMUUwMDAwLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDBGMDAwQSwg MHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDBENzVGRkYsIDB4MDAxNjAwMDQsIDB4MCB9IH0sCisJ eyAuaHN3ID0geyAweDAwQzMwRkZGLCAweDAwMUUwMDAwLCAweDAgfSB9LAorCXsgLmhzdyA9IHsg MHgwMEZGRkZGRiwgMHgwMDA2MDAwNiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDBENzVGRkYs IDB4MDAxRTAwMDAsIDB4MCB9IH0sCiB9OwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlf YnVmX3RyYW5zIGhzd19kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKLQkJCQkJLyogSWR4CU5U IG1WIGQJVCBtViBkCWRiCSovCi0JeyAweDAwRkZGRkZGLCAweDAwMDYwMDBFLCAweDAgfSwvKiAw Ogk0MDAJNDAwCTAJKi8KLQl7IDB4MDBFNzlGRkYsIDB4MDAwRTAwMEMsIDB4MCB9LC8qIDE6CTQw MAk1MDAJMgkqLwotCXsgMHgwMEQ3NUZGRiwgMHgwMDA1MDAwQSwgMHgwIH0sLyogMjoJNDAwCTYw MAkzLjUJKi8KLQl7IDB4MDBGRkZGRkYsIDB4MDAwNTAwMEEsIDB4MCB9LC8qIDM6CTYwMAk2MDAJ MAkqLwotCXsgMHgwMEU3OUZGRiwgMHgwMDFEMDAwNywgMHgwIH0sLyogNDoJNjAwCTc1MAkyCSov Ci0JeyAweDAwRDc1RkZGLCAweDAwMEMwMDA0LCAweDAgfSwvKiA1Ogk2MDAJOTAwCTMuNQkqLwot CXsgMHgwMEZGRkZGRiwgMHgwMDA0MDAwNiwgMHgwIH0sLyogNjoJODAwCTgwMAkwCSovCi0JeyAw eDgwRTc5RkZGLCAweDAwMDMwMDAyLCAweDAgfSwvKiA3Ogk4MDAJMTAwMAkyCSovCi0JeyAweDAw RkZGRkZGLCAweDAwMTQwMDA1LCAweDAgfSwvKiA4Ogk4NTAJODUwCTAJKi8KLQl7IDB4MDBGRkZG RkYsIDB4MDAwQzAwMDQsIDB4MCB9LC8qIDk6CTkwMAk5MDAJMAkqLwotCXsgMHgwMEZGRkZGRiwg MHgwMDFDMDAwMywgMHgwIH0sLyogMTA6CTk1MAk5NTAJMAkqLwotCXsgMHg4MEZGRkZGRiwgMHgw MDAzMDAwMiwgMHgwIH0sLyogMTE6CTEwMDAJMTAwMAkwCSovCitzdGF0aWMgY29uc3QgdW5pb24g aW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBoc3dfZGRpX3RyYW5zbGF0aW9uc19oZG1pW10gPSB7 CisJCQkJCQkJLyogSWR4CU5UIG1WIGQJVCBtViBkCWRiCSovCisJeyAuaHN3ID0geyAweDAwRkZG RkZGLCAweDAwMDYwMDBFLCAweDAgfSB9LAkvKiAwOgk0MDAJNDAwCTAJKi8KKwl7IC5oc3cgPSB7 IDB4MDBFNzlGRkYsIDB4MDAwRTAwMEMsIDB4MCB9IH0sCS8qIDE6CTQwMAk1MDAJMgkqLworCXsg LmhzdyA9IHsgMHgwMEQ3NUZGRiwgMHgwMDA1MDAwQSwgMHgwIH0gfSwJLyogMjoJNDAwCTYwMAkz LjUJKi8KKwl7IC5oc3cgPSB7IDB4MDBGRkZGRkYsIDB4MDAwNTAwMEEsIDB4MCB9IH0sCS8qIDM6 CTYwMAk2MDAJMAkqLworCXsgLmhzdyA9IHsgMHgwMEU3OUZGRiwgMHgwMDFEMDAwNywgMHgwIH0g fSwJLyogNDoJNjAwCTc1MAkyCSovCisJeyAuaHN3ID0geyAweDAwRDc1RkZGLCAweDAwMEMwMDA0 LCAweDAgfSB9LAkvKiA1Ogk2MDAJOTAwCTMuNQkqLworCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwg MHgwMDA0MDAwNiwgMHgwIH0gfSwJLyogNjoJODAwCTgwMAkwCSovCisJeyAuaHN3ID0geyAweDgw RTc5RkZGLCAweDAwMDMwMDAyLCAweDAgfSB9LAkvKiA3Ogk4MDAJMTAwMAkyCSovCisJeyAuaHN3 ID0geyAweDAwRkZGRkZGLCAweDAwMTQwMDA1LCAweDAgfSB9LAkvKiA4Ogk4NTAJODUwCTAJKi8K Kwl7IC5oc3cgPSB7IDB4MDBGRkZGRkYsIDB4MDAwQzAwMDQsIDB4MCB9IH0sCS8qIDk6CTkwMAk5 MDAJMAkqLworCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDFDMDAwMywgMHgwIH0gfSwJLyog MTA6CTk1MAk5NTAJMAkqLworCXsgLmhzdyA9IHsgMHg4MEZGRkZGRiwgMHgwMDAzMDAwMiwgMHgw IH0gfSwJLyogMTE6CTEwMDAJMTAwMAkwCSovCiB9OwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGhz d19kZGlfYnVmX3RyYW5zIGJkd19kZGlfdHJhbnNsYXRpb25zX2VkcFtdID0gewotCXsgMHgwMEZG RkZGRiwgMHgwMDAwMDAxMiwgMHgwIH0sCi0JeyAweDAwRUJBRkZGLCAweDAwMDIwMDExLCAweDAg fSwKLQl7IDB4MDBDNzFGRkYsIDB4MDAwNjAwMEYsIDB4MCB9LAotCXsgMHgwMEFBQUZGRiwgMHgw MDBFMDAwQSwgMHgwIH0sCi0JeyAweDAwRkZGRkZGLCAweDAwMDIwMDExLCAweDAgfSwKLQl7IDB4 MDBEQjZGRkYsIDB4MDAwNTAwMEYsIDB4MCB9LAotCXsgMHgwMEJFRUZGRiwgMHgwMDBBMDAwQywg MHgwIH0sCi0JeyAweDAwRkZGRkZGLCAweDAwMDUwMDBGLCAweDAgfSwKLQl7IDB4MDBEQjZGRkYs IDB4MDAwQTAwMEMsIDB4MCB9LAorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJh bnNfZW50cnkgYmR3X2RkaV90cmFuc2xhdGlvbnNfZWRwW10gPSB7CisJeyAuaHN3ID0geyAweDAw RkZGRkZGLCAweDAwMDAwMDEyLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMEVCQUZGRiwgMHgw MDAyMDAxMSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDBDNzFGRkYsIDB4MDAwNjAwMEYsIDB4 MCB9IH0sCisJeyAuaHN3ID0geyAweDAwQUFBRkZGLCAweDAwMEUwMDBBLCAweDAgfSB9LAorCXsg LmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDAyMDAxMSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4 MDBEQjZGRkYsIDB4MDAwNTAwMEYsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwQkVFRkZGLCAw eDAwMEEwMDBDLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDA1MDAwRiwg MHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDBEQjZGRkYsIDB4MDAwQTAwMEMsIDB4MCB9IH0sCiB9 OwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zIGJkd19kZGlfdHJhbnNs YXRpb25zX2RwW10gPSB7Ci0JeyAweDAwRkZGRkZGLCAweDAwMDcwMDBFLCAweDAgfSwKLQl7IDB4 MDBENzVGRkYsIDB4MDAwRTAwMEEsIDB4MCB9LAotCXsgMHgwMEJFRkZGRiwgMHgwMDE0MDAwNiwg MHgwIH0sCi0JeyAweDgwQjJDRkZGLCAweDAwMUIwMDAyLCAweDAgfSwKLQl7IDB4MDBGRkZGRkYs IDB4MDAwRTAwMEEsIDB4MCB9LAotCXsgMHgwMERCNkZGRiwgMHgwMDE2MDAwNSwgMHgwIH0sCi0J eyAweDgwQzcxRkZGLCAweDAwMUEwMDAyLCAweDAgfSwKLQl7IDB4MDBGN0RGRkYsIDB4MDAxODAw MDQsIDB4MCB9LAotCXsgMHg4MEQ3NUZGRiwgMHgwMDFCMDAwMiwgMHgwIH0sCitzdGF0aWMgY29u c3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBiZHdfZGRpX3RyYW5zbGF0aW9uc19k cFtdID0geworCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDA3MDAwRSwgMHgwIH0gfSwKKwl7 IC5oc3cgPSB7IDB4MDBENzVGRkYsIDB4MDAwRTAwMEEsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAw eDAwQkVGRkZGLCAweDAwMTQwMDA2LCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHg4MEIyQ0ZGRiwg MHgwMDFCMDAwMiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDBGRkZGRkYsIDB4MDAwRTAwMEEs IDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwREI2RkZGLCAweDAwMTYwMDA1LCAweDAgfSB9LAor CXsgLmhzdyA9IHsgMHg4MEM3MUZGRiwgMHgwMDFBMDAwMiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7 IDB4MDBGN0RGRkYsIDB4MDAxODAwMDQsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgwRDc1RkZG LCAweDAwMUIwMDAyLCAweDAgfSB9LAogfTsKIAotc3RhdGljIGNvbnN0IHN0cnVjdCBoc3dfZGRp X2J1Zl90cmFucyBiZHdfZGRpX3RyYW5zbGF0aW9uc19mZGlbXSA9IHsKLQl7IDB4MDBGRkZGRkYs IDB4MDAwMTAwMEUsIDB4MCB9LAotCXsgMHgwMEQ3NUZGRiwgMHgwMDA0MDAwQSwgMHgwIH0sCi0J eyAweDAwQzMwRkZGLCAweDAwMDcwMDA2LCAweDAgfSwKLQl7IDB4MDBBQUFGRkYsIDB4MDAwQzAw MDAsIDB4MCB9LAotCXsgMHgwMEZGRkZGRiwgMHgwMDA0MDAwQSwgMHgwIH0sCi0JeyAweDAwRDc1 RkZGLCAweDAwMDkwMDA0LCAweDAgfSwKLQl7IDB4MDBDMzBGRkYsIDB4MDAwQzAwMDAsIDB4MCB9 LAotCXsgMHgwMEZGRkZGRiwgMHgwMDA3MDAwNiwgMHgwIH0sCi0JeyAweDAwRDc1RkZGLCAweDAw MEMwMDAwLCAweDAgfSwKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2Vu dHJ5IGJkd19kZGlfdHJhbnNsYXRpb25zX2ZkaVtdID0geworCXsgLmhzdyA9IHsgMHgwMEZGRkZG RiwgMHgwMDAxMDAwRSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDBENzVGRkYsIDB4MDAwNDAw MEEsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwQzMwRkZGLCAweDAwMDcwMDA2LCAweDAgfSB9 LAorCXsgLmhzdyA9IHsgMHgwMEFBQUZGRiwgMHgwMDBDMDAwMCwgMHgwIH0gfSwKKwl7IC5oc3cg PSB7IDB4MDBGRkZGRkYsIDB4MDAwNDAwMEEsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwRDc1 RkZGLCAweDAwMDkwMDA0LCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMEMzMEZGRiwgMHgwMDBD MDAwMCwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDBGRkZGRkYsIDB4MDAwNzAwMDYsIDB4MCB9 IH0sCisJeyAuaHN3ID0geyAweDAwRDc1RkZGLCAweDAwMEMwMDAwLCAweDAgfSB9LAogfTsKIAot c3RhdGljIGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyBiZHdfZGRpX3RyYW5zbGF0aW9u c19oZG1pW10gPSB7Ci0JCQkJCS8qIElkeAlOVCBtViBkCVQgbVYgZGYJZGIJKi8KLQl7IDB4MDBG RkZGRkYsIDB4MDAwNzAwMEUsIDB4MCB9LC8qIDA6CTQwMAk0MDAJMAkqLwotCXsgMHgwMEQ3NUZG RiwgMHgwMDBFMDAwQSwgMHgwIH0sLyogMToJNDAwCTYwMAkzLjUJKi8KLQl7IDB4MDBCRUZGRkYs IDB4MDAxNDAwMDYsIDB4MCB9LC8qIDI6CTQwMAk4MDAJNgkqLwotCXsgMHgwMEZGRkZGRiwgMHgw MDA5MDAwRCwgMHgwIH0sLyogMzoJNDUwCTQ1MAkwCSovCi0JeyAweDAwRkZGRkZGLCAweDAwMEUw MDBBLCAweDAgfSwvKiA0Ogk2MDAJNjAwCTAJKi8KLQl7IDB4MDBEN0ZGRkYsIDB4MDAxNDAwMDYs IDB4MCB9LC8qIDU6CTYwMAk4MDAJMi41CSovCi0JeyAweDgwQ0IyRkZGLCAweDAwMUIwMDAyLCAw eDAgfSwvKiA2Ogk2MDAJMTAwMAk0LjUJKi8KLQl7IDB4MDBGRkZGRkYsIDB4MDAxNDAwMDYsIDB4 MCB9LC8qIDc6CTgwMAk4MDAJMAkqLwotCXsgMHg4MEU3OUZGRiwgMHgwMDFCMDAwMiwgMHgwIH0s LyogODoJODAwCTEwMDAJMgkqLwotCXsgMHg4MEZGRkZGRiwgMHgwMDFCMDAwMiwgMHgwIH0sLyog OToJMTAwMAkxMDAwCTAJKi8KK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5z X2VudHJ5IGJkd19kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKKwkJCQkJCQkvKiBJZHgJTlQg bVYgZAlUIG1WIGRmCWRiCSovCisJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMDcwMDBFLCAw eDAgfSB9LAkvKiAwOgk0MDAJNDAwCTAJKi8KKwl7IC5oc3cgPSB7IDB4MDBENzVGRkYsIDB4MDAw RTAwMEEsIDB4MCB9IH0sCS8qIDE6CTQwMAk2MDAJMy41CSovCisJeyAuaHN3ID0geyAweDAwQkVG RkZGLCAweDAwMTQwMDA2LCAweDAgfSB9LAkvKiAyOgk0MDAJODAwCTYJKi8KKwl7IC5oc3cgPSB7 IDB4MDBGRkZGRkYsIDB4MDAwOTAwMEQsIDB4MCB9IH0sCS8qIDM6CTQ1MAk0NTAJMAkqLworCXsg LmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDBFMDAwQSwgMHgwIH0gfSwJLyogNDoJNjAwCTYwMAkw CSovCisJeyAuaHN3ID0geyAweDAwRDdGRkZGLCAweDAwMTQwMDA2LCAweDAgfSB9LAkvKiA1Ogk2 MDAJODAwCTIuNQkqLworCXsgLmhzdyA9IHsgMHg4MENCMkZGRiwgMHgwMDFCMDAwMiwgMHgwIH0g fSwJLyogNjoJNjAwCTEwMDAJNC41CSovCisJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMTQw MDA2LCAweDAgfSB9LAkvKiA3Ogk4MDAJODAwCTAJKi8KKwl7IC5oc3cgPSB7IDB4ODBFNzlGRkYs IDB4MDAxQjAwMDIsIDB4MCB9IH0sCS8qIDg6CTgwMAkxMDAwCTIJKi8KKwl7IC5oc3cgPSB7IDB4 ODBGRkZGRkYsIDB4MDAxQjAwMDIsIDB4MCB9IH0sCS8qIDk6CTEwMDAJMTAwMAkwCSovCiB9Owog CiAvKiBTa3lsYWtlIEggYW5kIFMgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZf dHJhbnMgc2tsX2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKLQl7IDB4MDAwMDIwMTYsIDB4MDAw MDAwQTAsIDB4MCB9LAotCXsgMHgwMDAwNTAxMiwgMHgwMDAwMDA5QiwgMHgwIH0sCi0JeyAweDAw MDA3MDExLCAweDAwMDAwMDg4LCAweDAgfSwKLQl7IDB4ODAwMDkwMTAsIDB4MDAwMDAwQzAsIDB4 MSB9LAotCXsgMHgwMDAwMjAxNiwgMHgwMDAwMDA5QiwgMHgwIH0sCi0JeyAweDAwMDA1MDEyLCAw eDAwMDAwMDg4LCAweDAgfSwKLQl7IDB4ODAwMDcwMTEsIDB4MDAwMDAwQzAsIDB4MSB9LAotCXsg MHgwMDAwMjAxNiwgMHgwMDAwMDBERiwgMHgwIH0sCi0JeyAweDgwMDA1MDEyLCAweDAwMDAwMEMw LCAweDEgfSwKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHNr bF9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7CisJeyAuaHN3ID0geyAweDAwMDAyMDE2LCAweDAw MDAwMEEwLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwNTAxMiwgMHgwMDAwMDA5QiwgMHgw IH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDcwMTEsIDB4MDAwMDAwODgsIDB4MCB9IH0sCisJeyAu aHN3ID0geyAweDgwMDA5MDEwLCAweDAwMDAwMEMwLCAweDEgfSB9LAorCXsgLmhzdyA9IHsgMHgw MDAwMjAxNiwgMHgwMDAwMDA5QiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDUwMTIsIDB4 MDAwMDAwODgsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgwMDA3MDExLCAweDAwMDAwMEMwLCAw eDEgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwMjAxNiwgMHgwMDAwMDBERiwgMHgwIH0gfSwKKwl7 IC5oc3cgPSB7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4MSB9IH0sCiB9OwogCiAvKiBTa3ls YWtlIFUgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgc2tsX3VfZGRp X3RyYW5zbGF0aW9uc19kcFtdID0gewotCXsgMHgwMDAwMjAxQiwgMHgwMDAwMDBBMiwgMHgwIH0s Ci0JeyAweDAwMDA1MDEyLCAweDAwMDAwMDg4LCAweDAgfSwKLQl7IDB4ODAwMDcwMTEsIDB4MDAw MDAwQ0QsIDB4MSB9LAotCXsgMHg4MDAwOTAxMCwgMHgwMDAwMDBDMCwgMHgxIH0sCi0JeyAweDAw MDAyMDFCLCAweDAwMDAwMDlELCAweDAgfSwKLQl7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4 MSB9LAotCXsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDMCwgMHgxIH0sCi0JeyAweDAwMDAyMDE2LCAw eDAwMDAwMDg4LCAweDAgfSwKLQl7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4MSB9LAorc3Rh dGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgc2tsX3VfZGRpX3RyYW5z bGF0aW9uc19kcFtdID0geworCXsgLmhzdyA9IHsgMHgwMDAwMjAxQiwgMHgwMDAwMDBBMiwgMHgw IH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDUwMTIsIDB4MDAwMDAwODgsIDB4MCB9IH0sCisJeyAu aHN3ID0geyAweDgwMDA3MDExLCAweDAwMDAwMENELCAweDEgfSB9LAorCXsgLmhzdyA9IHsgMHg4 MDAwOTAxMCwgMHgwMDAwMDBDMCwgMHgxIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDIwMUIsIDB4 MDAwMDAwOUQsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgwMDA1MDEyLCAweDAwMDAwMEMwLCAw eDEgfSB9LAorCXsgLmhzdyA9IHsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDMCwgMHgxIH0gfSwKKwl7 IC5oc3cgPSB7IDB4MDAwMDIwMTYsIDB4MDAwMDAwODgsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAw eDgwMDA1MDEyLCAweDAwMDAwMEMwLCAweDEgfSB9LAogfTsKIAogLyogU2t5bGFrZSBZICovCi1z dGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zIHNrbF95X2RkaV90cmFuc2xhdGlv bnNfZHBbXSA9IHsKLQl7IDB4MDAwMDAwMTgsIDB4MDAwMDAwQTIsIDB4MCB9LAotCXsgMHgwMDAw NTAxMiwgMHgwMDAwMDA4OCwgMHgwIH0sCi0JeyAweDgwMDA3MDExLCAweDAwMDAwMENELCAweDMg fSwKLQl7IDB4ODAwMDkwMTAsIDB4MDAwMDAwQzAsIDB4MyB9LAotCXsgMHgwMDAwMDAxOCwgMHgw MDAwMDA5RCwgMHgwIH0sCi0JeyAweDgwMDA1MDEyLCAweDAwMDAwMEMwLCAweDMgfSwKLQl7IDB4 ODAwMDcwMTEsIDB4MDAwMDAwQzAsIDB4MyB9LAotCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDA4OCwg MHgwIH0sCi0JeyAweDgwMDA1MDEyLCAweDAwMDAwMEMwLCAweDMgfSwKK3N0YXRpYyBjb25zdCB1 bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHNrbF95X2RkaV90cmFuc2xhdGlvbnNfZHBb XSA9IHsKKwl7IC5oc3cgPSB7IDB4MDAwMDAwMTgsIDB4MDAwMDAwQTIsIDB4MCB9IH0sCisJeyAu aHN3ID0geyAweDAwMDA1MDEyLCAweDAwMDAwMDg4LCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHg4 MDAwNzAxMSwgMHgwMDAwMDBDRCwgMHgzIH0gfSwKKwl7IC5oc3cgPSB7IDB4ODAwMDkwMTAsIDB4 MDAwMDAwQzAsIDB4MyB9IH0sCisJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMDlELCAw eDAgfSB9LAorCXsgLmhzdyA9IHsgMHg4MDAwNTAxMiwgMHgwMDAwMDBDMCwgMHgzIH0gfSwKKwl7 IC5oc3cgPSB7IDB4ODAwMDcwMTEsIDB4MDAwMDAwQzAsIDB4MyB9IH0sCisJeyAuaHN3ID0geyAw eDAwMDAwMDE4LCAweDAwMDAwMDg4LCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHg4MDAwNTAxMiwg MHgwMDAwMDBDMCwgMHgzIH0gfSwKIH07CiAKIC8qIEthYnlsYWtlIEggYW5kIFMgKi8KLXN0YXRp YyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMga2JsX2RkaV90cmFuc2xhdGlvbnNfZHBb XSA9IHsKLQl7IDB4MDAwMDIwMTYsIDB4MDAwMDAwQTAsIDB4MCB9LAotCXsgMHgwMDAwNTAxMiwg MHgwMDAwMDA5QiwgMHgwIH0sCi0JeyAweDAwMDA3MDExLCAweDAwMDAwMDg4LCAweDAgfSwKLQl7 IDB4ODAwMDkwMTAsIDB4MDAwMDAwQzAsIDB4MSB9LAotCXsgMHgwMDAwMjAxNiwgMHgwMDAwMDA5 QiwgMHgwIH0sCi0JeyAweDAwMDA1MDEyLCAweDAwMDAwMDg4LCAweDAgfSwKLQl7IDB4ODAwMDcw MTEsIDB4MDAwMDAwQzAsIDB4MSB9LAotCXsgMHgwMDAwMjAxNiwgMHgwMDAwMDA5NywgMHgwIH0s Ci0JeyAweDgwMDA1MDEyLCAweDAwMDAwMEMwLCAweDEgfSwKK3N0YXRpYyBjb25zdCB1bmlvbiBp bnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGtibF9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7CisJ eyAuaHN3ID0geyAweDAwMDAyMDE2LCAweDAwMDAwMEEwLCAweDAgfSB9LAorCXsgLmhzdyA9IHsg MHgwMDAwNTAxMiwgMHgwMDAwMDA5QiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDcwMTEs IDB4MDAwMDAwODgsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgwMDA5MDEwLCAweDAwMDAwMEMw LCAweDEgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwMjAxNiwgMHgwMDAwMDA5QiwgMHgwIH0gfSwK Kwl7IC5oc3cgPSB7IDB4MDAwMDUwMTIsIDB4MDAwMDAwODgsIDB4MCB9IH0sCisJeyAuaHN3ID0g eyAweDgwMDA3MDExLCAweDAwMDAwMEMwLCAweDEgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwMjAx NiwgMHgwMDAwMDA5NywgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4ODAwMDUwMTIsIDB4MDAwMDAw QzAsIDB4MSB9IH0sCiB9OwogCiAvKiBLYWJ5bGFrZSBVICovCi1zdGF0aWMgY29uc3Qgc3RydWN0 IGhzd19kZGlfYnVmX3RyYW5zIGtibF91X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKLQl7IDB4 MDAwMDIwMUIsIDB4MDAwMDAwQTEsIDB4MCB9LAotCXsgMHgwMDAwNTAxMiwgMHgwMDAwMDA4OCwg MHgwIH0sCi0JeyAweDgwMDA3MDExLCAweDAwMDAwMENELCAweDMgfSwKLQl7IDB4ODAwMDkwMTAs IDB4MDAwMDAwQzAsIDB4MyB9LAotCXsgMHgwMDAwMjAxQiwgMHgwMDAwMDA5RCwgMHgwIH0sCi0J eyAweDgwMDA1MDEyLCAweDAwMDAwMEMwLCAweDMgfSwKLQl7IDB4ODAwMDcwMTEsIDB4MDAwMDAw QzAsIDB4MyB9LAotCXsgMHgwMDAwMjAxNiwgMHgwMDAwMDA0RiwgMHgwIH0sCi0JeyAweDgwMDA1 MDEyLCAweDAwMDAwMEMwLCAweDMgfSwKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVm X3RyYW5zX2VudHJ5IGtibF91X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKKwl7IC5oc3cgPSB7 IDB4MDAwMDIwMUIsIDB4MDAwMDAwQTEsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDA1MDEy LCAweDAwMDAwMDg4LCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHg4MDAwNzAxMSwgMHgwMDAwMDBD RCwgMHgzIH0gfSwKKwl7IC5oc3cgPSB7IDB4ODAwMDkwMTAsIDB4MDAwMDAwQzAsIDB4MyB9IH0s CisJeyAuaHN3ID0geyAweDAwMDAyMDFCLCAweDAwMDAwMDlELCAweDAgfSB9LAorCXsgLmhzdyA9 IHsgMHg4MDAwNTAxMiwgMHgwMDAwMDBDMCwgMHgzIH0gfSwKKwl7IC5oc3cgPSB7IDB4ODAwMDcw MTEsIDB4MDAwMDAwQzAsIDB4MyB9IH0sCisJeyAuaHN3ID0geyAweDAwMDAyMDE2LCAweDAwMDAw MDRGLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHg4MDAwNTAxMiwgMHgwMDAwMDBDMCwgMHgzIH0g fSwKIH07CiAKIC8qIEthYnlsYWtlIFkgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9i dWZfdHJhbnMga2JsX3lfZGRpX3RyYW5zbGF0aW9uc19kcFtdID0gewotCXsgMHgwMDAwMTAxNywg MHgwMDAwMDBBMSwgMHgwIH0sCi0JeyAweDAwMDA1MDEyLCAweDAwMDAwMDg4LCAweDAgfSwKLQl7 IDB4ODAwMDcwMTEsIDB4MDAwMDAwQ0QsIDB4MyB9LAotCXsgMHg4MDAwODAwRiwgMHgwMDAwMDBD MCwgMHgzIH0sCi0JeyAweDAwMDAxMDE3LCAweDAwMDAwMDlELCAweDAgfSwKLQl7IDB4ODAwMDUw MTIsIDB4MDAwMDAwQzAsIDB4MyB9LAotCXsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDMCwgMHgzIH0s Ci0JeyAweDAwMDAxMDE3LCAweDAwMDAwMDRDLCAweDAgfSwKLQl7IDB4ODAwMDUwMTIsIDB4MDAw MDAwQzAsIDB4MyB9LAorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50 cnkga2JsX3lfZGRpX3RyYW5zbGF0aW9uc19kcFtdID0geworCXsgLmhzdyA9IHsgMHgwMDAwMTAx NywgMHgwMDAwMDBBMSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDUwMTIsIDB4MDAwMDAw ODgsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgwMDA3MDExLCAweDAwMDAwMENELCAweDMgfSB9 LAorCXsgLmhzdyA9IHsgMHg4MDAwODAwRiwgMHgwMDAwMDBDMCwgMHgzIH0gfSwKKwl7IC5oc3cg PSB7IDB4MDAwMDEwMTcsIDB4MDAwMDAwOUQsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgwMDA1 MDEyLCAweDAwMDAwMEMwLCAweDMgfSB9LAorCXsgLmhzdyA9IHsgMHg4MDAwNzAxMSwgMHgwMDAw MDBDMCwgMHgzIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDEwMTcsIDB4MDAwMDAwNEMsIDB4MCB9 IH0sCisJeyAuaHN3ID0geyAweDgwMDA1MDEyLCAweDAwMDAwMEMwLCAweDMgfSB9LAogfTsKIAog LyoKICAqIFNreWxha2UvS2FieWxha2UgSCBhbmQgUwogICogZURQIDEuNCBsb3cgdnN3aW5nIHRy YW5zbGF0aW9uIHBhcmFtZXRlcnMKICAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1 Zl90cmFucyBza2xfZGRpX3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKLQl7IDB4MDAwMDAwMTgsIDB4 MDAwMDAwQTgsIDB4MCB9LAotCXsgMHgwMDAwNDAxMywgMHgwMDAwMDBBOSwgMHgwIH0sCi0JeyAw eDAwMDA3MDExLCAweDAwMDAwMEEyLCAweDAgfSwKLQl7IDB4MDAwMDkwMTAsIDB4MDAwMDAwOUMs IDB4MCB9LAotCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDBBOSwgMHgwIH0sCi0JeyAweDAwMDA2MDEz LCAweDAwMDAwMEEyLCAweDAgfSwKLQl7IDB4MDAwMDcwMTEsIDB4MDAwMDAwQTYsIDB4MCB9LAot CXsgMHgwMDAwMDAxOCwgMHgwMDAwMDBBQiwgMHgwIH0sCi0JeyAweDAwMDA3MDEzLCAweDAwMDAw MDlGLCAweDAgfSwKLQl7IDB4MDAwMDAwMTgsIDB4MDAwMDAwREYsIDB4MCB9LAorc3RhdGljIGNv bnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgc2tsX2RkaV90cmFuc2xhdGlvbnNf ZWRwW10gPSB7CisJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMEE4LCAweDAgfSB9LAor CXsgLmhzdyA9IHsgMHgwMDAwNDAxMywgMHgwMDAwMDBBOSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7 IDB4MDAwMDcwMTEsIDB4MDAwMDAwQTIsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDA5MDEw LCAweDAwMDAwMDlDLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwMDAxOCwgMHgwMDAwMDBB OSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDYwMTMsIDB4MDAwMDAwQTIsIDB4MCB9IH0s CisJeyAuaHN3ID0geyAweDAwMDA3MDExLCAweDAwMDAwMEE2LCAweDAgfSB9LAorCXsgLmhzdyA9 IHsgMHgwMDAwMDAxOCwgMHgwMDAwMDBBQiwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDcw MTMsIDB4MDAwMDAwOUYsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAw MERGLCAweDAgfSB9LAogfTsKIAogLyoKICAqIFNreWxha2UvS2FieWxha2UgVQogICogZURQIDEu NCBsb3cgdnN3aW5nIHRyYW5zbGF0aW9uIHBhcmFtZXRlcnMKICAqLwotc3RhdGljIGNvbnN0IHN0 cnVjdCBoc3dfZGRpX2J1Zl90cmFucyBza2xfdV9kZGlfdHJhbnNsYXRpb25zX2VkcFtdID0gewot CXsgMHgwMDAwMDAxOCwgMHgwMDAwMDBBOCwgMHgwIH0sCi0JeyAweDAwMDA0MDEzLCAweDAwMDAw MEE5LCAweDAgfSwKLQl7IDB4MDAwMDcwMTEsIDB4MDAwMDAwQTIsIDB4MCB9LAotCXsgMHgwMDAw OTAxMCwgMHgwMDAwMDA5QywgMHgwIH0sCi0JeyAweDAwMDAwMDE4LCAweDAwMDAwMEE5LCAweDAg fSwKLQl7IDB4MDAwMDYwMTMsIDB4MDAwMDAwQTIsIDB4MCB9LAotCXsgMHgwMDAwNzAxMSwgMHgw MDAwMDBBNiwgMHgwIH0sCi0JeyAweDAwMDAyMDE2LCAweDAwMDAwMEFCLCAweDAgfSwKLQl7IDB4 MDAwMDUwMTMsIDB4MDAwMDAwOUYsIDB4MCB9LAotCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDBERiwg MHgwIH0sCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBza2xf dV9kZGlfdHJhbnNsYXRpb25zX2VkcFtdID0geworCXsgLmhzdyA9IHsgMHgwMDAwMDAxOCwgMHgw MDAwMDBBOCwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDQwMTMsIDB4MDAwMDAwQTksIDB4 MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDA3MDExLCAweDAwMDAwMEEyLCAweDAgfSB9LAorCXsg LmhzdyA9IHsgMHgwMDAwOTAxMCwgMHgwMDAwMDA5QywgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4 MDAwMDAwMTgsIDB4MDAwMDAwQTksIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDA2MDEzLCAw eDAwMDAwMEEyLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwNzAxMSwgMHgwMDAwMDBBNiwg MHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDIwMTYsIDB4MDAwMDAwQUIsIDB4MCB9IH0sCisJ eyAuaHN3ID0geyAweDAwMDA1MDEzLCAweDAwMDAwMDlGLCAweDAgfSB9LAorCXsgLmhzdyA9IHsg MHgwMDAwMDAxOCwgMHgwMDAwMDBERiwgMHgwIH0gfSwKIH07CiAKIC8qCiAgKiBTa3lsYWtlL0th YnlsYWtlIFkKICAqIGVEUCAxLjQgbG93IHZzd2luZyB0cmFuc2xhdGlvbiBwYXJhbWV0ZXJzCiAg Ki8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgc2tsX3lfZGRpX3RyYW5z bGF0aW9uc19lZHBbXSA9IHsKLQl7IDB4MDAwMDAwMTgsIDB4MDAwMDAwQTgsIDB4MCB9LAotCXsg MHgwMDAwNDAxMywgMHgwMDAwMDBBQiwgMHgwIH0sCi0JeyAweDAwMDA3MDExLCAweDAwMDAwMEE0 LCAweDAgfSwKLQl7IDB4MDAwMDkwMTAsIDB4MDAwMDAwREYsIDB4MCB9LAotCXsgMHgwMDAwMDAx OCwgMHgwMDAwMDBBQSwgMHgwIH0sCi0JeyAweDAwMDA2MDEzLCAweDAwMDAwMEE0LCAweDAgfSwK LQl7IDB4MDAwMDcwMTEsIDB4MDAwMDAwOUQsIDB4MCB9LAotCXsgMHgwMDAwMDAxOCwgMHgwMDAw MDBBMCwgMHgwIH0sCi0JeyAweDAwMDA2MDEyLCAweDAwMDAwMERGLCAweDAgfSwKLQl7IDB4MDAw MDAwMTgsIDB4MDAwMDAwOEEsIDB4MCB9LAorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9i dWZfdHJhbnNfZW50cnkgc2tsX3lfZGRpX3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKKwl7IC5oc3cg PSB7IDB4MDAwMDAwMTgsIDB4MDAwMDAwQTgsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDA0 MDEzLCAweDAwMDAwMEFCLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwNzAxMSwgMHgwMDAw MDBBNCwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDkwMTAsIDB4MDAwMDAwREYsIDB4MCB9 IH0sCisJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMEFBLCAweDAgfSB9LAorCXsgLmhz dyA9IHsgMHgwMDAwNjAxMywgMHgwMDAwMDBBNCwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAw MDcwMTEsIDB4MDAwMDAwOUQsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAw MDAwMEEwLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAwNjAxMiwgMHgwMDAwMDBERiwgMHgw IH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDAwMTgsIDB4MDAwMDAwOEEsIDB4MCB9IH0sCiB9Owog CiAvKiBTa3lsYWtlL0thYnlsYWtlIFUsIEggYW5kIFMgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3Qg aHN3X2RkaV9idWZfdHJhbnMgc2tsX2RkaV90cmFuc2xhdGlvbnNfaGRtaVtdID0gewotCXsgMHgw MDAwMDAxOCwgMHgwMDAwMDBBQywgMHgwIH0sCi0JeyAweDAwMDA1MDEyLCAweDAwMDAwMDlELCAw eDAgfSwKLQl7IDB4MDAwMDcwMTEsIDB4MDAwMDAwODgsIDB4MCB9LAotCXsgMHgwMDAwMDAxOCwg MHgwMDAwMDBBMSwgMHgwIH0sCi0JeyAweDAwMDAwMDE4LCAweDAwMDAwMDk4LCAweDAgfSwKLQl7 IDB4MDAwMDQwMTMsIDB4MDAwMDAwODgsIDB4MCB9LAotCXsgMHg4MDAwNjAxMiwgMHgwMDAwMDBD RCwgMHgxIH0sCi0JeyAweDAwMDAwMDE4LCAweDAwMDAwMERGLCAweDAgfSwKLQl7IDB4ODAwMDMw MTUsIDB4MDAwMDAwQ0QsIDB4MSB9LAkvKiBEZWZhdWx0ICovCi0JeyAweDgwMDAzMDE1LCAweDAw MDAwMEMwLCAweDEgfSwKLQl7IDB4ODAwMDAwMTgsIDB4MDAwMDAwQzAsIDB4MSB9LAorc3RhdGlj IGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgc2tsX2RkaV90cmFuc2xhdGlv bnNfaGRtaVtdID0geworCXsgLmhzdyA9IHsgMHgwMDAwMDAxOCwgMHgwMDAwMDBBQywgMHgwIH0g fSwKKwl7IC5oc3cgPSB7IDB4MDAwMDUwMTIsIDB4MDAwMDAwOUQsIDB4MCB9IH0sCisJeyAuaHN3 ID0geyAweDAwMDA3MDExLCAweDAwMDAwMDg4LCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHgwMDAw MDAxOCwgMHgwMDAwMDBBMSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDAwMTgsIDB4MDAw MDAwOTgsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDA0MDEzLCAweDAwMDAwMDg4LCAweDAg fSB9LAorCXsgLmhzdyA9IHsgMHg4MDAwNjAxMiwgMHgwMDAwMDBDRCwgMHgxIH0gfSwKKwl7IC5o c3cgPSB7IDB4MDAwMDAwMTgsIDB4MDAwMDAwREYsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgw MDAzMDE1LCAweDAwMDAwMENELCAweDEgfSB9LAkvKiBEZWZhdWx0ICovCisJeyAuaHN3ID0geyAw eDgwMDAzMDE1LCAweDAwMDAwMEMwLCAweDEgfSB9LAorCXsgLmhzdyA9IHsgMHg4MDAwMDAxOCwg MHgwMDAwMDBDMCwgMHgxIH0gfSwKIH07CiAKIC8qIFNreWxha2UvS2FieWxha2UgWSAqLwotc3Rh dGljIGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyBza2xfeV9kZGlfdHJhbnNsYXRpb25z X2hkbWlbXSA9IHsKLQl7IDB4MDAwMDAwMTgsIDB4MDAwMDAwQTEsIDB4MCB9LAotCXsgMHgwMDAw NTAxMiwgMHgwMDAwMDBERiwgMHgwIH0sCi0JeyAweDgwMDA3MDExLCAweDAwMDAwMENCLCAweDMg fSwKLQl7IDB4MDAwMDAwMTgsIDB4MDAwMDAwQTQsIDB4MCB9LAotCXsgMHgwMDAwMDAxOCwgMHgw MDAwMDA5RCwgMHgwIH0sCi0JeyAweDAwMDA0MDEzLCAweDAwMDAwMDgwLCAweDAgfSwKLQl7IDB4 ODAwMDYwMTMsIDB4MDAwMDAwQzAsIDB4MyB9LAotCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDA4QSwg MHgwIH0sCi0JeyAweDgwMDAzMDE1LCAweDAwMDAwMEMwLCAweDMgfSwJLyogRGVmYXVsdCAqLwot CXsgMHg4MDAwMzAxNSwgMHgwMDAwMDBDMCwgMHgzIH0sCi0JeyAweDgwMDAwMDE4LCAweDAwMDAw MEMwLCAweDMgfSwKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5 IHNrbF95X2RkaV90cmFuc2xhdGlvbnNfaGRtaVtdID0geworCXsgLmhzdyA9IHsgMHgwMDAwMDAx OCwgMHgwMDAwMDBBMSwgMHgwIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDUwMTIsIDB4MDAwMDAw REYsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDgwMDA3MDExLCAweDAwMDAwMENCLCAweDMgfSB9 LAorCXsgLmhzdyA9IHsgMHgwMDAwMDAxOCwgMHgwMDAwMDBBNCwgMHgwIH0gfSwKKwl7IC5oc3cg PSB7IDB4MDAwMDAwMTgsIDB4MDAwMDAwOUQsIDB4MCB9IH0sCisJeyAuaHN3ID0geyAweDAwMDA0 MDEzLCAweDAwMDAwMDgwLCAweDAgfSB9LAorCXsgLmhzdyA9IHsgMHg4MDAwNjAxMywgMHgwMDAw MDBDMCwgMHgzIH0gfSwKKwl7IC5oc3cgPSB7IDB4MDAwMDAwMTgsIDB4MDAwMDAwOEEsIDB4MCB9 IH0sCisJeyAuaHN3ID0geyAweDgwMDAzMDE1LCAweDAwMDAwMEMwLCAweDMgfSB9LAkvKiBEZWZh dWx0ICovCisJeyAuaHN3ID0geyAweDgwMDAzMDE1LCAweDAwMDAwMEMwLCAweDMgfSB9LAorCXsg LmhzdyA9IHsgMHg4MDAwMDAxOCwgMHgwMDAwMDBDMCwgMHgzIH0gfSwKIH07CiAKLXN0YXRpYyBj b25zdCBzdHJ1Y3QgYnh0X2RkaV9idWZfdHJhbnMgYnh0X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9 IHsKLQkJCQkJLyogSWR4CU5UIG1WIGRpZmYJZGIgICovCi0JeyA1MiwgIDB4OUEsIDAsIDEyOCwg fSwJLyogMDoJNDAwCQkwICAgKi8KLQl7IDc4LCAgMHg5QSwgMCwgODUsICB9LAkvKiAxOgk0MDAJ CTMuNSAqLwotCXsgMTA0LCAweDlBLCAwLCA2NCwgIH0sCS8qIDI6CTQwMAkJNiAgICovCi0JeyAx NTQsIDB4OUEsIDAsIDQzLCAgfSwJLyogMzoJNDAwCQk5LjUgKi8KLQl7IDc3LCAgMHg5QSwgMCwg MTI4LCB9LAkvKiA0Ogk2MDAJCTAgICAqLwotCXsgMTE2LCAweDlBLCAwLCA4NSwgIH0sCS8qIDU6 CTYwMAkJMy41ICovCi0JeyAxNTQsIDB4OUEsIDAsIDY0LCAgfSwJLyogNjoJNjAwCQk2ICAgKi8K LQl7IDEwMiwgMHg5QSwgMCwgMTI4LCB9LAkvKiA3Ogk4MDAJCTAgICAqLwotCXsgMTU0LCAweDlB LCAwLCA4NSwgIH0sCS8qIDg6CTgwMAkJMy41ICovCi0JeyAxNTQsIDB4OUEsIDEsIDEyOCwgfSwJ LyogOToJMTIwMAkJMCAgICovCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFu c19lbnRyeSBieHRfZGRpX3RyYW5zbGF0aW9uc19kcFtdID0geworCQkJCQkJLyogSWR4CU5UIG1W IGRpZmYJZGIgICovCisJeyAuYnh0ID0geyA1MiwgIDB4OUEsIDAsIDEyOCwgfSB9LAkvKiAwOgk0 MDAJCTAgICAqLworCXsgLmJ4dCA9IHsgNzgsICAweDlBLCAwLCA4NSwgIH0gfSwJLyogMToJNDAw CQkzLjUgKi8KKwl7IC5ieHQgPSB7IDEwNCwgMHg5QSwgMCwgNjQsICB9IH0sCS8qIDI6CTQwMAkJ NiAgICovCisJeyAuYnh0ID0geyAxNTQsIDB4OUEsIDAsIDQzLCAgfSB9LAkvKiAzOgk0MDAJCTku NSAqLworCXsgLmJ4dCA9IHsgNzcsICAweDlBLCAwLCAxMjgsIH0gfSwJLyogNDoJNjAwCQkwICAg Ki8KKwl7IC5ieHQgPSB7IDExNiwgMHg5QSwgMCwgODUsICB9IH0sCS8qIDU6CTYwMAkJMy41ICov CisJeyAuYnh0ID0geyAxNTQsIDB4OUEsIDAsIDY0LCAgfSB9LAkvKiA2Ogk2MDAJCTYgICAqLwor CXsgLmJ4dCA9IHsgMTAyLCAweDlBLCAwLCAxMjgsIH0gfSwJLyogNzoJODAwCQkwICAgKi8KKwl7 IC5ieHQgPSB7IDE1NCwgMHg5QSwgMCwgODUsICB9IH0sCS8qIDg6CTgwMAkJMy41ICovCisJeyAu Ynh0ID0geyAxNTQsIDB4OUEsIDEsIDEyOCwgfSB9LAkvKiA5OgkxMjAwCQkwICAgKi8KIH07CiAK LXN0YXRpYyBjb25zdCBzdHJ1Y3QgYnh0X2RkaV9idWZfdHJhbnMgYnh0X2RkaV90cmFuc2xhdGlv bnNfZWRwW10gPSB7CitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRy eSBieHRfZGRpX3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKIAkJCQkJLyogSWR4CU5UIG1WIGRpZmYJ ZGIgICovCi0JeyAyNiwgMCwgMCwgMTI4LCB9LAkvKiAwOgkyMDAJCTAgICAqLwotCXsgMzgsIDAs IDAsIDExMiwgfSwJLyogMToJMjAwCQkxLjUgKi8KLQl7IDQ4LCAwLCAwLCA5NiwgIH0sCS8qIDI6 CTIwMAkJNCAgICovCi0JeyA1NCwgMCwgMCwgNjksICB9LAkvKiAzOgkyMDAJCTYgICAqLwotCXsg MzIsIDAsIDAsIDEyOCwgfSwJLyogNDoJMjUwCQkwICAgKi8KLQl7IDQ4LCAwLCAwLCAxMDQsIH0s CS8qIDU6CTI1MAkJMS41ICovCi0JeyA1NCwgMCwgMCwgODUsICB9LAkvKiA2OgkyNTAJCTQgICAq LwotCXsgNDMsIDAsIDAsIDEyOCwgfSwJLyogNzoJMzAwCQkwICAgKi8KLQl7IDU0LCAwLCAwLCAx MDEsIH0sCS8qIDg6CTMwMAkJMS41ICovCi0JeyA0OCwgMCwgMCwgMTI4LCB9LAkvKiA5OgkzMDAJ CTAgICAqLworCXsgLmJ4dCA9IHsgMjYsIDAsIDAsIDEyOCwgfSB9LAkvKiAwOgkyMDAJCTAgICAq LworCXsgLmJ4dCA9IHsgMzgsIDAsIDAsIDExMiwgfSB9LAkvKiAxOgkyMDAJCTEuNSAqLworCXsg LmJ4dCA9IHsgNDgsIDAsIDAsIDk2LCAgfSB9LAkvKiAyOgkyMDAJCTQgICAqLworCXsgLmJ4dCA9 IHsgNTQsIDAsIDAsIDY5LCAgfSB9LAkvKiAzOgkyMDAJCTYgICAqLworCXsgLmJ4dCA9IHsgMzIs IDAsIDAsIDEyOCwgfSB9LAkvKiA0OgkyNTAJCTAgICAqLworCXsgLmJ4dCA9IHsgNDgsIDAsIDAs IDEwNCwgfSB9LAkvKiA1OgkyNTAJCTEuNSAqLworCXsgLmJ4dCA9IHsgNTQsIDAsIDAsIDg1LCAg fSB9LAkvKiA2OgkyNTAJCTQgICAqLworCXsgLmJ4dCA9IHsgNDMsIDAsIDAsIDEyOCwgfSB9LAkv KiA3OgkzMDAJCTAgICAqLworCXsgLmJ4dCA9IHsgNTQsIDAsIDAsIDEwMSwgfSB9LAkvKiA4Ogkz MDAJCTEuNSAqLworCXsgLmJ4dCA9IHsgNDgsIDAsIDAsIDEyOCwgfSB9LAkvKiA5OgkzMDAJCTAg ICAqLwogfTsKIAogLyogQlNwZWMgaGFzIDIgcmVjb21tZW5kZWQgdmFsdWVzIC0gZW50cmllcyAw IGFuZCA4LgogICogVXNpbmcgdGhlIGVudHJ5IHdpdGggaGlnaGVyIHZzd2luZy4KICAqLwotc3Rh dGljIGNvbnN0IHN0cnVjdCBieHRfZGRpX2J1Zl90cmFucyBieHRfZGRpX3RyYW5zbGF0aW9uc19o ZG1pW10gPSB7Ci0JCQkJCS8qIElkeAlOVCBtViBkaWZmCWRiICAqLwotCXsgNTIsICAweDlBLCAw LCAxMjgsIH0sCS8qIDA6CTQwMAkJMCAgICovCi0JeyA1MiwgIDB4OUEsIDAsIDg1LCAgfSwJLyog MToJNDAwCQkzLjUgKi8KLQl7IDUyLCAgMHg5QSwgMCwgNjQsICB9LAkvKiAyOgk0MDAJCTYgICAq LwotCXsgNDIsICAweDlBLCAwLCA0MywgIH0sCS8qIDM6CTQwMAkJOS41ICovCi0JeyA3NywgIDB4 OUEsIDAsIDEyOCwgfSwJLyogNDoJNjAwCQkwICAgKi8KLQl7IDc3LCAgMHg5QSwgMCwgODUsICB9 LAkvKiA1Ogk2MDAJCTMuNSAqLwotCXsgNzcsICAweDlBLCAwLCA2NCwgIH0sCS8qIDY6CTYwMAkJ NiAgICovCi0JeyAxMDIsIDB4OUEsIDAsIDEyOCwgfSwJLyogNzoJODAwCQkwICAgKi8KLQl7IDEw MiwgMHg5QSwgMCwgODUsICB9LAkvKiA4Ogk4MDAJCTMuNSAqLwotCXsgMTU0LCAweDlBLCAxLCAx MjgsIH0sCS8qIDk6CTEyMDAJCTAgICAqLworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9i dWZfdHJhbnNfZW50cnkgYnh0X2RkaV90cmFuc2xhdGlvbnNfaGRtaVtdID0geworCQkJCQkJLyog SWR4CU5UIG1WIGRpZmYJZGIgICovCisJeyAuYnh0ID0geyA1MiwgIDB4OUEsIDAsIDEyOCwgfSB9 LAkvKiAwOgk0MDAJCTAgICAqLworCXsgLmJ4dCA9IHsgNTIsICAweDlBLCAwLCA4NSwgIH0gfSwJ LyogMToJNDAwCQkzLjUgKi8KKwl7IC5ieHQgPSB7IDUyLCAgMHg5QSwgMCwgNjQsICB9IH0sCS8q IDI6CTQwMAkJNiAgICovCisJeyAuYnh0ID0geyA0MiwgIDB4OUEsIDAsIDQzLCAgfSB9LAkvKiAz Ogk0MDAJCTkuNSAqLworCXsgLmJ4dCA9IHsgNzcsICAweDlBLCAwLCAxMjgsIH0gfSwJLyogNDoJ NjAwCQkwICAgKi8KKwl7IC5ieHQgPSB7IDc3LCAgMHg5QSwgMCwgODUsICB9IH0sCS8qIDU6CTYw MAkJMy41ICovCisJeyAuYnh0ID0geyA3NywgIDB4OUEsIDAsIDY0LCAgfSB9LAkvKiA2Ogk2MDAJ CTYgICAqLworCXsgLmJ4dCA9IHsgMTAyLCAweDlBLCAwLCAxMjgsIH0gfSwJLyogNzoJODAwCQkw ICAgKi8KKwl7IC5ieHQgPSB7IDEwMiwgMHg5QSwgMCwgODUsICB9IH0sCS8qIDg6CTgwMAkJMy41 ICovCisJeyAuYnh0ID0geyAxNTQsIDB4OUEsIDEsIDEyOCwgfSB9LAkvKiA5OgkxMjAwCQkwICAg Ki8KIH07CiAKIC8qIFZvbHRhZ2UgU3dpbmcgUHJvZ3JhbW1pbmcgZm9yIFZjY0lPIDAuODVWIGZv ciBEUCAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBjbmxfZGRpX3Ry YW5zbGF0aW9uc19kcF8wXzg1VltdID0gewotCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAg Ki8KLQl7IDB4QSwgMHg1RCwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAzNTAgICAzNTAgICAgICAw LjAgICAqLwotCXsgMHhBLCAweDZBLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDM1MCAgIDUwMCAg ICAgIDMuMSAgICovCi0JeyAweEIsIDB4N0EsIDB4MzIsIDB4MDAsIDB4MEQgfSwJLyogMzUwICAg NzAwICAgICAgNi4wICAgKi8KLQl7IDB4NiwgMHg3QywgMHgyRCwgMHgwMCwgMHgxMiB9LAkvKiAz NTAgICA5MDAgICAgICA4LjIgICAqLwotCXsgMHhBLCAweDY5LCAweDNGLCAweDAwLCAweDAwIH0s CS8qIDUwMCAgIDUwMCAgICAgIDAuMCAgICovCi0JeyAweEIsIDB4N0EsIDB4MzYsIDB4MDAsIDB4 MDkgfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KLQl7IDB4NiwgMHg3QywgMHgzMCwgMHgw MCwgMHgwRiB9LAkvKiA1MDAgICA5MDAgICAgICA1LjEgICAqLwotCXsgMHhCLCAweDdELCAweDND LCAweDAwLCAweDAzIH0sCS8qIDY1MCAgIDcyNSAgICAgIDAuOSAgICovCi0JeyAweDYsIDB4N0Ms IDB4MzQsIDB4MDAsIDB4MEIgfSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KLQl7IDB4Niwg MHg3QiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLworc3Rh dGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgY25sX2RkaV90cmFuc2xh dGlvbnNfZHBfMF84NVZbXSA9IHsKKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwor CXsgLmNubCA9IHsgMHhBLCAweDVELCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMzUwICAgMzUw ICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg2QSwgMHgzOCwgMHgwMCwgMHgwNyB9 IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCisJeyAuY25sID0geyAweEIsIDB4N0EsIDB4 MzIsIDB4MDAsIDB4MEQgfSB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLworCXsgLmNubCA9 IHsgMHg2LCAweDdDLCAweDJELCAweDAwLCAweDEyIH0gfSwJLyogMzUwICAgOTAwICAgICAgOC4y ICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg2OSwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDUw MCAgIDUwMCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEIsIDB4N0EsIDB4MzYsIDB4MDAs IDB4MDkgfSB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLworCXsgLmNubCA9IHsgMHg2LCAw eDdDLCAweDMwLCAweDAwLCAweDBGIH0gfSwJLyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KKwl7 IC5jbmwgPSB7IDB4QiwgMHg3RCwgMHgzQywgMHgwMCwgMHgwMyB9IH0sCS8qIDY1MCAgIDcyNSAg ICAgIDAuOSAgICovCisJeyAuY25sID0geyAweDYsIDB4N0MsIDB4MzQsIDB4MDAsIDB4MEIgfSB9 LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdCLCAweDNG LCAweDAwLCAweDAwIH0gfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KIH07CiAKIC8qIFZv bHRhZ2UgU3dpbmcgUHJvZ3JhbW1pbmcgZm9yIFZjY0lPIDAuODVWIGZvciBIRE1JICovCi1zdGF0 aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIGNubF9kZGlfdHJhbnNsYXRpb25zX2hk bWlfMF84NVZbXSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCi0JeyAweEEs IDB4NjAsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNDUwICAgNDUwICAgICAgMC4wICAgKi8KLQl7 IDB4QiwgMHg3MywgMHgzNiwgMHgwMCwgMHgwOSB9LAkvKiA0NTAgICA2NTAgICAgICAzLjIgICAq LwotCXsgMHg2LCAweDdGLCAweDMxLCAweDAwLCAweDBFIH0sCS8qIDQ1MCAgIDg1MCAgICAgIDUu NSAgICovCi0JeyAweEIsIDB4NzMsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNjUwICAgNjUwICAg ICAgMC4wICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzNywgMHgwMCwgMHgwOCB9LAkvKiA2NTAgICA4 NTAgICAgICAyLjMgICAqLwotCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDg1 MCAgIDg1MCAgICAgIDAuMCAgICovCi0JeyAweDYsIDB4N0YsIDB4MzUsIDB4MDAsIDB4MEEgfSwJ LyogNjAwICAgODUwICAgICAgMy4wICAgKi8KK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlf YnVmX3RyYW5zX2VudHJ5IGNubF9kZGlfdHJhbnNsYXRpb25zX2hkbWlfMF84NVZbXSA9IHsKKwkJ CQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDYwLCAw eDNGLCAweDAwLCAweDAwIH0gfSwJLyogNDUwICAgNDUwICAgICAgMC4wICAgKi8KKwl7IC5jbmwg PSB7IDB4QiwgMHg3MywgMHgzNiwgMHgwMCwgMHgwOSB9IH0sCS8qIDQ1MCAgIDY1MCAgICAgIDMu MiAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MzEsIDB4MDAsIDB4MEUgfSB9LAkvKiA0 NTAgICA4NTAgICAgICA1LjUgICAqLworCXsgLmNubCA9IHsgMHhCLCAweDczLCAweDNGLCAweDAw LCAweDAwIH0gfSwJLyogNjUwICAgNjUwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4Niwg MHg3RiwgMHgzNywgMHgwMCwgMHgwOCB9IH0sCS8qIDY1MCAgIDg1MCAgICAgIDIuMyAgICovCisJ eyAuY25sID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA4NTAgICA4NTAg ICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDM1LCAweDAwLCAweDBBIH0g fSwJLyogNjAwICAgODUwICAgICAgMy4wICAgKi8KIH07CiAKIC8qIFZvbHRhZ2UgU3dpbmcgUHJv Z3JhbW1pbmcgZm9yIFZjY0lPIDAuODVWIGZvciBlRFAgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3Qg Y25sX2RkaV9idWZfdHJhbnMgY25sX2RkaV90cmFuc2xhdGlvbnNfZWRwXzBfODVWW10gPSB7Ci0J CQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwotCXsgMHhBLCAweDY2LCAweDNBLCAweDAw LCAweDA1IH0sCS8qIDM4NCAgIDUwMCAgICAgIDIuMyAgICovCi0JeyAweDAsIDB4N0YsIDB4Mzgs IDB4MDAsIDB4MDcgfSwJLyogMTUzICAgMjAwICAgICAgMi4zICAgKi8KLQl7IDB4OCwgMHg3Riwg MHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAxOTIgICAyNTAgICAgICAyLjMgICAqLwotCXsgMHgxLCAw eDdGLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDIzMCAgIDMwMCAgICAgIDIuMyAgICovCi0JeyAw eDksIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSwJLyogMjY5ICAgMzUwICAgICAgMi4zICAgKi8K LQl7IDB4QSwgMHg2NiwgMHgzQywgMHgwMCwgMHgwMyB9LAkvKiA0NDYgICA1MDAgICAgICAxLjAg ICAqLwotCXsgMHhCLCAweDcwLCAweDNDLCAweDAwLCAweDAzIH0sCS8qIDQ2MCAgIDYwMCAgICAg IDIuMyAgICovCi0JeyAweEMsIDB4NzUsIDB4M0MsIDB4MDAsIDB4MDMgfSwJLyogNTM3ICAgNzAw ICAgICAgMi4zICAgKi8KLQl7IDB4MiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA0MDAg ICA0MDAgICAgICAwLjAgICAqLworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJh bnNfZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNfZWRwXzBfODVWW10gPSB7CisJCQkJCQkJLyog TlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg2NiwgMHgzQSwgMHgw MCwgMHgwNSB9IH0sCS8qIDM4NCAgIDUwMCAgICAgIDIuMyAgICovCisJeyAuY25sID0geyAweDAs IDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAxNTMgICAyMDAgICAgICAyLjMgICAqLwor CXsgLmNubCA9IHsgMHg4LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0gfSwJLyogMTkyICAgMjUw ICAgICAgMi4zICAgKi8KKwl7IC5jbmwgPSB7IDB4MSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9 IH0sCS8qIDIzMCAgIDMwMCAgICAgIDIuMyAgICovCisJeyAuY25sID0geyAweDksIDB4N0YsIDB4 MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAyNjkgICAzNTAgICAgICAyLjMgICAqLworCXsgLmNubCA9 IHsgMHhBLCAweDY2LCAweDNDLCAweDAwLCAweDAzIH0gfSwJLyogNDQ2ICAgNTAwICAgICAgMS4w ICAgKi8KKwl7IC5jbmwgPSB7IDB4QiwgMHg3MCwgMHgzQywgMHgwMCwgMHgwMyB9IH0sCS8qIDQ2 MCAgIDYwMCAgICAgIDIuMyAgICovCisJeyAuY25sID0geyAweEMsIDB4NzUsIDB4M0MsIDB4MDAs IDB4MDMgfSB9LAkvKiA1MzcgICA3MDAgICAgICAyLjMgICAqLworCXsgLmNubCA9IHsgMHgyLCAw eDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNDAwICAgNDAwICAgICAgMC4wICAgKi8KIH07 CiAKIC8qIFZvbHRhZ2UgU3dpbmcgUHJvZ3JhbW1pbmcgZm9yIFZjY0lPIDAuOTVWIGZvciBEUCAq Lwotc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBjbmxfZGRpX3RyYW5zbGF0 aW9uc19kcF8wXzk1VltdID0gewotCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KLQl7 IDB4QSwgMHg1RCwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAq LwotCXsgMHhBLCAweDZBLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMu MSAgICovCi0JeyAweEIsIDB4N0EsIDB4MzIsIDB4MDAsIDB4MEQgfSwJLyogMzUwICAgNzAwICAg ICAgNi4wICAgKi8KLQl7IDB4NiwgMHg3QywgMHgyRCwgMHgwMCwgMHgxMiB9LAkvKiAzNTAgICA5 MDAgICAgICA4LjIgICAqLwotCXsgMHhBLCAweDY5LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDUw MCAgIDUwMCAgICAgIDAuMCAgICovCi0JeyAweEIsIDB4N0EsIDB4MzYsIDB4MDAsIDB4MDkgfSwJ LyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KLQl7IDB4NiwgMHg3QywgMHgzMCwgMHgwMCwgMHgw RiB9LAkvKiA1MDAgICA5MDAgICAgICA1LjEgICAqLwotCXsgMHhCLCAweDdELCAweDNDLCAweDAw LCAweDAzIH0sCS8qIDY1MCAgIDcyNSAgICAgIDAuOSAgICovCi0JeyAweDYsIDB4N0MsIDB4MzQs IDB4MDAsIDB4MEIgfSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KLQl7IDB4NiwgMHg3Qiwg MHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLworc3RhdGljIGNv bnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNf ZHBfMF85NVZbXSA9IHsKKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLworCXsgLmNu bCA9IHsgMHhBLCAweDVELCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMzUwICAgMzUwICAgICAg MC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg2QSwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8q IDM1MCAgIDUwMCAgICAgIDMuMSAgICovCisJeyAuY25sID0geyAweEIsIDB4N0EsIDB4MzIsIDB4 MDAsIDB4MEQgfSB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLworCXsgLmNubCA9IHsgMHg2 LCAweDdDLCAweDJELCAweDAwLCAweDEyIH0gfSwJLyogMzUwICAgOTAwICAgICAgOC4yICAgKi8K Kwl7IC5jbmwgPSB7IDB4QSwgMHg2OSwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDUwMCAgIDUw MCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEIsIDB4N0EsIDB4MzYsIDB4MDAsIDB4MDkg fSB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdDLCAw eDMwLCAweDAwLCAweDBGIH0gfSwJLyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KKwl7IC5jbmwg PSB7IDB4QiwgMHg3RCwgMHgzQywgMHgwMCwgMHgwMyB9IH0sCS8qIDY1MCAgIDcyNSAgICAgIDAu OSAgICovCisJeyAuY25sID0geyAweDYsIDB4N0MsIDB4MzQsIDB4MDAsIDB4MEIgfSB9LAkvKiA2 MDAgICA5MDAgICAgICAzLjUgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdCLCAweDNGLCAweDAw LCAweDAwIH0gfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KIH07CiAKIC8qIFZvbHRhZ2Ug U3dpbmcgUHJvZ3JhbW1pbmcgZm9yIFZjY0lPIDAuOTVWIGZvciBIRE1JICovCi1zdGF0aWMgY29u c3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIGNubF9kZGlfdHJhbnNsYXRpb25zX2hkbWlfMF85 NVZbXSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCi0JeyAweEEsIDB4NUMs IDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNDAwICAgNDAwICAgICAgMC4wICAgKi8KLQl7IDB4Qiwg MHg2OSwgMHgzNywgMHgwMCwgMHgwOCB9LAkvKiA0MDAgICA2MDAgICAgICAzLjUgICAqLwotCXsg MHg1LCAweDc2LCAweDMxLCAweDAwLCAweDBFIH0sCS8qIDQwMCAgIDgwMCAgICAgIDYuMCAgICov Ci0JeyAweEEsIDB4NUUsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNDUwICAgNDUwICAgICAgMC4w ICAgKi8KLQl7IDB4QiwgMHg2OSwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA2MDAgICA2MDAgICAg ICAwLjAgICAqLwotCXsgMHhCLCAweDc5LCAweDM1LCAweDAwLCAweDBBIH0sCS8qIDYwMCAgIDg1 MCAgICAgIDMuMCAgICovCi0JeyAweDYsIDB4N0QsIDB4MzIsIDB4MDAsIDB4MEQgfSwJLyogNjAw ICAgMTAwMCAgICAgNC40ICAgKi8KLQl7IDB4NSwgMHg3NiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkv KiA4MDAgICA4MDAgICAgICAwLjAgICAqLwotCXsgMHg2LCAweDdELCAweDM5LCAweDAwLCAweDA2 IH0sCS8qIDgwMCAgIDEwMDAgICAgIDEuOSAgICovCi0JeyAweDYsIDB4N0YsIDB4MzksIDB4MDAs IDB4MDYgfSwJLyogODUwICAgMTA1MCAgICAgMS44ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzRiwg MHgwMCwgMHgwMCB9LAkvKiAxMDUwICAxMDUwICAgICAwLjAgICAqLworc3RhdGljIGNvbnN0IHVu aW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNfaGRtaV8w Xzk1VltdID0geworCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCisJeyAuY25sID0g eyAweEEsIDB4NUMsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA0MDAgICA0MDAgICAgICAwLjAg ICAqLworCXsgLmNubCA9IHsgMHhCLCAweDY5LCAweDM3LCAweDAwLCAweDA4IH0gfSwJLyogNDAw ICAgNjAwICAgICAgMy41ICAgKi8KKwl7IC5jbmwgPSB7IDB4NSwgMHg3NiwgMHgzMSwgMHgwMCwg MHgwRSB9IH0sCS8qIDQwMCAgIDgwMCAgICAgIDYuMCAgICovCisJeyAuY25sID0geyAweEEsIDB4 NUUsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA0NTAgICA0NTAgICAgICAwLjAgICAqLworCXsg LmNubCA9IHsgMHhCLCAweDY5LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNjAwICAgNjAwICAg ICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QiwgMHg3OSwgMHgzNSwgMHgwMCwgMHgwQSB9IH0s CS8qIDYwMCAgIDg1MCAgICAgIDMuMCAgICovCisJeyAuY25sID0geyAweDYsIDB4N0QsIDB4MzIs IDB4MDAsIDB4MEQgfSB9LAkvKiA2MDAgICAxMDAwICAgICA0LjQgICAqLworCXsgLmNubCA9IHsg MHg1LCAweDc2LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogODAwICAgODAwICAgICAgMC4wICAg Ki8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RCwgMHgzOSwgMHgwMCwgMHgwNiB9IH0sCS8qIDgwMCAg IDEwMDAgICAgIDEuOSAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MzksIDB4MDAsIDB4 MDYgfSB9LAkvKiA4NTAgICAxMDUwICAgICAxLjggICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdG LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMTA1MCAgMTA1MCAgICAgMC4wICAgKi8KIH07CiAK IC8qIFZvbHRhZ2UgU3dpbmcgUHJvZ3JhbW1pbmcgZm9yIFZjY0lPIDAuOTVWIGZvciBlRFAgKi8K LXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgY25sX2RkaV90cmFuc2xhdGlv bnNfZWRwXzBfOTVWW10gPSB7Ci0JCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwotCXsg MHhBLCAweDYxLCAweDNBLCAweDAwLCAweDA1IH0sCS8qIDM4NCAgIDUwMCAgICAgIDIuMyAgICov Ci0JeyAweDAsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSwJLyogMTUzICAgMjAwICAgICAgMi4z ICAgKi8KLQl7IDB4OCwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAxOTIgICAyNTAgICAg ICAyLjMgICAqLwotCXsgMHgxLCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDIzMCAgIDMw MCAgICAgIDIuMyAgICovCi0JeyAweDksIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSwJLyogMjY5 ICAgMzUwICAgICAgMi4zICAgKi8KLQl7IDB4QSwgMHg2MSwgMHgzQywgMHgwMCwgMHgwMyB9LAkv KiA0NDYgICA1MDAgICAgICAxLjAgICAqLwotCXsgMHhCLCAweDY4LCAweDM5LCAweDAwLCAweDA2 IH0sCS8qIDQ2MCAgIDYwMCAgICAgIDIuMyAgICovCi0JeyAweEMsIDB4NkUsIDB4MzksIDB4MDAs IDB4MDYgfSwJLyogNTM3ICAgNzAwICAgICAgMi4zICAgKi8KLQl7IDB4NCwgMHg3RiwgMHgzQSwg MHgwMCwgMHgwNSB9LAkvKiA0NjAgICA2MDAgICAgICAyLjMgICAqLwotCXsgMHgyLCAweDdGLCAw eDNGLCAweDAwLCAweDAwIH0sCS8qIDQwMCAgIDQwMCAgICAgIDAuMCAgICovCitzdGF0aWMgY29u c3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBjbmxfZGRpX3RyYW5zbGF0aW9uc19l ZHBfMF85NVZbXSA9IHsKKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLworCXsgLmNu bCA9IHsgMHhBLCAweDYxLCAweDNBLCAweDAwLCAweDA1IH0gfSwJLyogMzg0ICAgNTAwICAgICAg Mi4zICAgKi8KKwl7IC5jbmwgPSB7IDB4MCwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8q IDE1MyAgIDIwMCAgICAgIDIuMyAgICovCisJeyAuY25sID0geyAweDgsIDB4N0YsIDB4MzgsIDB4 MDAsIDB4MDcgfSB9LAkvKiAxOTIgICAyNTAgICAgICAyLjMgICAqLworCXsgLmNubCA9IHsgMHgx LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0gfSwJLyogMjMwICAgMzAwICAgICAgMi4zICAgKi8K Kwl7IC5jbmwgPSB7IDB4OSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8qIDI2OSAgIDM1 MCAgICAgIDIuMyAgICovCisJeyAuY25sID0geyAweEEsIDB4NjEsIDB4M0MsIDB4MDAsIDB4MDMg fSB9LAkvKiA0NDYgICA1MDAgICAgICAxLjAgICAqLworCXsgLmNubCA9IHsgMHhCLCAweDY4LCAw eDM5LCAweDAwLCAweDA2IH0gfSwJLyogNDYwICAgNjAwICAgICAgMi4zICAgKi8KKwl7IC5jbmwg PSB7IDB4QywgMHg2RSwgMHgzOSwgMHgwMCwgMHgwNiB9IH0sCS8qIDUzNyAgIDcwMCAgICAgIDIu MyAgICovCisJeyAuY25sID0geyAweDQsIDB4N0YsIDB4M0EsIDB4MDAsIDB4MDUgfSB9LAkvKiA0 NjAgICA2MDAgICAgICAyLjMgICAqLworCXsgLmNubCA9IHsgMHgyLCAweDdGLCAweDNGLCAweDAw LCAweDAwIH0gfSwJLyogNDAwICAgNDAwICAgICAgMC4wICAgKi8KIH07CiAKIC8qIFZvbHRhZ2Ug U3dpbmcgUHJvZ3JhbW1pbmcgZm9yIFZjY0lPIDEuMDVWIGZvciBEUCAqLwotc3RhdGljIGNvbnN0 IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBjbmxfZGRpX3RyYW5zbGF0aW9uc19kcF8xXzA1Vltd ID0gewotCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KLQl7IDB4QSwgMHg1OCwgMHgz RiwgMHgwMCwgMHgwMCB9LAkvKiA0MDAgICA0MDAgICAgICAwLjAgICAqLwotCXsgMHhCLCAweDY0 LCAweDM3LCAweDAwLCAweDA4IH0sCS8qIDQwMCAgIDYwMCAgICAgIDMuNSAgICovCi0JeyAweDUs IDB4NzAsIDB4MzEsIDB4MDAsIDB4MEUgfSwJLyogNDAwICAgODAwICAgICAgNi4wICAgKi8KLQl7 IDB4NiwgMHg3RiwgMHgyQywgMHgwMCwgMHgxMyB9LAkvKiA0MDAgICAxMDUwICAgICA4LjQgICAq LwotCXsgMHhCLCAweDY0LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDYwMCAgIDYwMCAgICAgIDAu MCAgICovCi0JeyAweDUsIDB4NzMsIDB4MzUsIDB4MDAsIDB4MEEgfSwJLyogNjAwICAgODUwICAg ICAgMy4wICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzMCwgMHgwMCwgMHgwRiB9LAkvKiA1NTAgICAx MDUwICAgICA1LjYgICAqLwotCXsgMHg1LCAweDc2LCAweDNFLCAweDAwLCAweDAxIH0sCS8qIDg1 MCAgIDkwMCAgICAgIDAuNSAgICovCi0JeyAweDYsIDB4N0YsIDB4MzYsIDB4MDAsIDB4MDkgfSwJ LyogNzUwICAgMTA1MCAgICAgMi45ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgw MCB9LAkvKiAxMDUwICAxMDUwICAgICAwLjAgICAqLworc3RhdGljIGNvbnN0IHVuaW9uIGludGVs X2RkaV9idWZfdHJhbnNfZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNfZHBfMV8wNVZbXSA9IHsK KwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDU4 LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNDAwICAgNDAwICAgICAgMC4wICAgKi8KKwl7IC5j bmwgPSB7IDB4QiwgMHg2NCwgMHgzNywgMHgwMCwgMHgwOCB9IH0sCS8qIDQwMCAgIDYwMCAgICAg IDMuNSAgICovCisJeyAuY25sID0geyAweDUsIDB4NzAsIDB4MzEsIDB4MDAsIDB4MEUgfSB9LAkv KiA0MDAgICA4MDAgICAgICA2LjAgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDJDLCAw eDAwLCAweDEzIH0gfSwJLyogNDAwICAgMTA1MCAgICAgOC40ICAgKi8KKwl7IC5jbmwgPSB7IDB4 QiwgMHg2NCwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDYwMCAgIDYwMCAgICAgIDAuMCAgICov CisJeyAuY25sID0geyAweDUsIDB4NzMsIDB4MzUsIDB4MDAsIDB4MEEgfSB9LAkvKiA2MDAgICA4 NTAgICAgICAzLjAgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDMwLCAweDAwLCAweDBG IH0gfSwJLyogNTUwICAgMTA1MCAgICAgNS42ICAgKi8KKwl7IC5jbmwgPSB7IDB4NSwgMHg3Niwg MHgzRSwgMHgwMCwgMHgwMSB9IH0sCS8qIDg1MCAgIDkwMCAgICAgIDAuNSAgICovCisJeyAuY25s ID0geyAweDYsIDB4N0YsIDB4MzYsIDB4MDAsIDB4MDkgfSB9LAkvKiA3NTAgICAxMDUwICAgICAy LjkgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyog MTA1MCAgMTA1MCAgICAgMC4wICAgKi8KIH07CiAKIC8qIFZvbHRhZ2UgU3dpbmcgUHJvZ3JhbW1p bmcgZm9yIFZjY0lPIDEuMDVWIGZvciBIRE1JICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9k ZGlfYnVmX3RyYW5zIGNubF9kZGlfdHJhbnNsYXRpb25zX2hkbWlfMV8wNVZbXSA9IHsKLQkJCQkJ CS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCi0JeyAweEEsIDB4NTgsIDB4M0YsIDB4MDAsIDB4 MDAgfSwJLyogNDAwICAgNDAwICAgICAgMC4wICAgKi8KLQl7IDB4QiwgMHg2NCwgMHgzNywgMHgw MCwgMHgwOCB9LAkvKiA0MDAgICA2MDAgICAgICAzLjUgICAqLwotCXsgMHg1LCAweDcwLCAweDMx LCAweDAwLCAweDBFIH0sCS8qIDQwMCAgIDgwMCAgICAgIDYuMCAgICovCi0JeyAweEEsIDB4NUIs IDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNDUwICAgNDUwICAgICAgMC4wICAgKi8KLQl7IDB4Qiwg MHg2NCwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA2MDAgICA2MDAgICAgICAwLjAgICAqLwotCXsg MHg1LCAweDczLCAweDM1LCAweDAwLCAweDBBIH0sCS8qIDYwMCAgIDg1MCAgICAgIDMuMCAgICov Ci0JeyAweDYsIDB4N0MsIDB4MzIsIDB4MDAsIDB4MEQgfSwJLyogNjAwICAgMTAwMCAgICAgNC40 ICAgKi8KLQl7IDB4NSwgMHg3MCwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA4MDAgICA4MDAgICAg ICAwLjAgICAqLwotCXsgMHg2LCAweDdDLCAweDM5LCAweDAwLCAweDA2IH0sCS8qIDgwMCAgIDEw MDAgICAgIDEuOSAgICovCi0JeyAweDYsIDB4N0YsIDB4MzksIDB4MDAsIDB4MDYgfSwJLyogODUw ICAgMTA1MCAgICAgMS44ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkv KiAxMDUwICAxMDUwICAgICAwLjAgICAqLworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9i dWZfdHJhbnNfZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNfaGRtaV8xXzA1VltdID0geworCQkJ CQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCisJeyAuY25sID0geyAweEEsIDB4NTgsIDB4 M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA0MDAgICA0MDAgICAgICAwLjAgICAqLworCXsgLmNubCA9 IHsgMHhCLCAweDY0LCAweDM3LCAweDAwLCAweDA4IH0gfSwJLyogNDAwICAgNjAwICAgICAgMy41 ICAgKi8KKwl7IC5jbmwgPSB7IDB4NSwgMHg3MCwgMHgzMSwgMHgwMCwgMHgwRSB9IH0sCS8qIDQw MCAgIDgwMCAgICAgIDYuMCAgICovCisJeyAuY25sID0geyAweEEsIDB4NUIsIDB4M0YsIDB4MDAs IDB4MDAgfSB9LAkvKiA0NTAgICA0NTAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhCLCAw eDY0LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNjAwICAgNjAwICAgICAgMC4wICAgKi8KKwl7 IC5jbmwgPSB7IDB4NSwgMHg3MywgMHgzNSwgMHgwMCwgMHgwQSB9IH0sCS8qIDYwMCAgIDg1MCAg ICAgIDMuMCAgICovCisJeyAuY25sID0geyAweDYsIDB4N0MsIDB4MzIsIDB4MDAsIDB4MEQgfSB9 LAkvKiA2MDAgICAxMDAwICAgICA0LjQgICAqLworCXsgLmNubCA9IHsgMHg1LCAweDcwLCAweDNG LCAweDAwLCAweDAwIH0gfSwJLyogODAwICAgODAwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7 IDB4NiwgMHg3QywgMHgzOSwgMHgwMCwgMHgwNiB9IH0sCS8qIDgwMCAgIDEwMDAgICAgIDEuOSAg ICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MzksIDB4MDAsIDB4MDYgfSB9LAkvKiA4NTAg ICAxMDUwICAgICAxLjggICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAw eDAwIH0gfSwJLyogMTA1MCAgMTA1MCAgICAgMC4wICAgKi8KIH07CiAKIC8qIFZvbHRhZ2UgU3dp bmcgUHJvZ3JhbW1pbmcgZm9yIFZjY0lPIDEuMDVWIGZvciBlRFAgKi8KLXN0YXRpYyBjb25zdCBz dHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgY25sX2RkaV90cmFuc2xhdGlvbnNfZWRwXzFfMDVWW10g PSB7Ci0JCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwotCXsgMHhBLCAweDVFLCAweDNB LCAweDAwLCAweDA1IH0sCS8qIDM4NCAgIDUwMCAgICAgIDIuMyAgICovCi0JeyAweDAsIDB4N0Ys IDB4MzgsIDB4MDAsIDB4MDcgfSwJLyogMTUzICAgMjAwICAgICAgMi4zICAgKi8KLQl7IDB4OCwg MHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAxOTIgICAyNTAgICAgICAyLjMgICAqLwotCXsg MHgxLCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDIzMCAgIDMwMCAgICAgIDIuMyAgICov Ci0JeyAweDksIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSwJLyogMjY5ICAgMzUwICAgICAgMi4z ICAgKi8KLQl7IDB4QSwgMHg1RSwgMHgzQywgMHgwMCwgMHgwMyB9LAkvKiA0NDYgICA1MDAgICAg ICAxLjAgICAqLwotCXsgMHhCLCAweDY0LCAweDM5LCAweDAwLCAweDA2IH0sCS8qIDQ2MCAgIDYw MCAgICAgIDIuMyAgICovCi0JeyAweEUsIDB4NkEsIDB4MzksIDB4MDAsIDB4MDYgfSwJLyogNTM3 ICAgNzAwICAgICAgMi4zICAgKi8KLQl7IDB4MiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkv KiA0MDAgICA0MDAgICAgICAwLjAgICAqLworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9i dWZfdHJhbnNfZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNfZWRwXzFfMDVWW10gPSB7CisJCQkJ CQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg1RSwgMHgz QSwgMHgwMCwgMHgwNSB9IH0sCS8qIDM4NCAgIDUwMCAgICAgIDIuMyAgICovCisJeyAuY25sID0g eyAweDAsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAxNTMgICAyMDAgICAgICAyLjMg ICAqLworCXsgLmNubCA9IHsgMHg4LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0gfSwJLyogMTky ICAgMjUwICAgICAgMi4zICAgKi8KKwl7IC5jbmwgPSB7IDB4MSwgMHg3RiwgMHgzOCwgMHgwMCwg MHgwNyB9IH0sCS8qIDIzMCAgIDMwMCAgICAgIDIuMyAgICovCisJeyAuY25sID0geyAweDksIDB4 N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAyNjkgICAzNTAgICAgICAyLjMgICAqLworCXsg LmNubCA9IHsgMHhBLCAweDVFLCAweDNDLCAweDAwLCAweDAzIH0gfSwJLyogNDQ2ICAgNTAwICAg ICAgMS4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QiwgMHg2NCwgMHgzOSwgMHgwMCwgMHgwNiB9IH0s CS8qIDQ2MCAgIDYwMCAgICAgIDIuMyAgICovCisJeyAuY25sID0geyAweEUsIDB4NkEsIDB4Mzks IDB4MDAsIDB4MDYgfSB9LAkvKiA1MzcgICA3MDAgICAgICAyLjMgICAqLworCXsgLmNubCA9IHsg MHgyLCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNDAwICAgNDAwICAgICAgMC4wICAg Ki8KIH07CiAKIC8qIGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9ucyAqLwotc3RhdGljIGNv bnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlv bnNfZHBfaGJyMltdID0gewotCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KLQl7IDB4 QSwgMHgzNSwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLwot CXsgMHhBLCAweDRGLCAweDM3LCAweDAwLCAweDA4IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAg ICovCi0JeyAweEMsIDB4NzEsIDB4MkYsIDB4MDAsIDB4MTAgfSwJLyogMzUwICAgNzAwICAgICAg Ni4wICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgyQiwgMHgwMCwgMHgxNCB9LAkvKiAzNTAgICA5MDAg ICAgICA4LjIgICAqLwotCXsgMHhBLCAweDRDLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDUwMCAg IDUwMCAgICAgIDAuMCAgICovCi0JeyAweEMsIDB4NzMsIDB4MzQsIDB4MDAsIDB4MEIgfSwJLyog NTAwICAgNzAwICAgICAgMi45ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgyRiwgMHgwMCwgMHgxMCB9 LAkvKiA1MDAgICA5MDAgICAgICA1LjEgICAqLwotCXsgMHhDLCAweDZDLCAweDNDLCAweDAwLCAw eDAzIH0sCS8qIDY1MCAgIDcwMCAgICAgIDAuNiAgICovCi0JeyAweDYsIDB4N0YsIDB4MzUsIDB4 MDAsIDB4MEEgfSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgz RiwgMHgwMCwgMHgwMCB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLwotfTsKLQotc3RhdGlj IGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xh dGlvbnNfZWRwX2hicjJbXSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCi0J eyAweDAsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMjAwICAgMjAwICAgICAgMC4wICAg Ki8KLQl7IDB4OCwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAyMDAgICAyNTAgICAgICAx LjkgICAqLwotCXsgMHgxLCAweDdGLCAweDMzLCAweDAwLCAweDBDIH0sCS8qIDIwMCAgIDMwMCAg ICAgIDMuNSAgICovCi0JeyAweDksIDB4N0YsIDB4MzEsIDB4MDAsIDB4MEUgfSwJLyogMjAwICAg MzUwICAgICAgNC45ICAgKi8KLQl7IDB4OCwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAy NTAgICAyNTAgICAgICAwLjAgICAqLwotCXsgMHgxLCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0s CS8qIDI1MCAgIDMwMCAgICAgIDEuNiAgICovCi0JeyAweDksIDB4N0YsIDB4MzUsIDB4MDAsIDB4 MEEgfSwJLyogMjUwICAgMzUwICAgICAgMi45ICAgKi8KLQl7IDB4MSwgMHg3RiwgMHgzRiwgMHgw MCwgMHgwMCB9LAkvKiAzMDAgICAzMDAgICAgICAwLjAgICAqLwotCXsgMHg5LCAweDdGLCAweDM4 LCAweDAwLCAweDA3IH0sCS8qIDMwMCAgIDM1MCAgICAgIDEuMyAgICovCi0JeyAweDksIDB4N0Ys IDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KLX07Ci0KLXN0 YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgaWNsX2NvbWJvX3BoeV9kZGlfdHJh bnNsYXRpb25zX2VkcF9oYnIzW10gPSB7Ci0JCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAq LwotCXsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDM1MCAgIDM1MCAgICAgIDAu MCAgICovCi0JeyAweEEsIDB4NEYsIDB4MzcsIDB4MDAsIDB4MDggfSwJLyogMzUwICAgNTAwICAg ICAgMy4xICAgKi8KLQl7IDB4QywgMHg3MSwgMHgyRiwgMHgwMCwgMHgxMCB9LAkvKiAzNTAgICA3 MDAgICAgICA2LjAgICAqLwotCXsgMHg2LCAweDdGLCAweDJCLCAweDAwLCAweDE0IH0sCS8qIDM1 MCAgIDkwMCAgICAgIDguMiAgICovCi0JeyAweEEsIDB4NEMsIDB4M0YsIDB4MDAsIDB4MDAgfSwJ LyogNTAwICAgNTAwICAgICAgMC4wICAgKi8KLQl7IDB4QywgMHg3MywgMHgzNCwgMHgwMCwgMHgw QiB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLwotCXsgMHg2LCAweDdGLCAweDJGLCAweDAw LCAweDEwIH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCi0JeyAweEMsIDB4NkMsIDB4M0Ms IDB4MDAsIDB4MDMgfSwJLyogNjUwICAgNzAwICAgICAgMC42ICAgKi8KLQl7IDB4NiwgMHg3Riwg MHgzNSwgMHgwMCwgMHgwQSB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAqLwotCXsgMHg2LCAw eDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICovCi19Owot Ci1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIGljbF9jb21ib19waHlfZGRp X3RyYW5zbGF0aW9uc19oZG1pW10gPSB7Ci0JCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAq LwotCXsgMHhBLCAweDYwLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDQ1MCAgIDQ1MCAgICAgIDAu MCAgICovCi0JeyAweEIsIDB4NzMsIDB4MzYsIDB4MDAsIDB4MDkgfSwJLyogNDUwICAgNjUwICAg ICAgMy4yICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzMSwgMHgwMCwgMHgwRSB9LAkvKiA0NTAgICA4 NTAgICAgICA1LjUgICAqLwotCXsgMHhCLCAweDczLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDY1 MCAgIDY1MCAgICAgIDAuMCAgIEFMUyAqLwotCXsgMHg2LCAweDdGLCAweDM3LCAweDAwLCAweDA4 IH0sCS8qIDY1MCAgIDg1MCAgICAgIDIuMyAgICovCi0JeyAweDYsIDB4N0YsIDB4M0YsIDB4MDAs IDB4MDAgfSwJLyogODUwICAgODUwICAgICAgMC4wICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzNSwg MHgwMCwgMHgwQSB9LAkvKiA2MDAgICA4NTAgICAgICAzLjAgICAqLwotfTsKLQotc3RhdGljIGNv bnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBlaGxfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlv bnNfZHBbXSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCi0JeyAweEEsIDB4 MzMsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KLQl7IDB4 QSwgMHg0NywgMHgzNiwgMHgwMCwgMHgwOSB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLwot CXsgMHhDLCAweDY0LCAweDM0LCAweDAwLCAweDBCIH0sCS8qIDM1MCAgIDcwMCAgICAgIDYuMCAg ICovCi0JeyAweDYsIDB4N0YsIDB4MzAsIDB4MDAsIDB4MEYgfSwJLyogMzUwICAgOTAwICAgICAg OC4yICAgKi8KLQl7IDB4QSwgMHg0NiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA1MDAgICA1MDAg ICAgICAwLjAgICAqLwotCXsgMHhDLCAweDY0LCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDUwMCAg IDcwMCAgICAgIDIuOSAgICovCi0JeyAweDYsIDB4N0YsIDB4MzIsIDB4MDAsIDB4MEQgfSwJLyog NTAwICAgOTAwICAgICAgNS4xICAgKi8KLQl7IDB4QywgMHg2MSwgMHgzRiwgMHgwMCwgMHgwMCB9 LAkvKiA2NTAgICA3MDAgICAgICAwLjYgICAqLwotCXsgMHg2LCAweDdGLCAweDM4LCAweDAwLCAw eDA3IH0sCS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCi0JeyAweDYsIDB4N0YsIDB4M0YsIDB4 MDAsIDB4MDAgfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KLX07Ci0KLXN0YXRpYyBjb25z dCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMganNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25z X2VkcF9oYnJbXSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCi0JeyAweDgs IDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwgICAgICAgIC8qIDIwMCAgIDIwMCAgICAgIDAuMCAg ICovCi0JeyAweDgsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSwgICAgICAgIC8qIDIwMCAgIDI1 MCAgICAgIDEuOSAgICovCi0JeyAweDEsIDB4N0YsIDB4MzMsIDB4MDAsIDB4MEMgfSwgICAgICAg IC8qIDIwMCAgIDMwMCAgICAgIDMuNSAgICovCi0JeyAweEEsIDB4MzUsIDB4MzYsIDB4MDAsIDB4 MDkgfSwgICAgICAgIC8qIDIwMCAgIDM1MCAgICAgIDQuOSAgICovCi0JeyAweDgsIDB4N0YsIDB4 M0YsIDB4MDAsIDB4MDAgfSwgICAgICAgIC8qIDI1MCAgIDI1MCAgICAgIDAuMCAgICovCi0JeyAw eDEsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSwgICAgICAgIC8qIDI1MCAgIDMwMCAgICAgIDEu NiAgICovCi0JeyAweEEsIDB4MzUsIDB4MzUsIDB4MDAsIDB4MEEgfSwgICAgICAgIC8qIDI1MCAg IDM1MCAgICAgIDIuOSAgICovCi0JeyAweDEsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwgICAg ICAgIC8qIDMwMCAgIDMwMCAgICAgIDAuMCAgICovCi0JeyAweEEsIDB4MzUsIDB4MzgsIDB4MDAs IDB4MDcgfSwgICAgICAgIC8qIDMwMCAgIDM1MCAgICAgIDEuMyAgICovCi0JeyAweEEsIDB4MzUs IDB4M0YsIDB4MDAsIDB4MDAgfSwgICAgICAgIC8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCi19 OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIGpzbF9jb21ib19waHlf ZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMltdID0gewotCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYg ZGIgICAgKi8KLQl7IDB4OCwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LCAgICAgICAgLyogMjAw ICAgMjAwICAgICAgMC4wICAgKi8KLQl7IDB4OCwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LCAg ICAgICAgLyogMjAwICAgMjUwICAgICAgMS45ICAgKi8KLQl7IDB4MSwgMHg3RiwgMHgzRCwgMHgw MCwgMHgwMiB9LCAgICAgICAgLyogMjAwICAgMzAwICAgICAgMy41ICAgKi8KLQl7IDB4QSwgMHgz NSwgMHgzOCwgMHgwMCwgMHgwNyB9LCAgICAgICAgLyogMjAwICAgMzUwICAgICAgNC45ICAgKi8K LQl7IDB4OCwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LCAgICAgICAgLyogMjUwICAgMjUwICAg ICAgMC4wICAgKi8KLQl7IDB4MSwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LCAgICAgICAgLyog MjUwICAgMzAwICAgICAgMS42ICAgKi8KLQl7IDB4QSwgMHgzNSwgMHgzQSwgMHgwMCwgMHgwNSB9 LCAgICAgICAgLyogMjUwICAgMzUwICAgICAgMi45ICAgKi8KLQl7IDB4MSwgMHg3RiwgMHgzRiwg MHgwMCwgMHgwMCB9LCAgICAgICAgLyogMzAwICAgMzAwICAgICAgMC4wICAgKi8KLQl7IDB4QSwg MHgzNSwgMHgzOCwgMHgwMCwgMHgwNyB9LCAgICAgICAgLyogMzAwICAgMzUwICAgICAgMS4zICAg Ki8KLQl7IDB4QSwgMHgzNSwgMHgzRiwgMHgwMCwgMHgwMCB9LCAgICAgICAgLyogMzUwICAgMzUw ICAgICAgMC4wICAgKi8KLX07Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJh bnMgZGcxX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX3Jicl9oYnJbXSA9IHsKLQkJCQkJ CS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCi0JeyAweEEsIDB4MzIsIDB4M0YsIDB4MDAsIDB4 MDAgfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KLQl7IDB4QSwgMHg0OCwgMHgzNSwgMHgw MCwgMHgwQSB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLwotCXsgMHhDLCAweDYzLCAweDJG LCAweDAwLCAweDEwIH0sCS8qIDM1MCAgIDcwMCAgICAgIDYuMCAgICovCi0JeyAweDYsIDB4N0Ys IDB4MkMsIDB4MDAsIDB4MTMgfSwJLyogMzUwICAgOTAwICAgICAgOC4yICAgKi8KLQl7IDB4QSwg MHg0MywgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA1MDAgICA1MDAgICAgICAwLjAgICAqLwotCXsg MHhDLCAweDYwLCAweDM2LCAweDAwLCAweDA5IH0sCS8qIDUwMCAgIDcwMCAgICAgIDIuOSAgICov Ci0JeyAweDYsIDB4N0YsIDB4MzAsIDB4MDAsIDB4MEYgfSwJLyogNTAwICAgOTAwICAgICAgNS4x ICAgKi8KLQl7IDB4QywgMHg2MCwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA2NTAgICA3MDAgICAg ICAwLjYgICAqLwotCXsgMHg2LCAweDdGLCAweDM3LCAweDAwLCAweDA4IH0sCS8qIDYwMCAgIDkw MCAgICAgIDMuNSAgICovCi0JeyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogOTAw ICAgOTAwICAgICAgMC4wICAgKi8KLX07Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9i dWZfdHJhbnMgZGcxX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjJfaGJyM1tdID0g ewotCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KLQl7IDB4QSwgMHgzMiwgMHgzRiwg MHgwMCwgMHgwMCB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLwotCXsgMHhBLCAweDQ4LCAw eDM1LCAweDAwLCAweDBBIH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCi0JeyAweEMsIDB4 NjMsIDB4MkYsIDB4MDAsIDB4MTAgfSwJLyogMzUwICAgNzAwICAgICAgNi4wICAgKi8KLQl7IDB4 NiwgMHg3RiwgMHgyQywgMHgwMCwgMHgxMyB9LAkvKiAzNTAgICA5MDAgICAgICA4LjIgICAqLwot CXsgMHhBLCAweDQzLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDUwMCAgIDUwMCAgICAgIDAuMCAg ICovCi0JeyAweEMsIDB4NjAsIDB4MzYsIDB4MDAsIDB4MDkgfSwJLyogNTAwICAgNzAwICAgICAg Mi45ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzMCwgMHgwMCwgMHgwRiB9LAkvKiA1MDAgICA5MDAg ICAgICA1LjEgICAqLwotCXsgMHhDLCAweDU4LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDY1MCAg IDcwMCAgICAgIDAuNiAgICovCi0JeyAweDYsIDB4N0YsIDB4MzUsIDB4MDAsIDB4MEEgfSwJLyog NjAwICAgOTAwICAgICAgMy41ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9 LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLwotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBp Y2xfbWdfcGh5X2RkaV9idWZfdHJhbnMgaWNsX21nX3BoeV9kZGlfdHJhbnNsYXRpb25zX3Jicl9o YnJbXSA9IHsKLQkJCQkvKiBWb2x0YWdlIHN3aW5nICBwcmUtZW1waGFzaXMgKi8KLQl7IDB4MTgs IDB4MDAsIDB4MDAgfSwJLyogMCAgICAgICAgICAgICAgMCAgICovCi0JeyAweDFELCAweDAwLCAw eDA1IH0sCS8qIDAgICAgICAgICAgICAgIDEgICAqLwotCXsgMHgyNCwgMHgwMCwgMHgwQyB9LAkv KiAwICAgICAgICAgICAgICAyICAgKi8KLQl7IDB4MkIsIDB4MDAsIDB4MTQgfSwJLyogMCAgICAg ICAgICAgICAgMyAgICovCi0JeyAweDIxLCAweDAwLCAweDAwIH0sCS8qIDEgICAgICAgICAgICAg IDAgICAqLwotCXsgMHgyQiwgMHgwMCwgMHgwOCB9LAkvKiAxICAgICAgICAgICAgICAxICAgKi8K LQl7IDB4MzAsIDB4MDAsIDB4MEYgfSwJLyogMSAgICAgICAgICAgICAgMiAgICovCi0JeyAweDMx LCAweDAwLCAweDAzIH0sCS8qIDIgICAgICAgICAgICAgIDAgICAqLwotCXsgMHgzNCwgMHgwMCwg MHgwQiB9LAkvKiAyICAgICAgICAgICAgICAxICAgKi8KLQl7IDB4M0YsIDB4MDAsIDB4MDAgfSwJ LyogMyAgICAgICAgICAgICAgMCAgICovCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGljbF9t Z19waHlfZGRpX2J1Zl90cmFucyBpY2xfbWdfcGh5X2RkaV90cmFuc2xhdGlvbnNfaGJyMl9oYnIz W10gPSB7Ci0JCQkJLyogVm9sdGFnZSBzd2luZyAgcHJlLWVtcGhhc2lzICovCi0JeyAweDE4LCAw eDAwLCAweDAwIH0sCS8qIDAgICAgICAgICAgICAgIDAgICAqLwotCXsgMHgxRCwgMHgwMCwgMHgw NSB9LAkvKiAwICAgICAgICAgICAgICAxICAgKi8KLQl7IDB4MjQsIDB4MDAsIDB4MEMgfSwJLyog MCAgICAgICAgICAgICAgMiAgICovCi0JeyAweDJCLCAweDAwLCAweDE0IH0sCS8qIDAgICAgICAg ICAgICAgIDMgICAqLwotCXsgMHgyNiwgMHgwMCwgMHgwMCB9LAkvKiAxICAgICAgICAgICAgICAw ICAgKi8KLQl7IDB4MkMsIDB4MDAsIDB4MDcgfSwJLyogMSAgICAgICAgICAgICAgMSAgICovCi0J eyAweDMzLCAweDAwLCAweDBDIH0sCS8qIDEgICAgICAgICAgICAgIDIgICAqLwotCXsgMHgyRSwg MHgwMCwgMHgwMCB9LAkvKiAyICAgICAgICAgICAgICAwICAgKi8KLQl7IDB4MzYsIDB4MDAsIDB4 MDkgfSwJLyogMiAgICAgICAgICAgICAgMSAgICovCi0JeyAweDNGLCAweDAwLCAweDAwIH0sCS8q IDMgICAgICAgICAgICAgIDAgICAqLwotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBpY2xfbWdf cGh5X2RkaV9idWZfdHJhbnMgaWNsX21nX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsK LQkJCQkvKiBIRE1JIFByZXNldAlWUwlQcmUtZW1waCAqLwotCXsgMHgxQSwgMHgwLCAweDAgfSwJ LyogMQkJNDAwbVYJMGRCICovCi0JeyAweDIwLCAweDAsIDB4MCB9LAkvKiAyCQk1MDBtVgkwZEIg Ki8KLQl7IDB4MjksIDB4MCwgMHgwIH0sCS8qIDMJCTY1MG1WCTBkQiAqLwotCXsgMHgzMiwgMHgw LCAweDAgfSwJLyogNAkJODAwbVYJMGRCICovCi0JeyAweDNGLCAweDAsIDB4MCB9LAkvKiA1CQkx MDAwbVYJMGRCICovCi0JeyAweDNBLCAweDAsIDB4NSB9LAkvKiA2CQlGdWxsCS0xLjUgZEIgKi8K LQl7IDB4MzksIDB4MCwgMHg2IH0sCS8qIDcJCUZ1bGwJLTEuOCBkQiAqLwotCXsgMHgzOCwgMHgw LCAweDcgfSwJLyogOAkJRnVsbAktMiBkQiAqLwotCXsgMHgzNywgMHgwLCAweDggfSwJLyogOQkJ RnVsbAktMi41IGRCICovCi0JeyAweDM2LCAweDAsIDB4OSB9LAkvKiAxMAkJRnVsbAktMyBkQiAq LwotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCB0Z2xfZGtsX3BoeV9kZGlfYnVmX3RyYW5zIHRn bF9ka2xfcGh5X2RwX2RkaV90cmFuc1tdID0gewotCQkJCS8qIFZTCXByZS1lbXAJTm9uLXRyYW5z IG1WCVByZS1lbXBoIGRCICovCi0JeyAweDcsIDB4MCwgMHgwMCB9LAkvKiAwCTAJNDAwbVYJCTAg ZEIgKi8KLQl7IDB4NSwgMHgwLCAweDA1IH0sCS8qIDAJMQk0MDBtVgkJMy41IGRCICovCi0JeyAw eDIsIDB4MCwgMHgwQiB9LAkvKiAwCTIJNDAwbVYJCTYgZEIgKi8KLQl7IDB4MCwgMHgwLCAweDE4 IH0sCS8qIDAJMwk0MDBtVgkJOS41IGRCICovCi0JeyAweDUsIDB4MCwgMHgwMCB9LAkvKiAxCTAJ NjAwbVYJCTAgZEIgKi8KLQl7IDB4MiwgMHgwLCAweDA4IH0sCS8qIDEJMQk2MDBtVgkJMy41IGRC ICovCi0JeyAweDAsIDB4MCwgMHgxNCB9LAkvKiAxCTIJNjAwbVYJCTYgZEIgKi8KLQl7IDB4Miwg MHgwLCAweDAwIH0sCS8qIDIJMAk4MDBtVgkJMCBkQiAqLwotCXsgMHgwLCAweDAsIDB4MEIgfSwJ LyogMgkxCTgwMG1WCQkzLjUgZEIgKi8KLQl7IDB4MCwgMHgwLCAweDAwIH0sCS8qIDMJMAkxMjAw bVYJCTAgZEIgSERNSSBkZWZhdWx0ICovCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IHRnbF9k a2xfcGh5X2RkaV9idWZfdHJhbnMgdGdsX2RrbF9waHlfZHBfZGRpX3RyYW5zX2hicjJbXSA9IHsK LQkJCQkvKiBWUwlwcmUtZW1wCU5vbi10cmFucyBtVglQcmUtZW1waCBkQiAqLwotCXsgMHg3LCAw eDAsIDB4MDAgfSwJLyogMAkwCTQwMG1WCQkwIGRCICovCi0JeyAweDUsIDB4MCwgMHgwNSB9LAkv KiAwCTEJNDAwbVYJCTMuNSBkQiAqLwotCXsgMHgyLCAweDAsIDB4MEIgfSwJLyogMAkyCTQwMG1W CQk2IGRCICovCi0JeyAweDAsIDB4MCwgMHgxOSB9LAkvKiAwCTMJNDAwbVYJCTkuNSBkQiAqLwot CXsgMHg1LCAweDAsIDB4MDAgfSwJLyogMQkwCTYwMG1WCQkwIGRCICovCi0JeyAweDIsIDB4MCwg MHgwOCB9LAkvKiAxCTEJNjAwbVYJCTMuNSBkQiAqLwotCXsgMHgwLCAweDAsIDB4MTQgfSwJLyog MQkyCTYwMG1WCQk2IGRCICovCi0JeyAweDIsIDB4MCwgMHgwMCB9LAkvKiAyCTAJODAwbVYJCTAg ZEIgKi8KLQl7IDB4MCwgMHgwLCAweDBCIH0sCS8qIDIJMQk4MDBtVgkJMy41IGRCICovCi0JeyAw eDAsIDB4MCwgMHgwMCB9LAkvKiAzCTAJMTIwMG1WCQkwIGRCIEhETUkgZGVmYXVsdCAqLwotfTsK LQotc3RhdGljIGNvbnN0IHN0cnVjdCB0Z2xfZGtsX3BoeV9kZGlfYnVmX3RyYW5zIHRnbF9ka2xf cGh5X2hkbWlfZGRpX3RyYW5zW10gPSB7Ci0JCQkJLyogSERNSSBQcmVzZXQJVlMJUHJlLWVtcGgg Ki8KLQl7IDB4NywgMHgwLCAweDAgfSwJLyogMQkJNDAwbVYJMGRCICovCi0JeyAweDYsIDB4MCwg MHgwIH0sCS8qIDIJCTUwMG1WCTBkQiAqLwotCXsgMHg0LCAweDAsIDB4MCB9LAkvKiAzCQk2NTBt VgkwZEIgKi8KLQl7IDB4MiwgMHgwLCAweDAgfSwJLyogNAkJODAwbVYJMGRCICovCi0JeyAweDAs IDB4MCwgMHgwIH0sCS8qIDUJCTEwMDBtVgkwZEIgKi8KLQl7IDB4MCwgMHgwLCAweDUgfSwJLyog NgkJRnVsbAktMS41IGRCICovCi0JeyAweDAsIDB4MCwgMHg2IH0sCS8qIDcJCUZ1bGwJLTEuOCBk QiAqLwotCXsgMHgwLCAweDAsIDB4NyB9LAkvKiA4CQlGdWxsCS0yIGRCICovCi0JeyAweDAsIDB4 MCwgMHg4IH0sCS8qIDkJCUZ1bGwJLTIuNSBkQiAqLwotCXsgMHgwLCAweDAsIDB4QSB9LAkvKiAx MAkJRnVsbAktMyBkQiAqLwotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90 cmFucyB0Z2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyW10gPSB7Ci0JCQkJCQkv KiBOVCBtViBUcmFucyBtViBkYiAgICAqLwotCXsgMHhBLCAweDMyLCAweDNGLCAweDAwLCAweDAw IH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCi0JeyAweEEsIDB4NEYsIDB4MzcsIDB4MDAs IDB4MDggfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KLQl7IDB4QywgMHg3MSwgMHgyRiwg MHgwMCwgMHgxMCB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLwotCXsgMHg2LCAweDdELCAw eDJCLCAweDAwLCAweDE0IH0sCS8qIDM1MCAgIDkwMCAgICAgIDguMiAgICovCi0JeyAweEEsIDB4 NEMsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNTAwICAgNTAwICAgICAgMC4wICAgKi8KLQl7IDB4 QywgMHg3MywgMHgzNCwgMHgwMCwgMHgwQiB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLwot CXsgMHg2LCAweDdGLCAweDJGLCAweDAwLCAweDEwIH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAg ICovCi0JeyAweEMsIDB4NkMsIDB4M0MsIDB4MDAsIDB4MDMgfSwJLyogNjUwICAgNzAwICAgICAg MC42ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzNSwgMHgwMCwgMHgwQSB9LAkvKiA2MDAgICA5MDAg ICAgICAzLjUgICAqLwotCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDkwMCAg IDkwMCAgICAgIDAuMCAgICovCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVm X3RyYW5zIHRnbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyW10gPSB7Ci0JCQkJ CQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwotCXsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAw eDAwIH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCi0JeyAweEEsIDB4NEYsIDB4MzcsIDB4 MDAsIDB4MDggfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KLQl7IDB4QywgMHg2MywgMHgy RiwgMHgwMCwgMHgxMCB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLwotCXsgMHg2LCAweDdG LCAweDJCLCAweDAwLCAweDE0IH0sCS8qIDM1MCAgIDkwMCAgICAgIDguMiAgICovCi0JeyAweEEs IDB4NDcsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNTAwICAgNTAwICAgICAgMC4wICAgKi8KLQl7 IDB4QywgMHg2MywgMHgzNCwgMHgwMCwgMHgwQiB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAq LwotCXsgMHg2LCAweDdGLCAweDJGLCAweDAwLCAweDEwIH0sCS8qIDUwMCAgIDkwMCAgICAgIDUu MSAgICovCi0JeyAweEMsIDB4NjEsIDB4M0MsIDB4MDAsIDB4MDMgfSwJLyogNjUwICAgNzAwICAg ICAgMC42ICAgKi8KLQl7IDB4NiwgMHg3QiwgMHgzNSwgMHgwMCwgMHgwQSB9LAkvKiA2MDAgICA5 MDAgICAgICAzLjUgICAqLwotCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDkw MCAgIDkwMCAgICAgIDAuMCAgICovCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlf YnVmX3RyYW5zIHRnbF91eV9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyW10gPSB7 Ci0JCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwotCXsgMHhBLCAweDM1LCAweDNGLCAw eDAwLCAweDAwIH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCi0JeyAweEEsIDB4NEYsIDB4 MzYsIDB4MDAsIDB4MDkgfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KLQl7IDB4QywgMHg2 MCwgMHgzMiwgMHgwMCwgMHgwRCB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLwotCXsgMHhD LCAweDdGLCAweDJELCAweDAwLCAweDEyIH0sCS8qIDM1MCAgIDkwMCAgICAgIDguMiAgICovCi0J eyAweEMsIDB4NDcsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNTAwICAgNTAwICAgICAgMC4wICAg Ki8KLQl7IDB4QywgMHg2RiwgMHgzNiwgMHgwMCwgMHgwOSB9LAkvKiA1MDAgICA3MDAgICAgICAy LjkgICAqLwotCXsgMHg2LCAweDdELCAweDMyLCAweDAwLCAweDBEIH0sCS8qIDUwMCAgIDkwMCAg ICAgIDUuMSAgICovCi0JeyAweDYsIDB4NjAsIDB4M0MsIDB4MDAsIDB4MDMgfSwJLyogNjUwICAg NzAwICAgICAgMC42ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzNCwgMHgwMCwgMHgwQiB9LAkvKiA2 MDAgICA5MDAgICAgICAzLjUgICAqLwotCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0s CS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICovCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRp X2J1Zl90cmFuc19lbnRyeSBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMltd ID0geworCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCisJeyAuY25sID0geyAweEEs IDB4MzUsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLwor CXsgLmNubCA9IHsgMHhBLCAweDRGLCAweDM3LCAweDAwLCAweDA4IH0gfSwJLyogMzUwICAgNTAw ICAgICAgMy4xICAgKi8KKwl7IC5jbmwgPSB7IDB4QywgMHg3MSwgMHgyRiwgMHgwMCwgMHgxMCB9 IH0sCS8qIDM1MCAgIDcwMCAgICAgIDYuMCAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4 MkIsIDB4MDAsIDB4MTQgfSB9LAkvKiAzNTAgICA5MDAgICAgICA4LjIgICAqLworCXsgLmNubCA9 IHsgMHhBLCAweDRDLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNTAwICAgNTAwICAgICAgMC4w ICAgKi8KKwl7IC5jbmwgPSB7IDB4QywgMHg3MywgMHgzNCwgMHgwMCwgMHgwQiB9IH0sCS8qIDUw MCAgIDcwMCAgICAgIDIuOSAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MkYsIDB4MDAs IDB4MTAgfSB9LAkvKiA1MDAgICA5MDAgICAgICA1LjEgICAqLworCXsgLmNubCA9IHsgMHhDLCAw eDZDLCAweDNDLCAweDAwLCAweDAzIH0gfSwJLyogNjUwICAgNzAwICAgICAgMC42ICAgKi8KKwl7 IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzNSwgMHgwMCwgMHgwQSB9IH0sCS8qIDYwMCAgIDkwMCAg ICAgIDMuNSAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9 LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLworfTsKKworc3RhdGljIGNvbnN0IHVuaW9uIGlu dGVsX2RkaV9idWZfdHJhbnNfZW50cnkgaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2Vk cF9oYnIyW10gPSB7CisJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KKwl7IC5jbmwg PSB7IDB4MCwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDIwMCAgIDIwMCAgICAgIDAu MCAgICovCisJeyAuY25sID0geyAweDgsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAy MDAgICAyNTAgICAgICAxLjkgICAqLworCXsgLmNubCA9IHsgMHgxLCAweDdGLCAweDMzLCAweDAw LCAweDBDIH0gfSwJLyogMjAwICAgMzAwICAgICAgMy41ICAgKi8KKwl7IC5jbmwgPSB7IDB4OSwg MHg3RiwgMHgzMSwgMHgwMCwgMHgwRSB9IH0sCS8qIDIwMCAgIDM1MCAgICAgIDQuOSAgICovCisJ eyAuY25sID0geyAweDgsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAyNTAgICAyNTAg ICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHgxLCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0g fSwJLyogMjUwICAgMzAwICAgICAgMS42ICAgKi8KKwl7IC5jbmwgPSB7IDB4OSwgMHg3RiwgMHgz NSwgMHgwMCwgMHgwQSB9IH0sCS8qIDI1MCAgIDM1MCAgICAgIDIuOSAgICovCisJeyAuY25sID0g eyAweDEsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzMDAgICAzMDAgICAgICAwLjAg ICAqLworCXsgLmNubCA9IHsgMHg5LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0gfSwJLyogMzAw ICAgMzUwICAgICAgMS4zICAgKi8KKwl7IC5jbmwgPSB7IDB4OSwgMHg3RiwgMHgzRiwgMHgwMCwg MHgwMCB9IH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCit9OworCitzdGF0aWMgY29uc3Qg dW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xh dGlvbnNfZWRwX2hicjNbXSA9IHsKKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwor CXsgLmNubCA9IHsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMzUwICAgMzUw ICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg0RiwgMHgzNywgMHgwMCwgMHgwOCB9 IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCisJeyAuY25sID0geyAweEMsIDB4NzEsIDB4 MkYsIDB4MDAsIDB4MTAgfSB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLworCXsgLmNubCA9 IHsgMHg2LCAweDdGLCAweDJCLCAweDAwLCAweDE0IH0gfSwJLyogMzUwICAgOTAwICAgICAgOC4y ICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg0QywgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDUw MCAgIDUwMCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEMsIDB4NzMsIDB4MzQsIDB4MDAs IDB4MEIgfSB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLworCXsgLmNubCA9IHsgMHg2LCAw eDdGLCAweDJGLCAweDAwLCAweDEwIH0gfSwJLyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KKwl7 IC5jbmwgPSB7IDB4QywgMHg2QywgMHgzQywgMHgwMCwgMHgwMyB9IH0sCS8qIDY1MCAgIDcwMCAg ICAgIDAuNiAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MzUsIDB4MDAsIDB4MEEgfSB9 LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDNG LCAweDAwLCAweDAwIH0gfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KK307CisKK3N0YXRp YyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGljbF9jb21ib19waHlfZGRp X3RyYW5zbGF0aW9uc19oZG1pW10gPSB7CisJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAg Ki8KKwl7IC5jbmwgPSB7IDB4QSwgMHg2MCwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDQ1MCAg IDQ1MCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEIsIDB4NzMsIDB4MzYsIDB4MDAsIDB4 MDkgfSB9LAkvKiA0NTAgICA2NTAgICAgICAzLjIgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdG LCAweDMxLCAweDAwLCAweDBFIH0gfSwJLyogNDUwICAgODUwICAgICAgNS41ICAgKi8KKwl7IC5j bmwgPSB7IDB4QiwgMHg3MywgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDY1MCAgIDY1MCAgICAg IDAuMCAgIEFMUyAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDM3LCAweDAwLCAweDA4IH0g fSwJLyogNjUwICAgODUwICAgICAgMi4zICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgz RiwgMHgwMCwgMHgwMCB9IH0sCS8qIDg1MCAgIDg1MCAgICAgIDAuMCAgICovCisJeyAuY25sID0g eyAweDYsIDB4N0YsIDB4MzUsIDB4MDAsIDB4MEEgfSB9LAkvKiA2MDAgICA4NTAgICAgICAzLjAg ICAqLworfTsKKworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkg ZWhsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7CisJCQkJCQkJLyogTlQgbVYg VHJhbnMgbVYgZGIgICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHgzMywgMHgzRiwgMHgwMCwgMHgw MCB9IH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEEsIDB4NDcs IDB4MzYsIDB4MDAsIDB4MDkgfSB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLworCXsgLmNu bCA9IHsgMHhDLCAweDY0LCAweDM0LCAweDAwLCAweDBCIH0gfSwJLyogMzUwICAgNzAwICAgICAg Ni4wICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzMCwgMHgwMCwgMHgwRiB9IH0sCS8q IDM1MCAgIDkwMCAgICAgIDguMiAgICovCisJeyAuY25sID0geyAweEEsIDB4NDYsIDB4M0YsIDB4 MDAsIDB4MDAgfSB9LAkvKiA1MDAgICA1MDAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhD LCAweDY0LCAweDM4LCAweDAwLCAweDA3IH0gfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8K Kwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzMiwgMHgwMCwgMHgwRCB9IH0sCS8qIDUwMCAgIDkw MCAgICAgIDUuMSAgICovCisJeyAuY25sID0geyAweEMsIDB4NjEsIDB4M0YsIDB4MDAsIDB4MDAg fSB9LAkvKiA2NTAgICA3MDAgICAgICAwLjYgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAw eDM4LCAweDAwLCAweDA3IH0gfSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KKwl7IC5jbmwg PSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDkwMCAgIDkwMCAgICAgIDAu MCAgICovCit9OworCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRy eSBqc2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicltdID0geworCQkJCQkJCS8q IE5UIG1WIFRyYW5zIG1WIGRiICAgICovCisJeyAuY25sID0geyAweDgsIDB4N0YsIDB4M0YsIDB4 MDAsIDB4MDAgfSB9LAkvKiAyMDAgICAyMDAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHg4 LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0gfSwJLyogMjAwICAgMjUwICAgICAgMS45ICAgKi8K Kwl7IC5jbmwgPSB7IDB4MSwgMHg3RiwgMHgzMywgMHgwMCwgMHgwQyB9IH0sCS8qIDIwMCAgIDMw MCAgICAgIDMuNSAgICovCisJeyAuY25sID0geyAweEEsIDB4MzUsIDB4MzYsIDB4MDAsIDB4MDkg fSB9LAkvKiAyMDAgICAzNTAgICAgICA0LjkgICAqLworCXsgLmNubCA9IHsgMHg4LCAweDdGLCAw eDNGLCAweDAwLCAweDAwIH0gfSwJLyogMjUwICAgMjUwICAgICAgMC4wICAgKi8KKwl7IC5jbmwg PSB7IDB4MSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8qIDI1MCAgIDMwMCAgICAgIDEu NiAgICovCisJeyAuY25sID0geyAweEEsIDB4MzUsIDB4MzUsIDB4MDAsIDB4MEEgfSB9LAkvKiAy NTAgICAzNTAgICAgICAyLjkgICAqLworCXsgLmNubCA9IHsgMHgxLCAweDdGLCAweDNGLCAweDAw LCAweDAwIH0gfSwJLyogMzAwICAgMzAwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwg MHgzNSwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8qIDMwMCAgIDM1MCAgICAgIDEuMyAgICovCisJ eyAuY25sID0geyAweEEsIDB4MzUsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzNTAgICAzNTAg ICAgICAwLjAgICAqLworfTsKKworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJh bnNfZW50cnkganNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyW10gPSB7CisJ CQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KKwl7IC5jbmwgPSB7IDB4OCwgMHg3Riwg MHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDIwMCAgIDIwMCAgICAgIDAuMCAgICovCisJeyAuY25s ID0geyAweDgsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAyMDAgICAyNTAgICAgICAx LjkgICAqLworCXsgLmNubCA9IHsgMHgxLCAweDdGLCAweDNELCAweDAwLCAweDAyIH0gfSwJLyog MjAwICAgMzAwICAgICAgMy41ICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHgzNSwgMHgzOCwgMHgw MCwgMHgwNyB9IH0sCS8qIDIwMCAgIDM1MCAgICAgIDQuOSAgICovCisJeyAuY25sID0geyAweDgs IDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAyNTAgICAyNTAgICAgICAwLjAgICAqLwor CXsgLmNubCA9IHsgMHgxLCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMjUwICAgMzAw ICAgICAgMS42ICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHgzNSwgMHgzQSwgMHgwMCwgMHgwNSB9 IH0sCS8qIDI1MCAgIDM1MCAgICAgIDIuOSAgICovCisJeyAuY25sID0geyAweDEsIDB4N0YsIDB4 M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzMDAgICAzMDAgICAgICAwLjAgICAqLworCXsgLmNubCA9 IHsgMHhBLCAweDM1LCAweDM4LCAweDAwLCAweDA3IH0gfSwJLyogMzAwICAgMzUwICAgICAgMS4z ICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHgzNSwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDM1 MCAgIDM1MCAgICAgIDAuMCAgICovCit9OworCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRp X2J1Zl90cmFuc19lbnRyeSBkZzFfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfcmJyX2hi cltdID0geworCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCisJeyAuY25sID0geyAw eEEsIDB4MzIsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAq LworCXsgLmNubCA9IHsgMHhBLCAweDQ4LCAweDM1LCAweDAwLCAweDBBIH0gfSwJLyogMzUwICAg NTAwICAgICAgMy4xICAgKi8KKwl7IC5jbmwgPSB7IDB4QywgMHg2MywgMHgyRiwgMHgwMCwgMHgx MCB9IH0sCS8qIDM1MCAgIDcwMCAgICAgIDYuMCAgICovCisJeyAuY25sID0geyAweDYsIDB4N0Ys IDB4MkMsIDB4MDAsIDB4MTMgfSB9LAkvKiAzNTAgICA5MDAgICAgICA4LjIgICAqLworCXsgLmNu bCA9IHsgMHhBLCAweDQzLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNTAwICAgNTAwICAgICAg MC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QywgMHg2MCwgMHgzNiwgMHgwMCwgMHgwOSB9IH0sCS8q IDUwMCAgIDcwMCAgICAgIDIuOSAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MzAsIDB4 MDAsIDB4MEYgfSB9LAkvKiA1MDAgICA5MDAgICAgICA1LjEgICAqLworCXsgLmNubCA9IHsgMHhD LCAweDYwLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNjUwICAgNzAwICAgICAgMC42ICAgKi8K Kwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzNywgMHgwMCwgMHgwOCB9IH0sCS8qIDYwMCAgIDkw MCAgICAgIDMuNSAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAg fSB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLworfTsKKworc3RhdGljIGNvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgZGcxX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25z X2RwX2hicjJfaGJyM1tdID0geworCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCisJ eyAuY25sID0geyAweEEsIDB4MzIsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzNTAgICAzNTAg ICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDQ4LCAweDM1LCAweDAwLCAweDBBIH0g fSwJLyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KKwl7IC5jbmwgPSB7IDB4QywgMHg2MywgMHgy RiwgMHgwMCwgMHgxMCB9IH0sCS8qIDM1MCAgIDcwMCAgICAgIDYuMCAgICovCisJeyAuY25sID0g eyAweDYsIDB4N0YsIDB4MkMsIDB4MDAsIDB4MTMgfSB9LAkvKiAzNTAgICA5MDAgICAgICA4LjIg ICAqLworCXsgLmNubCA9IHsgMHhBLCAweDQzLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNTAw ICAgNTAwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QywgMHg2MCwgMHgzNiwgMHgwMCwg MHgwOSB9IH0sCS8qIDUwMCAgIDcwMCAgICAgIDIuOSAgICovCisJeyAuY25sID0geyAweDYsIDB4 N0YsIDB4MzAsIDB4MDAsIDB4MEYgfSB9LAkvKiA1MDAgICA5MDAgICAgICA1LjEgICAqLworCXsg LmNubCA9IHsgMHhDLCAweDU4LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNjUwICAgNzAwICAg ICAgMC42ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzNSwgMHgwMCwgMHgwQSB9IH0s CS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4M0Ys IDB4MDAsIDB4MDAgfSB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLworfTsKKworc3RhdGlj IGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgaWNsX21nX3BoeV9kZGlfdHJh bnNsYXRpb25zX3Jicl9oYnJbXSA9IHsKKwkJCQkJLyogVm9sdGFnZSBzd2luZyAgcHJlLWVtcGhh c2lzICovCisJeyAubWcgPSB7IDB4MTgsIDB4MDAsIDB4MDAgfSB9LAkvKiAwICAgICAgICAgICAg ICAwICAgKi8KKwl7IC5tZyA9IHsgMHgxRCwgMHgwMCwgMHgwNSB9IH0sCS8qIDAgICAgICAgICAg ICAgIDEgICAqLworCXsgLm1nID0geyAweDI0LCAweDAwLCAweDBDIH0gfSwJLyogMCAgICAgICAg ICAgICAgMiAgICovCisJeyAubWcgPSB7IDB4MkIsIDB4MDAsIDB4MTQgfSB9LAkvKiAwICAgICAg ICAgICAgICAzICAgKi8KKwl7IC5tZyA9IHsgMHgyMSwgMHgwMCwgMHgwMCB9IH0sCS8qIDEgICAg ICAgICAgICAgIDAgICAqLworCXsgLm1nID0geyAweDJCLCAweDAwLCAweDA4IH0gfSwJLyogMSAg ICAgICAgICAgICAgMSAgICovCisJeyAubWcgPSB7IDB4MzAsIDB4MDAsIDB4MEYgfSB9LAkvKiAx ICAgICAgICAgICAgICAyICAgKi8KKwl7IC5tZyA9IHsgMHgzMSwgMHgwMCwgMHgwMyB9IH0sCS8q IDIgICAgICAgICAgICAgIDAgICAqLworCXsgLm1nID0geyAweDM0LCAweDAwLCAweDBCIH0gfSwJ LyogMiAgICAgICAgICAgICAgMSAgICovCisJeyAubWcgPSB7IDB4M0YsIDB4MDAsIDB4MDAgfSB9 LAkvKiAzICAgICAgICAgICAgICAwICAgKi8KK307CisKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRl bF9kZGlfYnVmX3RyYW5zX2VudHJ5IGljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uc19oYnIyX2hi cjNbXSA9IHsKKwkJCQkJLyogVm9sdGFnZSBzd2luZyAgcHJlLWVtcGhhc2lzICovCisJeyAubWcg PSB7IDB4MTgsIDB4MDAsIDB4MDAgfSB9LAkvKiAwICAgICAgICAgICAgICAwICAgKi8KKwl7IC5t ZyA9IHsgMHgxRCwgMHgwMCwgMHgwNSB9IH0sCS8qIDAgICAgICAgICAgICAgIDEgICAqLworCXsg Lm1nID0geyAweDI0LCAweDAwLCAweDBDIH0gfSwJLyogMCAgICAgICAgICAgICAgMiAgICovCisJ eyAubWcgPSB7IDB4MkIsIDB4MDAsIDB4MTQgfSB9LAkvKiAwICAgICAgICAgICAgICAzICAgKi8K Kwl7IC5tZyA9IHsgMHgyNiwgMHgwMCwgMHgwMCB9IH0sCS8qIDEgICAgICAgICAgICAgIDAgICAq LworCXsgLm1nID0geyAweDJDLCAweDAwLCAweDA3IH0gfSwJLyogMSAgICAgICAgICAgICAgMSAg ICovCisJeyAubWcgPSB7IDB4MzMsIDB4MDAsIDB4MEMgfSB9LAkvKiAxICAgICAgICAgICAgICAy ICAgKi8KKwl7IC5tZyA9IHsgMHgyRSwgMHgwMCwgMHgwMCB9IH0sCS8qIDIgICAgICAgICAgICAg IDAgICAqLworCXsgLm1nID0geyAweDM2LCAweDAwLCAweDA5IH0gfSwJLyogMiAgICAgICAgICAg ICAgMSAgICovCisJeyAubWcgPSB7IDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzICAgICAgICAg ICAgICAwICAgKi8KK307CisKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5z X2VudHJ5IGljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uc19oZG1pW10gPSB7CisJCQkJCS8qIEhE TUkgUHJlc2V0CVZTCVByZS1lbXBoICovCisJeyAubWcgPSB7IDB4MUEsIDB4MCwgMHgwIH0gfSwJ LyogMQkJNDAwbVYJMGRCICovCisJeyAubWcgPSB7IDB4MjAsIDB4MCwgMHgwIH0gfSwJLyogMgkJ NTAwbVYJMGRCICovCisJeyAubWcgPSB7IDB4MjksIDB4MCwgMHgwIH0gfSwJLyogMwkJNjUwbVYJ MGRCICovCisJeyAubWcgPSB7IDB4MzIsIDB4MCwgMHgwIH0gfSwJLyogNAkJODAwbVYJMGRCICov CisJeyAubWcgPSB7IDB4M0YsIDB4MCwgMHgwIH0gfSwJLyogNQkJMTAwMG1WCTBkQiAqLworCXsg Lm1nID0geyAweDNBLCAweDAsIDB4NSB9IH0sCS8qIDYJCUZ1bGwJLTEuNSBkQiAqLworCXsgLm1n ID0geyAweDM5LCAweDAsIDB4NiB9IH0sCS8qIDcJCUZ1bGwJLTEuOCBkQiAqLworCXsgLm1nID0g eyAweDM4LCAweDAsIDB4NyB9IH0sCS8qIDgJCUZ1bGwJLTIgZEIgKi8KKwl7IC5tZyA9IHsgMHgz NywgMHgwLCAweDggfSB9LAkvKiA5CQlGdWxsCS0yLjUgZEIgKi8KKwl7IC5tZyA9IHsgMHgzNiwg MHgwLCAweDkgfSB9LAkvKiAxMAkJRnVsbAktMyBkQiAqLworfTsKKworc3RhdGljIGNvbnN0IHVu aW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgdGdsX2RrbF9waHlfZHBfZGRpX3RyYW5zW10g PSB7CisJCQkJCS8qIFZTCXByZS1lbXAJTm9uLXRyYW5zIG1WCVByZS1lbXBoIGRCICovCisJeyAu ZGtsID0geyAweDcsIDB4MCwgMHgwMCB9IH0sCS8qIDAJMAk0MDBtVgkJMCBkQiAqLworCXsgLmRr bCA9IHsgMHg1LCAweDAsIDB4MDUgfSB9LAkvKiAwCTEJNDAwbVYJCTMuNSBkQiAqLworCXsgLmRr bCA9IHsgMHgyLCAweDAsIDB4MEIgfSB9LAkvKiAwCTIJNDAwbVYJCTYgZEIgKi8KKwl7IC5ka2wg PSB7IDB4MCwgMHgwLCAweDE4IH0gfSwJLyogMAkzCTQwMG1WCQk5LjUgZEIgKi8KKwl7IC5ka2wg PSB7IDB4NSwgMHgwLCAweDAwIH0gfSwJLyogMQkwCTYwMG1WCQkwIGRCICovCisJeyAuZGtsID0g eyAweDIsIDB4MCwgMHgwOCB9IH0sCS8qIDEJMQk2MDBtVgkJMy41IGRCICovCisJeyAuZGtsID0g eyAweDAsIDB4MCwgMHgxNCB9IH0sCS8qIDEJMgk2MDBtVgkJNiBkQiAqLworCXsgLmRrbCA9IHsg MHgyLCAweDAsIDB4MDAgfSB9LAkvKiAyCTAJODAwbVYJCTAgZEIgKi8KKwl7IC5ka2wgPSB7IDB4 MCwgMHgwLCAweDBCIH0gfSwJLyogMgkxCTgwMG1WCQkzLjUgZEIgKi8KKwl7IC5ka2wgPSB7IDB4 MCwgMHgwLCAweDAwIH0gfSwJLyogMwkwCTEyMDBtVgkJMCBkQiBIRE1JIGRlZmF1bHQgKi8KK307 CisKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHRnbF9ka2xf cGh5X2RwX2RkaV90cmFuc19oYnIyW10gPSB7CisJCQkJCS8qIFZTCXByZS1lbXAJTm9uLXRyYW5z IG1WCVByZS1lbXBoIGRCICovCisJeyAuZGtsID0geyAweDcsIDB4MCwgMHgwMCB9IH0sCS8qIDAJ MAk0MDBtVgkJMCBkQiAqLworCXsgLmRrbCA9IHsgMHg1LCAweDAsIDB4MDUgfSB9LAkvKiAwCTEJ NDAwbVYJCTMuNSBkQiAqLworCXsgLmRrbCA9IHsgMHgyLCAweDAsIDB4MEIgfSB9LAkvKiAwCTIJ NDAwbVYJCTYgZEIgKi8KKwl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweDE5IH0gfSwJLyogMAkzCTQw MG1WCQk5LjUgZEIgKi8KKwl7IC5ka2wgPSB7IDB4NSwgMHgwLCAweDAwIH0gfSwJLyogMQkwCTYw MG1WCQkwIGRCICovCisJeyAuZGtsID0geyAweDIsIDB4MCwgMHgwOCB9IH0sCS8qIDEJMQk2MDBt VgkJMy41IGRCICovCisJeyAuZGtsID0geyAweDAsIDB4MCwgMHgxNCB9IH0sCS8qIDEJMgk2MDBt VgkJNiBkQiAqLworCXsgLmRrbCA9IHsgMHgyLCAweDAsIDB4MDAgfSB9LAkvKiAyCTAJODAwbVYJ CTAgZEIgKi8KKwl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweDBCIH0gfSwJLyogMgkxCTgwMG1WCQkz LjUgZEIgKi8KKwl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweDAwIH0gfSwJLyogMwkwCTEyMDBtVgkJ MCBkQiBIRE1JIGRlZmF1bHQgKi8KK307CisKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlf YnVmX3RyYW5zX2VudHJ5IHRnbF9ka2xfcGh5X2hkbWlfZGRpX3RyYW5zW10gPSB7CisJCQkJCS8q IEhETUkgUHJlc2V0CVZTCVByZS1lbXBoICovCisJeyAuZGtsID0geyAweDcsIDB4MCwgMHgwIH0g fSwJLyogMQkJNDAwbVYJMGRCICovCisJeyAuZGtsID0geyAweDYsIDB4MCwgMHgwIH0gfSwJLyog MgkJNTAwbVYJMGRCICovCisJeyAuZGtsID0geyAweDQsIDB4MCwgMHgwIH0gfSwJLyogMwkJNjUw bVYJMGRCICovCisJeyAuZGtsID0geyAweDIsIDB4MCwgMHgwIH0gfSwJLyogNAkJODAwbVYJMGRC ICovCisJeyAuZGtsID0geyAweDAsIDB4MCwgMHgwIH0gfSwJLyogNQkJMTAwMG1WCTBkQiAqLwor CXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4NSB9IH0sCS8qIDYJCUZ1bGwJLTEuNSBkQiAqLworCXsg LmRrbCA9IHsgMHgwLCAweDAsIDB4NiB9IH0sCS8qIDcJCUZ1bGwJLTEuOCBkQiAqLworCXsgLmRr bCA9IHsgMHgwLCAweDAsIDB4NyB9IH0sCS8qIDgJCUZ1bGwJLTIgZEIgKi8KKwl7IC5ka2wgPSB7 IDB4MCwgMHgwLCAweDggfSB9LAkvKiA5CQlGdWxsCS0yLjUgZEIgKi8KKwl7IC5ka2wgPSB7IDB4 MCwgMHgwLCAweEEgfSB9LAkvKiAxMAkJRnVsbAktMyBkQiAqLworfTsKKworc3RhdGljIGNvbnN0 IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgdGdsX2NvbWJvX3BoeV9kZGlfdHJhbnNs YXRpb25zX2RwX2hicltdID0geworCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCisJ eyAuY25sID0geyAweEEsIDB4MzIsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzNTAgICAzNTAg ICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhBLCAweDRGLCAweDM3LCAweDAwLCAweDA4IH0g fSwJLyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KKwl7IC5jbmwgPSB7IDB4QywgMHg3MSwgMHgy RiwgMHgwMCwgMHgxMCB9IH0sCS8qIDM1MCAgIDcwMCAgICAgIDYuMCAgICovCisJeyAuY25sID0g eyAweDYsIDB4N0QsIDB4MkIsIDB4MDAsIDB4MTQgfSB9LAkvKiAzNTAgICA5MDAgICAgICA4LjIg ICAqLworCXsgLmNubCA9IHsgMHhBLCAweDRDLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNTAw ICAgNTAwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QywgMHg3MywgMHgzNCwgMHgwMCwg MHgwQiB9IH0sCS8qIDUwMCAgIDcwMCAgICAgIDIuOSAgICovCisJeyAuY25sID0geyAweDYsIDB4 N0YsIDB4MkYsIDB4MDAsIDB4MTAgfSB9LAkvKiA1MDAgICA5MDAgICAgICA1LjEgICAqLworCXsg LmNubCA9IHsgMHhDLCAweDZDLCAweDNDLCAweDAwLCAweDAzIH0gfSwJLyogNjUwICAgNzAwICAg ICAgMC42ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzNSwgMHgwMCwgMHgwQSB9IH0s CS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4M0Ys IDB4MDAsIDB4MDAgfSB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLworfTsKKworc3RhdGlj IGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgdGdsX2NvbWJvX3BoeV9kZGlf dHJhbnNsYXRpb25zX2RwX2hicjJbXSA9IHsKKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAg ICAqLworCXsgLmNubCA9IHsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMzUw ICAgMzUwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg0RiwgMHgzNywgMHgwMCwg MHgwOCB9IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCisJeyAuY25sID0geyAweEMsIDB4 NjMsIDB4MkYsIDB4MDAsIDB4MTAgfSB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLworCXsg LmNubCA9IHsgMHg2LCAweDdGLCAweDJCLCAweDAwLCAweDE0IH0gfSwJLyogMzUwICAgOTAwICAg ICAgOC4yICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg0NywgMHgzRiwgMHgwMCwgMHgwMCB9IH0s CS8qIDUwMCAgIDUwMCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEMsIDB4NjMsIDB4MzQs IDB4MDAsIDB4MEIgfSB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLworCXsgLmNubCA9IHsg MHg2LCAweDdGLCAweDJGLCAweDAwLCAweDEwIH0gfSwJLyogNTAwICAgOTAwICAgICAgNS4xICAg Ki8KKwl7IC5jbmwgPSB7IDB4QywgMHg2MSwgMHgzQywgMHgwMCwgMHgwMyB9IH0sCS8qIDY1MCAg IDcwMCAgICAgIDAuNiAgICovCisJeyAuY25sID0geyAweDYsIDB4N0IsIDB4MzUsIDB4MDAsIDB4 MEEgfSB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdG LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KK307CisK K3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHRnbF91eV9jb21i b19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyW10gPSB7CisJCQkJCQkJLyogTlQgbVYgVHJh bnMgbVYgZGIgICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHgzNSwgMHgzRiwgMHgwMCwgMHgwMCB9 IH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEEsIDB4NEYsIDB4 MzYsIDB4MDAsIDB4MDkgfSB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLworCXsgLmNubCA9 IHsgMHhDLCAweDYwLCAweDMyLCAweDAwLCAweDBEIH0gfSwJLyogMzUwICAgNzAwICAgICAgNi4w ICAgKi8KKwl7IC5jbmwgPSB7IDB4QywgMHg3RiwgMHgyRCwgMHgwMCwgMHgxMiB9IH0sCS8qIDM1 MCAgIDkwMCAgICAgIDguMiAgICovCisJeyAuY25sID0geyAweEMsIDB4NDcsIDB4M0YsIDB4MDAs IDB4MDAgfSB9LAkvKiA1MDAgICA1MDAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhDLCAw eDZGLCAweDM2LCAweDAwLCAweDA5IH0gfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KKwl7 IC5jbmwgPSB7IDB4NiwgMHg3RCwgMHgzMiwgMHgwMCwgMHgwRCB9IH0sCS8qIDUwMCAgIDkwMCAg ICAgIDUuMSAgICovCisJeyAuY25sID0geyAweDYsIDB4NjAsIDB4M0MsIDB4MDAsIDB4MDMgfSB9 LAkvKiA2NTAgICA3MDAgICAgICAwLjYgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDM0 LCAweDAwLCAweDBCIH0gfSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KKwl7IC5jbmwgPSB7 IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAg ICovCiB9OwogCiAvKgogICogQ2xvbmVkIHRoZSBIT0JMIGVudHJ5IHRvIGNvbXBseSB3aXRoIHRo ZSB2b2x0YWdlIGFuZCBwcmUtZW1waGFzaXMgZW50cmllcwogICogdGhhdCBEaXNwbGF5UG9ydCBz cGVjaWZpY2F0aW9uIHJlcXVpcmVzCiAgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9i dWZfdHJhbnMgdGdsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyX2hvYmxbXSA9 IHsKLQkJCQkJCS8qIFZTCXByZS1lbXAJKi8KLQl7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgw MCB9LAkvKiAwCTAJKi8KLQl7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAwCTEJ Ki8KLQl7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAwCTIJKi8KLQl7IDB4Niwg MHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAwCTMJKi8KLQl7IDB4NiwgMHg3RiwgMHgzRiwg MHgwMCwgMHgwMCB9LAkvKiAxCTAJKi8KLQl7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9 LAkvKiAxCTEJKi8KLQl7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAxCTIJKi8K LQl7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAyCTAJKi8KLQl7IDB4NiwgMHg3 RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAyCTEJKi8KK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRl bF9kZGlfYnVmX3RyYW5zX2VudHJ5IHRnbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBf aGJyMl9ob2JsW10gPSB7CisJCQkJCQkJLyogVlMJcHJlLWVtcAkqLworCXsgLmNubCA9IHsgMHg2 LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMAkwCSovCisJeyAuY25sID0geyAweDYs IDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAwCTEJKi8KKwl7IC5jbmwgPSB7IDB4Niwg MHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDAJMgkqLworCXsgLmNubCA9IHsgMHg2LCAw eDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMAkzCSovCisJeyAuY25sID0geyAweDYsIDB4 N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAxCTAJKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3 RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDEJMQkqLworCXsgLmNubCA9IHsgMHg2LCAweDdG LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMQkyCSovCisJeyAuY25sID0geyAweDYsIDB4N0Ys IDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAyCTAJKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3Riwg MHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDIJMQkqLwogfTsKIAotc3RhdGljIGNvbnN0IHN0cnVj dCBjbmxfZGRpX2J1Zl90cmFucyBya2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJy W10gPSB7Ci0JCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwotCXsgMHhBLCAweDJGLCAw eDNGLCAweDAwLCAweDAwIH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCi0JeyAweEEsIDB4 NEYsIDB4MzcsIDB4MDAsIDB4MDggfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KLQl7IDB4 QywgMHg2MywgMHgyRiwgMHgwMCwgMHgxMCB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLwot CXsgMHg2LCAweDdELCAweDJBLCAweDAwLCAweDE1IH0sCS8qIDM1MCAgIDkwMCAgICAgIDguMiAg ICovCi0JeyAweEEsIDB4NEMsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNTAwICAgNTAwICAgICAg MC4wICAgKi8KLQl7IDB4QywgMHg3MywgMHgzNCwgMHgwMCwgMHgwQiB9LAkvKiA1MDAgICA3MDAg ICAgICAyLjkgICAqLwotCXsgMHg2LCAweDdGLCAweDJGLCAweDAwLCAweDEwIH0sCS8qIDUwMCAg IDkwMCAgICAgIDUuMSAgICovCi0JeyAweEMsIDB4NkUsIDB4M0UsIDB4MDAsIDB4MDEgfSwJLyog NjUwICAgNzAwICAgICAgMC42ICAgKi8KLQl7IDB4NiwgMHg3RiwgMHgzNSwgMHgwMCwgMHgwQSB9 LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAqLwotCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAw eDAwIH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICovCitzdGF0aWMgY29uc3QgdW5pb24gaW50 ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBya2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBf aGJyW10gPSB7CisJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KKwl7IC5jbmwgPSB7 IDB4QSwgMHgyRiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAg ICovCisJeyAuY25sID0geyAweEEsIDB4NEYsIDB4MzcsIDB4MDAsIDB4MDggfSB9LAkvKiAzNTAg ICA1MDAgICAgICAzLjEgICAqLworCXsgLmNubCA9IHsgMHhDLCAweDYzLCAweDJGLCAweDAwLCAw eDEwIH0gfSwJLyogMzUwICAgNzAwICAgICAgNi4wICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3 RCwgMHgyQSwgMHgwMCwgMHgxNSB9IH0sCS8qIDM1MCAgIDkwMCAgICAgIDguMiAgICovCisJeyAu Y25sID0geyAweEEsIDB4NEMsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA1MDAgICA1MDAgICAg ICAwLjAgICAqLworCXsgLmNubCA9IHsgMHhDLCAweDczLCAweDM0LCAweDAwLCAweDBCIH0gfSwJ LyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgyRiwg MHgwMCwgMHgxMCB9IH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCisJeyAuY25sID0geyAw eEMsIDB4NkUsIDB4M0UsIDB4MDAsIDB4MDEgfSB9LAkvKiA2NTAgICA3MDAgICAgICAwLjYgICAq LworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDM1LCAweDAwLCAweDBBIH0gfSwJLyogNjAwICAg OTAwICAgICAgMy41ICAgKi8KKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgw MCB9IH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICovCiB9OwogCi1zdGF0aWMgY29uc3Qgc3Ry dWN0IGNubF9kZGlfYnVmX3RyYW5zIHJrbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9o YnIyX2hicjNbXSA9IHsKLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCi0JeyAweEEs IDB4MzUsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KLQl7 IDB4QSwgMHg1MCwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAq LwotCXsgMHhDLCAweDYxLCAweDMzLCAweDAwLCAweDBDIH0sCS8qIDM1MCAgIDcwMCAgICAgIDYu MCAgICovCi0JeyAweDYsIDB4N0YsIDB4MkUsIDB4MDAsIDB4MTEgfSwJLyogMzUwICAgOTAwICAg ICAgOC4yICAgKi8KLQl7IDB4QSwgMHg0NywgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA1MDAgICA1 MDAgICAgICAwLjAgICAqLwotCXsgMHhDLCAweDVGLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDUw MCAgIDcwMCAgICAgIDIuOSAgICovCi0JeyAweDYsIDB4N0YsIDB4MkYsIDB4MDAsIDB4MTAgfSwJ LyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KLQl7IDB4QywgMHg1RiwgMHgzRiwgMHgwMCwgMHgw MCB9LAkvKiA2NTAgICA3MDAgICAgICAwLjYgICAqLwotCXsgMHg2LCAweDdFLCAweDM2LCAweDAw LCAweDA5IH0sCS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCi0JeyAweDYsIDB4N0YsIDB4M0Ys IDB4MDAsIDB4MDAgfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KK3N0YXRpYyBjb25zdCB1 bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHJrbF9jb21ib19waHlfZGRpX3RyYW5zbGF0 aW9uc19kcF9oYnIyX2hicjNbXSA9IHsKKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAq LworCXsgLmNubCA9IHsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMzUwICAg MzUwICAgICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg1MCwgMHgzOCwgMHgwMCwgMHgw NyB9IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCisJeyAuY25sID0geyAweEMsIDB4NjEs IDB4MzMsIDB4MDAsIDB4MEMgfSB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLworCXsgLmNu bCA9IHsgMHg2LCAweDdGLCAweDJFLCAweDAwLCAweDExIH0gfSwJLyogMzUwICAgOTAwICAgICAg OC4yICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg0NywgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8q IDUwMCAgIDUwMCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEMsIDB4NUYsIDB4MzgsIDB4 MDAsIDB4MDcgfSB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLworCXsgLmNubCA9IHsgMHg2 LCAweDdGLCAweDJGLCAweDAwLCAweDEwIH0gfSwJLyogNTAwICAgOTAwICAgICAgNS4xICAgKi8K Kwl7IC5jbmwgPSB7IDB4QywgMHg1RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDY1MCAgIDcw MCAgICAgIDAuNiAgICovCisJeyAuY25sID0geyAweDYsIDB4N0UsIDB4MzYsIDB4MDAsIDB4MDkg fSB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAw eDNGLCAweDAwLCAweDAwIH0gfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KIH07CiAKLWJv b2wgaXNfaG9ibF9idWZfdHJhbnMoY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICp0YWJs ZSkKK2Jvb2wgaXNfaG9ibF9idWZfdHJhbnMoY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFu c19lbnRyeSAqdGFibGUpCiB7CiAJcmV0dXJuIHRhYmxlID09IHRnbF9jb21ib19waHlfZGRpX3Ry YW5zbGF0aW9uc19lZHBfaGJyMl9ob2JsOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19k ZGlfYnVmX3RyYW5zICoKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2Vu dHJ5ICoKIGJkd19nZXRfYnVmX3RyYW5zX2VkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwgaW50ICpuX2VudHJpZXMpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CkBAIC03NTIsNyArNzUyLDcgQEAgYmR3X2dl dF9idWZfdHJhbnNfZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50 cmllcykKIAl9CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgKgor c3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogc2tsX2dldF9i dWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVz KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rl ci0+YmFzZS5kZXYpOwpAQCAtNzY5LDcgKzc2OSw3IEBAIHNrbF9nZXRfYnVmX3RyYW5zX2RwKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmllcykKIAl9CiB9CiAKLXN0 YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgKgorc3RhdGljIGNvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgoga2JsX2dldF9idWZfdHJhbnNfZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQogewogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwpAQCAt NzkwLDcgKzc5MCw3IEBAIGtibF9nZXRfYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLCBpbnQgKm5fZW50cmllcykKIAl9CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3Qg aHN3X2RkaV9idWZfdHJhbnMgKgorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJh bnNfZW50cnkgKgogc2tsX2dldF9idWZfdHJhbnNfZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLCBpbnQgKm5fZW50cmllcykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKQEAgLTgyMiw3ICs4MjIsNyBAQCBz a2xfZ2V0X2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAq bl9lbnRyaWVzKQogCQlyZXR1cm4gc2tsX2dldF9idWZfdHJhbnNfZHAoZW5jb2Rlciwgbl9lbnRy aWVzKTsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyAqCitzdGF0 aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBza2xfZ2V0X2J1Zl90 cmFuc19oZG1pKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50ICpuX2VudHJp ZXMpCiB7CiAJaWYgKElTX1NLTF9VTFgoZGV2X3ByaXYpIHx8CkBAIC04NDYsNyArODQ2LDcgQEAg c3RhdGljIGludCBza2xfYnVmX3RyYW5zX251bV9lbnRyaWVzKGVudW0gcG9ydCBwb3J0LCBpbnQg bl9lbnRyaWVzKQogCQlyZXR1cm4gbWluKG5fZW50cmllcywgOSk7CiB9CiAKLXN0YXRpYyBjb25z dCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgKgorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2Rk aV9idWZfdHJhbnNfZW50cnkgKgogaHN3X2dldF9idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwpAQCAtODU0LDEyICs4 NTQsMTIgQEAgaHN3X2dldF9idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsIGludCAqbl9lbnRyaWVzKQogCWlmIChJU19LQUJZTEFLRShkZXZfcHJpdikgfHwKIAkgICAg SVNfQ09GRkVFTEFLRShkZXZfcHJpdikgfHwKIAkgICAgSVNfQ09NRVRMQUtFKGRldl9wcml2KSkg ewotCQljb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlvbnMgPQor CQljb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICpkZGlfdHJhbnNsYXRpb25z ID0KIAkJCWtibF9nZXRfYnVmX3RyYW5zX2RwKGVuY29kZXIsIG5fZW50cmllcyk7CiAJCSpuX2Vu dHJpZXMgPSBza2xfYnVmX3RyYW5zX251bV9lbnRyaWVzKGVuY29kZXItPnBvcnQsICpuX2VudHJp ZXMpOwogCQlyZXR1cm4gZGRpX3RyYW5zbGF0aW9uczsKIAl9IGVsc2UgaWYgKElTX1NLWUxBS0Uo ZGV2X3ByaXYpKSB7Ci0JCWNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5z bGF0aW9ucyA9CisJCWNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKmRkaV90 cmFuc2xhdGlvbnMgPQogCQkJc2tsX2dldF9idWZfdHJhbnNfZHAoZW5jb2Rlciwgbl9lbnRyaWVz KTsKIAkJKm5fZW50cmllcyA9IHNrbF9idWZfdHJhbnNfbnVtX2VudHJpZXMoZW5jb2Rlci0+cG9y dCwgKm5fZW50cmllcyk7CiAJCXJldHVybiBkZGlfdHJhbnNsYXRpb25zOwpAQCAtODc1LDEzICs4 NzUsMTMgQEAgaHN3X2dldF9idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsIGludCAqbl9lbnRyaWVzKQogCXJldHVybiBOVUxMOwogfQogCi1zdGF0aWMgY29uc3Qgc3Ry dWN0IGhzd19kZGlfYnVmX3RyYW5zICoKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVm X3RyYW5zX2VudHJ5ICoKIGhzd19nZXRfYnVmX3RyYW5zX2VkcChzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwgaW50ICpuX2VudHJpZXMpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAKIAlpZiAoRElTUExBWV9W RVIoZGV2X3ByaXYpID09IDkgJiYgIUlTX0JST1hUT04oZGV2X3ByaXYpKSB7Ci0JCWNvbnN0IHN0 cnVjdCBoc3dfZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9ucyA9CisJCWNvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKmRkaV90cmFuc2xhdGlvbnMgPQogCQkJc2tsX2dl dF9idWZfdHJhbnNfZWRwKGVuY29kZXIsIG5fZW50cmllcyk7CiAJCSpuX2VudHJpZXMgPSBza2xf YnVmX3RyYW5zX251bV9lbnRyaWVzKGVuY29kZXItPnBvcnQsICpuX2VudHJpZXMpOwogCQlyZXR1 cm4gZGRpX3RyYW5zbGF0aW9uczsKQEAgLTg5Niw3ICs4OTYsNyBAQCBoc3dfZ2V0X2J1Zl90cmFu c19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQogCXJl dHVybiBOVUxMOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zICoK K3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGhzd19nZXRf YnVmX3RyYW5zX2ZkaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJICAgICAgaW50 ICpuX2VudHJpZXMpCiB7CkBAIC05MTQsNyArOTE0LDcgQEAgaHN3X2dldF9idWZfdHJhbnNfZmRp KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXJldHVybiBOVUxMOwogfQogCi1zdGF0 aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zICoKK3N0YXRpYyBjb25zdCB1bmlvbiBp bnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGhzd19nZXRfYnVmX3RyYW5zX2hkbWkoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCSAgICAgICBpbnQgKm5fZW50cmllcykKIHsKQEAg LTkzNCw3ICs5MzQsNyBAQCBoc3dfZ2V0X2J1Zl90cmFuc19oZG1pKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCXJldHVybiBOVUxMOwogfQogCi1jb25zdCBzdHJ1Y3QgaHN3X2RkaV9i dWZfdHJhbnMgKgorY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBoc3df Z2V0X2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJICBjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICBpbnQgKm5fZW50cmllcykK QEAgLTk0OSwxNCArOTQ5LDE0IEBAIGhzd19nZXRfYnVmX3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCQlyZXR1cm4gaHN3X2dldF9idWZfdHJhbnNfZHAoZW5jb2Rlciwgbl9l bnRyaWVzKTsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBieHRfZGRpX2J1Zl90cmFucyAqCitz dGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBieHRfZ2V0X2J1 Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50ICpuX2VudHJpZXMp CiB7CiAJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUoYnh0X2RkaV90cmFuc2xhdGlvbnNfZHApOwog CXJldHVybiBieHRfZGRpX3RyYW5zbGF0aW9uc19kcDsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVj dCBieHRfZGRpX2J1Zl90cmFucyAqCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90 cmFuc19lbnRyeSAqCiBieHRfZ2V0X2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwpAQCAtOTY5LDE0ICs5NjksMTQg QEAgYnh0X2dldF9idWZfdHJhbnNfZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBp bnQgKm5fZW50cmllcykKIAlyZXR1cm4gYnh0X2dldF9idWZfdHJhbnNfZHAoZW5jb2Rlciwgbl9l bnRyaWVzKTsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBieHRfZGRpX2J1Zl90cmFucyAqCitz dGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBieHRfZ2V0X2J1 Zl90cmFuc19oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmll cykKIHsKIAkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShieHRfZGRpX3RyYW5zbGF0aW9uc19oZG1p KTsKIAlyZXR1cm4gYnh0X2RkaV90cmFuc2xhdGlvbnNfaGRtaTsKIH0KIAotY29uc3Qgc3RydWN0 IGJ4dF9kZGlfYnVmX3RyYW5zICoKK2NvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50 cnkgKgogYnh0X2dldF9idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJ CSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCSAgaW50ICpu X2VudHJpZXMpCkBAIC05ODgsNyArOTg4LDcgQEAgYnh0X2dldF9idWZfdHJhbnMoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0dXJuIGJ4dF9nZXRfYnVmX3RyYW5zX2RwKGVuY29k ZXIsIG5fZW50cmllcyk7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJh bnMgKgorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogY25s X2dldF9idWZfdHJhbnNfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50ICpu X2VudHJpZXMpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7CkBAIC0xMDEwLDcgKzEwMTAsNyBAQCBjbmxfZ2V0X2J1Zl90 cmFuc19oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmllcykK IAlyZXR1cm4gTlVMTDsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFu cyAqCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBjbmxf Z2V0X2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50ICpuX2Vu dHJpZXMpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShl bmNvZGVyLT5iYXNlLmRldik7CkBAIC0xMDMyLDcgKzEwMzIsNyBAQCBjbmxfZ2V0X2J1Zl90cmFu c19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50ICpuX2VudHJpZXMpCiAJcmV0 dXJuIE5VTEw7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgor c3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogY25sX2dldF9i dWZfdHJhbnNfZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmll cykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29k ZXItPmJhc2UuZGV2KTsKQEAgLTEwNTgsNyArMTA1OCw3IEBAIGNubF9nZXRfYnVmX3RyYW5zX2Vk cChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50ICpuX2VudHJpZXMpCiAJfQogfQog Ci1jb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgorY29uc3QgdW5pb24gaW50ZWxfZGRp X2J1Zl90cmFuc19lbnRyeSAqCiBjbmxfZ2V0X2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIAkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKIAkJICBpbnQgKm5fZW50cmllcykKQEAgLTEwNzAsNyArMTA3MCw3IEBAIGNubF9nZXRfYnVm X3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXJldHVybiBjbmxfZ2V0X2J1 Zl90cmFuc19kcChlbmNvZGVyLCBuX2VudHJpZXMpOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0 IGNubF9kZGlfYnVmX3RyYW5zICoKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3Ry YW5zX2VudHJ5ICoKIGljbF9nZXRfY29tYm9fYnVmX3RyYW5zX2hkbWkoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlLAogCQkJICAgICBpbnQgKm5fZW50cmllcykKQEAgLTEwNzksNyArMTA3OSw3IEBA IGljbF9nZXRfY29tYm9fYnVmX3RyYW5zX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCiAJcmV0dXJuIGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19oZG1pOwogfQogCi1z dGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoKK3N0YXRpYyBjb25zdCB1bmlv biBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGljbF9nZXRfY29tYm9fYnVmX3RyYW5zX2Rw KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICBpbnQgKm5fZW50cmllcykKQEAgLTEwODgs NyArMTA4OCw3IEBAIGljbF9nZXRfY29tYm9fYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCXJldHVybiBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBf aGJyMjsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCitzdGF0 aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBpY2xfZ2V0X2NvbWJv X2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICAgaW50ICpuX2Vu dHJpZXMpCkBAIC0xMTEyLDcgKzExMTIsNyBAQCBpY2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19lZHAo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0dXJuIGljbF9nZXRfY29tYm9fYnVm X3RyYW5zX2RwKGVuY29kZXIsIGNydGNfc3RhdGUsIG5fZW50cmllcyk7CiB9CiAKLWNvbnN0IHN0 cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCitjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5z X2VudHJ5ICoKIGljbF9nZXRfY29tYm9fYnVmX3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJ CQlpbnQgKm5fZW50cmllcykKQEAgLTExMjUsNyArMTEyNSw3IEBAIGljbF9nZXRfY29tYm9fYnVm X3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQlyZXR1cm4gaWNsX2dldF9j b21ib19idWZfdHJhbnNfZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgbl9lbnRyaWVzKTsKIH0KIAot c3RhdGljIGNvbnN0IHN0cnVjdCBpY2xfbWdfcGh5X2RkaV9idWZfdHJhbnMgKgorc3RhdGljIGNv bnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogaWNsX2dldF9tZ19idWZfdHJh bnNfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgIGludCAqbl9lbnRyaWVzKQpAQCAt MTEzNCw3ICsxMTM0LDcgQEAgaWNsX2dldF9tZ19idWZfdHJhbnNfaGRtaShzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1cm4gaWNsX21nX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hk bWk7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaWNsX21nX3BoeV9kZGlfYnVmX3RyYW5zICoK K3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGljbF9nZXRf bWdfYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQlpbnQgKm5fZW50cmllcykK QEAgLTExNDgsNyArMTE0OCw3IEBAIGljbF9nZXRfbWdfYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogCX0KIH0KIAotY29uc3Qgc3RydWN0IGljbF9tZ19waHlfZGRp X2J1Zl90cmFucyAqCitjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGlj bF9nZXRfbWdfYnVmX3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkgICAg IGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkgICAgIGludCAq bl9lbnRyaWVzKQpAQCAtMTE1OSw3ICsxMTU5LDcgQEAgaWNsX2dldF9tZ19idWZfdHJhbnMoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCXJldHVybiBpY2xfZ2V0X21nX2J1Zl90cmFu c19kcChlbmNvZGVyLCBjcnRjX3N0YXRlLCBuX2VudHJpZXMpOwogfQogCi1zdGF0aWMgY29uc3Qg c3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlf YnVmX3RyYW5zX2VudHJ5ICoKIGVobF9nZXRfY29tYm9fYnVmX3RyYW5zX2hkbWkoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlLAogCQkJICAgICBpbnQgKm5fZW50cmllcykKQEAgLTExNjgsNyArMTE2 OCw3IEBAIGVobF9nZXRfY29tYm9fYnVmX3RyYW5zX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiAJcmV0dXJuIGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19oZG1pOwog fQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoKK3N0YXRpYyBjb25z dCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGVobF9nZXRfY29tYm9fYnVmX3Ry YW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICBpbnQgKm5fZW50cmllcykKQEAg LTExNzcsNyArMTE3Nyw3IEBAIGVobF9nZXRfY29tYm9fYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogCXJldHVybiBlaGxfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlv bnNfZHA7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgorc3Rh dGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogZWhsX2dldF9jb21i b19idWZfdHJhbnNfZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgIGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgIGludCAqbl9l bnRyaWVzKQpAQCAtMTE5Miw3ICsxMTkyLDcgQEAgZWhsX2dldF9jb21ib19idWZfdHJhbnNfZWRw KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXJldHVybiBlaGxfZ2V0X2NvbWJvX2J1 Zl90cmFuc19kcChlbmNvZGVyLCBjcnRjX3N0YXRlLCBuX2VudHJpZXMpOwogfQogCi1jb25zdCBz dHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgorY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFu c19lbnRyeSAqCiBlaGxfZ2V0X2NvbWJvX2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKIAkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAog CQkJaW50ICpuX2VudHJpZXMpCkBAIC0xMjA1LDcgKzEyMDUsNyBAQCBlaGxfZ2V0X2NvbWJvX2J1 Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJcmV0dXJuIGVobF9nZXRf Y29tYm9fYnVmX3RyYW5zX2RwKGVuY29kZXIsIGNydGNfc3RhdGUsIG5fZW50cmllcyk7CiB9CiAK LXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgorc3RhdGljIGNvbnN0IHVu aW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgoganNsX2dldF9jb21ib19idWZfdHJhbnNf aGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICAgY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICAgIGludCAqbl9lbnRyaWVzKQpA QCAtMTIxNCw3ICsxMjE0LDcgQEAganNsX2dldF9jb21ib19idWZfdHJhbnNfaGRtaShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1cm4gaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNs YXRpb25zX2hkbWk7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMg Kgorc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgoganNsX2dl dF9jb21ib19idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkg ICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgIGludCAq bl9lbnRyaWVzKQpAQCAtMTIyMyw3ICsxMjIzLDcgQEAganNsX2dldF9jb21ib19idWZfdHJhbnNf ZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0dXJuIGljbF9jb21ib19waHlf ZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9k ZGlfYnVmX3RyYW5zICoKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2Vu dHJ5ICoKIGpzbF9nZXRfY29tYm9fYnVmX3RyYW5zX2VkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKIAkJCSAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKIAkJCSAgICBpbnQgKm5fZW50cmllcykKQEAgLTEyNDMsNyArMTI0Myw3IEBAIGpzbF9nZXRf Y29tYm9fYnVmX3RyYW5zX2VkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1 cm4ganNsX2dldF9jb21ib19idWZfdHJhbnNfZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgbl9lbnRy aWVzKTsKIH0KIAotY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoKK2NvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgoganNsX2dldF9jb21ib19idWZfdHJhbnMoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCWludCAqbl9lbnRyaWVzKQpAQCAtMTI1Niw3ICsxMjU2LDcg QEAganNsX2dldF9jb21ib19idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiAJCXJldHVybiBqc2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19kcChlbmNvZGVyLCBjcnRjX3N0YXRl LCBuX2VudHJpZXMpOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5z ICoKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIHRnbF9n ZXRfY29tYm9fYnVmX3RyYW5zX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJ CQkgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAg ICBpbnQgKm5fZW50cmllcykKQEAgLTEyNjUsNyArMTI2NSw3IEBAIHRnbF9nZXRfY29tYm9fYnVm X3RyYW5zX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0dXJuIGljbF9j b21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19oZG1pOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0 IGNubF9kZGlfYnVmX3RyYW5zICoKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3Ry YW5zX2VudHJ5ICoKIHRnbF9nZXRfY29tYm9fYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCQkJICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUsCiAJCQkgICBpbnQgKm5fZW50cmllcykKQEAgLTEyOTQsNyArMTI5NCw3IEBAIHRnbF9n ZXRfY29tYm9fYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCX0K IH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCitzdGF0aWMgY29u c3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiB0Z2xfZ2V0X2NvbWJvX2J1Zl90 cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICAgaW50ICpuX2VudHJpZXMp CkBAIC0xMzE2LDcgKzEzMTYsNyBAQCB0Z2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19lZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0dXJuIHRnbF9nZXRfY29tYm9fYnVmX3RyYW5z X2RwKGVuY29kZXIsIGNydGNfc3RhdGUsIG5fZW50cmllcyk7CiB9CiAKLWNvbnN0IHN0cnVjdCBj bmxfZGRpX2J1Zl90cmFucyAqCitjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5 ICoKIHRnbF9nZXRfY29tYm9fYnVmX3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAogCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQlpbnQg Km5fZW50cmllcykKQEAgLTEzMjksNyArMTMyOSw3IEBAIHRnbF9nZXRfY29tYm9fYnVmX3RyYW5z KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQlyZXR1cm4gdGdsX2dldF9jb21ib19i dWZfdHJhbnNfZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgbl9lbnRyaWVzKTsKIH0KIAotc3RhdGlj IGNvbnN0IHN0cnVjdCB0Z2xfZGtsX3BoeV9kZGlfYnVmX3RyYW5zICoKK3N0YXRpYyBjb25zdCB1 bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIHRnbF9nZXRfZGtsX2J1Zl90cmFuc19o ZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICBpbnQgKm5fZW50cmllcykKQEAgLTEz MzgsNyArMTMzOCw3IEBAIHRnbF9nZXRfZGtsX2J1Zl90cmFuc19oZG1pKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAogCXJldHVybiB0Z2xfZGtsX3BoeV9oZG1pX2RkaV90cmFuczsKIH0K IAotc3RhdGljIGNvbnN0IHN0cnVjdCB0Z2xfZGtsX3BoeV9kZGlfYnVmX3RyYW5zICoKK3N0YXRp YyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIHRnbF9nZXRfZGtsX2J1 Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSBjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSBpbnQgKm5fZW50cmllcykKQEAg LTEzNTIsNyArMTM1Miw3IEBAIHRnbF9nZXRfZGtsX2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAl9CiB9CiAKLWNvbnN0IHN0cnVjdCB0Z2xfZGtsX3BoeV9kZGlf YnVmX3RyYW5zICoKK2NvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogdGds X2dldF9ka2xfYnVmX3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkgICAg ICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICAgICAgaW50 ICpuX2VudHJpZXMpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2RkaV9idWZfdHJhbnMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGRpX2J1Zl90cmFucy5oCmluZGV4IGU1YjY0ZTk0MDMwYy4uMWY1YWUwY2Q2NzZiIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaV9idWZfdHJhbnMuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaV9idWZfdHJhbnMuaApA QCAtNDUsNDggKzQ1LDU2IEBAIHN0cnVjdCB0Z2xfZGtsX3BoeV9kZGlfYnVmX3RyYW5zIHsKIAl1 MzIgZGtsX2RlX2VtcGhhc2lzX2NvbnRyb2w7CiB9OwogCi1ib29sIGlzX2hvYmxfYnVmX3RyYW5z KGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqdGFibGUpOwordW5pb24gaW50ZWxfZGRp X2J1Zl90cmFuc19lbnRyeSB7CisJc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zIGhzdzsKKwlzdHJ1 Y3QgYnh0X2RkaV9idWZfdHJhbnMgYnh0OworCXN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBjbmw7 CisJc3RydWN0IGljbF9tZ19waHlfZGRpX2J1Zl90cmFucyBtZzsKKwlzdHJ1Y3QgdGdsX2RrbF9w aHlfZGRpX2J1Zl90cmFucyBka2w7Cit9OworCitib29sIGlzX2hvYmxfYnVmX3RyYW5zKGNvbnN0 IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKnRhYmxlKTsKIAogaW50IGludGVsX2Rk aV9oZG1pX251bV9lbnRyaWVzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAg ICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgICAg IGludCAqZGVmYXVsdF9lbnRyeSk7CiAKLWNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyAq Citjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGhzd19nZXRfYnVmX3Ry YW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkgIGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkgIGludCAqbl9lbnRyaWVzKTsKIAotY29uc3Qg c3RydWN0IGJ4dF9kZGlfYnVmX3RyYW5zICoKK2NvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJh bnNfZW50cnkgKgogYnh0X2dldF9idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCiAJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCSAg aW50ICpuX2VudHJpZXMpOwogCi1jb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgorY29u c3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiB0Z2xfZ2V0X2NvbWJvX2J1Zl90 cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCWNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJaW50ICpuX2VudHJpZXMpOwotY29uc3Qgc3Ry dWN0IHRnbF9ka2xfcGh5X2RkaV9idWZfdHJhbnMgKgorY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1 Zl90cmFuc19lbnRyeSAqCiB0Z2xfZ2V0X2RrbF9idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCiAJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlLAogCQkgICAgICBpbnQgKm5fZW50cmllcyk7Ci1jb25zdCBzdHJ1Y3QgY25sX2RkaV9i dWZfdHJhbnMgKgorY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCiBqc2xf Z2V0X2NvbWJvX2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCWNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJaW50ICpuX2VudHJp ZXMpOwotY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoKK2NvbnN0IHVuaW9uIGludGVs X2RkaV9idWZfdHJhbnNfZW50cnkgKgogZWhsX2dldF9jb21ib19idWZfdHJhbnMoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSwKIAkJCWludCAqbl9lbnRyaWVzKTsKLWNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1 Zl90cmFucyAqCitjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGljbF9n ZXRfY29tYm9fYnVmX3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQlpbnQgKm5fZW50cmll cyk7Ci1jb25zdCBzdHJ1Y3QgaWNsX21nX3BoeV9kZGlfYnVmX3RyYW5zICoKK2NvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgogaWNsX2dldF9tZ19idWZfdHJhbnMoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCiAJCSAgICAgaW50ICpuX2VudHJpZXMpOwogCi1jb25zdCBzdHJ1 Y3QgY25sX2RkaV9idWZfdHJhbnMgKgorY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19l bnRyeSAqCiBjbmxfZ2V0X2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK IAkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICBpbnQg Km5fZW50cmllcyk7Ci0tIAoyLjI2LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=