From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web10.5304.1587571313083048384 for ; Wed, 22 Apr 2020 09:01:53 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=s0CdCLJ1; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: liming.gao@intel.com) IronPort-SDR: yLNjZ6BOf89s0vKe1q1P5RUiCNY17vHarw+LBKUzozEwJsG9gfrP0T4gUkkVU/geiNxOKbZr1M YxcxT46GwPEw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2020 09:01:48 -0700 IronPort-SDR: 4LdSE9ESf9mNujFwbY4iNuReUhV/YM2Pj+081mV6EbGkcLyGXZ/fukWmph1mUzGnBNb2Y1aIZK JgBCOWra+mxw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,303,1583222400"; d="scan'208";a="334668025" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga001.jf.intel.com with ESMTP; 22 Apr 2020 09:01:48 -0700 Received: from fmsmsx120.amr.corp.intel.com (10.18.124.208) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 22 Apr 2020 09:01:47 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx120.amr.corp.intel.com (10.18.124.208) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 22 Apr 2020 09:01:47 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.100) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 22 Apr 2020 09:01:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HuIRMlsFFO0UP18GRrjSaBZ1k/+8gSazj5BI0ALzBm0iPvYoUZPwrfr+pNd++VI5PBDYHT9s1MgD7oQJJxQdhpvS4PNIaeIei+1MnvryizisOwL8pFZzgsbK+WFNU3900MBZoC/BFWONnDEA10U8DawzOi40s9/E6GpLto4BVPuPiPjDzEUJ0nWh5hav2bR/R9vIfeN+of+aIPf2Mg+ctsdncM7HbqOX0orhYv2W08t3imNztsaPfWlYT3mm8BOeQshVPqhPpfGbBOvWNz6FMM3VIBSeJ4KEGsBMDqFpD28l4WUep2fiBdd65SXXt2tUbB7Qg9wkBNy465JsHMy4og== 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=xQ4YAiorlL9P+l9K2kAQrpMGa9WhigcCZCsFUMPuQxw=; b=ERlv1X3uqVov+sDhk8N7UxMNh74dGt33uFnU8chihL01BeVB4Hs2Jzhv24vf48g6TcuwBGyXOr3tHcHor4qUGpmfvkp05F1zamO2zrkaGKKo/kXol63WTQUp6vhb0rxKfqomPiEiLH3N6JViYqVmWeonhZ75X8BUqqbQxyNWNtexg5OBtl0AFJe8u20DqOhXFi2jbU8OiKCg5ic5l5VHuKWqxEUyxm4Yonm8n+pdLL7tpPPwlUuZ79ipjNDEyjchtpm3tSPMsXvFGFBhETlTCIipJvcSCQm4EH+dbxGjLZ7ytt8iao23Vm+wLgReLNP0dhPsETZ3bNypiZKKZal0nQ== 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=xQ4YAiorlL9P+l9K2kAQrpMGa9WhigcCZCsFUMPuQxw=; b=s0CdCLJ1ald/4S1JtgRNVdxHGo+xhV9cNYd5TAiYqUZJuJT+411tK6a0FSh7u/BbSGwIzwZpcBB7uqSXSEYj7b9Cv8t0ma41yD2eYv/UTSArxbQn0se7y6MOkdor3ntLNckB4wTWbR06ogYoAzPG/i2VKJDGCOU1heerZgpGxpg= Received: from BN6PR11MB3972.namprd11.prod.outlook.com (2603:10b6:405:7f::11) by BN6PR11MB1267.namprd11.prod.outlook.com (2603:10b6:404:3d::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.29; Wed, 22 Apr 2020 16:01:45 +0000 Received: from BN6PR11MB3972.namprd11.prod.outlook.com ([fe80::4dcc:bc5c:def:9ae9]) by BN6PR11MB3972.namprd11.prod.outlook.com ([fe80::4dcc:bc5c:def:9ae9%5]) with mapi id 15.20.2921.030; Wed, 22 Apr 2020 16:01:45 +0000 From: "Liming Gao" To: "Kinney, Michael D" , "devel@edk2.groups.io" , "Zhang, Shenglei" CC: "Feng, Bob C" , "Gao, Liming" Subject: Re: [edk2-devel] [PATCH] BaseTools/PatchCheck.py: Add LicenseCheck Thread-Topic: [edk2-devel] [PATCH] BaseTools/PatchCheck.py: Add LicenseCheck Thread-Index: AQHWGHNJYIgNQAvnTkSQCgNBOO6qPaiEtnzAgACRiACAAAEo0A== Date: Wed, 22 Apr 2020 16:01:45 +0000 Message-ID: References: <20200422065655.75392-1-shenglei.zhang@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: spf=none (sender IP is ) smtp.mailfrom=liming.gao@intel.com; x-originating-ip: [134.134.136.203] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3fd68877-3763-45de-add3-08d7e6d674c7 x-ms-traffictypediagnostic: BN6PR11MB1267: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2657; x-forefront-prvs: 03818C953D x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR11MB3972.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(10019020)(366004)(346002)(376002)(39860400002)(136003)(396003)(66556008)(8676002)(53546011)(76116006)(64756008)(9686003)(5660300002)(55016002)(86362001)(66446008)(6506007)(71200400001)(316002)(26005)(33656002)(54906003)(107886003)(110136005)(52536014)(478600001)(2906002)(966005)(66946007)(7696005)(8936002)(66476007)(186003)(81156014)(4326008)(6636002);DIR:OUT;SFP:1102; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6K/pPWIunmqreKaszDD8fyKTFYFpKSzMxgNX/OzXsINpqlhRcRd7Dv62r3ohSDZyBbCP9qzP+grtNwFlbOeTc7ZVevNJcUbPbbTU2iK4EKN3JHHME36Q8Nj0S1IYxNeTMmUGKk4RlnZWUPgFnpyxNWrf2fJoDwWjX8zO2xu8cjOpQNiNVNr+n88qR/8Dz5JJGxeRf2C1dhU0Fyd7jl9fLtGUjIkujKxpnP9MOB04XzdfLqQ9Wi9wt3SUGYzYNezsQ05dz6I9Sn/xbB7+A2yGxE7IGVZfLE9i57zOgYNH004E3mciBN9cElLte+f4Qk5XAe/NfepAaKaKhI2/x0KoWdQdqPZDjZsKrNYLNQ9v6tm+B8gp3dXUkUnWEkIKyptWwirGARzQIrB7ukE0m9A6/OINbk4NmAwIvOZ3MQuzY3sEdIR3eWPLRllB5r4AF8RJuEEJ3afsOMOdMsKz4MeYsa4wM2jKsraJed8cO1aO3p6hcF/obHRzQv/2IqjoDR1fiK0xh0+LwOTzCQL4hyG9DQ== x-ms-exchange-antispam-messagedata: dolILxG6wD5YPNVndWpsUI6nrrNkQMqzOqKFuWwZ/0NyzTiWLJ/jxbu9XIly7vueIvf85fORAXutJy38Vv7nJuT9hKo2UcKqI2r1aNDNVWtuMH9cY5SRDHLtyvazr/lmmYzS/fCOUyHSn1PT6KuW6g== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 3fd68877-3763-45de-add3-08d7e6d674c7 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Apr 2020 16:01:45.1618 (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: XjT08+CY01mKEKEiCTM0W/EikpYtSQj7NLN2Y/vzjLwCguzOCa02+jt+zAmhPu8GuRbQdVXJv2CwI6+DWlZH2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1267 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 TWlrZToNCiAgVGhlIGNoZWNrZXIgcHVycG9zZSBpcyB0byBtYWtlIHN1cmUgdGhlIGNvcnJlY3Qg bGljZW5zZSBiZSB1c2VkIGZvciBuZXcgYWRkZWQgZmlsZS4gSWYgdGhlIGZpbGUgaGFzIHRoZSBk aWZmZXJlbnQgbGljZW5zZSwgaXQgc2hvdWxkIGJlIHJldmlld2VkIGNhcmVmdWxseS4gDQogIA0K ICBJIHJlbWVtYmVyIHdlIHN0aWxsIGhhdmUgb25lIG9wZW4gZm9yIHRoaXJkIHBhcnR5IG5vbiBi c2QrcGF0ZW50IGNvZGUgKHRoZSBkZXRhaWwgY2FuIHJlZmVyIHRvIGh0dHBzOi8vZWRrMi5ncm91 cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzQxNjM5KS4gTm93LCB0aGVyZSBpcyBubyBub24gYnNkK3Bh dGVudCBsaWNlbnNlIGZpbGVzIHRvIGJlIGFkZGVkIGluIGVkazIgYWZ0ZXIgZWRrMiBzd2l0Y2hl cyB0byBic2QrcGF0ZW50IGxpY2Vuc2UuIA0KDQpUaGFua3MNCkxpbWluZw0KPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtp bm5leUBpbnRlbC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMjIsIDIwMjAgMTE6NDEg UE0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBHYW8sIExpbWluZyA8bGltaW5nLmdhb0Bp bnRlbC5jb20+OyBaaGFuZywgU2hlbmdsZWkgPHNoZW5nbGVpLnpoYW5nQGludGVsLmNvbT47IEtp bm5leSwgTWljaGFlbCBEDQo+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gQ2M6IEZl bmcsIEJvYiBDIDxib2IuYy5mZW5nQGludGVsLmNvbT4NCj4gU3ViamVjdDogUkU6IFtlZGsyLWRl dmVsXSBbUEFUQ0hdIEJhc2VUb29scy9QYXRjaENoZWNrLnB5OiBBZGQgTGljZW5zZUNoZWNrDQo+ IA0KPiBIaSBMaW1pbmcsDQo+IA0KPiBJIGRvIG5vdCBzZWUgdGhpcyBjaGFuZ2UgY2hlY2tpbmcg dGhhdCB0aGUgbGljZW5zZSBpcyBpbiBhIHByb3Blcg0KPiBTUERYIElkZW50aWZpZXIgc3RhdGVt ZW50Pw0KPiANCj4gCWh0dHBzOi8vc3BkeC5vcmcvaWRzLWhvdw0KPiANCj4gT25seSBjaGVja2lu ZyB0aGUgZm9yIGEgbGljZW5zZSBuYW1lIGlzIG5vdCBzdWZmaWNpZW50Lg0KPiANCj4gQSBmaWxl IG1heSBiZSBjb3ZlcmVkIGJ5IG1vcmUgdGhhbiBvbmUgbGljZW5zZS4gIFdoYXQgaXMgdGhlIGJl aGF2aW9yIGluDQo+IHRoaXMgY2FzZT8NCj4gDQo+IFRoZSBFREsgSUkgcHJvamVjdCBoYXMgQlNE LTItQ2xhdXNlLVBhdGVudCBhcyB0aGUgcHJlZmVycmVkIGxpY2Vuc2UsIGJ1dA0KPiBvdGhlciBs aWNlbnNlcyBhcmUgYWxsb3dlZC4gIFdlIHVzZSBQYXRjaENoZWNrLnB5IGluIEVESyBJSSBDSS4g IFdpbGwgdGhpcw0KPiBjaGFuZ2UgYmxvY2sgZmlsZSBhZGRlZCB3aXRoIGEgZGlmZmVyZW50IGFs bG93ZWQgbGljZW5zZT8NCj4gDQo+IEkgdGhpbmsgdGhlc2UgcXVlc3Rpb25zIHNob3VsZCBiZSBh ZGRyZXNzZWQgaW4gdGhlIGZpbGUgaGVhZGVyIG9mIHRoaXMNCj4gc291cmNlIGZpbGUsIHNvIHRo ZSBiZWhhdmlvciBvZiBQYXRjaENoZWNrLnB5IGlzIGNsZWFybHkgZGVmaW5lZC4NCj4gDQo+IFRo YW5rcywNCj4gDQo+IE1pa2UNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g PiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uDQo+ ID4gQmVoYWxmIE9mIExpbWluZyBHYW8NCj4gPiBTZW50OiBXZWRuZXNkYXksIEFwcmlsIDIyLCAy MDIwIDEyOjAyIEFNDQo+ID4gVG86IFpoYW5nLCBTaGVuZ2xlaSA8c2hlbmdsZWkuemhhbmdAaW50 ZWwuY29tPjsNCj4gPiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+IENjOiBGZW5nLCBCb2IgQyA8 Ym9iLmMuZmVuZ0BpbnRlbC5jb20+DQo+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFU Q0hdDQo+ID4gQmFzZVRvb2xzL1BhdGNoQ2hlY2sucHk6IEFkZCBMaWNlbnNlQ2hlY2sNCj4gPg0K PiA+IFNoZW5nbGVpOg0KPiA+ICAgUGxlYXNlIHN1Ym1pdCBCWiB0byBkZXNjcmliZSBpdC4gVGhl IGxpY2Vuc2Ugc2hvdWxkDQo+ID4gYmUgQlNELTItQ2xhdXNlLVBhdGVudC4NCj4gPg0KPiA+IFRo YW5rcw0KPiA+IExpbWluZw0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ IEZyb206IFpoYW5nLCBTaGVuZ2xlaSA8c2hlbmdsZWkuemhhbmdAaW50ZWwuY29tPg0KPiA+ID4g U2VudDogV2VkbmVzZGF5LCBBcHJpbCAyMiwgMjAyMCAyOjU3IFBNDQo+ID4gPiBUbzogZGV2ZWxA ZWRrMi5ncm91cHMuaW8NCj4gPiA+IENjOiBGZW5nLCBCb2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5j b20+OyBHYW8sIExpbWluZw0KPiA+IDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPiA+IFN1Ympl Y3Q6IFtQQVRDSF0gQmFzZVRvb2xzL1BhdGNoQ2hlY2sucHk6IEFkZA0KPiA+IExpY2Vuc2VDaGVj aw0KPiA+ID4NCj4gPiA+IEZvciBmaWxlcyB0byBiZSBhZGRlZCB0byB0aGUgdHJlZSwgdGhpcyBm ZWF0dXJlIHdpbGwNCj4gPiBjaGVjaw0KPiA+ID4gd2hldGhlciBpdCBoYXMgQlNEIGxpY2Vuc2Uu DQo+ID4gPg0KPiA+ID4gQ2M6IEJvYiBGZW5nIDxib2IuYy5mZW5nQGludGVsLmNvbT4NCj4gPiA+ IENjOiBMaW1pbmcgR2FvIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPiA+IFNpZ25lZC1vZmYt Ynk6IFNoZW5nbGVpIFpoYW5nDQo+ID4gPHNoZW5nbGVpLnpoYW5nQGludGVsLmNvbT4NCj4gPiA+ IC0tLQ0KPiA+ID4gIEJhc2VUb29scy9TY3JpcHRzL1BhdGNoQ2hlY2sucHkgfCA1Mg0KPiA+ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQ0KPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCA1 MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBh L0Jhc2VUb29scy9TY3JpcHRzL1BhdGNoQ2hlY2sucHkNCj4gPiBiL0Jhc2VUb29scy9TY3JpcHRz L1BhdGNoQ2hlY2sucHkNCj4gPiA+IGluZGV4IDEzZGE2OTY3Nzg1ZC4uMTU2NjNkMDJhM2MwIDEw MDc1NQ0KPiA+ID4gLS0tIGEvQmFzZVRvb2xzL1NjcmlwdHMvUGF0Y2hDaGVjay5weQ0KPiA+ID4g KysrIGIvQmFzZVRvb2xzL1NjcmlwdHMvUGF0Y2hDaGVjay5weQ0KPiA+ID4gQEAgLTQ5MSw2ICs0 OTEsNTMgQEAgY2xhc3MgR2l0RGlmZkNoZWNrOg0KPiA+ID4gICAgICAgICAgICAgIHByaW50KHBy ZWZpeCwgbGluZSkNCj4gPiA+ICAgICAgICAgICAgICBjb3VudCArPSAxDQo+ID4gPg0KPiA+ID4g K2NsYXNzIExpY2Vuc2VDaGVjaygpOg0KPiA+ID4gKw0KPiA+ID4gKyAgICBkZWYgX19pbml0X18o c2VsZiwgZGlmZik6DQo+ID4gPiArICAgICAgICBzZWxmLm9rID0gVHJ1ZQ0KPiA+ID4gKyAgICAg ICAgc2VsZi5zdGFydGNoZWNrID0gRmFsc2UNCj4gPiA+ICsgICAgICAgIHNlbGYubGljZW5zZSA9 IFRydWUNCj4gPiA+ICsgICAgICAgIGxpbmVzID0gZGlmZi5zcGxpdGxpbmVzKFRydWUpDQo+ID4g PiArICAgICAgICBjb3VudCA9IGxlbihsaW5lcykNCj4gPiA+ICsgICAgICAgIGxpbmVfaW5kZXgg PSAwDQo+ID4gPiArICAgICAgICBmb3IgbGluZSBpbiBsaW5lczoNCj4gPiA+ICsgICAgICAgICAg ICBpZiBsaW5lLnN0YXJ0c3dpdGgoJy0tLSAvZGV2L251bGwnKToNCj4gPiA+ICsgICAgICAgICAg ICAgICAgbmV4dGxpbmUgPSBsaW5lc1tsaW5lX2luZGV4ICsgMV0NCj4gPiA+ICsgICAgICAgICAg ICAgICAgYWRkZWRfZmlsZSA9DQo+ID4gc2VsZi5SZWFkZGVkZmlsZWZvcm1hdC5zZWFyY2gobmV4 dGxpbmUpLmdyb3VwKDEpDQo+ID4gPiArICAgICAgICAgICAgICAgIGFkZGVkX2ZpbGVfZXh0ZW5z aW9uID0NCj4gPiBvcy5wYXRoLnNwbGl0ZXh0KGFkZGVkX2ZpbGUpWzFdDQo+ID4gPiArICAgICAg ICAgICAgICAgIGlmIGFkZGVkX2ZpbGVfZXh0ZW5zaW9uIGluDQo+ID4gc2VsZi5maWxlX2V4dGVu c2lvbl9saXN0Og0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGFydGNoZWNrID0g VHJ1ZQ0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgc2VsZi5saWNlbnNlID0gRmFsc2UNCj4g PiA+ICsgICAgICAgICAgICBpZiBzZWxmLnN0YXJ0Y2hlY2sgYW5kIHNlbGYubGljZW5zZV9uYW1l DQo+ID4gaW4gbGluZToNCj4gPiA+ICsgICAgICAgICAgICAgICAgc2VsZi5saWNlbnNlID0gVHJ1 ZQ0KPiA+ID4gKyAgICAgICAgICAgIGlmIGxpbmVfaW5kZXggKyAxID09IGNvdW50IG9yDQo+ID4g bGluZXNbbGluZV9pbmRleCArIDFdLnN0YXJ0c3dpdGgoJ2RpZmYgLS0nKSBhbmQNCj4gPiBzZWxm LnN0YXJ0Y2hlY2s6DQo+ID4gPiArICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLmxpY2Vuc2U6 DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICBzZWxmLmVycm9yKGFkZGVkX2ZpbGUpDQo+ID4g PiArICAgICAgICAgICAgICAgIHNlbGYuc3RhcnRjaGVjayA9IEZhbHNlDQo+ID4gPiArICAgICAg ICAgICAgICAgIHNlbGYubGljZW5zZSA9IFRydWUNCj4gPiA+ICsgICAgICAgICAgICBsaW5lX2lu ZGV4ID0gbGluZV9pbmRleCArIDENCj4gPiA+ICsNCj4gPiA+ICsgICAgZGVmIGVycm9yKHNlbGYs ICplcnIpOg0KPiA+ID4gKyAgICAgICAgaWYgc2VsZi5vayBhbmQgVmVyYm9zZS5sZXZlbCA+DQo+ ID4gVmVyYm9zZS5PTkVMSU5FOg0KPiA+ID4gKyAgICAgICAgICAgIHByaW50KCdMaWNlbnNlIGlz IG1pc3NpbmchJykNCj4gPiA+ICsgICAgICAgIHNlbGYub2sgPSBGYWxzZQ0KPiA+ID4gKyAgICAg ICAgaWYgVmVyYm9zZS5sZXZlbCA8IFZlcmJvc2UuTk9STUFMOg0KPiA+ID4gKyAgICAgICAgICAg IHJldHVybg0KPiA+ID4gKyAgICAgICAgY291bnQgPSAwDQo+ID4gPiArICAgICAgICBmb3IgbGlu ZSBpbiBlcnI6DQo+ID4gPiArICAgICAgICAgICAgcHJlZml4ID0gKCcgKicsICcgICcpW2NvdW50 ID4gMF0NCj4gPiA+ICsgICAgICAgICAgICBlcnJvcl9mb3JtYXQgPSAnTWlzc2luZyBsaWNlbnNl IGluOicNCj4gPiA+ICsgICAgICAgICAgICBwcmludChwcmVmaXgsIGVycm9yX2Zvcm1hdCwgbGlu ZSkNCj4gPiA+ICsgICAgICAgICAgICBjb3VudCArPSAxDQo+ID4gPiArDQo+ID4gPiArDQo+ID4g PiArICAgIGxpY2Vuc2VfbmFtZSA9ICdCU0QtMi1DbGF1c2UtUGF0ZW50Jw0KPiA+ID4gKw0KPiA+ ID4gKyAgICBSZWFkZGVkZmlsZWZvcm1hdCA9IHJlLmNvbXBpbGUocidcK1wrXCsNCj4gPiBiXC8o LiopXG4nKQ0KPiA+ID4gKw0KPiA+ID4gKyAgICBmaWxlX2V4dGVuc2lvbl9saXN0ID0gWyIuYyIs ICIuaCIsICIuaW5mIiwNCj4gPiAiLmRzYyIsICIuZGVjIiwgIi5weSIsICIuYmF0IiwgIi5zaCIs ICIudW5pIiwgIi55YW1sIiwNCj4gPiAiLmZkZiIsICIuaW5jIl0NCj4gPiA+ICsNCj4gPiA+ICsN Cj4gPiA+ICBjbGFzcyBDaGVja09uZVBhdGNoOg0KPiA+ID4gICAgICAiIiJDaGVja3MgdGhlIGNv bnRlbnRzIG9mIGEgZ2l0IGVtYWlsIGZvcm1hdHRlZA0KPiA+IHBhdGNoLg0KPiA+ID4NCj4gPiA+ IEBAIC01MDgsMTIgKzU1NSwxNSBAQCBjbGFzcyBDaGVja09uZVBhdGNoOg0KPiA+ID4gICAgICAg ICAgbXNnX2NoZWNrID0NCj4gPiBDb21taXRNZXNzYWdlQ2hlY2soc2VsZi5jb21taXRfc3ViamVj dCwNCj4gPiBzZWxmLmNvbW1pdF9tc2cpDQo+ID4gPiAgICAgICAgICBtc2dfb2sgPSBtc2dfY2hl Y2sub2sNCj4gPiA+DQo+ID4gPiArICAgICAgICBsaWNlbnNlX2NoZWNrID0gTGljZW5zZUNoZWNr KHNlbGYuZGlmZikNCj4gPiA+ICsgICAgICAgIGxpY2Vuc2Vfb2sgPSBsaWNlbnNlX2NoZWNrLm9r DQo+ID4gPiArDQo+ID4gPiAgICAgICAgICBkaWZmX29rID0gVHJ1ZQ0KPiA+ID4gICAgICAgICAg aWYgc2VsZi5kaWZmIGlzIG5vdCBOb25lOg0KPiA+ID4gICAgICAgICAgICAgIGRpZmZfY2hlY2sg PSBHaXREaWZmQ2hlY2soc2VsZi5kaWZmKQ0KPiA+ID4gICAgICAgICAgICAgIGRpZmZfb2sgPSBk aWZmX2NoZWNrLm9rDQo+ID4gPg0KPiA+ID4gLSAgICAgICAgc2VsZi5vayA9IGVtYWlsX29rIGFu ZCBtc2dfb2sgYW5kIGRpZmZfb2sNCj4gPiA+ICsgICAgICAgIHNlbGYub2sgPSBlbWFpbF9vayBh bmQgbXNnX29rIGFuZCBkaWZmX29rDQo+ID4gYW5kIGxpY2Vuc2Vfb2sNCj4gPiA+DQo+ID4gPiAg ICAgICAgICBpZiBWZXJib3NlLmxldmVsID09IFZlcmJvc2UuT05FTElORToNCj4gPiA+ICAgICAg ICAgICAgICBpZiBzZWxmLm9rOg0KPiA+ID4gLS0NCj4gPiA+IDIuMTguMC53aW5kb3dzLjENCj4g Pg0KPiA+DQo+ID4gDQoNCg==