From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web10.1426.1572650275297306528 for ; Fri, 01 Nov 2019 16:17:55 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=ACJrfbdA; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: michael.a.kubacki@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Nov 2019 16:17:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,257,1569308400"; d="scan'208";a="204638498" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga006.jf.intel.com with ESMTP; 01 Nov 2019 16:17:54 -0700 Received: from fmsmsx156.amr.corp.intel.com (10.18.116.74) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 1 Nov 2019 16:17:53 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx156.amr.corp.intel.com (10.18.116.74) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 1 Nov 2019 16:17:53 -0700 Received: from NAM01-SN1-obe.outbound.protection.outlook.com (104.47.32.51) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 1 Nov 2019 16:17:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DPEEwV3/p6zCs98OBgZzQ4hZtBvyx1CGIjLTXgnyJCJN6+Q9SZ9e/S+2XDYqUQtM24G+3pNZUOGJNnTp8vD3+g81SaNfTeNVB/RDII9v6SG0G+t3qyD3RMqfyZAxXFJ0+fHTQXYKcS6r8XBLQVdLa6XP2YZqFGTJxL4531O4b6A8bBwNjGWmnMadhTJB+qWinjmIwJ/SeH503h5TtjQA6Lzg9Ine0Pml8XHTJq/6CaONOwmstQUylcAznXJKl+vGt7fXJhGr7YEY2ErMQqjSnrzGMZK6q+W/Ex9WtRjs8YQDTvecjz+9IIwq3VaB6gRU5uLoEySq+GnE5qNfIijoAw== 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=fvlhkulxox4h4HqDqGzmOp5NZbIW9/y/QGdMSMLHvAg=; b=BQSKFTc/DuZAE270p4UlLmt20P8sSD1NV9YDgFSlUBxjg2DyZb3TCBykN0u6WWKa+PEZu44OX9IwhEh/XQzaKvBgxc8jPy5DJDappP9zy1LNwAEY0IRG9hdXS/MB8xUXLdSoH/3gL0BfvG2a5TRp3l7C4WjMz5ZoRqltHwp1jWRwsFbrm4KrE3ddvb/45VjPHbgdOVCU2fL0BdzYCCD/Vp2t7vWMISAlQrxd8lzsw3eb1yRC6Jjl6aQtqeDDhRz5+iG8z3ToGYHCmsMmYmJV9aEw0xDkDc94PHZkbLm8neh4pN1pTqHlX5kYg2Flj+y2YLljSTKBgFJRGiCMbac7Jg== 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=fvlhkulxox4h4HqDqGzmOp5NZbIW9/y/QGdMSMLHvAg=; b=ACJrfbdAqtE2Eqq+utGQMSPApBwjRY72gDbry2PHSGH/htKjhx4nTQVpF4GhYFnLvT1A9XHzxlLlfzYe5gcfoHXbwomRDI6CZrcI7meCsPkeeo6zfYUhWr5r2D+FzV4+f7zapdQr6OGTz/y/dH60cuqNsajTx+TKvwyNob3jEzc= Received: from BYAPR11MB3831.namprd11.prod.outlook.com (20.178.239.150) by BYAPR11MB3573.namprd11.prod.outlook.com (20.178.239.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2408.24; Fri, 1 Nov 2019 23:17:35 +0000 Received: from BYAPR11MB3831.namprd11.prod.outlook.com ([fe80::1d66:1307:6b66:a78f]) by BYAPR11MB3831.namprd11.prod.outlook.com ([fe80::1d66:1307:6b66:a78f%5]) with mapi id 15.20.2387.028; Fri, 1 Nov 2019 23:17:35 +0000 From: "Kubacki, Michael A" To: Laszlo Ersek , "devel@edk2.groups.io" CC: "Bi, Dandan" , Ard Biesheuvel , "Dong, Eric" , "Gao, Liming" , "Kinney, Michael D" , "Ni, Ray" , "Wang, Jian J" , "Wu, Hao A" , "Yao, Jiewen" Subject: Re: [PATCH V7 00/10] UEFI Variable SMI Reduction Thread-Topic: [PATCH V7 00/10] UEFI Variable SMI Reduction Thread-Index: AQHVkQKFxeAxtoD0l0eVODXMH6VfPKd28Z6g Date: Fri, 1 Nov 2019 23:17:34 +0000 Message-ID: References: <20191101173457.11956-1-michael.a.kubacki@intel.com> <3fbfa373-2c35-a583-eb5d-ad084aea774b@redhat.com> In-Reply-To: <3fbfa373-2c35-a583-eb5d-ad084aea774b@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYjMyZTUwMTgtOWNkNi00ZjQxLWJjOWMtOWI0YzI5ZjBjOWFhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiSXhPOWdJM3JLajdsSFNVN05hdVdwVk83YTdTcndQOWpoeWFGYW5qb2pYY3FxM3Q2UWg4Vno0c2wyKzBWNnc2diJ9 dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: spf=none (sender IP is ) smtp.mailfrom=michael.a.kubacki@intel.com; x-originating-ip: [134.134.136.217] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7109fcd1-a937-4606-fb12-08d75f21adc3 x-ms-traffictypediagnostic: BYAPR11MB3573: x-ms-exchange-purlcount: 3 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:10000; x-forefront-prvs: 020877E0CB x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(376002)(346002)(366004)(136003)(396003)(39860400002)(189003)(199004)(13464003)(54534003)(4326008)(99286004)(30864003)(316002)(2906002)(6306002)(55016002)(476003)(966005)(229853002)(9686003)(6116002)(3846002)(64756008)(53546011)(66946007)(25786009)(14454004)(110136005)(54906003)(2501003)(66066001)(66556008)(486006)(11346002)(446003)(76116006)(81156014)(7696005)(74316002)(76176011)(305945005)(52536014)(33656002)(7736002)(26005)(66446008)(66476007)(86362001)(102836004)(5660300002)(6506007)(6246003)(81166006)(6436002)(71190400001)(71200400001)(478600001)(8676002)(256004)(14444005)(8936002)(19627235002)(107886003)(186003)(579004);DIR:OUT;SFP:1102;SCL:1;SRVR:BYAPR11MB3573;H:BYAPR11MB3831.namprd11.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:3; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Fn3KuCNAta70Whq3JRzX57TQTvqWvce4/v4ItOuJK5nkJRAsyeUOQ5iPaFr8BgQub/OSZ0s8jNEu20ofZna1jtAY/k6f452H42qNOkMiadQohzfZytWTBIuYD0vYmVTfSy4FZ7HlWT00yrEvHIhA2kRqRV162LNIk0KXJYhRFMAartNUrGILstH4Ts0MBbQR58MT0GFu3yA5fImPBK49GjJ6mt3G1Rd7Oqx2w2ODhliwB/r59drDGPo5EWhhc6BXZcQLRPlaFjdFNx+pwgIrHdSAeOWFvi72Xh6CjxF+iLYBlpmO1XCx7IOL0XBKDiHCy9DPI9CVb0rSW4r4RQamgQ+XeuKbrGTdb5PIVXNmkwsqYk8CYC0Je19dw79W0DTRBOLOJJPg8P3Xk4nE7xCQ4U8/hJ6pR8TcRhrguKCGvQS/S7Cxzyxr6df+3eBxHuClja0oIhq3u1mT3CopV0cjmO/v+L7cMTxXrMQuhFfSa2M= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 7109fcd1-a937-4606-fb12-08d75f21adc3 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Nov 2019 23:17:34.8427 (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: qjnAvSxUZV4s6cl8rr5p4y3bUCqbZ+s9F+UzkPDISCZFOkTcTg9r48198fJEv2Pxu/YI4vxBsrCLqHU4q80uXdk8tWwblXdbttjSYLIcT8s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3573 Return-Path: michael.a.kubacki@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KDQpJIGRpZCBub3QgbWFrZSBhbnkgY2hhbmdlcyB0byB0aGUgT3ZtZlBrZyBw YXRjaCBhbmQgSSBmb3Jnb3QgdG8gY2FycnkgZm9yd2FyZCB0aGUgUi1iLg0KSSdsbCBrZWVwIHRo YXQgaW4gbWluZCBpbiB0aGUgZnV0dXJlLg0KDQpGb3IgVjcsIEkgcmVxdWVzdCB0aGUgTWRlTW9k dWxlUGtnIG1haW50YWluZXJzIHBsZWFzZSBhZGQgdGhlIFItYiBmb3IgdGhlIHBhdGNoZXMNCm5v dCBjaGFuZ2VkLiBJZiB0aGlzIGlzIG5vdCBhY2NlcHRhYmxlLCBJIHdpbGwgYmUgaGFwcHkgdG8g c2VuZCBvdXQgYSBwYXRjaCBzZXJpZXMNCndpdGggYWxsIG9mIHRoZSBSLWIgcHJlc2VudC4NCg0K VGhhbmtzLA0KTWljaGFlbA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206 IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+DQo+IFNlbnQ6IEZyaWRheSwgTm92ZW1i ZXIgMSwgMjAxOSAzOjE5IFBNDQo+IFRvOiBLdWJhY2tpLCBNaWNoYWVsIEEgPG1pY2hhZWwuYS5r dWJhY2tpQGludGVsLmNvbT47DQo+IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENjOiBCaSwgRGFu ZGFuIDxkYW5kYW4uYmlAaW50ZWwuY29tPjsgQXJkIEJpZXNoZXV2ZWwNCj4gPGFyZC5iaWVzaGV1 dmVsQGxpbmFyby5vcmc+OyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgR2FvLCBM aW1pbmcNCj4gPGxpbWluZy5nYW9AaW50ZWwuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hh ZWwuZC5raW5uZXlAaW50ZWwuY29tPjsNCj4gTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IFdh bmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgV3UsIEhhbw0KPiBBIDxoYW8uYS53 dUBpbnRlbC5jb20+OyBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+IFN1Ympl Y3Q6IFJlOiBbUEFUQ0ggVjcgMDAvMTBdIFVFRkkgVmFyaWFibGUgU01JIFJlZHVjdGlvbg0KPiAN Cj4gSGVsbG8gTWljaGFlbCwNCj4gDQo+IE9uIDExLzAxLzE5IDE4OjM0LCBNaWNoYWVsIEt1YmFj a2kgd3JvdGU6DQo+ID4gUkVGOmh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1 Zy5jZ2k/aWQ9MjIyMA0KPiA+DQo+ID4gVjcgQ2hhbmdlczoNCj4gPiAgW1BBVENIIFY2IDA3LzEw XSBNZGVNb2R1bGVQa2cvVmFyaWFibGU6IEFkZCBSVCBHZXRWYXJpYWJsZSgpIGNhY2hlDQo+ID4g c3VwcG9ydA0KPiA+ICAqIFJlbW92ZSBWYXJpYWJsZVJ1bnRpbWVDYWNoZS5jIGFuZCBWYXJpYWJs ZVJ1bnRpbWVDYWNoZS5oIGZyb20NCj4gPiAgICBWYXJpYWJsZVNtbVJ1bnRpbWVEeGUuaW5mIHNp bmNlIHRoZXkgYXJlIG5vdCBuZWVkZWQgdG8gYnVpbGQgdGhlDQo+IG1vZHVsZS4NCj4gPg0KPiA+ IFY2IENoYW5nZXM6DQo+ID4gIFtQQVRDSCBWNSAwNy8xMF0gTWRlTW9kdWxlUGtnL1ZhcmlhYmxl OiBBZGQgUlQgR2V0VmFyaWFibGUoKSBjYWNoZQ0KPiA+IHN1cHBvcnQgIFRoZSBtb3N0IHNpZ25p ZmljYW50IGNoYW5nZSBpczoNCj4gPiAgKiBGcmVlIG1WYXJpYWJsZVJ1bnRpbWVIb2JDYWNoZUJ1 ZmZlciBpbiBDaGVja0ZvclJ1bnRpbWVDYWNoZVN5bmMNCj4gKCkgaW4NCj4gPiAgICBWYXJpYWJs ZVNtbVJ1bnRpbWVEeGUuYyB3aXRoIEZyZWVQYWdlcyAoKSBpbnN0ZWFkIG9mIEZyZWVQb29sICgp Lg0KPiA+ICBUaGlzIGlzc3VlIHdhcyBub3QgZm91bmQgaW4gZWFybGllciB0ZXN0aW5nIGJlY2F1 c2Ugb24gdGhlIGluaXRpYWwNCj4gPiBzZXQgb2YgIHBsYXRmb3JtcyB0ZXN0ZWQsIHRoZSB2YXJp YWJsZSBIT0IgZmx1c2ggd2FzIGZpbmlzaGVkIHByaW9yIHRvDQo+ID4gdGhlIHZhcmlhYmxlICBI T0IgcnVudGltZSBjYWNoZSBidWZmZXIgYmVpbmcgYWxsb2NhdGVkIHNvIHRoZQ0KPiA+IEZyZWVQ YWdlcyAoKSBjYWxsIHdhcyBub3QgIGV4ZWN1dGVkLg0KPiA+DQo+ID4gIFRoZSByZW1haW5pbmcg Y2hhbmdlcyBkaWQgbm90IGFmZmVjdCB0ZXN0aW5nIGJ1dCBhcmUgaW5jbHVkZWQgZm9yDQo+IHJv YnVzdG5lc3M6DQo+ID4gICogUGFzcyBFRklfT1BUSU9OQUxfUFRSIGZvciB0aGUgRGVidWdEaXNw b3NpdGlvbiB0eXBlIGluIHRoZQ0KPiBFZmlDb252ZXJ0UG9pbnRlciAoKQ0KPiA+ICAgIGNhbGxz IGZvciBtVmFyaWFibGVSdW50aW1lSG9iQ2FjaGVCdWZmZXIsDQo+IG1WYXJpYWJsZVJ1bnRpbWVO dkNhY2hlQnVmZmVyLCBhbmQNCj4gPiAgICBtVmFyaWFibGVSdW50aW1lVm9sYXRpbGVDYWNoZUJ1 ZmZlciBpbiBWYXJpYWJsZUFkZHJlc3NDaGFuZ2VFdmVudCAoKQ0KPiBpbg0KPiA+ICAgIFZhcmlh YmxlU21tUnVudGltZUR4ZS5jIGFzIHRoZXNlIGJ1ZmZlcnMgd2lsbCBub3QgYmUgYWxsb2NhdGVk IGlmIHRoZQ0KPiBydW50aW1lDQo+ID4gICAgY2FjaGUgaXMgZGlzYWJsZWQuDQo+ID4gICogSW4g dGhlDQo+IFNNTV9WQVJJQUJMRV9GVU5DVElPTl9JTklUX1JVTlRJTUVfVkFSSUFCTEVfQ0FDSEVf Q09OVEVYVA0KPiBjYXNlIGluDQo+ID4gICAgU21tVmFyaWFibGVIYW5kbGVyICgpIGluIFZhcmlh YmxlU21tLmMsIGV4cGxpY2l0bHkgdmVyaWZ5IHRoYXQNCj4gPiAgICBWYXJpYWJsZVJ1bnRpbWVI b2JDYWNoZS5TdG9yZSBpcyBub3QgTlVMTCBpbiBhZGRpdGlvbiB0byBjaGVja2luZyB0aGF0DQo+ ID4gICAgVmFyaWFibGVHbG9iYWwuSG9iVmFyaWFibGVCYXNlIGlzIG5vdCBzZXQgdG8gemVybyAo dmFyaWFibGUgSE9CIGlzDQo+IGZsdXNoZWQpDQo+ID4gICAgYmVmb3JlIHdyaXRpbmcgdG8gVmFy aWFibGVSdW50aW1lSG9iQ2FjaGUuU3RvcmUuDQo+ID4NCj4gPiBWNSBDaGFuZ2VzOg0KPiA+ICBb UEFUQ0ggVjQgMDcvMTBdIE1kZU1vZHVsZVBrZy9WYXJpYWJsZTogQWRkIFJUIEdldFZhcmlhYmxl KCkgY2FjaGUNCj4gPiBzdXBwb3J0DQo+ID4gICogSW5jcmVhc2VkIHZhbGlkYXRpb24gb2YgdGhl IHJ1bnRpbWUgYnVmZmVycyBwYXNzZWQgaW4gdGhlIFNNTSBjb21tDQo+IGJ1ZmZlcg0KPiA+DQo+ IFNNTV9WQVJJQUJMRV9DT01NVU5JQ0FURV9SVU5USU1FX1ZBUklBQkxFX0NBQ0hFX0NPTlRFWFQN Cj4gc3RydWN0dXJlIHRvIHRoZQ0KPiA+DQo+IFNNTV9WQVJJQUJMRV9GVU5DVElPTl9JTklUX1JV TlRJTUVfVkFSSUFCTEVfQ0FDSEVfQ09OVEVYVA0KPiBmdW5jdGlvbiBpbg0KPiA+ICAgIFNtbVZh cmlhYmxlSGFuZGxlciAoKSBpbiBWYXJpYWJsZVNtbS5jLg0KPiA+ICAqIE1vc3Qgbm90YWJseSwg ZWFjaCBydW50aW1lIGJ1ZmZlciBnaXZlbiBpcyBjaGVja2VkIHRvIGVuc3VyZSBpdHMNCj4gbWVt b3J5DQo+ID4gICAgcmFuZ2UgZG9lcyBub3Qgb3ZlcmxhcCB3aXRoIFNNUkFNIHJhbmdlcyB2aWEN Cj4gVmFyaWFibGVTbW1Jc0J1ZmZlck91dHNpZGVTbW1WYWxpZCAoKS4NCj4gPg0KPiA+IFY0IENo YW5nZXM6DQo+ID4gIFtQQVRDSCBWMyA3LzldIE1kZU1vZHVsZVBrZy9WYXJpYWJsZTogQWRkIFJU IEdldFZhcmlhYmxlKCkgY2FjaGUNCj4gPiBzdXBwb3J0DQo+ID4gICogU2V0DQo+IGdFZmlNZGVN b2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RFbmFibGVWYXJpYWJsZVJ1bnRpbWVDYWNoZSB0bw0K PiBGQUxTRQ0KPiA+ICAgIGJ5IGRlZmF1bHQgaW4gTWRlTW9kdWxlUGtnLmRlYy4NCj4gPg0KPiA+ ICAqIEFkZGVkIGEgbmV3IHBhdGNoIHRvIHNldA0KPiBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkRW5hYmxlVmFyaWFibGVSdW50aW1lQ2FjaGUNCj4gPiAgICB0byBUUlVFIGF0IHRo ZSBlbmQgb2YgdGhlIHBhdGNoIHNlcmllcy4gVGhpcyBhbGxvd3Mgc29tZW9uZSB0byBiaXNlY3Qg YW4NCj4gaXNzdWUgYXQNCj4gPiAgICBwYXRjaCAjNyBvciBwYXRjaCAjOCBpbiB0aGUgc2VyaWVz IHdpdGggbm8gY2hhbmdlIGluIHZhcmlhYmxlIGNhY2hpbmcNCj4gYmVoYXZpb3IuIFRoZQ0KPiA+ ICAgIHJ1bnRpbWUgY2FjaGUgdmFyaWFibGUgbG9naWMgd291bGQgYmUgYXBwbGllZCBleHBsaWNp dGx5IGluIFY0IHBhdGNoICMxMC4NCj4gDQo+IEkgZ2F2ZSBteSBSLWIgZm9yIHRoZSBPdm1mUGtn IHBhdGNoIGluIHRoZSB2NCBwb3N0aW5nOg0KPiANCj4gaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9n L2RldmVsL21lc3NhZ2UvNDg5NzkNCj4gDQo+IChhbHRlcm5hdGl2ZSBsaW5rOg0KPiANCj4gaHR0 cDovL21pZC5tYWlsLWFyY2hpdmUuY29tL2I4OTU4M2VkLTA2ZWYtY2NkMi0yZTI5LQ0KPiBkMDU0 ZjU4MWVhNmFAcmVkaGF0LmNvbQ0KPiApDQo+IA0KPiBJbiB0aGUgdjUgcG9zdGluZyAtLSBhc3N1 bWluZyB5b3UgaGFkIG5vdCBjaGFuZ2VkIHRoYXQgc3BlY2lmaWMgT3ZtZlBrZw0KPiBwYXRjaCwg cmVsYXRpdmUgdG8gdjQgLS0geW91IHNob3VsZCBoYXZlIHBpY2tlZCB1cCBteSBSLWIsIGFuZCBj YXJyaWVkIGl0DQo+IGZvcndhcmQgZXZlciBzaW5jZSAodG8gdGhlIHByZXNlbnQgdjcpLiBCYXNp Y2FsbHksIGRvIGEgZ2l0LXJlYmFzZSwgc2VsZWN0IHRoZQ0KPiAicmV3b3JkIiBhY3Rpb24gZm9y IHRoZSBwYXRjaCwgdGhlbiBjdXQmcGFzdGUgbXkgUi1iIGZyb20gbXkNCj4gdjQgcmV2aWV3IGVt YWlsIHRvIHRoZSBib3R0b20gb2YgdGhlIGNvbW1pdCBtZXNzYWdlLiBUaGVuIGV2ZXJ5IGZ1cnRo ZXINCj4gcG9zdGluZyB3aWxsIGNvbnRhaW4gaXQuDQo+IA0KPiBJZiB0aGVyZSAqaGF2ZSogYmVl biBjaGFuZ2VzIHRvIHRoZSBwYXRjaCwgcmVsYXRpdmUgdG8gdjQsIHRoZW4gaXQncyBpbmRlZWQN Cj4gcmlnaHQgdG8gZHJvcCAob3Igc2ltcGx5IG5vdCBwaWNrIHVwKSBteSBSLWIuIEZXSVcsIHRo ZSBjaGFuZ2Vsb2cgYWJvdmUNCj4gZG9lcyBub3Qgc3VnZ2VzdCB0aGUgcGFydGljdWxhciBwYXRj aCBoYXMgc2VlbiBhbnkgY2hhbmdlcyBzaW5jZSB2NC4NCj4gDQo+IFRoYW5rcyENCj4gTGFzemxv DQo+IA0KPiA+DQo+ID4gVjMgQ2hhbmdlczoNCj4gPiAgW1BBVENIIFYyIDEvOV0gTWRlTW9kdWxl UGtnL1ZhcmlhYmxlOiBDb25zb2xpZGF0ZSBjb21tb24gcGFyc2luZw0KPiA+IGZ1bmN0aW9ucw0K PiA+ICAqIFJlbW92ZWQgR1VJRHMgYWRkZWQgdG8gVmFyaWFibGVTdGFuZGFsb25lTW0uaW5mIHRo YXQgYXJlIG5vdA0KPiByZXF1aXJlZC4NCj4gPiAgKiBBZGRlZCBtb3JlIGRldGFpbHMgdG8gdGhl IGNvbW1pdCBtZXNzYWdlIGRlc2NyaWJpbmcgdGhlIGNyaXRlcmlhIG9mDQo+ID4gICAgbW92aW5n IHRoZSBjaG9zZW4gZnVuY3Rpb25zIHRvIFZhcmlhYmxlUGFyc2luZy5jLg0KPiA+DQo+ID4gIFtQ QVRDSCBWMiAyLzldIE1kZU1vZHVsZVBrZy9WYXJpYWJsZTogUGFyYW1ldGVyaXplDQo+ID4gR2V0 TmV4dFZhcmlhYmxlRXgoKSBzdG9yZSBsaXN0DQo+ID4gICogUmVuYW1lZEdldE5leHRWYXJpYWJs ZUV4ICgpIHRvDQo+ID4gVmFyaWFibGVTZXJ2aWNlR2V0TmV4dFZhcmlhYmxlSW50ZXJuYWwgKCkN Cj4gPiAgKiBVcGRhdGVkIGNvbW1lbnRzIGluIFZhcmlhYmxlU2VydmljZUdldE5leHRWYXJpYWJs ZUludGVybmFsICgpIHRvDQo+IHJlZmVyIHRvDQo+ID4gICAgIkZpbmRWYXJpYWJsRXggKCkiIGlu c3RlYWQgb2YgIkZpbmRWYXJpYWJsZSAoKSIgc2luY2UgRmluZFZhcmlhYmxlRXggKCkNCj4gPiAg ICBpcyBub3QgdXNlZCBpbiB0aGUgZnVuY3Rpb24uDQo+ID4NCj4gPiAgW1BBVENIIFYyIDMvOV0g TWRlTW9kdWxlUGtnL1ZhcmlhYmxlOiBQYXJhbWV0ZXJpemUNCj4gPiBWQVJJQUJMRV9JTkZPX0VO VFJZIGJ1ZmZlcg0KPiA+ICAqIFVwZGF0ZWQgdGhlIGNvbW1pdCBtZXNzYWdlIHRvIGNsYXJpZnkg dGhlIG1lc3NhZ2UgInN0cnVjdHVyZSBjYW4gYmUNCj4gdXBkYXRlZA0KPiA+ICAgIG91dHNpZGUg dGhlIGZpeGVkIGdsb2JhbCB2YXJpYWJsZSIuDQo+ID4NCj4gPiAgW2VkazItZGV2ZWxdIFtQQVRD SCBWMiA0LzldIE1kZU1vZHVsZVBrZy9WYXJpYWJsZTogQWRkIGxvY2FsIGF1dGgNCj4gPiBzdGF0 dXMgaW4gVmFyaWFibGVQYXJzaW5nDQo+ID4gICogUmVtb3ZlIHRoZSBmdW5jdGlvbiBJbml0VmFy aWFibGVQYXJzaW5nICgpDQo+ID4gICogUmVtb3ZlIHRoZSBtQXV0aEZvcm1hdCBnbG9iYWwgdmFy aWFibGUgYW5kIGluc3RlYWQgYWRkIGEgQk9PTEVBTg0KPiBwYXJhbWV0ZXINCj4gPiAgICB0byBh bGwgZnVuY3Rpb25zIHRoYXQgcmVxdWlyZSB2YXJpYWJsZSBhdXRoZW50aWNhdGlvbiBpbmZvcm1h dGlvbiAgdG8NCj4gPiAgICBpbmRpY2F0ZSBpZiBhdXRoZW50aWNhdGVkIHZhcmlhYmxlcyBhcmUg dXNlZC4NCj4gPiAgICAqIFRoaXMgYWxsb3dzIHRoZSBhdXRoZW50aWNhdGVkIHZhcmlhYmxlIHN0 YXR1cyB0byBiZSB0cmFja2VkIGluIG9uZSBwbGFjZQ0KPiBpbg0KPiA+ICAgICAgZWFjaCB2YXJp YWJsZSBkcml2ZXIgaW4gdGhlIFNNTSB2YXJpYWJsZSBzb2x1dGlvbg0KPiAoVmFyaWFibGVTbW1S dW50aW1lRHhlDQo+ID4gICAgICBhbmQgVmFyaWFibGVTbW0pLg0KPiA+DQo+ID4gIFtlZGsyLWRl dmVsXSBbUEFUQ0ggVjIgNS85XSBNZGVNb2R1bGVQa2cvVmFyaWFibGU6IEFkZCBhIGZpbGUgZm9y IE5WDQo+ID4gdmFyaWFibGUgZnVuY3Rpb25zDQo+ID4gICogQWRkZWQgdGhlIGZvbGxvd2luZyBu b24tdm9sYXRpbGUgcmVsYXRlZCBmdW5jdGlvbnMgdG8NCj4gVmFyaWFibGVOb25Wb2xhdGlsZS5j DQo+ID4gICAgZnJvbSBWYXJpYWJsZS5jOg0KPiA+ICAgICogSW5pdFJlYWxOb25Wb2xhdGlsZVZh cmlhYmxlU3RvcmUgKCkNCj4gPiAgICAqIEluaXRFbXVOb25Wb2xhdGlsZVZhcmlhYmxlU3RvcmUg KCkNCj4gPiAgICAqIEluaXROb25Wb2xhdGlsZVZhcmlhYmxlU3RvcmUgKCkNCj4gPg0KPiA+ICBb ZWRrMi1kZXZlbF0gW1BBVENIIFYyIDcvOV0gTWRlTW9kdWxlUGtnL1ZhcmlhYmxlOiBBZGQgUlQN Cj4gPiBHZXRWYXJpYWJsZSgpIGNhY2hlIHN1cHBvcnQNCj4gPiAgKiBBZGRlZCBhIEZlYXR1cmVQ Q0QgdG8gY29udHJvbCBlbmFibGluZyB0aGUgcnVudGltZSB2YXJpYWJsZSBjYWNoZSAtDQo+ID4g ICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVuYWJsZVZhcmlhYmxlUnVudGlt ZUNhY2hlLg0KPiA+ICAqIFJlbW92ZWQgdXNhZ2Ugb2YgdGhlIFRpbWVyTGliIGFuZCB0aGUgd2Fp dCB0byBhY3F1aXJlDQo+ID4gICAgbVZhcmlhYmxlUnVudGltZUNhY2hlUmVhZExvY2suIENhbiBy ZWx5IG9uIHRoZSBVRUZJIHNwZWNpZmljYXRpb24NCj4gPiAgICByZXN0cmljdGlvbnMgb24gUnVu dGltZSBTZXJ2aWNlcyBjYWxsZXJzLg0KPiA+ICAqIFJlbW92ZWQgdGhlIEVGSUFQSSBrZXl3b3Jk IGZyb20gaW50ZXJuYWwgZnVuY3Rpb25zLg0KPiA+ICAqIFJlbW92ZWQgUENEcyBpbiBWYXJpYWJs ZVNtbVJ1bnRpbWVEeGUuaW5mIG5vdCByZXF1aXJlZC4NCj4gPiAgKiBSZW1vdmVkIHRoZSBIb2JW YXJpYWJsZUJhY2t1cEJhc2UgdmFyaWFibGUgbm8gbG9uZ2VyIHJlcXVpcmVkLg0KPiA+ICAqIFJl bmFtZWQgU3luY2hyb25pemVSdW50aW1lVmFyaWFibGVDYWNoZUV4ICgpIHRvIGJldHRlciByZWZs ZWN0DQo+IHVzYWdlLg0KPiA+ICAqIFJlbmFtZWQgZnVuY3Rpb25zIGluIFZhcmlhYmxlUnVudGlt ZUNhY2hlLmMgdG8gYmV0dGVyIHJlZmxlY3QgdXNhZ2UuDQo+ID4gICogSW50cm9kdWNlZCBhIGxv Y2FsIHZhcmlhYmxlIGluDQo+IEZsdXNoUGVuZGluZ1J1bnRpbWVWYXJpYWJsZUNhY2hlVXBkYXRl cyAoKQ0KPiA+ICAgIHRvIHJlZHVjZSBkdXBsaWNhdGlvbiBvZg0KPiA+ICAgIG1WYXJpYWJsZU1v ZHVsZUdsb2JhbC0+VmFyaWFibGVHbG9iYWwuVmFyaWFibGVSdW50aW1lQ2FjaGVDb250ZXh0Lg0K PiA+ICAqIENvcnJlY3RlZCB0aGUgbWFjcm8gdXNlZCBpbiBTbW1WYXJpYWJsZUhhbmRsZXIgKCkg dG8NCj4gPg0KPiBTTU1fVkFSSUFCTEVfQ09NTVVOSUNBVEVfUlVOVElNRV9WQVJJQUJMRV9DQUNI RV9DT05URVhULg0KPiA+ICAqIFJlbW92ZSB1c2FnZSBvZiB0aGUNCj4gRURLSUlfUElfU01NX0NP TU1VTklDQVRJT05fUkVHSU9OX1RBQkxFIHRvIGFjcXVpcmUgYQ0KPiA+ICAgIENvbW1CdWZmZXIg ZnJvbSB0aGUgRUZJIFN5c3RlbSBUYWJsZSBhbmQgdXNlIHRoZSBzYW1lIHJ1bnRpbWUNCj4gQ29t bUJ1ZmZlcg0KPiA+ICAgIGFsbG9jYXRlZCBmb3IgdmFyaWFibGUgU01NIGNvbW11bmljYXRlIGNh bGxzLg0KPiA+DQo+ID4gIFtQQVRDSCBWMiA4LzldIE1kZU1vZHVsZVBrZy9WYXJpYWJsZTogQWRk IFJUIEdldE5leHRWYXJpYWJsZU5hbWUoKQ0KPiA+IGNhY2hlIHN1cHBvcnQNCj4gPiAgKiBSZW1v dmVkIHVzYWdlIG9mIHRoZSBUaW1lckxpYiBhbmQgdGhlIHdhaXQgdG8gYWNxdWlyZQ0KPiA+ICAg IG1WYXJpYWJsZVJ1bnRpbWVDYWNoZVJlYWRMb2NrLiBDYW4gcmVseSBvbiB0aGUgVUVGSSBzcGVj aWZpY2F0aW9uDQo+IHJlc3RyaWN0aW9ucw0KPiA+ICAgIG9uIFJ1bnRpbWUgU2VydmljZXMgY2Fs bGVycy4NCj4gPg0KPiA+ICAqIEFkZGVkIGEgbmV3IHBhdGNoIHRvIGRpc2FibGUNCj4gZ0VmaU1k ZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVuYWJsZVZhcmlhYmxlUnVudGltZUNhY2hlDQo+ ID4gICAgZm9yIGFsbCBPdm1mUGtnIHBhY2thZ2UgYnVpbGRzIGFzIHJlcXVlc3RlZCBieSBtYWlu dGFpbmVyIExhc3psbyBFcnNlay4NCj4gPg0KPiA+IFYyIENoYW5nZXM6DQo+ID4NCj4gPiBQYXRj aCAjMSBpbiBWMSBib3RoIG1vdmVkIGZ1bmN0aW9ucyB0byBWYXJpYWJsZVBhcnNpbmcuYyBhbmQg bW9kaWZpZWQNCj4gPiBzb21lIGZ1bmN0aW9uYWxpdHkgaW4gdGhvc2UgZnVuY3Rpb25zLiBJbiBW MiwgdGhlIGZ1bmN0aW9ucyBhcmUgZmlyc3QNCj4gPiBtb3ZlZCBhbmQgdGhlbiBmdW5jdGlvbmFs aXR5IGlzIG1vZGlmaWVkIGluIHN1YnNlcXVlbnQgcGF0Y2hlcy4gVGhpcw0KPiA+IHJlc3VsdGVk IGluIHRoZSBmb2xsb3dpbmcgbmV3IHBhdGNoZXMgaW4gdGhlIFYyIHBhdGNoIHNlcmllczoNCj4g Pg0KPiA+ICAxLiBNZGVNb2R1bGVQa2cvVmFyaWFibGU6IFBhcmFtZXRlcml6ZSBHZXROZXh0VmFy aWFibGVFeCgpIHN0b3JlIGxpc3QNCj4gPiAyLiBNZGVNb2R1bGVQa2cvVmFyaWFibGU6IFBhcmFt ZXRlcml6ZSBWQVJJQUJMRV9JTkZPX0VOVFJZIGJ1ZmZlcg0KPiAzLg0KPiA+IE1kZU1vZHVsZVBr Zy9WYXJpYWJsZTogQWRkIGxvY2FsIGF1dGggc3RhdHVzIGluIFZhcmlhYmxlUGFyc2luZyAgNC4N Cj4gPiBNZGVNb2R1bGVQa2cvVmFyaWFibGU6IEFkZCBhIGZpbGUgZm9yIE5WIHZhcmlhYmxlIGZ1 bmN0aW9ucw0KPiA+DQo+ID4gQXBhcnQgZnJvbSB0aGlzIHJlZmFjdG9yIGluIHRoZSBwYXRjaGVz LCBubyBmdW5jdGlvbmFsbHkgaW1wYWN0aW5nDQo+ID4gY2hhbmdlcyB3ZXJlIG1hZGUuDQo+ID4N Cj4gPiBPdmVydmlldw0KPiA+IC0tLS0tLS0tLQ0KPiA+IFRoaXMgcGF0Y2ggc2VyaWVzIHJlZHVj ZXMgU01NIHVzYWdlIHdoZW4gdXNpbmcNCj4gVmFyaWFibGVTbW1SdW50aW1lRHhlDQo+ID4gd2l0 aCBWYXJpYWJsZVNtbS4gSXQgZG9lcyBzbyBieSBlbGltaW5hdGluZyBTTU0gdXNhZ2UgZm9yIHJ1 bnRpbWUNCj4gPiBzZXJ2aWNlIEdldFZhcmlhYmxlICgpIGFuZCBHZXROZXh0VmFyaWFibGVOYW1l ICgpIGludm9jYXRpb25zLiBNb3N0DQo+ID4gVUVGSSB2YXJpYWJsZSB1c2FnZSBpbiB0eXBpY2Fs IHN5c3RlbXMgYWZ0ZXIgdGhlIHZhcmlhYmxlIHN0b3JlIGlzDQo+ID4gaW5pdGlhbGl6ZWQgKGUu Zy4gbWFudWZhY3R1cmluZyBib290cykgaXMgZHVlIHRvIEdldFZhcmlhYmxlICggKSBhbmQNCj4g PiBHZXROZXh0VmFyaWFibGVOYW1lICgpIG5vdCBTZXRWYXJpYWJsZSAoKS4gR2V0VmFyaWFibGUg KCkgY2FsbHMgY2FuDQo+ID4gcmVndWxhcmx5IGV4Y2VlZCAxMDAgcGVyIGJvb3Qgd2hpbGUgU2V0 VmFyaWFibGUgKCkgY2FsbHMgdHlwaWNhbGx5DQo+ID4gcmVtYWluIGxlc3MgdGhhbiAxMCBwZXIg Ym9vdC4gQnkgZm9jdXNpbmcgb24gdGhlIGNvbW1vbiBjYXNlLCB0aGUNCj4gPiBtYWpvcml0eSBv ZiBvdmVyaGVhZCBhc3NvY2lhdGVkIHdpdGggU01NIGNhbiBiZSBhdm9pZGVkIHdoaWxlIHN0aWxs DQo+ID4gdXNpbmcgZXhpc3RpbmcgYW5kIHByb3ZlbiBjb2RlIGZvciBvcGVyYXRpb25zIHN1Y2gg YXMgdmFyaWFibGUNCj4gPiBhdXRoZW50aWNhdGlvbiB0aGF0IHJlcXVpcmUgYW4gaXNvbGF0ZWQg ZXhlY3V0aW9uIGVudmlyb25tZW50Lg0KPiA+DQo+ID4gICogQWR2YW50YWdlOiBSZWR1Y2VzIG92 ZXJhbGwgc3lzdGVtIFNNTSB1c2FnZQ0KPiA+ICAqIERpc2FkdmFudGFnZTogUmVxdWlyZXMgbW9y ZSBSdW50aW1lIGRhdGEgbWVtb3J5IHVzYWdlDQo+ID4NCj4gPiBUaGUgcnVudGltZSBjYWNoZSBi ZWhhdmlvciBkZXNjcmliZWQgZm9yIHRoaXMgcGF0Y2ggc2VyaWVzIGlzIGVuYWJsZWQNCj4gPiBi eSBkZWZhdWx0IGJ1dCBjYW4gYmUgZGlzYWJsZWQgd2l0aCBhIG5ldyBGZWF0dXJlUENEIGFkZGVk IHRvDQo+IE1kZU1vZHVsZVBrZy5kZWM6DQo+ID4gICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkRW5hYmxlVmFyaWFibGVSdW50aW1lQ2FjaGUNCj4gPg0KPiA+IFRoZSByZWFtaW5k ZXIgb2YgdGhpcyBibHVyYiBkZXNjcmliZXMgdGhlIGNoYW5nZXMgYW5kIGJlaGF2aW9yIHdoZW4N Cj4gPiB0aGUgUENEIGlzIHNldCB0byBUUlVFLg0KPiA+DQo+ID4gSW5pdGlhbCBQZXJmb3JtYW5j ZSBPYnNlcnZhdGlvbnMNCj4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4g PiAgKiBXaXRoIHRoZXNlIHByb3Bvc2VkIGNoYW5nZXMsIGFuIEludGVsIEF0b20gYmFzZWQgU29D IHNhdyBHZXRWYXJpYWJsZQ0KPiAoICkNCj4gPiAgICB0aW1lIGZvciBhbiBleGlzdGluZyB2YXJp YWJsZSByZWR1Y2UgZnJvbSB+MjIwdXMgdG8gfjV1cy4NCj4gPg0KPiA+IE1ham9yIENoYW5nZXMN Cj4gPiAtLS0tLS0tLS0tLS0tLQ0KPiA+ICAxLiBUd28gVUVGSSB2YXJpYWJsZSBjYWNoZXMgd2ls bCBiZSBtYWludGFpbmVkLg0KPiA+ICAgICAgYS4gIlJ1bnRpbWUgQ2FjaGUiIC0gTWFpbnRhaW5l ZCBpbiBWYXJpYWJsZVNtbVJ1bnRpbWVEeGUuIFVzZWQgdG8NCj4gc2VydmUNCj4gPiAgICAgICAg ICBydW50aW1lIHNlcnZpY2UgR2V0VmFyaWFibGUgKCkgYW5kIEdldE5leHRWYXJpYWJsZU5hbWUg KCkgY2FsbGVycy4NCj4gPiAgICAgIGIuICJTTU0gY2FjaGUiIC0gTWFpbnRhaW5lZCBpbiBWYXJp YWJsZVNtbSB0byBzZXJ2aWNlIFNNTQ0KPiBHZXRWYXJpYWJsZSAoKQ0KPiA+ICAgICAgICAgIGFu ZCBHZXROZXh0VmFyaWFibGVOYW1lICgpIGNhbGxlcnMuDQo+ID4gICAgICAgICAgaS4gQSBjYWNo ZSBpbiBTTVJBTSBpcyByZXRhaW5lZCBzbyBTTU0gbW9kdWxlcyBkbyBub3Qgb3BlcmF0ZSBvbg0K PiBkYXRhDQo+ID4gICAgICAgICAgICAgb3V0c2lkZSBTTVJBTS4NCj4gPiAgMi4gQSBuZXcgVUVG SSB2YXJpYWJsZSByZWFkIGFuZCB3cml0ZSBmbG93IHdpbGwgYmUgdXNlZCBhcyBkZXNjcmliZWQg YmVsb3cuDQo+ID4NCj4gPiBBdCBhbnkgZ2l2ZW4gdGltZSwgdGhlIHR3byBjYWNoZXMgd291bGQg YmUgY29oZXJlbnQuIE9uIGEgdmFyaWFibGUNCj4gPiB3cml0ZSwgdGhlIHJ1bnRpbWUgY2FjaGUg aXMgb25seSB1cGRhdGVkIGFmdGVyIHZhbGlkYXRpb24gaW4gU01NIGFuZCwNCj4gPiBpbiB0aGUg Y2FzZSBvZiBhIG5vbi12b2xhdGlsZSBVRUZJIHZhcmlhYmxlLCB0aGUgdmFyaWFibGUgbXVzdCBh bHNvIGJlDQo+ID4gc3VjY2Vzc2Z1bGx5IHdyaXR0ZW4gdG8gbm9uLXZvbGF0aWxlIHN0b3JhZ2Uu DQo+ID4NCj4gPiBQcmlvciBSRkMgRmVlZGJhY2sgQWRkcmVzc2VkDQo+ID4gLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gPiBSRkMgc2VudCBTZXB0LiA1LCAyMDE5OiBodHRwczovL2Vk azIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS80NjkzOQ0KPiA+DQo+ID4gMS4gVUVGSSB2YXJp YWJsZSBkYXRhIHJldHJpZXZhbCBmcm9tIGEgcmluZyAwIGJ1ZmZlcg0KPiA+DQo+ID4gICAgQSBj b21tb24gY29uY2VybiB3aXRoIHRoaXMgcHJvcG9zZWQgc2V0IG9mIGNoYW5nZXMgaXMgdGhlIHBv dGVudGlhbA0KPiBzZWN1cml0eQ0KPiA+ICAgIHRocmVhdCBwcmVzZW50ZWQgYnkgc2VydmluZyBy dW50aW1lIHNlcnZpY2VzIGNhbGxlcnMgZnJvbSBhIHJpbmcgMCBtZW1vcnkNCj4gPiAgICBidWZm ZXIgb2YgRWZpUnVudGltZVNlcnZpY2VzRGF0YSB0eXBlLiBUaGUgY29uY2x1c2lvbiB3YXMgdGhh dCB0aGlzDQo+IGNoYW5nZQ0KPiA+ICAgIGRvZXMgbm90IGZ1bmRhbWVudGFsbHkgYWx0ZXIgdGhl IGF0dGFjayBzdXJmYWNlLiBUaGUgVUVGSSB2YXJpYWJsZQ0KPiBSdW50aW1lDQo+ID4gICAgU2Vy dmljZXMgYXJlIGludm9rZWQgZnJvbSByaW5nIDAgYW5kIHRoZSBkYXRhIGFscmVhZHkgdHJhdmVs cyB0aHJvdWdoIHJpbmcNCj4gPiAgICAwIGJ1ZmZlcnMgKHN1Y2ggYXMgdGhlIFNNTSBjb21tdW5p Y2F0ZSBidWZmZXIpIHRvIHJlYWNoIHRoZSBjYWxsZXIuIEV2ZW4NCj4gPiAgICB0b2RheSBpZiBy aW5nIDAgaXMgYXNzdW1lZCB0byBiZSBtYWxpY2lvdXMsIHRoZSBtYWxpY2lvdXMgY29kZSBtYXkg a2VlcA0KPiBvbmUNCj4gPiAgICBBUCBpbiBhIGxvb3AgdG8gbW9uaXRvciB0aGUgY29tbXVuaWNh dGlvbiBkYXRhLCB3aGVuIHRoZSBCU1AgZ2V0cyBhbg0KPiA+ICAgIChhdXRoZW50aWNhdGVkKSB2 YXJpYWJsZS4gV2hlbiB0aGUgY29tbXVuaWNhdGlvbiBidWZmZXIgaXMgdXBkYXRlZCBhbmQNCj4g dGhlDQo+ID4gICAgc3RhdHVzIGlzIHNldCB0byBFRklfU1VDQ0VTUywgdGhlIEFQIG1heSBtb2Rp ZnkgdGhlIGNvbW11bmljYXRpb24NCj4gYnVmZmVyDQo+ID4gICAgY29udGVudHMgc3VjaCB0aGUg dGFtcGVyZWQgZGF0YSBpcyByZXR1cm5lZCB0byB0aGUgQlNQIGNhbGxlci4gT3IgYW4NCj4gPiAg ICBpbnRlcnJ1cHQgaGFuZGxlciBvbiB0aGUgQlNQIG1heSBhbHRlciB0aGUgY29tbXVuaWNhdGlv biBidWZmZXINCj4gY29udGVudHMNCj4gPiAgICBiZWZvcmUgdGhlIGRhdGEgaXMgcmV0dXJuZWQg dG8gdGhlIGNhbGxlci4gSW4gc3VtbWFyeSwgdGhpcyB3YXMgbm90IGZvdW5kDQo+IHRvDQo+ID4g ICAgaW50cm9kdWNlIGFueSBhdHRhY2sgbm90IHBvc3NpYmxlIHRvZGF5Lg0KPiA+DQo+ID4gMi4g VmFyQ2hlY2tMaWIgaW1wYWN0DQo+ID4NCj4gPiAgICBWYXJDaGVja0xpYiBwbGF5cyBhIHJvbGUg aW4gU2V0VmFyaWFibGUgKCkgY2FsbHMuIFRoaXMgcGF0Y2ggc2VyaWVzIG9ubHkNCj4gPiAgICBj aGFuZ2VzIEdldFZhcmlhYmxlICgpIGJlaGF2aW9yLiBUaGVyZWZvcmUsIFZhckNoZWNrTGliIGlz IGV4cGVjdGVkIHRvDQo+ID4gICAgaGF2ZSBubyBpbXBhY3QgZHVlIHRvIHRoZXNlIGNoYW5nZXMu DQo+ID4NCj4gPiBUZXN0aW5nIFBlcmZvcm1lZA0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ IFRoaXMgY29kZSB3YXMgdGVzdGVkIHdpdGggdGhlIG1hc3RlciBicmFuY2ggb2YgZWRrMiBvbiBh biBJbnRlbCBLYWJ5DQo+ID4gTGFrZSBVIGFuZCBJbnRlbCBXaGlza2V5IExha2UgVSByZWZlcmVu Y2UgdmFsaWRhdGlvbiBwbGF0Zm9ybS4gVGhlIHNldA0KPiA+IG9mIHRlc3RzIHBlcmZvcm1lZCBp bmNsdWRlZDoNCj4gPg0KPiA+IDEuICBCb290IGZyb20gUzUgdG8gV2luZG93cyAxMCBPUyB3aXRo IFNNTSB2YXJpYWJsZXMgZW5hYmxlZCBhbmQNCj4gPiAgICAgdGhlIHZhcmlhYmxlIHJ1bnRpbWUg Y2FjaGUgZW5hYmxlZC4NCj4gPiAyLiAgQm9vdCBmcm9tIFM1IHRvIFVidW50dSAxOC4wNC4xIExU UyB3aXRoIFNNTSB2YXJpYWJsZSBlbmFibGVkDQo+ID4gICAgIGFuZCB0aGUgdmFyaWFibGUgcnVu dGltZSBjYWNoZSBlbmFibGVkLg0KPiA+IDMuICBCb290IGZyb20gUzUgdG8gV2luZG93cyAxMCBP UyB3aXRoIFNNTSB2YXJpYWJsZXMgZW5hYmxlZCBhbmQNCj4gPiAgICAgdGhlIHZhcmlhYmxlIHJ1 bnRpbWUgY2FjaGUgZGlzYWJsZWQuDQo+ID4gNC4gIEJvb3QgZnJvbSBTNSB0byBVYnVudHUgMTgu MDQuMSBMVFMgd2l0aCBTTU0gdmFyaWFibGUgZW5hYmxlZA0KPiA+ICAgICBhbmQgdGhlIHZhcmlh YmxlIHJ1bnRpbWUgY2FjaGUgZGlzYWJsZWQuDQo+ID4gNS4gIEJvb3QgZnJvbSBTNSB0byBFRkkg c2hlbGwgd2l0aCBEWEUgdmFyaWFibGVzIGVuYWJsZWQuDQo+ID4gICAgIChjb21taXQgMmRlMWY2 MTFiZSBicm9rZSBPdm1mUGtnSWEzMlg2NCBib290IHJlZ2FyZGxlc3Mgb2YNCj4gPiAgICAgIHRo aXMgcGF0Y2ggc2VyaWVzOyB0ZXN0aW5nIHdpdGhvdXQgdGhpcyBjb21taXQgd2FzIHN1Y2Nlc3Nm dWwpIDYuDQo+ID4gRHVtcCBVRUZJIHZhcmlhYmxlIHN0b3JlIGF0IHNoZWxsIHdpdGggZG1wc3Rv cmUgdG8gdmVyaWZ5IGNvbnRlbnRzLg0KPiA+IDcuICBEdW1wIE52U3RvcmFnZSBGViBmcm9tIFNQ SSBmbGFzaCBhZnRlciBib290IHRvIHZlcmlmeSBjb250ZW50cyB3cml0dGVuLg0KPiA+IDguICBE dW1wIFVFRkkgdmFyaWFibGUgc3RhdGlzdGljcyB3aXRoIFZhcmlhYmxlSW5mbyBhdCBzaGVsbC4N Cj4gPiA5LiAgQm9vdCB3aXRoIGVtdWxhdGVkIHZhcmlhYmxlcyBlbmFibGVkLg0KPiA+IDEwLiBD eWNsZXMgb2YgYWRkaW5nIGFuZCBkZWxldGluZyBhIFVFRkkgdmFyaWFibGUgdG8gdmVyaWZ5IGNh Y2hlDQo+IGNvcnJlY3RuZXNzLg0KPiA+IDExLiBTZXQgT3NJbmRpY2F0aW9ucyB0byBzdG9wIGF0 IEZXIFVJIHRvIHZlcmlmeSBjYWNoZSBsb2FkIG9mIG5vbi12b2xhdGlsZQ0KPiA+ICAgICBjb250 ZW50cy4NCj4gPg0KPiA+IFdoeSBLZWVwIFNNTSBvbiBWYXJpYWJsZSBXcml0ZXMNCj4gPiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICAqIFNNTSBwcm92aWRlcyBhIHViaXF1 aXRvdXMgaXNvbGF0ZWQgZXhlY3V0aW9uIGVudmlyb25tZW50IGluIHg4NiBmb3INCj4gPiAgICBh dXRoZW50aWNhdGVkIFVFRkkgdmFyaWFibGVzLg0KPiA+ICAqIEJJT1MgcmVnaW9uIFNQSSBmbGFz aCB3cml0ZSByZXN0cmljdGlvbnMgdG8gU01NIGluIHBsYXRmb3JtcyB0b2RheSBjYW4NCj4gPiAg ICBiZSByZXRhaW5lZC4NCj4gPg0KPiA+IFRvZGF5J3MgVUVGSSBWYXJpYWJsZSBDYWNoZSAoZm9y IHJlZmVyZW5jZSkNCj4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPiA+ICAqIE1haW50YWluZWQgaW4gU01SQU0gdmlhIFZhcmlhYmxlU21tLg0KPiA+ICAq IEEgIndyaXRlLXRocm91Z2giIGNhY2hlIG9mIHZhcmlhYmxlIGRhdGEgaW4gdGhlIGZvcm0gb2Yg YSBVRUZJIHZhcmlhYmxlDQo+ID4gICAgc3RvcmUuDQo+ID4gICogTm9uLXZvbGF0aWxlIGFuZCB2 b2xhdGlsZSB2YXJpYWJsZXMgYXJlIG1haW50YWluZWQgaW4gc2VwYXJhdGUgYnVmZmVycw0KPiA+ ICAgKHZhcmlhYmxlIHN0b3JlcykuDQo+ID4NCj4gPiBSdW50aW1lICYgU01NIENhY2hlIENvaGVy ZW5jeQ0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+IFRoZSBub24tdm9s YXRpbGUgY2FjaGUgc2hvdWxkIGFsd2F5cyBhY2N1cmF0ZWx5IHJlZmxlY3Qgbm9uLXZvbGF0aWxl DQo+ID4gc3RvcmFnZSBjb250ZW50cyAoZG9uZSB0b2RheSkgYW5kIHRoZSAiU01NIGNhY2hlIiBh bmQgIlJ1bnRpbWUgY2FjaGUiDQo+ID4gc2hvdWxkIGFsd2F5cyBiZSBjb2hlcmVudCBvbiBhY2Nl c3MuIFRoZSBydW50aW1lIGNhY2hlIGlzIHVwZGF0ZWQgYnkNCj4gVmFyaWFibGVTbW0uDQo+ID4N Cj4gPiBVcGRhdGluZyBib3RoIGNhY2hlcyBmcm9tIHdpdGhpbiBhIFNNTSBTZXRWYXJpYWJsZSAo KSBvcGVyYXRpb24gaXMNCj4gPiBmYWlybHkgc3RyYWlnaHRmb3J3YXJkIGJ1dCBhIHJhY2UgY29u ZGl0aW9uIGNhbiBvY2N1ciBpZiBhbiBTTUkgb2NjdXJzDQo+ID4gZHVyaW5nIHRoZSBleGVjdXRp b24gb2YgcnVudGltZSBjb2RlIHJlYWRpbmcgZnJvbSB0aGUgcnVudGltZSBjYWNoZS4NCj4gPiBU byBoYW5kbGUgdGhpcyBjYXNlLCBhIHJ1bnRpbWUgY2FjaGUgcmVhZCBsb2NrIGlzIGludHJvZHVj ZWQgdGhhdA0KPiA+IGV4cGxpY2l0bHkgbW92ZXMgcGVuZGluZyB1cGRhdGVzIGZyb20gU01NIHRv IHRoZSBydW50aW1lIGNhY2hlIGlmIGFuDQo+ID4gU01NIHVwZGF0ZSBvY2N1cnMgd2hpbGUgdGhl IHJ1bnRpbWUgY2FjaGUgaXMgbG9ja2VkLiBOb3RlIHRoYXQgaXQgaXMNCj4gPiBub3QgZXhwZWN0 ZWQgYSBSdW50aW1lIHNlcnZpY2VzIGNhbGwgd2lsbCBpbnRlcnJ1cHQgU01NIHByb2Nlc3Npbmcg c2luY2UgYWxsDQo+IENQVSBjb3JlcyByZW5kZXp2b3VzIGluIFNNTS4NCj4gPg0KPiA+IE5ldyBL ZXkgRWxlbWVudHMgZm9yIENvaGVyZW5jZQ0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCj4gPiBSdW50aW1lIERYRSAoVmFyaWFibGVTbW1SdW50aW1lRHhlKQ0KPiA+ICAxLiBS dW50aW1lQ2FjaGVSZWFkTG9jayAtIEEgZ2xvYmFsIGxvY2sgdXNlZCB0byBsb2NrIHJlYWQgYWNj ZXNzIHRvIHRoZQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bnRpbWUgY2FjaGUu DQo+ID4gIDIuIFJ1bnRpbWVDYWNoZVBlbmRpbmdVcGRhdGUgLSBBIGdsb2JhbCBmbGFnIHVzZWQg dG8gbm90aWZ5IHJ1bnRpbWUgY29kZQ0KPiBvZiBhDQo+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwZW5kaW5nIGNhY2hlIHVwZGF0ZSBpbiBTTU0uDQo+ID4NCj4gPiBTTU0gKFZh cmlhYmxlU21tKQ0KPiA+ICAxLiBGbHVzaFJ1bnRpbWVDYWNoZVBlbmRpbmdVcGRhdGUgU01JIC0g QSBTVyBTTUkgaGFuZGxlciB0aGF0DQo+IHN5bmNocm9uaXplcw0KPiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHJ1bnRpbWUgY2FjaGUgYnVmZmVyIHdpdGgg dGhlIFNNTQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fj aGUgYnVmZmVyLg0KPiA+DQo+ID4gUHJvcG9zZWQgUnVudGltZSBEWEUgUmVhZCBGbG93DQo+ID4g LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICAxLiBBY3F1aXJlIFJ1bnRpbWVD YWNoZVJlYWRMb2NrDQo+ID4gIDIuIElmIFJ1bnRpbWVDYWNoZVBlbmRpbmdVcGRhdGUgZmxhZyAo cmFyZSkgaXMgc2V0IHRoZW46DQo+ID4gICAgICAyLmEuIFRyaWdnZXIgRmx1c2hSdW50aW1lQ2Fj aGVQZW5kaW5nVXBkYXRlIFNNSQ0KPiA+ICAgICAgMi5iLiBWZXJpZnkgUnVudGltZUNhY2hlUGVu ZGluZ1VwZGF0ZSBmbGFnIGlzIGNsZWFyZWQgIDMuIFBlcmZvcm0NCj4gPiByZWFkIGZyb20gUnVu dGltZUNhY2hlICA0LiBSZWxlYXNlIFJ1bnRpbWVDYWNoZVJlYWRMb2NrDQo+ID4NCj4gPiBQcm9w b3NlZCBGbHVzaFJ1bnRpbWVDYWNoZVBlbmRpbmdVcGRhdGUgU01JDQo+ID4gLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAgMS4gSWYgUnVudGltZUNhY2hl UGVuZGluZ1VwZGF0ZSBmbGFnIGlzIG5vdCBzZXQ6DQo+ID4gICAgICAxLmEuIFJldHVybg0KPiA+ ICAyLiBDb3B5IHRoZSBkYXRhIGF0IFJ1bnRpbWVDYWNoZVBlbmRpbmdPZmZzZXQgb2YNCj4gUnVu dGltZUNhY2hlUGVuZGluZ0xlbmd0aCB0bw0KPiA+ICAgICBSdW50aW1lQ2FjaGUNCj4gPiAgMy4g Q2xlYXIgdGhlIFJ1bnRpbWVDYWNoZVBlbmRpbmdVcGRhdGUgZmxhZw0KPiA+DQo+ID4gUHJvcG9z ZWQgU01NIFdyaXRlIEZsb3cNCj4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAgMS4g UGVyZm9ybSB2YXJpYWJsZSBhdXRoZW50aWNhdGlvbiBhbmQgbm9uLXZvbGF0aWxlIHdyaXRlLiBJ ZiBlaXRoZXIgZmFpbCwNCj4gPiAgICAgcmV0dXJuIGFuIGVycm9yIHRvIHRoZSBjYWxsZXIuDQo+ ID4gIDIuIElmIFJ1bnRpbWVDYWNoZVJlYWRMb2NrIGlzIHNldCB0aGVuOg0KPiA+ICAgICAgMi5h LiBTZXQgUnVudGltZUNhY2hlUGVuZGluZ1VwZGF0ZSBmbGFnDQo+ID4gICAgICAyLmIuIFVwZGF0 ZSBSdW50aW1lQ2FjaGVQZW5kaW5nT2Zmc2V0IGFuZA0KPiBSdW50aW1lQ2FjaGVQZW5kaW5nTGVu Z3RoIHRvDQo+ID4gICAgICAgICAgIGNvdmVyIHRoZSBhIHN1cGVyc2V0IG9mIHRoZSBwZW5kaW5n IGNodW5rIChmb3Igc2ltcGxpY2l0eSwgdGhlDQo+ID4gICAgICAgICAgIGVudGlyZSB2YXJpYWJs ZSBzdG9yZSBpcyBjdXJyZW50bHkgc3luY2hyb25pemVkKS4NCj4gPiAzLiBFbHNlOg0KPiA+ICAg ICAgMy5hLiBVcGRhdGUgUnVudGltZUNhY2hlDQo+ID4gNC4gVXBkYXRlIFNtbUNhY2hlDQo+ID4g ICAgICAtIE5vdGU6IFJUIHJlYWQgY2Fubm90IG9jY3VyIGR1cmluZyBTTUkgcHJvY2Vzc2luZyBz aW5jZSBhbGwgY29yZXMgYXJlDQo+ID4gICAgICAgICAgICAgIGxvY2tlZCBpbiBTTU0uDQo+ID4N Cj4gPiBDYzogRGFuZGFuIEJpIDxkYW5kYW4uYmlAaW50ZWwuY29tPg0KPiA+IENjOiBBcmQgQmll c2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj4gPiBDYzogRXJpYyBEb25nIDxl cmljLmRvbmdAaW50ZWwuY29tPg0KPiA+IENjOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQu Y29tPg0KPiA+IENjOiBMaW1pbmcgR2FvIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPiBDYzog TWljaGFlbCBEIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gQ2M6IFJh eSBOaSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5n QGludGVsLmNvbT4NCj4gPiBDYzogSGFvIEEgV3UgPGhhby5hLnd1QGludGVsLmNvbT4NCj4gPiBD YzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTog TWljaGFlbCBLdWJhY2tpIDxtaWNoYWVsLmEua3ViYWNraUBpbnRlbC5jb20+DQo+ID4NCj4gPiBN aWNoYWVsIEt1YmFja2kgKDEwKToNCj4gPiAgIE1kZU1vZHVsZVBrZy9WYXJpYWJsZTogQ29uc29s aWRhdGUgY29tbW9uIHBhcnNpbmcgZnVuY3Rpb25zDQo+ID4gICBNZGVNb2R1bGVQa2cvVmFyaWFi bGU6IFBhcmFtZXRlcml6ZSBHZXROZXh0VmFyaWFibGVJbnRlcm5hbCAoKSBzdG9yZXMNCj4gPiAg IE1kZU1vZHVsZVBrZy9WYXJpYWJsZTogUGFyYW1ldGVyaXplIFZBUklBQkxFX0lORk9fRU5UUlkg YnVmZmVyDQo+ID4gICBNZGVNb2R1bGVQa2cvVmFyaWFibGU6IFBhcmFtZXRlcml6ZSBhdXRoIHN0 YXR1cyBpbiBWYXJpYWJsZVBhcnNpbmcNCj4gPiAgIE1kZU1vZHVsZVBrZy9WYXJpYWJsZTogQWRk IGEgZmlsZSBmb3IgTlYgdmFyaWFibGUgZnVuY3Rpb25zDQo+ID4gICBNZGVNb2R1bGVQa2cgVmFy aWFibGVJbmZvOiBBbHdheXMgY29uc2lkZXIgUlQgRFhFIGFuZCBTTU0gc3RhdHMNCj4gPiAgIE1k ZU1vZHVsZVBrZy9WYXJpYWJsZTogQWRkIFJUIEdldFZhcmlhYmxlKCkgY2FjaGUgc3VwcG9ydA0K PiA+ICAgTWRlTW9kdWxlUGtnL1ZhcmlhYmxlOiBBZGQgUlQgR2V0TmV4dFZhcmlhYmxlTmFtZSgp IGNhY2hlIHN1cHBvcnQNCj4gPiAgIE92bWZQa2c6IERpc2FibGUgdmFyaWFibGUgcnVudGltZSBj YWNoZQ0KPiA+ICAgTWRlTW9kdWxlUGtnOiBFbmFibGUgdmFyaWFibGUgcnVudGltZSBjYWNoZSBi eSBkZWZhdWx0DQo+ID4NCj4gPiAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEyICsNCj4gPiAgT3ZtZlBrZy9P dm1mUGtnSWEzMi5kc2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAxICsNCj4gPiAgT3ZtZlBrZy9Pdm1mUGtnSWEzMlg2NC5kc2MgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsNCj4gPiAgT3ZtZlBrZy9Pdm1m UGtnWDY0LmRzYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgICAxICsNCj4gPiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhl L1ZhcmlhYmxlUnVudGltZUR4ZS5pbmYNCj4gfCAgICA2ICsNCj4gPiAgTWRlTW9kdWxlUGtnL1Vu aXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU21tLmluZiAgICAgICAgICAgfA0K PiA2ICsNCj4gPg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUv VmFyaWFibGVTbW1SdW50aW1lRHhlLmkNCj4gbmYgfCAgIDE4ICstDQo+ID4NCj4gTWRlTW9kdWxl UGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU3RhbmRhbG9uZU1tLmlu Zg0KPiB8ICAgIDYgKw0KPiA+ICBNZGVNb2R1bGVQa2cvSW5jbHVkZS9HdWlkL1NtbVZhcmlhYmxl Q29tbW9uLmggICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjkNCj4gKy0NCj4gPiAgTWRlTW9k dWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlLmggICAgICAgICAg ICAgICAgfCAgMTUxDQo+ICstLQ0KPiA+ICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxl L1J1bnRpbWVEeGUvVmFyaWFibGVOb25Wb2xhdGlsZS5oDQo+IHwgICA2NyArDQo+ID4gIE1kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVBhcnNpbmcuaCAg ICAgICAgIHwNCj4gMzQ3ICsrKysrDQo+ID4NCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJp YWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlUnVudGltZUNhY2hlLmgNCj4gfCAgIDUxICsNCj4gPiAg TWRlTW9kdWxlUGtnL0FwcGxpY2F0aW9uL1ZhcmlhYmxlSW5mby9WYXJpYWJsZUluZm8uYyAgICAg ICAgICAgICAgICAgfCAgIDM3ICstDQo+ID4gIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFi bGUvUnVudGltZUR4ZS9WYXJpYWJsZS5jICAgICAgICAgICAgICAgIHwgMTM3Mw0KPiArKysrLS0t LS0tLS0tLS0tLS0tLQ0KPiA+ICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRp bWVEeGUvVmFyaWFibGVFeExpYi5jICAgICAgICAgICB8DQo+IDI0ICstDQo+ID4gIE1kZU1vZHVs ZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZU5vblZvbGF0aWxlLmMN Cj4gfCAgMzM0ICsrKysrDQo+ID4gIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVu dGltZUR4ZS9WYXJpYWJsZVBhcnNpbmcuYyAgICAgICAgIHwNCj4gNzg2ICsrKysrKysrKysrDQo+ ID4gIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVJ1 bnRpbWVDYWNoZS5jDQo+IHwgIDE1MyArKysNCj4gPiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9W YXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU21tLmMgICAgICAgICAgICAgfA0KPiAxOTUgKyst DQo+ID4NCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1Zhcmlh YmxlU21tUnVudGltZUR4ZS4NCj4gYyAgIHwgIDY1NSArKysrKysrKystDQo+ID4gIDIxIGZpbGVz IGNoYW5nZWQsIDI5MjQgaW5zZXJ0aW9ucygrKSwgMTMyOSBkZWxldGlvbnMoLSkgIGNyZWF0ZSBt b2RlDQo+ID4gMTAwNjQ0DQo+ID4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50 aW1lRHhlL1ZhcmlhYmxlTm9uVm9sYXRpbGUuaA0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g PiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVQYXJz aW5nLmgNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gTWRlTW9kdWxlUGtnL1VuaXZlcnNh bC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlUnVudGltZUNhY2hlLmgNCj4gPiAgY3JlYXRl IG1vZGUgMTAwNjQ0DQo+ID4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1l RHhlL1ZhcmlhYmxlTm9uVm9sYXRpbGUuYw0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiBN ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVQYXJzaW5n LmMNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9W YXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlUnVudGltZUNhY2hlLmMNCj4gPg0KDQo=