From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web10.31059.1683756040954808335 for ; Wed, 10 May 2023 15:00:40 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=hPjMdUnH; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: gua.guo@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1683756040; x=1715292040; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=IrJX/NQJbdInqHRHVXdgTuKizSi2y+WGl+RozfQ1tik=; b=hPjMdUnH7wky9xLFGGEOUZjeQRgQuhtlTFno01wN0DgNfYImgkgxqOTX usEM52G+c7ezx2kN7h+ufPTU+M7Mtvf73HPAzGEBeBrxdo2QjUlyf97er WtE6Gz6bqBPC4revKdrkuOYij5CsZeIfOlcGlSzWwqUi81u5nLblYPiIj Sa1j6MF/zT3ska/zXkl/oFbXnHbEdL1i+Xn9yaNf2JHczKxws4duje/ju V6+dZJVfDbdM35/jQGLeT72sYLEqy/8bY3YEBHdO+rciGtqFVRelsgHLI cNNcUKCLmVkNfFHvcpfzS2g9jA7fOMgJjdewGUFRO9Im/M1dOOHQbtlgX Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10706"; a="347799082" X-IronPort-AV: E=Sophos;i="5.99,265,1677571200"; d="scan'208";a="347799082" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 May 2023 15:00:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10706"; a="649890118" X-IronPort-AV: E=Sophos;i="5.99,265,1677571200"; d="scan'208";a="649890118" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga003.jf.intel.com with ESMTP; 10 May 2023 15:00:40 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 10 May 2023 15:00:39 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Wed, 10 May 2023 15:00:39 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.174) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Wed, 10 May 2023 15:00:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=na039F4niV4fUafO7iKdJkSCKEa7ogJQMqu+9lIkdnL4Ux9hFwoLEgph01Kepklrpg5Ygc4R/gu1GXnx4ILQLRjlUZE5F7gKZJ+otFTYdFBnOauIMPID1g+qJg5dy1apbCIuC6/HcmPbTpZkB5gvY8M7R25zZAnRkeE+RETQQaltBVMNB5Z9z1ILFiu731o+gC+di46LIDshcIFTRylRtxHIVCWRNbhN3PS42H8el43eEo2fpDgR5ou6V6qLyTTjU0xp8UEVV3YNvSAMxtbovxvMf5bWqGs6AUZo/4ZsvOuSiUrGIO73+XL3Ee1aTmwJ0TokPO5v5yImUFEjpa3ZIA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IrJX/NQJbdInqHRHVXdgTuKizSi2y+WGl+RozfQ1tik=; b=lDnD7ZXg6uPpUuroWRbDOF5xwrc/6+fkK4OXlVVXGNTzKroQX0yX4kFvWKjy7y9QKtICYnloIXNxK6rtlheIxQabtq3TzvQLCFua2o72dF5pRhFjObZAloBFsuWN4a0PAdLu5JypRgZF6po45oleBX3NzGJg9RiacVVw2WApwSyBh8C5/xS4w5E45HVIxZNhDRgAfdaGPA+K2H+dvYxvmnTKAqR0Nan5WGnRCkoAgPlUpiuS4LG8ObHZDuL0z3HEe5O6Zl0dSyGitu3iXwAnlNPq8kT1Nte8Xbmj6y5WARYKKw4QMgen7IFtcOrKfzK5nra9s5im88sGHYSUCE8Nqg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BL1PR11MB5478.namprd11.prod.outlook.com (2603:10b6:208:31d::12) by DM8PR11MB5623.namprd11.prod.outlook.com (2603:10b6:8:25::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.33; Wed, 10 May 2023 22:00:37 +0000 Received: from BL1PR11MB5478.namprd11.prod.outlook.com ([fe80::f50b:35fe:b26f:ec5d]) by BL1PR11MB5478.namprd11.prod.outlook.com ([fe80::f50b:35fe:b26f:ec5d%6]) with mapi id 15.20.6387.018; Wed, 10 May 2023 22:00:37 +0000 From: "Guo, Gua" To: Michael Kubacki , "devel@edk2.groups.io" , "Kinney, Michael D" CC: Sean Brogan Subject: Re: [edk2-devel] [PATCH v4 1/1] BaseTools/Plugin: Too many execute files cause "cmd too long" failure Thread-Topic: [edk2-devel] [PATCH v4 1/1] BaseTools/Plugin: Too many execute files cause "cmd too long" failure Thread-Index: AQHZgv5mcfJqwkI5nEisdHt/rnBqt69UCjGAgAAFBuA= Date: Wed, 10 May 2023 22:00:37 +0000 Message-ID: References: <20230510051457.1063-1-gua.guo@intel.com> <20230510051457.1063-2-gua.guo@intel.com> <2b81670d-d116-9c34-9704-a19e74a38fea@linux.microsoft.com> In-Reply-To: <2b81670d-d116-9c34-9704-a19e74a38fea@linux.microsoft.com> Accept-Language: en-US X-Mentions: michael.d.kinney@intel.com X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BL1PR11MB5478:EE_|DM8PR11MB5623:EE_ x-ms-office365-filtering-correlation-id: 25f3a40a-3baf-424f-d8fb-08db51a1fc96 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qrB60RL/jcap1mxbEFWCLBsSJO/sEFgYseKjF6RTH3CnnS+h1YAzZwuBTAzySjX0OPIEBHFjpZ6S1cuVbFBixOgGlLi82vmbk11pnkt16f4SVO3xEgBeiXQWLpLWz0MJu5efpttyeeR3GXi+UkwOQI0l+c7CWLuWHYH4kMXOibtwlxM/sQ4y8vneRRxfrFyITBj2+wv0YGu4HNntEOag2USBJF4dmTSHVK7CNyLM5Q8KoIqb/pxtgVRVICat2+mXw7htyOUyW+uE8aFj9yc8+yan3eWDxPLtitv0bxrA+ibE+RERq5Oxr7QWHy003ZTbFVgl5Zl2RekmnbnF2sf0v8CR1B20PB7p6BaGx4QHj8eMA2cqtpflKIueR3bVZq94Hkc+Qpi7byJddgyPlLQGx5RM6SV51wbE3itvVkZGVgEn/DSQgOVIM7lhAVM0wOb5MBmTREsI6+hZu0QmHhXN6Q5JLELhFrPaCs/zd15onq4FYex0pxvaCuN2gfhSc4UpgYbqNkl4JdTjVeANsYGML/3vC96BWW1L5GR9swPOiz3RtCUwo6h19gelfT44iF67LOL4yDF1A4vExGRvbWKHqC9VcjMlKDpZqvAb5PjkK9vQlzwDIwkGe8OEXK6kkCkh9EgDVJSWNWgdrVFXn+mEMA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR11MB5478.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(39860400002)(136003)(366004)(346002)(396003)(451199021)(83380400001)(186003)(2906002)(33656002)(38070700005)(38100700002)(86362001)(122000001)(55016003)(82960400001)(7696005)(8676002)(8936002)(316002)(71200400001)(41300700001)(5660300002)(52536014)(110136005)(4326008)(6636002)(76116006)(64756008)(66556008)(66446008)(66476007)(66946007)(9686003)(478600001)(6506007)(26005)(53546011)(460985005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?U3hyR2d2dlJiL0ExT0dHcVhlT2pZRkN5MWthakxlVzc1eXBxV1AySzdvbnha?= =?utf-8?B?ekVLWW9lUyt6b0JxOXJiaU43LzNKU3pyTGROZEx6TmFCZTNLaDhCMFphbjJQ?= =?utf-8?B?Q2ZDLzU1RmF0QVRmcTNXMkNBa2NqTFJOQWl2Qlp2ZWJRL3V5WVpDcVlIMVNw?= =?utf-8?B?d0YrVkZsd3crUEdjTHREaWNQREVFTmR2K3ZOMHlldERhMWhmV1libnV6QS9I?= =?utf-8?B?UnMwZW1mZHlmVVZhTmxzbksrditINGpVTDFTQjVaZHZuSjBza0QwMk1QNnpV?= =?utf-8?B?RkV0ZnVXSUd4T1B5ZXp3cXBja0xSY2hTdy8wcVEreGY3V3h2NVhzbTBmVzNB?= =?utf-8?B?Q0NMQnFDeDVMME8yc3E2Y3NBR0lsZnA3VjlkZXlXQVZtcDZ5L2Y4U0lGa0tt?= =?utf-8?B?dXZ6ZkVTU1VZZUtQZnVtc3cyRm1kRGVQdUxoa282NC9pclRqb0tIdmlPYll1?= =?utf-8?B?UjNNZGpHUHVyYzg5elJOanp4Uk9xdXNscmhVNFV2WHhEamZKWi9UUFlGZ0hW?= =?utf-8?B?SGZQT3Z4R2xtb0tUdERqTWxnemFPaGY4ODh4SFFVVnRpamp3Z0YvSVhkS292?= =?utf-8?B?ZklOcWtVb2theGo0Uk5yQ1J4UVByTUZOdzBta1c1bXhqZkx6N1ZrUGgwWUND?= =?utf-8?B?UDVIdW9UVmNvTXdWeUNZWEY4Y3BjZ3FubVNIWmUxMk5QT3FYUFAyMTZDUDBj?= =?utf-8?B?U25OTHo2Q3VFVEx0WkNHUFptd04vaUc3U0dsZXEwd1ZjOEFFT1BrVDZqYVRy?= =?utf-8?B?bmVkZFJTS3ZkYUFSSjdENHVEY2NCdFlURjg1Z0RJeFl0eUlIQTBzRVZIR1Nn?= =?utf-8?B?ZGdkSEVQYktsdU44UTN0eWlBZnl2VEpMR3V2SW1RWU5jS3JzUTNqcTBBdU01?= =?utf-8?B?RzQ3TjhVOU4ySmNFN3VndE92WjRZRVR1ZTJMdVkvbFRqR1ArMDd0Tjh2ektj?= =?utf-8?B?WHRIVFRHU2NzL0hYUTJtVHpFMXJiUXUxZ28yaXF1UWx6cFdQMGROMTZveEUz?= =?utf-8?B?MkNJZXEvdmtaTzlMZFl5d3VDZVFNaVdZWVlROWwyOGJ4UFYvckV6L2xNcG1l?= =?utf-8?B?QjhMdzVCRVhQWldFUVJSOXgyQkhmd2VQN2o3cTdBVSsvVGVzY3NaNTRoUHh2?= =?utf-8?B?WGl0RjRUSTQ3SGhYOUw4Qk1MTWpUL0t0RGE3bU5US2gxck9DazByVlFxRm1u?= =?utf-8?B?RmxJT29JYWpMKzAvQThydEd5UTBiQ3UxUDJ4cndrM1lwMk9iMGpIYzRVWUlV?= =?utf-8?B?T0d4ZDdvOWZYaVVUMmhlcXF5aHYxRllhcEl3VWlaSVQ5WitxZEoyOVBWNDVS?= =?utf-8?B?QjMzWGZ3OUVjd0NnT0d4OEN0NFV1MWd0eVltMW0xeWQvR3VuZW1rbDg4YU42?= =?utf-8?B?ZWpDTlFrUkZIdVAzOGh4M0Vid2tyUllnNmpTa0ZmK0wrTVFJeCt0OW4yeGp1?= =?utf-8?B?WEJUSjdVS3Y4eUFlYjdVRDVFZ2E4ZnY2eS9VS1kvVzhlbE91cTh5dktLVWVK?= =?utf-8?B?Z3pVd0Y1QTlMcTF0V1hHRldiOStnRUlmMWRZYnJMVzVaVHNIQ3ExK1pPb3Zt?= =?utf-8?B?L2lVc0RaNEFLUmJPeml6MWlJdnNUL1NUT01MczlXSHZJRWwxeXNzQk0rRzU4?= =?utf-8?B?a1l4TGhYbVIwKzNmYnIwU0hOa1JIVC9PY3lhUHZncldsSThGUUFUZUJESVdB?= =?utf-8?B?eGlIc0pESzZSQ2c3eWhMSDZpNVhhM3JndnUyckJFTk5KY3UydkdTN3k4TzNU?= =?utf-8?B?M0tmNGtmTS82QWZQMzFreXJEaXRLa0J6RGdXZ2lya1habHFnQnhMZ1VYNjNa?= =?utf-8?B?dUdBV1pDRlJwQjN5SHhjN1RocUxiYmxwbXdhSlVTL05WdGt3N0dudjZtSU9r?= =?utf-8?B?MjRHN25Ca0J2L2w5ZHdYWTRNWjhWcERGcmJUM3hDelVmMzBlcW9kdTJVTCt1?= =?utf-8?B?dVZsRENMbXpUZVg3YjB0eGVQQUZtMStwUmNqY0dGcjczRStMT1grQUMzYnV6?= =?utf-8?B?b0RqYzNWemZ2bGp1a2pmN2tzcFROeGRMSGR3TDExb0UwaE0zYUNhOGxqam5w?= =?utf-8?B?WW94YWN6U3p4dDNscjdKaW1sd01od0doOXpGWE1qdndSUldLTWx3OW00YzJi?= =?utf-8?Q?t86s=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL1PR11MB5478.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25f3a40a-3baf-424f-d8fb-08db51a1fc96 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 May 2023 22:00:37.1936 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: vvT9FMH8ZZzrIvHLk8xPcrb+uAv/F8b7bSccYT9bwR1TXwDK67/vNu9su9/N/CleNoCtPcQeNdkuQNy7HqPU5g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR11MB5623 Return-Path: gua.guo@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QEtpbm5leSwgTWljaGFlbCBEDQoNCkNvdWxkIHdlIG1lcmdlIHRoZSBidWcgcGF0Y2ggYmVmb3Jl IGNvZGUgZnJlZXplID8gVGhlIHBhdGNoIGNhbiBoZWxwIHVubG9jayBjb21tYW5kIHRvbyBsb25n IGlzc3VlIG9uIFdpbmRvd3MgY29tbWFuZCBwcm9tcHQuDQoNClRoYW5rcywNCkd1YQ0KDQotLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogTWljaGFlbCBLdWJhY2tpIDxtaWt1YmFja0Bs aW51eC5taWNyb3NvZnQuY29tPiANClNlbnQ6IFRodXJzZGF5LCBNYXkgMTEsIDIwMjMgNTo0MSBB TQ0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBHdW8sIEd1YSA8Z3VhLmd1b0BpbnRlbC5jb20+ DQpDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgU2Vh biBCcm9nYW4gPHNlYW4uYnJvZ2FuQG1pY3Jvc29mdC5jb20+DQpTdWJqZWN0OiBSZTogW2VkazIt ZGV2ZWxdIFtQQVRDSCB2NCAxLzFdIEJhc2VUb29scy9QbHVnaW46IFRvbyBtYW55IGV4ZWN1dGUg ZmlsZXMgY2F1c2UgImNtZCB0b28gbG9uZyIgZmFpbHVyZQ0KDQpSZXZpZXdlZC1ieTogTWljaGFl bCBLdWJhY2tpIDxtaWNoYWVsLmt1YmFja2lAbWljcm9zb2Z0LmNvbT4NCg0KT24gNS8xMC8yMDIz IDE6MTQgQU0sIEd1bywgR3VhIHdyb3RlOg0KPiBGcm9tOiBHdWEgR3VvIDxndWEuZ3VvQGludGVs LmNvbT4NCj4gDQo+IFdpbmRvd3MgY29tbWFuZCBwcm9tcHQgaGF2ZSA4MTkxIGNoYXJhY3RlcnMg bGltaXRhdGlvbiwgZW5oYW5jZSBpdCB0byANCj4gbWFrZSBjb21tYW5kIHRvbyBsb25nIGNhbiBi ZSByZXNsb3ZlZC4NCj4gDQo+IFByb3ZpZGUgYW4gZXhhbXBsZSwgaWYgaGF2ZSB0b28gbWFueSBj b3YgZmlsZXMsIGl0IGNhdXNlcyB0byBydW4gDQo+IHNpbmdsZSBjb21tYW5kIG92ZXIgdGhlIDgx OTEgY2hhcmFjdGVycyBsaW1pdGF0aW9uLg0KPj4gT3BlbkNwcENvdmVyYWdlDQo+PiAgIC0tZXhw b3J0X3R5cGUgYmluYXJ5OmNvdmVyYWdlLmNvdg0KPj4gICAtLXdvcmtpbmdfZGlyPXt3b3Jrc3Bh Y2V9QnVpbGQNCj4+ICAgLS1pbnB1dF9jb3ZlcmFnZT1BQUEuY292DQo+PiAgIC4uLg0KPj4gICAt LWlucHV0X2NvdmVyYWdlPU5OTi5jb3YNCj4gDQo+IFRoZSBzb2x1dGlvbiBpcyBwYXNzaW5nIG1h bnkgY292ZXJhZ2UgZmlsZXMgaW4gc2luZ2xlIGNvbW1hbmQgbGluZSB0byANCj4gYnJlYWtpbmcg aXQgdXAgaW50byBtYW55IGNvbW1hbmQgbGluZXMgd2l0aCBvbmUgY292ZXJhZ2UgZmlsZSBwZXIg DQo+IGNvbW1hbmQgbGluZSBpbiBvcmRlciB0byBwcmV2ZW50IHNpbmdsZSBsaW5lIGlzIG92ZXIg dG8gODE5MSBjaGFyYWN0ZXJzLg0KPiANCj4gLSBDb21tYW5kIExpbmUgMQ0KPj4gT3BlbkNwcENv dmVyYWdlDQo+PiAgIC0tZXhwb3J0X3R5cGUgYmluYXJ5OmNvdmVyYWdlLmNvdg0KPj4gICAtLXdv cmtpbmdfZGlyPXt3b3Jrc3BhY2V9QnVpbGQNCj4+ICAgLS1pbnB1dF9jb3ZlcmFnZT1BQUEuY292 DQo+PiAgIC0taW5wdXRfY292ZXJhZ2U9Y292ZXJhZ2UuY292DQo+IC4uLg0KPiANCj4gLSBDb21t YW5kIExpbmUgTg0KPj4gT3BlbkNwcENvdmVyYWdlDQo+PiAgIC0tZXhwb3J0X3R5cGUgYmluYXJ5 OmNvdmVyYWdlLmNvdg0KPj4gICAtLXdvcmtpbmdfZGlyPXt3b3Jrc3BhY2V9QnVpbGQNCj4+ICAg LS1pbnB1dF9jb3ZlcmFnZT1OTk4uY292DQo+PiAgIC0taW5wdXRfY292ZXJhZ2U9Y292ZXJhZ2Uu Y292DQo+IA0KPiBDYzogTWljaGFlbCBEIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+DQo+IENjOiBTZWFuIEJyb2dhbiA8c2Vhbi5icm9nYW5AbWljcm9zb2Z0LmNvbT4NCj4gQ2M6 IE1pY2hhZWwgS3ViYWNraSA8bWlrdWJhY2tAbGludXgubWljcm9zb2Z0LmNvbT4NCj4gU2lnbmVk LW9mZi1ieTogR3VhIEd1byA8Z3VhLmd1b0BpbnRlbC5jb20+DQo+IC0tLQ0KPiAgIC4uLi9Ib3N0 QmFzZWRVbml0VGVzdFJ1bm5lci5weSAgICAgICAgICAgICAgICB8IDQ2ICsrKysrKysrKysrKysr KysrLS0NCj4gICAxIGZpbGUgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMo LSkNCj4gDQo+IGRpZmYgLS1naXQgDQo+IGEvQmFzZVRvb2xzL1BsdWdpbi9Ib3N0QmFzZWRVbml0 VGVzdFJ1bm5lci9Ib3N0QmFzZWRVbml0VGVzdFJ1bm5lci5weSANCj4gYi9CYXNlVG9vbHMvUGx1 Z2luL0hvc3RCYXNlZFVuaXRUZXN0UnVubmVyL0hvc3RCYXNlZFVuaXRUZXN0UnVubmVyLnB5DQo+ IGluZGV4IGQ5OTNkZTk0MTIuLjJlNWM0NjJjZDIgMTAwNjQ0DQo+IC0tLSANCj4gYS9CYXNlVG9v bHMvUGx1Z2luL0hvc3RCYXNlZFVuaXRUZXN0UnVubmVyL0hvc3RCYXNlZFVuaXRUZXN0UnVubmVy LnB5DQo+ICsrKyBiL0Jhc2VUb29scy9QbHVnaW4vSG9zdEJhc2VkVW5pdFRlc3RSdW5uZXIvSG9z dEJhc2VkVW5pdFRlc3RSdW5uZXINCj4gKysrIC5weQ0KPiBAQCAtMjA1LDI4ICsyMDUsNjQgQEAg Y2xhc3MgSG9zdEJhc2VkVW5pdFRlc3RSdW5uZXIoSVVlZmlCdWlsZFBsdWdpbik6DQo+ICAgICAg ICAgICB0ZXN0TGlzdCA9IGdsb2IuZ2xvYihvcy5wYXRoLmpvaW4oYnVpbGRPdXRwdXRCYXNlLCAN Cj4gIioqIiwiKlRlc3QqLmV4ZSIpLCByZWN1cnNpdmU9VHJ1ZSkNCj4gDQo+ICAgICAgICAgICB3 b3Jrc3BhY2UgPSB0aGVidWlsZGVyLmVudi5HZXRWYWx1ZSgiV09SS1NQQUNFIikNCj4gDQo+ICAg ICAgICAgICB3b3Jrc3BhY2UgPSAod29ya3NwYWNlICsgb3Muc2VwKSBpZiB3b3Jrc3BhY2VbLTFd ICE9IG9zLnNlcCANCj4gZWxzZSB3b3Jrc3BhY2UNCj4gDQo+ICsgICAgICAgIHdvcmtzcGFjZUJ1 aWxkID0gb3MucGF0aC5qb2luKHdvcmtzcGFjZSwgJ0J1aWxkJykNCj4gDQo+ICAgICAgICAgICAj IEdlbmVyYXRlIGNvdmVyYWdlIGZpbGUNCj4gDQo+ICAgICAgICAgICBjb3ZlcmFnZUZpbGUgPSAi Ig0KPiANCj4gICAgICAgICAgIGZvciB0ZXN0RmlsZSBpbiB0ZXN0TGlzdDoNCj4gDQo+ICAgICAg ICAgICAgICAgcmV0ID0gUnVuQ21kKCJPcGVuQ3BwQ292ZXJhZ2UiLCBmIi0tc291cmNlIHt3b3Jr c3BhY2V9IA0KPiAtLWV4cG9ydF90eXBlIGJpbmFyeTp7dGVzdEZpbGV9LmNvdiAtLSB7dGVzdEZp bGV9IikNCj4gDQo+IC0gICAgICAgICAgICBjb3ZlcmFnZUZpbGUgKz0gIiAtLWlucHV0X2NvdmVy YWdlPSIgKyB0ZXN0RmlsZSArICIuY292Ig0KPiANCj4gKyAgICAgICAgICAgIGlmIHJldCAhPSAw Og0KPiANCj4gKyAgICAgICAgICAgICAgICBsb2dnaW5nLmVycm9yKCJVbml0VGVzdCBDb3ZlcmFn ZTogRmFpbGVkIHRvIGNvbGxlY3QgDQo+ICsgY292ZXJhZ2UgZGF0YS4iKQ0KPiANCj4gKyAgICAg ICAgICAgICAgICByZXR1cm4gMQ0KPiANCj4gKw0KPiANCj4gKyAgICAgICAgICAgIGNvdmVyYWdl RmlsZSAgPSBmIiAtLWlucHV0X2NvdmVyYWdlPXt0ZXN0RmlsZX0uY292Ig0KPiANCj4gKyAgICAg ICAgICAgIHRvdGFsQ292ZXJhZ2VGaWxlID0gb3MucGF0aC5qb2luKGJ1aWxkT3V0cHV0QmFzZSwg DQo+ICsgJ2NvdmVyYWdlLmNvdicpDQo+IA0KPiArICAgICAgICAgICAgaWYgb3MucGF0aC5pc2Zp bGUodG90YWxDb3ZlcmFnZUZpbGUpOg0KPiANCj4gKyAgICAgICAgICAgICAgICBjb3ZlcmFnZUZp bGUgKz0gZiIgLS1pbnB1dF9jb3ZlcmFnZT17dG90YWxDb3ZlcmFnZUZpbGV9Ig0KPiANCj4gKyAg ICAgICAgICAgIHJldCA9IFJ1bkNtZCgNCj4gDQo+ICsgICAgICAgICAgICAgICAgIk9wZW5DcHBD b3ZlcmFnZSIsDQo+IA0KPiArICAgICAgICAgICAgICAgIGYiLS1leHBvcnRfdHlwZSBiaW5hcnk6 e3RvdGFsQ292ZXJhZ2VGaWxlfSAiICsNCj4gDQo+ICsgICAgICAgICAgICAgICAgZiItLXdvcmtp bmdfZGlyPXt3b3Jrc3BhY2VCdWlsZH0gIiArDQo+IA0KPiArICAgICAgICAgICAgICAgIGYie2Nv dmVyYWdlRmlsZX0iDQo+IA0KPiArICAgICAgICAgICAgICAgICkNCj4gDQo+ICAgICAgICAgICAg ICAgaWYgcmV0ICE9IDA6DQo+IA0KPiAgICAgICAgICAgICAgICAgICBsb2dnaW5nLmVycm9yKCJV bml0VGVzdCBDb3ZlcmFnZTogRmFpbGVkIHRvIGNvbGxlY3QgDQo+IGNvdmVyYWdlIGRhdGEuIikN Cj4gDQo+ICAgICAgICAgICAgICAgICAgIHJldHVybiAxDQo+IA0KPiAgIA0KPiANCj4gICAgICAg ICAgICMgR2VuZXJhdGUgYW5kIFhNTCBmaWxlIGlmIHJlcXVlc3RlZC5ieSBlYWNoIHBhY2thZ2UN Cj4gDQo+IC0gICAgICAgIHJldCA9IFJ1bkNtZCgiT3BlbkNwcENvdmVyYWdlIiwgZiItLWV4cG9y dF90eXBlIGNvYmVydHVyYTp7b3MucGF0aC5qb2luKGJ1aWxkT3V0cHV0QmFzZSwgJ2NvdmVyYWdl LnhtbCcpfSAtLXdvcmtpbmdfZGlyPXt3b3Jrc3BhY2V9QnVpbGQge2NvdmVyYWdlRmlsZX0iKQ0K PiANCj4gKyAgICAgICAgcmV0ID0gUnVuQ21kKA0KPiANCj4gKyAgICAgICAgICAgICJPcGVuQ3Bw Q292ZXJhZ2UiLA0KPiANCj4gKyAgICAgICAgICAgIGYiLS1leHBvcnRfdHlwZSBjb2JlcnR1cmE6 e29zLnBhdGguam9pbihidWlsZE91dHB1dEJhc2UsIA0KPiArICdjb3ZlcmFnZS54bWwnKX0gIiAr DQo+IA0KPiArICAgICAgICAgICAgZiItLXdvcmtpbmdfZGlyPXt3b3Jrc3BhY2VCdWlsZH0gIiAr DQo+IA0KPiArICAgICAgICAgICAgZiItLWlucHV0X2NvdmVyYWdlPXt0b3RhbENvdmVyYWdlRmls ZX0gIg0KPiANCj4gKyAgICAgICAgICAgICkNCj4gDQo+ICAgICAgICAgICBpZiByZXQgIT0gMDoN Cj4gDQo+ICAgICAgICAgICAgICAgbG9nZ2luZy5lcnJvcigiVW5pdFRlc3QgQ292ZXJhZ2U6IEZh aWxlZCB0byBnZW5lcmF0ZSANCj4gY29iZXJ0dXJhIGZvcm1hdCB4bWwgaW4gc2luZ2xlIHBhY2th Z2UuIikNCj4gDQo+ICAgICAgICAgICAgICAgcmV0dXJuIDENCj4gDQo+ICAgDQo+IA0KPiAgICAg ICAgICAgIyBHZW5lcmF0ZSB0b3RhbCByZXBvcnQgWE1MIGZpbGUgZm9yIGFsbCBwYWNrYWdlDQo+ IA0KPiAtICAgICAgICB0ZXN0Q292ZXJhZ2VMaXN0ID0gZ2xvYi5nbG9iKG9zLnBhdGguam9pbih3 b3Jrc3BhY2UsICJCdWlsZCIsICIqKiIsIipUZXN0Ki5leGUuY292IiksIHJlY3Vyc2l2ZT1UcnVl KQ0KPiANCj4gKyAgICAgICAgdGVzdENvdmVyYWdlTGlzdCA9IGdsb2IuZ2xvYihvcy5wYXRoLmpv aW4od29ya3NwYWNlLCAiQnVpbGQiLCANCj4gKyAiKioiLCAiKlRlc3QqLmV4ZS5jb3YiKSwgcmVj dXJzaXZlPVRydWUpDQo+IA0KPiAgICAgICAgICAgY292ZXJhZ2VGaWxlID0gIiINCj4gDQo+ICsg ICAgICAgIHRvdGFsQ292ZXJhZ2VGaWxlID0gb3MucGF0aC5qb2luKHdvcmtzcGFjZUJ1aWxkLCAN Cj4gKyAnY292ZXJhZ2UuY292JykNCj4gDQo+ICAgICAgICAgICBmb3IgdGVzdENvdmVyYWdlIGlu IHRlc3RDb3ZlcmFnZUxpc3Q6DQo+IA0KPiAtICAgICAgICAgICAgY292ZXJhZ2VGaWxlICs9ICIg LS1pbnB1dF9jb3ZlcmFnZT0iICsgdGVzdENvdmVyYWdlDQo+IA0KPiArICAgICAgICAgICAgY292 ZXJhZ2VGaWxlICA9IGYiIC0taW5wdXRfY292ZXJhZ2U9e3Rlc3RDb3ZlcmFnZX0iDQo+IA0KPiAr ICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUodG90YWxDb3ZlcmFnZUZpbGUpOg0KPiANCj4g KyAgICAgICAgICAgICAgICBjb3ZlcmFnZUZpbGUgKz0gZiIgLS1pbnB1dF9jb3ZlcmFnZT17dG90 YWxDb3ZlcmFnZUZpbGV9Ig0KPiANCj4gKyAgICAgICAgICAgIHJldCA9IFJ1bkNtZCgNCj4gDQo+ ICsgICAgICAgICAgICAgICAgIk9wZW5DcHBDb3ZlcmFnZSIsDQo+IA0KPiArICAgICAgICAgICAg ICAgIGYiLS1leHBvcnRfdHlwZSBiaW5hcnk6e3RvdGFsQ292ZXJhZ2VGaWxlfSAiICsNCj4gDQo+ ICsgICAgICAgICAgICAgICAgZiItLXdvcmtpbmdfZGlyPXt3b3Jrc3BhY2VCdWlsZH0gIiArDQo+ IA0KPiArICAgICAgICAgICAgICAgIGYie2NvdmVyYWdlRmlsZX0iDQo+IA0KPiArICAgICAgICAg ICAgICAgICkNCj4gDQo+ICsgICAgICAgICAgICBpZiByZXQgIT0gMDoNCj4gDQo+ICsgICAgICAg ICAgICAgICAgbG9nZ2luZy5lcnJvcigiVW5pdFRlc3QgQ292ZXJhZ2U6IEZhaWxlZCB0byBjb2xs ZWN0IA0KPiArIGNvdmVyYWdlIGRhdGEuIikNCj4gDQo+ICsgICAgICAgICAgICAgICAgcmV0dXJu IDENCj4gDQo+ICAgDQo+IA0KPiAtICAgICAgICByZXQgPSBSdW5DbWQoIk9wZW5DcHBDb3ZlcmFn ZSIsIGYiLS1leHBvcnRfdHlwZSBjb2JlcnR1cmE6e3dvcmtzcGFjZX1CdWlsZC9jb3ZlcmFnZS54 bWwgLS13b3JraW5nX2Rpcj17d29ya3NwYWNlfUJ1aWxkIHtjb3ZlcmFnZUZpbGV9IikNCj4gDQo+ ICsgICAgICAgIHJldCA9IFJ1bkNtZCgNCj4gDQo+ICsgICAgICAgICAgICAiT3BlbkNwcENvdmVy YWdlIiwNCj4gDQo+ICsgICAgICAgICAgICBmIi0tZXhwb3J0X3R5cGUgY29iZXJ0dXJhOntvcy5w YXRoLmpvaW4od29ya3NwYWNlQnVpbGQsIA0KPiArICdjb3ZlcmFnZS54bWwnKX0gIiArDQo+IA0K PiArICAgICAgICAgICAgZiItLXdvcmtpbmdfZGlyPXt3b3Jrc3BhY2VCdWlsZH0gIiArDQo+IA0K PiArICAgICAgICAgICAgZiItLWlucHV0X2NvdmVyYWdlPXt0b3RhbENvdmVyYWdlRmlsZX0iDQo+ IA0KPiArICAgICAgICAgICAgKQ0KPiANCj4gICAgICAgICAgIGlmIHJldCAhPSAwOg0KPiANCj4g ICAgICAgICAgICAgICBsb2dnaW5nLmVycm9yKCJVbml0VGVzdCBDb3ZlcmFnZTogRmFpbGVkIHRv IGdlbmVyYXRlIA0KPiBjb2JlcnR1cmEgZm9ybWF0IHhtbC4iKQ0KPiANCj4gICAgICAgICAgICAg ICByZXR1cm4gMQ0KPiANCg==