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 1C2E1A0093; Tue, 10 May 2022 16:39:30 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 03ED84283B; Tue, 10 May 2022 16:39:30 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 557D9410F2 for ; Tue, 10 May 2022 16:39:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1652193567; x=1683729567; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=PaBZfz9p1rV38rG4xoiOmqU2AFAyiXC6Y/Ue1+rq4eY=; b=Pv1ywIPIVIr1PiUwXEcqkMR4RrQfO+ipCkplVD2jheFFhJmqcdb7Fphp xHSRxaA1jURbwYKEiWBfBT+LN1+IAAJ/tLsRN6odhA+mkbMX+w8r49vdl 1y3XG0+ujG1E8wTWY5m+HYRkSCL0Sg+jX80FZukHFRz8aNFrj4/sO2X+y FdXVmN5XpxEOaFN7HYZ940eawGihMCK5jMvqkx7sRkv4YSOSPDLAixpqy MemvBzPFPEJBC7yga1/kbYpaTOXj8hjCre7oneIso8Alm1zxeXF5x+Qng b0CMvRsfF8cq/ty5gVOz6srMSaSqa4mQc1fABTTq5zn7584CUBl1FOSri w==; X-IronPort-AV: E=McAfee;i="6400,9594,10342"; a="332428125" X-IronPort-AV: E=Sophos;i="5.91,214,1647327600"; d="scan'208";a="332428125" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 May 2022 07:39:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,214,1647327600"; d="scan'208";a="669907676" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga002.fm.intel.com with ESMTP; 10 May 2022 07:39:25 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Tue, 10 May 2022 07:39:25 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Tue, 10 May 2022 07:39:25 -0700 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.47) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Tue, 10 May 2022 07:39:25 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QsDFePdQSL6QD2pXuNTP6qXyoF+As7iiHmBH9iovFNXc0bhetC2Jr9b5qpQuDb5SR/GFH6QCiDAkyqsDLzW6xkXN+WQ3MUN32afHiBdde4zrGIN//MVy5viHHUmnBTMX7X80P1zDKakC8Yq1z2qRt6pZL32tFhaQnGvL4XNfh6wo0xFbm8ojWg83DNlDaGeWhjVfy5EYkjRov+0akuM1f9fOBs/MIiFfelEiaOfICyMe6gQB4NpN15sVrMWUOek+j28iYhnOQh6mvmrAgWoq4FIF2aAFpSuhiLutMp/kLue7rzQsPjKrIP0Lv9iVCvSqjGf0yh0okaEuU7OayFBNoQ== 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=PaBZfz9p1rV38rG4xoiOmqU2AFAyiXC6Y/Ue1+rq4eY=; b=L1LsJcHPYP1Rb6ax7m8PeeaV97rl57KzrtR4xcWm6ghasYdqoL9MG/Ry9HyVCRLJYtvGEiNXnbP0TKAqaZKW7P8igdVYxuQC4uB4VTTGYwrxVYJxvVXLfQvje1hcbscJzykj2X0PrWXPuEwnoQujOfjj+a+u95yOr6wr4PptAF4K44IGZc7FPoixV9Ea1ugrc8uFKe/O5cCy2wgOKFDnndVXMaOWo3VgUZki4yPb0bq2jybuynHfzoOkEpyMs75x5oGAVk/1cVE2zzJ6imTjjtBrhcdggJeG4CASPfKgxAH9EwBY06BBiy3FcABuiLpr3JLYxazfsRg7I8JmcEpcPg== 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 BN0PR11MB5712.namprd11.prod.outlook.com (2603:10b6:408:160::17) by SN6PR11MB2750.namprd11.prod.outlook.com (2603:10b6:805:54::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.22; Tue, 10 May 2022 14:39:22 +0000 Received: from BN0PR11MB5712.namprd11.prod.outlook.com ([fe80::3091:5a2:a42d:effe]) by BN0PR11MB5712.namprd11.prod.outlook.com ([fe80::3091:5a2:a42d:effe%5]) with mapi id 15.20.5227.023; Tue, 10 May 2022 14:39:21 +0000 From: "Van Haaren, Harry" To: Ilya Maximets , "Richardson, Bruce" CC: "Mcnamara, John" , "Hu, Jiayu" , Maxime Coquelin , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "Pai G, Sunil" , "Stokes, Ian" , "Ferriter, Cian" , "ovs-dev@openvswitch.org" , "dev@dpdk.org" , "O'Driscoll, Tim" , "Finn, Emma" Subject: RE: OVS DPDK DMA-Dev library/Design Discussion Thread-Topic: OVS DPDK DMA-Dev library/Design Discussion Thread-Index: Adg/jDNGcC8G4wWtSxeVfUOuAS3Y6wACLuFQAM6falAAJoZBIAAA0srQAAK2F/AABHBTAAAAvWSAAACgo4AAAF2UgAAAVPwgAAOflKAAGxPQIAGemZWwAAEf4gAAAH3EAAAitdwAAAW7UoACaY7F0AEGIP2AAGIVDYAAImhggAEJM86QAVW3G1A= Date: Tue, 10 May 2022 14:39:21 +0000 Message-ID: References: <98CBD80474FA8B44BF855DF32C47DC35D86F82@smartserver.smartshare.dk> <94d817cb-8151-6644-c577-ed8b42d24337@redhat.com> <55c5a37f-3ee8-394b-8cff-e7daecb59f73@ovn.org> <0a414313f07d4781b9bdd8523c2e06f5@intel.com> <5ba635f6-0e7f-a558-b599-674e272cfd1e@ovn.org> 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.6.401.20 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cc09a73d-876b-476a-55e7-08da3292deec x-ms-traffictypediagnostic: SN6PR11MB2750:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gNY0Awqa/8dGd7//8Mxw7gPfZJbaQp14YvrlaqeJwIj1k7RJ+MAtm/TzcSE1ioLmBmMxjEoDOQ+IRcXZXhyZBkL70wo6FaBYawcQCvJywCom7TNz7IaWP7K6v1vlIwOE6UeDjM9ZU5F3K6JamlW8gTKRlGITpTAFQgLgZ127/dTKpg8yY/Y3jhr2zFeVaqi8JfrxNgmMcTA/6UVIlWizraI/xm07kgZstDUnQY1BL5OA+YjH65Rtb8qLs0Z6HpV10MgNGVPJx6kzhAjCMqpxB1VZhlz7/EC/6OR98QAj8Fo1f7qz7G2Q+0KcqVwp8ujVsBGfFzHBkgM8zCsiHNPcB9uI1BqSOsEHLooT+m7lBIWKzITc9a/QuwUDFn04IY6Sqmv9N1nfF9FEeoYKCOfFQUovLggpyuty3cfRqd8IuMbPzHh71dq1nWXtPp68GHB9exp4oOzAO5E9AGjEZbB5s2iyXs6f2gwV6YjWA2Xq4cp426KVl+SEuL9v/4nVfnEm581eRrA8GrNdYaJvH9IeYYYoz9KI1OGRSWtqG+1Nc1ziEeSoZOOjV6aR3bxVasPjavFbpkXeXubkZVTj43pkAxe1QVog6//MwkELqA9fakoyhZyy+4s8U+1spk1OdMYzEFCTKGi8BO6xrqu5egGb//hhPhLypkIlRRfwuio7X0uLXXxjJMUbXZbsRFA9M2IDvw1LE/0YeZiW13ljQ2KlpUwTsRI9tqnAAtmQkqlXLybjVnAoBK7mlrHxXNXAfd5ULIA6dP7QYpz+xNt34EvZV9n98oGxU7pRsO0rk0ktfdd7/rfr5W8Pg0RVS+7wsARGSODTjkNh0a3F6UJhXSRmCA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN0PR11MB5712.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(508600001)(55016003)(966005)(71200400001)(52536014)(6636002)(122000001)(110136005)(54906003)(82960400001)(316002)(38100700002)(38070700005)(86362001)(83380400001)(26005)(9686003)(4326008)(66446008)(8676002)(30864003)(66946007)(76116006)(66476007)(53546011)(64756008)(6506007)(5660300002)(186003)(7696005)(107886003)(2906002)(66574015)(33656002)(8936002)(66556008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?c25PMnVKb2E2RzFCM1BUMENZYyt2eWxCYVRNZ21DTmxseXdIVUZkaFN6VnBr?= =?utf-8?B?U2NIelNmS3IrWVJkTFV0Ynh6K0UwSEZUbjN3Nlp1T2RmWGoxRnRETXhaRTJj?= =?utf-8?B?L25PQVNXS1Q5cVVML0pBeXdHNlFuTC9MWXdPOUhFUVJ1NEFDQmNtRUJzTEVu?= =?utf-8?B?WjR4dFhQNEIzc0xoRjRkeGtwbEhjOHJhbTNGcjI0bEpRYzR5TnBvRjlhaTVw?= =?utf-8?B?R0dJdFk4Y29zNUdFWW5pZ2JsWm5yU2NTdnNFZ1ZkUVJsQkxxZEpUYjlFNCtj?= =?utf-8?B?dlQ2OFErbkUrclVYYWJ2TEFQdFQ4amdlaXFXVmwvWVpyNGFIVkxQL29oUFRm?= =?utf-8?B?bFRLRzBzdjE0Qm5vZk53RG9palJJWUJpUFVjNGh6bG1Cb2ZxYk1taG9PM2F2?= =?utf-8?B?N1g2K3NzcVdySmwrclQyaERRTEpvTWtwSW85UFAwc0k5R3BUZ3FIN3NVQ3Jt?= =?utf-8?B?R0duaHhid0JqUGEwR3JveTIzbHVibEpwQ0N5WDBHai9TbzJpZnZvQjVlY2RD?= =?utf-8?B?K2VOa2hQU0MxbTlzQjZvSjdyeWZXWnVUenIxck1TdEViUlZIeXVmbFFZdUZW?= =?utf-8?B?Ykx3ZnVYTklnYmRvN0hKbEJBd2hsWkdsY0ZRbTNndk51WXQ4Q0tvYTZCbzB2?= =?utf-8?B?YkFTVEpLWXlaaCt6MkNLY0dmcU80QVg5dTd5U3Q4czg4RktJTi9DQmhqVGNv?= =?utf-8?B?Y1kyYVF5V2xVUUMzeVFpTCtYc2JMa2JZamxUTlFNa1kybTVva0Y3d2VvK2ZW?= =?utf-8?B?bi9BOVdUTmhPZW5SZnRzZlFlQk0xc3lRMmMyVVdxb2M3YTZqK0YxZUVWTFQ5?= =?utf-8?B?VUlpd2p0UGVUejlJMGtCR09OR2l1SFdkSlI5eVBNMDN3ZVFqVUlsZSsyWVdr?= =?utf-8?B?VHVrWEdGY0YyZTV5SWRKckpjeitNTVVOVzhNZndlZVZ6UU5MaDRwRHRFVjNj?= =?utf-8?B?eVJSRjZSYTFEMDQ2em1ORTdheWVnYjlGcUpsZjZnSFY0dVI5MXBSM0daSHM4?= =?utf-8?B?MEtUWHVpSmJva1ZyUGNLUUVLWVB3QnNaSFR2UUtHbWwvY2JIWEN4KzlXVWw1?= =?utf-8?B?V2gzMjVXKzUyWVhaUjZLb3lJOEcrYlYrWlJ0RnYrWktWR1RvM3BER0wvc05P?= =?utf-8?B?OXlIeDlSR2Y2VE9ydTBUdkZERFlkMVV4OXRBTFhWbFBTSCtDMmViYmJUcEl1?= =?utf-8?B?aWZIUkIvbVZZenMwREtIN0RmOGJpdlRZK3VHSThtbVdOWDBQWUMxUTFNWHNP?= =?utf-8?B?TTlKcnA2LzdhN3lVekZ2WUoyeGNReVdFUFhpZXhWTEZEZzcyTXBjTjBvR25J?= =?utf-8?B?SlBBU1M4ZGw3V20yVTUzS1dqYWhDUiszSkg1ZldCcTdLKzVWbmJRbkVQakVF?= =?utf-8?B?WlhtMnMydGRkYjB6Y095U3pvSys2ekdNYXMxSmxTL0JUNGUyZ1BLQXM4RTlK?= =?utf-8?B?TlVsUmJRSDVBeis2YjVJeDhoY2dMTmh3K0FPRDlpb1ExYUM4MUFpcHZGYi9N?= =?utf-8?B?RVBxZ2VpS3U1TmxLampMc2NUak1BbktUcS9Hc0JiTityRjJkSWhGZTlRV3VI?= =?utf-8?B?VStENVgxY0l5VllDNk1hdDRsZHlodm9Tc0hpUTVSMVpGb2d2bTRidEwxZUZ1?= =?utf-8?B?NExxZ2J1QkJLKzBJaVZkcnZoQVYwL3h1eDRtUjYvdzFXMkZJbXVDWlhMWnBR?= =?utf-8?B?Wm5iaXFQejRVK0dTTGNScmQvWmpBL0NRZ0xIbkNGLzJVTVh0ZXJkRlpQalVB?= =?utf-8?B?bGYwU3ZRMGsyZ3pFNVdPNm5FM1ZmQnFXRWFDUWorZGxFdXdmaWRuS21WSHZ6?= =?utf-8?B?OW93RHUxZHVwNkJ3eXlxNTZoV2hoVlFLM2cwbE1VcjdmUHhPcnAzd0c4RUhX?= =?utf-8?B?dERJS2cwcjNvTUJ5WlB1LzdUaDBBcEZLTWVTWHZvOHJVVU1mSFhPZ21YMHdB?= =?utf-8?B?MW1iM2M1K0ZMdHdpeDlZeVVlMUh4YlZzQWdMaDlzaHZZeklqOENQUCt4dlhq?= =?utf-8?B?a3JaSlBxOGVGNEpNYXEyL2NrQkhhUHZHcE5UWk9UMW00aXVhbmpYSnlaUEx1?= =?utf-8?B?TDdDbmQyMHNuTUg0SG93Y3ZYbkJMYnhxQUljOGFkTmpmUDAzcWF6Yi9DUUoy?= =?utf-8?B?NndUZm9aMkc3MHB0K2kwcVZjYmNBNU0rNlRCTUc4VU5qWTMrdHZwZkUzaHNG?= =?utf-8?B?UGkzOWxnaGMxdUlZSTdmazhibGtLUnlmdG9ldC9jWXI5SWNjaGpWRndCTDN1?= =?utf-8?B?dUlsNGZhNTJlZW1nYWx3NE9kUnlpMzZ1dkZGSmQrVVR2ZVc4UGorTlFPUElp?= =?utf-8?B?K3oxSnZFU1RxUm5ZK296V1YrVGwxYnNBcDRJK2s0TnM5bGpLYUoxUnNCYmZ0?= =?utf-8?Q?IyZUonL6U9XND6io=3D?= 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: BN0PR11MB5712.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cc09a73d-876b-476a-55e7-08da3292deec X-MS-Exchange-CrossTenant-originalarrivaltime: 10 May 2022 14:39:21.2522 (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: dIQ+qgV/IIT4cqAyy7QqNvxwSlDwhNgzszPedo0ZZ/O9cxOjvxGbtaEk+aOBL7U25iPdLjkKaVX02lG4Vv9zR5y67Nt4bRCuNNe1I8irAjM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB2750 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 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBWYW4gSGFhcmVuLCBIYXJyeQ0K PiBTZW50OiBUdWVzZGF5LCBNYXkgMywgMjAyMiA4OjM4IFBNDQo+IFRvOiBJbHlhIE1heGltZXRz IDxpLm1heGltZXRzQG92bi5vcmc+OyBSaWNoYXJkc29uLCBCcnVjZQ0KPiA8YnJ1Y2UucmljaGFy ZHNvbkBpbnRlbC5jb20+DQo+IENjOiBNY25hbWFyYSwgSm9obiA8am9obi5tY25hbWFyYUBpbnRl bC5jb20+OyBIdSwgSmlheXUgPEppYXl1Lkh1QGludGVsLmNvbT47DQo+IE1heGltZSBDb3F1ZWxp biA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+OyBNb3J0ZW4gQnLDuHJ1cA0KPiA8bWJAc21h cnRzaGFyZXN5c3RlbXMuY29tPjsgUGFpIEcsIFN1bmlsIDxTdW5pbC5QYWkuR0BpbnRlbC5jb20+ OyBTdG9rZXMsIElhbg0KPiA8aWFuLnN0b2tlc0BpbnRlbC5jb20+OyBGZXJyaXRlciwgQ2lhbiA8 Q2lhbi5GZXJyaXRlckBpbnRlbC5jb20+OyBvdnMtDQo+IGRldkBvcGVudnN3aXRjaC5vcmc7IGRl dkBkcGRrLm9yZzsgTydEcmlzY29sbCwgVGltIDx0aW0ub2RyaXNjb2xsQGludGVsLmNvbT47DQo+ IEZpbm4sIEVtbWEgPEVtbWEuRmlubkBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJFOiBPVlMgRFBE SyBETUEtRGV2IGxpYnJhcnkvRGVzaWduIERpc2N1c3Npb24NCj4gDQo+ID4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBJbHlhIE1heGltZXRzIDxpLm1heGltZXRzQG92bi5v cmc+DQo+ID4gU2VudDogVGh1cnNkYXksIEFwcmlsIDI4LCAyMDIyIDI6MDAgUE0NCj4gPiBUbzog UmljaGFyZHNvbiwgQnJ1Y2UgPGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tPg0KPiA+IENjOiBp Lm1heGltZXRzQG92bi5vcmc7IE1jbmFtYXJhLCBKb2huIDxqb2huLm1jbmFtYXJhQGludGVsLmNv bT47IEh1LA0KPiBKaWF5dQ0KPiA+IDxqaWF5dS5odUBpbnRlbC5jb20+OyBNYXhpbWUgQ29xdWVs aW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPjsgVmFuDQo+ID4gSGFhcmVuLCBIYXJyeSA8 aGFycnkudmFuLmhhYXJlbkBpbnRlbC5jb20+OyBNb3J0ZW4gQnLDuHJ1cA0KPiA+IDxtYkBzbWFy dHNoYXJlc3lzdGVtcy5jb20+OyBQYWkgRywgU3VuaWwgPHN1bmlsLnBhaS5nQGludGVsLmNvbT47 IFN0b2tlcywgSWFuDQo+ID4gPGlhbi5zdG9rZXNAaW50ZWwuY29tPjsgRmVycml0ZXIsIENpYW4g PGNpYW4uZmVycml0ZXJAaW50ZWwuY29tPjsgb3ZzLQ0KPiA+IGRldkBvcGVudnN3aXRjaC5vcmc7 IGRldkBkcGRrLm9yZzsgTydEcmlzY29sbCwgVGltIDx0aW0ub2RyaXNjb2xsQGludGVsLmNvbT47 DQo+ID4gRmlubiwgRW1tYSA8ZW1tYS5maW5uQGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBSZTog T1ZTIERQREsgRE1BLURldiBsaWJyYXJ5L0Rlc2lnbiBEaXNjdXNzaW9uDQo+ID4NCj4gPiBPbiA0 LzI3LzIyIDIyOjM0LCBCcnVjZSBSaWNoYXJkc29uIHdyb3RlOg0KPiA+ID4gT24gTW9uLCBBcHIg MjUsIDIwMjIgYXQgMTE6NDY6MDFQTSArMDIwMCwgSWx5YSBNYXhpbWV0cyB3cm90ZToNCj4gPiA+ PiBPbiA0LzIwLzIyIDE4OjQxLCBNY25hbWFyYSwgSm9obiB3cm90ZToNCj4gPiA+Pj4+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPj4+PiBGcm9tOiBJbHlhIE1heGltZXRzIDxpLm1h eGltZXRzQG92bi5vcmc+DQo+ID4gPj4+PiBTZW50OiBGcmlkYXksIEFwcmlsIDgsIDIwMjIgMTA6 NTggQU0NCj4gPiA+Pj4+IFRvOiBIdSwgSmlheXUgPGppYXl1Lmh1QGludGVsLmNvbT47IE1heGlt ZSBDb3F1ZWxpbg0KPiA+ID4+Pj4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPjsgVmFuIEhh YXJlbiwgSGFycnkNCj4gPiA+Pj4+IDxoYXJyeS52YW4uaGFhcmVuQGludGVsLmNvbT47IE1vcnRl biBCcsO4cnVwDQo+ID4gPG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT47DQo+ID4gPj4+PiBSaWNo YXJkc29uLCBCcnVjZSA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+DQo+ID4gPj4+PiBDYzog aS5tYXhpbWV0c0Bvdm4ub3JnOyBQYWkgRywgU3VuaWwgPHN1bmlsLnBhaS5nQGludGVsLmNvbT47 IFN0b2tlcywgSWFuDQo+ID4gPj4+PiA8aWFuLnN0b2tlc0BpbnRlbC5jb20+OyBGZXJyaXRlciwg Q2lhbiA8Y2lhbi5mZXJyaXRlckBpbnRlbC5jb20+OyBvdnMtDQo+ID4gPj4+PiBkZXZAb3BlbnZz d2l0Y2gub3JnOyBkZXZAZHBkay5vcmc7IE1jbmFtYXJhLCBKb2huDQo+ID4gPj4+PiA8am9obi5t Y25hbWFyYUBpbnRlbC5jb20+OyBPJ0RyaXNjb2xsLCBUaW0gPHRpbS5vZHJpc2NvbGxAaW50ZWwu Y29tPjsNCj4gPiA+Pj4+IEZpbm4sIEVtbWEgPGVtbWEuZmlubkBpbnRlbC5jb20+DQo+ID4gPj4+ PiBTdWJqZWN0OiBSZTogT1ZTIERQREsgRE1BLURldiBsaWJyYXJ5L0Rlc2lnbiBEaXNjdXNzaW9u DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gT24gNC84LzIyIDA5OjEzLCBIdSwgSmlheXUgd3JvdGU6DQo+ ID4gPj4+Pj4NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+ID4+Pj4+PiBGcm9tOiBJbHlhIE1heGltZXRzIDxpLm1heGltZXRzQG92bi5vcmc+DQo+ ID4gPj4+Pj4+IFNlbnQ6IFRodXJzZGF5LCBBcHJpbCA3LCAyMDIyIDEwOjQwIFBNDQo+ID4gPj4+ Pj4+IFRvOiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPjsgVmFu IEhhYXJlbiwgSGFycnkNCj4gPiA+Pj4+Pj4gPGhhcnJ5LnZhbi5oYWFyZW5AaW50ZWwuY29tPjsg TW9ydGVuIEJyw7hydXANCj4gPiA+Pj4+Pj4gPG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT47IFJp Y2hhcmRzb24sIEJydWNlDQo+ID4gPj4+Pj4+IDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT4N Cj4gPiA+Pj4+Pj4gQ2M6IGkubWF4aW1ldHNAb3ZuLm9yZzsgUGFpIEcsIFN1bmlsIDxzdW5pbC5w YWkuZ0BpbnRlbC5jb20+OyBTdG9rZXMsDQo+ID4gPj4+Pj4+IElhbiA8aWFuLnN0b2tlc0BpbnRl bC5jb20+OyBIdSwgSmlheXUgPGppYXl1Lmh1QGludGVsLmNvbT47IEZlcnJpdGVyLA0KPiA+ID4+ Pj4+PiBDaWFuIDxjaWFuLmZlcnJpdGVyQGludGVsLmNvbT47IG92cy1kZXZAb3BlbnZzd2l0Y2gu b3JnOw0KPiA+ID4+Pj4+PiBkZXZAZHBkay5vcmc7IE1jbmFtYXJhLCBKb2huIDxqb2huLm1jbmFt YXJhQGludGVsLmNvbT47IE8nRHJpc2NvbGwsDQo+ID4gPj4+Pj4+IFRpbSA8dGltLm9kcmlzY29s bEBpbnRlbC5jb20+OyBGaW5uLCBFbW1hIDxlbW1hLmZpbm5AaW50ZWwuY29tPg0KPiA+ID4+Pj4+ PiBTdWJqZWN0OiBSZTogT1ZTIERQREsgRE1BLURldiBsaWJyYXJ5L0Rlc2lnbiBEaXNjdXNzaW9u DQo+ID4gPj4+Pj4+DQo+ID4gPj4+Pj4+IE9uIDQvNy8yMiAxNjoyNSwgTWF4aW1lIENvcXVlbGlu IHdyb3RlOg0KPiA+ID4+Pj4+Pj4gSGkgSGFycnksDQo+ID4gPj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4g T24gNC83LzIyIDE2OjA0LCBWYW4gSGFhcmVuLCBIYXJyeSB3cm90ZToNCj4gPiA+Pj4+Pj4+PiBI aSBPVlMgJiBEUERLLCBNYWludGFpbmVycyAmIENvbW11bml0eSwNCj4gPiA+Pj4+Pj4+Pg0KPiA+ ID4+Pj4+Pj4+IFRvcCBwb3N0aW5nIG92ZXJ2aWV3IG9mIGRpc2N1c3Npb24gYXMgcmVwbGllcyB0 byB0aHJlYWQgYmVjb21lDQo+ID4gPj4+PiBzbG93ZXI6DQo+ID4gPj4+Pj4+Pj4gcGVyaGFwcyBp dCBpcyBhIGdvb2QgdGltZSB0byByZXZpZXcgYW5kIHBsYW4gZm9yIG5leHQgc3RlcHM/DQo+ID4g Pj4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+PiDCoEZyb20gbXkgcGVyc3BlY3RpdmUsIGl0IHRob3NlIG1v c3Qgdm9jYWwgaW4gdGhlIHRocmVhZCBzZWVtIHRvIGJlDQo+ID4gPj4+Pj4+Pj4gaW4gZmF2b3Vy IG9mIHRoZSBjbGVhbiByeC90eCBzcGxpdCAoImRlZmVyIHdvcmsiKSwgd2l0aCB0aGUNCj4gPiA+ Pj4+Pj4+PiB0cmFkZW9mZiB0aGF0IHRoZSBhcHBsaWNhdGlvbiBtdXN0IGJlIGF3YXJlIG9mIGhh bmRsaW5nIHRoZSBhc3luYw0KPiA+ID4+Pj4+Pj4+IERNQSBjb21wbGV0aW9ucy4gSWYgdGhlcmUg YXJlIGFueSBjb25jZXJucyBvcHBvc2luZyB1cHN0cmVhbWluZyBvZg0KPiA+ID4+Pj4+Pj4+IHRo aXMNCj4gPiA+Pj4+Pj4gbWV0aG9kLCBwbGVhc2UgaW5kaWNhdGUgdGhpcyBwcm9tcHRseSwgYW5k IHdlIGNhbiBjb250aW51ZSB0ZWNobmljYWwNCj4gPiA+Pj4+Pj4gZGlzY3Vzc2lvbnMgaGVyZSBu b3cuDQo+ID4gPj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4gV2Fzbid0IHRoZXJlIHNvbWUgZGlzY3Vzc2lv bnMgYWJvdXQgaGFuZGxpbmcgdGhlIFZpcnRpbyBjb21wbGV0aW9ucw0KPiA+ID4+Pj4+Pj4gd2l0 aCB0aGUgRE1BIGVuZ2luZT8gV2l0aCB0aGF0LCB3ZSB3b3VsZG4ndCBuZWVkIHRoZSBkZWZlcnJh bCBvZiB3b3JrLg0KPiA+ID4+Pj4+Pg0KPiA+ID4+Pj4+PiArMQ0KPiA+ID4+Pj4+Pg0KPiA+ID4+ Pj4+PiBXaXRoIHRoZSB2aXJ0aW8gY29tcGxldGlvbnMgaGFuZGxlZCBieSBETUEgaXRzZWxmLCB0 aGUgdmhvc3QgcG9ydA0KPiA+ID4+Pj4+PiB0dXJucyBhbG1vc3QgaW50byBhIHJlYWwgSFcgTklD LiAgV2l0aCB0aGF0IHdlIHdpbGwgbm90IG5lZWQgYW55DQo+ID4gPj4+Pj4+IGV4dHJhIG1hbmlw dWxhdGlvbnMgZnJvbSB0aGUgT1ZTIHNpZGUsIGkuZS4gbm8gbmVlZCB0byBkZWZlciBhbnkgd29y aw0KPiA+ID4+Pj4+PiB3aGlsZSBtYWludGFpbmluZyBjbGVhciBzcGxpdCBiZXR3ZWVuIHJ4IGFu ZCB0eCBvcGVyYXRpb25zLg0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4gRmlyc3QsIG1ha2luZyBETUEg ZG8gMkIgY29weSB3b3VsZCBzYWNyaWZpY2UgcGVyZm9ybWFuY2UsIGFuZCBJIHRoaW5rDQo+ID4g Pj4+Pj4gd2UgYWxsIGFncmVlIG9uIHRoYXQuDQo+ID4gPj4+Pg0KPiA+ID4+Pj4gSSBkbyBub3Qg YWdyZWUgd2l0aCB0aGF0LiAgWWVzLCAyQiBjb3B5IGJ5IERNQSB3aWxsIGxpa2VseSBiZSBzbG93 ZXIgdGhhbg0KPiA+ID4+Pj4gZG9uZSBieSBDUFUsIGhvd2V2ZXIgQ1BVIGlzIGdvaW5nIGF3YXkg Zm9yIGRvemVucyBvciBldmVuIGh1bmRyZWRzIG9mDQo+ID4gPj4+PiB0aG91c2FuZHMgb2YgY3lj bGVzIHRvIHByb2Nlc3MgYSBuZXcgcGFja2V0IGJhdGNoIG9yIHNlcnZpY2Ugb3RoZXIgcG9ydHMs DQo+ID4gPj4+PiBoZW5jZSBETUEgd2lsbCBsaWtlbHkgY29tcGxldGUgdGhlIHRyYW5zbWlzc2lv biBmYXN0ZXIgdGhhbiB3YWl0aW5nIGZvcg0KPiA+ID4+Pj4gdGhlIENQVSB0aHJlYWQgdG8gY29t ZSBiYWNrIHRvIHRoYXQgdGFzay4gIEluIGFueSBjYXNlLCB0aGlzIGhhcyB0byBiZQ0KPiA+ID4+ Pj4gdGVzdGVkLg0KPiA+ID4+Pj4NCj4gPiA+Pj4+PiBTZWNvbmQsIHRoaXMgbWV0aG9kIGNvbWVz IHdpdGggYW4gaXNzdWUgb2Ygb3JkZXJpbmcuDQo+ID4gPj4+Pj4gRm9yIGV4YW1wbGUsIFBNRCB0 aHJlYWQwIGVucXVldWUgMTAgcGFja2V0cyB0byB2cmluZzAgZmlyc3QsIHRoZW4gUE1EDQo+ID4g Pj4+Pj4gdGhyZWFkMSBlbnF1ZXVlIDIwIHBhY2tldHMgdG8gdnJpbmcwLiBJZiBQTUQgdGhyZWFk MCBhbmQgdGhyZWExIGhhdmUNCj4gPiA+Pj4+PiBvd24gZGVkaWNhdGVkIERNQSBkZXZpY2UgZG1h MCBhbmQgZG1hMSwgZmxhZy9pbmRleCB1cGRhdGUgZm9yIHRoZQ0KPiA+ID4+Pj4+IGZpcnN0IDEw IHBhY2tldHMgaXMgZG9uZSBieSBkbWEwLCBhbmQgZmxhZy9pbmRleCB1cGRhdGUgZm9yIHRoZSBs ZWZ0DQo+ID4gPj4+Pj4gMjAgcGFja2V0cyBpcyBkb25lIGJ5IGRtYTEuIEJ1dCB0aGVyZSBpcyBu byBvcmRlcmluZyBndWFyYW50ZWUgYW1vbmcNCj4gPiA+Pj4+PiBkaWZmZXJlbnQgRE1BIGRldmlj ZXMsIHNvIGZsYWcvaW5kZXggdXBkYXRlIG1heSBlcnJvci4gSWYgUE1EIHRocmVhZHMNCj4gPiA+ Pj4+PiBkb24ndCBoYXZlIGRlZGljYXRlZCBETUEgZGV2aWNlcywgd2hpY2ggbWVhbnMgRE1BIGRl dmljZXMgYXJlIHNoYXJlZA0KPiA+ID4+Pj4+IGFtb25nIHRocmVhZHMsIHdlIG5lZWQgbG9jayBh bmQgcGF5IGZvciBsb2NrIGNvbnRlbnRpb24gaW4gZGF0YS1wYXRoLg0KPiA+ID4+Pj4+IE9yIHdl IGNhbiBhbGxvY2F0ZSBETUEgZGV2aWNlcyBmb3IgdnJpbmcgZHluYW1pY2FsbHkgdG8gYXZvaWQg RE1BDQo+ID4gPj4+Pj4gc2hhcmluZyBhbW9uZyB0aHJlYWRzLiBCdXQgd2hhdCdzIHRoZSBvdmVy aGVhZCBvZiBhbGxvY2F0aW9uIG1lY2hhbmlzbT8NCj4gPiA+Pj4+IFdobyBkb2VzIGl0PyBBbnkg dGhvdWdodHM/DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gMS4gRE1BIGNvbXBsZXRpb24gd2FzIGRpc2N1 c3NlZCBpbiBjb250ZXh0IG9mIHBlci1xdWV1ZSBhbGxvY2F0aW9uLCBzbw0KPiA+ID4+Pj4gdGhl cmUNCj4gPiA+Pj4+ICAgIGlzIG5vIHJlLW9yZGVyaW5nIGluIHRoaXMgY2FzZS4NCj4gPiA+Pj4+ DQo+ID4gPj4+PiAyLiBPdmVyaGVhZCBjYW4gYmUgbWluaW1hbCBpZiBhbGxvY2F0ZWQgZGV2aWNl IGNhbiBzdGljayB0byB0aGUgcXVldWUgZm9yDQo+ID4gPj4+PiBhDQo+ID4gPj4+PiAgICByZWFz b25hYmxlIGFtb3VudCBvZiB0aW1lIHdpdGhvdXQgcmUtYWxsb2NhdGlvbiBvbiBldmVyeSBzZW5k LiAgWW91IG1heQ0KPiA+ID4+Pj4gICAgbG9vayBhdCBYUFMgaW1wbGVtZW50YXRpb24gaW4gbGli L2RwaWYtbmV0ZGV2LmMgaW4gT1ZTIGZvciBleGFtcGxlIG9mDQo+ID4gPj4+PiAgICBzdWNoIG1l Y2hhbmlzbS4gIEZvciBzdXJlIGl0IGNhbiBub3QgYmUgdGhlIHNhbWUsIGJ1dCBpZGVhcyBjYW4g YmUgcmUtDQo+ID4gPj4+PiB1c2VkLg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IDMuIExvY2tpbmcgZG9l c24ndCBtZWFuIGNvbnRlbnRpb24gaWYgcmVzb3VyY2VzIGFyZSBhbGxvY2F0ZWQvZGlzdHJpYnV0 ZWQNCj4gPiA+Pj4+ICAgIHRob3VnaHRmdWxseS4NCj4gPiA+Pj4+DQo+ID4gPj4+PiA0LiBBbGxv Y2F0aW9uIGNhbiBiZSBkb25lIGJlIGVpdGhlciBPVlMgb3Igdmhvc3QgbGlicmFyeSBpdHNlbGYs IEknZCB2b3RlDQo+ID4gPj4+PiAgICBmb3IgZG9pbmcgdGhhdCBpbnNpZGUgdGhlIHZob3N0IGxp YnJhcnksIHNvIGFueSBEUERLIGFwcGxpY2F0aW9uIGFuZA0KPiA+ID4+Pj4gICAgdmhvc3QgZXRo ZGV2IGNhbiB1c2UgaXQgd2l0aG91dCByZS1pbnZlbnRpbmcgZnJvbSBzY3JhdGNoLiAgSXQgYWxz bw0KPiA+ID4+Pj4gc2hvdWxkDQo+ID4gPj4+PiAgICBiZSBzaW1wbGVyIGZyb20gdGhlIEFQSSBw b2ludCBvZiB2aWV3IGlmIGFsbG9jYXRpb24gYW5kIHVzYWdlIGFyZSBpbg0KPiA+ID4+Pj4gICAg dGhlIHNhbWUgcGxhY2UuICBCdXQgSSBkb24ndCBoYXZlIGEgc3Ryb25nIG9waW5pb24gaGVyZSBh cyBmb3Igbm93LA0KPiA+ID4+Pj4gc2luY2UNCj4gPiA+Pj4+ICAgIG5vIHJlYWwgY29kZSBleGFt cGxlcyBleGlzdCwgc28gaXQncyBoYXJkIHRvIGV2YWx1YXRlIGhvdyB0aGV5IGNvdWxkDQo+ID4g Pj4+PiBsb29rDQo+ID4gPj4+PiAgICBsaWtlLg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IEJ1dCBJIGZl ZWwgbGlrZSB3ZSdyZSBzdGFydGluZyB0byBydW4gaW4gY2lyY2xlcyBoZXJlIGFzIEkgZGlkIGFs cmVhZHkgc2F5DQo+ID4gPj4+PiBtb3N0IG9mIHRoYXQgYmVmb3JlLg0KPiA+ID4+Pg0KPiA+ID4+ Pg0KPiA+ID4+DQo+ID4gPj4gSGksIEpvaG4uDQo+ID4gPj4NCj4gPiA+PiBKdXN0IHJlYWRpbmcg dGhpcyBlbWFpbCBhcyBJIHdhcyBvbiBQVE8gZm9yIGEgbGFzdCAxLjUgd2Vla3MNCj4gPiA+PiBh bmQgZGlkbid0IGdldCB0aHJvdWdoIGFsbCB0aGUgZW1haWxzIHlldC4NCj4gPiA+Pg0KPiA+ID4+ PiBUaGlzIGRvZXMgc2VlbSB0byBiZSBnb2luZyBpbiBjaXJjbGVzLCBlc3BlY2lhbGx5IHNpbmNl IHRoZXJlIHNlZW1lZCB0byBiZQ0KPiA+IHRlY2huaWNhbCBhbGlnbm1lbnQgb24gdGhlIGxhc3Qg cHVibGljIGNhbGwgb24gTWFyY2ggMjl0aC4NCj4gPiA+Pg0KPiA+ID4+IEkgZ3Vlc3MsIHRoZXJl IGlzIGEgdHlwbyBpbiB0aGUgZGF0ZSBoZXJlLg0KPiA+ID4+IEl0IHNlZW1zIHRvIGJlIDI2dGgs IG5vdCAyOXRoLg0KPiA+ID4+DQo+ID4gPj4+IEl0IGlzIG5vdCBmZWFzaWJsZSB0byBkbyBhIHJl YWwgd29ybGQgaW1wbGVtZW50YXRpb24vUE9DIG9mIGV2ZXJ5IGRlc2lnbg0KPiA+IHByb3Bvc2Fs Lg0KPiA+ID4+DQo+ID4gPj4gRldJVywgSSB0aGluayBpdCBtYWtlcyBzZW5zZSB0byBQb0MgYW5k IHRlc3Qgb3B0aW9ucyB0aGF0IGFyZQ0KPiA+ID4+IGdvaW5nIHRvIGJlIHNpbXBseSB1bmF2YWls YWJsZSBnb2luZyBmb3J3YXJkIGlmIG5vdCBleHBsb3JlZCBub3cuDQo+ID4gPj4gRXNwZWNpYWxs eSBiZWNhdXNlIHdlIGRvbid0IGhhdmUgYW55IGdvb2Qgc29sdXRpb25zIGFueXdheQ0KPiA+ID4+ ICgiRGVmZXJyYWwgb2YgV29yayIgaXMgYXJjaGl0ZWN0dXJhbGx5IHdyb25nIHNvbHV0aW9uIGZv ciBPVlMpLg0KPiA+ID4+DQo+ID4gPg0KPiA+ID4gSGkgSWx5YSwNCj4gPiA+DQo+ID4gPiBmb3Ig dGhvc2Ugb2YgdXMgd2hvIGhhdmVuJ3Qgc3BlbnQgYSBsb25nIHRpbWUgd29ya2luZyBvbiBPVlMs IGNhbiB5b3UNCj4gPiA+IHBlcmhhcHMgZXhwbGFpbiBhIGJpdCBtb3JlIGFzIHRvIHdoeSBpdCBp cyBhcmNoaXRlY3R1cmFsbHkgd3Jvbmc/IEZyb20gbXkNCj4gPiA+IGV4cGVyaWVuY2Ugd2l0aCBE UERLLCB1c2Ugb2YgYW55IGxvb2thc2lkZSBhY2NlbGVyYXRvciwgbm90IGp1c3QgRE1BIGJ1dA0K PiA+ID4gYW55IGNyeXB0bywgY29tcHJlc3Npb24gb3Igb3RoZXJ3aXNlLCByZXF1aXJlcyBhc3lu Y2hyb25vdXMgb3BlcmF0aW9uLCBhbmQNCj4gPiA+IHRoZXJlZm9yZSBzb21lIGZvcm0gb2Ygc2V0 dGluZyB3b3JrIGFzaWRlIHRlbXBvcmFyaWx5IHRvIGRvIG90aGVyIHRhc2tzLg0KPiA+DQo+ID4g T1ZTIGRvZXNuJ3QgdXNlIGFueSBsb29rYXNpZGUgYWNjZWxlcmF0b3JzIGFuZCBkb2Vzbid0IGhh dmUgYW55DQo+ID4gaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoZW0uDQo+ID4NCj4gPg0KPiA+IExldCBt ZSBjcmVhdGUgYSBEUERLIGFuYWxvZ3kgb2Ygd2hhdCBpcyBwcm9wb3NlZCBmb3IgT1ZTLg0KPiA+ DQo+ID4gRFBESyBoYXMgYW4gZXRoZGV2IEFQSSB0aGF0IGFic3RyYWN0cyBkaWZmZXJlbnQgZGV2 aWNlIGRyaXZlcnMgZm9yDQo+ID4gdGhlIGFwcGxpY2F0aW9uLiAgVGhpcyBBUEkgaGFzIGEgcnRl X2V0aF90eF9idXJzdCgpIGZ1bmN0aW9uIHRoYXQNCj4gPiBpcyBzdXBwb3NlZCB0byBzZW5kIHBh Y2tldHMgdGhyb3VnaCB0aGUgcGFydGljdWxhciBuZXR3b3JrIGludGVyZmFjZS4NCj4gPg0KPiA+ IEltYWdpbmUgbm93IHRoYXQgdGhlcmUgaXMgYSBuZXR3b3JrIGNhcmQgdGhhdCBpcyBub3QgY2Fw YWJsZSBvZg0KPiA+IHNlbmRpbmcgcGFja2V0cyByaWdodCBhd2F5IGFuZCByZXF1aXJlcyB0aGUg YXBwbGljYXRpb24gdG8gY29tZQ0KPiA+IGJhY2sgbGF0ZXIgdG8gZmluaXNoIHRoZSBvcGVyYXRp b24uICBUaGF0IGlzIGFuIG9idmlvdXMgcHJvYmxlbSwNCj4gPiBiZWNhdXNlIHJ0ZV9ldGhfdHhf YnVyc3QoKSBkb2Vzbid0IHJlcXVpcmUgYW55IGV4dHJhIGFjdGlvbnMgYW5kDQo+ID4gZG9lc24n dCB0YWtlIG93bmVyc2hpcCBvZiBwYWNrZXRzIHRoYXQgd2Fzbid0IGNvbnN1bWVkLg0KPiA+DQo+ ID4gVGhlIHByb3Bvc2VkIHNvbHV0aW9uIGZvciB0aGlzIHByb2JsZW0gaXMgdG8gY2hhbmdlIHRo ZSBldGhkZXYgQVBJOg0KPiA+DQo+ID4gMS4gQWxsb3cgcnRlX2V0aF90eF9idXJzdCgpIHRvIHJl dHVybiAtRUlOUFJPR1JFU1MgdGhhdCBlZmZlY3RpdmVseQ0KPiA+ICAgIG1lYW5zIHRoYXQgcGFj a2V0cyB3YXMgYWNrbm93bGVkZ2VkLCBidXQgbm90IGFjdHVhbGx5IHNlbnQgeWV0Lg0KPiA+DQo+ ID4gMi4gUmVxdWlyZSB0aGUgYXBwbGljYXRpb24gdG8gY2FsbCB0aGUgbmV3IHJ0ZV9ldGhfcHJv Y2Vzc19hc3luYygpDQo+ID4gICAgZnVuY3Rpb24gc29tZXRpbWUgbGF0ZXIgdW50aWwgaXQgZG9l c24ndCByZXR1cm4gLUVJTlBST0dSRVNTDQo+ID4gICAgYW55bW9yZSwgaW4gY2FzZSB0aGUgb3Jp Z2luYWwgcnRlX2V0aF90eF9idXJzdCgpIGNhbGwgcmV0dXJuZWQNCj4gPiAgICAtRUlOUFJPR1JF U1MuDQo+ID4NCj4gPiBUaGUgbWFpbiByZWFzb24gd2h5IHRoaXMgcHJvcG9zYWwgaXMgcXVlc3Rp b25hYmxlOg0KPiA+DQo+ID4gSXQncyBvbmx5IG9uZSBzcGVjaWZpYyBkZXZpY2UgdGhhdCByZXF1 aXJlcyB0aGlzIHNwZWNpYWwgaGFuZGxpbmcsDQo+ID4gYWxsIG90aGVyIGRldmljZXMgYXJlIGNh cGFibGUgb2Ygc2VuZGluZyBwYWNrZXRzIHJpZ2h0IGF3YXkuDQo+ID4gSG93ZXZlciwgZXZlcnkg RFBESyBhcHBsaWNhdGlvbiBub3cgaGFzIHRvIGltcGxlbWVudCBzb21lIGtpbmQNCj4gPiBvZiAi RGVmZXJyYWwgb2YgV29yayIgbWVjaGFuaXNtIGluIG9yZGVyIHRvIGJlIGNvbXBsaWFudCB3aXRo DQo+ID4gdGhlIHVwZGF0ZWQgRFBESyBldGhkZXYgQVBJLg0KPiA+DQo+ID4gV2lsbCBEUERLIG1h a2UgdGhpcyBBUEkgY2hhbmdlPw0KPiA+IEkgaGF2ZSBubyB2b2ljZSBpbiBEUERLIEFQSSBkZXNp Z24gZGVjaXNpb25zLCBidXQgSSdkIGFyZ3VlIGFnYWluc3QuDQo+ID4NCj4gPiBJbnRlcmVzdGlu Z2x5LCB0aGF0J3Mgbm90IHJlYWxseSBhbiBpbWFnaW5hcnkgcHJvcG9zYWwuICBUaGF0IGlzDQo+ ID4gYW4gZXhhY3QgY2hhbmdlIHJlcXVpcmVkIGZvciBEUERLIGV0aGRldiBBUEkgaW4gb3JkZXIg dG8gYWRkDQo+ID4gdmhvc3QgYXN5bmMgc3VwcG9ydCB0byB0aGUgdmhvc3QgZXRoZGV2IGRyaXZl ci4NCj4gPg0KPiA+IEdvaW5nIGJhY2sgdG8gT1ZTOg0KPiA+DQo+ID4gQW4gb3ZlcnNpbXBsaWZp ZWQgYXJjaGl0ZWN0dXJlIG9mIE9WUyBoYXMgMyBsYXllcnMgKHRvcCB0byBib3R0b20pOg0KPiA+ DQo+ID4gMS4gT0Zwcm90byAtIHRoZSBsYXllciB0aGF0IGhhbmRsZXMgT3BlbkZsb3cuDQo+ID4g Mi4gRGF0YXBhdGggSW50ZXJmYWNlIC0gcGFja2V0IHByb2Nlc3NpbmcuDQo+ID4gMy4gTmV0ZGV2 IC0gYWJzdHJhY3Rpb24gb24gdG9wIG9mIGFsbCB0aGUgZGlmZmVyZW50IHBvcnQgdHlwZXMuDQo+ ID4NCj4gPiBFYWNoIGxheWVyIGhhcyBpdCdzIG93biBBUEkgdGhhdCBhbGxvd3MgZGlmZmVyZW50 IGltcGxlbWVudGF0aW9ucw0KPiA+IG9mIHRoZSBzYW1lIGxheWVyIHRvIGJlIHVzZWQgaW50ZXJj aGFuZ2VhYmx5IHdpdGhvdXQgYW55IG1vZGlmaWNhdGlvbnMNCj4gPiB0byBoaWdoZXIgbGF5ZXJz LiAgVGhhdCdzIHdoYXQgQVBJcyBhbmQgZW5jYXBzdWxhdGlvbiBpcyBmb3IuDQo+ID4NCj4gPiBT bywgTmV0ZGV2IGxheWVyIGhhcyBpdCdzIG93biBBUEkgYW5kIHRoaXMgQVBJIGlzIGFjdHVhbGx5 IHZlcnkNCj4gPiBzaW1pbGFyIHRvIHRoZSBEUERLJ3MgZXRoZGV2IEFQSS4gIFNpbXBseSBiZWNh dXNlIHRoZXkgYXJlIHNlcnZpbmcNCj4gPiB0aGUgc2FtZSBwdXJwb3NlIC0gYWJzdHJhY3Rpb24g b24gdG9wIG9mIGRpZmZlcmVudCBuZXR3b3JrIGludGVyZmFjZXMuDQo+ID4gQmVzaWRlIGRpZmZl cmVudCB0eXBlcyBvZiBEUERLIHBvcnRzLCB0aGVyZSBhcmUgYWxzbyBzZXZlcmFsIHR5cGVzDQo+ ID4gb2YgbmF0aXZlIGxpbnV4LCBic2QgYW5kIHdpbmRvd3MgcG9ydHMsIHZhcmlldHkgb2YgZGlm ZmVyZW50IHR1bm5lbA0KPiA+IHBvcnRzLg0KPiA+DQo+ID4gRGF0YXBhdGggaW50ZXJmYWNlIGxh eWVyIGlzIGFuICJhcHBsaWNhdGlvbiIgZnJvbSB0aGUgZXRoZGV2IGFuYWxvZ3kNCj4gPiBhYm92 ZS4NCj4gPg0KPiA+IFdoYXQgaXMgcHJvcG9zZWQgYnkgIkRlZmVycmFsIG9mIFdvcmsiIHNvbHV0 aW9uIGlzIHRvIG1ha2UgcHJldHR5DQo+ID4gbXVjaCB0aGUgc2FtZSBBUEkgY2hhbmdlIHRoYXQg SSBkZXNjcmliZWQsIGJ1dCB0byBuZXRkZXYgbGF5ZXIgQVBJDQo+ID4gaW5zaWRlIHRoZSBPVlMs IGFuZCBpbnRyb2R1Y2UgYSBmYWlybHkgY29tcGxleCAoYW5kIHF1ZXN0aW9uYWJsZSwNCj4gPiBi dXQgSSdtIG5vdCBnb2luZyBpbnRvIHRoYXQgcmlnaHQgbm93KSBtYWNoaW5lcnkgdG8gaGFuZGxl IHRoYXQgQVBJDQo+ID4gY2hhbmdlIGludG8gdGhlIGRhdGFwYXRoIGludGVyZmFjZSBsYXllci4N Cj4gPg0KPiA+IFNvLCBleGFjdGx5IHRoZSBzYW1lIHByb2JsZW0gaXMgaGVyZToNCj4gPg0KPiA+ IElmIHRoZSBBUEkgY2hhbmdlIGlzIG5lZWRlZCBvbmx5IGZvciBhIHNpbmdsZSBwb3J0IHR5cGUg aW4gYSB2ZXJ5DQo+ID4gc3BlY2lmaWMgaGFyZHdhcmUgZW52aXJvbm1lbnQsIHdoeSB3ZSBuZWVk IHRvIGNoYW5nZSB0aGUgY29tbW9uDQo+ID4gQVBJIGFuZCByZXdvcmsgYSBsb3Qgb2YgdGhlIGNv ZGUgaW4gdXBwZXIgbGF5ZXJzIGluIG9yZGVyIHRvIGFjY29tbW9kYXRlDQo+ID4gdGhhdCBBUEkg Y2hhbmdlLCB3aGlsZSBpdCBtYWtlcyBubyBwcmFjdGljYWwgc2Vuc2UgZm9yIGFueSBvdGhlcg0K PiA+IHBvcnQgdHlwZXMgb3IgbW9yZSBnZW5lcmljIGhhcmR3YXJlIHNldHVwcz8NCj4gPiBBbmQg c2ltaWxhciBjaGFuZ2VzIHdpbGwgaGF2ZSB0byBiZSBkb25lIGluIGFueSBvdGhlciBEUERLIGFw cGxpY2F0aW9uDQo+ID4gdGhhdCBpcyBub3QgYm91bmQgdG8gYSBzcGVjaWZpYyBoYXJkd2FyZSwg YnV0IHdhbnRzIHRvIHN1cHBvcnQgdmhvc3QNCj4gPiBhc3luYy4NCj4gPg0KPiA+IFRoZSByaWdo dCBzb2x1dGlvbiwgSU1PLCBpcyB0byBtYWtlIHZob3N0IGFzeW5jIGJlaGF2ZSBhcyBhbnkgb3Ro ZXINCj4gPiBwaHlzaWNhbCBOSUMsIHNpbmNlIGl0IGlzIGVzc2VudGlhbGx5IGEgcGh5c2ljYWwg TklDIG5vdyAod2UncmUgbm90DQo+ID4gdXNpbmcgRE1BIGRpcmVjdGx5LCBpdCdzIGEgY29tYmlu ZWQgdmhvc3QrRE1BIHNvbHV0aW9uKSwgaW5zdGVhZCBvZg0KPiA+IHByb3BhZ2F0aW5nIHF1aXJr cyBvZiB0aGUgc2luZ2xlIGRldmljZSB0byBhIGNvbW1vbiBBUEkuDQo+ID4NCj4gPiBBbmQgZ29p bmcgYmFjayB0byBEUERLLCB0aGlzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgYWxsb3cgdXNlIG9m DQo+ID4gdmhvc3QgYXN5bmMgaW4gdGhlIERQREsncyBvd24gdmhvc3QgZXRoZGV2IGRyaXZlci4N Cj4gPg0KPiA+IE15IGluaXRpYWwgcmVwbHkgdG8gdGhlICJEZWZlcnJhbCBvZiBXb3JrIiBSRkMg d2l0aCBwcmV0dHkgbXVjaA0KPiA+IHRoZSBzYW1lIGNvbmNlcm5zOg0KPiA+DQo+IGh0dHBzOi8v cGF0Y2h3b3JrLm96bGFicy5vcmcvcHJvamVjdC9vcGVudnN3aXRjaC9wYXRjaC8yMDIxMDkwNzEx MTcyNS40MzY3Mi0NCj4gPiAyLWNpYW4uZmVycml0ZXJAaW50ZWwuY29tLyMyNzUxNzk5DQo+ID4N Cj4gPiBCZXN0IHJlZ2FyZHMsIElseWEgTWF4aW1ldHMuDQo+IA0KPiANCj4gSGkgSWx5YSwNCj4g DQo+IFRoYW5rcyBmb3IgcmVwbHlpbmcgaW4gbW9yZSBkZXRhaWwsIHVuZGVyc3RhbmRpbmcgeW91 ciBwZXJzcGVjdGl2ZSBoZXJlIGhlbHBzIHRvDQo+IGNvbW11bmljYXRlIHRoZSB2YXJpb3VzIHNv bHV0aW9ucyBiZW5lZml0cyBhbmQgZHJhd2JhY2tzLiBBZ3JlZWQgdGhlDQo+IE9mUHJvdG8vRHBp Zi9OZXRkZXYNCj4gYWJzdHJhY3Rpb24gbGF5ZXJzIGFyZSBzdHJvbmcgYWJzdHJhY3Rpb25zIGlu IE9WUywgYW5kIGluIGdlbmVyYWwgdGhleSBzZXJ2ZSB0aGVpcg0KPiBwdXJwb3NlLg0KPiANCj4g QSBrZXkgZGlmZmVyZW5jZSBiZXR3ZWVuIE9WUydzIHVzYWdlIG9mIERQREsgRXRoZGV2IFRYIGFu ZCBWSG9zdCBUWCBpcyB0aGF0IHRoZQ0KPiBwZXJmb3JtYW5jZQ0KPiBvZiBlYWNoIGlzIHZlcnkg ZGlmZmVyZW50OiBhcyB5b3Uga25vdywgc2VuZGluZyBhIDE1MDAgYnl0ZSBwYWNrZXQgb3ZlciBh IHBoeXNpY2FsDQo+IE5JQywgb3IgdmlhDQo+IFZIb3N0IGludG8gYSBndWVzdCBoYXMgYSB2ZXJ5 IGRpZmZlcmVudCBDUFUgY3ljbGUgY29zdC4gVHlwaWNhbGx5IERQREsgVHggdGFrZXMgfjUlDQo+ IENQVSBjeWNsZXMNCj4gd2hpbGUgdmhvc3QgY29waWVzIGFyZSBvZnRlbiB+MzAlLCBidXQgY2Fu IGJlID4gNTAlIGluIGNlcnRhaW4gcGFja2V0LQ0KPiBzaXplcy9jb25maWd1cmF0aW9ucy4NCj4g DQo+IExldCdzIHZpZXcgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBhYm92ZSBleGFtcGxlIGZyb20g dGhlIHBlcnNwZWN0aXZlIG9mIGFuIGFjdHVhbA0KPiBkZXBsb3ltZW50OiBPVlMgaXMNCj4gdmVy eSBvZnRlbiBkZXBsb3llZCB0byBwcm92aWRlIGFuIGFjY2VsZXJhdGVkIHBhY2tldCBpbnRlcmZh Y2UgdG8gYSBndWVzdC9WTSB2aWENCj4gVmhvc3QvVmlydGlvLg0KPiBTdXJlbHkgaW1wcm92aW5n IHBlcmZvcm1hbmNlIG9mIHRoaXMgcHJpbWFyeSB1c2UtY2FzZSBpcyBhIHZhbGlkIHJlYXNvbiB0 byBjb25zaWRlcg0KPiBjaGFuZ2VzIGFuZA0KPiBpbXByb3ZlbWVudHMgdG8gYW4gaW50ZXJuYWwg YWJzdHJhY3Rpb24gbGF5ZXIgaW4gT1ZTPw0KPiANCj4gVG9kYXkgRFBESyB0eCBhbmQgdmhvc3Qg dHggYXJlIGNhbGxlZCB2aWEgdGhlIHNhbWUgbmV0ZGV2IGFic3RyYWN0aW9uLCBidXQgd2UgbXVz dA0KPiBhc2sgdGhlIHF1ZXN0aW9uczoNCj4gCS0gSXMgdGhlIG5ldGRldiBhYnN0cmFjdGlvbiBy ZWFsbHkgdGhlIGJlc3QgaXQgY2FuIGJlPw0KPiAJLSBEb2VzIGFkZGluZyBhbiBvcHRpb25hbCAi YXN5bmMiIGZlYXR1cmUgdG8gdGhlIGFic3RyYWN0aW9uIGltcHJvdmUNCj4gcGVyZm9ybWFuY2Ug c2lnbmlmaWNhbnRseT8gKHBvc2l0aXZlIGZyb20gaW5jbHVkaW5nPykNCj4gCS0gRG9lcyBhZGRp bmcgdGhlIG9wdGlvbmFsIGFzeW5jIGZlYXR1cmUgY2F1c2UgYWN0dWFsIGRlZ3JhZGF0aW9uIGlu IERQSUYNCj4gaW1wbGVtZW50YXRpb25zIHRoYXQgZG9uJ3Qgc3VwcG9ydC91c2UgaXQ/IChuZWdh dGl2ZSBkdWUgdG8gaW5jbHVkaW5nPykNCj4gDQo+IE9mIGNvdXJzZSBzdHJvbmcgYWJzdHJhY3Rp b25zIGFyZSB2YWx1YWJsZSwgYW5kIG9mIGNvdXJzZSBjaGFuZ2luZyB0aGVtIHJlcXVpcmVzDQo+ IGNhcmVmdWwgdGhvdWdodC4NCj4gQnV0IGxldCdzIGJlIGNsZWFyIC0gSXQgaXMgcHJvYmFibHkg ZmFpciB0byBzYXkgdGhhdCBPVlMgaXMgbm90IGRlcGxveWVkIGJlY2F1c2UgaXQgaGFzDQo+IGdv b2QgYWJzdHJhY3Rpb25zIGludGVybmFsbHkuDQo+IEl0IGlzIGRlcGxveWVkIGJlY2F1c2UgaXQg aXMgdXNlZnVsLCBhbmQgc2VydmVzIHRoZSBuZWVkIG9mIGFuIGVuZC11c2VyLiBBbmQgcGFydCBv Zg0KPiB0aGUgZW5kLXVzZXIgbmVlZHMgaXMgcGVyZm9ybWFuY2UuDQo+IA0KPiBUaGUgc3VnZ2Vz dGlvbiBvZiBpbnRlZ3JhdGluZyAiRGVmZXIgV29yayIgbWV0aG9kIG9mIGV4cG9zaW5nIGFzeW5j IGluIHRoZSBPVlMNCj4gRGF0YXBhdGggaXMgd2VsbCB0aG91Z2h0IG91dCwNCj4gYW5kIGEgY2xl YW4gd2F5IG9mIGhhbmRsaW5nIGFzeW5jIHdvcmsgaW4gYSBwZXItdGhyZWFkIG1hbm5lciBhdCB0 aGUgYXBwbGljYXRpb24NCj4gbGF5ZXIuIEl0IGlzIHRoZSBtb3N0IGNvbW1vbiB3YXkgb2YgaW50 ZWdyYXRpbmcNCj4gbG9va2FzaWRlIGFjY2VsZXJhdGlvbiBpbiBzb2Z0d2FyZSBwaXBlbGluZXMs IGFuZCBoYW5kbGluZyB0aGUgYXN5bmMgd29yayBhdA0KPiBhcHBsaWNhdGlvbiB0aHJlYWQgbGV2 ZWwgaXMgdGhlIG9ubHkgbG9naWNhbCBwbGFjZSB3aGVyZQ0KPiB0aGUgcHJvZ3JhbW1lciBjYW4g cmVhc29uIGFib3V0IHRyYWRlb2ZmcyBmb3IgYSBzcGVjaWZpYyB1c2UtY2FzZS4gQWRkaW5nICJk bWENCj4gYWNjZWxlcmF0aW9uIHRvIFZob3N0IiB3aWxsIGluZXZpdGFibHkgbGVhZCB0bw0KPiBj b21wcm9taXNlcyBpbiB0aGUgRFBESyBpbXBsZW1lbnRhdGlvbiwgYW5kIG9uZXMgdGhhdCBtaWdo dCAob3IgbWlnaHQgbm90KSB3b3JrDQo+IGZvciBPVlMgYW5kIG90aGVyIGFwcHMuDQo+IA0KPiBB cyB5b3Uga25vdywgdGhlcmUgaGF2ZSBiZWVuIE9WUyBDb25mZXJlbmNlIHByZXNlbnRhdGlvbnNb MV1bMl0sIFJGQ3MgYW5kDQo+IFBPQ3NbM11bNF1bNV1bNl0sIGFuZCBjb21tdW5pdHkgY2FsbHNb N11bOF1bOV0gb24gdGhlIHRvcGljLg0KPiBJbiB0aGUgdmFyaW91cyBwcmVzZW50YXRpb25zLCB0 aGUgYmVuZWZpdHMgb2YgdXNpbmcgYXBwbGljYXRpb24tbGV2ZWwgZGVmZXJyYWwgb2Ygd29yaw0K PiBhcmUgaGlnaGxpZ2h0ZWQsIGFuZCBjb21wYXJlZCB0byBvdGhlciBpbXBsZW1lbnRhdGlvbnMN Cj4gd2hpY2ggaGF2ZSBub24tZGVzaXJhYmxlIHNpZGUtZWZmZWN0cy4gV2UgaGF2ZW4ndCBoZWFy ZCBhbnkgb2JqZWN0aW9ucyB0aGF0IHBlb3BsZQ0KPiB3b24ndCB1c2UgT1ZTIGlmIHRoZSBuZXRk ZXYgYWJzdHJhY3Rpb24gaXMgY2hhbmdlZC4NCj4gDQo+IEl0IHNlZW1zIHRoZXJlIGlzIGEgdHJh ZGUtb2ZmIGRlY2lzaW9uIHRvIGJlIG1hZGU7DQo+IAlBKSBDaGFuZ2UvaW1wcm92ZSB0aGUgbmV0 ZGV2IGFic3RyYWN0aW9uIHRvIGFsbG93IGZvciBhc3luYyBhY2NlbGVyYXRpb25zLA0KPiBhbmQg cGF5IHRoZSBjb3N0IG9mIGFkZGVkIGFwcCBsYXllciBjb21wbGV4aXR5DQo+IAlCKSBEZW1hbmQg ZG1hLWFjY2VsZXJhdGlvbiBpcyBwdXNoZWQgZG93biBpbnRvIHZob3N0ICYgYmVsb3cgKGFzIG5l dGRldg0KPiBhYnN0cmFjdGlvbiBpcyBub3QgZ29pbmcgdG8gYmUgY2hhbmdlZCksDQo+IAkgICAg cmVzdWx0aW5nIGluIHN1Yi1wYXIgYW5kIHBvdGVudGlhbGx5IHVudXNhYmxlIGNvZGUgZm9yIGFu eSBnaXZlbiBhcHAsIGFzDQo+IGxvd2VyLWxheWVycyBjYW5ub3QgcmVhc29uIGFib3V0IGFwcCBs ZXZlbCBzcGVjaWZpY3MNCj4gDQo+IEhvdyBjYW4gd2UgdGhlIE9WUy9EUERLIGRldmVsb3BlcnMg YW5kIHVzZXJzIG1ha2UgYSBkZWNpc2lvbiBoZXJlPw0KDQpQaW5nIG9uIHRoaXMgdG9waWMgLSB0 aGVyZSdzIGFuIGFzayBoZXJlIHRvIGZpbmQgaG93IHRvIGJlc3QgbW92ZSBmb3J3YXJkLCBzbw0K d2VsY29taW5nIGlucHV0IGZyb20gZXZlcnlvbmUsIGFuZCBzcGVjaWZpY2FsbHkgT1ZTIG1haW50 YWluZXJzICYgdGVjaCBsZWFkZXJzLg0KDQoNCj4gUmVnYXJkcywgLUhhcnJ5DQo+IA0KPiBbMV0g aHR0cHM6Ly93d3cub3BlbnZzd2l0Y2gub3JnL3N1cHBvcnQvb3ZzY29uMjAyMC8jQzMNCj4gWzJd IGh0dHBzOi8vd3d3Lm9wZW52c3dpdGNoLm9yZy9zdXBwb3J0L292c2NvbjIwMjEvI1QxMg0KPiBb M10gcmF3ZGV2Ow0KPiBodHRwczovL3BhdGNod29yay5vemxhYnMub3JnL3Byb2plY3Qvb3BlbnZz d2l0Y2gvcGF0Y2gvMjAyMDEwMjMwOTQ4NDUuMzU2NTItDQo+IDItc3VuaWwucGFpLmdAaW50ZWwu Y29tLw0KPiBbNF0gZGVmZXIgd29yazsNCj4gaHR0cDovL3BhdGNod29yay5vemxhYnMub3JnL3By b2plY3Qvb3BlbnZzd2l0Y2gvbGlzdC8/c2VyaWVzPTI2MTI2NyZzdGF0ZT0qDQo+IFs1XSB2MzsN Cj4gaHR0cDovL3BhdGNod29yay5vemxhYnMub3JnL3Byb2plY3Qvb3BlbnZzd2l0Y2gvcGF0Y2gv MjAyMjAxMDQxMjUyNDIuMTA2NDE2Mg0KPiAtMi1zdW5pbC5wYWkuZ0BpbnRlbC5jb20vDQo+IFs2 XSB2NDsNCj4gaHR0cDovL3BhdGNod29yay5vemxhYnMub3JnL3Byb2plY3Qvb3BlbnZzd2l0Y2gv cGF0Y2gvMjAyMjAzMjExNzM2NDAuMzI2Nzk1LQ0KPiAyLXN1bmlsLnBhaS5nQGludGVsLmNvbS8N Cj4gWzddIFNsaWRlcyBzZXNzaW9uIDE7IGh0dHBzOi8vZ2l0aHViLmNvbS9TdW5pbC1QYWktRy9P VlMtRFBESy1wcmVzZW50YXRpb24tDQo+IHNoYXJlL3Jhdy9tYWluL09WUyUyMHZob3N0JTIwYXN5 bmMlMjBkYXRhcGF0aCUyMGRlc2lnbiUyMDIwMjIucGRmDQo+IFs4XSBTbGlkZXMgc2Vzc2lvbiAy OyBodHRwczovL2dpdGh1Yi5jb20vU3VuaWwtUGFpLUcvT1ZTLURQREstcHJlc2VudGF0aW9uLQ0K PiBzaGFyZS9yYXcvbWFpbi9PVlMlMjB2aG9zdCUyMGFzeW5jJTIwZGF0YXBhdGglMjBkZXNpZ24l MjAyMDIyJTIwc2Vzc2lvDQo+IG4lMjAyLnBkZg0KPiBbOV0gU2xpZGVzIHNlc3Npb24gMzsgaHR0 cHM6Ly9naXRodWIuY29tL1N1bmlsLVBhaS1HL09WUy1EUERLLXByZXNlbnRhdGlvbi0NCj4gc2hh cmUvcmF3L21haW4vb3ZzX2RhdGFwYXRoX2Rlc2lnbl8yMDIyJTIwc2Vzc2lvbiUyMDMucGRmDQoN Cg==