From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2050.outbound.protection.outlook.com [40.107.244.50]) by sourceware.org (Postfix) with ESMTPS id 017A5385DC14 for ; Mon, 27 Apr 2020 18:02:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 017A5385DC14 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=none smtp.mailfrom=AlokKumar.Sharma@amd.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kM6rRliNZle+9v/CnhywpabUnIPRDq7l8SEb5U97PcJdmi/MKo2RzT6zFVtVRTWIDMNcGyhKosnlCshSnI+zIgEkXJHmOPPEgvEQt7FEvVvkm9uUeLJgnxyVII/zjBwh6q6gf6u3VAmXmKEWMNHTWdlgRQcfLQLxDQZ1fbFokV8zR8xuHR0AErkBrJ5/CCoY0e3xwc+pWzZGeudVrHAHezzrTOI9ThSx69lBx3Hg+UCvpVsfBW1h+rpjBxj/HyLGQYEoanRVStJ/1Hu71nHK4CnBjpRJKcw/PMLmg3pSXqM510ClxiXNmue3FM5OJOn5vBHSbVPcrPeHTmdaQLHj9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iA3xz3MMciHXhyu9kHQJoCEqpWNjTCWW1y71h2YR584=; b=nHjQfeXR6Igx04sWYeX3RqQafXhmrR6BSCeZdyVotmAzulesPTsJ+MynTWAQFsSDsVYqCaIurv0R21ivzJ+SgFNDzlXpCkT/Pycd02j8+YTpqHytlB/V/eTdO2PylV4Ed8WmVaqcwP6g5fNWB7VIaLPH2SJ7l7a8R+6UGfF+rO8Zr1VrwXGVSxIuz/D9w6m+0Dx02IVVal7QUd/3bL3mW2KKuAlfY6kuCiQxh7Wj32LobmjX2QswonU2TrnBnhi/gqByW5gy4Nu/Pzl9PAyk6wszF7wUSCM/8loiEESHtTPLccBe4kMyFrN27Ix+eD+3NN/T9cpYk3eHG6EPsOWhEw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iA3xz3MMciHXhyu9kHQJoCEqpWNjTCWW1y71h2YR584=; b=EW7bJLDZdJWHulXkIIGv5VLIXxKTLJCQNg+GIVL+2B6K9f40HFas7LSa6OZi/9vxOmFV9yMnPG7yDTDlQOkVQdfGqVYNI9fPGBqzQgi7b9qXqLJnxwNSjm6/vpK4CRvYq+FxQsDGTN31vaNm+nUfcH9iWRUg53gDYYmZTzIx0r0= Received: from BY5PR12MB3859.namprd12.prod.outlook.com (2603:10b6:a03:1a8::31) by BY5PR12MB3827.namprd12.prod.outlook.com (2603:10b6:a03:1ab::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.22; Mon, 27 Apr 2020 18:02:04 +0000 Received: from BY5PR12MB3859.namprd12.prod.outlook.com ([fe80::2591:731d:e067:9483]) by BY5PR12MB3859.namprd12.prod.outlook.com ([fe80::2591:731d:e067:9483%7]) with mapi id 15.20.2937.023; Mon, 27 Apr 2020 18:02:04 +0000 From: "Sharma, Alok Kumar" To: Andrew Burgess CC: Tom Tromey , "George, Jini Susan" , "Achra, Nitika" , "gdb-patches@sourceware.org" Subject: RE: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing Thread-Topic: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing Thread-Index: AdYaGoxVOtBbfA8rTdieLXSAzB7KHQABxBoAAAWJSrkAAXKNAAAAbW7wAI0EZQAAEo/YUA== Date: Mon, 27 Apr 2020 18:02:03 +0000 Message-ID: References: <20200424101752.GB3522@embecosm.com> <87sggthwk2.fsf@tromey.com> <20200424133750.GD3522@embecosm.com> <20200427090750.GE3522@embecosm.com> In-Reply-To: <20200427090750.GE3522@embecosm.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_Enabled=true; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_SetDate=2020-04-27T17:59:29Z; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_Method=Privileged; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_Name=Non-Business; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_ActionId=8a1e6d89-9c7c-4957-9441-00004cb14348; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_ContentBits=0 msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_enabled: true msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_setdate: 2020-04-27T18:01:57Z msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_method: Privileged msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_name: Non-Business msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_actionid: 64daa5d6-dcc4-44a1-858f-00002d37304e msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_contentbits: 0 authentication-results: spf=none (sender IP is ) smtp.mailfrom=AlokKumar.Sharma@amd.com; x-originating-ip: [2405:204:549d:716c:6813:eba3:3ba8:493c] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 2272a54e-e4c5-4392-ee77-08d7ead517aa x-ms-traffictypediagnostic: BY5PR12MB3827:|BY5PR12MB3827: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0386B406AA x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR12MB3859.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(136003)(376002)(39860400002)(396003)(366004)(66446008)(76116006)(64756008)(8936002)(8676002)(316002)(81156014)(54906003)(7696005)(99936003)(53546011)(33656002)(6506007)(66946007)(4326008)(9686003)(86362001)(5660300002)(66616009)(66476007)(30864003)(186003)(66556008)(71200400001)(478600001)(55016002)(52536014)(2906002)(6916009)(579004)(559001); DIR:OUT; SFP:1101; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gsadUe1zgru4IgDTZYdQjazw0sOZ0ygA89auk1vqj16Ai6zJ/9yjNtudcp371cmo/7/ryh4MkGexlsoXpxFmF0cAMyy43KEmvUC/kiQqt14MRx0PT6frWj5XOEclsO5WIkIoSFHgw6KMPZTtHNKuUbvhRbG7gzDOFGCbTSXuvufOBTNiKGqCpdYMSmwRxjpZGQEhczGsrw7xAmQUofvxV83/lHJ0cDxRgH56NwcDyRpKqMK/Kx5s2mwmRnV1TEnxmnOWDTvRUPZreGenTVPBTYb708kjRIuDsklerPRbK0IPcOD7r8jfTnzMkvw5UdoH1BHcDOzeUftr0BLiVienYyP8ZpmP/pGcVwknHPwiS2Gy/a1RtH+CnluMeYGDVcG3YN5Xp9JlQqJNzz6FS+2qD3CfxicZ1jk81mA/xT/5i1UovqQV/O9lRhl2wjP15GSapZitApCshybjxKvjy9Bn9q4gBLtw1o/s3ICJc9op6z/Ynn6Z54NpTrpXr6PppqN6MBh/WQToLlL6/oaSOa7+RQ== x-ms-exchange-antispam-messagedata: xufmzMwsIkKQHrpSa+QuObK+Wp1mPF11t/kSx9polXJA6/+SA84l4wg8EB6ZFPJ+pZORUkO8mGHgkbhnZfzvmcyYpbi18C6j0rCj3V+qu2b34pYgNUSPYin2xeL3F5v6kIrt/d/kyl2/4iNtF7ogqcqyte5yV76V0FWtZDGJ/rwmOff5wx51Q4kVoBt5XM4O5FspLCPnrOg74CIYH9Oh1Jfiu/PQ5S46aJlSh51Lj5bM+2ozqMgcX9TvN9GxSwJtlE+CzMphwa5LkOI/USXV1J/Cr+b55SJuJOsXhFY8ZLgWm9aUy1cKXP7HywfrtJ2OrCH+BdEgOP+N+ixT425MJfC54tTO0rEauAueEqMbJMsPxpyQZ0O9kgBI6p5UJZvRZX1zGEDNuS8+A+0IVFKqhZyO9L0XhdmLRhqpQa8DfSNNuquV4xDZts8j9LBu9eVhUcxFp4vpBeb+P2gs3dwbA4OD0zlQDUSZyZvwa7zBsC7HjMn1ZFmwy9Rykp3l/JYcTcxPmlQHhCDMVc6qOhqIMCcvSqhthoMNBtF3seghu0CunoVjH04a4XVUan3Lw0MXL/fbpbiFiAltsrXL/zTLPDE2gGBGjJ/ssRfbmIa+L/I5mKUfhU9NPQxQ7qDSjQJsnnzoD9ZE/8i3NfgO7elh3b8qRspOBlilh4IZiszXZpVPa7CUVlB3uZYdKk+Py0tdVpgv86KhckdN+lTFnZtIz2pXxkDt7sF78ryHpJLZdFdLzEKgrvPsn4k0uxftcieSeedxOAXGX6RZE+stjI5bVBag2XFyJlBhLMp83W5zeQfQC2IXS7jK91qsjJ/sMNdQpWp9yWmiF6N3vKUBRXg2usoBzOSemR1JolsxTcAwsOA= Content-Type: multipart/mixed; boundary="_002_BY5PR12MB3859075E820E1ABEFB0184FF9EAF0BY5PR12MB3859namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2272a54e-e4c5-4392-ee77-08d7ead517aa X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Apr 2020 18:02:03.9477 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: h/Ct7u67cnxJWC+fDopJsT4lqUuEz6MLnJgpaz8b4iKrFKVctI0kSg+Jqi05PBmIULpv/Fxptaev0FBBOECQFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB3827 X-Spam-Status: No, score=-20.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Apr 2020 18:02:16 -0000 --_002_BY5PR12MB3859075E820E1ABEFB0184FF9EAF0BY5PR12MB3859namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Andrew, Thanks a lot for your valuable comments. Please have a look at the updated = patch in attachment. Regards, Alok -----Original Message----- From: Andrew Burgess =20 Sent: Monday, April 27, 2020 2:38 PM To: Sharma, Alok Kumar Cc: Tom Tromey ; George, Jini Susan ; Achra, Nitika ; gdb-patches@sourceware.org Subject: Re: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing [CAUTION: External Email] * Sharma, Alok Kumar [2020-04-24 15:54:15 +0000]= : > Thanks a lot Tom and Andrew for your reviews. > > Please find the updated patch as an attachment. > Now fortran specific runto_main is renamed as fortran_runto_main, which i= s inline with the other such procedures as go_runto_main etc. > > gdb/testsuite/ChangeLog > > * lib/fortran.exp (fortran_main): New Proc, handle flang MAIN= _, > (fortran_runto_main): New Proc, fortran version of runto_main= . > * gdb.fortran/array-bounds-high.exp: Handle flang MAIN_. > * gdb.fortran/array-bounds.exp: Likewise. > * gdb.fortran/array-slices.exp: Likewise. > * gdb.fortran/block-data.exp: Likewise. > * gdb.fortran/charset.exp: Likewise. > * gdb.fortran/common-block.exp: Likewise. > * gdb.fortran/complex.exp: Likewise. > * gdb.fortran/derived-type-function.exp: Likewise. > * gdb.fortran/derived-type.exp: Likewise. > * gdb.fortran/info-modules.exp: Likewise. > * gdb.fortran/info-types.exp: Likewise. > * gdb.fortran/intrinsics.exp: Likewise. > * gdb.fortran/library-module.exp: Likewise. > * gdb.fortran/logical.exp: Likewise. > * gdb.fortran/max-depth.exp: Likewise. > * gdb.fortran/module.exp: Likewise. > * gdb.fortran/multi-dim.exp: Likewise. > * gdb.fortran/nested-funcs.exp: Likewise. > * gdb.fortran/print-formatted.exp: Likewise. > * gdb.fortran/print_type.exp: Likewise. > * gdb.fortran/printing-types.exp: Likewise. > * gdb.fortran/ptr-indentation.exp: Likewise. > * gdb.fortran/ptype-on-functions.exp: Likewise. > * gdb.fortran/subarray.exp: Likewise. > * gdb.fortran/vla-alloc-assoc.exp: Likewise. > * gdb.fortran/vla-datatypes.exp: Likewise. > * gdb.fortran/vla-history.exp: Likewise. > * gdb.fortran/vla-ptr-info.exp: Likewise. > * gdb.fortran/vla-ptype-sub.exp: Likewise. > * gdb.fortran/vla-ptype.exp: Likewise. > * gdb.fortran/vla-sizeof.exp: Likewise. > * gdb.fortran/vla-type.exp: Likewise. > * gdb.fortran/vla-value-sub-arbitrary.exp: Likewise. > * gdb.fortran/vla-value-sub-finish.exp: Likewise. > * gdb.fortran/vla-value-sub.exp: Likewise. > * gdb.fortran/vla-value.exp: Likewise. > * gdb.fortran/whatis_type.exp: Likewise. > * gdb.mi/mi-var-child-f.exp: Likewise. > > Please let me know your comments. > > --- > From f19a15b6afaabda49dd0d102f1defff72cfae4e9 Mon Sep 17 00:00:00 2001 > From: Alok Kumar Sharma > Date: Fri, 24 Apr 2020 14:46:09 +0530 > Subject: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing > > Name of fortran main function for Flang compiler is MAIN_ while for=20 > gfortran it is MAIN__ . In test cases MAIN__ is hardcoded for the=20 > purpose of inserting breakpoint. > > New proc is added to detect main function name depending on the=20 > compiler used. > Fortran specific version of runto_main named fortran_runto_main is=20 > added. > > This commit adds support for Flang main function, there should be no=20 > change for gfortran. > > gdb/testsuite/ChangeLog > > * lib/fortran.exp (fortran_main): New Proc, handle flang MAIN_, > (fortran_runto_main): New Proc, fortran version of runto_main. > * gdb.fortran/array-bounds-high.exp: Handle flang MAIN_. > * gdb.fortran/array-bounds.exp: Likewise. > * gdb.fortran/array-slices.exp: Likewise. > * gdb.fortran/block-data.exp: Likewise. > * gdb.fortran/charset.exp: Likewise. > * gdb.fortran/common-block.exp: Likewise. > * gdb.fortran/complex.exp: Likewise. > * gdb.fortran/derived-type-function.exp: Likewise. > * gdb.fortran/derived-type.exp: Likewise. > * gdb.fortran/info-modules.exp: Likewise. > * gdb.fortran/info-types.exp: Likewise. > * gdb.fortran/intrinsics.exp: Likewise. > * gdb.fortran/library-module.exp: Likewise. > * gdb.fortran/logical.exp: Likewise. > * gdb.fortran/max-depth.exp: Likewise. > * gdb.fortran/module.exp: Likewise. > * gdb.fortran/multi-dim.exp: Likewise. > * gdb.fortran/nested-funcs.exp: Likewise. > * gdb.fortran/print-formatted.exp: Likewise. > * gdb.fortran/print_type.exp: Likewise. > * gdb.fortran/printing-types.exp: Likewise. > * gdb.fortran/ptr-indentation.exp: Likewise. > * gdb.fortran/ptype-on-functions.exp: Likewise. > * gdb.fortran/subarray.exp: Likewise. > * gdb.fortran/vla-alloc-assoc.exp: Likewise. > * gdb.fortran/vla-datatypes.exp: Likewise. > * gdb.fortran/vla-history.exp: Likewise. > * gdb.fortran/vla-ptr-info.exp: Likewise. > * gdb.fortran/vla-ptype-sub.exp: Likewise. > * gdb.fortran/vla-ptype.exp: Likewise. > * gdb.fortran/vla-sizeof.exp: Likewise. > * gdb.fortran/vla-type.exp: Likewise. > * gdb.fortran/vla-value-sub-arbitrary.exp: Likewise. > * gdb.fortran/vla-value-sub-finish.exp: Likewise. > * gdb.fortran/vla-value-sub.exp: Likewise. > * gdb.fortran/vla-value.exp: Likewise. > * gdb.fortran/whatis_type.exp: Likewise. > * gdb.mi/mi-var-child-f.exp: Likewise. > > Change-Id: I0a30f5dad684879b416f71d3d08c385c159325bf > --- > gdb/testsuite/ChangeLog | 43 +++++++++++++++++++ > .../gdb.fortran/array-bounds-high.exp | 5 ++- > gdb/testsuite/gdb.fortran/array-bounds.exp | 5 ++- > gdb/testsuite/gdb.fortran/array-slices.exp | 3 +- > gdb/testsuite/gdb.fortran/block-data.exp | 4 +- > gdb/testsuite/gdb.fortran/charset.exp | 6 ++- > gdb/testsuite/gdb.fortran/common-block.exp | 4 +- > gdb/testsuite/gdb.fortran/complex.exp | 5 ++- > .../gdb.fortran/derived-type-function.exp | 5 ++- > gdb/testsuite/gdb.fortran/derived-type.exp | 4 +- > gdb/testsuite/gdb.fortran/info-modules.exp | 4 +- > gdb/testsuite/gdb.fortran/info-types.exp | 4 +- > gdb/testsuite/gdb.fortran/intrinsics.exp | 4 +- > gdb/testsuite/gdb.fortran/library-module.exp | 5 ++- > gdb/testsuite/gdb.fortran/logical.exp | 5 ++- > gdb/testsuite/gdb.fortran/max-depth.exp | 4 +- > gdb/testsuite/gdb.fortran/module.exp | 6 +-- > gdb/testsuite/gdb.fortran/multi-dim.exp | 4 +- > gdb/testsuite/gdb.fortran/nested-funcs.exp | 4 +- > gdb/testsuite/gdb.fortran/print-formatted.exp | 4 +- > gdb/testsuite/gdb.fortran/print_type.exp | 2 +- > gdb/testsuite/gdb.fortran/printing-types.exp | 5 ++- =20 > gdb/testsuite/gdb.fortran/ptr-indentation.exp | 4 +- > .../gdb.fortran/ptype-on-functions.exp | 4 +- > gdb/testsuite/gdb.fortran/subarray.exp | 5 ++- > gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-datatypes.exp | 2 +- > gdb/testsuite/gdb.fortran/vla-history.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-ptr-info.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-ptype-sub.exp | 2 +- > gdb/testsuite/gdb.fortran/vla-ptype.exp | 2 +- > gdb/testsuite/gdb.fortran/vla-sizeof.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-type.exp | 2 +- > .../gdb.fortran/vla-value-sub-arbitrary.exp | 3 +- > .../gdb.fortran/vla-value-sub-finish.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-value-sub.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-value.exp | 6 +-- > gdb/testsuite/gdb.fortran/whatis_type.exp | 4 +- > gdb/testsuite/gdb.mi/mi-var-child-f.exp | 2 +- > gdb/testsuite/lib/fortran.exp | 22 ++++++++++ > 40 files changed, 147 insertions(+), 64 deletions(-) > > diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index=20 > 10683db566..0e3c207f85 100644 > --- a/gdb/testsuite/ChangeLog > +++ b/gdb/testsuite/ChangeLog > @@ -1,3 +1,46 @@ > +2020-04-24 Alok Kumar Sharma > + > + * lib/fortran.exp (fortran_main): New Proc, handle flang MAIN_, > + (fortran_runto_main): New Proc, fortran version of runto_main. > + * gdb.fortran/array-bounds-high.exp: Handle flang MAIN_ > + * gdb.fortran/array-bounds.exp: Likewise. > + * gdb.fortran/array-slices.exp: Likewise. > + * gdb.fortran/block-data.exp: Likewise. > + * gdb.fortran/charset.exp: Likewise. > + * gdb.fortran/common-block.exp: Likewise. > + * gdb.fortran/complex.exp: Likewise. > + * gdb.fortran/derived-type-function.exp: Likewise. > + * gdb.fortran/derived-type.exp: Likewise. > + * gdb.fortran/info-modules.exp: Likewise. > + * gdb.fortran/info-types.exp: Likewise. > + * gdb.fortran/intrinsics.exp: Likewise. > + * gdb.fortran/library-module.exp: Likewise. > + * gdb.fortran/logical.exp: Likewise. > + * gdb.fortran/max-depth.exp: Likewise. > + * gdb.fortran/module.exp: Likewise. > + * gdb.fortran/multi-dim.exp: Likewise. > + * gdb.fortran/nested-funcs.exp: Likewise. > + * gdb.fortran/print-formatted.exp: Likewise. > + * gdb.fortran/print_type.exp: Likewise. > + * gdb.fortran/printing-types.exp: Likewise. > + * gdb.fortran/ptr-indentation.exp: Likewise. > + * gdb.fortran/ptype-on-functions.exp: Likewise. > + * gdb.fortran/subarray.exp: Likewise. > + * gdb.fortran/vla-alloc-assoc.exp: Likewise. > + * gdb.fortran/vla-datatypes.exp: Likewise. > + * gdb.fortran/vla-history.exp: Likewise. > + * gdb.fortran/vla-ptr-info.exp: Likewise. > + * gdb.fortran/vla-ptype-sub.exp: Likewise. > + * gdb.fortran/vla-ptype.exp: Likewise. > + * gdb.fortran/vla-sizeof.exp: Likewise. > + * gdb.fortran/vla-type.exp: Likewise. > + * gdb.fortran/vla-value-sub-arbitrary.exp: Likewise. > + * gdb.fortran/vla-value-sub-finish.exp: Likewise. > + * gdb.fortran/vla-value-sub.exp: Likewise. > + * gdb.fortran/vla-value.exp: Likewise. > + * gdb.fortran/whatis_type.exp: Likewise. > + * gdb.mi/mi-var-child-f.exp: Likewise. > + > 2020-04-23 Tom de Vries > > * gdb.base/decl-before-def.exp: Run to main and print a again. > diff --git a/gdb/testsuite/gdb.fortran/array-bounds-high.exp=20 > b/gdb/testsuite/gdb.fortran/array-bounds-high.exp > index 81e2f87b89..07688c44bf 100644 > --- a/gdb/testsuite/gdb.fortran/array-bounds-high.exp > +++ b/gdb/testsuite/gdb.fortran/array-bounds-high.exp > @@ -20,13 +20,14 @@ if { [skip_fortran_tests] } { return -1 } > > set testfile "array-bounds-high" > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing $testfile.exp $testfile $srcfile {f90 debug}]} = { > return -1 > } > > -if {![runto MAIN__]} { > - perror "Could not run to breakpoint `MAIN__'." > +if {![fortran_runto_main]} { > + perror "Could not run to breakpoint `$fmain'." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/array-bounds.exp=20 > b/gdb/testsuite/gdb.fortran/array-bounds.exp > index 12bf5c2db3..b5c33e39c3 100644 > --- a/gdb/testsuite/gdb.fortran/array-bounds.exp > +++ b/gdb/testsuite/gdb.fortran/array-bounds.exp > @@ -20,13 +20,14 @@ if { [skip_fortran_tests] } { return -1 } > > set testfile "array-bounds" > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing $testfile.exp $testfile $srcfile {f90 debug}]} = { > return -1 > } > > -if {![runto MAIN__]} { > - perror "Could not run to breakpoint `MAIN__'." > +if {![fortran_runto_main]} { > + perror "Could not run to breakpoint `$fmain'." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/array-slices.exp=20 > b/gdb/testsuite/gdb.fortran/array-slices.exp > index 11997f926a..4ca1db90f7 100644 > --- a/gdb/testsuite/gdb.fortran/array-slices.exp > +++ b/gdb/testsuite/gdb.fortran/array-slices.exp > @@ -21,13 +21,14 @@ > if {[skip_fortran_tests]} { return -1 } > > standard_testfile ".f90" > +load_lib fortran.exp > > if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \ > {debug f90}]} { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/block-data.exp=20 > b/gdb/testsuite/gdb.fortran/block-data.exp > index 292afe6c16..420797fd29 100644 > --- a/gdb/testsuite/gdb.fortran/block-data.exp > +++ b/gdb/testsuite/gdb.fortran/block-data.exp > @@ -30,8 +30,8 @@ if {[prepare_for_testing $testfile.exp $testfile $srcfi= le {debug f90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - untested "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + untested "couldn't run to breakpoint $fmain" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/charset.exp=20 > b/gdb/testsuite/gdb.fortran/charset.exp > index f0f62f8490..58b7e66f79 100644 > --- a/gdb/testsuite/gdb.fortran/charset.exp > +++ b/gdb/testsuite/gdb.fortran/charset.exp > @@ -19,12 +19,14 @@ > if { [skip_fortran_tests] } { return -1 } > > standard_testfile .f90 > +load_lib fortran.exp > + > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {de= bug additional_flags=3D-fbackslash f90}] } { > return -1 > } > > -if ![runto MAIN__] { > - perror "Couldn't run to MAIN__" > +if ![fortran_runto_main] { > + perror "Couldn't run to $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/common-block.exp=20 > b/gdb/testsuite/gdb.fortran/common-block.exp > index 19c1af0d81..5f7bdd5829 100644 > --- a/gdb/testsuite/gdb.fortran/common-block.exp > +++ b/gdb/testsuite/gdb.fortran/common-block.exp > @@ -27,8 +27,8 @@ if {[prepare_for_testing "failed to prepare" ${testfile= } \ > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/complex.exp=20 > b/gdb/testsuite/gdb.fortran/complex.exp > index c092ab29f1..eb4705812b 100644 > --- a/gdb/testsuite/gdb.fortran/complex.exp > +++ b/gdb/testsuite/gdb.fortran/complex.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f= 90 quiet}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "Couldn't run to MAIN__" > +if ![fortran_runto_main] then { > + perror "Couldn't run to $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/derived-type-function.exp=20 > b/gdb/testsuite/gdb.fortran/derived-type-function.exp > index 1f0f957317..fad7bb9b37 100644 > --- a/gdb/testsuite/gdb.fortran/derived-type-function.exp > +++ b/gdb/testsuite/gdb.fortran/derived-type-function.exp > @@ -21,13 +21,14 @@ > if { [skip_fortran_tests] } { return -1 } > > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f= 90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/derived-type.exp=20 > b/gdb/testsuite/gdb.fortran/derived-type.exp > index f1705bffd8..54aae80263 100644 > --- a/gdb/testsuite/gdb.fortran/derived-type.exp > +++ b/gdb/testsuite/gdb.fortran/derived-type.exp > @@ -27,8 +27,8 @@ if {[prepare_for_testing "failed to prepare" $testfile = $srcfile {debug f90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/info-modules.exp=20 > b/gdb/testsuite/gdb.fortran/info-modules.exp > index 0c3c6a58e1..e1d96d6ced 100644 > --- a/gdb/testsuite/gdb.fortran/info-modules.exp > +++ b/gdb/testsuite/gdb.fortran/info-modules.exp > @@ -28,8 +28,8 @@ if { [prepare_for_testing "failed to prepare" $testfile= \ > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![fortran_runto_main] } { > + perror "Could not run to breakpoint `$fmain'." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/info-types.exp=20 > b/gdb/testsuite/gdb.fortran/info-types.exp > index 2138937782..0c509e505d 100644 > --- a/gdb/testsuite/gdb.fortran/info-types.exp > +++ b/gdb/testsuite/gdb.fortran/info-types.exp > @@ -27,8 +27,8 @@ if { [prepare_for_testing "failed to prepare" $testfile= \ > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![fortran_runto_main] } { > + perror "Could not run to breakpoint `$fmain'." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/intrinsics.exp=20 > b/gdb/testsuite/gdb.fortran/intrinsics.exp > index 504bce4138..800450cd3e 100644 > --- a/gdb/testsuite/gdb.fortran/intrinsics.exp > +++ b/gdb/testsuite/gdb.fortran/intrinsics.exp > @@ -25,8 +25,8 @@ if { [prepare_for_testing "failed to prepare" $testfile= $srcfile {debug f90}] } > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![fortran_runto_main] } { > + perror "Could not run to breakpoint `$fmain'." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/library-module.exp=20 > b/gdb/testsuite/gdb.fortran/library-module.exp > index f25988e32c..22475690b9 100644 > --- a/gdb/testsuite/gdb.fortran/library-module.exp > +++ b/gdb/testsuite/gdb.fortran/library-module.exp > @@ -40,9 +40,10 @@ if { [gdb_compile $srcdir/$subdir/$srcfile=20 > $binfile executable [list debug f90 clean_restart $testfile > > gdb_load_shlib $libfile > +load_lib fortran.exp > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/logical.exp=20 > b/gdb/testsuite/gdb.fortran/logical.exp > index 324714fa49..d93c95bba5 100644 > --- a/gdb/testsuite/gdb.fortran/logical.exp > +++ b/gdb/testsuite/gdb.fortran/logical.exp > @@ -16,13 +16,14 @@ > # This file was written by Jan Kratochvil . > > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f= 90 quiet}]} { > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![fortran_runto_main] } { > + perror "Could not run to breakpoint `$fmain'." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/max-depth.exp=20 > b/gdb/testsuite/gdb.fortran/max-depth.exp > index 262d0fdfa1..889e0be110 100644 > --- a/gdb/testsuite/gdb.fortran/max-depth.exp > +++ b/gdb/testsuite/gdb.fortran/max-depth.exp > @@ -26,8 +26,8 @@ if { [prepare_for_testing "failed to prepare" $testfile= $srcfile {debug f90}] } > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![fortran_runto_main] } { > + perror "Could not run to breakpoint `$fmain'." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/module.exp=20 > b/gdb/testsuite/gdb.fortran/module.exp > index 1c269e2fed..7b57ff78b4 100644 > --- a/gdb/testsuite/gdb.fortran/module.exp > +++ b/gdb/testsuite/gdb.fortran/module.exp > @@ -29,8 +29,8 @@ gdb_test "p modmany::var_i" " =3D 14" "stopped language= detection" > > gdb_test "print mod1::var_const" " =3D 20" "fully qualified name of DW_T= AG_constant" > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > @@ -123,7 +123,7 @@ complete "modmany::var" $modmany_list #=20 > Breakpoint would work in language "c". > gdb_test "show language" {The current source language is "(auto;=20 > currently )?fortran".} > > -# gcc-4.4.2: The main program is always MAIN__ in .symtab so "runto"=20 > above > +# gcc-4.4.2: The main program is always $fmain in .symtab so "runto"=20 > +above > # works. But DWARF DW_TAG_subprogram contains the name specified by =20 > # the "program" Fortran statement. > if [gdb_breakpoint "module"] { > diff --git a/gdb/testsuite/gdb.fortran/multi-dim.exp=20 > b/gdb/testsuite/gdb.fortran/multi-dim.exp > index 05590914df..cc3cdc88de 100644 > --- a/gdb/testsuite/gdb.fortran/multi-dim.exp > +++ b/gdb/testsuite/gdb.fortran/multi-dim.exp > @@ -25,8 +25,8 @@ if { [prepare_for_testing "failed to prepare" ${testfil= e} ${srcfile} {debug f90} > return -1 > } > > -if ![runto MAIN__] { > - perror "Couldn't run to MAIN__" > +if ![fortran_runto_main] { > + perror "Couldn't run to $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/nested-funcs.exp=20 > b/gdb/testsuite/gdb.fortran/nested-funcs.exp > index e4fc02ffa5..1c87fea3b6 100755 > --- a/gdb/testsuite/gdb.fortran/nested-funcs.exp > +++ b/gdb/testsuite/gdb.fortran/nested-funcs.exp > @@ -25,8 +25,8 @@ if {[prepare_for_testing "failed to prepare" $testfile = $srcfile {debug f90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/print-formatted.exp=20 > b/gdb/testsuite/gdb.fortran/print-formatted.exp > index 8c6529ce7f..adb9e2e996 100644 > --- a/gdb/testsuite/gdb.fortran/print-formatted.exp > +++ b/gdb/testsuite/gdb.fortran/print-formatted.exp > @@ -25,8 +25,8 @@ if { [prepare_for_testing "failed to prepare" $testfile= $srcfile {debug f90}] } > return -1 > } > > -if { ![runto MAIN__] } { > - fail "runto MAIN__" > +if { ![fortran_runto_main] } { > + fail "fortran_runto_main" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/print_type.exp=20 > b/gdb/testsuite/gdb.fortran/print_type.exp > index 7d5915390d..fcedb9579a 100755 > --- a/gdb/testsuite/gdb.fortran/print_type.exp > +++ b/gdb/testsuite/gdb.fortran/print_type.exp > @@ -24,7 +24,7 @@ if { [prepare_for_testing ${testfile}.exp ${testfile} $= {srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/printing-types.exp=20 > b/gdb/testsuite/gdb.fortran/printing-types.exp > index 2c88f9e003..e68386eea7 100644 > --- a/gdb/testsuite/gdb.fortran/printing-types.exp > +++ b/gdb/testsuite/gdb.fortran/printing-types.exp > @@ -16,13 +16,14 @@ > if {[skip_fortran_tests]} { return -1 } > > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug f90}]} = { > return -1 > } > > -if {![runto MAIN__]} then { > - untested "could not run to breakpoint MAIN__" > +if {![fortran_runto_main]} then { > + untested "could not run to breakpoint $fmain" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/ptr-indentation.exp=20 > b/gdb/testsuite/gdb.fortran/ptr-indentation.exp > index 285e24e2cc..10debb417a 100644 > --- a/gdb/testsuite/gdb.fortran/ptr-indentation.exp > +++ b/gdb/testsuite/gdb.fortran/ptr-indentation.exp > @@ -22,8 +22,8 @@ if {[prepare_for_testing $testfile.exp $testfile $srcfi= le {debug f90}]} { > return -1 > } > > -if {![runto MAIN__]} then { > - untested "couldn't run to breakpoint MAIN__" > +if {![fortran_runto_main]} then { > + untested "couldn't run to breakpoint $fmain" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/ptype-on-functions.exp=20 > b/gdb/testsuite/gdb.fortran/ptype-on-functions.exp > index d91e4bd48e..2f9d093dac 100644 > --- a/gdb/testsuite/gdb.fortran/ptype-on-functions.exp > +++ b/gdb/testsuite/gdb.fortran/ptype-on-functions.exp > @@ -24,8 +24,8 @@ if {[prepare_for_testing "failed to prepare" $testfile = $srcfile {debug f90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/subarray.exp=20 > b/gdb/testsuite/gdb.fortran/subarray.exp > index 5e3e8c38cb..6510483509 100644 > --- a/gdb/testsuite/gdb.fortran/subarray.exp > +++ b/gdb/testsuite/gdb.fortran/subarray.exp > @@ -21,6 +21,7 @@ > if { [skip_fortran_tests] } { return -1 } > > standard_testfile .f > +load_lib fortran.exp > > if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f= 90}]} { > return -1 > @@ -31,8 +32,8 @@ gdb_start > gdb_reinitialize_dir $srcdir/$subdir > gdb_load ${binfile} > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp=20 > b/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp > index 5d8585c2ee..2ae0411cf1 100644 > --- a/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp > +++ b/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-datatypes.exp=20 > b/gdb/testsuite/gdb.fortran/vla-datatypes.exp > index 2db9b3e110..b69636f600 100644 > --- a/gdb/testsuite/gdb.fortran/vla-datatypes.exp > +++ b/gdb/testsuite/gdb.fortran/vla-datatypes.exp > @@ -24,7 +24,7 @@ if { [prepare_for_testing "failed to prepare"=20 > ${testfile} ${srcfile} \ # check that all fortran standard datatypes=20 > will be # handled correctly when using as VLA's > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-history.exp=20 > b/gdb/testsuite/gdb.fortran/vla-history.exp > index 24bd945f4a..3bf98db197 100644 > --- a/gdb/testsuite/gdb.fortran/vla-history.exp > +++ b/gdb/testsuite/gdb.fortran/vla-history.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-ptr-info.exp=20 > b/gdb/testsuite/gdb.fortran/vla-ptr-info.exp > index 24c7b45840..d3fa595bea 100644 > --- a/gdb/testsuite/gdb.fortran/vla-ptr-info.exp > +++ b/gdb/testsuite/gdb.fortran/vla-ptr-info.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp=20 > b/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp > index 09909e74b0..07a4a5fc2e 100644 > --- a/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp > +++ b/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp > @@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfil= e} ${srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-ptype.exp=20 > b/gdb/testsuite/gdb.fortran/vla-ptype.exp > index 22b2005317..bbb81ea0c8 100644 > --- a/gdb/testsuite/gdb.fortran/vla-ptype.exp > +++ b/gdb/testsuite/gdb.fortran/vla-ptype.exp > @@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfil= e} ${srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-sizeof.exp=20 > b/gdb/testsuite/gdb.fortran/vla-sizeof.exp > index 8e7d36314e..d26b8c60f8 100644 > --- a/gdb/testsuite/gdb.fortran/vla-sizeof.exp > +++ b/gdb/testsuite/gdb.fortran/vla-sizeof.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-type.exp=20 > b/gdb/testsuite/gdb.fortran/vla-type.exp > index 6d885e7889..f007ea3a78 100755 > --- a/gdb/testsuite/gdb.fortran/vla-type.exp > +++ b/gdb/testsuite/gdb.fortran/vla-type.exp > @@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfil= e} ${srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp=20 > b/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp > index ab61dde06f..c3ed909a81 100644 > --- a/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp > +++ b/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla-sub.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp=20 > b/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp > index afd992cee4..403e411cc2 100644 > --- a/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp > +++ b/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla-sub.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-value-sub.exp=20 > b/gdb/testsuite/gdb.fortran/vla-value-sub.exp > index 3311f6befa..fd923edf40 100644 > --- a/gdb/testsuite/gdb.fortran/vla-value-sub.exp > +++ b/gdb/testsuite/gdb.fortran/vla-value-sub.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla-sub.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-value.exp=20 > b/gdb/testsuite/gdb.fortran/vla-value.exp > index 5af17b570c..5e696fd4f3 100644 > --- a/gdb/testsuite/gdb.fortran/vla-value.exp > +++ b/gdb/testsuite/gdb.fortran/vla-value.exp > @@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfil= e} ${srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > @@ -129,8 +129,8 @@ gdb_test "print vla1(9, 9, 9)" "no such vector=20 > element \\\(vector not allocated\ # Try to assign VLA to user=20 > variable clean_restart ${testfile} > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > gdb_breakpoint [gdb_get_line_number "vla2-allocated"] diff --git=20 > a/gdb/testsuite/gdb.fortran/whatis_type.exp=20 > b/gdb/testsuite/gdb.fortran/whatis_type.exp > index 6a9cc0a81e..44b256c325 100644 > --- a/gdb/testsuite/gdb.fortran/whatis_type.exp > +++ b/gdb/testsuite/gdb.fortran/whatis_type.exp > @@ -23,8 +23,8 @@ if { [prepare_for_testing "failed to prepare" ${testfil= e} \ > return -1 > } > > -if ![runto MAIN__] { > - fail "run to MAIN__" > +if ![fortran_runto_main] { > + fail "run to $fmain" > return > } > > diff --git a/gdb/testsuite/gdb.mi/mi-var-child-f.exp=20 > b/gdb/testsuite/gdb.mi/mi-var-child-f.exp > index 8cfffa7c08..363da0b7ed 100644 > --- a/gdb/testsuite/gdb.mi/mi-var-child-f.exp > +++ b/gdb/testsuite/gdb.mi/mi-var-child-f.exp > @@ -36,7 +36,7 @@ if {[gdb_compile "${srcdir}/${subdir}/${srcfile}"=20 > "${binfile}" \ mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load=20 > ${binfile} > > -mi_runto MAIN__ > +mi_runto $fmain > > mi_create_varobj "array" "array" "create local variable array" > > diff --git a/gdb/testsuite/lib/fortran.exp=20 > b/gdb/testsuite/lib/fortran.exp index 549ed65790..9451e96000 100644 > --- a/gdb/testsuite/lib/fortran.exp > +++ b/gdb/testsuite/lib/fortran.exp > @@ -18,6 +18,8 @@ > # Auxiliary function to set the language to fortran. > # The result is 1 (true) for success, 0 (false) for failure. > > +global fmain > + > proc set_lang_fortran {} { > if [gdb_test_no_output "set language fortran"] { > return 0 > @@ -126,3 +128,23 @@ proc fortran_character1 {} { > return "unknown" > } > } > + > +proc fortran_main {} { > + if {[test_compiler_info {gcc-4-[012]-*}] > + || [test_compiler_info {gcc-*}] > + || [test_compiler_info {icc-*}]} { > + return "MAIN__" > + } elseif {[test_compiler_info {clang-*}]} { > + return "MAIN_" > + } else { > + return "unknown" > + } > +} > + > +set fmain [fortran_main] Sorry to be a massive pain, but could you just drop the use of $fmain entir= ely, and replace the code in gdb.fortran/*.exp that references $fmain with = just 'main'. We already do this for go, and in many Fortran tests. Adding $fmain doesn't seem to add much and is just another library variable= that might clash with a user variable. With that change made this patch is approved. Thanks, Andrew > + > +# fortran version of runto_main. > + > +proc fortran_runto_main { } { > + return [runto [fortran_main]] > +} > -- > 2.17.1 --_002_BY5PR12MB3859075E820E1ABEFB0184FF9EAF0BY5PR12MB3859namp_ Content-Type: application/octet-stream; name="0001-gdb-fortran-Allow-Flang-MAIN_-in-Fortran-testing.patch" Content-Description: 0001-gdb-fortran-Allow-Flang-MAIN_-in-Fortran-testing.patch Content-Disposition: attachment; filename="0001-gdb-fortran-Allow-Flang-MAIN_-in-Fortran-testing.patch"; size=29335; creation-date="Fri, 24 Apr 2020 09:24:29 GMT"; modification-date="Mon, 27 Apr 2020 17:58:17 GMT" Content-Transfer-Encoding: base64 RnJvbSA3NWU1NWU0MWRkYzgzZWUzZGI2ODc5ZmQ5NTViYWYzMWQxMzAxYmE0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbG9rIEt1bWFyIFNoYXJtYSA8QWxva0t1bWFyLlNoYXJtYUBh bWQuY29tPgpEYXRlOiBGcmksIDI0IEFwciAyMDIwIDE0OjQ2OjA5ICswNTMwClN1YmplY3Q6IFtQ QVRDSF0gZ2RiL2ZvcnRyYW46IEFsbG93IEZsYW5nIE1BSU5fIGluIEZvcnRyYW4gdGVzdGluZwoK TmFtZSBvZiBmb3J0cmFuIG1haW4gZnVuY3Rpb24gZm9yIEZsYW5nIGNvbXBpbGVyIGlzIE1BSU5f IHdoaWxlCmZvciBnZm9ydHJhbiBpdCBpcyBNQUlOX18gLiBJbiB0ZXN0IGNhc2VzIE1BSU5fXyBp cyBoYXJkY29kZWQgZm9yCnRoZSBwdXJwb3NlIG9mIGluc2VydGluZyBicmVha3BvaW50LgoKTmV3 IHByb2MgaXMgYWRkZWQgdG8gZGV0ZWN0IG1haW4gZnVuY3Rpb24gbmFtZSBkZXBlbmRpbmcgb24g dGhlCmNvbXBpbGVyIHVzZWQuCkZvcnRyYW4gc3BlY2lmaWMgdmVyc2lvbiBvZiBydW50b19tYWlu IG5hbWVkIGZvcnRyYW5fcnVudG9fbWFpbgppcyBhZGRlZC4KClRoaXMgY29tbWl0IGFkZHMgc3Vw cG9ydCBmb3IgRmxhbmcgbWFpbiBmdW5jdGlvbiwgdGhlcmUgc2hvdWxkIGJlCm5vIGNoYW5nZSBm b3IgZ2ZvcnRyYW4uCgpnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwoKCSogbGliL2ZvcnRyYW4uZXhw IChmb3J0cmFuX21haW4pOiBOZXcgUHJvYywgaGFuZGxlIGZsYW5nIE1BSU5fLAoJKGZvcnRyYW5f cnVudG9fbWFpbik6IE5ldyBQcm9jLCBmb3J0cmFuIHZlcnNpb24gb2YgcnVudG9fbWFpbi4KCSog Z2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLWhpZ2guZXhwOiBIYW5kbGUgZmxhbmcgTUFJTl8uCgkq IGdkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9h cnJheS1zbGljZXMuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vYmxvY2stZGF0YS5leHA6 IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9jaGFyc2V0LmV4cDogTGlrZXdpc2UuCgkqIGdkYi5m b3J0cmFuL2NvbW1vbi1ibG9jay5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9jb21wbGV4 LmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS1mdW5jdGlvbi5leHA6 IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUuZXhwOiBMaWtld2lzZS4KCSog Z2RiLmZvcnRyYW4vaW5mby1tb2R1bGVzLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL2lu Zm8tdHlwZXMuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vaW50cmluc2ljcy5leHA6IExp a2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9saWJyYXJ5LW1vZHVsZS5leHA6IExpa2V3aXNlLgoJKiBn ZGIuZm9ydHJhbi9sb2dpY2FsLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL21heC1kZXB0 aC5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9tb2R1bGUuZXhwOiBMaWtld2lzZS4KCSog Z2RiLmZvcnRyYW4vbXVsdGktZGltLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL25lc3Rl ZC1mdW5jcy5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9wcmludC1mb3JtYXR0ZWQuZXhw OiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHA6IExpa2V3aXNlLgoJKiBn ZGIuZm9ydHJhbi9wcmludGluZy10eXBlcy5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9w dHItaW5kZW50YXRpb24uZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vcHR5cGUtb24tZnVu Y3Rpb25zLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3N1YmFycmF5LmV4cDogTGlrZXdp c2UuCgkqIGdkYi5mb3J0cmFuL3ZsYS1hbGxvYy1hc3NvYy5leHA6IExpa2V3aXNlLgoJKiBnZGIu Zm9ydHJhbi92bGEtZGF0YXR5cGVzLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3ZsYS1o aXN0b3J5LmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5leHA6IExp a2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtcHR5cGUtc3ViLmV4cDogTGlrZXdpc2UuCgkqIGdk Yi5mb3J0cmFuL3ZsYS1wdHlwZS5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtc2l6 ZW9mLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cDogTGlrZXdpc2Uu CgkqIGdkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItYXJiaXRyYXJ5LmV4cDogTGlrZXdpc2UuCgkq IGdkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5m b3J0cmFuL3ZsYS12YWx1ZS1zdWIuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vdmxhLXZh bHVlLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3doYXRpc190eXBlLmV4cDogTGlrZXdp c2UuCgkqIGdkYi5taS9taS12YXItY2hpbGQtZi5leHA6IExpa2V3aXNlLgoKQ2hhbmdlLUlkOiBJ MGEzMGY1ZGFkNjg0ODc5YjQxNmY3MWQzZDA4YzM4NWMxNTkzMjViZgotLS0KIGdkYi90ZXN0c3Vp dGUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICB8IDQzICsrKysrKysrKysrKysrKysr KysKIC4uLi9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMtaGlnaC5leHAgICAgICAgICB8ICA1ICsr LQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhwICAgIHwgIDUgKyst CiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LXNsaWNlcy5leHAgICAgfCAgMyArLQog Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9ibG9jay1kYXRhLmV4cCAgICAgIHwgIDQgKy0KIGdk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY2hhcnNldC5leHAgICAgICAgICB8ICA2ICsrLQogZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwICAgIHwgIDQgKy0KIGdkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tcGxleC5leHAgICAgICAgICB8ICA1ICsrLQogLi4uL2dk Yi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS1mdW5jdGlvbi5leHAgICAgIHwgIDUgKystCiBnZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS5leHAgICAgfCAgNCArLQogZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9pbmZvLW1vZHVsZXMuZXhwICAgIHwgIDQgKy0KIGdkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vaW5mby10eXBlcy5leHAgICAgICB8ICA0ICstCiBnZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwICAgICAgfCAgNCArLQogZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9saWJyYXJ5LW1vZHVsZS5leHAgIHwgIDUgKystCiBnZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2xvZ2ljYWwuZXhwICAgICAgICAgfCAgNSArKy0KIGdkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vbWF4LWRlcHRoLmV4cCAgICAgICB8ICA0ICstCiBnZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL21vZHVsZS5leHAgICAgICAgICAgfCAgNiArLS0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vbXVsdGktZGltLmV4cCAgICAgICB8ICA0ICstCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL25lc3RlZC1mdW5jcy5leHAgICAgfCAgNCArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9wcmludC1mb3JtYXR0ZWQuZXhwIHwgIDQgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v cHJpbnRfdHlwZS5leHAgICAgICB8ICAyICstCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3By aW50aW5nLXR5cGVzLmV4cCAgfCAgNSArKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHRy LWluZGVudGF0aW9uLmV4cCB8ICA0ICstCiAuLi4vZ2RiLmZvcnRyYW4vcHR5cGUtb24tZnVuY3Rp b25zLmV4cCAgICAgICAgfCAgNCArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJhcnJh eS5leHAgICAgICAgIHwgIDUgKystCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1hbGxv Yy1hc3NvYy5leHAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZGF0YXR5 cGVzLmV4cCAgIHwgIDIgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWhpc3Rvcnku ZXhwICAgICB8ICAzICstCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5l eHAgICAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUtc3ViLmV4 cCAgIHwgIDIgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cCAgICAg ICB8ICAyICstCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXplb2YuZXhwICAgICAg fCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5leHAgICAgICAgIHwg IDIgKy0KIC4uLi9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWFyYml0cmFyeS5leHAgICB8ICAz ICstCiAuLi4vZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi1maW5pc2guZXhwICAgICAgfCAgMyAr LQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLmV4cCAgIHwgIDMgKy0K IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cCAgICAgICB8ICA2ICstLQog Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi93aGF0aXNfdHlwZS5leHAgICAgIHwgIDQgKy0KIGdk Yi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cCAgICAgICB8ICAyICstCiBnZGIv dGVzdHN1aXRlL2xpYi9mb3J0cmFuLmV4cCAgICAgICAgICAgICAgICAgfCAxOCArKysrKysrKwog NDAgZmlsZXMgY2hhbmdlZCwgMTQzIGluc2VydGlvbnMoKyksIDY0IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nIGIvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VM b2cKaW5kZXggMTA2ODNkYjU2Ni4uMGUzYzIwN2Y4NSAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0 ZS9DaGFuZ2VMb2cKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBA QAorMjAyMC0wNC0yNCAgQWxvayBLdW1hciBTaGFybWEgIDxhbG9ra3VtYXIuc2hhcm1hQGFtZC5j b20+CisKKwkqIGxpYi9mb3J0cmFuLmV4cCAoZm9ydHJhbl9tYWluKTogTmV3IFByb2MsIGhhbmRs ZSBmbGFuZyBNQUlOXywKKwkoZm9ydHJhbl9ydW50b19tYWluKTogTmV3IFByb2MsIGZvcnRyYW4g dmVyc2lvbiBvZiBydW50b19tYWluLgorCSogZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLWhpZ2gu ZXhwOiBIYW5kbGUgZmxhbmcgTUFJTl8KKwkqIGdkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5leHA6 IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vYXJyYXktc2xpY2VzLmV4cDogTGlrZXdpc2UuCisJ KiBnZGIuZm9ydHJhbi9ibG9jay1kYXRhLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9j aGFyc2V0LmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwOiBM aWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL2NvbXBsZXguZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5m b3J0cmFuL2Rlcml2ZWQtdHlwZS1mdW5jdGlvbi5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRy YW4vZGVyaXZlZC10eXBlLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9pbmZvLW1vZHVs ZXMuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL2luZm8tdHlwZXMuZXhwOiBMaWtld2lz ZS4KKwkqIGdkYi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0 cmFuL2xpYnJhcnktbW9kdWxlLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9sb2dpY2Fs LmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9tYXgtZGVwdGguZXhwOiBMaWtld2lzZS4K KwkqIGdkYi5mb3J0cmFuL21vZHVsZS5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vbXVs dGktZGltLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9uZXN0ZWQtZnVuY3MuZXhwOiBM aWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3ByaW50LWZvcm1hdHRlZC5leHA6IExpa2V3aXNlLgor CSogZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4v cHJpbnRpbmctdHlwZXMuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3B0ci1pbmRlbnRh dGlvbi5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vcHR5cGUtb24tZnVuY3Rpb25zLmV4 cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9zdWJhcnJheS5leHA6IExpa2V3aXNlLgorCSog Z2RiLmZvcnRyYW4vdmxhLWFsbG9jLWFzc29jLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJh bi92bGEtZGF0YXR5cGVzLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi92bGEtaGlzdG9y eS5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vdmxhLXB0ci1pbmZvLmV4cDogTGlrZXdp c2UuCisJKiBnZGIuZm9ydHJhbi92bGEtcHR5cGUtc3ViLmV4cDogTGlrZXdpc2UuCisJKiBnZGIu Zm9ydHJhbi92bGEtcHR5cGUuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3ZsYS1zaXpl b2YuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cDogTGlrZXdpc2Uu CisJKiBnZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWFyYml0cmFyeS5leHA6IExpa2V3aXNlLgor CSogZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi1maW5pc2guZXhwOiBMaWtld2lzZS4KKwkqIGdk Yi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWIuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3Zs YS12YWx1ZS5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vd2hhdGlzX3R5cGUuZXhwOiBM aWtld2lzZS4KKwkqIGdkYi5taS9taS12YXItY2hpbGQtZi5leHA6IExpa2V3aXNlLgorCiAyMDIw LTA0LTIzICBUb20gZGUgVnJpZXMgIDx0ZGV2cmllc0BzdXNlLmRlPgogCiAJKiBnZGIuYmFzZS9k ZWNsLWJlZm9yZS1kZWYuZXhwOiBSdW4gdG8gbWFpbiBhbmQgcHJpbnQgYSBhZ2Fpbi4KZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLWhpZ2guZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMtaGlnaC5leHAKaW5kZXggODFl MmY4N2I4OS4uYmEzNGRiYzIzZSAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9hcnJheS1ib3VuZHMtaGlnaC5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9h cnJheS1ib3VuZHMtaGlnaC5leHAKQEAgLTIwLDEzICsyMCwxNCBAQCBpZiB7IFtza2lwX2ZvcnRy YW5fdGVzdHNdIH0geyByZXR1cm4gLTEgfQogCiBzZXQgdGVzdGZpbGUgImFycmF5LWJvdW5kcy1o aWdoIgogc3RhbmRhcmRfdGVzdGZpbGUgLmY5MAorbG9hZF9saWIgZm9ydHJhbi5leHAKIAogaWYg e1twcmVwYXJlX2Zvcl90ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlIHtm OTAgZGVidWd9XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiB7IVtydW50byBNQUlOX19dfSB7 Ci0gICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRvIGJyZWFrcG9pbnQgYE1BSU5fXycuIgoraWYg eyFbZm9ydHJhbl9ydW50b19tYWluXX0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBt YWluLiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2FycmF5LWJvdW5kcy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5 LWJvdW5kcy5leHAKaW5kZXggMTJiZjVjMmRiMy4uM2YyNTI3MzQzYiAxMDA2NDQKLS0tIGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhwCisrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmV4cApAQCAtMjAsMTMgKzIwLDE0IEBAIGlmIHsg W3NraXBfZm9ydHJhbl90ZXN0c10gfSB7IHJldHVybiAtMSB9CiAKIHNldCB0ZXN0ZmlsZSAiYXJy YXktYm91bmRzIgogc3RhbmRhcmRfdGVzdGZpbGUgLmY5MAorbG9hZF9saWIgZm9ydHJhbi5leHAK IAogaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNm aWxlIHtmOTAgZGVidWd9XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiB7IVtydW50byBNQUlO X19dfSB7Ci0gICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRvIGJyZWFrcG9pbnQgYE1BSU5fXycu IgoraWYgeyFbZm9ydHJhbl9ydW50b19tYWluXX0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1 biB0byBtYWluLiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2FycmF5LXNsaWNlcy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2FycmF5LXNsaWNlcy5leHAKaW5kZXggMTE5OTdmOTI2YS4uNGNhMWRiOTBmNyAxMDA2NDQKLS0t IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1zbGljZXMuZXhwCisrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktc2xpY2VzLmV4cApAQCAtMjEsMTMgKzIxLDE0IEBA CiBpZiB7W3NraXBfZm9ydHJhbl90ZXN0c119IHsgcmV0dXJuIC0xIH0KIAogc3RhbmRhcmRfdGVz dGZpbGUgIi5mOTAiCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBpZiB7W3ByZXBhcmVfZm9yX3Rl c3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAogCSB7ZGVidWcg ZjkwfV19IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW2Zv cnRyYW5fcnVudG9fbWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4i CiAgICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2Jsb2NrLWRhdGEuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9ibG9jay1kYXRhLmV4 cAppbmRleCAyOTJhZmU2YzE2Li42MzJjMDE0MWEzIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2Jsb2NrLWRhdGEuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vYmxvY2stZGF0YS5leHAKQEAgLTMwLDggKzMwLDggQEAgaWYge1twcmVwYXJlX2Zvcl90ZXN0 aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XX0gewogICAg IHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgdW50ZXN0ZWQg ImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50IE1BSU5fXyIKK2lmICFbZm9ydHJhbl9ydW50b19t YWluXSB0aGVuIHsKKyAgICB1bnRlc3RlZCAiY291bGRuJ3QgcnVuIHRvIG1haW4iCiAgICAgcmV0 dXJuIC0xCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY2hhcnNl dC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NoYXJzZXQuZXhwCmluZGV4IGYwZjYy Zjg0OTAuLmZjNTA0YWUwYjAgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v Y2hhcnNldC5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jaGFyc2V0LmV4cApA QCAtMTksMTIgKzE5LDE0IEBACiBpZiB7IFtza2lwX2ZvcnRyYW5fdGVzdHNdIH0geyByZXR1cm4g LTEgfQogCiBzdGFuZGFyZF90ZXN0ZmlsZSAuZjkwCitsb2FkX2xpYiBmb3J0cmFuLmV4cAorCiBp ZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0g JHtzcmNmaWxlfSB7ZGVidWcgYWRkaXRpb25hbF9mbGFncz0tZmJhY2tzbGFzaCBmOTB9XSB9IHsK ICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50byBNQUlOX19dIHsKLSAgICBwZXJyb3IgIkNv dWxkbid0IHJ1biB0byBNQUlOX18iCitpZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0geworICAgIHBl cnJvciAiQ291bGRuJ3QgcnVuIHRvIG1haW4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwCmluZGV4IDE5YzFhZjBkODEuLjNkYWNm ZDMyYjIgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tbW9uLWJsb2Nr LmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5leHAKQEAg LTI3LDggKzI3LDggQEAgaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFy ZSIgJHt0ZXN0ZmlsZX0gXAogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvIE1BSU5fX10g dGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18iCitp ZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gdGhlbiB7CisgICAgcGVycm9yICJjb3VsZG4ndCBydW4g dG8gbWFpbiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2NvbXBsZXguZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21wbGV4 LmV4cAppbmRleCBjMDkyYWIyOWYxLi5hODhlNTUzZTU4IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL2NvbXBsZXguZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vY29tcGxleC5leHAKQEAgLTE0LDEzICsxNCwxNCBAQAogIyBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KIAogc3Rh bmRhcmRfdGVzdGZpbGUgLmY5MAorbG9hZF9saWIgZm9ydHJhbi5leHAKIAogaWYge1twcmVwYXJl X2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1 ZyBmOTAgcXVpZXR9XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvIE1BSU5fX10g dGhlbiB7Ci0gICAgcGVycm9yICJDb3VsZG4ndCBydW4gdG8gTUFJTl9fIgoraWYgIVtmb3J0cmFu X3J1bnRvX21haW5dIHRoZW4geworICAgIHBlcnJvciAiQ291bGRuJ3QgcnVuIHRvIG1haW4iCiAg ICAgY29udGludWUKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9k ZXJpdmVkLXR5cGUtZnVuY3Rpb24uZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kZXJp dmVkLXR5cGUtZnVuY3Rpb24uZXhwCmluZGV4IDFmMGY5NTczMTcuLjJhZTZmNDZjMWUgMTAwNjQ0 Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZGVyaXZlZC10eXBlLWZ1bmN0aW9uLmV4 cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS1mdW5jdGlvbi5l eHAKQEAgLTIxLDEzICsyMSwxNCBAQAogaWYgeyBbc2tpcF9mb3J0cmFuX3Rlc3RzXSB9IHsgcmV0 dXJuIC0xIH0KIAogc3RhbmRhcmRfdGVzdGZpbGUgLmY5MAorbG9hZF9saWIgZm9ydHJhbi5leHAK IAogaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxl ICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRv IE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBN QUlOX18iCitpZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gdGhlbiB7CisgICAgcGVycm9yICJjb3Vs ZG4ndCBydW4gdG8gbWFpbiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2Rlcml2ZWQtdHlwZS5leHAKaW5kZXggZjE3MDViZmZkOC4uNGI4NmJhOTdkZSAxMDA2 NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUuZXhwCisrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZGVyaXZlZC10eXBlLmV4cApAQCAtMjcsOCArMjcs OCBAQCBpZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAkdGVzdGZp bGUgJHNyY2ZpbGUge2RlYnVnIGY5MH1dfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVu dG8gTUFJTl9fXSB0aGVuIHsKLSAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50 IE1BSU5fXyIKK2lmICFbZm9ydHJhbl9ydW50b19tYWluXSB0aGVuIHsKKyAgICBwZXJyb3IgImNv dWxkbid0IHJ1biB0byBtYWluIgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW5mby1tb2R1bGVzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vaW5mby1tb2R1bGVzLmV4cAppbmRleCAwYzNjNmE1OGUxLi5hM2E5YjJjYjE4IDEw MDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2luZm8tbW9kdWxlcy5leHAKKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbmZvLW1vZHVsZXMuZXhwCkBAIC0yOCw4ICsy OCw4IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAkdGVz dGZpbGUgXAogICAgIHJldHVybiAtMQogfQogCi1pZiB7ICFbcnVudG8gTUFJTl9fXSB9IHsKLSAg ICBwZXJyb3IgIkNvdWxkIG5vdCBydW4gdG8gYnJlYWtwb2ludCBgTUFJTl9fJy4iCitpZiB7ICFb Zm9ydHJhbl9ydW50b19tYWluXSB9IHsKKyAgICBwZXJyb3IgIkNvdWxkIG5vdCBydW4gdG8gbWFp bi4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9pbmZvLXR5cGVzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW5mby10eXBl cy5leHAKaW5kZXggMjEzODkzNzc4Mi4uZTgwYzk5MGE4NSAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9pbmZvLXR5cGVzLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2luZm8tdHlwZXMuZXhwCkBAIC0yNyw4ICsyNyw4IEBAIGlmIHsgW3ByZXBhcmVfZm9y X3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAkdGVzdGZpbGUgXAogICAgIHJldHVybiAtMQog fQogCi1pZiB7ICFbcnVudG8gTUFJTl9fXSB9IHsKLSAgICBwZXJyb3IgIkNvdWxkIG5vdCBydW4g dG8gYnJlYWtwb2ludCBgTUFJTl9fJy4iCitpZiB7ICFbZm9ydHJhbl9ydW50b19tYWluXSB9IHsK KyAgICBwZXJyb3IgIkNvdWxkIG5vdCBydW4gdG8gbWFpbi4iCiAgICAgY29udGludWUKIH0KIApk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbnRyaW5zaWNzLmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW50cmluc2ljcy5leHAKaW5kZXggNTA0YmNlNDEzOC4u MmNiMDIzN2M5NSAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbnRyaW5z aWNzLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwCkBA IC0yNSw4ICsyNSw4IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVw YXJlIiAkdGVzdGZpbGUgJHNyY2ZpbGUge2RlYnVnIGY5MH1dIH0KICAgICByZXR1cm4gLTEKIH0K IAotaWYgeyAhW3J1bnRvIE1BSU5fX10gfSB7Ci0gICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRv IGJyZWFrcG9pbnQgYE1BSU5fXycuIgoraWYgeyAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gfSB7Cisg ICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRvIG1haW4uIgogICAgIGNvbnRpbnVlCiB9CiAKZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbGlicmFyeS1tb2R1bGUuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9saWJyYXJ5LW1vZHVsZS5leHAKaW5kZXggZjI1OTg4 ZTMyYy4uODI1NGZjZjEwYSAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9s aWJyYXJ5LW1vZHVsZS5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9saWJyYXJ5 LW1vZHVsZS5leHAKQEAgLTQwLDkgKzQwLDEwIEBAIGlmICB7IFtnZGJfY29tcGlsZSAkc3JjZGly LyRzdWJkaXIvJHNyY2ZpbGUgJGJpbmZpbGUgZXhlY3V0YWJsZSBbbGlzdCBkZWJ1ZyBmOTAKIGNs ZWFuX3Jlc3RhcnQgJHRlc3RmaWxlCiAKIGdkYl9sb2FkX3NobGliICRsaWJmaWxlCitsb2FkX2xp YiBmb3J0cmFuLmV4cAogCi1pZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJj b3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18iCitpZiAhW2ZvcnRyYW5fcnVudG9fbWFp bl0gdGhlbiB7CisgICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gbWFpbiIKICAgICBjb250aW51 ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xvZ2ljYWwuZXhw IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9sb2dpY2FsLmV4cAppbmRleCAzMjQ3MTRmYTQ5 Li4xNjFiYmRkOTA4IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xvZ2lj YWwuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbG9naWNhbC5leHAKQEAgLTE2 LDEzICsxNiwxNCBAQAogIyBUaGlzIGZpbGUgd2FzIHdyaXR0ZW4gYnkgSmFuIEtyYXRvY2h2aWwg PGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAuZjkwCits b2FkX2xpYiBmb3J0cmFuLmV4cAogCiBpZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0 byBwcmVwYXJlIiAkdGVzdGZpbGUgJHNyY2ZpbGUge2RlYnVnIGY5MCBxdWlldH1dfSB7CiAgICAg cmV0dXJuIC0xCiB9CiAKLWlmIHsgIVtydW50byBNQUlOX19dIH0gewotICAgIHBlcnJvciAiQ291 bGQgbm90IHJ1biB0byBicmVha3BvaW50IGBNQUlOX18nLiIKK2lmIHsgIVtmb3J0cmFuX3J1bnRv X21haW5dIH0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBtYWluLiIKICAgICBjb250 aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21heC1kZXB0 aC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21heC1kZXB0aC5leHAKaW5kZXggMjYy ZDBmZGZhMS4uNDIwYjcyNTM5ZiAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9tYXgtZGVwdGguZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbWF4LWRlcHRo LmV4cApAQCAtMjYsOCArMjYsOCBAQCBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQg dG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XSB9CiAgICAgcmV0dXJu IC0xCiB9CiAKLWlmIHsgIVtydW50byBNQUlOX19dIH0gewotICAgIHBlcnJvciAiQ291bGQgbm90 IHJ1biB0byBicmVha3BvaW50IGBNQUlOX18nLiIKK2lmIHsgIVtmb3J0cmFuX3J1bnRvX21haW5d IH0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBtYWluLiIKICAgICBjb250aW51ZQog fQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21vZHVsZS5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21vZHVsZS5leHAKaW5kZXggMWMyNjllMmZlZC4uNGE4 MjUxYzQ0YyAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9tb2R1bGUuZXhw CisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbW9kdWxlLmV4cApAQCAtMjksOCArMjks OCBAQCBnZGJfdGVzdCAicCBtb2RtYW55Ojp2YXJfaSIgIiA9IDE0IiAic3RvcHBlZCBsYW5ndWFn ZSBkZXRlY3Rpb24iCiAKIGdkYl90ZXN0ICJwcmludCBtb2QxOjp2YXJfY29uc3QiICIgPSAyMCIg ImZ1bGx5IHF1YWxpZmllZCBuYW1lIG9mIERXX1RBR19jb25zdGFudCIKIAotaWYgIVtydW50byBN QUlOX19dIHRoZW4gewotICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgTUFJ Tl9fIgoraWYgIVtmb3J0cmFuX3J1bnRvX21haW5dIHRoZW4geworICAgIHBlcnJvciAiY291bGRu J3QgcnVuIHRvIG1haW4iCiAgICAgY29udGludWUKIH0KIApAQCAtMTIzLDcgKzEyMyw3IEBAIGNv bXBsZXRlICJtb2RtYW55Ojp2YXIiICRtb2RtYW55X2xpc3QKICMgQnJlYWtwb2ludCB3b3VsZCB3 b3JrIGluIGxhbmd1YWdlICJjIi4KIGdkYl90ZXN0ICJzaG93IGxhbmd1YWdlIiB7VGhlIGN1cnJl bnQgc291cmNlIGxhbmd1YWdlIGlzICIoYXV0bzsgY3VycmVudGx5ICk/Zm9ydHJhbiIufQogCi0j IGdjYy00LjQuMjogVGhlIG1haW4gcHJvZ3JhbSBpcyBhbHdheXMgTUFJTl9fIGluIC5zeW10YWIg c28gInJ1bnRvIiBhYm92ZQorIyBnY2MtNC40LjI6IFRoZSBtYWluIHByb2dyYW0gaXMgYWx3YXlz ICRmbWFpbiBpbiAuc3ltdGFiIHNvICJydW50byIgYWJvdmUKICMgd29ya3MuICBCdXQgRFdBUkYg RFdfVEFHX3N1YnByb2dyYW0gY29udGFpbnMgdGhlIG5hbWUgc3BlY2lmaWVkIGJ5CiAjIHRoZSAi cHJvZ3JhbSIgRm9ydHJhbiBzdGF0ZW1lbnQuCiBpZiBbZ2RiX2JyZWFrcG9pbnQgIm1vZHVsZSJd IHsKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbXVsdGktZGltLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbXVsdGktZGltLmV4cAppbmRleCAwNTU5MDkxNGRm Li5lZjZjNmRhOGJkIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL211bHRp LWRpbS5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9tdWx0aS1kaW0uZXhwCkBA IC0yNSw4ICsyNSw4IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVw YXJlIiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IHtkZWJ1ZyBmOTB9CiAgICAgcmV0dXJuIC0xCiB9 CiAKLWlmICFbcnVudG8gTUFJTl9fXSB7Ci0gICAgcGVycm9yICJDb3VsZG4ndCBydW4gdG8gTUFJ Tl9fIgoraWYgIVtmb3J0cmFuX3J1bnRvX21haW5dIHsKKyAgICBwZXJyb3IgIkNvdWxkbid0IHJ1 biB0byBtYWluIgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vbmVzdGVkLWZ1bmNzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v bmVzdGVkLWZ1bmNzLmV4cAppbmRleCBlNGZjMDJmZmE1Li45ZTAwNzNkMjEwIDEwMDc1NQotLS0g YS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL25lc3RlZC1mdW5jcy5leHAKKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9uZXN0ZWQtZnVuY3MuZXhwCkBAIC0yNSw4ICsyNSw4IEBAIGlm IHtbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0ZmlsZSAkc3Jj ZmlsZSB7ZGVidWcgZjkwfV19IHsKICAgICByZXR1cm4gLTENCiB9DQogDQotaWYgIVtydW50byBN QUlOX19dIHRoZW4gew0KLSAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50IE1B SU5fXyINCitpZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gdGhlbiB7DQorICAgIHBlcnJvciAiY291 bGRuJ3QgcnVuIHRvIG1haW4iDQogICAgIGNvbnRpbnVlDQogfQ0KIA0KZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnQtZm9ybWF0dGVkLmV4cCBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vcHJpbnQtZm9ybWF0dGVkLmV4cAppbmRleCA4YzY1MjljZTdmLi5lNzEy ODc3MjRiIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50LWZvcm1h dHRlZC5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludC1mb3JtYXR0ZWQu ZXhwCkBAIC0yNSw4ICsyNSw4IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0 byBwcmVwYXJlIiAkdGVzdGZpbGUgJHNyY2ZpbGUge2RlYnVnIGY5MH1dIH0KICAgICByZXR1cm4g LTEKIH0KIAotaWYgeyAhW3J1bnRvIE1BSU5fX10gfSB7Ci0gICAgZmFpbCAicnVudG8gTUFJTl9f IgoraWYgeyAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gfSB7CisgICAgZmFpbCAiY291bGQgbm90IHJ1 biB0byBtYWluIgogICAgIHJldHVybiAtMQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ByaW50X3R5cGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9w cmludF90eXBlLmV4cAppbmRleCA3ZDU5MTUzOTBkLi5mY2VkYjk1NzlhIDEwMDc1NQotLS0gYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50X3R5cGUuZXhwCisrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAKQEAgLTI0LDcgKzI0LDcgQEAgaWYgeyBbcHJl cGFyZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBc CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG9fbWFpbl0geworaWYgIVtmb3J0cmFuX3J1 bnRvX21haW5dIHsKICAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBtYWluIgogICAgIHJl dHVybiAtMQogfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludGlu Zy10eXBlcy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50aW5nLXR5cGVzLmV4 cAppbmRleCAyYzg4ZjllMDAzLi40NGZkOTNjYzU2IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ByaW50aW5nLXR5cGVzLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3ByaW50aW5nLXR5cGVzLmV4cApAQCAtMTYsMTMgKzE2LDE0IEBACiBpZiB7W3NraXBf Zm9ydHJhbl90ZXN0c119IHsgcmV0dXJuIC0xIH0KIAogc3RhbmRhcmRfdGVzdGZpbGUgLmY5MAor bG9hZF9saWIgZm9ydHJhbi5leHAKIAogaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICR0ZXN0Zmls ZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XX0gewogICAgIHJldHVybiAtMQog fQogCi1pZiB7IVtydW50byBNQUlOX19dfSB0aGVuIHsKLSAgICB1bnRlc3RlZCAiY291bGQgbm90 IHJ1biB0byBicmVha3BvaW50IE1BSU5fXyIKK2lmIHshW2ZvcnRyYW5fcnVudG9fbWFpbl19IHRo ZW4geworICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJuIC0x CiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHRyLWluZGVudGF0 aW9uLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHRyLWluZGVudGF0aW9uLmV4cApp bmRleCAyODVlMjRlMmNjLi4yMDk4MDlhMjkyIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3B0ci1pbmRlbnRhdGlvbi5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9wdHItaW5kZW50YXRpb24uZXhwCkBAIC0yMiw4ICsyMiw4IEBAIGlmIHtbcHJlcGFyZV9m b3JfdGVzdGluZyAkdGVzdGZpbGUuZXhwICR0ZXN0ZmlsZSAkc3JjZmlsZSB7ZGVidWcgZjkwfV19 IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYgeyFbcnVudG8gTUFJTl9fXX0gdGhlbiB7Ci0gICAg dW50ZXN0ZWQgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50IE1BSU5fXyIKK2lmIHshW2ZvcnRy YW5fcnVudG9fbWFpbl19IHRoZW4geworICAgIHVudGVzdGVkICJjb3VsZG4ndCBydW4gdG8gbWFp biIKICAgICByZXR1cm4gLTEKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9wdHlwZS1vbi1mdW5jdGlvbnMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9w dHlwZS1vbi1mdW5jdGlvbnMuZXhwCmluZGV4IGQ5MWU0YmQ0OGUuLjhkYzVmNzZkOTMgMTAwNjQ0 Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHR5cGUtb24tZnVuY3Rpb25zLmV4cAor KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3B0eXBlLW9uLWZ1bmN0aW9ucy5leHAKQEAg LTI0LDggKzI0LDggQEAgaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFy ZSIgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XX0gewogICAgIHJldHVybiAtMQogfQog Ci1pZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8g YnJlYWtwb2ludCBNQUlOX18iCitpZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gdGhlbiB7CisgICAg cGVycm9yICJjb3VsZG4ndCBydW4gdG8gbWFpbiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YmFycmF5LmV4cCBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vc3ViYXJyYXkuZXhwCmluZGV4IDVlM2U4YzM4Y2IuLjllZTVhOWIzY2Ig MTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3ViYXJyYXkuZXhwCisrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3ViYXJyYXkuZXhwCkBAIC0yMSw2ICsyMSw3IEBA CiBpZiB7IFtza2lwX2ZvcnRyYW5fdGVzdHNdIH0geyByZXR1cm4gLTEgfQogCiBzdGFuZGFyZF90 ZXN0ZmlsZSAuZgorbG9hZF9saWIgZm9ydHJhbi5leHAKIAogaWYge1twcmVwYXJlX2Zvcl90ZXN0 aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XX0g ewogICAgIHJldHVybiAtMQpAQCAtMzEsOCArMzIsOCBAQCBnZGJfc3RhcnQKIGdkYl9yZWluaXRp YWxpemVfZGlyICRzcmNkaXIvJHN1YmRpcgogZ2RiX2xvYWQgJHtiaW5maWxlfQogCi1pZiAhW3J1 bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2lu dCBNQUlOX18iCitpZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gdGhlbiB7CisgICAgcGVycm9yICJj b3VsZG4ndCBydW4gdG8gbWFpbiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1hbGxvYy1hc3NvYy5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS1hbGxvYy1hc3NvYy5leHAKaW5kZXggNWQ4NTg1YzJlZS4uMmFlMDQx MWNmMSAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtYWxsb2MtYXNz b2MuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWFsbG9jLWFzc29jLmV4 cApAQCAtMTQsMTMgKzE0LDE0IEBACiAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90 LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogCiBzdGFuZGFyZF90ZXN0Zmls ZSAidmxhLmY5MCIKK2xvYWRfbGliIGZvcnRyYW4uZXhwCiAKIGlmIHsgW3ByZXBhcmVfZm9yX3Rl c3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwKICAgICB7 ZGVidWcgZjkwIHF1aWV0fV0gfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG9fbWFp bl0geworaWYgIVtmb3J0cmFuX3J1bnRvX21haW5dIHsKICAgICB1bnRlc3RlZCAiY291bGQgbm90 IHJ1biB0byBtYWluIgogICAgIHJldHVybiAtMQogfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi92bGEtZGF0YXR5cGVzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLWRhdGF0eXBlcy5leHAKaW5kZXggMmRiOWIzZTExMC4uYjY5NjM2ZjYwMCAxMDA2NDQK LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZGF0YXR5cGVzLmV4cAorKysgYi9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1kYXRhdHlwZXMuZXhwCkBAIC0yNCw3ICsyNCw3 IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3Rm aWxlfSAke3NyY2ZpbGV9IFwKICMgY2hlY2sgdGhhdCBhbGwgZm9ydHJhbiBzdGFuZGFyZCBkYXRh dHlwZXMgd2lsbCBiZQogIyBoYW5kbGVkIGNvcnJlY3RseSB3aGVuIHVzaW5nIGFzIFZMQSdzCiAK LWlmICFbcnVudG9fbWFpbl0geworaWYgIVtmb3J0cmFuX3J1bnRvX21haW5dIHsKICAgICB1bnRl c3RlZCAiY291bGQgbm90IHJ1biB0byBtYWluIgogICAgIHJldHVybiAtMQogfQpkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtaGlzdG9yeS5leHAgYi9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS1oaXN0b3J5LmV4cAppbmRleCAyNGJkOTQ1ZjRhLi4zYmY5OGRi MTk3IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1oaXN0b3J5LmV4 cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1oaXN0b3J5LmV4cApAQCAtMTQs MTMgKzE0LDE0IEBACiAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0 dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAidmxhLmY5 MCIKK2xvYWRfbGliIGZvcnRyYW4uZXhwCiAKIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZh aWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwKICAgICB7ZGVidWcgZjkw IHF1aWV0fV0gfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG9fbWFpbl0geworaWYg IVtmb3J0cmFuX3J1bnRvX21haW5dIHsKICAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBt YWluIgogICAgIHJldHVybiAtMQogfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi92bGEtcHRyLWluZm8uZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHRy LWluZm8uZXhwCmluZGV4IDI0YzdiNDU4NDAuLmQzZmE1OTViZWEgMTAwNjQ0Ci0tLSBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0ci1pbmZvLmV4cAorKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5leHAKQEAgLTE0LDEzICsxNCwxNCBAQAogIyBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4KIAogc3RhbmRhcmRfdGVzdGZpbGUgInZsYS5mOTAiCitsb2FkX2xpYiBmb3J0cmFu LmV4cAogCiBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0 ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCiAgICAge2RlYnVnIGY5MCBxdWlldH1dIH0gewogICAgIHJl dHVybiAtMQogfQogCi1pZiAhW3J1bnRvX21haW5dIHsKK2lmICFbZm9ydHJhbl9ydW50b19tYWlu XSB7CiAgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFpbiIKICAgICByZXR1cm4gLTEK IH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLXN1Yi5l eHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS1zdWIuZXhwCmluZGV4IDA5 OTA5ZTc0YjAuLjA3YTRhNWZjMmUgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLXB0eXBlLXN1Yi5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt cHR5cGUtc3ViLmV4cApAQCAtMjEsNyArMjEsNyBAQCBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5n ICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCiAgICAgcmV0dXJu IC0xCiB9CiAKLWlmICFbcnVudG9fbWFpbl0geworaWYgIVtmb3J0cmFuX3J1bnRvX21haW5dIHsK ICAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBtYWluIgogICAgIHJldHVybiAtMQogfQpk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwCmluZGV4IDIyYjIwMDUzMTcuLmJi YjgxZWEwYzggMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBl LmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKQEAgLTIx LDcgKzIxLDcgQEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUi ICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRv X21haW5dIHsKK2lmICFbZm9ydHJhbl9ydW50b19tYWluXSB7CiAgICAgdW50ZXN0ZWQgImNvdWxk IG5vdCBydW4gdG8gbWFpbiIKICAgICByZXR1cm4gLTEKIH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXNpemVvZi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1zaXplb2YuZXhwCmluZGV4IDhlN2QzNjMxNGUuLmQyNmI4YzYwZjggMTAwNjQ0Ci0t LSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXNpemVvZi5leHAKKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cApAQCAtMTQsMTMgKzE0LDE0IEBACiAj IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAidmxhLmY5MCIKK2xvYWRfbGliIGZv cnRyYW4uZXhwCiAKIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJl IiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwKICAgICB7ZGVidWcgZjkwIHF1aWV0fV0gfSB7CiAg ICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG9fbWFpbl0geworaWYgIVtmb3J0cmFuX3J1bnRv X21haW5dIHsKICAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBtYWluIgogICAgIHJldHVy biAtMQogfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5l eHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cAppbmRleCA2ZDg4NWU3 ODg5Li5mMDA3ZWEzYTc4IDEwMDc1NQotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS10eXBlLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cApA QCAtMjEsNyArMjEsNyBAQCBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJl cGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFb cnVudG9fbWFpbl0geworaWYgIVtmb3J0cmFuX3J1bnRvX21haW5dIHsKICAgICB1bnRlc3RlZCAi Y291bGQgbm90IHJ1biB0byBtYWluIgogICAgIHJldHVybiAtMQogfQpkaWZmIC0tZ2l0IGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWFyYml0cmFyeS5leHAgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItYXJiaXRyYXJ5LmV4cAppbmRleCBh YjYxZGRlMDZmLi5jM2VkOTA5YTgxIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS12YWx1ZS1zdWItYXJiaXRyYXJ5LmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3ZsYS12YWx1ZS1zdWItYXJiaXRyYXJ5LmV4cApAQCAtMTQsMTMgKzE0LDE0IEBACiAj IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAidmxhLXN1Yi5mOTAiCitsb2FkX2xp YiBmb3J0cmFuLmV4cAogCiBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJl cGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCiAgICAge2RlYnVnIGY5MCBxdWlldH1dIH0g ewogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvX21haW5dIHsKK2lmICFbZm9ydHJhbl9y dW50b19tYWluXSB7CiAgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFpbiIKICAgICBy ZXR1cm4gLTEKIH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZh bHVlLXN1Yi1maW5pc2guZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUt c3ViLWZpbmlzaC5leHAKaW5kZXggYWZkOTkyY2VlNC4uNDAzZTQxMWNjMiAxMDA2NDQKLS0tIGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWZpbmlzaC5leHAKKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWZpbmlzaC5leHAKQEAgLTE0 LDEzICsxNCwxNCBAQAogIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KIAogc3RhbmRhcmRfdGVzdGZpbGUgInZsYS1z dWIuZjkwIgorbG9hZF9saWIgZm9ydHJhbi5leHAKIAogaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGlu ZyAiZmFpbGVkIHRvIHByZXBhcmUiICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAogICAgIHtkZWJ1 ZyBmOTAgcXVpZXR9XSB9IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7 CitpZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVu IHRvIG1haW4iCiAgICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWIuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtdmFsdWUtc3ViLmV4cAppbmRleCAzMzExZjZiZWZhLi5mZDkyM2VkZjQwIDEwMDY0NAotLS0g YS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWIuZXhwCisrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi5leHAKQEAgLTE0LDEzICsxNCwxNCBA QAogIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4KIAogc3RhbmRhcmRfdGVzdGZpbGUgInZsYS1zdWIuZjkwIgorbG9h ZF9saWIgZm9ydHJhbi5leHAKIAogaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRv IHByZXBhcmUiICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAogICAgIHtkZWJ1ZyBmOTAgcXVpZXR9 XSB9IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW2ZvcnRy YW5fcnVudG9fbWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAg ICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS12YWx1ZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS5leHAKaW5k ZXggNWFmMTdiNTcwYy4uOWE3MjdmYzMwYSAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEtdmFsdWUuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxh LXZhbHVlLmV4cApAQCAtMjEsNyArMjEsNyBAQCBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJm YWlsZWQgdG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCiAgICAgcmV0dXJuIC0x CiB9CiAKLWlmICFbcnVudG9fbWFpbl0geworaWYgIVtmb3J0cmFuX3J1bnRvX21haW5dIHsKICAg ICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBtYWluIgogICAgIHJldHVybiAtMQogfQpAQCAt MTI5LDggKzEyOSw4IEBAIGdkYl90ZXN0ICJwcmludCB2bGExKDksIDksIDkpIiAibm8gc3VjaCB2 ZWN0b3IgZWxlbWVudCBcXFwodmVjdG9yIG5vdCBhbGxvY2F0ZWRcCiAjIFRyeSB0byBhc3NpZ24g VkxBIHRvIHVzZXIgdmFyaWFibGUKIGNsZWFuX3Jlc3RhcnQgJHt0ZXN0ZmlsZX0KIAotaWYgIVty dW50byBNQUlOX19dIHRoZW4gewotICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9p bnQgTUFJTl9fIgoraWYgIVtmb3J0cmFuX3J1bnRvX21haW5dIHRoZW4geworICAgIHBlcnJvciAi Y291bGRuJ3QgcnVuIHRvIG1haW4iCiAgICAgY29udGludWUKIH0KIGdkYl9icmVha3BvaW50IFtn ZGJfZ2V0X2xpbmVfbnVtYmVyICJ2bGEyLWFsbG9jYXRlZCJdCmRpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3doYXRpc190eXBlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vd2hhdGlzX3R5cGUuZXhwCmluZGV4IDZhOWNjMGE4MWUuLjRiMGNiZjljMjggMTAwNjQ0 Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vd2hhdGlzX3R5cGUuZXhwCisrKyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vd2hhdGlzX3R5cGUuZXhwCkBAIC0yMyw4ICsyMyw4IEBA IGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxl fSBcCiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG8gTUFJTl9fXSB7Ci0gICAgZmFpbCAi cnVuIHRvIE1BSU5fXyIKK2lmICFbZm9ydHJhbl9ydW50b19tYWluXSB7CisgICAgZmFpbCAicnVu IHRvIG1haW4iCiAgICAgcmV0dXJuCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri Lm1pL21pLXZhci1jaGlsZC1mLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGls ZC1mLmV4cAppbmRleCA4Y2ZmZmE3YzA4Li4zYWY4MGE4ZTYwIDEwMDY0NAotLS0gYS9nZGIvdGVz dHN1aXRlL2dkYi5taS9taS12YXItY2hpbGQtZi5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu bWkvbWktdmFyLWNoaWxkLWYuZXhwCkBAIC0zNiw3ICszNiw3IEBAIGlmIHtbZ2RiX2NvbXBpbGUg IiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNmaWxlfSIgIiR7YmluZmlsZX0iIFwKIG1pX2dkYl9y ZWluaXRpYWxpemVfZGlyICRzcmNkaXIvJHN1YmRpcgogbWlfZ2RiX2xvYWQgJHtiaW5maWxlfQog Ci1taV9ydW50byBNQUlOX18KK21pX3J1bnRvIFtmb3J0cmFuX21haW5dCiAKIG1pX2NyZWF0ZV92 YXJvYmogImFycmF5IiAiYXJyYXkiICJjcmVhdGUgbG9jYWwgdmFyaWFibGUgYXJyYXkiCiAKZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvbGliL2ZvcnRyYW4uZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9s aWIvZm9ydHJhbi5leHAKaW5kZXggNTQ5ZWQ2NTc5MC4uNjU0YWZkMmI3NCAxMDA2NDQKLS0tIGEv Z2RiL3Rlc3RzdWl0ZS9saWIvZm9ydHJhbi5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZm9y dHJhbi5leHAKQEAgLTEyNiwzICsxMjYsMjEgQEAgcHJvYyBmb3J0cmFuX2NoYXJhY3RlcjEge30g ewogCXJldHVybiAidW5rbm93biIKICAgICB9CiB9CisKK3Byb2MgZm9ydHJhbl9tYWluIHt9IHsK KyAgICBpZiB7W3Rlc3RfY29tcGlsZXJfaW5mbyB7Z2NjLTQtWzAxMl0tKn1dCisgICAgICAgICB8 fCBbdGVzdF9jb21waWxlcl9pbmZvIHtnY2MtKn1dCisgICAgICAgICB8fCBbdGVzdF9jb21waWxl cl9pbmZvIHtpY2MtKn1dfSB7CisJcmV0dXJuICJNQUlOX18iCisgICAgfSBlbHNlaWYge1t0ZXN0 X2NvbXBpbGVyX2luZm8ge2NsYW5nLSp9XX0geworCXJldHVybiAiTUFJTl8iCisgICAgfSBlbHNl IHsKKwlyZXR1cm4gInVua25vd24iCisgICAgfQorfQorCisjIGZvcnRyYW4gdmVyc2lvbiBvZiBy dW50b19tYWluLgorCitwcm9jIGZvcnRyYW5fcnVudG9fbWFpbiB7IH0geworICAgIHJldHVybiBb cnVudG8gW2ZvcnRyYW5fbWFpbl1dCit9Ci0tIAoyLjE3LjEKCg== --_002_BY5PR12MB3859075E820E1ABEFB0184FF9EAF0BY5PR12MB3859namp_--