From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2059.outbound.protection.outlook.com [40.107.92.59]) by sourceware.org (Postfix) with ESMTPS id 046E438930D5 for ; Fri, 24 Apr 2020 09:44:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 046E438930D5 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=n8+HKm52nNuwI4qYHlQczLul1kDpmGQKCjhg6aPpE3BxSPBvrfyvW2hheDhsal0Ykeni9UYHqSSGwiZ1sdQLc6E3h5XC+K+/GNSBLpG9b3X/EMpvjTbYFgAlIjHq5LVBdqh9CnIAIuViD8c3MU1vnDGFx4lbdc24Z5vSR44k5pexJ7UcybGB5UEL8Y36Pu3t99MxSFj0BWUOcIf2yFduyTkb7T+SX06tA/p4l9RthhHHnHlKxvd0iUWt2NpNxrBJdYVSkGm43mygTqVhsyB6PbjbL4oE2lk/yVZXqxnnqrl2wcjBcbd56RO2+QBZDevd8ZypyHECvjYq1GDwarsCOQ== 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=axekqropXi+PbEkMEjcBVDdXN5v9Zds80fmRDa/GSRs=; b=Ehm4QycwkcB5W6X7NZjg4rGO54y/xp8Ret9hSCzwLCLcaCp2ccYyK5EkliPoboEgMoSPxd+HXkw4oSYRGP1+zK2qoURVRSEnCPzjz7NlwsK2I+R6glxLYktodFeF40Ld2A8FnrAWCjVHGuPUURZmS7tn/QdVuGqNBie/W9Lw/+0IDWGLWnQkGtNDsHAmI8btyXatbZvvOQjW2ivDDLHYohKrFbxMSF8xnh+H4CQOTt16PolbHCBJdOfZdZIwoonEfyGM9yTKJDDrlOdjjVUJ7Z6CBbDwq4JHGwvwMtxgf6DvhPRh9NKMFCaP7RfJWIgytDAHMeZsvzesG9FSxmYZbQ== 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=axekqropXi+PbEkMEjcBVDdXN5v9Zds80fmRDa/GSRs=; b=yGMCXcmmkAJ7IZSPLD0S6Y6atJ+W+gpl40Ja5R4t1BLbwROrJkSbz1k5zHTAvKtFNaxyi+05uhJbB6Lz28Xsj3EL5jDJMxKZ2+OAIcUAx6ZCGgiBsZoPsFwih4mr0vbBRUkf871ms/a3bET6vQ5n+MPAdmmvN+7Ffm8PyWpSsb8= Received: from BY5PR12MB3859.namprd12.prod.outlook.com (2603:10b6:a03:1a8::31) by BY5PR12MB3953.namprd12.prod.outlook.com (2603:10b6:a03:194::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.25; Fri, 24 Apr 2020 09:44:18 +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.2921.030; Fri, 24 Apr 2020 09:44:18 +0000 From: "Sharma, Alok Kumar" To: "gdb-patches@sourceware.org" CC: "George, Jini Susan" , "Achra, Nitika" Subject: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing Thread-Topic: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing Thread-Index: AdYaGoxVOtBbfA8rTdieLXSAzB7KHQ== Date: Fri, 24 Apr 2020 09:44:18 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_Enabled=true; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_SetDate=2020-04-24T09:44:10Z; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_Method=Standard; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_Name=Internal Use Only - Unrestricted; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_ActionId=e86c439a-bd1c-467d-b805-000094e422ee; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_ContentBits=1 msip_label_76546daa-41b6-470c-bb85-f6f40f044d7f_enabled: true msip_label_76546daa-41b6-470c-bb85-f6f40f044d7f_setdate: 2020-04-24T09:44:10Z msip_label_76546daa-41b6-470c-bb85-f6f40f044d7f_method: Standard msip_label_76546daa-41b6-470c-bb85-f6f40f044d7f_name: Internal Use Only - Unrestricted msip_label_76546daa-41b6-470c-bb85-f6f40f044d7f_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_76546daa-41b6-470c-bb85-f6f40f044d7f_actionid: a7eb2a75-3917-47ee-862a-00007ad28dc7 msip_label_76546daa-41b6-470c-bb85-f6f40f044d7f_contentbits: 0 authentication-results: spf=none (sender IP is ) smtp.mailfrom=AlokKumar.Sharma@amd.com; x-originating-ip: [137.97.234.198] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 248c8165-5d30-4128-6722-08d7e8340f42 x-ms-traffictypediagnostic: BY5PR12MB3953:|BY5PR12MB3953: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 03838E948C 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:(10009020)(4636009)(396003)(366004)(346002)(376002)(39860400002)(136003)(33656002)(8936002)(71200400001)(55016002)(86362001)(64756008)(6916009)(52536014)(5660300002)(76116006)(26005)(4326008)(66946007)(9686003)(66446008)(66556008)(66616009)(6506007)(186003)(66476007)(8676002)(2906002)(54906003)(99936003)(316002)(81156014)(478600001)(7696005); 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: UL2rCnJ48W1YoGr6JVum1/WH8afulNI1SvP0sFr43VdgXyeJMgOKhSt+L9qOzeChj9L8LBocLGBRCn3dgvtodYwX+9e9mpyFeIwyYG04Vwy0AlWHpd3jShT3AHUBsyjGBNPCrkrp3JTlX9ZETBOe/jAhk1wIo9ravxCZVde71D+YjVElOA6/ojM+dRW0Pu4W7uUqSvnexXHcSLicD97L1Nemd6zvQtJ/wrZrPqG00voaDPF/aCr+coFkdk7zCHDnh/BcNLMnQiyrCu4jlyMSb8O0Rv0A+oGCTNG94NpingPs63GB8e6znJAtQYACEniOmfbaeyweYU422dUPE72c6um3OYy3pm7iklOgESSUf473Whepcz58FrkAiNqjC8/rCzxCjCEvyhLN40tSnbnkGLVVS3KkHpGtMKfy4VCizNst3qp6HOtv5UOZ01DO0EFT x-ms-exchange-antispam-messagedata: SWyDVUY2EeXDitJ23zTYB7dGNmdDxQXjU4euaeP28vJbUQSmybQDAARz8XCCUelUht/KzW5u5/59oaxDkPjHKqtQCgyh5RmHjYivTWczyiyAgimd4kxN9HKU4M1ttH9frAUgJm2JGX6ycLiM7rR9gA== Content-Type: multipart/mixed; boundary="_002_BY5PR12MB3859E16387C6A51C5B536CCE9ED00BY5PR12MB3859namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 248c8165-5d30-4128-6722-08d7e8340f42 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Apr 2020 09:44:18.6548 (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: NU6iKsrgn7hCLYxI3Y23zshJtx/R9ODpf4hgSAz8gTxdVvO5QtcreyX/Lvsx1LYAIE+lZ9oLc1a7sNA3wNTuJQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB3953 X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP autolearn=no 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: Fri, 24 Apr 2020 09:44:23 -0000 --_002_BY5PR12MB3859E16387C6A51C5B536CCE9ED00BY5PR12MB3859namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - Internal Distribution Only] Hi all, I request you all to please review this patch. Below are the details. Problem Description: Name of fortran main function for Flang compiler is MAIN_ while for gfortran it is MAIN__ . In test cases MAIN__ is hardcoded for the purpose of inserting breakpoint. (please note the number of underscores after MAIN)=20 Resolution: New proc is added to detect main function name depending on the compiler used. Which is used in testcases. This commit adds support for Flang main function, there should be no change for gfortran. gdb/testsuite/ChangeLog * gdb.dwarf2/dw2-common-block.exp: Skip test except for gfortra= n, as assembly file to be tested is generated by gfortran. * lib/fortran.exp (fortran_main): New Proc, handle flang 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. Regards, Alok= --_002_BY5PR12MB3859E16387C6A51C5B536CCE9ED00BY5PR12MB3859namp_ 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=30204; creation-date="Fri, 24 Apr 2020 09:24:29 GMT"; modification-date="Fri, 24 Apr 2020 09:37:48 GMT" Content-Transfer-Encoding: base64 RnJvbSA3YzE2NjdmMmUwNzRkYzFlMGQ5YTAzMzZkOWVjMDdkYTU5MTI0YTcyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbG9rIEt1bWFyIFNoYXJtYSA8QWxva0t1bWFyLlNoYXJtYUBh bWQuY29tPgpEYXRlOiBGcmksIDI0IEFwciAyMDIwIDE0OjQ2OjA5ICswNTMwClN1YmplY3Q6IFtQ QVRDSF0gZ2RiL2ZvcnRyYW46IEFsbG93IEZsYW5nIE1BSU5fIGluIEZvcnRyYW4gdGVzdGluZwoK TmFtZSBvZiBmb3J0cmFuIG1haW4gZnVuY3Rpb24gZm9yIEZsYW5nIGNvbXBpbGVyIGlzIE1BSU5f IHdoaWxlCmZvciBnZm9ydHJhbiBpdCBpcyBNQUlOX18gLiBJbiB0ZXN0IGNhc2VzIE1BSU5fXyBp cyBoYXJkY29kZWQgZm9yCnRoZSBwdXJwb3NlIG9mIGluc2VydGluZyBicmVha3BvaW50LgoKTmV3 IHByb2MgaXMgYWRkZWQgdG8gZGV0ZWN0IG1haW4gZnVuY3Rpb24gbmFtZSBkZXBlbmRpbmcgb24g dGhlCmNvbXBpbGVyIHVzZWQuIFdoaWNoIGlzIHVzZWQgaW4gdGVzdGNhc2VzLgoKVGhpcyBjb21t aXQgYWRkcyBzdXBwb3J0IGZvciBGbGFuZyBtYWluIGZ1bmN0aW9uLCB0aGVyZSBzaG91bGQgYmUK bm8gY2hhbmdlIGZvciBnZm9ydHJhbi4KCmdkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCgoJKiBnZGIu ZHdhcmYyL2R3Mi1jb21tb24tYmxvY2suZXhwOiBTa2lwIHRlc3QgZXhjZXB0IGZvciBnZm9ydHJh biwKCWFzIGFzc2VtYmx5IGZpbGUgdG8gYmUgdGVzdGVkIGlzIGdlbmVyYXRlZCBieSBnZm9ydHJh bi4KCSogbGliL2ZvcnRyYW4uZXhwIChmb3J0cmFuX21haW4pOiBOZXcgUHJvYywgaGFuZGxlIGZs YW5nIE1BSU5fLgoJKiBnZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMtaGlnaC5leHA6IEhhbmRsZSBm bGFuZyBNQUlOXwoJKiBnZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhwOiBMaWtld2lzZS4KCSog Z2RiLmZvcnRyYW4vYXJyYXktc2xpY2VzLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL2Js b2NrLWRhdGEuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vY2hhcnNldC5leHA6IExpa2V3 aXNlLgoJKiBnZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZv cnRyYW4vY29tcGxleC5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUt ZnVuY3Rpb24uZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vZGVyaXZlZC10eXBlLmV4cDog TGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL2luZm8tbW9kdWxlcy5leHA6IExpa2V3aXNlLgoJKiBn ZGIuZm9ydHJhbi9pbmZvLXR5cGVzLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL2ludHJp bnNpY3MuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vbGlicmFyeS1tb2R1bGUuZXhwOiBM aWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vbG9naWNhbC5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9y dHJhbi9tYXgtZGVwdGguZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vbW9kdWxlLmV4cDog TGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL211bHRpLWRpbS5leHA6IExpa2V3aXNlLgoJKiBnZGIu Zm9ydHJhbi9uZXN0ZWQtZnVuY3MuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vcHJpbnQt Zm9ybWF0dGVkLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3ByaW50X3R5cGUuZXhwOiBM aWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vcHJpbnRpbmctdHlwZXMuZXhwOiBMaWtld2lzZS4KCSog Z2RiLmZvcnRyYW4vcHRyLWluZGVudGF0aW9uLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFu L3B0eXBlLW9uLWZ1bmN0aW9ucy5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9zdWJhcnJh eS5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtYWxsb2MtYXNzb2MuZXhwOiBMaWtl d2lzZS4KCSogZ2RiLmZvcnRyYW4vdmxhLWRhdGF0eXBlcy5leHA6IExpa2V3aXNlLgoJKiBnZGIu Zm9ydHJhbi92bGEtaGlzdG9yeS5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtcHRy LWluZm8uZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLXN1Yi5leHA6IExp a2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZv cnRyYW4vdmxhLXNpemVvZi5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtdHlwZS5l eHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWFyYml0cmFyeS5leHA6 IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWZpbmlzaC5leHA6IExpa2V3 aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5m b3J0cmFuL3ZsYS12YWx1ZS5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi93aGF0aXNfdHlw ZS5leHA6IExpa2V3aXNlLgoJKiBnZGIubWkvbWktdmFyLWNoaWxkLWYuZXhwOiBMaWtld2lzZS4K CkNoYW5nZS1JZDogSTBhMzBmNWRhZDY4NDg3OWI0MTZmNzFkM2QwOGMzODVjMTU5MzI1YmYKLS0t CiBnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgfCA0NCArKysr KysrKysrKysrKysrKysrCiBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWNvbW1vbi1ibG9j ay5leHAgfCAgNiArKysKIC4uLi9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMtaGlnaC5leHAgICAg ICAgICB8ICA1ICsrLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhw ICAgIHwgIDUgKystCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LXNsaWNlcy5leHAg ICAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9ibG9jay1kYXRhLmV4cCAgICAg IHwgIDQgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY2hhcnNldC5leHAgICAgICAgICB8 ICA2ICsrLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwICAgIHwg IDQgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tcGxleC5leHAgICAgICAgICB8ICA1 ICsrLQogLi4uL2dkYi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS1mdW5jdGlvbi5leHAgICAgIHwgIDUg KystCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS5leHAgICAgfCAgNCAr LQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbmZvLW1vZHVsZXMuZXhwICAgIHwgIDQgKy0K IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW5mby10eXBlcy5leHAgICAgICB8ICA0ICstCiBn ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwICAgICAgfCAgNCArLQogZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9saWJyYXJ5LW1vZHVsZS5leHAgIHwgIDUgKystCiBnZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xvZ2ljYWwuZXhwICAgICAgICAgfCAgNSArKy0KIGdkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbWF4LWRlcHRoLmV4cCAgICAgICB8ICA0ICstCiBnZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL21vZHVsZS5leHAgICAgICAgICAgfCAgNiArLS0KIGdkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vbXVsdGktZGltLmV4cCAgICAgICB8ICA0ICstCiBnZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL25lc3RlZC1mdW5jcy5leHAgICAgfCAgNCArLQogZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9wcmludC1mb3JtYXR0ZWQuZXhwIHwgIDQgKy0KIGdkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAgICAgICB8ICAyICstCiBnZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ByaW50aW5nLXR5cGVzLmV4cCAgfCAgNSArKy0KIGdkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vcHRyLWluZGVudGF0aW9uLmV4cCB8ICA0ICstCiAuLi4vZ2RiLmZvcnRyYW4vcHR5 cGUtb24tZnVuY3Rpb25zLmV4cCAgICAgICAgfCAgNCArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9zdWJhcnJheS5leHAgICAgICAgIHwgIDUgKystCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1hbGxvYy1hc3NvYy5leHAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtZGF0YXR5cGVzLmV4cCAgIHwgIDIgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v dmxhLWhpc3RvcnkuZXhwICAgICB8ICAzICstCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1wdHItaW5mby5leHAgICAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt cHR5cGUtc3ViLmV4cCAgIHwgIDIgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0 eXBlLmV4cCAgICAgICB8ICAyICstCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXpl b2YuZXhwICAgICAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5l eHAgICAgICAgIHwgIDIgKy0KIC4uLi9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWFyYml0cmFy eS5leHAgICB8ICAzICstCiAuLi4vZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi1maW5pc2guZXhw ICAgICAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLmV4 cCAgIHwgIDMgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cCAgICAg ICB8ICA2ICstLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi93aGF0aXNfdHlwZS5leHAgICAg IHwgIDQgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cCAgICAgICB8 ICAyICstCiBnZGIvdGVzdHN1aXRlL2xpYi9mb3J0cmFuLmV4cCAgICAgICAgICAgICAgICAgfCAx NiArKysrKysrCiA0MSBmaWxlcyBjaGFuZ2VkLCAxNDggaW5zZXJ0aW9ucygrKSwgNjQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cgYi9nZGIvdGVzdHN1 aXRlL0NoYW5nZUxvZwppbmRleCAxMDY4M2RiNTY2Li5lOTcyZjk3ZmFkIDEwMDY0NAotLS0gYS9n ZGIvdGVzdHN1aXRlL0NoYW5nZUxvZworKysgYi9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwpAQCAt MSwzICsxLDQ3IEBACisyMDIwLTA0LTI0ICBBbG9rIEt1bWFyIFNoYXJtYSAgPGFsb2trdW1hci5z aGFybWFAYW1kLmNvbT4KKworCSogZ2RiLmR3YXJmMi9kdzItY29tbW9uLWJsb2NrLmV4cDogU2tp cCB0ZXN0IGV4Y2VwdCBmb3IgZ2ZvcnRyYW4sCisJYXMgYXNzZW1ibHkgZmlsZSB0byBiZSB0ZXN0 ZWQgaXMgZ2VuZXJhdGVkIGJ5IGdmb3J0cmFuLgorCSogbGliL2ZvcnRyYW4uZXhwIChmb3J0cmFu X21haW4pOiBOZXcgUHJvYywgaGFuZGxlIGZsYW5nIE1BSU5fLgorCSogZ2RiLmZvcnRyYW4vYXJy YXktYm91bmRzLWhpZ2guZXhwOiBIYW5kbGUgZmxhbmcgTUFJTl8KKwkqIGdkYi5mb3J0cmFuL2Fy cmF5LWJvdW5kcy5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vYXJyYXktc2xpY2VzLmV4 cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9ibG9jay1kYXRhLmV4cDogTGlrZXdpc2UuCisJ KiBnZGIuZm9ydHJhbi9jaGFyc2V0LmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9jb21t b24tYmxvY2suZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL2NvbXBsZXguZXhwOiBMaWtl d2lzZS4KKwkqIGdkYi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS1mdW5jdGlvbi5leHA6IExpa2V3aXNl LgorCSogZ2RiLmZvcnRyYW4vZGVyaXZlZC10eXBlLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9y dHJhbi9pbmZvLW1vZHVsZXMuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL2luZm8tdHlw ZXMuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwOiBMaWtld2lz ZS4KKwkqIGdkYi5mb3J0cmFuL2xpYnJhcnktbW9kdWxlLmV4cDogTGlrZXdpc2UuCisJKiBnZGIu Zm9ydHJhbi9sb2dpY2FsLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9tYXgtZGVwdGgu ZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL21vZHVsZS5leHA6IExpa2V3aXNlLgorCSog Z2RiLmZvcnRyYW4vbXVsdGktZGltLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9uZXN0 ZWQtZnVuY3MuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3ByaW50LWZvcm1hdHRlZC5l eHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHA6IExpa2V3aXNlLgor CSogZ2RiLmZvcnRyYW4vcHJpbnRpbmctdHlwZXMuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0 cmFuL3B0ci1pbmRlbnRhdGlvbi5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vcHR5cGUt b24tZnVuY3Rpb25zLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9zdWJhcnJheS5leHA6 IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vdmxhLWFsbG9jLWFzc29jLmV4cDogTGlrZXdpc2Uu CisJKiBnZGIuZm9ydHJhbi92bGEtZGF0YXR5cGVzLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9y dHJhbi92bGEtaGlzdG9yeS5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vdmxhLXB0ci1p bmZvLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi92bGEtcHR5cGUtc3ViLmV4cDogTGlr ZXdpc2UuCisJKiBnZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5m b3J0cmFuL3ZsYS1zaXplb2YuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3ZsYS10eXBl LmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWFyYml0cmFyeS5l eHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi1maW5pc2guZXhwOiBM aWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWIuZXhwOiBMaWtld2lzZS4KKwkq IGdkYi5mb3J0cmFuL3ZsYS12YWx1ZS5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vd2hh dGlzX3R5cGUuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5taS9taS12YXItY2hpbGQtZi5leHA6IExp a2V3aXNlLgorCiAyMDIwLTA0LTIzICBUb20gZGUgVnJpZXMgIDx0ZGV2cmllc0BzdXNlLmRlPgog CiAJKiBnZGIuYmFzZS9kZWNsLWJlZm9yZS1kZWYuZXhwOiBSdW4gdG8gbWFpbiBhbmQgcHJpbnQg YSBhZ2Fpbi4KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItY29tbW9u LWJsb2NrLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItY29tbW9uLWJsb2NrLmV4 cAppbmRleCA5YmNmMDZiMTdmLi5jZjQxYzY4MzNmIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvZHcyLWNvbW1vbi1ibG9jay5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu ZHdhcmYyL2R3Mi1jb21tb24tYmxvY2suZXhwCkBAIC0zMCw2ICszMCwxMiBAQCBpZiB7W3NraXBf Zm9ydHJhbl90ZXN0c119IHsKICAgICByZXR1cm4gMAogfQogCisjIEFzc2VtYmx5IGZpbGUgaXMg Z2VuZXJhdGVkIHVzaW5nIGdmb3J0cmFuLgorIyBza2lwIHJ1bm5pbmcgZm9yIG90aGVyIGNvbXBp bGVycy4KK2lmIHshW3Rlc3RfY29tcGlsZXJfaW5mbyB7Z2NjLSp9XX0geworICAgIHJldHVybiAw Cit9CisKIHN0YW5kYXJkX3Rlc3RmaWxlIC5TCiAKIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3Rpbmcg ImZhaWxlZCB0byBwcmVwYXJlIiAiJHt0ZXN0ZmlsZX0iICRzcmNmaWxlIFwKZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLWhpZ2guZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMtaGlnaC5leHAKaW5kZXggODFlMmY4N2I4 OS4uZjE5NDViNDExMiAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJh eS1ib3VuZHMtaGlnaC5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1i b3VuZHMtaGlnaC5leHAKQEAgLTIwLDEzICsyMCwxNCBAQCBpZiB7IFtza2lwX2ZvcnRyYW5fdGVz dHNdIH0geyByZXR1cm4gLTEgfQogCiBzZXQgdGVzdGZpbGUgImFycmF5LWJvdW5kcy1oaWdoIgog c3RhbmRhcmRfdGVzdGZpbGUgLmY5MAorbG9hZF9saWIgZm9ydHJhbi5leHAKIAogaWYge1twcmVw YXJlX2Zvcl90ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlIHtmOTAgZGVi dWd9XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiB7IVtydW50byBNQUlOX19dfSB7Ci0gICAg cGVycm9yICJDb3VsZCBub3QgcnVuIHRvIGJyZWFrcG9pbnQgYE1BSU5fXycuIgoraWYgeyFbcnVu dG8gJGZtYWluXX0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGAk Zm1haW4nLiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2FycmF5LWJvdW5kcy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Fy cmF5LWJvdW5kcy5leHAKaW5kZXggMTJiZjVjMmRiMy4uYmUyOGZmNmRhOSAxMDA2NDQKLS0tIGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhwCisrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmV4cApAQCAtMjAsMTMgKzIwLDE0IEBAIGlm IHsgW3NraXBfZm9ydHJhbl90ZXN0c10gfSB7IHJldHVybiAtMSB9CiAKIHNldCB0ZXN0ZmlsZSAi YXJyYXktYm91bmRzIgogc3RhbmRhcmRfdGVzdGZpbGUgLmY5MAorbG9hZF9saWIgZm9ydHJhbi5l eHAKIAogaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRz cmNmaWxlIHtmOTAgZGVidWd9XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiB7IVtydW50byBN QUlOX19dfSB7Ci0gICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRvIGJyZWFrcG9pbnQgYE1BSU5f XycuIgoraWYgeyFbcnVudG8gJGZtYWluXX0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0 byBicmVha3BvaW50IGAkZm1haW4nLiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LXNsaWNlcy5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2FycmF5LXNsaWNlcy5leHAKaW5kZXggMTE5OTdmOTI2YS4uZTkxZGI2MmFh MSAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1zbGljZXMuZXhw CisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktc2xpY2VzLmV4cApAQCAtMjEs MTMgKzIxLDE0IEBACiBpZiB7W3NraXBfZm9ydHJhbl90ZXN0c119IHsgcmV0dXJuIC0xIH0KIAog c3RhbmRhcmRfdGVzdGZpbGUgIi5mOTAiCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBpZiB7W3By ZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0g XAogCSB7ZGVidWcgZjkwfV19IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWlu XSB7CitpZiAhW3J1bnRvICRmbWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRv IG1haW4iCiAgICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2Jsb2NrLWRhdGEuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9ibG9jay1k YXRhLmV4cAppbmRleCAyOTJhZmU2YzE2Li41MjBmMGQ1ZDI4IDEwMDY0NAotLS0gYS9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2Jsb2NrLWRhdGEuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vYmxvY2stZGF0YS5leHAKQEAgLTMwLDggKzMwLDggQEAgaWYge1twcmVwYXJlX2Zv cl90ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XX0g ewogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgdW50 ZXN0ZWQgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50IE1BSU5fXyIKK2lmICFbcnVudG8gJGZt YWluXSB0aGVuIHsKKyAgICB1bnRlc3RlZCAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgJGZt YWluIgogICAgIHJldHVybiAtMQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2NoYXJzZXQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jaGFyc2V0LmV4 cAppbmRleCBmMGY2MmY4NDkwLi4xMWFiOWRmZGYwIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2NoYXJzZXQuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v Y2hhcnNldC5leHAKQEAgLTE5LDEyICsxOSwxNCBAQAogaWYgeyBbc2tpcF9mb3J0cmFuX3Rlc3Rz XSB9IHsgcmV0dXJuIC0xIH0KIAogc3RhbmRhcmRfdGVzdGZpbGUgLmY5MAorbG9hZF9saWIgZm9y dHJhbi5leHAKKwogaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUi ICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0ge2RlYnVnIGFkZGl0aW9uYWxfZmxhZ3M9LWZiYWNrc2xh c2ggZjkwfV0gfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG8gTUFJTl9fXSB7Ci0g ICAgcGVycm9yICJDb3VsZG4ndCBydW4gdG8gTUFJTl9fIgoraWYgIVtydW50byAkZm1haW5dIHsK KyAgICBwZXJyb3IgIkNvdWxkbid0IHJ1biB0byAkZm1haW4iCiAgICAgY29udGludWUKIH0KIApk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwCmluZGV4IDE5YzFhZjBk ODEuLjJiNzRhMThlNzUgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29t bW9uLWJsb2NrLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9j ay5leHAKQEAgLTI3LDggKzI3LDggQEAgaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQg dG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0gXAogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRv IE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBN QUlOX18iCitpZiAhW3J1bnRvICRmbWFpbl0gdGhlbiB7CisgICAgcGVycm9yICJjb3VsZG4ndCBy dW4gdG8gYnJlYWtwb2ludCAkZm1haW4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21wbGV4LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vY29tcGxleC5leHAKaW5kZXggYzA5MmFiMjlmMS4uOGFjODFjMWZjYiAxMDA2NDQK LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21wbGV4LmV4cAorKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2NvbXBsZXguZXhwCkBAIC0xNCwxMyArMTQsMTQgQEAKICMgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uCiAKIHN0YW5kYXJkX3Rlc3RmaWxlIC5mOTAKK2xvYWRfbGliIGZvcnRyYW4uZXhw CiAKIGlmIHtbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0Zmls ZSAkc3JjZmlsZSB7ZGVidWcgZjkwIHF1aWV0fV19IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYg IVtydW50byBNQUlOX19dIHRoZW4gewotICAgIHBlcnJvciAiQ291bGRuJ3QgcnVuIHRvIE1BSU5f XyIKK2lmICFbcnVudG8gJGZtYWluXSB0aGVuIHsKKyAgICBwZXJyb3IgIkNvdWxkbid0IHJ1biB0 byAkZm1haW4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUtZnVuY3Rpb24uZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9kZXJpdmVkLXR5cGUtZnVuY3Rpb24uZXhwCmluZGV4IDFmMGY5NTczMTcuLjhhMjk4 ZjVmN2IgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZGVyaXZlZC10eXBl LWZ1bmN0aW9uLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Rlcml2ZWQtdHlw ZS1mdW5jdGlvbi5leHAKQEAgLTIxLDEzICsyMSwxNCBAQAogaWYgeyBbc2tpcF9mb3J0cmFuX3Rl c3RzXSB9IHsgcmV0dXJuIC0xIH0KIAogc3RhbmRhcmRfdGVzdGZpbGUgLmY5MAorbG9hZF9saWIg Zm9ydHJhbi5leHAKIAogaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFy ZSIgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XX0gewogICAgIHJldHVybiAtMQogfQog Ci1pZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8g YnJlYWtwb2ludCBNQUlOX18iCitpZiAhW3J1bnRvICRmbWFpbl0gdGhlbiB7CisgICAgcGVycm9y ICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCAkZm1haW4iCiAgICAgY29udGludWUKIH0KIApk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUuZXhwCmluZGV4IGYxNzA1YmZm ZDguLmVkZGQ5ODVlNTkgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZGVy aXZlZC10eXBlLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Rlcml2ZWQtdHlw ZS5leHAKQEAgLTI3LDggKzI3LDggQEAgaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQg dG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XX0gewogICAgIHJldHVy biAtMQogfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4n dCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18iCitpZiAhW3J1bnRvICRmbWFpbl0gdGhlbiB7Cisg ICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCAkZm1haW4iCiAgICAgY29udGlu dWUKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbmZvLW1vZHVs ZXMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbmZvLW1vZHVsZXMuZXhwCmluZGV4 IDBjM2M2YTU4ZTEuLjk5Njc4MDNkY2MgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vaW5mby1tb2R1bGVzLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2lu Zm8tbW9kdWxlcy5leHAKQEAgLTI4LDggKzI4LDggQEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGlu ZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0ZmlsZSBcCiAgICAgcmV0dXJuIC0xCiB9CiAKLWlm IHsgIVtydW50byBNQUlOX19dIH0gewotICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBicmVh a3BvaW50IGBNQUlOX18nLiIKK2lmIHsgIVtydW50byAkZm1haW5dIH0geworICAgIHBlcnJvciAi Q291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGAkZm1haW4nLiIKICAgICBjb250aW51ZQogfQog CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2luZm8tdHlwZXMuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbmZvLXR5cGVzLmV4cAppbmRleCAyMTM4OTM3Nzgy Li43ZjU4NzQwZWQ4IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2luZm8t dHlwZXMuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW5mby10eXBlcy5leHAK QEAgLTI3LDggKzI3LDggQEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHBy ZXBhcmUiICR0ZXN0ZmlsZSBcCiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmIHsgIVtydW50byBNQUlO X19dIH0gewotICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGBNQUlOX18n LiIKK2lmIHsgIVtydW50byAkZm1haW5dIH0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0 byBicmVha3BvaW50IGAkZm1haW4nLiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9pbnRyaW5zaWNzLmV4cAppbmRleCA1MDRiY2U0MTM4Li5kY2EyZDk4Y2Y0IDEw MDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwCisrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW50cmluc2ljcy5leHAKQEAgLTI1LDggKzI1LDgg QEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0Zmls ZSAkc3JjZmlsZSB7ZGVidWcgZjkwfV0gfQogICAgIHJldHVybiAtMQogfQogCi1pZiB7ICFbcnVu dG8gTUFJTl9fXSB9IHsKLSAgICBwZXJyb3IgIkNvdWxkIG5vdCBydW4gdG8gYnJlYWtwb2ludCBg TUFJTl9fJy4iCitpZiB7ICFbcnVudG8gJGZtYWluXSB9IHsKKyAgICBwZXJyb3IgIkNvdWxkIG5v dCBydW4gdG8gYnJlYWtwb2ludCBgJGZtYWluJy4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9saWJyYXJ5LW1vZHVsZS5leHAgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xpYnJhcnktbW9kdWxlLmV4cAppbmRleCBmMjU5ODhlMzJj Li5lYjI2NTUxZjRkIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xpYnJh cnktbW9kdWxlLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xpYnJhcnktbW9k dWxlLmV4cApAQCAtNDAsOSArNDAsMTAgQEAgaWYgIHsgW2dkYl9jb21waWxlICRzcmNkaXIvJHN1 YmRpci8kc3JjZmlsZSAkYmluZmlsZSBleGVjdXRhYmxlIFtsaXN0IGRlYnVnIGY5MAogY2xlYW5f cmVzdGFydCAkdGVzdGZpbGUKIAogZ2RiX2xvYWRfc2hsaWIgJGxpYmZpbGUKK2xvYWRfbGliIGZv cnRyYW4uZXhwCiAKLWlmICFbcnVudG8gTUFJTl9fXSB0aGVuIHsKLSAgICBwZXJyb3IgImNvdWxk bid0IHJ1biB0byBicmVha3BvaW50IE1BSU5fXyIKK2lmICFbcnVudG8gJGZtYWluXSB0aGVuIHsK KyAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50ICRmbWFpbiIKICAgICBjb250 aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xvZ2ljYWwu ZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9sb2dpY2FsLmV4cAppbmRleCAzMjQ3MTRm YTQ5Li5lZjU5NTRhYWY5IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xv Z2ljYWwuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbG9naWNhbC5leHAKQEAg LTE2LDEzICsxNiwxNCBAQAogIyBUaGlzIGZpbGUgd2FzIHdyaXR0ZW4gYnkgSmFuIEtyYXRvY2h2 aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAuZjkw Citsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBpZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxl ZCB0byBwcmVwYXJlIiAkdGVzdGZpbGUgJHNyY2ZpbGUge2RlYnVnIGY5MCBxdWlldH1dfSB7CiAg ICAgcmV0dXJuIC0xCiB9CiAKLWlmIHsgIVtydW50byBNQUlOX19dIH0gewotICAgIHBlcnJvciAi Q291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGBNQUlOX18nLiIKK2lmIHsgIVtydW50byAkZm1h aW5dIH0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGAkZm1haW4n LiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL21heC1kZXB0aC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21heC1kZXB0aC5l eHAKaW5kZXggMjYyZDBmZGZhMS4uNTJiNWEyNGI5OCAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9tYXgtZGVwdGguZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vbWF4LWRlcHRoLmV4cApAQCAtMjYsOCArMjYsOCBAQCBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0 aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XSB9 CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmIHsgIVtydW50byBNQUlOX19dIH0gewotICAgIHBlcnJv ciAiQ291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGBNQUlOX18nLiIKK2lmIHsgIVtydW50byAk Zm1haW5dIH0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGAkZm1h aW4nLiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL21vZHVsZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21vZHVsZS5leHAK aW5kZXggMWMyNjllMmZlZC4uOWY1Yzc5ZmJhMiAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9tb2R1bGUuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbW9k dWxlLmV4cApAQCAtMjksOCArMjksOCBAQCBnZGJfdGVzdCAicCBtb2RtYW55Ojp2YXJfaSIgIiA9 IDE0IiAic3RvcHBlZCBsYW5ndWFnZSBkZXRlY3Rpb24iCiAKIGdkYl90ZXN0ICJwcmludCBtb2Qx Ojp2YXJfY29uc3QiICIgPSAyMCIgImZ1bGx5IHF1YWxpZmllZCBuYW1lIG9mIERXX1RBR19jb25z dGFudCIKIAotaWYgIVtydW50byBNQUlOX19dIHRoZW4gewotICAgIHBlcnJvciAiY291bGRuJ3Qg cnVuIHRvIGJyZWFrcG9pbnQgTUFJTl9fIgoraWYgIVtydW50byAkZm1haW5dIHRoZW4geworICAg IHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgJGZtYWluIgogICAgIGNvbnRpbnVl CiB9CiAKQEAgLTEyMyw3ICsxMjMsNyBAQCBjb21wbGV0ZSAibW9kbWFueTo6dmFyIiAkbW9kbWFu eV9saXN0CiAjIEJyZWFrcG9pbnQgd291bGQgd29yayBpbiBsYW5ndWFnZSAiYyIuCiBnZGJfdGVz dCAic2hvdyBsYW5ndWFnZSIge1RoZSBjdXJyZW50IHNvdXJjZSBsYW5ndWFnZSBpcyAiKGF1dG87 IGN1cnJlbnRseSApP2ZvcnRyYW4iLn0KIAotIyBnY2MtNC40LjI6IFRoZSBtYWluIHByb2dyYW0g aXMgYWx3YXlzIE1BSU5fXyBpbiAuc3ltdGFiIHNvICJydW50byIgYWJvdmUKKyMgZ2NjLTQuNC4y OiBUaGUgbWFpbiBwcm9ncmFtIGlzIGFsd2F5cyAkZm1haW4gaW4gLnN5bXRhYiBzbyAicnVudG8i IGFib3ZlCiAjIHdvcmtzLiAgQnV0IERXQVJGIERXX1RBR19zdWJwcm9ncmFtIGNvbnRhaW5zIHRo ZSBuYW1lIHNwZWNpZmllZCBieQogIyB0aGUgInByb2dyYW0iIEZvcnRyYW4gc3RhdGVtZW50Lgog aWYgW2dkYl9icmVha3BvaW50ICJtb2R1bGUiXSB7CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL211bHRpLWRpbS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL211 bHRpLWRpbS5leHAKaW5kZXggMDU1OTA5MTRkZi4uMjU2N2YxNjZlMiAxMDA2NDQKLS0tIGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9tdWx0aS1kaW0uZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vbXVsdGktZGltLmV4cApAQCAtMjUsOCArMjUsOCBAQCBpZiB7IFtwcmVwYXJl X2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSB7 ZGVidWcgZjkwfQogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gewotICAg IHBlcnJvciAiQ291bGRuJ3QgcnVuIHRvIE1BSU5fXyIKK2lmICFbcnVudG8gJGZtYWluXSB7Cisg ICAgcGVycm9yICJDb3VsZG4ndCBydW4gdG8gJGZtYWluIgogICAgIGNvbnRpbnVlCiB9CiAKZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbmVzdGVkLWZ1bmNzLmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbmVzdGVkLWZ1bmNzLmV4cAppbmRleCBlNGZjMDJmZmE1 Li5iNjgyMjdjYjVhIDEwMDc1NQotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL25lc3Rl ZC1mdW5jcy5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9uZXN0ZWQtZnVuY3Mu ZXhwCkBAIC0yNSw4ICsyNSw4IEBAIGlmIHtbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRv IHByZXBhcmUiICR0ZXN0ZmlsZSAkc3JjZmlsZSB7ZGVidWcgZjkwfV19IHsKICAgICByZXR1cm4g LTENCiB9DQogDQotaWYgIVtydW50byBNQUlOX19dIHRoZW4gew0KLSAgICBwZXJyb3IgImNvdWxk bid0IHJ1biB0byBicmVha3BvaW50IE1BSU5fXyINCitpZiAhW3J1bnRvICRmbWFpbl0gdGhlbiB7 DQorICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgJGZtYWluIg0KICAgICBj b250aW51ZQ0KIH0NCiANCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3By aW50LWZvcm1hdHRlZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50LWZvcm1h dHRlZC5leHAKaW5kZXggOGM2NTI5Y2U3Zi4uY2QxMmM2YjNjNCAxMDA2NDQKLS0tIGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludC1mb3JtYXR0ZWQuZXhwCisrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vcHJpbnQtZm9ybWF0dGVkLmV4cApAQCAtMjUsOCArMjUsOCBAQCBpZiB7 IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNm aWxlIHtkZWJ1ZyBmOTB9XSB9CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmIHsgIVtydW50byBNQUlO X19dIH0gewotICAgIGZhaWwgInJ1bnRvIE1BSU5fXyIKK2lmIHsgIVtydW50byAkZm1haW5dIH0g eworICAgIGZhaWwgInJ1bnRvICRmbWFpbiIKICAgICByZXR1cm4gLTEKIH0KIApkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cCBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAKaW5kZXggN2Q1OTE1MzkwZC4uNjE1YzJiZTIy NiAxMDA3NTUKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cAor KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50X3R5cGUuZXhwCkBAIC0yNCw3ICsy NCw3IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZp bGV9ICR7c3JjZmlsZX0gXAogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvX21haW5dIHsK K2lmICFbcnVudG8gJGZtYWluXSB7CiAgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFp biIKICAgICByZXR1cm4gLTEKIH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vcHJpbnRpbmctdHlwZXMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludGlu Zy10eXBlcy5leHAKaW5kZXggMmM4OGY5ZTAwMy4uMjA2Y2NjZDE5YiAxMDA2NDQKLS0tIGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludGluZy10eXBlcy5leHAKKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9wcmludGluZy10eXBlcy5leHAKQEAgLTE2LDEzICsxNiwxNCBAQAog aWYge1tza2lwX2ZvcnRyYW5fdGVzdHNdfSB7IHJldHVybiAtMSB9CiAKIHN0YW5kYXJkX3Rlc3Rm aWxlIC5mOTAKK2xvYWRfbGliIGZvcnRyYW4uZXhwCiAKIGlmIHtbcHJlcGFyZV9mb3JfdGVzdGlu ZyAkdGVzdGZpbGUuZXhwICR0ZXN0ZmlsZSAkc3JjZmlsZSB7ZGVidWcgZjkwfV19IHsKICAgICBy ZXR1cm4gLTEKIH0KIAotaWYgeyFbcnVudG8gTUFJTl9fXX0gdGhlbiB7Ci0gICAgdW50ZXN0ZWQg ImNvdWxkIG5vdCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18iCitpZiB7IVtydW50byAkZm1haW5d fSB0aGVuIHsKKyAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBicmVha3BvaW50ICRmbWFp biIKICAgICByZXR1cm4gLTEKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9wdHItaW5kZW50YXRpb24uZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wdHIt aW5kZW50YXRpb24uZXhwCmluZGV4IDI4NWUyNGUyY2MuLmJmZmQ0OTgzZjAgMTAwNjQ0Ci0tLSBh L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHRyLWluZGVudGF0aW9uLmV4cAorKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3B0ci1pbmRlbnRhdGlvbi5leHAKQEAgLTIyLDggKzIyLDgg QEAgaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNm aWxlIHtkZWJ1ZyBmOTB9XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiB7IVtydW50byBNQUlO X19dfSB0aGVuIHsKLSAgICB1bnRlc3RlZCAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgTUFJ Tl9fIgoraWYgeyFbcnVudG8gJGZtYWluXX0gdGhlbiB7CisgICAgdW50ZXN0ZWQgImNvdWxkbid0 IHJ1biB0byBicmVha3BvaW50ICRmbWFpbiIKICAgICByZXR1cm4gLTEKIH0KIApkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wdHlwZS1vbi1mdW5jdGlvbnMuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wdHlwZS1vbi1mdW5jdGlvbnMuZXhwCmluZGV4IGQ5MWU0 YmQ0OGUuLmJmMWY1ZDg2MzcgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v cHR5cGUtb24tZnVuY3Rpb25zLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3B0 eXBlLW9uLWZ1bmN0aW9ucy5leHAKQEAgLTI0LDggKzI0LDggQEAgaWYge1twcmVwYXJlX2Zvcl90 ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9 XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAg cGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18iCitpZiAhW3J1bnRvICRm bWFpbl0gdGhlbiB7CisgICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCAkZm1h aW4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9zdWJhcnJheS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YmFycmF5LmV4 cAppbmRleCA1ZTNlOGMzOGNiLi5jOGFhNWZlODI5IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3N1YmFycmF5LmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3N1YmFycmF5LmV4cApAQCAtMjEsNiArMjEsNyBAQAogaWYgeyBbc2tpcF9mb3J0cmFuX3Rlc3Rz XSB9IHsgcmV0dXJuIC0xIH0KIAogc3RhbmRhcmRfdGVzdGZpbGUgLmYKK2xvYWRfbGliIGZvcnRy YW4uZXhwCiAKIGlmIHtbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0 ZXN0ZmlsZSAkc3JjZmlsZSB7ZGVidWcgZjkwfV19IHsKICAgICByZXR1cm4gLTEKQEAgLTMxLDgg KzMyLDggQEAgZ2RiX3N0YXJ0CiBnZGJfcmVpbml0aWFsaXplX2RpciAkc3JjZGlyLyRzdWJkaXIK IGdkYl9sb2FkICR7YmluZmlsZX0KIAotaWYgIVtydW50byBNQUlOX19dIHRoZW4gewotICAgIHBl cnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgTUFJTl9fIgoraWYgIVtydW50byAkZm1h aW5dIHRoZW4geworICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgJGZtYWlu IgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLWFsbG9jLWFzc29jLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWFs bG9jLWFzc29jLmV4cAppbmRleCA1ZDg1ODVjMmVlLi5iYTFlZThlNThjIDEwMDY0NAotLS0gYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1hbGxvYy1hc3NvYy5leHAKKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtYWxsb2MtYXNzb2MuZXhwCkBAIC0xNCwxMyArMTQsMTQg QEAKICMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCiAKIHN0YW5kYXJkX3Rlc3RmaWxlICJ2bGEuZjkwIgorbG9hZF9s aWIgZm9ydHJhbi5leHAKIAogaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHBy ZXBhcmUiICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAogICAgIHtkZWJ1ZyBmOTAgcXVpZXR9XSB9 IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW3J1bnRvICRm bWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJu IC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1kYXRhdHlw ZXMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZGF0YXR5cGVzLmV4cAppbmRl eCAyZGI5YjNlMTEwLi5iNGM0YjE5OGMzIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3ZsYS1kYXRhdHlwZXMuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v dmxhLWRhdGF0eXBlcy5leHAKQEAgLTI0LDcgKzI0LDcgQEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVz dGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAogIyBjaGVj ayB0aGF0IGFsbCBmb3J0cmFuIHN0YW5kYXJkIGRhdGF0eXBlcyB3aWxsIGJlCiAjIGhhbmRsZWQg Y29ycmVjdGx5IHdoZW4gdXNpbmcgYXMgVkxBJ3MKIAotaWYgIVtydW50b19tYWluXSB7CitpZiAh W3J1bnRvICRmbWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAg ICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1oaXN0b3J5LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWhpc3RvcnkuZXhw CmluZGV4IDI0YmQ5NDVmNGEuLmFhMzhkNTI4OGMgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLWhpc3RvcnkuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLWhpc3RvcnkuZXhwCkBAIC0xNCwxMyArMTQsMTQgQEAKICMgYWxvbmcgd2l0aCB0aGlz IHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAK IHN0YW5kYXJkX3Rlc3RmaWxlICJ2bGEuZjkwIgorbG9hZF9saWIgZm9ydHJhbi5leHAKIAogaWYg eyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR7dGVzdGZpbGV9ICR7 c3JjZmlsZX0gXAogICAgIHtkZWJ1ZyBmOTAgcXVpZXR9XSB9IHsKICAgICByZXR1cm4gLTEKIH0K IAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW3J1bnRvICRmbWFpbl0gewogICAgIHVudGVzdGVk ICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5leHAKaW5kZXggMjRjN2I0NTg0MC4uMTUzOGY2ODll MiAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHRyLWluZm8uZXhw CisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0ci1pbmZvLmV4cApAQCAtMTQs MTMgKzE0LDE0IEBACiAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0 dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAidmxhLmY5 MCIKK2xvYWRfbGliIGZvcnRyYW4uZXhwCiAKIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZh aWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwKICAgICB7ZGVidWcgZjkw IHF1aWV0fV0gfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG9fbWFpbl0geworaWYg IVtydW50byAkZm1haW5dIHsKICAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBtYWluIgog ICAgIHJldHVybiAtMQogfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtcHR5cGUtc3ViLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLXN1 Yi5leHAKaW5kZXggMDk5MDllNzRiMC4uOTA0NTU2MDFlNCAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUtc3ViLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS1wdHlwZS1zdWIuZXhwCkBAIC0yMSw3ICsyMSw3IEBAIGlmIHsgW3ByZXBh cmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9 IFwKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW3J1bnRvICRm bWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJu IC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5l eHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKaW5kZXggMjJiMjAw NTMxNy4uMzlkMDBhMzJjMiAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtcHR5cGUuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4 cApAQCAtMjEsNyArMjEsNyBAQCBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8g cHJlcGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCiAgICAgcmV0dXJuIC0xCiB9CiAKLWlm ICFbcnVudG9fbWFpbl0geworaWYgIVtydW50byAkZm1haW5dIHsKICAgICB1bnRlc3RlZCAiY291 bGQgbm90IHJ1biB0byBtYWluIgogICAgIHJldHVybiAtMQogfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vdmxhLXNpemVvZi5leHAKaW5kZXggOGU3ZDM2MzE0ZS4uYzgyNmQ5NmViOSAxMDA2NDQK LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cAorKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXplb2YuZXhwCkBAIC0xNCwxMyArMTQsMTQgQEAK ICMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uCiAKIHN0YW5kYXJkX3Rlc3RmaWxlICJ2bGEuZjkwIgorbG9hZF9saWIg Zm9ydHJhbi5leHAKIAogaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBh cmUiICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAogICAgIHtkZWJ1ZyBmOTAgcXVpZXR9XSB9IHsK ICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW3J1bnRvICRmbWFp bl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJuIC0x CiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwCmluZGV4IDZkODg1ZTc4ODku LmQ5YjY2ZmYzOTUgMTAwNzU1Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5 cGUuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwCkBAIC0y MSw3ICsyMSw3IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJl IiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50 b19tYWluXSB7CitpZiAhW3J1bnRvICRmbWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3Qg cnVuIHRvIG1haW4iCiAgICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItYXJiaXRyYXJ5LmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi1hcmJpdHJhcnkuZXhwCmluZGV4IGFiNjFkZGUwNmYu LmExOGI0ZTQyMDkgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZh bHVlLXN1Yi1hcmJpdHJhcnkuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxh LXZhbHVlLXN1Yi1hcmJpdHJhcnkuZXhwCkBAIC0xNCwxMyArMTQsMTQgQEAKICMgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uCiAKIHN0YW5kYXJkX3Rlc3RmaWxlICJ2bGEtc3ViLmY5MCIKK2xvYWRfbGliIGZvcnRyYW4u ZXhwCiAKIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rl c3RmaWxlfSAke3NyY2ZpbGV9IFwKICAgICB7ZGVidWcgZjkwIHF1aWV0fV0gfSB7CiAgICAgcmV0 dXJuIC0xCiB9CiAKLWlmICFbcnVudG9fbWFpbl0geworaWYgIVtydW50byAkZm1haW5dIHsKICAg ICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBtYWluIgogICAgIHJldHVybiAtMQogfQpkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWZpbmlzaC5l eHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cApp bmRleCBhZmQ5OTJjZWU0Li5hMDU2ZmMyNzMyIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cApAQCAtMTQsMTMgKzE0LDE0IEBACiAj IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAidmxhLXN1Yi5mOTAiCitsb2FkX2xp YiBmb3J0cmFuLmV4cAogCiBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJl cGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCiAgICAge2RlYnVnIGY5MCBxdWlldH1dIH0g ewogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvX21haW5dIHsKK2lmICFbcnVudG8gJGZt YWluXSB7CiAgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFpbiIKICAgICByZXR1cm4g LTEKIH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1 Yi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWIuZXhwCmluZGV4 IDMzMTFmNmJlZmEuLmUwYTQyMjYwYTQgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vdmxhLXZhbHVlLXN1Yi5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtdmFsdWUtc3ViLmV4cApAQCAtMTQsMTMgKzE0LDE0IEBACiAjIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogCiBz dGFuZGFyZF90ZXN0ZmlsZSAidmxhLXN1Yi5mOTAiCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBp ZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0g JHtzcmNmaWxlfSBcCiAgICAge2RlYnVnIGY5MCBxdWlldH1dIH0gewogICAgIHJldHVybiAtMQog fQogCi1pZiAhW3J1bnRvX21haW5dIHsKK2lmICFbcnVudG8gJGZtYWluXSB7CiAgICAgdW50ZXN0 ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFpbiIKICAgICByZXR1cm4gLTEKIH0KZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cAppbmRleCA1YWYxN2I1NzBjLi45OTRhNWEzZTdhIDEw MDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS5leHAKKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCkBAIC0yMSw3ICsyMSw3IEBA IGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxl fSAke3NyY2ZpbGV9IFwKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7Citp ZiAhW3J1bnRvICRmbWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4i CiAgICAgcmV0dXJuIC0xCiB9CkBAIC0xMjksOCArMTI5LDggQEAgZ2RiX3Rlc3QgInByaW50IHZs YTEoOSwgOSwgOSkiICJubyBzdWNoIHZlY3RvciBlbGVtZW50IFxcXCh2ZWN0b3Igbm90IGFsbG9j YXRlZFwKICMgVHJ5IHRvIGFzc2lnbiBWTEEgdG8gdXNlciB2YXJpYWJsZQogY2xlYW5fcmVzdGFy dCAke3Rlc3RmaWxlfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJj b3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18iCitpZiAhW3J1bnRvICRmbWFpbl0gdGhl biB7CisgICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCAkZm1haW4iCiAgICAg Y29udGludWUKIH0KIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2bGEyLWFs bG9jYXRlZCJdCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3doYXRpc190 eXBlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vd2hhdGlzX3R5cGUuZXhwCmluZGV4 IDZhOWNjMGE4MWUuLjhhOWExZWI3OWYgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vd2hhdGlzX3R5cGUuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vd2hh dGlzX3R5cGUuZXhwCkBAIC0yMyw4ICsyMyw4IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3Rpbmcg ImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxlfSBcCiAgICAgcmV0dXJuIC0xCiB9CiAKLWlm ICFbcnVudG8gTUFJTl9fXSB7Ci0gICAgZmFpbCAicnVuIHRvIE1BSU5fXyIKK2lmICFbcnVudG8g JGZtYWluXSB7CisgICAgZmFpbCAicnVuIHRvICRmbWFpbiIKICAgICByZXR1cm4KIH0KIApkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmFyLWNoaWxkLWYuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIubWkvbWktdmFyLWNoaWxkLWYuZXhwCmluZGV4IDhjZmZmYTdjMDguLjM2M2Rh MGI3ZWQgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4 cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12YXItY2hpbGQtZi5leHAKQEAgLTM2LDcg KzM2LDcgQEAgaWYge1tnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9 IiAiJHtiaW5maWxlfSIgXAogbWlfZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rpci8kc3ViZGly CiBtaV9nZGJfbG9hZCAke2JpbmZpbGV9CiAKLW1pX3J1bnRvIE1BSU5fXworbWlfcnVudG8gJGZt YWluCiAKIG1pX2NyZWF0ZV92YXJvYmogImFycmF5IiAiYXJyYXkiICJjcmVhdGUgbG9jYWwgdmFy aWFibGUgYXJyYXkiCiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvbGliL2ZvcnRyYW4uZXhw IGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZm9ydHJhbi5leHAKaW5kZXggNTQ5ZWQ2NTc5MC4uMGJkOTU1 MDRjOCAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZm9ydHJhbi5leHAKKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9saWIvZm9ydHJhbi5leHAKQEAgLTE4LDYgKzE4LDggQEAKICMgQXV4aWxpYXJ5 IGZ1bmN0aW9uIHRvIHNldCB0aGUgbGFuZ3VhZ2UgdG8gZm9ydHJhbi4KICMgVGhlIHJlc3VsdCBp cyAxICh0cnVlKSBmb3Igc3VjY2VzcywgMCAoZmFsc2UpIGZvciBmYWlsdXJlLgogCitnbG9iYWwg Zm1haW4KKwogcHJvYyBzZXRfbGFuZ19mb3J0cmFuIHt9IHsKICAgICBpZiBbZ2RiX3Rlc3Rfbm9f b3V0cHV0ICJzZXQgbGFuZ3VhZ2UgZm9ydHJhbiJdIHsKIAlyZXR1cm4gMApAQCAtMTI2LDMgKzEy OCwxNyBAQCBwcm9jIGZvcnRyYW5fY2hhcmFjdGVyMSB7fSB7CiAJcmV0dXJuICJ1bmtub3duIgog ICAgIH0KIH0KKworcHJvYyBmb3J0cmFuX21haW4ge30geworICAgIGlmIHtbdGVzdF9jb21waWxl cl9pbmZvIHtnY2MtNC1bMDEyXS0qfV0KKyAgICAgICAgIHx8IFt0ZXN0X2NvbXBpbGVyX2luZm8g e2djYy0qfV0KKyAgICAgICAgIHx8IFt0ZXN0X2NvbXBpbGVyX2luZm8ge2ljYy0qfV19IHsKKwly ZXR1cm4gIk1BSU5fXyIKKyAgICB9IGVsc2VpZiB7W3Rlc3RfY29tcGlsZXJfaW5mbyB7Y2xhbmct Kn1dfSB7CisJcmV0dXJuICJNQUlOXyIKKyAgICB9IGVsc2UgeworCXJldHVybiAidW5rbm93biIK KyAgICB9Cit9CisKK3NldCBmbWFpbiAgW2ZvcnRyYW5fbWFpbl0KLS0gCjIuMTcuMQoK --_002_BY5PR12MB3859E16387C6A51C5B536CCE9ED00BY5PR12MB3859namp_--