From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web09.15918.1665539722631794763 for ; Tue, 11 Oct 2022 18:55:22 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=l9jyfjVu; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665539722; x=1697075722; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Lv818JmRy3+z4oglt4F5M3GYbuMME/HDGizRGVgOFxQ=; b=l9jyfjVuixsh/12h4ZErG4hmath+7qVSJ249nqtuxm4AB61V9L7rkWAe lx+IaJuR2BP4jYQlc8ElRZE1XLwe5g0xBWfVBkifj1kx7jQZKrsB/7xv+ yzJ9fualJotecaB6GQdK7iJNHs+Yd8MtyXt0SB89V6WxmcjSC+SntmCuS pp9cq+6DOyu8vB3ufrb4hcCgYGQMafzJ1LCF1PGD0ooeBkKM9LPTG+akZ jcJuZvTnGZsbr2GWJ/qD1Rj+JS9Sl3lGGykJqC6zNUSn5lctrb2iIv8Of UmAfnfJFRjHPQ/U6tGY0U7jltSdbpfQ6llT5jt4rUcLE9QMTG36tK9VHF A==; X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="306298962" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="306298962" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Oct 2022 18:55:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="577657216" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="577657216" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga003.jf.intel.com with ESMTP; 11 Oct 2022 18:55:21 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) 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.2375.31; Tue, 11 Oct 2022 18:55:20 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.2375.31 via Frontend Transport; Tue, 11 Oct 2022 18:55:20 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.169) 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.2375.31; Tue, 11 Oct 2022 18:55:20 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LzjoAjLNgZlh9xeQXE2LiTfXSBNr9F+1wfEGn2Se0yKARFT/gj1exRTzIvtVerYqsz5Wiu8eXSgQ8a+eKWhDPBzosqsreFxgKkEHLdMCxapuG2LJDg5unqiIYiTtcezMgdTETpwyTbMD93nkQF1WctTWXkPeNvjAUeBAnmL/iGtA0H2v3RmDBWf5KHE9hcHgISqCbl/S1chtrV0KQ+C/YMYbcJcDgHKK4tOF9zExXZ5timbtW7ig8kzUCnNp5KkOLkCJCqmqPOALlr7NXbKvZycV7SxIBcxO9/G5JWZw9ynjCwlAZ0QUIXDHJGKurIiQV2JPrgb63+wT9bzfXU8smg== 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=Lv818JmRy3+z4oglt4F5M3GYbuMME/HDGizRGVgOFxQ=; b=cLSors8UkypvVDnhqZdMgbLiZtuz1qYQk87cmQQekYg5MW08GMw0fEm/eMX7Tc/MFcj/rgU+Use2oAAtPSUYX6E3U8iO0pjOLwIg499gs8LA35TRMOE3X1bk4kGadaSsESIsQo6jFGzv8G3TcXAnKxPTXxYFRiP4UAxdlUMrQvZB/RZrvQZpAJLqZVDuoCQEqUR6hH9GtArrmunKwKznx/qvC5iLTyw1ZcDGGrHJqhZDoDyEK/O5C0vTogDfjECEl0jmE/akbE3rITUhGRwhdv8+aumQOATKKsElKCZucWnmT2KweBtqIa9/1B8q4sjYm6EPkDr4WjiiTgZZdOpH4w== 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 CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by MN2PR11MB4630.namprd11.prod.outlook.com (2603:10b6:208:24e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.21; Wed, 12 Oct 2022 01:55:18 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::ce64:b1b4:e087:4cc2]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::ce64:b1b4:e087:4cc2%8]) with mapi id 15.20.5709.021; Wed, 12 Oct 2022 01:55:17 +0000 From: "Michael D Kinney" To: "Yao, Jiewen" , "devel@edk2.groups.io" , "Kinney, Michael D" CC: "Wang, Jian J" , "Lu, Xiaoyu1" , "Jiang, Guomin" , "Zurcher, Christopher" , Rebecca Cran , Ard Biesheuvel Subject: Re: [Patch 00/12] CryptoPkg: Remove EC PCD and merge perf opt OpensslLibs Thread-Topic: [Patch 00/12] CryptoPkg: Remove EC PCD and merge perf opt OpensslLibs Thread-Index: AQHY3dc2qMxyYbLpsU+2G9M3T1rE6q4J84MQgAAHB4CAAAP20A== Date: Wed, 12 Oct 2022 01:55:17 +0000 Message-ID: References: <20221011150358.1332-1-michael.d.kinney@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.500.17 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: CO1PR11MB4929:EE_|MN2PR11MB4630:EE_ x-ms-office365-filtering-correlation-id: 7967342c-c3d6-410f-b2af-08daabf4d02c x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: CJ9w2LsuuWo8/m4E+8bBR9Lm0LuE5ttDXNuOpJutIXAGkoLFQFHREh/kIwhq8dH/+UKBaO1vG3U+O1yEfrZ1jUmWMEeH8uYe3XFqyzTnFxF5/kUUeO9s7Q0nZQ3/w1xSmPGvfzl+HT5vE2aoq3I4IEu3QxjzQQ2bCgaahVKe6CwCmmpAyBd0nhFbFT4e5WPhXZjlZhFhIinylrD7vX5gQ2eJxzlYldreROYC3OIPgwBoXhkcomGkTNku22+95G2K8etl2rgsRuyskfYF+xAMhv05JqbZ7swuQTzm+/7NatNX/VxEkPcRYKsg7ZfAcCzgG1jW4UbPprfp68BkDV/71NHNNgTnGKKBcVkGSFmYopDESeZhWEltCRjRejxYkAOYamGwEZNxuzgVfK1ugfSKTzmY2hvQL3N4sWpgiBlxTp68N50cSII21zTWwfPqCyFkaskP0I2vLbWS5bO9wNzt45JjhZHIU/Dj+eHnMr7hJ8eeNhZxPG5MDlV4IXNW8kh3gyem8VNGkuBSLK2kP/fmbxfYbjtKovQvcqkpN4F7zJz3jvBTpn8vn/CRB4QgPDZUX7v+0O4zV+r8/+c7BZ3nWF790blduskDNgtJe0TfhOZ5YsAqjkOBIM1K1vIiODfqRfXbkvwVD9to0XIz+QQAk3OJeoP6jwOST5JSB9ENO5y22UiUGFzLx9zbBIfC0dH6gBUAWUVH+3nYuaM6a8YNwdNZE9iIO/H66SzyWK6b4dZMCwYyimBGmrTsgTxBQbTmbgiH+jhsC8UTNMkih0286GRxmL1bcXo5nglJo/DlH8ZkLUn4+1uV78Zpz+n6QlybkWNr4oRPSTDLwf8bAI8k4g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(376002)(366004)(396003)(136003)(39860400002)(451199015)(55016003)(82960400001)(33656002)(38070700005)(71200400001)(316002)(38100700002)(122000001)(54906003)(86362001)(19627235002)(8676002)(110136005)(8936002)(2906002)(66476007)(64756008)(66446008)(66556008)(4326008)(76116006)(66946007)(41300700001)(5660300002)(83380400001)(7696005)(478600001)(6506007)(30864003)(52536014)(186003)(53546011)(966005)(26005)(9686003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TUEwenhzY1l3SE1NcjVKaC9kVUVXblZjaE5USWdoQjZiNHFtKzl5R2trRGtn?= =?utf-8?B?YVVjd1p0aFU3QVJJS3JVYXZtaXpKeG5hR0hwTTc5TDcrTUdLV251RXo4SWxz?= =?utf-8?B?TFVqU3MyMWtTU0MwTU43ZWtOdGhzZ2ZsNXFKaDdleDFjdnQ1NU8zWEMzVkVF?= =?utf-8?B?WS9NTGZNYzdQOWtRNmQ1RU1sMWhtRUxlWHNMd2ZnMjR5V0FJWXJ5UU1KUWlo?= =?utf-8?B?OW9tcEZkUWFSclZIUE9qTTVTRHpscituMExQdjBnU28wSU1ENDREdHFkbnRX?= =?utf-8?B?ZWt1ZHY3MDJ6eFVzU1hlZHQ0T3FGdHNRY0ZuQUFEVm1DcisyZjFJdGJzM3cw?= =?utf-8?B?ZFlYaExia3lVbzBhT25mSWpuTkNpWHZxNWJLdTFTT1pLT0FsVzlxMHJCcHB4?= =?utf-8?B?VmlvTXlhOFZSQ0xmOEFjSG5kNWF0bEEySC9ieExTOThkVStEamJsMzFQRWhz?= =?utf-8?B?UVpWTUNMeGdXNzg5dWRIOXV4MGRLZC9kRk1BWFNrS0lzYzZkV01HUksrUzhi?= =?utf-8?B?WC94MTNzNm5peCtXc0w0RituR0x5UGFRdmhzcUhsK2x3dEh5R0xMdEswMmFa?= =?utf-8?B?bHMwMUNxNjBSc3F1d3FmcGhtM2NuS080dU1UTi9LTnFxWGt4YkU1eDNoOE44?= =?utf-8?B?azk5LzZQcmNLL3MvSStCSHlPNmJwS3d3dVhhME16aEU5SUtxajVJWjN2cW4v?= =?utf-8?B?Z2Z2bk15OG9RNTlyR2R1RGVnNldGMTZ4elcyU3R5NlkxV1VkV0VJSGhIeUMz?= =?utf-8?B?UERkVmJKdktnZUFSbm5ndHVnVTJFOGx0dVNBdUthWU5sMDltb3V4N2YrVVFI?= =?utf-8?B?OEZnSFovd1hnRDMvRktQOWU2eVFpNGRGQVpEU0ZscW1ZaGExVWhhcHVJL2Va?= =?utf-8?B?NUVVaEJRYzJCZ1UzbTRTTWxWcXlSZUl1b3I5RTg0TFlSQ2wzZkZVVTQvWXZy?= =?utf-8?B?NEhxS0hpWXNiV3RORThMZjdjaWV0VllnSW5RQlZ2TGVRQVZNQXgwYWF6ejdD?= =?utf-8?B?VnhxUjYwYmx4VllkeGVhMXVqMjNpckVYL1BKVHRuKzA4QzdCaHlNaVNJV3Nw?= =?utf-8?B?bnJJWUtkanMvb3J6alZSeUlFcnNFclM2ZGZwQ2xXeTMveVQzemczZWdmS1Ru?= =?utf-8?B?ZUtBZml6VTN5T2s0aEErdDExQVFDWmYyNXVNSjE4Q3JYWGNRYkJUUC9HbE14?= =?utf-8?B?TVIzeEFIYWhSSmt4b2ZGbmdWeEVZVXNJWVVidEdpVGduS3BjaTBMYnNUV0tR?= =?utf-8?B?bXQ1UVdQbEI2TXYwVjJHNjhJU3ZoUjBpZlJkV2VDbldMYXRNZ0lveWMrWlVz?= =?utf-8?B?VjUxanR3d29SN2JuTnprbjB4ejFJd3N4SkpzOGFSeHlsR2cxd0ZyWE5UMDZ2?= =?utf-8?B?K24xUStFY3luWG9GVGNyMXM0ckJCR3RiNFQ3c2toM3g0MWZrYjdxanV0U3lN?= =?utf-8?B?eTNwS3Y1clVzNGx2WnZKTURGRFJPNkR6MGl6L0RZL3p2eXZmNDdvb1N6UWV6?= =?utf-8?B?eDhlVnRjK1NYVG5JK0FaN3lCbkpyLzhTQW9FeFNVTnVzTUpiZE82NmtDSmZj?= =?utf-8?B?TVZvdXVnSmpTeGRSQUpDZEt2VDNoRnROc3I2d3p6Nk1nM29QYitpZUdTME9o?= =?utf-8?B?bDVHSUV0Slh6M2NPelA4SVdJN0k0Q3pLVDBzMkh1YzVlT1Q5U0thVDZRUVBM?= =?utf-8?B?VThyN00xNjlpdkQ1V0JpdHc5N24ybGZtem44RmFyNnJqUkhpWEJBNVBSMEcy?= =?utf-8?B?ejhraHN0K2liK2FSd2JMNVBIbzhlSUliTFZPTUhXWDA1WloyNEhUQ1hRcTVz?= =?utf-8?B?MGFlejY0bEtuWkw1d0gxSFhPRFI1SlNTdi9wRnhZNytiZEJOZ1E2T2piOXNQ?= =?utf-8?B?ZCsrdkQrQkx4OFNxTkxCb0dZY2FCbDRVSE5NYWIwcGVQcW13amlrVUJkbHhJ?= =?utf-8?B?RTA2R01oSmMxbys2c2R6Y0hrRGhLR2czMmx0bUQ3ZlhsSllTcFd2Z1V2VmZk?= =?utf-8?B?ZFdBSnJ5NGNFYnQyaHZEejVoVGZySmF1YmRqbnNxeFcwdHFNQ1ZCcmRKanF6?= =?utf-8?B?OTV6U1ZPaEkwUDkvQkdtQlZja2k3K0Q1dXZqMEVqZU5CSFR6bGphWG42WjBW?= =?utf-8?B?eVhsNUwvSEJ3VWxCK3VCbHFxajBiaTA0ZTVqTTJVelZEbTBWTmpxelBqZ0NS?= =?utf-8?B?Umc9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7967342c-c3d6-410f-b2af-08daabf4d02c X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2022 01:55:17.8994 (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: mqQKChpG66O4CSWoqetolIhsyOfB2bBpykPfWMmY1ni/jjxp0rfEFGOACQZ7umrnfgZ95pY7GeIL1K8vjsZNJJDskkXbIXKFjU6+TmSvd94= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4630 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Smlld2VuLA0KDQpUaGUgQktNIGlzIHRvIGp1c3QgY2FsbCB0aGUgRUMgc2VydmljZXMgZnJvbSB0 aGUgbGF5ZXJzIGFib3ZlIE9wZW5zc2xMaWIuDQpUaGUgRUMgQVBJcyB3aWxsIGFsd2F5cyBiZSBw cmVzZW50LiAgRWl0aGVyIHJlYWwgRUMgc2VydmljZSBvciBOdWxsIEVDIHNlcnZpY2UuDQpUaGlz IHdheSB3ZSBjYW4gcmVtb3ZlIGFsbCB0aGUgI2lmZGVmIG9uIEVDIFBDRC4NCg0KUGxhdGZvcm0g ZGV2ZWxvcGVycyBzZWxlY3QgdGhlIE9wZW5zc2xMaWIgaW5zdGFuY2Ugd2l0aCBFQyAoT3BlbnNz bExpYkZ1bGwuaW5mKSBvcg0Kd2l0aG91dCBFQyAoT3BlbnNzbExpYi5pbmYpLg0KDQpNaWtlDQoN Cj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogWWFvLCBKaWV3ZW4gPGppZXdl bi55YW9AaW50ZWwuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDExLCAyMDIyIDY6Mzcg UE0NCj4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47 IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGlu dGVsLmNvbT47IEx1LCBYaWFveXUxIDx4aWFveXUxLmx1QGludGVsLmNvbT47IEppYW5nLCBHdW9t aW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+OyBadXJjaGVyLA0KPiBDaHJpc3RvcGhlciA8Y2hy aXN0b3BoZXIuenVyY2hlckBtaWNyb3NvZnQuY29tPjsgUmViZWNjYSBDcmFuIDxxdWljX3JjcmFu QHF1aWNpbmMuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9yZz4NCj4gU3ViamVj dDogUkU6IFtQYXRjaCAwMC8xMl0gQ3J5cHRvUGtnOiBSZW1vdmUgRUMgUENEIGFuZCBtZXJnZSBw ZXJmIG9wdCBPcGVuc3NsTGlicw0KPiANCj4gSGkgTWlrZQ0KPiBGb3IgUGNkT3BlbnNzbEVjRW5h YmxlZCwgSSBhbSBzZWVpbmcgb3RoZXIgdXNhZ2UuIEZvciBleGFtcGxlOg0KPiBodHRwczovL2dp dGh1Yi5jb20vcWl6aGFuZ3ovZWRrMi9ibG9iL0VDX1Vwc3RyZWFtL0NyeXB0b1BrZy9MaWJyYXJ5 L0Jhc2VDcnlwdExpYi9QZW0vQ3J5cHRQZW0uYyNMMTU2DQo+IA0KPiBJIHRoaW5rIHdlIG1heSBu ZWVkIEJLTSBvbiAiaG93IHRvIGRpc2FibGUgRUMiLg0KPiANCj4gVGhhbmsgeW91DQo+IFlhbywg Smlld2VuDQo+IA0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206 IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiBTZW50 OiBXZWRuZXNkYXksIE9jdG9iZXIgMTIsIDIwMjIgOToyNSBBTQ0KPiA+IFRvOiBZYW8sIEppZXdl biA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgS2lubmV5LA0K PiA+IE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gQ2M6IFdhbmcs IEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgTHUsIFhpYW95dTENCj4gPiA8eGlhb3l1 MS5sdUBpbnRlbC5jb20+OyBKaWFuZywgR3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsN Cj4gPiBadXJjaGVyLCBDaHJpc3RvcGhlciA8Y2hyaXN0b3BoZXIuenVyY2hlckBtaWNyb3NvZnQu Y29tPjsgUmViZWNjYSBDcmFuDQo+ID4gPHF1aWNfcmNyYW5AcXVpY2luYy5jb20+OyBBcmQgQmll c2hldXZlbCA8YXJkYkBrZXJuZWwub3JnPg0KPiA+IFN1YmplY3Q6IFJFOiBbUGF0Y2ggMDAvMTJd IENyeXB0b1BrZzogUmVtb3ZlIEVDIFBDRCBhbmQgbWVyZ2UgcGVyZiBvcHQNCj4gPiBPcGVuc3Ns TGlicw0KPiA+DQo+ID4gSGkgSmlld2VuLA0KPiA+DQo+ID4gQ29tbWVudHMgYmVsb3cuDQo+ID4N Cj4gPiBNaWtlDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBG cm9tOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4gPiBTZW50OiBUdWVz ZGF5LCBPY3RvYmVyIDExLCAyMDIyIDY6MDkgUE0NCj4gPiA+IFRvOiBLaW5uZXksIE1pY2hhZWwg RCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Ow0KPiA+IGRldmVsQGVkazIuZ3JvdXBzLmlv DQo+ID4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlh b3l1MQ0KPiA+IDx4aWFveXUxLmx1QGludGVsLmNvbT47IEppYW5nLCBHdW9taW4gPGd1b21pbi5q aWFuZ0BpbnRlbC5jb20+Ow0KPiA+IFp1cmNoZXIsDQo+ID4gPiBDaHJpc3RvcGhlciA8Y2hyaXN0 b3BoZXIuenVyY2hlckBtaWNyb3NvZnQuY29tPjsgUmViZWNjYSBDcmFuDQo+ID4gPHF1aWNfcmNy YW5AcXVpY2luYy5jb20+OyBBcmQgQmllc2hldXZlbCA8YXJkYkBrZXJuZWwub3JnPg0KPiA+ID4g U3ViamVjdDogUkU6IFtQYXRjaCAwMC8xMl0gQ3J5cHRvUGtnOiBSZW1vdmUgRUMgUENEIGFuZCBt ZXJnZSBwZXJmIG9wdA0KPiA+IE9wZW5zc2xMaWJzDQo+ID4gPg0KPiA+ID4gVGhhbmsgeW91IE1p a2UuDQo+ID4gPg0KPiA+ID4gMSkgSSBsaWtlIHRoZSBpZGVhIHRvIGNvbWJpbmUgbXVsdGlwbGUg T3BlbnNzbExpYklBMzIvWDY0LmluZiBpbnRvIG9uZQ0KPiA+IE9wZW5zc2xMaWJBY2NlbC5pbmYu DQo+ID4gPiBBbHNvIHRoZSBjbGVhbnVwIGxvb2tzIGdvb2QgdG8gbWUuDQo+ID4gPg0KPiA+ID4g MikgSSBhbHNvIGxpa2UgdGhlIHN1bW1hcnkgaW4gcmVhZG1lIGluDQo+ID4gPg0KPiA+IGh0dHBz Oi8vZ2l0aHViLmNvbS9tZGtpbm5leS9lZGsyL3RyZWUvQ3J5cHRvUGtnX1JlbW92ZUVjUGNkX01l cmdlDQo+ID4gT3B0aW1pemVkT3BlbnNzbExpYnMvQ3J5cHRvUGtnDQo+ID4gPiBJIG5vdGljZSBz b21lIGFsZ29yaXRobXMgYXJlIGxpc3RlZCBZKERlcHJlY2F0ZWQpIGJ1dCBOKERvbid0IFVzZSks IHN1Y2gNCj4gPiBhcyBUZGVzLCBBcmM0LCBBZXMuRWNiKi4NCj4gPiA+IEJ1dCBJIGRvbuKAmXQg c2VlIHRoZSB1c2UgY2FzZSBmb3IgdGhvc2UgYWxnb3JpdGhtcyBhbmQgSSBzdWdnZXN0IGENCj4g PiBZKERlcHJlY2F0ZWQpIGhhdmUgWShEb24ndCBVc2UpLg0KPiA+DQo+ID4gR29vZCBjYXRjaC4g IEkgd2lsbCBmaXguDQo+ID4NCj4gPiA+DQo+ID4gPiAzKSBBYm91dCBQY2RPcGVuc3NsRWNFbmFi bGVkDQo+ID4gPiBJIG5vdGljZSBpdCBpcyB1c2VkIGluIGV4aXN0aW5nIGNvZGUgLQ0KPiA+ID4N Cj4gPiBodHRwczovL2dpdGh1Yi5jb20vbWRraW5uZXkvZWRrMi9ibG9iL0NyeXB0b1BrZ19SZW1v dmVFY1BjZF9NZXJnZQ0KPiA+IE9wdGltaXplZE9wZW5zc2xMaWJzL0NyeXB0b1BrZy9MaWJyYXJ5 L1Rsc0xpYi9UbHNDb25maWcuYyNMMTENCj4gPiA+IDM5DQo+ID4gPiBJcyB0aGlzIHJpZ2h0IHdh eT8NCj4gPg0KPiA+IFRoaXMgd2FzIGFkZGVkIHNpbmNlIEkgc3RhcnRlZCB0aGlzIHdvcmsgYW5k IHdhcyBhZGRlZCBiYWNrIGluIGJ5IHJlYmFzZS4gIEkNCj4gPiB3aWxsIGZpeC4NCj4gPiBXZSBj YW4ganVzdCByZW1vdmUgdGhlIGNoZWNrIGZvciB0aGUgUENELiAgSWYgdGhlIE9wZW5zc2xMaWIg aW5zdGFuY2UgZG9lcw0KPiA+IG5vdCBpbmNsdWRlDQo+ID4gU1NMIHNlcnZpY2VzLCB0aGVuIHRo ZSBOdWxsIFNTTCBzZXJ2aWNlcyBhcmUgcHJlc2VudCBhbmQgdGhlIGNhbGwgdG8gU1NMX2N0cmwo KQ0KPiA+IHdpbGwNCj4gPiByZXR1cm4gMCB3aGljaCB3aWxsIGZvcmNlIFRsc1NldEVjQ3VydmUo KSB0byByZXR1cm4gRUZJX1VOU1VQUE9SVEVELiAgSXQNCj4gPiB3aWxsIGFsc28NCj4gPiBBU1NF UlQoKSBpbmZvcm1pbmcgdGhlIGRldmVsb3BlciB0aGF0IGEgY2FsbCB0byBhIHNlcnZpY2UgdGhh dCBkZXBlbmRzIG9uDQo+ID4gU1NMIHdhcyBtYWRlDQo+ID4gd2l0aG91dCBTU0wgc2VydmljZXMg YXZhaWxhYmxlLg0KPiA+DQo+ID4gbG9uZw0KPiA+IFNTTF9jdHJsICgNCj4gPiAgIFNTTCAgICpz c2wsDQo+ID4gICBpbnQgICBjbWQsDQo+ID4gICBsb25nICBsYXJnLA0KPiA+ICAgdm9pZCAgKnBh cmcNCj4gPiAgICkNCj4gPiB7DQo+ID4gICBBU1NFUlQgKEZBTFNFKTsNCj4gPiAgIHJldHVybiAw Ow0KPiA+IH0NCj4gPg0KPiA+IExpa2V3aXNlLCBpZiB0aGUgT3BlbnNzbExpYiBpbnN0YW5jZSBk b2VzIG5vdCBzdXBwb3J0IEVDIHNlcnZpY2VzLCB0aGVuIHRoZQ0KPiA+IE51bGwNCj4gPiBFQyBz ZXJ2aWNlcyB3aWxsIGJlIGluY2x1ZGVkIGFuZCB0aGUgY2FsbCB0byBFQ19LRVlfbmV3X2J5X2N1 cnZlX25hbWUoKQ0KPiA+IHdpbGwNCj4gPiByZXR1cm4gTlVMTCB3aGljaCB3aWxsIGZvcmNlIFRs c1NldEVjQ3VydmUoKSB0byByZXR1cm4gRUZJX1VOU1VQUE9SVEVELiBJdA0KPiA+IHdpbGwgYWxz bw0KPiA+IEFTU0VSVCgpIGluZm9ybWluZyB0aGUgZGV2ZWxvcGVyIHRoYXQgYSBjYWxsIHRvIGEg c2VydmljZSB0aGF0IGRlcGVuZHMgb24gRUMNCj4gPiB3YXMgbWFkZQ0KPiA+IHdpdGhvdXQgRUMg c2VydmljZXMgYXZhaWxhYmxlLg0KPiA+DQo+ID4gRUNfS0VZICoNCj4gPiBFQ19LRVlfbmV3X2J5 X2N1cnZlX25hbWUgKA0KPiA+ICAgaW50ICBuaWQNCj4gPiAgICkNCj4gPiB7DQo+ID4gICBBU1NF UlQgKEZBTFNFKTsNCj4gPiAgIHJldHVybiBOVUxMOw0KPiA+IH0NCj4gPg0KPiA+ID4NCj4gPiA+ IFRoYW5rIHlvdQ0KPiA+ID4gWWFvLCBKaWV3ZW4NCj4gPiA+DQo+ID4gPiA+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVs LmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4gU2VudDogVHVlc2RheSwgT2N0b2JlciAxMSwg MjAyMiAxMTowNCBQTQ0KPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4g Q2M6IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IFdhbmcsIEppYW4gSg0KPiA+ ID4gPiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgTHUsIFhpYW95dTEgPHhpYW95dTEubHVAaW50 ZWwuY29tPjsgSmlhbmcsDQo+ID4gPiA+IEd1b21pbiA8Z3VvbWluLmppYW5nQGludGVsLmNvbT47 IFp1cmNoZXIsIENocmlzdG9waGVyDQo+ID4gPiA+IDxjaHJpc3RvcGhlci56dXJjaGVyQG1pY3Jv c29mdC5jb20+OyBSZWJlY2NhIENyYW4NCj4gPiA+ID4gPHF1aWNfcmNyYW5AcXVpY2luYy5jb20+ OyBBcmQgQmllc2hldXZlbCA8YXJkYkBrZXJuZWwub3JnPg0KPiA+ID4gPiBTdWJqZWN0OiBbUGF0 Y2ggMDAvMTJdIENyeXB0b1BrZzogUmVtb3ZlIEVDIFBDRCBhbmQgbWVyZ2UgcGVyZiBvcHQNCj4g PiA+ID4gT3BlbnNzbExpYnMNCj4gPiA+ID4NCj4gPiA+ID4gVGhlIHJlY2VudCBhZGRpdGlvbiBv ZiB0aGUgRWNsaXB0aWMgQ3VydmUgKEVDKSBmZWF0dXJlIGFuZCB0aGUNCj4gPiBwZXJmb3JtYW5j ZQ0KPiA+ID4gPiBvcHRpbWl6YXRpb24gZmVhdHVyZXMgaW5jcmVhc2VkIHRoZSBjb21wbGV4aXR5 IGZvciBwbGF0Zm9ybXMgdG8NCj4gPiBpbnRlZ3JhdGUNCj4gPiA+ID4gYW5kIGVuYWJsZSB0aGVz ZSBmZWF0dXJlcy4gVGhpcyBzZXJpZXMgc2ltcGxpZmllcyB0aGUgcGxhdGZvcm0NCj4gPiBjb25m aWd1cmF0aW9uDQo+ID4gPiA+IGFzIG11Y2ggYXMgcG9zc2libGUgYW5kIGltcHJvdmVzIHRoZSBh YmlsaXR5IHRvIG1hbmFnZSB0aGUgdGhlIHNpemUNCj4gPiBpbXBhY3QNCj4gPiA+ID4gb2YgY3J5 cHRvZ3JhcGhpYyBzZXJ2aWNlcyBpbiBlYWNoIEZXIHBoYXNlLiBBIFJlYWRtZS5tZCBpcyBhbHNv IGFkZGVkDQo+ID4gPiA+IHRoYXQNCj4gPiA+ID4gcHJvdmlkZXMgYW4gb3ZlcnZpZXcgb2YgdGhl IENyeXB0b1BrZyBkZXNpZ24gYW5kIGZlYXR1cmVzIGFsb25nIHdpdGgNCj4gPiA+ID4gcGxhdGZv cm0NCj4gPiA+ID4gaW50ZWdyYXRpb24gcmVjb21tZW5kYXRpb25zLg0KPiA+ID4gPg0KPiA+ID4g PiBUaGlzIHNlcmllcyBhbHNvIGFkZHJlc3NlcyBwcml2YXRlIGxpYnJhcnkgY2xhc3MgZGVjbGFy YXRpb25zIG1pc3NpbmcgZnJvbQ0KPiA+ID4gPiBDcnlwdG9Qa2cuZGVjIGFuZCBsaWJyYXJ5IGlu c3RhbmNlcyBub3QgcHJvZHVjaW5nIGFsbCB0aGUgQVBJcyBkZWZpbmVkDQo+ID4gPiA+IGJ5IHRo ZSBsaWJyYXJ5IGNsYXNzZXMuIEEgcmV2aWV3IG9mIHRoZSBDcnlwdG9Qa2cgRURLIElJIG1ldGEg ZGF0YSBmaWxlcw0KPiA+ID4gPiBpZGVudGlmaWVkDQo+ID4gPiA+IGEgbnVtYmVyIG9mIGFkZGl0 aW9uYWwgY2xlYW51cHMuIFRoZSBDcnlwdG9Qa2cuZHNjIGZpbGUgd2FzIGFsc28NCj4gPiB1cGRh dGVkIHRvDQo+ID4gPiA+IGltcHJvdmUgQ0kgY292ZXJhZ2UgZm9yIGZ1dHVyZSBDcnlwdG9Qa2cg Y2hhbmdlcyBhbmQgaWRlbnRpZmllZCBzb21lDQo+ID4gPiA+IHVuaXQgdGVzdCBidWcgZml4ZXMu DQo+ID4gPiA+DQo+ID4gPiA+IFBSOiAgICAgaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9l ZGsyL3B1bGwvMzQ0Mw0KPiA+ID4gPiBCcmFuY2g6DQo+ID4gPiA+DQo+ID4gaHR0cHM6Ly9naXRo dWIuY29tL21ka2lubmV5L2VkazIvdHJlZS9DcnlwdG9Qa2dfUmVtb3ZlRWNQY2RfTWVyZ2UNCj4g PiA+ID4gT3B0aW1pemVkT3BlbnNzbExpYnMNCj4gPiA+ID4gUmVhZG1lOg0KPiA+ID4gPg0KPiA+ IGh0dHBzOi8vZ2l0aHViLmNvbS9tZGtpbm5leS9lZGsyL2Jsb2IvQ3J5cHRvUGtnX1JlbW92ZUVj UGNkX01lcmdlDQo+ID4gPiA+IE9wdGltaXplZE9wZW5zc2xMaWJzL0NyeXB0b1BrZy9SZWFkbWUu bWQNCj4gPiA+ID4NCj4gPiA+ID4gQ2hhbmdlIFN1bW1hcnkNCj4gPiA+ID4gPT09PT09PT09PT09 PT0NCj4gPiA+ID4gKiBEb2N1bWVudCBkaXNhYmxlZC9kZXByZWNhdGVkIGNyeXB0b2dyYXBoaWMg c2VydmljZXMNCj4gPiA+ID4gKiBBZGQgbWlzc2luZyBVTkkgZmlsZXMgaW4gQmFzZUNyeXB0TGli DQo+ID4gPiA+ICogVXBkYXRlIEJhc2VDcnlwdExpYiBpbnRlcm5hbCBmdW5jdGlvbnMgdG8gYmUg U1RBVElDIGFuZCByZW1vdmUNCj4gPiBFRklBUEkNCj4gPiA+ID4gKiBBZGQgR0xPQkFMX1JFTU9W RV9JRl9VTlJFRkVSRU5DRUQgdG8gQmFzZUNyeXB0TGliIGdsb2JhbA0KPiA+ID4gPiB2YXJpYWJs ZXMNCj4gPiA+ID4gKiBGaXggQmFzZUNyeXB0TGliIHVuaXQgdGVzdHMNCj4gPiA+ID4gKiBDbGVh bnVwIEJhc2VDcnlwdExpYiBhbmQgVGxzTGliIElORiBmaWxlcyBhbmQNCj4gPiA+ID4gKiBNb3Zl IFN5c0NhbGwvaW5ldF9wdG9uLmMgZnJvbSBCYXNlQ3J5cHRMaWIgdG8gVGxzTGliIHRoYXQgdXNl cyBpdC4NCj4gPiA+ID4gKiBNZXJnZSA0IHBlcmZvcm1hbmNlIG9wdGltaXplZCBJTkZzIGludG8g T3BlbnNzbExpYipBY2NlbC5pbmYNCj4gPiA+ID4gKiBSZW1vdmUgdXNlIG9mIFBjZE9wZW5zc2xF Y0VuYWJsZWQgYW5kIHVzZSBPcGVuc3NsTGliRnVsbCouaW5mDQo+ID4gaW5zdGVhZA0KPiA+ID4g PiAqIEFkZCBPcGVuc3NsTGliIGFuZCBJbnRyaW5zaWNMaWIgdG8gQ3J5cHRvUGtnLmRlYyBhcyBw cml2YXRlIGxpYnJhcnkNCj4gPiBjbGFzc2VzDQo+ID4gPiA+ICogVXBkYXRlIGFsbCBPcGVuc3Ns TGliIGluc3RhbmNlcyB0byBhbHdheXMgcHJvZHVjZSBhbGwgQVBJcyBpbg0KPiA+IE9wZW5zc2xM aWINCj4gPiA+ID4gY2xhc3MNCj4gPiA+ID4gKiBNb3ZlIFByaW50TGliIGRlcGVuZGVuY3kgZnJv bSBPcGVuc3NsTGliIElORiBmaWxlcyB0byBCYXNlQ3J5cHRMaWINCj4gPiBJTkYNCj4gPiA+ID4g ZmlsZXMNCj4gPiA+ID4gKiBVcGRhdGUgQ3J5cHRvUGtnLmRzYyBmaWxlcyB0byBwcm92aWRlIGZ1 bGwgQ0kgdGVzdCBjb3ZlcmFnZSBhY3Jvc3MgYWxsDQo+ID4gdGhlDQo+ID4gPiA+ICAgIHN1cHBv cnRlZCBjb21iaW5hdGlvbnMgb2YgT3BlbnNzbExpYiwgQmFzZUNyeXB0TGliLCBhbmQgVGxzTGli DQo+ID4gaW5zdGFuY2VzLg0KPiA+ID4gPiAqIFJlbW92ZSBQQUNLQUdFIHByb2ZpbGUgZnJvbSBD cnlwdG9Qa2cuZHNjIGFuZCBhZGQNCj4gPiA+ID4gVEFSR0VUX1VOSVRfVEVTVFMNCj4gPiA+ID4g ICBwcm9maWxlLiAgQWRkaW5nIFRBUkdFVF9VTklUX1RFU1RTIHByb2ZpbGUgaXMgcmVxdWlyZWQg dG8gcHJldmVudCBhDQo+ID4gZmV3DQo+ID4gPiA+IHVuaXQNCj4gPiA+ID4gICB0ZXN0IGFydGlm YWN0cyBiZWluZyBpbmNsdWRlZCBpbiBub24gdW5pdCB0ZXN0IGJ1aWxkcyBvZiBjb21wb25lbnRz Lg0KPiA+ID4gPiAqIEFkZCBDcnlwdG9Qa2cgUmVhZG1lLm1kIHdpdGggb3ZlcnZpZXcgYW5kIHBs YXRmb3JtIGludGVncmF0aW9uDQo+ID4gPiA+IGRldGFpbHMuDQo+ID4gPiA+ICogVXBkYXRlIGhv c3QtYmFzZWQgdW5pdCB0ZXN0cyB0byBhbHdheXMgdXNlIE9wZW5zc2xMaWJGdWxsLmluZiBhbmQg YWRkDQo+ID4gPiA+IHVuaXQNCj4gPiA+ID4gICB0ZXN0IGNvdmVyYWdlIGZvciBPcGVuc3NsTGli RnVsbEFjY2VsLmluZi4NCj4gPiA+ID4gKiBBZGQgUmVhZG1lLm1kIHdpdGggQ3J5cHRvUGtnIG92 ZXJ2aWV3IGFuZCBwbGF0Zm9ybSBpbnRlZ3JhdGlvbg0KPiA+ID4gPiAgIGRvY3VtZW50YXRpb24N Cj4gPiA+ID4NCj4gPiA+ID4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPg0K PiA+ID4gPiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gPiA+ID4g Q2M6IFhpYW95dSBMdSA8eGlhb3l1MS5sdUBpbnRlbC5jb20+DQo+ID4gPiA+IENjOiBHdW9taW4g SmlhbmcgPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+DQo+ID4gPiA+IENjOiBDaHJpc3RvcGhlciBa dXJjaGVyIDxjaHJpc3RvcGhlci56dXJjaGVyQG1pY3Jvc29mdC5jb20+DQo+ID4gPiA+IENjOiBS ZWJlY2NhIENyYW4gPHF1aWNfcmNyYW5AcXVpY2luYy5jb20+DQo+ID4gPiA+IENjOiBBcmQgQmll c2hldXZlbCA8YXJkYkBrZXJuZWwub3JnPg0KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBNaWNoYWVs IEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4NCj4gPiA+ID4g TWljaGFlbCBEIEtpbm5leSAoMTIpOg0KPiA+ID4gPiAgIENyeXB0b1BrZzogRG9jdW1lbnQgYW5k IGRpc2FibGUgZGVwcmVjYXRlZCBjcnlwdG8gc2VydmljZXMNCj4gPiA+ID4gICBDcnlwdG9Qa2cv TGlicmFyeS9CYXNlQ3J5cHRMaWI6IEFkZCBtaXNzaW5nIFVOSSBmaWxlIGFuZCBmaXggZm9ybWF0 DQo+ID4gPiA+ICAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliOiBVcGRhdGUgaW50ZXJu YWwgZnVuY3Rpb25zL3ZhcmlhYmxlcw0KPiA+ID4gPiAgIENyeXB0b1BrZy9UZXN0L1VuaXRUZXN0 L0xpYnJhcnkvQmFzZUNyeXB0TGliOiBVbml0IHRlc3QgZml4ZXMNCj4gPiA+ID4gICBDcnlwdG9Q a2cvTGlicmFyeTogQ2xlYW51cCBCYXNlQ3J5cHRMaWIgYW5kIFRsc0xpYg0KPiA+ID4gPiAgIENy eXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWI6IENvbWJpbmUgYWxsIHBlcmZvcm1hbmNlIG9wdGlt aXplZA0KPiA+IElORnMNCj4gPiA+ID4gICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliOiBQ cm9kdWNlIGNvbnNpc3RlbnQgc2V0IG9mIEFQSXMNCj4gPiA+ID4gICBDcnlwdG9Qa2cvTGlicmFy eS9PcGVuc3NsTGliOiBSZW1vdmUgUHJpbnRMaWIgZnJvbSBJTkYgZmlsZXMNCj4gPiA+ID4gICBD cnlwdG9Qa2c6IFJlbW92ZSBQY2RPcGVuc3NsRWNFbmFibGVkIGZyb20gQ3J5cHRvUGtnLmRlYw0K PiA+ID4gPiAgIENyeXB0b1BrZzogVXBkYXRlIERTQyB0byBpbXByb3ZlIENJIHRlc3QgY292ZXJh Z2UNCj4gPiA+ID4gICBDcnlwdG9Qa2c6IEZpeGVkIGhvc3QtYmFzZWQgdW5pdCB0ZXN0cw0KPiA+ ID4gPiAgIENyeXB0b1BrZzogQWRkIFJlYWRtZS5tZA0KPiA+ID4gPg0KPiA+ID4gPiAgQ3J5cHRv UGtnL0NyeXB0b1BrZy5jaS55YW1sICAgICAgICAgICAgICAgICAgIHwgIDExICstDQo+ID4gPiA+ ICBDcnlwdG9Qa2cvQ3J5cHRvUGtnLmRlYyAgICAgICAgICAgICAgICAgICAgICAgfCAgNDIgKy0N Cj4gPiA+ID4gIENyeXB0b1BrZy9DcnlwdG9Qa2cuZHNjICAgICAgICAgICAgICAgICAgICAgICB8 IDQ2MCArKysrKysrKystLS0NCj4gPiA+ID4gIC4uLi9QY2QvUGNkQ3J5cHRvU2VydmljZUZhbWls eUVuYWJsZS5oICAgICAgICB8IDEyMiArLS0NCj4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlw dExpYi9CYXNlQ3J5cHRMaWIuaW5mICAgICB8ICAxMCArLQ0KPiA+ID4gPiAgLi4uL0xpYnJhcnkv QmFzZUNyeXB0TGliL0Jhc2VDcnlwdExpYi51bmkgICAgIHwgICAyIC0NCj4gPiA+ID4gIC4uLi9M aWJyYXJ5L0Jhc2VDcnlwdExpYi9IbWFjL0NyeXB0SG1hYy5jICAgICB8ICAgNyArDQo+ID4gPiA+ ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvS2RmL0NyeXB0SGtkZi5jICAgICAgfCAgIDUgKy0N Cj4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9QZWlDcnlwdExpYi5pbmYgICAgICB8 ICAgOCArLQ0KPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BlaUNyeXB0TGliLnVu aSAgICAgIHwgICAyIC0NCj4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRBdXRoZW50 aWNvZGUuYyAgICAgICB8ICAgMiArLQ0KPiA+ID4gPiAgLi4uL0Jhc2VDcnlwdExpYi9Qay9Dcnlw dFBrY3M3VmVyaWZ5Q29tbW9uLmMgIHwgICAzICstDQo+ID4gPiA+ICAuLi4vQmFzZUNyeXB0TGli L1BrL0NyeXB0UGtjczdWZXJpZnlFa3UuYyAgICAgfCAgIDMgKw0KPiA+ID4gPiAgQ3J5cHRvUGtn L0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0VHMuYyAgIHwgIDQ0ICstDQo+ID4gPiA+ICAu Li4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvUnVudGltZUNyeXB0TGliLmluZiAgfCAgIDkgKy0NCj4g PiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9SdW50aW1lQ3J5cHRMaWIudW5pICB8ICAg MiAtDQo+ID4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvU2VjQ3J5cHRMaWIuaW5mICAg ICAgfCAgMTMgKy0NCj4gPiA+ID4gIC4uLi97U21tQ3J5cHRMaWIudW5pID0+IFNlY0NyeXB0TGli LnVuaX0gICAgICB8ICAxMSArLQ0KPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1Nt bUNyeXB0TGliLmluZiAgICAgIHwgIDEyIC0NCj4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlw dExpYi9TbW1DcnlwdExpYi51bmkgICAgICB8ICAgMiAtDQo+ID4gPiA+ICAuLi4vQmFzZUNyeXB0 TGliL1VuaXRUZXN0SG9zdEJhc2VDcnlwdExpYi5pbmYgfCAgMjIgKy0NCj4gPiA+ID4gIC4uLi9M aWJyYXJ5L0luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oICAgICB8IDMyOCArKysrKysrLQ0K PiA+ID4gPiAgLi4uL0luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZl9nZW5lcmF0ZWQuaCAgIHwg MzMzIC0tLS0tLS0tLQ0KPiA+ID4gPiAgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9FY1Nt Mk51bGwuYyAgICAgIHwgMjkxICsrKysrKysrDQo+ID4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9P cGVuc3NsTGliL09wZW5zc2xMaWIuaW5mICAgfCAxMzMgKystLQ0KPiA+ID4gPiAgQ3J5cHRvUGtn L0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliLnVuaSAgIHwgIDEwICstDQo+ID4gPiA+ICAu Li5uc3NsTGliSWEzMkdjYy5pbmYgPT4gT3BlbnNzbExpYkFjY2VsLmluZn0gfCAxODkgKysrLS0N Cj4gPiA+ID4gIC4uLi9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYkFjY2VsLnVuaSAgICB8 ICAxNCArDQo+ID4gPiA+ICAuLi4vT3BlbnNzbExpYi9PcGVuc3NsTGliQ29uc3RydWN0b3IuYyAg ICAgICAgfCAgIDYgKy0NCj4gPiA+ID4gIC4uLi9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExp YkNyeXB0by5pbmYgICB8IDE4NSArKystLQ0KPiA+ID4gPiAgLi4uL0xpYnJhcnkvT3BlbnNzbExp Yi9PcGVuc3NsTGliQ3J5cHRvLnVuaSAgIHwgIDExICstDQo+ID4gPiA+ICAuLi4ve09wZW5zc2xM aWIuaW5mID0+IE9wZW5zc2xMaWJGdWxsLmluZn0gICAgfCAxNDMgKystLQ0KPiA+ID4gPiAgLi4u L3tPcGVuc3NsTGliLnVuaSA9PiBPcGVuc3NsTGliRnVsbC51bml9ICAgIHwgIDEwICstDQo+ID4g PiA+ICAuLi5zc2xMaWJJYTMyLmluZiA9PiBPcGVuc3NsTGliRnVsbEFjY2VsLmluZn0gfCAxOTIg KysrLS0NCj4gPiA+ID4gIC4uLi9PcGVuc3NsTGliL09wZW5zc2xMaWJGdWxsQWNjZWwudW5pICAg ICAgICB8ICAxNCArDQo+ID4gPiA+ICAuLi4vTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJY NjQuaW5mICAgICAgfCA3MDYgLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ICAuLi4vTGlicmFy eS9PcGVuc3NsTGliL09wZW5zc2xMaWJYNjRHY2MuaW5mICAgfCA3MDYgLS0tLS0tLS0tLS0tLS0t LS0tDQo+ID4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL1NzbE51bGwuYyAgICAg ICAgfCA0MDUgKysrKysrKysrKw0KPiA+ID4gPiAgLi4uL1N5c0NhbGwvaW5ldF9wdG9uLmMgICAg ICAgICAgICAgICAgICAgICAgIHwgICAwDQo+ID4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9UbHNM aWIvVGxzQ29uZmlnLmMgICAgICAgICAgfCAgIDIgKy0NCj4gPiA+ID4gIENyeXB0b1BrZy9MaWJy YXJ5L1Rsc0xpYi9UbHNMaWIuaW5mICAgICAgICAgICB8ICAxMiArLQ0KPiA+ID4gPiAgQ3J5cHRv UGtnL1ByaXZhdGUvTGlicmFyeS9JbnRyaW5zaWNMaWIuaCAgICAgIHwgIDE2ICsNCj4gPiA+ID4g IENyeXB0b1BrZy9Qcml2YXRlL0xpYnJhcnkvT3BlbnNzbExpYi5oICAgICAgICB8ICAxNCArDQo+ ID4gPiA+ICBDcnlwdG9Qa2cvUmVhZG1lLm1kICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0 OTggKysrKysrKysrKysrDQo+ID4gPiA+ICBDcnlwdG9Qa2cvVGVzdC9DcnlwdG9Qa2dIb3N0VW5p dFRlc3QuZHNjICAgICAgfCAgMTcgKy0NCj4gPiA+ID4gIC4uLi9Vbml0VGVzdC9MaWJyYXJ5L0Jh c2VDcnlwdExpYi9IbWFjVGVzdHMuYyB8ICAxNyArLQ0KPiA+ID4gPiAgLi4uL1VuaXRUZXN0L0xp YnJhcnkvQmFzZUNyeXB0TGliL1RTVGVzdHMuYyAgIHwgICAyICstDQo+ID4gPiA+ICAuLi4vVGVz dEJhc2VDcnlwdExpYkhvc3RBY2NlbC5pbmYgICAgICAgICAgICAgfCAgNTUgKysNCj4gPiA+ID4g IDQ4IGZpbGVzIGNoYW5nZWQsIDI2NjcgaW5zZXJ0aW9ucygrKSwgMjQzNCBkZWxldGlvbnMoLSkN Cj4gPiA+ID4gIGNvcHkgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL3tTbW1DcnlwdExp Yi51bmkgPT4NCj4gPiA+ID4gU2VjQ3J5cHRMaWIudW5pfSAoNzQlKQ0KPiA+ID4gPiAgZGVsZXRl IG1vZGUgMTAwNjQ0DQo+ID4gPiA+IENyeXB0b1BrZy9MaWJyYXJ5L0luY2x1ZGUvb3BlbnNzbC9v cGVuc3NsY29uZl9nZW5lcmF0ZWQuaA0KPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENyeXB0 b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvRWNTbTJOdWxsLmMNCj4gPiA+ID4gIHJlbmFtZSBDcnlw dG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3tPcGVuc3NsTGliSWEzMkdjYy5pbmYgPT4NCj4gPiA+ ID4gT3BlbnNzbExpYkFjY2VsLmluZn0gKDc5JSkNCj4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0 NA0KPiA+IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYkFjY2VsLnVuaQ0K PiA+ID4gPiAgY29weSBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3tPcGVuc3NsTGliLmlu ZiA9Pg0KPiA+IE9wZW5zc2xMaWJGdWxsLmluZn0NCj4gPiA+ID4gKDgwJSkNCj4gPiA+ID4gIGNv cHkgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi97T3BlbnNzbExpYi51bmkgPT4NCj4gPiBP cGVuc3NsTGliRnVsbC51bml9DQo+ID4gPiA+ICg1NiUpDQo+ID4gPiA+ICByZW5hbWUgQ3J5cHRv UGtnL0xpYnJhcnkvT3BlbnNzbExpYi97T3BlbnNzbExpYklhMzIuaW5mID0+DQo+ID4gPiA+IE9w ZW5zc2xMaWJGdWxsQWNjZWwuaW5mfSAoNzklKQ0KPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 DQo+ID4gPiA+IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYkZ1bGxBY2Nl bC51bmkNCj4gPiA+ID4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBDcnlwdG9Qa2cvTGlicmFyeS9PcGVu c3NsTGliL09wZW5zc2xMaWJYNjQuaW5mDQo+ID4gPiA+ICBkZWxldGUgbW9kZSAxMDA2NDQNCj4g PiBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJYNjRHY2MuaW5mDQo+ID4g PiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9Tc2xO dWxsLmMNCj4gPiA+ID4gIHJlbmFtZSBDcnlwdG9Qa2cvTGlicmFyeS97QmFzZUNyeXB0TGliID0+ IFRsc0xpYn0vU3lzQ2FsbC9pbmV0X3B0b24uYw0KPiA+ID4gPiAoMTAwJSkNCj4gPiA+ID4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBDcnlwdG9Qa2cvUHJpdmF0ZS9MaWJyYXJ5L0ludHJpbnNpY0xpYi5o DQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtnL1ByaXZhdGUvTGlicmFyeS9P cGVuc3NsTGliLmgNCj4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBDcnlwdG9Qa2cvUmVhZG1l Lm1kDQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4NCj4gPiBDcnlwdG9Qa2cv VGVzdC9Vbml0VGVzdC9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9UZXN0QmFzZUNyeXB0TGliSG9zdEFj Y2VsLmkNCj4gPiA+ID4gbmYNCj4gPiA+ID4NCj4gPiA+ID4gLS0NCj4gPiA+ID4gMi4zNy4xLndp bmRvd3MuMQ0KDQo=