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.web12.4125.1588993185547541164 for ; Fri, 08 May 2020 19:59:45 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=SPketypw; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: xmKLi+YkxDkgiSJ44xMSVQXeF9jPCt23VITali0CmIl8jYasECD9Hp1jeLc0WqbOCieFXLSbEZ X99Wb60iJ9mA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2020 19:59:44 -0700 IronPort-SDR: eSiCnmQ7NGZE1yRbJv9fObsvxzWraxKuEQwfdAvevRGQ9quHQ1XJHKQkt9FlR4ODonI1vwmDfu aqoUIU2+dAPA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,370,1583222400"; d="scan'208";a="279219216" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga002.jf.intel.com with ESMTP; 08 May 2020 19:59:44 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 8 May 2020 19:59:44 -0700 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 8 May 2020 19:59:43 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 8 May 2020 19:59:43 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 8 May 2020 19:59:43 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fDRGN4Im8Nx3wbPJ5h12OruD0uU+yJIuNIAmfvU01MBx+Noar+V9O0KwNudo7klGQMqMh3As4OFCTij6sBanLtcnHuFCtAIqAsR8kVzOrvIIQ6PXQV7rGscLLQe50jhyt63tkIy1DL/mV7SfuEZ5QZjoehmSuyHvida1lhDy48ahmxGTFESOk6z50Hbf5TtRNY75Qdjuy69a2YY6Yj4fEpTeZwMA8m28XkiIrAevHyObt7UyV3pfmSmzMssgKLK/jl2L8eoFWHRNL7zZ3tog+qKSrfM1M1fwG0WknWILrPyzeBNorRmcntC/eXuCQUFgJ5w9Nr3wcHMqOkamWXFPbQ== 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=BuACtDHwbb1nJ2c1pUWtJi+eT4FPRPTDwsSmp6twD/c=; b=Kjl/EzS/d/46Mvg1cTeZzP4bKD8LuuzdnRVClUsPmhivbR1T/e4ZTCABYCc/4CJ5E9Ol7ZHcgBzD6vHL08VsenLR1mmXouHPEe3mCl0B9gTt/ZR1KnkSEuracFyhIWxNZAUqb7nklWlQGI+opP3N/q/TLBNbr4wHl0rjNaiM5sMG82wjLdLTXmuxNn+h3CEEQDmNqUi3LSTm9cP+O4GUvplrcVfA24ZH89YOQKF2WNeFHK98ytkp4XQoUfra8bcpRH1ve1he/4HjrJIDYYQcAqTG2JguwAotXYz3dI0YLcR+vNh9mjCiTkZSUMqSsL7StFd7J+P4ke/JerzTlIML3A== 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=BuACtDHwbb1nJ2c1pUWtJi+eT4FPRPTDwsSmp6twD/c=; b=SPketypwcKQfZn9mE8dlmbPnRxzHBZQZlrUyoftO14qn/1czAu7+3JZnv7WCXezQIGTK/+JPNhxeYcYiOuVeySFNV25ePp8Wzl1y9ps8bmUbC0oRAZZiSnwvdU4i4fdv/9V9D/lhlizgP5z18AJ7OOSwsGpgB701Ly25n3mI0l8= Received: from MN2PR11MB4461.namprd11.prod.outlook.com (2603:10b6:208:192::29) by MN2PR11MB3582.namprd11.prod.outlook.com (2603:10b6:208:ec::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20; Sat, 9 May 2020 02:59:42 +0000 Received: from MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::3d4a:609a:481e:17a7]) by MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::3d4a:609a:481e:17a7%4]) with mapi id 15.20.2958.035; Sat, 9 May 2020 02:59:42 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "rfc@edk2.groups.io" , "Kinney, Michael D" Subject: [edk2-rfc] GitHub Pull Request based Code Review Process Thread-Topic: [edk2-rfc] GitHub Pull Request based Code Review Process Thread-Index: AdYlrbT8bFM60bvPQMeeqo8QbNJ7Hw== Date: Sat, 9 May 2020 02:59:41 +0000 Message-ID: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [134.134.136.207] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 929db81e-3f78-4f5d-ffba-08d7f3c50562 x-ms-traffictypediagnostic: MN2PR11MB3582: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 03982FDC1D x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3dJxtl9kLR3B/l5E/+UQIyU1Sidvn9wkKeOFAyfra7E0soY+JsfzRI5INAOjYkPgXFE+cTRaz/3X7bQWrbbh9U2OQh3OwraalNt2XpGpcyDIuFRrZ78L4/gwX1DAdlh+95KD8d6QOnw5BPmwpl7CcYN8MTvMC1J+bPVWbNjIObrEY+5sFN4PDBkaGUcMK5cf2Jwkwq1KldrtX8HD/mhV+H1ZBV9lkEdu89WAByBeeFOcnmP0uHbK9Obf2Q847mzq/+0eDrd92kCC9Y9xTT2XHEudqFm9he0/c/DHjT0QoWOZooeksG/srmHwc4beksabGeUwDRFzN/6Zbbj5OtFQfD/P6RDQQJ3aXd5zawHKFwqFaXS3lyFtM5zvSHC26ZQmHmBacG/HFa+8TCrkhhyKJ9g6Ja0dKxm1/Mx2w+ZaWqT9icIKUfw/DNTYtYM8SKdJEIQ5iwS5k5ZrT98A3tyKUOmjn7RHHkrBLgwEp0O1B5dbKfWXxJpLHxef/OuN+uIgXNYdXQVEt4mlWR6HXJ0nuU+k5YCeqHOdZI4r6ZfyFKoBSrAUndpWuEBx8abWCtssz8ej314+LB+bhHsZahV7ColfQLhIIBPDXAgd5fzVGg4= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4461.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(396003)(376002)(346002)(136003)(366004)(39860400002)(33430700001)(76116006)(86362001)(66556008)(71200400001)(66446008)(9686003)(64756008)(33656002)(110136005)(316002)(966005)(66476007)(66946007)(450100002)(6506007)(478600001)(8676002)(7696005)(186003)(30864003)(8936002)(52536014)(55016002)(26005)(33440700001)(2906002)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: lbpNejdXCZuFDuElRiNRIRvJBEWf7I2oHGj++mjSkzyUO3uVHJdk0x97Xli+sq3u2NfLf95GYBj+Lf1yrBKsjFIUiLcwynf/xkPF2dWMGAoLgUMLPIDfd16e1TDLaMaOZwGGN4qbxBjoaiuJvnb3EcCUjVe4KKJMdg33EBbqkrWJL4A3xtKKoac+F93avvy1yMWyT9CmZ0gZ5YXYkvdlA8V4+lHR1DyFNYDjrILFFbQlF7CczAxaynA+o2hzaKLkUQRCxqB81DF01wIZulx79cqRn3Uqlt9NC/1EUN8TTHSmQ0lyqdc5kv/yWoc3sN0hhkUc7tL9I/wWxp/lf7IaoJudEGUj4jVdUAJmf1qTUZXbr1Sf8cuw2m9WMCAXb/o4HJyOhTUXvWRsruRZlflNhX4IXdTp5gJ4WzVpObWFFY9a8xelDPmWiVgEuOI+voBl0dLa2T6uZZVVIseVdn/dMIO/8QrvwL634kGdC6fgjDT+ouheFlTB8yuYZ+Bw4yAx MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 929db81e-3f78-4f5d-ffba-08d7f3c50562 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 May 2020 02:59:41.9676 (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: mAHONNX3bwBEA1oCXMumBBsuf6+8TeFbZu1ME+XxOGhMXy4DuhZaor3MzbME6XhpmcvUrnld5ZfSNLulB9xquTf6LFFoB93VjbqajXkWkRw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3582 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 SGVsbG8sDQoNClRoaXMgaXMgYSBwcm9wb3NhbCB0byBjaGFuZ2UgZnJvbSB0aGUgY3VycmVudCBl bWFpbC1iYXNlZCBjb2RlIHJldmlldyBwcm9jZXNzIHRvDQphIEdpdEh1YiBwdWxsIHJlcXVlc3Qt YmFzZWQgY29kZSByZXZpZXcgcHJvY2VzcyBmb3IgYWxsIHJlcG9zaXRvcmllcyBtYWludGFpbmVk DQppbiBUaWFub0NvcmUuICBUaGUgY3VycmVudCBlbWFpbC1iYXNlZCBjb2RlIHJldmlldyBwcm9j ZXNzIGFuZCBjb21taXQgbWVzc2FnZQ0KcmVxdWlyZW1lbnRzIGFyZSBkb2N1bWVudGVkIGluIFJl YWRtZS5tZCBvciBSZWFkbWUucnN0IGF0IHRoZSByb290IG9mDQpyZXBvc2l0b3JpZXMgYWxvbmcg d2l0aCBhIGZldyBXaWtpIHBhZ2VzOg0KDQoqIGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUv ZWRrMi9ibG9iL21hc3Rlci9SZWFkTWUucnN0DQoqIGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2Nv cmUvdGlhbm9jb3JlLmdpdGh1Yi5pby93aWtpL0VESy1JSS1EZXZlbG9wbWVudC1Qcm9jZXNzDQoq IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvdGlhbm9jb3JlLmdpdGh1Yi5pby93aWtpL0xh c3psbydzLXVua2VtcHQtZ2l0LWd1aWRlLWZvci1lZGsyLWNvbnRyaWJ1dG9ycy1hbmQtbWFpbnRh aW5lcnMNCiogaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS90aWFub2NvcmUuZ2l0aHViLmlv L3dpa2kvQ29tbWl0LU1lc3NhZ2UtRm9ybWF0DQoqIGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2Nv cmUvdGlhbm9jb3JlLmdpdGh1Yi5pby93aWtpL0NvbW1pdC1TaWduYXR1cmUtRm9ybWF0DQoNClRo ZSBnb2FsIGlzIHRvIHBvc3QgY2hhbmdlcyBieSBvcGVuaW5nIGEgR2l0SHViIHB1bGwgcmVxdWVz dCBhbmQgcGVyZm9ybSBhbGwNCmNvZGUgcmV2aWV3IGFjdGl2aXR5IHVzaW5nIHRoZSBHaXRIdWIg d2ViIGludGVyZmFjZS4gIFRoaXMgcHJvcG9zYWwgZG9lcyBub3QNCmNoYW5nZSBhbnkgbGljZW5z ZXMgb3IgY29tbWl0IG1lc3NhZ2UgcmVxdWlyZW1lbnRzLiAgSXQgZG9lcyByZXF1aXJlIGFsbA0K ZGV2ZWxvcGVycywgbWFpbnRhaW5lcnMsIGFuZCByZXZpZXdlcnMgdG8gaGF2ZSBHaXRIdWIgYWNj b3VudHMuDQoNCk9uZSByZXF1aXJlbWVudCB0aGF0IHdhcyBjb2xsZWN0ZWQgZnJvbSBwcmV2aW91 cyBkaXNjdXNzaW9ucyBvbiB0aGlzIHRvcGljIGlzDQp0aGUgbmVlZCBmb3IgYW4gZW1haWwgYXJj aGl2ZSBvZiBhbGwgcGF0Y2hlcyBhbmQgY29kZSByZXZpZXcgYWN0aXZpdGllcy4gIFRoZQ0KZXhp c3RpbmcgR2l0SHViIGZlYXR1cmVzIHRvIHByb2R1Y2UgYW4gZW1haWwgYXJjaGl2ZSB3ZXJlIGRl ZW1lZCBpbnN1ZmZpY2llbnQuDQpBIHByb29mIG9mIGNvbmNlcHQgb2YgYSBHaXRIdWIgd2ViaG9v ayBoYXMgYmVlbiBpbXBsZW1lbnRlZCB0byBwcm92aWRlIHRoZSBlbWFpbA0KYXJjaGl2ZSBzZXJ2 aWNlLiAgVGhpcyBlbWFpbCBhcmNoaXZlIGlzIHJlYWQtb25seS4gIFlvdSB3aWxsIG5vdCBiZSBh YmxlIHRvIHNlbmQNCmVtYWlscyB0byB0aGlzIGFyY2hpdmUgb3IgcmVwbHkgdG8gZW1haWxzIGlu IHRoZSBhcmNoaXZlLg0KDQpUaGUgc2VjdGlvbnMgYmVsb3cgcHJvdmlkZSBtb3JlIGRldGFpbHMg b24gdGhlIHByb3Bvc2VkIEdpdEh1YiBwdWxsIHJlcXVlc3QNCmJhc2VkIGNvZGUgcmV2aWV3IHBy b2Nlc3MsIGRldGFpbHMgb24gdGhlIGVtYWlsIGFyY2hpdmUgc2VydmljZSwgYW5kIGEgc2V0IG9m DQpyZW1haW5pbmcgdGFza3MgbWFrZSB0aGUgZW1haWwgYXJjaGl2ZSBzZXJ2aWNlIHByb2R1Y3Rp b24gcXVhbGl0eS4gIEl0IGRvZXMgbm90DQptYWtlIHNlbnNlIHRvIHN1cHBvcnQgYm90aCB0aGUg ZXhpc3RpbmcgZW1haWwtYmFzZWQgY29kZSByZXZpZXcgYW5kIHRoZSBHaXRIdWINCnB1bGwgcmVx dWVzdC1iYXNlZCBjb2RlIHJldmlldyBhdCB0aGUgc2FtZSB0aW1lLiAgSW5zdGVhZCwgdGhpcyBw cm9wb3NhbCBpcyB0bw0Kc3dpdGNoIHRvIHRoZSBHaXRIdWIgcHVsbCByZXF1ZXN0LWJhc2VkIGNv ZGUgcmV2aWV3IGFuZCByZXRpcmUgdGhlIGVtYWlsIGJhc2VkDQpjb2RlIHJldmlldyBwcm9jZXNz IG9uIHRoZSBzYW1lIGRhdGUuDQoNClRoZSBlZGsyIHJlcG9zaXRvcnkgaXMgdXNpbmcgR2l0SHVi IHB1bGwgcmVxdWVzdHMgdG9kYXkgdG8gcnVuIGF1dG9tYXRlZA0KQ0kgY2hlY2tzIG9uIHRoZSBj b2RlIGNoYW5nZXMgYW5kIGFsbG93cyBhIG1haW50YWluZXIgdG8gc2V0IHRoZSBgcHVzaGAgbGFi ZWwgdG8NCnJlcXVlc3QgdGhlIGNoYW5nZXMgdG8gYmUgbWVyZ2VkIGlmIGFsbCBDSSBjaGVja3Mg cGFzcy4gIFdpdGggdGhpcyBwcm9wb3NhbCwNCm9uY2UgdGhlIGNvZGUgcmV2aWV3IGlzIGNvbXBs ZXRlIGFuZCB0aGUgY29tbWl0IG1lc3NhZ2VzIGhhdmUgYmVlbiB1cGRhdGVkLCB0aGUNCnNhbWUg cHVsbCByZXF1ZXN0IGNhbiBiZSB1c2VkIHRvIHBlcmZvcm0gYSBmaW5hbCBzZXQgb2YgQ0kgY2hl Y2tzIGFuZCBtZXJnZSB0aGUNCmNoYW5nZXMgaW50byB0aGUgbWFzdGVyIGJyYW5jaC4NCg0KSSB3 b3VsZCBsaWtlIHRvIGNvbGxlY3QgZmVlZGJhY2sgb24gdGhpcyBwcm9wb3NhbCBhbmQgdGhlIGVt YWlsIGFyY2hpdmUgc2VydmljZQ0Kb3ZlciB0aGUgbmV4dCB0d28gd2Vla3Mgd2l0aCBjbG9zZSBv ZiBjb21tZW50cyBvbiBGcmlkYXkgTWF5IDIyLCAyMDIwLiAgSWYgYWxsDQppc3N1ZXMgYW5kIGNv bmNlcm5zIGNhbiBiZSBhZGRyZXNzZWQsIHRoZW4gSSB3b3VsZCBsaWtlIHRvIHNlZSB0aGUgY29t bXVuaXR5DQphZ3JlZSB0byBtYWtlIHRoaXMgY2hhbmdlIGFzIHNvb24gYXMgYWxsIHJlbWFpbmlu ZyB0YXNrcyBhcmUgY29tcGxldGVkLg0KDQojIFRpYW5vQ29yZSBSZXBvc2l0b3JpZXMgdG8gZW5h YmxlDQoNCiogW2VkazJdKGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMikNCiogW2Vk azItcGxhdGZvcm1zXShodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazItcGxhdGZvcm1z KQ0KKiBbZWRrMi1ub24tb3NpXShodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazItbm9u LW9zaSkNCiogW2VkazItdGVzdF0oaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyLXRl c3QpDQoqIFtlZGsyLWxpYmNdKGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi1saWJj KQ0KKiBbZWRrMi1zdGFnaW5nXShodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazItc3Rh Z2luZykNCg0KIyBHaXRIdWIgUHVsbCBSZXF1ZXN0IENvZGUgUmV2aWV3IFByb2Nlc3MNCg0KKipO T1RFKio6IEFsbCBzdGVwcyBiZWxvdyB1c2UgW2VkazJdKGh0dHBzOi8vZ2l0aHViLmNvbS90aWFu b2NvcmUvZWRrMikgYXMgYW4NCmV4YW1wbGUuICBTZXZlcmFsIHJlcG9zaXRvcmllcyBhcmUgc3Vw cG9ydGVkLg0KDQojIyBBdXRob3IvRGV2ZWxvcGVyIFN0ZXBzDQogICogQ3JlYXRlIGEgcGVyc29u YWwgZm9yayBvZiBbZWRrMl0oaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyKQ0KDQog ICAgaHR0cHM6Ly9oZWxwLmdpdGh1Yi5jb20vZW4vZ2l0aHViL2dldHRpbmctc3RhcnRlZC13aXRo LWdpdGh1Yi9mb3JrLWEtcmVwbw0KDQogICogQ3JlYXRlIGEgbmV3IGJyYW5jaCBmcm9tIGVkazIv bWFzdGVyIGluIHBlcnNvbmFsIGZvcmsgb2YgZWRrMiByZXBvc2l0b3J5Lg0KDQogICogQWRkIHNl dCBvZiBjb21taXRzIGZvciBuZXcgZmVhdHVyZSBvciBidWcgZml4IHRvIG5ldyBicmFuY2guICBN YWtlIHN1cmUgdG8NCiAgICBmb2xsb3cgdGhlIGNvbW1pdCBtZXNzYWdlIGZvcm1hdCByZXF1aXJl bWVudHMuICBUaGUgb25seSBjaGFuZ2Ugd2l0aCB0aGlzDQogICAgUkZDIGlzIHRoYXQgdGhlIENj OiBsaW5lcyB0byBtYWludGFpbmVycy9yZXZpZXdlcnMgc2hvdWxkICoqbm90KiogYmUgYWRkZWQu DQogICAgVGhlIENjOiBsaW5lcyBhcmUgc3RpbGwgc3VwcG9ydGVkLCBidXQgdGhleSBzaG91bGQg b25seSBiZSB1c2VkIHRvIGFkZA0KICAgIHJldmlld2VycyB0aGF0IGRvIG5vdCBoYXZlIEdpdEh1 YiBJRHMgb3IgYXJlIG5vdCBtZW1iZXJzIG9mIFRpYW5vQ29yZS4NCg0KICAqIFB1c2ggYnJhbmNo IHdpdGggbmV3IGNvbW1pdHMgdG8gcGVyc29uYWwgZm9yaw0KICAqIENyZWF0ZSBhIHB1bGwgcmVx dWVzdCBhZ2FpbnN0IFRpYW5vQ29yZSBlZGsyL21hc3Rlcg0KDQogICAgaHR0cHM6Ly9oZWxwLmdp dGh1Yi5jb20vZW4vZ2l0aHViL2NvbGxhYm9yYXRpbmctd2l0aC1pc3N1ZXMtYW5kLXB1bGwtcmVx dWVzdHMvY3JlYXRpbmctYS1wdWxsLXJlcXVlc3QNCg0KICAqIElmIHB1bGwgcmVxdWVzdCBoYXMg bW9yZSB0aGFuIDEgY29tbWl0LCB0aGVuIGZpbGwgaW4gdGhlIHB1bGwgcmVxdWVzdCB0aXRsZQ0K ICAgIGFuZCBkZWNyeXB0aW9uIGluZm9ybWF0aW9uIGZvciBQYXRjaCAjMC4gIERvIG5vdCBsZWF2 ZSBkZWZhdWx0cy4NCg0KICAqIERvIG5vdCBhc3NpZ24gcmV2aWV3ZXJzLiAgVGhlIHdlYmhvb2sg YXNzaWducyBtYWludGFpbmVycyBhbmQgcmV2aWV3ZXJzIHRvDQogICAgdGhlIHB1bGwgcmVxdWVz dCBhbmQgZWFjaCBjb21taXQgaW4gdGhlIHB1bGwgcmVxdWVzdC4NCg0KICAqIElmIG1haW50YWlu ZXJzL3Jldmlld2VycyBwcm92aWRlIGZlZWRiYWNrIHRoYXQgcmVxdWlyZXMgY2hhbmdlcywgdGhl biBtYWtlDQogICAgYWRkIGNvbW1pdHMgdG8gdGhlIGN1cnJlbnQgYnJhbmNoIHdpdGggdGhlIHJl cXVlc3RlZCBjaGFuZ2VzLiAgT25jZSBhbGwNCiAgICBjaGFuZ2VzIGFyZSBhY2NlcHRlZCBvbiB0 aGUgY3VycmVudCBicmFuY2gsIHJlZm9ybXVsYXRlIHRoZSBwYXRjaCBzZXJpZXMgYW5kDQogICAg Y29tbWl0IGNvbW1lbnRzIGFzIG5lZWRlZCBmb3IgcGVyZm9ybSBhIGZvcmNlZCBwdXNoIHRvIHRo ZSBicmFuY2ggaW4gdGhlDQogICAgcGVyc29uYWwgZm9yayBvZiB0aGUgZWRrMiByZXBvc2l0b3J5 LiAgVGhpcyBzdGVwIG1heSBiZSByZXBlYXRlZCBpZiBtdWx0aXBsZQ0KICAgIHZlcnNpb25zIG9m IHRoZSBwYXRjaCBzZXJpZXMgYXJlIHJlcXVpcmVkIHRvIGFkZHJlc3MgYWxsIGNvZGUgcmV2aWV3 DQogICAgZmVlZGJhY2suDQoNCiAgKipPUEVOKio6IEhvdyBzaG91bGQgbWluaW11bSByZXZpZXcg cGVyaW9kIGJlIHNldD8gIExhYmVscz8NCg0KIyMgVGlhbm9Db3JlIEdpdEh1YiBFbWFpbCBBcmNo aXZlIFdlYmhvb2sgU2VydmljZSBTdGVwcw0KICAqIFJlY2VpdmUgYW4gZXZlbnQgdGhhdCBhIG5l dyBwdWxsIHJlcXVlc3Qgd2FzIG9wZW5lZA0KICAqIEV2YWx1YXRlIHRoZSBmaWxlcyBtb2RpZmll ZCBieSB0aGUgZW50aXJlIHB1bGwgcmVxdWVzdCBhbmQgZWFjaCBjb21taXQgaW4NCiAgICB0aGUg cHVsbCByZXF1ZXN0IGFuZCBjcm9zcyByZWZlcmVuY2VzIGFnYWluc3QgYE1haW50YWludGVycy50 eHRgIGluIHRoZSByb290DQogICAgb2YgdGhlIHJlcG9zaXRvcnkgdG8gYXNzaWduIG1haW50YWlu ZXJzL3Jldmlld2VycyB0byB0aGUgcHVsbCByZXF1ZXN0IGFuZA0KICAgIGVhY2ggY29tbWl0IGlu IHRoZSBwdWxsIHJlcXVlc3QuIEluZGl2aWR1YWwgY29tbWl0IGFzc2lnbm1lbnRzIGFyZSBwZXJm b3JtZWQNCiAgICBieSBhZGRpbmcgYSBjb21taXQgY29tbWVudCBvZiB0aGUgZm9sbG93aW5nIGZv cm06DQoNCiAgICBbQ29kZVJldmlld10gUmV2aWV3LXJlcXVlc3QgQG1ka2lubmV5DQoNCiAgKiBH ZW5lcmF0ZSBhbmQgc2VuZHMgZ2l0IHBhdGNoIHJldmlldyBlbWFpbHMgdG8gdGhlIGVtYWlsIGFy Y2hpdmUuICBFbWFpbHMNCiAgICBhcmUgYWxzbyBzZW50IHRvIGFueSBDYzogdGFncyBpbiB0aGUg Y29tbWl0IG1lc3NhZ2VzLg0KDQogICogSWYgdGhlIGF1dGhvci9kZXZlbG9wZXIgcGVyZm9ybXMg YSBmb3JjZWQgcHVzaCB0byB0aGUgYnJhbmNoIGluIHRoZWlyDQogICAgcGVyc29uYWwgZm9yayBv ZiB0aGUgZWRrMiByZXBvc2l0b3J5LCB0aGVuIGEgbmV3IHNldCBvZiBwYXRjaCByZXZpZXcgZW1h aWxzDQogICAgd2l0aCBwYXRjaCBzZXJpZXMgVnggaXMgc2VudCB0byB0aGUgZW1haWwgYXJjaGl2 ZSBhbmQgYW55IENjOiB0YWdzIGluIGNvbW1pdA0KICAgIG1lc3NhZ2VzLg0KDQogICogUmVjZWl2 ZSBldmVudHMgYXNzb2NpYXRlZCB3aXRoIGFsbCBjb2RlIHJldmlldyBhY3Rpdml0aWVzIGFuZCBn ZW5lcmF0ZQ0KICAgIGFuZCBzZW5kIGVtYWlscyB0byB0aGUgZW1haWwgYXJjaGl2ZSB0aGF0IHNo b3dzIGFsbCByZXZpZXcgY29tbWVudHMgYW5kDQogICAgYWxsIHJlc3BvbnNlcyBjbG9zZWx5IG1h dGNoaW5nIHRoZSBlbWFpbCBjb250ZW50cyBzZWVuIGluIHRoZSBjdXJyZW50IGVtYWlsDQogICAg YmFzZWQgY29kZSByZXZpZXcgcHJvY2Vzcy4NCg0KICAqIEdlbmVyYXRlIGFuZCBzZW5kIGVtYWls IHdoZW4gcHVsbCByZXF1ZXN0IGlzIG1lcmdlZCBvciBjbG9zZWQuDQoNCiMjIE1haW50YWluZXIv UmV2aWV3ZXIgU3RlcHMNCg0KICAqIE1ha2Ugc3VyZSBHaXRIdWIgY29uZmlndXJhdGlvbiBpcyBz ZXR1cCB0byAnV2F0Y2gnIHRoZSByZXBvc2l0b3JpZXMgdGhhdA0KICAgIHlvdSBoYXZlIG1haW50 YWluZXIgc2hpcCBvciByZXZpZXcgcmVzcG9uc2liaWxpdGllcyBhbmQgdGhhdCBlbWFpbA0KICAg IG5vdGlmaWNhdGlvbnMgZnJvbSBHaXRIdWIgYXJlIGVuYWJsZWQuICBUaGlzIGVuYWJsZXMgZW1h aWwgbm90aWZpY2F0aW9ucw0KICAgIHdoZW4gYSBtYWludGFpbmVyL3Jldmlld2VyIGlzIGFzc2ln bmVkIHRvIGEgcHVsbCByZXF1ZXN0IGFuZCBpbmRpdmlkdWFsDQogICAgY29tbWl0cy4NCg0KICAg IGh0dHBzOi8vaGVscC5naXRodWIuY29tL2VuL2dpdGh1Yi9tYW5hZ2luZy1zdWJzY3JpcHRpb25z LWFuZC1ub3RpZmljYXRpb25zLW9uLWdpdGh1Yi9jb25maWd1cmluZy1ub3RpZmljYXRpb25zDQoN CiAgKiBTdWJzY3JpYmUgdG8gdGhlIGVtYWlsIGFyY2hpdmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBU aWFub0NvcmUgR2l0SHViIEVtYWlsDQogICAgQXJjaGl2ZSBXZWJob29rIFNlcnZpY2UuDQoNCiAg ICBodHRwczovL3d3dy5yZWRoYXQuY29tL21haWxtYW4vbGlzdGluZm8vdGlhbm9jb3JlLWNvZGUt cmV2aWV3LXBvYw0KDQogICogUmV2aWV3IHB1bGwgcmVxdWVzdHMgYW5kIGNvbW1pdHMgYXNzaWdu ZWQgYnkgdGhlIFRpYW5vQ29yZSBHaXRIdWIgRW1haWwNCiAgICBBcmNoaXZlIFdlYmhvb2sgU2Vy dmljZSBhbmQgdXNlIHRoZSBHaXRIdWIgd2ViIFVJIHRvIHByb3ZpZGUgYWxsIHJldmlldw0KICAg IGZlZWRiYWNrLg0KDQogICAgaHR0cHM6Ly9oZWxwLmdpdGh1Yi5jb20vZW4vZ2l0aHViL2NvbGxh Ym9yYXRpbmctd2l0aC1pc3N1ZXMtYW5kLXB1bGwtcmVxdWVzdHMvcmV2aWV3aW5nLWNoYW5nZXMt aW4tcHVsbC1yZXF1ZXN0cw0KDQogICogV2FpdCBmb3IgQXV0aG9yL0RldmVsb3BlciB0byByZXNw b25kIHRvIGFsbCBmZWVkYmFjayBhbmQgYWRkIGNvbW1pdHMgd2l0aA0KICAgIGNvZGUgY2hhbmdl cyBhcyBuZWVkZWQgdG8gcmVzb2x2ZSBhbGwgZmVlZGJhY2suICBUaGlzIHN0ZXAgbWF5IGJlIHJl cGVhdGVkDQogICAgaWYgdGhlIGRldmVsb3Blci9hdXRob3IgbmVlZCB0byBwcm9kdWNlIG11bHRp cGxlIHZlcnNpb25zIG9mIHRoZSBwYXRjaA0KICAgIHNlcmllcyB0byBhZGRyZXNzIGFsbCBmZWVk YmFjay4NCg0KICAqIE9uY2UgYWxsIGZlZWRiYWNrIGlzIGFkZHJlc3NlZCwgYWRkIFJldmlld2Vk LWJ5LCBBY2tlZC1ieSwgYW5kIFRlc3RlZC1ieQ0KICAgIHJlc3BvbnNlcyBvbiBpbmRpdmlkdWFs IGNvbW1pdHMuICBPciBhZGQgU2VyaWVzLXJldmlld2VkLWJ5LCBTZXJpZXMtYWNrZWQtYnksDQog ICAgb3IgU2VyaWVzLVRlc3RlZC1ieSByZXNwb25zZXMgdG8gdGhlIGVudGlyZSBwdWxsIHJlcXVl c3QuDQoNCiAgKiBXYWl0IGZvciBEZXZlbG9wZXIvQXV0aG9yIHRvIGFkZCB0YWdzIHRvIGNvbW1p dCBtZXNzYWdlcyBpbiB0aGUgcHVsbCByZXF1ZXN0Lg0KDQogICogUGVyZm9ybSBmaW5hbCByZXZp ZXcgb2YgcGF0Y2hlcyBhbmQgY29tbWl0IG1lc3NhZ2UgdGFncy4gIElmIHRoZXJlIGFyZSBub3QN CiAgICBpc3N1ZXMsIHNldCB0aGUgYHB1c2hgIGxhYmVsIHRvIHJ1biBmaW5hbCBzZXQgb2YgQ0kg Y2hlY2tzIGFuZCBhdXRvIG1lcmdlDQogICAgdGhlIHB1bGwgcmVxdWVzdCBpbnRvIG1hc3Rlci4N Cg0KIyBNYWludGFpbmVycy50eHQgRm9ybWF0IENoYW5nZXMNCg0KQWRkIEdpdEh1YiBJRHMgb2Yg YWxsIG1haW50YWluZXJzIGFuZCByZXZpZXdlcnMgYXQgdGhlIGVuZCBvZiBNOiBhbmQgUjogbGlu ZXMNCmluIFtdLiAgRm9yIGV4YW1wbGU6DQoNCiAgICBNOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT4gW21ka2lubmV5XQ0KDQojIFRpYW5vQ29yZSBHaXRIdWIg RW1haWwgQXJjaGl2ZSBXZWJob29rIFNlcnZpY2UNCg0KQXNzaWduIHJldmlld2VycyB0byBjb21t aXRzIGluIGEgR2l0SHViIHB1bGwgcmVxdWVzdCBiYXNlZCBvbiBhc3NpZ25tZW50cw0KZG9jdW1l bnRlZCBpbiBNYWludGFpbmVycy50eHQgYW5kIGdlbmVyYXRlcyBhbiBlbWFpbCBhcmNoaXZlIG9m IGFsbCBwdWxsIHJlcXVlc3QNCmFuZCBjb2RlIHJldmlldyBhY3Rpdml0aWVzLg0KDQpodHRwczov L2dpdGh1Yi5jb20vbWRraW5uZXkvZWRrMi1lbWFpbC1hcmNoaXZlLXdlYmhvb2sNCg0KIyBFbWFp bCBBcmNoaXZlIFN1YnNjcmlwdGlvbiBTZXJ2aWNlDQoNClRoZSBlbWFpbHMgYXJlIGJlaW5nIGRl bGl2ZXJlZCB0byB0aGUgZm9sbG93aW5nIFJlZEhhdCBlbWFpbCBzdWJzY3JpcHRpb24NCnNlcnZp Y2UuICBQbGVhc2Ugc3Vic2NyaWJlIHRvIHJlY2VpdmUgdGhlIGVtYWlscyBhbmQgdG8gYmUgYWJs ZSB0byB2aWV3IHRoZQ0KZW1haWwgYXJjaGl2ZXMuDQoNCmh0dHBzOi8vd3d3LnJlZGhhdC5jb20v bWFpbG1hbi9saXN0aW5mby90aWFub2NvcmUtY29kZS1yZXZpZXctcG9jDQoNClRoZSBlbWFpbCBh cmNoaXZlcyBhcmUgYXQgdGhpcyBsaW5rOg0KDQpodHRwczovL3d3dy5yZWRoYXQuY29tL21haWxt YW4vcHJpdmF0ZS90aWFub2NvcmUtY29kZS1yZXZpZXctcG9jL2luZGV4Lmh0bWwNCg0KVGhlIGZv bGxvd2luZyBzZWN0aW9ucyBzaG93IHNvbWUgZXhhbXBsZSBwdWxsIHJlcXVlc3RzIGFuZCBjb2Rl IHJldmlld3MgdG8NCmhlbHAgcmV2aWV3IHRoZSBnZW5lcmF0ZWQgZW1haWxzLCB0aGVpciBjb250 ZW50cywgYW5kIHRocmVhZGluZy4NCg0KIyMgRW1haWwgQWNoaWV2ZSBUaHJlYWQgVmlldw0KDQpo dHRwczovL3d3dy5yZWRoYXQuY29tL21haWxtYW4vcHJpdmF0ZS90aWFub2NvcmUtY29kZS1yZXZp ZXctcG9jLzIwMjAtTWF5L3RocmVhZC5odG1sIzAwMjg5DQoNCiMjIEV4YW1wbGUgcGF0Y2ggc2Vy aWVzIHdpdGggMSBwYXRjaA0KDQpodHRwczovL3d3dy5yZWRoYXQuY29tL21haWxtYW4vcHJpdmF0 ZS90aWFub2NvcmUtY29kZS1yZXZpZXctcG9jLzIwMjAtTWF5L3RocmVhZC5odG1sIzAwMzQwDQoN CiMjIEV4YW1wbGUgcGF0Y2ggc2VyaWVzIHdpdGggPCAxMCBwYXRjaGVzDQoNCiogaHR0cHM6Ly93 d3cucmVkaGF0LmNvbS9tYWlsbWFuL3ByaXZhdGUvdGlhbm9jb3JlLWNvZGUtcmV2aWV3LXBvYy8y MDIwLU1heS9tc2cwMDI4OS5odG1sDQoqIGh0dHBzOi8vd3d3LnJlZGhhdC5jb20vbWFpbG1hbi9w cml2YXRlL3RpYW5vY29yZS1jb2RlLXJldmlldy1wb2MvMjAyMC1NYXkvbXNnMDAwMzAuaHRtbA0K KiBodHRwczovL3d3dy5yZWRoYXQuY29tL21haWxtYW4vcHJpdmF0ZS90aWFub2NvcmUtY29kZS1y ZXZpZXctcG9jLzIwMjAtTWF5L21zZzAwMDE4Lmh0bWwNCiogaHR0cHM6Ly93d3cucmVkaGF0LmNv bS9tYWlsbWFuL3ByaXZhdGUvdGlhbm9jb3JlLWNvZGUtcmV2aWV3LXBvYy8yMDIwLU1heS9tc2cw MDAwOC5odG1sDQoNCiMjIEV4YW1wbGUgcGF0Y2ggc2VyaWVzIHdpdGggPiA4MCBwYXRjaGVzDQoN CiogaHR0cHM6Ly93d3cucmVkaGF0LmNvbS9tYWlsbWFuL3ByaXZhdGUvdGlhbm9jb3JlLWNvZGUt cmV2aWV3LXBvYy8yMDIwLU1heS9tc2cwMDE5OC5odG1sDQoqIGh0dHBzOi8vd3d3LnJlZGhhdC5j b20vbWFpbG1hbi9wcml2YXRlL3RpYW5vY29yZS1jb2RlLXJldmlldy1wb2MvMjAyMC1NYXkvbXNn MDAxMTYuaHRtbA0KKiBodHRwczovL3d3dy5yZWRoYXQuY29tL21haWxtYW4vcHJpdmF0ZS90aWFu b2NvcmUtY29kZS1yZXZpZXctcG9jLzIwMjAtTWF5L21zZzAwMDM1Lmh0bWwNCg0KIyBUYXNrcyB0 byBDb21wbGV0ZQ0KDQoqIENyZWF0ZSBlZGsyLWNvZGVyZXZpZXcgcmVwb3NpdG9yeSBmb3IgZXZh bHVhdGlvbiBvZiBuZXcgY29kZSByZXZpZXcgcHJvY2Vzcy4NCiogQWRkIEdpdEh1YiBJRHMgdG8g TWFpbnRhaW5lcnMudHh0IGluIGVkazItY29kZXJldmlldyByZXBvc2l0b3J5DQoqIFVwZGF0ZSBC YXNlVG9vbHMvU2NyaXB0cy9HZXRNYWludGFpbmVyLnB5IHRvIGJlIGNvbXBhdGlibGUgd2l0aCBH aXRIdWIgSURzIGF0DQogIHRoZSBlbmQgb2YgTTogYW5kIFI6IHN0YXRlbWVudHMNCiogVXBkYXRl IHdlYmhvb2sgdG8gdXNlIFJhYmJpdCBNUSB0byBtYW5hZ2UgcmVxdWVzdHMgYW5kIGVtYWlscw0K KiBEZXRlcm1pbmUgaWYgd2ViaG9vayByZXF1ZXN0cyBtdXN0IGJlIHNlcmlhbGl6ZWQ/ICBDdXJy ZW50IFBPQyBpcyBzZXJpYWxpemVkLg0KKiBNYWtlIHN1cmUgd2ViaG9vayBoYXMgZXJyb3IgaGFu ZGxpbmcgZm9yIGFsbCB1bmV4cGVjdGVkIGV2ZW50cy9zdGF0ZXMuDQoqIEFkZCBsb2dnaW5nIG9m IGFsbCBldmVudHMgYW5kIGVtYWlscyB0byB3ZWJob29rDQoqIEFkZCBhZG1pbiBpbnRlcmZhY2Ug dG8gd2ViaG9vaw0KKiBEZXBsb3kgd2ViaG9vayBvbiBhIHByb2R1Y3Rpb24gc2VydmVyIHdpdGgg MjQvNyBzdXBwb3J0DQoNCiMgSWRlYXMgZm9yIEZ1dHVyZSBFbmhhbmNlbWVudHMNCg0KKiBSdW4g UGF0Y2hDaGVjay5weSBiZWZvcmUgYXNzaWduaW5nIG1haW50YWluZXJzL3Jldmlld2Vycy4NCiog QWRkIGEgc2ltcGxlIGNoZWNrIHRoYXQgZmFpbHMgaWYgYSBzaW5nbGUgcGF0Y2ggc3BhbnMgbW9y ZSB0aGFuIG9uZSBwYWNrYWdlLg0KKiBNb25pdG9yIGNvbW1lbnRzIGZvciBSZXZpZXdlZC1ieSwg QWNrZWQtYnksIFRlc3RlZC1ieSwgU2VyaWVzLVJldmlld2VkLWJ5LA0KICBTZXJpZXMtQWNrZWQt YnksIFNlcmllcy1UZXN0ZWQtYnkgbWFkZSBieSBhc3NpZ25lZCBtYWludGFpbmVycy9yZXZpZXdl cnMuDQogIE9uY2UgYWxsIGNvbW1pdHMgaGF2ZSByZXF1aXJlZCB0YWdzLCBhdXRvIHVwZGF0ZSBj b21taXQgbWVzc2FnZXMgaW4gdGhlDQogIGJyYW5jaCBhbmQgd2FpdCBmb3IgbWFpbnRhaW5lciB0 byBzZXQgdGhlIGBQdXNoYCBsYWJlbCB0byBydW4gQ0kgYW5kIGF1dG8NCiAgbWVyZ2UgaWYgYWxs IENJIGNoZWNrcyBwYXNzLg0KDQpCZXN0IHJlZ2FyZHMsDQoNCk1pa2UNCg0KDQo=