From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web09.1069.1639098432682277415 for ; Thu, 09 Dec 2021 17:07:12 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.com header.s=intel header.b=NyVLnGG4; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1639098432; x=1670634432; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=dra9jPpREKTZe3VRzlv9Qc3oyg9OUdeil0uDesXkrT4=; b=NyVLnGG4AVkeYTepwZgIb1mNFHYOzQujXnt+lXuxlEEJuDLm6pETr5ZR 1zba4DAveIEuYn6/8VrS8FFa21Yi+E67twlXQSCImF0/55bhkNynkFvu5 C5FCOmHATv8uIzYecq5a6PSptiM6vutfxTs2ARkuGl8sDlH/uLCIkxtRx +6PbTe/z8YXJ14gU+zt/FD0k6i2rgSgD5OkOrqI7X0VmUfWtWVzqQVj83 0DJRTlJUDa6ZU8aFqtaFT+UzU5A+o6KPXzJxgpGPz5o6oM1WFECtMwcdi oVa8LYjeBCq6wt6POE8iaxtXLncfPKRFLeJSFuVT13GLm+d8DZAmMcoGP A==; X-IronPort-AV: E=McAfee;i="6200,9189,10193"; a="218266043" X-IronPort-AV: E=Sophos;i="5.88,194,1635231600"; d="scan'208";a="218266043" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Dec 2021 17:07:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,194,1635231600"; d="scan'208";a="480548547" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga002.jf.intel.com with ESMTP; 09 Dec 2021 17:07:10 -0800 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) 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.20; Thu, 9 Dec 2021 17:07:10 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Thu, 9 Dec 2021 17:07:10 -0800 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.48) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Thu, 9 Dec 2021 17:07:08 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hddqnN7B+9qtTyWKmvEo3Tr4wIsK7/4TyKY8CZIWx8U7l4vfUJtwo51n5gkr5MqPCif6UY/tFObDWdGAquNOijlcelLmSwGYJYRpXekfsMoXf+62Qa6tY1MHU9do44AgwEOuRt8pUUiK9sfVKP3DwHHEwtHxxhEIt4SmgtfWhQMPmyev4ysP3lZpAVJdWjP5Qlu8hkGqCjoxoxIvyLepEJvJMgXYvt7j0m/8f+JCeu9gFQAG84ms97HMJ6jZZPUIhGTd22ukfr6Rk+YlJxrxc7YFVMRAAxOZMLKYz0ZE/qf8JJ4eCc8ufJR5PcEWM2anGo4np3N4GCFb4e3ArPKKkw== 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=dra9jPpREKTZe3VRzlv9Qc3oyg9OUdeil0uDesXkrT4=; b=eMCDBXaXwVipr/mKO0jQsSscsZdyvdZUWO47EZXDWk0YOIURlqYvRBD72mY299VXpyRgbVe5Qwyjh4A1fyBbzNrOgNsQDndvynOEBwxG7dWedqRbwUsGu6mw7S9K2+ET+NH6e1H+UOXMj9vFMbPBN+WDizsgKc43Qj2Ec9Qhzr3JxeD45BpMzhlVbS58nYTYjSnQnn79f2ophhmA5OSGPQyKyjU8OAuVCUyUfWTf/xtnvhPoeAZloE64m9+P8ZYW+NsH/smsXLZxrIpum31enmJ0s8ft7D7omunQlVHzQMy0c1WuO4XDzK1lkpLswNJ/vZ1mxabvGVTa+/QQyaaqiw== 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=dra9jPpREKTZe3VRzlv9Qc3oyg9OUdeil0uDesXkrT4=; b=oFkxw64TbdU1a8wp+0ZQODjmCec9OUFd9WuxJFrnU5xN0kog4awtjd1OZ/sNTn+eLqI5lD/P2bR5HZe4n9w06ok9oagbAtqvbUyNfAqqk9IoRpSYLD3KZHFqda/6vf9TEzmPBE/e3JBISRKn4HDX5Esx7pgVCpqGE8qspUjaoF4= Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by CO1PR11MB5203.namprd11.prod.outlook.com (2603:10b6:303:95::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.20; Fri, 10 Dec 2021 01:07:06 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::69f8:2c79:e2cc:540b]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::69f8:2c79:e2cc:540b%6]) with mapi id 15.20.4778.014; Fri, 10 Dec 2021 01:07:06 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "michael.kubacki@outlook.com" , "Kinney, Michael D" CC: Andrew Fish , Leif Lindholm , "Liming Gao" Subject: Re: [edk2-devel] [edk2-wiki][PATCH v2 1/1] Add Uncrustify formatting overview Thread-Topic: [edk2-devel] [edk2-wiki][PATCH v2 1/1] Add Uncrustify formatting overview Thread-Index: AQHX7JDx2OQNTx9aBU2g6RsGFjkxTqwq6zjA Date: Fri, 10 Dec 2021 01:07:06 +0000 Message-ID: References: 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.200.16 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: 02aeb76e-9dd6-467c-8998-08d9bb796284 x-ms-traffictypediagnostic: CO1PR11MB5203:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nyNNA/X/89R55f9G7oXdThT/Uip8O0K5I8xClHzeGtaFm7SY3u3pkqm6qTQLdOYXTe1qmihTQ4Mlo3rLzENEZO2Vlui5g9wnfsonW7dMtKr/+NUtzz7i640QQE8ijVsbe5ofrjJusRZq4eh0A7zAqZACYKmhi2TDCLvDQnac387ABTVnP18IfB6JiLkMVkn39/A+5K0E5OCAH9vzRv8pyfzbt0a9RFPvE610W+1iVF6i2fpwSM/rZnRf++gbHEUlkoFDopeJzgDwjgU0vSpjDOYmqvSgX1FIjSu744dIHq5PTnP07UiwczhvVwRnoM8oxfYIyJRhu63zjiZvMVhnLGqB1dWq+uf1HoKcdmUHZRnwB+BvOvRzgjMBsrQV+i9iMFZz69Spwzs1H5XEjujiVWYWCxMN3YY2mk0fwQ4cYFCr+cDJc63ie6D7oywsv4WuB3o+F2hdfst5b6oMrh0i6Emit9w4k4JYFDQejtdXHM6eNI7cZc51vWgu5xI0KYdgo7aggeTF3GajZJISKyEV7sVDuYi/Eb+HCQ260mNBo0Z23Jkkl9QiUt/4oVLAzIt9YGOMwouGP+wTUKF2olFljtrjQnaLXuo2MGAoE6Bjww06fkA/1xaorh6xLBkJEZ9o7IBYbeP+WOP+M5g/Z1GOIXzCsmuYorCpAPsIlQFWxgKwx83CY2WFs+9Qe6jJgHGHF/HUo7hnR94LnDx+QaxhMKWVpdkI+EUcb0aCwZEKtW8wW9oRsuvfDpOTfxiZNjxIDCAj3QhAZcVkKT1g1WC1oNs16aogidhS62KEQ+IB0ixbnI70cYTPvZyxT36LayHV9EbUXJoOuCHQHT3BI624eG3O5DTaG1TYxP8++sAL6PISJdam9jbx0W76EhJtSr1t 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:(366004)(86362001)(508600001)(26005)(966005)(66446008)(30864003)(122000001)(64756008)(76116006)(8936002)(8676002)(2906002)(66946007)(83380400001)(38070700005)(52536014)(186003)(38100700002)(66476007)(66556008)(82960400001)(55016003)(53546011)(110136005)(9686003)(5660300002)(71200400001)(4326008)(33656002)(7696005)(6506007)(54906003)(316002)(403724002)(460985005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YkZVaHZPYVZJb3Yxa2JqR1FaejJUZ0dqMWUxblAvWGZKU0ljbGdpbjBHU1JD?= =?utf-8?B?VWk5RnJRQWhtYWRBbGNYdmZZQXU0VnFjUURxMXBOMHUyUnh0MG9vM01wSlRQ?= =?utf-8?B?TjlPK25IZzR6cXJUYVVoNjl2ZVBLMFNtQzB6aXp0dEE5WktZaTRzVitDejd1?= =?utf-8?B?bjJCLy9YanZvdFJaeWFlYzVWdFYzWW5zT3V4WVk3M0NERXFBMkFaZk8vK2Fy?= =?utf-8?B?ZjZnRXUvK0Z4K3FsV2tXbmxPYk05M0FqVjJpYlJCZExycFc5bGcweXpRMkZM?= =?utf-8?B?RTVVODZoa3p2OGZJeHVKc0hPcnBGeldPYjBVZTdWMVVzeTI4UVdKdUVlV0hV?= =?utf-8?B?WVJENjViKytzcmlUcHRHSGlvcFo2QlpJQkZIMXlLRkZwTDRUaGhmUVV1d3E5?= =?utf-8?B?UVpnNE9lVStPK0ZUa2lnOEtFc0RjUHNsb2pWZlFFQmIzbXZxSkd0V1dWQTV0?= =?utf-8?B?TkdNR1Q4RFFydW9uN3U4TVQwY0xYdnRNc1M3SERLd2FoMWZiLzdnK3ZoK3hn?= =?utf-8?B?T2pySURCZm45UUtYSlM3V2h3YWpiZnJxYU1BS1NFUjEvTEU3bFMrdk9rb0t1?= =?utf-8?B?ZjBIaTVSN0UzT3JWWUNLdmpmT3QvcjNnallKaHd6a2FZdlN5SVdOdDhkVTNj?= =?utf-8?B?QVg2ZkNkL0Y5alpORU9zc2ZSYkJ1bFNVelA1UVZJTFEzMGhOY09OcUV3SWd3?= =?utf-8?B?VnVWcCtkOEdKaVFpWXp4MHpNd1hsWVd6c3cwWCtQWXlvK1hqY1dMaGNwN1Ro?= =?utf-8?B?UDcvMDZRZkUwek5BdEUvc3ZjMGJjVnkyOGdVa1I3QUUxSms1YVBNNXlLbFhO?= =?utf-8?B?NUxoU2JVajB0S1dSVkwybWtzaE9BVHV4Q29ZTnRHQ2Y0MzRjczVnQ21GRUJV?= =?utf-8?B?bmFqb1ZlZmVXeHBSYVNKU3pUazIvZHlNRDk0R1ZKRUhoV0ZtcnA3djVMek5V?= =?utf-8?B?TmpPVllyL01JaWQyVUJRdGxab3RENzdiRVFLM1JMS0toVDVUL0hTK2RYOUFv?= =?utf-8?B?bENUNVpHMGltZUNxMHJYOXJVMlEvamRPVHZkeFNYeE80SHRvTGkzVy9TbUlW?= =?utf-8?B?TjFjTG83SHMrMEt5N01Ea2xPUTlyUEJOUkNnRDY1aEhqZUl4YkdCY1VRT2tu?= =?utf-8?B?dUUwQ2grc0FWVnNoR1VVYWpLZi9vSElRRVI4b1V5YU5uTmhHdUNjSGErb3lG?= =?utf-8?B?TTRMUW81dnU0eDRNRis0Ynd3a3ZtTFpFY2VVbGdCMEI0dkJzUlB3TWFMa3dC?= =?utf-8?B?SzV2M3AxK2l2V0Z4WDJ1czdsOUkwT2I4cXpXTkNyaGNpZzFrMmtrNTA0Mndw?= =?utf-8?B?cnYra2g4L09xSll0RkZTZVFLTURIam9ObzMzY0h6eFZ3VVJPMDVyS3ZBUjhj?= =?utf-8?B?TjBXMzR2RnpaN3VUNWs4OXBJSHlMdG5kd3FQWUhFc1lqNHZrb0dnaUl1cEtU?= =?utf-8?B?QVpEN2hwMzk2dHdpak5vOC9JeTVadDdEQXhZWTYzTHNmVmRWbGxVWnlEbFUv?= =?utf-8?B?YUpYSktOc2pseFFXMXNsMDBKZmZ2ektCNjlSQVR6dDdjMjhtS1hFUGZnRllp?= =?utf-8?B?TSs3ckhnZndnQlBqeDdoRmdHVTR3a0pYM2o5OUN6U3FDKzdlOUdPT1RBYXZh?= =?utf-8?B?ZXdvWXVrajR5ZEwrM1RTUUdSUnpnVE95anJraTRKM2tIQThIamJvY3U2cmlk?= =?utf-8?B?aUx2NjZEUzFhc1Vkc2xxb1NNKytLTEdSOUU3RWw0dzNYN2U2Skd5S0lveU9s?= =?utf-8?B?SWk4azZRbVZsNFpwYlJWYUlic2JrOXNUcVRLZm1hd2xneTRBS3dWdVFDZFpy?= =?utf-8?B?YzFsaGZ3bFNIN2g1REs3Qk5QV1JkRitHbktOaTVmeUlDN3BrS0Rpa2ZxWC9J?= =?utf-8?B?NE5DYWZrZm9CVUVyd1EwQXM4Q0RKbldqRGxMeU5Cc3lKUXFiQlVXcTA3Y043?= =?utf-8?B?aWJKQlRZRkNac0t2Mi9SdU1IOE9YbzhaTzI2ZElsRzhyN0VyTGp5dzFHLys4?= =?utf-8?B?WFlsazkzRlIvaFR0SnJ1aVFGSVJNMFpTTkJsclgydEp6RG4xUzZwTDZLUnhC?= =?utf-8?B?UU9INlFaOEI2YWZkUFhMN3R4SHRxQ2dvTmtwWmJNd0FTYnhKeHRuSlc1d00w?= =?utf-8?B?QjBEU25sS2dzTVhpNHZRSUM4RFhUbVNSSDBqcllJTkVRSys4N2tjdHQyV3ZS?= =?utf-8?B?RVVvTVplYXJBVVMySW13bW1qMlhIek44UzNKeERpRjBOY3doVk1NcUF3cTFp?= =?utf-8?B?SzRjZ1ZaMlFCamNHeEd3djQ0eTl3PT0=?= 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: 02aeb76e-9dd6-467c-8998-08d9bb796284 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Dec 2021 01:07:06.6676 (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: K7pK1oXnMTNt316EYuWNDGuQacmLcSfJ9aJYlNAPGnWBXl+t6TWZMMgRJrLIKsVxHg+S11HF2LfMJxpFQEn/COHOWND3Z0Jzrf+EXnqNtdI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB5203 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 UmV2aWV3ZWQtYnk6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KDQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxA ZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgTWljaGFl bCBLdWJhY2tpDQo+IFNlbnQ6IFdlZG5lc2RheSwgRGVjZW1iZXIgOCwgMjAyMSA0OjA4IFBNDQo+ IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogQW5kcmV3IEZpc2ggPGFmaXNoQGFwcGxl LmNvbT47IExlaWYgTGluZGhvbG0gPGxlaWZAbnV2aWFpbmMuY29tPjsgS2lubmV5LCBNaWNoYWVs IEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsNCj4gTGltaW5nIEdhbyA8Z2FvbGltaW5n QGJ5b3NvZnQuY29tLmNuPg0KPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW2VkazItd2lraV1bUEFU Q0ggdjIgMS8xXSBBZGQgVW5jcnVzdGlmeSBmb3JtYXR0aW5nIG92ZXJ2aWV3DQo+IA0KPiBGcm9t OiBNaWNoYWVsIEt1YmFja2kgPG1pY2hhZWwua3ViYWNraUBtaWNyb3NvZnQuY29tPg0KPiANCj4g VGhpcyB3aWtpIHBhZ2UgZGVzY3JpYmVzIGhvdyBVbmNydXN0aWZ5IGlzIHVzZWQgaW4gRURLIElJ IGFuZCBob3cNCj4gdG8gaW5zdGFsbCBhbmQgdXNlIFVuY3J1c3RpZnkgZHVyaW5nIHRoZSBFREsg SUkgY29kZSBkZXZlbG9wbWVudA0KPiBwcm9jZXNzLg0KPiANCj4gQ2M6IEFuZHJldyBGaXNoIDxh ZmlzaEBhcHBsZS5jb20+DQo+IENjOiBMZWlmIExpbmRob2xtIDxsZWlmQG51dmlhaW5jLmNvbT4N Cj4gQ2M6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBD YzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiBTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIEt1YmFja2kgPG1pY2hhZWwua3ViYWNraUBtaWNyb3NvZnQuY29tPg0KPiAtLS0N Cj4gDQo+IE5vdGVzOg0KPiAgICAgdjIgY2hhbmdlczoNCj4gDQo+ICAgICAtIEFkZCBVbmNydXN0 aWZ5Q2hlY2sgQ0kgcGx1Z2luIHJlYWRtZSBhbmQgY29uZmlnIGZpbGUgbGlua3MNCj4gICAgIC0g VXBkYXRlIG1hbnVhbCB1c2FnZSBpbnN0cnVjdGlvbnMgdG8gaW5jbHVkZSBMaW51eCBpbnN0cnVj dGlvbnMNCj4gICAgIC0gQ2xlYW4gdXAgbWFudWFsIHVzYWdlIGluc3RydWN0aW9ucw0KPiAgICAg LSBNaW5vciBmb3JtYXR0aW5nIGNoYW5nZXMNCj4gDQo+ICBFREstSUktQ29kZS1Gb3JtYXR0aW5n Lm1kIHwgMjQ3ICsrKysrKysrKysrKysrKysrKysrDQo+ICAxIGZpbGUgY2hhbmdlZCwgMjQ3IGlu c2VydGlvbnMoKykNCj4gDQo+IGRpZmYgLS1naXQgYS9FREstSUktQ29kZS1Gb3JtYXR0aW5nLm1k IGIvRURLLUlJLUNvZGUtRm9ybWF0dGluZy5tZA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBp bmRleCAwMDAwMDAwMDAwMDAuLmU2NzE2NjNlNWRjZA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBi L0VESy1JSS1Db2RlLUZvcm1hdHRpbmcubWQNCj4gQEAgLTAsMCArMSwyNDcgQEANCj4gKyMgRURL IElJIENvZGUgRm9ybWF0dGluZw0KPiArDQo+ICtUbyBiZXR0ZXIgYWNoaWV2ZSB0aGUgZ29hbHMg b2YgdGhlIFtFREsgSUkgQyBDb2RpbmcgU3RhbmRhcmRzIFNwZWNpZmljYXRpb25dKGh0dHBzOi8v ZWRrMi1kb2NzLmdpdGJvb2suaW8vZWRrLWlpLWMtDQo+IGNvZGluZy1zdGFuZGFyZHMtc3BlY2lm aWNhdGlvbi8pLA0KPiArRURLIElJIGNvZGUgZm9ybWF0dGluZyBpcyBhdXRvbWF0ZWQgdXNpbmcg YSBzb3VyY2UgY29kZSBiZWF1dGlmaWVyIGNhbGxlZCBVbmNydXN0aWZ5LiBVbmNydXN0aWZ5IGlz IGNvbXBhdGlibGUgd2l0aA0KPiArQy9DKysgaW4gYWRkaXRpb24gdG8gb3RoZXIgbGFuZ3VhZ2Vz LiBJbiBFREsgSUksIGl0IGlzIHVzZWQgdG8gZm9ybWF0IEMgbGFuZ3VhZ2Ugc291cmNlIGNvZGUu DQo+ICsNCj4gKyMjIFVuY3J1c3RpZnkgaW4gdGhlIGVkazIgUmVwb3NpdG9yeQ0KPiArDQo+ICtU aGUgVW5jcnVzdGlmeSBjb2xsYXRlcmFsIGluIHRoZSBlZGsyIHJlcG9zaXRvcnkgY29udGFpbnMg YWxsIG9mIHRoZSByZXNvdXJjZXMgbmVlZGVkIHRvIGdldCB0aGUgVW5jcnVzdGlmeSBhcHBsaWNh dGlvbg0KPiArYW5kIHJ1biBpdCB3aXRoIHRoZSBzYW1lIHNldHRpbmdzIGFzIG90aGVyIGRldmVs b3BlcnMuDQo+ICsNCj4gKz4gVW5jcnVzdGlmeSBpcyBhdXRvbWF0aWNhbGx5IHJ1biBhZ2FpbnN0 IGNvZGUgc3VibWl0dGVkIGluIGVkazIgYXMgYSBjb250aW51b3VzIGludGVncmF0aW9uIChDSSkg cGx1Z2luIGNhbGxlZA0KPiArIlVuY3J1c3RpZnlDaGVjayIuIFRoZSBwbHVnaW4gaXMgYXZhaWxh YmxlIGluIHRoZSBmb2xsb3dpbmcgZGlyZWN0b3J5Og0KPiArWy5weXRvb2wvUGx1Z2luL1VuY3J1 c3RpZnlDaGVja10oaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL3RyZWUvbWFzdGVy Ly5weXRvb2wvUGx1Z2luL1VuY3J1c3RpZnlDaGVjaykNCj4gKw0KPiArVGhlIFVuY3J1c3RpZnlD aGVjayBwbHVnaW4gaW4gZWRrMiBjb250YWlucyB0aGUgZm9sbG93aW5nIGZpbGVzIHVzZWQgdG8g Y2hlY2sgY29kZSBmb3IgY29tcGxpYW5jZSB0byB0aGUgY29kaW5nDQo+ICtzdGFuZGFyZDoNCj4g Kw0KPiArKiAqKmRlZmF1bHRfZmlsZV9oZWFkZXIudHh0KiogLSBBIHRleHQgZmlsZSBjb250YWlu aW5nIGEgdGVtcGxhdGUgdGhhdCBpcyBwbGFjZWQgYXQgdGhlIHRvcCBvZiBmaWxlcyBtaXNzaW5n IGEgZmlsZQ0KPiArICBoZWFkZXIuDQo+ICsqICoqZGVmYXVsdF9mdW5jdGlvbl9oZWFkZXIudHh0 KiogLSBBIHRleHQgZmlsZSBjb250YWluaW5nIGEgdGVtcGxhdGUgdGhhdCBpcyBwbGFjZWQgYWJv dmUgZnVuY3Rpb25zIHRoYXQgYXJlIG1pc3NpbmcNCj4gKyAgYSBmdW5jdGlvbiBoZWFkZXIuDQo+ ICsqICoqUmVhZG1lLm1kKiogLSBBIGZpbGUgdGhhdCBjb250YWlucyBkZXRhaWxzIGFib3V0IGhv dyB0aGUgcGx1Z2luIHdvcmtzIGFuZCBob3cgdG8gdXNlIGl0Lg0KPiArKiAqKnVuY3J1c3RpZnlf ZXh0X2RlcC55bWwqKiAtIEFuICJleHRlcm5hbCBkZXBlbmRlbmN5IiBmaWxlIHRoYXQgaXMgdXNl ZCB0byBnZXQgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgVW5jcnVzdGlmeQ0KPiArICBhcHBs aWNhdGlvbiB1c2VkIGJ5IHRoZSBwbHVnaW4uIFRoaXMgZmlsZSBjb250YWlucyB0aGUgTnVHZXQg ZmVlZCBVUkwgYW5kIHRoZSB2ZXJzaW9uIGN1cnJlbnRseSB1c2VkLg0KPiArKiAqKnVuY3J1c3Rp ZnlfcGx1Z19pbi55YW1sKiogLSBBIGZpbGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiB0byBk ZXNjcmliZSB0aGUgcGx1Z2luIHRvIHRoZSBidWlsZCBlbnZpcm9ubWVudC4NCj4gKyogKip1bmNy dXN0aWZ5LmNmZyoqIC0gQSBmaWxlIHVzZWQgYnkgdGhlIFVuY3J1c3RpZnkgYXBwbGljYXRpb24g dG8gY29udHJvbCBob3cgaXQgZm9ybWF0cyBjb2RlLiBJZiB5b3Ugd2FudCB0byB0d2Vhaw0KPiAr ICBwYXJ0aWN1bGFyIGZvcm1hdHRpbmcgZGV0YWlscywgdGhpcyBpcyB0aGUgcGxhY2UgdG8gc3Rh cnQuDQo+ICsqICoqVW5jcnVzdGlmeUNoZWNrLnB5KiogLSBUaGUgYWN0dWFsIFB5dGhvbiBmaWxl IHRoYXQgaXMgdGhlIENJIHBsdWdpbi4gTGlrZSBhbGwgQ0kgcGx1Z2lucywgdGhpcyBwbHVnaW4g Y2FuIGJlIHJ1bg0KPiArICBpbiBsb2NhbCBDSSBhbmQgc2VydmVyIENJLg0KPiArDQo+ICsjIyBF REsgSUkgVW5jcnVzdGlmeSBGb3JrDQo+ICsNCj4gK0R1ZSB0byBudWFuY2VzIGluIHRoZSB3YXkg RURLIElJIGZvcm1hdHMgY29kZSwgc29tZSBjaGFuZ2VzIHdlcmUgbWFkZSB0byB0aGUgdXBzdHJl YW0gVW5jcnVzdGlmeSBhcHBsaWNhdGlvbi4gVGhlc2UNCj4gK3dlcmUgY2hhbmdlcyB0aGF0IGNv dWxkIG5vdCBiZSBtYWRlIHB1cmVseSB0aHJvdWdoIHRoZSBVbmNydXN0aWZ5IGNvbmZpZ3VyYXRp b24gZmlsZS4gRm9yIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZm9yaywNCj4gK3BsZWFzZSB2aXNp dCB0aGF0IHByb2plY3Qgb3ZlcnZpZXcgaW4gdGhlIGxpbmsgYmVsb3cuDQo+ICsNCj4gKyogVW5j cnVzdGlmeSB1cHN0cmVhbSByZXBvc2l0b3J5OiBodHRwczovL2dpdGh1Yi5jb20vdW5jcnVzdGlm eS91bmNydXN0aWZ5DQo+ICsqIFVuY3J1c3RpZnkgRURLIElJIGZvcmsgcmVwb3NpdG9yeSAoaW4g UHJvamVjdCBNdSk6IGh0dHBzOi8vZGV2LmF6dXJlLmNvbS9wcm9qZWN0bXUvVW5jcnVzdGlmeQ0K PiArDQo+ICsjIyBEZXZlbG9wZXIgV29ya2Zsb3cNCj4gKw0KPiArRGV2ZWxvcGVycyBtdXN0IGlu c3RhbGwgVW5jcnVzdGlmeSBhbmQgcnVuIHRoZSBhcHBsaWNhdGlvbiBhZ2FpbnN0IHRoZWlyIGNv ZGUgYmVmb3JlIHNlbmRpbmcgcGF0Y2ggcmV2aWV3IGVtYWlscyBvcg0KPiArc3VibWl0dGluZyBw dWxsIHJlcXVlc3RzLiBQdWxsIHJlcXVlc3RzIHJ1biBhZ2FpbnN0IEVESyBJSSBDSSB3aGljaCBp bmNsdWRlcyB0aGUgVW5jcnVzdGlmeUNoZWNrIENJIHBsdWdpbi4NCj4gKw0KPiArRm9ydHVuYXRl bHksIFVuY3J1c3RpZnkgY2FuIGJlIGluc3RhbGxlZCBxdWlja2x5LCB5b3UgY2FuIGZvcm1hdCB5 b3VyIGNvZGUgcXVpY2tseSBsb2NhbGx5LCBhbmQgeW91IGNhbiB2ZXJpZnkgdGhlDQo+ICtjb2Rl IGFnYWluc3QgdGhlIFVuY3J1c3RpZnlDaGVjayBDSSBwbHVnaW4gYmVmb3JlIHNlbmRpbmcgaXQg dG8gb3RoZXJzLg0KPiArDQo+ICtUaGUgcmVjb21tZW5kZWQgZmxvdyBpczoNCj4gKw0KPiArMS4g Q2xvbmUgdGhlIGVkazIgc291cmNlIGNvZGUgcmVwb3NpdG9yeQ0KPiArMi4gVXNlIHRoZSBgc3R1 YXJ0KmAgY29tbWFuZHMgdG8gcHVsbCB0aGUgVW5jcnVzdGlmeSBhcHBsaWNhdGlvbiBpbnRvIHRo ZSBlZGsyIHdvcmtzcGFjZQ0KPiArMy4gU2V0IHVwIHRoZSBhYmlsaXR5IHRvIHJ1biBVbmNydXN0 aWZ5IGxvY2FsbHkgKGZvciBleGFtcGxlLCB1c2luZyB0aGUgVmlzdWFsIFN0dWRpbyBDb2RlIFVu Y3J1c3RpZnkgcGx1Z2luKQ0KPiArNC4gTWFrZSBhbmQgdGVzdCBjb2RlIGNoYW5nZXMNCj4gKzUu IFJ1biBFREsgSUkgQ0kgbG9jYWxseSB0byB2ZXJpZnkgVW5jcnVzdGlmeUNoZWNrIHBhc3Nlcw0K PiArNi4gU2VuZCB0aGUgY29kZSBwYXRjaCB0byB0aGUgRURLIElJIG1haWxpbmcgbGlzdA0KPiAr DQo+ICsjIyBJbnN0YWxsaW5nIFVuY3J1c3RpZnkNCj4gKw0KPiArVW5jcnVzdGlmeSBpcyBhIHBv cnRhYmxlIGV4ZWN1dGFibGUgdGhhdCBpcyBidWlsdCBpbiB0aGUgW0VESyBJSSBVbmNydXN0aWZ5 IGZvcmsNCj4gcmVwb3NpdG9yeV0oaHR0cHM6Ly9kZXYuYXp1cmUuY29tL3Byb2plY3RtdS9VbmNy dXN0aWZ5KQ0KPiArYW5kIHVsdGltYXRlbHkgcHVibGlzaGVkIGludG8gYSBOdUdldCBmZWVkIGlu IHRoYXQgZm9yayBwcm9qZWN0Lg0KPiArDQo+ICsjIyMgUmVjb21tZW5kZWQgSW5zdGFsbGF0aW9u OiBJbiBlZGsyIHJlcG9zaXRvcnkNCj4gKw0KPiArSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQg dG8gZm9sbG93IHRoaXMgZmxvdy4gSXQgc2V0cyB1cCB0aGUgd29ya3NwYWNlIHRvIHdvcmsgd2l0 aCBsb2NhbCBDSSBhbmQgYXV0b21hdGljYWxseSBnZXRzDQo+ICt0aGUgY3VycmVudCBzdXBwb3J0 ZWQgdmVyc2lvbiBvZiB0aGUgYXBwbGljYXRpb24uDQo+ICsNCj4gK1RoZSBVbmNydXN0aWZ5IHRv b2wgaXMgaW5zdGFsbGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB0aGUgUHl0b29scyBlbnZpcm9ubWVu dCBpcyB1c2VkIGFuZCB0aGUgYHN0dWFydCpgIGNvbW1hbmRzIGFyZSBydW4NCj4gK3RvIGNvbXBs ZXRlIGVudmlyb25tZW50IHNldHVwLiBSZXZpZXcgdGhlIGVkazINCj4gWy5weXRvb2wvUmVhZG1l Lm1kXShodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvdHJlZS9tYXN0ZXIvLnB5dG9v bCNydW5uaW5nLWNpLWxvY2FsbHkpDQo+ICtmaWxlIGZvciBkZXRhaWxzIG9uIGBzdHVhcnRgIGFu ZCB0aGlzIG92ZXJhbGwgZmxvdy4NCj4gKw0KPiArQWZ0ZXIgcnVubmluZyB0aGUgYHN0dWFydF91 cGRhdGVgIGNvbW1hbmQsIHRoZSBVbmNydXN0aWZ5IGFwcGxpY2F0aW9uIGNvbnRlbnQgc2hvdWxk IGJlIGJyb3VnaHQgZG93biBpbnRvDQo+ICtgLnB5dG9vbFxQbHVnaW5cVW5jcnVzdGlmeUNoZWNr XG11LXVuY3J1c3RpZnktcmVsZWFzZV9leHRkZXBgIGluIHlvdXIgZWRrMiB3b3Jrc3BhY2UuIFRo ZSBjb250ZW50cyBvZiB0aGlzIGRpcmVjdG9yeQ0KPiArbm93IHJlcHJlc2VudCB0aGUgY29udGVu dHMgb2YgdGhlIE51R2V0IHBhY2thZ2UgYW5kIGl0IHNob3VsZCBjb250YWluIGEgTGludXggYW5k IFdpbmRvd3MgZXhlY3V0YWJsZSBvZiB0aGUNCj4gK2FwcGxpY2F0aW9uLg0KPiArDQo+ICsjIyMg TWFudWFsIEluc3RhbGxhdGlvbjogRG93bmxvYWQgZnJvbSB0aGUgZm9yayBwcm9qZWN0DQo+ICsN Cj4gK1RoZSByZWxlYXNlIHBpcGVsaW5lIGluIHRoZSBFREsgSUkgVW5jcnVzdGlmeSBmb3JrIHBy b2plY3QgY29udGFpbnMgdGhlIGJ1aWxkIGluZm9ybWF0aW9uIGZvciBlYWNoIHJlbGVhc2UuIEVh Y2ggYnVpbGQNCj4gK2luIHRoaXMgcGlwZWxpbmUgcmVwcmVzZW50cyBhIHJlbGVhc2UuIEJ5IGdv aW5nIHRvIGEgc3BlY2lmaWMgYnVpbGQsIHRoZSBkZXRhaWxzIG1hcHBpbmcgdGhlIGJ1aWxkIHRv IHNvdXJjZSBjb2RlDQo+ICsoc3VjaCBhcyB0aGUgYnJhbmNoIGFuZCBjb21taXQpIGFyZSBwcmVz ZW50Lg0KPiArDQo+ICtUaGUgYnVpbGQgY29udGVudCBpcyBwdWJsaXNoZWQgYXMgYSBOdUdldCBw YWNrYWdlIHRvIGEgTnVHZXQgZmVlZC4gVGhpcyBpcyB0aGUgc2FtZSBmZWVkLCB0aGUgcmVjb21t ZW5kZWQgaW5zdGFsbGF0aW9uDQo+ICtpbnN0cnVjdGlvbnMgYXV0b21hdGljYWxseSBwdWxsIGZy b20uIFRoZSBOdUdldCBmZWVkIGlzIGF2YWlsYWJsZSBpbiB0aGUNCj4gWyJBcnRpZmFjdHMiXSho dHRwczovL2Rldi5henVyZS5jb20vcHJvamVjdG11L1VuY3J1c3RpZnkvX3BhY2thZ2luZz9fYT1m ZWVkJmZlZWQ9bXVfdW5jcnVzdGlmeSkNCj4gK3NlY3Rpb24gb2YgdGhlIGZvcmsgcHJvamVjdC4g SWYgeW91IGhvdmVyL2NsaWNrIG9uIGEgc3BlY2lmaWMgcGFja2FnZSBlbnRyeSAoZS5nLiAibXUt dW5jcnVzdGlmeS1yZWxlYXNlIiksIGEgc2V0IG9mDQo+ICt0aHJlZSBlbGxpcHNpcyB3aWxsIGFw cGVhci4gQ2xpY2sgdGhlIGVsbGlwc2lzIGFuZCBhIGNvbnRleHQgbWVudSB3aWxsIGFwcGVhci4g VGhlIE51R2V0IHBhY2thZ2UgY2FuIGJlIGRvd25sb2FkZWQNCj4gK2J5IGNsaWNraW5nICJEb3du bG9hZCBcPHgueS56XD4iLg0KPiArDQo+ICtPbmNlIGRvd25sb2FkZWQsIHRoZSBgLm51cGtnYCBm aWxlIGNhbiBiZSB0cmVhdGVkIGFzIGEgemlwIGZpbGUuIElmIHRoZSBmaWxlIGlzIG9wZW5lZCBh cyBhIHppcCBmaWxlLCB0aGUgZXhlY3V0YWJsZQ0KPiArY2FuIGJlIGZvdW5kIGluIHRoZSBgbXUt dW5jcnVzdGlmeS08ZGVidWcvcmVsZWFzZT5gIGRpcmVjdG9yeS4NCj4gKw0KPiArIyMgSG93IHRv IFJ1biBVbmNydXN0aWZ5DQo+ICsNCj4gK09uY2UgVW5jcnVzdGlmeSBpcyBpbnN0YWxsZWQsIHlv dSBjYW4gcnVuIHRoZSBhcHBsaWNhdGlvbiBpbiBhIG51bWJlciBvZiB3YXlzLiBJbiBhbGwgY2Fz ZXMsIHlvdSBzaG91bGQgYmUgdXNpbmcgdGhlDQo+ICtVbmNydXN0aWZ5IGFwcGxpY2F0aW9uIGJ1 aWx0IGZyb20gdGhlIFtVbmNydXN0aWZ5IEVESyBJSSBmb3JrXShodHRwczovL2Rldi5henVyZS5j b20vcHJvamVjdG11L1VuY3J1c3RpZnkpIGFuZCB0aGUNCj4gK1tVbmNydXN0aWZ5IGNvbmZpZ3Vy YXRpb24NCj4gZmlsZV0oaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL2Jsb2IvbWFz dGVyLy5weXRvb2wvUGx1Z2luL1VuY3J1c3RpZnlDaGVjay91bmNydXN0aWZ5LmNmZykNCj4gK2N1 cnJlbnRseSBjaGVja2VkIGludG8gZWRrMi4NCj4gKw0KPiArIyMjIFJlY29tbWVuZGVkIFVzYWdl OiBWaXN1YWwgU3R1ZGlvIChWUykgQ29kZSBQbHVnaW4NCj4gKw0KPiArVGhlIFZpc3VhbCBTdHVk aW8gQ29kZSBwbHVnaW4gcHJvdmlkZXMgYSB3YXkgdG8gc2VhbWxlc3NseSBydW4gVW5jcnVzdGlm eSBhZ2FpbnN0IGNvZGUgYXQgYW55dGltZSBpbiB0aGUgZWRpdG9yIGFuZA0KPiArdGhlIGNvbmZp Z3VyYXRpb24gZGV0YWlscyBhcmUgc2V0IG9uY2UgaW4gdGhlIGVkaXRvciBjb25maWd1cmF0aW9u IGZpbGUuDQo+ICsNCj4gKzEuIEluc3RhbGwgdGhlIFVuY3J1c3RpZnkgVlMgQ29kZSBleHRlbnNp b246DQo+ICsgICA+IE5hbWU6IFVuY3J1c3RpZnkNCj4gKyAgICAgSWQ6IHphY2hmbG93ZXIudW5j cnVzdGlmeQ0KPiArICAgICBEZXNjcmlwdGlvbjogQ29kZSBmb3JtYXQgdXNpbmcgdW5jcnVzdGlm eQ0KPiArICAgICBQdWJsaXNoZXI6IFphY2hhcnkgRmxvd2VyDQo+ICsgICAgIFZTIE1hcmtldHBs YWNlIExpbms6IDxodHRwczovL21hcmtldHBsYWNlLnZpc3VhbHN0dWRpby5jb20vaXRlbXM/aXRl bU5hbWU9emFjaGZsb3dlci51bmNydXN0aWZ5Pg0KPiArDQo+ICsyLiBDb25maWd1cmUgdGhlIFVu Y3J1c3RpZnkgcGx1Z2luIGZvciB5b3VyIGxvY2FsIHNldHVwIGJ5IGFkZGluZyB0aGUgZm9sbG93 aW5nIHRvIHlvdXIgVlMgQ29kZSBzZXR0aW5ncy5qc29uIGZpbGU6DQo+ICsgICAoV2luZG93cyBl eGFtcGxlKQ0KPiArDQo+ICsgICBgYGBqc29uDQo+ICsgICAidW5jcnVzdGlmeS5jb25maWdQYXRo LndpbmRvd3MiOiAicGF0aF90b195b3VyX2NvbmZpZ19maWxlIiwNCj4gKyAgICJ1bmNydXN0aWZ5 LmV4ZWN1dGFibGVQYXRoLndpbmRvd3MiOiAicGF0aF90b195b3VyX3VuY3J1c3RpZnlfZXhlY3V0 YWJsZSINCj4gKyAgIGBgYA0KPiArDQo+ICsgICA+IFdpbmRvd3MgRXhhbXBsZToNCj4gKyAgID4N Cj4gKyAgID5gYGBqc29uDQo+ICsgICA+InVuY3J1c3RpZnkuY29uZmlnUGF0aC53aW5kb3dzIjog IkQ6L3NyYy9lZGsyLy5weXRvb2wvUGx1Z2luL1VuY3J1c3RpZnlDaGVjay91bmNydXN0aWZ5LmNm ZyIsDQo+ICsgICA+InVuY3J1c3RpZnkuZXhlY3V0YWJsZVBhdGgud2luZG93cyI6ICJEOi9zcmMv ZWRrMi8ucHl0b29sL1BsdWdpbi9VbmNydXN0aWZ5Q2hlY2svbXUtdW5jcnVzdGlmeS0NCj4gcmVs ZWFzZV9leHRkZXAvV2luZG93cy14ODYvdW5jcnVzdGlmeS5leGUiDQo+ICsgICA+YGBgDQo+ICsN Cj4gKzMuIE9wZW4gYSBDIHNvdXJjZSBjb2RlIGZpbGUsIF9gQ3RybCtTaGlmdCtQYCAtPiBGb3Jt YXQgRG9jdW1lbnQgV2l0aC4uLiAtPiBDb25maWd1cmUgRGVmYXVsdCBGb3JtYXR0ZXIgLT4gVW5j cnVzdGlmeV8NCj4gKw0KPiArNC4gVGhlbiwgX2BDdHJsK1NoaWZ0K1BgIC0+IEZvcm1hdCBEb2N1 bWVudF8gYW55IHRpbWUgeW91IHdvdWxkIGxpa2UgdG8gZm9ybWF0IHlvdXIgc291cmNlIGNvZGUg ZmlsZSB3aXRoIFVuY3J1c3RpZnkNCj4gKw0KPiArIyMjIE1hbnVhbCBVc2FnZTogUnVuIGluIGEg VGVybWluYWwNCj4gKw0KPiArVGhlc2UgaW5zdHJ1Y3Rpb25zIGFyZSB3cml0dGVuIGZvciBXaW5k b3dzIDEwLiBUaGVzZSBhY3Rpdml0aWVzIGNvdWxkIGJlIGZ1cnRoZXIgYXV0b21hdGVkIGludG8g YSBoaWdoLWxldmVsIHNjcmlwdA0KPiArYnV0IHRoYXQgaGFzIG5vdCBiZWVuIGRvbmUgeWV0Lg0K PiArDQo+ICsxLiBHZW5lcmF0ZSBhIGxpc3Qgb2YgdGhlIGZpbGVzIHRvIHJ1biBhZ2FpbnN0LiBU aGlzIGV4YW1wbGUgZ2VuZXJhdGVzIGEgcmVjdXJzaXZlIGxpc3Qgb2YgYWxsIC5jIGFuZCAuaCBm aWxlcy4NCj4gKw0KPiArICAgKiBJdCBpcyByZWNvbW1lbmRlZCB0byBydW4gdGhpcyBpbiBjbGVh bmx5IGNsb25lZCBlZGsyIHJlcG8gd2l0aG91dCBzdWJtb2R1bGVzIHRvIHByZXZlbnQgc3VibW9k dWxlIGZpbGVzDQo+ICsgICAgIChzdWNoIGFzIEJyb3RsaSBmaWxlcyBpbiBNZGVNb2R1bGVQa2cp IGZyb20gZ2V0dGluZyBpbmNsdWRlZCBpbiB0aGUgZmlsZSBsaXN0IChpZiB5b3UgYXJlIHJ1bm5p bmcgYWdhaW5zdCBhbGwNCj4gKyAgICAgZmlsZXMpLiBJbmNsdWRpbmcgYWxsIGZpbGVzIHdpbGwg c2lnbmlmaWNhbnRseSBpbmNyZWFzZSB0aGUgYW1vdW50IG9mIHRpbWUgVW5jcnVzdGlmeSB0YWtl cyB0byBydW4uDQo+ICsNCj4gKyAgICogU2FtcGxlIFBvd2Vyc2hlbGwgY29tbWFuZCB0byByZWN1 cnNpdmVseSB3cml0ZSBhbGwgLmMgYW5kIC5oIGZpbGVzIGluIGEgZ2l2ZW4gcGFja2FnZSB0byBh IHRleHQgZmlsZToNCj4gKw0KPiArICAgICBgYGBwb3dlcnNoZWxsDQo+ICsgICAgIEdldC1DaGls ZEl0ZW0gLVBhdGggLlxNZGVQa2dcKiAtSW5jbHVkZSAqLmMsICouaCAtUmVjdXJzZSAtRm9yY2Ug fCAleyRfLmZ1bGxuYW1lfSB8IE91dC1GaWxlDQo+ICsgICAgIC1GaWxlUGF0aCAuXE1kZVBrZ0Zp bGVzLnR4dCAtRW5jb2RpbmcgdXRmOA0KPiArICAgICBgYGANCj4gKw0KPiArICAgPiAqKldBUk5J TkcqKiBQb3dlcnNoZWxsIHdpbGwgcHV0IHRoZSBVVEYtOCBCT00gYXQgdGhlIGJlZ2lubmluZyBv ZiB0aGUgb3V0cHV0IGZpbGUuIFVuY3J1c3RpZnkgZG9lcyBub3QgcmVjb2duaXplIHRoZQ0KPiBC T00NCj4gKyAgIGFuZCBpdCBzaG91bGQgYmUgcmVtb3ZlZCBiZWZvcmUgcGFzc2luZyB0aGUgZmls ZSBhcyBpbnB1dCB0byBVbmNydXN0aWZ5LiBJZiBpdCBpcyBub3QgcmVtb3ZlZCwgVW5jcnVzdGlm eSB3aWxsDQo+ICsgICBub3QgcmVhZCB0aGUgZmlyc3QgZmlsZSBwYXRoIGluIHRoZSB0ZXh0IGZp bGUgcHJvcGVybHkgd2hpY2ggd2lsbCBjYXVzZSB0aGUgZmlsZSB0byBub3QgYmUgZm9ybWF0dGVk Lg0KPiArDQo+ICsyLiBSdW4gVW5jcnVzdGlmeSB1c2luZyB0aGUgZ2VuZXJhdGVkIHRleHQgZmls ZSBhcyBpbnB1dA0KPiArDQo+ICsgICBUaGUgZm9sbG93aW5nIGFzc3VtZSB5b3UgbW92ZSB0aGUg RURLIElJIFVuY3J1c3RpZnkgY29uZmlndXJhdGlvbiBmaWxlIHRvIHRoZSBkaXJlY3RvcnkgLnVu Y3J1c3RpZnkgaW4geW91ciBlZGsyDQo+ICsgICB3b3Jrc3BhY2UuDQo+ICsNCj4gKyAgIGBgYHNo ZWxsDQo+ICsgICB1bmNydXN0aWZ5LmV4ZSAtYyAuXC5weXRvb2xcUGx1Z2luXFVuY3J1c3RpZnlD aGVja1x1bmNydXN0aWZ5LmNmZyAtRiBNZGVQa2dGaWxlcy50eHQgLS1yZXBsYWNlIC0tbm8tYmFj a3VwIC0taWYtDQo+IGNoYW5nZWQNCj4gKyAgIGBgYA0KPiArDQo+ICsgICA+ICpOb3RlOiogV2hl biB0ZXN0aW5nIGEgY29uZmlndXJhdGlvbiBjaGFuZ2UsIGl0IGlzIHNvbWV0aW1lcyB1c2VmdWwg dG8gcnVuIFVuY3J1c3RpZnkgYWdhaW5zdCBhIHBhcnRpY3VsYXIgZmlsZQ0KPiArICAgICBhbmQg Y2hlY2sgdGhlIGRlYnVnIG91dHB1dCB0byB1bmRlcnN0YW5kIHdoYXQgcnVsZSB3YXMgYXBwbGll ZCBhbmQgd2h5IGl0IHdhcyBhcHBsaWVkLiBUaGUgY29tbWFuZCBzaG93cyBhbg0KPiArICAgICBl eGFtcGxlIG9mIGhvdyB0byBydW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBgdW5jcnVzdGlmeS5j ZmdgIGFnYWluc3QgdGhlIHNvdXJjZSBmaWxlIGBWYXJpYWJsZVNtbS5jYCB3aGVyZSB0aGUNCj4g KyAgICAgZmlsZSBpcyBmb3JjZWQgdG8gYmUgdHJlYXRlZCBhcyBDLCB0aGUgZGVidWcgb3V0cHV0 IGlzIHdyaXR0ZW4gdG8gYHVuY3J1c3RpZnlfZGVidWcudHh0YCBhbmQgdGhlIGxvZyBzZXZlcml0 eSBsZXZlbA0KPiArICAgICBpcyBzZXQgdG8gImFsbCIuDQo+ICsNCj4gKyAgIGBgYHNoZWxsDQo+ ICsgICB1bmNydXN0aWZ5LmV4ZSAtYyAuXC5weXRvb2xcUGx1Z2luXFVuY3J1c3RpZnlDaGVja1x1 bmNydXN0aWZ5LmNmZyAtZg0KPiAuXE1kZU1vZHVsZVBrZ1xVbml2ZXJzYWxcVmFyaWFibGVcUnVu dGltZUR4ZVxWYXJpYWJsZVNtbS5jIC1vIG91dHB1dC5jIC1sIEMgLXAgdW5jcnVzdGlmeV9kZWJ1 Zy50eHQgLUwgQQ0KPiAyPnZlcmJvc2VfZGVidWcudHh0DQo+ICsgICBgYGANCj4gKw0KPiArVW5j cnVzdGlmeSB3aWxsIHVwZGF0ZSB0aGUgc291cmNlIGZpbGVzIGluLXBsYWNlICh3aXRoIHRoZSBj b21tYW5kcyBnaXZlbikuIFRoaXMgYWxsb3dzIHlvdSB0byBkaWZmIHRoZSByZXN1bHRzIHdpdGgN Cj4gK2dpdC4gRnJvbSBoZXJlLCB5b3UgY2FuIGl0ZXJhdGl2ZWx5IHR3ZWFrIHRoZSBjb25maWd1 cmF0aW9uIGZpbGUgYW5kIGNoZWNrIHRoZSByZXN1bHRzIHVudGlsIHlvdXIgc2F0aXNmaWVkIHdp dGggdGhlDQo+ICtvdXRjb21lLg0KPiArDQo+ICsjIyBVbmNydXN0aWZ5IGluIENJDQo+ICsNCj4g K1RoZSBVbmNydXN0aWZ5Q2hlY2sgQ0kgcGx1Z2luIHRoYXQgd2lsbCB2ZXJpZnkgZm9ybWF0dGlu ZyBvbiB0aGUgc2VydmVyIGNhbiBiZSBydW4gbG9jYWxseS4gSXQgaXMgcmVjb21tZW5kZWQgdG8g cnVuDQo+ICtsb2NhbCBDSSB0byB2ZXJpZnkgdGhlIHBhdGNoIHN1Ym1pc3Npb24gd2lsbCBwYXNz IENJIG9uIHRoZSBzZXJ2ZXIuDQo+ICsNCj4gK1RoaXMgY2FuIGJlIGRvbmUgdXNpbmcgdGhlIGBz dHVhcnRfY2lfYnVpbGRgIGNvbW1hbmQuDQo+ICsNCj4gKz4gVGlwOiBUbyBxdWlja2x5IG9ubHkg cnVuIFVuY3J1c3RpZnlDaGVjaywgcmVtb3ZlIHRoZSBvdGhlciBwbHVnaW4gZGlyZWN0b3JpZXMg ZnJvbSB5b3VyIGxvY2FsIGAucHl0b29sYCBkaXJlY3RvcnkNCj4gKyAgYW5kLCBvZiBjb3Vyc2Us IGFkZCB0aGVtIGJhY2sgd2hlbiB5b3UncmUgZG9uZS4NCj4gKw0KPiArSGVyZSdzIGFuIGV4YW1w bGUgb2YgcnVubmluZyBVbmNydXN0aWZ5Q2hlY2sgYWdhaW5zdCBNZGVNb2R1bGVQa2cgZnJvbSB0 aGUgcm9vdCBvZiBhbiBlZGsyIHdvcmtzcGFjZToNCj4gKw0KPiArYHN0dWFydF9jaV9idWlsZCAt YyAucHl0b29sL0NJU2V0dGluZ3MucHkgLXAgTWRlTW9kdWxlUGtnYA0KPiArDQo+ICtJZiBhIGZp bGUgaGFzIGEgZm9ybWF0dGluZyBlcnJvciwgaXQgd2lsbCBiZSBub3RlZCBpbiB0aGUgb3V0cHV0 IGZyb20gYHN0dWFydF9jaV9idWlsZGAuIFRoaXMgaXMgdmlzaWJsZSBpbiB0aGUNCj4gK3Rlcm1p bmFsIG91dHB1dCBpbiBsb2NhbCBDSSBhbmQgdGhlIGJ1aWxkIG91dHB1dCBsb2cgaW4gc2VydmVy IENJLg0KPiArDQo+ICtSZWFkIHRoZSBbVW5jcnVzdGlmeUNoZWNrDQo+IFJlYWRtZS5tZF0oaHR0 cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL2Jsb2IvbWFzdGVyLy5weXRvb2wvUGx1Z2lu L1VuY3J1c3RpZnlDaGVjay9SZWFkbWUubWQpDQo+ICt0byB1bmRlcnN0YW5kIG1vcmUgYWJvdXQg aG93IHRoZSBwbHVnaW4gY2FuIGJlIGNvbmZpZ3VyZWQgZm9yIENJLg0KPiArDQo+ICsjIyBFeHRy YSBSZWFkaW5nOiBUcmFjaW5nIEhpc3RvcnkgQWNyb3NzIHRoZSBVbmNydXN0aWZ5IENoYW5nZXMN Cj4gKw0KPiArSXQgbWlnaHQgYmUgaGVscGZ1bCB0byB2aWV3IHRoZSBlbnRpcmUgaGlzdG9yeSBy ZXdyaXR0ZW4gd2l0aCBVbmNydXN0aWZ5IGZvcm1hdHRpbmcgb24gZXZlcnkgY29tbWl0LiBGb3Ig ZXhhbXBsZSwgYW4NCj4gK2FsdGVybmF0ZSB2ZXJzaW9uIG9mIHRoZSBlZGsyIHJlcG9zaXRvcnkg dGhhdCBzZXJ2ZXMgYXMgImRvY3VtZW50YXRpb24iIHdpdGggdGhlIGVudGlyZSBoaXN0b3J5IHJl LXdyaXR0ZW4uDQo+ICsNCj4gK0EgdG9vbCBjYWxsZWQgZ2l0LWZpbHRlci1yZXBvIGNhbiBiZSB1 c2VkIHRvIHBlcmZvcm0gdGhpcyB0cmFuc2Zvcm1hdGlvbiBhbmQgcnVucyBpbiBhIHJlYXNvbmFi bGUgcGVyaW9kIG9mIHRpbWUNCj4gKyhhIGZldyBob3Vycyk6DQo+ICsNCj4gKyogPGh0dHBzOi8v Z2l0aHViLmNvbS9uZXdyZW4vZ2l0LWZpbHRlci1yZXBvPg0KPiArKiA8aHR0cHM6Ly9naXRodWIu Y29tL25ld3Jlbi9naXQtZmlsdGVyLXJlcG8vYmxvYi9tYWluL2NvbnRyaWIvZmlsdGVyLXJlcG8t ZGVtb3MvbGludC1oaXN0b3J5Pg0KPiArDQo+ICtUaGUgZm9sbG93aW5nIHN0ZXBzIGNhbiBiZSB1 c2VkIHRvIHBlcmZvcm0gdGhpcyB0cmFuc2Zvcm1hdGlvbi4gVGhpcyBpcyB0aGUgV2luZG93cyBw cm9jZXNzLiBBIExpbnV4IHByb2Nlc3Mgd2lsbCBiZQ0KPiArYWRkZWQgaW4gdGhlIGZ1dHVyZS4N Cj4gKw0KPiArICA+ICoqV0FSTklORyoqICBUaGlzIG9wZXJhdGlvbiBtb2RpZmllcyAocmV3cml0 ZXMpIGFsbCB0aGUgY29tbWl0cyBpbiB0aGUgbG9jYWwgIGNvcHkgb2YgdGhlIHJlcG8uICBEbyBu b3QgcGVyZm9ybQ0KPiArICAgICAgICAgICAgICAgICB0aGVzZSBzdGVwcyBvbiBhIGxvY2FsIHJl cG8geW91IGFyZSB1c2luZyBmb3IgYWN0aXZlIGRldmVsb3BtZW50Lg0KPiArDQo+ICsxLiBDbG9u ZSBlZGsyIGludG8gYSBuZXcgZGlyZWN0b3J5IChzZWUgKipXQVJOSU5HKiopDQo+ICsNCj4gKyAg IGBgYHNoZWxsDQo+ICsgICBnaXQgY2xvbmUgaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9l ZGsyLmdpdCBlZGsyLXVuY3J1c3RpZmllZA0KPiArICAgY2QgZWRrMi11bmNydXN0aWZpZWQNCj4g KyAgIGBgYA0KPiArDQo+ICsyLiBTZXR1cCBweXRob24gdmlydHVhbCBlbnYsIGluc3RhbGwgcHl0 b29scywgYW5kIHJ1biBzdHVhcnQgY29tbWFuZHMgdG8gc2V0dXAgYnVpbGQgZW52aXJvbm1lbnQg d2hpY2ggaW5jbHVkZXMNCj4gKyAgIGluc3RhbGxpbmcgdW5jcnVzdGlmeSB0b29scy4gU2VlIFtS dW5uaW5nIENJIExvY2FsbHldKGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi90cmVl L21hc3Rlci8ucHl0b29sI3J1bm5pbmctDQo+IGNpLWxvY2FsbHkpLg0KPiArDQo+ICszLiBNYWtl IGEgYmFja3VwIGNvcHkgb2YgdGhlIHBsdWdpbiBVbmNydXN0aWZ5Q2hlY2sgb3V0c2lkZSBXT1JL U1BBQ0UuIChlLmcuIEM6XFRlbXBcVW5jcnVzdGlmeUNoZWNrKSBzbyB0aGUNCj4gKyAgIFVuY3J1 c3RpZnkgZXhlY3V0YWJsZSBhbmQgRURLIElJIHNwZWNpZmljIFVuY3J1c3RpZnkgY29uZmlndXJh dGlvbiBmaWxlIGFyZSBhdmFpbGFibGUgd2hlbiB3b3JraW5nIHdpdGggYSBicmFuY2gNCj4gKyAg IHRoYXQgZG9lcyBub3QgaGF2ZSB0aG9zZSB0b29scyBpbiBpdHMgc2NvcGUuDQo+ICsNCj4gKyAg IGBgYHNoZWxsDQo+ICsgICB4Y29weSAucHl0b29sXFBsdWdpblxVbmNydXN0aWZ5Q2hlY2sgQzpc VGVtcFxVbmNydXN0aWZ5Q2hlY2sNCj4gKyAgIGBgYA0KPiArDQo+ICs0LiBVc2UgbGludC1oaXN0 b3J5LnB5IGZyb20gZ2l0LWZpbHRlci1yZXBvIGV4YW1wbGVzDQo+ICsNCj4gKyAgICogW2dpdC1m aWx0ZXItcmVwb10oaHR0cHM6Ly9naXRodWIuY29tL25ld3Jlbi9naXQtZmlsdGVyLXJlcG8pDQo+ ICsgICAqIFtsaW50LWhpc3RvcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9uZXdyZW4vZ2l0LWZpbHRl ci1yZXBvL2Jsb2IvbWFpbi9jb250cmliL2ZpbHRlci1yZXBvLWRlbW9zL2xpbnQtaGlzdG9yeSkN Cj4gKw0KPiArTGluZSAjMTI3IC0gQWRkIHRyeSBleGNlcHQgYXJvdW5kIHN1YnByb2Nlc3MuY2hl Y2tfY2FsbCgpIHdpdGggZXhjZXB0IGJlaW5nIHBhc3MuIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVz ZSB0aGVyZSBhcmUgYQ0KPiArZmV3IGNvbW1pdHMgb2YgQyBmaWxlcyBpbiB0aGUgZWRrMiByZXBv IHRoYXQgaGF2ZSBpbmNvcnJlY3QgQyBzeW50YXggYW5kIGRvIG5vdCBidWlsZCB3aXRoIGEgQyBj b21waWxlciBhbmQgYnJlYWsgdGhlDQo+ICtVbmNydXN0aWZ5IHBhcnNlci4gU2tpcCByZWZvcm1h dCBvZiBDIGZpbGVzIHRoYXQgY2FuIG5vdCBiZSBwYXJzZWQgYnkgdW5jcnVzdGlmeS4gVGhlc2Ug cmFyZSBpbnN0YW5jZXMgYXJlIGFkZHJlc3NlZCBpbg0KPiArdGhlIGNvbW1pdCB0aGF0IGZpeGVz IHRoZSBDIHN5bnRheCBlcnJvci4NCj4gKw0KPiArUnVuIHRoaXMgc2xpZ2h0bHkgbW9kaWZpZWQg dmVyc2lvbiBvZiBsaW50LWhpc3RvcnkuIEluY2x1ZGUgb25seSAuYy8uaCBmaWxlcyBhbmQgZXhj bHVkZSBkaXJlY3RvcmllcyB0aGF0IHN0YXJ0IHdpdGgNCj4gK2BUb29sc2Agb3IgYEJhc2VUb29s c2AuIFRoaXMgc3RlcCB0b29rIGFib3V0IDIuMiBob3VycyBvbiBhIGxhcHRvcC4NCj4gKw0KPiAr YGBgc2hlbGwNCj4gK2xpbnQtaGlzdG9yeS5weQ0KPiArICAgIC0tcmVsZXZhbnQgInJldHVybiAo bm90IGZpbGVuYW1lLnN0YXJ0c3dpdGgoYidUb29scycpIGFuZCBub3QgZmlsZW5hbWUuc3RhcnRz d2l0aChiJ0Jhc2VUb29scycpIGFuZA0KPiAoZmlsZW5hbWUuZW5kc3dpdGgoYicuYycpIG9yIGZp bGVuYW1lLmVuZHN3aXRoKGInLmgnKSkpIg0KPiArICAgIGM6XFx3b3JrXFxHaXRIdWJcXHRpYW5v Y29yZVxcZm9vXFxVbmNydXN0aWZ5Q2hlY2tcXG11LXVuY3J1c3RpZnktcmVsZWFzZV9leHRkZXBc XFdpbmRvd3MteDg2XFx1bmNydXN0aWZ5LmV4ZSAtYw0KPiBjOlxcd29ya1xcR2l0SHViXFx0aWFu b2NvcmVcXGZvb1xcVW5jcnVzdGlmeUNoZWNrXFx1bmNydXN0aWZ5LmNmZyAtLXJlcGxhY2UgLS1u by1iYWNrdXAgLS1pZi1jaGFuZ2VkDQo+ICtgYGANCj4gLS0NCj4gMi4yOC4wLndpbmRvd3MuMQ0K PiANCj4gDQo+IA0KPiANCj4gDQoNCg==