From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.devel Subject: Re: master 888ff3755d4 1/3: New function internal--c-header-file-path Date: Mon, 6 Jan 2025 15:44:34 -0600 Message-ID: References: <864j2b660v.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000e0ae8e062b108872" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23257"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Jan 06 22:45:31 2025 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1tUuug-0005rc-GM for ged-emacs-devel@m.gmane-mx.org; Mon, 06 Jan 2025 22:45:30 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tUutu-0006tq-EG; Mon, 06 Jan 2025 16:44:43 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tUuts-0006tS-O4 for emacs-devel@gnu.org; Mon, 06 Jan 2025 16:44:40 -0500 Original-Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tUutq-0005CY-NH; Mon, 06 Jan 2025 16:44:40 -0500 Original-Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-5d3f57582a2so28135134a12.1; Mon, 06 Jan 2025 13:44:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736199876; x=1736804676; darn=gnu.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=3R0542992HDh9RuDpRncFsLLof7iE79VrzPaS80xJWE=; b=Nh3EhwQl7/DcoZeWK881XDYnIxDki+cGnyimz4cPz9W7SEFve7U/jb0/EOPcwuTZrO DmDJv+xSGao53GC3UVluFcC7XJ+2gSvpIcXVRk4oXFlsqicy/GdcZmUF8wzj8W5qACWo 5dU77mJ9S1BIwU3CrA0HmxoyKXgxwcDGChfC67Jx6BFOtmO8Bwq/5rIUbsukdVWzrxoi +HebTjdAyZxny72OMtrbxP/1Kxa6XDRiWGYLAmiwYsMlDIuxhpSFO9BJHD7oXq/21qri 2vHhvQIeAxGdqQEfkBKeCP15mh5tO4iyzndHWOaOvIITJ/GBSJsqtSzbZrGQgN5wgbfH HIKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736199876; x=1736804676; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=3R0542992HDh9RuDpRncFsLLof7iE79VrzPaS80xJWE=; b=iK2hhNFWaq4gyb9pnirCYuRTD7ggeeyi/9N/WveYIY1rqbN483gIgebeInX6Rtt38C 5CnyipBa5kRTsFVIE3jn0gXqKXXCxv0WuNoPCQlz0qkxLAQMkz+8B1Tk+zqApfv9Yrfz eQjmOCrrNO5z5s2G9VnkMFarK8hgGylNvelJ0Lma8l7vRFhI4nK6JgJp/9LSn3cNNNTh K/3wYxsG5vbIi9/YtWPxntjd5HBqgllj8X56at9DoBgyAdkOVPGopouFz53VixE/l+zp mG+m1aup9DN3jAEFLq0svOC1wipNBct6vRCrMWs9oJC1wnAF9UaKCls7vP2VfsvQoPpL /0rg== X-Gm-Message-State: AOJu0YyCfpeRl3Vb4QCKboumYc4zsv0dzOYwyNFRg6fsaT/EsDOxtiHW 2jM2TLiCaQ3sffDhBQzd05dfVmxsuSv/u2e0GeCyyMBMBBjB5sqHmh0NTlxhSN4CeyTO8BbD8Gz 0cY3io2to67nMMqyH4GicG5OzcouinDxQ X-Gm-Gg: ASbGnct2yPdGv2QNz3DZ2O0VVhiuQ90FblBY1SBfGVqMMs+4Q45/MoF9XnwM9ujUoTN ZQXes+kkF5qk/1QB8X+2UM3aYSVlDYrwoHToHyFPs X-Google-Smtp-Source: AGHT+IGzrr6Y3+tOBBe8Fi8Y6IMOQiHMYlL+4vn06QlDj3w2G7IdCGbt9A964ei+0YLnmfgEKhVYSbCxdNSy/lmBR8M= X-Received: by 2002:a17:906:f594:b0:aa6:9540:570f with SMTP id a640c23a62f3a-ab29109c1b1mr61586666b.18.1736199876144; Mon, 06 Jan 2025 13:44:36 -0800 (PST) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Mon, 6 Jan 2025 15:44:34 -0600 In-Reply-To: <864j2b660v.fsf@gnu.org> X-Gm-Features: AbW1kvZ_QJeMFJe-C8iMN4TE3I9wTYhrfPhgGmfrn4sBL1vkKbyEjMqgV6ELg-E Received-SPF: pass client-ip=2a00:1450:4864:20::52b; envelope-from=stefankangas@gmail.com; helo=mail-ed1-x52b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:327752 Archived-At: --000000000000e0ae8e062b108872 Content-Type: text/plain; charset="UTF-8" Eli Zaretskii writes: > Stefan, > > Thanks for adding this function. However, the method it uses to find > the include directories is incorrect and unportable. On most systems > it will produce the default "/usr/include", which is most probably > wrong. > > The way to ask GCC to show the list of directories where it looks for > header files is like this: > > (call-process "gcc" nil BUFFER nil "-v" "-E" "-") > > and then look in BUFFER for text that begins with "#include <...> > search starts here:" and ends with "End of search list." What's > in-between is the list of include directories, one directory per line, > which GCC searches for header file, in the order it searches them. Thanks for helping improve this. How about the attached patch? --000000000000e0ae8e062b108872 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Make-internal-c-header-file-path-more-portable.patch" Content-Disposition: attachment; filename="0001-Make-internal-c-header-file-path-more-portable.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 23d536bff621ae9e_0.1 RnJvbSBjOGFhYzY1MzFmYmYyMjhkMDA0YjE1NDk4ZmQwNzU4ZTA4MGM3ODRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5rYW5nYXNAZ21haWwuY29t PgpEYXRlOiBNb24sIDYgSmFuIDIwMjUgMjI6Mzc6NTEgKzAxMDAKU3ViamVjdDogW1BBVENIXSBN YWtlIGludGVybmFsLS1jLWhlYWRlci1maWxlLXBhdGggbW9yZSBwb3J0YWJsZQoKKiBsaXNwL3N1 YnIuZWwgKGludGVybmFsLS1jLWhlYWRlci1maWxlLXBhdGgpOiBNYWtlIG1vcmUgcG9ydGFibGUu ClByb2JsZW0gcmVwb3J0ZWQgYnkgRWxpIFphcmV0c2tpaSA8ZWxpekBnbnUub3JnPi4KKiB0ZXN0 L2xpc3Avc3Vici10ZXN0cy5lbAooc3Vici10ZXN0cy1pbnRlcm5hbC0tYy1oZWFkZXItZmlsZS1w YXRoKQooc3Vici10ZXN0cy1pbnRlcm5hbC0tYy1oZWFkZXItZmlsZS1wYXRoL2djYy1tb2NrZWQp CihzdWJyLXRlc3RzLWludGVybmFsLS1jLWhlYWRlci1maWxlLXBhdGgvY2xhbmctbW9ja2VkKTog QWRqdXN0IHRlc3RzLgotLS0KIGxpc3Avc3Vici5lbCAgICAgICAgICAgIHwgNTcgKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB0ZXN0L2xpc3Avc3Vici10ZXN0cy5lbCB8 IDYwICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNo YW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDU4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xp c3Avc3Vici5lbCBiL2xpc3Avc3Vici5lbAppbmRleCA1YmU4ZDhmNTJkNC4uZTBmNTU0MmEwMTEg MTAwNjQ0Ci0tLSBhL2xpc3Avc3Vici5lbAorKysgYi9saXNwL3N1YnIuZWwKQEAgLTc1NzQsNDEg Kzc1NzQsMjYgQEAgaW50ZXJuYWwtLWMtaGVhZGVyLWZpbGUtcGF0aAogICA7OyBTZWUgYWxzbyAo QnVnIzEwNzAyKToKICAgOzsgY2Mtc2VhcmNoLWRpcmVjdG9yaWVzLCBzZW1hbnRpYy1jLWRlcGVu ZGVuY3ktc3lzdGVtLWluY2x1ZGUtcGF0aCwKICAgOzsgc2VtYW50aWMtZ2NjLXNldHVwCi0gIChk ZWxldGUtZHVwcwotICAgKGxldCAoKGJhc2UgJygiL3Vzci9pbmNsdWRlIiAiL3Vzci9sb2NhbC9p bmNsdWRlIikpKQotICAgICAoY29uZCAoKG9yIChpbnRlcm5hbC0tZ2NjLWlzLWNsYW5nLXApCi0g ICAgICAgICAgICAgICAgKGFuZCAoZXhlY3V0YWJsZS1maW5kICJjbGFuZyIpCi0gICAgICAgICAg ICAgICAgICAgICAobm90IChleGVjdXRhYmxlLWZpbmQgImdjYyIpKSkpCi0gICAgICAgICAgICA7 OyBUaGlzIGlzIGVpdGhlciBtYWNPUywgb3IgYSBzeXN0ZW0gd2l0aCBjbGFuZyBvbmx5LgotICAg ICAgICAgICAgKHdpdGgtdGVtcC1idWZmZXIKLSAgICAgICAgICAgICAgKGlnbm9yZS1lcnJvcnMK LSAgICAgICAgICAgICAgICAoY2FsbC1wcm9jZXNzIChpZiAoaW50ZXJuYWwtLWdjYy1pcy1jbGFu Zy1wKSAiZ2NjIiAiY2xhbmciKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsIHQg bmlsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLXYiICItRSIgIi0iKSkKLSAgICAg ICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKLSAgICAgICAgICAgICAgKG5hcnJvdy10 by1yZWdpb24KLSAgICAgICAgICAgICAgIChzYXZlLWV4Y3Vyc2lvbgotICAgICAgICAgICAgICAg ICAocmUtc2VhcmNoLWZvcndhcmQKLSAgICAgICAgICAgICAgICAgICJeI2luY2x1ZGUgPFxcLlxc LlxcLj4gc2VhcmNoIHN0YXJ0cyBoZXJlOlxuIiBuaWwgdCkKLSAgICAgICAgICAgICAgICAgKHBv aW50KSkKLSAgICAgICAgICAgICAgIChzYXZlLWV4Y3Vyc2lvbgotICAgICAgICAgICAgICAgICAo cmUtc2VhcmNoLWZvcndhcmQgIl5FbmQgb2Ygc2VhcmNoIGxpc3QuJCIgbmlsIHQpCi0gICAgICAg ICAgICAgICAgIChwb3MtYm9sKSkpCi0gICAgICAgICAgICAgICh3aGlsZSAoc2VhcmNoLWZvcndh cmQgIihmcmFtZXdvcmsgZGlyZWN0b3J5KSIgbmlsIHQpCi0gICAgICAgICAgICAgICAgKGRlbGV0 ZS1saW5lKSkKLSAgICAgICAgICAgICAgKGFwcGVuZCBiYXNlCi0gICAgICAgICAgICAgICAgICAg ICAgKHJldmVyc2UKLSAgICAgICAgICAgICAgICAgICAgICAgKHNwbGl0LXN0cmluZyAoYnVmZmVy LXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChwb2ludC1taW4pIChwb2ludC1tYXgpKSkpKSkpCi0gICAgICAgICAgIDs7IFByZWZl ciBHQ0MuCi0gICAgICAgICAgICgobGV0ICgoYXJjaCAod2l0aC10ZW1wLWJ1ZmZlcgotICAgICAg ICAgICAgICAgICAgICAgICAgICAod2hlbiAoZXEgMCAoaWdub3JlLWVycm9ycwotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYWxsLXByb2Nlc3MgImdjYyIgbmlsICco dCBuaWwpIG5pbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIi1wcmludC1tdWx0aWFyY2giKSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAo YnVmZmVyLXN1YnN0cmluZyAocG9pbnQpIChsaW5lLWVuZC1wb3NpdGlvbikpKSkpKQotICAgICAg ICAgICAgICAoaWYgKHplcm9wIChsZW5ndGggYXJjaCkpCi0gICAgICAgICAgICAgICAgICBiYXNl Ci0gICAgICAgICAgICAgICAgKGFwcGVuZCBiYXNlIChsaXN0IChleHBhbmQtZmlsZS1uYW1lIGFy Y2ggIi91c3IvaW5jbHVkZSIpKSkpKSkpKSkpCisgIChpZiAob3IgKGV4ZWN1dGFibGUtZmluZCAi Z2NjIikKKyAgICAgICAgICAoZXhlY3V0YWJsZS1maW5kICJjbGFuZyIpKQorICAgICAgKHdpdGgt dGVtcC1idWZmZXIKKyAgICAgICAgKGlnbm9yZS1lcnJvcnMKKyAgICAgICAgICAoY2FsbC1wcm9j ZXNzIChpZiAoZXhlY3V0YWJsZS1maW5kICJnY2MiKSAiZ2NjIiAiY2xhbmciKQorICAgICAgICAg ICAgICAgICAgICAgICAgbmlsIHQgbmlsCisgICAgICAgICAgICAgICAgICAgICAgICAiLXYiICIt RSIgIi0iKSkKKyAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgICAgICAgKG5hcnJv dy10by1yZWdpb24KKyAgICAgICAgIChzYXZlLWV4Y3Vyc2lvbgorICAgICAgICAgICAocmUtc2Vh cmNoLWZvcndhcmQKKyAgICAgICAgICAgICJeI2luY2x1ZGUgPFxcLlxcLlxcLj4gW1s6d29yZDpd IF0rOlxuIiBuaWwgdCkKKyAgICAgICAgICAgKHBvaW50KSkKKyAgICAgICAgIChzYXZlLWV4Y3Vy c2lvbgorICAgICAgICAgICAocmUtc2VhcmNoLWZvcndhcmQgIl5bWzp3b3JkOl0gXStcXC4kIiBu aWwgdCkKKyAgICAgICAgICAgKHBvcy1ib2wpKSkKKyAgICAgICAgKHdoaWxlIChzZWFyY2gtZm9y d2FyZCAiKGZyYW1ld29yayBkaXJlY3RvcnkpIiBuaWwgdCkKKyAgICAgICAgICAoZGVsZXRlLWxp bmUpKQorICAgICAgICAoc3BsaXQtc3RyaW5nIChidWZmZXItc3Vic3RyaW5nLW5vLXByb3BlcnRp ZXMKKyAgICAgICAgICAgICAgICAgICAgICAgKHBvaW50LW1pbikgKHBvaW50LW1heCkpKSkKKyAg ICAnKCIvdXNyL2luY2x1ZGUiICIvdXNyL2luY2x1ZGUvbG9jYWwiKSkpCiAKIDs7OyBzdWJyLmVs IGVuZHMgaGVyZQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL3N1YnItdGVzdHMuZWwgYi90ZXN0L2xp c3Avc3Vici10ZXN0cy5lbAppbmRleCA1YjE3YzU5OGVmYS4uNGY1NjY2OThhMDggMTAwNjQ0Ci0t LSBhL3Rlc3QvbGlzcC9zdWJyLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9zdWJyLXRlc3RzLmVs CkBAIC0xMzg1LDM0ICsxMzg1LDQ5IEBAIHN1YnItLXN1YnN0LWNoYXItaW4tc3RyaW5nCiAKIChl cnQtZGVmdGVzdCBzdWJyLXRlc3RzLWludGVybmFsLS1jLWhlYWRlci1maWxlLXBhdGggKCkKICAg KHNob3VsZCAoc2VxLWV2ZXJ5LXAgIydzdHJpbmdwIChpbnRlcm5hbC0tYy1oZWFkZXItZmlsZS1w YXRoKSkpCi0gIChzaG91bGQgKG1lbWJlciAiL3Vzci9pbmNsdWRlIiAoaW50ZXJuYWwtLWMtaGVh ZGVyLWZpbGUtcGF0aCkpKQotICAoc2hvdWxkIChlcXVhbCAoaW50ZXJuYWwtLWMtaGVhZGVyLWZp bGUtcGF0aCkKLSAgICAgICAgICAgICAgICAgKGRlbGV0ZS1kdXBzIChpbnRlcm5hbC0tYy1oZWFk ZXItZmlsZS1wYXRoKSkpKQogICA7OyBSZXR1cm4gYSBtZWFuaW5nZnVsIHJlc3VsdCBldmVuIGlm IGNhbGxpbmcgc29tZSBjb21waWxlciBmYWlscy4KICAgKGNsLWxldGYgKCgoc3ltYm9sLWZ1bmN0 aW9uICdjYWxsLXByb2Nlc3MpCiAgICAgICAgICAgICAgKGxhbWJkYSAoX3Byb2dyYW0gJm9wdGlv bmFsIF9pbmZpbGUgX2Rlc3RpbmF0aW9uIF9kaXNwbGF5ICZyZXN0IF9hcmdzKSAxKSkpCi0gICAg KHNob3VsZCAoc2VxLWV2ZXJ5LXAgIydzdHJpbmdwIChpbnRlcm5hbC0tYy1oZWFkZXItZmlsZS1w YXRoKSkpCi0gICAgKHNob3VsZCAobWVtYmVyICIvdXNyL2luY2x1ZGUiIChpbnRlcm5hbC0tYy1o ZWFkZXItZmlsZS1wYXRoKSkpCi0gICAgKHNob3VsZCAoZXF1YWwgKGludGVybmFsLS1jLWhlYWRl ci1maWxlLXBhdGgpCi0gICAgICAgICAgICAgICAgICAgKGRlbGV0ZS1kdXBzIChpbnRlcm5hbC0t Yy1oZWFkZXItZmlsZS1wYXRoKSkpKSkpCisgICAgKHNob3VsZCAoc2VxLWV2ZXJ5LXAgIydzdHJp bmdwIChpbnRlcm5hbC0tYy1oZWFkZXItZmlsZS1wYXRoKSkpKSkKIAogKGVydC1kZWZ0ZXN0IHN1 YnItdGVzdHMtaW50ZXJuYWwtLWMtaGVhZGVyLWZpbGUtcGF0aC9nY2MtbW9ja2VkICgpCi0gIDs7 IEhhbmRsZSBlbXB0eSB2YWx1ZXMgb2YgImdjYyAtcHJpbnQtbXVsdGlhcmNoIi4KLSAgKGNsLWxl dGYgKCgoc3ltYm9sLWZ1bmN0aW9uICdjYWxsLXByb2Nlc3MpCi0gICAgICAgICAgICAgKGxhbWJk YSAoX3Byb2dyYW0gJm9wdGlvbmFsIF9pbmZpbGUgX2Rlc3RpbmF0aW9uIF9kaXNwbGF5ICZyZXN0 IGFyZ3MpCi0gICAgICAgICAgICAgICAod2hlbiAoZXF1YWwgKGNhciBhcmdzKSAiLXByaW50LW11 bHRpYXJjaCIpCi0gICAgICAgICAgICAgICAgIChpbnNlcnQgIlxuIikgMCkpKSkKLSAgICAoc2hv dWxkIChtZW1iZXIgIi91c3IvaW5jbHVkZSIgKGludGVybmFsLS1jLWhlYWRlci1maWxlLXBhdGgp KSkpCi0gIDs7IEhhbmRsZSBzaW5nbGUgdmFsdWVzIG9mICJnY2MgLXByaW50LW11bHRpYXJjaCIu Ci0gIChjbC1sZXRmICgoKHN5bWJvbC1mdW5jdGlvbiAnY2FsbC1wcm9jZXNzKQotICAgICAgICAg ICAgIChsYW1iZGEgKF9wcm9ncmFtICZvcHRpb25hbCBfaW5maWxlIF9kZXN0aW5hdGlvbiBfZGlz cGxheSAmcmVzdCBhcmdzKQotICAgICAgICAgICAgICAgKHdoZW4gKGVxdWFsIChjYXIgYXJncykg Ii1wcmludC1tdWx0aWFyY2giKQotICAgICAgICAgICAgICAgICAoaW5zZXJ0ICJ4ODZfNjQtbGlu dXgtZ251XG4iKSAwKSkpKQotICAgIChzaG91bGQgKG1lbWJlciAiL3Vzci9pbmNsdWRlL3g4Nl82 NC1saW51eC1nbnUiIChpbnRlcm5hbC0tYy1oZWFkZXItZmlsZS1wYXRoKSkpKSkKKyAgKGNsLWxl dGYgKCgoc3ltYm9sLWZ1bmN0aW9uICdleGVjdXRhYmxlLWZpbmQpCisgICAgICAgICAgICAgKGxh bWJkYSAoY21kICZvcHRpb25hbCBfcmVtb3RlKQorICAgICAgICAgICAgICAgKHBjYXNlIGNtZAor ICAgICAgICAgICAgICAgICAoImdjYyIgdCkKKyAgICAgICAgICAgICAgICAgKF8gbmlsKSkpKQor ICAgICAgICAgICAgKChzeW1ib2wtZnVuY3Rpb24gJ2NhbGwtcHJvY2VzcykKKyAgICAgICAgICAg ICAobGFtYmRhIChfcHJvZ3JhbSAmb3B0aW9uYWwgX2luZmlsZSBfZGVzdGluYXRpb24gX2Rpc3Bs YXkgJnJlc3QgX2FyZ3MpCisgICAgICAgICAgICAgICAoaW5zZXJ0ICJcCitVc2luZyBidWlsdC1p biBzcGVjcy4KK0NPTExFQ1RfR0NDPWdjYy0xNAorVGFyZ2V0OiBhYXJjaDY0LWFwcGxlLWRhcndp bjI0CitbW1suLi5FbWFjcyB0ZXN0IG9taXRzIHNvbWUgdmVyYm9zZSBqdW5rIGZyb20gdGhlIG91 dHB1dCBoZXJlLi4uXV1dCitnY2MgdmVyc2lvbiAxNC4yLjAgKEhvbWVicmV3IEdDQyAxNC4yLjBf MSkKK1tbWy4uLm1vcmUgdmVyYm9zZSBqdW5rLi4uXV1dCisjaW5jbHVkZSBcIi4uLlwiIHNlYXJj aCBzdGFydHMgaGVyZToKKyNpbmNsdWRlIDwuLi4+IHNlYXJjaCBzdGFydHMgaGVyZToKKyAvb3B0 L2hvbWVicmV3L0NlbGxhci9nY2MvMTQuMi4wXzEvYmluLy4uL2xpYi9nY2MvY3VycmVudC9nY2Mv YWFyY2g2NC1hcHBsZS1kYXJ3aW4yNC8xNC9pbmNsdWRlCisgL29wdC9ob21lYnJldy9DZWxsYXIv Z2NjLzE0LjIuMF8xL2Jpbi8uLi9saWIvZ2NjL2N1cnJlbnQvZ2NjL2FhcmNoNjQtYXBwbGUtZGFy d2luMjQvMTQvaW5jbHVkZS1maXhlZAorIC9MaWJyYXJ5L0RldmVsb3Blci9Db21tYW5kTGluZVRv b2xzL1NES3MvTWFjT1NYMTUuc2RrL3Vzci9pbmNsdWRlCisgL0xpYnJhcnkvRGV2ZWxvcGVyL0Nv bW1hbmRMaW5lVG9vbHMvU0RLcy9NYWNPU1gxNS5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr cworRW5kIG9mIHNlYXJjaCBsaXN0LgorIyAwIFwiPHN0ZGluPlwiCisjIDAgXCI8YnVpbHQtaW4+ XCIKKyMgMCBcIjxjb21tYW5kLWxpbmU+XCIKKyMgMSBcIjxzdGRpbj5cIlxuIikgMCkpKQorICAg IChzaG91bGQgKHNlcS1ldmVyeS1wICMnc3RyaW5ncCAoaW50ZXJuYWwtLWMtaGVhZGVyLWZpbGUt cGF0aCkpKQorICAgIChzaG91bGQgKG1lbWJlciAiL0xpYnJhcnkvRGV2ZWxvcGVyL0NvbW1hbmRM aW5lVG9vbHMvU0RLcy9NYWNPU1gxNS5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3JrcyIKKyAg ICAgICAgICAgICAgICAgICAgKGludGVybmFsLS1jLWhlYWRlci1maWxlLXBhdGgpKSkKKyAgICAo c2hvdWxkICg9IDQgKGxlbmd0aCAoaW50ZXJuYWwtLWMtaGVhZGVyLWZpbGUtcGF0aCkpKSkpKQog CiAoZXJ0LWRlZnRlc3Qgc3Vici10ZXN0cy1pbnRlcm5hbC0tYy1oZWFkZXItZmlsZS1wYXRoL2Ns YW5nLW1vY2tlZCAoKQogICA7OyBIYW5kbGUgY2xhbmcgMTUuMC4wIG91dHB1dCBvbiBtYWNPUyAx NS4yLgotICAoY2wtbGV0ZiAoKChzeW1ib2wtZnVuY3Rpb24gJ2ludGVybmFsLS1nY2MtaXMtY2xh bmctcCkgKGxhbWJkYSAoKSB0KSkKKyAgKGNsLWxldGYgKCgoc3ltYm9sLWZ1bmN0aW9uICdleGVj dXRhYmxlLWZpbmQpCisgICAgICAgICAgICAgKGxhbWJkYSAoY21kICZvcHRpb25hbCBfcmVtb3Rl KQorICAgICAgICAgICAgICAgKHBjYXNlIGNtZAorICAgICAgICAgICAgICAgICAoImNsYW5nIiB0 KQorICAgICAgICAgICAgICAgICAoXyBuaWwpKSkpCiAgICAgICAgICAgICAoKHN5bWJvbC1mdW5j dGlvbiAnY2FsbC1wcm9jZXNzKQogICAgICAgICAgICAgIChsYW1iZGEgKF9wcm9ncmFtICZvcHRp b25hbCBfaW5maWxlIF9kZXN0aW5hdGlvbiBfZGlzcGxheSAmcmVzdCBfYXJncykKICAgICAgICAg ICAgICAgIChpbnNlcnQgIlwKQEAgLTE0MzksOSArMTQ1NCwxMCBAQCBzdWJyLXRlc3RzLWludGVy bmFsLS1jLWhlYWRlci1maWxlLXBhdGgvY2xhbmctbW9ja2VkCiAjIDEgXCI8YnVpbHQtaW4+XCIg MgogIyAxIFwiPHN0ZGluPlwiIDIiKQogICAgICAgICAgICAgICAgMCkpKQotICAgIChzaG91bGQg KG1lbWJlciAiL3Vzci9pbmNsdWRlIiAoaW50ZXJuYWwtLWMtaGVhZGVyLWZpbGUtcGF0aCkpKQor ICAgIChzaG91bGQgKHNlcS1ldmVyeS1wICMnc3RyaW5ncCAoaW50ZXJuYWwtLWMtaGVhZGVyLWZp bGUtcGF0aCkpKQogICAgIChzaG91bGQgKG1lbWJlciAiL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv Q29udGVudHMvRGV2ZWxvcGVyL1Rvb2xjaGFpbnMvWGNvZGVEZWZhdWx0LnhjdG9vbGNoYWluL3Vz ci9saWIvY2xhbmcvMTUuMC4wL2luY2x1ZGUiCi0gICAgICAgICAgICAgICAgICAgIChpbnRlcm5h bC0tYy1oZWFkZXItZmlsZS1wYXRoKSkpKSkKKyAgICAgICAgICAgICAgICAgICAgKGludGVybmFs LS1jLWhlYWRlci1maWxlLXBhdGgpKSkKKyAgICAoc2hvdWxkICg9IDMgKGxlbmd0aCAoaW50ZXJu YWwtLWMtaGVhZGVyLWZpbGUtcGF0aCkpKSkpKQogCiAocHJvdmlkZSAnc3Vici10ZXN0cykKIDs7 OyBzdWJyLXRlc3RzLmVsIGVuZHMgaGVyZQotLSAKMi40Ny4xCgo= --000000000000e0ae8e062b108872--