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=-13.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 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 4CABFC49361 for ; Fri, 18 Jun 2021 12:04:18 +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 E10C6613EB for ; Fri, 18 Jun 2021 12:04:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E10C6613EB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=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 6608E6E9F3; Fri, 18 Jun 2021 12:04:17 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id AFDA96E9F3 for ; Fri, 18 Jun 2021 12:04:16 +0000 (UTC) IronPort-SDR: WM/k5mqrU2REoCSCt4c9sLijYBTi0xSEWw6gSdS53Fl324OCPl8FV4NhCbgXeA7wikHD7r/Qli jgsOD90Mc0/Q== X-IronPort-AV: E=McAfee;i="6200,9189,10018"; a="193854968" X-IronPort-AV: E=Sophos;i="5.83,283,1616482800"; d="scan'208";a="193854968" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jun 2021 05:04:15 -0700 IronPort-SDR: EucwK6bo8LLOM1CIeSmTT/OJbFVqan1HEMHTHUMfwbJd9bD4dP7TLj3KpudQDwzxUaNJ2hB5b6 +fTCJRY2HJ6w== X-IronPort-AV: E=Sophos;i="5.83,283,1616482800"; d="scan'208";a="485660486" Received: from shoriyac-mobl.ger.corp.intel.com (HELO localhost) ([10.252.36.148]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jun 2021 05:04:12 -0700 From: Jani Nikula To: Ville Syrjala , intel-gfx@lists.freedesktop.org In-Reply-To: <20210608073603.2408-4-ville.syrjala@linux.intel.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20210608073603.2408-1-ville.syrjala@linux.intel.com> <20210608073603.2408-4-ville.syrjala@linux.intel.com> Date: Fri, 18 Jun 2021 15:04:09 +0300 Message-ID: <87lf77wf9i.fsf@intel.com> MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH v2 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" T24gVHVlLCAwOCBKdW4gMjAyMSwgVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+IHdyb3RlOgo+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+Cj4KPiBJbiBvcmRlciB0byBhYnN0YWN0IHRoZSBidWYgdHJhbnMgc3R1 ZmYgbGV0J3Mgd3JhcCB0aGUgcGxhdGZvcm0KPiBzcGVjaWZpYyBzdHJ1Y3RzIGludG8gYSB1bmlv bi4KPgo+IHYyOiBIYW5kbGUgYWRsLXAKPgo+IFJldmlld2VkLWJ5OiBKYW5pIE5pa3VsYSA8amFu aS5uaWt1bGFAaW50ZWwuY29tPiAjdjEKCkhvbGRzIGZvciB2Mi4KCj4gU2lnbmVkLW9mZi1ieTog VmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYyAgICAgIHwgICA3NiArLQo+ ICAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGlfYnVmX3RyYW5zLmMgICAgfCAxMzcwICsr KysrKysrLS0tLS0tLS0tCj4gIC4uLi9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaV9idWZfdHJh bnMuaCAgICB8ICAgMzAgKy0KPiAgMyBmaWxlcyBjaGFuZ2VkLCA3NDIgaW5zZXJ0aW9ucygrKSwg NzM0IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rk aS5jCj4gaW5kZXggMzNlOTQwMzAwOTBmLi5mM2ZiYTUzNTgxMmMgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKPiBAQCAtMTAyLDcgKzEwMiw3IEBAIHZvaWQg aHN3X3ByZXBhcmVfZHBfZGRpX2J1ZmZlcnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs Cj4gIAl1MzIgaWJvb3N0X2JpdCA9IDA7Cj4gIAlpbnQgaSwgbl9lbnRyaWVzOwo+ICAJZW51bSBw b3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0Owo+IC0JY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3Ry YW5zICpkZGlfdHJhbnNsYXRpb25zOwo+ICsJY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFu c19lbnRyeSAqZGRpX3RyYW5zbGF0aW9uczsKPiAgCj4gIAlkZGlfdHJhbnNsYXRpb25zID0gaHN3 X2dldF9idWZfdHJhbnMoZW5jb2RlciwgY3J0Y19zdGF0ZSwgJm5fZW50cmllcyk7Cj4gIAo+IEBA IC0xMTYsOSArMTE2LDkgQEAgdm9pZCBoc3dfcHJlcGFyZV9kcF9kZGlfYnVmZmVycyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCj4gIAlmb3IgKGkgPSAwOyBpIDwgbl9lbnRyaWVz OyBpKyspIHsKPiAgCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRERJX0JVRl9UUkFOU19MTyhw b3J0LCBpKSwKPiAtCQkJICAgICAgIGRkaV90cmFuc2xhdGlvbnNbaV0udHJhbnMxIHwgaWJvb3N0 X2JpdCk7Cj4gKwkJCSAgICAgICBkZGlfdHJhbnNsYXRpb25zW2ldLmhzdy50cmFuczEgfCBpYm9v c3RfYml0KTsKPiAgCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgRERJX0JVRl9UUkFOU19ISShw b3J0LCBpKSwKPiAtCQkJICAgICAgIGRkaV90cmFuc2xhdGlvbnNbaV0udHJhbnMyKTsKPiArCQkJ ICAgICAgIGRkaV90cmFuc2xhdGlvbnNbaV0uaHN3LnRyYW5zMik7Cj4gIAl9Cj4gIH0KPiAgCj4g QEAgLTEzNSw3ICsxMzUsNyBAQCBzdGF0aWMgdm9pZCBoc3dfcHJlcGFyZV9oZG1pX2RkaV9idWZm ZXJzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJdTMyIGlib29zdF9iaXQgPSAw Owo+ICAJaW50IG5fZW50cmllczsKPiAgCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsK PiAtCWNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9uczsKPiAr CWNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKmRkaV90cmFuc2xhdGlvbnM7 Cj4gIAo+ICAJZGRpX3RyYW5zbGF0aW9ucyA9IGhzd19nZXRfYnVmX3RyYW5zKGVuY29kZXIsIGNy dGNfc3RhdGUsICAmbl9lbnRyaWVzKTsKPiAgCj4gQEAgLTE1MSw5ICsxNTEsOSBAQCBzdGF0aWMg dm9pZCBoc3dfcHJlcGFyZV9oZG1pX2RkaV9idWZmZXJzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAo+ICAKPiAgCS8qIEVudHJ5IDkgaXMgZm9yIEhETUk6ICovCj4gIAlpbnRlbF9kZV93 cml0ZShkZXZfcHJpdiwgRERJX0JVRl9UUkFOU19MTyhwb3J0LCA5KSwKPiAtCQkgICAgICAgZGRp X3RyYW5zbGF0aW9uc1tsZXZlbF0udHJhbnMxIHwgaWJvb3N0X2JpdCk7Cj4gKwkJICAgICAgIGRk aV90cmFuc2xhdGlvbnNbbGV2ZWxdLmhzdy50cmFuczEgfCBpYm9vc3RfYml0KTsKPiAgCWludGVs X2RlX3dyaXRlKGRldl9wcml2LCBERElfQlVGX1RSQU5TX0hJKHBvcnQsIDkpLAo+IC0JCSAgICAg ICBkZGlfdHJhbnNsYXRpb25zW2xldmVsXS50cmFuczIpOwo+ICsJCSAgICAgICBkZGlfdHJhbnNs YXRpb25zW2xldmVsXS5oc3cudHJhbnMyKTsKPiAgfQo+ICAKPiAgdm9pZCBpbnRlbF93YWl0X2Rk aV9idWZfaWRsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gQEAgLTk0NCw3 ICs5NDQsNyBAQCBzdGF0aWMgdm9pZCBza2xfZGRpX3NldF9pYm9vc3Qoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCj4gIAkJaWJvb3N0ID0gaW50ZWxfYmlvc19lbmNvZGVyX2RwX2Jvb3N0 X2xldmVsKGVuY29kZXItPmRldmRhdGEpOwo+ICAKPiAgCWlmIChpYm9vc3QgPT0gMCkgewo+IC0J CWNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9uczsKPiArCQlj b25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICpkZGlfdHJhbnNsYXRpb25zOwo+ ICAJCWludCBuX2VudHJpZXM7Cj4gIAo+ICAJCWRkaV90cmFuc2xhdGlvbnMgPSBoc3dfZ2V0X2J1 Zl90cmFucyhlbmNvZGVyLCBjcnRjX3N0YXRlLCAmbl9lbnRyaWVzKTsKPiBAQCAtOTU0LDcgKzk1 NCw3IEBAIHN0YXRpYyB2b2lkIHNrbF9kZGlfc2V0X2lib29zdChzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKPiAgCQlpZiAoZHJtX1dBUk5fT05fT05DRSgmZGV2X3ByaXYtPmRybSwgbGV2 ZWwgPj0gbl9lbnRyaWVzKSkKPiAgCQkJbGV2ZWwgPSBuX2VudHJpZXMgLSAxOwo+ICAKPiAtCQlp Ym9vc3QgPSBkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5pX2Jvb3N0Owo+ICsJCWlib29zdCA9IGRk aV90cmFuc2xhdGlvbnNbbGV2ZWxdLmhzdy5pX2Jvb3N0Owo+ICAJfQo+ICAKPiAgCS8qIE1ha2Ug c3VyZSB0aGF0IHRoZSByZXF1ZXN0ZWQgSV9ib29zdCBpcyB2YWxpZCAqLwo+IEBAIC05NzQsNyAr OTc0LDcgQEAgc3RhdGljIHZvaWQgYnh0X2RkaV92c3dpbmdfc2VxdWVuY2Uoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQkgICAgaW50IGxldmVsKQo+ICB7Cj4gIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsK PiAtCWNvbnN0IHN0cnVjdCBieHRfZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9uczsKPiAr CWNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKmRkaV90cmFuc2xhdGlvbnM7 Cj4gIAllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7Cj4gIAlpbnQgbl9lbnRyaWVzOwo+ ICAKPiBAQCAtOTg1LDEwICs5ODUsMTAgQEAgc3RhdGljIHZvaWQgYnh0X2RkaV92c3dpbmdfc2Vx dWVuY2Uoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJbGV2ZWwgPSBuX2VudHJp ZXMgLSAxOwo+ICAKPiAgCWJ4dF9kZGlfcGh5X3NldF9zaWduYWxfbGV2ZWwoZGV2X3ByaXYsIHBv cnQsCj4gLQkJCQkgICAgIGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLm1hcmdpbiwKPiAtCQkJCSAg ICAgZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uc2NhbGUsCj4gLQkJCQkgICAgIGRkaV90cmFuc2xh dGlvbnNbbGV2ZWxdLmVuYWJsZSwKPiAtCQkJCSAgICAgZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0u ZGVlbXBoYXNpcyk7Cj4gKwkJCQkgICAgIGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmJ4dC5tYXJn aW4sCj4gKwkJCQkgICAgIGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmJ4dC5zY2FsZSwKPiArCQkJ CSAgICAgZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uYnh0LmVuYWJsZSwKPiArCQkJCSAgICAgZGRp X3RyYW5zbGF0aW9uc1tsZXZlbF0uYnh0LmRlZW1waGFzaXMpOwo+ICB9Cj4gIAo+ICBzdGF0aWMg dTggaW50ZWxfZGRpX2RwX3ZvbHRhZ2VfbWF4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4g QEAgLTEwNDksNyArMTA0OSw3IEBAIHN0YXRpYyB2b2lkIGNubF9kZGlfdnN3aW5nX3Byb2dyYW0o c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQkgICBpbnQgbGV2ZWwpCj4gIHsK PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+ YmFzZS5kZXYpOwo+IC0JY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICpkZGlfdHJhbnNs YXRpb25zOwo+ICsJY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqZGRpX3Ry YW5zbGF0aW9uczsKPiAgCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKPiAgCWludCBu X2VudHJpZXMsIGxuOwo+ICAJdTMyIHZhbDsKPiBAQCAtMTA3MSw4ICsxMDcxLDggQEAgc3RhdGlj IHZvaWQgY25sX2RkaV92c3dpbmdfcHJvZ3JhbShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKPiAgCXZhbCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIENOTF9QT1JUX1RYX0RXMl9MTjAo cG9ydCkpOwo+ICAJdmFsICY9IH4oU1dJTkdfU0VMX0xPV0VSX01BU0sgfCBTV0lOR19TRUxfVVBQ RVJfTUFTSyB8Cj4gIAkJIFJDT01QX1NDQUxBUl9NQVNLKTsKPiAtCXZhbCB8PSBTV0lOR19TRUxf VVBQRVIoZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uZHcyX3N3aW5nX3NlbCk7Cj4gLQl2YWwgfD0g U1dJTkdfU0VMX0xPV0VSKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3Ml9zd2luZ19zZWwpOwo+ ICsJdmFsIHw9IFNXSU5HX1NFTF9VUFBFUihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5jbmwuZHcy X3N3aW5nX3NlbCk7Cj4gKwl2YWwgfD0gU1dJTkdfU0VMX0xPV0VSKGRkaV90cmFuc2xhdGlvbnNb bGV2ZWxdLmNubC5kdzJfc3dpbmdfc2VsKTsKPiAgCS8qIFJjb21wIHNjYWxhciBpcyBmaXhlZCBh cyAweDk4IGZvciBldmVyeSB0YWJsZSBlbnRyeSAqLwo+ICAJdmFsIHw9IFJDT01QX1NDQUxBUigw eDk4KTsKPiAgCWludGVsX2RlX3dyaXRlKGRldl9wcml2LCBDTkxfUE9SVF9UWF9EVzJfR1JQKHBv cnQpLCB2YWwpOwo+IEBAIC0xMDgzLDkgKzEwODMsOSBAQCBzdGF0aWMgdm9pZCBjbmxfZGRpX3Zz d2luZ19wcm9ncmFtKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCXZhbCA9IGlu dGVsX2RlX3JlYWQoZGV2X3ByaXYsIENOTF9QT1JUX1RYX0RXNF9MTihsbiwgcG9ydCkpOwo+ICAJ CXZhbCAmPSB+KFBPU1RfQ1VSU09SXzFfTUFTSyB8IFBPU1RfQ1VSU09SXzJfTUFTSyB8Cj4gIAkJ CSBDVVJTT1JfQ09FRkZfTUFTSyk7Cj4gLQkJdmFsIHw9IFBPU1RfQ1VSU09SXzEoZGRpX3RyYW5z bGF0aW9uc1tsZXZlbF0uZHc0X3Bvc3RfY3Vyc29yXzEpOwo+IC0JCXZhbCB8PSBQT1NUX0NVUlNP Ul8yKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3NF9wb3N0X2N1cnNvcl8yKTsKPiAtCQl2YWwg fD0gQ1VSU09SX0NPRUZGKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3NF9jdXJzb3JfY29lZmYp Owo+ICsJCXZhbCB8PSBQT1NUX0NVUlNPUl8xKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmNubC5k dzRfcG9zdF9jdXJzb3JfMSk7Cj4gKwkJdmFsIHw9IFBPU1RfQ1VSU09SXzIoZGRpX3RyYW5zbGF0 aW9uc1tsZXZlbF0uY25sLmR3NF9wb3N0X2N1cnNvcl8yKTsKPiArCQl2YWwgfD0gQ1VSU09SX0NP RUZGKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmNubC5kdzRfY3Vyc29yX2NvZWZmKTsKPiAgCQlp bnRlbF9kZV93cml0ZShkZXZfcHJpdiwgQ05MX1BPUlRfVFhfRFc0X0xOKGxuLCBwb3J0KSwgdmFs KTsKPiAgCX0KPiAgCj4gQEAgLTExMDAsNyArMTEwMCw3IEBAIHN0YXRpYyB2b2lkIGNubF9kZGlf dnN3aW5nX3Byb2dyYW0oc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkvKiBQcm9n cmFtIFBPUlRfVFhfRFc3ICovCj4gIAl2YWwgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBDTkxf UE9SVF9UWF9EVzdfTE4wKHBvcnQpKTsKPiAgCXZhbCAmPSB+Tl9TQ0FMQVJfTUFTSzsKPiAtCXZh bCB8PSBOX1NDQUxBUihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5kdzdfbl9zY2FsYXIpOwo+ICsJ dmFsIHw9IE5fU0NBTEFSKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmNubC5kdzdfbl9zY2FsYXIp Owo+ICAJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIENOTF9QT1JUX1RYX0RXN19HUlAocG9ydCks IHZhbCk7Cj4gIH0KPiAgCj4gQEAgLTExNzAsNyArMTE3MCw3IEBAIHN0YXRpYyB2b2lkIGljbF9k ZGlfY29tYm9fdnN3aW5nX3Byb2dyYW0oc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4g IAkJCQkJIGludCBsZXZlbCkKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gLQljb25zdCBzdHJ1Y3QgY25sX2Rk aV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlvbnM7Cj4gKwljb25zdCB1bmlvbiBpbnRlbF9kZGlf YnVmX3RyYW5zX2VudHJ5ICpkZGlfdHJhbnNsYXRpb25zOwo+ICAJZW51bSBwaHkgcGh5ID0gaW50 ZWxfcG9ydF90b19waHkoZGV2X3ByaXYsIGVuY29kZXItPnBvcnQpOwo+ICAJaW50IG5fZW50cmll cywgbG47Cj4gIAl1MzIgdmFsOwo+IEBAIC0xMjExLDggKzEyMTEsOCBAQCBzdGF0aWMgdm9pZCBp Y2xfZGRpX2NvbWJvX3Zzd2luZ19wcm9ncmFtKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAo+ICAJdmFsID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgSUNMX1BPUlRfVFhfRFcyX0xOMChw aHkpKTsKPiAgCXZhbCAmPSB+KFNXSU5HX1NFTF9MT1dFUl9NQVNLIHwgU1dJTkdfU0VMX1VQUEVS X01BU0sgfAo+ICAJCSBSQ09NUF9TQ0FMQVJfTUFTSyk7Cj4gLQl2YWwgfD0gU1dJTkdfU0VMX1VQ UEVSKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3Ml9zd2luZ19zZWwpOwo+IC0JdmFsIHw9IFNX SU5HX1NFTF9MT1dFUihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5kdzJfc3dpbmdfc2VsKTsKPiAr CXZhbCB8PSBTV0lOR19TRUxfVVBQRVIoZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uY25sLmR3Ml9z d2luZ19zZWwpOwo+ICsJdmFsIHw9IFNXSU5HX1NFTF9MT1dFUihkZGlfdHJhbnNsYXRpb25zW2xl dmVsXS5jbmwuZHcyX3N3aW5nX3NlbCk7Cj4gIAkvKiBQcm9ncmFtIFJjb21wIHNjYWxhciBmb3Ig ZXZlcnkgdGFibGUgZW50cnkgKi8KPiAgCXZhbCB8PSBSQ09NUF9TQ0FMQVIoMHg5OCk7Cj4gIAlp bnRlbF9kZV93cml0ZShkZXZfcHJpdiwgSUNMX1BPUlRfVFhfRFcyX0dSUChwaHkpLCB2YWwpOwo+ IEBAIC0xMjIzLDE2ICsxMjIzLDE2IEBAIHN0YXRpYyB2b2lkIGljbF9kZGlfY29tYm9fdnN3aW5n X3Byb2dyYW0oc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJdmFsID0gaW50ZWxf ZGVfcmVhZChkZXZfcHJpdiwgSUNMX1BPUlRfVFhfRFc0X0xOKGxuLCBwaHkpKTsKPiAgCQl2YWwg Jj0gfihQT1NUX0NVUlNPUl8xX01BU0sgfCBQT1NUX0NVUlNPUl8yX01BU0sgfAo+ICAJCQkgQ1VS U09SX0NPRUZGX01BU0spOwo+IC0JCXZhbCB8PSBQT1NUX0NVUlNPUl8xKGRkaV90cmFuc2xhdGlv bnNbbGV2ZWxdLmR3NF9wb3N0X2N1cnNvcl8xKTsKPiAtCQl2YWwgfD0gUE9TVF9DVVJTT1JfMihk ZGlfdHJhbnNsYXRpb25zW2xldmVsXS5kdzRfcG9zdF9jdXJzb3JfMik7Cj4gLQkJdmFsIHw9IENV UlNPUl9DT0VGRihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5kdzRfY3Vyc29yX2NvZWZmKTsKPiAr CQl2YWwgfD0gUE9TVF9DVVJTT1JfMShkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5jbmwuZHc0X3Bv c3RfY3Vyc29yXzEpOwo+ICsJCXZhbCB8PSBQT1NUX0NVUlNPUl8yKGRkaV90cmFuc2xhdGlvbnNb bGV2ZWxdLmNubC5kdzRfcG9zdF9jdXJzb3JfMik7Cj4gKwkJdmFsIHw9IENVUlNPUl9DT0VGRihk ZGlfdHJhbnNsYXRpb25zW2xldmVsXS5jbmwuZHc0X2N1cnNvcl9jb2VmZik7Cj4gIAkJaW50ZWxf ZGVfd3JpdGUoZGV2X3ByaXYsIElDTF9QT1JUX1RYX0RXNF9MTihsbiwgcGh5KSwgdmFsKTsKPiAg CX0KPiAgCj4gIAkvKiBQcm9ncmFtIFBPUlRfVFhfRFc3ICovCj4gIAl2YWwgPSBpbnRlbF9kZV9y ZWFkKGRldl9wcml2LCBJQ0xfUE9SVF9UWF9EVzdfTE4wKHBoeSkpOwo+ICAJdmFsICY9IH5OX1ND QUxBUl9NQVNLOwo+IC0JdmFsIHw9IE5fU0NBTEFSKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3 N19uX3NjYWxhcik7Cj4gKwl2YWwgfD0gTl9TQ0FMQVIoZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0u Y25sLmR3N19uX3NjYWxhcik7Cj4gIAlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgSUNMX1BPUlRf VFhfRFc3X0dSUChwaHkpLCB2YWwpOwo+ICB9Cj4gIAo+IEBAIC0xMzAzLDcgKzEzMDMsNyBAQCBz dGF0aWMgdm9pZCBpY2xfbWdfcGh5X2RkaV92c3dpbmdfc2VxdWVuY2Uoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICAJZW51bSB0Y19wb3J0IHRjX3BvcnQg PSBpbnRlbF9wb3J0X3RvX3RjKGRldl9wcml2LCBlbmNvZGVyLT5wb3J0KTsKPiAtCWNvbnN0IHN0 cnVjdCBpY2xfbWdfcGh5X2RkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlvbnM7Cj4gKwljb25z dCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICpkZGlfdHJhbnNsYXRpb25zOwo+ICAJ aW50IG5fZW50cmllcywgbG47Cj4gIAl1MzIgdmFsOwo+ICAKPiBAQCAtMTMzMywxMyArMTMzMywx MyBAQCBzdGF0aWMgdm9pZCBpY2xfbWdfcGh5X2RkaV92c3dpbmdfc2VxdWVuY2Uoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJdmFsID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwg TUdfVFgxX1NXSU5HQ1RSTChsbiwgdGNfcG9ydCkpOwo+ICAJCXZhbCAmPSB+Q1JJX1RYREVFTVBI X09WRVJSSURFXzE3XzEyX01BU0s7Cj4gIAkJdmFsIHw9IENSSV9UWERFRU1QSF9PVkVSUklERV8x N18xMigKPiAtCQkJZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uY3JpX3R4ZGVlbXBoX292ZXJyaWRl XzE3XzEyKTsKPiArCQkJZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0ubWcuY3JpX3R4ZGVlbXBoX292 ZXJyaWRlXzE3XzEyKTsKPiAgCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgTUdfVFgxX1NXSU5H Q1RSTChsbiwgdGNfcG9ydCksIHZhbCk7Cj4gIAo+ICAJCXZhbCA9IGludGVsX2RlX3JlYWQoZGV2 X3ByaXYsIE1HX1RYMl9TV0lOR0NUUkwobG4sIHRjX3BvcnQpKTsKPiAgCQl2YWwgJj0gfkNSSV9U WERFRU1QSF9PVkVSUklERV8xN18xMl9NQVNLOwo+ICAJCXZhbCB8PSBDUklfVFhERUVNUEhfT1ZF UlJJREVfMTdfMTIoCj4gLQkJCWRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmNyaV90eGRlZW1waF9v dmVycmlkZV8xN18xMik7Cj4gKwkJCWRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLm1nLmNyaV90eGRl ZW1waF9vdmVycmlkZV8xN18xMik7Cj4gIAkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIE1HX1RY Ml9TV0lOR0NUUkwobG4sIHRjX3BvcnQpLCB2YWwpOwo+ICAJfQo+ICAKPiBAQCAtMTM0OSw5ICsx MzQ5LDkgQEAgc3RhdGljIHZvaWQgaWNsX21nX3BoeV9kZGlfdnN3aW5nX3NlcXVlbmNlKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCXZhbCAmPSB+KENSSV9UWERFRU1QSF9PVkVS UklERV8xMV82X01BU0sgfAo+ICAJCQkgQ1JJX1RYREVFTVBIX09WRVJSSURFXzVfMF9NQVNLKTsK PiAgCQl2YWwgfD0gQ1JJX1RYREVFTVBIX09WRVJSSURFXzVfMCgKPiAtCQkJZGRpX3RyYW5zbGF0 aW9uc1tsZXZlbF0uY3JpX3R4ZGVlbXBoX292ZXJyaWRlXzVfMCkgfAo+ICsJCQlkZGlfdHJhbnNs YXRpb25zW2xldmVsXS5tZy5jcmlfdHhkZWVtcGhfb3ZlcnJpZGVfNV8wKSB8Cj4gIAkJCUNSSV9U WERFRU1QSF9PVkVSUklERV8xMV82KAo+IC0JCQkJZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uY3Jp X3R4ZGVlbXBoX292ZXJyaWRlXzExXzYpIHwKPiArCQkJCWRkaV90cmFuc2xhdGlvbnNbbGV2ZWxd Lm1nLmNyaV90eGRlZW1waF9vdmVycmlkZV8xMV82KSB8Cj4gIAkJCUNSSV9UWERFRU1QSF9PVkVS UklERV9FTjsKPiAgCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgTUdfVFgxX0RSVkNUUkwobG4s IHRjX3BvcnQpLCB2YWwpOwo+ICAKPiBAQCAtMTM1OSw5ICsxMzU5LDkgQEAgc3RhdGljIHZvaWQg aWNsX21nX3BoeV9kZGlfdnN3aW5nX3NlcXVlbmNlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAo+ICAJCXZhbCAmPSB+KENSSV9UWERFRU1QSF9PVkVSUklERV8xMV82X01BU0sgfAo+ICAJ CQkgQ1JJX1RYREVFTVBIX09WRVJSSURFXzVfMF9NQVNLKTsKPiAgCQl2YWwgfD0gQ1JJX1RYREVF TVBIX09WRVJSSURFXzVfMCgKPiAtCQkJZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uY3JpX3R4ZGVl bXBoX292ZXJyaWRlXzVfMCkgfAo+ICsJCQlkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5tZy5jcmlf dHhkZWVtcGhfb3ZlcnJpZGVfNV8wKSB8Cj4gIAkJCUNSSV9UWERFRU1QSF9PVkVSUklERV8xMV82 KAo+IC0JCQkJZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uY3JpX3R4ZGVlbXBoX292ZXJyaWRlXzEx XzYpIHwKPiArCQkJCWRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLm1nLmNyaV90eGRlZW1waF9vdmVy cmlkZV8xMV82KSB8Cj4gIAkJCUNSSV9UWERFRU1QSF9PVkVSUklERV9FTjsKPiAgCQlpbnRlbF9k ZV93cml0ZShkZXZfcHJpdiwgTUdfVFgyX0RSVkNUUkwobG4sIHRjX3BvcnQpLCB2YWwpOwo+ICAK PiBAQCAtMTQ0MSw3ICsxNDQxLDcgQEAgdGdsX2RrbF9waHlfZGRpX3Zzd2luZ19zZXF1ZW5jZShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gIAllbnVtIHRj X3BvcnQgdGNfcG9ydCA9IGludGVsX3BvcnRfdG9fdGMoZGV2X3ByaXYsIGVuY29kZXItPnBvcnQp Owo+IC0JY29uc3Qgc3RydWN0IHRnbF9ka2xfcGh5X2RkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xh dGlvbnM7Cj4gKwljb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICpkZGlfdHJh bnNsYXRpb25zOwo+ICAJdTMyIHZhbCwgZHBjbnRfbWFzaywgZHBjbnRfdmFsOwo+ICAJaW50IG5f ZW50cmllcywgbG47Cj4gIAo+IEBAIC0xNDYxLDkgKzE0NjEsOSBAQCB0Z2xfZGtsX3BoeV9kZGlf dnN3aW5nX3NlcXVlbmNlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJZHBjbnRf bWFzayA9IChES0xfVFhfUFJFU0hPT1RfQ09FRkZfTUFTSyB8Cj4gIAkJICAgICAgREtMX1RYX0RF X0VNUEFIU0lTX0NPRUZGX01BU0sgfAo+ICAJCSAgICAgIERLTF9UWF9WU1dJTkdfQ09OVFJPTF9N QVNLKTsKPiAtCWRwY250X3ZhbCA9IERLTF9UWF9WU1dJTkdfQ09OVFJPTChkZGlfdHJhbnNsYXRp b25zW2xldmVsXS5ka2xfdnN3aW5nX2NvbnRyb2wpOwo+IC0JZHBjbnRfdmFsIHw9IERLTF9UWF9E RV9FTVBIQVNJU19DT0VGRihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5ka2xfZGVfZW1waGFzaXNf Y29udHJvbCk7Cj4gLQlkcGNudF92YWwgfD0gREtMX1RYX1BSRVNIT09UX0NPRUZGKGRkaV90cmFu c2xhdGlvbnNbbGV2ZWxdLmRrbF9wcmVzaG9vdF9jb250cm9sKTsKPiArCWRwY250X3ZhbCA9IERL TF9UWF9WU1dJTkdfQ09OVFJPTChkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5ka2wuZGtsX3Zzd2lu Z19jb250cm9sKTsKPiArCWRwY250X3ZhbCB8PSBES0xfVFhfREVfRU1QSEFTSVNfQ09FRkYoZGRp X3RyYW5zbGF0aW9uc1tsZXZlbF0uZGtsLmRrbF9kZV9lbXBoYXNpc19jb250cm9sKTsKPiArCWRw Y250X3ZhbCB8PSBES0xfVFhfUFJFU0hPT1RfQ09FRkYoZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0u ZGtsLmRrbF9wcmVzaG9vdF9jb250cm9sKTsKPiAgCj4gIAlmb3IgKGxuID0gMDsgbG4gPCAyOyBs bisrKSB7Cj4gIAkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIEhJUF9JTkRFWF9SRUcodGNfcG9y dCksCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRp X2J1Zl90cmFucy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGlfYnVm X3RyYW5zLmMKPiBpbmRleCBmN2I3MTc4MzYzZTguLjNmMzgyNjdiN2RkNiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaV9idWZfdHJhbnMuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1Zl90cmFucy5jCj4g QEAgLTEzLDc2MSArMTMsNzYxIEBACj4gICAqIHRoZW0gZm9yIGJvdGggRFAgYW5kIEZESSB0cmFu c3BvcnRzLCBhbGxvd2luZyB0aG9zZSBwb3J0cyB0bwo+ICAgKiBhdXRvbWF0aWNhbGx5IGFkYXB0 IHRvIEhETUkgY29ubmVjdGlvbnMgYXMgd2VsbAo+ICAgKi8KPiAtc3RhdGljIGNvbnN0IHN0cnVj dCBoc3dfZGRpX2J1Zl90cmFucyBoc3dfZGRpX3RyYW5zbGF0aW9uc19kcFtdID0gewo+IC0JeyAw eDAwRkZGRkZGLCAweDAwMDYwMDBFLCAweDAgfSwKPiAtCXsgMHgwMEQ3NUZGRiwgMHgwMDA1MDAw QSwgMHgwIH0sCj4gLQl7IDB4MDBDMzBGRkYsIDB4MDAwNDAwMDYsIDB4MCB9LAo+IC0JeyAweDgw QUFBRkZGLCAweDAwMEIwMDAwLCAweDAgfSwKPiAtCXsgMHgwMEZGRkZGRiwgMHgwMDA1MDAwQSwg MHgwIH0sCj4gLQl7IDB4MDBENzVGRkYsIDB4MDAwQzAwMDQsIDB4MCB9LAo+IC0JeyAweDgwQzMw RkZGLCAweDAwMEIwMDAwLCAweDAgfSwKPiAtCXsgMHgwMEZGRkZGRiwgMHgwMDA0MDAwNiwgMHgw IH0sCj4gLQl7IDB4ODBENzVGRkYsIDB4MDAwQjAwMDAsIDB4MCB9LAo+ICtzdGF0aWMgY29uc3Qg dW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBoc3dfZGRpX3RyYW5zbGF0aW9uc19kcFtd ID0gewo+ICsJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMDYwMDBFLCAweDAgfSB9LAo+ICsJ eyAuaHN3ID0geyAweDAwRDc1RkZGLCAweDAwMDUwMDBBLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0g eyAweDAwQzMwRkZGLCAweDAwMDQwMDA2LCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDgwQUFB RkZGLCAweDAwMEIwMDAwLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAw MDUwMDBBLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwRDc1RkZGLCAweDAwMEMwMDA0LCAw eDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDgwQzMwRkZGLCAweDAwMEIwMDAwLCAweDAgfSB9LAo+ ICsJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMDQwMDA2LCAweDAgfSB9LAo+ICsJeyAuaHN3 ID0geyAweDgwRDc1RkZGLCAweDAwMEIwMDAwLCAweDAgfSB9LAo+ICB9Owo+ICAKPiAtc3RhdGlj IGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyBoc3dfZGRpX3RyYW5zbGF0aW9uc19mZGlb XSA9IHsKPiAtCXsgMHgwMEZGRkZGRiwgMHgwMDA3MDAwRSwgMHgwIH0sCj4gLQl7IDB4MDBENzVG RkYsIDB4MDAwRjAwMEEsIDB4MCB9LAo+IC0JeyAweDAwQzMwRkZGLCAweDAwMDYwMDA2LCAweDAg fSwKPiAtCXsgMHgwMEFBQUZGRiwgMHgwMDFFMDAwMCwgMHgwIH0sCj4gLQl7IDB4MDBGRkZGRkYs IDB4MDAwRjAwMEEsIDB4MCB9LAo+IC0JeyAweDAwRDc1RkZGLCAweDAwMTYwMDA0LCAweDAgfSwK PiAtCXsgMHgwMEMzMEZGRiwgMHgwMDFFMDAwMCwgMHgwIH0sCj4gLQl7IDB4MDBGRkZGRkYsIDB4 MDAwNjAwMDYsIDB4MCB9LAo+IC0JeyAweDAwRDc1RkZGLCAweDAwMUUwMDAwLCAweDAgfSwKPiAr c3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgaHN3X2RkaV90cmFu c2xhdGlvbnNfZmRpW10gPSB7Cj4gKwl7IC5oc3cgPSB7IDB4MDBGRkZGRkYsIDB4MDAwNzAwMEUs IDB4MCB9IH0sCj4gKwl7IC5oc3cgPSB7IDB4MDBENzVGRkYsIDB4MDAwRjAwMEEsIDB4MCB9IH0s Cj4gKwl7IC5oc3cgPSB7IDB4MDBDMzBGRkYsIDB4MDAwNjAwMDYsIDB4MCB9IH0sCj4gKwl7IC5o c3cgPSB7IDB4MDBBQUFGRkYsIDB4MDAxRTAwMDAsIDB4MCB9IH0sCj4gKwl7IC5oc3cgPSB7IDB4 MDBGRkZGRkYsIDB4MDAwRjAwMEEsIDB4MCB9IH0sCj4gKwl7IC5oc3cgPSB7IDB4MDBENzVGRkYs IDB4MDAxNjAwMDQsIDB4MCB9IH0sCj4gKwl7IC5oc3cgPSB7IDB4MDBDMzBGRkYsIDB4MDAxRTAw MDAsIDB4MCB9IH0sCj4gKwl7IC5oc3cgPSB7IDB4MDBGRkZGRkYsIDB4MDAwNjAwMDYsIDB4MCB9 IH0sCj4gKwl7IC5oc3cgPSB7IDB4MDBENzVGRkYsIDB4MDAxRTAwMDAsIDB4MCB9IH0sCj4gIH07 Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zIGhzd19kZGlfdHJh bnNsYXRpb25zX2hkbWlbXSA9IHsKPiAtCQkJCQkvKiBJZHgJTlQgbVYgZAlUIG1WIGQJZGIJKi8K PiAtCXsgMHgwMEZGRkZGRiwgMHgwMDA2MDAwRSwgMHgwIH0sLyogMDoJNDAwCTQwMAkwCSovCj4g LQl7IDB4MDBFNzlGRkYsIDB4MDAwRTAwMEMsIDB4MCB9LC8qIDE6CTQwMAk1MDAJMgkqLwo+IC0J eyAweDAwRDc1RkZGLCAweDAwMDUwMDBBLCAweDAgfSwvKiAyOgk0MDAJNjAwCTMuNQkqLwo+IC0J eyAweDAwRkZGRkZGLCAweDAwMDUwMDBBLCAweDAgfSwvKiAzOgk2MDAJNjAwCTAJKi8KPiAtCXsg MHgwMEU3OUZGRiwgMHgwMDFEMDAwNywgMHgwIH0sLyogNDoJNjAwCTc1MAkyCSovCj4gLQl7IDB4 MDBENzVGRkYsIDB4MDAwQzAwMDQsIDB4MCB9LC8qIDU6CTYwMAk5MDAJMy41CSovCj4gLQl7IDB4 MDBGRkZGRkYsIDB4MDAwNDAwMDYsIDB4MCB9LC8qIDY6CTgwMAk4MDAJMAkqLwo+IC0JeyAweDgw RTc5RkZGLCAweDAwMDMwMDAyLCAweDAgfSwvKiA3Ogk4MDAJMTAwMAkyCSovCj4gLQl7IDB4MDBG RkZGRkYsIDB4MDAxNDAwMDUsIDB4MCB9LC8qIDg6CTg1MAk4NTAJMAkqLwo+IC0JeyAweDAwRkZG RkZGLCAweDAwMEMwMDA0LCAweDAgfSwvKiA5Ogk5MDAJOTAwCTAJKi8KPiAtCXsgMHgwMEZGRkZG RiwgMHgwMDFDMDAwMywgMHgwIH0sLyogMTA6CTk1MAk5NTAJMAkqLwo+IC0JeyAweDgwRkZGRkZG LCAweDAwMDMwMDAyLCAweDAgfSwvKiAxMToJMTAwMAkxMDAwCTAJKi8KPiArc3RhdGljIGNvbnN0 IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgaHN3X2RkaV90cmFuc2xhdGlvbnNfaGRt aVtdID0gewo+ICsJCQkJCQkJLyogSWR4CU5UIG1WIGQJVCBtViBkCWRiCSovCj4gKwl7IC5oc3cg PSB7IDB4MDBGRkZGRkYsIDB4MDAwNjAwMEUsIDB4MCB9IH0sCS8qIDA6CTQwMAk0MDAJMAkqLwo+ ICsJeyAuaHN3ID0geyAweDAwRTc5RkZGLCAweDAwMEUwMDBDLCAweDAgfSB9LAkvKiAxOgk0MDAJ NTAwCTIJKi8KPiArCXsgLmhzdyA9IHsgMHgwMEQ3NUZGRiwgMHgwMDA1MDAwQSwgMHgwIH0gfSwJ LyogMjoJNDAwCTYwMAkzLjUJKi8KPiArCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDA1MDAw QSwgMHgwIH0gfSwJLyogMzoJNjAwCTYwMAkwCSovCj4gKwl7IC5oc3cgPSB7IDB4MDBFNzlGRkYs IDB4MDAxRDAwMDcsIDB4MCB9IH0sCS8qIDQ6CTYwMAk3NTAJMgkqLwo+ICsJeyAuaHN3ID0geyAw eDAwRDc1RkZGLCAweDAwMEMwMDA0LCAweDAgfSB9LAkvKiA1Ogk2MDAJOTAwCTMuNQkqLwo+ICsJ eyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMDQwMDA2LCAweDAgfSB9LAkvKiA2Ogk4MDAJODAw CTAJKi8KPiArCXsgLmhzdyA9IHsgMHg4MEU3OUZGRiwgMHgwMDAzMDAwMiwgMHgwIH0gfSwJLyog NzoJODAwCTEwMDAJMgkqLwo+ICsJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMTQwMDA1LCAw eDAgfSB9LAkvKiA4Ogk4NTAJODUwCTAJKi8KPiArCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgw MDBDMDAwNCwgMHgwIH0gfSwJLyogOToJOTAwCTkwMAkwCSovCj4gKwl7IC5oc3cgPSB7IDB4MDBG RkZGRkYsIDB4MDAxQzAwMDMsIDB4MCB9IH0sCS8qIDEwOgk5NTAJOTUwCTAJKi8KPiArCXsgLmhz dyA9IHsgMHg4MEZGRkZGRiwgMHgwMDAzMDAwMiwgMHgwIH0gfSwJLyogMTE6CTEwMDAJMTAwMAkw CSovCj4gIH07Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zIGJk d19kZGlfdHJhbnNsYXRpb25zX2VkcFtdID0gewo+IC0JeyAweDAwRkZGRkZGLCAweDAwMDAwMDEy LCAweDAgfSwKPiAtCXsgMHgwMEVCQUZGRiwgMHgwMDAyMDAxMSwgMHgwIH0sCj4gLQl7IDB4MDBD NzFGRkYsIDB4MDAwNjAwMEYsIDB4MCB9LAo+IC0JeyAweDAwQUFBRkZGLCAweDAwMEUwMDBBLCAw eDAgfSwKPiAtCXsgMHgwMEZGRkZGRiwgMHgwMDAyMDAxMSwgMHgwIH0sCj4gLQl7IDB4MDBEQjZG RkYsIDB4MDAwNTAwMEYsIDB4MCB9LAo+IC0JeyAweDAwQkVFRkZGLCAweDAwMEEwMDBDLCAweDAg fSwKPiAtCXsgMHgwMEZGRkZGRiwgMHgwMDA1MDAwRiwgMHgwIH0sCj4gLQl7IDB4MDBEQjZGRkYs IDB4MDAwQTAwMEMsIDB4MCB9LAo+ICtzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90 cmFuc19lbnRyeSBiZHdfZGRpX3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKPiArCXsgLmhzdyA9IHsg MHgwMEZGRkZGRiwgMHgwMDAwMDAxMiwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMEVCQUZG RiwgMHgwMDAyMDAxMSwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMEM3MUZGRiwgMHgwMDA2 MDAwRiwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMEFBQUZGRiwgMHgwMDBFMDAwQSwgMHgw IH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDAyMDAxMSwgMHgwIH0gfSwKPiAr CXsgLmhzdyA9IHsgMHgwMERCNkZGRiwgMHgwMDA1MDAwRiwgMHgwIH0gfSwKPiArCXsgLmhzdyA9 IHsgMHgwMEJFRUZGRiwgMHgwMDBBMDAwQywgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMEZG RkZGRiwgMHgwMDA1MDAwRiwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMERCNkZGRiwgMHgw MDBBMDAwQywgMHgwIH0gfSwKPiAgfTsKPiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2Rk aV9idWZfdHJhbnMgYmR3X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKPiAtCXsgMHgwMEZGRkZG RiwgMHgwMDA3MDAwRSwgMHgwIH0sCj4gLQl7IDB4MDBENzVGRkYsIDB4MDAwRTAwMEEsIDB4MCB9 LAo+IC0JeyAweDAwQkVGRkZGLCAweDAwMTQwMDA2LCAweDAgfSwKPiAtCXsgMHg4MEIyQ0ZGRiwg MHgwMDFCMDAwMiwgMHgwIH0sCj4gLQl7IDB4MDBGRkZGRkYsIDB4MDAwRTAwMEEsIDB4MCB9LAo+ IC0JeyAweDAwREI2RkZGLCAweDAwMTYwMDA1LCAweDAgfSwKPiAtCXsgMHg4MEM3MUZGRiwgMHgw MDFBMDAwMiwgMHgwIH0sCj4gLQl7IDB4MDBGN0RGRkYsIDB4MDAxODAwMDQsIDB4MCB9LAo+IC0J eyAweDgwRDc1RkZGLCAweDAwMUIwMDAyLCAweDAgfSwKPiArc3RhdGljIGNvbnN0IHVuaW9uIGlu dGVsX2RkaV9idWZfdHJhbnNfZW50cnkgYmR3X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKPiAr CXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDA3MDAwRSwgMHgwIH0gfSwKPiArCXsgLmhzdyA9 IHsgMHgwMEQ3NUZGRiwgMHgwMDBFMDAwQSwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMEJF RkZGRiwgMHgwMDE0MDAwNiwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHg4MEIyQ0ZGRiwgMHgw MDFCMDAwMiwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwgMHgwMDBFMDAwQSwg MHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMERCNkZGRiwgMHgwMDE2MDAwNSwgMHgwIH0gfSwK PiArCXsgLmhzdyA9IHsgMHg4MEM3MUZGRiwgMHgwMDFBMDAwMiwgMHgwIH0gfSwKPiArCXsgLmhz dyA9IHsgMHgwMEY3REZGRiwgMHgwMDE4MDAwNCwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHg4 MEQ3NUZGRiwgMHgwMDFCMDAwMiwgMHgwIH0gfSwKPiAgfTsKPiAgCj4gLXN0YXRpYyBjb25zdCBz dHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgYmR3X2RkaV90cmFuc2xhdGlvbnNfZmRpW10gPSB7Cj4g LQl7IDB4MDBGRkZGRkYsIDB4MDAwMTAwMEUsIDB4MCB9LAo+IC0JeyAweDAwRDc1RkZGLCAweDAw MDQwMDBBLCAweDAgfSwKPiAtCXsgMHgwMEMzMEZGRiwgMHgwMDA3MDAwNiwgMHgwIH0sCj4gLQl7 IDB4MDBBQUFGRkYsIDB4MDAwQzAwMDAsIDB4MCB9LAo+IC0JeyAweDAwRkZGRkZGLCAweDAwMDQw MDBBLCAweDAgfSwKPiAtCXsgMHgwMEQ3NUZGRiwgMHgwMDA5MDAwNCwgMHgwIH0sCj4gLQl7IDB4 MDBDMzBGRkYsIDB4MDAwQzAwMDAsIDB4MCB9LAo+IC0JeyAweDAwRkZGRkZGLCAweDAwMDcwMDA2 LCAweDAgfSwKPiAtCXsgMHgwMEQ3NUZGRiwgMHgwMDBDMDAwMCwgMHgwIH0sCj4gK3N0YXRpYyBj b25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGJkd19kZGlfdHJhbnNsYXRpb25z X2ZkaVtdID0gewo+ICsJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMDEwMDBFLCAweDAgfSB9 LAo+ICsJeyAuaHN3ID0geyAweDAwRDc1RkZGLCAweDAwMDQwMDBBLCAweDAgfSB9LAo+ICsJeyAu aHN3ID0geyAweDAwQzMwRkZGLCAweDAwMDcwMDA2LCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAw eDAwQUFBRkZGLCAweDAwMEMwMDAwLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwRkZGRkZG LCAweDAwMDQwMDBBLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwRDc1RkZGLCAweDAwMDkw MDA0LCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwQzMwRkZGLCAweDAwMEMwMDAwLCAweDAg fSB9LAo+ICsJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMDcwMDA2LCAweDAgfSB9LAo+ICsJ eyAuaHN3ID0geyAweDAwRDc1RkZGLCAweDAwMEMwMDAwLCAweDAgfSB9LAo+ICB9Owo+ICAKPiAt c3RhdGljIGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyBiZHdfZGRpX3RyYW5zbGF0aW9u c19oZG1pW10gPSB7Cj4gLQkJCQkJLyogSWR4CU5UIG1WIGQJVCBtViBkZglkYgkqLwo+IC0JeyAw eDAwRkZGRkZGLCAweDAwMDcwMDBFLCAweDAgfSwvKiAwOgk0MDAJNDAwCTAJKi8KPiAtCXsgMHgw MEQ3NUZGRiwgMHgwMDBFMDAwQSwgMHgwIH0sLyogMToJNDAwCTYwMAkzLjUJKi8KPiAtCXsgMHgw MEJFRkZGRiwgMHgwMDE0MDAwNiwgMHgwIH0sLyogMjoJNDAwCTgwMAk2CSovCj4gLQl7IDB4MDBG RkZGRkYsIDB4MDAwOTAwMEQsIDB4MCB9LC8qIDM6CTQ1MAk0NTAJMAkqLwo+IC0JeyAweDAwRkZG RkZGLCAweDAwMEUwMDBBLCAweDAgfSwvKiA0Ogk2MDAJNjAwCTAJKi8KPiAtCXsgMHgwMEQ3RkZG RiwgMHgwMDE0MDAwNiwgMHgwIH0sLyogNToJNjAwCTgwMAkyLjUJKi8KPiAtCXsgMHg4MENCMkZG RiwgMHgwMDFCMDAwMiwgMHgwIH0sLyogNjoJNjAwCTEwMDAJNC41CSovCj4gLQl7IDB4MDBGRkZG RkYsIDB4MDAxNDAwMDYsIDB4MCB9LC8qIDc6CTgwMAk4MDAJMAkqLwo+IC0JeyAweDgwRTc5RkZG LCAweDAwMUIwMDAyLCAweDAgfSwvKiA4Ogk4MDAJMTAwMAkyCSovCj4gLQl7IDB4ODBGRkZGRkYs IDB4MDAxQjAwMDIsIDB4MCB9LC8qIDk6CTEwMDAJMTAwMAkwCSovCj4gK3N0YXRpYyBjb25zdCB1 bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGJkd19kZGlfdHJhbnNsYXRpb25zX2hkbWlb XSA9IHsKPiArCQkJCQkJCS8qIElkeAlOVCBtViBkCVQgbVYgZGYJZGIJKi8KPiArCXsgLmhzdyA9 IHsgMHgwMEZGRkZGRiwgMHgwMDA3MDAwRSwgMHgwIH0gfSwJLyogMDoJNDAwCTQwMAkwCSovCj4g Kwl7IC5oc3cgPSB7IDB4MDBENzVGRkYsIDB4MDAwRTAwMEEsIDB4MCB9IH0sCS8qIDE6CTQwMAk2 MDAJMy41CSovCj4gKwl7IC5oc3cgPSB7IDB4MDBCRUZGRkYsIDB4MDAxNDAwMDYsIDB4MCB9IH0s CS8qIDI6CTQwMAk4MDAJNgkqLwo+ICsJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMDkwMDBE LCAweDAgfSB9LAkvKiAzOgk0NTAJNDUwCTAJKi8KPiArCXsgLmhzdyA9IHsgMHgwMEZGRkZGRiwg MHgwMDBFMDAwQSwgMHgwIH0gfSwJLyogNDoJNjAwCTYwMAkwCSovCj4gKwl7IC5oc3cgPSB7IDB4 MDBEN0ZGRkYsIDB4MDAxNDAwMDYsIDB4MCB9IH0sCS8qIDU6CTYwMAk4MDAJMi41CSovCj4gKwl7 IC5oc3cgPSB7IDB4ODBDQjJGRkYsIDB4MDAxQjAwMDIsIDB4MCB9IH0sCS8qIDY6CTYwMAkxMDAw CTQuNQkqLwo+ICsJeyAuaHN3ID0geyAweDAwRkZGRkZGLCAweDAwMTQwMDA2LCAweDAgfSB9LAkv KiA3Ogk4MDAJODAwCTAJKi8KPiArCXsgLmhzdyA9IHsgMHg4MEU3OUZGRiwgMHgwMDFCMDAwMiwg MHgwIH0gfSwJLyogODoJODAwCTEwMDAJMgkqLwo+ICsJeyAuaHN3ID0geyAweDgwRkZGRkZGLCAw eDAwMUIwMDAyLCAweDAgfSB9LAkvKiA5OgkxMDAwCTEwMDAJMAkqLwo+ICB9Owo+ICAKPiAgLyog U2t5bGFrZSBIIGFuZCBTICovCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJh bnMgc2tsX2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKPiAtCXsgMHgwMDAwMjAxNiwgMHgwMDAw MDBBMCwgMHgwIH0sCj4gLQl7IDB4MDAwMDUwMTIsIDB4MDAwMDAwOUIsIDB4MCB9LAo+IC0JeyAw eDAwMDA3MDExLCAweDAwMDAwMDg4LCAweDAgfSwKPiAtCXsgMHg4MDAwOTAxMCwgMHgwMDAwMDBD MCwgMHgxIH0sCj4gLQl7IDB4MDAwMDIwMTYsIDB4MDAwMDAwOUIsIDB4MCB9LAo+IC0JeyAweDAw MDA1MDEyLCAweDAwMDAwMDg4LCAweDAgfSwKPiAtCXsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDMCwg MHgxIH0sCj4gLQl7IDB4MDAwMDIwMTYsIDB4MDAwMDAwREYsIDB4MCB9LAo+IC0JeyAweDgwMDA1 MDEyLCAweDAwMDAwMEMwLCAweDEgfSwKPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9i dWZfdHJhbnNfZW50cnkgc2tsX2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKPiArCXsgLmhzdyA9 IHsgMHgwMDAwMjAxNiwgMHgwMDAwMDBBMCwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMDAw NTAxMiwgMHgwMDAwMDA5QiwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMDAwNzAxMSwgMHgw MDAwMDA4OCwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHg4MDAwOTAxMCwgMHgwMDAwMDBDMCwg MHgxIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMDAwMjAxNiwgMHgwMDAwMDA5QiwgMHgwIH0gfSwK PiArCXsgLmhzdyA9IHsgMHgwMDAwNTAxMiwgMHgwMDAwMDA4OCwgMHgwIH0gfSwKPiArCXsgLmhz dyA9IHsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDMCwgMHgxIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgw MDAwMjAxNiwgMHgwMDAwMDBERiwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHg4MDAwNTAxMiwg MHgwMDAwMDBDMCwgMHgxIH0gfSwKPiAgfTsKPiAgCj4gIC8qIFNreWxha2UgVSAqLwo+IC1zdGF0 aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zIHNrbF91X2RkaV90cmFuc2xhdGlvbnNf ZHBbXSA9IHsKPiAtCXsgMHgwMDAwMjAxQiwgMHgwMDAwMDBBMiwgMHgwIH0sCj4gLQl7IDB4MDAw MDUwMTIsIDB4MDAwMDAwODgsIDB4MCB9LAo+IC0JeyAweDgwMDA3MDExLCAweDAwMDAwMENELCAw eDEgfSwKPiAtCXsgMHg4MDAwOTAxMCwgMHgwMDAwMDBDMCwgMHgxIH0sCj4gLQl7IDB4MDAwMDIw MUIsIDB4MDAwMDAwOUQsIDB4MCB9LAo+IC0JeyAweDgwMDA1MDEyLCAweDAwMDAwMEMwLCAweDEg fSwKPiAtCXsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDMCwgMHgxIH0sCj4gLQl7IDB4MDAwMDIwMTYs IDB4MDAwMDAwODgsIDB4MCB9LAo+IC0JeyAweDgwMDA1MDEyLCAweDAwMDAwMEMwLCAweDEgfSwK PiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgc2tsX3VfZGRp X3RyYW5zbGF0aW9uc19kcFtdID0gewo+ICsJeyAuaHN3ID0geyAweDAwMDAyMDFCLCAweDAwMDAw MEEyLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA1MDEyLCAweDAwMDAwMDg4LCAweDAg fSB9LAo+ICsJeyAuaHN3ID0geyAweDgwMDA3MDExLCAweDAwMDAwMENELCAweDEgfSB9LAo+ICsJ eyAuaHN3ID0geyAweDgwMDA5MDEwLCAweDAwMDAwMEMwLCAweDEgfSB9LAo+ICsJeyAuaHN3ID0g eyAweDAwMDAyMDFCLCAweDAwMDAwMDlELCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDgwMDA1 MDEyLCAweDAwMDAwMEMwLCAweDEgfSB9LAo+ICsJeyAuaHN3ID0geyAweDgwMDA3MDExLCAweDAw MDAwMEMwLCAweDEgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDAyMDE2LCAweDAwMDAwMDg4LCAw eDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDgwMDA1MDEyLCAweDAwMDAwMEMwLCAweDEgfSB9LAo+ ICB9Owo+ICAKPiAgLyogU2t5bGFrZSBZICovCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2Rk aV9idWZfdHJhbnMgc2tsX3lfZGRpX3RyYW5zbGF0aW9uc19kcFtdID0gewo+IC0JeyAweDAwMDAw MDE4LCAweDAwMDAwMEEyLCAweDAgfSwKPiAtCXsgMHgwMDAwNTAxMiwgMHgwMDAwMDA4OCwgMHgw IH0sCj4gLQl7IDB4ODAwMDcwMTEsIDB4MDAwMDAwQ0QsIDB4MyB9LAo+IC0JeyAweDgwMDA5MDEw LCAweDAwMDAwMEMwLCAweDMgfSwKPiAtCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDA5RCwgMHgwIH0s Cj4gLQl7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4MyB9LAo+IC0JeyAweDgwMDA3MDExLCAw eDAwMDAwMEMwLCAweDMgfSwKPiAtCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDA4OCwgMHgwIH0sCj4g LQl7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4MyB9LAo+ICtzdGF0aWMgY29uc3QgdW5pb24g aW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBza2xfeV9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7 Cj4gKwl7IC5oc3cgPSB7IDB4MDAwMDAwMTgsIDB4MDAwMDAwQTIsIDB4MCB9IH0sCj4gKwl7IC5o c3cgPSB7IDB4MDAwMDUwMTIsIDB4MDAwMDAwODgsIDB4MCB9IH0sCj4gKwl7IC5oc3cgPSB7IDB4 ODAwMDcwMTEsIDB4MDAwMDAwQ0QsIDB4MyB9IH0sCj4gKwl7IC5oc3cgPSB7IDB4ODAwMDkwMTAs IDB4MDAwMDAwQzAsIDB4MyB9IH0sCj4gKwl7IC5oc3cgPSB7IDB4MDAwMDAwMTgsIDB4MDAwMDAw OUQsIDB4MCB9IH0sCj4gKwl7IC5oc3cgPSB7IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4MyB9 IH0sCj4gKwl7IC5oc3cgPSB7IDB4ODAwMDcwMTEsIDB4MDAwMDAwQzAsIDB4MyB9IH0sCj4gKwl7 IC5oc3cgPSB7IDB4MDAwMDAwMTgsIDB4MDAwMDAwODgsIDB4MCB9IH0sCj4gKwl7IC5oc3cgPSB7 IDB4ODAwMDUwMTIsIDB4MDAwMDAwQzAsIDB4MyB9IH0sCj4gIH07Cj4gIAo+ICAvKiBLYWJ5bGFr ZSBIIGFuZCBTICovCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMga2Js X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKPiAtCXsgMHgwMDAwMjAxNiwgMHgwMDAwMDBBMCwg MHgwIH0sCj4gLQl7IDB4MDAwMDUwMTIsIDB4MDAwMDAwOUIsIDB4MCB9LAo+IC0JeyAweDAwMDA3 MDExLCAweDAwMDAwMDg4LCAweDAgfSwKPiAtCXsgMHg4MDAwOTAxMCwgMHgwMDAwMDBDMCwgMHgx IH0sCj4gLQl7IDB4MDAwMDIwMTYsIDB4MDAwMDAwOUIsIDB4MCB9LAo+IC0JeyAweDAwMDA1MDEy LCAweDAwMDAwMDg4LCAweDAgfSwKPiAtCXsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDMCwgMHgxIH0s Cj4gLQl7IDB4MDAwMDIwMTYsIDB4MDAwMDAwOTcsIDB4MCB9LAo+IC0JeyAweDgwMDA1MDEyLCAw eDAwMDAwMEMwLCAweDEgfSwKPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJh bnNfZW50cnkga2JsX2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKPiArCXsgLmhzdyA9IHsgMHgw MDAwMjAxNiwgMHgwMDAwMDBBMCwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMDAwNTAxMiwg MHgwMDAwMDA5QiwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMDAwNzAxMSwgMHgwMDAwMDA4 OCwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHg4MDAwOTAxMCwgMHgwMDAwMDBDMCwgMHgxIH0g fSwKPiArCXsgLmhzdyA9IHsgMHgwMDAwMjAxNiwgMHgwMDAwMDA5QiwgMHgwIH0gfSwKPiArCXsg LmhzdyA9IHsgMHgwMDAwNTAxMiwgMHgwMDAwMDA4OCwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsg MHg4MDAwNzAxMSwgMHgwMDAwMDBDMCwgMHgxIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMDAwMjAx NiwgMHgwMDAwMDA5NywgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHg4MDAwNTAxMiwgMHgwMDAw MDBDMCwgMHgxIH0gfSwKPiAgfTsKPiAgCj4gIC8qIEthYnlsYWtlIFUgKi8KPiAtc3RhdGljIGNv bnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyBrYmxfdV9kZGlfdHJhbnNsYXRpb25zX2RwW10g PSB7Cj4gLQl7IDB4MDAwMDIwMUIsIDB4MDAwMDAwQTEsIDB4MCB9LAo+IC0JeyAweDAwMDA1MDEy LCAweDAwMDAwMDg4LCAweDAgfSwKPiAtCXsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDRCwgMHgzIH0s Cj4gLQl7IDB4ODAwMDkwMTAsIDB4MDAwMDAwQzAsIDB4MyB9LAo+IC0JeyAweDAwMDAyMDFCLCAw eDAwMDAwMDlELCAweDAgfSwKPiAtCXsgMHg4MDAwNTAxMiwgMHgwMDAwMDBDMCwgMHgzIH0sCj4g LQl7IDB4ODAwMDcwMTEsIDB4MDAwMDAwQzAsIDB4MyB9LAo+IC0JeyAweDAwMDAyMDE2LCAweDAw MDAwMDRGLCAweDAgfSwKPiAtCXsgMHg4MDAwNTAxMiwgMHgwMDAwMDBDMCwgMHgzIH0sCj4gK3N0 YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGtibF91X2RkaV90cmFu c2xhdGlvbnNfZHBbXSA9IHsKPiArCXsgLmhzdyA9IHsgMHgwMDAwMjAxQiwgMHgwMDAwMDBBMSwg MHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMDAwNTAxMiwgMHgwMDAwMDA4OCwgMHgwIH0gfSwK PiArCXsgLmhzdyA9IHsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDRCwgMHgzIH0gfSwKPiArCXsgLmhz dyA9IHsgMHg4MDAwOTAxMCwgMHgwMDAwMDBDMCwgMHgzIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgw MDAwMjAxQiwgMHgwMDAwMDA5RCwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHg4MDAwNTAxMiwg MHgwMDAwMDBDMCwgMHgzIH0gfSwKPiArCXsgLmhzdyA9IHsgMHg4MDAwNzAxMSwgMHgwMDAwMDBD MCwgMHgzIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMDAwMjAxNiwgMHgwMDAwMDA0RiwgMHgwIH0g fSwKPiArCXsgLmhzdyA9IHsgMHg4MDAwNTAxMiwgMHgwMDAwMDBDMCwgMHgzIH0gfSwKPiAgfTsK PiAgCj4gIC8qIEthYnlsYWtlIFkgKi8KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1 Zl90cmFucyBrYmxfeV9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7Cj4gLQl7IDB4MDAwMDEwMTcs IDB4MDAwMDAwQTEsIDB4MCB9LAo+IC0JeyAweDAwMDA1MDEyLCAweDAwMDAwMDg4LCAweDAgfSwK PiAtCXsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDRCwgMHgzIH0sCj4gLQl7IDB4ODAwMDgwMEYsIDB4 MDAwMDAwQzAsIDB4MyB9LAo+IC0JeyAweDAwMDAxMDE3LCAweDAwMDAwMDlELCAweDAgfSwKPiAt CXsgMHg4MDAwNTAxMiwgMHgwMDAwMDBDMCwgMHgzIH0sCj4gLQl7IDB4ODAwMDcwMTEsIDB4MDAw MDAwQzAsIDB4MyB9LAo+IC0JeyAweDAwMDAxMDE3LCAweDAwMDAwMDRDLCAweDAgfSwKPiAtCXsg MHg4MDAwNTAxMiwgMHgwMDAwMDBDMCwgMHgzIH0sCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRl bF9kZGlfYnVmX3RyYW5zX2VudHJ5IGtibF95X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKPiAr CXsgLmhzdyA9IHsgMHgwMDAwMTAxNywgMHgwMDAwMDBBMSwgMHgwIH0gfSwKPiArCXsgLmhzdyA9 IHsgMHgwMDAwNTAxMiwgMHgwMDAwMDA4OCwgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHg4MDAw NzAxMSwgMHgwMDAwMDBDRCwgMHgzIH0gfSwKPiArCXsgLmhzdyA9IHsgMHg4MDAwODAwRiwgMHgw MDAwMDBDMCwgMHgzIH0gfSwKPiArCXsgLmhzdyA9IHsgMHgwMDAwMTAxNywgMHgwMDAwMDA5RCwg MHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHg4MDAwNTAxMiwgMHgwMDAwMDBDMCwgMHgzIH0gfSwK PiArCXsgLmhzdyA9IHsgMHg4MDAwNzAxMSwgMHgwMDAwMDBDMCwgMHgzIH0gfSwKPiArCXsgLmhz dyA9IHsgMHgwMDAwMTAxNywgMHgwMDAwMDA0QywgMHgwIH0gfSwKPiArCXsgLmhzdyA9IHsgMHg4 MDAwNTAxMiwgMHgwMDAwMDBDMCwgMHgzIH0gfSwKPiAgfTsKPiAgCj4gIC8qCj4gICAqIFNreWxh a2UvS2FieWxha2UgSCBhbmQgUwo+ICAgKiBlRFAgMS40IGxvdyB2c3dpbmcgdHJhbnNsYXRpb24g cGFyYW1ldGVycwo+ICAgKi8KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFu cyBza2xfZGRpX3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKPiAtCXsgMHgwMDAwMDAxOCwgMHgwMDAw MDBBOCwgMHgwIH0sCj4gLQl7IDB4MDAwMDQwMTMsIDB4MDAwMDAwQTksIDB4MCB9LAo+IC0JeyAw eDAwMDA3MDExLCAweDAwMDAwMEEyLCAweDAgfSwKPiAtCXsgMHgwMDAwOTAxMCwgMHgwMDAwMDA5 QywgMHgwIH0sCj4gLQl7IDB4MDAwMDAwMTgsIDB4MDAwMDAwQTksIDB4MCB9LAo+IC0JeyAweDAw MDA2MDEzLCAweDAwMDAwMEEyLCAweDAgfSwKPiAtCXsgMHgwMDAwNzAxMSwgMHgwMDAwMDBBNiwg MHgwIH0sCj4gLQl7IDB4MDAwMDAwMTgsIDB4MDAwMDAwQUIsIDB4MCB9LAo+IC0JeyAweDAwMDA3 MDEzLCAweDAwMDAwMDlGLCAweDAgfSwKPiAtCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDBERiwgMHgw IH0sCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHNrbF9k ZGlfdHJhbnNsYXRpb25zX2VkcFtdID0gewo+ICsJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAw MDAwMEE4LCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA0MDEzLCAweDAwMDAwMEE5LCAw eDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA3MDExLCAweDAwMDAwMEEyLCAweDAgfSB9LAo+ ICsJeyAuaHN3ID0geyAweDAwMDA5MDEwLCAweDAwMDAwMDlDLCAweDAgfSB9LAo+ICsJeyAuaHN3 ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMEE5LCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAw MDA2MDEzLCAweDAwMDAwMEEyLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA3MDExLCAw eDAwMDAwMEE2LCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMEFC LCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA3MDEzLCAweDAwMDAwMDlGLCAweDAgfSB9 LAo+ICsJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMERGLCAweDAgfSB9LAo+ICB9Owo+ ICAKPiAgLyoKPiAgICogU2t5bGFrZS9LYWJ5bGFrZSBVCj4gICAqIGVEUCAxLjQgbG93IHZzd2lu ZyB0cmFuc2xhdGlvbiBwYXJhbWV0ZXJzCj4gICAqLwo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGhz d19kZGlfYnVmX3RyYW5zIHNrbF91X2RkaV90cmFuc2xhdGlvbnNfZWRwW10gPSB7Cj4gLQl7IDB4 MDAwMDAwMTgsIDB4MDAwMDAwQTgsIDB4MCB9LAo+IC0JeyAweDAwMDA0MDEzLCAweDAwMDAwMEE5 LCAweDAgfSwKPiAtCXsgMHgwMDAwNzAxMSwgMHgwMDAwMDBBMiwgMHgwIH0sCj4gLQl7IDB4MDAw MDkwMTAsIDB4MDAwMDAwOUMsIDB4MCB9LAo+IC0JeyAweDAwMDAwMDE4LCAweDAwMDAwMEE5LCAw eDAgfSwKPiAtCXsgMHgwMDAwNjAxMywgMHgwMDAwMDBBMiwgMHgwIH0sCj4gLQl7IDB4MDAwMDcw MTEsIDB4MDAwMDAwQTYsIDB4MCB9LAo+IC0JeyAweDAwMDAyMDE2LCAweDAwMDAwMEFCLCAweDAg fSwKPiAtCXsgMHgwMDAwNTAxMywgMHgwMDAwMDA5RiwgMHgwIH0sCj4gLQl7IDB4MDAwMDAwMTgs IDB4MDAwMDAwREYsIDB4MCB9LAo+ICtzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90 cmFuc19lbnRyeSBza2xfdV9kZGlfdHJhbnNsYXRpb25zX2VkcFtdID0gewo+ICsJeyAuaHN3ID0g eyAweDAwMDAwMDE4LCAweDAwMDAwMEE4LCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA0 MDEzLCAweDAwMDAwMEE5LCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA3MDExLCAweDAw MDAwMEEyLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA5MDEwLCAweDAwMDAwMDlDLCAw eDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMEE5LCAweDAgfSB9LAo+ ICsJeyAuaHN3ID0geyAweDAwMDA2MDEzLCAweDAwMDAwMEEyLCAweDAgfSB9LAo+ICsJeyAuaHN3 ID0geyAweDAwMDA3MDExLCAweDAwMDAwMEE2LCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAw MDAyMDE2LCAweDAwMDAwMEFCLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA1MDEzLCAw eDAwMDAwMDlGLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMERG LCAweDAgfSB9LAo+ICB9Owo+ICAKPiAgLyoKPiAgICogU2t5bGFrZS9LYWJ5bGFrZSBZCj4gICAq IGVEUCAxLjQgbG93IHZzd2luZyB0cmFuc2xhdGlvbiBwYXJhbWV0ZXJzCj4gICAqLwo+IC1zdGF0 aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zIHNrbF95X2RkaV90cmFuc2xhdGlvbnNf ZWRwW10gPSB7Cj4gLQl7IDB4MDAwMDAwMTgsIDB4MDAwMDAwQTgsIDB4MCB9LAo+IC0JeyAweDAw MDA0MDEzLCAweDAwMDAwMEFCLCAweDAgfSwKPiAtCXsgMHgwMDAwNzAxMSwgMHgwMDAwMDBBNCwg MHgwIH0sCj4gLQl7IDB4MDAwMDkwMTAsIDB4MDAwMDAwREYsIDB4MCB9LAo+IC0JeyAweDAwMDAw MDE4LCAweDAwMDAwMEFBLCAweDAgfSwKPiAtCXsgMHgwMDAwNjAxMywgMHgwMDAwMDBBNCwgMHgw IH0sCj4gLQl7IDB4MDAwMDcwMTEsIDB4MDAwMDAwOUQsIDB4MCB9LAo+IC0JeyAweDAwMDAwMDE4 LCAweDAwMDAwMEEwLCAweDAgfSwKPiAtCXsgMHgwMDAwNjAxMiwgMHgwMDAwMDBERiwgMHgwIH0s Cj4gLQl7IDB4MDAwMDAwMTgsIDB4MDAwMDAwOEEsIDB4MCB9LAo+ICtzdGF0aWMgY29uc3QgdW5p b24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBza2xfeV9kZGlfdHJhbnNsYXRpb25zX2VkcFtd ID0gewo+ICsJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMEE4LCAweDAgfSB9LAo+ICsJ eyAuaHN3ID0geyAweDAwMDA0MDEzLCAweDAwMDAwMEFCLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0g eyAweDAwMDA3MDExLCAweDAwMDAwMEE0LCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA5 MDEwLCAweDAwMDAwMERGLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAw MDAwMEFBLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA2MDEzLCAweDAwMDAwMEE0LCAw eDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA3MDExLCAweDAwMDAwMDlELCAweDAgfSB9LAo+ ICsJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMEEwLCAweDAgfSB9LAo+ICsJeyAuaHN3 ID0geyAweDAwMDA2MDEyLCAweDAwMDAwMERGLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAw MDAwMDE4LCAweDAwMDAwMDhBLCAweDAgfSB9LAo+ICB9Owo+ICAKPiAgLyogU2t5bGFrZS9LYWJ5 bGFrZSBVLCBIIGFuZCBTICovCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJh bnMgc2tsX2RkaV90cmFuc2xhdGlvbnNfaGRtaVtdID0gewo+IC0JeyAweDAwMDAwMDE4LCAweDAw MDAwMEFDLCAweDAgfSwKPiAtCXsgMHgwMDAwNTAxMiwgMHgwMDAwMDA5RCwgMHgwIH0sCj4gLQl7 IDB4MDAwMDcwMTEsIDB4MDAwMDAwODgsIDB4MCB9LAo+IC0JeyAweDAwMDAwMDE4LCAweDAwMDAw MEExLCAweDAgfSwKPiAtCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDA5OCwgMHgwIH0sCj4gLQl7IDB4 MDAwMDQwMTMsIDB4MDAwMDAwODgsIDB4MCB9LAo+IC0JeyAweDgwMDA2MDEyLCAweDAwMDAwMENE LCAweDEgfSwKPiAtCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDBERiwgMHgwIH0sCj4gLQl7IDB4ODAw MDMwMTUsIDB4MDAwMDAwQ0QsIDB4MSB9LAkvKiBEZWZhdWx0ICovCj4gLQl7IDB4ODAwMDMwMTUs IDB4MDAwMDAwQzAsIDB4MSB9LAo+IC0JeyAweDgwMDAwMDE4LCAweDAwMDAwMEMwLCAweDEgfSwK PiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgc2tsX2RkaV90 cmFuc2xhdGlvbnNfaGRtaVtdID0gewo+ICsJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAw MEFDLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA1MDEyLCAweDAwMDAwMDlELCAweDAg fSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA3MDExLCAweDAwMDAwMDg4LCAweDAgfSB9LAo+ICsJ eyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMEExLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0g eyAweDAwMDAwMDE4LCAweDAwMDAwMDk4LCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA0 MDEzLCAweDAwMDAwMDg4LCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDgwMDA2MDEyLCAweDAw MDAwMENELCAweDEgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMERGLCAw eDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDgwMDAzMDE1LCAweDAwMDAwMENELCAweDEgfSB9LAkv KiBEZWZhdWx0ICovCj4gKwl7IC5oc3cgPSB7IDB4ODAwMDMwMTUsIDB4MDAwMDAwQzAsIDB4MSB9 IH0sCj4gKwl7IC5oc3cgPSB7IDB4ODAwMDAwMTgsIDB4MDAwMDAwQzAsIDB4MSB9IH0sCj4gIH07 Cj4gIAo+ICAvKiBTa3lsYWtlL0thYnlsYWtlIFkgKi8KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBo c3dfZGRpX2J1Zl90cmFucyBza2xfeV9kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKPiAtCXsg MHgwMDAwMDAxOCwgMHgwMDAwMDBBMSwgMHgwIH0sCj4gLQl7IDB4MDAwMDUwMTIsIDB4MDAwMDAw REYsIDB4MCB9LAo+IC0JeyAweDgwMDA3MDExLCAweDAwMDAwMENCLCAweDMgfSwKPiAtCXsgMHgw MDAwMDAxOCwgMHgwMDAwMDBBNCwgMHgwIH0sCj4gLQl7IDB4MDAwMDAwMTgsIDB4MDAwMDAwOUQs IDB4MCB9LAo+IC0JeyAweDAwMDA0MDEzLCAweDAwMDAwMDgwLCAweDAgfSwKPiAtCXsgMHg4MDAw NjAxMywgMHgwMDAwMDBDMCwgMHgzIH0sCj4gLQl7IDB4MDAwMDAwMTgsIDB4MDAwMDAwOEEsIDB4 MCB9LAo+IC0JeyAweDgwMDAzMDE1LCAweDAwMDAwMEMwLCAweDMgfSwJLyogRGVmYXVsdCAqLwo+ IC0JeyAweDgwMDAzMDE1LCAweDAwMDAwMEMwLCAweDMgfSwKPiAtCXsgMHg4MDAwMDAxOCwgMHgw MDAwMDBDMCwgMHgzIH0sCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5z X2VudHJ5IHNrbF95X2RkaV90cmFuc2xhdGlvbnNfaGRtaVtdID0gewo+ICsJeyAuaHN3ID0geyAw eDAwMDAwMDE4LCAweDAwMDAwMEExLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDA1MDEy LCAweDAwMDAwMERGLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDgwMDA3MDExLCAweDAwMDAw MENCLCAweDMgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMEE0LCAweDAg fSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDAwMDE4LCAweDAwMDAwMDlELCAweDAgfSB9LAo+ICsJ eyAuaHN3ID0geyAweDAwMDA0MDEzLCAweDAwMDAwMDgwLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0g eyAweDgwMDA2MDEzLCAweDAwMDAwMEMwLCAweDMgfSB9LAo+ICsJeyAuaHN3ID0geyAweDAwMDAw MDE4LCAweDAwMDAwMDhBLCAweDAgfSB9LAo+ICsJeyAuaHN3ID0geyAweDgwMDAzMDE1LCAweDAw MDAwMEMwLCAweDMgfSB9LAkvKiBEZWZhdWx0ICovCj4gKwl7IC5oc3cgPSB7IDB4ODAwMDMwMTUs IDB4MDAwMDAwQzAsIDB4MyB9IH0sCj4gKwl7IC5oc3cgPSB7IDB4ODAwMDAwMTgsIDB4MDAwMDAw QzAsIDB4MyB9IH0sCj4gIH07Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGJ4dF9kZGlfYnVm X3RyYW5zIGJ4dF9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7Cj4gLQkJCQkJLyogSWR4CU5UIG1W IGRpZmYJZGIgICovCj4gLQl7IDUyLCAgMHg5QSwgMCwgMTI4LCB9LAkvKiAwOgk0MDAJCTAgICAq Lwo+IC0JeyA3OCwgIDB4OUEsIDAsIDg1LCAgfSwJLyogMToJNDAwCQkzLjUgKi8KPiAtCXsgMTA0 LCAweDlBLCAwLCA2NCwgIH0sCS8qIDI6CTQwMAkJNiAgICovCj4gLQl7IDE1NCwgMHg5QSwgMCwg NDMsICB9LAkvKiAzOgk0MDAJCTkuNSAqLwo+IC0JeyA3NywgIDB4OUEsIDAsIDEyOCwgfSwJLyog NDoJNjAwCQkwICAgKi8KPiAtCXsgMTE2LCAweDlBLCAwLCA4NSwgIH0sCS8qIDU6CTYwMAkJMy41 ICovCj4gLQl7IDE1NCwgMHg5QSwgMCwgNjQsICB9LAkvKiA2Ogk2MDAJCTYgICAqLwo+IC0JeyAx MDIsIDB4OUEsIDAsIDEyOCwgfSwJLyogNzoJODAwCQkwICAgKi8KPiAtCXsgMTU0LCAweDlBLCAw LCA4NSwgIH0sCS8qIDg6CTgwMAkJMy41ICovCj4gLQl7IDE1NCwgMHg5QSwgMSwgMTI4LCB9LAkv KiA5OgkxMjAwCQkwICAgKi8KPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJh bnNfZW50cnkgYnh0X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKPiArCQkJCQkJLyogSWR4CU5U IG1WIGRpZmYJZGIgICovCj4gKwl7IC5ieHQgPSB7IDUyLCAgMHg5QSwgMCwgMTI4LCB9IH0sCS8q IDA6CTQwMAkJMCAgICovCj4gKwl7IC5ieHQgPSB7IDc4LCAgMHg5QSwgMCwgODUsICB9IH0sCS8q IDE6CTQwMAkJMy41ICovCj4gKwl7IC5ieHQgPSB7IDEwNCwgMHg5QSwgMCwgNjQsICB9IH0sCS8q IDI6CTQwMAkJNiAgICovCj4gKwl7IC5ieHQgPSB7IDE1NCwgMHg5QSwgMCwgNDMsICB9IH0sCS8q IDM6CTQwMAkJOS41ICovCj4gKwl7IC5ieHQgPSB7IDc3LCAgMHg5QSwgMCwgMTI4LCB9IH0sCS8q IDQ6CTYwMAkJMCAgICovCj4gKwl7IC5ieHQgPSB7IDExNiwgMHg5QSwgMCwgODUsICB9IH0sCS8q IDU6CTYwMAkJMy41ICovCj4gKwl7IC5ieHQgPSB7IDE1NCwgMHg5QSwgMCwgNjQsICB9IH0sCS8q IDY6CTYwMAkJNiAgICovCj4gKwl7IC5ieHQgPSB7IDEwMiwgMHg5QSwgMCwgMTI4LCB9IH0sCS8q IDc6CTgwMAkJMCAgICovCj4gKwl7IC5ieHQgPSB7IDE1NCwgMHg5QSwgMCwgODUsICB9IH0sCS8q IDg6CTgwMAkJMy41ICovCj4gKwl7IC5ieHQgPSB7IDE1NCwgMHg5QSwgMSwgMTI4LCB9IH0sCS8q IDk6CTEyMDAJCTAgICAqLwo+ICB9Owo+ICAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBieHRfZGRp X2J1Zl90cmFucyBieHRfZGRpX3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKPiArc3RhdGljIGNvbnN0 IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgYnh0X2RkaV90cmFuc2xhdGlvbnNfZWRw W10gPSB7Cj4gIAkJCQkJLyogSWR4CU5UIG1WIGRpZmYJZGIgICovCj4gLQl7IDI2LCAwLCAwLCAx MjgsIH0sCS8qIDA6CTIwMAkJMCAgICovCj4gLQl7IDM4LCAwLCAwLCAxMTIsIH0sCS8qIDE6CTIw MAkJMS41ICovCj4gLQl7IDQ4LCAwLCAwLCA5NiwgIH0sCS8qIDI6CTIwMAkJNCAgICovCj4gLQl7 IDU0LCAwLCAwLCA2OSwgIH0sCS8qIDM6CTIwMAkJNiAgICovCj4gLQl7IDMyLCAwLCAwLCAxMjgs IH0sCS8qIDQ6CTI1MAkJMCAgICovCj4gLQl7IDQ4LCAwLCAwLCAxMDQsIH0sCS8qIDU6CTI1MAkJ MS41ICovCj4gLQl7IDU0LCAwLCAwLCA4NSwgIH0sCS8qIDY6CTI1MAkJNCAgICovCj4gLQl7IDQz LCAwLCAwLCAxMjgsIH0sCS8qIDc6CTMwMAkJMCAgICovCj4gLQl7IDU0LCAwLCAwLCAxMDEsIH0s CS8qIDg6CTMwMAkJMS41ICovCj4gLQl7IDQ4LCAwLCAwLCAxMjgsIH0sCS8qIDk6CTMwMAkJMCAg ICovCj4gKwl7IC5ieHQgPSB7IDI2LCAwLCAwLCAxMjgsIH0gfSwJLyogMDoJMjAwCQkwICAgKi8K PiArCXsgLmJ4dCA9IHsgMzgsIDAsIDAsIDExMiwgfSB9LAkvKiAxOgkyMDAJCTEuNSAqLwo+ICsJ eyAuYnh0ID0geyA0OCwgMCwgMCwgOTYsICB9IH0sCS8qIDI6CTIwMAkJNCAgICovCj4gKwl7IC5i eHQgPSB7IDU0LCAwLCAwLCA2OSwgIH0gfSwJLyogMzoJMjAwCQk2ICAgKi8KPiArCXsgLmJ4dCA9 IHsgMzIsIDAsIDAsIDEyOCwgfSB9LAkvKiA0OgkyNTAJCTAgICAqLwo+ICsJeyAuYnh0ID0geyA0 OCwgMCwgMCwgMTA0LCB9IH0sCS8qIDU6CTI1MAkJMS41ICovCj4gKwl7IC5ieHQgPSB7IDU0LCAw LCAwLCA4NSwgIH0gfSwJLyogNjoJMjUwCQk0ICAgKi8KPiArCXsgLmJ4dCA9IHsgNDMsIDAsIDAs IDEyOCwgfSB9LAkvKiA3OgkzMDAJCTAgICAqLwo+ICsJeyAuYnh0ID0geyA1NCwgMCwgMCwgMTAx LCB9IH0sCS8qIDg6CTMwMAkJMS41ICovCj4gKwl7IC5ieHQgPSB7IDQ4LCAwLCAwLCAxMjgsIH0g fSwJLyogOToJMzAwCQkwICAgKi8KPiAgfTsKPiAgCj4gIC8qIEJTcGVjIGhhcyAyIHJlY29tbWVu ZGVkIHZhbHVlcyAtIGVudHJpZXMgMCBhbmQgOC4KPiAgICogVXNpbmcgdGhlIGVudHJ5IHdpdGgg aGlnaGVyIHZzd2luZy4KPiAgICovCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgYnh0X2RkaV9idWZf dHJhbnMgYnh0X2RkaV90cmFuc2xhdGlvbnNfaGRtaVtdID0gewo+IC0JCQkJCS8qIElkeAlOVCBt ViBkaWZmCWRiICAqLwo+IC0JeyA1MiwgIDB4OUEsIDAsIDEyOCwgfSwJLyogMDoJNDAwCQkwICAg Ki8KPiAtCXsgNTIsICAweDlBLCAwLCA4NSwgIH0sCS8qIDE6CTQwMAkJMy41ICovCj4gLQl7IDUy LCAgMHg5QSwgMCwgNjQsICB9LAkvKiAyOgk0MDAJCTYgICAqLwo+IC0JeyA0MiwgIDB4OUEsIDAs IDQzLCAgfSwJLyogMzoJNDAwCQk5LjUgKi8KPiAtCXsgNzcsICAweDlBLCAwLCAxMjgsIH0sCS8q IDQ6CTYwMAkJMCAgICovCj4gLQl7IDc3LCAgMHg5QSwgMCwgODUsICB9LAkvKiA1Ogk2MDAJCTMu NSAqLwo+IC0JeyA3NywgIDB4OUEsIDAsIDY0LCAgfSwJLyogNjoJNjAwCQk2ICAgKi8KPiAtCXsg MTAyLCAweDlBLCAwLCAxMjgsIH0sCS8qIDc6CTgwMAkJMCAgICovCj4gLQl7IDEwMiwgMHg5QSwg MCwgODUsICB9LAkvKiA4Ogk4MDAJCTMuNSAqLwo+IC0JeyAxNTQsIDB4OUEsIDEsIDEyOCwgfSwJ LyogOToJMTIwMAkJMCAgICovCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3Ry YW5zX2VudHJ5IGJ4dF9kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKPiArCQkJCQkJLyogSWR4 CU5UIG1WIGRpZmYJZGIgICovCj4gKwl7IC5ieHQgPSB7IDUyLCAgMHg5QSwgMCwgMTI4LCB9IH0s CS8qIDA6CTQwMAkJMCAgICovCj4gKwl7IC5ieHQgPSB7IDUyLCAgMHg5QSwgMCwgODUsICB9IH0s CS8qIDE6CTQwMAkJMy41ICovCj4gKwl7IC5ieHQgPSB7IDUyLCAgMHg5QSwgMCwgNjQsICB9IH0s CS8qIDI6CTQwMAkJNiAgICovCj4gKwl7IC5ieHQgPSB7IDQyLCAgMHg5QSwgMCwgNDMsICB9IH0s CS8qIDM6CTQwMAkJOS41ICovCj4gKwl7IC5ieHQgPSB7IDc3LCAgMHg5QSwgMCwgMTI4LCB9IH0s CS8qIDQ6CTYwMAkJMCAgICovCj4gKwl7IC5ieHQgPSB7IDc3LCAgMHg5QSwgMCwgODUsICB9IH0s CS8qIDU6CTYwMAkJMy41ICovCj4gKwl7IC5ieHQgPSB7IDc3LCAgMHg5QSwgMCwgNjQsICB9IH0s CS8qIDY6CTYwMAkJNiAgICovCj4gKwl7IC5ieHQgPSB7IDEwMiwgMHg5QSwgMCwgMTI4LCB9IH0s CS8qIDc6CTgwMAkJMCAgICovCj4gKwl7IC5ieHQgPSB7IDEwMiwgMHg5QSwgMCwgODUsICB9IH0s CS8qIDg6CTgwMAkJMy41ICovCj4gKwl7IC5ieHQgPSB7IDE1NCwgMHg5QSwgMSwgMTI4LCB9IH0s CS8qIDk6CTEyMDAJCTAgICAqLwo+ICB9Owo+ICAKPiAgLyogVm9sdGFnZSBTd2luZyBQcm9ncmFt bWluZyBmb3IgVmNjSU8gMC44NVYgZm9yIERQICovCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25s X2RkaV9idWZfdHJhbnMgY25sX2RkaV90cmFuc2xhdGlvbnNfZHBfMF84NVZbXSA9IHsKPiAtCQkJ CQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KPiAtCXsgMHhBLCAweDVELCAweDNGLCAweDAw LCAweDAwIH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCj4gLQl7IDB4QSwgMHg2QSwgMHgz OCwgMHgwMCwgMHgwNyB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLwo+IC0JeyAweEIsIDB4 N0EsIDB4MzIsIDB4MDAsIDB4MEQgfSwJLyogMzUwICAgNzAwICAgICAgNi4wICAgKi8KPiAtCXsg MHg2LCAweDdDLCAweDJELCAweDAwLCAweDEyIH0sCS8qIDM1MCAgIDkwMCAgICAgIDguMiAgICov Cj4gLQl7IDB4QSwgMHg2OSwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA1MDAgICA1MDAgICAgICAw LjAgICAqLwo+IC0JeyAweEIsIDB4N0EsIDB4MzYsIDB4MDAsIDB4MDkgfSwJLyogNTAwICAgNzAw ICAgICAgMi45ICAgKi8KPiAtCXsgMHg2LCAweDdDLCAweDMwLCAweDAwLCAweDBGIH0sCS8qIDUw MCAgIDkwMCAgICAgIDUuMSAgICovCj4gLQl7IDB4QiwgMHg3RCwgMHgzQywgMHgwMCwgMHgwMyB9 LAkvKiA2NTAgICA3MjUgICAgICAwLjkgICAqLwo+IC0JeyAweDYsIDB4N0MsIDB4MzQsIDB4MDAs IDB4MEIgfSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KPiAtCXsgMHg2LCAweDdCLCAweDNG LCAweDAwLCAweDAwIH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICovCj4gK3N0YXRpYyBjb25z dCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGNubF9kZGlfdHJhbnNsYXRpb25zX2Rw XzBfODVWW10gPSB7Cj4gKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwo+ICsJeyAu Y25sID0geyAweEEsIDB4NUQsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzNTAgICAzNTAgICAg ICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4NkEsIDB4MzgsIDB4MDAsIDB4MDcgfSB9 LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLwo+ICsJeyAuY25sID0geyAweEIsIDB4N0EsIDB4 MzIsIDB4MDAsIDB4MEQgfSB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLwo+ICsJeyAuY25s ID0geyAweDYsIDB4N0MsIDB4MkQsIDB4MDAsIDB4MTIgfSB9LAkvKiAzNTAgICA5MDAgICAgICA4 LjIgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4NjksIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkv KiA1MDAgICA1MDAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweEIsIDB4N0EsIDB4MzYs IDB4MDAsIDB4MDkgfSB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLwo+ICsJeyAuY25sID0g eyAweDYsIDB4N0MsIDB4MzAsIDB4MDAsIDB4MEYgfSB9LAkvKiA1MDAgICA5MDAgICAgICA1LjEg ICAqLwo+ICsJeyAuY25sID0geyAweEIsIDB4N0QsIDB4M0MsIDB4MDAsIDB4MDMgfSB9LAkvKiA2 NTAgICA3MjUgICAgICAwLjkgICAqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0MsIDB4MzQsIDB4 MDAsIDB4MEIgfSB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAqLwo+ICsJeyAuY25sID0geyAw eDYsIDB4N0IsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAq Lwo+ICB9Owo+ICAKPiAgLyogVm9sdGFnZSBTd2luZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8gMC44 NVYgZm9yIEhETUkgKi8KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBj bmxfZGRpX3RyYW5zbGF0aW9uc19oZG1pXzBfODVWW10gPSB7Cj4gLQkJCQkJCS8qIE5UIG1WIFRy YW5zIG1WIGRiICAgICovCj4gLQl7IDB4QSwgMHg2MCwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA0 NTAgICA0NTAgICAgICAwLjAgICAqLwo+IC0JeyAweEIsIDB4NzMsIDB4MzYsIDB4MDAsIDB4MDkg fSwJLyogNDUwICAgNjUwICAgICAgMy4yICAgKi8KPiAtCXsgMHg2LCAweDdGLCAweDMxLCAweDAw LCAweDBFIH0sCS8qIDQ1MCAgIDg1MCAgICAgIDUuNSAgICovCj4gLQl7IDB4QiwgMHg3MywgMHgz RiwgMHgwMCwgMHgwMCB9LAkvKiA2NTAgICA2NTAgICAgICAwLjAgICAqLwo+IC0JeyAweDYsIDB4 N0YsIDB4MzcsIDB4MDAsIDB4MDggfSwJLyogNjUwICAgODUwICAgICAgMi4zICAgKi8KPiAtCXsg MHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDg1MCAgIDg1MCAgICAgIDAuMCAgICov Cj4gLQl7IDB4NiwgMHg3RiwgMHgzNSwgMHgwMCwgMHgwQSB9LAkvKiA2MDAgICA4NTAgICAgICAz LjAgICAqLwo+ICtzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBj bmxfZGRpX3RyYW5zbGF0aW9uc19oZG1pXzBfODVWW10gPSB7Cj4gKwkJCQkJCQkvKiBOVCBtViBU cmFucyBtViBkYiAgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4NjAsIDB4M0YsIDB4MDAsIDB4 MDAgfSB9LAkvKiA0NTAgICA0NTAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweEIsIDB4 NzMsIDB4MzYsIDB4MDAsIDB4MDkgfSB9LAkvKiA0NTAgICA2NTAgICAgICAzLjIgICAqLwo+ICsJ eyAuY25sID0geyAweDYsIDB4N0YsIDB4MzEsIDB4MDAsIDB4MEUgfSB9LAkvKiA0NTAgICA4NTAg ICAgICA1LjUgICAqLwo+ICsJeyAuY25sID0geyAweEIsIDB4NzMsIDB4M0YsIDB4MDAsIDB4MDAg fSB9LAkvKiA2NTAgICA2NTAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0Ys IDB4MzcsIDB4MDAsIDB4MDggfSB9LAkvKiA2NTAgICA4NTAgICAgICAyLjMgICAqLwo+ICsJeyAu Y25sID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA4NTAgICA4NTAgICAg ICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MzUsIDB4MDAsIDB4MEEgfSB9 LAkvKiA2MDAgICA4NTAgICAgICAzLjAgICAqLwo+ICB9Owo+ICAKPiAgLyogVm9sdGFnZSBTd2lu ZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8gMC44NVYgZm9yIGVEUCAqLwo+IC1zdGF0aWMgY29uc3Qg c3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIGNubF9kZGlfdHJhbnNsYXRpb25zX2VkcF8wXzg1Vltd ID0gewo+IC0JCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwo+IC0JeyAweEEsIDB4NjYs IDB4M0EsIDB4MDAsIDB4MDUgfSwJLyogMzg0ICAgNTAwICAgICAgMi4zICAgKi8KPiAtCXsgMHgw LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDE1MyAgIDIwMCAgICAgIDIuMyAgICovCj4g LQl7IDB4OCwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAxOTIgICAyNTAgICAgICAyLjMg ICAqLwo+IC0JeyAweDEsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSwJLyogMjMwICAgMzAwICAg ICAgMi4zICAgKi8KPiAtCXsgMHg5LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDI2OSAg IDM1MCAgICAgIDIuMyAgICovCj4gLQl7IDB4QSwgMHg2NiwgMHgzQywgMHgwMCwgMHgwMyB9LAkv KiA0NDYgICA1MDAgICAgICAxLjAgICAqLwo+IC0JeyAweEIsIDB4NzAsIDB4M0MsIDB4MDAsIDB4 MDMgfSwJLyogNDYwICAgNjAwICAgICAgMi4zICAgKi8KPiAtCXsgMHhDLCAweDc1LCAweDNDLCAw eDAwLCAweDAzIH0sCS8qIDUzNyAgIDcwMCAgICAgIDIuMyAgICovCj4gLQl7IDB4MiwgMHg3Riwg MHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA0MDAgICA0MDAgICAgICAwLjAgICAqLwo+ICtzdGF0aWMg Y29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBjbmxfZGRpX3RyYW5zbGF0aW9u c19lZHBfMF84NVZbXSA9IHsKPiArCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCj4g Kwl7IC5jbmwgPSB7IDB4QSwgMHg2NiwgMHgzQSwgMHgwMCwgMHgwNSB9IH0sCS8qIDM4NCAgIDUw MCAgICAgIDIuMyAgICovCj4gKwl7IC5jbmwgPSB7IDB4MCwgMHg3RiwgMHgzOCwgMHgwMCwgMHgw NyB9IH0sCS8qIDE1MyAgIDIwMCAgICAgIDIuMyAgICovCj4gKwl7IC5jbmwgPSB7IDB4OCwgMHg3 RiwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8qIDE5MiAgIDI1MCAgICAgIDIuMyAgICovCj4gKwl7 IC5jbmwgPSB7IDB4MSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8qIDIzMCAgIDMwMCAg ICAgIDIuMyAgICovCj4gKwl7IC5jbmwgPSB7IDB4OSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9 IH0sCS8qIDI2OSAgIDM1MCAgICAgIDIuMyAgICovCj4gKwl7IC5jbmwgPSB7IDB4QSwgMHg2Niwg MHgzQywgMHgwMCwgMHgwMyB9IH0sCS8qIDQ0NiAgIDUwMCAgICAgIDEuMCAgICovCj4gKwl7IC5j bmwgPSB7IDB4QiwgMHg3MCwgMHgzQywgMHgwMCwgMHgwMyB9IH0sCS8qIDQ2MCAgIDYwMCAgICAg IDIuMyAgICovCj4gKwl7IC5jbmwgPSB7IDB4QywgMHg3NSwgMHgzQywgMHgwMCwgMHgwMyB9IH0s CS8qIDUzNyAgIDcwMCAgICAgIDIuMyAgICovCj4gKwl7IC5jbmwgPSB7IDB4MiwgMHg3RiwgMHgz RiwgMHgwMCwgMHgwMCB9IH0sCS8qIDQwMCAgIDQwMCAgICAgIDAuMCAgICovCj4gIH07Cj4gIAo+ ICAvKiBWb2x0YWdlIFN3aW5nIFByb2dyYW1taW5nIGZvciBWY2NJTyAwLjk1ViBmb3IgRFAgKi8K PiAtc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBjbmxfZGRpX3RyYW5zbGF0 aW9uc19kcF8wXzk1VltdID0gewo+IC0JCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwo+ IC0JeyAweEEsIDB4NUQsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMzUwICAgMzUwICAgICAgMC4w ICAgKi8KPiAtCXsgMHhBLCAweDZBLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDM1MCAgIDUwMCAg ICAgIDMuMSAgICovCj4gLQl7IDB4QiwgMHg3QSwgMHgzMiwgMHgwMCwgMHgwRCB9LAkvKiAzNTAg ICA3MDAgICAgICA2LjAgICAqLwo+IC0JeyAweDYsIDB4N0MsIDB4MkQsIDB4MDAsIDB4MTIgfSwJ LyogMzUwICAgOTAwICAgICAgOC4yICAgKi8KPiAtCXsgMHhBLCAweDY5LCAweDNGLCAweDAwLCAw eDAwIH0sCS8qIDUwMCAgIDUwMCAgICAgIDAuMCAgICovCj4gLQl7IDB4QiwgMHg3QSwgMHgzNiwg MHgwMCwgMHgwOSB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLwo+IC0JeyAweDYsIDB4N0Ms IDB4MzAsIDB4MDAsIDB4MEYgfSwJLyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KPiAtCXsgMHhC LCAweDdELCAweDNDLCAweDAwLCAweDAzIH0sCS8qIDY1MCAgIDcyNSAgICAgIDAuOSAgICovCj4g LQl7IDB4NiwgMHg3QywgMHgzNCwgMHgwMCwgMHgwQiB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUg ICAqLwo+IC0JeyAweDYsIDB4N0IsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogOTAwICAgOTAwICAg ICAgMC4wICAgKi8KPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50 cnkgY25sX2RkaV90cmFuc2xhdGlvbnNfZHBfMF85NVZbXSA9IHsKPiArCQkJCQkJCS8qIE5UIG1W IFRyYW5zIG1WIGRiICAgICovCj4gKwl7IC5jbmwgPSB7IDB4QSwgMHg1RCwgMHgzRiwgMHgwMCwg MHgwMCB9IH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCj4gKwl7IC5jbmwgPSB7IDB4QSwg MHg2QSwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCj4g Kwl7IC5jbmwgPSB7IDB4QiwgMHg3QSwgMHgzMiwgMHgwMCwgMHgwRCB9IH0sCS8qIDM1MCAgIDcw MCAgICAgIDYuMCAgICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3QywgMHgyRCwgMHgwMCwgMHgx MiB9IH0sCS8qIDM1MCAgIDkwMCAgICAgIDguMiAgICovCj4gKwl7IC5jbmwgPSB7IDB4QSwgMHg2 OSwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDUwMCAgIDUwMCAgICAgIDAuMCAgICovCj4gKwl7 IC5jbmwgPSB7IDB4QiwgMHg3QSwgMHgzNiwgMHgwMCwgMHgwOSB9IH0sCS8qIDUwMCAgIDcwMCAg ICAgIDIuOSAgICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3QywgMHgzMCwgMHgwMCwgMHgwRiB9 IH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCj4gKwl7IC5jbmwgPSB7IDB4QiwgMHg3RCwg MHgzQywgMHgwMCwgMHgwMyB9IH0sCS8qIDY1MCAgIDcyNSAgICAgIDAuOSAgICovCj4gKwl7IC5j bmwgPSB7IDB4NiwgMHg3QywgMHgzNCwgMHgwMCwgMHgwQiB9IH0sCS8qIDYwMCAgIDkwMCAgICAg IDMuNSAgICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3QiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0s CS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICovCj4gIH07Cj4gIAo+ICAvKiBWb2x0YWdlIFN3aW5n IFByb2dyYW1taW5nIGZvciBWY2NJTyAwLjk1ViBmb3IgSERNSSAqLwo+IC1zdGF0aWMgY29uc3Qg c3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIGNubF9kZGlfdHJhbnNsYXRpb25zX2hkbWlfMF85NVZb XSA9IHsKPiAtCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KPiAtCXsgMHhBLCAweDVD LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDQwMCAgIDQwMCAgICAgIDAuMCAgICovCj4gLQl7IDB4 QiwgMHg2OSwgMHgzNywgMHgwMCwgMHgwOCB9LAkvKiA0MDAgICA2MDAgICAgICAzLjUgICAqLwo+ IC0JeyAweDUsIDB4NzYsIDB4MzEsIDB4MDAsIDB4MEUgfSwJLyogNDAwICAgODAwICAgICAgNi4w ICAgKi8KPiAtCXsgMHhBLCAweDVFLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDQ1MCAgIDQ1MCAg ICAgIDAuMCAgICovCj4gLQl7IDB4QiwgMHg2OSwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA2MDAg ICA2MDAgICAgICAwLjAgICAqLwo+IC0JeyAweEIsIDB4NzksIDB4MzUsIDB4MDAsIDB4MEEgfSwJ LyogNjAwICAgODUwICAgICAgMy4wICAgKi8KPiAtCXsgMHg2LCAweDdELCAweDMyLCAweDAwLCAw eDBEIH0sCS8qIDYwMCAgIDEwMDAgICAgIDQuNCAgICovCj4gLQl7IDB4NSwgMHg3NiwgMHgzRiwg MHgwMCwgMHgwMCB9LAkvKiA4MDAgICA4MDAgICAgICAwLjAgICAqLwo+IC0JeyAweDYsIDB4N0Qs IDB4MzksIDB4MDAsIDB4MDYgfSwJLyogODAwICAgMTAwMCAgICAgMS45ICAgKi8KPiAtCXsgMHg2 LCAweDdGLCAweDM5LCAweDAwLCAweDA2IH0sCS8qIDg1MCAgIDEwNTAgICAgIDEuOCAgICovCj4g LQl7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAxMDUwICAxMDUwICAgICAwLjAg ICAqLwo+ICtzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBjbmxf ZGRpX3RyYW5zbGF0aW9uc19oZG1pXzBfOTVWW10gPSB7Cj4gKwkJCQkJCQkvKiBOVCBtViBUcmFu cyBtViBkYiAgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4NUMsIDB4M0YsIDB4MDAsIDB4MDAg fSB9LAkvKiA0MDAgICA0MDAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweEIsIDB4Njks IDB4MzcsIDB4MDAsIDB4MDggfSB9LAkvKiA0MDAgICA2MDAgICAgICAzLjUgICAqLwo+ICsJeyAu Y25sID0geyAweDUsIDB4NzYsIDB4MzEsIDB4MDAsIDB4MEUgfSB9LAkvKiA0MDAgICA4MDAgICAg ICA2LjAgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4NUUsIDB4M0YsIDB4MDAsIDB4MDAgfSB9 LAkvKiA0NTAgICA0NTAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweEIsIDB4NjksIDB4 M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA2MDAgICA2MDAgICAgICAwLjAgICAqLwo+ICsJeyAuY25s ID0geyAweEIsIDB4NzksIDB4MzUsIDB4MDAsIDB4MEEgfSB9LAkvKiA2MDAgICA4NTAgICAgICAz LjAgICAqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0QsIDB4MzIsIDB4MDAsIDB4MEQgfSB9LAkv KiA2MDAgICAxMDAwICAgICA0LjQgICAqLwo+ICsJeyAuY25sID0geyAweDUsIDB4NzYsIDB4M0Ys IDB4MDAsIDB4MDAgfSB9LAkvKiA4MDAgICA4MDAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0g eyAweDYsIDB4N0QsIDB4MzksIDB4MDAsIDB4MDYgfSB9LAkvKiA4MDAgICAxMDAwICAgICAxLjkg ICAqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MzksIDB4MDAsIDB4MDYgfSB9LAkvKiA4 NTAgICAxMDUwICAgICAxLjggICAqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0YsIDB4M0YsIDB4 MDAsIDB4MDAgfSB9LAkvKiAxMDUwICAxMDUwICAgICAwLjAgICAqLwo+ICB9Owo+ICAKPiAgLyog Vm9sdGFnZSBTd2luZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8gMC45NVYgZm9yIGVEUCAqLwo+IC1z dGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIGNubF9kZGlfdHJhbnNsYXRpb25z X2VkcF8wXzk1VltdID0gewo+IC0JCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwo+IC0J eyAweEEsIDB4NjEsIDB4M0EsIDB4MDAsIDB4MDUgfSwJLyogMzg0ICAgNTAwICAgICAgMi4zICAg Ki8KPiAtCXsgMHgwLCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDE1MyAgIDIwMCAgICAg IDIuMyAgICovCj4gLQl7IDB4OCwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAxOTIgICAy NTAgICAgICAyLjMgICAqLwo+IC0JeyAweDEsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSwJLyog MjMwICAgMzAwICAgICAgMi4zICAgKi8KPiAtCXsgMHg5LCAweDdGLCAweDM4LCAweDAwLCAweDA3 IH0sCS8qIDI2OSAgIDM1MCAgICAgIDIuMyAgICovCj4gLQl7IDB4QSwgMHg2MSwgMHgzQywgMHgw MCwgMHgwMyB9LAkvKiA0NDYgICA1MDAgICAgICAxLjAgICAqLwo+IC0JeyAweEIsIDB4NjgsIDB4 MzksIDB4MDAsIDB4MDYgfSwJLyogNDYwICAgNjAwICAgICAgMi4zICAgKi8KPiAtCXsgMHhDLCAw eDZFLCAweDM5LCAweDAwLCAweDA2IH0sCS8qIDUzNyAgIDcwMCAgICAgIDIuMyAgICovCj4gLQl7 IDB4NCwgMHg3RiwgMHgzQSwgMHgwMCwgMHgwNSB9LAkvKiA0NjAgICA2MDAgICAgICAyLjMgICAq Lwo+IC0JeyAweDIsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNDAwICAgNDAwICAgICAg MC4wICAgKi8KPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkg Y25sX2RkaV90cmFuc2xhdGlvbnNfZWRwXzBfOTVWW10gPSB7Cj4gKwkJCQkJCQkvKiBOVCBtViBU cmFucyBtViBkYiAgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4NjEsIDB4M0EsIDB4MDAsIDB4 MDUgfSB9LAkvKiAzODQgICA1MDAgICAgICAyLjMgICAqLwo+ICsJeyAuY25sID0geyAweDAsIDB4 N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAxNTMgICAyMDAgICAgICAyLjMgICAqLwo+ICsJ eyAuY25sID0geyAweDgsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAxOTIgICAyNTAg ICAgICAyLjMgICAqLwo+ICsJeyAuY25sID0geyAweDEsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcg fSB9LAkvKiAyMzAgICAzMDAgICAgICAyLjMgICAqLwo+ICsJeyAuY25sID0geyAweDksIDB4N0Ys IDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAyNjkgICAzNTAgICAgICAyLjMgICAqLwo+ICsJeyAu Y25sID0geyAweEEsIDB4NjEsIDB4M0MsIDB4MDAsIDB4MDMgfSB9LAkvKiA0NDYgICA1MDAgICAg ICAxLjAgICAqLwo+ICsJeyAuY25sID0geyAweEIsIDB4NjgsIDB4MzksIDB4MDAsIDB4MDYgfSB9 LAkvKiA0NjAgICA2MDAgICAgICAyLjMgICAqLwo+ICsJeyAuY25sID0geyAweEMsIDB4NkUsIDB4 MzksIDB4MDAsIDB4MDYgfSB9LAkvKiA1MzcgICA3MDAgICAgICAyLjMgICAqLwo+ICsJeyAuY25s ID0geyAweDQsIDB4N0YsIDB4M0EsIDB4MDAsIDB4MDUgfSB9LAkvKiA0NjAgICA2MDAgICAgICAy LjMgICAqLwo+ICsJeyAuY25sID0geyAweDIsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkv KiA0MDAgICA0MDAgICAgICAwLjAgICAqLwo+ICB9Owo+ICAKPiAgLyogVm9sdGFnZSBTd2luZyBQ cm9ncmFtbWluZyBmb3IgVmNjSU8gMS4wNVYgZm9yIERQICovCj4gLXN0YXRpYyBjb25zdCBzdHJ1 Y3QgY25sX2RkaV9idWZfdHJhbnMgY25sX2RkaV90cmFuc2xhdGlvbnNfZHBfMV8wNVZbXSA9IHsK PiAtCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KPiAtCXsgMHhBLCAweDU4LCAweDNG LCAweDAwLCAweDAwIH0sCS8qIDQwMCAgIDQwMCAgICAgIDAuMCAgICovCj4gLQl7IDB4QiwgMHg2 NCwgMHgzNywgMHgwMCwgMHgwOCB9LAkvKiA0MDAgICA2MDAgICAgICAzLjUgICAqLwo+IC0JeyAw eDUsIDB4NzAsIDB4MzEsIDB4MDAsIDB4MEUgfSwJLyogNDAwICAgODAwICAgICAgNi4wICAgKi8K PiAtCXsgMHg2LCAweDdGLCAweDJDLCAweDAwLCAweDEzIH0sCS8qIDQwMCAgIDEwNTAgICAgIDgu NCAgICovCj4gLQl7IDB4QiwgMHg2NCwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA2MDAgICA2MDAg ICAgICAwLjAgICAqLwo+IC0JeyAweDUsIDB4NzMsIDB4MzUsIDB4MDAsIDB4MEEgfSwJLyogNjAw ICAgODUwICAgICAgMy4wICAgKi8KPiAtCXsgMHg2LCAweDdGLCAweDMwLCAweDAwLCAweDBGIH0s CS8qIDU1MCAgIDEwNTAgICAgIDUuNiAgICovCj4gLQl7IDB4NSwgMHg3NiwgMHgzRSwgMHgwMCwg MHgwMSB9LAkvKiA4NTAgICA5MDAgICAgICAwLjUgICAqLwo+IC0JeyAweDYsIDB4N0YsIDB4MzYs IDB4MDAsIDB4MDkgfSwJLyogNzUwICAgMTA1MCAgICAgMi45ICAgKi8KPiAtCXsgMHg2LCAweDdG LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDEwNTAgIDEwNTAgICAgIDAuMCAgICovCj4gK3N0YXRp YyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGNubF9kZGlfdHJhbnNsYXRp b25zX2RwXzFfMDVWW10gPSB7Cj4gKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwo+ ICsJeyAuY25sID0geyAweEEsIDB4NTgsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA0MDAgICA0 MDAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweEIsIDB4NjQsIDB4MzcsIDB4MDAsIDB4 MDggfSB9LAkvKiA0MDAgICA2MDAgICAgICAzLjUgICAqLwo+ICsJeyAuY25sID0geyAweDUsIDB4 NzAsIDB4MzEsIDB4MDAsIDB4MEUgfSB9LAkvKiA0MDAgICA4MDAgICAgICA2LjAgICAqLwo+ICsJ eyAuY25sID0geyAweDYsIDB4N0YsIDB4MkMsIDB4MDAsIDB4MTMgfSB9LAkvKiA0MDAgICAxMDUw ICAgICA4LjQgICAqLwo+ICsJeyAuY25sID0geyAweEIsIDB4NjQsIDB4M0YsIDB4MDAsIDB4MDAg fSB9LAkvKiA2MDAgICA2MDAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweDUsIDB4NzMs IDB4MzUsIDB4MDAsIDB4MEEgfSB9LAkvKiA2MDAgICA4NTAgICAgICAzLjAgICAqLwo+ICsJeyAu Y25sID0geyAweDYsIDB4N0YsIDB4MzAsIDB4MDAsIDB4MEYgfSB9LAkvKiA1NTAgICAxMDUwICAg ICA1LjYgICAqLwo+ICsJeyAuY25sID0geyAweDUsIDB4NzYsIDB4M0UsIDB4MDAsIDB4MDEgfSB9 LAkvKiA4NTAgICA5MDAgICAgICAwLjUgICAqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0YsIDB4 MzYsIDB4MDAsIDB4MDkgfSB9LAkvKiA3NTAgICAxMDUwICAgICAyLjkgICAqLwo+ICsJeyAuY25s ID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAxMDUwICAxMDUwICAgICAw LjAgICAqLwo+ICB9Owo+ICAKPiAgLyogVm9sdGFnZSBTd2luZyBQcm9ncmFtbWluZyBmb3IgVmNj SU8gMS4wNVYgZm9yIEhETUkgKi8KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90 cmFucyBjbmxfZGRpX3RyYW5zbGF0aW9uc19oZG1pXzFfMDVWW10gPSB7Cj4gLQkJCQkJCS8qIE5U IG1WIFRyYW5zIG1WIGRiICAgICovCj4gLQl7IDB4QSwgMHg1OCwgMHgzRiwgMHgwMCwgMHgwMCB9 LAkvKiA0MDAgICA0MDAgICAgICAwLjAgICAqLwo+IC0JeyAweEIsIDB4NjQsIDB4MzcsIDB4MDAs IDB4MDggfSwJLyogNDAwICAgNjAwICAgICAgMy41ICAgKi8KPiAtCXsgMHg1LCAweDcwLCAweDMx LCAweDAwLCAweDBFIH0sCS8qIDQwMCAgIDgwMCAgICAgIDYuMCAgICovCj4gLQl7IDB4QSwgMHg1 QiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA0NTAgICA0NTAgICAgICAwLjAgICAqLwo+IC0JeyAw eEIsIDB4NjQsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNjAwICAgNjAwICAgICAgMC4wICAgKi8K PiAtCXsgMHg1LCAweDczLCAweDM1LCAweDAwLCAweDBBIH0sCS8qIDYwMCAgIDg1MCAgICAgIDMu MCAgICovCj4gLQl7IDB4NiwgMHg3QywgMHgzMiwgMHgwMCwgMHgwRCB9LAkvKiA2MDAgICAxMDAw ICAgICA0LjQgICAqLwo+IC0JeyAweDUsIDB4NzAsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogODAw ICAgODAwICAgICAgMC4wICAgKi8KPiAtCXsgMHg2LCAweDdDLCAweDM5LCAweDAwLCAweDA2IH0s CS8qIDgwMCAgIDEwMDAgICAgIDEuOSAgICovCj4gLQl7IDB4NiwgMHg3RiwgMHgzOSwgMHgwMCwg MHgwNiB9LAkvKiA4NTAgICAxMDUwICAgICAxLjggICAqLwo+IC0JeyAweDYsIDB4N0YsIDB4M0Ys IDB4MDAsIDB4MDAgfSwJLyogMTA1MCAgMTA1MCAgICAgMC4wICAgKi8KPiArc3RhdGljIGNvbnN0 IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNfaGRt aV8xXzA1VltdID0gewo+ICsJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KPiArCXsg LmNubCA9IHsgMHhBLCAweDU4LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNDAwICAgNDAwICAg ICAgMC4wICAgKi8KPiArCXsgLmNubCA9IHsgMHhCLCAweDY0LCAweDM3LCAweDAwLCAweDA4IH0g fSwJLyogNDAwICAgNjAwICAgICAgMy41ICAgKi8KPiArCXsgLmNubCA9IHsgMHg1LCAweDcwLCAw eDMxLCAweDAwLCAweDBFIH0gfSwJLyogNDAwICAgODAwICAgICAgNi4wICAgKi8KPiArCXsgLmNu bCA9IHsgMHhBLCAweDVCLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNDUwICAgNDUwICAgICAg MC4wICAgKi8KPiArCXsgLmNubCA9IHsgMHhCLCAweDY0LCAweDNGLCAweDAwLCAweDAwIH0gfSwJ LyogNjAwICAgNjAwICAgICAgMC4wICAgKi8KPiArCXsgLmNubCA9IHsgMHg1LCAweDczLCAweDM1 LCAweDAwLCAweDBBIH0gfSwJLyogNjAwICAgODUwICAgICAgMy4wICAgKi8KPiArCXsgLmNubCA9 IHsgMHg2LCAweDdDLCAweDMyLCAweDAwLCAweDBEIH0gfSwJLyogNjAwICAgMTAwMCAgICAgNC40 ICAgKi8KPiArCXsgLmNubCA9IHsgMHg1LCAweDcwLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyog ODAwICAgODAwICAgICAgMC4wICAgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdDLCAweDM5LCAw eDAwLCAweDA2IH0gfSwJLyogODAwICAgMTAwMCAgICAgMS45ICAgKi8KPiArCXsgLmNubCA9IHsg MHg2LCAweDdGLCAweDM5LCAweDAwLCAweDA2IH0gfSwJLyogODUwICAgMTA1MCAgICAgMS44ICAg Ki8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMTA1 MCAgMTA1MCAgICAgMC4wICAgKi8KPiAgfTsKPiAgCj4gIC8qIFZvbHRhZ2UgU3dpbmcgUHJvZ3Jh bW1pbmcgZm9yIFZjY0lPIDEuMDVWIGZvciBlRFAgKi8KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBj bmxfZGRpX2J1Zl90cmFucyBjbmxfZGRpX3RyYW5zbGF0aW9uc19lZHBfMV8wNVZbXSA9IHsKPiAt CQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KPiAtCXsgMHhBLCAweDVFLCAweDNBLCAw eDAwLCAweDA1IH0sCS8qIDM4NCAgIDUwMCAgICAgIDIuMyAgICovCj4gLQl7IDB4MCwgMHg3Riwg MHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAxNTMgICAyMDAgICAgICAyLjMgICAqLwo+IC0JeyAweDgs IDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSwJLyogMTkyICAgMjUwICAgICAgMi4zICAgKi8KPiAt CXsgMHgxLCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDIzMCAgIDMwMCAgICAgIDIuMyAg ICovCj4gLQl7IDB4OSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAyNjkgICAzNTAgICAg ICAyLjMgICAqLwo+IC0JeyAweEEsIDB4NUUsIDB4M0MsIDB4MDAsIDB4MDMgfSwJLyogNDQ2ICAg NTAwICAgICAgMS4wICAgKi8KPiAtCXsgMHhCLCAweDY0LCAweDM5LCAweDAwLCAweDA2IH0sCS8q IDQ2MCAgIDYwMCAgICAgIDIuMyAgICovCj4gLQl7IDB4RSwgMHg2QSwgMHgzOSwgMHgwMCwgMHgw NiB9LAkvKiA1MzcgICA3MDAgICAgICAyLjMgICAqLwo+IC0JeyAweDIsIDB4N0YsIDB4M0YsIDB4 MDAsIDB4MDAgfSwJLyogNDAwICAgNDAwICAgICAgMC4wICAgKi8KPiArc3RhdGljIGNvbnN0IHVu aW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgY25sX2RkaV90cmFuc2xhdGlvbnNfZWRwXzFf MDVWW10gPSB7Cj4gKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwo+ICsJeyAuY25s ID0geyAweEEsIDB4NUUsIDB4M0EsIDB4MDAsIDB4MDUgfSB9LAkvKiAzODQgICA1MDAgICAgICAy LjMgICAqLwo+ICsJeyAuY25sID0geyAweDAsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkv KiAxNTMgICAyMDAgICAgICAyLjMgICAqLwo+ICsJeyAuY25sID0geyAweDgsIDB4N0YsIDB4Mzgs IDB4MDAsIDB4MDcgfSB9LAkvKiAxOTIgICAyNTAgICAgICAyLjMgICAqLwo+ICsJeyAuY25sID0g eyAweDEsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAyMzAgICAzMDAgICAgICAyLjMg ICAqLwo+ICsJeyAuY25sID0geyAweDksIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAy NjkgICAzNTAgICAgICAyLjMgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4NUUsIDB4M0MsIDB4 MDAsIDB4MDMgfSB9LAkvKiA0NDYgICA1MDAgICAgICAxLjAgICAqLwo+ICsJeyAuY25sID0geyAw eEIsIDB4NjQsIDB4MzksIDB4MDAsIDB4MDYgfSB9LAkvKiA0NjAgICA2MDAgICAgICAyLjMgICAq Lwo+ICsJeyAuY25sID0geyAweEUsIDB4NkEsIDB4MzksIDB4MDAsIDB4MDYgfSB9LAkvKiA1Mzcg ICA3MDAgICAgICAyLjMgICAqLwo+ICsJeyAuY25sID0geyAweDIsIDB4N0YsIDB4M0YsIDB4MDAs IDB4MDAgfSB9LAkvKiA0MDAgICA0MDAgICAgICAwLjAgICAqLwo+ICB9Owo+ICAKPiAgLyogaWNs X2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zICovCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25s X2RkaV9idWZfdHJhbnMgaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjJbXSA9 IHsKPiAtCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KPiAtCXsgMHhBLCAweDM1LCAw eDNGLCAweDAwLCAweDAwIH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCj4gLQl7IDB4QSwg MHg0RiwgMHgzNywgMHgwMCwgMHgwOCB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLwo+IC0J eyAweEMsIDB4NzEsIDB4MkYsIDB4MDAsIDB4MTAgfSwJLyogMzUwICAgNzAwICAgICAgNi4wICAg Ki8KPiAtCXsgMHg2LCAweDdGLCAweDJCLCAweDAwLCAweDE0IH0sCS8qIDM1MCAgIDkwMCAgICAg IDguMiAgICovCj4gLQl7IDB4QSwgMHg0QywgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA1MDAgICA1 MDAgICAgICAwLjAgICAqLwo+IC0JeyAweEMsIDB4NzMsIDB4MzQsIDB4MDAsIDB4MEIgfSwJLyog NTAwICAgNzAwICAgICAgMi45ICAgKi8KPiAtCXsgMHg2LCAweDdGLCAweDJGLCAweDAwLCAweDEw IH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCj4gLQl7IDB4QywgMHg2QywgMHgzQywgMHgw MCwgMHgwMyB9LAkvKiA2NTAgICA3MDAgICAgICAwLjYgICAqLwo+IC0JeyAweDYsIDB4N0YsIDB4 MzUsIDB4MDAsIDB4MEEgfSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KPiAtCXsgMHg2LCAw eDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICovCj4gLX07 Cj4gLQo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIGljbF9jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMltdID0gewo+IC0JCQkJCQkvKiBOVCBtViBUcmFu cyBtViBkYiAgICAqLwo+IC0JeyAweDAsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMjAw ICAgMjAwICAgICAgMC4wICAgKi8KPiAtCXsgMHg4LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0s CS8qIDIwMCAgIDI1MCAgICAgIDEuOSAgICovCj4gLQl7IDB4MSwgMHg3RiwgMHgzMywgMHgwMCwg MHgwQyB9LAkvKiAyMDAgICAzMDAgICAgICAzLjUgICAqLwo+IC0JeyAweDksIDB4N0YsIDB4MzEs IDB4MDAsIDB4MEUgfSwJLyogMjAwICAgMzUwICAgICAgNC45ICAgKi8KPiAtCXsgMHg4LCAweDdG LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDI1MCAgIDI1MCAgICAgIDAuMCAgICovCj4gLQl7IDB4 MSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAyNTAgICAzMDAgICAgICAxLjYgICAqLwo+ IC0JeyAweDksIDB4N0YsIDB4MzUsIDB4MDAsIDB4MEEgfSwJLyogMjUwICAgMzUwICAgICAgMi45 ICAgKi8KPiAtCXsgMHgxLCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDMwMCAgIDMwMCAg ICAgIDAuMCAgICovCj4gLQl7IDB4OSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAzMDAg ICAzNTAgICAgICAxLjMgICAqLwo+IC0JeyAweDksIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwJ LyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KPiAtfTsKPiAtCj4gLXN0YXRpYyBjb25zdCBzdHJ1 Y3QgY25sX2RkaV9idWZfdHJhbnMgaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9o YnIzW10gPSB7Cj4gLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCj4gLQl7IDB4QSwg MHgzNSwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLwo+IC0J eyAweEEsIDB4NEYsIDB4MzcsIDB4MDAsIDB4MDggfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAg Ki8KPiAtCXsgMHhDLCAweDcxLCAweDJGLCAweDAwLCAweDEwIH0sCS8qIDM1MCAgIDcwMCAgICAg IDYuMCAgICovCj4gLQl7IDB4NiwgMHg3RiwgMHgyQiwgMHgwMCwgMHgxNCB9LAkvKiAzNTAgICA5 MDAgICAgICA4LjIgICAqLwo+IC0JeyAweEEsIDB4NEMsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyog NTAwICAgNTAwICAgICAgMC4wICAgKi8KPiAtCXsgMHhDLCAweDczLCAweDM0LCAweDAwLCAweDBC IH0sCS8qIDUwMCAgIDcwMCAgICAgIDIuOSAgICovCj4gLQl7IDB4NiwgMHg3RiwgMHgyRiwgMHgw MCwgMHgxMCB9LAkvKiA1MDAgICA5MDAgICAgICA1LjEgICAqLwo+IC0JeyAweEMsIDB4NkMsIDB4 M0MsIDB4MDAsIDB4MDMgfSwJLyogNjUwICAgNzAwICAgICAgMC42ICAgKi8KPiAtCXsgMHg2LCAw eDdGLCAweDM1LCAweDAwLCAweDBBIH0sCS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCj4gLQl7 IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAq Lwo+IC19Owo+IC0KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBpY2xf Y29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfaGRtaVtdID0gewo+IC0JCQkJCQkvKiBOVCBtViBU cmFucyBtViBkYiAgICAqLwo+IC0JeyAweEEsIDB4NjAsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyog NDUwICAgNDUwICAgICAgMC4wICAgKi8KPiAtCXsgMHhCLCAweDczLCAweDM2LCAweDAwLCAweDA5 IH0sCS8qIDQ1MCAgIDY1MCAgICAgIDMuMiAgICovCj4gLQl7IDB4NiwgMHg3RiwgMHgzMSwgMHgw MCwgMHgwRSB9LAkvKiA0NTAgICA4NTAgICAgICA1LjUgICAqLwo+IC0JeyAweEIsIDB4NzMsIDB4 M0YsIDB4MDAsIDB4MDAgfSwJLyogNjUwICAgNjUwICAgICAgMC4wICAgQUxTICovCj4gLQl7IDB4 NiwgMHg3RiwgMHgzNywgMHgwMCwgMHgwOCB9LAkvKiA2NTAgICA4NTAgICAgICAyLjMgICAqLwo+ IC0JeyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogODUwICAgODUwICAgICAgMC4w ICAgKi8KPiAtCXsgMHg2LCAweDdGLCAweDM1LCAweDAwLCAweDBBIH0sCS8qIDYwMCAgIDg1MCAg ICAgIDMuMCAgICovCj4gLX07Cj4gLQo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVm X3RyYW5zIGVobF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcFtdID0gewo+IC0JCQkJCQkv KiBOVCBtViBUcmFucyBtViBkYiAgICAqLwo+IC0JeyAweEEsIDB4MzMsIDB4M0YsIDB4MDAsIDB4 MDAgfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KPiAtCXsgMHhBLCAweDQ3LCAweDM2LCAw eDAwLCAweDA5IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCj4gLQl7IDB4QywgMHg2NCwg MHgzNCwgMHgwMCwgMHgwQiB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLwo+IC0JeyAweDYs IDB4N0YsIDB4MzAsIDB4MDAsIDB4MEYgfSwJLyogMzUwICAgOTAwICAgICAgOC4yICAgKi8KPiAt CXsgMHhBLCAweDQ2LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDUwMCAgIDUwMCAgICAgIDAuMCAg ICovCj4gLQl7IDB4QywgMHg2NCwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiA1MDAgICA3MDAgICAg ICAyLjkgICAqLwo+IC0JeyAweDYsIDB4N0YsIDB4MzIsIDB4MDAsIDB4MEQgfSwJLyogNTAwICAg OTAwICAgICAgNS4xICAgKi8KPiAtCXsgMHhDLCAweDYxLCAweDNGLCAweDAwLCAweDAwIH0sCS8q IDY1MCAgIDcwMCAgICAgIDAuNiAgICovCj4gLQl7IDB4NiwgMHg3RiwgMHgzOCwgMHgwMCwgMHgw NyB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAqLwo+IC0JeyAweDYsIDB4N0YsIDB4M0YsIDB4 MDAsIDB4MDAgfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KPiAtfTsKPiAtCj4gLXN0YXRp YyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMganNsX2NvbWJvX3BoeV9kZGlfdHJhbnNs YXRpb25zX2VkcF9oYnJbXSA9IHsKPiAtCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8K PiAtCXsgMHg4LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sICAgICAgICAvKiAyMDAgICAyMDAg ICAgICAwLjAgICAqLwo+IC0JeyAweDgsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSwgICAgICAg IC8qIDIwMCAgIDI1MCAgICAgIDEuOSAgICovCj4gLQl7IDB4MSwgMHg3RiwgMHgzMywgMHgwMCwg MHgwQyB9LCAgICAgICAgLyogMjAwICAgMzAwICAgICAgMy41ICAgKi8KPiAtCXsgMHhBLCAweDM1 LCAweDM2LCAweDAwLCAweDA5IH0sICAgICAgICAvKiAyMDAgICAzNTAgICAgICA0LjkgICAqLwo+ IC0JeyAweDgsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwgICAgICAgIC8qIDI1MCAgIDI1MCAg ICAgIDAuMCAgICovCj4gLQl7IDB4MSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LCAgICAgICAg LyogMjUwICAgMzAwICAgICAgMS42ICAgKi8KPiAtCXsgMHhBLCAweDM1LCAweDM1LCAweDAwLCAw eDBBIH0sICAgICAgICAvKiAyNTAgICAzNTAgICAgICAyLjkgICAqLwo+IC0JeyAweDEsIDB4N0Ys IDB4M0YsIDB4MDAsIDB4MDAgfSwgICAgICAgIC8qIDMwMCAgIDMwMCAgICAgIDAuMCAgICovCj4g LQl7IDB4QSwgMHgzNSwgMHgzOCwgMHgwMCwgMHgwNyB9LCAgICAgICAgLyogMzAwICAgMzUwICAg ICAgMS4zICAgKi8KPiAtCXsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0sICAgICAgICAv KiAzNTAgICAzNTAgICAgICAwLjAgICAqLwo+IC19Owo+IC0KPiAtc3RhdGljIGNvbnN0IHN0cnVj dCBjbmxfZGRpX2J1Zl90cmFucyBqc2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hi cjJbXSA9IHsKPiAtCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KPiAtCXsgMHg4LCAw eDdGLCAweDNGLCAweDAwLCAweDAwIH0sICAgICAgICAvKiAyMDAgICAyMDAgICAgICAwLjAgICAq Lwo+IC0JeyAweDgsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwgICAgICAgIC8qIDIwMCAgIDI1 MCAgICAgIDEuOSAgICovCj4gLQl7IDB4MSwgMHg3RiwgMHgzRCwgMHgwMCwgMHgwMiB9LCAgICAg ICAgLyogMjAwICAgMzAwICAgICAgMy41ICAgKi8KPiAtCXsgMHhBLCAweDM1LCAweDM4LCAweDAw LCAweDA3IH0sICAgICAgICAvKiAyMDAgICAzNTAgICAgICA0LjkgICAqLwo+IC0JeyAweDgsIDB4 N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwgICAgICAgIC8qIDI1MCAgIDI1MCAgICAgIDAuMCAgICov Cj4gLQl7IDB4MSwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LCAgICAgICAgLyogMjUwICAgMzAw ICAgICAgMS42ICAgKi8KPiAtCXsgMHhBLCAweDM1LCAweDNBLCAweDAwLCAweDA1IH0sICAgICAg ICAvKiAyNTAgICAzNTAgICAgICAyLjkgICAqLwo+IC0JeyAweDEsIDB4N0YsIDB4M0YsIDB4MDAs IDB4MDAgfSwgICAgICAgIC8qIDMwMCAgIDMwMCAgICAgIDAuMCAgICovCj4gLQl7IDB4QSwgMHgz NSwgMHgzOCwgMHgwMCwgMHgwNyB9LCAgICAgICAgLyogMzAwICAgMzUwICAgICAgMS4zICAgKi8K PiAtCXsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0sICAgICAgICAvKiAzNTAgICAzNTAg ICAgICAwLjAgICAqLwo+IC19Owo+IC0KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1 Zl90cmFucyBkZzFfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfcmJyX2hicltdID0gewo+ IC0JCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwo+IC0JeyAweEEsIDB4MzIsIDB4M0Ys IDB4MDAsIDB4MDAgfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KPiAtCXsgMHhBLCAweDQ4 LCAweDM1LCAweDAwLCAweDBBIH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCj4gLQl7IDB4 QywgMHg2MywgMHgyRiwgMHgwMCwgMHgxMCB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLwo+ IC0JeyAweDYsIDB4N0YsIDB4MkMsIDB4MDAsIDB4MTMgfSwJLyogMzUwICAgOTAwICAgICAgOC4y ICAgKi8KPiAtCXsgMHhBLCAweDQzLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDUwMCAgIDUwMCAg ICAgIDAuMCAgICovCj4gLQl7IDB4QywgMHg2MCwgMHgzNiwgMHgwMCwgMHgwOSB9LAkvKiA1MDAg ICA3MDAgICAgICAyLjkgICAqLwo+IC0JeyAweDYsIDB4N0YsIDB4MzAsIDB4MDAsIDB4MEYgfSwJ LyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KPiAtCXsgMHhDLCAweDYwLCAweDNGLCAweDAwLCAw eDAwIH0sCS8qIDY1MCAgIDcwMCAgICAgIDAuNiAgICovCj4gLQl7IDB4NiwgMHg3RiwgMHgzNywg MHgwMCwgMHgwOCB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAqLwo+IC0JeyAweDYsIDB4N0Ys IDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KPiAtfTsKPiAt Cj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgZGcxX2NvbWJvX3BoeV9k ZGlfdHJhbnNsYXRpb25zX2RwX2hicjJfaGJyM1tdID0gewo+IC0JCQkJCQkvKiBOVCBtViBUcmFu cyBtViBkYiAgICAqLwo+IC0JeyAweEEsIDB4MzIsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMzUw ICAgMzUwICAgICAgMC4wICAgKi8KPiAtCXsgMHhBLCAweDQ4LCAweDM1LCAweDAwLCAweDBBIH0s CS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCj4gLQl7IDB4QywgMHg2MywgMHgyRiwgMHgwMCwg MHgxMCB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLwo+IC0JeyAweDYsIDB4N0YsIDB4MkMs IDB4MDAsIDB4MTMgfSwJLyogMzUwICAgOTAwICAgICAgOC4yICAgKi8KPiAtCXsgMHhBLCAweDQz LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDUwMCAgIDUwMCAgICAgIDAuMCAgICovCj4gLQl7IDB4 QywgMHg2MCwgMHgzNiwgMHgwMCwgMHgwOSB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLwo+ IC0JeyAweDYsIDB4N0YsIDB4MzAsIDB4MDAsIDB4MEYgfSwJLyogNTAwICAgOTAwICAgICAgNS4x ICAgKi8KPiAtCXsgMHhDLCAweDU4LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDY1MCAgIDcwMCAg ICAgIDAuNiAgICovCj4gLQl7IDB4NiwgMHg3RiwgMHgzNSwgMHgwMCwgMHgwQSB9LAkvKiA2MDAg ICA5MDAgICAgICAzLjUgICAqLwo+IC0JeyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwJ LyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KPiAtfTsKPiAtCj4gLXN0YXRpYyBjb25zdCBzdHJ1 Y3QgaWNsX21nX3BoeV9kZGlfYnVmX3RyYW5zIGljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uc19y YnJfaGJyW10gPSB7Cj4gLQkJCQkvKiBWb2x0YWdlIHN3aW5nICBwcmUtZW1waGFzaXMgKi8KPiAt CXsgMHgxOCwgMHgwMCwgMHgwMCB9LAkvKiAwICAgICAgICAgICAgICAwICAgKi8KPiAtCXsgMHgx RCwgMHgwMCwgMHgwNSB9LAkvKiAwICAgICAgICAgICAgICAxICAgKi8KPiAtCXsgMHgyNCwgMHgw MCwgMHgwQyB9LAkvKiAwICAgICAgICAgICAgICAyICAgKi8KPiAtCXsgMHgyQiwgMHgwMCwgMHgx NCB9LAkvKiAwICAgICAgICAgICAgICAzICAgKi8KPiAtCXsgMHgyMSwgMHgwMCwgMHgwMCB9LAkv KiAxICAgICAgICAgICAgICAwICAgKi8KPiAtCXsgMHgyQiwgMHgwMCwgMHgwOCB9LAkvKiAxICAg ICAgICAgICAgICAxICAgKi8KPiAtCXsgMHgzMCwgMHgwMCwgMHgwRiB9LAkvKiAxICAgICAgICAg ICAgICAyICAgKi8KPiAtCXsgMHgzMSwgMHgwMCwgMHgwMyB9LAkvKiAyICAgICAgICAgICAgICAw ICAgKi8KPiAtCXsgMHgzNCwgMHgwMCwgMHgwQiB9LAkvKiAyICAgICAgICAgICAgICAxICAgKi8K PiAtCXsgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAzICAgICAgICAgICAgICAwICAgKi8KPiAtfTsK PiAtCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaWNsX21nX3BoeV9kZGlfYnVmX3RyYW5zIGljbF9t Z19waHlfZGRpX3RyYW5zbGF0aW9uc19oYnIyX2hicjNbXSA9IHsKPiAtCQkJCS8qIFZvbHRhZ2Ug c3dpbmcgIHByZS1lbXBoYXNpcyAqLwo+IC0JeyAweDE4LCAweDAwLCAweDAwIH0sCS8qIDAgICAg ICAgICAgICAgIDAgICAqLwo+IC0JeyAweDFELCAweDAwLCAweDA1IH0sCS8qIDAgICAgICAgICAg ICAgIDEgICAqLwo+IC0JeyAweDI0LCAweDAwLCAweDBDIH0sCS8qIDAgICAgICAgICAgICAgIDIg ICAqLwo+IC0JeyAweDJCLCAweDAwLCAweDE0IH0sCS8qIDAgICAgICAgICAgICAgIDMgICAqLwo+ IC0JeyAweDI2LCAweDAwLCAweDAwIH0sCS8qIDEgICAgICAgICAgICAgIDAgICAqLwo+IC0JeyAw eDJDLCAweDAwLCAweDA3IH0sCS8qIDEgICAgICAgICAgICAgIDEgICAqLwo+IC0JeyAweDMzLCAw eDAwLCAweDBDIH0sCS8qIDEgICAgICAgICAgICAgIDIgICAqLwo+IC0JeyAweDJFLCAweDAwLCAw eDAwIH0sCS8qIDIgICAgICAgICAgICAgIDAgICAqLwo+IC0JeyAweDM2LCAweDAwLCAweDA5IH0s CS8qIDIgICAgICAgICAgICAgIDEgICAqLwo+IC0JeyAweDNGLCAweDAwLCAweDAwIH0sCS8qIDMg ICAgICAgICAgICAgIDAgICAqLwo+IC19Owo+IC0KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBpY2xf bWdfcGh5X2RkaV9idWZfdHJhbnMgaWNsX21nX3BoeV9kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9 IHsKPiAtCQkJCS8qIEhETUkgUHJlc2V0CVZTCVByZS1lbXBoICovCj4gLQl7IDB4MUEsIDB4MCwg MHgwIH0sCS8qIDEJCTQwMG1WCTBkQiAqLwo+IC0JeyAweDIwLCAweDAsIDB4MCB9LAkvKiAyCQk1 MDBtVgkwZEIgKi8KPiAtCXsgMHgyOSwgMHgwLCAweDAgfSwJLyogMwkJNjUwbVYJMGRCICovCj4g LQl7IDB4MzIsIDB4MCwgMHgwIH0sCS8qIDQJCTgwMG1WCTBkQiAqLwo+IC0JeyAweDNGLCAweDAs IDB4MCB9LAkvKiA1CQkxMDAwbVYJMGRCICovCj4gLQl7IDB4M0EsIDB4MCwgMHg1IH0sCS8qIDYJ CUZ1bGwJLTEuNSBkQiAqLwo+IC0JeyAweDM5LCAweDAsIDB4NiB9LAkvKiA3CQlGdWxsCS0xLjgg ZEIgKi8KPiAtCXsgMHgzOCwgMHgwLCAweDcgfSwJLyogOAkJRnVsbAktMiBkQiAqLwo+IC0JeyAw eDM3LCAweDAsIDB4OCB9LAkvKiA5CQlGdWxsCS0yLjUgZEIgKi8KPiAtCXsgMHgzNiwgMHgwLCAw eDkgfSwJLyogMTAJCUZ1bGwJLTMgZEIgKi8KPiAtfTsKPiAtCj4gLXN0YXRpYyBjb25zdCBzdHJ1 Y3QgdGdsX2RrbF9waHlfZGRpX2J1Zl90cmFucyB0Z2xfZGtsX3BoeV9kcF9kZGlfdHJhbnNbXSA9 IHsKPiAtCQkJCS8qIFZTCXByZS1lbXAJTm9uLXRyYW5zIG1WCVByZS1lbXBoIGRCICovCj4gLQl7 IDB4NywgMHgwLCAweDAwIH0sCS8qIDAJMAk0MDBtVgkJMCBkQiAqLwo+IC0JeyAweDUsIDB4MCwg MHgwNSB9LAkvKiAwCTEJNDAwbVYJCTMuNSBkQiAqLwo+IC0JeyAweDIsIDB4MCwgMHgwQiB9LAkv KiAwCTIJNDAwbVYJCTYgZEIgKi8KPiAtCXsgMHgwLCAweDAsIDB4MTggfSwJLyogMAkzCTQwMG1W CQk5LjUgZEIgKi8KPiAtCXsgMHg1LCAweDAsIDB4MDAgfSwJLyogMQkwCTYwMG1WCQkwIGRCICov Cj4gLQl7IDB4MiwgMHgwLCAweDA4IH0sCS8qIDEJMQk2MDBtVgkJMy41IGRCICovCj4gLQl7IDB4 MCwgMHgwLCAweDE0IH0sCS8qIDEJMgk2MDBtVgkJNiBkQiAqLwo+IC0JeyAweDIsIDB4MCwgMHgw MCB9LAkvKiAyCTAJODAwbVYJCTAgZEIgKi8KPiAtCXsgMHgwLCAweDAsIDB4MEIgfSwJLyogMgkx CTgwMG1WCQkzLjUgZEIgKi8KPiAtCXsgMHgwLCAweDAsIDB4MDAgfSwJLyogMwkwCTEyMDBtVgkJ MCBkQiBIRE1JIGRlZmF1bHQgKi8KPiAtfTsKPiAtCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgdGds X2RrbF9waHlfZGRpX2J1Zl90cmFucyB0Z2xfZGtsX3BoeV9kcF9kZGlfdHJhbnNfaGJyMltdID0g ewo+IC0JCQkJLyogVlMJcHJlLWVtcAlOb24tdHJhbnMgbVYJUHJlLWVtcGggZEIgKi8KPiAtCXsg MHg3LCAweDAsIDB4MDAgfSwJLyogMAkwCTQwMG1WCQkwIGRCICovCj4gLQl7IDB4NSwgMHgwLCAw eDA1IH0sCS8qIDAJMQk0MDBtVgkJMy41IGRCICovCj4gLQl7IDB4MiwgMHgwLCAweDBCIH0sCS8q IDAJMgk0MDBtVgkJNiBkQiAqLwo+IC0JeyAweDAsIDB4MCwgMHgxOSB9LAkvKiAwCTMJNDAwbVYJ CTkuNSBkQiAqLwo+IC0JeyAweDUsIDB4MCwgMHgwMCB9LAkvKiAxCTAJNjAwbVYJCTAgZEIgKi8K PiAtCXsgMHgyLCAweDAsIDB4MDggfSwJLyogMQkxCTYwMG1WCQkzLjUgZEIgKi8KPiAtCXsgMHgw LCAweDAsIDB4MTQgfSwJLyogMQkyCTYwMG1WCQk2IGRCICovCj4gLQl7IDB4MiwgMHgwLCAweDAw IH0sCS8qIDIJMAk4MDBtVgkJMCBkQiAqLwo+IC0JeyAweDAsIDB4MCwgMHgwQiB9LAkvKiAyCTEJ ODAwbVYJCTMuNSBkQiAqLwo+IC0JeyAweDAsIDB4MCwgMHgwMCB9LAkvKiAzCTAJMTIwMG1WCQkw IGRCIEhETUkgZGVmYXVsdCAqLwo+IC19Owo+IC0KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCB0Z2xf ZGtsX3BoeV9kZGlfYnVmX3RyYW5zIHRnbF9ka2xfcGh5X2hkbWlfZGRpX3RyYW5zW10gPSB7Cj4g LQkJCQkvKiBIRE1JIFByZXNldAlWUwlQcmUtZW1waCAqLwo+IC0JeyAweDcsIDB4MCwgMHgwIH0s CS8qIDEJCTQwMG1WCTBkQiAqLwo+IC0JeyAweDYsIDB4MCwgMHgwIH0sCS8qIDIJCTUwMG1WCTBk QiAqLwo+IC0JeyAweDQsIDB4MCwgMHgwIH0sCS8qIDMJCTY1MG1WCTBkQiAqLwo+IC0JeyAweDIs IDB4MCwgMHgwIH0sCS8qIDQJCTgwMG1WCTBkQiAqLwo+IC0JeyAweDAsIDB4MCwgMHgwIH0sCS8q IDUJCTEwMDBtVgkwZEIgKi8KPiAtCXsgMHgwLCAweDAsIDB4NSB9LAkvKiA2CQlGdWxsCS0xLjUg ZEIgKi8KPiAtCXsgMHgwLCAweDAsIDB4NiB9LAkvKiA3CQlGdWxsCS0xLjggZEIgKi8KPiAtCXsg MHgwLCAweDAsIDB4NyB9LAkvKiA4CQlGdWxsCS0yIGRCICovCj4gLQl7IDB4MCwgMHgwLCAweDgg fSwJLyogOQkJRnVsbAktMi41IGRCICovCj4gLQl7IDB4MCwgMHgwLCAweEEgfSwJLyogMTAJCUZ1 bGwJLTMgZEIgKi8KPiAtfTsKPiAtCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZf dHJhbnMgdGdsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicltdID0gewo+IC0JCQkJ CQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwo+IC0JeyAweEEsIDB4MzIsIDB4M0YsIDB4MDAs IDB4MDAgfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KPiAtCXsgMHhBLCAweDRGLCAweDM3 LCAweDAwLCAweDA4IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCj4gLQl7IDB4QywgMHg3 MSwgMHgyRiwgMHgwMCwgMHgxMCB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLwo+IC0JeyAw eDYsIDB4N0QsIDB4MkIsIDB4MDAsIDB4MTQgfSwJLyogMzUwICAgOTAwICAgICAgOC4yICAgKi8K PiAtCXsgMHhBLCAweDRDLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDUwMCAgIDUwMCAgICAgIDAu MCAgICovCj4gLQl7IDB4QywgMHg3MywgMHgzNCwgMHgwMCwgMHgwQiB9LAkvKiA1MDAgICA3MDAg ICAgICAyLjkgICAqLwo+IC0JeyAweDYsIDB4N0YsIDB4MkYsIDB4MDAsIDB4MTAgfSwJLyogNTAw ICAgOTAwICAgICAgNS4xICAgKi8KPiAtCXsgMHhDLCAweDZDLCAweDNDLCAweDAwLCAweDAzIH0s CS8qIDY1MCAgIDcwMCAgICAgIDAuNiAgICovCj4gLQl7IDB4NiwgMHg3RiwgMHgzNSwgMHgwMCwg MHgwQSB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUgICAqLwo+IC0JeyAweDYsIDB4N0YsIDB4M0Ys IDB4MDAsIDB4MDAgfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KPiAtfTsKPiAtCj4gLXN0 YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgdGdsX2NvbWJvX3BoeV9kZGlfdHJh bnNsYXRpb25zX2RwX2hicjJbXSA9IHsKPiAtCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAg Ki8KPiAtCXsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDM1MCAgIDM1MCAgICAg IDAuMCAgICovCj4gLQl7IDB4QSwgMHg0RiwgMHgzNywgMHgwMCwgMHgwOCB9LAkvKiAzNTAgICA1 MDAgICAgICAzLjEgICAqLwo+IC0JeyAweEMsIDB4NjMsIDB4MkYsIDB4MDAsIDB4MTAgfSwJLyog MzUwICAgNzAwICAgICAgNi4wICAgKi8KPiAtCXsgMHg2LCAweDdGLCAweDJCLCAweDAwLCAweDE0 IH0sCS8qIDM1MCAgIDkwMCAgICAgIDguMiAgICovCj4gLQl7IDB4QSwgMHg0NywgMHgzRiwgMHgw MCwgMHgwMCB9LAkvKiA1MDAgICA1MDAgICAgICAwLjAgICAqLwo+IC0JeyAweEMsIDB4NjMsIDB4 MzQsIDB4MDAsIDB4MEIgfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KPiAtCXsgMHg2LCAw eDdGLCAweDJGLCAweDAwLCAweDEwIH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCj4gLQl7 IDB4QywgMHg2MSwgMHgzQywgMHgwMCwgMHgwMyB9LAkvKiA2NTAgICA3MDAgICAgICAwLjYgICAq Lwo+IC0JeyAweDYsIDB4N0IsIDB4MzUsIDB4MDAsIDB4MEEgfSwJLyogNjAwICAgOTAwICAgICAg My41ICAgKi8KPiAtCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDkwMCAgIDkw MCAgICAgIDAuMCAgICovCj4gLX07Cj4gLQo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlf YnVmX3RyYW5zIHRnbF91eV9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyW10gPSB7 Cj4gLQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCj4gLQl7IDB4QSwgMHgzNSwgMHgz RiwgMHgwMCwgMHgwMCB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLwo+IC0JeyAweEEsIDB4 NEYsIDB4MzYsIDB4MDAsIDB4MDkgfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KPiAtCXsg MHhDLCAweDYwLCAweDMyLCAweDAwLCAweDBEIH0sCS8qIDM1MCAgIDcwMCAgICAgIDYuMCAgICov Cj4gLQl7IDB4QywgMHg3RiwgMHgyRCwgMHgwMCwgMHgxMiB9LAkvKiAzNTAgICA5MDAgICAgICA4 LjIgICAqLwo+IC0JeyAweEMsIDB4NDcsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNTAwICAgNTAw ICAgICAgMC4wICAgKi8KPiAtCXsgMHhDLCAweDZGLCAweDM2LCAweDAwLCAweDA5IH0sCS8qIDUw MCAgIDcwMCAgICAgIDIuOSAgICovCj4gLQl7IDB4NiwgMHg3RCwgMHgzMiwgMHgwMCwgMHgwRCB9 LAkvKiA1MDAgICA5MDAgICAgICA1LjEgICAqLwo+IC0JeyAweDYsIDB4NjAsIDB4M0MsIDB4MDAs IDB4MDMgfSwJLyogNjUwICAgNzAwICAgICAgMC42ICAgKi8KPiAtCXsgMHg2LCAweDdGLCAweDM0 LCAweDAwLCAweDBCIH0sCS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCj4gLQl7IDB4NiwgMHg3 RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA5MDAgICA5MDAgICAgICAwLjAgICAqLwo+ICtzdGF0 aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBpY2xfY29tYm9fcGh5X2Rk aV90cmFuc2xhdGlvbnNfZHBfaGJyMltdID0gewo+ICsJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYg ZGIgICAgKi8KPiArCXsgLmNubCA9IHsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0gfSwJ LyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KPiArCXsgLmNubCA9IHsgMHhBLCAweDRGLCAweDM3 LCAweDAwLCAweDA4IH0gfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAgKi8KPiArCXsgLmNubCA9 IHsgMHhDLCAweDcxLCAweDJGLCAweDAwLCAweDEwIH0gfSwJLyogMzUwICAgNzAwICAgICAgNi4w ICAgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDJCLCAweDAwLCAweDE0IH0gfSwJLyog MzUwICAgOTAwICAgICAgOC4yICAgKi8KPiArCXsgLmNubCA9IHsgMHhBLCAweDRDLCAweDNGLCAw eDAwLCAweDAwIH0gfSwJLyogNTAwICAgNTAwICAgICAgMC4wICAgKi8KPiArCXsgLmNubCA9IHsg MHhDLCAweDczLCAweDM0LCAweDAwLCAweDBCIH0gfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAg Ki8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDJGLCAweDAwLCAweDEwIH0gfSwJLyogNTAw ICAgOTAwICAgICAgNS4xICAgKi8KPiArCXsgLmNubCA9IHsgMHhDLCAweDZDLCAweDNDLCAweDAw LCAweDAzIH0gfSwJLyogNjUwICAgNzAwICAgICAgMC42ICAgKi8KPiArCXsgLmNubCA9IHsgMHg2 LCAweDdGLCAweDM1LCAweDAwLCAweDBBIH0gfSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8K PiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogOTAwICAg OTAwICAgICAgMC4wICAgKi8KPiArfTsKPiArCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9k ZGlfYnVmX3RyYW5zX2VudHJ5IGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJy MltdID0gewo+ICsJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KPiArCXsgLmNubCA9 IHsgMHgwLCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMjAwICAgMjAwICAgICAgMC4w ICAgKi8KPiArCXsgLmNubCA9IHsgMHg4LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0gfSwJLyog MjAwICAgMjUwICAgICAgMS45ICAgKi8KPiArCXsgLmNubCA9IHsgMHgxLCAweDdGLCAweDMzLCAw eDAwLCAweDBDIH0gfSwJLyogMjAwICAgMzAwICAgICAgMy41ICAgKi8KPiArCXsgLmNubCA9IHsg MHg5LCAweDdGLCAweDMxLCAweDAwLCAweDBFIH0gfSwJLyogMjAwICAgMzUwICAgICAgNC45ICAg Ki8KPiArCXsgLmNubCA9IHsgMHg4LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMjUw ICAgMjUwICAgICAgMC4wICAgKi8KPiArCXsgLmNubCA9IHsgMHgxLCAweDdGLCAweDM4LCAweDAw LCAweDA3IH0gfSwJLyogMjUwICAgMzAwICAgICAgMS42ICAgKi8KPiArCXsgLmNubCA9IHsgMHg5 LCAweDdGLCAweDM1LCAweDAwLCAweDBBIH0gfSwJLyogMjUwICAgMzUwICAgICAgMi45ICAgKi8K PiArCXsgLmNubCA9IHsgMHgxLCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMzAwICAg MzAwICAgICAgMC4wICAgKi8KPiArCXsgLmNubCA9IHsgMHg5LCAweDdGLCAweDM4LCAweDAwLCAw eDA3IH0gfSwJLyogMzAwICAgMzUwICAgICAgMS4zICAgKi8KPiArCXsgLmNubCA9IHsgMHg5LCAw eDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KPiAr fTsKPiArCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGlj bF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyM1tdID0gewo+ICsJCQkJCQkJLyog TlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KPiArCXsgLmNubCA9IHsgMHhBLCAweDM1LCAweDNGLCAw eDAwLCAweDAwIH0gfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KPiArCXsgLmNubCA9IHsg MHhBLCAweDRGLCAweDM3LCAweDAwLCAweDA4IH0gfSwJLyogMzUwICAgNTAwICAgICAgMy4xICAg Ki8KPiArCXsgLmNubCA9IHsgMHhDLCAweDcxLCAweDJGLCAweDAwLCAweDEwIH0gfSwJLyogMzUw ICAgNzAwICAgICAgNi4wICAgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDJCLCAweDAw LCAweDE0IH0gfSwJLyogMzUwICAgOTAwICAgICAgOC4yICAgKi8KPiArCXsgLmNubCA9IHsgMHhB LCAweDRDLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNTAwICAgNTAwICAgICAgMC4wICAgKi8K PiArCXsgLmNubCA9IHsgMHhDLCAweDczLCAweDM0LCAweDAwLCAweDBCIH0gfSwJLyogNTAwICAg NzAwICAgICAgMi45ICAgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDJGLCAweDAwLCAw eDEwIH0gfSwJLyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KPiArCXsgLmNubCA9IHsgMHhDLCAw eDZDLCAweDNDLCAweDAwLCAweDAzIH0gfSwJLyogNjUwICAgNzAwICAgICAgMC42ICAgKi8KPiAr CXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDM1LCAweDAwLCAweDBBIH0gfSwJLyogNjAwICAgOTAw ICAgICAgMy41ICAgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAw IH0gfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KPiArfTsKPiArCj4gK3N0YXRpYyBjb25z dCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGljbF9jb21ib19waHlfZGRpX3RyYW5z bGF0aW9uc19oZG1pW10gPSB7Cj4gKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwo+ ICsJeyAuY25sID0geyAweEEsIDB4NjAsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA0NTAgICA0 NTAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweEIsIDB4NzMsIDB4MzYsIDB4MDAsIDB4 MDkgfSB9LAkvKiA0NTAgICA2NTAgICAgICAzLjIgICAqLwo+ICsJeyAuY25sID0geyAweDYsIDB4 N0YsIDB4MzEsIDB4MDAsIDB4MEUgfSB9LAkvKiA0NTAgICA4NTAgICAgICA1LjUgICAqLwo+ICsJ eyAuY25sID0geyAweEIsIDB4NzMsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA2NTAgICA2NTAg ICAgICAwLjAgICBBTFMgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDM3LCAweDAwLCAw eDA4IH0gfSwJLyogNjUwICAgODUwICAgICAgMi4zICAgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAw eDdGLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogODUwICAgODUwICAgICAgMC4wICAgKi8KPiAr CXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDM1LCAweDAwLCAweDBBIH0gfSwJLyogNjAwICAgODUw ICAgICAgMy4wICAgKi8KPiArfTsKPiArCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlf YnVmX3RyYW5zX2VudHJ5IGVobF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcFtdID0gewo+ ICsJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KPiArCXsgLmNubCA9IHsgMHhBLCAw eDMzLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8KPiAr CXsgLmNubCA9IHsgMHhBLCAweDQ3LCAweDM2LCAweDAwLCAweDA5IH0gfSwJLyogMzUwICAgNTAw ICAgICAgMy4xICAgKi8KPiArCXsgLmNubCA9IHsgMHhDLCAweDY0LCAweDM0LCAweDAwLCAweDBC IH0gfSwJLyogMzUwICAgNzAwICAgICAgNi4wICAgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdG LCAweDMwLCAweDAwLCAweDBGIH0gfSwJLyogMzUwICAgOTAwICAgICAgOC4yICAgKi8KPiArCXsg LmNubCA9IHsgMHhBLCAweDQ2LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNTAwICAgNTAwICAg ICAgMC4wICAgKi8KPiArCXsgLmNubCA9IHsgMHhDLCAweDY0LCAweDM4LCAweDAwLCAweDA3IH0g fSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAw eDMyLCAweDAwLCAweDBEIH0gfSwJLyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KPiArCXsgLmNu bCA9IHsgMHhDLCAweDYxLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNjUwICAgNzAwICAgICAg MC42ICAgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0gfSwJ LyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDNG LCAweDAwLCAweDAwIH0gfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KPiArfTsKPiArCj4g K3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IGpzbF9jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyW10gPSB7Cj4gKwkJCQkJCQkvKiBOVCBtViBUcmFu cyBtViBkYiAgICAqLwo+ICsJeyAuY25sID0geyAweDgsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAg fSB9LAkvKiAyMDAgICAyMDAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweDgsIDB4N0Ys IDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAyMDAgICAyNTAgICAgICAxLjkgICAqLwo+ICsJeyAu Y25sID0geyAweDEsIDB4N0YsIDB4MzMsIDB4MDAsIDB4MEMgfSB9LAkvKiAyMDAgICAzMDAgICAg ICAzLjUgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4MzUsIDB4MzYsIDB4MDAsIDB4MDkgfSB9 LAkvKiAyMDAgICAzNTAgICAgICA0LjkgICAqLwo+ICsJeyAuY25sID0geyAweDgsIDB4N0YsIDB4 M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAyNTAgICAyNTAgICAgICAwLjAgICAqLwo+ICsJeyAuY25s ID0geyAweDEsIDB4N0YsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAyNTAgICAzMDAgICAgICAx LjYgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4MzUsIDB4MzUsIDB4MDAsIDB4MEEgfSB9LAkv KiAyNTAgICAzNTAgICAgICAyLjkgICAqLwo+ICsJeyAuY25sID0geyAweDEsIDB4N0YsIDB4M0Ys IDB4MDAsIDB4MDAgfSB9LAkvKiAzMDAgICAzMDAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0g eyAweEEsIDB4MzUsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAzMDAgICAzNTAgICAgICAxLjMg ICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4MzUsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAz NTAgICAzNTAgICAgICAwLjAgICAqLwo+ICt9Owo+ICsKPiArc3RhdGljIGNvbnN0IHVuaW9uIGlu dGVsX2RkaV9idWZfdHJhbnNfZW50cnkganNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2Vk cF9oYnIyW10gPSB7Cj4gKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwo+ICsJeyAu Y25sID0geyAweDgsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAyMDAgICAyMDAgICAg ICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweDgsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9 LAkvKiAyMDAgICAyNTAgICAgICAxLjkgICAqLwo+ICsJeyAuY25sID0geyAweDEsIDB4N0YsIDB4 M0QsIDB4MDAsIDB4MDIgfSB9LAkvKiAyMDAgICAzMDAgICAgICAzLjUgICAqLwo+ICsJeyAuY25s ID0geyAweEEsIDB4MzUsIDB4MzgsIDB4MDAsIDB4MDcgfSB9LAkvKiAyMDAgICAzNTAgICAgICA0 LjkgICAqLwo+ICsJeyAuY25sID0geyAweDgsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkv KiAyNTAgICAyNTAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweDEsIDB4N0YsIDB4M0Ys IDB4MDAsIDB4MDAgfSB9LAkvKiAyNTAgICAzMDAgICAgICAxLjYgICAqLwo+ICsJeyAuY25sID0g eyAweEEsIDB4MzUsIDB4M0EsIDB4MDAsIDB4MDUgfSB9LAkvKiAyNTAgICAzNTAgICAgICAyLjkg ICAqLwo+ICsJeyAuY25sID0geyAweDEsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAz MDAgICAzMDAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4MzUsIDB4MzgsIDB4 MDAsIDB4MDcgfSB9LAkvKiAzMDAgICAzNTAgICAgICAxLjMgICAqLwo+ICsJeyAuY25sID0geyAw eEEsIDB4MzUsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAq Lwo+ICt9Owo+ICsKPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50 cnkgZGcxX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX3Jicl9oYnJbXSA9IHsKPiArCQkJ CQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCj4gKwl7IC5jbmwgPSB7IDB4QSwgMHgzMiwg MHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCj4gKwl7IC5j bmwgPSB7IDB4QSwgMHg0OCwgMHgzNSwgMHgwMCwgMHgwQSB9IH0sCS8qIDM1MCAgIDUwMCAgICAg IDMuMSAgICovCj4gKwl7IC5jbmwgPSB7IDB4QywgMHg2MywgMHgyRiwgMHgwMCwgMHgxMCB9IH0s CS8qIDM1MCAgIDcwMCAgICAgIDYuMCAgICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgy QywgMHgwMCwgMHgxMyB9IH0sCS8qIDM1MCAgIDkwMCAgICAgIDguMiAgICovCj4gKwl7IC5jbmwg PSB7IDB4QSwgMHg0MywgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDUwMCAgIDUwMCAgICAgIDAu MCAgICovCj4gKwl7IC5jbmwgPSB7IDB4QywgMHg2MCwgMHgzNiwgMHgwMCwgMHgwOSB9IH0sCS8q IDUwMCAgIDcwMCAgICAgIDIuOSAgICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzMCwg MHgwMCwgMHgwRiB9IH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCj4gKwl7IC5jbmwgPSB7 IDB4QywgMHg2MCwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDY1MCAgIDcwMCAgICAgIDAuNiAg ICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzNywgMHgwMCwgMHgwOCB9IH0sCS8qIDYw MCAgIDkwMCAgICAgIDMuNSAgICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgw MCwgMHgwMCB9IH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICovCj4gK307Cj4gKwo+ICtzdGF0 aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBkZzFfY29tYm9fcGh5X2Rk aV90cmFuc2xhdGlvbnNfZHBfaGJyMl9oYnIzW10gPSB7Cj4gKwkJCQkJCQkvKiBOVCBtViBUcmFu cyBtViBkYiAgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4MzIsIDB4M0YsIDB4MDAsIDB4MDAg fSB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4NDgs IDB4MzUsIDB4MDAsIDB4MEEgfSB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLwo+ICsJeyAu Y25sID0geyAweEMsIDB4NjMsIDB4MkYsIDB4MDAsIDB4MTAgfSB9LAkvKiAzNTAgICA3MDAgICAg ICA2LjAgICAqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MkMsIDB4MDAsIDB4MTMgfSB9 LAkvKiAzNTAgICA5MDAgICAgICA4LjIgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4NDMsIDB4 M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA1MDAgICA1MDAgICAgICAwLjAgICAqLwo+ICsJeyAuY25s ID0geyAweEMsIDB4NjAsIDB4MzYsIDB4MDAsIDB4MDkgfSB9LAkvKiA1MDAgICA3MDAgICAgICAy LjkgICAqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MzAsIDB4MDAsIDB4MEYgfSB9LAkv KiA1MDAgICA5MDAgICAgICA1LjEgICAqLwo+ICsJeyAuY25sID0geyAweEMsIDB4NTgsIDB4M0Ys IDB4MDAsIDB4MDAgfSB9LAkvKiA2NTAgICA3MDAgICAgICAwLjYgICAqLwo+ICsJeyAuY25sID0g eyAweDYsIDB4N0YsIDB4MzUsIDB4MDAsIDB4MEEgfSB9LAkvKiA2MDAgICA5MDAgICAgICAzLjUg ICAqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA5 MDAgICA5MDAgICAgICAwLjAgICAqLwo+ICt9Owo+ICsKPiArc3RhdGljIGNvbnN0IHVuaW9uIGlu dGVsX2RkaV9idWZfdHJhbnNfZW50cnkgaWNsX21nX3BoeV9kZGlfdHJhbnNsYXRpb25zX3Jicl9o YnJbXSA9IHsKPiArCQkJCQkvKiBWb2x0YWdlIHN3aW5nICBwcmUtZW1waGFzaXMgKi8KPiArCXsg Lm1nID0geyAweDE4LCAweDAwLCAweDAwIH0gfSwJLyogMCAgICAgICAgICAgICAgMCAgICovCj4g Kwl7IC5tZyA9IHsgMHgxRCwgMHgwMCwgMHgwNSB9IH0sCS8qIDAgICAgICAgICAgICAgIDEgICAq Lwo+ICsJeyAubWcgPSB7IDB4MjQsIDB4MDAsIDB4MEMgfSB9LAkvKiAwICAgICAgICAgICAgICAy ICAgKi8KPiArCXsgLm1nID0geyAweDJCLCAweDAwLCAweDE0IH0gfSwJLyogMCAgICAgICAgICAg ICAgMyAgICovCj4gKwl7IC5tZyA9IHsgMHgyMSwgMHgwMCwgMHgwMCB9IH0sCS8qIDEgICAgICAg ICAgICAgIDAgICAqLwo+ICsJeyAubWcgPSB7IDB4MkIsIDB4MDAsIDB4MDggfSB9LAkvKiAxICAg ICAgICAgICAgICAxICAgKi8KPiArCXsgLm1nID0geyAweDMwLCAweDAwLCAweDBGIH0gfSwJLyog MSAgICAgICAgICAgICAgMiAgICovCj4gKwl7IC5tZyA9IHsgMHgzMSwgMHgwMCwgMHgwMyB9IH0s CS8qIDIgICAgICAgICAgICAgIDAgICAqLwo+ICsJeyAubWcgPSB7IDB4MzQsIDB4MDAsIDB4MEIg fSB9LAkvKiAyICAgICAgICAgICAgICAxICAgKi8KPiArCXsgLm1nID0geyAweDNGLCAweDAwLCAw eDAwIH0gfSwJLyogMyAgICAgICAgICAgICAgMCAgICovCj4gK307Cj4gKwo+ICtzdGF0aWMgY29u c3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBpY2xfbWdfcGh5X2RkaV90cmFuc2xh dGlvbnNfaGJyMl9oYnIzW10gPSB7Cj4gKwkJCQkJLyogVm9sdGFnZSBzd2luZyAgcHJlLWVtcGhh c2lzICovCj4gKwl7IC5tZyA9IHsgMHgxOCwgMHgwMCwgMHgwMCB9IH0sCS8qIDAgICAgICAgICAg ICAgIDAgICAqLwo+ICsJeyAubWcgPSB7IDB4MUQsIDB4MDAsIDB4MDUgfSB9LAkvKiAwICAgICAg ICAgICAgICAxICAgKi8KPiArCXsgLm1nID0geyAweDI0LCAweDAwLCAweDBDIH0gfSwJLyogMCAg ICAgICAgICAgICAgMiAgICovCj4gKwl7IC5tZyA9IHsgMHgyQiwgMHgwMCwgMHgxNCB9IH0sCS8q IDAgICAgICAgICAgICAgIDMgICAqLwo+ICsJeyAubWcgPSB7IDB4MjYsIDB4MDAsIDB4MDAgfSB9 LAkvKiAxICAgICAgICAgICAgICAwICAgKi8KPiArCXsgLm1nID0geyAweDJDLCAweDAwLCAweDA3 IH0gfSwJLyogMSAgICAgICAgICAgICAgMSAgICovCj4gKwl7IC5tZyA9IHsgMHgzMywgMHgwMCwg MHgwQyB9IH0sCS8qIDEgICAgICAgICAgICAgIDIgICAqLwo+ICsJeyAubWcgPSB7IDB4MkUsIDB4 MDAsIDB4MDAgfSB9LAkvKiAyICAgICAgICAgICAgICAwICAgKi8KPiArCXsgLm1nID0geyAweDM2 LCAweDAwLCAweDA5IH0gfSwJLyogMiAgICAgICAgICAgICAgMSAgICovCj4gKwl7IC5tZyA9IHsg MHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDMgICAgICAgICAgICAgIDAgICAqLwo+ICt9Owo+ICsK PiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgaWNsX21nX3Bo eV9kZGlfdHJhbnNsYXRpb25zX2hkbWlbXSA9IHsKPiArCQkJCQkvKiBIRE1JIFByZXNldAlWUwlQ cmUtZW1waCAqLwo+ICsJeyAubWcgPSB7IDB4MUEsIDB4MCwgMHgwIH0gfSwJLyogMQkJNDAwbVYJ MGRCICovCj4gKwl7IC5tZyA9IHsgMHgyMCwgMHgwLCAweDAgfSB9LAkvKiAyCQk1MDBtVgkwZEIg Ki8KPiArCXsgLm1nID0geyAweDI5LCAweDAsIDB4MCB9IH0sCS8qIDMJCTY1MG1WCTBkQiAqLwo+ ICsJeyAubWcgPSB7IDB4MzIsIDB4MCwgMHgwIH0gfSwJLyogNAkJODAwbVYJMGRCICovCj4gKwl7 IC5tZyA9IHsgMHgzRiwgMHgwLCAweDAgfSB9LAkvKiA1CQkxMDAwbVYJMGRCICovCj4gKwl7IC5t ZyA9IHsgMHgzQSwgMHgwLCAweDUgfSB9LAkvKiA2CQlGdWxsCS0xLjUgZEIgKi8KPiArCXsgLm1n ID0geyAweDM5LCAweDAsIDB4NiB9IH0sCS8qIDcJCUZ1bGwJLTEuOCBkQiAqLwo+ICsJeyAubWcg PSB7IDB4MzgsIDB4MCwgMHg3IH0gfSwJLyogOAkJRnVsbAktMiBkQiAqLwo+ICsJeyAubWcgPSB7 IDB4MzcsIDB4MCwgMHg4IH0gfSwJLyogOQkJRnVsbAktMi41IGRCICovCj4gKwl7IC5tZyA9IHsg MHgzNiwgMHgwLCAweDkgfSB9LAkvKiAxMAkJRnVsbAktMyBkQiAqLwo+ICt9Owo+ICsKPiArc3Rh dGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgdGdsX2RrbF9waHlfZHBf ZGRpX3RyYW5zW10gPSB7Cj4gKwkJCQkJLyogVlMJcHJlLWVtcAlOb24tdHJhbnMgbVYJUHJlLWVt cGggZEIgKi8KPiArCXsgLmRrbCA9IHsgMHg3LCAweDAsIDB4MDAgfSB9LAkvKiAwCTAJNDAwbVYJ CTAgZEIgKi8KPiArCXsgLmRrbCA9IHsgMHg1LCAweDAsIDB4MDUgfSB9LAkvKiAwCTEJNDAwbVYJ CTMuNSBkQiAqLwo+ICsJeyAuZGtsID0geyAweDIsIDB4MCwgMHgwQiB9IH0sCS8qIDAJMgk0MDBt VgkJNiBkQiAqLwo+ICsJeyAuZGtsID0geyAweDAsIDB4MCwgMHgxOCB9IH0sCS8qIDAJMwk0MDBt VgkJOS41IGRCICovCj4gKwl7IC5ka2wgPSB7IDB4NSwgMHgwLCAweDAwIH0gfSwJLyogMQkwCTYw MG1WCQkwIGRCICovCj4gKwl7IC5ka2wgPSB7IDB4MiwgMHgwLCAweDA4IH0gfSwJLyogMQkxCTYw MG1WCQkzLjUgZEIgKi8KPiArCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MTQgfSB9LAkvKiAxCTIJ NjAwbVYJCTYgZEIgKi8KPiArCXsgLmRrbCA9IHsgMHgyLCAweDAsIDB4MDAgfSB9LAkvKiAyCTAJ ODAwbVYJCTAgZEIgKi8KPiArCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MEIgfSB9LAkvKiAyCTEJ ODAwbVYJCTMuNSBkQiAqLwo+ICsJeyAuZGtsID0geyAweDAsIDB4MCwgMHgwMCB9IH0sCS8qIDMJ MAkxMjAwbVYJCTAgZEIgSERNSSBkZWZhdWx0ICovCj4gK307Cj4gKwo+ICtzdGF0aWMgY29uc3Qg dW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSB0Z2xfZGtsX3BoeV9kcF9kZGlfdHJhbnNf aGJyMltdID0gewo+ICsJCQkJCS8qIFZTCXByZS1lbXAJTm9uLXRyYW5zIG1WCVByZS1lbXBoIGRC ICovCj4gKwl7IC5ka2wgPSB7IDB4NywgMHgwLCAweDAwIH0gfSwJLyogMAkwCTQwMG1WCQkwIGRC ICovCj4gKwl7IC5ka2wgPSB7IDB4NSwgMHgwLCAweDA1IH0gfSwJLyogMAkxCTQwMG1WCQkzLjUg ZEIgKi8KPiArCXsgLmRrbCA9IHsgMHgyLCAweDAsIDB4MEIgfSB9LAkvKiAwCTIJNDAwbVYJCTYg ZEIgKi8KPiArCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MTkgfSB9LAkvKiAwCTMJNDAwbVYJCTku NSBkQiAqLwo+ICsJeyAuZGtsID0geyAweDUsIDB4MCwgMHgwMCB9IH0sCS8qIDEJMAk2MDBtVgkJ MCBkQiAqLwo+ICsJeyAuZGtsID0geyAweDIsIDB4MCwgMHgwOCB9IH0sCS8qIDEJMQk2MDBtVgkJ My41IGRCICovCj4gKwl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweDE0IH0gfSwJLyogMQkyCTYwMG1W CQk2IGRCICovCj4gKwl7IC5ka2wgPSB7IDB4MiwgMHgwLCAweDAwIH0gfSwJLyogMgkwCTgwMG1W CQkwIGRCICovCj4gKwl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweDBCIH0gfSwJLyogMgkxCTgwMG1W CQkzLjUgZEIgKi8KPiArCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MDAgfSB9LAkvKiAzCTAJMTIw MG1WCQkwIGRCIEhETUkgZGVmYXVsdCAqLwo+ICt9Owo+ICsKPiArc3RhdGljIGNvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgdGdsX2RrbF9waHlfaGRtaV9kZGlfdHJhbnNbXSA9 IHsKPiArCQkJCQkvKiBIRE1JIFByZXNldAlWUwlQcmUtZW1waCAqLwo+ICsJeyAuZGtsID0geyAw eDcsIDB4MCwgMHgwIH0gfSwJLyogMQkJNDAwbVYJMGRCICovCj4gKwl7IC5ka2wgPSB7IDB4Niwg MHgwLCAweDAgfSB9LAkvKiAyCQk1MDBtVgkwZEIgKi8KPiArCXsgLmRrbCA9IHsgMHg0LCAweDAs IDB4MCB9IH0sCS8qIDMJCTY1MG1WCTBkQiAqLwo+ICsJeyAuZGtsID0geyAweDIsIDB4MCwgMHgw IH0gfSwJLyogNAkJODAwbVYJMGRCICovCj4gKwl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweDAgfSB9 LAkvKiA1CQkxMDAwbVYJMGRCICovCj4gKwl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweDUgfSB9LAkv KiA2CQlGdWxsCS0xLjUgZEIgKi8KPiArCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4NiB9IH0sCS8q IDcJCUZ1bGwJLTEuOCBkQiAqLwo+ICsJeyAuZGtsID0geyAweDAsIDB4MCwgMHg3IH0gfSwJLyog OAkJRnVsbAktMiBkQiAqLwo+ICsJeyAuZGtsID0geyAweDAsIDB4MCwgMHg4IH0gfSwJLyogOQkJ RnVsbAktMi41IGRCICovCj4gKwl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweEEgfSB9LAkvKiAxMAkJ RnVsbAktMyBkQiAqLwo+ICt9Owo+ICsKPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9i dWZfdHJhbnNfZW50cnkgdGdsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicltdID0g ewo+ICsJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KPiArCXsgLmNubCA9IHsgMHhB LCAweDMyLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMzUwICAgMzUwICAgICAgMC4wICAgKi8K PiArCXsgLmNubCA9IHsgMHhBLCAweDRGLCAweDM3LCAweDAwLCAweDA4IH0gfSwJLyogMzUwICAg NTAwICAgICAgMy4xICAgKi8KPiArCXsgLmNubCA9IHsgMHhDLCAweDcxLCAweDJGLCAweDAwLCAw eDEwIH0gfSwJLyogMzUwICAgNzAwICAgICAgNi4wICAgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAw eDdELCAweDJCLCAweDAwLCAweDE0IH0gfSwJLyogMzUwICAgOTAwICAgICAgOC4yICAgKi8KPiAr CXsgLmNubCA9IHsgMHhBLCAweDRDLCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNTAwICAgNTAw ICAgICAgMC4wICAgKi8KPiArCXsgLmNubCA9IHsgMHhDLCAweDczLCAweDM0LCAweDAwLCAweDBC IH0gfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdG LCAweDJGLCAweDAwLCAweDEwIH0gfSwJLyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KPiArCXsg LmNubCA9IHsgMHhDLCAweDZDLCAweDNDLCAweDAwLCAweDAzIH0gfSwJLyogNjUwICAgNzAwICAg ICAgMC42ICAgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDM1LCAweDAwLCAweDBBIH0g fSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAw eDNGLCAweDAwLCAweDAwIH0gfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KPiArfTsKPiAr Cj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHRnbF9jb21i b19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyW10gPSB7Cj4gKwkJCQkJCQkvKiBOVCBtViBU cmFucyBtViBkYiAgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4MzUsIDB4M0YsIDB4MDAsIDB4 MDAgfSB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4 NEYsIDB4MzcsIDB4MDAsIDB4MDggfSB9LAkvKiAzNTAgICA1MDAgICAgICAzLjEgICAqLwo+ICsJ eyAuY25sID0geyAweEMsIDB4NjMsIDB4MkYsIDB4MDAsIDB4MTAgfSB9LAkvKiAzNTAgICA3MDAg ICAgICA2LjAgICAqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MkIsIDB4MDAsIDB4MTQg fSB9LAkvKiAzNTAgICA5MDAgICAgICA4LjIgICAqLwo+ICsJeyAuY25sID0geyAweEEsIDB4NDcs IDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiA1MDAgICA1MDAgICAgICAwLjAgICAqLwo+ICsJeyAu Y25sID0geyAweEMsIDB4NjMsIDB4MzQsIDB4MDAsIDB4MEIgfSB9LAkvKiA1MDAgICA3MDAgICAg ICAyLjkgICAqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MkYsIDB4MDAsIDB4MTAgfSB9 LAkvKiA1MDAgICA5MDAgICAgICA1LjEgICAqLwo+ICsJeyAuY25sID0geyAweEMsIDB4NjEsIDB4 M0MsIDB4MDAsIDB4MDMgfSB9LAkvKiA2NTAgICA3MDAgICAgICAwLjYgICAqLwo+ICsJeyAuY25s ID0geyAweDYsIDB4N0IsIDB4MzUsIDB4MDAsIDB4MEEgfSB9LAkvKiA2MDAgICA5MDAgICAgICAz LjUgICAqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkv KiA5MDAgICA5MDAgICAgICAwLjAgICAqLwo+ICt9Owo+ICsKPiArc3RhdGljIGNvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgdGdsX3V5X2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRp b25zX2RwX2hicjJbXSA9IHsKPiArCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCj4g Kwl7IC5jbmwgPSB7IDB4QSwgMHgzNSwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDM1MCAgIDM1 MCAgICAgIDAuMCAgICovCj4gKwl7IC5jbmwgPSB7IDB4QSwgMHg0RiwgMHgzNiwgMHgwMCwgMHgw OSB9IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCj4gKwl7IC5jbmwgPSB7IDB4QywgMHg2 MCwgMHgzMiwgMHgwMCwgMHgwRCB9IH0sCS8qIDM1MCAgIDcwMCAgICAgIDYuMCAgICovCj4gKwl7 IC5jbmwgPSB7IDB4QywgMHg3RiwgMHgyRCwgMHgwMCwgMHgxMiB9IH0sCS8qIDM1MCAgIDkwMCAg ICAgIDguMiAgICovCj4gKwl7IC5jbmwgPSB7IDB4QywgMHg0NywgMHgzRiwgMHgwMCwgMHgwMCB9 IH0sCS8qIDUwMCAgIDUwMCAgICAgIDAuMCAgICovCj4gKwl7IC5jbmwgPSB7IDB4QywgMHg2Riwg MHgzNiwgMHgwMCwgMHgwOSB9IH0sCS8qIDUwMCAgIDcwMCAgICAgIDIuOSAgICovCj4gKwl7IC5j bmwgPSB7IDB4NiwgMHg3RCwgMHgzMiwgMHgwMCwgMHgwRCB9IH0sCS8qIDUwMCAgIDkwMCAgICAg IDUuMSAgICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg2MCwgMHgzQywgMHgwMCwgMHgwMyB9IH0s CS8qIDY1MCAgIDcwMCAgICAgIDAuNiAgICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgz NCwgMHgwMCwgMHgwQiB9IH0sCS8qIDYwMCAgIDkwMCAgICAgIDMuNSAgICovCj4gKwl7IC5jbmwg PSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDkwMCAgIDkwMCAgICAgIDAu MCAgICovCj4gIH07Cj4gIAo+ICAvKgo+ICAgKiBDbG9uZWQgdGhlIEhPQkwgZW50cnkgdG8gY29t cGx5IHdpdGggdGhlIHZvbHRhZ2UgYW5kIHByZS1lbXBoYXNpcyBlbnRyaWVzCj4gICAqIHRoYXQg RGlzcGxheVBvcnQgc3BlY2lmaWNhdGlvbiByZXF1aXJlcwo+ICAgKi8KPiAtc3RhdGljIGNvbnN0 IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyB0Z2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNf ZWRwX2hicjJfaG9ibFtdID0gewo+IC0JCQkJCQkvKiBWUwlwcmUtZW1wCSovCj4gLQl7IDB4Niwg MHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAwCTAJKi8KPiAtCXsgMHg2LCAweDdGLCAweDNG LCAweDAwLCAweDAwIH0sCS8qIDAJMQkqLwo+IC0JeyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4 MDAgfSwJLyogMAkyCSovCj4gLQl7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAw CTMJKi8KPiAtCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDEJMAkqLwo+IC0J eyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMQkxCSovCj4gLQl7IDB4NiwgMHg3 RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiAxCTIJKi8KPiAtCXsgMHg2LCAweDdGLCAweDNGLCAw eDAwLCAweDAwIH0sCS8qIDIJMAkqLwo+IC0JeyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAg fSwJLyogMgkxCSovCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2Vu dHJ5IHRnbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMl9ob2JsW10gPSB7Cj4g KwkJCQkJCQkvKiBWUwlwcmUtZW1wCSovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwg MHgwMCwgMHgwMCB9IH0sCS8qIDAJMAkqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0YsIDB4M0Ys IDB4MDAsIDB4MDAgfSB9LAkvKiAwCTEJKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDNG LCAweDAwLCAweDAwIH0gfSwJLyogMAkyCSovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgz RiwgMHgwMCwgMHgwMCB9IH0sCS8qIDAJMwkqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0YsIDB4 M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAxCTAJKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdGLCAw eDNGLCAweDAwLCAweDAwIH0gfSwJLyogMQkxCSovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3Riwg MHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDEJMgkqLwo+ICsJeyAuY25sID0geyAweDYsIDB4N0Ys IDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAyCTAJKi8KPiArCXsgLmNubCA9IHsgMHg2LCAweDdG LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogMgkxCSovCj4gIH07Cj4gIAo+IC1zdGF0aWMgY29u c3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIHJrbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9u c19kcF9oYnJbXSA9IHsKPiAtCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KPiAtCXsg MHhBLCAweDJGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICov Cj4gLQl7IDB4QSwgMHg0RiwgMHgzNywgMHgwMCwgMHgwOCB9LAkvKiAzNTAgICA1MDAgICAgICAz LjEgICAqLwo+IC0JeyAweEMsIDB4NjMsIDB4MkYsIDB4MDAsIDB4MTAgfSwJLyogMzUwICAgNzAw ICAgICAgNi4wICAgKi8KPiAtCXsgMHg2LCAweDdELCAweDJBLCAweDAwLCAweDE1IH0sCS8qIDM1 MCAgIDkwMCAgICAgIDguMiAgICovCj4gLQl7IDB4QSwgMHg0QywgMHgzRiwgMHgwMCwgMHgwMCB9 LAkvKiA1MDAgICA1MDAgICAgICAwLjAgICAqLwo+IC0JeyAweEMsIDB4NzMsIDB4MzQsIDB4MDAs IDB4MEIgfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KPiAtCXsgMHg2LCAweDdGLCAweDJG LCAweDAwLCAweDEwIH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCj4gLQl7IDB4QywgMHg2 RSwgMHgzRSwgMHgwMCwgMHgwMSB9LAkvKiA2NTAgICA3MDAgICAgICAwLjYgICAqLwo+IC0JeyAw eDYsIDB4N0YsIDB4MzUsIDB4MDAsIDB4MEEgfSwJLyogNjAwICAgOTAwICAgICAgMy41ICAgKi8K PiAtCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDkwMCAgIDkwMCAgICAgIDAu MCAgICovCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IHJr bF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnJbXSA9IHsKPiArCQkJCQkJCS8qIE5U IG1WIFRyYW5zIG1WIGRiICAgICovCj4gKwl7IC5jbmwgPSB7IDB4QSwgMHgyRiwgMHgzRiwgMHgw MCwgMHgwMCB9IH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCj4gKwl7IC5jbmwgPSB7IDB4 QSwgMHg0RiwgMHgzNywgMHgwMCwgMHgwOCB9IH0sCS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICov Cj4gKwl7IC5jbmwgPSB7IDB4QywgMHg2MywgMHgyRiwgMHgwMCwgMHgxMCB9IH0sCS8qIDM1MCAg IDcwMCAgICAgIDYuMCAgICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3RCwgMHgyQSwgMHgwMCwg MHgxNSB9IH0sCS8qIDM1MCAgIDkwMCAgICAgIDguMiAgICovCj4gKwl7IC5jbmwgPSB7IDB4QSwg MHg0QywgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDUwMCAgIDUwMCAgICAgIDAuMCAgICovCj4g Kwl7IC5jbmwgPSB7IDB4QywgMHg3MywgMHgzNCwgMHgwMCwgMHgwQiB9IH0sCS8qIDUwMCAgIDcw MCAgICAgIDIuOSAgICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgyRiwgMHgwMCwgMHgx MCB9IH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCj4gKwl7IC5jbmwgPSB7IDB4QywgMHg2 RSwgMHgzRSwgMHgwMCwgMHgwMSB9IH0sCS8qIDY1MCAgIDcwMCAgICAgIDAuNiAgICovCj4gKwl7 IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzNSwgMHgwMCwgMHgwQSB9IH0sCS8qIDYwMCAgIDkwMCAg ICAgIDMuNSAgICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9 IH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICovCj4gIH07Cj4gIAo+IC1zdGF0aWMgY29uc3Qg c3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIHJrbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19k cF9oYnIyX2hicjNbXSA9IHsKPiAtCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KPiAt CXsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAg ICovCj4gLQl7IDB4QSwgMHg1MCwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAzNTAgICA1MDAgICAg ICAzLjEgICAqLwo+IC0JeyAweEMsIDB4NjEsIDB4MzMsIDB4MDAsIDB4MEMgfSwJLyogMzUwICAg NzAwICAgICAgNi4wICAgKi8KPiAtCXsgMHg2LCAweDdGLCAweDJFLCAweDAwLCAweDExIH0sCS8q IDM1MCAgIDkwMCAgICAgIDguMiAgICovCj4gLQl7IDB4QSwgMHg0NywgMHgzRiwgMHgwMCwgMHgw MCB9LAkvKiA1MDAgICA1MDAgICAgICAwLjAgICAqLwo+IC0JeyAweEMsIDB4NUYsIDB4MzgsIDB4 MDAsIDB4MDcgfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KPiAtCXsgMHg2LCAweDdGLCAw eDJGLCAweDAwLCAweDEwIH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCj4gLQl7IDB4Qywg MHg1RiwgMHgzRiwgMHgwMCwgMHgwMCB9LAkvKiA2NTAgICA3MDAgICAgICAwLjYgICAqLwo+IC0J eyAweDYsIDB4N0UsIDB4MzYsIDB4MDAsIDB4MDkgfSwJLyogNjAwICAgOTAwICAgICAgMy41ICAg Ki8KPiAtCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDkwMCAgIDkwMCAgICAg IDAuMCAgICovCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5 IHJrbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyX2hicjNbXSA9IHsKPiArCQkJ CQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCj4gKwl7IC5jbmwgPSB7IDB4QSwgMHgzNSwg MHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCj4gKwl7IC5j bmwgPSB7IDB4QSwgMHg1MCwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8qIDM1MCAgIDUwMCAgICAg IDMuMSAgICovCj4gKwl7IC5jbmwgPSB7IDB4QywgMHg2MSwgMHgzMywgMHgwMCwgMHgwQyB9IH0s CS8qIDM1MCAgIDcwMCAgICAgIDYuMCAgICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgy RSwgMHgwMCwgMHgxMSB9IH0sCS8qIDM1MCAgIDkwMCAgICAgIDguMiAgICovCj4gKwl7IC5jbmwg PSB7IDB4QSwgMHg0NywgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDUwMCAgIDUwMCAgICAgIDAu MCAgICovCj4gKwl7IC5jbmwgPSB7IDB4QywgMHg1RiwgMHgzOCwgMHgwMCwgMHgwNyB9IH0sCS8q IDUwMCAgIDcwMCAgICAgIDIuOSAgICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgyRiwg MHgwMCwgMHgxMCB9IH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCj4gKwl7IC5jbmwgPSB7 IDB4QywgMHg1RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDY1MCAgIDcwMCAgICAgIDAuNiAg ICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3RSwgMHgzNiwgMHgwMCwgMHgwOSB9IH0sCS8qIDYw MCAgIDkwMCAgICAgIDMuNSAgICovCj4gKwl7IC5jbmwgPSB7IDB4NiwgMHg3RiwgMHgzRiwgMHgw MCwgMHgwMCB9IH0sCS8qIDkwMCAgIDkwMCAgICAgIDAuMCAgICovCj4gIH07Cj4gIAo+IC1zdGF0 aWMgY29uc3Qgc3RydWN0IHRnbF9ka2xfcGh5X2RkaV9idWZfdHJhbnMgYWRscF9ka2xfcGh5X2Rw X2RkaV90cmFuc19oYnJbXSA9IHsKPiAtCQkJCS8qIFZTCXByZS1lbXAJTm9uLXRyYW5zIG1WCVBy ZS1lbXBoIGRCICovCj4gLQl7IDB4NywgMHgwLCAweDAxIH0sCS8qIDAJMAk0MDBtVgkJMCBkQiAq Lwo+IC0JeyAweDUsIDB4MCwgMHgwNiB9LAkvKiAwCTEJNDAwbVYJCTMuNSBkQiAqLwo+IC0JeyAw eDIsIDB4MCwgMHgwQiB9LAkvKiAwCTIJNDAwbVYJCTYgZEIgKi8KPiAtCXsgMHgwLCAweDAsIDB4 MTcgfSwJLyogMAkzCTQwMG1WCQk5LjUgZEIgKi8KPiAtCXsgMHg1LCAweDAsIDB4MDAgfSwJLyog MQkwCTYwMG1WCQkwIGRCICovCj4gLQl7IDB4MiwgMHgwLCAweDA4IH0sCS8qIDEJMQk2MDBtVgkJ My41IGRCICovCj4gLQl7IDB4MCwgMHgwLCAweDE0IH0sCS8qIDEJMgk2MDBtVgkJNiBkQiAqLwo+ IC0JeyAweDIsIDB4MCwgMHgwMCB9LAkvKiAyCTAJODAwbVYJCTAgZEIgKi8KPiAtCXsgMHgwLCAw eDAsIDB4MEIgfSwJLyogMgkxCTgwMG1WCQkzLjUgZEIgKi8KPiAtCXsgMHgwLCAweDAsIDB4MDAg fSwJLyogMwkwCTEyMDBtVgkJMCBkQiAqLwo+ICtzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRp X2J1Zl90cmFuc19lbnRyeSBhZGxwX2RrbF9waHlfZHBfZGRpX3RyYW5zX2hicltdID0gewo+ICsJ CQkJCS8qIFZTCXByZS1lbXAJTm9uLXRyYW5zIG1WCVByZS1lbXBoIGRCICovCj4gKwl7IC5ka2wg PSB7IDB4NywgMHgwLCAweDAxIH0gfSwJLyogMAkwCTQwMG1WCQkwIGRCICovCj4gKwl7IC5ka2wg PSB7IDB4NSwgMHgwLCAweDA2IH0gfSwJLyogMAkxCTQwMG1WCQkzLjUgZEIgKi8KPiArCXsgLmRr bCA9IHsgMHgyLCAweDAsIDB4MEIgfSB9LAkvKiAwCTIJNDAwbVYJCTYgZEIgKi8KPiArCXsgLmRr bCA9IHsgMHgwLCAweDAsIDB4MTcgfSB9LAkvKiAwCTMJNDAwbVYJCTkuNSBkQiAqLwo+ICsJeyAu ZGtsID0geyAweDUsIDB4MCwgMHgwMCB9IH0sCS8qIDEJMAk2MDBtVgkJMCBkQiAqLwo+ICsJeyAu ZGtsID0geyAweDIsIDB4MCwgMHgwOCB9IH0sCS8qIDEJMQk2MDBtVgkJMy41IGRCICovCj4gKwl7 IC5ka2wgPSB7IDB4MCwgMHgwLCAweDE0IH0gfSwJLyogMQkyCTYwMG1WCQk2IGRCICovCj4gKwl7 IC5ka2wgPSB7IDB4MiwgMHgwLCAweDAwIH0gfSwJLyogMgkwCTgwMG1WCQkwIGRCICovCj4gKwl7 IC5ka2wgPSB7IDB4MCwgMHgwLCAweDBCIH0gfSwJLyogMgkxCTgwMG1WCQkzLjUgZEIgKi8KPiAr CXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MDAgfSB9LAkvKiAzCTAJMTIwMG1WCQkwIGRCICovCj4g IH07Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IHRnbF9ka2xfcGh5X2RkaV9idWZfdHJhbnMg YWRscF9ka2xfcGh5X2RwX2RkaV90cmFuc19oYnIyX2hicjNbXSA9IHsKPiAtCQkJCS8qIFZTCXBy ZS1lbXAJTm9uLXRyYW5zIG1WCVByZS1lbXBoIGRCICovCj4gLQl7IDB4NywgMHgwLCAweDAwIH0s CS8qIDAJMAk0MDBtVgkJMCBkQiAqLwo+IC0JeyAweDUsIDB4MCwgMHgwNCB9LAkvKiAwCTEJNDAw bVYJCTMuNSBkQiAqLwo+IC0JeyAweDIsIDB4MCwgMHgwQSB9LAkvKiAwCTIJNDAwbVYJCTYgZEIg Ki8KPiAtCXsgMHgwLCAweDAsIDB4MTggfSwJLyogMAkzCTQwMG1WCQk5LjUgZEIgKi8KPiAtCXsg MHg1LCAweDAsIDB4MDAgfSwJLyogMQkwCTYwMG1WCQkwIGRCICovCj4gLQl7IDB4MiwgMHgwLCAw eDA2IH0sCS8qIDEJMQk2MDBtVgkJMy41IGRCICovCj4gLQl7IDB4MCwgMHgwLCAweDE0IH0sCS8q IDEJMgk2MDBtVgkJNiBkQiAqLwo+IC0JeyAweDIsIDB4MCwgMHgwMCB9LAkvKiAyCTAJODAwbVYJ CTAgZEIgKi8KPiAtCXsgMHgwLCAweDAsIDB4MDkgfSwJLyogMgkxCTgwMG1WCQkzLjUgZEIgKi8K PiAtCXsgMHgwLCAweDAsIDB4MDAgfSwJLyogMwkwCTEyMDBtVgkJMCBkQiAqLwo+ICtzdGF0aWMg Y29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBhZGxwX2RrbF9waHlfZHBfZGRp X3RyYW5zX2hicjJfaGJyM1tdID0gewo+ICsJCQkJCS8qIFZTCXByZS1lbXAJTm9uLXRyYW5zIG1W CVByZS1lbXBoIGRCICovCj4gKwl7IC5ka2wgPSB7IDB4NywgMHgwLCAweDAwIH0gfSwJLyogMAkw CTQwMG1WCQkwIGRCICovCj4gKwl7IC5ka2wgPSB7IDB4NSwgMHgwLCAweDA0IH0gfSwJLyogMAkx CTQwMG1WCQkzLjUgZEIgKi8KPiArCXsgLmRrbCA9IHsgMHgyLCAweDAsIDB4MEEgfSB9LAkvKiAw CTIJNDAwbVYJCTYgZEIgKi8KPiArCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MTggfSB9LAkvKiAw CTMJNDAwbVYJCTkuNSBkQiAqLwo+ICsJeyAuZGtsID0geyAweDUsIDB4MCwgMHgwMCB9IH0sCS8q IDEJMAk2MDBtVgkJMCBkQiAqLwo+ICsJeyAuZGtsID0geyAweDIsIDB4MCwgMHgwNiB9IH0sCS8q IDEJMQk2MDBtVgkJMy41IGRCICovCj4gKwl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweDE0IH0gfSwJ LyogMQkyCTYwMG1WCQk2IGRCICovCj4gKwl7IC5ka2wgPSB7IDB4MiwgMHgwLCAweDAwIH0gfSwJ LyogMgkwCTgwMG1WCQkwIGRCICovCj4gKwl7IC5ka2wgPSB7IDB4MCwgMHgwLCAweDA5IH0gfSwJ LyogMgkxCTgwMG1WCQkzLjUgZEIgKi8KPiArCXsgLmRrbCA9IHsgMHgwLCAweDAsIDB4MDAgfSB9 LAkvKiAzCTAJMTIwMG1WCQkwIGRCICovCj4gIH07Cj4gIAo+IC1ib29sIGlzX2hvYmxfYnVmX3Ry YW5zKGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqdGFibGUpCj4gK2Jvb2wgaXNfaG9i bF9idWZfdHJhbnMoY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqdGFibGUp Cj4gIHsKPiAgCXJldHVybiB0YWJsZSA9PSB0Z2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNf ZWRwX2hicjJfaG9ibDsKPiAgfQo+ICAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1 Zl90cmFucyAqCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5 ICoKPiAgYmR3X2dldF9idWZfdHJhbnNfZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LCBpbnQgKm5fZW50cmllcykKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gQEAgLTc4MSw3ICs3ODEsNyBAQCBi ZHdfZ2V0X2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAq bl9lbnRyaWVzKQo+ICAJfQo+ICB9Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlf YnVmX3RyYW5zICoKPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50 cnkgKgo+ICBza2xfZ2V0X2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwgaW50ICpuX2VudHJpZXMpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+IEBAIC03OTgsNyArNzk4LDcgQEAg c2tsX2dldF9idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAq bl9lbnRyaWVzKQo+ICAJfQo+ICB9Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlf YnVmX3RyYW5zICoKPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50 cnkgKgo+ICBrYmxfZ2V0X2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwgaW50ICpuX2VudHJpZXMpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+IEBAIC04MTksNyArODE5LDcgQEAg a2JsX2dldF9idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAq bl9lbnRyaWVzKQo+ICAJfQo+ICB9Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlf YnVmX3RyYW5zICoKPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50 cnkgKgo+ICBza2xfZ2V0X2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsIGludCAqbl9lbnRyaWVzKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiBAQCAtODUxLDcgKzg1MSw3IEBA IHNrbF9nZXRfYnVmX3RyYW5zX2VkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50 ICpuX2VudHJpZXMpCj4gIAkJcmV0dXJuIHNrbF9nZXRfYnVmX3RyYW5zX2RwKGVuY29kZXIsIG5f ZW50cmllcyk7Cj4gIH0KPiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJh bnMgKgo+ICtzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCj4g IHNrbF9nZXRfYnVmX3RyYW5zX2hkbWkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCBpbnQgKm5fZW50cmllcykKPiAgewo+ICAJaWYgKElTX1NLTF9VTFgoZGV2X3ByaXYpIHx8Cj4g QEAgLTg3NSw3ICs4NzUsNyBAQCBzdGF0aWMgaW50IHNrbF9idWZfdHJhbnNfbnVtX2VudHJpZXMo ZW51bSBwb3J0IHBvcnQsIGludCBuX2VudHJpZXMpCj4gIAkJcmV0dXJuIG1pbihuX2VudHJpZXMs IDkpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zICoK PiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgo+ICBoc3df Z2V0X2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50ICpuX2Vu dHJpZXMpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+IEBAIC04ODMsMTIgKzg4MywxMiBAQCBoc3dfZ2V0X2J1 Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50ICpuX2VudHJpZXMp Cj4gIAlpZiAoSVNfS0FCWUxBS0UoZGV2X3ByaXYpIHx8Cj4gIAkgICAgSVNfQ09GRkVFTEFLRShk ZXZfcHJpdikgfHwKPiAgCSAgICBJU19DT01FVExBS0UoZGV2X3ByaXYpKSB7Cj4gLQkJY29uc3Qg c3RydWN0IGhzd19kZGlfYnVmX3RyYW5zICpkZGlfdHJhbnNsYXRpb25zID0KPiArCQljb25zdCB1 bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICpkZGlfdHJhbnNsYXRpb25zID0KPiAgCQkJ a2JsX2dldF9idWZfdHJhbnNfZHAoZW5jb2Rlciwgbl9lbnRyaWVzKTsKPiAgCQkqbl9lbnRyaWVz ID0gc2tsX2J1Zl90cmFuc19udW1fZW50cmllcyhlbmNvZGVyLT5wb3J0LCAqbl9lbnRyaWVzKTsK PiAgCQlyZXR1cm4gZGRpX3RyYW5zbGF0aW9uczsKPiAgCX0gZWxzZSBpZiAoSVNfU0tZTEFLRShk ZXZfcHJpdikpIHsKPiAtCQljb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgKmRkaV90cmFu c2xhdGlvbnMgPQo+ICsJCWNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKmRk aV90cmFuc2xhdGlvbnMgPQo+ICAJCQlza2xfZ2V0X2J1Zl90cmFuc19kcChlbmNvZGVyLCBuX2Vu dHJpZXMpOwo+ICAJCSpuX2VudHJpZXMgPSBza2xfYnVmX3RyYW5zX251bV9lbnRyaWVzKGVuY29k ZXItPnBvcnQsICpuX2VudHJpZXMpOwo+ICAJCXJldHVybiBkZGlfdHJhbnNsYXRpb25zOwo+IEBA IC05MDQsMTMgKzkwNCwxMyBAQCBoc3dfZ2V0X2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwgaW50ICpuX2VudHJpZXMpCj4gIAlyZXR1cm4gTlVMTDsKPiAgfQo+ICAK PiAtc3RhdGljIGNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyAqCj4gK3N0YXRpYyBjb25z dCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgaHN3X2dldF9idWZfdHJhbnNf ZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmllcykKPiAgewo+ ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5i YXNlLmRldik7Cj4gIAo+ICAJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA9PSA5ICYmICFJU19C Uk9YVE9OKGRldl9wcml2KSkgewo+IC0JCWNvbnN0IHN0cnVjdCBoc3dfZGRpX2J1Zl90cmFucyAq ZGRpX3RyYW5zbGF0aW9ucyA9Cj4gKwkJY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19l bnRyeSAqZGRpX3RyYW5zbGF0aW9ucyA9Cj4gIAkJCXNrbF9nZXRfYnVmX3RyYW5zX2VkcChlbmNv ZGVyLCBuX2VudHJpZXMpOwo+ICAJCSpuX2VudHJpZXMgPSBza2xfYnVmX3RyYW5zX251bV9lbnRy aWVzKGVuY29kZXItPnBvcnQsICpuX2VudHJpZXMpOwo+ICAJCXJldHVybiBkZGlfdHJhbnNsYXRp b25zOwo+IEBAIC05MjUsNyArOTI1LDcgQEAgaHN3X2dldF9idWZfdHJhbnNfZWRwKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmllcykKPiAgCXJldHVybiBOVUxMOwo+ ICB9Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zICoKPiArc3Rh dGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgo+ICBoc3dfZ2V0X2J1 Zl90cmFuc19mZGkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJICAgICAgaW50 ICpuX2VudHJpZXMpCj4gIHsKPiBAQCAtOTQzLDcgKzk0Myw3IEBAIGhzd19nZXRfYnVmX3RyYW5z X2ZkaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCXJldHVybiBOVUxMOwo+ICB9 Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGhzd19kZGlfYnVmX3RyYW5zICoKPiArc3RhdGlj IGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgo+ICBoc3dfZ2V0X2J1Zl90 cmFuc19oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCSAgICAgICBpbnQg Km5fZW50cmllcykKPiAgewo+IEBAIC05NjMsNyArOTYzLDcgQEAgaHN3X2dldF9idWZfdHJhbnNf aGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCXJldHVybiBOVUxMOwo+ICB9 Cj4gIAo+IC1jb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgKgo+ICtjb25zdCB1bmlvbiBp bnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgaHN3X2dldF9idWZfdHJhbnMoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKPiAgCQkgIGludCAqbl9lbnRyaWVzKQo+IEBAIC05NzgsMTQgKzk3OCwx NCBAQCBoc3dfZ2V0X2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAg CQlyZXR1cm4gaHN3X2dldF9idWZfdHJhbnNfZHAoZW5jb2Rlciwgbl9lbnRyaWVzKTsKPiAgfQo+ ICAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBieHRfZGRpX2J1Zl90cmFucyAqCj4gK3N0YXRpYyBj b25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgYnh0X2dldF9idWZfdHJh bnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQo+ICB7 Cj4gIAkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShieHRfZGRpX3RyYW5zbGF0aW9uc19kcCk7Cj4g IAlyZXR1cm4gYnh0X2RkaV90cmFuc2xhdGlvbnNfZHA7Cj4gIH0KPiAgCj4gLXN0YXRpYyBjb25z dCBzdHJ1Y3QgYnh0X2RkaV9idWZfdHJhbnMgKgo+ICtzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxf ZGRpX2J1Zl90cmFuc19lbnRyeSAqCj4gIGJ4dF9nZXRfYnVmX3RyYW5zX2VkcChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwgaW50ICpuX2VudHJpZXMpCj4gIHsKPiAgCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+IEBA IC05OTgsMTQgKzk5OCwxNCBAQCBieHRfZ2V0X2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQo+ICAJcmV0dXJuIGJ4dF9nZXRfYnVmX3Ry YW5zX2RwKGVuY29kZXIsIG5fZW50cmllcyk7Cj4gIH0KPiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1 Y3QgYnh0X2RkaV9idWZfdHJhbnMgKgo+ICtzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1 Zl90cmFuc19lbnRyeSAqCj4gIGJ4dF9nZXRfYnVmX3RyYW5zX2hkbWkoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQo+ICB7Cj4gIAkqbl9lbnRyaWVzID0gQVJS QVlfU0laRShieHRfZGRpX3RyYW5zbGF0aW9uc19oZG1pKTsKPiAgCXJldHVybiBieHRfZGRpX3Ry YW5zbGF0aW9uc19oZG1pOwo+ICB9Cj4gIAo+IC1jb25zdCBzdHJ1Y3QgYnh0X2RkaV9idWZfdHJh bnMgKgo+ICtjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgYnh0X2dl dF9idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJICBjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCQkgIGludCAqbl9lbnRyaWVz KQo+IEBAIC0xMDE3LDcgKzEwMTcsNyBAQCBieHRfZ2V0X2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKPiAgCXJldHVybiBieHRfZ2V0X2J1Zl90cmFuc19kcChlbmNvZGVy LCBuX2VudHJpZXMpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVm X3RyYW5zICoKPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkg Kgo+ICBjbmxfZ2V0X2J1Zl90cmFuc19oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LCBpbnQgKm5fZW50cmllcykKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gQEAgLTEwMzksNyArMTAzOSw3IEBA IGNubF9nZXRfYnVmX3RyYW5zX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGlu dCAqbl9lbnRyaWVzKQo+ICAJcmV0dXJuIE5VTEw7Cj4gIH0KPiAgCj4gLXN0YXRpYyBjb25zdCBz dHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgo+ICtzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxfZGRp X2J1Zl90cmFuc19lbnRyeSAqCj4gIGNubF9nZXRfYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmllcykKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gQEAgLTEw NjEsNyArMTA2MSw3IEBAIGNubF9nZXRfYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLCBpbnQgKm5fZW50cmllcykKPiAgCXJldHVybiBOVUxMOwo+ICB9Cj4gIAo+IC1z dGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoKPiArc3RhdGljIGNvbnN0IHVu aW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgo+ICBjbmxfZ2V0X2J1Zl90cmFuc19lZHAo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCAqbl9lbnRyaWVzKQo+ICB7Cj4gIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2Uu ZGV2KTsKPiBAQCAtMTA4Nyw3ICsxMDg3LDcgQEAgY25sX2dldF9idWZfdHJhbnNfZWRwKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgKm5fZW50cmllcykKPiAgCX0KPiAgfQo+ICAK PiAtY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoKPiArY29uc3QgdW5pb24gaW50ZWxf ZGRpX2J1Zl90cmFuc19lbnRyeSAqCj4gIGNubF9nZXRfYnVmX3RyYW5zKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAo+ICAJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUsCj4gIAkJICBpbnQgKm5fZW50cmllcykKPiBAQCAtMTA5OSw3ICsxMDk5LDcgQEAg Y25sX2dldF9idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlyZXR1 cm4gY25sX2dldF9idWZfdHJhbnNfZHAoZW5jb2Rlciwgbl9lbnRyaWVzKTsKPiAgfQo+ICAKPiAt c3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCj4gK3N0YXRpYyBjb25zdCB1 bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgaWNsX2dldF9jb21ib19idWZfdHJh bnNfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJICAgICBjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCQkJICAgICBpbnQgKm5fZW50 cmllcykKPiBAQCAtMTEwOCw3ICsxMTA4LDcgQEAgaWNsX2dldF9jb21ib19idWZfdHJhbnNfaGRt aShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCXJldHVybiBpY2xfY29tYm9fcGh5 X2RkaV90cmFuc2xhdGlvbnNfaGRtaTsKPiAgfQo+ICAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBj bmxfZGRpX2J1Zl90cmFucyAqCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3Ry YW5zX2VudHJ5ICoKPiAgaWNsX2dldF9jb21ib19idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCj4gIAkJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlLAo+ICAJCQkgICBpbnQgKm5fZW50cmllcykKPiBAQCAtMTExNyw3ICsxMTE3LDcg QEAgaWNsX2dldF9jb21ib19idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCj4gIAlyZXR1cm4gaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjI7Cj4g IH0KPiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgo+ICtzdGF0 aWMgY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCj4gIGljbF9nZXRfY29t Ym9fYnVmX3RyYW5zX2VkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJICAg IGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCQkgICAgaW50 ICpuX2VudHJpZXMpCj4gQEAgLTExNDEsNyArMTE0MSw3IEBAIGljbF9nZXRfY29tYm9fYnVmX3Ry YW5zX2VkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCXJldHVybiBpY2xfZ2V0 X2NvbWJvX2J1Zl90cmFuc19kcChlbmNvZGVyLCBjcnRjX3N0YXRlLCBuX2VudHJpZXMpOwo+ICB9 Cj4gIAo+IC1jb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgo+ICtjb25zdCB1bmlvbiBp bnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgaWNsX2dldF9jb21ib19idWZfdHJhbnMoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCQlpbnQgKm5fZW50cmllcykKPiBAQCAtMTE1NCw3ICsx MTU0LDcgQEAgaWNsX2dldF9jb21ib19idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCj4gIAkJcmV0dXJuIGljbF9nZXRfY29tYm9fYnVmX3RyYW5zX2RwKGVuY29kZXIsIGNy dGNfc3RhdGUsIG5fZW50cmllcyk7Cj4gIH0KPiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaWNs X21nX3BoeV9kZGlfYnVmX3RyYW5zICoKPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9i dWZfdHJhbnNfZW50cnkgKgo+ICBpY2xfZ2V0X21nX2J1Zl90cmFuc19oZG1pKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlLAo+ICAJCQkgIGludCAqbl9lbnRyaWVzKQo+IEBAIC0xMTYzLDcgKzExNjMs NyBAQCBpY2xfZ2V0X21nX2J1Zl90cmFuc19oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAo+ICAJcmV0dXJuIGljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uc19oZG1pOwo+ICB9Cj4g IAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGljbF9tZ19waHlfZGRpX2J1Zl90cmFucyAqCj4gK3N0 YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgaWNsX2dldF9t Z19idWZfdHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCWNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCQlpbnQgKm5fZW50cmll cykKPiBAQCAtMTE3Nyw3ICsxMTc3LDcgQEAgaWNsX2dldF9tZ19idWZfdHJhbnNfZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAl9Cj4gIH0KPiAgCj4gLWNvbnN0IHN0cnVjdCBp Y2xfbWdfcGh5X2RkaV9idWZfdHJhbnMgKgo+ICtjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3Ry YW5zX2VudHJ5ICoKPiAgaWNsX2dldF9tZ19idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCj4gIAkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKPiAgCQkgICAgIGludCAqbl9lbnRyaWVzKQo+IEBAIC0xMTg4LDcgKzExODgsNyBAQCBp Y2xfZ2V0X21nX2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQly ZXR1cm4gaWNsX2dldF9tZ19idWZfdHJhbnNfZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgbl9lbnRy aWVzKTsKPiAgfQo+ICAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAq Cj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgZWhs X2dldF9jb21ib19idWZfdHJhbnNfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK PiAgCQkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAg CQkJICAgICBpbnQgKm5fZW50cmllcykKPiBAQCAtMTE5Nyw3ICsxMTk3LDcgQEAgZWhsX2dldF9j b21ib19idWZfdHJhbnNfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCXJl dHVybiBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfaGRtaTsKPiAgfQo+ICAKPiAtc3Rh dGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCj4gK3N0YXRpYyBjb25zdCB1bmlv biBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgZWhsX2dldF9jb21ib19idWZfdHJhbnNf ZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCSAgIGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCQkgICBpbnQgKm5fZW50cmllcykKPiBA QCAtMTIwNiw3ICsxMjA2LDcgQEAgZWhsX2dldF9jb21ib19idWZfdHJhbnNfZHAoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlyZXR1cm4gZWhsX2NvbWJvX3BoeV9kZGlfdHJhbnNs YXRpb25zX2RwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3Ry YW5zICoKPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgo+ ICBlaGxfZ2V0X2NvbWJvX2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCj4gIAkJCSAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK PiAgCQkJICAgIGludCAqbl9lbnRyaWVzKQo+IEBAIC0xMjIxLDcgKzEyMjEsNyBAQCBlaGxfZ2V0 X2NvbWJvX2J1Zl90cmFuc19lZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAly ZXR1cm4gZWhsX2dldF9jb21ib19idWZfdHJhbnNfZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgbl9l bnRyaWVzKTsKPiAgfQo+ICAKPiAtY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoKPiAr Y29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCj4gIGVobF9nZXRfY29tYm9f YnVmX3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQljb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCQkJaW50ICpuX2VudHJpZXMpCj4g QEAgLTEyMzQsNyArMTIzNCw3IEBAIGVobF9nZXRfY29tYm9fYnVmX3RyYW5zKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCXJldHVybiBlaGxfZ2V0X2NvbWJvX2J1Zl90cmFuc19k cChlbmNvZGVyLCBjcnRjX3N0YXRlLCBuX2VudHJpZXMpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgY29u c3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoKPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVs X2RkaV9idWZfdHJhbnNfZW50cnkgKgo+ICBqc2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19oZG1pKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkgICAgIGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCQkgICAgIGludCAqbl9lbnRyaWVzKQo+IEBA IC0xMjQzLDcgKzEyNDMsNyBAQCBqc2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19oZG1pKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJcmV0dXJuIGljbF9jb21ib19waHlfZGRpX3RyYW5z bGF0aW9uc19oZG1pOwo+ICB9Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVm X3RyYW5zICoKPiArc3RhdGljIGNvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkg Kgo+ICBqc2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKPiAgCQkJICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs Cj4gIAkJCSAgIGludCAqbl9lbnRyaWVzKQo+IEBAIC0xMjUyLDcgKzEyNTIsNyBAQCBqc2xfZ2V0 X2NvbWJvX2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCXJl dHVybiBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMjsKPiAgfQo+ICAKPiAt c3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCj4gK3N0YXRpYyBjb25zdCB1 bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAganNsX2dldF9jb21ib19idWZfdHJh bnNfZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkgICAgY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gIAkJCSAgICBpbnQgKm5fZW50cmll cykKPiBAQCAtMTI3Miw3ICsxMjcyLDcgQEAganNsX2dldF9jb21ib19idWZfdHJhbnNfZWRwKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJcmV0dXJuIGpzbF9nZXRfY29tYm9fYnVm X3RyYW5zX2RwKGVuY29kZXIsIGNydGNfc3RhdGUsIG5fZW50cmllcyk7Cj4gIH0KPiAgCj4gLWNv bnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCj4gK2NvbnN0IHVuaW9uIGludGVsX2RkaV9i dWZfdHJhbnNfZW50cnkgKgo+ICBqc2xfZ2V0X2NvbWJvX2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUsCj4gIAkJCWludCAqbl9lbnRyaWVzKQo+IEBAIC0xMjg1LDcgKzEyODUsNyBAQCBq c2xfZ2V0X2NvbWJvX2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAg CQlyZXR1cm4ganNsX2dldF9jb21ib19idWZfdHJhbnNfZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwg bl9lbnRyaWVzKTsKPiAgfQo+ICAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90 cmFucyAqCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoK PiAgdGdsX2dldF9jb21ib19idWZfdHJhbnNfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKPiAgCQkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKPiAgCQkJICAgICBpbnQgKm5fZW50cmllcykKPiBAQCAtMTI5NCw3ICsxMjk0LDcgQEAgdGds X2dldF9jb21ib19idWZfdHJhbnNfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK PiAgCXJldHVybiBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfaGRtaTsKPiAgfQo+ICAK PiAtc3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCj4gK3N0YXRpYyBjb25z dCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgdGdsX2dldF9jb21ib19idWZf dHJhbnNfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCSAgIGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCQkgICBpbnQgKm5fZW50cmll cykKPiBAQCAtMTMyMyw3ICsxMzIzLDcgQEAgdGdsX2dldF9jb21ib19idWZfdHJhbnNfZHAoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAl9Cj4gIH0KPiAgCj4gLXN0YXRpYyBjb25z dCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgKgo+ICtzdGF0aWMgY29uc3QgdW5pb24gaW50ZWxf ZGRpX2J1Zl90cmFuc19lbnRyeSAqCj4gIHRnbF9nZXRfY29tYm9fYnVmX3RyYW5zX2VkcChzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCQkgICAgaW50ICpuX2VudHJpZXMpCj4gQEAgLTEz NDUsNyArMTM0NSw3IEBAIHRnbF9nZXRfY29tYm9fYnVmX3RyYW5zX2VkcChzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKPiAgCXJldHVybiB0Z2xfZ2V0X2NvbWJvX2J1Zl90cmFuc19kcChl bmNvZGVyLCBjcnRjX3N0YXRlLCBuX2VudHJpZXMpOwo+ICB9Cj4gIAo+IC1jb25zdCBzdHJ1Y3Qg Y25sX2RkaV9idWZfdHJhbnMgKgo+ICtjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2Vu dHJ5ICoKPiAgdGdsX2dldF9jb21ib19idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCj4gIAkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ ICAJCQlpbnQgKm5fZW50cmllcykKPiBAQCAtMTM1OCw3ICsxMzU4LDcgQEAgdGdsX2dldF9jb21i b19idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJcmV0dXJuIHRn bF9nZXRfY29tYm9fYnVmX3RyYW5zX2RwKGVuY29kZXIsIGNydGNfc3RhdGUsIG5fZW50cmllcyk7 Cj4gIH0KPiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgdGdsX2RrbF9waHlfZGRpX2J1Zl90cmFu cyAqCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAg dGdsX2dldF9ka2xfYnVmX3RyYW5zX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs Cj4gIAkJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJ CQkgICBpbnQgKm5fZW50cmllcykKPiBAQCAtMTM2Nyw3ICsxMzY3LDcgQEAgdGdsX2dldF9ka2xf YnVmX3RyYW5zX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlyZXR1cm4g dGdsX2RrbF9waHlfaGRtaV9kZGlfdHJhbnM7Cj4gIH0KPiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1 Y3QgdGdsX2RrbF9waHlfZGRpX2J1Zl90cmFucyAqCj4gK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRl bF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgdGdsX2dldF9ka2xfYnVmX3RyYW5zX2RwKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkgY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCj4gIAkJCSBpbnQgKm5fZW50cmllcykKPiBAQCAtMTM4MSw3ICsx MzgxLDcgQEAgdGdsX2dldF9ka2xfYnVmX3RyYW5zX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAo+ICAJfQo+ICB9Cj4gIAo+IC1jb25zdCBzdHJ1Y3QgdGdsX2RrbF9waHlfZGRpX2J1 Zl90cmFucyAqCj4gK2NvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgo+ICB0 Z2xfZ2V0X2RrbF9idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJ ICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gIAkJICAg ICAgaW50ICpuX2VudHJpZXMpCj4gQEAgLTEzOTIsNyArMTM5Miw3IEBAIHRnbF9nZXRfZGtsX2J1 Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQlyZXR1cm4gdGdsX2dl dF9ka2xfYnVmX3RyYW5zX2RwKGVuY29kZXIsIGNydGNfc3RhdGUsIG5fZW50cmllcyk7Cj4gIH0K PiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgdGdsX2RrbF9waHlfZGRpX2J1Zl90cmFucyAqCj4g K3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgYWRscF9n ZXRfZGtsX2J1Zl90cmFuc19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJ ICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCQkJICBpbnQg Km5fZW50cmllcykKPiBAQCAtMTQwNiw3ICsxNDA2LDcgQEAgYWRscF9nZXRfZGtsX2J1Zl90cmFu c19kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCXJldHVybiBhZGxwX2RrbF9w aHlfZHBfZGRpX3RyYW5zX2hicjsKPiAgfQo+ICAKPiAtY29uc3Qgc3RydWN0IHRnbF9ka2xfcGh5 X2RkaV9idWZfdHJhbnMgKgo+ICtjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5 ICoKPiAgYWRscF9nZXRfZGtsX2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKPiAgCQkgICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs Cj4gIAkJICAgICAgIGludCAqbl9lbnRyaWVzKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaV9idWZfdHJhbnMuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1Zl90cmFucy5oCj4gaW5kZXggNDI4ZjFmMzQzMzQxLi40 ODdhNGY4MTU0NzAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kZGlfYnVmX3RyYW5zLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2RkaV9idWZfdHJhbnMuaAo+IEBAIC00NSw1MiArNDUsNjAgQEAgc3RydWN0IHRnbF9k a2xfcGh5X2RkaV9idWZfdHJhbnMgewo+ICAJdTMyIGRrbF9kZV9lbXBoYXNpc19jb250cm9sOwo+ ICB9Owo+ICAKPiAtYm9vbCBpc19ob2JsX2J1Zl90cmFucyhjb25zdCBzdHJ1Y3QgY25sX2RkaV9i dWZfdHJhbnMgKnRhYmxlKTsKPiArdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSB7Cj4g KwlzdHJ1Y3QgaHN3X2RkaV9idWZfdHJhbnMgaHN3Owo+ICsJc3RydWN0IGJ4dF9kZGlfYnVmX3Ry YW5zIGJ4dDsKPiArCXN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBjbmw7Cj4gKwlzdHJ1Y3QgaWNs X21nX3BoeV9kZGlfYnVmX3RyYW5zIG1nOwo+ICsJc3RydWN0IHRnbF9ka2xfcGh5X2RkaV9idWZf dHJhbnMgZGtsOwo+ICt9Owo+ICsKPiArYm9vbCBpc19ob2JsX2J1Zl90cmFucyhjb25zdCB1bmlv biBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICp0YWJsZSk7Cj4gIAo+ICBpbnQgaW50ZWxfZGRp X2hkbWlfbnVtX2VudHJpZXMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCSAg ICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCQkJICAg ICAgIGludCAqZGVmYXVsdF9lbnRyeSk7Cj4gIAo+IC1jb25zdCBzdHJ1Y3QgaHN3X2RkaV9idWZf dHJhbnMgKgo+ICtjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgaHN3 X2dldF9idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJICBjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCQkgIGludCAqbl9lbnRy aWVzKTsKPiAgCj4gLWNvbnN0IHN0cnVjdCBieHRfZGRpX2J1Zl90cmFucyAqCj4gK2NvbnN0IHVu aW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgo+ICBieHRfZ2V0X2J1Zl90cmFucyhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCSAgaW50ICpuX2VudHJpZXMpOwo+ICAKPiAtY29uc3Qg c3RydWN0IHRnbF9ka2xfcGh5X2RkaV9idWZfdHJhbnMgKgo+ICtjb25zdCB1bmlvbiBpbnRlbF9k ZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgYWRscF9nZXRfZGtsX2J1Zl90cmFucyhzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkgICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCj4gIAkJICAgICAgIGludCAqbl9lbnRyaWVzKTsKPiAtY29uc3Qg c3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICoKPiArY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90 cmFuc19lbnRyeSAqCj4gIHRnbF9nZXRfY29tYm9fYnVmX3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAo+ICAJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKPiAgCQkJaW50ICpuX2VudHJpZXMpOwo+IC1jb25zdCBzdHJ1Y3QgdGdsX2RrbF9waHlf ZGRpX2J1Zl90cmFucyAqCj4gK2NvbnN0IHVuaW9uIGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkg Kgo+ICB0Z2xfZ2V0X2RrbF9idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs Cj4gIAkJICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4g IAkJICAgICAgaW50ICpuX2VudHJpZXMpOwo+IC1jb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJh bnMgKgo+ICtjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAganNsX2dl dF9jb21ib19idWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCWNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCQlpbnQgKm5fZW50 cmllcyk7Cj4gLWNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCj4gK2NvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgKgo+ICBlaGxfZ2V0X2NvbWJvX2J1Zl90cmFucyhz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gIAkJCWludCAqbl9lbnRyaWVzKTsKPiAtY29uc3Qgc3Ry dWN0IGNubF9kZGlfYnVmX3RyYW5zICoKPiArY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFu c19lbnRyeSAqCj4gIGljbF9nZXRfY29tYm9fYnVmX3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAo+ICAJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKPiAgCQkJaW50ICpuX2VudHJpZXMpOwo+IC1jb25zdCBzdHJ1Y3QgaWNsX21nX3BoeV9kZGlf YnVmX3RyYW5zICoKPiArY29uc3QgdW5pb24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSAqCj4g IGljbF9nZXRfbWdfYnVmX3RyYW5zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJ CSAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gIAkJICAg ICBpbnQgKm5fZW50cmllcyk7Cj4gIAo+IC1jb25zdCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMg Kgo+ICtjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5ICoKPiAgY25sX2dldF9i dWZfdHJhbnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJICBjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCQkgIGludCAqbl9lbnRyaWVzKTsK Ci0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgR3JhcGhpY3MgQ2VudGVyCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=