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 61B74C4743D for ; Tue, 8 Jun 2021 07:36:26 +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 26C0861287 for ; Tue, 8 Jun 2021 07:36:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 26C0861287 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 C2AC46EAD8; Tue, 8 Jun 2021 07:36:25 +0000 (UTC) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 81B2D6EADB for ; Tue, 8 Jun 2021 07:36:24 +0000 (UTC) IronPort-SDR: 3dNH/x24GdQ9n+cMAXPBfyR+7pIPp+e1v1cPo4jBNqV5W2lvN/ZpTGXTw0rnRjuWHV49V4VJTw eORPjhqe5NcA== X-IronPort-AV: E=McAfee;i="6200,9189,10008"; a="204814045" X-IronPort-AV: E=Sophos;i="5.83,257,1616482800"; d="scan'208";a="204814045" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jun 2021 00:36:23 -0700 IronPort-SDR: ICcJ0wuOxlSjezOxj3E1CoZL3oesfWf1FIMyJdpXTiHjhSecWN3y4CABbBOmsbjDYO1Hi6OSsQ K3Mi5iDYntUg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,257,1616482800"; d="scan'208";a="552184766" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.171]) by fmsmga001.fm.intel.com with SMTP; 08 Jun 2021 00:36:21 -0700 Received: by stinkbox (sSMTP sendmail emulation); Tue, 08 Jun 2021 10:36:20 +0300 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Tue, 8 Jun 2021 10:35:51 +0300 Message-Id: <20210608073603.2408-6-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210608073603.2408-1-ville.syrjala@linux.intel.com> References: <20210608073603.2408-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2 05/17] drm/i915: Wrap the buf trans tables into a struct 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: , Cc: Jani Nikula Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClB1 dCBhIHdyYXBwZXIgc3RydWN0IGFyb3VuZCB0aGUgYnVmIHRyYW5zIHRhYmxlcyBzbyB0aGF0Cndl IGNhbiBkZWNsYXJlIHRoZSBudW1iZXIgb2YgZW50cmllcyBhbmQgZGVmYXVsdCBIRE1JIGVudHJ5 CmFsb25nc2lkZSB0aGUgdGFibGUuCgpAd3JhcEAKaWRlbnRpZmllciBvbGQgPX4gIl4uKnRyYW5z bGF0aW9ucy4qIjsKZnJlc2ggaWRlbnRpZmllciBuZXcgPSAiXyIgIyMgb2xkOwp0eXBlIFQ7CkBA CjwuLi4Kc3RhdGljIGNvbnN0IFQKLSBvbGQKKyBuZXcKW10gPSB7CiAgICAgICAuLi4KfTsKKwor IHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyBvbGQgPSB7CisgIC5lbnRy aWVzID0gbmV3LAorICAubnVtX2VudHJpZXMgPSBBUlJBWV9TSVpFKG5ldyksCisgfTsKLi4uPgoK QEAKaWRlbnRpZmllciB3cmFwLm9sZDsKQEAKKAotIEFSUkFZX1NJWkUob2xkKQorIG9sZC5udW1f ZW50cmllcwp8Ci0gb2xkCisgb2xkLmVudHJpZXMKKQoKQEAKQEAKdW5pb24gaW50ZWxfZGRpX2J1 Zl90cmFuc19lbnRyeSB7Ci4uLgp9OworCitzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyB7Cisg ICAgICAgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqZW50cmllczsKKyAg ICAgICB1OCBudW1fZW50cmllczsKK307Cgp2MjogSGFuZGxlIGFkbC1wCgpSZXZpZXdlZC1ieTog SmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4gI3YxClNpZ25lZC1vZmYtYnk6IFZp bGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogLi4uL2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1Zl90cmFucy5jICAgIHwgNjIxICsrKysrKysrKysr KystLS0tLQogLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1Zl90cmFucy5oICAgIHwg ICA1ICsKIDIgZmlsZXMgY2hhbmdlZCwgNDQ4IGluc2VydGlvbnMoKyksIDE3OCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaV9i dWZfdHJhbnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1Zl90 cmFucy5jCmluZGV4IDdmM2MyM2Q5YzFkYS4uNWUxODA1Njc4MGE4IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaV9idWZfdHJhbnMuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaV9idWZfdHJhbnMuYwpAQCAtMTMsNyAr MTMsNyBAQAogICogdGhlbSBmb3IgYm90aCBEUCBhbmQgRkRJIHRyYW5zcG9ydHMsIGFsbG93aW5n IHRob3NlIHBvcnRzIHRvCiAgKiBhdXRvbWF0aWNhbGx5IGFkYXB0IHRvIEhETUkgY29ubmVjdGlv bnMgYXMgd2VsbAogICovCi1zdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19l bnRyeSBoc3dfZGRpX3RyYW5zbGF0aW9uc19kcFtdID0geworc3RhdGljIGNvbnN0IHVuaW9uIGlu dGVsX2RkaV9idWZfdHJhbnNfZW50cnkgX2hzd19kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7CiAJ eyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMDYwMDBFLCAweDAgfSB9LAogCXsgLmhzdyA9IHsg MHgwMEQ3NUZGRiwgMHgwMDA1MDAwQSwgMHgwIH0gfSwKIAl7IC5oc3cgPSB7IDB4MDBDMzBGRkYs IDB4MDAwNDAwMDYsIDB4MCB9IH0sCkBAIC0yNSw3ICsyNSwxMiBAQCBzdGF0aWMgY29uc3QgdW5p b24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBoc3dfZGRpX3RyYW5zbGF0aW9uc19kcFtdID0g ewogCXsgLmhzdyA9IHsgMHg4MEQ3NUZGRiwgMHgwMDBCMDAwMCwgMHgwIH0gfSwKIH07CiAKLXN0 YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGhzd19kZGlfdHJhbnNs YXRpb25zX2ZkaVtdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5z IGhzd19kZGlfdHJhbnNsYXRpb25zX2RwID0geworCS5lbnRyaWVzID0gX2hzd19kZGlfdHJhbnNs YXRpb25zX2RwLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX2hzd19kZGlfdHJhbnNsYXRp b25zX2RwKSwKK307CisKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2Vu dHJ5IF9oc3dfZGRpX3RyYW5zbGF0aW9uc19mZGlbXSA9IHsKIAl7IC5oc3cgPSB7IDB4MDBGRkZG RkYsIDB4MDAwNzAwMEUsIDB4MCB9IH0sCiAJeyAuaHN3ID0geyAweDAwRDc1RkZGLCAweDAwMEYw MDBBLCAweDAgfSB9LAogCXsgLmhzdyA9IHsgMHgwMEMzMEZGRiwgMHgwMDA2MDAwNiwgMHgwIH0g fSwKQEAgLTM3LDcgKzQyLDEyIEBAIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3Ry YW5zX2VudHJ5IGhzd19kZGlfdHJhbnNsYXRpb25zX2ZkaVtdID0gewogCXsgLmhzdyA9IHsgMHgw MEQ3NUZGRiwgMHgwMDFFMDAwMCwgMHgwIH0gfSwKIH07CiAKLXN0YXRpYyBjb25zdCB1bmlvbiBp bnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGhzd19kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsK K3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyBoc3dfZGRpX3RyYW5zbGF0 aW9uc19mZGkgPSB7CisJLmVudHJpZXMgPSBfaHN3X2RkaV90cmFuc2xhdGlvbnNfZmRpLAorCS5u dW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX2hzd19kZGlfdHJhbnNsYXRpb25zX2ZkaSksCit9Owor CitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBfaHN3X2RkaV90 cmFuc2xhdGlvbnNfaGRtaVtdID0gewogCQkJCQkJCS8qIElkeAlOVCBtViBkCVQgbVYgZAlkYgkq LwogCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDA2MDAwRSwgMHgwIH0gfSwJLyogMDoJNDAw CTQwMAkwCSovCiAJeyAuaHN3ID0geyAweDAwRTc5RkZGLCAweDAwMEUwMDBDLCAweDAgfSB9LAkv KiAxOgk0MDAJNTAwCTIJKi8KQEAgLTUzLDcgKzYzLDEyIEBAIHN0YXRpYyBjb25zdCB1bmlvbiBp bnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGhzd19kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsK IAl7IC5oc3cgPSB7IDB4ODBGRkZGRkYsIDB4MDAwMzAwMDIsIDB4MCB9IH0sCS8qIDExOgkxMDAw CTEwMDAJMAkqLwogfTsKIAotc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNf ZW50cnkgYmR3X2RkaV90cmFuc2xhdGlvbnNfZWRwW10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0 IGludGVsX2RkaV9idWZfdHJhbnMgaHN3X2RkaV90cmFuc2xhdGlvbnNfaGRtaSA9IHsKKwkuZW50 cmllcyA9IF9oc3dfZGRpX3RyYW5zbGF0aW9uc19oZG1pLAorCS5udW1fZW50cmllcyA9IEFSUkFZ X1NJWkUoX2hzd19kZGlfdHJhbnNsYXRpb25zX2hkbWkpLAorfTsKKworc3RhdGljIGNvbnN0IHVu aW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgX2Jkd19kZGlfdHJhbnNsYXRpb25zX2VkcFtd ID0gewogCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDAwMDAxMiwgMHgwIH0gfSwKIAl7IC5o c3cgPSB7IDB4MDBFQkFGRkYsIDB4MDAwMjAwMTEsIDB4MCB9IH0sCiAJeyAuaHN3ID0geyAweDAw QzcxRkZGLCAweDAwMDYwMDBGLCAweDAgfSB9LApAQCAtNjUsNyArODAsMTIgQEAgc3RhdGljIGNv bnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgYmR3X2RkaV90cmFuc2xhdGlvbnNf ZWRwW10gPSB7CiAJeyAuaHN3ID0geyAweDAwREI2RkZGLCAweDAwMEEwMDBDLCAweDAgfSB9LAog fTsKIAotc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgYmR3X2Rk aV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1 Zl90cmFucyBiZHdfZGRpX3RyYW5zbGF0aW9uc19lZHAgPSB7CisJLmVudHJpZXMgPSBfYmR3X2Rk aV90cmFuc2xhdGlvbnNfZWRwLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX2Jkd19kZGlf dHJhbnNsYXRpb25zX2VkcCksCit9OworCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1 Zl90cmFuc19lbnRyeSBfYmR3X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKIAl7IC5oc3cgPSB7 IDB4MDBGRkZGRkYsIDB4MDAwNzAwMEUsIDB4MCB9IH0sCiAJeyAuaHN3ID0geyAweDAwRDc1RkZG LCAweDAwMEUwMDBBLCAweDAgfSB9LAogCXsgLmhzdyA9IHsgMHgwMEJFRkZGRiwgMHgwMDE0MDAw NiwgMHgwIH0gfSwKQEAgLTc3LDcgKzk3LDEyIEBAIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9k ZGlfYnVmX3RyYW5zX2VudHJ5IGJkd19kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7CiAJeyAuaHN3 ID0geyAweDgwRDc1RkZGLCAweDAwMUIwMDAyLCAweDAgfSB9LAogfTsKIAotc3RhdGljIGNvbnN0 IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgYmR3X2RkaV90cmFuc2xhdGlvbnNfZmRp W10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RkaV9idWZfdHJhbnMgYmR3X2RkaV90 cmFuc2xhdGlvbnNfZHAgPSB7CisJLmVudHJpZXMgPSBfYmR3X2RkaV90cmFuc2xhdGlvbnNfZHAs CisJLm51bV9lbnRyaWVzID0gQVJSQVlfU0laRShfYmR3X2RkaV90cmFuc2xhdGlvbnNfZHApLAor fTsKKworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgX2Jkd19k ZGlfdHJhbnNsYXRpb25zX2ZkaVtdID0gewogCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDAx MDAwRSwgMHgwIH0gfSwKIAl7IC5oc3cgPSB7IDB4MDBENzVGRkYsIDB4MDAwNDAwMEEsIDB4MCB9 IH0sCiAJeyAuaHN3ID0geyAweDAwQzMwRkZGLCAweDAwMDcwMDA2LCAweDAgfSB9LApAQCAtODks NyArMTE0LDEyIEBAIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5 IGJkd19kZGlfdHJhbnNsYXRpb25zX2ZkaVtdID0gewogCXsgLmhzdyA9IHsgMHgwMEQ3NUZGRiwg MHgwMDBDMDAwMCwgMHgwIH0gfSwKIH07CiAKLXN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlf YnVmX3RyYW5zX2VudHJ5IGJkd19kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyBiZHdfZGRpX3RyYW5zbGF0aW9uc19mZGkg PSB7CisJLmVudHJpZXMgPSBfYmR3X2RkaV90cmFuc2xhdGlvbnNfZmRpLAorCS5udW1fZW50cmll cyA9IEFSUkFZX1NJWkUoX2Jkd19kZGlfdHJhbnNsYXRpb25zX2ZkaSksCit9OworCitzdGF0aWMg Y29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBfYmR3X2RkaV90cmFuc2xhdGlv bnNfaGRtaVtdID0gewogCQkJCQkJCS8qIElkeAlOVCBtViBkCVQgbVYgZGYJZGIJKi8KIAl7IC5o c3cgPSB7IDB4MDBGRkZGRkYsIDB4MDAwNzAwMEUsIDB4MCB9IH0sCS8qIDA6CTQwMAk0MDAJMAkq LwogCXsgLmhzdyA9IHsgMHgwMEQ3NUZGRiwgMHgwMDBFMDAwQSwgMHgwIH0gfSwJLyogMToJNDAw CTYwMAkzLjUJKi8KQEAgLTEwMyw4ICsxMzMsMTMgQEAgc3RhdGljIGNvbnN0IHVuaW9uIGludGVs X2RkaV9idWZfdHJhbnNfZW50cnkgYmR3X2RkaV90cmFuc2xhdGlvbnNfaGRtaVtdID0gewogCXsg LmhzdyA9IHsgMHg4MEZGRkZGRiwgMHgwMDFCMDAwMiwgMHgwIH0gfSwJLyogOToJMTAwMAkxMDAw CTAJKi8KIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyBiZHdf ZGRpX3RyYW5zbGF0aW9uc19oZG1pID0geworCS5lbnRyaWVzID0gX2Jkd19kZGlfdHJhbnNsYXRp b25zX2hkbWksCisJLm51bV9lbnRyaWVzID0gQVJSQVlfU0laRShfYmR3X2RkaV90cmFuc2xhdGlv bnNfaGRtaSksCit9OworCiAvKiBTa3lsYWtlIEggYW5kIFMgKi8KLXN0YXRpYyBjb25zdCB1bmlv biBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHNrbF9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7 CitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBfc2tsX2RkaV90 cmFuc2xhdGlvbnNfZHBbXSA9IHsKIAl7IC5oc3cgPSB7IDB4MDAwMDIwMTYsIDB4MDAwMDAwQTAs IDB4MCB9IH0sCiAJeyAuaHN3ID0geyAweDAwMDA1MDEyLCAweDAwMDAwMDlCLCAweDAgfSB9LAog CXsgLmhzdyA9IHsgMHgwMDAwNzAxMSwgMHgwMDAwMDA4OCwgMHgwIH0gfSwKQEAgLTExNiw4ICsx NTEsMTMgQEAgc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgc2ts X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKIAl7IC5oc3cgPSB7IDB4ODAwMDUwMTIsIDB4MDAw MDAwQzAsIDB4MSB9IH0sCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RkaV9idWZf dHJhbnMgc2tsX2RkaV90cmFuc2xhdGlvbnNfZHAgPSB7CisJLmVudHJpZXMgPSBfc2tsX2RkaV90 cmFuc2xhdGlvbnNfZHAsCisJLm51bV9lbnRyaWVzID0gQVJSQVlfU0laRShfc2tsX2RkaV90cmFu c2xhdGlvbnNfZHApLAorfTsKKwogLyogU2t5bGFrZSBVICovCi1zdGF0aWMgY29uc3QgdW5pb24g aW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBza2xfdV9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7 CitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBfc2tsX3VfZGRp X3RyYW5zbGF0aW9uc19kcFtdID0gewogCXsgLmhzdyA9IHsgMHgwMDAwMjAxQiwgMHgwMDAwMDBB MiwgMHgwIH0gfSwKIAl7IC5oc3cgPSB7IDB4MDAwMDUwMTIsIDB4MDAwMDAwODgsIDB4MCB9IH0s CiAJeyAuaHN3ID0geyAweDgwMDA3MDExLCAweDAwMDAwMENELCAweDEgfSB9LApAQCAtMTI5LDgg KzE2OSwxMyBAQCBzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBz a2xfdV9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7CiAJeyAuaHN3ID0geyAweDgwMDA1MDEyLCAw eDAwMDAwMEMwLCAweDEgfSB9LAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZGlf YnVmX3RyYW5zIHNrbF91X2RkaV90cmFuc2xhdGlvbnNfZHAgPSB7CisJLmVudHJpZXMgPSBfc2ts X3VfZGRpX3RyYW5zbGF0aW9uc19kcCwKKwkubnVtX2VudHJpZXMgPSBBUlJBWV9TSVpFKF9za2xf dV9kZGlfdHJhbnNsYXRpb25zX2RwKSwKK307CisKIC8qIFNreWxha2UgWSAqLwotc3RhdGljIGNv bnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgc2tsX3lfZGRpX3RyYW5zbGF0aW9u c19kcFtdID0geworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkg X3NrbF95X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKIAl7IC5oc3cgPSB7IDB4MDAwMDAwMTgs IDB4MDAwMDAwQTIsIDB4MCB9IH0sCiAJeyAuaHN3ID0geyAweDAwMDA1MDEyLCAweDAwMDAwMDg4 LCAweDAgfSB9LAogCXsgLmhzdyA9IHsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDRCwgMHgzIH0gfSwK QEAgLTE0Miw4ICsxODcsMTMgQEAgc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJh bnNfZW50cnkgc2tsX3lfZGRpX3RyYW5zbGF0aW9uc19kcFtdID0gewogCXsgLmhzdyA9IHsgMHg4 MDAwNTAxMiwgMHgwMDAwMDBDMCwgMHgzIH0gfSwKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg aW50ZWxfZGRpX2J1Zl90cmFucyBza2xfeV9kZGlfdHJhbnNsYXRpb25zX2RwID0geworCS5lbnRy aWVzID0gX3NrbF95X2RkaV90cmFuc2xhdGlvbnNfZHAsCisJLm51bV9lbnRyaWVzID0gQVJSQVlf U0laRShfc2tsX3lfZGRpX3RyYW5zbGF0aW9uc19kcCksCit9OworCiAvKiBLYWJ5bGFrZSBIIGFu ZCBTICovCi1zdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBrYmxf ZGRpX3RyYW5zbGF0aW9uc19kcFtdID0geworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9i dWZfdHJhbnNfZW50cnkgX2tibF9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7CiAJeyAuaHN3ID0g eyAweDAwMDAyMDE2LCAweDAwMDAwMEEwLCAweDAgfSB9LAogCXsgLmhzdyA9IHsgMHgwMDAwNTAx MiwgMHgwMDAwMDA5QiwgMHgwIH0gfSwKIAl7IC5oc3cgPSB7IDB4MDAwMDcwMTEsIDB4MDAwMDAw ODgsIDB4MCB9IH0sCkBAIC0xNTUsOCArMjA1LDEzIEBAIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRl bF9kZGlfYnVmX3RyYW5zX2VudHJ5IGtibF9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7CiAJeyAu aHN3ID0geyAweDgwMDA1MDEyLCAweDAwMDAwMEMwLCAweDEgfSB9LAogfTsKIAorc3RhdGljIGNv bnN0IHN0cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5zIGtibF9kZGlfdHJhbnNsYXRpb25zX2RwID0g eworCS5lbnRyaWVzID0gX2tibF9kZGlfdHJhbnNsYXRpb25zX2RwLAorCS5udW1fZW50cmllcyA9 IEFSUkFZX1NJWkUoX2tibF9kZGlfdHJhbnNsYXRpb25zX2RwKSwKK307CisKIC8qIEthYnlsYWtl IFUgKi8KLXN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGtibF91 X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlf YnVmX3RyYW5zX2VudHJ5IF9rYmxfdV9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7CiAJeyAuaHN3 ID0geyAweDAwMDAyMDFCLCAweDAwMDAwMEExLCAweDAgfSB9LAogCXsgLmhzdyA9IHsgMHgwMDAw NTAxMiwgMHgwMDAwMDA4OCwgMHgwIH0gfSwKIAl7IC5oc3cgPSB7IDB4ODAwMDcwMTEsIDB4MDAw MDAwQ0QsIDB4MyB9IH0sCkBAIC0xNjgsOCArMjIzLDEzIEBAIHN0YXRpYyBjb25zdCB1bmlvbiBp bnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGtibF91X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsK IAl7IC5oc3cgPSB7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4MyB9IH0sCiB9OwogCitzdGF0 aWMgY29uc3Qgc3RydWN0IGludGVsX2RkaV9idWZfdHJhbnMga2JsX3VfZGRpX3RyYW5zbGF0aW9u c19kcCA9IHsKKwkuZW50cmllcyA9IF9rYmxfdV9kZGlfdHJhbnNsYXRpb25zX2RwLAorCS5udW1f ZW50cmllcyA9IEFSUkFZX1NJWkUoX2tibF91X2RkaV90cmFuc2xhdGlvbnNfZHApLAorfTsKKwog LyogS2FieWxha2UgWSAqLwotc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNf ZW50cnkga2JsX3lfZGRpX3RyYW5zbGF0aW9uc19kcFtdID0geworc3RhdGljIGNvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgX2tibF95X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9 IHsKIAl7IC5oc3cgPSB7IDB4MDAwMDEwMTcsIDB4MDAwMDAwQTEsIDB4MCB9IH0sCiAJeyAuaHN3 ID0geyAweDAwMDA1MDEyLCAweDAwMDAwMDg4LCAweDAgfSB9LAogCXsgLmhzdyA9IHsgMHg4MDAw NzAxMSwgMHgwMDAwMDBDRCwgMHgzIH0gfSwKQEAgLTE4MSwxMSArMjQxLDE2IEBAIHN0YXRpYyBj b25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGtibF95X2RkaV90cmFuc2xhdGlv bnNfZHBbXSA9IHsKIAl7IC5oc3cgPSB7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4MyB9IH0s CiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RkaV9idWZfdHJhbnMga2JsX3lfZGRp X3RyYW5zbGF0aW9uc19kcCA9IHsKKwkuZW50cmllcyA9IF9rYmxfeV9kZGlfdHJhbnNsYXRpb25z X2RwLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX2tibF95X2RkaV90cmFuc2xhdGlvbnNf ZHApLAorfTsKKwogLyoKICAqIFNreWxha2UvS2FieWxha2UgSCBhbmQgUwogICogZURQIDEuNCBs b3cgdnN3aW5nIHRyYW5zbGF0aW9uIHBhcmFtZXRlcnMKICAqLwotc3RhdGljIGNvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgc2tsX2RkaV90cmFuc2xhdGlvbnNfZWRwW10gPSB7 CitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBfc2tsX2RkaV90 cmFuc2xhdGlvbnNfZWRwW10gPSB7CiAJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMEE4 LCAweDAgfSB9LAogCXsgLmhzdyA9IHsgMHgwMDAwNDAxMywgMHgwMDAwMDBBOSwgMHgwIH0gfSwK IAl7IC5oc3cgPSB7IDB4MDAwMDcwMTEsIDB4MDAwMDAwQTIsIDB4MCB9IH0sCkBAIC0xOTgsMTEg KzI2MywxNiBAQCBzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBz a2xfZGRpX3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKIAl7IC5oc3cgPSB7IDB4MDAwMDAwMTgsIDB4 MDAwMDAwREYsIDB4MCB9IH0sCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RkaV9i dWZfdHJhbnMgc2tsX2RkaV90cmFuc2xhdGlvbnNfZWRwID0geworCS5lbnRyaWVzID0gX3NrbF9k ZGlfdHJhbnNsYXRpb25zX2VkcCwKKwkubnVtX2VudHJpZXMgPSBBUlJBWV9TSVpFKF9za2xfZGRp X3RyYW5zbGF0aW9uc19lZHApLAorfTsKKwogLyoKICAqIFNreWxha2UvS2FieWxha2UgVQogICog ZURQIDEuNCBsb3cgdnN3aW5nIHRyYW5zbGF0aW9uIHBhcmFtZXRlcnMKICAqLwotc3RhdGljIGNv bnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgc2tsX3VfZGRpX3RyYW5zbGF0aW9u c19lZHBbXSA9IHsKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5 IF9za2xfdV9kZGlfdHJhbnNsYXRpb25zX2VkcFtdID0gewogCXsgLmhzdyA9IHsgMHgwMDAwMDAx OCwgMHgwMDAwMDBBOCwgMHgwIH0gfSwKIAl7IC5oc3cgPSB7IDB4MDAwMDQwMTMsIDB4MDAwMDAw QTksIDB4MCB9IH0sCiAJeyAuaHN3ID0geyAweDAwMDA3MDExLCAweDAwMDAwMEEyLCAweDAgfSB9 LApAQCAtMjE1LDExICsyODUsMTYgQEAgc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZf dHJhbnNfZW50cnkgc2tsX3VfZGRpX3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKIAl7IC5oc3cgPSB7 IDB4MDAwMDAwMTgsIDB4MDAwMDAwREYsIDB4MCB9IH0sCiB9OwogCitzdGF0aWMgY29uc3Qgc3Ry dWN0IGludGVsX2RkaV9idWZfdHJhbnMgc2tsX3VfZGRpX3RyYW5zbGF0aW9uc19lZHAgPSB7CisJ LmVudHJpZXMgPSBfc2tsX3VfZGRpX3RyYW5zbGF0aW9uc19lZHAsCisJLm51bV9lbnRyaWVzID0g QVJSQVlfU0laRShfc2tsX3VfZGRpX3RyYW5zbGF0aW9uc19lZHApLAorfTsKKwogLyoKICAqIFNr eWxha2UvS2FieWxha2UgWQogICogZURQIDEuNCBsb3cgdnN3aW5nIHRyYW5zbGF0aW9uIHBhcmFt ZXRlcnMKICAqLwotc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkg c2tsX3lfZGRpX3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRl bF9kZGlfYnVmX3RyYW5zX2VudHJ5IF9za2xfeV9kZGlfdHJhbnNsYXRpb25zX2VkcFtdID0gewog CXsgLmhzdyA9IHsgMHgwMDAwMDAxOCwgMHgwMDAwMDBBOCwgMHgwIH0gfSwKIAl7IC5oc3cgPSB7 IDB4MDAwMDQwMTMsIDB4MDAwMDAwQUIsIDB4MCB9IH0sCiAJeyAuaHN3ID0geyAweDAwMDA3MDEx LCAweDAwMDAwMEE0LCAweDAgfSB9LApAQCAtMjMyLDggKzMwNywxMyBAQCBzdGF0aWMgY29uc3Qg dW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBza2xfeV9kZGlfdHJhbnNsYXRpb25zX2Vk cFtdID0gewogCXsgLmhzdyA9IHsgMHgwMDAwMDAxOCwgMHgwMDAwMDA4QSwgMHgwIH0gfSwKIH07 CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyBza2xfeV9kZGlfdHJh bnNsYXRpb25zX2VkcCA9IHsKKwkuZW50cmllcyA9IF9za2xfeV9kZGlfdHJhbnNsYXRpb25zX2Vk cCwKKwkubnVtX2VudHJpZXMgPSBBUlJBWV9TSVpFKF9za2xfeV9kZGlfdHJhbnNsYXRpb25zX2Vk cCksCit9OworCiAvKiBTa3lsYWtlL0thYnlsYWtlIFUsIEggYW5kIFMgKi8KLXN0YXRpYyBjb25z dCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHNrbF9kZGlfdHJhbnNsYXRpb25zX2hk bWlbXSA9IHsKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IF9z a2xfZGRpX3RyYW5zbGF0aW9uc19oZG1pW10gPSB7CiAJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAw eDAwMDAwMEFDLCAweDAgfSB9LAogCXsgLmhzdyA9IHsgMHgwMDAwNTAxMiwgMHgwMDAwMDA5RCwg MHgwIH0gfSwKIAl7IC5oc3cgPSB7IDB4MDAwMDcwMTEsIDB4MDAwMDAwODgsIDB4MCB9IH0sCkBA IC0yNDcsOCArMzI3LDEzIEBAIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5z X2VudHJ5IHNrbF9kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKIAl7IC5oc3cgPSB7IDB4ODAw MDAwMTgsIDB4MDAwMDAwQzAsIDB4MSB9IH0sCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGlu dGVsX2RkaV9idWZfdHJhbnMgc2tsX2RkaV90cmFuc2xhdGlvbnNfaGRtaSA9IHsKKwkuZW50cmll cyA9IF9za2xfZGRpX3RyYW5zbGF0aW9uc19oZG1pLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJ WkUoX3NrbF9kZGlfdHJhbnNsYXRpb25zX2hkbWkpLAorfTsKKwogLyogU2t5bGFrZS9LYWJ5bGFr ZSBZICovCi1zdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBza2xf eV9kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9k ZGlfYnVmX3RyYW5zX2VudHJ5IF9za2xfeV9kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKIAl7 IC5oc3cgPSB7IDB4MDAwMDAwMTgsIDB4MDAwMDAwQTEsIDB4MCB9IH0sCiAJeyAuaHN3ID0geyAw eDAwMDA1MDEyLCAweDAwMDAwMERGLCAweDAgfSB9LAogCXsgLmhzdyA9IHsgMHg4MDAwNzAxMSwg MHgwMDAwMDBDQiwgMHgzIH0gfSwKQEAgLTI2Miw3ICszNDcsMTIgQEAgc3RhdGljIGNvbnN0IHVu aW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgc2tsX3lfZGRpX3RyYW5zbGF0aW9uc19oZG1p W10gPSB7CiAJeyAuaHN3ID0geyAweDgwMDAwMDE4LCAweDAwMDAwMEMwLCAweDMgfSB9LAogfTsK IAotc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgYnh0X2RkaV90 cmFuc2xhdGlvbnNfZHBbXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90 cmFucyBza2xfeV9kZGlfdHJhbnNsYXRpb25zX2hkbWkgPSB7CisJLmVudHJpZXMgPSBfc2tsX3lf ZGRpX3RyYW5zbGF0aW9uc19oZG1pLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX3NrbF95 X2RkaV90cmFuc2xhdGlvbnNfaGRtaSksCit9OworCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxf ZGRpX2J1Zl90cmFuc19lbnRyeSBfYnh0X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKIAkJCQkJ CS8qIElkeAlOVCBtViBkaWZmCWRiICAqLwogCXsgLmJ4dCA9IHsgNTIsICAweDlBLCAwLCAxMjgs IH0gfSwJLyogMDoJNDAwCQkwICAgKi8KIAl7IC5ieHQgPSB7IDc4LCAgMHg5QSwgMCwgODUsICB9 IH0sCS8qIDE6CTQwMAkJMy41ICovCkBAIC0yNzYsNyArMzY2LDEyIEBAIHN0YXRpYyBjb25zdCB1 bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGJ4dF9kZGlfdHJhbnNsYXRpb25zX2RwW10g PSB7CiAJeyAuYnh0ID0geyAxNTQsIDB4OUEsIDEsIDEyOCwgfSB9LAkvKiA5OgkxMjAwCQkwICAg Ki8KIH07CiAKLXN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGJ4 dF9kZGlfdHJhbnNsYXRpb25zX2VkcFtdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9k ZGlfYnVmX3RyYW5zIGJ4dF9kZGlfdHJhbnNsYXRpb25zX2RwID0geworCS5lbnRyaWVzID0gX2J4 dF9kZGlfdHJhbnNsYXRpb25zX2RwLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX2J4dF9k ZGlfdHJhbnNsYXRpb25zX2RwKSwKK307CisKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlf YnVmX3RyYW5zX2VudHJ5IF9ieHRfZGRpX3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKIAkJCQkJLyog SWR4CU5UIG1WIGRpZmYJZGIgICovCiAJeyAuYnh0ID0geyAyNiwgMCwgMCwgMTI4LCB9IH0sCS8q IDA6CTIwMAkJMCAgICovCiAJeyAuYnh0ID0geyAzOCwgMCwgMCwgMTEyLCB9IH0sCS8qIDE6CTIw MAkJMS41ICovCkBAIC0yOTAsMTAgKzM4NSwxNSBAQCBzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxf ZGRpX2J1Zl90cmFuc19lbnRyeSBieHRfZGRpX3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKIAl7IC5i eHQgPSB7IDQ4LCAwLCAwLCAxMjgsIH0gfSwJLyogOToJMzAwCQkwICAgKi8KIH07CiAKK3N0YXRp YyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyBieHRfZGRpX3RyYW5zbGF0aW9uc19l ZHAgPSB7CisJLmVudHJpZXMgPSBfYnh0X2RkaV90cmFuc2xhdGlvbnNfZWRwLAorCS5udW1fZW50 cmllcyA9IEFSUkFZX1NJWkUoX2J4dF9kZGlfdHJhbnNsYXRpb25zX2VkcCksCit9OworCiAvKiBC U3BlYyBoYXMgMiByZWNvbW1lbmRlZCB2YWx1ZXMgLSBlbnRyaWVzIDAgYW5kIDguCiAgKiBVc2lu ZyB0aGUgZW50cnkgd2l0aCBoaWdoZXIgdnN3aW5nLgogICovCi1zdGF0aWMgY29uc3QgdW5pb24g aW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBieHRfZGRpX3RyYW5zbGF0aW9uc19oZG1pW10gPSB7 CitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBfYnh0X2RkaV90 cmFuc2xhdGlvbnNfaGRtaVtdID0gewogCQkJCQkJLyogSWR4CU5UIG1WIGRpZmYJZGIgICovCiAJ eyAuYnh0ID0geyA1MiwgIDB4OUEsIDAsIDEyOCwgfSB9LAkvKiAwOgk0MDAJCTAgICAqLwogCXsg LmJ4dCA9IHsgNTIsICAweDlBLCAwLCA4NSwgIH0gfSwJLyogMToJNDAwCQkzLjUgKi8KQEAgLTMw Nyw4ICs0MDcsMTMgQEAgc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50 cnkgYnh0X2RkaV90cmFuc2xhdGlvbnNfaGRtaVtdID0gewogCXsgLmJ4dCA9IHsgMTU0LCAweDlB LCAxLCAxMjgsIH0gfSwJLyogOToJMTIwMAkJMCAgICovCiB9OwogCitzdGF0aWMgY29uc3Qgc3Ry dWN0IGludGVsX2RkaV9idWZfdHJhbnMgYnh0X2RkaV90cmFuc2xhdGlvbnNfaGRtaSA9IHsKKwku ZW50cmllcyA9IF9ieHRfZGRpX3RyYW5zbGF0aW9uc19oZG1pLAorCS5udW1fZW50cmllcyA9IEFS UkFZX1NJWkUoX2J4dF9kZGlfdHJhbnNsYXRpb25zX2hkbWkpLAorfTsKKwogLyogVm9sdGFnZSBT d2luZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8gMC44NVYgZm9yIERQICovCi1zdGF0aWMgY29uc3Qg dW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBjbmxfZGRpX3RyYW5zbGF0aW9uc19kcF8w Xzg1VltdID0geworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkg X2NubF9kZGlfdHJhbnNsYXRpb25zX2RwXzBfODVWW10gPSB7CiAJCQkJCQkJLyogTlQgbVYgVHJh bnMgbVYgZGIgICAgKi8KIAl7IC5jbmwgPSB7IDB4QSwgMHg1RCwgMHgzRiwgMHgwMCwgMHgwMCB9 IH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCiAJeyAuY25sID0geyAweEEsIDB4NkEsIDB4 MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLwpAQCAtMzIyLDgg KzQyNywxMyBAQCBzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBj bmxfZGRpX3RyYW5zbGF0aW9uc19kcF8wXzg1VltdID0gewogCXsgLmNubCA9IHsgMHg2LCAweDdC LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KIH07CiAK K3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyBjbmxfZGRpX3RyYW5zbGF0 aW9uc19kcF8wXzg1ViA9IHsKKwkuZW50cmllcyA9IF9jbmxfZGRpX3RyYW5zbGF0aW9uc19kcF8w Xzg1ViwKKwkubnVtX2VudHJpZXMgPSBBUlJBWV9TSVpFKF9jbmxfZGRpX3RyYW5zbGF0aW9uc19k cF8wXzg1ViksCit9OworCiAvKiBWb2x0YWdlIFN3aW5nIFByb2dyYW1taW5nIGZvciBWY2NJTyAw Ljg1ViBmb3IgSERNSSAqLwotc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNf ZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNfaGRtaV8wXzg1VltdID0geworc3RhdGljIGNvbnN0 IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgX2NubF9kZGlfdHJhbnNsYXRpb25zX2hk bWlfMF84NVZbXSA9IHsKIAkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwogCXsgLmNu bCA9IHsgMHhBLCAweDYwLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNDUwICAgNDUwICAgICAg MC4wICAgKi8KIAl7IC5jbmwgPSB7IDB4QiwgMHg3MywgMHgzNiwgMHgwMCwgMHgwOSB9IH0sCS8q IDQ1MCAgIDY1MCAgICAgIDMuMiAgICovCkBAIC0zMzQsOCArNDQ0LDEzIEBAIHN0YXRpYyBjb25z dCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGNubF9kZGlfdHJhbnNsYXRpb25zX2hk bWlfMF84NVZbXSA9CiAJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MzUsIDB4MDAsIDB4MEEgfSB9 LAkvKiA2MDAgICA4NTAgICAgICAzLjAgICAqLwogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBp bnRlbF9kZGlfYnVmX3RyYW5zIGNubF9kZGlfdHJhbnNsYXRpb25zX2hkbWlfMF84NVYgPSB7CisJ LmVudHJpZXMgPSBfY25sX2RkaV90cmFuc2xhdGlvbnNfaGRtaV8wXzg1ViwKKwkubnVtX2VudHJp ZXMgPSBBUlJBWV9TSVpFKF9jbmxfZGRpX3RyYW5zbGF0aW9uc19oZG1pXzBfODVWKSwKK307CisK IC8qIFZvbHRhZ2UgU3dpbmcgUHJvZ3JhbW1pbmcgZm9yIFZjY0lPIDAuODVWIGZvciBlRFAgKi8K LXN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGNubF9kZGlfdHJh bnNsYXRpb25zX2VkcF8wXzg1VltdID0geworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9i dWZfdHJhbnNfZW50cnkgX2NubF9kZGlfdHJhbnNsYXRpb25zX2VkcF8wXzg1VltdID0gewogCQkJ CQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCiAJeyAuY25sID0geyAweEEsIDB4NjYsIDB4 M0EsIDB4MDAsIDB4MDUgfSB9LAkvKiAzODQgICA1MDAgICAgICAyLjMgICAqLwogCXsgLmNubCA9 IHsgMHgwLCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0gfSwJLyogMTUzICAgMjAwICAgICAgMi4z ICAgKi8KQEAgLTM0OCw4ICs0NjMsMTMgQEAgc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9i dWZfdHJhbnNfZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNfZWRwXzBfODVWW10gPQogCXsgLmNu bCA9IHsgMHgyLCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNDAwICAgNDAwICAgICAg MC4wICAgKi8KIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyBj bmxfZGRpX3RyYW5zbGF0aW9uc19lZHBfMF84NVYgPSB7CisJLmVudHJpZXMgPSBfY25sX2RkaV90 cmFuc2xhdGlvbnNfZWRwXzBfODVWLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX2NubF9k ZGlfdHJhbnNsYXRpb25zX2VkcF8wXzg1ViksCit9OworCiAvKiBWb2x0YWdlIFN3aW5nIFByb2dy YW1taW5nIGZvciBWY2NJTyAwLjk1ViBmb3IgRFAgKi8KLXN0YXRpYyBjb25zdCB1bmlvbiBpbnRl bF9kZGlfYnVmX3RyYW5zX2VudHJ5IGNubF9kZGlfdHJhbnNsYXRpb25zX2RwXzBfOTVWW10gPSB7 CitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBfY25sX2RkaV90 cmFuc2xhdGlvbnNfZHBfMF85NVZbXSA9IHsKIAkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAg ICAqLwogCXsgLmNubCA9IHsgMHhBLCAweDVELCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMzUw ICAgMzUwICAgICAgMC4wICAgKi8KIAl7IC5jbmwgPSB7IDB4QSwgMHg2QSwgMHgzOCwgMHgwMCwg MHgwNyB9IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCkBAIC0zNjMsOCArNDgzLDEzIEBA IHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGNubF9kZGlfdHJh bnNsYXRpb25zX2RwXzBfOTVWW10gPSB7CiAJeyAuY25sID0geyAweDYsIDB4N0IsIDB4M0YsIDB4 MDAsIDB4MDAgfSB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLwogfTsKIAorc3RhdGljIGNv bnN0IHN0cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5zIGNubF9kZGlfdHJhbnNsYXRpb25zX2RwXzBf OTVWID0geworCS5lbnRyaWVzID0gX2NubF9kZGlfdHJhbnNsYXRpb25zX2RwXzBfOTVWLAorCS5u dW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX2NubF9kZGlfdHJhbnNsYXRpb25zX2RwXzBfOTVWKSwK K307CisKIC8qIFZvbHRhZ2UgU3dpbmcgUHJvZ3JhbW1pbmcgZm9yIFZjY0lPIDAuOTVWIGZvciBI RE1JICovCi1zdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBjbmxf ZGRpX3RyYW5zbGF0aW9uc19oZG1pXzBfOTVWW10gPSB7CitzdGF0aWMgY29uc3QgdW5pb24gaW50 ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBfY25sX2RkaV90cmFuc2xhdGlvbnNfaGRtaV8wXzk1Vltd ID0gewogCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCiAJeyAuY25sID0geyAweEEs IDB4NUMsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA0MDAgICA0MDAgICAgICAwLjAgICAqLwog CXsgLmNubCA9IHsgMHhCLCAweDY5LCAweDM3LCAweDAwLCAweDA4IH0gfSwJLyogNDAwICAgNjAw ICAgICAgMy41ICAgKi8KQEAgLTM3OSw4ICs1MDQsMTMgQEAgc3RhdGljIGNvbnN0IHVuaW9uIGlu dGVsX2RkaV9idWZfdHJhbnNfZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNfaGRtaV8wXzk1Vltd ID0KIAl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDEwNTAg IDEwNTAgICAgIDAuMCAgICovCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RkaV9i dWZfdHJhbnMgY25sX2RkaV90cmFuc2xhdGlvbnNfaGRtaV8wXzk1ViA9IHsKKwkuZW50cmllcyA9 IF9jbmxfZGRpX3RyYW5zbGF0aW9uc19oZG1pXzBfOTVWLAorCS5udW1fZW50cmllcyA9IEFSUkFZ X1NJWkUoX2NubF9kZGlfdHJhbnNsYXRpb25zX2hkbWlfMF85NVYpLAorfTsKKwogLyogVm9sdGFn ZSBTd2luZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8gMC45NVYgZm9yIGVEUCAqLwotc3RhdGljIGNv bnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNf ZWRwXzBfOTVWW10gPSB7CitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19l bnRyeSBfY25sX2RkaV90cmFuc2xhdGlvbnNfZWRwXzBfOTVWW10gPSB7CiAJCQkJCQkJLyogTlQg bVYgVHJhbnMgbVYgZGIgICAgKi8KIAl7IC5jbmwgPSB7IDB4QSwgMHg2MSwgMHgzQSwgMHgwMCwg MHgwNSB9IH0sCS8qIDM4NCAgIDUwMCAgICAgIDIuMyAgICovCiAJeyAuY25sID0geyAweDAsIDB4 N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAxNTMgICAyMDAgICAgICAyLjMgICAqLwpAQCAt Mzk0LDggKzUyNCwxMyBAQCBzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19l bnRyeSBjbmxfZGRpX3RyYW5zbGF0aW9uc19lZHBfMF85NVZbXSA9CiAJeyAuY25sID0geyAweDIs IDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA0MDAgICA0MDAgICAgICAwLjAgICAqLwog fTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5zIGNubF9kZGlfdHJh bnNsYXRpb25zX2VkcF8wXzk1ViA9IHsKKwkuZW50cmllcyA9IF9jbmxfZGRpX3RyYW5zbGF0aW9u c19lZHBfMF85NVYsCisJLm51bV9lbnRyaWVzID0gQVJSQVlfU0laRShfY25sX2RkaV90cmFuc2xh dGlvbnNfZWRwXzBfOTVWKSwKK307CisKIC8qIFZvbHRhZ2UgU3dpbmcgUHJvZ3JhbW1pbmcgZm9y IFZjY0lPIDEuMDVWIGZvciBEUCAqLwotc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZf dHJhbnNfZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNfZHBfMV8wNVZbXSA9IHsKK3N0YXRpYyBj b25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IF9jbmxfZGRpX3RyYW5zbGF0aW9u c19kcF8xXzA1VltdID0gewogCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCiAJeyAu Y25sID0geyAweEEsIDB4NTgsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA0MDAgICA0MDAgICAg ICAwLjAgICAqLwogCXsgLmNubCA9IHsgMHhCLCAweDY0LCAweDM3LCAweDAwLCAweDA4IH0gfSwJ LyogNDAwICAgNjAwICAgICAgMy41ICAgKi8KQEAgLTQwOSw4ICs1NDQsMTMgQEAgc3RhdGljIGNv bnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNf ZHBfMV8wNVZbXSA9IHsKIAl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9 IH0sCS8qIDEwNTAgIDEwNTAgICAgIDAuMCAgICovCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0 IGludGVsX2RkaV9idWZfdHJhbnMgY25sX2RkaV90cmFuc2xhdGlvbnNfZHBfMV8wNVYgPSB7CisJ LmVudHJpZXMgPSBfY25sX2RkaV90cmFuc2xhdGlvbnNfZHBfMV8wNVYsCisJLm51bV9lbnRyaWVz ID0gQVJSQVlfU0laRShfY25sX2RkaV90cmFuc2xhdGlvbnNfZHBfMV8wNVYpLAorfTsKKwogLyog Vm9sdGFnZSBTd2luZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8gMS4wNVYgZm9yIEhETUkgKi8KLXN0 YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGNubF9kZGlfdHJhbnNs YXRpb25zX2hkbWlfMV8wNVZbXSA9IHsKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVm X3RyYW5zX2VudHJ5IF9jbmxfZGRpX3RyYW5zbGF0aW9uc19oZG1pXzFfMDVWW10gPSB7CiAJCQkJ CQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KIAl7IC5jbmwgPSB7IDB4QSwgMHg1OCwgMHgz RiwgMHgwMCwgMHgwMCB9IH0sCS8qIDQwMCAgIDQwMCAgICAgIDAuMCAgICovCiAJeyAuY25sID0g eyAweEIsIDB4NjQsIDB4MzcsIDB4MDAsIDB4MDggfSB9LAkvKiA0MDAgICA2MDAgICAgICAzLjUg ICAqLwpAQCAtNDI1LDggKzU2NSwxMyBAQCBzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1 Zl90cmFuc19lbnRyeSBjbmxfZGRpX3RyYW5zbGF0aW9uc19oZG1pXzFfMDVWW10gPQogCXsgLmNu bCA9IHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMTA1MCAgMTA1MCAgICAg MC4wICAgKi8KIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyBj bmxfZGRpX3RyYW5zbGF0aW9uc19oZG1pXzFfMDVWID0geworCS5lbnRyaWVzID0gX2NubF9kZGlf dHJhbnNsYXRpb25zX2hkbWlfMV8wNVYsCisJLm51bV9lbnRyaWVzID0gQVJSQVlfU0laRShfY25s X2RkaV90cmFuc2xhdGlvbnNfaGRtaV8xXzA1ViksCit9OworCiAvKiBWb2x0YWdlIFN3aW5nIFBy b2dyYW1taW5nIGZvciBWY2NJTyAxLjA1ViBmb3IgZURQICovCi1zdGF0aWMgY29uc3QgdW5pb24g aW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBjbmxfZGRpX3RyYW5zbGF0aW9uc19lZHBfMV8wNVZb XSA9IHsKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IF9jbmxf ZGRpX3RyYW5zbGF0aW9uc19lZHBfMV8wNVZbXSA9IHsKIAkJCQkJCQkvKiBOVCBtViBUcmFucyBt ViBkYiAgICAqLwogCXsgLmNubCA9IHsgMHhBLCAweDVFLCAweDNBLCAweDAwLCAweDA1IH0gfSwJ LyogMzg0ICAgNTAwICAgICAgMi4zICAgKi8KIAl7IC5jbmwgPSB7IDB4MCwgMHg3RiwgMHgzOCwg MHgwMCwgMHgwNyB9IH0sCS8qIDE1MyAgIDIwMCAgICAgIDIuMyAgICovCkBAIC00MzksOCArNTg0 LDEzIEBAIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGNubF9k ZGlfdHJhbnNsYXRpb25zX2VkcF8xXzA1VltdID0KIAl7IC5jbmwgPSB7IDB4MiwgMHg3RiwgMHgz RiwgMHgwMCwgMHgwMCB9IH0sCS8qIDQwMCAgIDQwMCAgICAgIDAuMCAgICovCiB9OwogCitzdGF0 aWMgY29uc3Qgc3RydWN0IGludGVsX2RkaV9idWZfdHJhbnMgY25sX2RkaV90cmFuc2xhdGlvbnNf ZWRwXzFfMDVWID0geworCS5lbnRyaWVzID0gX2NubF9kZGlfdHJhbnNsYXRpb25zX2VkcF8xXzA1 ViwKKwkubnVtX2VudHJpZXMgPSBBUlJBWV9TSVpFKF9jbmxfZGRpX3RyYW5zbGF0aW9uc19lZHBf MV8wNVYpLAorfTsKKwogLyogaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zICovCi1zdGF0 aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBpY2xfY29tYm9fcGh5X2Rk aV90cmFuc2xhdGlvbnNfZHBfaGJyMltdID0geworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2Rk aV9idWZfdHJhbnNfZW50cnkgX2ljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIy W10gPSB7CiAJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KIAl7IC5jbmwgPSB7IDB4 QSwgMHgzNSwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICov CiAJeyAuY25sID0geyAweEEsIDB4NEYsIDB4MzcsIDB4MDAsIDB4MDggfSB9LAkvKiAzNTAgICA1 MDAgICAgICAzLjEgICAqLwpAQCAtNDU0LDcgKzYwNCwxMiBAQCBzdGF0aWMgY29uc3QgdW5pb24g aW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNf ZHBfaAogCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogOTAw ICAgOTAwICAgICAgMC4wICAgKi8KIH07CiAKLXN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlf YnVmX3RyYW5zX2VudHJ5IGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMltd ID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5zIGljbF9jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyID0geworCS5lbnRyaWVzID0gX2ljbF9jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUo X2ljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyKSwKK307CisKK3N0YXRpYyBj b25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IF9pY2xfY29tYm9fcGh5X2RkaV90 cmFuc2xhdGlvbnNfZWRwX2hicjJbXSA9IHsKIAkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAg ICAqLwogCXsgLmNubCA9IHsgMHgwLCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMjAw ICAgMjAwICAgICAgMC4wICAgKi8KIAl7IC5jbmwgPSB7IDB4OCwgMHg3RiwgMHgzOCwgMHgwMCwg MHgwNyB9IH0sCS8qIDIwMCAgIDI1MCAgICAgIDEuOSAgICovCkBAIC00NjgsNyArNjIzLDEyIEBA IHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGljbF9jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfCiAJeyAuY25sID0geyAweDksIDB4N0YsIDB4M0YsIDB4 MDAsIDB4MDAgfSB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLwogfTsKIAotc3RhdGljIGNv bnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgaWNsX2NvbWJvX3BoeV9kZGlfdHJh bnNsYXRpb25zX2VkcF9oYnIzW10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RkaV9i dWZfdHJhbnMgaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyID0geworCS5l bnRyaWVzID0gX2ljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMiwKKwkubnVt X2VudHJpZXMgPSBBUlJBWV9TSVpFKF9pY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRw X2hicjIpLAorfTsKKworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50 cnkgX2ljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyM1tdID0gewogCQkJCQkJ CS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCiAJeyAuY25sID0geyAweEEsIDB4MzUsIDB4M0Ys IDB4MDAsIDB4MDAgfSB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLwogCXsgLmNubCA9IHsg MHhBLCAweDRGLCAweDM3LCAweDAwLCAweDA4IH0gfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAg Ki8KQEAgLTQ4Miw3ICs2NDIsMTIgQEAgc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZf dHJhbnNfZW50cnkgaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF8KIAl7IC5jbmwg PSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDkwMCAgIDkwMCAgICAgIDAu MCAgICovCiB9OwogCi1zdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRy eSBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfaGRtaVtdID0geworc3RhdGljIGNvbnN0 IHN0cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5zIGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9u c19lZHBfaGJyMyA9IHsKKwkuZW50cmllcyA9IF9pY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlv bnNfZWRwX2hicjMsCisJLm51bV9lbnRyaWVzID0gQVJSQVlfU0laRShfaWNsX2NvbWJvX3BoeV9k ZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIzKSwKK307CisKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRl bF9kZGlfYnVmX3RyYW5zX2VudHJ5IF9pY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfaGRt aVtdID0gewogCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCiAJeyAuY25sID0geyAw eEEsIDB4NjAsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA0NTAgICA0NTAgICAgICAwLjAgICAq LwogCXsgLmNubCA9IHsgMHhCLCAweDczLCAweDM2LCAweDAwLCAweDA5IH0gfSwJLyogNDUwICAg NjUwICAgICAgMy4yICAgKi8KQEAgLTQ5Myw3ICs2NTgsMTIgQEAgc3RhdGljIGNvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25z X2hkbWkKIAl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzNSwgMHgwMCwgMHgwQSB9IH0sCS8qIDYw MCAgIDg1MCAgICAgIDMuMCAgICovCiB9OwogCi1zdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRp X2J1Zl90cmFuc19lbnRyeSBlaGxfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsK K3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyBpY2xfY29tYm9fcGh5X2Rk aV90cmFuc2xhdGlvbnNfaGRtaSA9IHsKKwkuZW50cmllcyA9IF9pY2xfY29tYm9fcGh5X2RkaV90 cmFuc2xhdGlvbnNfaGRtaSwKKwkubnVtX2VudHJpZXMgPSBBUlJBWV9TSVpFKF9pY2xfY29tYm9f cGh5X2RkaV90cmFuc2xhdGlvbnNfaGRtaSksCit9OworCitzdGF0aWMgY29uc3QgdW5pb24gaW50 ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBfZWhsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2Rw W10gPSB7CiAJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KIAl7IC5jbmwgPSB7IDB4 QSwgMHgzMywgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICov CiAJeyAuY25sID0geyAweEEsIDB4NDcsIDB4MzYsIDB4MDAsIDB4MDkgfSB9LAkvKiAzNTAgICA1 MDAgICAgICAzLjEgICAqLwpAQCAtNTA3LDcgKzY3NywxMiBAQCBzdGF0aWMgY29uc3QgdW5pb24g aW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBlaGxfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNf ZHBbXQogCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogOTAw ICAgOTAwICAgICAgMC4wICAgKi8KIH07CiAKLXN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlf YnVmX3RyYW5zX2VudHJ5IGpzbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyW10g PSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RkaV9idWZfdHJhbnMgZWhsX2NvbWJvX3Bo eV9kZGlfdHJhbnNsYXRpb25zX2RwID0geworCS5lbnRyaWVzID0gX2VobF9jb21ib19waHlfZGRp X3RyYW5zbGF0aW9uc19kcCwKKwkubnVtX2VudHJpZXMgPSBBUlJBWV9TSVpFKF9laGxfY29tYm9f cGh5X2RkaV90cmFuc2xhdGlvbnNfZHApLAorfTsKKworc3RhdGljIGNvbnN0IHVuaW9uIGludGVs X2RkaV9idWZfdHJhbnNfZW50cnkgX2pzbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBf aGJyW10gPSB7CiAJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KIAl7IC5jbmwgPSB7 IDB4OCwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDIwMCAgIDIwMCAgICAgIDAuMCAg ICovCiAJeyAuY25sID0geyAweDgsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAyMDAg ICAyNTAgICAgICAxLjkgICAqLwpAQCAtNTIxLDcgKzY5NiwxMiBAQCBzdGF0aWMgY29uc3QgdW5p b24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBqc2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlv bnNfZWRwXwogCXsgLmNubCA9IHsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyog MzUwICAgMzUwICAgICAgMC4wICAgKi8KIH07CiAKLXN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9k ZGlfYnVmX3RyYW5zX2VudHJ5IGpzbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJy MltdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5zIGpzbF9jb21i b19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyID0geworCS5lbnRyaWVzID0gX2pzbF9jb21i b19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJ WkUoX2pzbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyKSwKK307CisKK3N0YXRp YyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IF9qc2xfY29tYm9fcGh5X2Rk aV90cmFuc2xhdGlvbnNfZWRwX2hicjJbXSA9IHsKIAkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBk YiAgICAqLwogCXsgLmNubCA9IHsgMHg4LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyog MjAwICAgMjAwICAgICAgMC4wICAgKi8KIAl7IC5jbmwgPSB7IDB4OCwgMHg3RiwgMHgzRiwgMHgw MCwgMHgwMCB9IH0sCS8qIDIwMCAgIDI1MCAgICAgIDEuOSAgICovCkBAIC01MzUsNyArNzE1LDEy IEBAIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGpzbF9jb21i b19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfCiAJeyAuY25sID0geyAweEEsIDB4MzUsIDB4M0Ys IDB4MDAsIDB4MDAgfSB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLwogfTsKIAotc3RhdGlj IGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgZGcxX2NvbWJvX3BoeV9kZGlf dHJhbnNsYXRpb25zX2RwX3Jicl9oYnJbXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxf ZGRpX2J1Zl90cmFucyBqc2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjIgPSB7 CisJLmVudHJpZXMgPSBfanNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyLAor CS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX2pzbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9u c19lZHBfaGJyMiksCit9OworCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFu c19lbnRyeSBfZGcxX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX3Jicl9oYnJbXSA9IHsK IAkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwogCXsgLmNubCA9IHsgMHhBLCAweDMy LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KIAl7IC5j bmwgPSB7IDB4QSwgMHg0OCwgMHgzNSwgMHgwMCwgMHgwQSB9IH0sCS8qIDM1MCAgIDUwMCAgICAg IDMuMSAgICovCkBAIC01NDksNyArNzM0LDEyIEBAIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9k ZGlfYnVmX3RyYW5zX2VudHJ5IGRnMV9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9yCiAJ eyAuY25sID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA5MDAgICA5MDAg ICAgICAwLjAgICAqLwogfTsKIAotc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJh bnNfZW50cnkgZGcxX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjJfaGJyM1tdID0g eworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5zIGRnMV9jb21ib19waHlf ZGRpX3RyYW5zbGF0aW9uc19kcF9yYnJfaGJyID0geworCS5lbnRyaWVzID0gX2RnMV9jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19kcF9yYnJfaGJyLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJ WkUoX2RnMV9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9yYnJfaGJyKSwKK307CisKK3N0 YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IF9kZzFfY29tYm9fcGh5 X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMl9oYnIzW10gPSB7CiAJCQkJCQkJLyogTlQgbVYgVHJh bnMgbVYgZGIgICAgKi8KIAl7IC5jbmwgPSB7IDB4QSwgMHgzMiwgMHgzRiwgMHgwMCwgMHgwMCB9 IH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCiAJeyAuY25sID0geyAweEEsIDB4NDgsIDB4 MzUsIDB4MDAsIDB4MEEgfSB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLwpAQCAtNTYzLDcg Kzc1MywxMiBAQCBzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBk ZzFfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaAogCXsgLmNubCA9IHsgMHg2LCAweDdG LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KIH07CiAK LXN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGljbF9tZ19waHlf ZGRpX3RyYW5zbGF0aW9uc19yYnJfaGJyW10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVs X2RkaV9idWZfdHJhbnMgZGcxX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjJfaGJy MyA9IHsKKwkuZW50cmllcyA9IF9kZzFfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJy Ml9oYnIzLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX2RnMV9jb21ib19waHlfZGRpX3Ry YW5zbGF0aW9uc19kcF9oYnIyX2hicjMpLAorfTsKKworc3RhdGljIGNvbnN0IHVuaW9uIGludGVs X2RkaV9idWZfdHJhbnNfZW50cnkgX2ljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uc19yYnJfaGJy W10gPSB7CiAJCQkJCS8qIFZvbHRhZ2Ugc3dpbmcgIHByZS1lbXBoYXNpcyAqLwogCXsgLm1nID0g eyAweDE4LCAweDAwLCAweDAwIH0gfSwJLyogMCAgICAgICAgICAgICAgMCAgICovCiAJeyAubWcg PSB7IDB4MUQsIDB4MDAsIDB4MDUgfSB9LAkvKiAwICAgICAgICAgICAgICAxICAgKi8KQEAgLTU3 Nyw3ICs3NzIsMTIgQEAgc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50 cnkgaWNsX21nX3BoeV9kZGlfdHJhbnNsYXRpb25zX3Jicl9oYnIKIAl7IC5tZyA9IHsgMHgzRiwg MHgwMCwgMHgwMCB9IH0sCS8qIDMgICAgICAgICAgICAgIDAgICAqLwogfTsKIAotc3RhdGljIGNv bnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgaWNsX21nX3BoeV9kZGlfdHJhbnNs YXRpb25zX2hicjJfaGJyM1tdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZGlfYnVm X3RyYW5zIGljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uc19yYnJfaGJyID0geworCS5lbnRyaWVz ID0gX2ljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uc19yYnJfaGJyLAorCS5udW1fZW50cmllcyA9 IEFSUkFZX1NJWkUoX2ljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uc19yYnJfaGJyKSwKK307CisK K3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IF9pY2xfbWdfcGh5 X2RkaV90cmFuc2xhdGlvbnNfaGJyMl9oYnIzW10gPSB7CiAJCQkJCS8qIFZvbHRhZ2Ugc3dpbmcg IHByZS1lbXBoYXNpcyAqLwogCXsgLm1nID0geyAweDE4LCAweDAwLCAweDAwIH0gfSwJLyogMCAg ICAgICAgICAgICAgMCAgICovCiAJeyAubWcgPSB7IDB4MUQsIDB4MDAsIDB4MDUgfSB9LAkvKiAw ICAgICAgICAgICAgICAxICAgKi8KQEAgLTU5MSw3ICs3OTEsMTIgQEAgc3RhdGljIGNvbnN0IHVu aW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgaWNsX21nX3BoeV9kZGlfdHJhbnNsYXRpb25z X2hicjJfaGIKIAl7IC5tZyA9IHsgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDMgICAgICAgICAg ICAgIDAgICAqLwogfTsKIAotc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNf ZW50cnkgaWNsX21nX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyBpY2xfbWdfcGh5X2RkaV90cmFuc2xhdGlvbnNf aGJyMl9oYnIzID0geworCS5lbnRyaWVzID0gX2ljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uc19o YnIyX2hicjMsCisJLm51bV9lbnRyaWVzID0gQVJSQVlfU0laRShfaWNsX21nX3BoeV9kZGlfdHJh bnNsYXRpb25zX2hicjJfaGJyMyksCit9OworCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRp X2J1Zl90cmFuc19lbnRyeSBfaWNsX21nX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsK IAkJCQkJLyogSERNSSBQcmVzZXQJVlMJUHJlLWVtcGggKi8KIAl7IC5tZyA9IHsgMHgxQSwgMHgw LCAweDAgfSB9LAkvKiAxCQk0MDBtVgkwZEIgKi8KIAl7IC5tZyA9IHsgMHgyMCwgMHgwLCAweDAg fSB9LAkvKiAyCQk1MDBtVgkwZEIgKi8KQEAgLTYwNSw3ICs4MTAsMTIgQEAgc3RhdGljIGNvbnN0 IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgaWNsX21nX3BoeV9kZGlfdHJhbnNsYXRp b25zX2hkbWlbXQogCXsgLm1nID0geyAweDM2LCAweDAsIDB4OSB9IH0sCS8qIDEwCQlGdWxsCS0z IGRCICovCiB9OwogCi1zdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRy eSB0Z2xfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicltdID0geworc3RhdGljIGNvbnN0 IHN0cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5zIGljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uc19o ZG1pID0geworCS5lbnRyaWVzID0gX2ljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uc19oZG1pLAor CS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX2ljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uc19o ZG1pKSwKK307CisKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5 IF90Z2xfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicltdID0gewogCQkJCQkvKiBWUwlw cmUtZW1wCU5vbi10cmFucyBtVglQcmUtZW1waCBkQiAqLwogCXsgLmRrbCA9IHsgMHg3LCAweDAs IDB4MDAgfSB9LAkvKiAwCTAJNDAwbVYJCTAgZEIgKi8KIAl7IC5ka2wgPSB7IDB4NSwgMHgwLCAw eDA1IH0gfSwJLyogMAkxCTQwMG1WCQkzLjUgZEIgKi8KQEAgLTYxOSw3ICs4MjksMTIgQEAgc3Rh dGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgdGdsX2RrbF9waHlfZGRp X3RyYW5zbGF0aW9uc19kcF9oYnIKIAl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweDAwIH0gfSwJLyog MwkwCTEyMDBtVgkJMCBkQiBIRE1JIGRlZmF1bHQgKi8KIH07CiAKLXN0YXRpYyBjb25zdCB1bmlv biBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHRnbF9ka2xfcGh5X2RkaV90cmFuc2xhdGlvbnNf ZHBfaGJyMltdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5zIHRn bF9ka2xfcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyID0geworCS5lbnRyaWVzID0gX3RnbF9k a2xfcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJ WkUoX3RnbF9ka2xfcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyKSwKK307CisKK3N0YXRpYyBj b25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IF90Z2xfZGtsX3BoeV9kZGlfdHJh bnNsYXRpb25zX2RwX2hicjJbXSA9IHsKIAkJCQkJLyogVlMJcHJlLWVtcAlOb24tdHJhbnMgbVYJ UHJlLWVtcGggZEIgKi8KIAl7IC5ka2wgPSB7IDB4NywgMHgwLCAweDAwIH0gfSwJLyogMAkwCTQw MG1WCQkwIGRCICovCiAJeyAuZGtsID0geyAweDUsIDB4MCwgMHgwNSB9IH0sCS8qIDAJMQk0MDBt VgkJMy41IGRCICovCkBAIC02MzMsNyArODQ4LDEyIEBAIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRl bF9kZGlfYnVmX3RyYW5zX2VudHJ5IHRnbF9ka2xfcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJy CiAJeyAuZGtsID0geyAweDAsIDB4MCwgMHgwMCB9IH0sCS8qIDMJMAkxMjAwbVYJCTAgZEIgSERN SSBkZWZhdWx0ICovCiB9OwogCi1zdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFu c19lbnRyeSB0Z2xfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyB0Z2xfZGtsX3BoeV9kZGlfdHJhbnNsYXRp b25zX2RwX2hicjIgPSB7CisJLmVudHJpZXMgPSBfdGdsX2RrbF9waHlfZGRpX3RyYW5zbGF0aW9u c19kcF9oYnIyLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX3RnbF9ka2xfcGh5X2RkaV90 cmFuc2xhdGlvbnNfZHBfaGJyMiksCit9OworCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRp X2J1Zl90cmFuc19lbnRyeSBfdGdsX2RrbF9waHlfZGRpX3RyYW5zbGF0aW9uc19oZG1pW10gPSB7 CiAJCQkJCS8qIEhETUkgUHJlc2V0CVZTCVByZS1lbXBoICovCiAJeyAuZGtsID0geyAweDcsIDB4 MCwgMHgwIH0gfSwJLyogMQkJNDAwbVYJMGRCICovCiAJeyAuZGtsID0geyAweDYsIDB4MCwgMHgw IH0gfSwJLyogMgkJNTAwbVYJMGRCICovCkBAIC02NDcsNyArODY3LDEyIEBAIHN0YXRpYyBjb25z dCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHRnbF9ka2xfcGh5X2RkaV90cmFuc2xh dGlvbnNfaGRtaVtdCiAJeyAuZGtsID0geyAweDAsIDB4MCwgMHhBIH0gfSwJLyogMTAJCUZ1bGwJ LTMgZEIgKi8KIH07CiAKLXN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2Vu dHJ5IHRnbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnJbXSA9IHsKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyB0Z2xfZGtsX3BoeV9kZGlfdHJhbnNsYXRp b25zX2hkbWkgPSB7CisJLmVudHJpZXMgPSBfdGdsX2RrbF9waHlfZGRpX3RyYW5zbGF0aW9uc19o ZG1pLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX3RnbF9ka2xfcGh5X2RkaV90cmFuc2xh dGlvbnNfaGRtaSksCit9OworCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFu c19lbnRyeSBfdGdsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicltdID0gewogCQkJ CQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCiAJeyAuY25sID0geyAweEEsIDB4MzIsIDB4 M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLwogCXsgLmNubCA9 IHsgMHhBLCAweDRGLCAweDM3LCAweDAwLCAweDA4IH0gfSwJLyogMzUwICAgNTAwICAgICAgMy4x ICAgKi8KQEAgLTY2MSw3ICs4ODYsMTIgQEAgc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9i dWZfdHJhbnNfZW50cnkgdGdsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2gKIAl7IC5j bmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDkwMCAgIDkwMCAgICAg IDAuMCAgICovCiB9OwogCi1zdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19l bnRyeSB0Z2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMltdID0geworc3RhdGlj IGNvbnN0IHN0cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5zIHRnbF9jb21ib19waHlfZGRpX3RyYW5z bGF0aW9uc19kcF9oYnIgPSB7CisJLmVudHJpZXMgPSBfdGdsX2NvbWJvX3BoeV9kZGlfdHJhbnNs YXRpb25zX2RwX2hiciwKKwkubnVtX2VudHJpZXMgPSBBUlJBWV9TSVpFKF90Z2xfY29tYm9fcGh5 X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyKSwKK307CisKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRl bF9kZGlfYnVmX3RyYW5zX2VudHJ5IF90Z2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBf aGJyMltdID0gewogCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCiAJeyAuY25sID0g eyAweEEsIDB4MzUsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAg ICAqLwogCXsgLmNubCA9IHsgMHhBLCAweDRGLCAweDM3LCAweDAwLCAweDA4IH0gfSwJLyogMzUw ICAgNTAwICAgICAgMy4xICAgKi8KQEAgLTY3NSw3ICs5MDUsMTIgQEAgc3RhdGljIGNvbnN0IHVu aW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgdGdsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRp b25zX2RwX2gKIAl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8q IDkwMCAgIDkwMCAgICAgIDAuMCAgICovCiB9OwogCi1zdGF0aWMgY29uc3QgdW5pb24gaW50ZWxf ZGRpX2J1Zl90cmFuc19lbnRyeSB0Z2xfdXlfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBf aGJyMltdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5zIHRnbF9j b21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyID0geworCS5lbnRyaWVzID0gX3RnbF9j b21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyLAorCS5udW1fZW50cmllcyA9IEFSUkFZ X1NJWkUoX3RnbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyKSwKK307CisKK3N0 YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IF90Z2xfdXlfY29tYm9f cGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMltdID0gewogCQkJCQkJCS8qIE5UIG1WIFRyYW5z IG1WIGRiICAgICovCiAJeyAuY25sID0geyAweEEsIDB4MzUsIDB4M0YsIDB4MDAsIDB4MDAgfSB9 LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLwogCXsgLmNubCA9IHsgMHhBLCAweDRGLCAweDM2 LCAweDAwLCAweDA5IH0gfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KQEAgLTY4OSwxMSAr OTI0LDE2IEBAIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHRn bF91eV9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kCiAJeyAuY25sID0geyAweDYsIDB4N0Ys IDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLwogfTsKIAor c3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5zIHRnbF91eV9jb21ib19waHlf ZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyID0geworCS5lbnRyaWVzID0gX3RnbF91eV9jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUo X3RnbF91eV9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyKSwKK307CisKIC8qCiAg KiBDbG9uZWQgdGhlIEhPQkwgZW50cnkgdG8gY29tcGx5IHdpdGggdGhlIHZvbHRhZ2UgYW5kIHBy ZS1lbXBoYXNpcyBlbnRyaWVzCiAgKiB0aGF0IERpc3BsYXlQb3J0IHNwZWNpZmljYXRpb24gcmVx dWlyZXMKICAqLwotc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkg dGdsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyX2hvYmxbXSA9IHsKK3N0YXRp YyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IF90Z2xfY29tYm9fcGh5X2Rk aV90cmFuc2xhdGlvbnNfZWRwX2hicjJfaG9ibFtdID0gewogCQkJCQkJCS8qIFZTCXByZS1lbXAJ Ki8KIAl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDAJMAkq LwogCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMAkxCSov CkBAIC03MDYsNyArOTQ2LDEyIEBAIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3Ry YW5zX2VudHJ5IHRnbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfCiAJeyAuY25sID0g eyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAyCTEJKi8KIH07CiAKLXN0YXRp YyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHJrbF9jb21ib19waHlfZGRp X3RyYW5zbGF0aW9uc19kcF9oYnJbXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGRp X2J1Zl90cmFucyB0Z2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjJfaG9ibCA9 IHsKKwkuZW50cmllcyA9IF90Z2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjJf aG9ibCwKKwkubnVtX2VudHJpZXMgPSBBUlJBWV9TSVpFKF90Z2xfY29tYm9fcGh5X2RkaV90cmFu c2xhdGlvbnNfZWRwX2hicjJfaG9ibCksCit9OworCitzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxf ZGRpX2J1Zl90cmFuc19lbnRyeSBfcmtsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hi cltdID0gewogCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCiAJeyAuY25sID0geyAw eEEsIDB4MkYsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAq LwogCXsgLmNubCA9IHsgMHhBLCAweDRGLCAweDM3LCAweDAwLCAweDA4IH0gfSwJLyogMzUwICAg NTAwICAgICAgMy4xICAgKi8KQEAgLTcyMCw3ICs5NjUsMTIgQEAgc3RhdGljIGNvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgcmtsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25z X2RwX2gKIAl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDkw MCAgIDkwMCAgICAgIDAuMCAgICovCiB9OwogCi1zdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRp X2J1Zl90cmFuc19lbnRyeSBya2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMl9o YnIzW10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RkaV9idWZfdHJhbnMgcmtsX2Nv bWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hiciA9IHsKKwkuZW50cmllcyA9IF9ya2xfY29t Ym9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJ WkUoX3JrbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIpLAorfTsKKworc3RhdGlj IGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgX3JrbF9jb21ib19waHlfZGRp X3RyYW5zbGF0aW9uc19kcF9oYnIyX2hicjNbXSA9IHsKIAkJCQkJCQkvKiBOVCBtViBUcmFucyBt ViBkYiAgICAqLwogCXsgLmNubCA9IHsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0gfSwJ LyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KIAl7IC5jbmwgPSB7IDB4QSwgMHg1MCwgMHgzOCwg MHgwMCwgMHgwNyB9IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCkBAIC03MzQsNyArOTg0 LDEyIEBAIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHJrbF9j b21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oCiAJeyAuY25sID0geyAweDYsIDB4N0YsIDB4 M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLwogfTsKIAotc3Rh dGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgYWRscF9ka2xfcGh5X2Rk aV90cmFuc2xhdGlvbnNfZHBfaGJyW10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2Rk aV9idWZfdHJhbnMgcmtsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjJfaGJyMyA9 IHsKKwkuZW50cmllcyA9IF9ya2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMl9o YnIzLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX3JrbF9jb21ib19waHlfZGRpX3RyYW5z bGF0aW9uc19kcF9oYnIyX2hicjMpLAorfTsKKworc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2Rk aV9idWZfdHJhbnNfZW50cnkgX2FkbHBfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicltd ID0gewogCQkJCQkvKiBWUwlwcmUtZW1wCU5vbi10cmFucyBtVglQcmUtZW1waCBkQiAqLwogCXsg LmRrbCA9IHsgMHg3LCAweDAsIDB4MDEgfSB9LAkvKiAwCTAJNDAwbVYJCTAgZEIgKi8KIAl7IC5k a2wgPSB7IDB4NSwgMHgwLCAweDA2IH0gfSwJLyogMAkxCTQwMG1WCQkzLjUgZEIgKi8KQEAgLTc0 OCw3ICsxMDAzLDEyIEBAIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2Vu dHJ5IGFkbHBfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hiCiAJeyAuZGtsID0geyAweDAs IDB4MCwgMHgwMCB9IH0sCS8qIDMJMAkxMjAwbVYJCTAgZEIgKi8KIH07CiAKLXN0YXRpYyBjb25z dCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGFkbHBfZGtsX3BoeV9kZGlfdHJhbnNs YXRpb25zX2RwX2hicjJfaGJyM1tdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZGlf YnVmX3RyYW5zIGFkbHBfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hiciA9IHsKKwkuZW50 cmllcyA9IF9hZGxwX2RrbF9waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIsCisJLm51bV9lbnRy aWVzID0gQVJSQVlfU0laRShfYWRscF9ka2xfcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyKSwK K307CisKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IF9hZGxw X2RrbF9waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyX2hicjNbXSA9IHsKIAkJCQkJLyogVlMJ cHJlLWVtcAlOb24tdHJhbnMgbVYJUHJlLWVtcGggZEIgKi8KIAl7IC5ka2wgPSB7IDB4NywgMHgw LCAweDAwIH0gfSwJLyogMAkwCTQwMG1WCQkwIGRCICovCiAJeyAuZGtsID0geyAweDUsIDB4MCwg MHgwNCB9IH0sCS8qIDAJMQk0MDBtVgkJMy41IGRCICovCkBAIC03NjIsOSArMTAyMiwxNCBAQCBz dGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBhZGxwX2RrbF9waHlf ZGRpX3RyYW5zbGF0aW9uc19kcF9oYgogCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MDAgfSB9LAkv KiAzCTAJMTIwMG1WCQkwIGRCICovCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2Rk aV9idWZfdHJhbnMgYWRscF9ka2xfcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMl9oYnIzID0g eworCS5lbnRyaWVzID0gX2FkbHBfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjJfaGJy MywKKwkubnVtX2VudHJpZXMgPSBBUlJBWV9TSVpFKF9hZGxwX2RrbF9waHlfZGRpX3RyYW5zbGF0 aW9uc19kcF9oYnIyX2hicjMpLAorfTsKKwogYm9vbCBpc19ob2JsX2J1Zl90cmFucyhjb25zdCB1 bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICp0YWJsZSkKIHsKLQlyZXR1cm4gdGFibGUg PT0gdGdsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyX2hvYmw7CisJcmV0dXJu IHRhYmxlID09IHRnbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMl9ob2JsLmVu dHJpZXM7CiB9CiAKIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5 ICoKQEAgLTc3MywxMSArMTAzOCwxMSBAQCBiZHdfZ2V0X2J1Zl90cmFuc19lZHAoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQogCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCiAJaWYgKGRl dl9wcml2LT52YnQuZWRwLmxvd192c3dpbmcpIHsKLQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUo YmR3X2RkaV90cmFuc2xhdGlvbnNfZWRwKTsKLQkJcmV0dXJuIGJkd19kZGlfdHJhbnNsYXRpb25z X2VkcDsKKwkJKm5fZW50cmllcyA9IGJkd19kZGlfdHJhbnNsYXRpb25zX2VkcC5udW1fZW50cmll czsKKwkJcmV0dXJuIGJkd19kZGlfdHJhbnNsYXRpb25zX2VkcC5lbnRyaWVzOwogCX0gZWxzZSB7 Ci0JCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpFKGJkd19kZGlfdHJhbnNsYXRpb25zX2RwKTsKLQkJ cmV0dXJuIGJkd19kZGlfdHJhbnNsYXRpb25zX2RwOworCQkqbl9lbnRyaWVzID0gYmR3X2RkaV90 cmFuc2xhdGlvbnNfZHAubnVtX2VudHJpZXM7CisJCXJldHVybiBiZHdfZGRpX3RyYW5zbGF0aW9u c19kcC5lbnRyaWVzOwogCX0KIH0KIApAQCAtNzg3LDE0ICsxMDUyLDE0IEBAIHNrbF9nZXRfYnVm X3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmllcykK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJh c2UuZGV2KTsKIAogCWlmIChJU19TS0xfVUxYKGRldl9wcml2KSkgewotCQkqbl9lbnRyaWVzID0g QVJSQVlfU0laRShza2xfeV9kZGlfdHJhbnNsYXRpb25zX2RwKTsKLQkJcmV0dXJuIHNrbF95X2Rk aV90cmFuc2xhdGlvbnNfZHA7CisJCSpuX2VudHJpZXMgPSBza2xfeV9kZGlfdHJhbnNsYXRpb25z X2RwLm51bV9lbnRyaWVzOworCQlyZXR1cm4gc2tsX3lfZGRpX3RyYW5zbGF0aW9uc19kcC5lbnRy aWVzOwogCX0gZWxzZSBpZiAoSVNfU0tMX1VMVChkZXZfcHJpdikpIHsKLQkJKm5fZW50cmllcyA9 IEFSUkFZX1NJWkUoc2tsX3VfZGRpX3RyYW5zbGF0aW9uc19kcCk7Ci0JCXJldHVybiBza2xfdV9k ZGlfdHJhbnNsYXRpb25zX2RwOworCQkqbl9lbnRyaWVzID0gc2tsX3VfZGRpX3RyYW5zbGF0aW9u c19kcC5udW1fZW50cmllczsKKwkJcmV0dXJuIHNrbF91X2RkaV90cmFuc2xhdGlvbnNfZHAuZW50 cmllczsKIAl9IGVsc2UgewotCQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShza2xfZGRpX3RyYW5z bGF0aW9uc19kcCk7Ci0JCXJldHVybiBza2xfZGRpX3RyYW5zbGF0aW9uc19kcDsKKwkJKm5fZW50 cmllcyA9IHNrbF9kZGlfdHJhbnNsYXRpb25zX2RwLm51bV9lbnRyaWVzOworCQlyZXR1cm4gc2ts X2RkaV90cmFuc2xhdGlvbnNfZHAuZW50cmllczsKIAl9CiB9CiAKQEAgLTgwNiwxNiArMTA3MSwx NiBAQCBrYmxfZ2V0X2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rlciwg aW50ICpuX2VudHJpZXMpCiAJaWYgKElTX0tCTF9VTFgoZGV2X3ByaXYpIHx8CiAJICAgIElTX0NG TF9VTFgoZGV2X3ByaXYpIHx8CiAJICAgIElTX0NNTF9VTFgoZGV2X3ByaXYpKSB7Ci0JCSpuX2Vu dHJpZXMgPSBBUlJBWV9TSVpFKGtibF95X2RkaV90cmFuc2xhdGlvbnNfZHApOwotCQlyZXR1cm4g a2JsX3lfZGRpX3RyYW5zbGF0aW9uc19kcDsKKwkJKm5fZW50cmllcyA9IGtibF95X2RkaV90cmFu c2xhdGlvbnNfZHAubnVtX2VudHJpZXM7CisJCXJldHVybiBrYmxfeV9kZGlfdHJhbnNsYXRpb25z X2RwLmVudHJpZXM7CiAJfSBlbHNlIGlmIChJU19LQkxfVUxUKGRldl9wcml2KSB8fAogCQkgICBJ U19DRkxfVUxUKGRldl9wcml2KSB8fAogCQkgICBJU19DTUxfVUxUKGRldl9wcml2KSkgewotCQkq bl9lbnRyaWVzID0gQVJSQVlfU0laRShrYmxfdV9kZGlfdHJhbnNsYXRpb25zX2RwKTsKLQkJcmV0 dXJuIGtibF91X2RkaV90cmFuc2xhdGlvbnNfZHA7CisJCSpuX2VudHJpZXMgPSBrYmxfdV9kZGlf dHJhbnNsYXRpb25zX2RwLm51bV9lbnRyaWVzOworCQlyZXR1cm4ga2JsX3VfZGRpX3RyYW5zbGF0 aW9uc19kcC5lbnRyaWVzOwogCX0gZWxzZSB7Ci0JCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpFKGti bF9kZGlfdHJhbnNsYXRpb25zX2RwKTsKLQkJcmV0dXJuIGtibF9kZGlfdHJhbnNsYXRpb25zX2Rw OworCQkqbl9lbnRyaWVzID0ga2JsX2RkaV90cmFuc2xhdGlvbnNfZHAubnVtX2VudHJpZXM7CisJ CXJldHVybiBrYmxfZGRpX3RyYW5zbGF0aW9uc19kcC5lbnRyaWVzOwogCX0KIH0KIApAQCAtODI5 LDE3ICsxMDk0LDE3IEBAIHNrbF9nZXRfYnVmX3RyYW5zX2VkcChzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwgaW50ICpuX2VudHJpZXMpCiAJCSAgICBJU19LQkxfVUxYKGRldl9wcml2KSB8 fAogCQkgICAgSVNfQ0ZMX1VMWChkZXZfcHJpdikgfHwKIAkJICAgIElTX0NNTF9VTFgoZGV2X3By aXYpKSB7Ci0JCQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShza2xfeV9kZGlfdHJhbnNsYXRpb25z X2VkcCk7Ci0JCQlyZXR1cm4gc2tsX3lfZGRpX3RyYW5zbGF0aW9uc19lZHA7CisJCQkqbl9lbnRy aWVzID0gc2tsX3lfZGRpX3RyYW5zbGF0aW9uc19lZHAubnVtX2VudHJpZXM7CisJCQlyZXR1cm4g c2tsX3lfZGRpX3RyYW5zbGF0aW9uc19lZHAuZW50cmllczsKIAkJfSBlbHNlIGlmIChJU19TS0xf VUxUKGRldl9wcml2KSB8fAogCQkJICAgSVNfS0JMX1VMVChkZXZfcHJpdikgfHwKIAkJCSAgIElT X0NGTF9VTFQoZGV2X3ByaXYpIHx8CiAJCQkgICBJU19DTUxfVUxUKGRldl9wcml2KSkgewotCQkJ Km5fZW50cmllcyA9IEFSUkFZX1NJWkUoc2tsX3VfZGRpX3RyYW5zbGF0aW9uc19lZHApOwotCQkJ cmV0dXJuIHNrbF91X2RkaV90cmFuc2xhdGlvbnNfZWRwOworCQkJKm5fZW50cmllcyA9IHNrbF91 X2RkaV90cmFuc2xhdGlvbnNfZWRwLm51bV9lbnRyaWVzOworCQkJcmV0dXJuIHNrbF91X2RkaV90 cmFuc2xhdGlvbnNfZWRwLmVudHJpZXM7CiAJCX0gZWxzZSB7Ci0JCQkqbl9lbnRyaWVzID0gQVJS QVlfU0laRShza2xfZGRpX3RyYW5zbGF0aW9uc19lZHApOwotCQkJcmV0dXJuIHNrbF9kZGlfdHJh bnNsYXRpb25zX2VkcDsKKwkJCSpuX2VudHJpZXMgPSBza2xfZGRpX3RyYW5zbGF0aW9uc19lZHAu bnVtX2VudHJpZXM7CisJCQlyZXR1cm4gc2tsX2RkaV90cmFuc2xhdGlvbnNfZWRwLmVudHJpZXM7 CiAJCX0KIAl9CiAKQEAgLTg1OCwxMSArMTEyMywxMSBAQCBza2xfZ2V0X2J1Zl90cmFuc19oZG1p KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50ICpuX2VudHJpZXMpCiAJICAg IElTX0tCTF9VTFgoZGV2X3ByaXYpIHx8CiAJICAgIElTX0NGTF9VTFgoZGV2X3ByaXYpIHx8CiAJ ICAgIElTX0NNTF9VTFgoZGV2X3ByaXYpKSB7Ci0JCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpFKHNr bF95X2RkaV90cmFuc2xhdGlvbnNfaGRtaSk7Ci0JCXJldHVybiBza2xfeV9kZGlfdHJhbnNsYXRp b25zX2hkbWk7CisJCSpuX2VudHJpZXMgPSBza2xfeV9kZGlfdHJhbnNsYXRpb25zX2hkbWkubnVt X2VudHJpZXM7CisJCXJldHVybiBza2xfeV9kZGlfdHJhbnNsYXRpb25zX2hkbWkuZW50cmllczsK IAl9IGVsc2UgewotCQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShza2xfZGRpX3RyYW5zbGF0aW9u c19oZG1pKTsKLQkJcmV0dXJuIHNrbF9kZGlfdHJhbnNsYXRpb25zX2hkbWk7CisJCSpuX2VudHJp ZXMgPSBza2xfZGRpX3RyYW5zbGF0aW9uc19oZG1pLm51bV9lbnRyaWVzOworCQlyZXR1cm4gc2ts X2RkaV90cmFuc2xhdGlvbnNfaGRtaS5lbnRyaWVzOwogCX0KIH0KIApAQCAtODkzLDExICsxMTU4 LDExIEBAIGhzd19nZXRfYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LCBpbnQgKm5fZW50cmllcykKIAkJKm5fZW50cmllcyA9IHNrbF9idWZfdHJhbnNfbnVtX2VudHJp ZXMoZW5jb2Rlci0+cG9ydCwgKm5fZW50cmllcyk7CiAJCXJldHVybiBkZGlfdHJhbnNsYXRpb25z OwogCX0gZWxzZSBpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSkgewotCQkqbl9lbnRyaWVzID0g QVJSQVlfU0laRShiZHdfZGRpX3RyYW5zbGF0aW9uc19kcCk7Ci0JCXJldHVybiAgYmR3X2RkaV90 cmFuc2xhdGlvbnNfZHA7CisJCSpuX2VudHJpZXMgPSBiZHdfZGRpX3RyYW5zbGF0aW9uc19kcC5u dW1fZW50cmllczsKKwkJcmV0dXJuICBiZHdfZGRpX3RyYW5zbGF0aW9uc19kcC5lbnRyaWVzOwog CX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikpIHsKLQkJKm5fZW50cmllcyA9IEFSUkFZ X1NJWkUoaHN3X2RkaV90cmFuc2xhdGlvbnNfZHApOwotCQlyZXR1cm4gaHN3X2RkaV90cmFuc2xh dGlvbnNfZHA7CisJCSpuX2VudHJpZXMgPSBoc3dfZGRpX3RyYW5zbGF0aW9uc19kcC5udW1fZW50 cmllczsKKwkJcmV0dXJuIGhzd19kZGlfdHJhbnNsYXRpb25zX2RwLmVudHJpZXM7CiAJfQogCiAJ Km5fZW50cmllcyA9IDA7CkBAIC05MTcsOCArMTE4Miw4IEBAIGhzd19nZXRfYnVmX3RyYW5zX2Vk cChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50ICpuX2VudHJpZXMpCiAJfSBlbHNl IGlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpKSB7CiAJCXJldHVybiBiZHdfZ2V0X2J1Zl90cmFu c19lZHAoZW5jb2Rlciwgbl9lbnRyaWVzKTsKIAl9IGVsc2UgaWYgKElTX0hBU1dFTEwoZGV2X3By aXYpKSB7Ci0JCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpFKGhzd19kZGlfdHJhbnNsYXRpb25zX2Rw KTsKLQkJcmV0dXJuIGhzd19kZGlfdHJhbnNsYXRpb25zX2RwOworCQkqbl9lbnRyaWVzID0gaHN3 X2RkaV90cmFuc2xhdGlvbnNfZHAubnVtX2VudHJpZXM7CisJCXJldHVybiBoc3dfZGRpX3RyYW5z bGF0aW9uc19kcC5lbnRyaWVzOwogCX0KIAogCSpuX2VudHJpZXMgPSAwOwpAQCAtOTMyLDExICsx MTk3LDExIEBAIGhzd19nZXRfYnVmX3RyYW5zX2ZkaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29k ZXItPmJhc2UuZGV2KTsKIAogCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpKSB7Ci0JCSpuX2Vu dHJpZXMgPSBBUlJBWV9TSVpFKGJkd19kZGlfdHJhbnNsYXRpb25zX2ZkaSk7Ci0JCXJldHVybiBi ZHdfZGRpX3RyYW5zbGF0aW9uc19mZGk7CisJCSpuX2VudHJpZXMgPSBiZHdfZGRpX3RyYW5zbGF0 aW9uc19mZGkubnVtX2VudHJpZXM7CisJCXJldHVybiBiZHdfZGRpX3RyYW5zbGF0aW9uc19mZGku ZW50cmllczsKIAl9IGVsc2UgaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKSB7Ci0JCSpuX2VudHJp ZXMgPSBBUlJBWV9TSVpFKGhzd19kZGlfdHJhbnNsYXRpb25zX2ZkaSk7Ci0JCXJldHVybiBoc3df ZGRpX3RyYW5zbGF0aW9uc19mZGk7CisJCSpuX2VudHJpZXMgPSBoc3dfZGRpX3RyYW5zbGF0aW9u c19mZGkubnVtX2VudHJpZXM7CisJCXJldHVybiBoc3dfZGRpX3RyYW5zbGF0aW9uc19mZGkuZW50 cmllczsKIAl9CiAKIAkqbl9lbnRyaWVzID0gMDsKQEAgLTk1MiwxMSArMTIxNywxMSBAQCBoc3df Z2V0X2J1Zl90cmFuc19oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCWlmIChE SVNQTEFZX1ZFUihkZXZfcHJpdikgPT0gOSAmJiAhSVNfQlJPWFRPTihkZXZfcHJpdikpIHsKIAkJ cmV0dXJuIHNrbF9nZXRfYnVmX3RyYW5zX2hkbWkoZGV2X3ByaXYsIG5fZW50cmllcyk7CiAJfSBl bHNlIGlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpKSB7Ci0JCSpuX2VudHJpZXMgPSBBUlJBWV9T SVpFKGJkd19kZGlfdHJhbnNsYXRpb25zX2hkbWkpOwotCQlyZXR1cm4gYmR3X2RkaV90cmFuc2xh dGlvbnNfaGRtaTsKKwkJKm5fZW50cmllcyA9IGJkd19kZGlfdHJhbnNsYXRpb25zX2hkbWkubnVt X2VudHJpZXM7CisJCXJldHVybiBiZHdfZGRpX3RyYW5zbGF0aW9uc19oZG1pLmVudHJpZXM7CiAJ fSBlbHNlIGlmIChJU19IQVNXRUxMKGRldl9wcml2KSkgewotCQkqbl9lbnRyaWVzID0gQVJSQVlf U0laRShoc3dfZGRpX3RyYW5zbGF0aW9uc19oZG1pKTsKLQkJcmV0dXJuIGhzd19kZGlfdHJhbnNs YXRpb25zX2hkbWk7CisJCSpuX2VudHJpZXMgPSBoc3dfZGRpX3RyYW5zbGF0aW9uc19oZG1pLm51 bV9lbnRyaWVzOworCQlyZXR1cm4gaHN3X2RkaV90cmFuc2xhdGlvbnNfaGRtaS5lbnRyaWVzOwog CX0KIAogCSpuX2VudHJpZXMgPSAwOwpAQCAtOTgxLDggKzEyNDYsOCBAQCBoc3dfZ2V0X2J1Zl90 cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHN0YXRpYyBjb25zdCB1bmlvbiBp bnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKIGJ4dF9nZXRfYnVmX3RyYW5zX2RwKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmllcykKIHsKLQkqbl9lbnRyaWVzID0g QVJSQVlfU0laRShieHRfZGRpX3RyYW5zbGF0aW9uc19kcCk7Ci0JcmV0dXJuIGJ4dF9kZGlfdHJh bnNsYXRpb25zX2RwOworCSpuX2VudHJpZXMgPSBieHRfZGRpX3RyYW5zbGF0aW9uc19kcC5udW1f ZW50cmllczsKKwlyZXR1cm4gYnh0X2RkaV90cmFuc2xhdGlvbnNfZHAuZW50cmllczsKIH0KIAog c3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgpAQCAtOTkxLDgg KzEyNTYsOCBAQCBieHRfZ2V0X2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsIGludCAqbl9lbnRyaWVzKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCiAJaWYgKGRldl9wcml2LT52YnQuZWRw Lmxvd192c3dpbmcpIHsKLQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUoYnh0X2RkaV90cmFuc2xh dGlvbnNfZWRwKTsKLQkJcmV0dXJuIGJ4dF9kZGlfdHJhbnNsYXRpb25zX2VkcDsKKwkJKm5fZW50 cmllcyA9IGJ4dF9kZGlfdHJhbnNsYXRpb25zX2VkcC5udW1fZW50cmllczsKKwkJcmV0dXJuIGJ4 dF9kZGlfdHJhbnNsYXRpb25zX2VkcC5lbnRyaWVzOwogCX0KIAogCXJldHVybiBieHRfZ2V0X2J1 Zl90cmFuc19kcChlbmNvZGVyLCBuX2VudHJpZXMpOwpAQCAtMTAwMSw4ICsxMjY2LDggQEAgYnh0 X2dldF9idWZfdHJhbnNfZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5f ZW50cmllcykKIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoK IGJ4dF9nZXRfYnVmX3RyYW5zX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGlu dCAqbl9lbnRyaWVzKQogewotCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpFKGJ4dF9kZGlfdHJhbnNs YXRpb25zX2hkbWkpOwotCXJldHVybiBieHRfZGRpX3RyYW5zbGF0aW9uc19oZG1pOworCSpuX2Vu dHJpZXMgPSBieHRfZGRpX3RyYW5zbGF0aW9uc19oZG1pLm51bV9lbnRyaWVzOworCXJldHVybiBi eHRfZGRpX3RyYW5zbGF0aW9uc19oZG1pLmVudHJpZXM7CiB9CiAKIGNvbnN0IHVuaW9uIGludGVs X2RkaV9idWZfdHJhbnNfZW50cnkgKgpAQCAtMTAyNCwxNCArMTI4OSwxNCBAQCBjbmxfZ2V0X2J1 Zl90cmFuc19oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmll cykKIAl1MzIgdm9sdGFnZSA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIENOTF9QT1JUX0NPTVBf RFczKSAmIFZPTFRBR0VfSU5GT19NQVNLOwogCiAJaWYgKHZvbHRhZ2UgPT0gVk9MVEFHRV9JTkZP XzBfODVWKSB7Ci0JCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpFKGNubF9kZGlfdHJhbnNsYXRpb25z X2hkbWlfMF84NVYpOwotCQlyZXR1cm4gY25sX2RkaV90cmFuc2xhdGlvbnNfaGRtaV8wXzg1VjsK KwkJKm5fZW50cmllcyA9IGNubF9kZGlfdHJhbnNsYXRpb25zX2hkbWlfMF84NVYubnVtX2VudHJp ZXM7CisJCXJldHVybiBjbmxfZGRpX3RyYW5zbGF0aW9uc19oZG1pXzBfODVWLmVudHJpZXM7CiAJ fSBlbHNlIGlmICh2b2x0YWdlID09IFZPTFRBR0VfSU5GT18wXzk1VikgewotCQkqbl9lbnRyaWVz ID0gQVJSQVlfU0laRShjbmxfZGRpX3RyYW5zbGF0aW9uc19oZG1pXzBfOTVWKTsKLQkJcmV0dXJu IGNubF9kZGlfdHJhbnNsYXRpb25zX2hkbWlfMF85NVY7CisJCSpuX2VudHJpZXMgPSBjbmxfZGRp X3RyYW5zbGF0aW9uc19oZG1pXzBfOTVWLm51bV9lbnRyaWVzOworCQlyZXR1cm4gY25sX2RkaV90 cmFuc2xhdGlvbnNfaGRtaV8wXzk1Vi5lbnRyaWVzOwogCX0gZWxzZSBpZiAodm9sdGFnZSA9PSBW T0xUQUdFX0lORk9fMV8wNVYpIHsKLQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUoY25sX2RkaV90 cmFuc2xhdGlvbnNfaGRtaV8xXzA1Vik7Ci0JCXJldHVybiBjbmxfZGRpX3RyYW5zbGF0aW9uc19o ZG1pXzFfMDVWOworCQkqbl9lbnRyaWVzID0gY25sX2RkaV90cmFuc2xhdGlvbnNfaGRtaV8xXzA1 Vi5udW1fZW50cmllczsKKwkJcmV0dXJuIGNubF9kZGlfdHJhbnNsYXRpb25zX2hkbWlfMV8wNVYu ZW50cmllczsKIAl9IGVsc2UgewogCQkqbl9lbnRyaWVzID0gMTsgLyogc2h1dCB1cCBnY2MgKi8K IAkJTUlTU0lOR19DQVNFKHZvbHRhZ2UpOwpAQCAtMTA0NiwxNCArMTMxMSwxNCBAQCBjbmxfZ2V0 X2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50ICpuX2VudHJp ZXMpCiAJdTMyIHZvbHRhZ2UgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBDTkxfUE9SVF9DT01Q X0RXMykgJiBWT0xUQUdFX0lORk9fTUFTSzsKIAogCWlmICh2b2x0YWdlID09IFZPTFRBR0VfSU5G T18wXzg1VikgewotCQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShjbmxfZGRpX3RyYW5zbGF0aW9u c19kcF8wXzg1Vik7Ci0JCXJldHVybiBjbmxfZGRpX3RyYW5zbGF0aW9uc19kcF8wXzg1VjsKKwkJ Km5fZW50cmllcyA9IGNubF9kZGlfdHJhbnNsYXRpb25zX2RwXzBfODVWLm51bV9lbnRyaWVzOwor CQlyZXR1cm4gY25sX2RkaV90cmFuc2xhdGlvbnNfZHBfMF84NVYuZW50cmllczsKIAl9IGVsc2Ug aWYgKHZvbHRhZ2UgPT0gVk9MVEFHRV9JTkZPXzBfOTVWKSB7Ci0JCSpuX2VudHJpZXMgPSBBUlJB WV9TSVpFKGNubF9kZGlfdHJhbnNsYXRpb25zX2RwXzBfOTVWKTsKLQkJcmV0dXJuIGNubF9kZGlf dHJhbnNsYXRpb25zX2RwXzBfOTVWOworCQkqbl9lbnRyaWVzID0gY25sX2RkaV90cmFuc2xhdGlv bnNfZHBfMF85NVYubnVtX2VudHJpZXM7CisJCXJldHVybiBjbmxfZGRpX3RyYW5zbGF0aW9uc19k cF8wXzk1Vi5lbnRyaWVzOwogCX0gZWxzZSBpZiAodm9sdGFnZSA9PSBWT0xUQUdFX0lORk9fMV8w NVYpIHsKLQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUoY25sX2RkaV90cmFuc2xhdGlvbnNfZHBf MV8wNVYpOwotCQlyZXR1cm4gY25sX2RkaV90cmFuc2xhdGlvbnNfZHBfMV8wNVY7CisJCSpuX2Vu dHJpZXMgPSBjbmxfZGRpX3RyYW5zbGF0aW9uc19kcF8xXzA1Vi5udW1fZW50cmllczsKKwkJcmV0 dXJuIGNubF9kZGlfdHJhbnNsYXRpb25zX2RwXzFfMDVWLmVudHJpZXM7CiAJfSBlbHNlIHsKIAkJ Km5fZW50cmllcyA9IDE7IC8qIHNodXQgdXAgZ2NjICovCiAJCU1JU1NJTkdfQ0FTRSh2b2x0YWdl KTsKQEAgLTEwNjksMTQgKzEzMzQsMTQgQEAgY25sX2dldF9idWZfdHJhbnNfZWRwKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmllcykKIAogCWlmIChkZXZfcHJpdi0+ dmJ0LmVkcC5sb3dfdnN3aW5nKSB7CiAJCWlmICh2b2x0YWdlID09IFZPTFRBR0VfSU5GT18wXzg1 VikgewotCQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUoY25sX2RkaV90cmFuc2xhdGlvbnNfZWRw XzBfODVWKTsKLQkJCXJldHVybiBjbmxfZGRpX3RyYW5zbGF0aW9uc19lZHBfMF84NVY7CisJCQkq bl9lbnRyaWVzID0gY25sX2RkaV90cmFuc2xhdGlvbnNfZWRwXzBfODVWLm51bV9lbnRyaWVzOwor CQkJcmV0dXJuIGNubF9kZGlfdHJhbnNsYXRpb25zX2VkcF8wXzg1Vi5lbnRyaWVzOwogCQl9IGVs c2UgaWYgKHZvbHRhZ2UgPT0gVk9MVEFHRV9JTkZPXzBfOTVWKSB7Ci0JCQkqbl9lbnRyaWVzID0g QVJSQVlfU0laRShjbmxfZGRpX3RyYW5zbGF0aW9uc19lZHBfMF85NVYpOwotCQkJcmV0dXJuIGNu bF9kZGlfdHJhbnNsYXRpb25zX2VkcF8wXzk1VjsKKwkJCSpuX2VudHJpZXMgPSBjbmxfZGRpX3Ry YW5zbGF0aW9uc19lZHBfMF85NVYubnVtX2VudHJpZXM7CisJCQlyZXR1cm4gY25sX2RkaV90cmFu c2xhdGlvbnNfZWRwXzBfOTVWLmVudHJpZXM7CiAJCX0gZWxzZSBpZiAodm9sdGFnZSA9PSBWT0xU QUdFX0lORk9fMV8wNVYpIHsKLQkJCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpFKGNubF9kZGlfdHJh bnNsYXRpb25zX2VkcF8xXzA1Vik7Ci0JCQlyZXR1cm4gY25sX2RkaV90cmFuc2xhdGlvbnNfZWRw XzFfMDVWOworCQkJKm5fZW50cmllcyA9IGNubF9kZGlfdHJhbnNsYXRpb25zX2VkcF8xXzA1Vi5u dW1fZW50cmllczsKKwkJCXJldHVybiBjbmxfZGRpX3RyYW5zbGF0aW9uc19lZHBfMV8wNVYuZW50 cmllczsKIAkJfSBlbHNlIHsKIAkJCSpuX2VudHJpZXMgPSAxOyAvKiBzaHV0IHVwIGdjYyAqLwog CQkJTUlTU0lOR19DQVNFKHZvbHRhZ2UpOwpAQCAtMTEwNCw4ICsxMzY5LDggQEAgaWNsX2dldF9j b21ib19idWZfdHJhbnNfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAg ICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICAgIGlu dCAqbl9lbnRyaWVzKQogewotCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpFKGljbF9jb21ib19waHlf ZGRpX3RyYW5zbGF0aW9uc19oZG1pKTsKLQlyZXR1cm4gaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNs YXRpb25zX2hkbWk7CisJKm5fZW50cmllcyA9IGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9u c19oZG1pLm51bV9lbnRyaWVzOworCXJldHVybiBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlv bnNfaGRtaS5lbnRyaWVzOwogfQogCiBzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90 cmFuc19lbnRyeSAqCkBAIC0xMTEzLDggKzEzNzgsOCBAQCBpY2xfZ2V0X2NvbWJvX2J1Zl90cmFu c19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgIGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgaW50ICpuX2VudHJpZXMpCiB7Ci0J Km5fZW50cmllcyA9IEFSUkFZX1NJWkUoaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2Rw X2hicjIpOwotCXJldHVybiBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMjsK Kwkqbl9lbnRyaWVzID0gaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjIubnVt X2VudHJpZXM7CisJcmV0dXJuIGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIy LmVudHJpZXM7CiB9CiAKIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2Vu dHJ5ICoKQEAgLTExMjUsMTcgKzEzOTAsMTcgQEAgaWNsX2dldF9jb21ib19idWZfdHJhbnNfZWRw KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCiAJaWYgKGNydGNfc3Rh dGUtPnBvcnRfY2xvY2sgPiA1NDAwMDApIHsKLQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUoaWNs X2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIzKTsKLQkJcmV0dXJuIGljbF9jb21i b19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMzsKKwkJKm5fZW50cmllcyA9IGljbF9jb21i b19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMy5udW1fZW50cmllczsKKwkJcmV0dXJuIGlj bF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMy5lbnRyaWVzOwogCX0gZWxzZSBp ZiAoZGV2X3ByaXYtPnZidC5lZHAubG93X3Zzd2luZykgewotCQkqbl9lbnRyaWVzID0gQVJSQVlf U0laRShpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjIpOwotCQlyZXR1cm4g aWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyOworCQkqbl9lbnRyaWVzID0g aWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyLm51bV9lbnRyaWVzOworCQly ZXR1cm4gaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyLmVudHJpZXM7CiAJ fSBlbHNlIGlmIChJU19ERzEoZGV2X3ByaXYpICYmIGNydGNfc3RhdGUtPnBvcnRfY2xvY2sgPiAy NzAwMDApIHsKLQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUoZGcxX2NvbWJvX3BoeV9kZGlfdHJh bnNsYXRpb25zX2RwX2hicjJfaGJyMyk7Ci0JCXJldHVybiBkZzFfY29tYm9fcGh5X2RkaV90cmFu c2xhdGlvbnNfZHBfaGJyMl9oYnIzOworCQkqbl9lbnRyaWVzID0gZGcxX2NvbWJvX3BoeV9kZGlf dHJhbnNsYXRpb25zX2RwX2hicjJfaGJyMy5udW1fZW50cmllczsKKwkJcmV0dXJuIGRnMV9jb21i b19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyX2hicjMuZW50cmllczsKIAl9IGVsc2UgaWYg KElTX0RHMShkZXZfcHJpdikpIHsKLQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUoZGcxX2NvbWJv X3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX3Jicl9oYnIpOwotCQlyZXR1cm4gZGcxX2NvbWJvX3Bo eV9kZGlfdHJhbnNsYXRpb25zX2RwX3Jicl9oYnI7CisJCSpuX2VudHJpZXMgPSBkZzFfY29tYm9f cGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfcmJyX2hici5udW1fZW50cmllczsKKwkJcmV0dXJuIGRn MV9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9yYnJfaGJyLmVudHJpZXM7CiAJfQogCiAJ cmV0dXJuIGljbF9nZXRfY29tYm9fYnVmX3RyYW5zX2RwKGVuY29kZXIsIGNydGNfc3RhdGUsIG5f ZW50cmllcyk7CkBAIC0xMTU5LDggKzE0MjQsOCBAQCBpY2xfZ2V0X21nX2J1Zl90cmFuc19oZG1p KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgaW50ICpuX2VudHJpZXMpCiB7Ci0JKm5fZW50 cmllcyA9IEFSUkFZX1NJWkUoaWNsX21nX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWkpOwotCXJl dHVybiBpY2xfbWdfcGh5X2RkaV90cmFuc2xhdGlvbnNfaGRtaTsKKwkqbl9lbnRyaWVzID0gaWNs X21nX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWkubnVtX2VudHJpZXM7CisJcmV0dXJuIGljbF9t Z19waHlfZGRpX3RyYW5zbGF0aW9uc19oZG1pLmVudHJpZXM7CiB9CiAKIHN0YXRpYyBjb25zdCB1 bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKQEAgLTExNjksMTEgKzE0MzQsMTEgQEAg aWNsX2dldF9tZ19idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJ CQlpbnQgKm5fZW50cmllcykKIHsKIAlpZiAoY3J0Y19zdGF0ZS0+cG9ydF9jbG9jayA+IDI3MDAw MCkgewotCQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShpY2xfbWdfcGh5X2RkaV90cmFuc2xhdGlv bnNfaGJyMl9oYnIzKTsKLQkJcmV0dXJuIGljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uc19oYnIy X2hicjM7CisJCSpuX2VudHJpZXMgPSBpY2xfbWdfcGh5X2RkaV90cmFuc2xhdGlvbnNfaGJyMl9o YnIzLm51bV9lbnRyaWVzOworCQlyZXR1cm4gaWNsX21nX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hi cjJfaGJyMy5lbnRyaWVzOwogCX0gZWxzZSB7Ci0JCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpFKGlj bF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uc19yYnJfaGJyKTsKLQkJcmV0dXJuIGljbF9tZ19waHlf ZGRpX3RyYW5zbGF0aW9uc19yYnJfaGJyOworCQkqbl9lbnRyaWVzID0gaWNsX21nX3BoeV9kZGlf dHJhbnNsYXRpb25zX3Jicl9oYnIubnVtX2VudHJpZXM7CisJCXJldHVybiBpY2xfbWdfcGh5X2Rk aV90cmFuc2xhdGlvbnNfcmJyX2hici5lbnRyaWVzOwogCX0KIH0KIApAQCAtMTE5Myw4ICsxNDU4 LDggQEAgZWhsX2dldF9jb21ib19idWZfdHJhbnNfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKIAkJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsCiAJCQkgICAgIGludCAqbl9lbnRyaWVzKQogewotCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpF KGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19oZG1pKTsKLQlyZXR1cm4gaWNsX2NvbWJv X3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWk7CisJKm5fZW50cmllcyA9IGljbF9jb21ib19waHlf ZGRpX3RyYW5zbGF0aW9uc19oZG1pLm51bV9lbnRyaWVzOworCXJldHVybiBpY2xfY29tYm9fcGh5 X2RkaV90cmFuc2xhdGlvbnNfaGRtaS5lbnRyaWVzOwogfQogCiBzdGF0aWMgY29uc3QgdW5pb24g aW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCkBAIC0xMjAyLDggKzE0NjcsOCBAQCBlaGxfZ2V0 X2NvbWJvX2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAg IGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgaW50ICpu X2VudHJpZXMpCiB7Ci0JKm5fZW50cmllcyA9IEFSUkFZX1NJWkUoZWhsX2NvbWJvX3BoeV9kZGlf dHJhbnNsYXRpb25zX2RwKTsKLQlyZXR1cm4gZWhsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25z X2RwOworCSpuX2VudHJpZXMgPSBlaGxfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHAubnVt X2VudHJpZXM7CisJcmV0dXJuIGVobF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcC5lbnRy aWVzOwogfQogCiBzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAq CkBAIC0xMjE0LDggKzE0NzksOCBAQCBlaGxfZ2V0X2NvbWJvX2J1Zl90cmFuc19lZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAKIAlpZiAoZGV2X3ByaXYtPnZidC5l ZHAubG93X3Zzd2luZykgewotCQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShpY2xfY29tYm9fcGh5 X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjIpOwotCQlyZXR1cm4gaWNsX2NvbWJvX3BoeV9kZGlf dHJhbnNsYXRpb25zX2VkcF9oYnIyOworCQkqbl9lbnRyaWVzID0gaWNsX2NvbWJvX3BoeV9kZGlf dHJhbnNsYXRpb25zX2VkcF9oYnIyLm51bV9lbnRyaWVzOworCQlyZXR1cm4gaWNsX2NvbWJvX3Bo eV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyLmVudHJpZXM7CiAJfQogCiAJcmV0dXJuIGVobF9n ZXRfY29tYm9fYnVmX3RyYW5zX2RwKGVuY29kZXIsIGNydGNfc3RhdGUsIG5fZW50cmllcyk7CkBA IC0xMjM5LDggKzE1MDQsOCBAQCBqc2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19oZG1pKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgICAgaW50ICpuX2VudHJpZXMpCiB7Ci0JKm5fZW50cmll cyA9IEFSUkFZX1NJWkUoaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWkpOwotCXJl dHVybiBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfaGRtaTsKKwkqbl9lbnRyaWVzID0g aWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWkubnVtX2VudHJpZXM7CisJcmV0dXJu IGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19oZG1pLmVudHJpZXM7CiB9CiAKIHN0YXRp YyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKQEAgLTEyNDgsOCArMTUx Myw4IEBAIGpzbF9nZXRfY29tYm9fYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogCQkJICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs CiAJCQkgICBpbnQgKm5fZW50cmllcykKIHsKLQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShpY2xf Y29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMik7Ci0JcmV0dXJuIGljbF9jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyOworCSpuX2VudHJpZXMgPSBpY2xfY29tYm9fcGh5 X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMi5udW1fZW50cmllczsKKwlyZXR1cm4gaWNsX2NvbWJv X3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjIuZW50cmllczsKIH0KIAogc3RhdGljIGNvbnN0 IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgpAQCAtMTI2MSwxMSArMTUyNiwxMSBA QCBqc2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCiAKIAlpZiAoZGV2X3ByaXYtPnZidC5lZHAubG93X3Zzd2luZykgewogCQlpZiAoY3J0Y19z dGF0ZS0+cG9ydF9jbG9jayA+IDI3MDAwMCkgewotCQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUo anNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyKTsKLQkJCXJldHVybiBqc2xf Y29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjI7CisJCQkqbl9lbnRyaWVzID0ganNs X2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyLm51bV9lbnRyaWVzOworCQkJcmV0 dXJuIGpzbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMi5lbnRyaWVzOwogCQl9 IGVsc2UgewotCQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUoanNsX2NvbWJvX3BoeV9kZGlfdHJh bnNsYXRpb25zX2VkcF9oYnIpOwotCQkJcmV0dXJuIGpzbF9jb21ib19waHlfZGRpX3RyYW5zbGF0 aW9uc19lZHBfaGJyOworCQkJKm5fZW50cmllcyA9IGpzbF9jb21ib19waHlfZGRpX3RyYW5zbGF0 aW9uc19lZHBfaGJyLm51bV9lbnRyaWVzOworCQkJcmV0dXJuIGpzbF9jb21ib19waHlfZGRpX3Ry YW5zbGF0aW9uc19lZHBfaGJyLmVudHJpZXM7CiAJCX0KIAl9CiAKQEAgLTEyOTAsOCArMTU1NSw4 IEBAIHRnbF9nZXRfY29tYm9fYnVmX3RyYW5zX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl LAogCQkJICAgICBpbnQgKm5fZW50cmllcykKIHsKLQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShp Y2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfaGRtaSk7Ci0JcmV0dXJuIGljbF9jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19oZG1pOworCSpuX2VudHJpZXMgPSBpY2xfY29tYm9fcGh5X2Rk aV90cmFuc2xhdGlvbnNfaGRtaS5udW1fZW50cmllczsKKwlyZXR1cm4gaWNsX2NvbWJvX3BoeV9k ZGlfdHJhbnNsYXRpb25zX2hkbWkuZW50cmllczsKIH0KIAogc3RhdGljIGNvbnN0IHVuaW9uIGlu dGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgpAQCAtMTMwMywyMiArMTU2OCwyMiBAQCB0Z2xfZ2V0 X2NvbWJvX2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAogCWlm IChjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrID4gMjcwMDAwKSB7CiAJCWlmIChJU19ST0NLRVRMQUtF KGRldl9wcml2KSkgewotCQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUocmtsX2NvbWJvX3BoeV9k ZGlfdHJhbnNsYXRpb25zX2RwX2hicjJfaGJyMyk7Ci0JCQlyZXR1cm4gcmtsX2NvbWJvX3BoeV9k ZGlfdHJhbnNsYXRpb25zX2RwX2hicjJfaGJyMzsKKwkJCSpuX2VudHJpZXMgPSBya2xfY29tYm9f cGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMl9oYnIzLm51bV9lbnRyaWVzOworCQkJcmV0dXJu IHJrbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyX2hicjMuZW50cmllczsKIAkJ fSBlbHNlIGlmIChJU19UR0xfVShkZXZfcHJpdikgfHwgSVNfVEdMX1koZGV2X3ByaXYpKSB7Ci0J CQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRSh0Z2xfdXlfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlv bnNfZHBfaGJyMik7Ci0JCQlyZXR1cm4gdGdsX3V5X2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25z X2RwX2hicjI7CisJCQkqbl9lbnRyaWVzID0gdGdsX3V5X2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRp b25zX2RwX2hicjIubnVtX2VudHJpZXM7CisJCQlyZXR1cm4gdGdsX3V5X2NvbWJvX3BoeV9kZGlf dHJhbnNsYXRpb25zX2RwX2hicjIuZW50cmllczsKIAkJfSBlbHNlIHsKLQkJCSpuX2VudHJpZXMg PSBBUlJBWV9TSVpFKHRnbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyKTsKLQkJ CXJldHVybiB0Z2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMjsKKwkJCSpuX2Vu dHJpZXMgPSB0Z2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMi5udW1fZW50cmll czsKKwkJCXJldHVybiB0Z2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMi5lbnRy aWVzOwogCQl9CiAJfSBlbHNlIHsKIAkJaWYgKElTX1JPQ0tFVExBS0UoZGV2X3ByaXYpKSB7Ci0J CQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShya2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNf ZHBfaGJyKTsKLQkJCXJldHVybiBya2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJy OworCQkJKm5fZW50cmllcyA9IHJrbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIu bnVtX2VudHJpZXM7CisJCQlyZXR1cm4gcmtsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2Rw X2hici5lbnRyaWVzOwogCQl9IGVsc2UgewotCQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUodGds X2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicik7Ci0JCQlyZXR1cm4gdGdsX2NvbWJv X3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjsKKwkJCSpuX2VudHJpZXMgPSB0Z2xfY29tYm9f cGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyLm51bV9lbnRyaWVzOworCQkJcmV0dXJuIHRnbF9j b21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIuZW50cmllczsKIAkJfQogCX0KIH0KQEAg LTEzMzIsMTQgKzE1OTcsMTQgQEAgdGdsX2dldF9jb21ib19idWZfdHJhbnNfZWRwKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNf dG9faW50ZWxfZHAoZW5jb2Rlcik7CiAKIAlpZiAoY3J0Y19zdGF0ZS0+cG9ydF9jbG9jayA+IDU0 MDAwMCkgewotCQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShpY2xfY29tYm9fcGh5X2RkaV90cmFu c2xhdGlvbnNfZWRwX2hicjMpOwotCQlyZXR1cm4gaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRp b25zX2VkcF9oYnIzOworCQkqbl9lbnRyaWVzID0gaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRp b25zX2VkcF9oYnIzLm51bV9lbnRyaWVzOworCQlyZXR1cm4gaWNsX2NvbWJvX3BoeV9kZGlfdHJh bnNsYXRpb25zX2VkcF9oYnIzLmVudHJpZXM7CiAJfSBlbHNlIGlmIChkZXZfcHJpdi0+dmJ0LmVk cC5ob2JsICYmICFpbnRlbF9kcC0+aG9ibF9mYWlsZWQpIHsKLQkJKm5fZW50cmllcyA9IEFSUkFZ X1NJWkUodGdsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyX2hvYmwpOwotCQly ZXR1cm4gdGdsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyX2hvYmw7CisJCSpu X2VudHJpZXMgPSB0Z2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjJfaG9ibC5u dW1fZW50cmllczsKKwkJcmV0dXJuIHRnbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBf aGJyMl9ob2JsLmVudHJpZXM7CiAJfSBlbHNlIGlmIChkZXZfcHJpdi0+dmJ0LmVkcC5sb3dfdnN3 aW5nKSB7Ci0JCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpFKGljbF9jb21ib19waHlfZGRpX3RyYW5z bGF0aW9uc19lZHBfaGJyMik7Ci0JCXJldHVybiBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlv bnNfZWRwX2hicjI7CisJCSpuX2VudHJpZXMgPSBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlv bnNfZWRwX2hicjIubnVtX2VudHJpZXM7CisJCXJldHVybiBpY2xfY29tYm9fcGh5X2RkaV90cmFu c2xhdGlvbnNfZWRwX2hicjIuZW50cmllczsKIAl9CiAKIAlyZXR1cm4gdGdsX2dldF9jb21ib19i dWZfdHJhbnNfZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgbl9lbnRyaWVzKTsKQEAgLTEzNjMsOCAr MTYyOCw4IEBAIHRnbF9nZXRfZGtsX2J1Zl90cmFuc19oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCQkJICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsCiAJCQkgICBpbnQgKm5fZW50cmllcykKIHsKLQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRSh0 Z2xfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWkpOwotCXJldHVybiB0Z2xfZGtsX3BoeV9k ZGlfdHJhbnNsYXRpb25zX2hkbWk7CisJKm5fZW50cmllcyA9IHRnbF9ka2xfcGh5X2RkaV90cmFu c2xhdGlvbnNfaGRtaS5udW1fZW50cmllczsKKwlyZXR1cm4gdGdsX2RrbF9waHlfZGRpX3RyYW5z bGF0aW9uc19oZG1pLmVudHJpZXM7CiB9CiAKIHN0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlf YnVmX3RyYW5zX2VudHJ5ICoKQEAgLTEzNzMsMTEgKzE2MzgsMTEgQEAgdGdsX2dldF9ka2xfYnVm X3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJIGludCAqbl9lbnRy aWVzKQogewogCWlmIChjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrID4gMjcwMDAwKSB7Ci0JCSpuX2Vu dHJpZXMgPSBBUlJBWV9TSVpFKHRnbF9ka2xfcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMik7 Ci0JCXJldHVybiB0Z2xfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjI7CisJCSpuX2Vu dHJpZXMgPSB0Z2xfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjIubnVtX2VudHJpZXM7 CisJCXJldHVybiB0Z2xfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjIuZW50cmllczsK IAl9IGVsc2UgewotCQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRSh0Z2xfZGtsX3BoeV9kZGlfdHJh bnNsYXRpb25zX2RwX2hicik7Ci0JCXJldHVybiB0Z2xfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25z X2RwX2hicjsKKwkJKm5fZW50cmllcyA9IHRnbF9ka2xfcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBf aGJyLm51bV9lbnRyaWVzOworCQlyZXR1cm4gdGdsX2RrbF9waHlfZGRpX3RyYW5zbGF0aW9uc19k cF9oYnIuZW50cmllczsKIAl9CiB9CiAKQEAgLTEzOTgsMTEgKzE2NjMsMTEgQEAgYWRscF9nZXRf ZGtsX2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgaW50 ICpuX2VudHJpZXMpCiB7CiAJaWYgKGNydGNfc3RhdGUtPnBvcnRfY2xvY2sgPiAyNzAwMDApIHsK LQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUoYWRscF9ka2xfcGh5X2RkaV90cmFuc2xhdGlvbnNf ZHBfaGJyMl9oYnIzKTsKLQkJcmV0dXJuIGFkbHBfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25zX2Rw X2hicjJfaGJyMzsKKwkJKm5fZW50cmllcyA9IGFkbHBfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25z X2RwX2hicjJfaGJyMy5udW1fZW50cmllczsKKwkJcmV0dXJuIGFkbHBfZGtsX3BoeV9kZGlfdHJh bnNsYXRpb25zX2RwX2hicjJfaGJyMy5lbnRyaWVzOwogCX0gZWxzZSB7Ci0JCSpuX2VudHJpZXMg PSBBUlJBWV9TSVpFKGFkbHBfZGtsX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicik7Ci0JCXJl dHVybiBhZGxwX2RrbF9waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnI7CisJCSpuX2VudHJpZXMg PSBhZGxwX2RrbF9waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIubnVtX2VudHJpZXM7CisJCXJl dHVybiBhZGxwX2RrbF9waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIuZW50cmllczsKIAl9CiB9 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1 Zl90cmFucy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGlfYnVmX3Ry YW5zLmgKaW5kZXggNDg3YTRmODE1NDcwLi5hYTYxMjcyNWQ1MTAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1Zl90cmFucy5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1Zl90cmFucy5oCkBAIC01Myw2ICs1 MywxMSBAQCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHsKIAlzdHJ1Y3QgdGdsX2Rr bF9waHlfZGRpX2J1Zl90cmFucyBka2w7CiB9OwogCitzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFu cyB7CisJY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqZW50cmllczsKKwl1 OCBudW1fZW50cmllczsKK307CisKIGJvb2wgaXNfaG9ibF9idWZfdHJhbnMoY29uc3QgdW5pb24g aW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqdGFibGUpOwogCiBpbnQgaW50ZWxfZGRpX2hkbWlf bnVtX2VudHJpZXMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCi0tIAoyLjMxLjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=