From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 6D6221B989 for ; Thu, 10 May 2018 10:11:02 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 May 2018 01:11:01 -0700 Message-Id: <0590c7$1k5bcm@orsmga001.jf.intel.com> Date: 10 May 2018 01:11:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,384,1520924400"; d="scan'208";a="54701472" Received: from unknown (HELO [127.0.1.1]) ([10.240.176.154]) by orsmga001.jf.intel.com with ESMTP; 10 May 2018 01:11:00 -0700 Content-Type: multipart/alternative; boundary="===============4229355896680540548==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org Cc: xinfengx.zhao@intel.com, zhaoyan.chen@intel.com, peipeix.lu@intel.com Subject: [dpdk-test-report] |FAILURE| pw37400[dpdk-dev, v2, 10/15] ethdev: refine TPID handling in flow API X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 May 2018 08:11:02 -0000 --===============4229355896680540548== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKaHR0cDov L2RwZGsub3JnL3BhdGNoLzM3NDAwCgpfYXBwbHkgaXNzdWVzXwoKU3VibWl0dGVyOiBBZHJpZW4g TWF6YXJndWlsIDxhZHJpZW4ubWF6YXJndWlsQDZ3aW5kLmNvbT4KRGF0ZTogMjAxOC0wNC0wNiAx MzoyNTo0NwpEUERLIGdpdCBiYXNlbGluZToKCVJlcG86ZHBkay1tYXN0ZXIsIENvbW1pdElEOiA4 ZWE0MTQzODgzMmEzNjBhZWQyYjdiYTQ5ZmI3NWUzMTBhMmZmMWRjCglSZXBvOmRwZGstbmV4dC1l dmVudGRldiwgQ29tbWl0SUQ6IDY0MGIwZDFlNTEwZTExMTY5NGMyNTE0NTQ2NmYzNzg2NzQ1Mzgz N2YKCVJlcG86ZHBkay1uZXh0LW5ldCwgQ29tbWl0SUQ6IDc3NGMxODkyYzQzNGRiYTA5OTk4Y2Nj NzZiOTU2ZmViNzIyMjQ1NzEKCVJlcG86ZHBkay1uZXh0LWNyeXB0bywgQ29tbWl0SUQ6IDcyOGNh OWIwZDVhYmVhODJjZDAxZGVlNjY0NTQ1NmE5ZDU2MjE1ZjcKCVJlcG86ZHBkay1uZXh0LXZpcnRp bywgQ29tbWl0SUQ6IDAzN2MwOTk2YmM5MjczNDJmMTU3NDI2NzM5ZTBjYjYzZjJkYjg2ODkKCipS ZXBvOiBkcGRrLW1hc3RlcgpDaGVja2luZyBwYXRjaCBhcHAvdGVzdC1wbWQvY21kbGluZV9mbG93 LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CglJVEVNX0VUSF9TUkMsCglJVEVNX0VU SF9UWVBFLAoJSVRFTV9WTEFOLAoJSVRFTV9WTEFOX1RQSUQsCglJVEVNX1ZMQU5fVENJLAotLQoJ SVRFTV9WTEFOX1ZJRCwKCUlURU1fSVBWNCwKCUlURU1fSVBWNF9UT1MsCglJVEVNX0lQVjRfVFRM LAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jOjk5CmVy cm9yOiBhcHAvdGVzdC1wbWQvY21kbGluZV9mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNo ZWNraW5nIHBhdGNoIGRvYy9ndWlkZXMvbmljcy90YXAucnN0Li4uCmVycm9yOiB3aGlsZSBzZWFy Y2hpbmcgZm9yOgpTdXBwb3J0ZWQgaXRlbXM6CgotIGV0aDogc3JjIGFuZCBkc3QgKHdpdGggdmFy aWFibGUgbWFza3MpLCBhbmQgZXRoX3R5cGUgKDB4ZmZmZiBtYXNrKS4KLSB2bGFuOiB2aWQsIHBj cCwgdHBpZCwgYnV0IG5vdCBlaWQuIChyZXF1aXJlcyBrZXJuZWwgNC45KQotIGlwdjQvNjogc3Jj IGFuZCBkc3QgKHdpdGggdmFyaWFibGUgbWFza3MpLCBhbmQgaXBfcHJvdG8gKDB4ZmZmZiBtYXNr KS4KLSB1ZHAvdGNwOiBzcmMgYW5kIGRzdCBwb3J0ICgweGZmZmYpIG1hc2suCgoKZXJyb3I6IHBh dGNoIGZhaWxlZDogZG9jL2d1aWRlcy9uaWNzL3RhcC5yc3Q6OTcKZXJyb3I6IGRvYy9ndWlkZXMv bmljcy90YXAucnN0OiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkb2MvZ3Vp ZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9y OgoKTWF0Y2hlcyBhbiBFdGhlcm5ldCBoZWFkZXIuCgotIGBgZHN0YGA6IGRlc3RpbmF0aW9uIE1B Qy4KLSBgYHNyY2BgOiBzb3VyY2UgTUFDLgotIGBgdHlwZWBgOiBFdGhlclR5cGUuCi0gRGVmYXVs dCBgYG1hc2tgYCBtYXRjaGVzIGRlc3RpbmF0aW9uIGFuZCBzb3VyY2UgYWRkcmVzc2VzIG9ubHku CgpJdGVtOiBgYFZMQU5gYAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZG9jL2d1aWRlcy9wcm9nX2d1 aWRlL3J0ZV9mbG93LnJzdDo3ODQKZXJyb3I6IGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxv dy5yc3Q6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRvYy9ndWlkZXMvdGVz dHBtZF9hcHBfdWcvdGVzdHBtZF9mdW5jcy5yc3QuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBm b3I6CgogIC0gYGBkc3Qge01BQy00OH1gYDogZGVzdGluYXRpb24gTUFDLgogIC0gYGBzcmMge01B Qy00OH1gYDogc291cmNlIE1BQy4KICAtIGBgdHlwZSB7dW5zaWduZWR9YGA6IEV0aGVyVHlwZS4K Ci0tCiAgLSBgYHZpZCB7dW5zaWduZWR9YGA6IFZMQU4gaWRlbnRpZmllci4KCi0gYGBpcHY0YGA6 IG1hdGNoIElQdjQgaGVhZGVyLgoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRvYy9ndWlkZXMvdGVz dHBtZF9hcHBfdWcvdGVzdHBtZF9mdW5jcy5yc3Q6MzIyMwplcnJvcjogZG9jL2d1aWRlcy90ZXN0 cG1kX2FwcF91Zy90ZXN0cG1kX2Z1bmNzLnJzdDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tp bmcgcGF0Y2ggZHJpdmVycy9uZXQvYm54dC9ibnh0X2ZpbHRlci5jLi4uCmVycm9yOiB3aGlsZSBz ZWFyY2hpbmcgZm9yOgoJdWludDMyX3QgdmYgPSAwOwoJaW50IHVzZV9udHVwbGU7Cgl1aW50MzJf dCBlbiA9IDA7CglpbnQgZGZsdF92bmljOwoKCXVzZV9udHVwbGUgPSBibnh0X2ZpbHRlcl90eXBl X2NoZWNrKHBhdHRlcm4sIGVycm9yKTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0 L2JueHQvYm54dF9maWx0ZXIuYzoyOTkKZXJyb3I6IGRyaXZlcnMvbmV0L2JueHQvYm54dF9maWx0 ZXIuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvZW5p Yy9lbmljX2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCWlmICghc3BlYykK CQlyZXR1cm4gMDsKCgkvKiBEb24ndCBzdXBwb3J0IGZpbHRlcmluZyBpbiB0cGlkICovCglpZiAo bWFzaykgewotLQoJaWYgKCppbm5lcl9vZnN0ID09IDApIHsKCQkvKiBPdXRlciBoZWFkZXIuIFVz ZSB0aGUgdmxhbiBtYXNrL3ZhbCBmaWVsZHMgKi8KCQlncC0+bWFza192bGFuID0gbWFzay0+dGNp OwoJCWdwLT52YWxfdmxhbiA9IHNwZWMtPnRjaTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZl cnMvbmV0L2VuaWMvZW5pY19mbG93LmM6NTQ1CmVycm9yOiBkcml2ZXJzL25ldC9lbmljL2VuaWNf Zmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9p NDBlL2k0MGVfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgojaW5jbHVkZSA8 dW5pc3RkLmg+CiNpbmNsdWRlIDxzdGRhcmcuaD4KCiNpbmNsdWRlIDxydGVfZXRoZXIuaD4KI2lu Y2x1ZGUgPHJ0ZV9ldGhkZXZfZHJpdmVyLmg+CiNpbmNsdWRlIDxydGVfbG9nLmg+CgplcnJvcjog cGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9pNDBlL2k0MGVfZmxvdy5jOjEwCmVycm9yOiBkcml2 ZXJzL25ldC9pNDBlL2k0MGVfZmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBw YXRjaCBkcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYy4uLgplcnJvcjogd2hpbGUgc2Vh cmNoaW5nIGZvcjoKCiNkZWZpbmUgSVhHQkVfVlRfQ1RMX1BPT0xJTkdfTU9ERV9NQVNLICAgICAg ICAgMHgwMDAzMDAwMAojZGVmaW5lIElYR0JFX1ZUX0NUTF9QT09MSU5HX01PREVfRVRBRyAgICAg ICAgIDB4MDAwMTAwMDAKI2RlZmluZSBERUZBVUxUX0VUQUdfRVRZUEUgICAgICAgICAgICAgICAg ICAgICAweDg5M2YKI2RlZmluZSBJWEdCRV9FVEFHX0VUWVBFICAgICAgICAgICAgICAgICAgICAg ICAweDAwMDA1MDg0CiNkZWZpbmUgSVhHQkVfRVRBR19FVFlQRV9NQVNLICAgICAgICAgICAgICAg ICAgMHgwMDAwZmZmZgojZGVmaW5lIElYR0JFX0VUQUdfRVRZUEVfVkFMSUQgICAgICAgICAgICAg ICAgIDB4ODAwMDAwMDAKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2l4Z2JlL2l4 Z2JlX2V0aGRldi5jOjExNQplcnJvcjogZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmM6 IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4 NV9mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNwcmFnbWEgR0NDIGRpYWdu b3N0aWMgZXJyb3IgIi1XcGVkYW50aWMiCiNlbmRpZgoKI2luY2x1ZGUgPHJ0ZV9jb21tb24uaD4K I2luY2x1ZGUgPHJ0ZV9ldGhfY3RybC5oPgojaW5jbHVkZSA8cnRlX2V0aGRldl9kcml2ZXIuaD4K I2luY2x1ZGUgPHJ0ZV9mbG93Lmg+CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9t bHg1L21seDVfZmxvdy5jOjE3CmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jOiBw YXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tdnBwMi9tcnZs X2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCWlmIChyZXQpCgkJcmV0dXJu IHJldDsKCglpZiAobWFzay0+dHBpZCkgewoJCXJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwgRUlO VkFMLCBSVEVfRkxPV19FUlJPUl9UWVBFX0lURU0sCgkJCQkgICBOVUxMLCAiTm90IHN1cHBvcnRl ZCBieSBjbGFzc2lmaWVyXG4iKTsKCQlyZXR1cm4gLXJ0ZV9lcnJubzsKCX0KCgltID0gcnRlX2Jl X3RvX2NwdV8xNihtYXNrLT50Y2kpOwoJaWYgKG0gJiBNUlZMX1ZMQU5fSURfTUFTSykgewoJCVJU RV9MT0coV0FSTklORywgUE1ELCAidmxhbiBpZCBtYXNrIGlzIGlnbm9yZWRcbiIpOwoKZXJyb3I6 IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvbXZwcDIvbXJ2bF9mbG93LmM6MTA5MQplcnJvcjog ZHJpdmVycy9uZXQvbXZwcDIvbXJ2bF9mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNr aW5nIHBhdGNoIGRyaXZlcnMvbmV0L3NmYy9zZmNfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFy Y2hpbmcgZm9yOgogKiBmb3IgU29sYXJmbGFyZSkgYW5kIFNvbGFyZmxhcmUgQ29tbXVuaWNhdGlv bnMsIEluYy4KICovCgojaW5jbHVkZSA8cnRlX3RhaWxxLmg+CiNpbmNsdWRlIDxydGVfY29tbW9u Lmg+CiNpbmNsdWRlIDxydGVfZXRoZGV2X2RyaXZlci5oPgoKZXJyb3I6IHBhdGNoIGZhaWxlZDog ZHJpdmVycy9uZXQvc2ZjL3NmY19mbG93LmM6NwplcnJvcjogZHJpdmVycy9uZXQvc2ZjL3NmY19m bG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3Rh cC90YXBfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCS5pdGVtcyA9IElU RU1TKFJURV9GTE9XX0lURU1fVFlQRV9JUFY0LAoJCQkgICAgICAgUlRFX0ZMT1dfSVRFTV9UWVBF X0lQVjYpLAoJCS5tYXNrID0gJihjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV92bGFuKXsKCQkJ LnRwaWQgPSAtMSwKCQkJLyogREVJIG1hdGNoaW5nIGlzIG5vdCBzdXBwb3J0ZWQgKi8KLS0KI2Vu ZGlmCgkJfSwKCQkubWFza19zeiA9IHNpemVvZihzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV92bGFuKSwK CQkuZGVmYXVsdF9tYXNrID0gJnJ0ZV9mbG93X2l0ZW1fdmxhbl9tYXNrLAoKZXJyb3I6IHBhdGNo IGZhaWxlZDogZHJpdmVycy9uZXQvdGFwL3RhcF9mbG93LmM6MjcwCmVycm9yOiBkcml2ZXJzL25l dC90YXAvdGFwX2Zsb3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggbGli L2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5oLi4uCmVycm9yOiBsaWIvbGlicnRlX2V0aGVyL3J0ZV9m bG93Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKQ2hlY2tpbmcgcGF0Y2ggbGliL2xpYnJ0 ZV9uZXQvcnRlX2V0aGVyLmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNkZWZpbmUg RVRIRVJfVFlQRV9SQVJQIDB4ODAzNSAvKio8IFJldmVyc2UgQXJwIFByb3RvY29sLiAqLwojZGVm aW5lIEVUSEVSX1RZUEVfVkxBTiAweDgxMDAgLyoqPCBJRUVFIDgwMi4xUSBWTEFOIHRhZ2dpbmcu ICovCiNkZWZpbmUgRVRIRVJfVFlQRV9RSU5RIDB4ODhBOCAvKio8IElFRUUgODAyLjFhZCBRaW5R IHRhZ2dpbmcuICovCiNkZWZpbmUgRVRIRVJfVFlQRV8xNTg4IDB4ODhGNyAvKio8IElFRUUgODAy LjFBUyAxNTg4IFByZWNpc2UgVGltZSBQcm90b2NvbC4gKi8KI2RlZmluZSBFVEhFUl9UWVBFX1NM T1cgMHg4ODA5IC8qKjwgU2xvdyBwcm90b2NvbHMgKExBQ1AgYW5kIE1hcmtlcikuICovCiNkZWZp bmUgRVRIRVJfVFlQRV9URUIgIDB4NjU1OCAvKio8IFRyYW5zcGFyZW50IEV0aGVybmV0IEJyaWRn aW5nLiAqLwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogbGliL2xpYnJ0ZV9uZXQvcnRlX2V0aGVyLmg6 MzAxCmVycm9yOiBsaWIvbGlicnRlX25ldC9ydGVfZXRoZXIuaDogcGF0Y2ggZG9lcyBub3QgYXBw bHkKKlJlcG86IGRwZGstbmV4dC1ldmVudGRldgpDaGVja2luZyBwYXRjaCBhcHAvdGVzdC1wbWQv Y21kbGluZV9mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CglJVEVNX0VUSF9T UkMsCglJVEVNX0VUSF9UWVBFLAoJSVRFTV9WTEFOLAoJSVRFTV9WTEFOX1RQSUQsCglJVEVNX1ZM QU5fVENJLAotLQoJSVRFTV9WTEFOX1ZJRCwKCUlURU1fSVBWNCwKCUlURU1fSVBWNF9UT1MsCglJ VEVNX0lQVjRfVFRMLAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogYXBwL3Rlc3QtcG1kL2NtZGxpbmVf Zmxvdy5jOjk5CmVycm9yOiBhcHAvdGVzdC1wbWQvY21kbGluZV9mbG93LmM6IHBhdGNoIGRvZXMg bm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRvYy9ndWlkZXMvbmljcy90YXAucnN0Li4uCmVycm9y OiB3aGlsZSBzZWFyY2hpbmcgZm9yOgpTdXBwb3J0ZWQgaXRlbXM6CgotIGV0aDogc3JjIGFuZCBk c3QgKHdpdGggdmFyaWFibGUgbWFza3MpLCBhbmQgZXRoX3R5cGUgKDB4ZmZmZiBtYXNrKS4KLSB2 bGFuOiB2aWQsIHBjcCwgdHBpZCwgYnV0IG5vdCBlaWQuIChyZXF1aXJlcyBrZXJuZWwgNC45KQot IGlwdjQvNjogc3JjIGFuZCBkc3QgKHdpdGggdmFyaWFibGUgbWFza3MpLCBhbmQgaXBfcHJvdG8g KDB4ZmZmZiBtYXNrKS4KLSB1ZHAvdGNwOiBzcmMgYW5kIGRzdCBwb3J0ICgweGZmZmYpIG1hc2su CgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZG9jL2d1aWRlcy9uaWNzL3RhcC5yc3Q6OTcKZXJyb3I6 IGRvYy9ndWlkZXMvbmljcy90YXAucnN0OiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBw YXRjaCBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0Li4uCmVycm9yOiB3aGlsZSBz ZWFyY2hpbmcgZm9yOgoKTWF0Y2hlcyBhbiBFdGhlcm5ldCBoZWFkZXIuCgotIGBgZHN0YGA6IGRl c3RpbmF0aW9uIE1BQy4KLSBgYHNyY2BgOiBzb3VyY2UgTUFDLgotIGBgdHlwZWBgOiBFdGhlclR5 cGUuCi0gRGVmYXVsdCBgYG1hc2tgYCBtYXRjaGVzIGRlc3RpbmF0aW9uIGFuZCBzb3VyY2UgYWRk cmVzc2VzIG9ubHkuCgpJdGVtOiBgYFZMQU5gYAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZG9jL2d1 aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdDo3ODQKZXJyb3I6IGRvYy9ndWlkZXMvcHJvZ19n dWlkZS9ydGVfZmxvdy5yc3Q6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRv Yy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBtZF9mdW5jcy5yc3QuLi4KZXJyb3I6IHdoaWxl IHNlYXJjaGluZyBmb3I6CgogIC0gYGBkc3Qge01BQy00OH1gYDogZGVzdGluYXRpb24gTUFDLgog IC0gYGBzcmMge01BQy00OH1gYDogc291cmNlIE1BQy4KICAtIGBgdHlwZSB7dW5zaWduZWR9YGA6 IEV0aGVyVHlwZS4KCi0tCiAgLSBgYHZpZCB7dW5zaWduZWR9YGA6IFZMQU4gaWRlbnRpZmllci4K Ci0gYGBpcHY0YGA6IG1hdGNoIElQdjQgaGVhZGVyLgoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRv Yy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBtZF9mdW5jcy5yc3Q6MzIyMwplcnJvcjogZG9j L2d1aWRlcy90ZXN0cG1kX2FwcF91Zy90ZXN0cG1kX2Z1bmNzLnJzdDogcGF0Y2ggZG9lcyBub3Qg YXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvYm54dC9ibnh0X2ZpbHRlci5jLi4uCmVy cm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJdWludDMyX3QgdmYgPSAwOwoJaW50IHVzZV9udHVw bGU7Cgl1aW50MzJfdCBlbiA9IDA7CglpbnQgZGZsdF92bmljOwoKCXVzZV9udHVwbGUgPSBibnh0 X2ZpbHRlcl90eXBlX2NoZWNrKHBhdHRlcm4sIGVycm9yKTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6 IGRyaXZlcnMvbmV0L2JueHQvYm54dF9maWx0ZXIuYzoyOTkKZXJyb3I6IGRyaXZlcnMvbmV0L2Ju eHQvYm54dF9maWx0ZXIuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJp dmVycy9uZXQvZW5pYy9lbmljX2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoK CWlmICghc3BlYykKCQlyZXR1cm4gMDsKCgkvKiBEb24ndCBzdXBwb3J0IGZpbHRlcmluZyBpbiB0 cGlkICovCglpZiAobWFzaykgewotLQoJaWYgKCppbm5lcl9vZnN0ID09IDApIHsKCQkvKiBPdXRl ciBoZWFkZXIuIFVzZSB0aGUgdmxhbiBtYXNrL3ZhbCBmaWVsZHMgKi8KCQlncC0+bWFza192bGFu ID0gbWFzay0+dGNpOwoJCWdwLT52YWxfdmxhbiA9IHNwZWMtPnRjaTsKCmVycm9yOiBwYXRjaCBm YWlsZWQ6IGRyaXZlcnMvbmV0L2VuaWMvZW5pY19mbG93LmM6NTQ1CmVycm9yOiBkcml2ZXJzL25l dC9lbmljL2VuaWNfZmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBk cml2ZXJzL25ldC9pNDBlL2k0MGVfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9y OgojaW5jbHVkZSA8dW5pc3RkLmg+CiNpbmNsdWRlIDxzdGRhcmcuaD4KCiNpbmNsdWRlIDxydGVf ZXRoZXIuaD4KI2luY2x1ZGUgPHJ0ZV9ldGhkZXZfZHJpdmVyLmg+CiNpbmNsdWRlIDxydGVfbG9n Lmg+CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9pNDBlL2k0MGVfZmxvdy5jOjEw CmVycm9yOiBkcml2ZXJzL25ldC9pNDBlL2k0MGVfZmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBs eQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYy4uLgplcnJv cjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCiNkZWZpbmUgSVhHQkVfVlRfQ1RMX1BPT0xJTkdfTU9E RV9NQVNLICAgICAgICAgMHgwMDAzMDAwMAojZGVmaW5lIElYR0JFX1ZUX0NUTF9QT09MSU5HX01P REVfRVRBRyAgICAgICAgIDB4MDAwMTAwMDAKI2RlZmluZSBERUZBVUxUX0VUQUdfRVRZUEUgICAg ICAgICAgICAgICAgICAgICAweDg5M2YKI2RlZmluZSBJWEdCRV9FVEFHX0VUWVBFICAgICAgICAg ICAgICAgICAgICAgICAweDAwMDA1MDg0CiNkZWZpbmUgSVhHQkVfRVRBR19FVFlQRV9NQVNLICAg ICAgICAgICAgICAgICAgMHgwMDAwZmZmZgojZGVmaW5lIElYR0JFX0VUQUdfRVRZUEVfVkFMSUQg ICAgICAgICAgICAgICAgIDB4ODAwMDAwMDAKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMv bmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jOjExNQplcnJvcjogZHJpdmVycy9uZXQvaXhnYmUvaXhn YmVfZXRoZGV2LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMv bmV0L21seDUvbWx4NV9mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNwcmFn bWEgR0NDIGRpYWdub3N0aWMgZXJyb3IgIi1XcGVkYW50aWMiCiNlbmRpZgoKI2luY2x1ZGUgPHJ0 ZV9jb21tb24uaD4KI2luY2x1ZGUgPHJ0ZV9ldGhfY3RybC5oPgojaW5jbHVkZSA8cnRlX2V0aGRl dl9kcml2ZXIuaD4KI2luY2x1ZGUgPHJ0ZV9mbG93Lmg+CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBk cml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jOjE3CmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L21s eDVfZmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25l dC9tdnBwMi9tcnZsX2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCWlmIChy ZXQpCgkJcmV0dXJuIHJldDsKCglpZiAobWFzay0+dHBpZCkgewoJCXJ0ZV9mbG93X2Vycm9yX3Nl dChlcnJvciwgRUlOVkFMLCBSVEVfRkxPV19FUlJPUl9UWVBFX0lURU0sCgkJCQkgICBOVUxMLCAi Tm90IHN1cHBvcnRlZCBieSBjbGFzc2lmaWVyXG4iKTsKCQlyZXR1cm4gLXJ0ZV9lcnJubzsKCX0K CgltID0gcnRlX2JlX3RvX2NwdV8xNihtYXNrLT50Y2kpOwoJaWYgKG0gJiBNUlZMX1ZMQU5fSURf TUFTSykgewoJCVJURV9MT0coV0FSTklORywgUE1ELCAidmxhbiBpZCBtYXNrIGlzIGlnbm9yZWRc biIpOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvbXZwcDIvbXJ2bF9mbG93LmM6 MTA5MQplcnJvcjogZHJpdmVycy9uZXQvbXZwcDIvbXJ2bF9mbG93LmM6IHBhdGNoIGRvZXMgbm90 IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3NmYy9zZmNfZmxvdy5jLi4uCmVycm9y OiB3aGlsZSBzZWFyY2hpbmcgZm9yOgogKiBmb3IgU29sYXJmbGFyZSkgYW5kIFNvbGFyZmxhcmUg Q29tbXVuaWNhdGlvbnMsIEluYy4KICovCgojaW5jbHVkZSA8cnRlX3RhaWxxLmg+CiNpbmNsdWRl IDxydGVfY29tbW9uLmg+CiNpbmNsdWRlIDxydGVfZXRoZGV2X2RyaXZlci5oPgoKZXJyb3I6IHBh dGNoIGZhaWxlZDogZHJpdmVycy9uZXQvc2ZjL3NmY19mbG93LmM6NwplcnJvcjogZHJpdmVycy9u ZXQvc2ZjL3NmY19mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRy aXZlcnMvbmV0L3RhcC90YXBfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJ CS5pdGVtcyA9IElURU1TKFJURV9GTE9XX0lURU1fVFlQRV9JUFY0LAoJCQkgICAgICAgUlRFX0ZM T1dfSVRFTV9UWVBFX0lQVjYpLAoJCS5tYXNrID0gJihjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfaXRl bV92bGFuKXsKCQkJLnRwaWQgPSAtMSwKCQkJLyogREVJIG1hdGNoaW5nIGlzIG5vdCBzdXBwb3J0 ZWQgKi8KLS0KI2VuZGlmCgkJfSwKCQkubWFza19zeiA9IHNpemVvZihzdHJ1Y3QgcnRlX2Zsb3df aXRlbV92bGFuKSwKCQkuZGVmYXVsdF9tYXNrID0gJnJ0ZV9mbG93X2l0ZW1fdmxhbl9tYXNrLAoK ZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvdGFwL3RhcF9mbG93LmM6MjcwCmVycm9y OiBkcml2ZXJzL25ldC90YXAvdGFwX2Zsb3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tp bmcgcGF0Y2ggbGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5oLi4uCmVycm9yOiBsaWIvbGlicnRl X2V0aGVyL3J0ZV9mbG93Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKQ2hlY2tpbmcgcGF0 Y2ggbGliL2xpYnJ0ZV9uZXQvcnRlX2V0aGVyLmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBm b3I6CiNkZWZpbmUgRVRIRVJfVFlQRV9SQVJQIDB4ODAzNSAvKio8IFJldmVyc2UgQXJwIFByb3Rv Y29sLiAqLwojZGVmaW5lIEVUSEVSX1RZUEVfVkxBTiAweDgxMDAgLyoqPCBJRUVFIDgwMi4xUSBW TEFOIHRhZ2dpbmcuICovCiNkZWZpbmUgRVRIRVJfVFlQRV9RSU5RIDB4ODhBOCAvKio8IElFRUUg ODAyLjFhZCBRaW5RIHRhZ2dpbmcuICovCiNkZWZpbmUgRVRIRVJfVFlQRV8xNTg4IDB4ODhGNyAv Kio8IElFRUUgODAyLjFBUyAxNTg4IFByZWNpc2UgVGltZSBQcm90b2NvbC4gKi8KI2RlZmluZSBF VEhFUl9UWVBFX1NMT1cgMHg4ODA5IC8qKjwgU2xvdyBwcm90b2NvbHMgKExBQ1AgYW5kIE1hcmtl cikuICovCiNkZWZpbmUgRVRIRVJfVFlQRV9URUIgIDB4NjU1OCAvKio8IFRyYW5zcGFyZW50IEV0 aGVybmV0IEJyaWRnaW5nLiAqLwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogbGliL2xpYnJ0ZV9uZXQv cnRlX2V0aGVyLmg6MzAxCmVycm9yOiBsaWIvbGlicnRlX25ldC9ydGVfZXRoZXIuaDogcGF0Y2gg ZG9lcyBub3QgYXBwbHkKKlJlcG86IGRwZGstbmV4dC1uZXQKQ2hlY2tpbmcgcGF0Y2ggYXBwL3Rl c3QtcG1kL2NtZGxpbmVfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJSVRF TV9FVEhfU1JDLAoJSVRFTV9FVEhfVFlQRSwKCUlURU1fVkxBTiwKCUlURU1fVkxBTl9UUElELAoJ SVRFTV9WTEFOX1RDSSwKLS0KCUlURU1fVkxBTl9WSUQsCglJVEVNX0lQVjQsCglJVEVNX0lQVjRf VE9TLAoJSVRFTV9JUFY0X1RUTCwKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGFwcC90ZXN0LXBtZC9j bWRsaW5lX2Zsb3cuYzo5OQplcnJvcjogYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jOiBwYXRj aCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkb2MvZ3VpZGVzL25pY3MvdGFwLnJzdC4u LgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKU3VwcG9ydGVkIGl0ZW1zOgoKLSBldGg6IHNy YyBhbmQgZHN0ICh3aXRoIHZhcmlhYmxlIG1hc2tzKSwgYW5kIGV0aF90eXBlICgweGZmZmYgbWFz aykuCi0gdmxhbjogdmlkLCBwY3AsIHRwaWQsIGJ1dCBub3QgZWlkLiAocmVxdWlyZXMga2VybmVs IDQuOSkKLSBpcHY0LzY6IHNyYyBhbmQgZHN0ICh3aXRoIHZhcmlhYmxlIG1hc2tzKSwgYW5kIGlw X3Byb3RvICgweGZmZmYgbWFzaykuCi0gdWRwL3RjcDogc3JjIGFuZCBkc3QgcG9ydCAoMHhmZmZm KSBtYXNrLgoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRvYy9ndWlkZXMvbmljcy90YXAucnN0Ojk3 CmVycm9yOiBkb2MvZ3VpZGVzL25pY3MvdGFwLnJzdDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hl Y2tpbmcgcGF0Y2ggZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdC4uLgplcnJvcjog d2hpbGUgc2VhcmNoaW5nIGZvcjoKCk1hdGNoZXMgYW4gRXRoZXJuZXQgaGVhZGVyLgoKLSBgYGRz dGBgOiBkZXN0aW5hdGlvbiBNQUMuCi0gYGBzcmNgYDogc291cmNlIE1BQy4KLSBgYHR5cGVgYDog RXRoZXJUeXBlLgotIERlZmF1bHQgYGBtYXNrYGAgbWF0Y2hlcyBkZXN0aW5hdGlvbiBhbmQgc291 cmNlIGFkZHJlc3NlcyBvbmx5LgoKSXRlbTogYGBWTEFOYGAKCmVycm9yOiBwYXRjaCBmYWlsZWQ6 IGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3Q6Nzg0CmVycm9yOiBkb2MvZ3VpZGVz L3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0OiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBw YXRjaCBkb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0Li4uCmVycm9y OiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoKICAtIGBgZHN0IHtNQUMtNDh9YGA6IGRlc3RpbmF0aW9u IE1BQy4KICAtIGBgc3JjIHtNQUMtNDh9YGA6IHNvdXJjZSBNQUMuCiAgLSBgYHR5cGUge3Vuc2ln bmVkfWBgOiBFdGhlclR5cGUuCgotLQogIC0gYGB2aWQge3Vuc2lnbmVkfWBgOiBWTEFOIGlkZW50 aWZpZXIuCgotIGBgaXB2NGBgOiBtYXRjaCBJUHY0IGhlYWRlci4KCgplcnJvcjogcGF0Y2ggZmFp bGVkOiBkb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0OjMyMjMKZXJy b3I6IGRvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBtZF9mdW5jcy5yc3Q6IHBhdGNoIGRv ZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2JueHQvYm54dF9maWx0ZXIu Yy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCXVpbnQzMl90IHZmID0gMDsKCWludCB1 c2VfbnR1cGxlOwoJdWludDMyX3QgZW4gPSAwOwoJaW50IGRmbHRfdm5pYzsKCgl1c2VfbnR1cGxl ID0gYm54dF9maWx0ZXJfdHlwZV9jaGVjayhwYXR0ZXJuLCBlcnJvcik7CgplcnJvcjogcGF0Y2gg ZmFpbGVkOiBkcml2ZXJzL25ldC9ibnh0L2JueHRfZmlsdGVyLmM6Mjk5CmVycm9yOiBkcml2ZXJz L25ldC9ibnh0L2JueHRfZmlsdGVyLmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBh dGNoIGRyaXZlcnMvbmV0L2VuaWMvZW5pY19mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGlu ZyBmb3I6CglpZiAoIXNwZWMpCgkJcmV0dXJuIDA7CgoJLyogRG9uJ3Qgc3VwcG9ydCBmaWx0ZXJp bmcgaW4gdHBpZCAqLwoJaWYgKG1hc2spIHsKLS0KCWlmICgqaW5uZXJfb2ZzdCA9PSAwKSB7CgkJ LyogT3V0ZXIgaGVhZGVyLiBVc2UgdGhlIHZsYW4gbWFzay92YWwgZmllbGRzICovCgkJZ3AtPm1h c2tfdmxhbiA9IG1hc2stPnRjaTsKCQlncC0+dmFsX3ZsYW4gPSBzcGVjLT50Y2k7CgplcnJvcjog cGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9lbmljL2VuaWNfZmxvdy5jOjU0NQplcnJvcjogZHJp dmVycy9uZXQvZW5pYy9lbmljX2Zsb3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcg cGF0Y2ggZHJpdmVycy9uZXQvaTQwZS9pNDBlX2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNo aW5nIGZvcjoKI2luY2x1ZGUgPHVuaXN0ZC5oPgojaW5jbHVkZSA8c3RkYXJnLmg+CgojaW5jbHVk ZSA8cnRlX2V0aGVyLmg+CiNpbmNsdWRlIDxydGVfZXRoZGV2X2RyaXZlci5oPgojaW5jbHVkZSA8 cnRlX2xvZy5oPgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvaTQwZS9pNDBlX2Zs b3cuYzoxMAplcnJvcjogZHJpdmVycy9uZXQvaTQwZS9pNDBlX2Zsb3cuYzogcGF0Y2ggZG9lcyBu b3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmMu Li4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgojZGVmaW5lIElYR0JFX1ZUX0NUTF9QT09M SU5HX01PREVfTUFTSyAgICAgICAgIDB4MDAwMzAwMDAKI2RlZmluZSBJWEdCRV9WVF9DVExfUE9P TElOR19NT0RFX0VUQUcgICAgICAgICAweDAwMDEwMDAwCiNkZWZpbmUgREVGQVVMVF9FVEFHX0VU WVBFICAgICAgICAgICAgICAgICAgICAgMHg4OTNmCiNkZWZpbmUgSVhHQkVfRVRBR19FVFlQRSAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwNTA4NAojZGVmaW5lIElYR0JFX0VUQUdfRVRZUEVf TUFTSyAgICAgICAgICAgICAgICAgIDB4MDAwMGZmZmYKI2RlZmluZSBJWEdCRV9FVEFHX0VUWVBF X1ZBTElEICAgICAgICAgICAgICAgICAweDgwMDAwMDAwCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBk cml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYzoxMTUKZXJyb3I6IGRyaXZlcnMvbmV0L2l4 Z2JlL2l4Z2JlX2V0aGRldi5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBk cml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9y OgojcHJhZ21hIEdDQyBkaWFnbm9zdGljIGVycm9yICItV3BlZGFudGljIgojZW5kaWYKCiNpbmNs dWRlIDxydGVfY29tbW9uLmg+CiNpbmNsdWRlIDxydGVfZXRoX2N0cmwuaD4KI2luY2x1ZGUgPHJ0 ZV9ldGhkZXZfZHJpdmVyLmg+CiNpbmNsdWRlIDxydGVfZmxvdy5oPgoKZXJyb3I6IHBhdGNoIGZh aWxlZDogZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYzoxNwplcnJvcjogZHJpdmVycy9uZXQv bWx4NS9tbHg1X2Zsb3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJp dmVycy9uZXQvbXZwcDIvbXJ2bF9mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6 CglpZiAocmV0KQoJCXJldHVybiByZXQ7CgoJaWYgKG1hc2stPnRwaWQpIHsKCQlydGVfZmxvd19l cnJvcl9zZXQoZXJyb3IsIEVJTlZBTCwgUlRFX0ZMT1dfRVJST1JfVFlQRV9JVEVNLAoJCQkJICAg TlVMTCwgIk5vdCBzdXBwb3J0ZWQgYnkgY2xhc3NpZmllclxuIik7CgkJcmV0dXJuIC1ydGVfZXJy bm87Cgl9CgoJbSA9IHJ0ZV9iZV90b19jcHVfMTYobWFzay0+dGNpKTsKCWlmIChtICYgTVJWTF9W TEFOX0lEX01BU0spIHsKCQlSVEVfTE9HKFdBUk5JTkcsIFBNRCwgInZsYW4gaWQgbWFzayBpcyBp Z25vcmVkXG4iKTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L212cHAyL21ydmxf Zmxvdy5jOjEwOTEKZXJyb3I6IGRyaXZlcnMvbmV0L212cHAyL21ydmxfZmxvdy5jOiBwYXRjaCBk b2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9zZmMvc2ZjX2Zsb3cuYy4u LgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKICogZm9yIFNvbGFyZmxhcmUpIGFuZCBTb2xh cmZsYXJlIENvbW11bmljYXRpb25zLCBJbmMuCiAqLwoKI2luY2x1ZGUgPHJ0ZV90YWlscS5oPgoj aW5jbHVkZSA8cnRlX2NvbW1vbi5oPgojaW5jbHVkZSA8cnRlX2V0aGRldl9kcml2ZXIuaD4KCmVy cm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3NmYy9zZmNfZmxvdy5jOjcKZXJyb3I6IGRy aXZlcnMvbmV0L3NmYy9zZmNfZmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBw YXRjaCBkcml2ZXJzL25ldC90YXAvdGFwX2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5n IGZvcjoKCQkuaXRlbXMgPSBJVEVNUyhSVEVfRkxPV19JVEVNX1RZUEVfSVBWNCwKCQkJICAgICAg IFJURV9GTE9XX0lURU1fVFlQRV9JUFY2KSwKCQkubWFzayA9ICYoY29uc3Qgc3RydWN0IHJ0ZV9m bG93X2l0ZW1fdmxhbil7CgkJCS50cGlkID0gLTEsCgkJCS8qIERFSSBtYXRjaGluZyBpcyBub3Qg c3VwcG9ydGVkICovCi0tCiNlbmRpZgoJCX0sCgkJLm1hc2tfc3ogPSBzaXplb2Yoc3RydWN0IHJ0 ZV9mbG93X2l0ZW1fdmxhbiksCgkJLmRlZmF1bHRfbWFzayA9ICZydGVfZmxvd19pdGVtX3ZsYW5f bWFzaywKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L3RhcC90YXBfZmxvdy5jOjI3 MAplcnJvcjogZHJpdmVycy9uZXQvdGFwL3RhcF9mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5 CkNoZWNraW5nIHBhdGNoIGxpYi9saWJydGVfZXRoZXIvcnRlX2Zsb3cuaC4uLgplcnJvcjogbGli L2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CkNoZWNr aW5nIHBhdGNoIGxpYi9saWJydGVfbmV0L3J0ZV9ldGhlci5oLi4uCmVycm9yOiB3aGlsZSBzZWFy Y2hpbmcgZm9yOgojZGVmaW5lIEVUSEVSX1RZUEVfUkFSUCAweDgwMzUgLyoqPCBSZXZlcnNlIEFy cCBQcm90b2NvbC4gKi8KI2RlZmluZSBFVEhFUl9UWVBFX1ZMQU4gMHg4MTAwIC8qKjwgSUVFRSA4 MDIuMVEgVkxBTiB0YWdnaW5nLiAqLwojZGVmaW5lIEVUSEVSX1RZUEVfUUlOUSAweDg4QTggLyoq PCBJRUVFIDgwMi4xYWQgUWluUSB0YWdnaW5nLiAqLwojZGVmaW5lIEVUSEVSX1RZUEVfMTU4OCAw eDg4RjcgLyoqPCBJRUVFIDgwMi4xQVMgMTU4OCBQcmVjaXNlIFRpbWUgUHJvdG9jb2wuICovCiNk ZWZpbmUgRVRIRVJfVFlQRV9TTE9XIDB4ODgwOSAvKio8IFNsb3cgcHJvdG9jb2xzIChMQUNQIGFu ZCBNYXJrZXIpLiAqLwojZGVmaW5lIEVUSEVSX1RZUEVfVEVCICAweDY1NTggLyoqPCBUcmFuc3Bh cmVudCBFdGhlcm5ldCBCcmlkZ2luZy4gKi8KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGxpYi9saWJy dGVfbmV0L3J0ZV9ldGhlci5oOjMwMQplcnJvcjogbGliL2xpYnJ0ZV9uZXQvcnRlX2V0aGVyLmg6 IHBhdGNoIGRvZXMgbm90IGFwcGx5CipSZXBvOiBkcGRrLW5leHQtY3J5cHRvCkNoZWNraW5nIHBh dGNoIGFwcC90ZXN0LXBtZC9jbWRsaW5lX2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5n IGZvcjoKCUlURU1fRVRIX1NSQywKCUlURU1fRVRIX1RZUEUsCglJVEVNX1ZMQU4sCglJVEVNX1ZM QU5fVFBJRCwKCUlURU1fVkxBTl9UQ0ksCi0tCglJVEVNX1ZMQU5fVklELAoJSVRFTV9JUFY0LAoJ SVRFTV9JUFY0X1RPUywKCUlURU1fSVBWNF9UVEwsCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBhcHAv dGVzdC1wbWQvY21kbGluZV9mbG93LmM6OTkKZXJyb3I6IGFwcC90ZXN0LXBtZC9jbWRsaW5lX2Zs b3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZG9jL2d1aWRlcy9uaWNz L3RhcC5yc3QuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6ClN1cHBvcnRlZCBpdGVtczoK Ci0gZXRoOiBzcmMgYW5kIGRzdCAod2l0aCB2YXJpYWJsZSBtYXNrcyksIGFuZCBldGhfdHlwZSAo MHhmZmZmIG1hc2spLgotIHZsYW46IHZpZCwgcGNwLCB0cGlkLCBidXQgbm90IGVpZC4gKHJlcXVp cmVzIGtlcm5lbCA0LjkpCi0gaXB2NC82OiBzcmMgYW5kIGRzdCAod2l0aCB2YXJpYWJsZSBtYXNr cyksIGFuZCBpcF9wcm90byAoMHhmZmZmIG1hc2spLgotIHVkcC90Y3A6IHNyYyBhbmQgZHN0IHBv cnQgKDB4ZmZmZikgbWFzay4KCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkb2MvZ3VpZGVzL25pY3Mv dGFwLnJzdDo5NwplcnJvcjogZG9jL2d1aWRlcy9uaWNzL3RhcC5yc3Q6IHBhdGNoIGRvZXMgbm90 IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3Qu Li4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgpNYXRjaGVzIGFuIEV0aGVybmV0IGhlYWRl ci4KCi0gYGBkc3RgYDogZGVzdGluYXRpb24gTUFDLgotIGBgc3JjYGA6IHNvdXJjZSBNQUMuCi0g YGB0eXBlYGA6IEV0aGVyVHlwZS4KLSBEZWZhdWx0IGBgbWFza2BgIG1hdGNoZXMgZGVzdGluYXRp b24gYW5kIHNvdXJjZSBhZGRyZXNzZXMgb25seS4KCkl0ZW06IGBgVkxBTmBgCgplcnJvcjogcGF0 Y2ggZmFpbGVkOiBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0Ojc4NAplcnJvcjog ZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdDogcGF0Y2ggZG9lcyBub3QgYXBwbHkK Q2hlY2tpbmcgcGF0Y2ggZG9jL2d1aWRlcy90ZXN0cG1kX2FwcF91Zy90ZXN0cG1kX2Z1bmNzLnJz dC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCiAgLSBgYGRzdCB7TUFDLTQ4fWBgOiBk ZXN0aW5hdGlvbiBNQUMuCiAgLSBgYHNyYyB7TUFDLTQ4fWBgOiBzb3VyY2UgTUFDLgogIC0gYGB0 eXBlIHt1bnNpZ25lZH1gYDogRXRoZXJUeXBlLgoKLS0KICAtIGBgdmlkIHt1bnNpZ25lZH1gYDog VkxBTiBpZGVudGlmaWVyLgoKLSBgYGlwdjRgYDogbWF0Y2ggSVB2NCBoZWFkZXIuCgoKZXJyb3I6 IHBhdGNoIGZhaWxlZDogZG9jL2d1aWRlcy90ZXN0cG1kX2FwcF91Zy90ZXN0cG1kX2Z1bmNzLnJz dDozMjIzCmVycm9yOiBkb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0 OiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9ibnh0L2Ju eHRfZmlsdGVyLmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6Cgl1aW50MzJfdCB2ZiA9 IDA7CglpbnQgdXNlX250dXBsZTsKCXVpbnQzMl90IGVuID0gMDsKCWludCBkZmx0X3ZuaWM7CgoJ dXNlX250dXBsZSA9IGJueHRfZmlsdGVyX3R5cGVfY2hlY2socGF0dGVybiwgZXJyb3IpOwoKZXJy b3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvYm54dC9ibnh0X2ZpbHRlci5jOjI5OQplcnJv cjogZHJpdmVycy9uZXQvYm54dC9ibnh0X2ZpbHRlci5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpD aGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9lbmljL2VuaWNfZmxvdy5jLi4uCmVycm9yOiB3aGls ZSBzZWFyY2hpbmcgZm9yOgoJaWYgKCFzcGVjKQoJCXJldHVybiAwOwoKCS8qIERvbid0IHN1cHBv cnQgZmlsdGVyaW5nIGluIHRwaWQgKi8KCWlmIChtYXNrKSB7Ci0tCglpZiAoKmlubmVyX29mc3Qg PT0gMCkgewoJCS8qIE91dGVyIGhlYWRlci4gVXNlIHRoZSB2bGFuIG1hc2svdmFsIGZpZWxkcyAq LwoJCWdwLT5tYXNrX3ZsYW4gPSBtYXNrLT50Y2k7CgkJZ3AtPnZhbF92bGFuID0gc3BlYy0+dGNp OwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvZW5pYy9lbmljX2Zsb3cuYzo1NDUK ZXJyb3I6IGRyaXZlcnMvbmV0L2VuaWMvZW5pY19mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5 CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2k0MGUvaTQwZV9mbG93LmMuLi4KZXJyb3I6IHdo aWxlIHNlYXJjaGluZyBmb3I6CiNpbmNsdWRlIDx1bmlzdGQuaD4KI2luY2x1ZGUgPHN0ZGFyZy5o PgoKI2luY2x1ZGUgPHJ0ZV9ldGhlci5oPgojaW5jbHVkZSA8cnRlX2V0aGRldl9kcml2ZXIuaD4K I2luY2x1ZGUgPHJ0ZV9sb2cuaD4KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2k0 MGUvaTQwZV9mbG93LmM6MTAKZXJyb3I6IGRyaXZlcnMvbmV0L2k0MGUvaTQwZV9mbG93LmM6IHBh dGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2Jl X2V0aGRldi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoKI2RlZmluZSBJWEdCRV9W VF9DVExfUE9PTElOR19NT0RFX01BU0sgICAgICAgICAweDAwMDMwMDAwCiNkZWZpbmUgSVhHQkVf VlRfQ1RMX1BPT0xJTkdfTU9ERV9FVEFHICAgICAgICAgMHgwMDAxMDAwMAojZGVmaW5lIERFRkFV TFRfRVRBR19FVFlQRSAgICAgICAgICAgICAgICAgICAgIDB4ODkzZgojZGVmaW5lIElYR0JFX0VU QUdfRVRZUEUgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDUwODQKI2RlZmluZSBJWEdCRV9F VEFHX0VUWVBFX01BU0sgICAgICAgICAgICAgICAgICAweDAwMDBmZmZmCiNkZWZpbmUgSVhHQkVf RVRBR19FVFlQRV9WQUxJRCAgICAgICAgICAgICAgICAgMHg4MDAwMDAwMAoKZXJyb3I6IHBhdGNo IGZhaWxlZDogZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmM6MTE1CmVycm9yOiBkcml2 ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tp bmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYy4uLgplcnJvcjogd2hpbGUgc2Vh cmNoaW5nIGZvcjoKI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBlcnJvciAiLVdwZWRhbnRpYyIKI2Vu ZGlmCgojaW5jbHVkZSA8cnRlX2NvbW1vbi5oPgojaW5jbHVkZSA8cnRlX2V0aF9jdHJsLmg+CiNp bmNsdWRlIDxydGVfZXRoZGV2X2RyaXZlci5oPgojaW5jbHVkZSA8cnRlX2Zsb3cuaD4KCmVycm9y OiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmM6MTcKZXJyb3I6IGRy aXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5n IHBhdGNoIGRyaXZlcnMvbmV0L212cHAyL21ydmxfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFy Y2hpbmcgZm9yOgoJaWYgKHJldCkKCQlyZXR1cm4gcmV0OwoKCWlmIChtYXNrLT50cGlkKSB7CgkJ cnRlX2Zsb3dfZXJyb3Jfc2V0KGVycm9yLCBFSU5WQUwsIFJURV9GTE9XX0VSUk9SX1RZUEVfSVRF TSwKCQkJCSAgIE5VTEwsICJOb3Qgc3VwcG9ydGVkIGJ5IGNsYXNzaWZpZXJcbiIpOwoJCXJldHVy biAtcnRlX2Vycm5vOwoJfQoKCW0gPSBydGVfYmVfdG9fY3B1XzE2KG1hc2stPnRjaSk7CglpZiAo bSAmIE1SVkxfVkxBTl9JRF9NQVNLKSB7CgkJUlRFX0xPRyhXQVJOSU5HLCBQTUQsICJ2bGFuIGlk IG1hc2sgaXMgaWdub3JlZFxuIik7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9t dnBwMi9tcnZsX2Zsb3cuYzoxMDkxCmVycm9yOiBkcml2ZXJzL25ldC9tdnBwMi9tcnZsX2Zsb3cu YzogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvc2ZjL3Nm Y19mbG93LmMuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiAqIGZvciBTb2xhcmZsYXJl KSBhbmQgU29sYXJmbGFyZSBDb21tdW5pY2F0aW9ucywgSW5jLgogKi8KCiNpbmNsdWRlIDxydGVf dGFpbHEuaD4KI2luY2x1ZGUgPHJ0ZV9jb21tb24uaD4KI2luY2x1ZGUgPHJ0ZV9ldGhkZXZfZHJp dmVyLmg+CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9zZmMvc2ZjX2Zsb3cuYzo3 CmVycm9yOiBkcml2ZXJzL25ldC9zZmMvc2ZjX2Zsb3cuYzogcGF0Y2ggZG9lcyBub3QgYXBwbHkK Q2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvdGFwL3RhcF9mbG93LmMuLi4KZXJyb3I6IHdoaWxl IHNlYXJjaGluZyBmb3I6CgkJLml0ZW1zID0gSVRFTVMoUlRFX0ZMT1dfSVRFTV9UWVBFX0lQVjQs CgkJCSAgICAgICBSVEVfRkxPV19JVEVNX1RZUEVfSVBWNiksCgkJLm1hc2sgPSAmKGNvbnN0IHN0 cnVjdCBydGVfZmxvd19pdGVtX3ZsYW4pewoJCQkudHBpZCA9IC0xLAoJCQkvKiBERUkgbWF0Y2hp bmcgaXMgbm90IHN1cHBvcnRlZCAqLwotLQojZW5kaWYKCQl9LAoJCS5tYXNrX3N6ID0gc2l6ZW9m KHN0cnVjdCBydGVfZmxvd19pdGVtX3ZsYW4pLAoJCS5kZWZhdWx0X21hc2sgPSAmcnRlX2Zsb3df aXRlbV92bGFuX21hc2ssCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC90YXAvdGFw X2Zsb3cuYzoyNzAKZXJyb3I6IGRyaXZlcnMvbmV0L3RhcC90YXBfZmxvdy5jOiBwYXRjaCBkb2Vz IG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBsaWIvbGlicnRlX2V0aGVyL3J0ZV9mbG93LmguLi4K ZXJyb3I6IGxpYi9saWJydGVfZXRoZXIvcnRlX2Zsb3cuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeQpDaGVja2luZyBwYXRjaCBsaWIvbGlicnRlX25ldC9ydGVfZXRoZXIuaC4uLgplcnJvcjog d2hpbGUgc2VhcmNoaW5nIGZvcjoKI2RlZmluZSBFVEhFUl9UWVBFX1JBUlAgMHg4MDM1IC8qKjwg UmV2ZXJzZSBBcnAgUHJvdG9jb2wuICovCiNkZWZpbmUgRVRIRVJfVFlQRV9WTEFOIDB4ODEwMCAv Kio8IElFRUUgODAyLjFRIFZMQU4gdGFnZ2luZy4gKi8KI2RlZmluZSBFVEhFUl9UWVBFX1FJTlEg MHg4OEE4IC8qKjwgSUVFRSA4MDIuMWFkIFFpblEgdGFnZ2luZy4gKi8KI2RlZmluZSBFVEhFUl9U WVBFXzE1ODggMHg4OEY3IC8qKjwgSUVFRSA4MDIuMUFTIDE1ODggUHJlY2lzZSBUaW1lIFByb3Rv Y29sLiAqLwojZGVmaW5lIEVUSEVSX1RZUEVfU0xPVyAweDg4MDkgLyoqPCBTbG93IHByb3RvY29s cyAoTEFDUCBhbmQgTWFya2VyKS4gKi8KI2RlZmluZSBFVEhFUl9UWVBFX1RFQiAgMHg2NTU4IC8q KjwgVHJhbnNwYXJlbnQgRXRoZXJuZXQgQnJpZGdpbmcuICovCgplcnJvcjogcGF0Y2ggZmFpbGVk OiBsaWIvbGlicnRlX25ldC9ydGVfZXRoZXIuaDozMDEKZXJyb3I6IGxpYi9saWJydGVfbmV0L3J0 ZV9ldGhlci5oOiBwYXRjaCBkb2VzIG5vdCBhcHBseQoqUmVwbzogZHBkay1uZXh0LXZpcnRpbwpD aGVja2luZyBwYXRjaCBhcHAvdGVzdC1wbWQvY21kbGluZV9mbG93LmMuLi4KZXJyb3I6IHdoaWxl IHNlYXJjaGluZyBmb3I6CglJVEVNX0VUSF9TUkMsCglJVEVNX0VUSF9UWVBFLAoJSVRFTV9WTEFO LAoJSVRFTV9WTEFOX1RQSUQsCglJVEVNX1ZMQU5fVENJLAotLQoJSVRFTV9WTEFOX1ZJRCwKCUlU RU1fSVBWNCwKCUlURU1fSVBWNF9UT1MsCglJVEVNX0lQVjRfVFRMLAoKZXJyb3I6IHBhdGNoIGZh aWxlZDogYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jOjk5CmVycm9yOiBhcHAvdGVzdC1wbWQv Y21kbGluZV9mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRvYy9n dWlkZXMvbmljcy90YXAucnN0Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgpTdXBwb3J0 ZWQgaXRlbXM6CgotIGV0aDogc3JjIGFuZCBkc3QgKHdpdGggdmFyaWFibGUgbWFza3MpLCBhbmQg ZXRoX3R5cGUgKDB4ZmZmZiBtYXNrKS4KLSB2bGFuOiB2aWQsIHBjcCwgdHBpZCwgYnV0IG5vdCBl aWQuIChyZXF1aXJlcyBrZXJuZWwgNC45KQotIGlwdjQvNjogc3JjIGFuZCBkc3QgKHdpdGggdmFy aWFibGUgbWFza3MpLCBhbmQgaXBfcHJvdG8gKDB4ZmZmZiBtYXNrKS4KLSB1ZHAvdGNwOiBzcmMg YW5kIGRzdCBwb3J0ICgweGZmZmYpIG1hc2suCgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZG9jL2d1 aWRlcy9uaWNzL3RhcC5yc3Q6OTcKZXJyb3I6IGRvYy9ndWlkZXMvbmljcy90YXAucnN0OiBwYXRj aCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRl X2Zsb3cucnN0Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoKTWF0Y2hlcyBhbiBFdGhl cm5ldCBoZWFkZXIuCgotIGBgZHN0YGA6IGRlc3RpbmF0aW9uIE1BQy4KLSBgYHNyY2BgOiBzb3Vy Y2UgTUFDLgotIGBgdHlwZWBgOiBFdGhlclR5cGUuCi0gRGVmYXVsdCBgYG1hc2tgYCBtYXRjaGVz IGRlc3RpbmF0aW9uIGFuZCBzb3VyY2UgYWRkcmVzc2VzIG9ubHkuCgpJdGVtOiBgYFZMQU5gYAoK ZXJyb3I6IHBhdGNoIGZhaWxlZDogZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdDo3 ODQKZXJyb3I6IGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3Q6IHBhdGNoIGRvZXMg bm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBt ZF9mdW5jcy5yc3QuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgogIC0gYGBkc3Qge01B Qy00OH1gYDogZGVzdGluYXRpb24gTUFDLgogIC0gYGBzcmMge01BQy00OH1gYDogc291cmNlIE1B Qy4KICAtIGBgdHlwZSB7dW5zaWduZWR9YGA6IEV0aGVyVHlwZS4KCi0tCiAgLSBgYHZpZCB7dW5z aWduZWR9YGA6IFZMQU4gaWRlbnRpZmllci4KCi0gYGBpcHY0YGA6IG1hdGNoIElQdjQgaGVhZGVy LgoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBt ZF9mdW5jcy5yc3Q6MzIyMwplcnJvcjogZG9jL2d1aWRlcy90ZXN0cG1kX2FwcF91Zy90ZXN0cG1k X2Z1bmNzLnJzdDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9u ZXQvYm54dC9ibnh0X2ZpbHRlci5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJdWlu dDMyX3QgdmYgPSAwOwoJaW50IHVzZV9udHVwbGU7Cgl1aW50MzJfdCBlbiA9IDA7CglpbnQgZGZs dF92bmljOwoKCXVzZV9udHVwbGUgPSBibnh0X2ZpbHRlcl90eXBlX2NoZWNrKHBhdHRlcm4sIGVy cm9yKTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2JueHQvYm54dF9maWx0ZXIu YzoyOTkKZXJyb3I6IGRyaXZlcnMvbmV0L2JueHQvYm54dF9maWx0ZXIuYzogcGF0Y2ggZG9lcyBu b3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvZW5pYy9lbmljX2Zsb3cuYy4uLgpl cnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCWlmICghc3BlYykKCQlyZXR1cm4gMDsKCgkvKiBE b24ndCBzdXBwb3J0IGZpbHRlcmluZyBpbiB0cGlkICovCglpZiAobWFzaykgewotLQoJaWYgKCpp bm5lcl9vZnN0ID09IDApIHsKCQkvKiBPdXRlciBoZWFkZXIuIFVzZSB0aGUgdmxhbiBtYXNrL3Zh bCBmaWVsZHMgKi8KCQlncC0+bWFza192bGFuID0gbWFzay0+dGNpOwoJCWdwLT52YWxfdmxhbiA9 IHNwZWMtPnRjaTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2VuaWMvZW5pY19m bG93LmM6NTQ1CmVycm9yOiBkcml2ZXJzL25ldC9lbmljL2VuaWNfZmxvdy5jOiBwYXRjaCBkb2Vz IG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9pNDBlL2k0MGVfZmxvdy5jLi4u CmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgojaW5jbHVkZSA8dW5pc3RkLmg+CiNpbmNsdWRl IDxzdGRhcmcuaD4KCiNpbmNsdWRlIDxydGVfZXRoZXIuaD4KI2luY2x1ZGUgPHJ0ZV9ldGhkZXZf ZHJpdmVyLmg+CiNpbmNsdWRlIDxydGVfbG9nLmg+CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2 ZXJzL25ldC9pNDBlL2k0MGVfZmxvdy5jOjEwCmVycm9yOiBkcml2ZXJzL25ldC9pNDBlL2k0MGVf Zmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBseQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9p eGdiZS9peGdiZV9ldGhkZXYuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCiNkZWZp bmUgSVhHQkVfVlRfQ1RMX1BPT0xJTkdfTU9ERV9NQVNLICAgICAgICAgMHgwMDAzMDAwMAojZGVm aW5lIElYR0JFX1ZUX0NUTF9QT09MSU5HX01PREVfRVRBRyAgICAgICAgIDB4MDAwMTAwMDAKI2Rl ZmluZSBERUZBVUxUX0VUQUdfRVRZUEUgICAgICAgICAgICAgICAgICAgICAweDg5M2YKI2RlZmlu ZSBJWEdCRV9FVEFHX0VUWVBFICAgICAgICAgICAgICAgICAgICAgICAweDAwMDA1MDg0CiNkZWZp bmUgSVhHQkVfRVRBR19FVFlQRV9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDAwZmZmZgojZGVm aW5lIElYR0JFX0VUQUdfRVRZUEVfVkFMSUQgICAgICAgICAgICAgICAgIDB4ODAwMDAwMDAKCmVy cm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jOjExNQpl cnJvcjogZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmM6IHBhdGNoIGRvZXMgbm90IGFw cGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmMuLi4KZXJyb3I6 IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNwcmFnbWEgR0NDIGRpYWdub3N0aWMgZXJyb3IgIi1XcGVk YW50aWMiCiNlbmRpZgoKI2luY2x1ZGUgPHJ0ZV9jb21tb24uaD4KI2luY2x1ZGUgPHJ0ZV9ldGhf Y3RybC5oPgojaW5jbHVkZSA8cnRlX2V0aGRldl9kcml2ZXIuaD4KI2luY2x1ZGUgPHJ0ZV9mbG93 Lmg+CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jOjE3 CmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jOiBwYXRjaCBkb2VzIG5vdCBhcHBs eQpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tdnBwMi9tcnZsX2Zsb3cuYy4uLgplcnJvcjog d2hpbGUgc2VhcmNoaW5nIGZvcjoKCWlmIChyZXQpCgkJcmV0dXJuIHJldDsKCglpZiAobWFzay0+ dHBpZCkgewoJCXJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwgRUlOVkFMLCBSVEVfRkxPV19FUlJP Ul9UWVBFX0lURU0sCgkJCQkgICBOVUxMLCAiTm90IHN1cHBvcnRlZCBieSBjbGFzc2lmaWVyXG4i KTsKCQlyZXR1cm4gLXJ0ZV9lcnJubzsKCX0KCgltID0gcnRlX2JlX3RvX2NwdV8xNihtYXNrLT50 Y2kpOwoJaWYgKG0gJiBNUlZMX1ZMQU5fSURfTUFTSykgewoJCVJURV9MT0coV0FSTklORywgUE1E LCAidmxhbiBpZCBtYXNrIGlzIGlnbm9yZWRcbiIpOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJp dmVycy9uZXQvbXZwcDIvbXJ2bF9mbG93LmM6MTA5MQplcnJvcjogZHJpdmVycy9uZXQvbXZwcDIv bXJ2bF9mbG93LmM6IHBhdGNoIGRvZXMgbm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMv bmV0L3NmYy9zZmNfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgogKiBmb3Ig U29sYXJmbGFyZSkgYW5kIFNvbGFyZmxhcmUgQ29tbXVuaWNhdGlvbnMsIEluYy4KICovCgojaW5j bHVkZSA8cnRlX3RhaWxxLmg+CiNpbmNsdWRlIDxydGVfY29tbW9uLmg+CiNpbmNsdWRlIDxydGVf ZXRoZGV2X2RyaXZlci5oPgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvc2ZjL3Nm Y19mbG93LmM6NwplcnJvcjogZHJpdmVycy9uZXQvc2ZjL3NmY19mbG93LmM6IHBhdGNoIGRvZXMg bm90IGFwcGx5CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3RhcC90YXBfZmxvdy5jLi4uCmVy cm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCS5pdGVtcyA9IElURU1TKFJURV9GTE9XX0lURU1f VFlQRV9JUFY0LAoJCQkgICAgICAgUlRFX0ZMT1dfSVRFTV9UWVBFX0lQVjYpLAoJCS5tYXNrID0g Jihjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV92bGFuKXsKCQkJLnRwaWQgPSAtMSwKCQkJLyog REVJIG1hdGNoaW5nIGlzIG5vdCBzdXBwb3J0ZWQgKi8KLS0KI2VuZGlmCgkJfSwKCQkubWFza19z eiA9IHNpemVvZihzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV92bGFuKSwKCQkuZGVmYXVsdF9tYXNrID0g JnJ0ZV9mbG93X2l0ZW1fdmxhbl9tYXNrLAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9u ZXQvdGFwL3RhcF9mbG93LmM6MjcwCmVycm9yOiBkcml2ZXJzL25ldC90YXAvdGFwX2Zsb3cuYzog cGF0Y2ggZG9lcyBub3QgYXBwbHkKQ2hlY2tpbmcgcGF0Y2ggbGliL2xpYnJ0ZV9ldGhlci9ydGVf Zmxvdy5oLi4uCmVycm9yOiBsaWIvbGlicnRlX2V0aGVyL3J0ZV9mbG93Lmg6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkKQ2hlY2tpbmcgcGF0Y2ggbGliL2xpYnJ0ZV9uZXQvcnRlX2V0aGVyLmgu Li4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CiNkZWZpbmUgRVRIRVJfVFlQRV9SQVJQIDB4 ODAzNSAvKio8IFJldmVyc2UgQXJwIFByb3RvY29sLiAqLwojZGVmaW5lIEVUSEVSX1RZUEVfVkxB TiAweDgxMDAgLyoqPCBJRUVFIDgwMi4xUSBWTEFOIHRhZ2dpbmcuICovCiNkZWZpbmUgRVRIRVJf VFlQRV9RSU5RIDB4ODhBOCAvKio8IElFRUUgODAyLjFhZCBRaW5RIHRhZ2dpbmcuICovCiNkZWZp bmUgRVRIRVJfVFlQRV8xNTg4IDB4ODhGNyAvKio8IElFRUUgODAyLjFBUyAxNTg4IFByZWNpc2Ug VGltZSBQcm90b2NvbC4gKi8KI2RlZmluZSBFVEhFUl9UWVBFX1NMT1cgMHg4ODA5IC8qKjwgU2xv dyBwcm90b2NvbHMgKExBQ1AgYW5kIE1hcmtlcikuICovCiNkZWZpbmUgRVRIRVJfVFlQRV9URUIg IDB4NjU1OCAvKio8IFRyYW5zcGFyZW50IEV0aGVybmV0IEJyaWRnaW5nLiAqLwoKZXJyb3I6IHBh dGNoIGZhaWxlZDogbGliL2xpYnJ0ZV9uZXQvcnRlX2V0aGVyLmg6MzAxCmVycm9yOiBsaWIvbGli cnRlX25ldC9ydGVfZXRoZXIuaDogcGF0Y2ggZG9lcyBub3QgYXBwbHkKCkRQREsgU1RWIHRlYW0= --===============4229355896680540548==--