From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2A1934297B; Tue, 18 Apr 2023 11:27:10 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0CB9F40EDF; Tue, 18 Apr 2023 11:27:10 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 84A9840698 for ; Tue, 18 Apr 2023 11:27:07 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1681810027; x=1713346027; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=+huJxoH6ugfQxStbaN8Vq/w3XhhaJQURYXOVLleJEnI=; b=cOvqgt+o1LdZi3RHn7LNLoLG+BIgsaqFm3z2WLQpBDPpuJ//pyyDAGW4 cwuC6PU0VOvIyNA9LMKdbDgsMi+qWaQxWBAedV6kawisGxgx64wkaAjuB 0OG2imSPNhveBOdDwMXwoTk+iKooJmfVL91JsnAPR23s7O9q+QZ4haf0U /acLaqZdQL93CwlhGoHdL7maPpTDtCrs4MutFT69EK8gx1aCh/b958+KD Dq8qg5K5IvGGxs7G4/LVysJRDYNHLv68OfLTPKjI/NM+ViEsfGBBpQkSe yMvqs5LVuVo3q+uhJ/nkmYLD90XFwLWkw+2B+BN8LVUM//36t+cOaZ42N w==; X-IronPort-AV: E=McAfee;i="6600,9927,10683"; a="410340985" X-IronPort-AV: E=Sophos;i="5.99,206,1677571200"; d="scan'208";a="410340985" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2023 02:27:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10683"; a="684510971" X-IronPort-AV: E=Sophos;i="5.99,206,1677571200"; d="scan'208";a="684510971" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga007.jf.intel.com with ESMTP; 18 Apr 2023 02:27:06 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 18 Apr 2023 02:27:05 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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.2507.23 via Frontend Transport; Tue, 18 Apr 2023 02:27:05 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Tue, 18 Apr 2023 02:27:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lMNCkqDRz1tC0tBbA6l06j6uXKvtjEkdC1rm8wZ83RDDOyKsBdUW+vU53Hzpcob9Ee81PPexRSlrJGHBRJuzffUdIEn0xtAT4k0zNp7HxrbAgLvg5BnxIHbirDYNVCnITbyYwy053PP6qP80zqtWwsgMBYpQnyg/CXgSem8PoYqTi0NRtUo8HqcAu+/F6tXRiYs8lE/00b19LowaQI8YsROBHbQv+bGW64aEYipPM/1sZXyYB8IUyAxNGXlTwM3B3ZxEejWfuOJ2QEkAv8/iAfEVZHDpwEwLcPbxyFuEsmz7/cirQoiAE7dOFOxFqR21PnkvS91gMZuduhakWb0gAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+huJxoH6ugfQxStbaN8Vq/w3XhhaJQURYXOVLleJEnI=; b=kMux4mPupQH4OU53O0+bbUPOSKR1bAx2ONXpbfDDIMjTiJabyAf99zQe8/eJlWabtSwi5twFtMFLSvCfOQSXMPADqXQcpUvDaBA3Kw/+A5QuzFDZYrm925V+EurG5IDYfk7ld3aJPCwG5270HXUmxWa4pDzICK7bxwQ+sraFxgqa71MuFGZfG84P5CD1iN2IA3F0ltszHCTHD6dvXgJ4Ua5T8v6Wo3ICFneXn8HvoxKiU8eSVvf7qh841hKlhncCxpR4KLnaL4UrYTToSHkgT0ke6sV9qw5GA9w137nOmqOctKBtx6Jp6NhmZ533/6tpRRxvvvMSYIC4TPGh+36U8A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SN6PR11MB3504.namprd11.prod.outlook.com (2603:10b6:805:d0::17) by PH7PR11MB8011.namprd11.prod.outlook.com (2603:10b6:510:24a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Tue, 18 Apr 2023 09:27:04 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::2d7a:a878:7bed:bb11]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::2d7a:a878:7bed:bb11%4]) with mapi id 15.20.6319.020; Tue, 18 Apr 2023 09:27:03 +0000 From: "Xia, Chenbo" To: David Marchand CC: "dev@dpdk.org" , "skori@marvell.com" , "Cao, Yahui" , "Li, Miao" Subject: RE: [RFC 0/4] Support VFIO sparse mmap in PCI bus Thread-Topic: [RFC 0/4] Support VFIO sparse mmap in PCI bus Thread-Index: AQHZcbmsi0+H/0NwHUa5BU1IpGPXgK8wsF2AgAAAx9A= Date: Tue, 18 Apr 2023 09:27:03 +0000 Message-ID: References: <20230418053012.10667-1-chenbo.xia@intel.com> In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR11MB3504:EE_|PH7PR11MB8011:EE_ x-ms-office365-filtering-correlation-id: 657b2911-e9ff-4b57-9e4e-08db3fef11ec x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RxTpBwn5aoftY/OipJ8w7Y52BwY/JlFWg8M686YZZmaYOyR3r33sy7itHljcFPErXSSHZXGOKuzrtH0zYrUWpce+gdLZynuGQquJJSbV4CbEW6718WY7yQefdjJlRlQTo/xXMKEmEoCOjDIbM9sH3HDrsrGIo9IRfCJvT17pfkgnCZIUjTaggsAjF2jwtEiEk5NM4vhOzA+R991renrmJ/KlS/ffEu9PxOPBOioNqgKl6Blf0v286qOMtF507+3bc17L6OKzFpXMQILpOJUK4O5nJDeQh7sZnqG6xO4666Q5CL0z//GoA1R5/TOk7FFGM8FnANhy/lxRDja+73jag0V4si5WRAnOsmR3EUvFyHfs5N11SQ30rQykC9gL5Rmv8Hpk7w6mx6OpSVIr44RiP5wn4fWpWUm/M5QBsf9Z5YY8cmho1QN7pIXfeVNrm3N0ekJHc5phA8qpSkramxLDv8CNGB0BQ8LRZKjTklGLpgTTxcE5FplKA9CHTenLHwR7BcmkNkVo7kglJGSVjxN/UWhR1y35JHoums4I4Bv3MpbNJyyBH1yXpuSD4wl5PMv51eI+Uc2THUimDNtKGdj4RXV5Wf/d4zKK/8f5VaV5jCU= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3504.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(376002)(136003)(346002)(396003)(39860400002)(366004)(451199021)(966005)(7696005)(478600001)(86362001)(45080400002)(55016003)(71200400001)(26005)(83380400001)(33656002)(107886003)(9686003)(6506007)(53546011)(186003)(82960400001)(38070700005)(38100700002)(122000001)(64756008)(76116006)(66556008)(66946007)(66476007)(316002)(66446008)(2906002)(4326008)(6916009)(8936002)(5660300002)(8676002)(52536014)(41300700001)(54906003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Y1puY00vY21CRGFJTk5IQzliYzVPMWgvY1ZDd0w3clZzVlNtV0YrQzR0SkZP?= =?utf-8?B?cFJETXF3STFuYyswaVNCeGx4Z0lyL0FTTlRuNHFQZUJVanoyTmp0UnM5STFv?= =?utf-8?B?YkJidFdoU0VhUzJidi95bkJ0ZTZlZjR0OXNETDRwZ1F3dlB4dkJXZDJPK3Jn?= =?utf-8?B?TDlQQlBUR1p1N1YyYlE0czNEaUs2WUV2OTZGd1lJblkxektWUW5OdVJpcmZ5?= =?utf-8?B?NU1JSFZDNUlzZDJBbTRqNzFBTEdoNEhTcmk3TUIzQVg1OFpEaElSRHR2QmI0?= =?utf-8?B?YTVWdTF4cFhqNzBUM3VwdWsrb2dJN3JNZUxDMk94VEJoaVhZcGpYMTR4RUNB?= =?utf-8?B?QTJ2R2ZuREZUK1NlTVBMdHBuVzRjdUhpZnM4cmRRUUVpRGQ0TXBwcE9FK1pl?= =?utf-8?B?K0RWTXdMaXRGY1JXN1JVTkpEaHRpdjJCSi9GQ21qdTdHTzZlM1FYRDEwbDZG?= =?utf-8?B?UE0rRWdHVEsxWmo1UXorQkVRZ3pKdUkrTFk2K2MvV3htOGViYXFDMFhjME9x?= =?utf-8?B?YmZnWFp5QTU5TzU0NHBOcWczbnBwUDhGMzNRRTBCdTJXc3plWWdIeHlyNTBy?= =?utf-8?B?bzFmSlNwb1VDVUFQNWxoa0dyek0xd1A2aHFBbGNtUHB3bWtIZy8yWS93TUZz?= =?utf-8?B?VTVjYzZTcmJreGtMOVEzV09oTGowZFB5Ykxkek82Q3JRSkx3YnFFSDVqUzUw?= =?utf-8?B?QlhpSjM5L2tVZzZSVDR0TjRvdEREbFNQNkhFUTl1Y3Npem43LzZWMVZCNUZt?= =?utf-8?B?SGVGSkg0cFhSNE9hZGtQRFpWR1kvUDZQelVUSnBZdEdwS3dmQ21UNVhkWHQ2?= =?utf-8?B?ampZWkZ0cGZuZDMvRjdNUko3azNSVVJjRlNwWjVBR2dvNWZPMUFwcERBOVl2?= =?utf-8?B?TDBPNmMyOTZQYnJWSEVCendKN3ZIemhvaUxnYm9DZ3RmeU9UWHJ4bVIxeENI?= =?utf-8?B?TU1icFFQd0FPbHR5ck85ZlAvSWdnbEVQOGVQN2JjeGlLT2VWS3UxeGJBcTdl?= =?utf-8?B?OTNMWVRCUG9TZ2NrUzI0TTBqV3B2RjN6ZWZESlpjQVJsbVgxb2NCN25RRmkx?= =?utf-8?B?OWFmV0NUTWZKWWxzUUxyd2YrdzJhRXhPUFNoYkJ1WEVnbW5yckdJeUZFTnJt?= =?utf-8?B?d09iTCt6czVwL2VLdHdsM0FUWGJnYXg1WHdFTVB6UzVEUU9WY1JLVFlwcDFv?= =?utf-8?B?djN1MS94ZEdIUWZXZWZlSlRDMGkxditqRlQrcklBeVlnZ3ZyYnlpQy83R1lC?= =?utf-8?B?RGQyaVA4Z01CSldpdG9zTGo2bUpTUW1WMVVLQzhBUmNUZkZIS3VKQWdYRStO?= =?utf-8?B?MTdPemxSbER1U0t4RW9WNEp2dHBRVUlyYzJ4Q0p0REZ0RWVKc09ZQmczeG5a?= =?utf-8?B?ZGk0STZBZ1hsTlVpVFNCbFU1dENjUlpVUE1RVUNzVDZNVWl0cHNHdDI5VzVB?= =?utf-8?B?MEoySlBuRVhQeTIyKzlmU2FvUEpxNnlTZ0FIbHNkRWpoWE5COVgwMGhybkls?= =?utf-8?B?eFd6a2h6YjBaQ29MWnpVUDhYNllmeFRrdE5UNHhhdDFZdjh3Yzd6ZXd1OWZ4?= =?utf-8?B?MGw5eDZKT2g4ajRDeVNOQktqMUp4cTZNSUczbndsanZqdGNVK3R2ZVdWNG9C?= =?utf-8?B?VUg5WGhobGRKVTROQUtRWlRwUllsWVpDZ3krSVdTOUpLMTA0QS83dGZCMjk1?= =?utf-8?B?d3NjRThUR0cwSitITVdvdDI2bFFUTWZybWZ0QXFyMTNRU2pXc2g3RWtmUVJE?= =?utf-8?B?ZzlTekFKRVhieGNCUTI5SFZYbVB5aFFkajlPUklZUnIxTlR6M3JCbWhzY2lQ?= =?utf-8?B?dmNsQ0NONm5rdkZyWUo2Umx3TExTOC9aZUxiZENwYWVJaENuSGtWN1YrNHYv?= =?utf-8?B?R0NVbDZHanVJU2tnTm5vY3h6TUtTbm1BaStXNWFUTjMzdS9SK3hMMWpOeEhn?= =?utf-8?B?VUo3RkJoVms0K1BENW1YOXR6cVZUSVh2QkxCYndlamR0MU9IVE1WeklXMmZJ?= =?utf-8?B?eG5NWW9DYVFlcXE2TEd6T1JudElzalJoOThmZndmeGdQUzdMSjd6Q1RkZk5N?= =?utf-8?B?UlV0U1QzT1ltV2hvbUJDcTV1cTY2cThLNVgzWVpOSG5obnlCci9naURJK3B6?= =?utf-8?Q?SANOzccbZYoYiLdu1P7By/dHp?= 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: SN6PR11MB3504.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 657b2911-e9ff-4b57-9e4e-08db3fef11ec X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Apr 2023 09:27:03.3391 (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: 4jN2AtsGAhW8nqMxFFpkriR/OQYObbiQR3ycejo6hinxYVD2ayKkptYK7p1lc8szfMqm7aQr/4g8vUVU96BlSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB8011 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org SGkgRGF2aWQsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRGF2aWQg TWFyY2hhbmQgPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIEFw cmlsIDE4LCAyMDIzIDM6NDcgUE0NCj4gVG86IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVs LmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZzsgc2tvcmlAbWFydmVsbC5jb20NCj4gU3ViamVjdDog UmU6IFtSRkMgMC80XSBTdXBwb3J0IFZGSU8gc3BhcnNlIG1tYXAgaW4gUENJIGJ1cw0KPiANCj4g SGVsbG8gQ2hlbmJvLA0KPiANCj4gT24gVHVlLCBBcHIgMTgsIDIwMjMgYXQgNzo0OeKAr0FNIENo ZW5ibyBYaWEgPGNoZW5iby54aWFAaW50ZWwuY29tPiB3cm90ZToNCj4gPg0KPiA+IFRoaXMgc2Vy aWVzIGludHJvZHVjZXMgYSBWRklPIHN0YW5kYXJkIGNhcGFiaWxpdHksIGNhbGxlZCBzcGFyc2UN Cj4gPiBtbWFwIHRvIFBDSSBidXMuIEluIGxpbnV4IGtlcm5lbCwgaXQncyBkZWZpbmVkIGFzDQo+ ID4gVkZJT19SRUdJT05fSU5GT19DQVBfU1BBUlNFX01NQVAuIFNwYXJzZSBtbWFwIG1lYW5zIGlu c3RlYWQgb2YNCj4gPiBtbWFwIHdob2xlIEJBUiByZWdpb24gaW50byBEUERLIHByb2Nlc3MsIG9u bHkgbW1hcCBwYXJ0IG9mIHRoZQ0KPiA+IEJBUiByZWdpb24gYWZ0ZXIgZ2V0dGluZyBzcGFyc2Ug bW1hcCBpbmZvcm1hdGlvbiBmcm9tIGtlcm5lbC4NCj4gPiBGb3IgdGhlIHJlc3Qgb2YgQkFSIHJl Z2lvbiB0aGF0IGlzIG5vdCBtbWFwLWVkLCBEUERLIHByb2Nlc3MNCj4gPiBjYW4gdXNlIHByZWFk L3B3cml0ZSBzeXN0ZW0gY2FsbHMgdG8gYWNjZXNzLiBTcGFyc2UgbW1hcCBpcw0KPiA+IHVzZWZ1 bCB3aGVuIGtlcm5lbCBkb2VzIG5vdCB3YW50IHVzZXJzcGFjZSB0byBtbWFwIHdob2xlIEJBUg0K PiA+IHJlZ2lvbiwgb3Iga2VybmVsIHdhbnRzIHRvIGNvbnRyb2wgb3ZlciBhY2Nlc3MgdG8gc3Bl Y2lmaWMgQkFSDQo+ID4gcmVnaW9uLiBWZW5kb3JzIGNhbiBjaG9vc2UgdG8gZW5hYmxlIHRoaXMg ZmVhdHVyZSBvciBub3QgZm9yDQo+ID4gdGhlaXIgZGV2aWNlcyBpbiB0aGVpciBzcGVjaWZpYyBr ZXJuZWwgbW9kdWxlcy4NCj4gDQo+IFNvcnJ5LCBJIGRpZCBub3QgdGFrZSB0aGUgdGltZSB0byBs b29rIGludG8gdGhlIGRldGFpbHMuDQo+IENvdWxkIHlvdSBzdW1tYXJpemUgd2hhdCB3b3VsZCBi ZSB0aGUgYmVuZWZpdCBvZiB0aGlzIHNlcmllcz8NCg0KSXQgY291bGQgYmUgZGlmZmVyZW50IGJl bmVmaXQgZm9yIGRpZmZlcmVudCB2ZW5kb3IuIFRoZXJlIHdhcyBvbmUgZGlzY3Vzc2lvbjoNCmh0 dHA6Ly9pbmJveC5kcGRrLm9yZy9kZXYvQ082UFIxOE1CMzg2MDE2QTI2MzRBRjM3NUY1QjRCQThD QjQ4OTlAQ082UFIxOE1CMzg2MC5uYW1wcmQxOC5wcm9kLm91dGxvb2suY29tLw0KDQpBYm92ZSBw cm9ibGVtIGlzIHNvbWUgZGV2aWNlIGhhcyB2ZXJ5IGxhcmdlIEJBUiwgYW5kIHdlIGRvbid0IHdh bnQgRFBESyB0byBtYXANCnRoZSB3aG9sZSBCQVIuDQoNCkZvciBJbnRlbCBkZXZpY2VzLCBvbmUg YmVuZWZpdCBpcyB0aGF0IHdlIHdhbnQgb3VyIGtlcm5lbCBtb2R1bGUgdG8gY29udHJvbCBvdmVy DQphY2Nlc3MgdG8gc3BlY2lmaWMgQkFSIHJlZ2lvbiBzbyB3ZSB3aWxsIGxldCBEUERLIHByb2Nl c3MgdW5hYmxlIHRvIG1tYXAgdGhhdCByZWdpb24uDQooQmVjYXVzZSBhZnRlciBtbWFwLCBrZXJu ZWwgd2lsbCBub3Qga25vdyBpZiB1c2Vyc3BhY2UgaXMgYWNjZXNzaW5nIGRldmljZSBCQVIpLg0K DQpTbyB0aGF0J3Mgd2h5IEkgc3VtbWFyaXplIGFzICdTcGFyc2UgbW1hcCBpcyB1c2VmdWwgd2hl biBrZXJuZWwgZG9lcyBub3Qgd2FudA0KdXNlcnNwYWNlIHRvIG1tYXAgd2hvbGUgQkFSIHJlZ2lv biwgb3Iga2VybmVsIHdhbnRzIHRvIGNvbnRyb2wgb3ZlciBhY2Nlc3MgdG8NCnNwZWNpZmljIEJB UiByZWdpb24nLiBJdCBjb3VsZCBiZSBtb3JlIHVzYWdlIGZvciBvdGhlciB2ZW5kb3JzIHRoYXQg SSBoYXZlIG5vdCByZWFsaXplZA0KDQpUaGFua3MsDQpDaGVuYm8NCg0KPiANCj4gDQo+ID4NCj4g PiBJbiB0aGlzIHBhdGNoc2V0Og0KPiA+DQo+ID4gUGF0Y2ggMS0zIGlzIG1haW5seSBmb3IgaW50 cm9kdWNpbmcgQkFSIGFjY2VzcyBBUElzIHNvIHRoYXQNCj4gPiBkcml2ZXIgY291bGQgdXNlIHRo ZW0gdG8gYWNjZXNzIHNwZWNpZmljIEJBUiB1c2luZyBwcmVhZC9wd3JpdGUNCj4gPiBzeXN0ZW0g Y2FsbHMgd2hlbiBwYXJ0IG9mIHRoZSBCQVIgaXMgbm90IG1tYXAtYWJsZS4NCj4gPg0KPiA+IFBh dGNoIDQgYWRkcyB0aGUgVkZJTyBzcGFyc2UgbW1hcCBzdXBwb3J0IGZpbmFsbHkuIEEgcXVlc3Rp b24NCj4gPiBpcyBmb3IgYWxsIHNwYXJzZSBtbWFwIHJlZ2lvbnMsIHNob3VsZCB0aGV5IGJlIG1h cHBlZCB0byBhDQo+ID4gY29udGludW91cyB2aXJ0dWFsIGFkZHJlc3MgcmVnaW9uIHRoYXQgZm9s bG93cyBkZXZpY2Utc3BlY2lmaWMNCj4gPiBCQVIgbGF5b3V0IG9yIG5vdC4gSW4gdGhlb3J5LCB0 aGVyZSBjb3VsZCBiZSB0aHJlZSBvcHRpb25zIHRvDQo+ID4gc3VwcG9ydCB0aGlzIGZlYXR1cmUu DQo+ID4NCj4gPiBPcHRpb24gMTogTWFwIHNwYXJzZSBtbWFwIHJlZ2lvbnMgaW5kZXBlbmRlbnRs eQ0KPiA+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KPiA+IEluIHRoaXMgYXBwcm9hY2gsIHdlIG1tYXAgZWFjaCBzcGFyc2UgbW1hcCByZWdp b24gb25lIGJ5IG9uZQ0KPiA+IGFuZCBlYWNoIHJlZ2lvbiBjb3VsZCBiZSBsb2NhdGVkIGFueXdo ZXJlIGluIHByb2Nlc3MgYWRkcmVzcw0KPiA+IHNwYWNlLiBCdXQgYWNjZXNzaW5nIHRoZSBtbWFw ZWQgQkFSIHdpbGwgbm90IGJlIGFzIGVhc3kgYXMNCj4gPiAnYmFyX2Jhc2VfYWRkcmVzcyArIGJh cl9vZmZzZXQnLCBkcml2ZXIgbmVlZHMgdG8gY2hlY2sgdGhlDQo+ID4gc3BhcnNlIG1tYXAgaW5m b3JtYXRpb24gdG8gYWNjZXNzIHNwZWNpZmljIEJBUiByZWdpc3Rlci4NCj4gPg0KPiA+IFBhdGNo IDQgaW4gdGhpcyBwYXRjaHNldCBhZG9wdHMgdGhpcyBvcHRpb24uIERyaXZlciBBUEkgY2hhbmdl DQo+ID4gaXMgaW50cm9kdWNlZCBpbiBidXNfcGNpX2RyaXZlci5oLiBDb3JyZXNwb25kaW5nIGNo YW5nZXMgaW4NCj4gPiBhbGwgZHJpdmVycyBhcmUgYWxzbyBkb25lIGFuZCBjdXJyZW50bHkgSSBh bSBhc3N1bWluZyBkcml2ZXJzDQo+ID4gZG8gbm90IHN1cHBvcnQgdGhpcyBmZWF0dXJlIHNvIHRo ZXkgd2lsbCBub3QgY2hlY2sgdGhlDQo+ID4gJ2lzX3NwYXJzZScgZmxhZyBidXQgYXNzdW1lcyBp dCB0byBiZSBmYWxzZS4gTm90ZSB0aGF0IGl0IHdpbGwNCj4gPiBub3QgYnJlYWsgYW55IGRyaXZl ciBhbmQgZWFjaCB2ZW5kb3IgY2FuIGFkZCByZWxhdGVkIGxvZ2ljIHdoZW4NCj4gPiB0aGV5IHN0 YXJ0IHRvIHN1cHBvcnQgdGhpcyBmZWF0dXJlLiBUaGlzIGlzIG9ubHkgYmVjYXVzZSBJIGRvbid0 DQo+ID4gd2FudCB0byBpbnRyb2R1Y2UgY29tcGxleGl0eSB0byBkcml2ZXJzIHRoYXQgZG8gbm90 IHdhbnQgdG8NCj4gPiBzdXBwb3J0IHRoaXMgZmVhdHVyZS4NCj4gPg0KPiA+IE9wdGlvbiAyOiBN YXAgc3BhcnNlIG1tYXAgcmVnaW9ucyBiYXNlZCBvbiBkZXZpY2Utc3BlY2lmaWMgQkFSIGxheW91 dA0KPiA+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0NCj4gPiBJbiB0aGlzIGFwcHJvYWNoLCB0aGUgc3BhcnNlIG1t YXAgcmVnaW9ucyBhcmUgbWFwcGVkIHRvIGNvbnRpbnVvdXMNCj4gPiB2aXJ0dWFsIGFkZHJlc3Mg cmVnaW9uIHRoYXQgZm9sbG93cyBkZXZpY2Utc3BlY2lmaWMgQkFSIGxheW91dC4NCj4gPiBGb3Ig ZXhhbXBsZSwgdGhlIEJBUiBzaXplIGlzIDB4NDAwMCBhbmQgb25seSAwLTB4MTAwMCAoc3BhcnNl IG1tYXANCj4gPiByZWdpb24gIzEpIGFuZCAweDMwMDAtMHg0MDAwIChzcGFyc2UgbW1hcCByZWdp b24gIzIpIGNvdWxkIGJlDQo+ID4gbW1hcGVkLiBSZWdpb24gIzEgd2lsbCBiZSBtYXBwZWQgYXQg J2Jhc2VfYWRkcicgYW5kIHJlZ2lvbiAjMg0KPiA+IHdpbGwgYmUgbWFwcGVkIGF0ICdiYXNlX2Fk ZHIgKyAweDMwMDAnLiBUaGUgZ29vZCB0aGluZyBpcyBpZg0KPiA+IHdlIGltcGxlbWVudCBsaWtl IHRoaXMsIGRyaXZlciBjYW4gc3RpbGwgYWNjZXNzIGFsbCBCQVIgcmVnaXN0ZXJzDQo+ID4gdXNp bmcgJ2Jhcl9iYXNlX2FkZHJlc3MgKyBiYXJfb2Zmc2V0JyB3YXkgYW5kIHdlIGRvbid0IG5lZWQN Cj4gPiB0byBpbnRyb2R1Y2UgYW55IGRyaXZlciBBUEkgY2hhbmdlLiBCdXQgdGhlIGFkZHJlc3Mg c3BhY2UNCj4gPiByYW5nZSAnYmFzZV9hZGRyICsgMHgxMDAwJyB0byAnYmFzZV9hZGRyICsgMHgz MDAwJyBtYXkgbmVlZCB0bw0KPiA+IGJlIHJlc2VydmVkIHNvIGl0IGNvdWxkIHJlc3VsdCBpbiB3 YXN0ZSBvZiBhZGRyZXNzIHNwYWNlIG9yIG1lbW9yeQ0KPiA+ICh3aGVuIHdlIHVzZSBNQVBfQU5P TllNT1VTIGFuZCBNQVBfUFJJVkFURSBmbGFnIHRvIHJlc2VydmUgdGhpcw0KPiA+IHJhbmdlKS4g TWVhbndoaWxlLCBkcml2ZXIgbmVlZHMgdG8ga25vdyB3aGljaCBwYXJ0IG9mIEJBUiBpcw0KPiA+ IG1tYXBlZCAodGhpcyBpcyBwb3NzaWJsZSBzaW5jZSB0aGUgcmFuZ2UgaXMgZGVmaW5lZCBieSB2 ZW5kb3Incw0KPiA+IHNwZWNpZmljIGtlcm5lbCBtb2R1bGUpLg0KPiA+DQo+ID4gT3B0aW9uIDM6 IFN1cHBvcnQgYm90aCBvcHRpb24gMSAmIDINCj4gPiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQ0KPiA+IFdlIGNvdWxkIGRlZmluZSBhIGRyaXZlciBmbGFnIHRvIGxldCBkcml2 ZXIgY2hvb3NlIHdoaWNoIHdheSBpdA0KPiA+IHBlcmZlcnMgc2luY2UgZWl0aGVyIG9wdGlvbiBo YXMgaXRzIG93biBQcm9zICYgQ29ucy4NCj4gPg0KPiA+IFBsZWFzZSBzaGFyZSB5b3VyIGNvbW1l bnRzLCBUaGFua3MhDQo+ID4NCj4gPg0KPiA+IENoZW5ibyBYaWEgKDQpOg0KPiA+ICAgYnVzL3Bj aTogaW50cm9kdWNlIGFuIGludGVybmFsIHJlcHJlc2VudGF0aW9uIG9mIFBDSSBkZXZpY2UNCj4g DQo+IEkgdGhpbmsgdGhpcyBmaXJzdCBwYXRjaCBtYWluIG1vdGl2YXRpb24gd2FzIHRvIGF2b2lk IEFCSSBpc3N1ZXMuDQo+IFNpbmNlIHYyMi4xMSwgdGhlIHJ0ZV9wY2lfZGV2aWNlIG9iamVjdCBp cyBvcGFxdWUgdG8gYXBwbGljYXRpb25zLg0KPiANCj4gU28sIGRvIHdlIHN0aWxsIG5lZWQgdGhp cyBwYXRjaD8NCj4gDQo+IA0KPiA+ICAgYnVzL3BjaTogYXZvaWQgZGVwZW5kaW5nIG9uIHByaXZh dGUgdmFsdWUgaW4ga2VybmVsIHNvdXJjZQ0KPiA+ICAgYnVzL3BjaTogaW50cm9kdWNlIGhlbHBl ciBmb3IgTU1JTyByZWFkIGFuZCB3cml0ZQ0KPiA+ICAgYnVzL3BjaTogYWRkIFZGSU8gc3BhcnNl IG1tYXAgc3VwcG9ydA0KPiA+DQo+ID4gIGRyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV9hY2MxMDBf cG1kLmMgICAgICAgICB8ICAgNiArLQ0KPiA+ICBkcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jICAgICAgICAgICAgfCAgIDYgKy0NCj4gPiAgLi4uL2ZwZ2FfNWducl9mZWMvcnRlX2Zw Z2FfNWducl9mZWMuYyAgICAgICAgIHwgICA2ICstDQo+ID4gIGRyaXZlcnMvYmFzZWJhbmQvZnBn YV9sdGVfZmVjL2ZwZ2FfbHRlX2ZlYy5jICB8ICAgNiArLQ0KPiA+ICBkcml2ZXJzL2J1cy9wY2kv YnNkL3BjaS5jICAgICAgICAgICAgICAgICAgICAgfCAgNDMgKy0NCj4gPiAgZHJpdmVycy9idXMv cGNpL2J1c19wY2lfZHJpdmVyLmggICAgICAgICAgICAgIHwgIDI0ICstDQo+ID4gIGRyaXZlcnMv YnVzL3BjaS9saW51eC9wY2kuYyAgICAgICAgICAgICAgICAgICB8ICA5MSArKystDQo+ID4gIGRy aXZlcnMvYnVzL3BjaS9saW51eC9wY2lfaW5pdC5oICAgICAgICAgICAgICB8ICAxNCArLQ0KPiA+ ICBkcml2ZXJzL2J1cy9wY2kvbGludXgvcGNpX3Vpby5jICAgICAgICAgICAgICAgfCAgMzQgKy0N Cj4gPiAgZHJpdmVycy9idXMvcGNpL2xpbnV4L3BjaV92ZmlvLmMgICAgICAgICAgICAgIHwgNDQ1 ICsrKysrKysrKysrKysrLS0tLQ0KPiA+ICBkcml2ZXJzL2J1cy9wY2kvcGNpX2NvbW1vbi5jICAg ICAgICAgICAgICAgICAgfCAgNTcgKystDQo+ID4gIGRyaXZlcnMvYnVzL3BjaS9wY2lfY29tbW9u X3Vpby5jICAgICAgICAgICAgICB8ICAxMiArLQ0KPiA+ICBkcml2ZXJzL2J1cy9wY2kvcHJpdmF0 ZS5oICAgICAgICAgICAgICAgICAgICAgfCAgMjUgKy0NCj4gPiAgZHJpdmVycy9idXMvcGNpL3J0 ZV9idXNfcGNpLmggICAgICAgICAgICAgICAgIHwgIDQ4ICsrDQo+ID4gIGRyaXZlcnMvYnVzL3Bj aS92ZXJzaW9uLm1hcCAgICAgICAgICAgICAgICAgICB8ICAgMyArDQo+ID4gIGRyaXZlcnMvY29t bW9uL2NueGsvcm9jX2Rldi5jICAgICAgICAgICAgICAgICB8ICAgNCArLQ0KPiA+ICBkcml2ZXJz L2NvbW1vbi9jbnhrL3JvY19kcGkuYyAgICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4gPiAgZHJp dmVycy9jb21tb24vY254ay9yb2NfbWwuYyAgICAgICAgICAgICAgICAgIHwgIDIyICstDQo+ID4g IGRyaXZlcnMvY29tbW9uL3FhdC9kZXYvcWF0X2Rldl9nZW4xLmMgICAgICAgICB8ICAgMiArLQ0K PiA+ICBkcml2ZXJzL2NvbW1vbi9xYXQvZGV2L3FhdF9kZXZfZ2VuNC5jICAgICAgICAgfCAgIDQg Ky0NCj4gPiAgZHJpdmVycy9jb21tb24vc2ZjX2VmeC9zZmNfZWZ4LmMgICAgICAgICAgICAgIHwg ICAyICstDQo+ID4gIGRyaXZlcnMvY29tcHJlc3Mvb2N0ZW9udHgvb3R4X3ppcC5jICAgICAgICAg ICB8ICAgNCArLQ0KPiA+ICBkcml2ZXJzL2NyeXB0by9jY3AvY2NwX2Rldi5jICAgICAgICAgICAg ICAgICAgfCAgIDQgKy0NCj4gPiAgZHJpdmVycy9jcnlwdG8vY254ay9jbnhrX2NyeXB0b2Rldl9v cHMuYyAgICAgIHwgICAyICstDQo+ID4gIGRyaXZlcnMvY3J5cHRvL25pdHJveC9uaXRyb3hfZGV2 aWNlLmMgICAgICAgICB8ICAgNCArLQ0KPiA+ICBkcml2ZXJzL2NyeXB0by9vY3Rlb250eC9vdHhf Y3J5cHRvZGV2X29wcy5jICAgfCAgIDYgKy0NCj4gPiAgZHJpdmVycy9jcnlwdG8vdmlydGlvL3Zp cnRpb19wY2kuYyAgICAgICAgICAgIHwgICA2ICstDQo+ID4gIGRyaXZlcnMvZG1hL2NueGsvY254 a19kbWFkZXYuYyAgICAgICAgICAgICAgICB8ICAgMiArLQ0KPiA+ICBkcml2ZXJzL2RtYS9oaXNp bGljb24vaGlzaV9kbWFkZXYuYyAgICAgICAgICAgfCAgIDYgKy0NCj4gPiAgZHJpdmVycy9kbWEv aWR4ZC9pZHhkX3BjaS5jICAgICAgICAgICAgICAgICAgIHwgICA0ICstDQo+ID4gIGRyaXZlcnMv ZG1hL2lvYXQvaW9hdF9kbWFkZXYuYyAgICAgICAgICAgICAgICB8ICAgMiArLQ0KPiA+ICBkcml2 ZXJzL2V2ZW50L2RsYjIvcGYvZGxiMl9tYWluLmMgICAgICAgICAgICAgfCAgMTYgKy0NCj4gPiAg ZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292Zl9wcm9iZS5jICAgICAgICAgIHwgIDM4ICstDQo+ ID4gIGRyaXZlcnMvZXZlbnQvb2N0ZW9udHgvdGltdmZfcHJvYmUuYyAgICAgICAgICB8ICAxOCAr LQ0KPiA+ICBkcml2ZXJzL2V2ZW50L3NrZWxldG9uL3NrZWxldG9uX2V2ZW50ZGV2LmMgICAgfCAg IDIgKy0NCj4gPiAgZHJpdmVycy9tZW1wb29sL29jdGVvbnR4L29jdGVvbnR4X2ZwYXZmLmMgICAg IHwgICA2ICstDQo+ID4gIGRyaXZlcnMvbmV0L2Fyay9hcmtfZXRoZGV2LmMgICAgICAgICAgICAg ICAgICB8ICAgNCArLQ0KPiA+ICBkcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfZXRoZGV2LmMgICAg ICAgICAgICAgfCAgIDIgKy0NCj4gPiAgZHJpdmVycy9uZXQvYXZwL2F2cF9ldGhkZXYuYyAgICAg ICAgICAgICAgICAgIHwgIDIwICstDQo+ID4gIGRyaXZlcnMvbmV0L2F4Z2JlL2F4Z2JlX2V0aGRl di5jICAgICAgICAgICAgICB8ICAgNCArLQ0KPiA+ICBkcml2ZXJzL25ldC9ibngyeC9ibngyeF9l dGhkZXYuYyAgICAgICAgICAgICAgfCAgIDYgKy0NCj4gPiAgZHJpdmVycy9uZXQvYm54dC9ibnh0 X2V0aGRldi5jICAgICAgICAgICAgICAgIHwgICA4ICstDQo+ID4gIGRyaXZlcnMvbmV0L2NwZmwv Y3BmbF9ldGhkZXYuYyAgICAgICAgICAgICAgICB8ICAgNCArLQ0KPiA+ICBkcml2ZXJzL25ldC9j eGdiZS9jeGdiZV9ldGhkZXYuYyAgICAgICAgICAgICAgfCAgIDIgKy0NCj4gPiAgZHJpdmVycy9u ZXQvY3hnYmUvY3hnYmVfbWFpbi5jICAgICAgICAgICAgICAgIHwgICAyICstDQo+ID4gIGRyaXZl cnMvbmV0L2N4Z2JlL2N4Z2JldmZfZXRoZGV2LmMgICAgICAgICAgICB8ICAgMiArLQ0KPiA+ICBk cml2ZXJzL25ldC9jeGdiZS9jeGdiZXZmX21haW4uYyAgICAgICAgICAgICAgfCAgIDIgKy0NCj4g PiAgZHJpdmVycy9uZXQvZTEwMDAvZW1fZXRoZGV2LmMgICAgICAgICAgICAgICAgIHwgICA0ICst DQo+ID4gIGRyaXZlcnMvbmV0L2UxMDAwL2lnYl9ldGhkZXYuYyAgICAgICAgICAgICAgICB8ICAg NCArLQ0KPiA+ICBkcml2ZXJzL25ldC9lbmEvZW5hX2V0aGRldi5jICAgICAgICAgICAgICAgICAg fCAgIDQgKy0NCj4gPiAgZHJpdmVycy9uZXQvZW5ldGMvZW5ldGNfZXRoZGV2LmMgICAgICAgICAg ICAgIHwgICAyICstDQo+ID4gIGRyaXZlcnMvbmV0L2VuaWMvZW5pY19tYWluLmMgICAgICAgICAg ICAgICAgICB8ICAgNCArLQ0KPiA+ICBkcml2ZXJzL25ldC9mbTEway9mbTEwa19ldGhkZXYuYyAg ICAgICAgICAgICAgfCAgIDIgKy0NCj4gPiAgZHJpdmVycy9uZXQvZ3ZlL2d2ZV9ldGhkZXYuYyAg ICAgICAgICAgICAgICAgIHwgICA0ICstDQo+ID4gIGRyaXZlcnMvbmV0L2hpbmljL2Jhc2UvaGlu aWNfcG1kX2h3aWYuYyAgICAgICB8ICAxNCArLQ0KPiA+ICBkcml2ZXJzL25ldC9obnMzL2huczNf ZXRoZGV2LmMgICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4gPiAgZHJpdmVycy9uZXQvaG5zMy9o bnMzX2V0aGRldl92Zi5jICAgICAgICAgICAgIHwgICAyICstDQo+ID4gIGRyaXZlcnMvbmV0L2hu czMvaG5zM19yeHR4LmMgICAgICAgICAgICAgICAgICB8ICAgNCArLQ0KPiA+ICBkcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmMgICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4gPiAgZHJpdmVy cy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jICAgICAgICAgICAgICAgIHwgICAyICstDQo+ID4gIGRy aXZlcnMvbmV0L2ljZS9pY2VfZGNmLmMgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQ0KPiA+ ICBkcml2ZXJzL25ldC9pY2UvaWNlX2V0aGRldi5jICAgICAgICAgICAgICAgICAgfCAgIDIgKy0N Cj4gPiAgZHJpdmVycy9uZXQvaWRwZi9pZHBmX2V0aGRldi5jICAgICAgICAgICAgICAgIHwgICA0 ICstDQo+ID4gIGRyaXZlcnMvbmV0L2lnYy9pZ2NfZXRoZGV2LmMgICAgICAgICAgICAgICAgICB8 ICAgMiArLQ0KPiA+ICBkcml2ZXJzL25ldC9pb25pYy9pb25pY19kZXZfcGNpLmMgICAgICAgICAg ICAgfCAgIDIgKy0NCj4gPiAgZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmMgICAgICAg ICAgICAgIHwgICA0ICstDQo+ID4gIGRyaXZlcnMvbmV0L2xpcXVpZGlvL2xpb19ldGhkZXYuYyAg ICAgICAgICAgICB8ICAgNCArLQ0KPiA+ICBkcml2ZXJzL25ldC9uZnAvbmZwX2V0aGRldi5jICAg ICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4gPiAgZHJpdmVycy9uZXQvbmZwL25mcF9ldGhkZXZf dmYuYyAgICAgICAgICAgICAgIHwgICA2ICstDQo+ID4gIGRyaXZlcnMvbmV0L25mcC9uZnBjb3Jl L25mcF9jcHBfcGNpZV9vcHMuYyAgICB8ICAgNCArLQ0KPiA+ICBkcml2ZXJzL25ldC9uZ2JlL25n YmVfZXRoZGV2LmMgICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4gPiAgZHJpdmVycy9uZXQvb2N0 ZW9uX2VwL290eF9lcF9ldGhkZXYuYyAgICAgICAgIHwgICAyICstDQo+ID4gIGRyaXZlcnMvbmV0 L29jdGVvbnR4L2Jhc2Uvb2N0ZW9udHhfcGtpdmYuYyAgICB8ICAgNiArLQ0KPiA+ICBkcml2ZXJz L25ldC9vY3Rlb250eC9iYXNlL29jdGVvbnR4X3Brb3ZmLmMgICAgfCAgMTIgKy0NCj4gPiAgZHJp dmVycy9uZXQvcWVkZS9xZWRlX21haW4uYyAgICAgICAgICAgICAgICAgIHwgICA2ICstDQo+ID4g IGRyaXZlcnMvbmV0L3NmYy9zZmMuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQ0K PiA+ICBkcml2ZXJzL25ldC90aHVuZGVyeC9uaWN2Zl9ldGhkZXYuYyAgICAgICAgICAgfCAgIDIg Ky0NCj4gPiAgZHJpdmVycy9uZXQvdHhnYmUvdHhnYmVfZXRoZGV2LmMgICAgICAgICAgICAgIHwg ICAyICstDQo+ID4gIGRyaXZlcnMvbmV0L3R4Z2JlL3R4Z2JlX2V0aGRldl92Zi5jICAgICAgICAg ICB8ICAgMiArLQ0KPiA+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3BjaS5jICAgICAgICAg ICAgICAgfCAgIDYgKy0NCj4gPiAgZHJpdmVycy9uZXQvdm14bmV0My92bXhuZXQzX2V0aGRldi5j ICAgICAgICAgIHwgICA0ICstDQo+ID4gIGRyaXZlcnMvcmF3L2NueGtfYnBoeS9jbnhrX2JwaHku YyAgICAgICAgICAgICB8ICAxMCArLQ0KPiA+ICBkcml2ZXJzL3Jhdy9jbnhrX2JwaHkvY254a19i cGh5X2NneC5jICAgICAgICAgfCAgIDYgKy0NCj4gPiAgZHJpdmVycy9yYXcvaWZwZ2EvYWZ1X3Bt ZF9uMzAwMC5jICAgICAgICAgICAgIHwgICA0ICstDQo+ID4gIGRyaXZlcnMvcmF3L2lmcGdhL2lm cGdhX3Jhd2Rldi5jICAgICAgICAgICAgICB8ICAgNiArLQ0KPiA+ICBkcml2ZXJzL3Jhdy9udGIv bnRiX2h3X2ludGVsLmMgICAgICAgICAgICAgICAgfCAgIDggKy0NCj4gPiAgZHJpdmVycy92ZHBh L2lmYy9pZmN2Zl92ZHBhLmMgICAgICAgICAgICAgICAgIHwgICA2ICstDQo+ID4gIGRyaXZlcnMv dmRwYS9zZmMvc2ZjX3ZkcGFfaHcuYyAgICAgICAgICAgICAgICB8ICAgMiArLQ0KPiA+ICBkcml2 ZXJzL3ZkcGEvc2ZjL3NmY192ZHBhX29wcy5jICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4gPiAg bGliL2VhbC9pbmNsdWRlL3J0ZV92ZmlvLmggICAgICAgICAgICAgICAgICAgIHwgICAxIC0NCj4g PiAgOTAgZmlsZXMgY2hhbmdlZCwgODUzIGluc2VydGlvbnMoKyksIDM1MiBkZWxldGlvbnMoLSkN Cj4gDQo+IA0KPiAtLQ0KPiBEYXZpZCBNYXJjaGFuZA0KDQo=