From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web10.1855.1668483912052965636 for ; Mon, 14 Nov 2022 19:45:12 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=R0ThLl3a; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1668483912; x=1700019912; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=yLoVPJs0p4UjEDBW8ZhtjeZvUKwdsixAT5m2ShMyuwI=; b=R0ThLl3aXbdFvy3T6aQC19Aj1+70b9Ydi2nK6rbgBz9RZDrHLrI2oT6r u4Th1tbTya5V9o+Y1e+msOYoBWV9WmDL939QfIAnIb+rTSFgdyu4D3CLn sjfVfpma6pcuVjbUM8RTMcvizjHISR7VDCpjdb33UW0wm4Pa4CvF+9Riv ED5wAsSA3mqktL24AMsXiYfTlaDXsv9/+Uey8FnRlvkDnfhr5DcVUAx5V q+0JuufwtD8YTmOTBlNTLG/rEnfQPQCsMBnWYs5H2uVEhBzGyNTIQ6PgP ccXAs9puhO7q3wC0QR98dUmJUcSEQzfaEnJBXbm/h/NlpaVV2uMXyocuJ w==; X-IronPort-AV: E=McAfee;i="6500,9779,10531"; a="313296801" X-IronPort-AV: E=Sophos;i="5.96,164,1665471600"; d="scan'208";a="313296801" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Nov 2022 19:45:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10531"; a="763760610" X-IronPort-AV: E=Sophos;i="5.96,164,1665471600"; d="scan'208";a="763760610" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga004.jf.intel.com with ESMTP; 14 Nov 2022 19:45:11 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 14 Nov 2022 19:45:10 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 14 Nov 2022 19:45:10 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Mon, 14 Nov 2022 19:45:10 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.42) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Mon, 14 Nov 2022 19:45:09 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WONNCGw9gwyxK212WNBSol59YOdi0H3c1w+7YSfcSERhQ0uEF7W03h4I0sHdOPdflCkUCU0IKg2UWXjeQi4YJIM9SzXwqyu6eAetSSaevy5zWQboofe7tnAMpHJen/6WbJ4BWY6wwkkL8QiM8Jw7MCoi+B3yypQQ9OPXEYWH4vwIs7kUTdQBEKZg0v6avqugZirXjZYaQD/K8m/rP0XLzeXyqc5XVIqFnd22v7avUFKMcMH4EMuIig75c+GFrpJ7F3chUoytO8J9/bDO3EP4DTZz+goBZJjo+cvFr1HkBruGzp3Bzt8WMijLi7osZ6afpzgYwUHIJF5P8gkH3yaKfw== 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=yLoVPJs0p4UjEDBW8ZhtjeZvUKwdsixAT5m2ShMyuwI=; b=By74JOqaC0/VNh6QzISpMmwXXQZrqEypVK1ux3l2G8IkwNFTSrMumIx7/dQUEJweaxFEinf4AHTKyXSNovqpmZIdSLmJB43vMWgW6VCHF08+2crW6zq3XNxDmXc3cQtopeitbOgN/oqBP/sUQ0KrTIUm4w/IcKv32JzlgePYGh3J+gaU583ERT4IO2GCnUlCIS2p1WEYr22wKkTgessr3boXjNjUZz+RZdbwfiRNtArZwBnrIEKOP92qIP+Z66l8AlfGiUMGL9v0LTVwgF5++LvgZOEtFAAdsV5p8mDSoGob1gZhzz4XtBhz7l6h8mI5tP3PNIw7r8OB2fdIx95nzQ== 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 CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by CH3PR11MB7251.namprd11.prod.outlook.com (2603:10b6:610:147::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.17; Tue, 15 Nov 2022 03:45:07 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::d936:6054:442a:9dde]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::d936:6054:442a:9dde%5]) with mapi id 15.20.5813.016; Tue, 15 Nov 2022 03:45:07 +0000 From: "Michael D Kinney" To: Michael Kubacki , "devel@edk2.groups.io" , "Gao, Liming" , "Kinney, Michael D" CC: 'Sean Brogan' , 'Andrew Fish' , 'Leif Lindholm' Subject: =?UTF-8?B?UmU6IFtlZGsyLWRldmVsXSDlm57lpI06IFtQQVRDSCBlZGsyLXN0YWJsZTIwMjIxMSB2MiAwLzJdIFVwZGF0ZSBQeXRvb2wgUElQIFZlcnNpb25z?= Thread-Topic: =?utf-8?B?W2VkazItZGV2ZWxdIOWbnuWkjTogW1BBVENIIGVkazItc3RhYmxlMjAyMjEx?= =?utf-8?Q?_v2_0/2]_Update_Pytool_PIP_Versions?= Thread-Index: AQHY+J6Iy5znEUBTNEu2Ygt857Zxaa4/UHyAgAAHflA= Date: Tue, 15 Nov 2022 03:45:07 +0000 Message-ID: References: <20221115001841.2018-1-mikuback@linux.microsoft.com> <010701d8f89e$6afaeb60$40f0c220$@byosoft.com.cn> In-Reply-To: Accept-Language: en-US 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: CO1PR11MB4929:EE_|CH3PR11MB7251:EE_ x-ms-office365-filtering-correlation-id: 297f0126-8577-45d7-4a77-08dac6bbc9ab x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WpOjfvysWusEhDEIjvjtGB8aoK27y6P7N7AxPab8cqh+q0YSwugWoZb7wbyLNbv6XMnQN7e/OiYVVHUv5K/JB3kC1+zNFDJrCs8hUtPkTQkiWwXAtsGz9skC2S/Rs8E2bqqTswKjBSWOzXGzufBmOhLUbMd14tdUdQIaEsT30uP6g8yqRHGrZo3kidVHMSv6+9h8dT8mXr02G7o/+/psgNfi5ZjavG99TWCBNfK4jSyl6X3Oetxzwo4F/DNcc0Z1/f6f87ulLPDFZ8k/8PFTEeykegclDfRSpksOA9fsqfKTiwO2DTkdorO7KxDRwpwx9REuCVoRY7hFu6h4M2vRfKvt3qm/RRpRDkRxUhArGiHnq6n5xmMXN53IGCcPQTpGBnH4X3gV1hjIcUSrjx5sMool4wKu6xwLJsjR3ovA/vKQ7FbKFQS3Ha5ok7pVcxmu6CeZJVwkUB4kqDRtjRbfwCtB6X04qtlPBUVD22Ue8KhpAAl1RGDZpTPi5ICNYDW0YSs41OckaENP7asdyfnaOZPyblnotSLh6aY0zfVRRCZwgtrQN+gYhaifGuXQ6ivgJI5NmJirmQyMJ/JHZRVXgivX4LzXz7RTnnNP0dPs0fRFLZp5tyAh49SdkZbUU2QXBKswkFH+FhhaizdR62WeGRvKOhgZ6uoYDb7UN/VBqCPwVDhwrpxXjSGSMkZS8hfrzcLEV99Oa+uQnpSEZhqRlKAVHhwS4MN7arh41+rebYWFdIXOnzQ7tY2s94a/4u1KjVzZ0xeb2PyaHLNOSfIhZzT34mp2ISZAl1AD+XW0WVCuUv6p/c0llzjump4SeuvYzL/i8QyviiNIhbQl8mmn/Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(136003)(39860400002)(366004)(396003)(346002)(451199015)(316002)(54906003)(224303003)(66899015)(33656002)(478600001)(966005)(71200400001)(55016003)(26005)(86362001)(38070700005)(9686003)(7696005)(2906002)(6506007)(53546011)(15650500001)(110136005)(66476007)(186003)(66574015)(64756008)(82960400001)(8936002)(66446008)(83380400001)(66556008)(66946007)(122000001)(5660300002)(38100700002)(4326008)(76116006)(41300700001)(52536014);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TnV3WnJ0aW5ackdNWGwwRlZ2a2JDYlFlNnFrNUNZaWRPYlB5Ylc5dEhwMExH?= =?utf-8?B?cE1saE5JYUVwM3YybnRwT0duVXptYTlIbjNWSlVpeVNmU3pMZ0M0cHJRa3V5?= =?utf-8?B?dnRJWS9zclpyd1ZmaFNZU3VTeXFUN3RySDZQYWxFWjcwMGFIcEt6UzZRRUFx?= =?utf-8?B?RnZGd3luTmduQU1jclYxaDhUUVB5OHVIUmxKMTg3bllERkVXdU9mQ3ROejB5?= =?utf-8?B?Tjg2d3orY0MrMlNGVTlYb1NSaW1CZFVRaDFKVnZPMWFzaXVOZmZocXBKQTB3?= =?utf-8?B?dmxXWU9WZ1lhT0Fwamk4TURqS1ZwbDgrMHJwYlRMT1JDWXlKdEd5cTF1SnNn?= =?utf-8?B?MlBIem9aL2tmdVdjdnJ6SDJOQ0g1eG9QU0ZoQ2NXYmV6K01sUjNxQ2g4Y1RP?= =?utf-8?B?c3lXWkJZaHBScVR2am15U2dmNDJKaXlySjZzVWV0L0V4UHU5bWRWVUg3bjB5?= =?utf-8?B?YThjdmVVcGhscXJ2bnZqRzk2WVlYZnI0c25YMklNMlE4d2RuaitJMlZxb1Bj?= =?utf-8?B?N3phVFE3SGdjZWVqSTd4NUJFQlN3cjQwN3Mvd3k5S1UzZ01LWjRtLzNlbzFV?= =?utf-8?B?UUEyelVPb1FDYnk3ZHRjZHFGUDFYUWMySE1NQzdsRG5NOFFYVGRXc2cra3VK?= =?utf-8?B?Q2hRWlI1R0pXZXlMUHBIdmRDZzRXb1BUdmVCMVQ5U0RqVmJjdUFucHNDUEEv?= =?utf-8?B?R25iL1NQdkIzQnBSSGZRN0g1QllRdk1PWkNRNytvWnNVWjA0YThjd25iUjhE?= =?utf-8?B?cUlZWWpLdGp0MzlyVE5SeEprR2xmK1F6NWI0TWU4Qmh5dXJuR3FoVUpUT045?= =?utf-8?B?b0NkcU45QjR5Z1lkUEJoZncwRkpadmdOY2hsYS84a2VzYzJVeVNrWnBJS0xy?= =?utf-8?B?b0FvMGFUUytFKzB5TFF5ZktRckhZTkRHOTBUWitFMWtlOW1obUNzWjJNWjkv?= =?utf-8?B?OU5KTllzZzBHSjFhZVNRL08wZGhSdmRWcDl3THNlTFFpRXJvVG1aQ1RHa01Y?= =?utf-8?B?cjVQZTkvWE9oZGk3VTBNRVRaT21SUE9FOHhKV21NVm9KZDJrZkJxeURlcS8z?= =?utf-8?B?OEcxY1Q3Q1pRZXdZMnk3UzZDd2hUaWR5anVnMHVlTTVVTCtIbzlHSGJSYVE5?= =?utf-8?B?UlVhTTBNS2dxR25RdkRISUx5TGpIUGM5ZTBTRkcrdzQ1M1l0dkErWmloY3Zj?= =?utf-8?B?bE5Ub1REMXZlOVBYQ2IrK2VOM3QyTE9mc25PSnI3THFXc0N0aWtPaEVUSFVP?= =?utf-8?B?dUpSZC9lRUY1eXhCMGtzankyL0d2TEVCQk1renc3WlViaXN6MlZYV0JUR1Nj?= =?utf-8?B?UTgzWm5MQU5NZHoxL2VudUVUYmpya2o1NkFsUkJ3eUxvYTN4NW1KOFRjR282?= =?utf-8?B?QWU1QWh1MlBYVklYNGxYOGQxM1RXbENKRWIwSEtRK05QL1RZSXBYeitIL2x2?= =?utf-8?B?ZVB5VTRkUUNuQlFleDVsWElYd2h6TytMR21wRmY4YmJlY0w5Y0w4M29waUhm?= =?utf-8?B?SXg2cVY1UUJ2Z2h2VTA4TkdjN1JjVzNpZ2tpMmRHZzEwU2RpdmVTR2VwVEFD?= =?utf-8?B?MW5lU2ovRTBsUGp1WHlrUG0xZ3UxeUsrZ0xBYjVMbnduUDdKOXprY2l4cWtw?= =?utf-8?B?dThLcGY5ZTh0VEU2MzBGbHVmWFBGYWcxb2hoeEJESitjQ2MxRnhTUlptN0xP?= =?utf-8?B?ZEFXZU9XckgxMW5HOGs2clN5dmNSMmtUam94VTBDcjVHZWlhQXVYMmluQ25y?= =?utf-8?B?QXl1Ym5aSXdOR05DUjN0MDdZbzR4Z3dQQXJRUEhtQnhUVHZQRHpBWGk4MEM5?= =?utf-8?B?Z0c1aXU3dkJoM0F1Y2lkY1VaZFRoQ0wyWkxNVStqb2FHNldJKytkTDI3Q3dp?= =?utf-8?B?SFlWYzc4NUErRFBINlBXNFl0ZGNsSVQ5TXRmUHFnSytiSHVONHpPTEJSTktJ?= =?utf-8?B?WkQwdWg5d1dFb1FFUlZiN0ZEeEZTYW9aWXZUM1VRZ21EVldoNzBUZVRwUnN1?= =?utf-8?B?b042L2Nqd3JiMTlyL3N6RXVDa3F5U0tHWTVGdFphUDFjQ0d6U2ovbUZtYmdo?= =?utf-8?B?dldHY1ZpKzFmYU5KdjM4NDU2Z1V4N2FQNmFBM0FjSlZpTFFuNTJvQVZEWEJ5?= =?utf-8?B?RndjOE0yem1XTlc3T0FIT25BODlxSEl5a3JXc1I5cnp1WVdGaG5UU0R5Wll1?= =?utf-8?B?ZWc9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 297f0126-8577-45d7-4a77-08dac6bbc9ab X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Nov 2022 03:45:07.0507 (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: oVcyYzGupW1qYK6nlu8TJrW1UO1zQz5WBah+YEZWaNN1C+Bah63muLfVEFjEGsZgXeZNzUTpWUXl2KwSyngEB0xj3ohSfrCLc27Ef+fQ8S0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB7251 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KDQpBcHByb3ZlZCBmb3IgZWRrMi1zdGFibGUyMDIyMTENCg0KTWlrZQ0KDQo+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1pY2hhZWwgS3ViYWNraSA8bWlrdWJhY2tAbGlu dXgubWljcm9zb2Z0LmNvbT4NCj4gU2VudDogTW9uZGF5LCBOb3ZlbWJlciAxNCwgMjAyMiA3OjE4 IFBNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgR2FvLCBMaW1pbmcgPGdhb2xpbWluZ0Bi eW9zb2Z0LmNvbS5jbj4NCj4gQ2M6ICdTZWFuIEJyb2dhbicgPHNlYW4uYnJvZ2FuQG1pY3Jvc29m dC5jb20+OyAnQW5kcmV3IEZpc2gnIDxhZmlzaEBhcHBsZS5jb20+OyAnTGVpZiBMaW5kaG9sbScg PHF1aWNfbGxpbmRob2xAcXVpY2luYy5jb20+Ow0KPiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFl bC5kLmtpbm5leUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0g5Zue5aSN OiBbUEFUQ0ggZWRrMi1zdGFibGUyMDIyMTEgdjIgMC8yXSBVcGRhdGUgUHl0b29sIFBJUCBWZXJz aW9ucw0KPiANCj4gSSB3b3VsZCBsaWtlIHRvIGVsYWJvcmF0ZSBvbiBzb21lIG9mIHRoZSBpbmZv cm1hdGlvbiBpbiB0aGlzIGNvdmVyDQo+IGxldHRlciB0byBiZXR0ZXIgZW1waGFzaXplIHdoeSB0 aGlzIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUNCj4gZWRrMi1zdGFibGUyMDIyMTEgc3RhYmxl IHRhZy4NCj4gDQo+IFRoZXNlIHJlbGVhc2VzIG9mIGVkazItcHl0b29sLWxpYnJhcnkgYW5kIGVk azItcHl0b29sLWV4dGVuc2lvbnMgbXVzdCBiZQ0KPiBwYWlyZWQgdG9nZXRoZXIuIFRoZSBlZGsy LXB5dG9vbC1saWJyYXJ5IHJlbGVhc2UgYWxyZWFkeSBiZWluZyB1c2VkIGJ5DQo+IGVkazIgKDAu MTIuMCkgcmVxdWlyZXMgdGhlIGVkazItcHl0b29sLWV4dGVuc2lvbnMgMC4yMC4wIHJlbGVhc2Uu DQo+IA0KPiBUaGUgdXBkYXRlcyBpbiB0aGlzIHNlcmllcyBzaG91bGQgYmUgY29uc2lkZXJlZCAi cmVxdWlyZWQiIGFzIG9wcG9zZWQgdG8NCj4gInJlY29tbWVuZGVkIiB0byBlbnN1cmUgY29tcGF0 aWJpbGl0eSBpbiB0aGUgc3RhYmxlIHRhZyByZWxlYXNlLg0KPiANCj4gVGhlIHJlYXNvbmluZyBm b3IgdXBkYXRpbmcgZWRrMi1weXRvb2wtbGlicmFyeSBmcm9tIDAuMTIuMCB0byAwLjEyLjEgaXMN Cj4gc3RyYWlnaHRmb3J3YXJkLCBpdCBmaXhlcyB0aGUgYnVnIGRlc2NyaWJlZCBpbiB0aGUgY292 ZXIgbGV0dGVyLg0KPiANCj4gVGhlIGlzc3VlIHdpdGggbm90IHRha2luZyBpbiB0aGUgMC4yMC4w IGVkazItcHl0b29sLWV4dGVuc2lvbnMgdXBkYXRlIGlzDQo+IHRoYXQgUFIgRXZhbHVhdGlvbiwg d2hpY2ggaXMgdXNlZCBpbiBDSSB0byBkZXRlcm1pbmUgd2hhdCBwYWNrYWdlcyB0bw0KPiBidWls ZCwgd2lsbCBub3QgYnVpbGQgdGhlIGNvZGUgaW4gc29tZSBjYXNlcyBjYXVzaW5nIGJ1aWxkIGZh aWx1cmVzIHRvDQo+IHBvdGVudGlhbGx5IGNyZWVwIHRocm91Z2guDQo+IA0KPiBGb3IgZXhhbXBs ZSwgd2l0aG91dCB0aGlzIHVwZGF0ZSwgYSBQUiB3aXRoIGEgZmlsZSBvbmx5IGNoYW5nZWQgb3V0 c2lkZQ0KPiBhIHBhY2thZ2UsIHN1Y2ggYXMgcGlwLXJlcXVpcmVtZW50cy50eHQgb3IgYSBmaWxl IGluIC5weXRvb2wsIHdpbGwgbm90DQo+IHRyaWdnZXIgYSBmdWxsIGJ1aWxkIHRvIHRlc3QgdGhl IGNoYW5nZSBhcyBhIGZpbGUgaXMgbm90IG1vZGlmaWVkIHdpdGhpbg0KPiBhbiBlZGsyIHBhY2th Z2UuDQo+IA0KPiBUaGFua3MsDQo+IE1pY2hhZWwNCj4gDQo+IE9uIDExLzE0LzIwMjIgMTA6MDAg UE0sIGdhb2xpbWluZyB2aWEgZ3JvdXBzLmlvIHdyb3RlOg0KPiA+IE1pY2hhZWw6DQo+ID4gICAg SSBoYXZlIG5vIGNvbW1lbnRzIHRvIG1lcmdlIHRoaXMgcGF0Y2ggc2V0IGZvciB0aGUgc3RhYmxl IHRhZy4NCj4gPg0KPiA+IFRoYW5rcw0KPiA+IExpbWluZw0KPiA+PiAtLS0tLemCruS7tuWOn+S7 ti0tLS0tDQo+ID4+IOWPkeS7tuS6ujogbWlrdWJhY2tAbGludXgubWljcm9zb2Z0LmNvbSA8bWlr dWJhY2tAbGludXgubWljcm9zb2Z0LmNvbT4NCj4gPj4g5Y+R6YCB5pe26Ze0OiAyMDIy5bm0MTHm nIgxNeaXpSA4OjE5DQo+ID4+IOaUtuS7tuS6ujogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPj4g 5oqE6YCBOiBTZWFuIEJyb2dhbiA8c2Vhbi5icm9nYW5AbWljcm9zb2Z0LmNvbT47IE1pY2hhZWwg S3ViYWNraQ0KPiA+PiA8bWlrdWJhY2tAbGludXgubWljcm9zb2Z0LmNvbT47IExpbWluZyBHYW8g PGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47DQo+ID4+IEFuZHJldyBGaXNoIDxhZmlzaEBhcHBs ZS5jb20+OyBMZWlmIExpbmRob2xtIDxxdWljX2xsaW5kaG9sQHF1aWNpbmMuY29tPg0KPiA+PiDk uLvpopg6IFtQQVRDSCBlZGsyLXN0YWJsZTIwMjIxMSB2MiAwLzJdIFVwZGF0ZSBQeXRvb2wgUElQ IFZlcnNpb25zDQo+ID4+DQo+ID4+IEZyb206IE1pY2hhZWwgS3ViYWNraSA8bWljaGFlbC5rdWJh Y2tpQG1pY3Jvc29mdC5jb20+DQo+ID4+DQo+ID4+IDEuIFVwZGF0ZXMgZWRrMi1weXRvb2wtbGli cmFyeSB0byAwLjEyLjENCj4gPj4gICAgIC0gUGlja3MgdXAgYSBtaW5vciBidWcgZml4DQo+ID4+ DQo+ID4+IDIuIFVwZGF0ZXMgZWRrMi1weXRvb2wtZXh0ZW5zaW9ucyB0byAwLjIwLjANCj4gPj4g ICAgIC0gUGlja3MgdXAgYSBtYWpvciByZWxlYXNlDQo+ID4+DQo+ID4+IFRoZSBjaGFuZ2VzIGlu IGVhY2ggdXBkYXRlIGFyZSBpbiB0aGUgcmVzcGVjdGl2ZSBwYXRjaCBjb21taXQNCj4gPj4gbWVz c2FnZXMuDQo+ID4+DQo+ID4+IENJIHdhcyBydW4gYWdhaW5zdCBib3RoIG9mIHRoZXNlIHBhdGNo ZXMgaW4gdGhpcyBwdWxsIHJlcXVlc3Q6DQo+ID4+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2Nv cmUvZWRrMi9wdWxsLzM2MzINCj4gPj4NCj4gPj4gVGhlc2UgY2hhbmdlcyBhcmUgcmVjb21tZW5k ZWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIGVkazItc3RhYmxlMjAyMjExDQo+ID4+IHRhZyBmb3Ig dGhlIGZvbGxvd2luZyByZWFzb25zOg0KPiA+Pg0KPiA+PiAxLiBlZGsyLXB5dG9vbC1saWJyYXJ5 IDAuMTIuMCB0byAwLjEyLjEgaW5jbHVkZXMgYSBzaW5nbGUgYnVnIGZpeA0KPiA+PiAgICAgdGhh dCBzaW1wbHkgcmV0dXJucyBmaWxlIHBhdGhzIGZyb20NCj4gPj4gICAgIEVkazJQYXRoLkdldENv bnRhaW5pbmdNb2R1bGVzKCkgd2l0aCB0aGUgb3JpZ2luYWwgY2FzZSB1c2VkIGJ5DQo+ID4+ICAg ICB0aGUgb3BlcmF0aW5nIHN5c3RlbS4gVGhpcyBhbGxvdyBjYXNlIHNlbnNpdGl2ZSBjYWxsZXJz IHRvIG1hdGNoDQo+ID4+ICAgICBwYXRocyByZXR1cm5lZCBieSB0aGUgZnVuY3Rpb24gY29ycmVj dGx5Lg0KPiA+Pg0KPiA+PiAgICAgVGhpcyBjYW4gaW1wYWN0IGZsb3dzIHN1Y2ggYXMgUFIgRXZh bCB0aGF0IHVzZSB0aGlzIGZ1bmN0aW9uIHRvDQo+ID4+ICAgICBkZXRlcm1pbmUgd2hpY2ggbW9k dWxlcyB3ZXJlIGltcGFjdGVkIGJ5IGEgY29kZSBjaGFuZ2UuIFdpdGhvdXQNCj4gPj4gICAgIHRo aXMgY2hhbmdlIFBSIGV2YWwgbWF5IG5vdCByZXR1cm4gY29uc2lzdGVudC9leHBlY3RlZCByZXN1 bHRzDQo+ID4+ICAgICBhY3Jvc3Mgb3BlcmF0aW5nIHN5c3RlbXMuDQo+ID4+DQo+ID4+IDIuIFRo ZSBlZGsyLXB5dG9vbC1saWJyYXJ5IGNoYW5nZSByZXF1aXJlcyBlZGsyLXB5dG9vbC1leHRlbnNp b25zDQo+ID4+ICAgICAwLjIwLjAuIEZvciB0aGlzIHJlYXNvbiwgZWRrMi1weXRvb2wtZXh0ZW5z aW9ucyBzZXR1cC5weSB3YXMNCj4gPj4gICAgIHVwZGF0ZWQgaW4gMC4yMC4wIHRvIHNwZWNpZnkg MC4xMi4xIGFzIHRoZSBlZGsyLXB5dG9vbC1saWJyYXJ5DQo+ID4+ICAgICByZXF1aXJlbWVudC4g VGhlIGxvZ2ljIG9mIGRldGVybWluaW5nIGEgcGFja2FnZSBpbiBweXRvb2wtbGlicmFyeQ0KPiA+ PiAgICAgKEVkazJQYXRoLkdldENvbnRhaW5pbmdQYWNrYWdlKCkpIG5lZWRzIGEgY29ycmVzcG9u ZGluZyBjaGFuZ2UgaW4NCj4gPj4gICAgIHRoZSBlZGsyLXB5dG9vbC1leHRlbnNpb25zIDAuMjAu MCByZWxlYXNlLg0KPiA+Pg0KPiA+PiAgICAgV2l0aG91dCB0aGlzIGNoYW5nZSwgZmxvd3Mgc3Vj aCBhcyBQUiBFdmFsIHdpbGwgbm90IGhhdmUgdXBkYXRlZA0KPiA+PiAgICAgbG9naWMgZm9yIGNh bGxpbmcgdGhlIGZ1bmN0aW9uIGFuZCByZXR1cm4gaW5jb3JyZWN0IHJlc3VsdHMuDQo+ID4+DQo+ ID4+IFRoZXNlIGNoYW5nZXMgaGF2ZSBiZWVuIHRlc3RlZCBhZ2FpbnN0IGVkazIgaW4gcHl0b29s IGludGVncmF0aW9uDQo+ID4+IHRlc3RpbmcsIHRoZSBQUiBsaW5rZWQgYWJvdmUsIGFuZCBhZ2Fp bnN0IHNpbWlsYXIgY29kZSBpbiBNdS4NCj4gPj4NCj4gPj4gVjIgY2hhbmdlczoNCj4gPj4NCj4g Pj4gMS4gQWRkIHN0YWJsZSB0YWcgdG8gcGF0Y2ggc3ViamVjdA0KPiA+PiAyLiBFeHBsYWluIHdo eSBjaGFuZ2VzIHNob3VsZCBiZSBpbmNsdWRlZCBpbiBzdGFibGUgdGFnDQo+ID4+IDMuIEFkZCBS ZXZpZXdlZC1ieSB0YWdzIHRvIHBhdGNoZXMgZnJvbSB2MQ0KPiA+Pg0KPiA+PiBDYzogU2VhbiBC cm9nYW4gPHNlYW4uYnJvZ2FuQG1pY3Jvc29mdC5jb20+DQo+ID4+IENjOiBNaWNoYWVsIEt1YmFj a2kgPG1pa3ViYWNrQGxpbnV4Lm1pY3Jvc29mdC5jb20+DQo+ID4+IENjOiBMaW1pbmcgR2FvIDxn YW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+ID4+IENjOiBBbmRyZXcgRmlzaCA8YWZpc2hAYXBw bGUuY29tPg0KPiA+PiBDYzogTGVpZiBMaW5kaG9sbSA8cXVpY19sbGluZGhvbEBxdWljaW5jLmNv bT4NCj4gPj4gU2lnbmVkLW9mZi1ieTogTWljaGFlbCBLdWJhY2tpIDxtaWNoYWVsLmt1YmFja2lA bWljcm9zb2Z0LmNvbT4NCj4gPj4NCj4gPj4gTWljaGFlbCBLdWJhY2tpICgyKToNCj4gPj4gICAg cGlwLXJlcXVpcmVtZW50cy50eHQ6IFVwZGF0ZSB0byBlZGsyLXB5dG9vbC1saWJyYXJ5IDAuMTIu MQ0KPiA+PiAgICBwaXAtcmVxdWlyZW1lbnRzLnR4dDogVXBkYXRlIHRvIGVkazItcHl0b29sLWV4 dGVuc2lvbnMgMC4yMC4wDQo+ID4+DQo+ID4+ICAgcGlwLXJlcXVpcmVtZW50cy50eHQgfCA0ICsr LS0NCj4gPj4gICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQ0KPiA+Pg0KPiA+PiAtLQ0KPiA+PiAyLjI4LjAud2luZG93cy4xDQo+ID4NCj4gPg0KPiA+DQo+ ID4NCj4gPg0KPiA+IA0KPiA+DQo=