From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 47927A04DC; Tue, 20 Oct 2020 16:08:40 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 60CD9AC5B; Tue, 20 Oct 2020 16:07:16 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 892D4AC46 for ; Tue, 20 Oct 2020 16:07:13 +0200 (CEST) IronPort-SDR: gA283E2uEqfJlaR/9z8tN0WCzS/YXAqahR85RKG7IYCeVZGT3x4IqhrkETMCw0GF8O+2x8iu11 9Ls72wKdppew== X-IronPort-AV: E=McAfee;i="6000,8403,9779"; a="166434543" X-IronPort-AV: E=Sophos;i="5.77,397,1596524400"; d="scan'208";a="166434543" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Oct 2020 07:07:12 -0700 IronPort-SDR: aDXAZaA1bgHOz35m1NG5FyqlHimWjxZirILzK+dwKh8nRT0UNLXQiA7aaLrYIHnkongyf1Zo/Z 30CNMruWPUZQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,397,1596524400"; d="scan'208";a="359184860" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga007.jf.intel.com with ESMTP; 20 Oct 2020 07:07:11 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 20 Oct 2020 07:07:11 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 20 Oct 2020 07:07:11 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 20 Oct 2020 07:07:11 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.176) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 20 Oct 2020 07:07:08 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SQNg//WNjBXv3ublF9bx60MvqGENsvKYEPpWjtxBISPBeCdLO4M7XLtc1GOA9HKbCjAyZ/BAavUTNEUzFGFbHYEg+14/K86XO9vNRT2hmzNr/YsNMvhBrYmCmW24KdAMKt2GKb40zmcDxM3+CCVbtumW+H1SWdMXzJ+Nb7xeVj2gbhfj99w1RnaioNUwjLlLDimP+YXdz7sId3FMQQF8YF6Sdsx2uhwIgpy6zvLQf4vPxvyFQNOHAo1IaNdfKSfIOTycZeIn6HvCScLNhwyfhbKKqHSj7K/TVZbzrb+Hn0J1T1DBwHFH3bXetUBmWH+Y77qlgCFH+cJBo7KmfIGViw== 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=GeRpAA7Tqz/uOjY6dIwcWsamETyOFSQXAgjeFrJ3jFg=; b=i0uMHuwcF2YFULzIgLLHQUNeuzUxuYjJtC8grf0JkzTAmAcstZMneI1Dfn/FqIbxSkvzKV6ElUyJBwwdztfjKKdKNX8GC/fX8bND3M5xo86IuWWTBXzMqZWHJQX6usPP1Q90ObvpxHsKDZLSiWJUcMR/Ke1mo/PdFL62W6x2lh7aBC89mZ8+zyHe/di4+MCdo1O0mv6GJ+IgkgEvLU4jhtuBmCfvpCZ1f2hVfjH/vc5skPZr8VASbMjr8UDan4h9RrLDEU+yduO2TyNPpUi161a8Pc77QAhOdQ+7rEF+Db/yvIC7q+FBhvLzo4pwnJdLWYJBqKZ7rvbT4LRhktzWpQ== 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=GeRpAA7Tqz/uOjY6dIwcWsamETyOFSQXAgjeFrJ3jFg=; b=bm52Zxcb+b4ktQB7k9M3goHUAwnbqufnThhn/evpQe/aseaBSEnAfUBsRWcXkiNvrofQ8uqT3vfZ69KXkpvce40y45UNNmuQaZkWkdXI9MiTD/j6Q4nxgPaubWjVdqSmFYsBEQic2DtgjcS7cjEHepAO8XXzOEQzkbPkjFx4fZY= Received: from SN6PR11MB3103.namprd11.prod.outlook.com (2603:10b6:805:d7::13) by SN6PR11MB3293.namprd11.prod.outlook.com (2603:10b6:805:be::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.27; Tue, 20 Oct 2020 14:07:04 +0000 Received: from SN6PR11MB3103.namprd11.prod.outlook.com ([fe80::41fb:70e6:6102:a616]) by SN6PR11MB3103.namprd11.prod.outlook.com ([fe80::41fb:70e6:6102:a616%7]) with mapi id 15.20.3477.028; Tue, 20 Oct 2020 14:07:04 +0000 From: "McDaniel, Timothy" To: Jerin Jacob CC: "Richardson, Bruce" , "Mcnamara, John" , "Kovacevic, Marko" , Ray Kinsella , Neil Horman , dpdk-dev , "Carrillo, Erik G" , "Eads, Gage" , "Van Haaren, Harry" , Jerin Jacob , Thomas Monjalon Thread-Topic: [dpdk-dev] [PATCH v2 01/22] event/dlb2: add documentation and meson build infrastructure Thread-Index: AQHWpSuei/E6j1Yiyk6N717ECjYmz6mgic4A Date: Tue, 20 Oct 2020 14:07:04 +0000 Message-ID: References: <1599855987-25976-2-git-send-email-timothy.mcdaniel@intel.com> <1602958879-8558-1-git-send-email-timothy.mcdaniel@intel.com> <1602958879-8558-2-git-send-email-timothy.mcdaniel@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [162.251.9.49] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fa2b56e9-f6ff-486a-7c50-08d875016c68 x-ms-traffictypediagnostic: SN6PR11MB3293: 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:2958; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0TG06ofMAR4Wc1/q5R0OnrGFYnyh+JNDQ9VrgwuNDletOVXS4IJE0dfAZEZDclWhBOe1X3opTN8WSRTTVBJ2YvINQQVq8LWtcqVTjEdm5dB6G1LKGi7a/VL3Q5L0I7xcAvUPM4FsGQXZ/2PmBsGvnRpSxu3aLUh/Bg81kprPDMetldeOkUR0r8np7UdTfv222Z0Fy988bVkdzHwkVkqkl+2IBzlapUXnS1gdGvTjmk+AcUuD5YfALF3yLn6jVK68KCM6z+9t9Il2D7YwqSXwxn7xpEk+hqcc7TeGSm8/wr1WasJErNx4uZvC0zksbDqp x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3103.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(366004)(136003)(396003)(39860400002)(66446008)(64756008)(66556008)(52536014)(26005)(8676002)(6506007)(5660300002)(71200400001)(9686003)(54906003)(316002)(186003)(83380400001)(2906002)(76116006)(33656002)(6916009)(53546011)(66476007)(4326008)(86362001)(30864003)(7696005)(8936002)(478600001)(55016002)(66946007)(579004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: oO3lUF4kbcRI5SLKV3PSsE0tEVTwlIva+fobXrUPwPqIsm6UdIeXJ2u94f1SzywFr8vzhOh1pp+Q6VEdURHGH5CDIfFUspJRbX+IbsromiMNHcF8aIFONbuoRe2K8UrhU7quIcgLFfclaEZzjVT3ex94InecJz7N/wnr9ETxHge2Yzhon30d8ui0Nxdzvz0VB1QCqEzJduOONBh7BKCGvesGcGxEjto7NaYC9g9oUJPU0hRQj/WZYskWT8zF7Cd5btA4EXoj9tUpAmtOZvtMa5dLpbA5w1DCOt3GN0/0M7+sHHORB+ENJ7v7z6AQqtapZ10Do9ID1Pk+j45vQ+zUMnzyIy0cREpeWRQLKlKATVX21+0I8AZq69CiICGCVhsg+rzzWP1TcBKcQSfK9IQhUYjvmXwvKfo5nLBL/QZ7BeZ0EvUaAOnNvJ3IyxxWkjaYgSO3kgmqRkbktZL/H3qsgFmhrWlaJXRLbkwfB2483Gf9uNskkHtnklkXeq+6cEUTaPG5YNrd9OKvSwrG53SXWvRhU/o5gFMIcscXkzxc5hgbJOjN/YeuFqc64sGdTNId6htY8is6hqeSV8JEy/tFFi4KfSO5QNBDQVKhj/kmAiuSMmIXb0uVcn4Q5TnK2qMnzcu6H6Gefvj94BBHiOFR0g== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB3103.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fa2b56e9-f6ff-486a-7c50-08d875016c68 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Oct 2020 14:07:04.5829 (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: jdaqYH7C7hOEPxCcuxi0WzRcc/5JGcOdlnAb8XtYXpiQug19E88rS7jaL+AMiEHa2eO24ulci9wK+FWAPgq7lrP/PY13vKS31MwWYOyQj1E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3293 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 01/22] event/dlb2: add documentation and meson build infrastructure X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4gSmFjb2IgPGpl cmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogU3VuZGF5LCBPY3RvYmVyIDE4LCAyMDIwIDM6 NDkgQU0NCj4gVG86IE1jRGFuaWVsLCBUaW1vdGh5IDx0aW1vdGh5Lm1jZGFuaWVsQGludGVsLmNv bT4NCj4gQ2M6IFJpY2hhcmRzb24sIEJydWNlIDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT47 IE1jbmFtYXJhLCBKb2huDQo+IDxqb2huLm1jbmFtYXJhQGludGVsLmNvbT47IEtvdmFjZXZpYywg TWFya28NCj4gPE1hcmtvLktvdmFjZXZpY0BpbnRlbC5jb20+OyBSYXkgS2luc2VsbGEgPG1kckBh c2hyb2UuZXU+OyBOZWlsIEhvcm1hbg0KPiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPjsgZHBkay1k ZXYgPGRldkBkcGRrLm9yZz47IENhcnJpbGxvLCBFcmlrIEcNCj4gPEVyaWsuRy5DYXJyaWxsb0Bp bnRlbC5jb20+OyBFYWRzLCBHYWdlIDxnYWdlLmVhZHNAaW50ZWwuY29tPjsgVmFuIEhhYXJlbiwN Cj4gSGFycnkgPGhhcnJ5LnZhbi5oYWFyZW5AaW50ZWwuY29tPjsgSmVyaW4gSmFjb2IgPGplcmlu akBtYXJ2ZWxsLmNvbT47DQo+IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD4N Cj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYyIDAxLzIyXSBldmVudC9kbGIyOiBh ZGQgZG9jdW1lbnRhdGlvbiBhbmQNCj4gbWVzb24gYnVpbGQgaW5mcmFzdHJ1Y3R1cmUNCj4gDQo+ IE9uIFNhdCwgT2N0IDE3LCAyMDIwIGF0IDExOjUwIFBNIFRpbW90aHkgTWNEYW5pZWwNCj4gPHRp bW90aHkubWNkYW5pZWxAaW50ZWwuY29tPiB3cm90ZToNCj4gPg0KPiA+IEFkZHMgdGhlIG1lc29u IGJ1aWxkIGluZnJhc3RydWN0dXJlLCB3aGljaCBpbmNsdWRlcw0KPiA+IGNvbXBpbGUtdGltZSBj b25zdGFudHMgaW4gcnRlX2NvbmZpZy5oLiBETEIyIGlzDQo+ID4gb25seSBzdXBwb3J0ZWQgb24g TGludXggWDg2IHBsYXRmb3JtcyBhdCB0aGlzIHRpbWUuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5 OiBUaW1vdGh5IE1jRGFuaWVsIDx0aW1vdGh5Lm1jZGFuaWVsQGludGVsLmNvbT4NCj4gPiBSZXZp ZXdlZC1ieTogR2FnZSBFYWRzIDxnYWdlLmVhZHNAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBj b25maWcvcnRlX2NvbmZpZy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICsN Cj4gPiAgZG9jL2d1aWRlcy9ldmVudGRldnMvZGxiMi5yc3QgICAgICAgICAgICAgICAgICAgICB8 IDMzMCArKysrKysrKysrKysrKysrKysrKysrDQo+ID4gIGRvYy9ndWlkZXMvZXZlbnRkZXZzL2lu ZGV4LnJzdCAgICAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPiA+ICBkcml2ZXJzL2V2ZW50L2Rs YjIvbWVzb24uYnVpbGQgICAgICAgICAgICAgICAgICAgIHwgICA3ICsNCj4gPiAgZHJpdmVycy9l dmVudC9kbGIyL3J0ZV9wbWRfZGxiMl9ldmVudF92ZXJzaW9uLm1hcCB8ICAgMyArDQo+ID4gIGRy aXZlcnMvZXZlbnQvbWVzb24uYnVpbGQgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMgKw0K PiA+ICA2IGZpbGVzIGNoYW5nZWQsIDM1MSBpbnNlcnRpb25zKCspDQo+ID4gIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkb2MvZ3VpZGVzL2V2ZW50ZGV2cy9kbGIyLnJzdA0KPiA+ICBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9ldmVudC9kbGIyL21lc29uLmJ1aWxkDQo+ID4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL2V2ZW50L2RsYjIvcnRlX3BtZF9kbGIyX2V2ZW50X3ZlcnNpb24ubWFwDQo+ ID4NCj4gPiBkaWZmIC0tZ2l0IGEvY29uZmlnL3J0ZV9jb25maWcuaCBiL2NvbmZpZy9ydGVfY29u ZmlnLmgNCj4gPiBpbmRleCAwYmFlNjMwLi5mZDFiM2MzIDEwMDY0NA0KPiA+IC0tLSBhL2NvbmZp Zy9ydGVfY29uZmlnLmgNCj4gPiArKysgYi9jb25maWcvcnRlX2NvbmZpZy5oDQo+ID4gQEAgLTEz MSw0ICsxMzEsMTEgQEANCj4gPiAgLyogUUVERSBQTUQgZGVmaW5lcyAqLw0KPiA+ICAjZGVmaW5l IFJURV9MSUJSVEVfUUVERV9GVyAiIg0KPiA+DQo+ID4gKy8qIERMQjIgZGVmaW5lcyAqLw0KPiA+ ICsjZGVmaW5lIFJURV9MSUJSVEVfUE1EX0RMQjJfUE9MTF9JTlRFUlZBTCAxMDAwDQo+ID4gKyNk ZWZpbmUgUlRFX0xJQlJURV9QTURfRExCMl9VTVdBSVRfQ1RMX1NUQVRFICAwDQo+ID4gKyN1bmRl ZiBSVEVfTElCUlRFX1BNRF9ETEIyX1FVRUxMX1NUQVRTDQo+ID4gKyNkZWZpbmUgUlRFX0xJQlJU RV9QTURfRExCMl9TV19DUkVESVRfUVVBTlRBIDMyDQo+ID4gKyNkZWZpbmUgUlRFX1BNRF9ETEIy X0RFRkFVTFRfREVQVEhfVEhSRVNIIDI1Ng0KPiANCj4gV2UgYXJlIGdvaW5nIHdheSB3aXRoIEdM T0JBTCBjb21waWxlIHRpbWUgb3B0aW9ucyBmb3IgZHJpdmVycy4NCj4gSSB0aGluaywgIHdlIHNo b3VsZCBtb3ZlIHRvIGRyaXZlci1zcGVjaWZpYyBmb2xkZXIgbm90IHBvbGx1dGUgdG9wDQo+IGxl dmVsIGNvbmZpZyBmaWxlLg0KPiBAUmljaGFyZHNvbiwgQnJ1Y2UgIEBUaG9tYXMgTW9uamFsb24g IFRob3VnaHRzPw0KPiANCj4gDQo+ID4gKw0KPiA+ICAjZW5kaWYgLyogX1JURV9DT05GSUdfSF8g Ki8NCj4gPiBkaWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9ldmVudGRldnMvZGxiMi5yc3QgYi9kb2Mv Z3VpZGVzL2V2ZW50ZGV2cy9kbGIyLnJzdA0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4g aW5kZXggMDAwMDAwMC4uZmE4ZDZkZA0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9kb2Mv Z3VpZGVzL2V2ZW50ZGV2cy9kbGIyLnJzdA0KPiA+IEBAIC0wLDAgKzEsMzMwIEBADQo+ID4gKy4u ICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+ID4gKyAgICBDb3B5cmln aHQoYykgMjAyMCBJbnRlbCBDb3Jwb3JhdGlvbi4NCj4gPiArDQo+ID4gK0RyaXZlciBmb3IgdGhl IEludGVswq4gRHluYW1pYyBMb2FkIEJhbGFuY2VyIChETEIyKQ0KPiA+ICs9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA+ICsNCj4gPiArVGhlIERQ REsgZGxiIHBvbGwgbW9kZSBkcml2ZXIgc3VwcG9ydHMgdGhlIEludGVswq4gRHluYW1pYyBMb2Fk IEJhbGFuY2VyLg0KPiA+ICsNCj4gPiArUHJlcmVxdWlzaXRlcw0KPiA+ICstLS0tLS0tLS0tLS0t DQo+ID4gKw0KPiA+ICtGb2xsb3cgdGhlIERQREsgOnJlZjpgR2V0dGluZyBTdGFydGVkIEd1aWRl IGZvciBMaW51eCA8bGludXhfZ3NnPmAgdG8gc2V0dXANCj4gPiArdGhlIGJhc2ljIERQREsgZW52 aXJvbm1lbnQuDQo+ID4gKw0KPiA+ICtDb25maWd1cmF0aW9uDQo+ID4gKy0tLS0tLS0tLS0tLS0N Cj4gPiArDQo+ID4gK1RoZSBETEIyIFBGIFBNRCBpcyBhIHVzZXItc3BhY2UgUE1EIHRoYXQgdXNl cyBWRklPIHRvIGdhaW4gZGlyZWN0DQo+ID4gK2RldmljZSBhY2Nlc3MuIFRvIHVzZSB0aGlzIG9w ZXJhdGlvbiBtb2RlLCB0aGUgUENJZSBQRiBkZXZpY2UgbXVzdCBiZSBib3VuZA0KPiA+ICt0byBh IERQREstY29tcGF0aWJsZSBWRklPIGRyaXZlciwgc3VjaCBhcyB2ZmlvLXBjaS4NCj4gPiArDQo+ ID4gK0V2ZW50ZGV2IEFQSSBOb3Rlcw0KPiA+ICstLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiArDQo+ ID4gK1RoZSBETEIyIHByb3ZpZGVzIHRoZSBmdW5jdGlvbnMgb2YgYSBEUERLIGV2ZW50IGRldmlj ZTsgc3BlY2lmaWNhbGx5LCBpdA0KPiA+ICtzdXBwb3J0cyBhdG9taWMsIG9yZGVyZWQsIGFuZCBw YXJhbGxlbCBzY2hlZHVsaW5nIGV2ZW50cyBmcm9tIHF1ZXVlcyB0bw0KPiBwb3J0cy4NCj4gPiAr SG93ZXZlciwgdGhlIERMQjIgaGFyZHdhcmUgaXMgbm90IGEgcGVyZmVjdCBtYXRjaCB0byB0aGUg ZXZlbnRkZXYgQVBJLg0KPiBTb21lIERMQjINCj4gPiArZmVhdHVyZXMgYXJlIGFic3RyYWN0ZWQg YnkgdGhlIFBNRCBzdWNoIGFzIGRpcmVjdGVkIHBvcnRzLg0KPiA+ICsNCj4gPiArSW4gZ2VuZXJh bCB0aGUgZGxiIFBNRCBpcyBkZXNpZ25lZCBmb3IgZWFzZS1vZi11c2UgYW5kIGRvZXMgbm90IHJl cXVpcmUgYQ0KPiA+ICtkZXRhaWxlZCB1bmRlcnN0YW5kaW5nIG9mIHRoZSBoYXJkd2FyZSwgYnV0 IHRoZXNlIGRldGFpbHMgYXJlIGltcG9ydGFudA0KPiB3aGVuDQo+ID4gK3dyaXRpbmcgaGlnaC1w ZXJmb3JtYW5jZSBjb2RlLiBUaGlzIHNlY3Rpb24gZGVzY3JpYmVzIHRoZSBwbGFjZXMgd2hlcmUg dGhlDQo+ID4gK2V2ZW50ZGV2IEFQSSBhbmQgRExCMiBtaXNhbGlnbi4NCj4gPiArDQo+ID4gK1Nj aGVkdWxpbmcgRG9tYWluIENvbmZpZ3VyYXRpb24NCj4gPiArfn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fg0KPiA+ICsNCj4gPiArVGhlcmUgYXJlIDMyIHNjaGVkdWxpbmcgZG9tYWluaXMg dGhlIERMQjIuDQo+ID4gK1doZW4gb25lIGlzIGNvbmZpZ3VyZWQsIGl0IGFsbG9jYXRlcyBsb2Fk LWJhbGFuY2VkIGFuZA0KPiA+ICtkaXJlY3RlZCBxdWV1ZXMsIHBvcnRzLCBjcmVkaXRzLCBhbmQg b3RoZXIgaGFyZHdhcmUgcmVzb3VyY2VzLiBTb21lDQo+ID4gK3Jlc291cmNlIGFsbG9jYXRpb25z IGFyZSB1c2VyLWNvbnRyb2xsZWQgLS0gdGhlIG51bWJlciBvZiBxdWV1ZXMsIGZvcg0KPiBleGFt cGxlDQo+ID4gKy0tIGFuZCBvdGhlcnMsIGxpa2UgY3JlZGl0IHBvb2xzIChvbmUgZGlyZWN0ZWQg YW5kIG9uZSBsb2FkLWJhbGFuY2VkIHBvb2wgcGVyDQo+ID4gK3NjaGVkdWxpbmcgZG9tYWluKSwg YXJlIG5vdC4NCj4gPiArDQo+ID4gK1RoZSBETEIyIGlzIGEgY2xvc2VkIHN5c3RlbSBldmVudGRl diwgYW5kIGFzIHN1Y2ggdGhlIGBgbmJfZXZlbnRzX2xpbWl0YGANCj4gZGV2aWNlDQo+ID4gK3Nl dHVwIGFyZ3VtZW50IGFuZCB0aGUgcGVyLXBvcnQgYGBuZXdfZXZlbnRfdGhyZXNob2xkYGAgYXJn dW1lbnQgYXBwbHkgYXMNCj4gPiArZGVmaW5lZCBpbiB0aGUgZXZlbnRkZXYgaGVhZGVyIGZpbGUu IFRoZSBsaW1pdCBpcyBhcHBsaWVkIHRvIGFsbCBlbnF1ZXVlcywNCj4gPiArcmVnYXJkbGVzcyBv ZiB3aGV0aGVyIGl0IHdpbGwgY29uc3VtZSBhIGRpcmVjdGVkIG9yIGxvYWQtYmFsYW5jZWQgY3Jl ZGl0Lg0KPiA+ICsNCj4gPiArTG9hZC1iYWxhbmNlZCBhbmQgRGlyZWN0ZWQgUG9ydHMNCj4gPiAr fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCj4gPiArDQo+ID4gK0RMQjIgcG9ydHMg Y29tZSBpbiB0d28gZmxhdm9yczogbG9hZC1iYWxhbmNlZCBhbmQgZGlyZWN0ZWQuIFRoZSBldmVu dGRldg0KPiBBUEkNCj4gPiArZG9lcyBub3QgaGF2ZSB0aGUgc2FtZSBjb25jZXB0LCBidXQgaXQg aGFzIGEgc2ltaWxhciBvbmU6IHBvcnRzIGFuZCBxdWV1ZXMNCj4gdGhhdA0KPiA+ICthcmUgc2lu Z2x5LWxpbmtlZCAoaS5lLiBsaW5rZWQgdG8gYSBzaW5nbGUgcXVldWUgb3IgcG9ydCwgcmVzcGVj dGl2ZWx5KS4NCj4gPiArDQo+ID4gK1RoZSBgYHJ0ZV9ldmVudF9kZXZfaW5mb19nZXQoKWBgIGZ1 bmN0aW9uIHJlcG9ydHMgdGhlIG51bWJlciBvZiBhdmFpbGFibGUNCj4gPiArZXZlbnQgcG9ydHMg YW5kIHF1ZXVlcyAoYW1vbmcgb3RoZXIgdGhpbmdzKS4gRm9yIHRoZSBETEIyIFBNRCwNCj4gbWF4 X2V2ZW50X3BvcnRzDQo+ID4gK2FuZCBtYXhfZXZlbnRfcXVldWVzIHJlcG9ydCB0aGUgbnVtYmVy IG9mIGF2YWlsYWJsZSBsb2FkLWJhbGFuY2VkIHBvcnRzDQo+IGFuZA0KPiA+ICtxdWV1ZXMsIGFu ZCBtYXhfc2luZ2xlX2xpbmtfZXZlbnRfcG9ydF9xdWV1ZV9wYWlycyByZXBvcnRzIHRoZSBudW1i ZXIgb2YNCj4gPiArYXZhaWxhYmxlIGRpcmVjdGVkIHBvcnRzIGFuZCBxdWV1ZXMuDQo+ID4gKw0K PiA+ICtXaGVuIGEgc2NoZWR1bGluZyBkb21haW4gaXMgY3JlYXRlZCBpbiBgYHJ0ZV9ldmVudF9k ZXZfY29uZmlndXJlKClgYCwgdGhlDQo+IHVzZXINCj4gPiArc3BlY2lmaWVzIGBgbmJfZXZlbnRf cG9ydHNgYCBhbmQgYGBuYl9zaW5nbGVfbGlua19ldmVudF9wb3J0X3F1ZXVlc2BgLCB3aGljaA0K PiA+ICtjb250cm9sIHRoZSB0b3RhbCBudW1iZXIgb2YgcG9ydHMgKGxvYWQtYmFsYW5jZWQgYW5k IGRpcmVjdGVkKSBhbmQgdGhlDQo+IG51bWJlcg0KPiA+ICtvZiBkaXJlY3RlZCBwb3J0cy4gSGVu Y2UsIHRoZSBudW1iZXIgb2YgcmVxdWVzdGVkIGxvYWQtYmFsYW5jZWQgcG9ydHMgaXMNCj4gPiAr YGBuYl9ldmVudF9wb3J0cyAtIG5iX3NpbmdsZV9saW5rX2V2ZW50X3BvcnRzYGAuIFRoZSBgYG5i X2V2ZW50X3F1ZXVlc2BgDQo+IGZpZWxkDQo+ID4gK3NwZWNpZmllcyB0aGUgdG90YWwgbnVtYmVy IG9mIHF1ZXVlcyAobG9hZC1iYWxhbmNlZCBhbmQgZGlyZWN0ZWQpLiBUaGUNCj4gbnVtYmVyDQo+ ID4gK29mIGRpcmVjdGVkIHF1ZXVlcyBjb21lcyBmcm9tIGBgbmJfc2luZ2xlX2xpbmtfZXZlbnRf cG9ydF9xdWV1ZXNgYCwgc2luY2UNCj4gPiArZGlyZWN0ZWQgcG9ydHMgYW5kIHF1ZXVlcyBjb21l IGluIHBhaXJzLg0KPiA+ICsNCj4gPiArV2hlbiBhIHBvcnQgaXMgc2V0dXAsIHRoZSBgYFJURV9F VkVOVF9QT1JUX0NGR19TSU5HTEVfTElOS2BgIGZsYWcNCj4gZGV0ZXJtaW5lcw0KPiA+ICt3aGV0 aGVyIGl0IHNob3VsZCBiZSBjb25maWd1cmVkIGFzIGEgZGlyZWN0ZWQgKHRoZSBmbGFnIGlzIHNl dCkgb3IgYQ0KPiA+ICtsb2FkLWJhbGFuY2VkICh0aGUgZmxhZyBpcyB1bnNldCkgcG9ydC4gU2lt aWxhcmx5LCB0aGUNCj4gPiArYGBSVEVfRVZFTlRfUVVFVUVfQ0ZHX1NJTkdMRV9MSU5LYGAgcXVl dWUgY29uZmlndXJhdGlvbiBmbGFnIGNvbnRyb2xzDQo+ID4gK3doZXRoZXIgaXQgaXMgYSBkaXJl Y3RlZCBvciBsb2FkLWJhbGFuY2VkIHF1ZXVlLg0KPiA+ICsNCj4gPiArTG9hZC1iYWxhbmNlZCBw b3J0cyBjYW4gb25seSBiZSBsaW5rZWQgdG8gbG9hZC1iYWxhbmNlZCBxdWV1ZXMsIGFuZA0KPiBk aXJlY3RlZA0KPiA+ICtwb3J0cyBjYW4gb25seSBiZSBsaW5rZWQgdG8gZGlyZWN0ZWQgcXVldWVz LiBGdXJ0aGVybW9yZSwgZGlyZWN0ZWQgcG9ydHMgY2FuDQo+ID4gK29ubHkgYmUgbGlua2VkIHRv IGEgc2luZ2xlIGRpcmVjdGVkIHF1ZXVlIChhbmQgdmljZSB2ZXJzYSksIGFuZCB0aGF0IGxpbmsN Cj4gPiArY2Fubm90IGNoYW5nZSBhZnRlciB0aGUgZXZlbnRkZXYgaXMgc3RhcnRlZC4NCj4gPiAr DQo+ID4gK1RoZSBldmVudGRldiBBUEkgZG9lcyBub3QgaGF2ZSBhIGRpcmVjdGVkIHNjaGVkdWxp bmcgdHlwZS4gVG8gc3VwcG9ydA0KPiBkaXJlY3RlZA0KPiA+ICt0cmFmZmljLCB0aGUgZGxiIFBN RCBkZXRlY3RzIHdoZW4gYW4gZXZlbnQgaXMgYmVpbmcgc2VudCB0byBhIGRpcmVjdGVkIHF1ZXVl DQo+ID4gK2FuZCBvdmVycmlkZXMgaXRzIHNjaGVkdWxpbmcgdHlwZS4gTm90ZSB0aGF0IHRoZSBv cmlnaW5hbGx5IHNlbGVjdGVkIHNjaGVkdWxpbmcNCj4gPiArdHlwZSAoYXRvbWljLCBvcmRlcmVk LCBvciBwYXJhbGxlbCkgaXMgbm90IHByZXNlcnZlZCwgYW5kIGFuIGV2ZW50J3MNCj4gc2NoZWRf dHlwZQ0KPiA+ICt3aWxsIGJlIHNldCB0byBgYFJURV9TQ0hFRF9UWVBFX0FUT01JQ2BgIHdoZW4g aXQgaXMgZGVxdWV1ZWQgZnJvbSBhDQo+IGRpcmVjdGVkDQo+ID4gK3BvcnQuDQo+ID4gKw0KPiA+ ICtGbG93IElEDQo+ID4gK35+fn5+fn4NCj4gPiArDQo+ID4gK1RoZSBmbG93IElEIGZpZWxkIGlz IHByZXNlcnZlZCBpbiB0aGUgZXZlbnQgd2hlbiBpdCBpcyBzY2hlZHVsZWQgaW4gdGhlDQo+ID4g K0RMQjIuDQo+ID4gKw0KPiA+ICtIYXJkd2FyZSBDcmVkaXRzDQo+ID4gK35+fn5+fn5+fn5+fn5+ fn4NCj4gPiArDQo+ID4gK0RMQjIgdXNlcyBhIGhhcmR3YXJlIGNyZWRpdCBzY2hlbWUgdG8gcHJl dmVudCBzb2Z0d2FyZSBmcm9tIG92ZXJmbG93aW5nDQo+IGhhcmR3YXJlDQo+ID4gK2V2ZW50IHN0 b3JhZ2UsIHdpdGggZWFjaCB1bml0IG9mIHN0b3JhZ2UgcmVwcmVzZW50ZWQgYnkgYSBjcmVkaXQu IEEgcG9ydA0KPiBzcGVuZHMNCj4gPiArYSBjcmVkaXQgdG8gZW5xdWV1ZSBhbiBldmVudCwgYW5k IGhhcmR3YXJlIHJlZmlsbHMgdGhlIHBvcnRzIHdpdGggY3JlZGl0cyBhcw0KPiB0aGUNCj4gPiAr ZXZlbnRzIGFyZSBzY2hlZHVsZWQgdG8gcG9ydHMuIFJlZmlsbHMgY29tZSBmcm9tIGNyZWRpdCBw b29scywgYW5kIGVhY2ggcG9ydA0KPiBpcw0KPiA+ICthIG1lbWJlciBvZiBhIGxvYWQtYmFsYW5j ZWQgY3JlZGl0IHBvb2wgYW5kIGEgZGlyZWN0ZWQgY3JlZGl0IHBvb2wuIFRoZQ0KPiA+ICtsb2Fk LWJhbGFuY2VkIGNyZWRpdHMgYXJlIHVzZWQgdG8gZW5xdWV1ZSB0byBsb2FkLWJhbGFuY2VkIHF1 ZXVlcywgYW5kDQo+IGRpcmVjdGVkDQo+ID4gK2NyZWRpdHMgYXJlIHVzZWQgZm9yIGRpcmVjdGVk IHF1ZXVlcy4NCj4gPiArDQo+ID4gK0EgRExCMiBldmVudGRldiBjb250YWlucyBvbmUgbG9hZC1i YWxhbmNlZCBhbmQgb25lIGRpcmVjdGVkIGNyZWRpdCBwb29sLg0KPiBUaGVzZQ0KPiA+ICtwb29s cycgc2l6ZXMgYXJlIGNvbnRyb2xsZWQgYnkgdGhlIG5iX2V2ZW50c19saW1pdCBmaWVsZCBpbiBz dHJ1Y3QNCj4gPiArcnRlX2V2ZW50X2Rldl9jb25maWcuIFRoZSBsb2FkLWJhbGFuY2VkIHBvb2wg aXMgc2l6ZWQgdG8gY29udGFpbg0KPiA+ICtuYl9ldmVudHNfbGltaXQgY3JlZGl0cywgYW5kIHRo ZSBkaXJlY3RlZCBwb29sIGlzIHNpemVkIHRvIGNvbnRhaW4NCj4gPiArbmJfZXZlbnRzX2xpbWl0 LzQgY3JlZGl0cy4gVGhlIGRpcmVjdGVkIHBvb2wgc2l6ZSBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRo IHRoZQ0KPiA+ICtudW1fZGlyX2NyZWRpdHMgdmRldiBhcmd1bWVudCwgbGlrZSBzbzoNCj4gPiAr DQo+ID4gKyAgICAuLiBjb2RlLWJsb2NrOjogY29uc29sZQ0KPiA+ICsNCj4gPiArICAgICAgIC0t dmRldj1kbGIxX2V2ZW50LG51bV9kaXJfY3JlZGl0cz08dmFsdWU+DQo+ID4gKw0KPiA+ICtUaGlz IGNhbiBiZSB1c2VkIGlmIHRoZSBkZWZhdWx0IGFsbG9jYXRpb24gaXMgdG9vIGxvdyBvciB0b28g aGlnaCBmb3IgdGhlDQo+ID4gK3NwZWNpZmljIGFwcGxpY2F0aW9uIG5lZWRzLiBUaGUgUE1EIGFs c28gc3VwcG9ydHMgYSB2ZGV2IGFyZyB0aGF0IGxpbWl0cyB0aGUNCj4gPiArbWF4X251bV9ldmVu dHMgcmVwb3J0ZWQgYnkgcnRlX2V2ZW50X2Rldl9pbmZvX2dldCgpOg0KPiA+ICsNCj4gPiArICAg IC4uIGNvZGUtYmxvY2s6OiBjb25zb2xlDQo+ID4gKw0KPiA+ICsgICAgICAgLS12ZGV2PWRsYjFf ZXZlbnQsbWF4X251bV9ldmVudHM9PHZhbHVlPg0KPiA+ICsNCj4gPiArQnkgZGVmYXVsdCwgbWF4 X251bV9ldmVudHMgaXMgcmVwb3J0ZWQgYXMgdGhlIHRvdGFsIGF2YWlsYWJsZSBsb2FkLWJhbGFu Y2VkDQo+ID4gK2NyZWRpdHMuIElmIG11bHRpcGxlIERMQjItYmFzZWQgYXBwbGljYXRpb25zIGFy ZSBiZWluZyB1c2VkLCBpdCBtYXkgYmUNCj4gZGVzaXJhYmxlDQo+ID4gK3RvIGNvbnRyb2wgaG93 IG1hbnkgbG9hZC1iYWxhbmNlZCBjcmVkaXRzIGVhY2ggYXBwbGljYXRpb24gdXNlcywgcGFydGlj dWxhcmx5DQo+ID4gK3doZW4gYXBwbGljYXRpb24ocykgYXJlIHdyaXR0ZW4gdG8gY29uZmlndXJl IG5iX2V2ZW50c19saW1pdCBlcXVhbCB0byB0aGUNCj4gPiArcmVwb3J0ZWQgbWF4X251bV9ldmVu dHMuDQo+ID4gKw0KPiA+ICtFYWNoIHBvcnQgaXMgYSBtZW1iZXIgb2YgYm90aCBjcmVkaXQgcG9v bHMuIEEgcG9ydCdzIGNyZWRpdCBhbGxvY2F0aW9uIGlzDQo+ID4gK2RlZmluZWQgYnkgaXRzIGxv dyB3YXRlcm1hcmssIGhpZ2ggd2F0ZXJtYXJrLCBhbmQgcmVmaWxsIHF1YW50YS4gVGhlc2UgdGhy ZWUNCj4gPiArcGFyYW1ldGVycyBhcmUgY2FsY3VsYXRlZCBieSB0aGUgZGxiIFBNRCBsaWtlIHNv Og0KPiA+ICsNCj4gPiArLSBUaGUgbG9hZC1iYWxhbmNlZCBoaWdoIHdhdGVybWFyayBpcyBzZXQg dG8gdGhlIHBvcnQncyBlbnF1ZXVlX2RlcHRoLg0KPiA+ICsgIFRoZSBkaXJlY3RlZCBoaWdoIHdh dGVybWFyayBpcyBzZXQgdG8gdGhlIG1pbmltdW0gb2YgdGhlIGVucXVldWVfZGVwdGgNCj4gYW5k DQo+ID4gKyAgdGhlIGRpcmVjdGVkIHBvb2wgc2l6ZSBkaXZpZGVkIGJ5IHRoZSB0b3RhbCBudW1i ZXIgb2YgcG9ydHMuDQo+ID4gKy0gVGhlIHJlZmlsbCBxdWFudGEgaXMgc2V0IHRvIGhhbGYgdGhl IGhpZ2ggd2F0ZXJtYXJrLg0KPiA+ICstIFRoZSBsb3cgd2F0ZXJtYXJrIGlzIHNldCB0byB0aGUg bWluaW11bSBvZiAxNiBhbmQgdGhlIHJlZmlsbCBxdWFudGEuDQo+ID4gKw0KPiA+ICtXaGVuIHRo ZSBldmVudGRldiBpcyBzdGFydGVkLCBlYWNoIHBvcnQgaXMgcHJlLWFsbG9jYXRlZCBhIGhpZ2gg d2F0ZXJtYXJrJ3MNCj4gPiArd29ydGggb2YgY3JlZGl0cy4gRm9yIGV4YW1wbGUsIGlmIGFuIGV2 ZW50ZGV2IGNvbnRhaW5zIGZvdXIgcG9ydHMgd2l0aA0KPiBlbnF1ZXVlDQo+ID4gK2RlcHRocyBv ZiAzMiBhbmQgYSBsb2FkLWJhbGFuY2VkIGNyZWRpdCBwb29sIHNpemUgb2YgNDA5NiwgZWFjaCBw b3J0IHdpbGwgc3RhcnQNCj4gPiArd2l0aCAzMiBsb2FkLWJhbGFuY2VkIGNyZWRpdHMsIGFuZCB0 aGVyZSB3aWxsIGJlIDM5NjggY3JlZGl0cyBhdmFpbGFibGUgdG8NCj4gPiArcmVwbGVuaXNoIHRo ZSBwb3J0cy4gVGh1cywgYSBzaW5nbGUgcG9ydCBpcyBub3QgY2FwYWJsZSBvZiBlbnF1ZXVlaW5n IHVwIHRvIHRoZQ0KPiA+ICtuYl9ldmVudHNfbGltaXQgKHdpdGhvdXQgYW55IGV2ZW50cyBiZWlu ZyBkZXF1ZXVlZCksIHNpbmNlIHRoZSBvdGhlciBwb3J0cw0KPiBhcmUNCj4gPiArcmV0YWluaW5n IHRoZWlyIGluaXRpYWwgY3JlZGl0IGFsbG9jYXRpb247IGluIHNob3J0LCBhbGwgcG9ydHMgbXVz dCBlbnF1ZXVlIGluDQo+ID4gK29yZGVyIHRvIHJlYWNoIHRoZSBsaW1pdC4NCj4gPiArDQo+ID4g K0lmIGEgcG9ydCBhdHRlbXB0cyB0byBlbnF1ZXVlIGFuZCBoYXMgbm8gY3JlZGl0cyBhdmFpbGFi bGUsIHRoZSBlbnF1ZXVlDQo+ID4gK29wZXJhdGlvbiB3aWxsIGZhaWwgYW5kIHRoZSBhcHBsaWNh dGlvbiBtdXN0IHJldHJ5IHRoZSBlbnF1ZXVlLiBDcmVkaXRzIGFyZQ0KPiA+ICtyZXBsZW5pc2hl ZCBhc3luY2hyb25vdXNseSBieSB0aGUgRExCMiBoYXJkd2FyZS4NCj4gPiArDQo+ID4gK1NvZnR3 YXJlIENyZWRpdHMNCj4gPiArfn5+fn5+fn5+fn5+fn5+fg0KPiA+ICsNCj4gPiArVGhlIERMQjIg aXMgYSAiY2xvc2VkIHN5c3RlbSIgZXZlbnQgZGV2LCBhbmQgdGhlIERMQjIgUE1EIGxheWVycyBh DQo+IHNvZnR3YXJlDQo+ID4gK2NyZWRpdCBzY2hlbWUgb24gdG9wIG9mIHRoZSBoYXJkd2FyZSBj cmVkaXQgc2NoZW1lIGluIG9yZGVyIHRvIGNvbXBseSB3aXRoDQo+ID4gK3RoZSBwZXItcG9ydCBi YWNrcHJlc3N1cmUgZGVzY3JpYmVkIGluIHRoZSBldmVudGRldiBBUEkuDQo+ID4gKw0KPiA+ICtU aGUgRExCMidzIGhhcmR3YXJlIHNjaGVtZSBpcyBsb2NhbCB0byBhIHF1ZXVlL3BpcGVsaW5lIHN0 YWdlOiBhIHBvcnQgc3BlbmRzDQo+IGENCj4gPiArY3JlZGl0IHdoZW4gaXQgZW5xdWV1ZXMgdG8g YSBxdWV1ZSwgYW5kIGNyZWRpdHMgYXJlIGxhdGVyIHJlcGxlbmlzaGVkIGFmdGVyDQo+IHRoZQ0K PiA+ICtldmVudHMgYXJlIGRlcXVldWVkIGFuZCByZWxlYXNlZC4NCj4gPiArDQo+ID4gK0luIHRo ZSBzb2Z0d2FyZSBjcmVkaXQgc2NoZW1lLCBhIGNyZWRpdCBpcyBjb25zdW1lZCB3aGVuIGEgbmV3 ICgub3AgPQ0KPiA+ICtSVEVfRVZFTlRfT1BfTkVXKSBldmVudCBpcyBpbmplY3RlZCBpbnRvIHRo ZSBzeXN0ZW0sIGFuZCB0aGUgY3JlZGl0IGlzDQo+ID4gK3JlcGxlbmlzaGVkIHdoZW4gdGhlIGV2 ZW50IGlzIHJlbGVhc2VkIGZyb20gdGhlIHN5c3RlbSAoZWl0aGVyIGV4cGxpY2l0bHkgd2l0aA0K PiA+ICtSVEVfRVZFTlRfT1BfUkVMRUFTRSBvciBpbXBsaWNpdGx5IGluIGRlcXVldWVfYnVyc3Qo KSkuDQo+ID4gKw0KPiA+ICtJbiB0aGlzIG1vZGVsLCBhbiBldmVudCBpcyAiaW4gdGhlIHN5c3Rl bSIgZnJvbSBpdHMgZmlyc3QgZW5xdWV1ZSBpbnRvIGV2ZW50ZGV2DQo+ID4gK3VudGlsIGl0IGlz IGxhc3QgZGVxdWV1ZWQuIElmIHRoZSBldmVudCBnb2VzIHRocm91Z2ggbXVsdGlwbGUgZXZlbnQg cXVldWVzLCBpdA0KPiA+ICtpcyBzdGlsbCBjb25zaWRlcmVkICJpbiB0aGUgc3lzdGVtIiB3aGls ZSBhIHdvcmtlciB0aHJlYWQgaXMgcHJvY2Vzc2luZyBpdC4NCj4gPiArDQo+ID4gK0EgcG9ydCB3 aWxsIGZhaWwgdG8gZW5xdWV1ZSBpZiB0aGUgbnVtYmVyIG9mIGV2ZW50cyBpbiB0aGUgc3lzdGVt IGV4Y2VlZHMgaXRzDQo+ID4gK2BgbmV3X2V2ZW50X3RocmVzaG9sZGBgIChzcGVjaWZpZWQgYXQg cG9ydCBzZXR1cCB0aW1lKS4gQSBwb3J0IHdpbGwgYWxzbyBmYWlsDQo+ID4gK3RvIGVucXVldWUg aWYgaXQgbGFja3MgZW5vdWdoIGhhcmR3YXJlIGNyZWRpdHMgdG8gZW5xdWV1ZTsgbG9hZC1iYWxh bmNlZA0KPiA+ICtjcmVkaXRzIGFyZSB1c2VkIHRvIGVucXVldWUgdG8gYSBsb2FkLWJhbGFuY2Vk IHF1ZXVlLCBhbmQgZGlyZWN0ZWQgY3JlZGl0cw0KPiBhcmUNCj4gPiArdXNlZCB0byBlbnF1ZXVl IHRvIGEgZGlyZWN0ZWQgcXVldWUuDQo+ID4gKw0KPiA+ICtUaGUgb3V0LW9mLWNyZWRpdCBzaXR1 YXRpb25zIGFyZSB0eXBpY2FsbHkgdHJhbnNpZW50LCBhbmQgYW4gZXZlbnRkZXYNCj4gPiArYXBw bGljYXRpb24gdXNpbmcgdGhlIERMQjIgb3VnaHQgdG8gcmV0cnkgaXRzIGVucXVldWVzIGlmIHRo ZXkgZmFpbC4NCj4gPiArSWYgZW5xdWV1ZSBmYWlscywgRExCMiBQTUQgc2V0cyBydGVfZXJybm8g YXMgZm9sbG93czoNCj4gPiArDQo+ID4gKy0gLUVOT1NQQzogQ3JlZGl0IGV4aGF1c3Rpb24gKGVp dGhlciBoYXJkd2FyZSBvciBzb2Z0d2FyZSkNCj4gPiArLSAtRUlOVkFMOiBJbnZhbGlkIGFyZ3Vt ZW50LCBzdWNoIGFzIHBvcnQgSUQsIHF1ZXVlIElELCBvciBzY2hlZF90eXBlLg0KPiA+ICsNCj4g PiArRGVwZW5kaW5nIG9uIHRoZSBwaXBlbGluZSB0aGUgYXBwbGljYXRpb24gaGFzIGNvbnN0cnVj dGVkLCBpdCdzIHBvc3NpYmxlIHRvDQo+ID4gK2VudGVyIGEgY3JlZGl0IGRlYWRsb2NrIHNjZW5h cmlvIHdoZXJlaW4gdGhlIHdvcmtlciB0aHJlYWQgbGFja3MgdGhlIGNyZWRpdA0KPiA+ICt0byBl bnF1ZXVlIGFuIGV2ZW50LCBhbmQgaXQgbXVzdCBkZXF1ZXVlIGFuIGV2ZW50IGJlZm9yZSBpdCBj YW4gcmVjb3ZlciB0aGUNCj4gPiArY3JlZGl0LiBJZiB0aGUgd29ya2VyIHRocmVhZCByZXRyaWVz IGl0cyBlbnF1ZXVlIGluZGVmaW5pdGVseSwgaXQgd2lsbCBub3QNCj4gPiArbWFrZSBmb3J3YXJk IHByb2dyZXNzLiBTdWNoIGRlYWRsb2NrIGlzIHBvc3NpYmxlIGlmIHRoZSBhcHBsaWNhdGlvbiBo YXMgZXZlbnQNCj4gPiArImxvb3BzIiwgaW4gd2hpY2ggYW4gZXZlbnQgaW4gZGVxdWV1ZWQgZnJv bSBxdWV1ZSBBIGFuZCBsYXRlciBlbnF1ZXVlZA0KPiBiYWNrIHRvDQo+ID4gK3F1ZXVlIEEuDQo+ ID4gKw0KPiA+ICtEdWUgdG8gdGhpcywgd29ya2VycyBzaG91bGQgc3RvcCByZXRyeWluZyBhZnRl ciBhIHRpbWUsIHJlbGVhc2UgdGhlIGV2ZW50cyBpdA0KPiA+ICtpcyBhdHRlbXB0aW5nIHRvIGVu cXVldWUsIGFuZCBkZXF1ZXVlIG1vcmUgZXZlbnRzLiBJdCBpcyBpbXBvcnRhbnQgdGhhdCB0aGUN Cj4gPiArd29ya2VyIHJlbGVhc2UgdGhlIGV2ZW50cyBhbmQgZG9uJ3Qgc2ltcGx5IHNldCB0aGVt IGFzaWRlIHRvIHJldHJ5IHRoZQ0KPiBlbnF1ZXVlDQo+ID4gK2FnYWluIGxhdGVyLCBiZWNhdXNl IHRoZSBwb3J0IGhhcyBsaW1pdGVkIGhpc3RvcnkgbGlzdCBzaXplIChieSBkZWZhdWx0LCB0d2lj ZQ0KPiA+ICt0aGUgcG9ydCdzIGRlcXVldWVfZGVwdGgpLg0KPiA+ICsNCj4gPiArUHJpb3JpdHkN Cj4gPiArfn5+fn5+fn4NCj4gPiArDQo+ID4gK1RoZSBETEIyIHN1cHBvcnRzIGV2ZW50IHByaW9y aXR5IGFuZCBwZXItcG9ydCBxdWV1ZSBzZXJ2aWNlIHByaW9yaXR5LCBhcw0KPiA+ICtkZXNjcmli ZWQgaW4gdGhlIGV2ZW50ZGV2IGhlYWRlciBmaWxlLiBUaGUgRExCMiBkb2VzIG5vdCBzdXBwb3J0 ICdnbG9iYWwnDQo+IGV2ZW50DQo+ID4gK3F1ZXVlIHByaW9yaXR5IGVzdGFibGlzaGVkIGF0IHF1 ZXVlIGNyZWF0aW9uIHRpbWUuDQo+ID4gKw0KPiA+ICtETEIyIHN1cHBvcnRzIDggZXZlbnQgYW5k IHF1ZXVlIHNlcnZpY2UgcHJpb3JpdHkgbGV2ZWxzLiBGb3IgYm90aCBwcmlvcml0eQ0KPiA+ICt0 eXBlcywgdGhlIFBNRCB1c2VzIHRoZSB1cHBlciB0aHJlZSBiaXRzIG9mIHRoZSBwcmlvcml0eSBm aWVsZCB0byBkZXRlcm1pbmUgdGhlDQo+ID4gK0RMQjIgcHJpb3JpdHksIGRpc2NhcmRpbmcgdGhl IDUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0cy4gVGhlIDUgbGVhc3Qgc2lnbmlmaWNhbnQNCj4gPiAr ZXZlbnQgcHJpb3JpdHkgYml0cyBhcmUgbm90IHByZXNlcnZlZCB3aGVuIGFuIGV2ZW50IGlzIGVu cXVldWVkLg0KPiA+ICsNCj4gPiArTG9hZC1CYWxhbmNlZCBRdWV1ZXMNCj4gPiArfn5+fn5+fn5+ fn5+fn5+fn5+fn4NCj4gPiArDQo+ID4gK0EgbG9hZC1iYWxhbmNlZCBxdWV1ZSBjYW4gc3VwcG9y dCBhdG9taWMgYW5kIG9yZGVyZWQgc2NoZWR1bGluZywgb3IgYXRvbWljDQo+IGFuZA0KPiA+ICt1 bm9yZGVyZWQgc2NoZWR1bGluZywgYnV0IG5vdCBhdG9taWMgYW5kIHVub3JkZXJlZCBhbmQgb3Jk ZXJlZCBzY2hlZHVsaW5nLg0KPiBBDQo+ID4gK3F1ZXVlJ3Mgc2NoZWR1bGluZyB0eXBlcyBhcmUg Y29udHJvbGxlZCBieSB0aGUgZXZlbnQgcXVldWUgY29uZmlndXJhdGlvbi4NCj4gPiArDQo+ID4g K0lmIHRoZSB1c2VyIHNldHMgdGhlIGBgUlRFX0VWRU5UX1FVRVVFX0NGR19BTExfVFlQRVNgYCBm bGFnLCB0aGUNCj4gPiArYGBuYl9hdG9taWNfb3JkZXJfc2VxdWVuY2VzYGAgZGV0ZXJtaW5lcyB0 aGUgc3VwcG9ydGVkIHNjaGVkdWxpbmcgdHlwZXMuDQo+ID4gK1dpdGggbm9uLXplcm8gYGBuYl9h dG9taWNfb3JkZXJfc2VxdWVuY2VzYGAsIHRoZSBxdWV1ZSBpcyBjb25maWd1cmVkIGZvcg0KPiBh dG9taWMNCj4gPiArYW5kIG9yZGVyZWQgc2NoZWR1bGluZy4gSW4gdGhpcyBjYXNlLCBgYFJURV9T Q0hFRF9UWVBFX1BBUkFMTEVMYGANCj4gc2NoZWR1bGluZyBpcw0KPiA+ICtzdXBwb3J0ZWQgYnkg c2NoZWR1bGluZyB0aG9zZSBldmVudHMgYXMgb3JkZXJlZCBldmVudHMuICBOb3RlIHRoYXQgd2hl biB0aGUNCj4gPiArZXZlbnQgaXMgZGVxdWV1ZWQsIGl0cyBzY2hlZF90eXBlIHdpbGwgYmUgYGBS VEVfU0NIRURfVFlQRV9PUkRFUkVEYGAuDQo+IEVsc2UgaWYNCj4gPiArYGBuYl9hdG9taWNfb3Jk ZXJfc2VxdWVuY2VzYGAgaXMgemVybywgdGhlIHF1ZXVlIGlzIGNvbmZpZ3VyZWQgZm9yIGF0b21p Yw0KPiBhbmQNCj4gPiArdW5vcmRlcmVkIHNjaGVkdWxpbmcuIEluIHRoaXMgY2FzZSwgYGBSVEVf U0NIRURfVFlQRV9PUkRFUkVEYGAgaXMNCj4gdW5zdXBwb3J0ZWQuDQo+ID4gKw0KPiA+ICtJZiB0 aGUgYGBSVEVfRVZFTlRfUVVFVUVfQ0ZHX0FMTF9UWVBFU2BgIGZsYWcgaXMgbm90IHNldCwgc2No ZWR1bGVfdHlwZQ0KPiA+ICtkaWN0YXRlcyB0aGUgcXVldWUncyBzY2hlZHVsaW5nIHR5cGUuDQo+ ID4gKw0KPiA+ICtUaGUgYGBuYl9hdG9taWNfb3JkZXJfc2VxdWVuY2VzYGAgcXVldWUgY29uZmln dXJhdGlvbiBmaWVsZCBzZXRzIHRoZQ0KPiBvcmRlcmVkDQo+ID4gK3F1ZXVlJ3MgcmVvcmRlciBi dWZmZXIgc2l6ZS4gIERMQjIgaGFzIDQgZ3JvdXBzIG9mIG9yZGVyZWQgcXVldWVzLCB3aGVyZQ0K PiBlYWNoDQo+ID4gK2dyb3VwIGlzIGNvbmZpZ3VyZWQgdG8gY29udGFpbiBlaXRoZXIgMSBxdWV1 ZSB3aXRoIDEwMjQgcmVvcmRlciBlbnRyaWVzLCAyDQo+ID4gK3F1ZXVlcyB3aXRoIDUxMiByZW9y ZGVyIGVudHJpZXMsIGFuZCBzbyBvbiBkb3duIHRvIDMyIHF1ZXVlcyB3aXRoIDMyDQo+IGVudHJp ZXMuDQo+ID4gKw0KPiA+ICtXaGVuIGEgbG9hZC1iYWxhbmNlZCBxdWV1ZSBpcyBjcmVhdGVkLCB0 aGUgUE1EIHdpbGwgY29uZmlndXJlIGEgbmV3DQo+IHNlcXVlbmNlDQo+ID4gK251bWJlciBncm91 cCBvbi1kZW1hbmQgaWYgbnVtX3NlcXVlbmNlX251bWJlcnMgZG9lcyBub3QgbWF0Y2ggYSBwcmUt DQo+IGV4aXN0aW5nDQo+ID4gK2dyb3VwIHdpdGggYXZhaWxhYmxlIHJlb3JkZXIgYnVmZmVyIGVu dHJpZXMuIElmIGFsbCBzZXF1ZW5jZSBudW1iZXIgZ3JvdXBzIGFyZQ0KPiA+ICtpbiB1c2UsIG5v IG5ldyBncm91cCB3aWxsIGJlIGNyZWF0ZWQgYW5kIHF1ZXVlIGNvbmZpZ3VyYXRpb24gd2lsbCBm YWlsLiAoTm90ZQ0KPiA+ICt0aGF0IHdoZW4gdGhlIFBNRCBpcyB1c2VkIHdpdGggYSB2aXJ0dWFs IERMQjIgZGV2aWNlLCBpdCBjYW5ub3QgY2hhbmdlIHRoZQ0KPiA+ICtzZXF1ZW5jZSBudW1iZXIg Y29uZmlndXJhdGlvbi4pDQo+ID4gKw0KPiA+ICtUaGUgcXVldWUncyBgYG5iX2F0b21pY19mbG93 c2BgIHBhcmFtZXRlciBpcyBpZ25vcmVkIGJ5IHRoZSBETEIyIFBNRCwNCj4gYmVjYXVzZQ0KPiA+ ICt0aGUgRExCMiBkb2VzIG5vdCBsaW1pdCB0aGUgbnVtYmVyIG9mIGZsb3dzIGEgcXVldWUgY2Fu IHRyYWNrLiBJbiB0aGUgRExCMiwNCj4gYWxsDQo+ID4gK2xvYWQtYmFsYW5jZWQgcXVldWVzIGNh biB1c2UgdGhlIGZ1bGwgMTYtYml0IGZsb3cgSUQgcmFuZ2UuDQo+ID4gKw0KPiA+ICtSZWNvbmZp Z3VyYXRpb24NCj4gPiArfn5+fn5+fn5+fn5+fn5+DQo+ID4gKw0KPiA+ICtUaGUgRXZlbnRkZXYg QVBJIGFsbG93cyBvbmUgdG8gcmVjb25maWd1cmUgYSBkZXZpY2UsIGl0cyBwb3J0cywgYW5kIGl0 cyBxdWV1ZXMNCj4gPiArYnkgZmlyc3Qgc3RvcHBpbmcgdGhlIGRldmljZSwgY2FsbGluZyB0aGUg Y29uZmlndXJhdGlvbiBmdW5jdGlvbihzKSwgdGhlbg0KPiA+ICtyZXN0YXJ0aW5nIHRoZSBkZXZp Y2UuIFRoZSBETEIyIGRvZXMgbm90IHN1cHBvcnQgY29uZmlndXJpbmcgYW4gaW5kaXZpZHVhbA0K PiBxdWV1ZQ0KPiA+ICtvciBwb3J0IHdpdGhvdXQgZmlyc3QgcmVjb25maWd1cmluZyB0aGUgZW50 aXJlIGRldmljZSwgaG93ZXZlciwgc28gdGhlcmUgYXJlDQo+ID4gK2NlcnRhaW4gcmVjb25maWd1 cmF0aW9uIHNlcXVlbmNlcyB0aGF0IGFyZSB2YWxpZCBpbiB0aGUgZXZlbnRkZXYgQVBJIGJ1dCBu b3QNCj4gPiArc3VwcG9ydGVkIGJ5IHRoZSBQTUQuDQo+ID4gKw0KPiA+ICtTcGVjaWZpY2FsbHks IHRoZSBQTUQgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBjb25maWd1cmF0aW9uIHNlcXVlbmNlOg0K PiA+ICsxLiBDb25maWd1cmUgYW5kIHN0YXJ0IHRoZSBkZXZpY2UNCj4gPiArMi4gU3RvcCB0aGUg ZGV2aWNlDQo+ID4gKzMuIChPcHRpb25hbCkgUmVjb25maWd1cmUgdGhlIGRldmljZQ0KPiA+ICs0 LiAoT3B0aW9uYWwpIElmIHN0ZXAgMyBpcyBydW46DQo+ID4gKw0KPiA+ICsgICBhLiBTZXR1cCBx dWV1ZShzKS4gVGhlIHJlY29uZmlndXJlZCBxdWV1ZShzKSBsb3NlIHRoZWlyIHByZXZpb3VzIHBv cnQgbGlua3MuDQo+ID4gKyAgIGIuIFRoZSByZWNvbmZpZ3VyZWQgcG9ydChzKSBsb3NlIHRoZWly IHByZXZpb3VzIHF1ZXVlIGxpbmtzLg0KPiA+ICsNCj4gPiArNS4gKE9wdGlvbmFsLCBvbmx5IGlm IHN0ZXBzIDRhIGFuZCA0YiBhcmUgcnVuKSBMaW5rIHBvcnQocykgdG8gcXVldWUocykNCj4gPiAr Ni4gUmVzdGFydCB0aGUgZGV2aWNlLiBJZiB0aGUgZGV2aWNlIGlzIHJlY29uZmlndXJlZCBpbiBz dGVwIDMgYnV0IG9uZSBvciBtb3JlDQo+ID4gKyAgIG9mIGl0cyBwb3J0cyBvciBxdWV1ZXMgYXJl IG5vdCwgdGhlIFBNRCB3aWxsIGFwcGx5IHRoZWlyIHByZXZpb3VzDQo+ID4gKyAgIGNvbmZpZ3Vy YXRpb24gKGluY2x1ZGluZyBwb3J0LT5xdWV1ZSBsaW5rcykgYXQgdGhpcyB0aW1lLg0KPiA+ICsN Cj4gPiArVGhlIFBNRCBkb2VzIG5vdCBzdXBwb3J0IHRoZSBmb2xsb3dpbmcgY29uZmlndXJhdGlv biBzZXF1ZW5jZXM6DQo+ID4gKzEuIENvbmZpZ3VyZSBhbmQgc3RhcnQgdGhlIGRldmljZQ0KPiA+ ICsyLiBTdG9wIHRoZSBkZXZpY2UNCj4gPiArMy4gU2V0dXAgcXVldWUgb3Igc2V0dXAgcG9ydA0K PiA+ICs0LiBTdGFydCB0aGUgZGV2aWNlDQo+ID4gKw0KPiA+ICtUaGlzIHNlcXVlbmNlIGlzIG5v dCBzdXBwb3J0ZWQgYmVjYXVzZSB0aGUgZXZlbnQgZGV2aWNlIG11c3QgYmUNCj4gcmVjb25maWd1 cmVkDQo+ID4gK2JlZm9yZSBpdHMgcG9ydHMgb3IgcXVldWVzIGNhbiBiZS4NCj4gPiArDQo+ID4g K0RlZmVycmVkIFNjaGVkdWxpbmcNCj4gPiArfn5+fn5+fn5+fn5+fn5+fn5+fg0KPiA+ICsNCj4g PiArVGhlIERMQjIgUE1EJ3MgZGVmYXVsdCBiZWhhdmlvciBmb3IgbWFuYWdpbmcgYSBDUSBpcyB0 byAicG9wIiB0aGUgQ1Egb25jZQ0KPiBwZXINCj4gPiArZGVxdWV1ZWQgZXZlbnQgYmVmb3JlIHJl dHVybmluZyBmcm9tIHJ0ZV9ldmVudF9kZXF1ZXVlX2J1cnN0KCkuIFRoaXMgZnJlZXMNCj4gdGhl DQo+ID4gK2NvcnJlc3BvbmRpbmcgZW50cmllcyBpbiB0aGUgQ1EsIHdoaWNoIGVuYWJsZXMgdGhl IERMQjIgdG8gc2NoZWR1bGUgbW9yZQ0KPiBldmVudHMNCj4gPiArdG8gaXQuDQo+ID4gKw0KPiA+ ICtUbyBzdXBwb3J0IGFwcGxpY2F0aW9ucyBzZWVraW5nIGZpbmVyLWdyYWluZWQgc2NoZWR1bGlu ZyBjb250cm9sIC0tIGZvcg0KPiBleGFtcGxlDQo+ID4gK2RlZmVycmluZyBzY2hlZHVsaW5nIHRv IGdldCB0aGUgYmVzdCBwb3NzaWJsZSBwcmlvcml0eSBzY2hlZHVsaW5nIGFuZA0KPiA+ICtsb2Fk LWJhbGFuY2luZyAtLSB0aGUgUE1EIHN1cHBvcnRzIGEgZGVmZXJyZWQgc2NoZWR1bGluZyBtb2Rl LiBJbiB0aGlzDQo+IG1vZGUsDQo+ID4gK3RoZSBDUSBlbnRyeSBpcyBub3QgcG9wcGVkIHVudGls IHRoZSAqc3Vic2VxdWVudCoNCj4gcnRlX2V2ZW50X2RlcXVldWVfYnVyc3QoKQ0KPiA+ICtjYWxs LiBUaGlzIG1vZGUgb25seSBhcHBsaWVzIHRvIGxvYWQtYmFsYW5jZWQgZXZlbnQgcG9ydHMgd2l0 aCBkZXF1ZXVlIGRlcHRoDQo+IG9mDQo+ID4gKzEuDQo+ID4gKw0KPiA+ICtUbyBlbmFibGUgZGVm ZXJyZWQgc2NoZWR1bGluZywgdXNlIHRoZSBkZWZlcl9zY2hlZCB2ZGV2IGFyZ3VtZW50IGxpa2Ug c286DQo+ID4gKw0KPiA+ICsgICAgLi4gY29kZS1ibG9jazo6IGNvbnNvbGUNCj4gPiArDQo+ID4g KyAgICAgICAtLXZkZXY9ZGxiMV9ldmVudCxkZWZlcl9zY2hlZD1vbg0KPiA+ICsNCj4gPiArQXRv bWljIEluZmxpZ2h0cyBBbGxvY2F0aW9uDQo+ID4gK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fg0KPiA+ICsNCj4gPiArSW4gdGhlIGxhc3Qgc3RhZ2UgcHJpb3IgdG8gc2NoZWR1bGluZyBhbiBh dG9taWMgZXZlbnQgdG8gYSBDUSwgRExCMiBob2xkcyB0aGUNCj4gPiAraW5mbGlnaHQgZXZlbnQg aW4gYSB0ZW1wb3JhcnkgYnVmZmVyIHRoYXQgaXMgZGl2aWRlZCBhbW9uZyBsb2FkLWJhbGFuY2Vk DQo+ID4gK3F1ZXVlcy4gSWYgYSBxdWV1ZSdzIGF0b21pYyBidWZmZXIgc3RvcmFnZSBmaWxscyB1 cCwgdGhpcyBjYW4gcmVzdWx0IGluDQo+ID4gK2hlYWQtb2YtbGluZS1ibG9ja2luZy4gRm9yIGV4 YW1wbGU6DQo+ID4gKw0KPiA+ICstIEFuIExEQiBxdWV1ZSBhbGxvY2F0ZWQgTiBhdG9taWMgYnVm ZmVyIGVudHJpZXMNCj4gPiArLSBBbGwgTiBlbnRyaWVzIGFyZSBmaWxsZWQgd2l0aCBldmVudHMg ZnJvbSBmbG93IFgsIHdoaWNoIGlzIHBpbm5lZCB0byBDUSAwLg0KPiA+ICsNCj4gPiArVW50aWwg Q1EgMCByZWxlYXNlcyAxKyBldmVudHMsIG5vIG90aGVyIGF0b21pYyBmbG93cyBmb3IgdGhhdCBM REIgcXVldWUgY2FuDQo+IGJlDQo+ID4gK3NjaGVkdWxlZC4gVGhlIGxpa2VsaWhvb2Qgb2YgdGhp cyBjYXNlIGRlcGVuZHMgb24gdGhlIGV2ZW50ZGV2IGNvbmZpZ3VyYXRpb24sDQo+ID4gK3RyYWZm aWMgYmVoYXZpb3IsIGV2ZW50IHByb2Nlc3NpbmcgbGF0ZW5jeSwgcG90ZW50aWFsIGZvciBhIHdv cmtlciB0byBiZQ0KPiA+ICtpbnRlcnJ1cHRlZCBvciBvdGhlcndpc2UgZGVsYXllZCwgZXRjLg0K PiA+ICsNCj4gPiArQnkgZGVmYXVsdCwgdGhlIFBNRCBhbGxvY2F0ZXMgMTYgYnVmZmVyIGVudHJp ZXMgZm9yIGVhY2ggbG9hZC1iYWxhbmNlZA0KPiBxdWV1ZSwNCj4gPiArd2hpY2ggcHJvdmlkZXMg YW4gZXZlbiBkaXZpc2lvbiBhY3Jvc3MgYWxsIDEyOCBxdWV1ZXMgYnV0IHBvdGVudGlhbGx5IHdh c3Rlcw0KPiA+ICtidWZmZXIgc3BhY2UgKGUuZy4gaWYgbm90IGFsbCBxdWV1ZXMgYXJlIHVzZWQs IG9yIGFyZW4ndCB1c2VkIGZvciBhdG9taWMNCj4gPiArc2NoZWR1bGluZykuDQo+ID4gKw0KPiA+ ICtUaGUgUE1EIHByb3ZpZGVzIGEgZGV2IGFyZyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwZXIt cXVldWUgYWxsb2NhdGlvbi4gVG8NCj4gPiAraW5jcmVhc2UgYSB2ZGV2J3MgcGVyLXF1ZXVlIGF0 b21pYy1pbmZsaWdodCBhbGxvY2F0aW9uIHRvIChmb3IgZXhhbXBsZSkgNjQ6DQo+ID4gKw0KPiA+ ICsgICAgLi4gY29kZS1ibG9jazo6IGNvbnNvbGUNCj4gPiArDQo+ID4gKyAgICAgICAtLXZkZXY9 ZGxiMV9ldmVudCxhdG1faW5mbGlnaHRzPTY0DQo+ID4gKw0KPiANCj4gDQo+IFBsZWFzZSBtb3Zl IHRoZSBkb2MgY2hhbmdlcyB0byB3aGljaGV2ZXIgcGF0Y2ggdGhhdCBpbnRyb2R1Y2VzIHRoaXMg Y2hhbmdlLA0KPiANCj4gDQoNCldpbGwgZG8uDQoNCg0KPiANCj4gUGxlYXNlIGFkZCB0aGUgbWVz c2FnZSBpbiAiQ29udGVudCBTa2lwcGVkIiBzZWN0aW9uLA0KPiBSZWZlcmVuY2U6IGdyZXAgInJl YXNvbiIgaW4gZHJpdmVycy92ZHBhL21seDUvbWVzb24uYnVpbGQNCj4gDQo+IA0KPg0KDQpXaWxs IGRvDQoNCg0KDQo=