From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28810 invoked by alias); 21 Apr 2011 06:02:30 -0000 Received: (qmail 28775 invoked by uid 22791); 21 Apr 2011 06:02:26 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,TW_TM X-Spam-Check-By: sourceware.org Received: from mail-gy0-f175.google.com (HELO mail-gy0-f175.google.com) (209.85.160.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 21 Apr 2011 06:02:07 +0000 Received: by gyf1 with SMTP id 1so470123gyf.20 for ; Wed, 20 Apr 2011 23:02:06 -0700 (PDT) MIME-Version: 1.0 Received: by 10.150.218.11 with SMTP id q11mr180552ybg.150.1303365725168; Wed, 20 Apr 2011 23:02:05 -0700 (PDT) Received: by 10.151.107.8 with HTTP; Wed, 20 Apr 2011 23:02:05 -0700 (PDT) Date: Thu, 21 Apr 2011 08:57:00 -0000 Message-ID: Subject: Ping: Make 128 bits the default vector size for NEON From: Ira Rosen To: gcc-patches@gcc.gnu.org Content-Type: multipart/mixed; boundary=000e0cd1f86e0fa70204a1677b5f Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-04/txt/msg01745.txt.bz2 --000e0cd1f86e0fa70204a1677b5f Content-Type: text/plain; charset=ISO-8859-1 Content-length: 2281 http://gcc.gnu.org/ml/gcc-patches/2011-03/msg02172.html The last version: ChangeLog: * doc/invoke.texi (preferred-vector-size): Document. * params.h (PREFERRED_VECTOR_SIZE): Define. * config/arm/arm.c (arm_preferred_simd_mode): Use param PREFERRED_VECTOR_SIZE instead of TARGET_NEON_VECTORIZE_QUAD. Make 128 bits the default. (arm_autovectorize_vector_sizes): Likewise. * config/arm/arm.opt (NEON_VECTORIZE_QUAD): Add RejectNegative. * params.def (PARAM_PREFERRED_VECTOR_SIZE): Define. testsuite/ChangeLog: * lib/target-supports.exp (check_effective_target_vect_multiple_sizes): New procedure. (add_options_for_quad_vectors): Replace with ... (add_options_for_double_vectors): ... this. * gfortran.dg/vect/pr19049.f90: Expect more printings on targets that support multiple vector sizes since the vectorizer attempts to vectorize with both vector sizes. * gcc.dg/vect/slp-reduc-6.c, gcc.dg/vect/no-vfa-vect-79.c, gcc.dg/vect/no-vfa-vect-102a.c, gcc.dg/vect/vect-outer-1a.c, gcc.dg/vect/vect-outer-1b.c, gcc.dg/vect/vect-outer-2b.c, gcc.dg/vect/vect-outer-3a.c, gcc.dg/vect/no-vfa-vect-37.c, gcc.dg/vect/vect-outer-3b.c, gcc.dg/vect/no-vfa-vect-101.c, gcc.dg/vect/no-vfa-vect-102.c, gcc.dg/vect/vect-reduc-dot-s8b.c, gcc.dg/vect/vect-outer-1.c, gcc.dg/vect/vect-104.c: Likewise. * gcc.dg/vect/vect-16.c: Rename to... * gcc.dg/vect/no-fast-math-vect-16.c: ... this to ensure that it runs without -ffast-math. * gcc.dg/vect/vect-42.c: Run with 64 bit vectors if applicable. * gcc.dg/vect/vect-multitypes-6.c, gcc.dg/vect/vect-52.c, gcc.dg/vect/vect-54.c, gcc.dg/vect/vect-46.c, gcc.dg/vect/vect-48.c, gcc.dg/vect/vect-96.c, gcc.dg/vect/vect-multitypes-3.c, gcc.dg/vect/vect-40.c: Likewise. * gcc.dg/vect/vect-outer-5.c: Remove quad-vectors option as redundant. * gcc.dg/vect/vect-109.c, gcc.dg/vect/vect-peel-1.c, gcc.dg/vect/vect-peel-2.c, gcc.dg/vect/slp-25.c, gcc.dg/vect/vect-multitypes-1.c, gcc.dg/vect/slp-3.c, gcc.dg/vect/no-vfa-pr29145.c, gcc.dg/vect/vect-multitypes-4.c: Likewise. * gcc.dg/vect/vect.exp: Run no-fast-math-vect*.c tests with -fno-fast-math. Thanks, Ira --000e0cd1f86e0fa70204a1677b5f Content-Type: text/plain; charset=US-ASCII; name="vec-size.txt" Content-Disposition: attachment; filename="vec-size.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gmra78dk0 Content-length: 35010 SW5kZXg6IGRvYy9pbnZva2UudGV4aQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBkb2MvaW52b2tlLnRleGkJKHJldmlzaW9uIDE3MTcyMykKKysrIGRv Yy9pbnZva2UudGV4aQkod29ya2luZyBjb3B5KQpAQCAtODg3NCw2ICs4ODc0 LDEwIEBAIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25kaXRpb25hbCBzdG9y ZXMgcGFpcmVzIHRoCiBpZiBlaXRoZXIgdmVjdG9yaXphdGlvbiAoQG9wdGlv bnstZnRyZWUtdmVjdG9yaXplfSkgb3IgaWYtY29udmVyc2lvbgogKEBvcHRp b257LWZ0cmVlLWxvb3AtaWYtY29udmVydH0pIGlzIGRpc2FibGVkLiAgVGhl IGRlZmF1bHQgaXMgMi4KIAorQGl0ZW0gcHJlZmVycmVkLXZlY3Rvci1zaXpl CitQcmVmZXJyZWQgdmVjdG9yIHNpemUgaW4gYml0cyBmb3IgdGFyZ2V0cyB0 aGF0IHN1cHBvcnQgbXVsdGlwbGUgdmVjdG9yIHNpemVzLgorSW52YWxpZCB2 YWx1ZXMgYXJlIGlnbm9yZWQuICBUaGUgZGVmYXVsdCBpcyAxMjguCisKIEBl bmQgdGFibGUKIEBlbmQgdGFibGUKIApJbmRleDogcGFyYW1zLmgKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0gcGFyYW1zLmgJKHJldmlzaW9uIDE3MTcy MykKKysrIHBhcmFtcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDQsNiArMjA0 LDggQEAgZXh0ZXJuIHZvaWQgaW5pdF9wYXJhbV92YWx1ZXMgKGludCAqcGFy YW1zKTsKICAgUEFSQU1fVkFMVUUgKFBBUkFNX1BSRUZFVENIX01JTl9JTlNO X1RPX01FTV9SQVRJTykKICNkZWZpbmUgTUlOX05PTkRFQlVHX0lOU05fVUlE IFwKICAgUEFSQU1fVkFMVUUgKFBBUkFNX01JTl9OT05ERUJVR19JTlNOX1VJ RCkKKyNkZWZpbmUgUFJFRkVSUkVEX1ZFQ1RPUl9TSVpFIFwKKyAgUEFSQU1f VkFMVUUgKFBBUkFNX1BSRUZFUlJFRF9WRUNUT1JfU0laRSkKICNkZWZpbmUg TUFYX1NUT1JFU19UT19TSU5LIFwKICAgUEFSQU1fVkFMVUUgKFBBUkFNX01B WF9TVE9SRVNfVE9fU0lOSykKICNlbmRpZiAvKiAhIEdDQ19QQVJBTVNfSCAq LwpJbmRleDogdGVzdHN1aXRlL2xpYi90YXJnZXQtc3VwcG9ydHMuZXhwCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tIHRlc3RzdWl0ZS9saWIvdGFyZ2V0 LXN1cHBvcnRzLmV4cAkocmV2aXNpb24gMTcxNzIzKQorKysgdGVzdHN1aXRl L2xpYi90YXJnZXQtc3VwcG9ydHMuZXhwCSh3b3JraW5nIGNvcHkpCkBAIC0z MjAzLDYgKzMyMDMsMjQgQEAgcHJvYyBjaGVja19lZmZlY3RpdmVfdGFyZ2V0 X3ZlY3Rfc3RyaWRlZF93aWRlIHsgfQogICAgIHJldHVybiAkZXRfdmVjdF9z dHJpZGVkX3dpZGVfc2F2ZWQKIH0KIAorIyBSZXR1cm4gMSBpZiB0aGUgdGFy Z2V0IHN1cHBvcnRzIG11bHRpcGxlIHZlY3RvciBzaXplcworCitwcm9jIGNo ZWNrX2VmZmVjdGl2ZV90YXJnZXRfdmVjdF9tdWx0aXBsZV9zaXplcyB7IH0g eworICAgIGdsb2JhbCBldF92ZWN0X211bHRpcGxlX3NpemVzCisKKyAgICBp ZiBbaW5mbyBleGlzdHMgZXRfdmVjdF9tdWx0aXBsZV9zaXplc19zYXZlZF0g eworICAgICAgICB2ZXJib3NlICJjaGVja19lZmZlY3RpdmVfdGFyZ2V0X3Zl Y3RfbXVsdGlwbGVfc2l6ZXM6IHVzaW5nIGNhY2hlZCByZXN1bHQiIDIKKyAg ICB9IGVsc2UgeworICAgICAgICBzZXQgZXRfdmVjdF9tdWx0aXBsZV9zaXpl c19zYXZlZCAwCisgICAgICAgIGlmIHsgKFtpc3RhcmdldCBhcm0qLSotKl0g JiYgW2NoZWNrX2VmZmVjdGl2ZV90YXJnZXRfYXJtX25lb25dKSB9IHsKKyAg ICAgICAgICAgc2V0IGV0X3ZlY3RfbXVsdGlwbGVfc2l6ZXNfc2F2ZWQgMQor ICAgICAgICB9CisgICAgfQorCisgICAgdmVyYm9zZSAiY2hlY2tfZWZmZWN0 aXZlX3RhcmdldF92ZWN0X211bHRpcGxlX3NpemVzOiByZXR1cm5pbmcgJGV0 X3ZlY3RfbXVsdGlwbGVfc2l6ZXNfc2F2ZWQiIDIKKyAgICByZXR1cm4gJGV0 X3ZlY3RfbXVsdGlwbGVfc2l6ZXNfc2F2ZWQKK30KKwogIyBSZXR1cm4gMSBp ZiB0aGUgdGFyZ2V0IHN1cHBvcnRzIHNlY3Rpb24tYW5jaG9ycwogCiBwcm9j IGNoZWNrX2VmZmVjdGl2ZV90YXJnZXRfc2VjdGlvbl9hbmNob3JzIHsgfSB7 CkBAIC0zNTg1LDkgKzM2MDMsOSBAQCBwcm9jIGFkZF9vcHRpb25zX2Zvcl9i aW5kX3BpY19sb2NhbGx5IHsgZmxhZ3MgfSB7CiAKICMgQWRkIHRvIEZMQUdT IHRoZSBmbGFncyBuZWVkZWQgdG8gZW5hYmxlIDEyOC1iaXQgdmVjdG9ycy4K IAotcHJvYyBhZGRfb3B0aW9uc19mb3JfcXVhZF92ZWN0b3JzIHsgZmxhZ3Mg fSB7Citwcm9jIGFkZF9vcHRpb25zX2Zvcl9kb3VibGVfdmVjdG9ycyB7IGZs YWdzIH0gewogICAgIGlmIFtpcy1lZmZlY3RpdmUtdGFyZ2V0IGFybV9uZW9u X29rXSB7Ci0JcmV0dXJuICIkZmxhZ3MgLW12ZWN0b3JpemUtd2l0aC1uZW9u LXF1YWQiCisJcmV0dXJuICIkZmxhZ3MgLS1wYXJhbSBwcmVmZXJyZWQtdmVj dG9yLXNpemU9NjQiCiAgICAgfQogCiAgICAgcmV0dXJuICRmbGFncwpJbmRl eDogdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3ZlY3QvcHIxOTA0OS5mOTAKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRlL2dmb3J0cmFuLmRn L3ZlY3QvcHIxOTA0OS5mOTAJKHJldmlzaW9uIDE3MTcyMykKKysrIHRlc3Rz dWl0ZS9nZm9ydHJhbi5kZy92ZWN0L3ByMTkwNDkuZjkwCSh3b3JraW5nIGNv cHkpCkBAIC0xOSw2ICsxOSw3IEBAIHN1YnJvdXRpbmUgczExMSAobnRpbWVz LGxkLG4sY3RpbWUsZHRpbWUsYSxiLGMsZCxlCiAgICAgICBlbmQKIAogISB7 IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6ZWQg MSBsb29wcyIgMCAidmVjdCIgfSB9Ci0hIHsgZGctZmluYWwgeyBzY2FuLXRy ZWUtZHVtcC10aW1lcyAiY29tcGxpY2F0ZWQgYWNjZXNzIHBhdHRlcm4iIDEg InZlY3QiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGlt ZXMgImNvbXBsaWNhdGVkIGFjY2VzcyBwYXR0ZXJuIiAxICJ2ZWN0IiB7IHhm YWlsIHZlY3RfbXVsdGlwbGVfc2l6ZXMgfSB9IH0KKyEgeyBkZy1maW5hbCB7 IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJjb21wbGljYXRlZCBhY2Nlc3MgcGF0 dGVybiIgMiAidmVjdCIgeyB0YXJnZXQgdmVjdF9tdWx0aXBsZV9zaXplcyB9 IH0gfQogISB7IGRnLWZpbmFsIHsgY2xlYW51cC10cmVlLWR1bXAgInZlY3Qi IH0gfQogCkluZGV4OiB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC0xNi5j Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHRlc3RzdWl0ZS9nY2MuZGcv dmVjdC92ZWN0LTE2LmMJKHJldmlzaW9uIDE3MTcyMykKKysrIHRlc3RzdWl0 ZS9nY2MuZGcvdmVjdC92ZWN0LTE2LmMJKHdvcmtpbmcgY29weSkKQEAgLTEs MzggKzAsMCBAQAotLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQg dmVjdF9mbG9hdCB9ICovCi0KLSNpbmNsdWRlIDxzdGRhcmcuaD4KLSNpbmNs dWRlICJ0cmVlLXZlY3QuaCIKLQotI2RlZmluZSBOIDE2Ci0jZGVmaW5lIERJ RkYgMjQwCi0KLV9fYXR0cmlidXRlX18gKChub2lubGluZSkpCi1pbnQgbWFp bjEgKCkKLXsKLSAgaW50IGk7Ci0gIGZsb2F0IGJbTl0gPSB7MCwzLDYsOSwx MiwxNSwxOCwyMSwyNCwyNywzMCwzMywzNiwzOSw0Miw0NX07Ci0gIGZsb2F0 IGNbTl0gPSB7MCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwx NX07Ci0gIGZsb2F0IGRpZmY7Ci0KLSAgZGlmZiA9IDA7Ci0gIGZvciAoaSA9 IDA7IGkgPCBOOyBpKyspIHsKLSAgICBkaWZmICs9IChiW2ldIC0gY1tpXSk7 Ci0gIH0KLQotICAvKiBjaGVjayByZXN1bHRzOiAgKi8KLSAgaWYgKGRpZmYg IT0gRElGRikKLSAgICBhYm9ydCAoKTsKLQotICByZXR1cm4gMDsKLX0KLQot aW50IG1haW4gKHZvaWQpCi17IAotICBjaGVja192ZWN0ICgpOwotICAKLSAg cmV0dXJuIG1haW4xICgpOwotfQotCi0vKiBSZXF1aXJlcyBmYXN0LW1hdGgu ICAqLwotLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2 ZWN0b3JpemVkIDEgbG9vcHMiIDEgInZlY3QiIHsgeGZhaWwgKi0qLSogfSB9 IH0gKi8KLS8qIHsgZGctZmluYWwgeyBjbGVhbnVwLXRyZWUtZHVtcCAidmVj dCIgfSB9ICovCkluZGV4OiB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC00 Mi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHRlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC92ZWN0LTQyLmMJKHJldmlzaW9uIDE3MTcyMykKKysrIHRlc3Rz dWl0ZS9nY2MuZGcvdmVjdC92ZWN0LTQyLmMJKHdvcmtpbmcgY29weSkKQEAg LTEsNCArMSw1IEBACiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdl dCB2ZWN0X2Zsb2F0IH0gKi8KKy8qIHsgZGctYWRkLW9wdGlvbnMgZG91Ymxl X3ZlY3RvcnMgfSAqLwogCiAjaW5jbHVkZSA8c3RkYXJnLmg+CiAjaW5jbHVk ZSAidHJlZS12ZWN0LmgiCkluZGV4OiB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qv c2xwLXJlZHVjLTYuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3Qvc2xwLXJlZHVjLTYuYwkocmV2aXNpb24gMTcx NzIzKQorKysgdGVzdHN1aXRlL2djYy5kZy92ZWN0L3NscC1yZWR1Yy02LmMJ KHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgaW50IG1haW4gKHZv aWQpCiAKIC8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAi dmVjdG9yaXplZCAxIGxvb3BzIiAyICJ2ZWN0IiB7IHhmYWlsIHsgdmVjdF9u b19pbnRfYWRkIHx8IHsgISB2ZWN0X3VucGFjayB9IH0gfSB9IH0gKi8KIC8q IHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAidmVjdG9yaXpp bmcgc3RtdHMgdXNpbmcgU0xQIiAwICJ2ZWN0IiB9IH0gKi8KLS8qIHsgZGct ZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiZGlmZmVyZW50IGludGVy bGVhdmluZyBjaGFpbnMgaW4gb25lIG5vZGUiIDEgInZlY3QiIHsgdGFyZ2V0 IHsgISB2ZWN0X25vX2ludF9hZGQgfSB9IH0gfSAqLworLyogeyBkZy1maW5h bCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJkaWZmZXJlbnQgaW50ZXJsZWF2 aW5nIGNoYWlucyBpbiBvbmUgbm9kZSIgMSAidmVjdCIgeyB4ZmFpbCB7IHZl Y3RfbXVsdGlwbGVfc2l6ZXMgfHwgdmVjdF9ub19pbnRfYWRkIH0gfSB9IH0g Ki8KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiZGlm ZmVyZW50IGludGVybGVhdmluZyBjaGFpbnMgaW4gb25lIG5vZGUiIDIgInZl Y3QiIHsgdGFyZ2V0IHsgeyEgdmVjdF9ub19pbnRfYWRkfSAmJiB2ZWN0X211 bHRpcGxlX3NpemVzIH0gfSB9IH0gKi8KIC8qIHsgZGctZmluYWwgeyBjbGVh bnVwLXRyZWUtZHVtcCAidmVjdCIgfSB9ICovCiAKSW5kZXg6IHRlc3RzdWl0 ZS9nY2MuZGcvdmVjdC9uby12ZmEtdmVjdC03OS5jCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC9uby12ZmEtdmVj dC03OS5jCShyZXZpc2lvbiAxNzE3MjMpCisrKyB0ZXN0c3VpdGUvZ2NjLmRn L3ZlY3Qvbm8tdmZhLXZlY3QtNzkuYwkod29ya2luZyBjb3B5KQpAQCAtNDYs NSArNDYsNiBAQCBpbnQgbWFpbiAodm9pZCkKICAgSWYvd2hlbiB0aGUgYWxp YXNpbmcgcHJvYmxlbXMgYXJlIHJlc29sdmVkLCB1bmFsaWdubWVudCBtYXkK ICAgcHJldmVudCB2ZWN0b3JpemF0aW9uIG9uIHNvbWUgdGFyZ2V0cy4gICov CiAvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rv cml6ZWQgMSBsb29wcyIgMSAidmVjdCIgIHsgeGZhaWwgKi0qLSogfSB9IH0g Ki8KLS8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiY2Fu J3QgZGV0ZXJtaW5lIGRlcGVuZGVuY2UgYmV0d2VlbiIgMSAidmVjdCIgfSB9 ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgImNh bid0IGRldGVybWluZSBkZXBlbmRlbmNlIiAxICJ2ZWN0IiB7IHhmYWlsIHZl Y3RfbXVsdGlwbGVfc2l6ZXMgfSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBz Y2FuLXRyZWUtZHVtcC10aW1lcyAiY2FuJ3QgZGV0ZXJtaW5lIGRlcGVuZGVu Y2UiIDIgInZlY3QiIHsgdGFyZ2V0IHZlY3RfbXVsdGlwbGVfc2l6ZXMgfSB9 IH0gKi8KIC8qIHsgZGctZmluYWwgeyBjbGVhbnVwLXRyZWUtZHVtcCAidmVj dCIgfSB9ICovCkluZGV4OiB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qvbm8tdmZh LXZlY3QtMTAyYS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHRlc3Rz dWl0ZS9nY2MuZGcvdmVjdC9uby12ZmEtdmVjdC0xMDJhLmMJKHJldmlzaW9u IDE3MTcyMykKKysrIHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC9uby12ZmEtdmVj dC0xMDJhLmMJKHdvcmtpbmcgY29weSkKQEAgLTUzLDYgKzUzLDcgQEAgaW50 IG1haW4gKHZvaWQpCiB9CiAKIC8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUt ZHVtcC10aW1lcyAidmVjdG9yaXplZCAxIGxvb3BzIiAwICJ2ZWN0IiB9IH0g Ki8KLS8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAicG9z c2libGUgZGVwZW5kZW5jZSBiZXR3ZWVuIGRhdGEtcmVmcyIgMSAidmVjdCIg fSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMg InBvc3NpYmxlIGRlcGVuZGVuY2UgYmV0d2VlbiBkYXRhLXJlZnMiIDEgInZl Y3QiIHsgeGZhaWwgdmVjdF9tdWx0aXBsZV9zaXplcyB9IH0gfSAqLworLyog eyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJwb3NzaWJsZSBk ZXBlbmRlbmNlIGJldHdlZW4gZGF0YS1yZWZzIiAyICJ2ZWN0IiB7IHRhcmdl dCB2ZWN0X211bHRpcGxlX3NpemVzIH0gfSB9ICovCiAvKiB7IGRnLWZpbmFs IHsgY2xlYW51cC10cmVlLWR1bXAgInZlY3QiIH0gfSAqLwogCkluZGV4OiB0 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC1vdXRlci01LmMKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3Qt b3V0ZXItNS5jCShyZXZpc2lvbiAxNzE3MjMpCisrKyB0ZXN0c3VpdGUvZ2Nj LmRnL3ZlY3QvdmVjdC1vdXRlci01LmMJKHdvcmtpbmcgY29weSkKQEAgLTEs NSArMSw0IEBACiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2 ZWN0X2Zsb2F0IH0gKi8KLS8qIHsgZGctYWRkLW9wdGlvbnMgcXVhZF92ZWN0 b3JzIH0gKi8KIAogI2luY2x1ZGUgPHN0ZGFyZy5oPgogI2luY2x1ZGUgPHNp Z25hbC5oPgpJbmRleDogdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3QtbXVs dGl0eXBlcy02LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3ZlY3QtbXVsdGl0eXBlcy02LmMJKHJldmlzaW9u IDE3MTcyMykKKysrIHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LW11bHRp dHlwZXMtNi5jCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNSBAQAogLyog eyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9pbnQgfSAqLwor LyogeyBkZy1hZGQtb3B0aW9ucyBkb3VibGVfdmVjdG9ycyB9ICovCiAKICNp bmNsdWRlIDxzdGRhcmcuaD4KICNpbmNsdWRlICJ0cmVlLXZlY3QuaCIKSW5k ZXg6IHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LTUyLmMKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3Qt NTIuYwkocmV2aXNpb24gMTcxNzIzKQorKysgdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3ZlY3QtNTIuYwkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDUgQEAK IC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfZmxvYXQg fSAqLworLyogeyBkZy1hZGQtb3B0aW9ucyBkb3VibGVfdmVjdG9ycyB9ICov CiAKICNpbmNsdWRlIDxzdGRhcmcuaD4KICNpbmNsdWRlICJ0cmVlLXZlY3Qu aCIKSW5kZXg6IHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LTEwOS5jCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tIHRlc3RzdWl0ZS9nY2MuZGcvdmVj dC92ZWN0LTEwOS5jCShyZXZpc2lvbiAxNzE3MjMpCisrKyB0ZXN0c3VpdGUv Z2NjLmRnL3ZlY3QvdmVjdC0xMDkuYwkod29ya2luZyBjb3B5KQpAQCAtMSw1 ICsxLDQgQEAKIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZl Y3RfaW50IH0gKi8KLS8qIHsgZGctYWRkLW9wdGlvbnMgcXVhZF92ZWN0b3Jz IH0gKi8KIAogI2luY2x1ZGUgPHN0ZGFyZy5oPgogI2luY2x1ZGUgInRyZWUt dmVjdC5oIgpJbmRleDogdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3QtNTQu Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdmVjdC01NC5jCShyZXZpc2lvbiAxNzE3MjMpCisrKyB0ZXN0c3Vp dGUvZ2NjLmRnL3ZlY3QvdmVjdC01NC5jCSh3b3JraW5nIGNvcHkpCkBAIC0x LDQgKzEsNSBAQAogLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQg dmVjdF9mbG9hdCB9ICovCisvKiB7IGRnLWFkZC1vcHRpb25zIGRvdWJsZV92 ZWN0b3JzIH0gKi8KIAogI2luY2x1ZGUgPHN0ZGFyZy5oPgogI2luY2x1ZGUg InRyZWUtdmVjdC5oIgpJbmRleDogdGVzdHN1aXRlL2djYy5kZy92ZWN0L3Zl Y3QtNDYuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0ZXN0c3VpdGUv Z2NjLmRnL3ZlY3QvdmVjdC00Ni5jCShyZXZpc2lvbiAxNzE3MjMpCisrKyB0 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC00Ni5jCSh3b3JraW5nIGNvcHkp CkBAIC0xLDQgKzEsNSBAQAogLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10 YXJnZXQgdmVjdF9mbG9hdCB9ICovCisvKiB7IGRnLWFkZC1vcHRpb25zIGRv dWJsZV92ZWN0b3JzIH0gKi8KIAogI2luY2x1ZGUgPHN0ZGFyZy5oPgogI2lu Y2x1ZGUgInRyZWUtdmVjdC5oIgpJbmRleDogdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3ZlY3QtcGVlbC0xLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g dGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3QtcGVlbC0xLmMJKHJldmlzaW9u IDE3MTcyMykKKysrIHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LXBlZWwt MS5jCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNCBAQAogLyogeyBkZy1y ZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdmVjdF9pbnQgfSAqLwotLyogeyBk Zy1hZGQtb3B0aW9ucyBxdWFkX3ZlY3RvcnMgfSAqLwogCiAjaW5jbHVkZSA8 c3RkYXJnLmg+CiAjaW5jbHVkZSAidHJlZS12ZWN0LmgiCkluZGV4OiB0ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC1vdXRlci0xYS5jCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LW91 dGVyLTFhLmMJKHJldmlzaW9uIDE3MTcyMykKKysrIHRlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC92ZWN0LW91dGVyLTFhLmMJKHdvcmtpbmcgY29weSkKQEAgLTIw LDUgKzIwLDYgQEAgZm9vICgpewogfQogCiAvKiB7IGRnLWZpbmFsIHsgc2Nh bi10cmVlLWR1bXAtdGltZXMgIk9VVEVSIExPT1AgVkVDVE9SSVpFRCIgMSAi dmVjdCIgeyB4ZmFpbCAqLSotKiB9IH0gfSAqLwotLyogeyBkZy1maW5hbCB7 IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJzdHJpZGVkIGFjY2VzcyBpbiBvdXRl ciBsb29wIiAxICJ2ZWN0IiB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2Fu LXRyZWUtZHVtcC10aW1lcyAic3RyaWRlZCBhY2Nlc3MgaW4gb3V0ZXIgbG9v cCIgMSAidmVjdCIgeyB4ZmFpbCB2ZWN0X211bHRpcGxlX3NpemVzIH0gfSB9 ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInN0 cmlkZWQgYWNjZXNzIGluIG91dGVyIGxvb3AiIDIgInZlY3QiIHsgdGFyZ2V0 IHZlY3RfbXVsdGlwbGVfc2l6ZXMgfSB9IH0gKi8KIC8qIHsgZGctZmluYWwg eyBjbGVhbnVwLXRyZWUtZHVtcCAidmVjdCIgfSB9ICovCkluZGV4OiB0ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC1wZWVsLTIuYwo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLSB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC1wZWVs LTIuYwkocmV2aXNpb24gMTcxNzIzKQorKysgdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3ZlY3QtcGVlbC0yLmMJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw0 IEBACiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2lu dCB9ICovCi0vKiB7IGRnLWFkZC1vcHRpb25zIHF1YWRfdmVjdG9ycyB9ICov CiAKICNpbmNsdWRlIDxzdGRhcmcuaD4KICNpbmNsdWRlICJ0cmVlLXZlY3Qu aCIKSW5kZXg6IHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LTQ4LmMKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRlL2djYy5kZy92ZWN0 L3ZlY3QtNDguYwkocmV2aXNpb24gMTcxNzIzKQorKysgdGVzdHN1aXRlL2dj Yy5kZy92ZWN0L3ZlY3QtNDguYwkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsx LDUgQEAKIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3Rf ZmxvYXQgfSAqLworLyogeyBkZy1hZGQtb3B0aW9ucyBkb3VibGVfdmVjdG9y cyB9ICovCiAKICNpbmNsdWRlIDxzdGRhcmcuaD4KICNpbmNsdWRlICJ0cmVl LXZlY3QuaCIKSW5kZXg6IHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LW91 dGVyLTFiLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRl L2djYy5kZy92ZWN0L3ZlY3Qtb3V0ZXItMWIuYwkocmV2aXNpb24gMTcxNzIz KQorKysgdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3Qtb3V0ZXItMWIuYwko d29ya2luZyBjb3B5KQpAQCAtMjIsNSArMjIsNiBAQCBmb28gKCl7CiB9CiAK IC8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiT1VURVIg TE9PUCBWRUNUT1JJWkVEIiAxICJ2ZWN0IiB7IHhmYWlsICotKi0qIH0gfSB9 ICovCi0vKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInN0 cmlkZWQgYWNjZXNzIGluIG91dGVyIGxvb3AiIDEgInZlY3QiIH0gfSAqLwor LyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJzdHJpZGVk IGFjY2VzcyBpbiBvdXRlciBsb29wIiAxICJ2ZWN0IiB7IHhmYWlsIHZlY3Rf bXVsdGlwbGVfc2l6ZXMgfSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2Fu LXRyZWUtZHVtcC10aW1lcyAic3RyaWRlZCBhY2Nlc3MgaW4gb3V0ZXIgbG9v cCIgMiAidmVjdCIgeyB0YXJnZXQgdmVjdF9tdWx0aXBsZV9zaXplcyB9IH0g fSAqLwogLyogeyBkZy1maW5hbCB7IGNsZWFudXAtdHJlZS1kdW1wICJ2ZWN0 IiB9IH0gKi8KSW5kZXg6IHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LW91 dGVyLTJiLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRl L2djYy5kZy92ZWN0L3ZlY3Qtb3V0ZXItMmIuYwkocmV2aXNpb24gMTcxNzIz KQorKysgdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3Qtb3V0ZXItMmIuYwko d29ya2luZyBjb3B5KQpAQCAtMzcsNSArMzcsNiBAQCBpbnQgbWFpbiAodm9p ZCkKICAgcmV0dXJuIDA7CiB9CiAKLS8qIHsgZGctZmluYWwgeyBzY2FuLXRy ZWUtZHVtcC10aW1lcyAic3RyaWRlZCBhY2Nlc3MgaW4gb3V0ZXIgbG9vcC4i IDEgInZlY3QiIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1k dW1wLXRpbWVzICJzdHJpZGVkIGFjY2VzcyBpbiBvdXRlciBsb29wIiAxICJ2 ZWN0IiB7IHhmYWlsIHZlY3RfbXVsdGlwbGVfc2l6ZXMgfSB9IH0gKi8KKy8q IHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAic3RyaWRlZCBh Y2Nlc3MgaW4gb3V0ZXIgbG9vcCIgMiAidmVjdCIgeyB0YXJnZXQgdmVjdF9t dWx0aXBsZV9zaXplcyB9IH0gfSAqLwogLyogeyBkZy1maW5hbCB7IGNsZWFu dXAtdHJlZS1kdW1wICJ2ZWN0IiB9IH0gKi8KSW5kZXg6IHRlc3RzdWl0ZS9n Y2MuZGcvdmVjdC92ZWN0LW91dGVyLTNhLmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3Qtb3V0ZXItM2Eu YwkocmV2aXNpb24gMTcxNzIzKQorKysgdGVzdHN1aXRlL2djYy5kZy92ZWN0 L3ZlY3Qtb3V0ZXItM2EuYwkod29ya2luZyBjb3B5KQpAQCAtNDksNSArNDks NiBAQCBpbnQgbWFpbiAodm9pZCkKIH0KIAogLyogeyBkZy1maW5hbCB7IHNj YW4tdHJlZS1kdW1wLXRpbWVzICJPVVRFUiBMT09QIFZFQ1RPUklaRUQiIDEg InZlY3QiIHsgeGZhaWwgdmVjdF9ub19hbGlnbiB9IH0gfSAqLwotLyogeyBk Zy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJzdGVwIGRvZXNuJ3Qg ZGl2aWRlIHRoZSB2ZWN0b3Itc2l6ZSIgMiAidmVjdCIgfSB9ICovCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInN0ZXAgZG9lc24n dCBkaXZpZGUgdGhlIHZlY3Rvci1zaXplIiAyICJ2ZWN0IiB7IHhmYWlsIHZl Y3RfbXVsdGlwbGVfc2l6ZXMgfSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBz Y2FuLXRyZWUtZHVtcC10aW1lcyAic3RlcCBkb2Vzbid0IGRpdmlkZSB0aGUg dmVjdG9yLXNpemUiIDQgInZlY3QiIHsgdGFyZ2V0IHZlY3RfbXVsdGlwbGVf c2l6ZXMgfSB9IH0gKi8KIC8qIHsgZGctZmluYWwgeyBjbGVhbnVwLXRyZWUt ZHVtcCAidmVjdCIgfSB9ICovCkluZGV4OiB0ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3Qvbm8tdmZhLXZlY3QtMzcuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qvbm8tdmZhLXZlY3QtMzcuYwkocmV2 aXNpb24gMTcxNzIzKQorKysgdGVzdHN1aXRlL2djYy5kZy92ZWN0L25vLXZm YS12ZWN0LTM3LmMJKHdvcmtpbmcgY29weSkKQEAgLTU4LDUgKzU4LDYgQEAg aW50IG1haW4gKHZvaWQpCiAgICBJZi93aGVuIHRoZSBhbGlhc2luZyBwcm9i bGVtcyBhcmUgcmVzb2x2ZWQsIHVuYWxpZ25tZW50IG1heQogICAgcHJldmVu dCB2ZWN0b3JpemF0aW9uIG9uIHNvbWUgdGFyZ2V0cy4gICovCiAvKiB7IGRn LWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6ZWQgMiBs b29wcyIgMSAidmVjdCIgeyB4ZmFpbCAqLSotKiB9IH0gfSAqLwotLyogeyBk Zy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJjYW4ndCBkZXRlcm1p bmUgZGVwZW5kZW5jZSBiZXR3ZWVuIiAyICJ2ZWN0IiB9IH0gKi8KKy8qIHsg ZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiY2FuJ3QgZGV0ZXJt aW5lIGRlcGVuZGVuY2UiIDIgInZlY3QiIHsgeGZhaWwgdmVjdF9tdWx0aXBs ZV9zaXplcyB9IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1k dW1wLXRpbWVzICJjYW4ndCBkZXRlcm1pbmUgZGVwZW5kZW5jZSIgNCAidmVj dCIgeyB0YXJnZXQgdmVjdF9tdWx0aXBsZV9zaXplcyB9IH0gfSAqLwogLyog eyBkZy1maW5hbCB7IGNsZWFudXAtdHJlZS1kdW1wICJ2ZWN0IiB9IH0gKi8K SW5kZXg6IHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC9zbHAtMjUuYwo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qvc2xw LTI1LmMJKHJldmlzaW9uIDE3MTcyMykKKysrIHRlc3RzdWl0ZS9nY2MuZGcv dmVjdC9zbHAtMjUuYwkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDQgQEAK IC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfaW50IH0g Ki8KLS8qIHsgZGctYWRkLW9wdGlvbnMgcXVhZF92ZWN0b3JzIH0gKi8KIAog I2luY2x1ZGUgPHN0ZGFyZy5oPgogI2luY2x1ZGUgInRyZWUtdmVjdC5oIgpJ bmRleDogdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3Qtb3V0ZXItM2IuYwo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0ZXN0c3VpdGUvZ2NjLmRnL3Zl Y3QvdmVjdC1vdXRlci0zYi5jCShyZXZpc2lvbiAxNzE3MjMpCisrKyB0ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC1vdXRlci0zYi5jCSh3b3JraW5nIGNv cHkpCkBAIC00OSw1ICs0OSw2IEBAIGludCBtYWluICh2b2lkKQogfQogCiAv KiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIk9VVEVSIExP T1AgVkVDVE9SSVpFRCIgMSAidmVjdCIgeyB4ZmFpbCAqLSotKiB9IH0gfSAq LwotLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJzdHJp ZGVkIGFjY2VzcyBpbiBvdXRlciBsb29wIiAyICJ2ZWN0IiB9IH0gKi8KKy8q IHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAic3RyaWRlZCBh Y2Nlc3MgaW4gb3V0ZXIgbG9vcCIgMiAidmVjdCIgeyB4ZmFpbCB2ZWN0X211 bHRpcGxlX3NpemVzIH0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10 cmVlLWR1bXAtdGltZXMgInN0cmlkZWQgYWNjZXNzIGluIG91dGVyIGxvb3Ai IDQgInZlY3QiIHsgdGFyZ2V0IHZlY3RfbXVsdGlwbGVfc2l6ZXMgfSB9IH0g Ki8KIC8qIHsgZGctZmluYWwgeyBjbGVhbnVwLXRyZWUtZHVtcCAidmVjdCIg fSB9ICovCkluZGV4OiB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qvbm8tZmFzdC1t YXRoLXZlY3QtMTYuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3Qvbm8tZmFzdC1tYXRoLXZlY3QtMTYuYwkocmV2 aXNpb24gMCkKKysrIHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC9uby1mYXN0LW1h dGgtdmVjdC0xNi5jCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM4IEBACisv KiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Zsb2F0IH0g Ki8KKworI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgInRyZWUtdmVj dC5oIgorCisjZGVmaW5lIE4gMTYKKyNkZWZpbmUgRElGRiAyNDAKKworX19h dHRyaWJ1dGVfXyAoKG5vaW5saW5lKSkKK2ludCBtYWluMSAoKQoreworICBp bnQgaTsKKyAgZmxvYXQgYltOXSA9IHswLDMsNiw5LDEyLDE1LDE4LDIxLDI0 LDI3LDMwLDMzLDM2LDM5LDQyLDQ1fTsKKyAgZmxvYXQgY1tOXSA9IHswLDEs MiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1fTsKKyAgZmxvYXQg ZGlmZjsKKworICBkaWZmID0gMDsKKyAgZm9yIChpID0gMDsgaSA8IE47IGkr KykgeworICAgIGRpZmYgKz0gKGJbaV0gLSBjW2ldKTsKKyAgfQorCisgIC8q IGNoZWNrIHJlc3VsdHM6ICAqLworICBpZiAoZGlmZiAhPSBESUZGKQorICAg IGFib3J0ICgpOworCisgIHJldHVybiAwOworfQorCitpbnQgbWFpbiAodm9p ZCkKK3sKKyAgY2hlY2tfdmVjdCAoKTsKKworICByZXR1cm4gbWFpbjEgKCk7 Cit9CisKKy8qIFJlcXVpcmVzIGZhc3QtbWF0aC4gICovCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6ZWQgMSBsb29w cyIgMSAidmVjdCIgeyB4ZmFpbCAqLSotKiB9IH0gfSAqLworLyogeyBkZy1m aW5hbCB7IGNsZWFudXAtdHJlZS1kdW1wICJ2ZWN0IiB9IH0gKi8KSW5kZXg6 IHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC9uby12ZmEtdmVjdC0xMDEuYwo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qv bm8tdmZhLXZlY3QtMTAxLmMJKHJldmlzaW9uIDE3MTcyMykKKysrIHRlc3Rz dWl0ZS9nY2MuZGcvdmVjdC9uby12ZmEtdmVjdC0xMDEuYwkod29ya2luZyBj b3B5KQpAQCAtNDUsNiArNDUsNyBAQCBpbnQgbWFpbiAodm9pZCkKIH0KIAog LyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2ZWN0b3Jp emVkIDEgbG9vcHMiIDAgInZlY3QiIH0gfSAqLwotLyogeyBkZy1maW5hbCB7 IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJjYW4ndCBkZXRlcm1pbmUgZGVwZW5k ZW5jZSIgMSAidmVjdCIgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10 cmVlLWR1bXAtdGltZXMgImNhbid0IGRldGVybWluZSBkZXBlbmRlbmNlIiAx ICJ2ZWN0IiB7IHhmYWlsIHZlY3RfbXVsdGlwbGVfc2l6ZXMgfSB9IH0gKi8K Ky8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiY2FuJ3Qg ZGV0ZXJtaW5lIGRlcGVuZGVuY2UiIDIgInZlY3QiIHsgdGFyZ2V0IHZlY3Rf bXVsdGlwbGVfc2l6ZXMgfSB9IH0gKi8KIC8qIHsgZGctZmluYWwgeyBjbGVh bnVwLXRyZWUtZHVtcCAidmVjdCIgfSB9ICovCiAKSW5kZXg6IHRlc3RzdWl0 ZS9nY2MuZGcvdmVjdC9uby12ZmEtdmVjdC0xMDIuYwo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLSB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qvbm8tdmZhLXZl Y3QtMTAyLmMJKHJldmlzaW9uIDE3MTcyMykKKysrIHRlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC9uby12ZmEtdmVjdC0xMDIuYwkod29ya2luZyBjb3B5KQpAQCAt NTMsNiArNTMsNyBAQCBpbnQgbWFpbiAodm9pZCkKIH0KIAogLyogeyBkZy1m aW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJ2ZWN0b3JpemVkIDEgbG9v cHMiIDAgInZlY3QiIH0gfSAqLwotLyogeyBkZy1maW5hbCB7IHNjYW4tdHJl ZS1kdW1wLXRpbWVzICJwb3NzaWJsZSBkZXBlbmRlbmNlIGJldHdlZW4gZGF0 YS1yZWZzIiAxICJ2ZWN0IiB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2Fu LXRyZWUtZHVtcC10aW1lcyAicG9zc2libGUgZGVwZW5kZW5jZSBiZXR3ZWVu IGRhdGEtcmVmcyIgMSAidmVjdCIgeyB4ZmFpbCB2ZWN0X211bHRpcGxlX3Np emVzIH0gfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAt dGltZXMgInBvc3NpYmxlIGRlcGVuZGVuY2UgYmV0d2VlbiBkYXRhLXJlZnMi IDIgInZlY3QiIHsgdGFyZ2V0IHZlY3RfbXVsdGlwbGVfc2l6ZXMgfSB9IH0g Ki8KIC8qIHsgZGctZmluYWwgeyBjbGVhbnVwLXRyZWUtZHVtcCAidmVjdCIg fSB9ICovCiAKSW5kZXg6IHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LTk2 LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRlL2djYy5k Zy92ZWN0L3ZlY3QtOTYuYwkocmV2aXNpb24gMTcxNzIzKQorKysgdGVzdHN1 aXRlL2djYy5kZy92ZWN0L3ZlY3QtOTYuYwkod29ya2luZyBjb3B5KQpAQCAt MSw0ICsxLDUgQEAKIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0 IHZlY3RfaW50IH0gKi8KKy8qIHsgZGctYWRkLW9wdGlvbnMgZG91YmxlX3Zl Y3RvcnMgfSAqLwogCiAjaW5jbHVkZSA8c3RkYXJnLmg+CiAjaW5jbHVkZSAi dHJlZS12ZWN0LmgiCkluZGV4OiB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVj dC1tdWx0aXR5cGVzLTEuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC1tdWx0aXR5cGVzLTEuYwkocmV2 aXNpb24gMTcxNzIzKQorKysgdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3Qt bXVsdGl0eXBlcy0xLmMJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw0IEBA CiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2ludCB9 ICovCi0vKiB7IGRnLWFkZC1vcHRpb25zIHF1YWRfdmVjdG9ycyB9ICovCiAK ICNpbmNsdWRlIDxzdGRhcmcuaD4KICNpbmNsdWRlICJ0cmVlLXZlY3QuaCIK SW5kZXg6IHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LXJlZHVjLWRvdC1z OGIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0ZXN0c3VpdGUvZ2Nj LmRnL3ZlY3QvdmVjdC1yZWR1Yy1kb3QtczhiLmMJKHJldmlzaW9uIDE3MTcy MykKKysrIHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LXJlZHVjLWRvdC1z OGIuYwkod29ya2luZyBjb3B5KQpAQCAtNTgsNyArNTgsOCBAQCBpbnQgbWFp biAodm9pZCkKIH0KIAogLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1w LXRpbWVzICJ2ZWN0X3JlY29nX2RvdF9wcm9kX3BhdHRlcm46IGRldGVjdGVk IiAxICJ2ZWN0IiB7IHhmYWlsICotKi0qIH0gfSB9ICovCi0vKiB7IGRnLWZp bmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3RfcmVjb2dfd2lkZW5f bXVsdF9wYXR0ZXJuOiBkZXRlY3RlZCIgMSAidmVjdCIgfSB9ICovCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3RfcmVjb2df d2lkZW5fbXVsdF9wYXR0ZXJuOiBkZXRlY3RlZCIgMSAidmVjdCIgeyB4ZmFp bCB2ZWN0X211bHRpcGxlX3NpemVzIH0gfSB9ICovCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInZlY3RfcmVjb2dfd2lkZW5fbXVs dF9wYXR0ZXJuOiBkZXRlY3RlZCIgMiAidmVjdCIgeyB0YXJnZXQgdmVjdF9t dWx0aXBsZV9zaXplcyB9IH0gfSAqLwogCiAvKiB7IGRnLWZpbmFsIHsgc2Nh bi10cmVlLWR1bXAtdGltZXMgInZlY3Rvcml6ZWQgMSBsb29wcyIgMSAidmVj dCIgeyB4ZmFpbCAqLSotKiB9IH0gfSAqLwogCkluZGV4OiB0ZXN0c3VpdGUv Z2NjLmRnL3ZlY3QvdmVjdC1vdXRlci0xLmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3Qtb3V0ZXItMS5j CShyZXZpc2lvbiAxNzE3MjMpCisrKyB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qv dmVjdC1vdXRlci0xLmMJKHdvcmtpbmcgY29weSkKQEAgLTIyLDUgKzIyLDYg QEAgZm9vICgpewogfQogCiAvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1 bXAtdGltZXMgIk9VVEVSIExPT1AgVkVDVE9SSVpFRCIgMSAidmVjdCIgeyB4 ZmFpbCAqLSotKiB9IH0gfSAqLwotLyogeyBkZy1maW5hbCB7IHNjYW4tdHJl ZS1kdW1wLXRpbWVzICJzdHJpZGVkIGFjY2VzcyBpbiBvdXRlciBsb29wIiAx ICJ2ZWN0IiB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVt cC10aW1lcyAic3RyaWRlZCBhY2Nlc3MgaW4gb3V0ZXIgbG9vcCIgMSAidmVj dCIgeyB4ZmFpbCB2ZWN0X211bHRpcGxlX3NpemVzIH0gfSB9ICovCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInN0cmlkZWQgYWNj ZXNzIGluIG91dGVyIGxvb3AiIDIgInZlY3QiIHsgdGFyZ2V0IHZlY3RfbXVs dGlwbGVfc2l6ZXMgfSB9IH0gKi8KIC8qIHsgZGctZmluYWwgeyBjbGVhbnVw LXRyZWUtZHVtcCAidmVjdCIgfSB9ICovCkluZGV4OiB0ZXN0c3VpdGUvZ2Nj LmRnL3ZlY3Qvc2xwLTMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0 ZXN0c3VpdGUvZ2NjLmRnL3ZlY3Qvc2xwLTMuYwkocmV2aXNpb24gMTcxNzIz KQorKysgdGVzdHN1aXRlL2djYy5kZy92ZWN0L3NscC0zLmMJKHdvcmtpbmcg Y29weSkKQEAgLTEsNSArMSw0IEBACiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0 aXZlLXRhcmdldCB2ZWN0X2ludCB9ICovCi0vKiB7IGRnLWFkZC1vcHRpb25z IHF1YWRfdmVjdG9ycyB9ICovCiAKICNpbmNsdWRlIDxzdGRhcmcuaD4KICNp bmNsdWRlICJ0cmVlLXZlY3QuaCIKQEAgLTc5LDcgKzc4LDcgQEAgbWFpbjEg KCkKICAgICB9CiAKICAgLyogY2hlY2sgcmVzdWx0czogICovCi0gIGZvciAo aSA9IDA7IGkgPCBOLzI7IGkrKykKKyAgZm9yIChpID0gMDsgaSA8IE4vNDsg aSsrKQogICAgIHsKICAgICAgIGlmIChvdXRbaSoxNl0gIT0gIGluW2kqMTZd CiAgICAgICAgICB8fCBvdXRbaSoxNiArIDFdICE9IGluW2kqMTYgKyAxXQpJ bmRleDogdGVzdHN1aXRlL2djYy5kZy92ZWN0L25vLXZmYS1wcjI5MTQ1LmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRlL2djYy5kZy92 ZWN0L25vLXZmYS1wcjI5MTQ1LmMJKHJldmlzaW9uIDE3MTcyMykKKysrIHRl c3RzdWl0ZS9nY2MuZGcvdmVjdC9uby12ZmEtcHIyOTE0NS5jCSh3b3JraW5n IGNvcHkpCkBAIC0xLDUgKzEsNCBAQAogLyogeyBkZy1yZXF1aXJlLWVmZmVj dGl2ZS10YXJnZXQgdmVjdF9pbnQgfSAqLwotLyogeyBkZy1hZGQtb3B0aW9u cyBxdWFkX3ZlY3RvcnMgfSAqLwogCiAjaW5jbHVkZSA8c3RkYXJnLmg+CiAj aW5jbHVkZSAidHJlZS12ZWN0LmgiCkluZGV4OiB0ZXN0c3VpdGUvZ2NjLmRn L3ZlY3QvdmVjdC5leHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gdGVz dHN1aXRlL2djYy5kZy92ZWN0L3ZlY3QuZXhwCShyZXZpc2lvbiAxNzE3MjMp CisrKyB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC5leHAJKHdvcmtpbmcg Y29weSkKQEAgLTEwMiw2ICsxMDIsMTIgQEAgbGFwcGVuZCBERUZBVUxUX1ZF Q1RDRkxBR1MgIi1mZmFzdC1tYXRoIgogZGctcnVudGVzdCBbbHNvcnQgW2ds b2IgLW5vY29tcGxhaW4gJHNyY2Rpci8kc3ViZGlyL2Zhc3QtbWF0aC0qLlxb Y1NcXV1dICBcCiAJIiIgJERFRkFVTFRfVkVDVENGTEFHUwogCisjIC1mbm8t ZmFzdC1tYXRoIHRlc3RzCitzZXQgREVGQVVMVF9WRUNUQ0ZMQUdTICRTQVZF RF9ERUZBVUxUX1ZFQ1RDRkxBR1MKK2xhcHBlbmQgREVGQVVMVF9WRUNUQ0ZM QUdTICItZm5vLWZhc3QtbWF0aCIKK2RnLXJ1bnRlc3QgW2xzb3J0IFtnbG9i IC1ub2NvbXBsYWluICRzcmNkaXIvJHN1YmRpci9uby1mYXN0LW1hdGgtKi5c W2NTXF1dXSAgXAorICAgICAgICAiIiAkREVGQVVMVF9WRUNUQ0ZMQUdTCisK ICMgLWZuby1tYXRoLWVycm5vIHRlc3RzCiBzZXQgREVGQVVMVF9WRUNUQ0ZM QUdTICRTQVZFRF9ERUZBVUxUX1ZFQ1RDRkxBR1MKIGxhcHBlbmQgREVGQVVM VF9WRUNUQ0ZMQUdTICItZm5vLW1hdGgtZXJybm8iCkluZGV4OiB0ZXN0c3Vp dGUvZ2NjLmRnL3ZlY3QvdmVjdC1tdWx0aXR5cGVzLTMuYwo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC1t dWx0aXR5cGVzLTMuYwkocmV2aXNpb24gMTcxNzIzKQorKysgdGVzdHN1aXRl L2djYy5kZy92ZWN0L3ZlY3QtbXVsdGl0eXBlcy0zLmMJKHdvcmtpbmcgY29w eSkKQEAgLTEsNCArMSw1IEBACiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZl LXRhcmdldCB2ZWN0X2ludCB9ICovCisvKiB7IGRnLWFkZC1vcHRpb25zIGRv dWJsZV92ZWN0b3JzIH0gKi8KIAogI2luY2x1ZGUgPHN0ZGFyZy5oPgogI2lu Y2x1ZGUgInRyZWUtdmVjdC5oIgpJbmRleDogdGVzdHN1aXRlL2djYy5kZy92 ZWN0L3ZlY3QtNDAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0ZXN0 c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC00MC5jCShyZXZpc2lvbiAxNzE3MjMp CisrKyB0ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC00MC5jCSh3b3JraW5n IGNvcHkpCkBAIC0xLDQgKzEsNSBAQAogLyogeyBkZy1yZXF1aXJlLWVmZmVj dGl2ZS10YXJnZXQgdmVjdF9mbG9hdCB9ICovCisvKiB7IGRnLWFkZC1vcHRp b25zIGRvdWJsZV92ZWN0b3JzIH0gKi8KIAogI2luY2x1ZGUgPHN0ZGFyZy5o PgogI2luY2x1ZGUgInRyZWUtdmVjdC5oIgpJbmRleDogdGVzdHN1aXRlL2dj Yy5kZy92ZWN0L3ZlY3QtMTA0LmMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3QtMTA0LmMJKHJldmlzaW9u IDE3MTcyMykKKysrIHRlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LTEwNC5j CSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBAIGludCBtYWluICh2 b2lkKQogfQogCiAvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGlt ZXMgInZlY3Rvcml6ZWQgMSBsb29wcyIgMCAidmVjdCIgfSB9ICovCi0vKiB7 IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgInBvc3NpYmxlIGRl cGVuZGVuY2UgYmV0d2VlbiBkYXRhLXJlZnMiIDEgInZlY3QiIH0gfSAqLwor LyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJwb3NzaWJs ZSBkZXBlbmRlbmNlIGJldHdlZW4gZGF0YS1yZWZzIiAxICJ2ZWN0IiB7IHhm YWlsIHZlY3RfbXVsdGlwbGVfc2l6ZXMgfSB9IH0gKi8KKy8qIHsgZGctZmlu YWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAicG9zc2libGUgZGVwZW5kZW5j ZSBiZXR3ZWVuIGRhdGEtcmVmcyIgMiAidmVjdCIgeyB0YXJnZXQgdmVjdF9t dWx0aXBsZV9zaXplcyB9IH0gfSAqLwogLyogeyBkZy1maW5hbCB7IGNsZWFu dXAtdHJlZS1kdW1wICJ2ZWN0IiB9IH0gKi8KIApJbmRleDogdGVzdHN1aXRl L2djYy5kZy92ZWN0L3ZlY3QtbXVsdGl0eXBlcy00LmMKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gdGVzdHN1aXRlL2djYy5kZy92ZWN0L3ZlY3QtbXVs dGl0eXBlcy00LmMJKHJldmlzaW9uIDE3MTcyMykKKysrIHRlc3RzdWl0ZS9n Y2MuZGcvdmVjdC92ZWN0LW11bHRpdHlwZXMtNC5jCSh3b3JraW5nIGNvcHkp CkBAIC0xLDUgKzEsNCBAQAogLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10 YXJnZXQgdmVjdF9pbnQgfSAqLwotLyogeyBkZy1hZGQtb3B0aW9ucyBxdWFk X3ZlY3RvcnMgfSAqLwogCiAjaW5jbHVkZSA8c3RkYXJnLmg+CiAjaW5jbHVk ZSAidHJlZS12ZWN0LmgiCkluZGV4OiBjb25maWcvYXJtL2FybS5jCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIGNvbmZpZy9hcm0vYXJtLmMJKHJldmlz aW9uIDE3MTcyMykKKysrIGNvbmZpZy9hcm0vYXJtLmMJKHdvcmtpbmcgY29w eSkKQEAgLTIyMjk3LDE3ICsyMjI5NywxNiBAQCBhcm1fcHJlZmVycmVkX3Np bWRfbW9kZSAoZW51bSBtYWNoaW5lX21vZGUgbW9kZSkKICAgICBzd2l0Y2gg KG1vZGUpCiAgICAgICB7CiAgICAgICBjYXNlIFNGbW9kZToKLQlyZXR1cm4g VEFSR0VUX05FT05fVkVDVE9SSVpFX1FVQUQgPyBWNFNGbW9kZSA6IFYyU0Zt b2RlOworICAgICAgICByZXR1cm4gKFBSRUZFUlJFRF9WRUNUT1JfU0laRSA9 PSA2NCkgPyBWMlNGbW9kZSA6IFY0U0Ztb2RlOwogICAgICAgY2FzZSBTSW1v ZGU6Ci0JcmV0dXJuIFRBUkdFVF9ORU9OX1ZFQ1RPUklaRV9RVUFEID8gVjRT SW1vZGUgOiBWMlNJbW9kZTsKKyAgICAgICAgcmV0dXJuIChQUkVGRVJSRURf VkVDVE9SX1NJWkUgPT0gNjQpID8gVjJTSW1vZGUgOiBWNFNJbW9kZTsKICAg ICAgIGNhc2UgSEltb2RlOgotCXJldHVybiBUQVJHRVRfTkVPTl9WRUNUT1JJ WkVfUVVBRCA/IFY4SEltb2RlIDogVjRISW1vZGU7CisgICAgICAgIHJldHVy biAoUFJFRkVSUkVEX1ZFQ1RPUl9TSVpFID09IDY0KSA/IFY0SEltb2RlIDog VjhISW1vZGU7CiAgICAgICBjYXNlIFFJbW9kZToKLQlyZXR1cm4gVEFSR0VU X05FT05fVkVDVE9SSVpFX1FVQUQgPyBWMTZRSW1vZGUgOiBWOFFJbW9kZTsK KyAgICAgICAgcmV0dXJuIChQUkVGRVJSRURfVkVDVE9SX1NJWkUgPT0gNjQp PyBWOFFJbW9kZSA6IFYxNlFJbW9kZTsKICAgICAgIGNhc2UgREltb2RlOgot CWlmIChUQVJHRVRfTkVPTl9WRUNUT1JJWkVfUVVBRCkKLQkgIHJldHVybiBW MkRJbW9kZTsKLQlicmVhazsKKyAgICAgICAgaWYgKFBSRUZFUlJFRF9WRUNU T1JfU0laRSAhPSA2NCkKKyAgICAgICAgICByZXR1cm4gVjJESW1vZGU7CiAK ICAgICAgIGRlZmF1bHQ6OwogICAgICAgfQpAQCAtMjM1MzUsNyArMjM1MzQs NyBAQCBhcm1fZXhwYW5kX3N5bmMgKGVudW0gbWFjaGluZV9tb2RlIG1vZGUs CiBzdGF0aWMgdW5zaWduZWQgaW50CiBhcm1fYXV0b3ZlY3Rvcml6ZV92ZWN0 b3Jfc2l6ZXMgKHZvaWQpCiB7Ci0gIHJldHVybiBUQVJHRVRfTkVPTl9WRUNU T1JJWkVfUVVBRCA/IDE2IHwgOCA6IDA7CisgIHJldHVybiAoUFJFRkVSUkVE X1ZFQ1RPUl9TSVpFICE9IDY0KSA/IDE2IHwgOCA6IDA7CiB9CiAKIHN0YXRp YyBib29sCkluZGV4OiBjb25maWcvYXJtL2FybS5vcHQKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gY29uZmlnL2FybS9hcm0ub3B0CShyZXZpc2lvbiAx NzE3MjMpCisrKyBjb25maWcvYXJtL2FybS5vcHQJKHdvcmtpbmcgY29weSkK QEAgLTE1OCw3ICsxNTgsNyBAQCBUYXJnZXQgUmVwb3J0IFJlamVjdE5lZ2F0 aXZlIE1hc2soTElUVExFX1dPUkRTKQogQXNzdW1lIGJpZyBlbmRpYW4gYnl0 ZXMsIGxpdHRsZSBlbmRpYW4gd29yZHMKIAogbXZlY3Rvcml6ZS13aXRoLW5l b24tcXVhZAotVGFyZ2V0IFJlcG9ydCBNYXNrKE5FT05fVkVDVE9SSVpFX1FV QUQpCitUYXJnZXQgUmVwb3J0IFJlamVjdE5lZ2F0aXZlIE1hc2soTkVPTl9W RUNUT1JJWkVfUVVBRCkKIFVzZSBOZW9uIHF1YWQtd29yZCAocmF0aGVyIHRo YW4gZG91YmxlLXdvcmQpIHJlZ2lzdGVycyBmb3IgdmVjdG9yaXphdGlvbgog CiBtd29yZC1yZWxvY2F0aW9ucwpJbmRleDogcGFyYW1zLmRlZgo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSBwYXJhbXMuZGVmCShyZXZpc2lvbiAxNzE3 MjMpCisrKyBwYXJhbXMuZGVmCSh3b3JraW5nIGNvcHkpCkBAIC04ODAsNiAr ODgwLDEyIEBAIERFRlBBUkFNIChQQVJBTV9NQVhfU1RPUkVTX1RPX1NJTkss CiAgICAgICAgICAgMiwgMCwgMCkKIAogCisvKiBQcmVmZXJyZWQgdmVjdG9y IHNpemUgaW4gYml0cy4gIEludmFsaWQgdmFsdWVzIGFyZSBpZ25vcmVkLiAg Ki8KK0RFRlBBUkFNIChQQVJBTV9QUkVGRVJSRURfVkVDVE9SX1NJWkUsCisg ICAgICAgICAgInByZWZlcnJlZC12ZWN0b3Itc2l6ZSIsCisgICAgICAgICAg IlByZWZlcnJlZCB2ZWN0b3Igc2l6ZSBpbiBiaXRzIiwKKyAgICAgICAgICAx MjgsIDAsIDApCisKIC8qCiBMb2NhbCB2YXJpYWJsZXM6CiBtb2RlOmMK --000e0cd1f86e0fa70204a1677b5f--