From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21255 invoked by alias); 13 Apr 2011 23:48:17 -0000 Received: (qmail 21241 invoked by uid 22791); 13 Apr 2011 23:48:13 -0000 X-SWARE-Spam-Status: No, hits=0.4 required=5.0 tests=AWL,BAYES_50,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SARE_HTML_INV_TAG,TW_MX,TW_XV,TW_ZJ,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-pv0-f175.google.com (HELO mail-pv0-f175.google.com) (74.125.83.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 13 Apr 2011 23:48:04 +0000 Received: by pvc30 with SMTP id 30so483043pvc.20 for ; Wed, 13 Apr 2011 16:48:03 -0700 (PDT) MIME-Version: 1.0 Received: by 10.143.177.6 with SMTP id e6mr55619wfp.223.1302738483245; Wed, 13 Apr 2011 16:48:03 -0700 (PDT) Received: by 10.143.165.9 with HTTP; Wed, 13 Apr 2011 16:48:03 -0700 (PDT) Date: Wed, 13 Apr 2011 23:48:00 -0000 Message-ID: Subject: [PATCH 7/n, i386]: Merge SSE and AVX patterns using "enable" attribute. From: Uros Bizjak To: gcc-patches@gcc.gnu.org Content-Type: multipart/mixed; boundary=000e0cd5d18487739104a0d570aa 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/msg01042.txt.bz2 --000e0cd5d18487739104a0d570aa Content-Type: text/plain; charset=ISO-8859-1 Content-length: 955 Hello! Attached patch converts " Miscellaneous" and "SSSE3 instructions" sections of sse.md. 2011-04-12 Uros Bizjak * config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3. (*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3. (sse2_psadbw): Merge with *avx_psadbw. (ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3. (ssse3_phadddv4si3): Merge with *avx_phadddv4si3. (ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3. (ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3. (ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3. (ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3. (ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128. (*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3. (ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3. (ssse3_psign3): Merge with *avx_psign3. (ssse3_palignrti): Merge with *avx_palignrti. Tested on x86_64-pc-linux-gnu {,-m32} AVX target, committed to mainline SVN. Uros. --000e0cd5d18487739104a0d570aa Content-Type: text/plain; charset=US-ASCII; name="s.diff.txt" Content-Disposition: attachment; filename="s.diff.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gmgwuh200 Content-length: 45482 SW5kZXg6IHNzZS5tZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzc2Uu bWQJKHJldmlzaW9uIDE3MjM2NSkKKysrIHNzZS5tZAkod29ya2luZyBjb3B5 KQpAQCAtNzAxNSw0MSArNzAxNSwxNiBAQAogICAiVEFSR0VUX1NTRTIiCiAg ICJpeDg2X2ZpeHVwX2JpbmFyeV9vcGVyYW5kc19ub19jb3B5IChQTFVTLCBW MTZRSW1vZGUsIG9wZXJhbmRzKTsiKQogCi0oZGVmaW5lX2luc24gIiphdnhf dWF2Z3YxNnFpMyIKLSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VjE2UUkgMCAi cmVnaXN0ZXJfb3BlcmFuZCIgIj14IikKLQkodHJ1bmNhdGU6VjE2UUkKLQkg IChsc2hpZnRydDpWMTZISQotCSAgICAocGx1czpWMTZISQotCSAgICAgIChw bHVzOlYxNkhJCi0JCSh6ZXJvX2V4dGVuZDpWMTZISQotCQkgIChtYXRjaF9v cGVyYW5kOlYxNlFJIDEgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAiJXgiKSkK LQkJKHplcm9fZXh0ZW5kOlYxNkhJCi0JCSAgKG1hdGNoX29wZXJhbmQ6VjE2 UUkgMiAibm9uaW1tZWRpYXRlX29wZXJhbmQiICJ4bSIpKSkKLQkgICAgICAo Y29uc3RfdmVjdG9yOlYxNlFJIFsoY29uc3RfaW50IDEpIChjb25zdF9pbnQg MSkKLQkJCQkgICAoY29uc3RfaW50IDEpIChjb25zdF9pbnQgMSkKLQkJCQkg ICAoY29uc3RfaW50IDEpIChjb25zdF9pbnQgMSkKLQkJCQkgICAoY29uc3Rf aW50IDEpIChjb25zdF9pbnQgMSkKLQkJCQkgICAoY29uc3RfaW50IDEpIChj b25zdF9pbnQgMSkKLQkJCQkgICAoY29uc3RfaW50IDEpIChjb25zdF9pbnQg MSkKLQkJCQkgICAoY29uc3RfaW50IDEpIChjb25zdF9pbnQgMSkKLQkJCQkg ICAoY29uc3RfaW50IDEpIChjb25zdF9pbnQgMSldKSkKLQkgICAgKGNvbnN0 X2ludCAxKSkpKV0KLSAgIlRBUkdFVF9BVlggJiYgaXg4Nl9iaW5hcnlfb3Bl cmF0b3Jfb2sgKFBMVVMsIFYxNlFJbW9kZSwgb3BlcmFuZHMpIgotICAidnBh dmdiXHR7JTIsICUxLCAlMHwlMCwgJTEsICUyfSIKLSAgWyhzZXRfYXR0ciAi dHlwZSIgInNzZWlhZGQiKQotICAgKHNldF9hdHRyICJwcmVmaXgiICJ2ZXgi KQotICAgKHNldF9hdHRyICJtb2RlIiAiVEkiKV0pCi0KIChkZWZpbmVfaW5z biAiKnNzZTJfdWF2Z3YxNnFpMyIKLSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6 VjE2UUkgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj14IikKKyAgWyhzZXQgKG1h dGNoX29wZXJhbmQ6VjE2UUkgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj14LHgi KQogCSh0cnVuY2F0ZTpWMTZRSQogCSAgKGxzaGlmdHJ0OlYxNkhJCiAJICAg IChwbHVzOlYxNkhJCiAJICAgICAgKHBsdXM6VjE2SEkKIAkJKHplcm9fZXh0 ZW5kOlYxNkhJCi0JCSAgKG1hdGNoX29wZXJhbmQ6VjE2UUkgMSAibm9uaW1t ZWRpYXRlX29wZXJhbmQiICIlMCIpKQorCQkgIChtYXRjaF9vcGVyYW5kOlYx NlFJIDEgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAiJTAseCIpKQogCQkoemVy b19leHRlbmQ6VjE2SEkKLQkJICAobWF0Y2hfb3BlcmFuZDpWMTZRSSAyICJu b25pbW1lZGlhdGVfb3BlcmFuZCIgInhtIikpKQorCQkgIChtYXRjaF9vcGVy YW5kOlYxNlFJIDIgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAieG0seG0iKSkp CiAJICAgICAgKGNvbnN0X3ZlY3RvcjpWMTZRSSBbKGNvbnN0X2ludCAxKSAo Y29uc3RfaW50IDEpCiAJCQkJICAgKGNvbnN0X2ludCAxKSAoY29uc3RfaW50 IDEpCiAJCQkJICAgKGNvbnN0X2ludCAxKSAoY29uc3RfaW50IDEpCkBAIC03 MDYwLDkgKzcwMzUsMTMgQEAKIAkJCQkgICAoY29uc3RfaW50IDEpIChjb25z dF9pbnQgMSldKSkKIAkgICAgKGNvbnN0X2ludCAxKSkpKV0KICAgIlRBUkdF VF9TU0UyICYmIGl4ODZfYmluYXJ5X29wZXJhdG9yX29rIChQTFVTLCBWMTZR SW1vZGUsIG9wZXJhbmRzKSIKLSAgInBhdmdiXHR7JTIsICUwfCUwLCAlMn0i Ci0gIFsoc2V0X2F0dHIgInR5cGUiICJzc2VpYWRkIikKLSAgIChzZXRfYXR0 ciAicHJlZml4X2RhdGExNiIgIjEiKQorICAiQAorICAgcGF2Z2JcdHslMiwg JTB8JTAsICUyfQorICAgdnBhdmdiXHR7JTIsICUxLCAlMHwlMCwgJTEsICUy fSIKKyAgWyhzZXRfYXR0ciAiaXNhIiAibm9hdngsYXZ4IikKKyAgIChzZXRf YXR0ciAidHlwZSIgInNzZWlhZGQiKQorICAgKHNldF9hdHRyICJwcmVmaXhf ZGF0YTE2IiAiMSwqIikKKyAgIChzZXRfYXR0ciAicHJlZml4IiAib3JpZyx2 ZXgiKQogICAgKHNldF9hdHRyICJtb2RlIiAiVEkiKV0pCiAKIChkZWZpbmVf ZXhwYW5kICJzc2UyX3Vhdmd2OGhpMyIKQEAgLTcwODMsNzEgKzcwNjIsNDcg QEAKICAgIlRBUkdFVF9TU0UyIgogICAiaXg4Nl9maXh1cF9iaW5hcnlfb3Bl cmFuZHNfbm9fY29weSAoUExVUywgVjhISW1vZGUsIG9wZXJhbmRzKTsiKQog Ci0oZGVmaW5lX2luc24gIiphdnhfdWF2Z3Y4aGkzIgotICBbKHNldCAobWF0 Y2hfb3BlcmFuZDpWOEhJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9eCIpCi0J KHRydW5jYXRlOlY4SEkKLQkgIChsc2hpZnRydDpWOFNJCi0JICAgIChwbHVz OlY4U0kKLQkgICAgICAocGx1czpWOFNJCi0JCSh6ZXJvX2V4dGVuZDpWOFNJ Ci0JCSAgKG1hdGNoX29wZXJhbmQ6VjhISSAxICJub25pbW1lZGlhdGVfb3Bl cmFuZCIgIiV4IikpCi0JCSh6ZXJvX2V4dGVuZDpWOFNJCi0JCSAgKG1hdGNo X29wZXJhbmQ6VjhISSAyICJub25pbW1lZGlhdGVfb3BlcmFuZCIgInhtIikp KQotCSAgICAgIChjb25zdF92ZWN0b3I6VjhISSBbKGNvbnN0X2ludCAxKSAo Y29uc3RfaW50IDEpCi0JCQkJICAoY29uc3RfaW50IDEpIChjb25zdF9pbnQg MSkKLQkJCQkgIChjb25zdF9pbnQgMSkgKGNvbnN0X2ludCAxKQotCQkJCSAg KGNvbnN0X2ludCAxKSAoY29uc3RfaW50IDEpXSkpCi0JICAgIChjb25zdF9p bnQgMSkpKSldCi0gICJUQVJHRVRfQVZYICYmIGl4ODZfYmluYXJ5X29wZXJh dG9yX29rIChQTFVTLCBWOEhJbW9kZSwgb3BlcmFuZHMpIgotICAidnBhdmd3 XHR7JTIsICUxLCAlMHwlMCwgJTEsICUyfSIKLSAgWyhzZXRfYXR0ciAidHlw ZSIgInNzZWlhZGQiKQotICAgKHNldF9hdHRyICJwcmVmaXgiICJ2ZXgiKQot ICAgKHNldF9hdHRyICJtb2RlIiAiVEkiKV0pCi0KIChkZWZpbmVfaW5zbiAi KnNzZTJfdWF2Z3Y4aGkzIgotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWOEhJ IDAgInJlZ2lzdGVyX29wZXJhbmQiICI9eCIpCisgIFsoc2V0IChtYXRjaF9v cGVyYW5kOlY4SEkgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj14LHgiKQogCSh0 cnVuY2F0ZTpWOEhJCiAJICAobHNoaWZ0cnQ6VjhTSQogCSAgICAocGx1czpW OFNJCiAJICAgICAgKHBsdXM6VjhTSQogCQkoemVyb19leHRlbmQ6VjhTSQot CQkgIChtYXRjaF9vcGVyYW5kOlY4SEkgMSAibm9uaW1tZWRpYXRlX29wZXJh bmQiICIlMCIpKQorCQkgIChtYXRjaF9vcGVyYW5kOlY4SEkgMSAibm9uaW1t ZWRpYXRlX29wZXJhbmQiICIlMCx4IikpCiAJCSh6ZXJvX2V4dGVuZDpWOFNJ Ci0JCSAgKG1hdGNoX29wZXJhbmQ6VjhISSAyICJub25pbW1lZGlhdGVfb3Bl cmFuZCIgInhtIikpKQorCQkgIChtYXRjaF9vcGVyYW5kOlY4SEkgMiAibm9u aW1tZWRpYXRlX29wZXJhbmQiICJ4bSx4bSIpKSkKIAkgICAgICAoY29uc3Rf dmVjdG9yOlY4SEkgWyhjb25zdF9pbnQgMSkgKGNvbnN0X2ludCAxKQogCQkJ CSAgKGNvbnN0X2ludCAxKSAoY29uc3RfaW50IDEpCiAJCQkJICAoY29uc3Rf aW50IDEpIChjb25zdF9pbnQgMSkKIAkJCQkgIChjb25zdF9pbnQgMSkgKGNv bnN0X2ludCAxKV0pKQogCSAgICAoY29uc3RfaW50IDEpKSkpXQogICAiVEFS R0VUX1NTRTIgJiYgaXg4Nl9iaW5hcnlfb3BlcmF0b3Jfb2sgKFBMVVMsIFY4 SEltb2RlLCBvcGVyYW5kcykiCi0gICJwYXZnd1x0eyUyLCAlMHwlMCwgJTJ9 IgotICBbKHNldF9hdHRyICJ0eXBlIiAic3NlaWFkZCIpCi0gICAoc2V0X2F0 dHIgInByZWZpeF9kYXRhMTYiICIxIikKKyAgIkAKKyAgIHBhdmd3XHR7JTIs ICUwfCUwLCAlMn0KKyAgIHZwYXZnd1x0eyUyLCAlMSwgJTB8JTAsICUxLCAl Mn0iCisgIFsoc2V0X2F0dHIgImlzYSIgIm5vYXZ4LGF2eCIpCisgICAoc2V0 X2F0dHIgInR5cGUiICJzc2VpYWRkIikKKyAgIChzZXRfYXR0ciAicHJlZml4 X2RhdGExNiIgIjEsKiIpCisgICAoc2V0X2F0dHIgInByZWZpeCIgIm9yaWcs dmV4IikKICAgIChzZXRfYXR0ciAibW9kZSIgIlRJIildKQogCiA7OyBUaGUg Y29ycmVjdCByZXByZXNlbnRhdGlvbiBmb3IgdGhpcyBpcyBhYnNvbHV0ZWx5 IGVub3Jtb3VzLCBhbmQKIDs7IHN1cmVseSBub3QgZ2VuZXJhbGx5IHVzZWZ1 bC4KLShkZWZpbmVfaW5zbiAiKmF2eF9wc2FkYnciCi0gIFsoc2V0IChtYXRj aF9vcGVyYW5kOlYyREkgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj14IikKLQko dW5zcGVjOlYyREkgWyhtYXRjaF9vcGVyYW5kOlYxNlFJIDEgInJlZ2lzdGVy X29wZXJhbmQiICJ4IikKLQkJICAgICAgKG1hdGNoX29wZXJhbmQ6VjE2UUkg MiAibm9uaW1tZWRpYXRlX29wZXJhbmQiICJ4bSIpXQotCQkgICAgIFVOU1BF Q19QU0FEQlcpKV0KLSAgIlRBUkdFVF9BVlgiCi0gICJ2cHNhZGJ3XHR7JTIs ICUxLCAlMHwlMCwgJTEsICUyfSIKLSAgWyhzZXRfYXR0ciAidHlwZSIgInNz ZWlhZGQiKQotICAgKHNldF9hdHRyICJwcmVmaXgiICJ2ZXgiKQotICAgKHNl dF9hdHRyICJtb2RlIiAiVEkiKV0pCi0KIChkZWZpbmVfaW5zbiAic3NlMl9w c2FkYnciCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlYyREkgMCAicmVnaXN0 ZXJfb3BlcmFuZCIgIj14IikKLQkodW5zcGVjOlYyREkgWyhtYXRjaF9vcGVy YW5kOlYxNlFJIDEgInJlZ2lzdGVyX29wZXJhbmQiICIwIikKLQkJICAgICAg KG1hdGNoX29wZXJhbmQ6VjE2UUkgMiAibm9uaW1tZWRpYXRlX29wZXJhbmQi ICJ4bSIpXQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWMkRJIDAgInJlZ2lz dGVyX29wZXJhbmQiICI9eCx4IikKKwkodW5zcGVjOlYyREkgWyhtYXRjaF9v cGVyYW5kOlYxNlFJIDEgInJlZ2lzdGVyX29wZXJhbmQiICIwLHgiKQorCQkg ICAgICAobWF0Y2hfb3BlcmFuZDpWMTZRSSAyICJub25pbW1lZGlhdGVfb3Bl cmFuZCIgInhtLHhtIildCiAJCSAgICAgVU5TUEVDX1BTQURCVykpXQogICAi VEFSR0VUX1NTRTIiCi0gICJwc2FkYndcdHslMiwgJTB8JTAsICUyfSIKLSAg WyhzZXRfYXR0ciAidHlwZSIgInNzZWlhZGQiKQorICAiQAorICAgcHNhZGJ3 XHR7JTIsICUwfCUwLCAlMn0KKyAgIHZwc2FkYndcdHslMiwgJTEsICUwfCUw LCAlMSwgJTJ9IgorICBbKHNldF9hdHRyICJpc2EiICJub2F2eCxhdngiKQor ICAgKHNldF9hdHRyICJ0eXBlIiAic3NlaWFkZCIpCiAgICAoc2V0X2F0dHIg ImF0b21fdW5pdCIgInNpbXVsIikKLSAgIChzZXRfYXR0ciAicHJlZml4X2Rh dGExNiIgIjEiKQorICAgKHNldF9hdHRyICJwcmVmaXhfZGF0YTE2IiAiMSwq IikKKyAgIChzZXRfYXR0ciAicHJlZml4IiAib3JpZyx2ZXgiKQogICAgKHNl dF9hdHRyICJtb2RlIiAiVEkiKV0pCiAKIChkZWZpbmVfaW5zbiAiYXZ4X21v dm1zazxzc2Vtb2Rlc3VmZml4PjI1NiIKQEAgLTczNDgsNTggKzczMDMsMTQg QEAKIDs7CiA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKIAotKGRlZmluZV9p bnNuICIqYXZ4X3BoYWRkd3Y4aGkzIgotICBbKHNldCAobWF0Y2hfb3BlcmFu ZDpWOEhJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9eCIpCi0JKHZlY19jb25j YXQ6VjhISQotCSAgKHZlY19jb25jYXQ6VjRISQotCSAgICAodmVjX2NvbmNh dDpWMkhJCi0JICAgICAgKHBsdXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkKLQkJ ICAobWF0Y2hfb3BlcmFuZDpWOEhJIDEgInJlZ2lzdGVyX29wZXJhbmQiICJ4 IikKLQkJICAocGFyYWxsZWwgWyhjb25zdF9pbnQgMCldKSkKLQkJKHZlY19z ZWxlY3Q6SEkgKG1hdGNoX2R1cCAxKSAocGFyYWxsZWwgWyhjb25zdF9pbnQg MSldKSkpCi0JICAgICAgKHBsdXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkgKG1h dGNoX2R1cCAxKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgMildKSkKLQkJKHZl Y19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAxKSAocGFyYWxsZWwgWyhjb25zdF9p bnQgMyldKSkpKQotCSAgICAodmVjX2NvbmNhdDpWMkhJCi0JICAgICAgKHBs dXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAxKSAocGFyYWxs ZWwgWyhjb25zdF9pbnQgNCldKSkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNo X2R1cCAxKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgNSldKSkpCi0JICAgICAg KHBsdXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAxKSAocGFy YWxsZWwgWyhjb25zdF9pbnQgNildKSkKLQkJKHZlY19zZWxlY3Q6SEkgKG1h dGNoX2R1cCAxKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgNyldKSkpKSkKLQkg ICh2ZWNfY29uY2F0OlY0SEkKLQkgICAgKHZlY19jb25jYXQ6VjJISQotCSAg ICAgIChwbHVzOkhJCi0JCSh2ZWNfc2VsZWN0OkhJCi0JCSAgKG1hdGNoX29w ZXJhbmQ6VjhISSAyICJub25pbW1lZGlhdGVfb3BlcmFuZCIgInhtIikKLQkJ ICAocGFyYWxsZWwgWyhjb25zdF9pbnQgMCldKSkKLQkJKHZlY19zZWxlY3Q6 SEkgKG1hdGNoX2R1cCAyKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgMSldKSkp Ci0JICAgICAgKHBsdXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1 cCAyKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgMildKSkKLQkJKHZlY19zZWxl Y3Q6SEkgKG1hdGNoX2R1cCAyKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgMyld KSkpKQotCSAgICAodmVjX2NvbmNhdDpWMkhJCi0JICAgICAgKHBsdXM6SEkK LQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAyKSAocGFyYWxsZWwgWyhj b25zdF9pbnQgNCldKSkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAy KSAocGFyYWxsZWwgWyhjb25zdF9pbnQgNSldKSkpCi0JICAgICAgKHBsdXM6 SEkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAyKSAocGFyYWxsZWwg Wyhjb25zdF9pbnQgNildKSkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1 cCAyKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgNyldKSkpKSkpKV0KLSAgIlRB UkdFVF9BVlgiCi0gICJ2cGhhZGR3XHR7JTIsICUxLCAlMHwlMCwgJTEsICUy fSIKLSAgWyhzZXRfYXR0ciAidHlwZSIgInNzZWlhZGQiKQotICAgKHNldF9h dHRyICJwcmVmaXhfZXh0cmEiICIxIikKLSAgIChzZXRfYXR0ciAicHJlZml4 IiAidmV4IikKLSAgIChzZXRfYXR0ciAibW9kZSIgIlRJIildKQotCiAoZGVm aW5lX2luc24gInNzc2UzX3BoYWRkd3Y4aGkzIgotICBbKHNldCAobWF0Y2hf b3BlcmFuZDpWOEhJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9eCIpCisgIFso c2V0IChtYXRjaF9vcGVyYW5kOlY4SEkgMCAicmVnaXN0ZXJfb3BlcmFuZCIg Ij14LHgiKQogCSh2ZWNfY29uY2F0OlY4SEkKIAkgICh2ZWNfY29uY2F0OlY0 SEkKIAkgICAgKHZlY19jb25jYXQ6VjJISQogCSAgICAgIChwbHVzOkhJCiAJ CSh2ZWNfc2VsZWN0OkhJCi0JCSAgKG1hdGNoX29wZXJhbmQ6VjhISSAxICJy ZWdpc3Rlcl9vcGVyYW5kIiAiMCIpCisJCSAgKG1hdGNoX29wZXJhbmQ6VjhI SSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiMCx4IikKIAkJICAocGFyYWxsZWwg Wyhjb25zdF9pbnQgMCldKSkKIAkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1 cCAxKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgMSldKSkpCiAJICAgICAgKHBs dXM6SEkKQEAgLTc0MTYsNyArNzMyNyw3IEBACiAJICAgICh2ZWNfY29uY2F0 OlYySEkKIAkgICAgICAocGx1czpISQogCQkodmVjX3NlbGVjdDpISQotCQkg IChtYXRjaF9vcGVyYW5kOlY4SEkgMiAibm9uaW1tZWRpYXRlX29wZXJhbmQi ICJ4bSIpCisJCSAgKG1hdGNoX29wZXJhbmQ6VjhISSAyICJub25pbW1lZGlh dGVfb3BlcmFuZCIgInhtLHhtIikKIAkJICAocGFyYWxsZWwgWyhjb25zdF9p bnQgMCldKSkKIAkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAyKSAocGFy YWxsZWwgWyhjb25zdF9pbnQgMSldKSkpCiAJICAgICAgKHBsdXM6SEkKQEAg LTc0MzAsMTEgKzczNDEsMTUgQEAKIAkJKHZlY19zZWxlY3Q6SEkgKG1hdGNo X2R1cCAyKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgNildKSkKIAkJKHZlY19z ZWxlY3Q6SEkgKG1hdGNoX2R1cCAyKSAocGFyYWxsZWwgWyhjb25zdF9pbnQg NyldKSkpKSkpKV0KICAgIlRBUkdFVF9TU1NFMyIKLSAgInBoYWRkd1x0eyUy LCAlMHwlMCwgJTJ9IgotICBbKHNldF9hdHRyICJ0eXBlIiAic3NlaWFkZCIp CisgICJACisgICBwaGFkZHdcdHslMiwgJTB8JTAsICUyfQorICAgdnBoYWRk d1x0eyUyLCAlMSwgJTB8JTAsICUxLCAlMn0iCisgIFsoc2V0X2F0dHIgImlz YSIgIm5vYXZ4LGF2eCIpCisgICAoc2V0X2F0dHIgInR5cGUiICJzc2VpYWRk IikKICAgIChzZXRfYXR0ciAiYXRvbV91bml0IiAiY29tcGxleCIpCi0gICAo c2V0X2F0dHIgInByZWZpeF9kYXRhMTYiICIxIikKKyAgIChzZXRfYXR0ciAi cHJlZml4X2RhdGExNiIgIjEsKiIpCiAgICAoc2V0X2F0dHIgInByZWZpeF9l eHRyYSIgIjEiKQorICAgKHNldF9hdHRyICJwcmVmaXgiICJvcmlnLHZleCIp CiAgICAoc2V0X2F0dHIgIm1vZGUiICJUSSIpXSkKIAogKGRlZmluZV9pbnNu ICJzc3NlM19waGFkZHd2NGhpMyIKQEAgLTc0NjYsNDEgKzczODEsMTMgQEAK ICAgIChzZXQgKGF0dHIgInByZWZpeF9yZXgiKSAoc3ltYm9sX3JlZiAieDg2 X2V4dGVuZGVkX3JlZ19tZW50aW9uZWRfcCAoaW5zbikiKSkKICAgIChzZXRf YXR0ciAibW9kZSIgIkRJIildKQogCi0oZGVmaW5lX2luc24gIiphdnhfcGhh ZGRkdjRzaTMiCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlY0U0kgMCAicmVn aXN0ZXJfb3BlcmFuZCIgIj14IikKLQkodmVjX2NvbmNhdDpWNFNJCi0JICAo dmVjX2NvbmNhdDpWMlNJCi0JICAgIChwbHVzOlNJCi0JICAgICAgKHZlY19z ZWxlY3Q6U0kKLQkJKG1hdGNoX29wZXJhbmQ6VjRTSSAxICJyZWdpc3Rlcl9v cGVyYW5kIiAieCIpCi0JCShwYXJhbGxlbCBbKGNvbnN0X2ludCAwKV0pKQot CSAgICAgICh2ZWNfc2VsZWN0OlNJIChtYXRjaF9kdXAgMSkgKHBhcmFsbGVs IFsoY29uc3RfaW50IDEpXSkpKQotCSAgICAocGx1czpTSQotCSAgICAgICh2 ZWNfc2VsZWN0OlNJIChtYXRjaF9kdXAgMSkgKHBhcmFsbGVsIFsoY29uc3Rf aW50IDIpXSkpCi0JICAgICAgKHZlY19zZWxlY3Q6U0kgKG1hdGNoX2R1cCAx KSAocGFyYWxsZWwgWyhjb25zdF9pbnQgMyldKSkpKQotCSAgKHZlY19jb25j YXQ6VjJTSQotCSAgICAocGx1czpTSQotCSAgICAgICh2ZWNfc2VsZWN0OlNJ Ci0JCShtYXRjaF9vcGVyYW5kOlY0U0kgMiAibm9uaW1tZWRpYXRlX29wZXJh bmQiICJ4bSIpCi0JCShwYXJhbGxlbCBbKGNvbnN0X2ludCAwKV0pKQotCSAg ICAgICh2ZWNfc2VsZWN0OlNJIChtYXRjaF9kdXAgMikgKHBhcmFsbGVsIFso Y29uc3RfaW50IDEpXSkpKQotCSAgICAocGx1czpTSQotCSAgICAgICh2ZWNf c2VsZWN0OlNJIChtYXRjaF9kdXAgMikgKHBhcmFsbGVsIFsoY29uc3RfaW50 IDIpXSkpCi0JICAgICAgKHZlY19zZWxlY3Q6U0kgKG1hdGNoX2R1cCAyKSAo cGFyYWxsZWwgWyhjb25zdF9pbnQgMyldKSkpKSkpXQotICAiVEFSR0VUX0FW WCIKLSAgInZwaGFkZGRcdHslMiwgJTEsICUwfCUwLCAlMSwgJTJ9IgotICBb KHNldF9hdHRyICJ0eXBlIiAic3NlaWFkZCIpCi0gICAoc2V0X2F0dHIgInBy ZWZpeF9leHRyYSIgIjEiKQotICAgKHNldF9hdHRyICJwcmVmaXgiICJ2ZXgi KQotICAgKHNldF9hdHRyICJtb2RlIiAiVEkiKV0pCi0KIChkZWZpbmVfaW5z biAic3NzZTNfcGhhZGRkdjRzaTMiCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5k OlY0U0kgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj14IikKKyAgWyhzZXQgKG1h dGNoX29wZXJhbmQ6VjRTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXgseCIp CiAJKHZlY19jb25jYXQ6VjRTSQogCSAgKHZlY19jb25jYXQ6VjJTSQogCSAg ICAocGx1czpTSQogCSAgICAgICh2ZWNfc2VsZWN0OlNJCi0JCShtYXRjaF9v cGVyYW5kOlY0U0kgMSAicmVnaXN0ZXJfb3BlcmFuZCIgIjAiKQorCQkobWF0 Y2hfb3BlcmFuZDpWNFNJIDEgInJlZ2lzdGVyX29wZXJhbmQiICIwLHgiKQog CQkocGFyYWxsZWwgWyhjb25zdF9pbnQgMCldKSkKIAkgICAgICAodmVjX3Nl bGVjdDpTSSAobWF0Y2hfZHVwIDEpIChwYXJhbGxlbCBbKGNvbnN0X2ludCAx KV0pKSkKIAkgICAgKHBsdXM6U0kKQEAgLTc1MDksMTggKzczOTYsMjIgQEAK IAkgICh2ZWNfY29uY2F0OlYyU0kKIAkgICAgKHBsdXM6U0kKIAkgICAgICAo dmVjX3NlbGVjdDpTSQotCQkobWF0Y2hfb3BlcmFuZDpWNFNJIDIgIm5vbmlt bWVkaWF0ZV9vcGVyYW5kIiAieG0iKQorCQkobWF0Y2hfb3BlcmFuZDpWNFNJ IDIgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAieG0seG0iKQogCQkocGFyYWxs ZWwgWyhjb25zdF9pbnQgMCldKSkKIAkgICAgICAodmVjX3NlbGVjdDpTSSAo bWF0Y2hfZHVwIDIpIChwYXJhbGxlbCBbKGNvbnN0X2ludCAxKV0pKSkKIAkg ICAgKHBsdXM6U0kKIAkgICAgICAodmVjX3NlbGVjdDpTSSAobWF0Y2hfZHVw IDIpIChwYXJhbGxlbCBbKGNvbnN0X2ludCAyKV0pKQogCSAgICAgICh2ZWNf c2VsZWN0OlNJIChtYXRjaF9kdXAgMikgKHBhcmFsbGVsIFsoY29uc3RfaW50 IDMpXSkpKSkpKV0KICAgIlRBUkdFVF9TU1NFMyIKLSAgInBoYWRkZFx0eyUy LCAlMHwlMCwgJTJ9IgotICBbKHNldF9hdHRyICJ0eXBlIiAic3NlaWFkZCIp CisgICJACisgICBwaGFkZGRcdHslMiwgJTB8JTAsICUyfQorICAgdnBoYWRk ZFx0eyUyLCAlMSwgJTB8JTAsICUxLCAlMn0iCisgIFsoc2V0X2F0dHIgImlz YSIgIm5vYXZ4LGF2eCIpCisgICAoc2V0X2F0dHIgInR5cGUiICJzc2VpYWRk IikKICAgIChzZXRfYXR0ciAiYXRvbV91bml0IiAiY29tcGxleCIpCi0gICAo c2V0X2F0dHIgInByZWZpeF9kYXRhMTYiICIxIikKKyAgIChzZXRfYXR0ciAi cHJlZml4X2RhdGExNiIgIjEsKiIpCiAgICAoc2V0X2F0dHIgInByZWZpeF9l eHRyYSIgIjEiKQorICAgKHNldF9hdHRyICJwcmVmaXgiICJvcmlnLHZleCIp CiAgICAoc2V0X2F0dHIgIm1vZGUiICJUSSIpXSkKIAogKGRlZmluZV9pbnNu ICJzc3NlM19waGFkZGR2MnNpMyIKQEAgLTc1NDQsNTggKzc0MzUsMTQgQEAK ICAgIChzZXQgKGF0dHIgInByZWZpeF9yZXgiKSAoc3ltYm9sX3JlZiAieDg2 X2V4dGVuZGVkX3JlZ19tZW50aW9uZWRfcCAoaW5zbikiKSkKICAgIChzZXRf YXR0ciAibW9kZSIgIkRJIildKQogCi0oZGVmaW5lX2luc24gIiphdnhfcGhh ZGRzd3Y4aGkzIgotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWOEhJIDAgInJl Z2lzdGVyX29wZXJhbmQiICI9eCIpCi0JKHZlY19jb25jYXQ6VjhISQotCSAg KHZlY19jb25jYXQ6VjRISQotCSAgICAodmVjX2NvbmNhdDpWMkhJCi0JICAg ICAgKHNzX3BsdXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkKLQkJICAobWF0Y2hf b3BlcmFuZDpWOEhJIDEgInJlZ2lzdGVyX29wZXJhbmQiICJ4IikKLQkJICAo cGFyYWxsZWwgWyhjb25zdF9pbnQgMCldKSkKLQkJKHZlY19zZWxlY3Q6SEkg KG1hdGNoX2R1cCAxKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgMSldKSkpCi0J ICAgICAgKHNzX3BsdXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1 cCAxKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgMildKSkKLQkJKHZlY19zZWxl Y3Q6SEkgKG1hdGNoX2R1cCAxKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgMyld KSkpKQotCSAgICAodmVjX2NvbmNhdDpWMkhJCi0JICAgICAgKHNzX3BsdXM6 SEkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAxKSAocGFyYWxsZWwg Wyhjb25zdF9pbnQgNCldKSkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1 cCAxKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgNSldKSkpCi0JICAgICAgKHNz X3BsdXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAxKSAocGFy YWxsZWwgWyhjb25zdF9pbnQgNildKSkKLQkJKHZlY19zZWxlY3Q6SEkgKG1h dGNoX2R1cCAxKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgNyldKSkpKSkKLQkg ICh2ZWNfY29uY2F0OlY0SEkKLQkgICAgKHZlY19jb25jYXQ6VjJISQotCSAg ICAgIChzc19wbHVzOkhJCi0JCSh2ZWNfc2VsZWN0OkhJCi0JCSAgKG1hdGNo X29wZXJhbmQ6VjhISSAyICJub25pbW1lZGlhdGVfb3BlcmFuZCIgInhtIikK LQkJICAocGFyYWxsZWwgWyhjb25zdF9pbnQgMCldKSkKLQkJKHZlY19zZWxl Y3Q6SEkgKG1hdGNoX2R1cCAyKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgMSld KSkpCi0JICAgICAgKHNzX3BsdXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkgKG1h dGNoX2R1cCAyKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgMildKSkKLQkJKHZl Y19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAyKSAocGFyYWxsZWwgWyhjb25zdF9p bnQgMyldKSkpKQotCSAgICAodmVjX2NvbmNhdDpWMkhJCi0JICAgICAgKHNz X3BsdXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAyKSAocGFy YWxsZWwgWyhjb25zdF9pbnQgNCldKSkKLQkJKHZlY19zZWxlY3Q6SEkgKG1h dGNoX2R1cCAyKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgNSldKSkpCi0JICAg ICAgKHNzX3BsdXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAy KSAocGFyYWxsZWwgWyhjb25zdF9pbnQgNildKSkKLQkJKHZlY19zZWxlY3Q6 SEkgKG1hdGNoX2R1cCAyKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgNyldKSkp KSkpKV0KLSAgIlRBUkdFVF9BVlgiCi0gICJ2cGhhZGRzd1x0eyUyLCAlMSwg JTB8JTAsICUxLCAlMn0iCi0gIFsoc2V0X2F0dHIgInR5cGUiICJzc2VpYWRk IikKLSAgIChzZXRfYXR0ciAicHJlZml4X2V4dHJhIiAiMSIpCi0gICAoc2V0 X2F0dHIgInByZWZpeCIgInZleCIpCi0gICAoc2V0X2F0dHIgIm1vZGUiICJU SSIpXSkKLQogKGRlZmluZV9pbnNuICJzc3NlM19waGFkZHN3djhoaTMiCi0g IFsoc2V0IChtYXRjaF9vcGVyYW5kOlY4SEkgMCAicmVnaXN0ZXJfb3BlcmFu ZCIgIj14IikKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VjhISSAwICJyZWdp c3Rlcl9vcGVyYW5kIiAiPXgseCIpCiAJKHZlY19jb25jYXQ6VjhISQogCSAg KHZlY19jb25jYXQ6VjRISQogCSAgICAodmVjX2NvbmNhdDpWMkhJCiAJICAg ICAgKHNzX3BsdXM6SEkKIAkJKHZlY19zZWxlY3Q6SEkKLQkJICAobWF0Y2hf b3BlcmFuZDpWOEhJIDEgInJlZ2lzdGVyX29wZXJhbmQiICIwIikKKwkJICAo bWF0Y2hfb3BlcmFuZDpWOEhJIDEgInJlZ2lzdGVyX29wZXJhbmQiICIwLHgi KQogCQkgIChwYXJhbGxlbCBbKGNvbnN0X2ludCAwKV0pKQogCQkodmVjX3Nl bGVjdDpISSAobWF0Y2hfZHVwIDEpIChwYXJhbGxlbCBbKGNvbnN0X2ludCAx KV0pKSkKIAkgICAgICAoc3NfcGx1czpISQpAQCAtNzYxMiw3ICs3NDU5LDcg QEAKIAkgICAgKHZlY19jb25jYXQ6VjJISQogCSAgICAgIChzc19wbHVzOkhJ CiAJCSh2ZWNfc2VsZWN0OkhJCi0JCSAgKG1hdGNoX29wZXJhbmQ6VjhISSAy ICJub25pbW1lZGlhdGVfb3BlcmFuZCIgInhtIikKKwkJICAobWF0Y2hfb3Bl cmFuZDpWOEhJIDIgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAieG0seG0iKQog CQkgIChwYXJhbGxlbCBbKGNvbnN0X2ludCAwKV0pKQogCQkodmVjX3NlbGVj dDpISSAobWF0Y2hfZHVwIDIpIChwYXJhbGxlbCBbKGNvbnN0X2ludCAxKV0p KSkKIAkgICAgICAoc3NfcGx1czpISQpAQCAtNzYyNiwxMSArNzQ3MywxNSBA QAogCQkodmVjX3NlbGVjdDpISSAobWF0Y2hfZHVwIDIpIChwYXJhbGxlbCBb KGNvbnN0X2ludCA2KV0pKQogCQkodmVjX3NlbGVjdDpISSAobWF0Y2hfZHVw IDIpIChwYXJhbGxlbCBbKGNvbnN0X2ludCA3KV0pKSkpKSkpXQogICAiVEFS R0VUX1NTU0UzIgotICAicGhhZGRzd1x0eyUyLCAlMHwlMCwgJTJ9IgotICBb KHNldF9hdHRyICJ0eXBlIiAic3NlaWFkZCIpCisgICJACisgICBwaGFkZHN3 XHR7JTIsICUwfCUwLCAlMn0KKyAgIHZwaGFkZHN3XHR7JTIsICUxLCAlMHwl MCwgJTEsICUyfSIKKyAgWyhzZXRfYXR0ciAiaXNhIiAibm9hdngsYXZ4IikK KyAgIChzZXRfYXR0ciAidHlwZSIgInNzZWlhZGQiKQogICAgKHNldF9hdHRy ICJhdG9tX3VuaXQiICJjb21wbGV4IikKLSAgIChzZXRfYXR0ciAicHJlZml4 X2RhdGExNiIgIjEiKQorICAgKHNldF9hdHRyICJwcmVmaXhfZGF0YTE2IiAi MSwqIikKICAgIChzZXRfYXR0ciAicHJlZml4X2V4dHJhIiAiMSIpCisgICAo c2V0X2F0dHIgInByZWZpeCIgIm9yaWcsdmV4IikKICAgIChzZXRfYXR0ciAi bW9kZSIgIlRJIildKQogCiAoZGVmaW5lX2luc24gInNzc2UzX3BoYWRkc3d2 NGhpMyIKQEAgLTc2NjIsNTggKzc1MTMsMTQgQEAKICAgIChzZXQgKGF0dHIg InByZWZpeF9yZXgiKSAoc3ltYm9sX3JlZiAieDg2X2V4dGVuZGVkX3JlZ19t ZW50aW9uZWRfcCAoaW5zbikiKSkKICAgIChzZXRfYXR0ciAibW9kZSIgIkRJ IildKQogCi0oZGVmaW5lX2luc24gIiphdnhfcGhzdWJ3djhoaTMiCi0gIFso c2V0IChtYXRjaF9vcGVyYW5kOlY4SEkgMCAicmVnaXN0ZXJfb3BlcmFuZCIg Ij14IikKLQkodmVjX2NvbmNhdDpWOEhJCi0JICAodmVjX2NvbmNhdDpWNEhJ Ci0JICAgICh2ZWNfY29uY2F0OlYySEkKLQkgICAgICAobWludXM6SEkKLQkJ KHZlY19zZWxlY3Q6SEkKLQkJICAobWF0Y2hfb3BlcmFuZDpWOEhJIDEgInJl Z2lzdGVyX29wZXJhbmQiICJ4IikKLQkJICAocGFyYWxsZWwgWyhjb25zdF9p bnQgMCldKSkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAxKSAocGFy YWxsZWwgWyhjb25zdF9pbnQgMSldKSkpCi0JICAgICAgKG1pbnVzOkhJCi0J CSh2ZWNfc2VsZWN0OkhJIChtYXRjaF9kdXAgMSkgKHBhcmFsbGVsIFsoY29u c3RfaW50IDIpXSkpCi0JCSh2ZWNfc2VsZWN0OkhJIChtYXRjaF9kdXAgMSkg KHBhcmFsbGVsIFsoY29uc3RfaW50IDMpXSkpKSkKLQkgICAgKHZlY19jb25j YXQ6VjJISQotCSAgICAgIChtaW51czpISQotCQkodmVjX3NlbGVjdDpISSAo bWF0Y2hfZHVwIDEpIChwYXJhbGxlbCBbKGNvbnN0X2ludCA0KV0pKQotCQko dmVjX3NlbGVjdDpISSAobWF0Y2hfZHVwIDEpIChwYXJhbGxlbCBbKGNvbnN0 X2ludCA1KV0pKSkKLQkgICAgICAobWludXM6SEkKLQkJKHZlY19zZWxlY3Q6 SEkgKG1hdGNoX2R1cCAxKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgNildKSkK LQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAxKSAocGFyYWxsZWwgWyhj b25zdF9pbnQgNyldKSkpKSkKLQkgICh2ZWNfY29uY2F0OlY0SEkKLQkgICAg KHZlY19jb25jYXQ6VjJISQotCSAgICAgIChtaW51czpISQotCQkodmVjX3Nl bGVjdDpISQotCQkgIChtYXRjaF9vcGVyYW5kOlY4SEkgMiAibm9uaW1tZWRp YXRlX29wZXJhbmQiICJ4bSIpCi0JCSAgKHBhcmFsbGVsIFsoY29uc3RfaW50 IDApXSkpCi0JCSh2ZWNfc2VsZWN0OkhJIChtYXRjaF9kdXAgMikgKHBhcmFs bGVsIFsoY29uc3RfaW50IDEpXSkpKQotCSAgICAgIChtaW51czpISQotCQko dmVjX3NlbGVjdDpISSAobWF0Y2hfZHVwIDIpIChwYXJhbGxlbCBbKGNvbnN0 X2ludCAyKV0pKQotCQkodmVjX3NlbGVjdDpISSAobWF0Y2hfZHVwIDIpIChw YXJhbGxlbCBbKGNvbnN0X2ludCAzKV0pKSkpCi0JICAgICh2ZWNfY29uY2F0 OlYySEkKLQkgICAgICAobWludXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkgKG1h dGNoX2R1cCAyKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgNCldKSkKLQkJKHZl Y19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAyKSAocGFyYWxsZWwgWyhjb25zdF9p bnQgNSldKSkpCi0JICAgICAgKG1pbnVzOkhJCi0JCSh2ZWNfc2VsZWN0OkhJ IChtYXRjaF9kdXAgMikgKHBhcmFsbGVsIFsoY29uc3RfaW50IDYpXSkpCi0J CSh2ZWNfc2VsZWN0OkhJIChtYXRjaF9kdXAgMikgKHBhcmFsbGVsIFsoY29u c3RfaW50IDcpXSkpKSkpKSldCi0gICJUQVJHRVRfQVZYIgotICAidnBoc3Vi d1x0eyUyLCAlMSwgJTB8JTAsICUxLCAlMn0iCi0gIFsoc2V0X2F0dHIgInR5 cGUiICJzc2VpYWRkIikKLSAgIChzZXRfYXR0ciAicHJlZml4X2V4dHJhIiAi MSIpCi0gICAoc2V0X2F0dHIgInByZWZpeCIgInZleCIpCi0gICAoc2V0X2F0 dHIgIm1vZGUiICJUSSIpXSkKLQogKGRlZmluZV9pbnNuICJzc3NlM19waHN1 Ynd2OGhpMyIKLSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VjhISSAwICJyZWdp c3Rlcl9vcGVyYW5kIiAiPXgiKQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpW OEhJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9eCx4IikKIAkodmVjX2NvbmNh dDpWOEhJCiAJICAodmVjX2NvbmNhdDpWNEhJCiAJICAgICh2ZWNfY29uY2F0 OlYySEkKIAkgICAgICAobWludXM6SEkKIAkJKHZlY19zZWxlY3Q6SEkKLQkJ ICAobWF0Y2hfb3BlcmFuZDpWOEhJIDEgInJlZ2lzdGVyX29wZXJhbmQiICIw IikKKwkJICAobWF0Y2hfb3BlcmFuZDpWOEhJIDEgInJlZ2lzdGVyX29wZXJh bmQiICIwLHgiKQogCQkgIChwYXJhbGxlbCBbKGNvbnN0X2ludCAwKV0pKQog CQkodmVjX3NlbGVjdDpISSAobWF0Y2hfZHVwIDEpIChwYXJhbGxlbCBbKGNv bnN0X2ludCAxKV0pKSkKIAkgICAgICAobWludXM6SEkKQEAgLTc3MzAsNyAr NzUzNyw3IEBACiAJICAgICh2ZWNfY29uY2F0OlYySEkKIAkgICAgICAobWlu dXM6SEkKIAkJKHZlY19zZWxlY3Q6SEkKLQkJICAobWF0Y2hfb3BlcmFuZDpW OEhJIDIgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAieG0iKQorCQkgIChtYXRj aF9vcGVyYW5kOlY4SEkgMiAibm9uaW1tZWRpYXRlX29wZXJhbmQiICJ4bSx4 bSIpCiAJCSAgKHBhcmFsbGVsIFsoY29uc3RfaW50IDApXSkpCiAJCSh2ZWNf c2VsZWN0OkhJIChtYXRjaF9kdXAgMikgKHBhcmFsbGVsIFsoY29uc3RfaW50 IDEpXSkpKQogCSAgICAgIChtaW51czpISQpAQCAtNzc0NCwxMSArNzU1MSwx NSBAQAogCQkodmVjX3NlbGVjdDpISSAobWF0Y2hfZHVwIDIpIChwYXJhbGxl bCBbKGNvbnN0X2ludCA2KV0pKQogCQkodmVjX3NlbGVjdDpISSAobWF0Y2hf ZHVwIDIpIChwYXJhbGxlbCBbKGNvbnN0X2ludCA3KV0pKSkpKSkpXQogICAi VEFSR0VUX1NTU0UzIgotICAicGhzdWJ3XHR7JTIsICUwfCUwLCAlMn0iCi0g IFsoc2V0X2F0dHIgInR5cGUiICJzc2VpYWRkIikKKyAgIkAKKyAgIHBoc3Vi d1x0eyUyLCAlMHwlMCwgJTJ9CisgICB2cGhzdWJ3XHR7JTIsICUxLCAlMHwl MCwgJTEsICUyfSIKKyAgWyhzZXRfYXR0ciAiaXNhIiAibm9hdngsYXZ4IikK KyAgIChzZXRfYXR0ciAidHlwZSIgInNzZWlhZGQiKQogICAgKHNldF9hdHRy ICJhdG9tX3VuaXQiICJjb21wbGV4IikKLSAgIChzZXRfYXR0ciAicHJlZml4 X2RhdGExNiIgIjEiKQorICAgKHNldF9hdHRyICJwcmVmaXhfZGF0YTE2IiAi MSwqIikKICAgIChzZXRfYXR0ciAicHJlZml4X2V4dHJhIiAiMSIpCisgICAo c2V0X2F0dHIgInByZWZpeCIgIm9yaWcsdmV4IikKICAgIChzZXRfYXR0ciAi bW9kZSIgIlRJIildKQogCiAoZGVmaW5lX2luc24gInNzc2UzX3Boc3Vid3Y0 aGkzIgpAQCAtNzc4MCw0MSArNzU5MSwxMyBAQAogICAgKHNldCAoYXR0ciAi cHJlZml4X3JleCIpIChzeW1ib2xfcmVmICJ4ODZfZXh0ZW5kZWRfcmVnX21l bnRpb25lZF9wIChpbnNuKSIpKQogICAgKHNldF9hdHRyICJtb2RlIiAiREki KV0pCiAKLShkZWZpbmVfaW5zbiAiKmF2eF9waHN1YmR2NHNpMyIKLSAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6VjRTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAi PXgiKQotCSh2ZWNfY29uY2F0OlY0U0kKLQkgICh2ZWNfY29uY2F0OlYyU0kK LQkgICAgKG1pbnVzOlNJCi0JICAgICAgKHZlY19zZWxlY3Q6U0kKLQkJKG1h dGNoX29wZXJhbmQ6VjRTSSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAieCIpCi0J CShwYXJhbGxlbCBbKGNvbnN0X2ludCAwKV0pKQotCSAgICAgICh2ZWNfc2Vs ZWN0OlNJIChtYXRjaF9kdXAgMSkgKHBhcmFsbGVsIFsoY29uc3RfaW50IDEp XSkpKQotCSAgICAobWludXM6U0kKLQkgICAgICAodmVjX3NlbGVjdDpTSSAo bWF0Y2hfZHVwIDEpIChwYXJhbGxlbCBbKGNvbnN0X2ludCAyKV0pKQotCSAg ICAgICh2ZWNfc2VsZWN0OlNJIChtYXRjaF9kdXAgMSkgKHBhcmFsbGVsIFso Y29uc3RfaW50IDMpXSkpKSkKLQkgICh2ZWNfY29uY2F0OlYyU0kKLQkgICAg KG1pbnVzOlNJCi0JICAgICAgKHZlY19zZWxlY3Q6U0kKLQkJKG1hdGNoX29w ZXJhbmQ6VjRTSSAyICJub25pbW1lZGlhdGVfb3BlcmFuZCIgInhtIikKLQkJ KHBhcmFsbGVsIFsoY29uc3RfaW50IDApXSkpCi0JICAgICAgKHZlY19zZWxl Y3Q6U0kgKG1hdGNoX2R1cCAyKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgMSld KSkpCi0JICAgIChtaW51czpTSQotCSAgICAgICh2ZWNfc2VsZWN0OlNJICht YXRjaF9kdXAgMikgKHBhcmFsbGVsIFsoY29uc3RfaW50IDIpXSkpCi0JICAg ICAgKHZlY19zZWxlY3Q6U0kgKG1hdGNoX2R1cCAyKSAocGFyYWxsZWwgWyhj b25zdF9pbnQgMyldKSkpKSkpXQotICAiVEFSR0VUX0FWWCIKLSAgInZwaHN1 YmRcdHslMiwgJTEsICUwfCUwLCAlMSwgJTJ9IgotICBbKHNldF9hdHRyICJ0 eXBlIiAic3NlaWFkZCIpCi0gICAoc2V0X2F0dHIgInByZWZpeF9leHRyYSIg IjEiKQotICAgKHNldF9hdHRyICJwcmVmaXgiICJ2ZXgiKQotICAgKHNldF9h dHRyICJtb2RlIiAiVEkiKV0pCi0KIChkZWZpbmVfaW5zbiAic3NzZTNfcGhz dWJkdjRzaTMiCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlY0U0kgMCAicmVn aXN0ZXJfb3BlcmFuZCIgIj14IikKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6 VjRTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXgseCIpCiAJKHZlY19jb25j YXQ6VjRTSQogCSAgKHZlY19jb25jYXQ6VjJTSQogCSAgICAobWludXM6U0kK IAkgICAgICAodmVjX3NlbGVjdDpTSQotCQkobWF0Y2hfb3BlcmFuZDpWNFNJ IDEgInJlZ2lzdGVyX29wZXJhbmQiICIwIikKKwkJKG1hdGNoX29wZXJhbmQ6 VjRTSSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiMCx4IikKIAkJKHBhcmFsbGVs IFsoY29uc3RfaW50IDApXSkpCiAJICAgICAgKHZlY19zZWxlY3Q6U0kgKG1h dGNoX2R1cCAxKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgMSldKSkpCiAJICAg IChtaW51czpTSQpAQCAtNzgyMywxOCArNzYwNiwyMyBAQAogCSAgKHZlY19j b25jYXQ6VjJTSQogCSAgICAobWludXM6U0kKIAkgICAgICAodmVjX3NlbGVj dDpTSQotCQkobWF0Y2hfb3BlcmFuZDpWNFNJIDIgIm5vbmltbWVkaWF0ZV9v cGVyYW5kIiAieG0iKQorCQkobWF0Y2hfb3BlcmFuZDpWNFNJIDIgIm5vbmlt bWVkaWF0ZV9vcGVyYW5kIiAieG0seG0iKQogCQkocGFyYWxsZWwgWyhjb25z dF9pbnQgMCldKSkKIAkgICAgICAodmVjX3NlbGVjdDpTSSAobWF0Y2hfZHVw IDIpIChwYXJhbGxlbCBbKGNvbnN0X2ludCAxKV0pKSkKIAkgICAgKG1pbnVz OlNJCiAJICAgICAgKHZlY19zZWxlY3Q6U0kgKG1hdGNoX2R1cCAyKSAocGFy YWxsZWwgWyhjb25zdF9pbnQgMildKSkKIAkgICAgICAodmVjX3NlbGVjdDpT SSAobWF0Y2hfZHVwIDIpIChwYXJhbGxlbCBbKGNvbnN0X2ludCAzKV0pKSkp KSldCiAgICJUQVJHRVRfU1NTRTMiCi0gICJwaHN1YmRcdHslMiwgJTB8JTAs ICUyfSIKLSAgWyhzZXRfYXR0ciAidHlwZSIgInNzZWlhZGQiKQorICAiQAor ICAgcGhzdWJkXHR7JTIsICUwfCUwLCAlMn0KKyAgIHZwaHN1YmRcdHslMiwg JTEsICUwfCUwLCAlMSwgJTJ9IgorICAKKyAgWyhzZXRfYXR0ciAiaXNhIiAi bm9hdngsYXZ4IikKKyAgIChzZXRfYXR0ciAidHlwZSIgInNzZWlhZGQiKQog ICAgKHNldF9hdHRyICJhdG9tX3VuaXQiICJjb21wbGV4IikKLSAgIChzZXRf YXR0ciAicHJlZml4X2RhdGExNiIgIjEiKQorICAgKHNldF9hdHRyICJwcmVm aXhfZGF0YTE2IiAiMSwqIikKICAgIChzZXRfYXR0ciAicHJlZml4X2V4dHJh IiAiMSIpCisgICAoc2V0X2F0dHIgInByZWZpeCIgIm9yaWcsdmV4IikKICAg IChzZXRfYXR0ciAibW9kZSIgIlRJIildKQogCiAoZGVmaW5lX2luc24gInNz c2UzX3Boc3ViZHYyc2kzIgpAQCAtNzg1OCw1OCArNzY0NiwxNCBAQAogICAg KHNldCAoYXR0ciAicHJlZml4X3JleCIpIChzeW1ib2xfcmVmICJ4ODZfZXh0 ZW5kZWRfcmVnX21lbnRpb25lZF9wIChpbnNuKSIpKQogICAgKHNldF9hdHRy ICJtb2RlIiAiREkiKV0pCiAKLShkZWZpbmVfaW5zbiAiKmF2eF9waHN1YnN3 djhoaTMiCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlY4SEkgMCAicmVnaXN0 ZXJfb3BlcmFuZCIgIj14IikKLQkodmVjX2NvbmNhdDpWOEhJCi0JICAodmVj X2NvbmNhdDpWNEhJCi0JICAgICh2ZWNfY29uY2F0OlYySEkKLQkgICAgICAo c3NfbWludXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkKLQkJICAobWF0Y2hfb3Bl cmFuZDpWOEhJIDEgInJlZ2lzdGVyX29wZXJhbmQiICJ4IikKLQkJICAocGFy YWxsZWwgWyhjb25zdF9pbnQgMCldKSkKLQkJKHZlY19zZWxlY3Q6SEkgKG1h dGNoX2R1cCAxKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgMSldKSkpCi0JICAg ICAgKHNzX21pbnVzOkhJCi0JCSh2ZWNfc2VsZWN0OkhJIChtYXRjaF9kdXAg MSkgKHBhcmFsbGVsIFsoY29uc3RfaW50IDIpXSkpCi0JCSh2ZWNfc2VsZWN0 OkhJIChtYXRjaF9kdXAgMSkgKHBhcmFsbGVsIFsoY29uc3RfaW50IDMpXSkp KSkKLQkgICAgKHZlY19jb25jYXQ6VjJISQotCSAgICAgIChzc19taW51czpI SQotCQkodmVjX3NlbGVjdDpISSAobWF0Y2hfZHVwIDEpIChwYXJhbGxlbCBb KGNvbnN0X2ludCA0KV0pKQotCQkodmVjX3NlbGVjdDpISSAobWF0Y2hfZHVw IDEpIChwYXJhbGxlbCBbKGNvbnN0X2ludCA1KV0pKSkKLQkgICAgICAoc3Nf bWludXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAxKSAocGFy YWxsZWwgWyhjb25zdF9pbnQgNildKSkKLQkJKHZlY19zZWxlY3Q6SEkgKG1h dGNoX2R1cCAxKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgNyldKSkpKSkKLQkg ICh2ZWNfY29uY2F0OlY0SEkKLQkgICAgKHZlY19jb25jYXQ6VjJISQotCSAg ICAgIChzc19taW51czpISQotCQkodmVjX3NlbGVjdDpISQotCQkgIChtYXRj aF9vcGVyYW5kOlY4SEkgMiAibm9uaW1tZWRpYXRlX29wZXJhbmQiICJ4bSIp Ci0JCSAgKHBhcmFsbGVsIFsoY29uc3RfaW50IDApXSkpCi0JCSh2ZWNfc2Vs ZWN0OkhJIChtYXRjaF9kdXAgMikgKHBhcmFsbGVsIFsoY29uc3RfaW50IDEp XSkpKQotCSAgICAgIChzc19taW51czpISQotCQkodmVjX3NlbGVjdDpISSAo bWF0Y2hfZHVwIDIpIChwYXJhbGxlbCBbKGNvbnN0X2ludCAyKV0pKQotCQko dmVjX3NlbGVjdDpISSAobWF0Y2hfZHVwIDIpIChwYXJhbGxlbCBbKGNvbnN0 X2ludCAzKV0pKSkpCi0JICAgICh2ZWNfY29uY2F0OlYySEkKLQkgICAgICAo c3NfbWludXM6SEkKLQkJKHZlY19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAyKSAo cGFyYWxsZWwgWyhjb25zdF9pbnQgNCldKSkKLQkJKHZlY19zZWxlY3Q6SEkg KG1hdGNoX2R1cCAyKSAocGFyYWxsZWwgWyhjb25zdF9pbnQgNSldKSkpCi0J ICAgICAgKHNzX21pbnVzOkhJCi0JCSh2ZWNfc2VsZWN0OkhJIChtYXRjaF9k dXAgMikgKHBhcmFsbGVsIFsoY29uc3RfaW50IDYpXSkpCi0JCSh2ZWNfc2Vs ZWN0OkhJIChtYXRjaF9kdXAgMikgKHBhcmFsbGVsIFsoY29uc3RfaW50IDcp XSkpKSkpKSldCi0gICJUQVJHRVRfQVZYIgotICAidnBoc3Vic3dcdHslMiwg JTEsICUwfCUwLCAlMSwgJTJ9IgotICBbKHNldF9hdHRyICJ0eXBlIiAic3Nl aWFkZCIpCi0gICAoc2V0X2F0dHIgInByZWZpeF9leHRyYSIgIjEiKQotICAg KHNldF9hdHRyICJwcmVmaXgiICJ2ZXgiKQotICAgKHNldF9hdHRyICJtb2Rl IiAiVEkiKV0pCi0KIChkZWZpbmVfaW5zbiAic3NzZTNfcGhzdWJzd3Y4aGkz IgotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWOEhJIDAgInJlZ2lzdGVyX29w ZXJhbmQiICI9eCIpCisgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlY4SEkgMCAi cmVnaXN0ZXJfb3BlcmFuZCIgIj14LHgiKQogCSh2ZWNfY29uY2F0OlY4SEkK IAkgICh2ZWNfY29uY2F0OlY0SEkKIAkgICAgKHZlY19jb25jYXQ6VjJISQog CSAgICAgIChzc19taW51czpISQogCQkodmVjX3NlbGVjdDpISQotCQkgICht YXRjaF9vcGVyYW5kOlY4SEkgMSAicmVnaXN0ZXJfb3BlcmFuZCIgIjAiKQor CQkgIChtYXRjaF9vcGVyYW5kOlY4SEkgMSAicmVnaXN0ZXJfb3BlcmFuZCIg IjAseCIpCiAJCSAgKHBhcmFsbGVsIFsoY29uc3RfaW50IDApXSkpCiAJCSh2 ZWNfc2VsZWN0OkhJIChtYXRjaF9kdXAgMSkgKHBhcmFsbGVsIFsoY29uc3Rf aW50IDEpXSkpKQogCSAgICAgIChzc19taW51czpISQpAQCAtNzkyNiw3ICs3 NjcwLDcgQEAKIAkgICAgKHZlY19jb25jYXQ6VjJISQogCSAgICAgIChzc19t aW51czpISQogCQkodmVjX3NlbGVjdDpISQotCQkgIChtYXRjaF9vcGVyYW5k OlY4SEkgMiAibm9uaW1tZWRpYXRlX29wZXJhbmQiICJ4bSIpCisJCSAgKG1h dGNoX29wZXJhbmQ6VjhISSAyICJub25pbW1lZGlhdGVfb3BlcmFuZCIgInht LHhtIikKIAkJICAocGFyYWxsZWwgWyhjb25zdF9pbnQgMCldKSkKIAkJKHZl Y19zZWxlY3Q6SEkgKG1hdGNoX2R1cCAyKSAocGFyYWxsZWwgWyhjb25zdF9p bnQgMSldKSkpCiAJICAgICAgKHNzX21pbnVzOkhJCkBAIC03OTQwLDExICs3 Njg0LDE1IEBACiAJCSh2ZWNfc2VsZWN0OkhJIChtYXRjaF9kdXAgMikgKHBh cmFsbGVsIFsoY29uc3RfaW50IDYpXSkpCiAJCSh2ZWNfc2VsZWN0OkhJICht YXRjaF9kdXAgMikgKHBhcmFsbGVsIFsoY29uc3RfaW50IDcpXSkpKSkpKSld CiAgICJUQVJHRVRfU1NTRTMiCi0gICJwaHN1YnN3XHR7JTIsICUwfCUwLCAl Mn0iCi0gIFsoc2V0X2F0dHIgInR5cGUiICJzc2VpYWRkIikKKyAgIkAKKyAg IHBoc3Vic3dcdHslMiwgJTB8JTAsICUyfQorICAgdnBoc3Vic3dcdHslMiwg JTEsICUwfCUwLCAlMSwgJTJ9IgorICBbKHNldF9hdHRyICJpc2EiICJub2F2 eCxhdngiKQorICAgKHNldF9hdHRyICJ0eXBlIiAic3NlaWFkZCIpCiAgICAo c2V0X2F0dHIgImF0b21fdW5pdCIgImNvbXBsZXgiKQotICAgKHNldF9hdHRy ICJwcmVmaXhfZGF0YTE2IiAiMSIpCisgICAoc2V0X2F0dHIgInByZWZpeF9k YXRhMTYiICIxLCoiKQogICAgKHNldF9hdHRyICJwcmVmaXhfZXh0cmEiICIx IikKKyAgIChzZXRfYXR0ciAicHJlZml4IiAib3JpZyx2ZXgiKQogICAgKHNl dF9hdHRyICJtb2RlIiAiVEkiKV0pCiAKIChkZWZpbmVfaW5zbiAic3NzZTNf cGhzdWJzd3Y0aGkzIgpAQCAtNzk3Niw2NyArNzcyNCwxMyBAQAogICAgKHNl dCAoYXR0ciAicHJlZml4X3JleCIpIChzeW1ib2xfcmVmICJ4ODZfZXh0ZW5k ZWRfcmVnX21lbnRpb25lZF9wIChpbnNuKSIpKQogICAgKHNldF9hdHRyICJt b2RlIiAiREkiKV0pCiAKLShkZWZpbmVfaW5zbiAiKmF2eF9wbWFkZHVic3cx MjgiCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlY4SEkgMCAicmVnaXN0ZXJf b3BlcmFuZCIgIj14IikKLQkoc3NfcGx1czpWOEhJCi0JICAobXVsdDpWOEhJ Ci0JICAgICh6ZXJvX2V4dGVuZDpWOEhJCi0JICAgICAgKHZlY19zZWxlY3Q6 VjhRSQotCQkobWF0Y2hfb3BlcmFuZDpWMTZRSSAxICJyZWdpc3Rlcl9vcGVy YW5kIiAieCIpCi0JCShwYXJhbGxlbCBbKGNvbnN0X2ludCAwKQotCQkJICAg KGNvbnN0X2ludCAyKQotCQkJICAgKGNvbnN0X2ludCA0KQotCQkJICAgKGNv bnN0X2ludCA2KQotCQkJICAgKGNvbnN0X2ludCA4KQotCQkJICAgKGNvbnN0 X2ludCAxMCkKLQkJCSAgIChjb25zdF9pbnQgMTIpCi0JCQkgICAoY29uc3Rf aW50IDE0KV0pKSkKLQkgICAgKHNpZ25fZXh0ZW5kOlY4SEkKLQkgICAgICAo dmVjX3NlbGVjdDpWOFFJCi0JCShtYXRjaF9vcGVyYW5kOlYxNlFJIDIgIm5v bmltbWVkaWF0ZV9vcGVyYW5kIiAieG0iKQotCQkocGFyYWxsZWwgWyhjb25z dF9pbnQgMCkKLQkJCSAgIChjb25zdF9pbnQgMikKLQkJCSAgIChjb25zdF9p bnQgNCkKLQkJCSAgIChjb25zdF9pbnQgNikKLQkJCSAgIChjb25zdF9pbnQg OCkKLQkJCSAgIChjb25zdF9pbnQgMTApCi0JCQkgICAoY29uc3RfaW50IDEy KQotCQkJICAgKGNvbnN0X2ludCAxNCldKSkpKQotCSAgKG11bHQ6VjhISQot CSAgICAoemVyb19leHRlbmQ6VjhISQotCSAgICAgICh2ZWNfc2VsZWN0OlY4 UUkgKG1hdGNoX2R1cCAxKQotCQkocGFyYWxsZWwgWyhjb25zdF9pbnQgMSkK LQkJCSAgIChjb25zdF9pbnQgMykKLQkJCSAgIChjb25zdF9pbnQgNSkKLQkJ CSAgIChjb25zdF9pbnQgNykKLQkJCSAgIChjb25zdF9pbnQgOSkKLQkJCSAg IChjb25zdF9pbnQgMTEpCi0JCQkgICAoY29uc3RfaW50IDEzKQotCQkJICAg KGNvbnN0X2ludCAxNSldKSkpCi0JICAgIChzaWduX2V4dGVuZDpWOEhJCi0J ICAgICAgKHZlY19zZWxlY3Q6VjhRSSAobWF0Y2hfZHVwIDIpCi0JCShwYXJh bGxlbCBbKGNvbnN0X2ludCAxKQotCQkJICAgKGNvbnN0X2ludCAzKQotCQkJ ICAgKGNvbnN0X2ludCA1KQotCQkJICAgKGNvbnN0X2ludCA3KQotCQkJICAg KGNvbnN0X2ludCA5KQotCQkJICAgKGNvbnN0X2ludCAxMSkKLQkJCSAgIChj b25zdF9pbnQgMTMpCi0JCQkgICAoY29uc3RfaW50IDE1KV0pKSkpKSldCi0g ICJUQVJHRVRfQVZYIgotICAidnBtYWRkdWJzd1x0eyUyLCAlMSwgJTB8JTAs ICUxLCAlMn0iCi0gIFsoc2V0X2F0dHIgInR5cGUiICJzc2VpYWRkIikKLSAg IChzZXRfYXR0ciAicHJlZml4X2V4dHJhIiAiMSIpCi0gICAoc2V0X2F0dHIg InByZWZpeCIgInZleCIpCi0gICAoc2V0X2F0dHIgIm1vZGUiICJUSSIpXSkK LQogKGRlZmluZV9pbnNuICJzc3NlM19wbWFkZHVic3cxMjgiCi0gIFsoc2V0 IChtYXRjaF9vcGVyYW5kOlY4SEkgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj14 IikKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VjhISSAwICJyZWdpc3Rlcl9v cGVyYW5kIiAiPXgseCIpCiAJKHNzX3BsdXM6VjhISQogCSAgKG11bHQ6VjhI SQogCSAgICAoemVyb19leHRlbmQ6VjhISQogCSAgICAgICh2ZWNfc2VsZWN0 OlY4UUkKLQkJKG1hdGNoX29wZXJhbmQ6VjE2UUkgMSAicmVnaXN0ZXJfb3Bl cmFuZCIgIjAiKQorCQkobWF0Y2hfb3BlcmFuZDpWMTZRSSAxICJyZWdpc3Rl cl9vcGVyYW5kIiAiMCx4IikKIAkJKHBhcmFsbGVsIFsoY29uc3RfaW50IDAp CiAJCQkgICAoY29uc3RfaW50IDIpCiAJCQkgICAoY29uc3RfaW50IDQpCkBA IC04MDQ3LDcgKzc3NDEsNyBAQAogCQkJICAgKGNvbnN0X2ludCAxNCldKSkp CiAJICAgIChzaWduX2V4dGVuZDpWOEhJCiAJICAgICAgKHZlY19zZWxlY3Q6 VjhRSQotCQkobWF0Y2hfb3BlcmFuZDpWMTZRSSAyICJub25pbW1lZGlhdGVf b3BlcmFuZCIgInhtIikKKwkJKG1hdGNoX29wZXJhbmQ6VjE2UUkgMiAibm9u aW1tZWRpYXRlX29wZXJhbmQiICJ4bSx4bSIpCiAJCShwYXJhbGxlbCBbKGNv bnN0X2ludCAwKQogCQkJICAgKGNvbnN0X2ludCAyKQogCQkJICAgKGNvbnN0 X2ludCA0KQpAQCAtODA3OCwxMSArNzc3MiwxNSBAQAogCQkJICAgKGNvbnN0 X2ludCAxMykKIAkJCSAgIChjb25zdF9pbnQgMTUpXSkpKSkpKV0KICAgIlRB UkdFVF9TU1NFMyIKLSAgInBtYWRkdWJzd1x0eyUyLCAlMHwlMCwgJTJ9Igot ICBbKHNldF9hdHRyICJ0eXBlIiAic3NlaWFkZCIpCisgICJACisgICBwbWFk ZHVic3dcdHslMiwgJTB8JTAsICUyfQorICAgdnBtYWRkdWJzd1x0eyUyLCAl MSwgJTB8JTAsICUxLCAlMn0iCisgIFsoc2V0X2F0dHIgImlzYSIgIm5vYXZ4 LGF2eCIpCisgICAoc2V0X2F0dHIgInR5cGUiICJzc2VpYWRkIikKICAgIChz ZXRfYXR0ciAiYXRvbV91bml0IiAic2ltdWwiKQotICAgKHNldF9hdHRyICJw cmVmaXhfZGF0YTE2IiAiMSIpCisgICAoc2V0X2F0dHIgInByZWZpeF9kYXRh MTYiICIxLCoiKQogICAgKHNldF9hdHRyICJwcmVmaXhfZXh0cmEiICIxIikK KyAgIChzZXRfYXR0ciAicHJlZml4IiAib3JpZyx2ZXgiKQogICAgKHNldF9h dHRyICJtb2RlIiAiVEkiKV0pCiAKIChkZWZpbmVfaW5zbiAic3NzZTNfcG1h ZGR1YnN3IgpAQCAtODE0NCw0MSArNzg0MiwxNyBAQAogICAiVEFSR0VUX1NT U0UzIgogICAiaXg4Nl9maXh1cF9iaW5hcnlfb3BlcmFuZHNfbm9fY29weSAo TVVMVCwgVjhISW1vZGUsIG9wZXJhbmRzKTsiKQogCi0oZGVmaW5lX2luc24g IiphdnhfcG11bGhyc3d2OGhpMyIKLSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6 VjhISSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXgiKQotCSh0cnVuY2F0ZTpW OEhJCi0JICAobHNoaWZ0cnQ6VjhTSQotCSAgICAocGx1czpWOFNJCi0JICAg ICAgKGxzaGlmdHJ0OlY4U0kKLQkJKG11bHQ6VjhTSQotCQkgIChzaWduX2V4 dGVuZDpWOFNJCi0JCSAgICAobWF0Y2hfb3BlcmFuZDpWOEhJIDEgIm5vbmlt bWVkaWF0ZV9vcGVyYW5kIiAiJXgiKSkKLQkJICAoc2lnbl9leHRlbmQ6VjhT SQotCQkgICAgKG1hdGNoX29wZXJhbmQ6VjhISSAyICJub25pbW1lZGlhdGVf b3BlcmFuZCIgInhtIikpKQotCQkoY29uc3RfaW50IDE0KSkKLQkgICAgICAo Y29uc3RfdmVjdG9yOlY4SEkgWyhjb25zdF9pbnQgMSkgKGNvbnN0X2ludCAx KQotCQkJCSAgKGNvbnN0X2ludCAxKSAoY29uc3RfaW50IDEpCi0JCQkJICAo Y29uc3RfaW50IDEpIChjb25zdF9pbnQgMSkKLQkJCQkgIChjb25zdF9pbnQg MSkgKGNvbnN0X2ludCAxKV0pKQotCSAgICAoY29uc3RfaW50IDEpKSkpXQot ICAiVEFSR0VUX0FWWCAmJiBpeDg2X2JpbmFyeV9vcGVyYXRvcl9vayAoTVVM VCwgVjhISW1vZGUsIG9wZXJhbmRzKSIKLSAgInZwbXVsaHJzd1x0eyUyLCAl MSwgJTB8JTAsICUxLCAlMn0iCi0gIFsoc2V0X2F0dHIgInR5cGUiICJzc2Vp bXVsIikKLSAgIChzZXRfYXR0ciAicHJlZml4X2V4dHJhIiAiMSIpCi0gICAo c2V0X2F0dHIgInByZWZpeCIgInZleCIpCi0gICAoc2V0X2F0dHIgIm1vZGUi ICJUSSIpXSkKLQogKGRlZmluZV9pbnNuICIqc3NzZTNfcG11bGhyc3d2OGhp MyIKLSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VjhISSAwICJyZWdpc3Rlcl9v cGVyYW5kIiAiPXgiKQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWOEhJIDAg InJlZ2lzdGVyX29wZXJhbmQiICI9eCx4IikKIAkodHJ1bmNhdGU6VjhISQog CSAgKGxzaGlmdHJ0OlY4U0kKIAkgICAgKHBsdXM6VjhTSQogCSAgICAgIChs c2hpZnRydDpWOFNJCiAJCShtdWx0OlY4U0kKIAkJICAoc2lnbl9leHRlbmQ6 VjhTSQotCQkgICAgKG1hdGNoX29wZXJhbmQ6VjhISSAxICJub25pbW1lZGlh dGVfb3BlcmFuZCIgIiUwIikpCisJCSAgICAobWF0Y2hfb3BlcmFuZDpWOEhJ IDEgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAiJTAseCIpKQogCQkgIChzaWdu X2V4dGVuZDpWOFNJCi0JCSAgICAobWF0Y2hfb3BlcmFuZDpWOEhJIDIgIm5v bmltbWVkaWF0ZV9vcGVyYW5kIiAieG0iKSkpCisJCSAgICAobWF0Y2hfb3Bl cmFuZDpWOEhJIDIgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAieG0seG0iKSkp CiAJCShjb25zdF9pbnQgMTQpKQogCSAgICAgIChjb25zdF92ZWN0b3I6VjhI SSBbKGNvbnN0X2ludCAxKSAoY29uc3RfaW50IDEpCiAJCQkJICAoY29uc3Rf aW50IDEpIChjb25zdF9pbnQgMSkKQEAgLTgxODYsMTAgKzc4NjAsMTQgQEAK IAkJCQkgIChjb25zdF9pbnQgMSkgKGNvbnN0X2ludCAxKV0pKQogCSAgICAo Y29uc3RfaW50IDEpKSkpXQogICAiVEFSR0VUX1NTU0UzICYmIGl4ODZfYmlu YXJ5X29wZXJhdG9yX29rIChNVUxULCBWOEhJbW9kZSwgb3BlcmFuZHMpIgot ICAicG11bGhyc3dcdHslMiwgJTB8JTAsICUyfSIKLSAgWyhzZXRfYXR0ciAi dHlwZSIgInNzZWltdWwiKQotICAgKHNldF9hdHRyICJwcmVmaXhfZGF0YTE2 IiAiMSIpCisgICJACisgICBwbXVsaHJzd1x0eyUyLCAlMHwlMCwgJTJ9Cisg ICB2cG11bGhyc3dcdHslMiwgJTEsICUwfCUwLCAlMSwgJTJ9IgorICBbKHNl dF9hdHRyICJpc2EiICJub2F2eCxhdngiKQorICAgKHNldF9hdHRyICJ0eXBl IiAic3NlaW11bCIpCisgICAoc2V0X2F0dHIgInByZWZpeF9kYXRhMTYiICIx LCoiKQogICAgKHNldF9hdHRyICJwcmVmaXhfZXh0cmEiICIxIikKKyAgIChz ZXRfYXR0ciAicHJlZml4IiAib3JpZyx2ZXgiKQogICAgKHNldF9hdHRyICJt b2RlIiAiVEkiKV0pCiAKIChkZWZpbmVfZXhwYW5kICJzc3NlM19wbXVsaHJz d3Y0aGkzIgpAQCAtODIzMiwyOCArNzkxMCwyMCBAQAogICAgKHNldCAoYXR0 ciAicHJlZml4X3JleCIpIChzeW1ib2xfcmVmICJ4ODZfZXh0ZW5kZWRfcmVn X21lbnRpb25lZF9wIChpbnNuKSIpKQogICAgKHNldF9hdHRyICJtb2RlIiAi REkiKV0pCiAKLShkZWZpbmVfaW5zbiAiKmF2eF9wc2h1ZmJ2MTZxaTMiCi0g IFsoc2V0IChtYXRjaF9vcGVyYW5kOlYxNlFJIDAgInJlZ2lzdGVyX29wZXJh bmQiICI9eCIpCi0JKHVuc3BlYzpWMTZRSSBbKG1hdGNoX29wZXJhbmQ6VjE2 UUkgMSAicmVnaXN0ZXJfb3BlcmFuZCIgIngiKQotCQkgICAgICAgKG1hdGNo X29wZXJhbmQ6VjE2UUkgMiAibm9uaW1tZWRpYXRlX29wZXJhbmQiICJ4bSIp XQotCQkgICAgICBVTlNQRUNfUFNIVUZCKSldCi0gICJUQVJHRVRfQVZYIgot ICAidnBzaHVmYlx0eyUyLCAlMSwgJTB8JTAsICUxLCAlMn0iOwotICBbKHNl dF9hdHRyICJ0eXBlIiAic3NlbG9nMSIpCi0gICAoc2V0X2F0dHIgInByZWZp eF9leHRyYSIgIjEiKQotICAgKHNldF9hdHRyICJwcmVmaXgiICJ2ZXgiKQot ICAgKHNldF9hdHRyICJtb2RlIiAiVEkiKV0pCi0KIChkZWZpbmVfaW5zbiAi c3NzZTNfcHNodWZidjE2cWkzIgotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpW MTZRSSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXgiKQotCSh1bnNwZWM6VjE2 UUkgWyhtYXRjaF9vcGVyYW5kOlYxNlFJIDEgInJlZ2lzdGVyX29wZXJhbmQi ICIwIikKLQkJICAgICAgIChtYXRjaF9vcGVyYW5kOlYxNlFJIDIgIm5vbmlt bWVkaWF0ZV9vcGVyYW5kIiAieG0iKV0KKyAgWyhzZXQgKG1hdGNoX29wZXJh bmQ6VjE2UUkgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj14LHgiKQorCSh1bnNw ZWM6VjE2UUkgWyhtYXRjaF9vcGVyYW5kOlYxNlFJIDEgInJlZ2lzdGVyX29w ZXJhbmQiICIwLHgiKQorCQkgICAgICAgKG1hdGNoX29wZXJhbmQ6VjE2UUkg MiAibm9uaW1tZWRpYXRlX29wZXJhbmQiICJ4bSx4bSIpXQogCQkgICAgICBV TlNQRUNfUFNIVUZCKSldCiAgICJUQVJHRVRfU1NTRTMiCi0gICJwc2h1ZmJc dHslMiwgJTB8JTAsICUyfSI7Ci0gIFsoc2V0X2F0dHIgInR5cGUiICJzc2Vs b2cxIikKLSAgIChzZXRfYXR0ciAicHJlZml4X2RhdGExNiIgIjEiKQorICAi QAorICAgcHNodWZiXHR7JTIsICUwfCUwLCAlMn0KKyAgIHZwc2h1ZmJcdHsl MiwgJTEsICUwfCUwLCAlMSwgJTJ9IgorICBbKHNldF9hdHRyICJpc2EiICJu b2F2eCxhdngiKQorICAgKHNldF9hdHRyICJ0eXBlIiAic3NlbG9nMSIpCisg ICAoc2V0X2F0dHIgInByZWZpeF9kYXRhMTYiICIxLCoiKQogICAgKHNldF9h dHRyICJwcmVmaXhfZXh0cmEiICIxIikKKyAgIChzZXRfYXR0ciAicHJlZml4 IiAib3JpZyx2ZXgiKQogICAgKHNldF9hdHRyICJtb2RlIiAiVEkiKV0pCiAK IChkZWZpbmVfaW5zbiAic3NzZTNfcHNodWZidjhxaTMiCkBAIC04MjY4LDMw ICs3OTM4LDIxIEBACiAgICAoc2V0IChhdHRyICJwcmVmaXhfcmV4IikgKHN5 bWJvbF9yZWYgIng4Nl9leHRlbmRlZF9yZWdfbWVudGlvbmVkX3AgKGluc24p IikpCiAgICAoc2V0X2F0dHIgIm1vZGUiICJESSIpXSkKIAotKGRlZmluZV9p bnNuICIqYXZ4X3BzaWduPG1vZGU+MyIKLSAgWyhzZXQgKG1hdGNoX29wZXJh bmQ6U1NFTU9ERTEyNCAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXgiKQotCSh1 bnNwZWM6U1NFTU9ERTEyNAotCSAgWyhtYXRjaF9vcGVyYW5kOlNTRU1PREUx MjQgMSAicmVnaXN0ZXJfb3BlcmFuZCIgIngiKQotCSAgIChtYXRjaF9vcGVy YW5kOlNTRU1PREUxMjQgMiAibm9uaW1tZWRpYXRlX29wZXJhbmQiICJ4bSIp XQotCSAgVU5TUEVDX1BTSUdOKSldCi0gICJUQVJHRVRfQVZYIgotICAidnBz aWduPHNzZXZlY3NpemU+XHR7JTIsICUxLCAlMHwlMCwgJTEsICUyfSI7Ci0g IFsoc2V0X2F0dHIgInR5cGUiICJzc2Vsb2cxIikKLSAgIChzZXRfYXR0ciAi cHJlZml4X2V4dHJhIiAiMSIpCi0gICAoc2V0X2F0dHIgInByZWZpeCIgInZl eCIpCi0gICAoc2V0X2F0dHIgIm1vZGUiICJUSSIpXSkKLQogKGRlZmluZV9p bnNuICJzc3NlM19wc2lnbjxtb2RlPjMiCi0gIFsoc2V0IChtYXRjaF9vcGVy YW5kOlNTRU1PREUxMjQgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj14IikKKyAg WyhzZXQgKG1hdGNoX29wZXJhbmQ6U1NFTU9ERTEyNCAwICJyZWdpc3Rlcl9v cGVyYW5kIiAiPXgseCIpCiAJKHVuc3BlYzpTU0VNT0RFMTI0Ci0JICBbKG1h dGNoX29wZXJhbmQ6U1NFTU9ERTEyNCAxICJyZWdpc3Rlcl9vcGVyYW5kIiAi MCIpCi0JICAgKG1hdGNoX29wZXJhbmQ6U1NFTU9ERTEyNCAyICJub25pbW1l ZGlhdGVfb3BlcmFuZCIgInhtIildCisJICBbKG1hdGNoX29wZXJhbmQ6U1NF TU9ERTEyNCAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiMCx4IikKKwkgICAobWF0 Y2hfb3BlcmFuZDpTU0VNT0RFMTI0IDIgIm5vbmltbWVkaWF0ZV9vcGVyYW5k IiAieG0seG0iKV0KIAkgIFVOU1BFQ19QU0lHTikpXQogICAiVEFSR0VUX1NT U0UzIgotICAicHNpZ248c3NldmVjc2l6ZT5cdHslMiwgJTB8JTAsICUyfSI7 Ci0gIFsoc2V0X2F0dHIgInR5cGUiICJzc2Vsb2cxIikKLSAgIChzZXRfYXR0 ciAicHJlZml4X2RhdGExNiIgIjEiKQorICAiQAorICAgcHNpZ248c3NldmVj c2l6ZT5cdHslMiwgJTB8JTAsICUyfQorICAgdnBzaWduPHNzZXZlY3NpemU+ XHR7JTIsICUxLCAlMHwlMCwgJTEsICUyfSIKKyAgWyhzZXRfYXR0ciAiaXNh IiAibm9hdngsYXZ4IikKKyAgIChzZXRfYXR0ciAidHlwZSIgInNzZWxvZzEi KQorICAgKHNldF9hdHRyICJwcmVmaXhfZGF0YTE2IiAiMSwqIikKICAgIChz ZXRfYXR0ciAicHJlZml4X2V4dHJhIiAiMSIpCisgICAoc2V0X2F0dHIgInBy ZWZpeCIgIm9yaWcsdmV4IikKICAgIChzZXRfYXR0ciAibW9kZSIgIlRJIild KQogCiAoZGVmaW5lX2luc24gInNzc2UzX3BzaWduPG1vZGU+MyIKQEAgLTgz MDcsMzkgKzc5NjgsMzMgQEAKICAgIChzZXQgKGF0dHIgInByZWZpeF9yZXgi KSAoc3ltYm9sX3JlZiAieDg2X2V4dGVuZGVkX3JlZ19tZW50aW9uZWRfcCAo aW5zbikiKSkKICAgIChzZXRfYXR0ciAibW9kZSIgIkRJIildKQogCi0oZGVm aW5lX2luc24gIiphdnhfcGFsaWducnRpIgotICBbKHNldCAobWF0Y2hfb3Bl cmFuZDpUSSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXgiKQotCSh1bnNwZWM6 VEkgWyhtYXRjaF9vcGVyYW5kOlRJIDEgInJlZ2lzdGVyX29wZXJhbmQiICJ4 IikKLQkJICAgIChtYXRjaF9vcGVyYW5kOlRJIDIgIm5vbmltbWVkaWF0ZV9v cGVyYW5kIiAieG0iKQotCQkgICAgKG1hdGNoX29wZXJhbmQ6U0kgMyAiY29u c3RfMF90b18yNTVfbXVsXzhfb3BlcmFuZCIgIm4iKV0KLQkJICAgVU5TUEVD X1BBTElHTlIpKV0KLSAgIlRBUkdFVF9BVlgiCi17Ci0gIG9wZXJhbmRzWzNd ID0gR0VOX0lOVCAoSU5UVkFMIChvcGVyYW5kc1szXSkgLyA4KTsKLSAgcmV0 dXJuICJ2cGFsaWduclx0eyUzLCAlMiwgJTEsICUwfCUwLCAlMSwgJTIsICUz fSI7Ci19Ci0gIFsoc2V0X2F0dHIgInR5cGUiICJzc2Vpc2hmdCIpCi0gICAo c2V0X2F0dHIgInByZWZpeF9leHRyYSIgIjEiKQotICAgKHNldF9hdHRyICJs ZW5ndGhfaW1tZWRpYXRlIiAiMSIpCi0gICAoc2V0X2F0dHIgInByZWZpeCIg InZleCIpCi0gICAoc2V0X2F0dHIgIm1vZGUiICJUSSIpXSkKLQogKGRlZmlu ZV9pbnNuICJzc3NlM19wYWxpZ25ydGkiCi0gIFsoc2V0IChtYXRjaF9vcGVy YW5kOlRJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9eCIpCi0JKHVuc3BlYzpU SSBbKG1hdGNoX29wZXJhbmQ6VEkgMSAicmVnaXN0ZXJfb3BlcmFuZCIgIjAi KQotCQkgICAgKG1hdGNoX29wZXJhbmQ6VEkgMiAibm9uaW1tZWRpYXRlX29w ZXJhbmQiICJ4bSIpCi0JCSAgICAobWF0Y2hfb3BlcmFuZDpTSSAzICJjb25z dF8wX3RvXzI1NV9tdWxfOF9vcGVyYW5kIiAibiIpXQorICBbKHNldCAobWF0 Y2hfb3BlcmFuZDpUSSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXgseCIpCisJ KHVuc3BlYzpUSSBbKG1hdGNoX29wZXJhbmQ6VEkgMSAicmVnaXN0ZXJfb3Bl cmFuZCIgIjAseCIpCisJCSAgICAobWF0Y2hfb3BlcmFuZDpUSSAyICJub25p bW1lZGlhdGVfb3BlcmFuZCIgInhtLHhtIikKKwkJICAgIChtYXRjaF9vcGVy YW5kOlNJIDMgImNvbnN0XzBfdG9fMjU1X211bF84X29wZXJhbmQiICJuLG4i KV0KIAkJICAgVU5TUEVDX1BBTElHTlIpKV0KICAgIlRBUkdFVF9TU1NFMyIK IHsKICAgb3BlcmFuZHNbM10gPSBHRU5fSU5UIChJTlRWQUwgKG9wZXJhbmRz WzNdKSAvIDgpOwotICByZXR1cm4gInBhbGlnbnJcdHslMywgJTIsICUwfCUw LCAlMiwgJTN9IjsKKworICBzd2l0Y2ggKHdoaWNoX2FsdGVybmF0aXZlKQor ICAgIHsKKyAgICBjYXNlIDA6CisgICAgICByZXR1cm4gInBhbGlnbnJcdHsl MywgJTIsICUwfCUwLCAlMiwgJTN9IjsKKyAgICBjYXNlIDE6CisgICAgICBy ZXR1cm4gInZwYWxpZ25yXHR7JTMsICUyLCAlMSwgJTB8JTAsICUxLCAlMiwg JTN9IjsKKyAgICBkZWZhdWx0OgorICAgICAgZ2NjX3VucmVhY2hhYmxlICgp OworICAgIH0KIH0KLSAgWyhzZXRfYXR0ciAidHlwZSIgInNzZWlzaGZ0IikK KyAgWyhzZXRfYXR0ciAiaXNhIiAibm9hdngsYXZ4IikKKyAgIChzZXRfYXR0 ciAidHlwZSIgInNzZWlzaGZ0IikKICAgIChzZXRfYXR0ciAiYXRvbV91bml0 IiAic2lzaHVmIikKLSAgIChzZXRfYXR0ciAicHJlZml4X2RhdGExNiIgIjEi KQorICAgKHNldF9hdHRyICJwcmVmaXhfZGF0YTE2IiAiMSwqIikKICAgIChz ZXRfYXR0ciAicHJlZml4X2V4dHJhIiAiMSIpCiAgICAoc2V0X2F0dHIgImxl bmd0aF9pbW1lZGlhdGUiICIxIikKKyAgIChzZXRfYXR0ciAicHJlZml4IiAi b3JpZyx2ZXgiKQogICAgKHNldF9hdHRyICJtb2RlIiAiVEkiKV0pCiAKIChk ZWZpbmVfaW5zbiAic3NzZTNfcGFsaWducmRpIgpAQCAtODM2Miw3ICs4MDE3 LDggQEAKIAogKGRlZmluZV9pbnNuICJhYnM8bW9kZT4yIgogICBbKHNldCAo bWF0Y2hfb3BlcmFuZDpTU0VNT0RFMTI0IDAgInJlZ2lzdGVyX29wZXJhbmQi ICI9eCIpCi0JKGFiczpTU0VNT0RFMTI0IChtYXRjaF9vcGVyYW5kOlNTRU1P REUxMjQgMSAibm9uaW1tZWRpYXRlX29wZXJhbmQiICJ4bSIpKSldCisJKGFi czpTU0VNT0RFMTI0CisJICAobWF0Y2hfb3BlcmFuZDpTU0VNT0RFMTI0IDEg Im5vbmltbWVkaWF0ZV9vcGVyYW5kIiAieG0iKSkpXQogICAiVEFSR0VUX1NT U0UzIgogICAiJXZwYWJzPHNzZXZlY3NpemU+XHR7JTEsICUwfCUwLCAlMX0i CiAgIFsoc2V0X2F0dHIgInR5cGUiICJzc2Vsb2cxIikKQEAgLTgzNzMsNyAr ODAyOSw4IEBACiAKIChkZWZpbmVfaW5zbiAiYWJzPG1vZGU+MiIKICAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6TU1YTU9ERUkgMCAicmVnaXN0ZXJfb3BlcmFu ZCIgIj15IikKLQkoYWJzOk1NWE1PREVJIChtYXRjaF9vcGVyYW5kOk1NWE1P REVJIDEgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAieW0iKSkpXQorCShhYnM6 TU1YTU9ERUkKKwkgIChtYXRjaF9vcGVyYW5kOk1NWE1PREVJIDEgIm5vbmlt bWVkaWF0ZV9vcGVyYW5kIiAieW0iKSkpXQogICAiVEFSR0VUX1NTU0UzIgog ICAicGFiczxtbXh2ZWNzaXplPlx0eyUxLCAlMHwlMCwgJTF9IjsKICAgWyhz ZXRfYXR0ciAidHlwZSIgInNzZWxvZzEiKQo= --000e0cd5d18487739104a0d570aa--