From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by sourceware.org (Postfix) with ESMTPS id 54EE33858404; Sun, 10 Mar 2024 21:31:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 54EE33858404 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmx.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 54EE33858404 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=212.227.15.15 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710106298; cv=none; b=NUVOCX3S6i0FT+XKFiddrSQUh+YpwcLCSN+pElXz09cGQvp1JvW764vtEMjq4kojwv1PZNGjrP1pbglUAOiSedUuQxrB5Wn6mYr49kvD6LEzZtpKx9ry5KLW1E3iwjJ//jFpt0x49Crq3G+YJUUOJObWdbraiDQJL781dMPufy8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710106298; c=relaxed/simple; bh=Yq6UrWL8WbS0XriFo/G9qzPmSn7He1nvjmHklGtNObA=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=wP2G90VPEkqjE07ScPC/viXEu5aLd3PYsLvxCaNJfJMH8VoH4CXVz+6LVmyngaguSP1qYvsgb8Qbk37ZMN0DoEV9k8xfpKkhItvSv4UfJ3U6cl4Xdel2Z7j2YxCz4pK/HFQKtGRoYuXsg49jHGav1bSw9mjykr3PKK/8QYnyThs= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1710106287; x=1710711087; i=anlauf@gmx.de; bh=Yq6UrWL8WbS0XriFo/G9qzPmSn7He1nvjmHklGtNObA=; h=X-UI-Sender-Class:Date:Subject:To:Cc:References:From: In-Reply-To; b=hjG5o2CRu0p3t3bsffqzjjPm2IKrRy2I+E5dTSSitp4an6AqGWeMo93e7cMBXgiP kVjsdTSm8mLGKT3ZF2+piq9ObY05BhedHAKBFESBpRmzH9YDgJZXXo5IphzAjQzE0 h5E/S5mbKcytWBsTWRtbyVabg/ORWC15so+p1WomNJAm84m1DQGd+RbRazo0d0uIg eKJipxlD541uxBtXajNLkE3awEKmPkKHZlPrJg6IUgE463RSPVw8dwLkNdpOW1e4s c+y13BkBd91oG8GW5YdrlhJjDbS4yr2nZmpOIZYyWan6BkoD7km0qxtaTSvZzbdZ9 /uTnwLoYRqXwLzpWbQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.178.29] ([79.251.5.201]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MiaY9-1rDPGi2X0Z-00fgh4; Sun, 10 Mar 2024 22:31:27 +0100 Content-Type: multipart/mixed; boundary="------------WhXMC04oCGMH19UVVdo07xZm" Message-ID: Date: Sun, 10 Mar 2024 22:31:25 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH, v2] Fortran: use name of array component in runtime error message [PR30802] To: Mikael Morin , sgk@troutmask.apl.washington.edu Cc: fortran , gcc-patches Newsgroups: gmane.comp.gcc.patches,gmane.comp.gcc.fortran References: <67c77b44-79cb-4029-b59a-c92dfad15fa9@orange.fr> <86888cc5-3650-4044-b67d-89aab1631753@gmx.de> <70fc4304-74b4-4d8c-8172-9c3286bc9ada@gmx.de> <50f2a7c0-55af-4079-9f6f-41dc6497c234@orange.fr> <04f84bdb-4589-444a-93af-9e252908da93@orange.fr> Content-Language: en-US From: Harald Anlauf In-Reply-To: <04f84bdb-4589-444a-93af-9e252908da93@orange.fr> X-Provags-ID: V03:K1:vzsU0jo5EgZ1IGksWysxQuV6xippQYveEGLBK5Cc/fn+BDrbgc7 xdtW0HMye9Hurre7wIO/ryiHLDt2MHWM/E0VRt1lNMP9CYaQeWp/gcrp2jhk9Cvp0kRPbJ1 jKmPeiAVQ3Bpzyp+WDKd23i3yler6vY/OhQ9Ft1wcefXdYezGBIgtN5mxbczrEdqelQukdR s2DHtD9ypT5HtFADJm44w== UI-OutboundReport: notjunk:1;M01:P0:GGj6zOeG2xs=;YS3Er/ed80h3ICIlU17EuIgesuW ZoOQycHiGGpHBHOlArWeB8N7b2myCmT8WxXIRnd6wo1wClt0fcY9mZMm5I3kMFKzfsyPRVrfL vcFXRgNJqOfw9iNQLINUyowJwtsFkcESTX6cdWeCbLnLIpjKBkc6gL/+Sw0bFcXj8TKRdF9tO 7D3h6JLabgD4hdnfCf6vPV7E/5cv5dtZLs+3WkZpDPDyFDqu+vOfkVFuRIHM8Q/PZ+4fDi4JG gMSZ39orZ8S0vvQoYc1/2f+v7H9puuML9Kq/xT02u1We+19R6q+9Z9DJ7AQNy5lJ1btvDTWS8 ArYGR9QwIJUD3cuuYl8qVbKxCrEFAHsg6Cr+uLnGc9jrSn7/z1JdgAdrUP9y0Mkh6+dMuGFtr wUJ6gNzIuI1fKHKZPOZMdxeEdiGHNqZw6MFJHJh8MVlfv/5fNBfEsOv1k2p1+bD7xa9/NOJHN YKK5qMF8KGuvfZ0wainPyL4BoyRsBS9RSE07BgbmGIyuM+DB/QCMRPR5gHyUxhVhNDEERQUrY jw7TA+8Kx0PRCUwAdB2IMEyYVdc4CBavL4DPeeZ9BL3Yigie74bTo9wBUI8i9wRm4jD0GmO6R kN14/Oxnreb0RX/0GayjCtR0qy6uqcVxEt6kzUdSjKKhUdpKV+++AXi96hSM2oD228iZZKkPk HBnwYX1b3yqRqgGY49GxlHZPvl6ptu1KsPNFY+y6HvL3YZy4aBn0W76Wboea7xX/eUWu3ojpM 28NHOXnxpMlOjxQl9UqJemRKYWJulJFTjPcaEcFqGqHzeNm4b7cscfHChZ7Ti/bz8iz2v5erp hZv3TT3wj67nw7GdRHT5TRilOL1JZfNb5mzLJl6P0KF4k= X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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. --------------WhXMC04oCGMH19UVVdo07xZm Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Dear all, after playing for some time with NAG and Intel, and an off-list discussion with Jerry, I am getting more and more convinced that simpler runtime error messages (also simpler to parse by a human) are superior to awkward solutions. This is also what Intel does: use only the name of the array (component) in the message whose indices are out of bounds. (NAG's solution appears also inconsistent for nested derived types.) So no x%z, or x%_data, etc. in runtime error messages any more. Please give it a spin... Regtested on x86_64-pc-linux-gnu. OK for mainline? Thanks, Harald On 1/30/24 11:46, Mikael Morin wrote: > Le 30/01/2024 =C3=A0 11:38, Mikael Morin a =C3=A9crit=C2=A0: >> >> Another (easier) way to clarify the data reference would be rephrasing >> the message so that the array part is separate from the scalar part, >> like so (there are too many 'of', but I lack inspiration): >> Index '0' of dimension 1 of component 'zz' of element from 'x1%vv' >> below lower bound of 1 >> > This has the same number of 'of' but sounds better maybe: > Out of bounds accessing component 'zz' of element from 'x1%yy': index > '0' of dimension 1 below lower bound of 1 > --------------WhXMC04oCGMH19UVVdo07xZm Content-Type: text/x-patch; charset=UTF-8; name="pr30802-part2-v2.diff" Content-Disposition: attachment; filename="pr30802-part2-v2.diff" Content-Transfer-Encoding: base64 RnJvbSBjZGYzYjE5N2JlZWQwY2UxNjQ5NjYxYjIxMzI2NDNiNTRjYmFkZThkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYXJhbGQgQW5sYXVmIDxhbmxhdWZAZ214LmRlPgpE YXRlOiBTdW4sIDEwIE1hciAyMDI0IDIyOjE0OjMwICswMTAwClN1YmplY3Q6IFtQQVRDSF0g Rm9ydHJhbjogdXNlIG5hbWUgb2YgYXJyYXkgY29tcG9uZW50IGluIHJ1bnRpbWUgZXJyb3Ig bWVzc2FnZQogW1BSMzA4MDJdCgpnY2MvZm9ydHJhbi9DaGFuZ2VMb2c6CgoJUFIgZm9ydHJh bi8zMDgwMgoJKiB0cmFucy1hcnJheS5jYyAodHJhbnNfYXJyYXlfYm91bmRfY2hlY2spOiBG aW5kIG5hbWUgb2YgY29tcG9uZW50Cgl0byB1c2UgaW4gcnVudGltZSBlcnJvciBtZXNzYWdl LgoJKGFycmF5X2JvdW5kX2NoZWNrX2VsZW1lbnRhbCk6IExpa2V3aXNlLgoJKGdmY19jb252 X2FycmF5X3JlZik6IExpa2V3aXNlLgoKZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6CgoJUFIg Zm9ydHJhbi8zMDgwMgoJKiBnZm9ydHJhbi5kZy9ib3VuZHNfY2hlY2tfMTcuZjkwOiBBZGp1 c3QgZGctcGF0dGVybi4KCSogZ2ZvcnRyYW4uZGcvYm91bmRzX2NoZWNrX2ZhaWxfNi5mOTA6 IExpa2V3aXNlLgoJKiBnZm9ydHJhbi5kZy9wcjkyMDUwLmY5MDogTGlrZXdpc2UuCgkqIGdm b3J0cmFuLmRnL2JvdW5kc19jaGVja19mYWlsXzguZjkwOiBOZXcgdGVzdC4KLS0tCiBnY2Mv Zm9ydHJhbi90cmFucy1hcnJheS5jYyAgICAgICAgICAgICAgICAgICAgfCA2MCArKysrKysr KystLS0tLS0tLS0tCiBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2JvdW5kc19jaGVja18x Ny5mOTAgfCAgMiArLQogLi4uL2dmb3J0cmFuLmRnL2JvdW5kc19jaGVja19mYWlsXzYuZjkw ICAgICAgIHwgIDcgKystCiAuLi4vZ2ZvcnRyYW4uZGcvYm91bmRzX2NoZWNrX2ZhaWxfOC5m OTAgICAgICAgfCA0OCArKysrKysrKysrKysrKysKIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvcHI5MjA1MC5mOTAgICAgICAgICB8ICAyICstCiA1IGZpbGVzIGNoYW5nZWQsIDgzIGlu c2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvYm91bmRzX2NoZWNrX2ZhaWxfOC5mOTAKCmRpZmYgLS1n aXQgYS9nY2MvZm9ydHJhbi90cmFucy1hcnJheS5jYyBiL2djYy9mb3J0cmFuL3RyYW5zLWFy cmF5LmNjCmluZGV4IDM2NzNmYTQwNzIwLi45YzYyYjA3MGM1MCAxMDA2NDQKLS0tIGEvZ2Nj L2ZvcnRyYW4vdHJhbnMtYXJyYXkuY2MKKysrIGIvZ2NjL2ZvcnRyYW4vdHJhbnMtYXJyYXku Y2MKQEAgLTM0OTcsNiArMzQ5Nyw4IEBAIHRyYW5zX2FycmF5X2JvdW5kX2NoZWNrIChnZmNf c2UgKiBzZSwgZ2ZjX3NzICpzcywgdHJlZSBpbmRleCwgaW50IG4sCiAgIHRyZWUgZGVzY3Jp cHRvcjsKICAgY2hhciAqbXNnOwogICBjb25zdCBjaGFyICogbmFtZSA9IE5VTEw7CisgIGdm Y19leHByICpleHByOworICBnZmNfcmVmICpyZWY7CiAKICAgaWYgKCEoZ2ZjX29wdGlvbi5y dGNoZWNrICYgR0ZDX1JUQ0hFQ0tfQk9VTkRTKSkKICAgICByZXR1cm4gaW5kZXg7CkBAIC0z NTA5LDYgKzM1MTEsMjQgQEAgdHJhbnNfYXJyYXlfYm91bmRfY2hlY2sgKGdmY19zZSAqIHNl LCBnZmNfc3MgKnNzLCB0cmVlIGluZGV4LCBpbnQgbiwKICAgbmFtZSA9IHNzLT5pbmZvLT5l eHByLT5zeW10cmVlLT5uLnN5bS0+bmFtZTsKICAgZ2NjX2Fzc2VydCAobmFtZSAhPSBOVUxM KTsKIAorICAvKiBXaGVuIHdlIGhhdmUgYSBjb21wb25lbnQgcmVmLCBnZXQgbmFtZSBvZiB0 aGUgYXJyYXkgc2VjdGlvbi4KKyAgICAgTm90ZSB0aGF0IHRoZXJlIGNhbiBvbmx5IGJlIG9u ZSBwYXJ0IHJlZi4gICovCisgIGV4cHIgPSBzcy0+aW5mby0+ZXhwcjsKKyAgaWYgKGV4cHIt PnJlZiAmJiAhY29tcG5hbWUpCisgICAgeworICAgICAgZm9yIChyZWYgPSBleHByLT5yZWY7 IHJlZjsgcmVmID0gcmVmLT5uZXh0KQorCXsKKwkgIC8qIFJlbWVtYmVyIGNvbXBvbmVudCBu YW1lLiAgKi8KKwkgIGlmIChyZWYtPnR5cGUgPT0gUkVGX0NPTVBPTkVOVCkKKwkgICAgewor CSAgICAgIG5hbWUgPSByZWYtPnUuYy5jb21wb25lbnQtPm5hbWU7CisJICAgICAgY29udGlu dWU7CisJICAgIH0KKwkgIGlmIChyZWYtPnR5cGUgPT0gUkVGX0FSUkFZICYmIHJlZi0+dS5h ci50eXBlID09IEFSX1NFQ1RJT04pCisJICAgIGJyZWFrOworCX0KKyAgICB9CisKICAgaWYg KFZBUl9QIChkZXNjcmlwdG9yKSkKICAgICBuYW1lID0gSURFTlRJRklFUl9QT0lOVEVSIChE RUNMX05BTUUgKGRlc2NyaXB0b3IpKTsKIApAQCAtMzU3NCwyOSArMzU5NCwyMCBAQCBhcnJh eV9ib3VuZF9jaGVja19lbGVtZW50YWwgKGdmY19zZSAqIHNlLCBnZmNfc3MgKiBzcywgZ2Zj X2V4cHIgKiBleHByKQogICBnZmNfYXJyYXlfcmVmICphcjsKICAgZ2ZjX3JlZiAqcmVmOwog ICBnZmNfc3ltYm9sICpzeW07Ci0gIGNoYXIgKnZhcl9uYW1lID0gTlVMTDsKLSAgc2l6ZV90 IGxlbjsKKyAgY29uc3QgY2hhciAqdmFyX25hbWUgPSBOVUxMOwogICBpbnQgZGltOwogCiAg IGlmIChleHByLT5leHByX3R5cGUgPT0gRVhQUl9WQVJJQUJMRSkKICAgICB7CiAgICAgICBz eW0gPSBleHByLT5zeW10cmVlLT5uLnN5bTsKLSAgICAgIGxlbiA9IHN0cmxlbiAoc3ltLT5u YW1lKSArIDE7Ci0KLSAgICAgIGZvciAocmVmID0gZXhwci0+cmVmOyByZWY7IHJlZiA9IHJl Zi0+bmV4dCkKLQlpZiAocmVmLT50eXBlID09IFJFRl9DT01QT05FTlQpCi0JICBsZW4gKz0g MiArIHN0cmxlbiAocmVmLT51LmMuY29tcG9uZW50LT5uYW1lKTsKLQotICAgICAgdmFyX25h bWUgPSBYQUxMT0NBVkVDIChjaGFyLCBsZW4pOwotICAgICAgc3RyY3B5ICh2YXJfbmFtZSwg c3ltLT5uYW1lKTsKKyAgICAgIHZhcl9uYW1lID0gc3ltLT5uYW1lOwogCiAgICAgICBmb3Ig KHJlZiA9IGV4cHItPnJlZjsgcmVmOyByZWYgPSByZWYtPm5leHQpCiAJewotCSAgLyogQXBw ZW5kIGNvbXBvbmVudCBuYW1lLiAgKi8KKwkgIC8qIEdldCBjb21wb25lbnQgbmFtZS4gICov CiAJICBpZiAocmVmLT50eXBlID09IFJFRl9DT01QT05FTlQpCiAJICAgIHsKLQkgICAgICBz dHJjYXQgKHZhcl9uYW1lLCAiJSUiKTsKLQkgICAgICBzdHJjYXQgKHZhcl9uYW1lLCByZWYt PnUuYy5jb21wb25lbnQtPm5hbWUpOworCSAgICAgIHZhcl9uYW1lID0gcmVmLT51LmMuY29t cG9uZW50LT5uYW1lOwogCSAgICAgIGNvbnRpbnVlOwogCSAgICB9CiAKQEAgLTQwMDEsNyAr NDAxMiw3IEBAIGdmY19jb252X2FycmF5X3JlZiAoZ2ZjX3NlICogc2UsIGdmY19hcnJheV9y ZWYgKiBhciwgZ2ZjX2V4cHIgKmV4cHIsCiAgIGdmY19zZSBpbmRleHNlOwogICBnZmNfc2Ug dG1wc2U7CiAgIGdmY19zeW1ib2wgKiBzeW0gPSBleHByLT5zeW10cmVlLT5uLnN5bTsKLSAg Y2hhciAqdmFyX25hbWUgPSBOVUxMOworICBjb25zdCBjaGFyICp2YXJfbmFtZSA9IE5VTEw7 CiAKICAgaWYgKGFyLT5kaW1lbiA9PSAwKQogICAgIHsKQEAgLTQwMzUsMzAgKzQwNDYsMTcg QEAgZ2ZjX2NvbnZfYXJyYXlfcmVmIChnZmNfc2UgKiBzZSwgZ2ZjX2FycmF5X3JlZiAqIGFy LCBnZmNfZXhwciAqZXhwciwKIAogICBpZiAoZ2ZjX29wdGlvbi5ydGNoZWNrICYgR0ZDX1JU Q0hFQ0tfQk9VTkRTKQogICAgIHsKLSAgICAgIHNpemVfdCBsZW47CiAgICAgICBnZmNfcmVm ICpyZWY7CiAKLSAgICAgIGxlbiA9IHN0cmxlbiAoc3ltLT5uYW1lKSArIDE7Ci0gICAgICBm b3IgKHJlZiA9IGV4cHItPnJlZjsgcmVmOyByZWYgPSByZWYtPm5leHQpCi0JewotCSAgaWYg KHJlZi0+dHlwZSA9PSBSRUZfQVJSQVkgJiYgJnJlZi0+dS5hciA9PSBhcikKLQkgICAgYnJl YWs7Ci0JICBpZiAocmVmLT50eXBlID09IFJFRl9DT01QT05FTlQpCi0JICAgIGxlbiArPSAy ICsgc3RybGVuIChyZWYtPnUuYy5jb21wb25lbnQtPm5hbWUpOwotCX0KLQotICAgICAgdmFy X25hbWUgPSBYQUxMT0NBVkVDIChjaGFyLCBsZW4pOwotICAgICAgc3RyY3B5ICh2YXJfbmFt ZSwgc3ltLT5uYW1lKTsKKyAgICAgIHZhcl9uYW1lID0gc3ltLT5uYW1lOwogCiAgICAgICBm b3IgKHJlZiA9IGV4cHItPnJlZjsgcmVmOyByZWYgPSByZWYtPm5leHQpCiAJewogCSAgaWYg KHJlZi0+dHlwZSA9PSBSRUZfQVJSQVkgJiYgJnJlZi0+dS5hciA9PSBhcikKIAkgICAgYnJl YWs7Ci0JICBpZiAocmVmLT50eXBlID09IFJFRl9DT01QT05FTlQpCi0JICAgIHsKLQkgICAg ICBzdHJjYXQgKHZhcl9uYW1lLCAiJSUiKTsKLQkgICAgICBzdHJjYXQgKHZhcl9uYW1lLCBy ZWYtPnUuYy5jb21wb25lbnQtPm5hbWUpOwotCSAgICB9CisJICBpZiAocmVmLT50eXBlID09 IFJFRl9DT01QT05FTlQKKwkgICAgICAmJiBzdHJjbXAgKHJlZi0+dS5jLmNvbXBvbmVudC0+ bmFtZSwgIl9kYXRhIikgIT0gMCkKKwkgICAgdmFyX25hbWUgPSByZWYtPnUuYy5jb21wb25l bnQtPm5hbWU7CiAJfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9ib3VuZHNfY2hlY2tfMTcuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9ib3VuZHNfY2hlY2tfMTcuZjkwCmluZGV4IDUwZDY2Yzc1YTgwLi40MWUxMTllYWRiZSAx MDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9ib3VuZHNfY2hlY2tfMTcu ZjkwCisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvYm91bmRzX2NoZWNrXzE3LmY5 MApAQCAtMjMsNCArMjMsNCBAQCB6KGkpJXkoaikleChrKT0wCiAKIEVORAogCi0hIHsgZGct b3V0cHV0ICJBdCBsaW5lIDIyIG9mIGZpbGUgLipib3VuZHNfY2hlY2tfMTcuZjkwLipGb3J0 cmFuIHJ1bnRpbWUgZXJyb3I6IEluZGV4ICcxMScgb2YgZGltZW5zaW9uIDEgb2YgYXJyYXkg J3oleSV4JyBhYm92ZSB1cHBlciBib3VuZCBvZiAxMCIgfQorISB7IGRnLW91dHB1dCAiQXQg bGluZSAyMiBvZiBmaWxlIC4qYm91bmRzX2NoZWNrXzE3LmY5MC4qRm9ydHJhbiBydW50aW1l IGVycm9yOiBJbmRleCAnMTEnIG9mIGRpbWVuc2lvbiAxIG9mIGFycmF5ICd4JyBhYm92ZSB1 cHBlciBib3VuZCBvZiAxMCIgfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9ib3VuZHNfY2hlY2tfZmFpbF82LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvYm91bmRzX2NoZWNrX2ZhaWxfNi5mOTAKaW5kZXggOTAzMjkxMzExNTguLmE1NDlmMGQ1 YzIzIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2JvdW5kc19jaGVj a19mYWlsXzYuZjkwCisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvYm91bmRzX2No ZWNrX2ZhaWxfNi5mOTAKQEAgLTEsNyArMSw3IEBACiAhIHsgZGctZG8gcnVuIH0KICEgeyBk Zy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mY2hlY2s9Ym91bmRzIC1nIC1mZHVtcC10cmVlLW9y aWdpbmFsIiB9CiAhIHsgZGctb3V0cHV0ICJBdCBsaW5lIDE4IC4qIiB9Ci0hIHsgZGctc2hv dWxkZmFpbCAiZGltZW5zaW9uIDMgb2YgYXJyYXkgJ3Uleicgb3V0c2lkZSBvZiBleHBlY3Rl ZCByYW5nZSIgfQorISB7IGRnLXNob3VsZGZhaWwgImRpbWVuc2lvbiAzIG9mIGFycmF5ICd6 JyBvdXRzaWRlIG9mIGV4cGVjdGVkIHJhbmdlIiB9CiAhCiAhIFBSIGZvcnRyYW4vMzA4MDIg LSBpbXByb3ZlIGJvdW5kcy1jaGVja2luZyBmb3IgYXJyYXkgc2VjdGlvbnMKIApAQCAtMjUs NSArMjUsNiBAQCBjb250YWlucwogICBlbmQgc3Vicm91dGluZSBmb28KIGVuZCBwcm9ncmFt IHRlc3QKIAotISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIid1JSV6Licg b3V0c2lkZSBvZiBleHBlY3RlZCByYW5nZSIgMiAib3JpZ2luYWwiIH0gfQotISB7IGRnLWZp bmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIid4Licgb3V0c2lkZSBvZiBleHBlY3RlZCBy YW5nZSIgNCAib3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAt dGltZXMgIid6Licgb3V0c2lkZSBvZiBleHBlY3RlZCByYW5nZSIgMiAib3JpZ2luYWwiIH0g fQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgImRpbWVuc2lvbiAxIG9m IGFycmF5IC4neC4nIG91dHNpZGUgb2YgZXhwZWN0ZWQgcmFuZ2UiIDIgIm9yaWdpbmFsIiB9 IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJkaW1lbnNpb24gMyBv ZiBhcnJheSAuJ3guJyBvdXRzaWRlIG9mIGV4cGVjdGVkIHJhbmdlIiAyICJvcmlnaW5hbCIg fSB9CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2JvdW5kc19jaGVj a19mYWlsXzguZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9ib3VuZHNfY2hlY2tf ZmFpbF84LmY5MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZGYx ZjljYTkyMWEKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2JvdW5kc19jaGVja19mYWlsXzguZjkwCkBAIC0wLDAgKzEsNDggQEAKKyEgeyBkZy1kbyBj b21waWxlIH0KKyEgeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mY2hlY2s9Ym91bmRzIC1n IC1mZHVtcC10cmVlLW9yaWdpbmFsIiB9CishCishIFBSIGZvcnRyYW4vMzA4MDIgLSBpbXBy b3ZlIGJvdW5kcy1jaGVja2luZyBmb3IgYXJyYXkgcmVmZXJlbmNlcworIQorISBVc2UgcHJv cGVyIGFycmF5IGNvbXBvbmVudCByZWZlcmVuY2VzIGluIHJ1bnRpbWUgZXJyb3IgbWVzc2Fn ZS4KKworcHJvZ3JhbSB0ZXN0CisgIGltcGxpY2l0IG5vbmUKKyAgaW50ZWdlciA6OiBrID0g MAorICB0eXBlIHQKKyAgICAgcmVhbCwgZGltZW5zaW9uKDEwLDIwLDMwKSA6OiB6ID0gMjMK KyAgZW5kIHR5cGUgdAorICB0eXBlIHUKKyAgICAgdHlwZSh0KSA6OiB2dig0LDUpCisgICAg IGNvbXBsZXggOjogY2MoNiw3KQorICBlbmQgdHlwZSB1CisgIHR5cGUgdmVjCisgICAgIGlu dGVnZXIgOjogeHgoMykgPSBbMiw0LDZdCisgIGVuZCB0eXBlIHZlYworICB0eXBlKHQpIDo6 IHV1LCAgICAgd3coMSkKKyAgdHlwZSh1KSA6OiB4MSwgeDIsIHkxKDEpLCB5MigxKQorCisg IHByaW50ICosIHV1ICAgJSB6KDEsayw6KSAgICAgICAgICAgISBydW50aW1lIGNoZWNrIG9u bHkgZm9yIGRpbWVuc2lvbiAyIG9mIHoKKyAgcHJpbnQgKiwgd3coMSklIHooMSw6LGspICAg ICAgICAgICAhIHJ1bnRpbWUgY2hlY2sgb25seSBmb3IgZGltZW5zaW9uIDMgb2YgegorICBw cmludCAqLCB4MSAgICUgdnYoMiwzKSUgeigxLDosaykgICEgcnVudGltZSBjaGVjayBvbmx5 IGZvciBkaW1lbnNpb24gMyBvZiB6CisgIHByaW50ICosIHgyICAgJSB2dihrLDopJSB6KDEs MiwzKSAgISBydW50aW1lIGNoZWNrIG9ubHkgZm9yIGRpbWVuc2lvbiAxIG9mIHZ2CisgIHBy aW50ICosIHkxKDEpJSB2digyLDMpJSB6KGssOiwxKSAgISBydW50aW1lIGNoZWNrIG9ubHkg Zm9yIGRpbWVuc2lvbiAxIG9mIHoKKyAgcHJpbnQgKiwgeTIoMSklIHZ2KDosayklIHooMSwy LDMpICAhIHJ1bnRpbWUgY2hlY2sgb25seSBmb3IgZGltZW5zaW9uIDIgb2YgdnYKKyAgcHJp bnQgKiwgeTEoMSklIGNjKGssOiklIHJlICAgICAgICAhIHJ1bnRpbWUgY2hlY2sgb25seSBm b3IgZGltZW5zaW9uIDEgb2YgY2MKK2NvbnRhaW5zCisgIHN1YnJvdXRpbmUgc3ViICh5eSwg aykKKyAgICBjbGFzcyh2ZWMpLCBpbnRlbnQoaW4pIDo6IHl5KDopCisgICAgaW50ZWdlciwg ICAgaW50ZW50KGluKSA6OiBrCisgICAgcHJpbnQgKiwgeXkoMSkleHgoaykKKyAgZW5kCitl bmQgcHJvZ3JhbSB0ZXN0CisKKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVz ICJkaW1lbnNpb24gMiBvZiBhcnJheSAuJ3ouJyBvdXRzaWRlIG9mIGV4cGVjdGVkIHJhbmdl IiAyICJvcmlnaW5hbCIgfSB9CishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1l cyAiZGltZW5zaW9uIDMgb2YgYXJyYXkgLid6Licgb3V0c2lkZSBvZiBleHBlY3RlZCByYW5n ZSIgNCAib3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGlt ZXMgImRpbWVuc2lvbiAxIG9mIGFycmF5IC4ndnYuJyBvdXRzaWRlIG9mIGV4cGVjdGVkIHJh bmdlIiAyICJvcmlnaW5hbCIgfSB9CishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10 aW1lcyAiZGltZW5zaW9uIDEgb2YgYXJyYXkgLid6Licgb3V0c2lkZSBvZiBleHBlY3RlZCBy YW5nZSIgMiAib3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAt dGltZXMgImRpbWVuc2lvbiAyIG9mIGFycmF5IC4ndnYuJyBvdXRzaWRlIG9mIGV4cGVjdGVk IHJhbmdlIiAyICJvcmlnaW5hbCIgfSB9CishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVt cC10aW1lcyAiZGltZW5zaW9uIDEgb2YgYXJyYXkgLidjYy4nIG91dHNpZGUgb2YgZXhwZWN0 ZWQgcmFuZ2UiIDIgIm9yaWdpbmFsIiB9IH0KKworISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVl LWR1bXAtdGltZXMgImRpbWVuc2lvbiAxIG9mIGFycmF5IC4neXkuJyBhYm92ZSB1cHBlciBi b3VuZCIgMSAib3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAt dGltZXMgImRpbWVuc2lvbiAxIG9mIGFycmF5IC4neHguJyBiZWxvdyBsb3dlciBib3VuZCIg MSAib3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMg ImRpbWVuc2lvbiAxIG9mIGFycmF5IC4neHguJyBhYm92ZSB1cHBlciBib3VuZCIgMSAib3Jp Z2luYWwiIH0gfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9wcjky MDUwLmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcHI5MjA1MC5mOTAKaW5kZXgg NjQxOTM4NzhkOGYuLjk0ZDNmNjRkMzFhIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL3ByOTIwNTAuZjkwCisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv cHI5MjA1MC5mOTAKQEAgLTUwLDQgKzUwLDQgQEAgcHJvZ3JhbSBtYWluCiAgIGNhbGwgYmFk X3VwZGF0ZV9mb28oeCkKIGVuZCBwcm9ncmFtIG1haW4KIAotISB7IGRnLW91dHB1dCAiQXQg bGluZSAzOSBvZiBmaWxlIC4qcHI5MjA1MC5mOTAuKkZvcnRyYW4gcnVudGltZSBlcnJvcjog SW5kZXggJzInIG9mIGRpbWVuc2lvbiAxIG9mIGFycmF5ICd0aGlzJW0nIGFib3ZlIHVwcGVy IGJvdW5kIG9mIDEiIH0KKyEgeyBkZy1vdXRwdXQgIkF0IGxpbmUgMzkgb2YgZmlsZSAuKnBy OTIwNTAuZjkwLipGb3J0cmFuIHJ1bnRpbWUgZXJyb3I6IEluZGV4ICcyJyBvZiBkaW1lbnNp b24gMSBvZiBhcnJheSAnbScgYWJvdmUgdXBwZXIgYm91bmQgb2YgMSIgfQotLSAKMi4zNS4z Cgo= --------------WhXMC04oCGMH19UVVdo07xZm--