From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [IPv6:2a00:1450:4864:20::631]) by sourceware.org (Postfix) with ESMTPS id 260763858D38; Mon, 23 Jan 2023 06:02:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 260763858D38 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ej1-x631.google.com with SMTP id rl14so24359881ejb.2; Sun, 22 Jan 2023 22:02:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=ZL0ZYG8uZ8oZp0xvD+lYbj9wBcWrepyYC7GLRCCiFkY=; b=MRFceOIAZZ4NvZg0z/Rae40MjzKd0EsnXh6PEy6iXfw3FqurhyrChCOrcXufffsbJ+ iSZhGkUScrfl+eScLvQnJ6ynQNLBVdlzBX3eEOEF+38rCDoxdSjD9PfwgyoxsL2uNNjI qD69V89Yk9Q6xO2WPAIf0PIJcI8FjKk89tfywpAezXldGWa4e4swrsW5uH61dKV1zE4+ 1J6oD8UK7Ro3dGzXdafKloZ82eBV5h5zd2iCATO9zoirg/q6N68216vzSiGM36Jb81bZ vBM1r0yNPLrZz0jcB0YT9bduUl7iK5nbc/bGLj0KuuWZD1rFfHJZTxe4No+l1mK+XQVv KnLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ZL0ZYG8uZ8oZp0xvD+lYbj9wBcWrepyYC7GLRCCiFkY=; b=NrS2Zy38Bk1EUEjkwDvC2YuqWDT+ZxYaqik21k4QO1y3JUCDt0wajr5HTTBFLC6pWs GLL65MaaMeVpHm9iso4LdpfXm+JVZT54iQ9N7S+9Xfkuw3xTaKoKRnNA9NiTGtLM88eP 6EcC9HBBY/W3ec5YuYLNIDZHjqhLSaJAfJLnI150BDhrDO4sy+5JlaGA59RqtoVsohOD RhdP8FMa+Y7hqgItlWVcIsRrscpItnD0j+hFLtxJeqkFR6BH68Bw/j6XNjT27MqugC30 HYdjCpQPFz8QCVYd45KTjG0aLC21P7sSdszZb+sl25LH/cxKCEQeIkh9mVFJVx1psMVf Kmzw== X-Gm-Message-State: AFqh2krSvSY69DAGMCtT9juLsAZUxUXCCK4mwlNNG4XpEr9eC6daQbqQ Qc7t7WYe2TjCBmQdSMhAtJAbbMp33Lg= X-Google-Smtp-Source: AMrXdXvjK4rfWqguEO7JYMY4dsj89eWf8ICcVm8ukwM95NyuzzdaVEbi/9pg06kWr1+KPKjsVnQ8gw== X-Received: by 2002:a17:906:e247:b0:84d:3928:66b6 with SMTP id gq7-20020a170906e24700b0084d392866b6mr23961874ejb.40.1674453750482; Sun, 22 Jan 2023 22:02:30 -0800 (PST) Received: from [10.10.0.56] ([109.190.253.14]) by smtp.googlemail.com with ESMTPSA id 14-20020a170906308e00b0084d3acda5fasm20089892ejv.189.2023.01.22.22.02.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 22 Jan 2023 22:02:29 -0800 (PST) Content-Type: multipart/mixed; boundary="------------lTfkKrVQ0FXyzUiXXIf40FMo" Message-ID: Date: Mon, 23 Jan 2023 07:02:27 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Content-Language: fr To: "libstdc++@gcc.gnu.org" Cc: gcc-patches From: =?UTF-8?Q?Fran=c3=a7ois_Dumont?= Subject: [PATCH][_GLIBCXX_DEBUG] Remove useless checks X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------lTfkKrVQ0FXyzUiXXIf40FMo Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit     libstdc++: [_GLIBCXX_DEBUG] Remove useless constructor checks     Creating a safe iterator from a normal iterator is done within the library where we     already know that it is done correctly. The rare situation where a user would use safe     iterators for his own purpose is non-Standard code so outside _GLIBCXX_DEBUG scope. For     those reasons the __msg_init_singular is useless and can be removed.     Additionally in the copy constructor used for post-increment and post-decrement operators     the __msg_init_copy_singular check can also be ommitted because of the preliminary     __msg_bad_inc and __msg_bad_dec checks.     libstdc++-v3/ChangeLog:             * include/debug/safe_iterator.h (_Safe_iterator<>::_Unsafe_call): New.             (_Safe_iterator(const _Safe_iterator&, _Unsafe_call): New.             (_Safe_iterator::operator++(int)): Use latter.             (_Safe_iterator::operator--(int)): Likewise.             (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()             check.             * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unsafe_call):             New.             (_Safe_local_iterator(const _Safe_local_iterator&, _Unsafe_call): New.             (_Safe_local_iterator::operator++(int)): Use latter.             * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id             entry associated to the array entry. Tested under Linux x64. Ok to commit ? François --------------lTfkKrVQ0FXyzUiXXIf40FMo Content-Type: text/x-patch; charset=UTF-8; name="useless_debug_check.patch" Content-Disposition: attachment; filename="useless_debug_check.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL2RlYnVnL3NhZmVfaXRlcmF0b3Iu aCBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2RlYnVnL3NhZmVfaXRlcmF0b3IuaAppbmRleCBm MzY0NDc3YTAwYy4uNTcwYzgyNjY0OWYgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9pbmNs dWRlL2RlYnVnL3NhZmVfaXRlcmF0b3IuaAorKysgYi9saWJzdGRjKystdjMvaW5jbHVkZS9k ZWJ1Zy9zYWZlX2l0ZXJhdG9yLmgKQEAgLTEyOSw2ICsxMjksMTIgQEAgbmFtZXNwYWNlIF9f Z251X2RlYnVnCiAJdHlwZW5hbWUgX1NlcXVlbmNlOjpfQmFzZTo6aXRlcmF0b3IsCiAJdHlw ZW5hbWUgX1NlcXVlbmNlOjpfQmFzZTo6Y29uc3RfaXRlcmF0b3I+OjpfX3R5cGUgX090aGVy SXRlcmF0b3I7CiAKKyAgICAgIHN0cnVjdCBfVW5zYWZlX2NhbGwgeyB9OworCisgICAgICBf U2FmZV9pdGVyYXRvcihjb25zdCBfU2FmZV9pdGVyYXRvciYgX194LCBfVW5zYWZlX2NhbGwp IF9HTElCQ1hYX05PRVhDRVBUCisgICAgICA6IF9JdGVyX2Jhc2UoX194LmJhc2UoKSksIF9T YWZlX2Jhc2UoKQorICAgICAgeyBfTV9hdHRhY2goX194Ll9NX3NlcXVlbmNlKTsgfQorCiAg ICAgcHVibGljOgogICAgICAgdHlwZWRlZiBfSXRlcmF0b3IJCQkJCWl0ZXJhdG9yX3R5cGU7 CiAgICAgICB0eXBlZGVmIHR5cGVuYW1lIF9UcmFpdHM6Oml0ZXJhdG9yX2NhdGVnb3J5CWl0 ZXJhdG9yX2NhdGVnb3J5OwpAQCAtMTU0LDExICsxNjAsNyBAQCBuYW1lc3BhY2UgX19nbnVf ZGVidWcKICAgICAgIF9TYWZlX2l0ZXJhdG9yKF9JdGVyYXRvciBfX2ksIGNvbnN0IF9TYWZl X3NlcXVlbmNlX2Jhc2UqIF9fc2VxKQogICAgICAgX0dMSUJDWFhfTk9FWENFUFQKICAgICAg IDogX0l0ZXJfYmFzZShfX2kpLCBfU2FmZV9iYXNlKF9fc2VxLCBfU19jb25zdGFudCgpKQot ICAgICAgewotCV9HTElCQ1hYX0RFQlVHX1ZFUklGWSghdGhpcy0+X01fc2luZ3VsYXIoKSwK LQkJCSAgICAgIF9NX21lc3NhZ2UoX19tc2dfaW5pdF9zaW5ndWxhcikKLQkJCSAgICAgIC5f TV9pdGVyYXRvcigqdGhpcywgInRoaXMiKSk7Ci0gICAgICB9CisgICAgICB7IH0KIAogICAg ICAgLyoqCiAgICAgICAgKiBAYnJpZWYgQ29weSBjb25zdHJ1Y3Rpb24uCkBAIC0zMzksNyAr MzQxLDcgQEAgbmFtZXNwYWNlIF9fZ251X2RlYnVnCiAJX0dMSUJDWFhfREVCVUdfVkVSSUZZ KHRoaXMtPl9NX2luY3JlbWVudGFibGUoKSwKIAkJCSAgICAgIF9NX21lc3NhZ2UoX19tc2df YmFkX2luYykKIAkJCSAgICAgIC5fTV9pdGVyYXRvcigqdGhpcywgInRoaXMiKSk7Ci0JX1Nh ZmVfaXRlcmF0b3IgX19yZXQgPSAqdGhpczsKKwlfU2FmZV9pdGVyYXRvciBfX3JldCgqdGhp cywgX1Vuc2FmZV9jYWxsKCkpOwogCSsrKnRoaXM7CiAJcmV0dXJuIF9fcmV0OwogICAgICAg fQpAQCAtNTE0LDYgKzUxNiwxMyBAQCBuYW1lc3BhY2UgX19nbnVfZGVidWcKICAgICBwcm90 ZWN0ZWQ6CiAgICAgICB0eXBlZGVmIHR5cGVuYW1lIF9TYWZlX2Jhc2U6Ol9PdGhlckl0ZXJh dG9yIF9PdGhlckl0ZXJhdG9yOwogCisgICAgICB0eXBlZGVmIHR5cGVuYW1lIF9TYWZlX2Jh c2U6Ol9VbnNhZmVfY2FsbCBfVW5zYWZlX2NhbGw7CisKKyAgICAgIF9TYWZlX2l0ZXJhdG9y KGNvbnN0IF9TYWZlX2l0ZXJhdG9yJiBfX3gsCisJCSAgICAgX1Vuc2FmZV9jYWxsIF9fdW5z YWZlX2NhbGwpIF9HTElCQ1hYX05PRVhDRVBUCisJOiBfU2FmZV9iYXNlKF9feCwgX191bnNh ZmVfY2FsbCkKKyAgICAgIHsgfQorCiAgICAgcHVibGljOgogICAgICAgLy8vIEBwb3N0IHRo ZSBpdGVyYXRvciBpcyBzaW5ndWxhciBhbmQgdW5hdHRhY2hlZAogICAgICAgX1NhZmVfaXRl cmF0b3IoKSBfR0xJQkNYWF9OT0VYQ0VQVCB7IH0KQEAgLTU5Niw3ICs2MDUsNyBAQCBuYW1l c3BhY2UgX19nbnVfZGVidWcKIAlfR0xJQkNYWF9ERUJVR19WRVJJRlkodGhpcy0+X01faW5j cmVtZW50YWJsZSgpLAogCQkJICAgICAgX01fbWVzc2FnZShfX21zZ19iYWRfaW5jKQogCQkJ ICAgICAgLl9NX2l0ZXJhdG9yKCp0aGlzLCAidGhpcyIpKTsKLQlfU2FmZV9pdGVyYXRvciBf X3JldCA9ICp0aGlzOworCV9TYWZlX2l0ZXJhdG9yIF9fcmV0KCp0aGlzLCBfVW5zYWZlX2Nh bGwoKSk7CiAJKysqdGhpczsKIAlyZXR1cm4gX19yZXQ7CiAgICAgICB9CkBAIC02MjcsNyAr NjM2LDcgQEAgbmFtZXNwYWNlIF9fZ251X2RlYnVnCiAJX0dMSUJDWFhfREVCVUdfVkVSSUZZ KHRoaXMtPl9NX2RlY3JlbWVudGFibGUoKSwKIAkJCSAgICAgIF9NX21lc3NhZ2UoX19tc2df YmFkX2RlYykKIAkJCSAgICAgIC5fTV9pdGVyYXRvcigqdGhpcywgInRoaXMiKSk7Ci0JX1Nh ZmVfaXRlcmF0b3IgX19yZXQgPSAqdGhpczsKKwlfU2FmZV9pdGVyYXRvciBfX3JldCgqdGhp cywgX1Vuc2FmZV9jYWxsKCkpOwogCS0tKnRoaXM7CiAJcmV0dXJuIF9fcmV0OwogICAgICAg fQpAQCAtNjUzLDYgKzY2MiwxMiBAQCBuYW1lc3BhY2UgX19nbnVfZGVidWcKICAgICAgIHR5 cGVkZWYgX1NhZmVfaXRlcmF0b3I8X090aGVySXRlcmF0b3IsIF9TZXF1ZW5jZSwKIAkJCSAg ICAgc3RkOjpyYW5kb21fYWNjZXNzX2l0ZXJhdG9yX3RhZz4gX090aGVyU2VsZjsKIAorICAg ICAgdHlwZWRlZiB0eXBlbmFtZSBfU2FmZV9iYXNlOjpfVW5zYWZlX2NhbGwgX1Vuc2FmZV9j YWxsOworICAgICAgX1NhZmVfaXRlcmF0b3IoY29uc3QgX1NhZmVfaXRlcmF0b3ImIF9feCwK KwkJICAgICBfVW5zYWZlX2NhbGwgX191bnNhZmVfY2FsbCkgX0dMSUJDWFhfTk9FWENFUFQK Kwk6IF9TYWZlX2Jhc2UoX194LCBfX3Vuc2FmZV9jYWxsKQorICAgICAgeyB9CisKICAgICBw dWJsaWM6CiAgICAgICB0eXBlZGVmIHR5cGVuYW1lIF9TYWZlX2Jhc2U6OmRpZmZlcmVuY2Vf dHlwZQlkaWZmZXJlbmNlX3R5cGU7CiAgICAgICB0eXBlZGVmIHR5cGVuYW1lIF9TYWZlX2Jh c2U6OnJlZmVyZW5jZQkJcmVmZXJlbmNlOwpAQCAtNzQ0LDcgKzc1OSw3IEBAIG5hbWVzcGFj ZSBfX2dudV9kZWJ1ZwogCV9HTElCQ1hYX0RFQlVHX1ZFUklGWSh0aGlzLT5fTV9pbmNyZW1l bnRhYmxlKCksCiAJCQkgICAgICBfTV9tZXNzYWdlKF9fbXNnX2JhZF9pbmMpCiAJCQkgICAg ICAuX01faXRlcmF0b3IoKnRoaXMsICJ0aGlzIikpOwotCV9TYWZlX2l0ZXJhdG9yIF9fcmV0 ID0gKnRoaXM7CisJX1NhZmVfaXRlcmF0b3IgX19yZXQoKnRoaXMsIF9VbnNhZmVfY2FsbCgp KTsKIAkrKyp0aGlzOwogCXJldHVybiBfX3JldDsKICAgICAgIH0KQEAgLTc3MSw3ICs3ODYs NyBAQCBuYW1lc3BhY2UgX19nbnVfZGVidWcKIAlfR0xJQkNYWF9ERUJVR19WRVJJRlkodGhp cy0+X01fZGVjcmVtZW50YWJsZSgpLAogCQkJICAgICAgX01fbWVzc2FnZShfX21zZ19iYWRf ZGVjKQogCQkJICAgICAgLl9NX2l0ZXJhdG9yKCp0aGlzLCAidGhpcyIpKTsKLQlfU2FmZV9p dGVyYXRvciBfX3JldCA9ICp0aGlzOworCV9TYWZlX2l0ZXJhdG9yIF9fcmV0KCp0aGlzLCBf VW5zYWZlX2NhbGwoKSk7CiAJLS0qdGhpczsKIAlyZXR1cm4gX19yZXQ7CiAgICAgICB9CmRp ZmYgLS1naXQgYS9saWJzdGRjKystdjMvaW5jbHVkZS9kZWJ1Zy9zYWZlX2xvY2FsX2l0ZXJh dG9yLmggYi9saWJzdGRjKystdjMvaW5jbHVkZS9kZWJ1Zy9zYWZlX2xvY2FsX2l0ZXJhdG9y LmgKaW5kZXggNjI0ZjBkZGFkMGYuLmZlYjU0ZDA4MmQ0IDEwMDY0NAotLS0gYS9saWJzdGRj KystdjMvaW5jbHVkZS9kZWJ1Zy9zYWZlX2xvY2FsX2l0ZXJhdG9yLmgKKysrIGIvbGlic3Rk YysrLXYzL2luY2x1ZGUvZGVidWcvc2FmZV9sb2NhbF9pdGVyYXRvci5oCkBAIC04NCw2ICs4 NCwxMyBAQCBuYW1lc3BhY2UgX19nbnVfZGVidWcKICAgICAgIHR5cGVkZWYgX1NhZmVfbG9j YWxfaXRlcmF0b3IgX1NlbGY7CiAgICAgICB0eXBlZGVmIF9TYWZlX2xvY2FsX2l0ZXJhdG9y PF9PdGhlckl0ZXJhdG9yLCBfU2VxdWVuY2U+IF9PdGhlclNlbGY7CiAKKyAgICAgIHN0cnVj dCBfVW5zYWZlX2NhbGwgeyB9OworCisgICAgICBfU2FmZV9sb2NhbF9pdGVyYXRvcihjb25z dCBfU2FmZV9sb2NhbF9pdGVyYXRvciYgX194LAorCQkJICAgX1Vuc2FmZV9jYWxsKSBub2V4 Y2VwdAorICAgICAgOiBfSXRlcl9iYXNlKF9feC5iYXNlKCkpCisgICAgICB7IF9NX2F0dGFj aChfX3guX01fc2VxdWVuY2UpOyB9CisKICAgICBwdWJsaWM6CiAgICAgICB0eXBlZGVmIF9J dGVyYXRvcgkJCQkJaXRlcmF0b3JfdHlwZTsKICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgX1Ry YWl0czo6aXRlcmF0b3JfY2F0ZWdvcnkJaXRlcmF0b3JfY2F0ZWdvcnk7CkBAIC0xMDQsMTEg KzExMSw3IEBAIG5hbWVzcGFjZSBfX2dudV9kZWJ1ZwogICAgICAgICovCiAgICAgICBfU2Fm ZV9sb2NhbF9pdGVyYXRvcihfSXRlcmF0b3IgX19pLCBjb25zdCBfU2FmZV9zZXF1ZW5jZV9i YXNlKiBfX2NvbnQpCiAgICAgICA6IF9JdGVyX2Jhc2UoX19pKSwgX1NhZmVfYmFzZShfX2Nv bnQsIF9TX2NvbnN0YW50KCkpCi0gICAgICB7Ci0JX0dMSUJDWFhfREVCVUdfVkVSSUZZKCF0 aGlzLT5fTV9zaW5ndWxhcigpLAotCQkJICAgICAgX01fbWVzc2FnZShfX21zZ19pbml0X3Np bmd1bGFyKQotCQkJICAgICAgLl9NX2l0ZXJhdG9yKCp0aGlzLCAidGhpcyIpKTsKLSAgICAg IH0KKyAgICAgIHsgfQogCiAgICAgICAvKioKICAgICAgICAqIEBicmllZiBDb3B5IGNvbnN0 cnVjdGlvbi4KQEAgLTI4Miw3ICsyODUsNyBAQCBuYW1lc3BhY2UgX19nbnVfZGVidWcKIAlf R0xJQkNYWF9ERUJVR19WRVJJRlkodGhpcy0+X01faW5jcmVtZW50YWJsZSgpLAogCQkJICAg ICAgX01fbWVzc2FnZShfX21zZ19iYWRfaW5jKQogCQkJICAgICAgLl9NX2l0ZXJhdG9yKCp0 aGlzLCAidGhpcyIpKTsKLQlfU2FmZV9sb2NhbF9pdGVyYXRvciBfX3JldCA9ICp0aGlzOwor CV9TYWZlX2xvY2FsX2l0ZXJhdG9yIF9fcmV0KCp0aGlzLCBfVW5zYWZlX2NhbGx7fSk7CiAJ KysqdGhpczsKIAlyZXR1cm4gX19yZXQ7CiAgICAgICB9CmRpZmYgLS1naXQgYS9saWJzdGRj KystdjMvc3JjL2MrKzExL2RlYnVnLmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9kZWJ1 Zy5jYwppbmRleCBkNGVlNWZhMTJkYy4uOTI2ZThiZTYxMjIgMTAwNjQ0Ci0tLSBhL2xpYnN0 ZGMrKy12My9zcmMvYysrMTEvZGVidWcuY2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKysx MS9kZWJ1Zy5jYwpAQCAtMTgxLDg2ICsxODEsMTM5IEBAIG5hbWVzcGFjZSBfX2dudV9kZWJ1 ZwogICBjb25zdCBjaGFyKiBjb25zdCBfU19kZWJ1Z19tZXNzYWdlc1tdID0KICAgewogICAg IC8vIEdlbmVyYWwgQ2hlY2tzCisgICAgLy8gX19tc2dfdmFsaWRfcmFuZ2UKICAgICAiZnVu Y3Rpb24gcmVxdWlyZXMgYSB2YWxpZCBpdGVyYXRvciByYW5nZSBbJTEubmFtZTssICUyLm5h bWU7KSIsCisgICAgLy8gX19tc2dfaW5zZXJ0X3Npbmd1bGFyCiAgICAgImF0dGVtcHQgdG8g aW5zZXJ0IGludG8gY29udGFpbmVyIHdpdGggYSBzaW5ndWxhciBpdGVyYXRvciIsCisgICAg Ly8gX19tc2dfaW5zZXJ0X2RpZmZlcmVudAogICAgICJhdHRlbXB0IHRvIGluc2VydCBpbnRv IGNvbnRhaW5lciB3aXRoIGFuIGl0ZXJhdG9yIgogICAgICIgZnJvbSBhIGRpZmZlcmVudCBj b250YWluZXIiLAorICAgIC8vIF9fbXNnX2VyYXNlX2JhZAogICAgICJhdHRlbXB0IHRvIGVy YXNlIGZyb20gY29udGFpbmVyIHdpdGggYSAlMi5zdGF0ZTsgaXRlcmF0b3IiLAorICAgIC8v IF9fbXNnX2VyYXNlX2RpZmZlcmVudAogICAgICJhdHRlbXB0IHRvIGVyYXNlIGZyb20gY29u dGFpbmVyIHdpdGggYW4gaXRlcmF0b3IiCiAgICAgIiBmcm9tIGEgZGlmZmVyZW50IGNvbnRh aW5lciIsCisgICAgLy8gX19tc2dfc3Vic2NyaXB0X29vYgogICAgICJhdHRlbXB0IHRvIHN1 YnNjcmlwdCBjb250YWluZXIgd2l0aCBvdXQtb2YtYm91bmRzIGluZGV4ICUyOywiCiAgICAg IiBidXQgY29udGFpbmVyIG9ubHkgaG9sZHMgJTM7IGVsZW1lbnRzIiwKKyAgICAvLyBfX21z Z19lbXB0eQogICAgICJhdHRlbXB0IHRvIGFjY2VzcyBhbiBlbGVtZW50IGluIGFuIGVtcHR5 IGNvbnRhaW5lciIsCisgICAgLy8gX19tc2dfdW5wYXJ0aXRpb25lZAogICAgICJlbGVtZW50 cyBpbiBpdGVyYXRvciByYW5nZSBbJTEubmFtZTssICUyLm5hbWU7KSIKICAgICAiIGFyZSBu b3QgcGFydGl0aW9uZWQgYnkgdGhlIHZhbHVlICUzOyIsCisgICAgLy8gX19tc2dfdW5wYXJ0 aXRpb25lZF9wcmVkCiAgICAgImVsZW1lbnRzIGluIGl0ZXJhdG9yIHJhbmdlIFslMS5uYW1l OywgJTIubmFtZTspIgogICAgICIgYXJlIG5vdCBwYXJ0aXRpb25lZCBieSB0aGUgcHJlZGlj YXRlICUzOyBhbmQgdmFsdWUgJTQ7IiwKKyAgICAvLyBfX21zZ191bnNvcnRlZAogICAgICJl bGVtZW50cyBpbiBpdGVyYXRvciByYW5nZSBbJTEubmFtZTssICUyLm5hbWU7KSBhcmUgbm90 IHNvcnRlZCIsCisgICAgLy8gX19tc2dfdW5zb3J0ZWRfcHJlZAogICAgICJlbGVtZW50cyBp biBpdGVyYXRvciByYW5nZSBbJTEubmFtZTssICUyLm5hbWU7KSIKICAgICAiIGFyZSBub3Qg c29ydGVkIGFjY29yZGluZyB0byB0aGUgcHJlZGljYXRlICUzOyIsCisgICAgLy8gX19tc2df bm90X2hlYXAKICAgICAiZWxlbWVudHMgaW4gaXRlcmF0b3IgcmFuZ2UgWyUxLm5hbWU7LCAl Mi5uYW1lOykgZG8gbm90IGZvcm0gYSBoZWFwIiwKKyAgICAvLyBfX21zZ19ub3RfaGVhcF9w cmVkCiAgICAgImVsZW1lbnRzIGluIGl0ZXJhdG9yIHJhbmdlIFslMS5uYW1lOywgJTIubmFt ZTspIgogICAgICIgZG8gbm90IGZvcm0gYSBoZWFwIHdpdGggcmVzcGVjdCB0byB0aGUgcHJl ZGljYXRlICUzOyIsCiAgICAgLy8gc3RkOjpiaXRzZXQgY2hlY2tzCisgICAgLy8gX19tc2df YmFkX2JpdHNldF93cml0ZQogICAgICJhdHRlbXB0IHRvIHdyaXRlIHRocm91Z2ggYSBzaW5n dWxhciBiaXRzZXQgcmVmZXJlbmNlIiwKKyAgICAvLyBfX21zZ19iYWRfYml0c2V0X3JlYWQK ICAgICAiYXR0ZW1wdCB0byByZWFkIGZyb20gYSBzaW5ndWxhciBiaXRzZXQgcmVmZXJlbmNl IiwKKyAgICAvLyBfX21zZ19iYWRfYml0c2V0X2ZsaXAKICAgICAiYXR0ZW1wdCB0byBmbGlw IGEgc2luZ3VsYXIgYml0c2V0IHJlZmVyZW5jZSIsCiAgICAgLy8gc3RkOjpsaXN0IGNoZWNr cworICAgIC8vIF9fbXNnX3NlbGZfc3BsaWNlCiAgICAgImF0dGVtcHQgdG8gc3BsaWNlIGEg bGlzdCBpbnRvIGl0c2VsZiIsCisgICAgLy8gX19tc2dfc3BsaWNlX2FsbG9jCiAgICAgImF0 dGVtcHQgdG8gc3BsaWNlIGxpc3RzIHdpdGggdW5lcXVhbCBhbGxvY2F0b3JzIiwKKyAgICAv LyBfX21zZ19zcGxpY2VfYmFkCiAgICAgImF0dGVtcHQgdG8gc3BsaWNlIGVsZW1lbnRzIHJl ZmVyZW5jZWQgYnkgYSAlMS5zdGF0ZTsgaXRlcmF0b3IiLAorICAgIC8vIF9fbXNnX3NwbGlj ZV9vdGhlcgogICAgICJhdHRlbXB0IHRvIHNwbGljZSBhbiBpdGVyYXRvciBmcm9tIGEgZGlm ZmVyZW50IGNvbnRhaW5lciIsCisgICAgLy8gX19tc2dfc3BsaWNlX292ZXJsYXAKICAgICAi c3BsaWNlIGRlc3RpbmF0aW9uICUxLm5hbWU7IgogICAgICIgb2NjdXJzIHdpdGhpbiBzb3Vy Y2UgcmFuZ2UgWyUyLm5hbWU7LCAlMy5uYW1lOykiLAogICAgIC8vIGl0ZXJhdG9yIGNoZWNr cworICAgIC8vIF9fbXNnX2luaXRfc2luZ3VsYXIKICAgICAiYXR0ZW1wdCB0byBpbml0aWFs aXplIGFuIGl0ZXJhdG9yIHRoYXQgd2lsbCBpbW1lZGlhdGVseSBiZWNvbWUgc2luZ3VsYXIi LAorICAgIC8vIF9fbXNnX2luaXRfY29weV9zaW5ndWxhcgogICAgICJhdHRlbXB0IHRvIGNv cHktY29uc3RydWN0IGFuIGl0ZXJhdG9yIGZyb20gYSBzaW5ndWxhciBpdGVyYXRvciIsCisg ICAgLy8gX19tc2dfaW5pdF9jb25zdF9zaW5ndWxhcgogICAgICJhdHRlbXB0IHRvIGNvbnN0 cnVjdCBhIGNvbnN0YW50IGl0ZXJhdG9yIgogICAgICIgZnJvbSBhIHNpbmd1bGFyIG11dGFi bGUgaXRlcmF0b3IiLAorICAgIC8vIF9fbXNnX2NvcHlfc2luZ3VsYXIKICAgICAiYXR0ZW1w dCB0byBjb3B5IGZyb20gYSBzaW5ndWxhciBpdGVyYXRvciIsCisgICAgLy8gX19tc2dfYmFk X2RlcmVmCiAgICAgImF0dGVtcHQgdG8gZGVyZWZlcmVuY2UgYSAlMS5zdGF0ZTsgaXRlcmF0 b3IiLAorICAgIC8vIF9fbXNnX2JhZF9pbmMKICAgICAiYXR0ZW1wdCB0byBpbmNyZW1lbnQg YSAlMS5zdGF0ZTsgaXRlcmF0b3IiLAorICAgIC8vIF9fbXNnX2JhZF9kZWMKICAgICAiYXR0 ZW1wdCB0byBkZWNyZW1lbnQgYSAlMS5zdGF0ZTsgaXRlcmF0b3IiLAorICAgIC8vIF9fbXNn X2l0ZXJfc3Vic2NyaXB0X29vYgogICAgICJhdHRlbXB0IHRvIHN1YnNjcmlwdCBhICUxLnN0 YXRlOyBpdGVyYXRvciAlMjsgc3RlcCBmcm9tIgogICAgICIgaXRzIGN1cnJlbnQgcG9zaXRp b24sIHdoaWNoIGZhbGxzIG91dHNpZGUgaXRzIGRlcmVmZXJlbmNlYWJsZSByYW5nZSIsCisg ICAgLy8gX19tc2dfYWR2YW5jZV9vb2IKICAgICAiYXR0ZW1wdCB0byBhZHZhbmNlIGEgJTEu c3RhdGU7IGl0ZXJhdG9yICUyOyBzdGVwcywiCiAgICAgIiB3aGljaCBmYWxscyBvdXRzaWRl IGl0cyB2YWxpZCByYW5nZSIsCisgICAgLy8gX19tc2dfcmV0cmVhdF9vb2IKICAgICAiYXR0 ZW1wdCB0byByZXRyZWF0IGEgJTEuc3RhdGU7IGl0ZXJhdG9yICUyOyBzdGVwcywiCiAgICAg IiB3aGljaCBmYWxscyBvdXRzaWRlIGl0cyB2YWxpZCByYW5nZSIsCisgICAgLy8gX19tc2df aXRlcl9jb21wYXJlX2JhZAogICAgICJhdHRlbXB0IHRvIGNvbXBhcmUgYSAlMS5zdGF0ZTsg aXRlcmF0b3IgdG8gYSAlMi5zdGF0ZTsgaXRlcmF0b3IiLAorICAgIC8vIF9fbXNnX2NvbXBh cmVfZGlmZmVyZW50CiAgICAgImF0dGVtcHQgdG8gY29tcGFyZSBpdGVyYXRvcnMgZnJvbSBk aWZmZXJlbnQgc2VxdWVuY2VzIiwKKyAgICAvLyBfX21zZ19pdGVyX29yZGVyX2JhZAogICAg ICJhdHRlbXB0IHRvIG9yZGVyIGEgJTEuc3RhdGU7IGl0ZXJhdG9yIHRvIGEgJTIuc3RhdGU7 IGl0ZXJhdG9yIiwKKyAgICAvLyBfX21zZ19vcmRlcl9kaWZmZXJlbnQKICAgICAiYXR0ZW1w dCB0byBvcmRlciBpdGVyYXRvcnMgZnJvbSBkaWZmZXJlbnQgc2VxdWVuY2VzIiwKKyAgICAv LyBfX21zZ19kaXN0YW5jZV9iYWQKICAgICAiYXR0ZW1wdCB0byBjb21wdXRlIHRoZSBkaWZm ZXJlbmNlIGJldHdlZW4gYSAlMS5zdGF0ZTsiCiAgICAgIiBpdGVyYXRvciB0byBhICUyLnN0 YXRlOyBpdGVyYXRvciIsCisgICAgLy8gX19tc2dfZGlzdGFuY2VfZGlmZmVyZW50CiAgICAg ImF0dGVtcHQgdG8gY29tcHV0ZSB0aGUgZGlmZmVyZW50IGJldHdlZW4gdHdvIGl0ZXJhdG9y cyIKICAgICAiIGZyb20gZGlmZmVyZW50IHNlcXVlbmNlcyIsCiAgICAgLy8gaXN0cmVhbV9p dGVyYXRvcgorICAgIC8vIF9fbXNnX2RlcmVmX2lzdHJlYW0KICAgICAiYXR0ZW1wdCB0byBk ZXJlZmVyZW5jZSBhbiBlbmQtb2Ytc3RyZWFtIGlzdHJlYW1faXRlcmF0b3IiLAorICAgIC8v IF9fbXNnX2luY19pc3RyZWFtCiAgICAgImF0dGVtcHQgdG8gaW5jcmVtZW50IGFuIGVuZC1v Zi1zdHJlYW0gaXN0cmVhbV9pdGVyYXRvciIsCiAgICAgLy8gb3N0cmVhbV9pdGVyYXRvcgor ICAgIC8vIF9fbXNnX291dHB1dF9vc3RyZWFtCiAgICAgImF0dGVtcHQgdG8gb3V0cHV0IHZp YSBhbiBvc3RyZWFtX2l0ZXJhdG9yIHdpdGggbm8gYXNzb2NpYXRlZCBzdHJlYW0iLAogICAg IC8vIGlzdHJlYW1idWZfaXRlcmF0b3IKKyAgICAvLyBfX21zZ19kZXJlZl9pc3RyZWFtYnVm CiAgICAgImF0dGVtcHQgdG8gZGVyZWZlcmVuY2UgYW4gZW5kLW9mLXN0cmVhbSBpc3RyZWFt YnVmX2l0ZXJhdG9yIgogICAgICIgKHRoaXMgaXMgYSBHTlUgZXh0ZW5zaW9uKSIsCisgICAg Ly8gX19tc2dfaW5jX2lzdHJlYW1idWYKICAgICAiYXR0ZW1wdCB0byBpbmNyZW1lbnQgYW4g ZW5kLW9mLXN0cmVhbSBpc3RyZWFtYnVmX2l0ZXJhdG9yIiwKICAgICAvLyBzdGQ6OmZvcndh cmRfbGlzdAorICAgIC8vIF9fbXNnX2luc2VydF9hZnRlcl9lbmQKICAgICAiYXR0ZW1wdCB0 byBpbnNlcnQgaW50byBjb250YWluZXIgYWZ0ZXIgYW4gZW5kIGl0ZXJhdG9yIiwKKyAgICAv LyBfX21zZ19lcmFzZV9hZnRlcl9iYWQKICAgICAiYXR0ZW1wdCB0byBlcmFzZSBmcm9tIGNv bnRhaW5lciBhZnRlciBhICUyLnN0YXRlOyBpdGVyYXRvciBub3QgZm9sbG93ZWQiCiAgICAg IiBieSBhIGRlcmVmZXJlbmNlYWJsZSBvbmUiLAorICAgIC8vIF9fbXNnX3ZhbGlkX3Jhbmdl MgogICAgICJmdW5jdGlvbiByZXF1aXJlcyBhIHZhbGlkIGl0ZXJhdG9yIHJhbmdlICglMi5u YW1lOywgJTMubmFtZTspIgogICAgICIsIFwiJTIubmFtZTtcIiBzaGFsbCBiZSBiZWZvcmUg YW5kIG5vdCBlcXVhbCB0byBcIiUzLm5hbWU7XCIiLAogICAgIC8vIHN0ZDo6dW5vcmRlcmVk X2NvbnRhaW5lcjo6bG9jYWxfaXRlcmF0b3IKKyAgICAvLyBfX21zZ19sb2NhbF9pdGVyX2Nv bXBhcmVfYmFkCiAgICAgImF0dGVtcHQgdG8gY29tcGFyZSBsb2NhbCBpdGVyYXRvcnMgZnJv bSBkaWZmZXJlbnQgdW5vcmRlcmVkIGNvbnRhaW5lciIKICAgICAiIGJ1Y2tldHMiLAorICAg IC8vIF9fbXNnX25vbl9lbXB0eV9yYW5nZQogICAgICJmdW5jdGlvbiByZXF1aXJlcyBhIG5v bi1lbXB0eSBpdGVyYXRvciByYW5nZSBbJTEubmFtZTssICUyLm5hbWU7KSIsCisgICAgLy8g X19tc2dfc2VsZl9tb3ZlX2Fzc2lnbgogICAgICJhdHRlbXB0IHRvIHNlbGYgbW92ZSBhc3Np Z24iLAorICAgIC8vIF9fbXNnX2J1Y2tldF9pbmRleF9vb2IKICAgICAiYXR0ZW1wdCB0byBh Y2Nlc3MgY29udGFpbmVyIHdpdGggb3V0LW9mLWJvdW5kcyBidWNrZXQgaW5kZXggJTI7LCIK ICAgICAiIGNvbnRhaW5lciBvbmx5IGhvbGRzICUzOyBidWNrZXRzIiwKKyAgICAvLyBfX21z Z192YWxpZF9sb2FkX2ZhY3RvcgogICAgICJsb2FkIGZhY3RvciBzaGFsbCBiZSBwb3NpdGl2 ZSIsCisgICAgLy8gX19tc2dfZXF1YWxfYWxsb2NzCiAgICAgImFsbG9jYXRvcnMgbXVzdCBi ZSBlcXVhbCIsCisgICAgLy8gX19tc2dfaW5zZXJ0X3JhbmdlX2Zyb21fc2VsZgogICAgICJh dHRlbXB0IHRvIGluc2VydCB3aXRoIGFuIGl0ZXJhdG9yIHJhbmdlIFslMS5uYW1lOywgJTIu bmFtZTspIGZyb20gdGhpcyIKICAgICAiIGNvbnRhaW5lciIsCisgICAgLy8gX19tc2dfaXJy ZWZsZXhpdmVfb3JkZXJpbmcKICAgICAiY29tcGFyaXNvbiBkb2Vzbid0IG1lZXQgaXJyZWZs ZXhpdmUgcmVxdWlyZW1lbnRzLCBhc3NlcnQoIShhIDwgYSkpIgogICB9OwogCg== --------------lTfkKrVQ0FXyzUiXXIf40FMo--