From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web11.10860.1596165223033557250 for ; Thu, 30 Jul 2020 20:13:43 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=SiTib+fG; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: liming.gao@intel.com) IronPort-SDR: df4RsxN3ODdxg7gKWuNQWzr/PuYOmFjmszHww/C03zHBu3j1Z0ZlM3kQLrbJQCyHwiZgzsJqNA 1Jhfz4Te5uLw== X-IronPort-AV: E=McAfee;i="6000,8403,9698"; a="131292311" X-IronPort-AV: E=Sophos;i="5.75,416,1589266800"; d="scan'208";a="131292311" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jul 2020 20:13:41 -0700 IronPort-SDR: OikxfHD6q/f/ZI+DsNVv7o8y54op9I1GxXW4Tow1EUZ0ScZbmTtLx5QWiUOTEhBO5epIh56qnF xtjDM/+rJLOQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,416,1589266800"; d="scan'208";a="365386225" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga001.jf.intel.com with ESMTP; 30 Jul 2020 20:13:41 -0700 Received: from fmsmsx117.amr.corp.intel.com (10.18.116.17) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 30 Jul 2020 20:13:40 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx117.amr.corp.intel.com (10.18.116.17) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 30 Jul 2020 20:13:40 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.174) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 30 Jul 2020 20:13:33 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mQaaO+gRlyEHGtlVdHufHtxU3uFj776WRjTUHeQcV4hWjoKXydwjnCT/wYIkYgzr0lwxK0Ba1Mre4qZhX6E0zYy/fbAvm/HDBGcqwnRzB4T6vDmnVcJmIKUECA+0h9oNdx5RSyejawsY6OusqQU2RnZruTzpufZBDBxbG3NqCkI6jXzOR0i210l4zFzuBY60aZgSZY4tQxDPNvdLgPxQ1Whip5bLEkFmsiVqMSg77lhpCnCCQKFuTK2LOElIrJ11t2MjBxKUSX5DeUGJeh27rPlJyGN1PU3cY3QtOZ9gAzBxJcPdrnx6eo2No+LSkeFVazAnCo7rJkQfAj//swws1Q== 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=3CBQF4pbfMf2I3cCsvc791nzJ9EqToFVLRWSgpJaQ+E=; b=oU01U7MM3vqb3Vbi95at7cfkP96/onh+xhbnyAecdRYyY9zedq9hyd8DQVeh2rQNx7lxZ65zITS5lBPVAWtF982+icxCjvFb7DeJsEpngXcyXgjY5/63oxfJlXft2lkZw5gm88KVBSWzrkW6ZYt+f4MCTNc3jLEneUW7xjLR7CVLgBnMMgJBnynKcexqY9nADlVKAL5f/63wqNpN7ORgWcd+LrYikN1gab72rntYhUZ8dLx/UY3gKRnWVedoNTacf/ApbLPx1Sh7/UlyxhsrxaBPsUZK+J5zmfzX+NYvcJyoBdKscueTLKwT6SLNA5R52RZ2auGaK8Co23WSkq0hFA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3CBQF4pbfMf2I3cCsvc791nzJ9EqToFVLRWSgpJaQ+E=; b=SiTib+fGdG5reKtmEc2Ufcq5+auSjJhtcB3/jDmUKz2bWp3DkQW8+19NAmezjj2Ux+SAP+bV9HL1qLlz/yGMpI3y4RHXQkfYFjIE2cCcQQCTkW2T/ZjXHroU7RuGzqlH/x2DpfpzZNkRiu/5BXvhBOIVWp1SHBhOweF7CproTFU= Received: from CY4PR11MB1526.namprd11.prod.outlook.com (2603:10b6:910:7::10) by CY4PR11MB1464.namprd11.prod.outlook.com (2603:10b6:910:7::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.24; Fri, 31 Jul 2020 03:13:32 +0000 Received: from CY4PR11MB1526.namprd11.prod.outlook.com ([fe80::f8c4:711:84e3:4c97]) by CY4PR11MB1526.namprd11.prod.outlook.com ([fe80::f8c4:711:84e3:4c97%4]) with mapi id 15.20.3216.034; Fri, 31 Jul 2020 03:13:32 +0000 From: "Liming Gao" To: Leif Lindholm CC: "devel@edk2.groups.io" , "lersek@redhat.com" , Andrew Fish , "Kinney, Michael D" , "Zhang, Shenglei" , "Chen, Christine" Subject: Re: [edk2-devel] [PATCH 1/2] Revert "BaseTools/PatchCheck.py: Add LicenseCheck" Thread-Topic: [edk2-devel] [PATCH 1/2] Revert "BaseTools/PatchCheck.py: Add LicenseCheck" Thread-Index: AQHWUGNmc1VaqFbLqkKpXQ/ZVhCzxKj2CvEAgAZC24CAChvyYIAAmEEAgBouU6A= Date: Fri, 31 Jul 2020 03:13:31 +0000 Message-ID: References: <20200702112420.18408-1-leif@nuviainc.com> <20200702112420.18408-2-leif@nuviainc.com> <98aaf25a-62e3-6877-99fe-082f4b6ba437@redhat.com> <20200707155717.GG12303@vanye> <20200714112450.GT12303@vanye> In-Reply-To: <20200714112450.GT12303@vanye> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: nuviainc.com; dkim=none (message not signed) header.d=none;nuviainc.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.194] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 98be4ee6-5150-4dee-3533-08d834ffb45d x-ms-traffictypediagnostic: CY4PR11MB1464: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VWaxVgclkH9SSFdGtB+JwvQVXJcDUQ/+ryQ8hZ15PlRByuU+wHY9mm4zHodeSlWNwBpSCQ5RDkWJ1CUPWK/dsGmXZg/iPC+4vMwrjFOgzJAX8XxOla70PCW36eOH02/rV3ELEAw5jIa5lvIxbiqvUL6HIioTt5JbTxhmvlPzidWV8QmBmzTfAirrxaxyLu72/WX5phnvFMW2L1MBx7fbWztZmZA9yyenqJdwnmNlR1E+C7oZ8lemc0PPxgEN8AeNM9Lp43dwoU/u5Vs/Z+SoZhloL2ju2HYifynznwZPQaOct3tb71CFvchGKaV1k2nN38gYYpNoOoNNvWsQ6I4nqxe1KA9luN18Idgd0biLL5tEvM0WsEEYdSPXuz+irjIeMI0jcLCGyTibbKnehMjxUg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR11MB1526.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(39860400002)(136003)(366004)(396003)(346002)(376002)(66476007)(7696005)(9686003)(76116006)(6916009)(26005)(316002)(6506007)(86362001)(8936002)(33656002)(66446008)(64756008)(66556008)(186003)(54906003)(55016002)(66946007)(83380400001)(52536014)(8676002)(2906002)(5660300002)(4326008)(71200400001)(478600001)(53546011)(966005)(107886003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: BvZushiLXeHVGcTabG20vNn3mCI1lc+UYZfOtiI3q3vLQKjbgr1PuVAojrQVWbyVq/R3N1PrD22vwlA8PxLlPeyoMV9c3TnYJy1U3CkTXqF4rYWlMGedw1ku5zb28eeJ3kh1rlkr1o+XWxOfg7b3lS5WQkXGaekXYg6TzC6rzuxLisAJF3Hf+Yrrsun1kscv9UTzNzsdFULJE7U0IP39VNHkzxrPI+J+S/2wfjEqRxQVDMkGV/BMd3+f/EgqEPMiGPYqrBYg1kKLFMmXP+4Xuhm1wUsKlCM69jkI0xDMG59j1lUIRT+jBFqFna8imYAqL1cY6d4f2xg+QpGfYPYzgRmNKQTUlqDbx58MMPZ4bRHLn+wjwlvhKsPEh2M6annzFnR90fFphEAnz3/4COR+Iuy6E201mgYZKIHtmQ+z+AOV4T9uTBcmpFqVodRdEMdod0/tppIxP/NpVx0n6Dj/lQQwAVwgm90xYPTmC5Fbqooe1LXc7FCiXlAS6CK2Gq3m MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR11MB1526.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 98be4ee6-5150-4dee-3533-08d834ffb45d X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jul 2020 03:13:31.8758 (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: iW4gdxtwEE57+9rkTpfN8b/gutJ0+OOE++tZuYv4sxfM5vH5B4alL7s9dLKYzkvyS1SpMgRXbnuqpYl+OSimFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1464 Return-Path: liming.gao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IExpbWluZyBHYW8gPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KDQotLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogTGVpZiBMaW5kaG9sbSA8bGVpZkBudXZpYWluYy5j b20+IA0KU2VudDogMjAyMOW5tDfmnIgxNOaXpSAxOToyNQ0KVG86IEdhbywgTGltaW5nIDxsaW1p bmcuZ2FvQGludGVsLmNvbT4NCkNjOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgbGVyc2VrQHJlZGhh dC5jb207IEFuZHJldyBGaXNoIDxhZmlzaEBhcHBsZS5jb20+OyBLaW5uZXksIE1pY2hhZWwgRCA8 bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBaaGFuZywgU2hlbmdsZWkgPHNoZW5nbGVpLnpo YW5nQGludGVsLmNvbT47IENoZW4sIFl1d2VpIDx5dXdlaS5jaGVuQGludGVsLmNvbT4NClN1Ympl Y3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIDEvMl0gUmV2ZXJ0ICJCYXNlVG9vbHMvUGF0Y2hD aGVjay5weTogQWRkIExpY2Vuc2VDaGVjayINCg0KSGkgTGltaW5nLA0KDQpUaGFua3MsIHRoaXMg c29sdmVzIG15IGNvbmNlcm4uDQoNCi8NCiAgICBMZWlmDQoNCk9uIFR1ZSwgSnVsIDE0LCAyMDIw IGF0IDAyOjI4OjU5ICswMDAwLCBHYW8sIExpbWluZyB3cm90ZToNCj4gTGVpZjoNCj4gICBTaGVu Z2xlaSBpcyB3b3JraW5nIG9uIG5ldyBwYXRjaCB0byBhZGQgbGljZW5zZSBjaGVja2VyIGFzIG9w ZW4gQ0kNCj4gICBwbHVnLWluIChCWiAyODMzKS4gVGhpcyB3YXkgYWxsb3dzIHRvIGFkZCB0aGUg ZXhjZXB0aW9uLiBTbywgdGhlDQo+ICAgYXV0b2dlbiBmaWxlIGNhbiBiZSBoYW5kbGVkLiBCYXNl ZCBvbiBjdXJyZW50IHN0YXRlbWVudCwgb25seQ0KPiAgIEJTRC0yLUNsYXVzZS1QYXRlbnQgbGlj ZW5zZSB3aWxsIGJlIGFsbG93ZWQuIE90aGVyIGxpY2Vuc2UgY2FuIGJlDQo+ICAgYWRkZWQgYXMg dGhlIGV4Y2VwdGlvbiBjYXNlIGlmIG5lY2Vzc2FyeS4gV2l0aCBuZXcgbGljZW5zZSBjaGVja2Vy DQo+ICAgaW4gb3BlbiBDSSwgSSBhZ3JlZSB0byByZXZlcnQgdGhpcyBjaGVja2VyIGluDQo+ICAg QmFzZVRvb2xzL1BhdGNoQ2hlY2sucHkuDQo+IA0KPiBUaGFua3MNCj4gTGltaW5nDQo+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExlaWYgTGluZGhvbG0gPGxlaWZAbnV2aWFp bmMuY29tPg0KPiBTZW50OiAyMDIw5bm0N+aciDfml6UgMjM6NTcNCj4gVG86IGRldmVsQGVkazIu Z3JvdXBzLmlvOyBsZXJzZWtAcmVkaGF0LmNvbQ0KPiBDYzogQW5kcmV3IEZpc2ggPGFmaXNoQGFw cGxlLmNvbT47IEtpbm5leSwgTWljaGFlbCBEIA0KPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+OyBaaGFuZywgU2hlbmdsZWkgDQo+IDxzaGVuZ2xlaS56aGFuZ0BpbnRlbC5jb20+OyBDaGVu LCBZdXdlaSA8eXV3ZWkuY2hlbkBpbnRlbC5jb20+OyBHYW8sIA0KPiBMaW1pbmcgPGxpbWluZy5n YW9AaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCAxLzJdIFJl dmVydCAiQmFzZVRvb2xzL1BhdGNoQ2hlY2sucHk6IEFkZCBMaWNlbnNlQ2hlY2siDQo+IA0KPiBP biBGcmksIEp1bCAwMywgMjAyMCBhdCAxODoyMDoyNiArMDIwMCwgTGFzemxvIEVyc2VrIHdyb3Rl Og0KPiA+IE9uIDA3LzAyLzIwIDEzOjI0LCBMZWlmIExpbmRob2xtIHdyb3RlOg0KPiA+ID4gVGhp cyByZXZlcnRzIGNvbW1pdCBhNGNmYjg0MmZjYTk2OTNhMzMwY2I1NDM1Mjg0YzFlZThiZmJiYWNl Lg0KPiA+ID4gVGhpcyBjb21taXQgc3VnZ2VzdHMgaW5jbHVzaW9uIG9mIG5vbi1lZGsyK2xpY2Vu c2UgY29udGVudCB3aXRob3V0DQo+ID4gDQo+ID4gVGhlIGV4cHJlc3Npb24gIm5vbi1lZGsyK2xp Y2Vuc2UiIGlzIGEgdHlwby4NCj4gPiANCj4gPiBJIHRoaW5rIHlvdSBtZWFudCAibm9uLUJTRC0y LUNsYXVzZS1QYXRlbnQiLg0KPiANCj4gRXJyLCB5ZXMuIFNvcnJ5Lg0KPiANCj4gPiA+IGEgY29u dHJpYnV0aW9uIGFncmVlbWVudCBpcyBzb21ldGhpbmcgdGhlIGNvbW11bml0eSBoYXMgbWFkZSBh IA0KPiA+ID4gZGVjaXNpb24gb24sIHdoaWNoIGlzIGluY29ycmVjdC4NCj4gPiANCj4gPiBJJ20g T0sgd2l0aCBjb21taXQgYTRjZmI4NDJmY2E5IGJlaW5nIHJldmVydGVkLCBhcyB0aGlzIHNvbHZl cyB0aGUgDQo+ID4gcHJhY3RpY2FsIHByb2JsZW0gb2YgYWRkaW5nIGdlbmVyYXRlZCBmaWxlcy4N Cj4gPiANCj4gPiBBY2tlZC1ieTogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4g PiANCj4gPiBUaGF0IHNhaWQsIEkgKnN0aWxsKiBkb24ndCBncmFzcCB0aGUgbW9yZSBnZW5lcmFs IHByb2JsZW0geW91IHJlZmVyIHRvLg0KPiA+IA0KPiA+IENhbiB3ZSBleHByZXNzIGl0IGFzIGZv bGxvd3MgKHVzaW5nIGNvbW1pdHMgNmI2MjFmOTU4MTIzIGFuZCANCj4gPiA2ZjIxZDc3MmFhNmIg YXMgcmVmZXJlbmNlKToNCj4gPiANCj4gPiAoMSkgQ29udGVudCB1bmRlciBPdm1mUGtnL0luY2x1 ZGUvSW5kdXN0cnlTdGFuZGFyZC9YZW4gd2FzIA0KPiA+IGludHJvZHVjZWQgdW5kZXIgdGhlIE1J VCBsaWNlbnNlIGluIGNvbW1pdCA2YjYyMWY5NTgxMjMuIFRoYXQgY29tbWl0IHdhcyBtYXJrZWQg d2l0aDoNCj4gPiANCj4gPiA+IExpY2Vuc2U6IFRoaXMgcGF0Y2ggYWRkcyBtYW55IGZpbGVzIHVu ZGVyIHRoZSBNSVQgbGljZW5jZS4NCj4gPiA+IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUg Q29udHJpYnV0aW9uIEFncmVlbWVudCAxLjANCj4gPiANCj4gPiBhbmQgdGhlIGhlYWRlciBmaWxl cyBhbHNvIGNvbnRhaW5lZCBvcGVuLWNvZGVkIGluc3RhbmNlcyBvZiB0aGUgTUlUIA0KPiA+IGxp Y2Vuc2UuIChUaGVzZSB3b3VsZCBsYXRlciBiZSByZXBsYWNlZCB3aXRoIFNQRFggaWRlbnRpZmll cnMgaW4gDQo+ID4gY29tbWl0DQo+ID4gNmYyMWQ3NzJhYTZiLikNCj4gPiANCj4gPiBBcyBhIHJl c3VsdCwgdGhlc2UgZmlsZXMgZWZmZWN0aXZlbHkgZ3JhbnRlZCB1c2UgYW5kIGRpc3RyaWJ1dGlv biANCj4gPiByaWdodHMgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLCAqcGx1cyogYSBwYXRlbnQgZ3Jh bnQgKHBlciBUQ0EpLg0KPiANCj4gQ29ycmVjdC4NCj4gDQo+ID4gKDIpIElmIHdlIGRpZCB0aGUg c2FtZSB0b2RheSAodGhhdCBpcywgYWRkIG5ldyBNSVQtbGljZW5zZWQgZmlsZXMsIA0KPiA+IGJ1 dCBubyAiQ29udHJpYnV0ZWQtdW5kZXI6IFRDQSIgbGluZSBvbiB0aGUgY29tbWl0IG1lc3NhZ2Up LCB0aGVuIA0KPiA+IHRoYXQgd291bGQgZ3JhbnQgdXNlIGFuZCBkaXN0cmlidXRpb24gcmlnaHRz IHVuZGVyIHRoZSAiTUlUIA0KPiA+IGxpY2Vuc2UiLCBhbmQNCj4gPiAqbm8qIHBhdGVudCBncmFu dC4NCj4gPiANCj4gPiBJcyB0aGlzIHRoZSBpc3N1ZSB5b3UncmUgdGhpbmtpbmcgb2Y/DQo+IA0K PiBZZXMuDQo+IA0KPiA+IFNvIGFyZSB3ZSBiYXNpY2FsbHkgbG9va2luZyB0byByZXBsYWNlIChm b3IgZXhhbXBsZSk6DQo+ID4gDQo+ID4gICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUDQo+ ID4gDQo+ID4gd2l0aCAqc29tZXRoaW5nKiBsaWtlOg0KPiA+IA0KPiA+ICAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IE1JVC1QYXRlbnQNCj4gPiANCj4gPiA/IChBc3N1bWluZyB0aGUgbGF0dGVy IGV4aXN0cyAtLSB3aGljaCBpdCBkb2Vzbid0LCBhdCB0aGUgbW9tZW50PykNCj4gDQo+IEl0IGRv ZXNuJ3QuDQo+IA0KPiBGb3IgQlNEMy9CU0Q0LCB3ZSBjYW4gZG8gd2hhdCB0aGUgQlNEIGRpc3Ry b3MgZG8gYW5kIHVzZSAoZm9yIGV4YW1wbGUpDQo+IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC U0QtMy1DbGF1c2UgQU5EIEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gDQo+IEl0IGlzIG5vdCBjbGVh ciB0byBtZSBpZiAoZm9yIGV4YW1wbGUpICJNSVQgQU5EIEJTRC0yLUNsYXVzZS1QYXRlbnQiDQo+ IGlzIGEgdmFsaWQgZXhwcmVzc2lvbi4gQnV0IHdoYXQgYWJvdXQgInB1YmxpYyBkb21haW4iPyBE byB3ZSBmaWd1cmUgb3V0IGEganVyaXNkaWN0aW9uIGluIHdoaWNoIHB1YmxpYyBkb21haW4gY29u dGVudCBjYW4gY2xlYXJseSBoYXZlIGFyYml0cmFyeSBsaWNlbnNlcyBhcHBsaWVkIHRvIGl0IGFu ZCBhc2sgc29tZW9uZSB0aGVyZSB0byByZWxpY2Vuc2UgaXQgdG8gc29tZXRoaW5nIHdlIGNhbiBh Y2NlcHQ/DQo+IA0KPiBJZiB3ZSBkZWNpZGUgdGhlIGV4cGxpY2l0IHBhdGVudCBncmFudCBpc24n dCBpbXBvcnRhbnQsIHdoeSBkaWQgd2UgYWRkIA0KPiBpdCBpbiB0aGUgZmlyc3QgcGxhY2U/IElm IHdlIGRlY2lkZSBpdCBpcyBpbXBvcnRhbnQsIHdlIG5lZWQgdG8gDQo+IGFjdGl2ZWx5IG1ha2Ug YSBkZWNpc2lvbiBvbiB3aGV0aGVyIHdlIGNhbiBldmVyIHNpZGVzdGVwIGl0LCBhbmQgaWYgc28g DQo+IHVuZGVyIHdoYXQgY2lyY3Vtc3RhbmNlcy4gKGUuZy46ICJ3ZSBwZXJtaXQgaXQgZm9yIHRv b2xzIiAtIGJ1dCB0aGVuIA0KPiB0aGUgY29kZSBnZW5lcmF0aW9uIGFzcGVjdCBhbHNvIG5lZWRz IHRvIGJlIGNvdmVyZWQpDQo+IA0KPiBSZWdhcmRzLA0KPiANCj4gTGVpZg0KPiANCj4gPiBUaGFu a3MNCj4gPiBMYXN6bG8NCj4gPiANCj4gPiA+IA0KPiA+ID4gQ2M6IFNoZW5nbGVpIFpoYW5nIDxz aGVuZ2xlaS56aGFuZ0BpbnRlbC5jb20+DQo+ID4gPiBDYzogWXV3ZWkgQ2hlbiA8eXV3ZWkuY2hl bkBpbnRlbC5jb20+DQo+ID4gPiBDYzogTGltaW5nIEdhbyA8bGltaW5nLmdhb0BpbnRlbC5jb20+ DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBMZWlmIExpbmRob2xtIDxsZWlmQG51dmlhaW5jLmNvbT4N Cj4gPiA+IC0tLQ0KPiA+ID4gIEJhc2VUb29scy9TY3JpcHRzL1BhdGNoQ2hlY2sucHkgfCA1MA0K PiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiAgMSBmaWxlIGNo YW5nZWQsIDUwIGRlbGV0aW9ucygtKQ0KPiA+ID4gDQo+ID4gPiBkaWZmIC0tZ2l0IGEvQmFzZVRv b2xzL1NjcmlwdHMvUGF0Y2hDaGVjay5weSANCj4gPiA+IGIvQmFzZVRvb2xzL1NjcmlwdHMvUGF0 Y2hDaGVjay5weSBpbmRleCBlMzhjZjYxZjkzZGEuLjYzNzJmNzE1OTJkMw0KPiA+ID4gMTAwNzU1 DQo+ID4gPiAtLS0gYS9CYXNlVG9vbHMvU2NyaXB0cy9QYXRjaENoZWNrLnB5DQo+ID4gPiArKysg Yi9CYXNlVG9vbHMvU2NyaXB0cy9QYXRjaENoZWNrLnB5DQo+ID4gPiBAQCAtMzA1LDQ5ICszMDUs MTIgQEAgY2xhc3MgR2l0RGlmZkNoZWNrOg0KPiA+ID4gICAgICAgICAgc2VsZi5saW5lX251bSA9 IDANCj4gPiA+ICAgICAgICAgIHNlbGYuc3RhdGUgPSBTVEFSVA0KPiA+ID4gICAgICAgICAgc2Vs Zi5uZXdfYmluID0gW10NCj4gPiA+IC0gICAgICAgIHNlbGYuTGljZW5zZUNoZWNrKHNlbGYubGlu ZXMsIHNlbGYuY291bnQpDQo+ID4gPiAgICAgICAgICB3aGlsZSBzZWxmLmxpbmVfbnVtIDwgc2Vs Zi5jb3VudCBhbmQgc2VsZi5mb3JtYXRfb2s6DQo+ID4gPiAgICAgICAgICAgICAgbGluZV9udW0g PSBzZWxmLmxpbmVfbnVtDQo+ID4gPiAgICAgICAgICAgICAgc2VsZi5ydW4oKQ0KPiA+ID4gICAg ICAgICAgICAgIGFzc2VydChzZWxmLmxpbmVfbnVtID4gbGluZV9udW0pDQo+ID4gPiAgICAgICAg ICBzZWxmLnJlcG9ydF9tZXNzYWdlX3Jlc3VsdCgpDQo+ID4gPiAgDQo+ID4gPiAtICAgIGRlZiBM aWNlbnNlQ2hlY2soc2VsZiwgbGluZXMsIGNvdW50KToNCj4gPiA+IC0gICAgICAgIHNlbGYub2sg PSBUcnVlDQo+ID4gPiAtICAgICAgICBzZWxmLnN0YXJ0Y2hlY2sgPSBGYWxzZQ0KPiA+ID4gLSAg ICAgICAgc2VsZi5saWNlbnNlID0gVHJ1ZQ0KPiA+ID4gLSAgICAgICAgbGluZV9pbmRleCA9IDAN Cj4gPiA+IC0gICAgICAgIGZvciBsaW5lIGluIGxpbmVzOg0KPiA+ID4gLSAgICAgICAgICAgIGlm IGxpbmUuc3RhcnRzd2l0aCgnLS0tIC9kZXYvbnVsbCcpOg0KPiA+ID4gLSAgICAgICAgICAgICAg ICBuZXh0bGluZSA9IGxpbmVzW2xpbmVfaW5kZXggKyAxXQ0KPiA+ID4gLSAgICAgICAgICAgICAg ICBhZGRlZF9maWxlID0gc2VsZi5SZWFkZGVkZmlsZWZvcm1hdC5zZWFyY2gobmV4dGxpbmUpLmdy b3VwKDEpDQo+ID4gPiAtICAgICAgICAgICAgICAgIGFkZGVkX2ZpbGVfZXh0ZW5zaW9uID0gb3Mu cGF0aC5zcGxpdGV4dChhZGRlZF9maWxlKVsxXQ0KPiA+ID4gLSAgICAgICAgICAgICAgICBpZiBh ZGRlZF9maWxlX2V4dGVuc2lvbiBpbiBzZWxmLmZpbGVfZXh0ZW5zaW9uX2xpc3Q6DQo+ID4gPiAt ICAgICAgICAgICAgICAgICAgICBzZWxmLnN0YXJ0Y2hlY2sgPSBUcnVlDQo+ID4gPiAtICAgICAg ICAgICAgICAgICAgICBzZWxmLmxpY2Vuc2UgPSBGYWxzZQ0KPiA+ID4gLSAgICAgICAgICAgIGlm IHNlbGYuc3RhcnRjaGVjayBhbmQgc2VsZi5saWNlbnNlX2Zvcm1hdF9wcmVmbGl4IGluIGxpbmU6 DQo+ID4gPiAtICAgICAgICAgICAgICAgIGlmIHNlbGYuYnNkMl9wYXRlbnQgaW4gbGluZSBvciBz ZWxmLmJzZDNfcGF0ZW50IGluIGxpbmU6DQo+ID4gPiAtICAgICAgICAgICAgICAgICAgICBzZWxm LmxpY2Vuc2UgPSBUcnVlDQo+ID4gPiAtICAgICAgICAgICAgICAgIGVsc2U6DQo+ID4gPiAtICAg ICAgICAgICAgICAgICAgICBmb3Igb3B0aW9uYWxfbGljZW5zZSBpbiBzZWxmLmxpY2Vuc2Vfb3B0 aW9uYWxfbGlzdDoNCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICBpZiBvcHRpb25hbF9s aWNlbnNlIGluIGxpbmU6DQo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu bGljZW5zZSA9IFRydWUNCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi53 YXJuaW5nKGFkZGVkX2ZpbGUpDQo+ID4gPiAtICAgICAgICAgICAgaWYgbGluZV9pbmRleCArIDEg PT0gY291bnQgb3IgbGluZXNbbGluZV9pbmRleCArIDFdLnN0YXJ0c3dpdGgoJ2RpZmYgLS0nKSBh bmQgc2VsZi5zdGFydGNoZWNrOg0KPiA+ID4gLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5s aWNlbnNlOg0KPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgZXJyb3JfbWVzc2FnZSA9ICJJbnZh bGlkIExpY2Vuc2UgaW46ICIgKyBhZGRlZF9maWxlDQo+ID4gPiAtICAgICAgICAgICAgICAgICAg ICBzZWxmLmVycm9yKGVycm9yX21lc3NhZ2UpDQo+ID4gPiAtICAgICAgICAgICAgICAgIHNlbGYu c3RhcnRjaGVjayA9IEZhbHNlDQo+ID4gPiAtICAgICAgICAgICAgICAgIHNlbGYubGljZW5zZSA9 IFRydWUNCj4gPiA+IC0gICAgICAgICAgICBsaW5lX2luZGV4ID0gbGluZV9pbmRleCArIDENCj4g PiA+IC0NCj4gPiA+IC0gICAgZGVmIHdhcm5pbmcoc2VsZiwgKmVycik6DQo+ID4gPiAtICAgICAg ICBjb3VudCA9IDANCj4gPiA+IC0gICAgICAgIGZvciBsaW5lIGluIGVycjoNCj4gPiA+IC0gICAg ICAgICAgICB3YXJuaW5nX2Zvcm1hdCA9ICdXYXJuaW5nOiBMaWNlbnNlIGFjY2VwdGVkIGJ1dCBu b3QgQlNEIHBsdXMgcGF0ZW50IGxpY2Vuc2UgaW4nDQo+ID4gPiAtICAgICAgICAgICAgcHJpbnQo d2FybmluZ19mb3JtYXQsIGxpbmUpDQo+ID4gPiAtICAgICAgICAgICAgY291bnQgKz0gMQ0KPiA+ ID4gLQ0KPiA+ID4gICAgICBkZWYgcmVwb3J0X21lc3NhZ2VfcmVzdWx0KHNlbGYpOg0KPiA+ID4g ICAgICAgICAgaWYgVmVyYm9zZS5sZXZlbCA8IFZlcmJvc2UuTk9STUFMOg0KPiA+ID4gICAgICAg ICAgICAgIHJldHVybg0KPiA+ID4gQEAgLTUzNCwxOSArNDk3LDYgQEAgY2xhc3MgR2l0RGlmZkNo ZWNrOg0KPiA+ID4gICAgICAgICAgICAgIHByaW50KHByZWZpeCwgbGluZSkNCj4gPiA+ICAgICAg ICAgICAgICBjb3VudCArPSAxDQo+ID4gPiAgDQo+ID4gPiAtICAgIGxpY2Vuc2VfZm9ybWF0X3By ZWZsaXggPSAnU1BEWC1MaWNlbnNlLUlkZW50aWZpZXInDQo+ID4gPiAtDQo+ID4gPiAtICAgIGJz ZDJfcGF0ZW50ID0gJ0JTRC0yLUNsYXVzZS1QYXRlbnQnDQo+ID4gPiAtDQo+ID4gPiAtICAgIGJz ZDNfcGF0ZW50ID0gJ0JTRC0zLUNsYXVzZS1QYXRlbnQnDQo+ID4gPiAtDQo+ID4gPiAtICAgIGxp Y2Vuc2Vfb3B0aW9uYWxfbGlzdCA9IFsnQlNELTItQ2xhdXNlJywgJ0JTRC0zLUNsYXVzZScsICdN SVQnLCAnUHl0aG9uLTIuMCcsICdabGliJ10NCj4gPiA+IC0NCj4gPiA+IC0gICAgUmVhZGRlZGZp bGVmb3JtYXQgPSByZS5jb21waWxlKHInXCtcK1wrIGJcLyguKilcbicpDQo+ID4gPiAtDQo+ID4g PiAtICAgIGZpbGVfZXh0ZW5zaW9uX2xpc3QgPSBbIi5jIiwgIi5oIiwgIi5pbmYiLCAiLmRzYyIs ICIuZGVjIiwgIi5weSIsICIuYmF0IiwgIi5zaCIsICIudW5pIiwgIi55YW1sIiwgIi5mZGYiLCAi LmluYyIsICJ5bWwiLCAiLmFzbSIsIFwNCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICIuYXNtMTYiLCAiLmFzbCIsICIudmZyIiwgIi5zIiwgIi5TIiwgIi5hc2xjIiwgIi5uYXNtIiwg Ii5uYXNtYiIsICIuaWRmIiwgIi5WZnIiLCAiLkgiXQ0KPiA+ID4gLQ0KPiA+ID4gIGNsYXNzIENo ZWNrT25lUGF0Y2g6DQo+ID4gPiAgICAgICIiIkNoZWNrcyB0aGUgY29udGVudHMgb2YgYSBnaXQg ZW1haWwgZm9ybWF0dGVkIHBhdGNoLg0KPiA+ID4gIA0KPiA+ID4gDQo+ID4gDQo+ID4gDQo+ID4g DQo+ID4gDQo=