From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web10.1688.1589218254681932619 for ; Mon, 11 May 2020 10:30:54 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=QMVHcmJw; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: KguOV7jXvTtV2jgINQOVM+0HHMk3aoaa9orWZFC8WDFQbGi39U6CyqNO9q7OagJwmRzmbpWsRz 4VZZtHIaRbvQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 May 2020 10:30:53 -0700 IronPort-SDR: JjtncL9Ogv5xrjHpG91JHtFWkNQ4XM9pjqF5iy9kJZAYN+ufzkWRZ1y92vnenwhgyOSSHUCCkH +HL5BuOc77Kw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,380,1583222400"; d="scan'208";a="251217380" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga007.fm.intel.com with ESMTP; 11 May 2020 10:30:54 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 11 May 2020 10:30:52 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) 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; Mon, 11 May 2020 10:30:52 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 11 May 2020 10:30:52 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 11 May 2020 10:30:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UAAt8JoT/JI079kpJdx+1m3aTbCwyFs8LZHamvrIbGcdj/0/zc/dqrW1CyyK3FbP04R/31P3Ximc9030CsDIsvNrzlvQaUvktGAy/vWPyqBd6xr7omr1aukcCcPH6pW9EjN4J4Dfqk0d6eXdLGXQBhvmB8ymcyo8ssTznrnNwWj5UorVpiwCGcmuUF7EFWrwKp3lVHH7+hmbaS5+y8Vbou8aFuOwH2tZPvA+5yF1UpmIkvJEOwcazSlCnFzWP455Mc5ylCOtZyyKRfhEFxWM19nilgDOHYtRqZwpqzzNyPWcQhbgewBk8eS50PQXcEu4S/rkQVPOVuBWc8JaegqX6Q== 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=mJFU/o6j47yn9FgSLQLjbys4mfmxDFwyqJpnu+xGN94=; b=m63VzSpTAWoOn0TKz1b10bN4HEy+VFVs11ixghtwo+zv3EQ4OvIZ0VdwGNI74HHNARs405nLcRsWg6hyB1MqnfkVTdxMcrpGCpnE064jXU44SMeAnWytddgOO/lXZ1iKcWc8q1G7jF6nPBCdfcYxAgoETgr+wgbJ34k7vyF11HoawstLhs2UIBr6W//V0fy2EGOT6wX0i5888thxmetN7CJAKTSN8VWT8wac/VGk+N+v7aYekpchBzRqGRgxyjRzkDcOowqW5MbycdqcWlHhBWk5JrhuHOyelftmDZYtMjdjAp9v4z34V2SekWdW7oF+I9gLXgThIk+RmLKRUXdvEA== 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=mJFU/o6j47yn9FgSLQLjbys4mfmxDFwyqJpnu+xGN94=; b=QMVHcmJwqbfIhqMfjvIZzTjZ8SSMut5e85gs7W7WrsfKvOxYmCS4VJMRIVWBmgBJVGykxMg4zwBDxRIiAbcmVGfZJCArnJJstyQ/QgccjxszPrvn4FJm/DwWfgf2NVozDeA3QAjnboWbxIMyxkk2CtKCAaqzJKyYPcZvkX3E+jA= Received: from MN2PR11MB4461.namprd11.prod.outlook.com (2603:10b6:208:192::29) by MN2PR11MB3983.namprd11.prod.outlook.com (2603:10b6:208:137::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.34; Mon, 11 May 2020 17:30:38 +0000 Received: from MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1]) by MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1%3]) with mapi id 15.20.2979.033; Mon, 11 May 2020 17:30:38 +0000 From: "Michael D Kinney" To: "Ni, Ray" , "rfc@edk2.groups.io" , "devel@edk2.groups.io" , "Laszlo Ersek (lersek@redhat.com)" , "Kinney, Michael D" Subject: Re: [edk2-rfc] GitHub Pull Request based Code Review Process Thread-Topic: [edk2-rfc] GitHub Pull Request based Code Review Process Thread-Index: AdYlrbT8bFM60bvPQMeeqo8QbNJ7HwABQPHgAIGygpA= Date: Mon, 11 May 2020 17:30:37 +0000 Message-ID: References: <734D49CCEBEEF84792F5B80ED585239D5C530C37@SHSMSX104.ccr.corp.intel.com> In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5C530C37@SHSMSX104.ccr.corp.intel.com> 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: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [24.19.191.44] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8e8c57c0-36fa-4655-4dde-08d7f5d10548 x-ms-traffictypediagnostic: MN2PR11MB3983: 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:8882; x-forefront-prvs: 04004D94E2 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ECaKyhkAWBL3Q8fHq5GA6zn41Da2iIAhKXIHhEM0e92mskbg3m6e1YNcmsE/kmvLURn+0mYMtWyxNZaMfOJYxJAeNRBhEVoW0dDEcQYmD/377BpRFTHcskVj6BPnmtbVHfc+1mQ/e/iVMj9FYtSjXGv/g0PMVxKW/3IjdKvHdO+3Q44sTxvnwusbxqKk6fZUMoq1bETmAIfuZRLILE7IHGEpgflENgC7d5uKIYOY7jeK8V5EgQJn2/jrl1P6xfCM2TLmQTTX1zsdVQSN77QsEvQWGcOz3L4fj0PVYQgGkY5S6FxihAU0Yc3MhcAss/vx2oO1tbKxQcnT/4IgqD07E8bXzjsVp1d8hg7T62hGJD16RjTl4qk9D2C27tePf7sFMHERIf0vlKoLnumJFlX304xFALVZCPo5GFYPVBJDOzaGQMhfpusJLRnNB+skElSLFKNNfLw54U+XfcQTEtEyGxDY8YqAWfvYSkaekp1VRkvaoZevI7YNAwDacel1MqZ0geNQjjjXPCn9yaNELVCEmbKQOciDYpPjkEYLvr6f3QduI7DSss5Jc+9gVC60150NIdD/DNB9oTd0Ggyj+JT6QCT76CV1y0PryBQdSJUKAjw= 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:(136003)(39860400002)(366004)(376002)(346002)(396003)(33430700001)(33440700001)(5660300002)(66446008)(66556008)(478600001)(64756008)(66946007)(76116006)(8676002)(66476007)(33656002)(26005)(2906002)(186003)(86362001)(7696005)(53546011)(9686003)(71200400001)(966005)(6506007)(55016002)(316002)(45080400002)(30864003)(8936002)(52536014)(110136005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: 4r+yh6mW1UQSi/VUMbYc2gYRbXsxD2Cfs3JG374lIKFsH5Hsh030YiPsgTNbN9zB2DPJkBV50cGTfnhQRF04OFAh9HUXAS4FlFqsxV9OR3Km+GLM9re89BFdKEx2AvDlmd6syOGHWzPDo9FwIJ04MyTV9rQC+fbOga3n9TWrcrkddla7lOX8S2XD3cWpGTSzD40/4wLNabpLd5MWvl73mgfJORwXfSDuQd1b45E8XE+Yi+WwQSgYyqji5kA77LgsPuW9Pkm90tPHCWiTesdT9im2NdyU/O/Zu7lGlIVpkRZKpIPUuynujp9xpPG+Lj3i21/AB7mtaASTP7xVYiz5TYJJrTVcgN2+wOr3FXPAJBq+u8ErYCOn2hBuaJbYiFf4EMyyqmMTdpLXL2F2jIBf1uoVPkbrX3KFOyiRieoNt243SJK8uuX8XCoPe3rBUKTkicLYKaJsyzhG3eVynpoof5RPs8djAGPWYdBDUKlKLY8= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 8e8c57c0-36fa-4655-4dde-08d7f5d10548 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 May 2020 17:30:37.9980 (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: DEk3T8kfM8fu7XAluCEhP06//+dscBMoJz8w2wuJlWc7Bk2kSySjsmm/icPuIG3ad0MTBECJmN3LKBB6s8PHLbxvVOwbOYGVWlDy1C99feQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3983 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 SGkgUmF5LA0KDQpDb21tZW50cyBiZWxvdy4NCg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+IEZyb206IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+DQo+IFNlbnQ6IEZy aWRheSwgTWF5IDgsIDIwMjAgOToyMyBQTQ0KPiBUbzogcmZjQGVkazIuZ3JvdXBzLmlvOyBLaW5u ZXksIE1pY2hhZWwgRA0KPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBkZXZlbEBlZGsy Lmdyb3Vwcy5pbw0KPiBTdWJqZWN0OiBSRTogW2VkazItcmZjXSBHaXRIdWIgUHVsbCBSZXF1ZXN0 IGJhc2VkIENvZGUNCj4gUmV2aWV3IFByb2Nlc3MNCj4gDQo+IE1pa2UsDQo+IEl0J3MgYSBodWdl IGltcHJvdmVtZW50IHRvIG1lIGFzIGFuIE91dGxvb2sgdXNlciBpZg0KPiBwdWxsLXJlcXVlc3Qt YmFzZWQgcmV2aWV3IGlzIGVuYWJsZWQhDQo+IA0KPiBQbGVhc2UgaGVscCBtZSB0byB1bmRlcnN0 YW5kOiBUaGUgcHVsbC1yZXF1ZXN0LWJhc2VkDQo+IHJldmlldyBoYXMgYmVlbiBlbmFibGVkIG5h dHVyYWxseSB3aGVuIGVkazINCj4gd2FzIG1pZ3JhdGVkIHRvIEdpdGh1Yi4gUGVvcGxlIGRvbid0 IHVzZSBpdCBiZWNhdXNlDQo+IGl0J3Mgbm90IGFjY2VwdGVkIGJ5IGNvbW11bml0eS4gWW91ciBw cm9jZXNzDQo+IHRyaWVzIHRvIG1lZXQgY29tbXVuaXR5J3MgbmVlZHMgb2YgYWNoaWV2aW5nIGFs bCByZXZpZXcNCj4gY29tbWVudHMgaW4gbWFpbHMgc28gcHVsbC1yZXF1ZXN0LWJhc2VkDQo+IHJl dmlldyBjYW4gYmUgYWNjZXB0ZWQgYnkgY29tbXVuaXR5LiBSaWdodD8NCg0KWWVzLg0KDQo+IA0K PiBJIGp1c3Qgc3Vic2NyaWJlZCBhdA0KPiBodHRwczovL3d3dy5yZWRoYXQuY29tL21haWxtYW4v bGlzdGluZm8vdGlhbm9jb3JlLWNvZGUtDQo+IHJldmlldy1wb2Mgd2l0aA0KPiBlbXB0eSBwYXNz d29yZC4NCj4gSSByZWNlaXZlZCB0aGUgY29uZmlybWF0aW9uIG1haWwgYW5kIGNsaWNrZWQgdGhl IGxpbmsNCj4gaW4gdGhlIG1haWwgdG8gY29uZmlybS4NCj4gQnV0IEkgd2FpdGVkIGZvciB+MTUg bWludXRlcyBhbmQgZGlkbid0IHJlY2VpdmUgdGhlDQo+IGFkZGl0aW9uYWwgbWFpbCBjb250YWlu aW5nIHRoZSBhdXRvLWdlbmVyYXRlZCBwYXNzd29yZC4NCj4gSSB3ZW50IHRvDQo+IGh0dHBzOi8v d3d3LnJlZGhhdC5jb20vbWFpbG1hbi9wcml2YXRlL3RpYW5vY29yZS1jb2RlLQ0KPiByZXZpZXct cG9jLzIwMjAtTWF5L3RocmVhZC5odG1sIzAwMjg5Lg0KPiBIb3dldmVyLCB0aGUgcGFnZSByZXF1 aXJlcyBtZSB0byBlbnRlciBwYXNzd29yZC4NCj4gQ2FuIHlvdSBwbGVhc2UgY2hhbmdlIHRoZSBz ZXR0aW5nIHNvIHRoYXQgdmlld2luZyB0aGUNCj4gbWFpbCBhY2hpZXZlIGRvZXNuJ3QgbmVlZCBw YXNzd29yZD8NCg0KTGFzemxvIGhhcyBncmFjaW91c2x5IHZvbHVudGVlcmVkIHRvIGhlbHAgc2V0 dXAgdGhpcyBlbWFpbA0Kc3Vic2NyaXB0aW9uIHNlcnZpY2UgdG8gaGVscCBldmFsdWF0ZSB0aGUg UE9DLiAgSSB3aWxsIGxldCANCmhpbSBjb21tZW50IG9uIHRoZSBzZXR0aW5ncyBhdmFpbGFibGUu ICBIZSBzaG91bGQgYWxzbyBiZQ0KYWJsZSB0byBhcHByb3ZlIHlvdXIgc3Vic2NyaXB0aW9uIHNv IHlvdSBjYW4gc2VlIHRoZSBhcmNoaXZlDQphbmQgcmVjZWl2ZSBhbnkgZW1haWxzIGdlbmVyYXRl ZCBieSB0aGUgd2ViaG9vay4NCg0KPiANCj4gUGxlYXNlIGFkdmlzZSBtZSB3aGF0IGVsc2UgSSBj YW4gdHJ5LiBJIGFtIGhhcHB5IHRvIHRyeQ0KPiBhcyBtYW55IHN0ZXBzIGFzIEkgY2FuIGJlZm9y ZSBhbGwgdGhlIHByb2Nlc3MgYXJlDQo+IGVuYWJsZWQuDQo+IA0KPiBUaGFua3MsDQo+IFJheQ0K PiANCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiByZmNAZWRr Mi5ncm91cHMuaW8gPHJmY0BlZGsyLmdyb3Vwcy5pbz4gT24NCj4gQmVoYWxmIE9mIE1pY2hhZWwg RCBLaW5uZXkNCj4gPiBTZW50OiBTYXR1cmRheSwgTWF5IDksIDIwMjAgMTE6MDAgQU0NCj4gPiBU bzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IHJmY0BlZGsyLmdyb3Vwcy5pbzsgS2lubmV5LA0KPiBN aWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFtlZGsy LXJmY10gR2l0SHViIFB1bGwgUmVxdWVzdCBiYXNlZCBDb2RlDQo+IFJldmlldyBQcm9jZXNzDQo+ ID4NCj4gPiBIZWxsbywNCj4gPg0KPiA+IFRoaXMgaXMgYSBwcm9wb3NhbCB0byBjaGFuZ2UgZnJv bSB0aGUgY3VycmVudCBlbWFpbC0NCj4gYmFzZWQgY29kZSByZXZpZXcgcHJvY2VzcyB0bw0KPiA+ IGEgR2l0SHViIHB1bGwgcmVxdWVzdC1iYXNlZCBjb2RlIHJldmlldyBwcm9jZXNzIGZvcg0KPiBh bGwgcmVwb3NpdG9yaWVzIG1haW50YWluZWQNCj4gPiBpbiBUaWFub0NvcmUuICBUaGUgY3VycmVu dCBlbWFpbC1iYXNlZCBjb2RlIHJldmlldw0KPiBwcm9jZXNzIGFuZCBjb21taXQgbWVzc2FnZQ0K PiA+IHJlcXVpcmVtZW50cyBhcmUgZG9jdW1lbnRlZCBpbiBSZWFkbWUubWQgb3INCj4gUmVhZG1l LnJzdCBhdCB0aGUgcm9vdCBvZg0KPiA+IHJlcG9zaXRvcmllcyBhbG9uZyB3aXRoIGEgZmV3IFdp a2kgcGFnZXM6DQo+ID4NCj4gPiAqDQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRr Mi9ibG9iL21hc3Rlci9SZWFkTWUucnMNCj4gdA0KPiA+ICoNCj4gaHR0cHM6Ly9naXRodWIuY29t L3RpYW5vY29yZS90aWFub2NvcmUuZ2l0aHViLmlvL3dpa2kvRQ0KPiBESy1JSS1EZXZlbG9wbWVu dC1Qcm9jZXNzDQo+ID4gKg0KPiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL3RpYW5vY29y ZS5naXRodWIuaW8vd2lraS9MDQo+IGFzemxvJ3MtdW5rZW1wdC1naXQtZ3VpZGUtZm9yLWVkazIt Y29udHJpYnV0b3JzLWFuZC0NCj4gbWFpbnRhaW5lcnMNCj4gPiAqDQo+IGh0dHBzOi8vZ2l0aHVi LmNvbS90aWFub2NvcmUvdGlhbm9jb3JlLmdpdGh1Yi5pby93aWtpL0MNCj4gb21taXQtTWVzc2Fn ZS1Gb3JtYXQNCj4gPiAqDQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvdGlhbm9jb3Jl LmdpdGh1Yi5pby93aWtpL0MNCj4gb21taXQtU2lnbmF0dXJlLUZvcm1hdA0KPiA+DQo+ID4gVGhl IGdvYWwgaXMgdG8gcG9zdCBjaGFuZ2VzIGJ5IG9wZW5pbmcgYSBHaXRIdWIgcHVsbA0KPiByZXF1 ZXN0IGFuZCBwZXJmb3JtIGFsbA0KPiA+IGNvZGUgcmV2aWV3IGFjdGl2aXR5IHVzaW5nIHRoZSBH aXRIdWIgd2ViIGludGVyZmFjZS4NCj4gVGhpcyBwcm9wb3NhbCBkb2VzIG5vdA0KPiA+IGNoYW5n ZSBhbnkgbGljZW5zZXMgb3IgY29tbWl0IG1lc3NhZ2UgcmVxdWlyZW1lbnRzLg0KPiBJdCBkb2Vz IHJlcXVpcmUgYWxsDQo+ID4gZGV2ZWxvcGVycywgbWFpbnRhaW5lcnMsIGFuZCByZXZpZXdlcnMg dG8gaGF2ZSBHaXRIdWINCj4gYWNjb3VudHMuDQo+ID4NCj4gPiBPbmUgcmVxdWlyZW1lbnQgdGhh dCB3YXMgY29sbGVjdGVkIGZyb20gcHJldmlvdXMNCj4gZGlzY3Vzc2lvbnMgb24gdGhpcyB0b3Bp YyBpcw0KPiA+IHRoZSBuZWVkIGZvciBhbiBlbWFpbCBhcmNoaXZlIG9mIGFsbCBwYXRjaGVzIGFu ZCBjb2RlDQo+IHJldmlldyBhY3Rpdml0aWVzLiAgVGhlDQo+ID4gZXhpc3RpbmcgR2l0SHViIGZl YXR1cmVzIHRvIHByb2R1Y2UgYW4gZW1haWwgYXJjaGl2ZQ0KPiB3ZXJlIGRlZW1lZCBpbnN1ZmZp Y2llbnQuDQo+ID4gQSBwcm9vZiBvZiBjb25jZXB0IG9mIGEgR2l0SHViIHdlYmhvb2sgaGFzIGJl ZW4NCj4gaW1wbGVtZW50ZWQgdG8gcHJvdmlkZSB0aGUgZW1haWwNCj4gPiBhcmNoaXZlIHNlcnZp Y2UuICBUaGlzIGVtYWlsIGFyY2hpdmUgaXMgcmVhZC1vbmx5Lg0KPiBZb3Ugd2lsbCBub3QgYmUg YWJsZSB0byBzZW5kDQo+ID4gZW1haWxzIHRvIHRoaXMgYXJjaGl2ZSBvciByZXBseSB0byBlbWFp bHMgaW4gdGhlDQo+IGFyY2hpdmUuDQo+ID4NCj4gPiBUaGUgc2VjdGlvbnMgYmVsb3cgcHJvdmlk ZSBtb3JlIGRldGFpbHMgb24gdGhlDQo+IHByb3Bvc2VkIEdpdEh1YiBwdWxsIHJlcXVlc3QNCj4g PiBiYXNlZCBjb2RlIHJldmlldyBwcm9jZXNzLCBkZXRhaWxzIG9uIHRoZSBlbWFpbA0KPiBhcmNo aXZlIHNlcnZpY2UsIGFuZCBhIHNldCBvZg0KPiA+IHJlbWFpbmluZyB0YXNrcyBtYWtlIHRoZSBl bWFpbCBhcmNoaXZlIHNlcnZpY2UNCj4gcHJvZHVjdGlvbiBxdWFsaXR5LiAgSXQgZG9lcyBub3QN Cj4gPiBtYWtlIHNlbnNlIHRvIHN1cHBvcnQgYm90aCB0aGUgZXhpc3RpbmcgZW1haWwtYmFzZWQN Cj4gY29kZSByZXZpZXcgYW5kIHRoZSBHaXRIdWINCj4gPiBwdWxsIHJlcXVlc3QtYmFzZWQgY29k ZSByZXZpZXcgYXQgdGhlIHNhbWUgdGltZS4NCj4gSW5zdGVhZCwgdGhpcyBwcm9wb3NhbCBpcyB0 bw0KPiA+IHN3aXRjaCB0byB0aGUgR2l0SHViIHB1bGwgcmVxdWVzdC1iYXNlZCBjb2RlIHJldmll dw0KPiBhbmQgcmV0aXJlIHRoZSBlbWFpbCBiYXNlZA0KPiA+IGNvZGUgcmV2aWV3IHByb2Nlc3Mg b24gdGhlIHNhbWUgZGF0ZS4NCj4gPg0KPiA+IFRoZSBlZGsyIHJlcG9zaXRvcnkgaXMgdXNpbmcg R2l0SHViIHB1bGwgcmVxdWVzdHMNCj4gdG9kYXkgdG8gcnVuIGF1dG9tYXRlZA0KPiA+IENJIGNo ZWNrcyBvbiB0aGUgY29kZSBjaGFuZ2VzIGFuZCBhbGxvd3MgYSBtYWludGFpbmVyDQo+IHRvIHNl dCB0aGUgYHB1c2hgIGxhYmVsIHRvDQo+ID4gcmVxdWVzdCB0aGUgY2hhbmdlcyB0byBiZSBtZXJn ZWQgaWYgYWxsIENJIGNoZWNrcw0KPiBwYXNzLiAgV2l0aCB0aGlzIHByb3Bvc2FsLA0KPiA+IG9u Y2UgdGhlIGNvZGUgcmV2aWV3IGlzIGNvbXBsZXRlIGFuZCB0aGUgY29tbWl0DQo+IG1lc3NhZ2Vz IGhhdmUgYmVlbiB1cGRhdGVkLCB0aGUNCj4gPiBzYW1lIHB1bGwgcmVxdWVzdCBjYW4gYmUgdXNl ZCB0byBwZXJmb3JtIGEgZmluYWwgc2V0DQo+IG9mIENJIGNoZWNrcyBhbmQgbWVyZ2UgdGhlDQo+ ID4gY2hhbmdlcyBpbnRvIHRoZSBtYXN0ZXIgYnJhbmNoLg0KPiA+DQo+ID4gSSB3b3VsZCBsaWtl IHRvIGNvbGxlY3QgZmVlZGJhY2sgb24gdGhpcyBwcm9wb3NhbCBhbmQNCj4gdGhlIGVtYWlsIGFy Y2hpdmUgc2VydmljZQ0KPiA+IG92ZXIgdGhlIG5leHQgdHdvIHdlZWtzIHdpdGggY2xvc2Ugb2Yg Y29tbWVudHMgb24NCj4gRnJpZGF5IE1heSAyMiwgMjAyMC4gIElmIGFsbA0KPiA+IGlzc3VlcyBh bmQgY29uY2VybnMgY2FuIGJlIGFkZHJlc3NlZCwgdGhlbiBJIHdvdWxkDQo+IGxpa2UgdG8gc2Vl IHRoZSBjb21tdW5pdHkNCj4gPiBhZ3JlZSB0byBtYWtlIHRoaXMgY2hhbmdlIGFzIHNvb24gYXMg YWxsIHJlbWFpbmluZw0KPiB0YXNrcyBhcmUgY29tcGxldGVkLg0KPiA+DQo+ID4gIyBUaWFub0Nv cmUgUmVwb3NpdG9yaWVzIHRvIGVuYWJsZQ0KPiA+DQo+ID4gKiBbZWRrMl0oaHR0cHM6Ly9naXRo dWIuY29tL3RpYW5vY29yZS9lZGsyKQ0KPiA+ICogW2VkazItcGxhdGZvcm1zXShodHRwczovL2dp dGh1Yi5jb20vdGlhbm9jb3JlL2VkazItDQo+IHBsYXRmb3JtcykNCj4gPiAqIFtlZGsyLW5vbi1v c2ldKGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi0NCj4gbm9uLW9zaSkNCj4gPiAq IFtlZGsyLXRlc3RdKGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi10ZXN0KQ0KPiA+ ICogW2VkazItbGliY10oaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyLWxpYmMpDQo+ ID4gKiBbZWRrMi1zdGFnaW5nXShodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazItDQo+ IHN0YWdpbmcpDQo+ID4NCj4gPiAjIEdpdEh1YiBQdWxsIFJlcXVlc3QgQ29kZSBSZXZpZXcgUHJv Y2Vzcw0KPiA+DQo+ID4gKipOT1RFKio6IEFsbCBzdGVwcyBiZWxvdyB1c2UNCj4gW2VkazJdKGh0 dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMikgYXMgYW4NCj4gPiBleGFtcGxlLiAgU2V2 ZXJhbCByZXBvc2l0b3JpZXMgYXJlIHN1cHBvcnRlZC4NCj4gPg0KPiA+ICMjIEF1dGhvci9EZXZl bG9wZXIgU3RlcHMNCj4gPiAgICogQ3JlYXRlIGEgcGVyc29uYWwgZm9yayBvZg0KPiBbZWRrMl0o aHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyKQ0KPiA+DQo+ID4gICAgIGh0dHBzOi8v aGVscC5naXRodWIuY29tL2VuL2dpdGh1Yi9nZXR0aW5nLQ0KPiBzdGFydGVkLXdpdGgtZ2l0aHVi L2ZvcmstYS1yZXBvDQo+ID4NCj4gPiAgICogQ3JlYXRlIGEgbmV3IGJyYW5jaCBmcm9tIGVkazIv bWFzdGVyIGluIHBlcnNvbmFsDQo+IGZvcmsgb2YgZWRrMiByZXBvc2l0b3J5Lg0KPiA+DQo+ID4g ICAqIEFkZCBzZXQgb2YgY29tbWl0cyBmb3IgbmV3IGZlYXR1cmUgb3IgYnVnIGZpeCB0bw0KPiBu ZXcgYnJhbmNoLiAgTWFrZSBzdXJlIHRvDQo+ID4gICAgIGZvbGxvdyB0aGUgY29tbWl0IG1lc3Nh Z2UgZm9ybWF0IHJlcXVpcmVtZW50cy4NCj4gVGhlIG9ubHkgY2hhbmdlIHdpdGggdGhpcw0KPiA+ ICAgICBSRkMgaXMgdGhhdCB0aGUgQ2M6IGxpbmVzIHRvDQo+IG1haW50YWluZXJzL3Jldmlld2Vy cyBzaG91bGQgKipub3QqKiBiZSBhZGRlZC4NCj4gPiAgICAgVGhlIENjOiBsaW5lcyBhcmUgc3Rp bGwgc3VwcG9ydGVkLCBidXQgdGhleQ0KPiBzaG91bGQgb25seSBiZSB1c2VkIHRvIGFkZA0KPiA+ ICAgICByZXZpZXdlcnMgdGhhdCBkbyBub3QgaGF2ZSBHaXRIdWIgSURzIG9yIGFyZSBub3QNCj4g bWVtYmVycyBvZiBUaWFub0NvcmUuDQo+ID4NCj4gPiAgICogUHVzaCBicmFuY2ggd2l0aCBuZXcg Y29tbWl0cyB0byBwZXJzb25hbCBmb3JrDQo+ID4gICAqIENyZWF0ZSBhIHB1bGwgcmVxdWVzdCBh Z2FpbnN0IFRpYW5vQ29yZQ0KPiBlZGsyL21hc3Rlcg0KPiA+DQo+ID4gICAgIGh0dHBzOi8vaGVs cC5naXRodWIuY29tL2VuL2dpdGh1Yi9jb2xsYWJvcmF0aW5nLQ0KPiB3aXRoLWlzc3Vlcy1hbmQt cHVsbC1yZXF1ZXN0cy9jcmVhdGluZy1hLXB1bGwtcmVxdWVzdA0KPiA+DQo+ID4gICAqIElmIHB1 bGwgcmVxdWVzdCBoYXMgbW9yZSB0aGFuIDEgY29tbWl0LCB0aGVuIGZpbGwNCj4gaW4gdGhlIHB1 bGwgcmVxdWVzdCB0aXRsZQ0KPiA+ICAgICBhbmQgZGVjcnlwdGlvbiBpbmZvcm1hdGlvbiBmb3Ig UGF0Y2ggIzAuICBEbyBub3QNCj4gbGVhdmUgZGVmYXVsdHMuDQo+ID4NCj4gPiAgICogRG8gbm90 IGFzc2lnbiByZXZpZXdlcnMuICBUaGUgd2ViaG9vayBhc3NpZ25zDQo+IG1haW50YWluZXJzIGFu ZCByZXZpZXdlcnMgdG8NCj4gPiAgICAgdGhlIHB1bGwgcmVxdWVzdCBhbmQgZWFjaCBjb21taXQg aW4gdGhlIHB1bGwNCj4gcmVxdWVzdC4NCj4gPg0KPiA+ICAgKiBJZiBtYWludGFpbmVycy9yZXZp ZXdlcnMgcHJvdmlkZSBmZWVkYmFjayB0aGF0DQo+IHJlcXVpcmVzIGNoYW5nZXMsIHRoZW4gbWFr ZQ0KPiA+ICAgICBhZGQgY29tbWl0cyB0byB0aGUgY3VycmVudCBicmFuY2ggd2l0aCB0aGUNCj4g cmVxdWVzdGVkIGNoYW5nZXMuICBPbmNlIGFsbA0KPiA+ICAgICBjaGFuZ2VzIGFyZSBhY2NlcHRl ZCBvbiB0aGUgY3VycmVudCBicmFuY2gsDQo+IHJlZm9ybXVsYXRlIHRoZSBwYXRjaCBzZXJpZXMg YW5kDQo+ID4gICAgIGNvbW1pdCBjb21tZW50cyBhcyBuZWVkZWQgZm9yIHBlcmZvcm0gYSBmb3Jj ZWQNCj4gcHVzaCB0byB0aGUgYnJhbmNoIGluIHRoZQ0KPiA+ICAgICBwZXJzb25hbCBmb3JrIG9m IHRoZSBlZGsyIHJlcG9zaXRvcnkuICBUaGlzIHN0ZXANCj4gbWF5IGJlIHJlcGVhdGVkIGlmIG11 bHRpcGxlDQo+ID4gICAgIHZlcnNpb25zIG9mIHRoZSBwYXRjaCBzZXJpZXMgYXJlIHJlcXVpcmVk IHRvDQo+IGFkZHJlc3MgYWxsIGNvZGUgcmV2aWV3DQo+ID4gICAgIGZlZWRiYWNrLg0KPiA+DQo+ ID4gICAqKk9QRU4qKjogSG93IHNob3VsZCBtaW5pbXVtIHJldmlldyBwZXJpb2QgYmUgc2V0Pw0K PiBMYWJlbHM/DQo+ID4NCj4gPiAjIyBUaWFub0NvcmUgR2l0SHViIEVtYWlsIEFyY2hpdmUgV2Vi aG9vayBTZXJ2aWNlDQo+IFN0ZXBzDQo+ID4gICAqIFJlY2VpdmUgYW4gZXZlbnQgdGhhdCBhIG5l dyBwdWxsIHJlcXVlc3Qgd2FzDQo+IG9wZW5lZA0KPiA+ICAgKiBFdmFsdWF0ZSB0aGUgZmlsZXMg bW9kaWZpZWQgYnkgdGhlIGVudGlyZSBwdWxsDQo+IHJlcXVlc3QgYW5kIGVhY2ggY29tbWl0IGlu DQo+ID4gICAgIHRoZSBwdWxsIHJlcXVlc3QgYW5kIGNyb3NzIHJlZmVyZW5jZXMgYWdhaW5zdA0K PiBgTWFpbnRhaW50ZXJzLnR4dGAgaW4gdGhlIHJvb3QNCj4gPiAgICAgb2YgdGhlIHJlcG9zaXRv cnkgdG8gYXNzaWduIG1haW50YWluZXJzL3Jldmlld2Vycw0KPiB0byB0aGUgcHVsbCByZXF1ZXN0 IGFuZA0KPiA+ICAgICBlYWNoIGNvbW1pdCBpbiB0aGUgcHVsbCByZXF1ZXN0LiBJbmRpdmlkdWFs DQo+IGNvbW1pdCBhc3NpZ25tZW50cyBhcmUgcGVyZm9ybWVkDQo+ID4gICAgIGJ5IGFkZGluZyBh IGNvbW1pdCBjb21tZW50IG9mIHRoZSBmb2xsb3dpbmcgZm9ybToNCj4gPg0KPiA+ICAgICBbQ29k ZVJldmlld10gUmV2aWV3LXJlcXVlc3QgQG1ka2lubmV5DQo+ID4NCj4gPiAgICogR2VuZXJhdGUg YW5kIHNlbmRzIGdpdCBwYXRjaCByZXZpZXcgZW1haWxzIHRvIHRoZQ0KPiBlbWFpbCBhcmNoaXZl LiAgRW1haWxzDQo+ID4gICAgIGFyZSBhbHNvIHNlbnQgdG8gYW55IENjOiB0YWdzIGluIHRoZSBj b21taXQNCj4gbWVzc2FnZXMuDQo+ID4NCj4gPiAgICogSWYgdGhlIGF1dGhvci9kZXZlbG9wZXIg cGVyZm9ybXMgYSBmb3JjZWQgcHVzaCB0bw0KPiB0aGUgYnJhbmNoIGluIHRoZWlyDQo+ID4gICAg IHBlcnNvbmFsIGZvcmsgb2YgdGhlIGVkazIgcmVwb3NpdG9yeSwgdGhlbiBhIG5ldw0KPiBzZXQg b2YgcGF0Y2ggcmV2aWV3IGVtYWlscw0KPiA+ICAgICB3aXRoIHBhdGNoIHNlcmllcyBWeCBpcyBz ZW50IHRvIHRoZSBlbWFpbCBhcmNoaXZlDQo+IGFuZCBhbnkgQ2M6IHRhZ3MgaW4gY29tbWl0DQo+ ID4gICAgIG1lc3NhZ2VzLg0KPiA+DQo+ID4gICAqIFJlY2VpdmUgZXZlbnRzIGFzc29jaWF0ZWQg d2l0aCBhbGwgY29kZSByZXZpZXcNCj4gYWN0aXZpdGllcyBhbmQgZ2VuZXJhdGUNCj4gPiAgICAg YW5kIHNlbmQgZW1haWxzIHRvIHRoZSBlbWFpbCBhcmNoaXZlIHRoYXQgc2hvd3MNCj4gYWxsIHJl dmlldyBjb21tZW50cyBhbmQNCj4gPiAgICAgYWxsIHJlc3BvbnNlcyBjbG9zZWx5IG1hdGNoaW5n IHRoZSBlbWFpbCBjb250ZW50cw0KPiBzZWVuIGluIHRoZSBjdXJyZW50IGVtYWlsDQo+ID4gICAg IGJhc2VkIGNvZGUgcmV2aWV3IHByb2Nlc3MuDQo+ID4NCj4gPiAgICogR2VuZXJhdGUgYW5kIHNl bmQgZW1haWwgd2hlbiBwdWxsIHJlcXVlc3QgaXMNCj4gbWVyZ2VkIG9yIGNsb3NlZC4NCj4gPg0K PiA+ICMjIE1haW50YWluZXIvUmV2aWV3ZXIgU3RlcHMNCj4gPg0KPiA+ICAgKiBNYWtlIHN1cmUg R2l0SHViIGNvbmZpZ3VyYXRpb24gaXMgc2V0dXAgdG8NCj4gJ1dhdGNoJyB0aGUgcmVwb3NpdG9y aWVzIHRoYXQNCj4gPiAgICAgeW91IGhhdmUgbWFpbnRhaW5lciBzaGlwIG9yIHJldmlldw0KPiBy ZXNwb25zaWJpbGl0aWVzIGFuZCB0aGF0IGVtYWlsDQo+ID4gICAgIG5vdGlmaWNhdGlvbnMgZnJv bSBHaXRIdWIgYXJlIGVuYWJsZWQuICBUaGlzDQo+IGVuYWJsZXMgZW1haWwgbm90aWZpY2F0aW9u cw0KPiA+ICAgICB3aGVuIGEgbWFpbnRhaW5lci9yZXZpZXdlciBpcyBhc3NpZ25lZCB0byBhIHB1 bGwNCj4gcmVxdWVzdCBhbmQgaW5kaXZpZHVhbA0KPiA+ICAgICBjb21taXRzLg0KPiA+DQo+ID4g ICAgIGh0dHBzOi8vaGVscC5naXRodWIuY29tL2VuL2dpdGh1Yi9tYW5hZ2luZy0NCj4gc3Vic2Ny aXB0aW9ucy1hbmQtbm90aWZpY2F0aW9ucy1vbi1naXRodWIvY29uZmlndXJpbmctDQo+IG5vdGlm aWNhdGlvbnMNCj4gPg0KPiA+ICAgKiBTdWJzY3JpYmUgdG8gdGhlIGVtYWlsIGFyY2hpdmUgYXNz b2NpYXRlZCB3aXRoDQo+IHRoZSBUaWFub0NvcmUgR2l0SHViIEVtYWlsDQo+ID4gICAgIEFyY2hp dmUgV2ViaG9vayBTZXJ2aWNlLg0KPiA+DQo+ID4NCj4gaHR0cHM6Ly93d3cucmVkaGF0LmNvbS9t YWlsbWFuL2xpc3RpbmZvL3RpYW5vY29yZS1jb2RlLQ0KPiByZXZpZXctcG9jDQo+ID4NCj4gPiAg ICogUmV2aWV3IHB1bGwgcmVxdWVzdHMgYW5kIGNvbW1pdHMgYXNzaWduZWQgYnkgdGhlDQo+IFRp YW5vQ29yZSBHaXRIdWIgRW1haWwNCj4gPiAgICAgQXJjaGl2ZSBXZWJob29rIFNlcnZpY2UgYW5k IHVzZSB0aGUgR2l0SHViIHdlYiBVSQ0KPiB0byBwcm92aWRlIGFsbCByZXZpZXcNCj4gPiAgICAg ZmVlZGJhY2suDQo+ID4NCj4gPiAgICAgaHR0cHM6Ly9oZWxwLmdpdGh1Yi5jb20vZW4vZ2l0aHVi L2NvbGxhYm9yYXRpbmctDQo+IHdpdGgtaXNzdWVzLWFuZC1wdWxsLXJlcXVlc3RzL3Jldmlld2lu Zy1jaGFuZ2VzLWluLQ0KPiBwdWxsLXJlcXVlc3RzDQo+ID4NCj4gPiAgICogV2FpdCBmb3IgQXV0 aG9yL0RldmVsb3BlciB0byByZXNwb25kIHRvIGFsbA0KPiBmZWVkYmFjayBhbmQgYWRkIGNvbW1p dHMgd2l0aA0KPiA+ICAgICBjb2RlIGNoYW5nZXMgYXMgbmVlZGVkIHRvIHJlc29sdmUgYWxsIGZl ZWRiYWNrLg0KPiBUaGlzIHN0ZXAgbWF5IGJlIHJlcGVhdGVkDQo+ID4gICAgIGlmIHRoZSBkZXZl bG9wZXIvYXV0aG9yIG5lZWQgdG8gcHJvZHVjZSBtdWx0aXBsZQ0KPiB2ZXJzaW9ucyBvZiB0aGUg cGF0Y2gNCj4gPiAgICAgc2VyaWVzIHRvIGFkZHJlc3MgYWxsIGZlZWRiYWNrLg0KPiA+DQo+ID4g ICAqIE9uY2UgYWxsIGZlZWRiYWNrIGlzIGFkZHJlc3NlZCwgYWRkIFJldmlld2VkLWJ5LA0KPiBB Y2tlZC1ieSwgYW5kIFRlc3RlZC1ieQ0KPiA+ICAgICByZXNwb25zZXMgb24gaW5kaXZpZHVhbCBj b21taXRzLiAgT3IgYWRkIFNlcmllcy0NCj4gcmV2aWV3ZWQtYnksIFNlcmllcy1hY2tlZC1ieSwN Cj4gPiAgICAgb3IgU2VyaWVzLVRlc3RlZC1ieSByZXNwb25zZXMgdG8gdGhlIGVudGlyZSBwdWxs DQo+IHJlcXVlc3QuDQo+ID4NCj4gPiAgICogV2FpdCBmb3IgRGV2ZWxvcGVyL0F1dGhvciB0byBh ZGQgdGFncyB0byBjb21taXQNCj4gbWVzc2FnZXMgaW4gdGhlIHB1bGwgcmVxdWVzdC4NCj4gPg0K PiA+ICAgKiBQZXJmb3JtIGZpbmFsIHJldmlldyBvZiBwYXRjaGVzIGFuZCBjb21taXQNCj4gbWVz c2FnZSB0YWdzLiAgSWYgdGhlcmUgYXJlIG5vdA0KPiA+ICAgICBpc3N1ZXMsIHNldCB0aGUgYHB1 c2hgIGxhYmVsIHRvIHJ1biBmaW5hbCBzZXQgb2YNCj4gQ0kgY2hlY2tzIGFuZCBhdXRvIG1lcmdl DQo+ID4gICAgIHRoZSBwdWxsIHJlcXVlc3QgaW50byBtYXN0ZXIuDQo+ID4NCj4gPiAjIE1haW50 YWluZXJzLnR4dCBGb3JtYXQgQ2hhbmdlcw0KPiA+DQo+ID4gQWRkIEdpdEh1YiBJRHMgb2YgYWxs IG1haW50YWluZXJzIGFuZCByZXZpZXdlcnMgYXQNCj4gdGhlIGVuZCBvZiBNOiBhbmQgUjogbGlu ZXMNCj4gPiBpbiBbXS4gIEZvciBleGFtcGxlOg0KPiA+DQo+ID4gICAgIE06IE1pY2hhZWwgRCBL aW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBbbWRraW5uZXldDQo+ID4NCj4g PiAjIFRpYW5vQ29yZSBHaXRIdWIgRW1haWwgQXJjaGl2ZSBXZWJob29rIFNlcnZpY2UNCj4gPg0K PiA+IEFzc2lnbiByZXZpZXdlcnMgdG8gY29tbWl0cyBpbiBhIEdpdEh1YiBwdWxsIHJlcXVlc3QN Cj4gYmFzZWQgb24gYXNzaWdubWVudHMNCj4gPiBkb2N1bWVudGVkIGluIE1haW50YWluZXJzLnR4 dCBhbmQgZ2VuZXJhdGVzIGFuIGVtYWlsDQo+IGFyY2hpdmUgb2YgYWxsIHB1bGwgcmVxdWVzdA0K PiA+IGFuZCBjb2RlIHJldmlldyBhY3Rpdml0aWVzLg0KPiA+DQo+ID4gaHR0cHM6Ly9naXRodWIu Y29tL21ka2lubmV5L2VkazItZW1haWwtYXJjaGl2ZS0NCj4gd2ViaG9vaw0KPiA+DQo+ID4gIyBF bWFpbCBBcmNoaXZlIFN1YnNjcmlwdGlvbiBTZXJ2aWNlDQo+ID4NCj4gPiBUaGUgZW1haWxzIGFy ZSBiZWluZyBkZWxpdmVyZWQgdG8gdGhlIGZvbGxvd2luZw0KPiBSZWRIYXQgZW1haWwgc3Vic2Ny aXB0aW9uDQo+ID4gc2VydmljZS4gIFBsZWFzZSBzdWJzY3JpYmUgdG8gcmVjZWl2ZSB0aGUgZW1h aWxzIGFuZA0KPiB0byBiZSBhYmxlIHRvIHZpZXcgdGhlDQo+ID4gZW1haWwgYXJjaGl2ZXMuDQo+ ID4NCj4gPiBodHRwczovL3d3dy5yZWRoYXQuY29tL21haWxtYW4vbGlzdGluZm8vdGlhbm9jb3Jl LQ0KPiBjb2RlLXJldmlldy1wb2MNCj4gPg0KPiA+IFRoZSBlbWFpbCBhcmNoaXZlcyBhcmUgYXQg dGhpcyBsaW5rOg0KPiA+DQo+ID4gaHR0cHM6Ly93d3cucmVkaGF0LmNvbS9tYWlsbWFuL3ByaXZh dGUvdGlhbm9jb3JlLQ0KPiBjb2RlLXJldmlldy1wb2MvaW5kZXguaHRtbA0KPiA+DQo+ID4gVGhl IGZvbGxvd2luZyBzZWN0aW9ucyBzaG93IHNvbWUgZXhhbXBsZSBwdWxsDQo+IHJlcXVlc3RzIGFu ZCBjb2RlIHJldmlld3MgdG8NCj4gPiBoZWxwIHJldmlldyB0aGUgZ2VuZXJhdGVkIGVtYWlscywg dGhlaXIgY29udGVudHMsIGFuZA0KPiB0aHJlYWRpbmcuDQo+ID4NCj4gPiAjIyBFbWFpbCBBY2hp ZXZlIFRocmVhZCBWaWV3DQo+ID4NCj4gPiBodHRwczovL3d3dy5yZWRoYXQuY29tL21haWxtYW4v cHJpdmF0ZS90aWFub2NvcmUtDQo+IGNvZGUtcmV2aWV3LXBvYy8yMDIwLU1heS90aHJlYWQuaHRt bCMwMDI4OQ0KPiA+DQo+ID4gIyMgRXhhbXBsZSBwYXRjaCBzZXJpZXMgd2l0aCAxIHBhdGNoDQo+ ID4NCj4gPiBodHRwczovL3d3dy5yZWRoYXQuY29tL21haWxtYW4vcHJpdmF0ZS90aWFub2NvcmUt DQo+IGNvZGUtcmV2aWV3LXBvYy8yMDIwLU1heS90aHJlYWQuaHRtbCMwMDM0MA0KPiA+DQo+ID4g IyMgRXhhbXBsZSBwYXRjaCBzZXJpZXMgd2l0aCA8IDEwIHBhdGNoZXMNCj4gPg0KPiA+ICogaHR0 cHM6Ly93d3cucmVkaGF0LmNvbS9tYWlsbWFuL3ByaXZhdGUvdGlhbm9jb3JlLQ0KPiBjb2RlLXJl dmlldy1wb2MvMjAyMC1NYXkvbXNnMDAyODkuaHRtbA0KPiA+ICogaHR0cHM6Ly93d3cucmVkaGF0 LmNvbS9tYWlsbWFuL3ByaXZhdGUvdGlhbm9jb3JlLQ0KPiBjb2RlLXJldmlldy1wb2MvMjAyMC1N YXkvbXNnMDAwMzAuaHRtbA0KPiA+ICogaHR0cHM6Ly93d3cucmVkaGF0LmNvbS9tYWlsbWFuL3By aXZhdGUvdGlhbm9jb3JlLQ0KPiBjb2RlLXJldmlldy1wb2MvMjAyMC1NYXkvbXNnMDAwMTguaHRt bA0KPiA+ICogaHR0cHM6Ly93d3cucmVkaGF0LmNvbS9tYWlsbWFuL3ByaXZhdGUvdGlhbm9jb3Jl LQ0KPiBjb2RlLXJldmlldy1wb2MvMjAyMC1NYXkvbXNnMDAwMDguaHRtbA0KPiA+DQo+ID4gIyMg RXhhbXBsZSBwYXRjaCBzZXJpZXMgd2l0aCA+IDgwIHBhdGNoZXMNCj4gPg0KPiA+ICogaHR0cHM6 Ly93d3cucmVkaGF0LmNvbS9tYWlsbWFuL3ByaXZhdGUvdGlhbm9jb3JlLQ0KPiBjb2RlLXJldmll dy1wb2MvMjAyMC1NYXkvbXNnMDAxOTguaHRtbA0KPiA+ICogaHR0cHM6Ly93d3cucmVkaGF0LmNv bS9tYWlsbWFuL3ByaXZhdGUvdGlhbm9jb3JlLQ0KPiBjb2RlLXJldmlldy1wb2MvMjAyMC1NYXkv bXNnMDAxMTYuaHRtbA0KPiA+ICogaHR0cHM6Ly93d3cucmVkaGF0LmNvbS9tYWlsbWFuL3ByaXZh dGUvdGlhbm9jb3JlLQ0KPiBjb2RlLXJldmlldy1wb2MvMjAyMC1NYXkvbXNnMDAwMzUuaHRtbA0K PiA+DQo+ID4gIyBUYXNrcyB0byBDb21wbGV0ZQ0KPiA+DQo+ID4gKiBDcmVhdGUgZWRrMi1jb2Rl cmV2aWV3IHJlcG9zaXRvcnkgZm9yIGV2YWx1YXRpb24gb2YNCj4gbmV3IGNvZGUgcmV2aWV3IHBy b2Nlc3MuDQo+ID4gKiBBZGQgR2l0SHViIElEcyB0byBNYWludGFpbmVycy50eHQgaW4gZWRrMi0N Cj4gY29kZXJldmlldyByZXBvc2l0b3J5DQo+ID4gKiBVcGRhdGUgQmFzZVRvb2xzL1NjcmlwdHMv R2V0TWFpbnRhaW5lci5weSB0byBiZQ0KPiBjb21wYXRpYmxlIHdpdGggR2l0SHViIElEcyBhdA0K PiA+ICAgdGhlIGVuZCBvZiBNOiBhbmQgUjogc3RhdGVtZW50cw0KPiA+ICogVXBkYXRlIHdlYmhv b2sgdG8gdXNlIFJhYmJpdCBNUSB0byBtYW5hZ2UgcmVxdWVzdHMNCj4gYW5kIGVtYWlscw0KPiA+ ICogRGV0ZXJtaW5lIGlmIHdlYmhvb2sgcmVxdWVzdHMgbXVzdCBiZSBzZXJpYWxpemVkPw0KPiBD dXJyZW50IFBPQyBpcyBzZXJpYWxpemVkLg0KPiA+ICogTWFrZSBzdXJlIHdlYmhvb2sgaGFzIGVy cm9yIGhhbmRsaW5nIGZvciBhbGwNCj4gdW5leHBlY3RlZCBldmVudHMvc3RhdGVzLg0KPiA+ICog QWRkIGxvZ2dpbmcgb2YgYWxsIGV2ZW50cyBhbmQgZW1haWxzIHRvIHdlYmhvb2sNCj4gPiAqIEFk ZCBhZG1pbiBpbnRlcmZhY2UgdG8gd2ViaG9vaw0KPiA+ICogRGVwbG95IHdlYmhvb2sgb24gYSBw cm9kdWN0aW9uIHNlcnZlciB3aXRoIDI0LzcNCj4gc3VwcG9ydA0KPiA+DQo+ID4gIyBJZGVhcyBm b3IgRnV0dXJlIEVuaGFuY2VtZW50cw0KPiA+DQo+ID4gKiBSdW4gUGF0Y2hDaGVjay5weSBiZWZv cmUgYXNzaWduaW5nDQo+IG1haW50YWluZXJzL3Jldmlld2Vycy4NCj4gPiAqIEFkZCBhIHNpbXBs ZSBjaGVjayB0aGF0IGZhaWxzIGlmIGEgc2luZ2xlIHBhdGNoDQo+IHNwYW5zIG1vcmUgdGhhbiBv bmUgcGFja2FnZS4NCj4gPiAqIE1vbml0b3IgY29tbWVudHMgZm9yIFJldmlld2VkLWJ5LCBBY2tl ZC1ieSwgVGVzdGVkLQ0KPiBieSwgU2VyaWVzLVJldmlld2VkLWJ5LA0KPiA+ICAgU2VyaWVzLUFj a2VkLWJ5LCBTZXJpZXMtVGVzdGVkLWJ5IG1hZGUgYnkgYXNzaWduZWQNCj4gbWFpbnRhaW5lcnMv cmV2aWV3ZXJzLg0KPiA+ICAgT25jZSBhbGwgY29tbWl0cyBoYXZlIHJlcXVpcmVkIHRhZ3MsIGF1 dG8gdXBkYXRlDQo+IGNvbW1pdCBtZXNzYWdlcyBpbiB0aGUNCj4gPiAgIGJyYW5jaCBhbmQgd2Fp dCBmb3IgbWFpbnRhaW5lciB0byBzZXQgdGhlIGBQdXNoYA0KPiBsYWJlbCB0byBydW4gQ0kgYW5k IGF1dG8NCj4gPiAgIG1lcmdlIGlmIGFsbCBDSSBjaGVja3MgcGFzcy4NCj4gPg0KPiA+IEJlc3Qg cmVnYXJkcywNCj4gPg0KPiA+IE1pa2UNCj4gPg0KPiA+DQo+ID4NCj4gPiANCj4gDQoNCg==