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.web11.8326.1676502771204766717 for ; Wed, 15 Feb 2023 15:12:51 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=dOIbVtt/; 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=1676502771; x=1708038771; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=oOVQYh2dEl4YQ0nLcFCufITlcGW7aN+1ECgt8zVTgAA=; b=dOIbVtt/1fzDNa15l/phphllDuWFentYQsHcgJG11qSHvttbwYIz07Kp nK+PbfkUP2barMAtmlVdiGvMoCRyW2hc7YyWFV/IN7/98kC5ToZBuilAe KmZ8F9pUCvZYBirZKuMAm4li0LmQusasGdltLaSSlsq/XOtb6am7GrEkp 1+zxPWZtEMHJRx/yuOOoNaUypn8AID1ZwCUNlqjWd680UZ9mS+qCt3Yxm KAMwGVXus+lAjo0r1kUWhkt8RPCi2VpjUJvz/mQwGBFbpEuyZ72EAo+zk vCid4yo0EmbVETt2GLJTRumlV/IcClop/OUWS4x6GgOI/7SPwnE8WZAsD A==; X-IronPort-AV: E=McAfee;i="6500,9779,10622"; a="333720511" X-IronPort-AV: E=Sophos;i="5.97,300,1669104000"; d="scan'208";a="333720511" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Feb 2023 15:12:50 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10622"; a="738615949" X-IronPort-AV: E=Sophos;i="5.97,301,1669104000"; d="scan'208";a="738615949" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga004.fm.intel.com with ESMTP; 15 Feb 2023 15:12:50 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Wed, 15 Feb 2023 15:12:49 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Wed, 15 Feb 2023 15:12:49 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Wed, 15 Feb 2023 15:12:49 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.175) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Wed, 15 Feb 2023 15:12:48 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PRh0aQiN9lnx1zra8l1zdnVtZ/3WbKRdsgOZY8Eozbf7Lr3fiBPjrryzUFerN8LFiyn1vx92yQolez/O0GMs+DCEr7msEcP+Xjn3dUksKlg7gHwSRCGTn3av9LmcNDuHFHPg2fsA52ooJAJOuOK42JbT9/PujwC8xKh82Adq5TX48dlNnYEQE4Zr5NDbDUfc35JvIuUczTPnqjBHnBPbUwodRLjYDA0okQVqBBL2e1/Rtng+UFlE5752uqbqo57qaq+sdmemdfdi7hLk6vbhruu3EnA4wcujGNQBfH5KA971yoO9MwUxXEWQJEWegahkjBJvBfn+g7+CiHytsdVojw== 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=oOVQYh2dEl4YQ0nLcFCufITlcGW7aN+1ECgt8zVTgAA=; b=jI8DjNA9IKn/f3uknj1SpG/CokLsvC8qDYzhmOAy/8h6OykEG5skjphW2scC+f+HUdwKYwb5lmi4u84ieE3N4d9nLdpqvHFUVGxgv1LKabFlISGhVOPUDlPxCVauj8ghA8OqpoDzkSODzBHU0mgcJH4Lr0M1axLNpl+lIuGUI4QNTpm+c254aDDHXrdQcpntw0XH2XlzMsqGuS1KunjoX95GFzr84cbsdI3gyeBAZp59wtX+A9vr/XUzWONUMYN4CMJ0jmk/On1F+XO0SlP1b4AGHeq5Xx81QmDNf41JDtK9rdoJaYtLhvAcIFBkHURUAS2sytA9UBxrR++ZgqItLQ== 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 SJ0PR11MB4861.namprd11.prod.outlook.com (2603:10b6:a03:2ac::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.26; Wed, 15 Feb 2023 23:12:45 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::c4d0:989a:e319:fe68]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::c4d0:989a:e319:fe68%5]) with mapi id 15.20.6086.026; Wed, 15 Feb 2023 23:12:45 +0000 From: "Michael D Kinney" To: "Ni, Ray" , "devel@edk2.groups.io" , "Chen, Christine" , "Palomino Sosa, Guillermo A" CC: "Feng, Bob C" , "Gao, Liming" , "Kinney, Michael D" Subject: Re: [edk2-devel][PATCH V1 1/1] BaseTools: Generate compile information in build report Thread-Topic: [edk2-devel][PATCH V1 1/1] BaseTools: Generate compile information in build report Thread-Index: AQHZOqFfXcxYF0StGk26U1Brxzcpta7PWXCAgAAQU7CAACBngIAALHUAgAD5ZPA= Date: Wed, 15 Feb 2023 23:12:45 +0000 Message-ID: References: <320a45f265969df1a108777713e5ac954a75be56.1675735858.git.guillermo.a.palomino.sosa@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB4929:EE_|SJ0PR11MB4861:EE_ x-ms-office365-filtering-correlation-id: afcd8bef-ad37-42a3-580e-08db0faa25be 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: UQpCsrv0wY2lS957ghN3pMw6C2wAd/XOGIBF6jH6Y1j4e/KWRy5xCHDwbDQunF8sBPY0PISPJXu5bQuvhOF4LKv2KO3ch4qIuwgLh/+Vxq7AXuAYNFh6j5V9JaAbb+CCz2GyDCSX+KWpYh1T2wazlEHv9SIn38wpaZhC5iA9gHx4DUuoDbYCiyHDsEdI7tW8zzDld4T099hIcccMr0UM0AYdLr/8IrdQG+ciDi4Q3eYJyElNYGFuSJrwB1eGa39LKRRHudfiwGqxtTE3K1yiVal7DcMePXltRHozXiIO4U7oUF+F3YwpsOEaVUz/481JNn6nb6WYmQwhyP6gd7ggJa1YgXueSB1uWtmtqQpFWqMENZuKaXIK0AF3tpTj2J1U/kXpm8Ffe13K74Dad4p91LMka1iCZanPl/OOpAx0kcSpoIvFlJGX68/jGrvwlVvd+7z/FFMpX9tmQRh0s6hZx8YAc1neHVVfLFwei76FOcAbCn7mKnHLKKA47MrlfNdVQ1OkL4CgAheh9nuBXGlJArBRpHm8g1hFmXuKj7LMwHfw+itbjgv5H/LtGRkdbfPiXGOJzO34h4npEt/8bitOFwclXhRazvdTrW74xsCDIUhclOEEI1Bz3bO1PaiEUE/xE+vwxVx8Z0Kz2Wih0N9GADfw92zlZdk8gRqW45LS+2gw1gDKg9bhmBcqgNe6X+4X4B+cOjDEJoKW4Zm0XwznMJ7sBOmx6EyvcHrsEx3mhpU= 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:(13230025)(136003)(39860400002)(396003)(376002)(366004)(346002)(451199018)(9686003)(41300700001)(5660300002)(966005)(33656002)(478600001)(82960400001)(8936002)(30864003)(52536014)(71200400001)(110136005)(54906003)(66446008)(86362001)(76116006)(83380400001)(4326008)(7696005)(66556008)(8676002)(6636002)(66476007)(66946007)(64756008)(6506007)(107886003)(53546011)(26005)(2906002)(38070700005)(55016003)(316002)(186003)(38100700002)(122000001)(66899018);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?a0l6VHVPeW1OcDlmMElyeFd2T2NGRmZTRDVEQU9WRjZMeWtZa1NOKzBLYlhF?= =?utf-8?B?N0N2SENCb1pmMjJ5c1dVbFdGNjgreFYzZ3hUL0lNRHpxQVh4VlVsM1JxTnpk?= =?utf-8?B?ejg1OU1PbUt2b1grTlk3TmVPRktjQjBCZ3VjKzdHNFoxdW5LRkQ1aDhKWmxn?= =?utf-8?B?aDlOS0duV1BjbjhtS2s5WlJlaXUvS1pQL3VPN0V5elI0cnllTHEwRTVlM3du?= =?utf-8?B?VEo0Y3BmV3N6WDhOa21pUDVLdk5OdWJ5RW1hRHJCazBNWWR2TituZExPZXVO?= =?utf-8?B?TkYzcWhiY28wTkxRQzNTbmwzcGZ4NW9IQnJ1dHlDcmJrZkJONitBRnFFWW96?= =?utf-8?B?empYM1VNTVhkS012WU9pYm5CWEZYK0VONTZDZFdKVTZiUzl2RDJRV1RUTzVp?= =?utf-8?B?S2oyU1NFd0U5czIxTnZUN2c2NFFDV2lTYXBaSTg3K1UwcEFuMk8yYVc3MGJM?= =?utf-8?B?NU52WGtiS1FMMkVaelQxN240Zy80L1RUdjR1MG00WXBrWGN2dkRnMWRxa01V?= =?utf-8?B?d0RPSWtMaFNISng1TGpEb25kN0tyZnBEam9YZzUrQklBcjkrUVZYL0swNDBZ?= =?utf-8?B?SFZHOHRuT2lVRlFGcExXOVcxRFRnKzJFb29ZWlVYK1ZWdHZmaFJvNnB6YzFF?= =?utf-8?B?YTVZY1hXYjJDSEJyeEFtZTJtSlZjd0o0dlR1VXZrYUFjdzcxa0hrN2txaHov?= =?utf-8?B?NjVobjZwR0U2YXRPNHdwUXVnN1FxTThScnd1c0ovcDJhaTdaY1RNMEoxNHV4?= =?utf-8?B?MkIyWWI2b3Z5OTkyZVIvL0xuSmt4VTQrT3lTV04xYjBHanlZaHIvdlNmWkpT?= =?utf-8?B?eWZCVkt5b2VHZWFvV1REZkVMSElRdU4xVlEyVnJJUEVwbVBHVnFva3NIcUJF?= =?utf-8?B?aDA1d2ZhYkJRMjFKOEdTdEk3VVJUdVdqeXMxTU42S1FNRFBXVzViUk5tdTBz?= =?utf-8?B?cFl2c3Y2QVd5NXhrak5Celpkd2FGTy8xVlh3RzZaOGQ2cDI0VXBNMTJCY3lo?= =?utf-8?B?MmVLM05QOFdXRVpBVVhkdzdza3AzOTZ6VmJEWVRWZndBcFB6alVpejV5ekpL?= =?utf-8?B?RSsva0ZKOTFwanBhYS92TldwL2lpSUUrN3U3SHZWVVI5Sk1xTVlHYnBnN2ox?= =?utf-8?B?ZmhBRC9qV2JqZFFLTnEvK0JRQkVoY01KTFlPNEZjR0xla0tIM20vdkZzbEEy?= =?utf-8?B?dUtndVRIZHlzd2VINVZCbjAxd0orc0RnNGk5Z2hUSWpuWTgrS0lMY2gvU3or?= =?utf-8?B?b1d0Um5NTEo0OWNJZytYc2FtU3BlMFU2V1hWQWhJR1JYaGlvck8waEZEcTg0?= =?utf-8?B?RllESDlvYk0wT2hIeFBuV0JGb0l3VVpVb1FjODZhQnNiWlljcWg2RlBPbklL?= =?utf-8?B?REx6ZzlHNGh0MCt2L2hndDV6U1lTeXltWWsxaE5RT2RUaGE1Z0E5TlNPc1dY?= =?utf-8?B?anhySWNDSTBMVjBneVRseTkzSXR0V1pDVjUyeTlzdnRSdlJIcGZzRnNaeFpS?= =?utf-8?B?ZVRmTjkrck52VlNsZTZsRXJSdFk0dGpScjkrQmxHdnlKWnhDMVVndXhpd1hC?= =?utf-8?B?NWl0NTFDWVgySWFwNXhtZjhUUEY5ZFlhdWpsUmp6VXNvdXNydHdPTXhlK1F2?= =?utf-8?B?TnBPMGlpdnFIbnE4dnpJYjhETkV1MElFRENPamEzL2t1c3JaWFNHdVVHMVlX?= =?utf-8?B?Ukx0K2thSjlvRXZnaWY5UzJNVXdkYnlPelQxRFpxVXQ0MG0wZHlsbldtNDZo?= =?utf-8?B?RGFKQUNDODFIL3hERUxUKzl1b1czV1RQaHJqWmxyb1JQUXBzYnA5SWdlaEww?= =?utf-8?B?d3J3NVRLdVdYR3pEM2NxNW5iZ1BQejIrNnNIVWxmeFNuVmNmTHR6em8xazcv?= =?utf-8?B?QU5XWktpclp5TnBkV0c3R2V4TUYvUEpyd2RrTjU3eFZISVJkeUcwRFIyYWlH?= =?utf-8?B?Y2k3bHh0Qm1QanNGQXRmakFicTVtR05SL2d2cnhPeWVvdXRaV01WWWFXTDMw?= =?utf-8?B?aElVdGpRMnd1ZmlXS3NwLzNsblFHTThZdldvU0VKTDlSekdONWdINWtrWGVp?= =?utf-8?B?UElONlgzMkc0YXhWTnNVQ3pwODFoSE96dk9DbTFuZThFNWM1eVcxeXMyajBU?= =?utf-8?B?T0FxWjhPVStOSlEyRVFkdm1LakFnTktQVVFPNG13S0xpeEVlZXcrRnBPRGtZ?= =?utf-8?B?c2c9PQ==?= 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: afcd8bef-ad37-42a3-580e-08db0faa25be X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Feb 2023 23:12:45.4988 (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: vSVEuXtw3C9d/TaYiiYeWx99qMgRQSDN4Fu5aliSlrWCFa17PCWDcX6Rm/e7hXzu/Vn5SMhoSiHz6wiPCAab3HkA2Mbr3eLPJ1bGEoAkOnQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4861 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 SGkgUmF5LA0KDQpSaWdodCBub3cgd2Ugd2FudCB0aGUgY29tbWl0IGluIGJvdGggcGxhY2VzLg0K DQpUaGUgcHJpb3JpdHkgaXMgZWRrMi1iYXNldG9vbHMgZmlyc3QuICBJdCBoYXMgbW9yZSBDSSBj aGVja3MgdGhhbiBlZGsyIHJlcG8gZm9yIHRvb2xzIGFuZA0KcGFja2FnZXMgdXAgYXMgYSBwaXAg bW9kdWxlLg0KDQpBcyBzb29uIGFzIGVkazItYmFzZXRvb2xzIGNoYW5nZSBpcyBtZXJnZWQsIHRo ZSBlZGsyIHJlcG8gY2hhbmdlIGNhbiBiZSBzdWJtaXR0ZWQgYW5kDQptZXJnZWQgYmVjYXVzZSB0 aGUgcmV2aWV3cyBoYXZlIGFscmVhZHkgYmVlbiBjb21wbGV0ZWQgYnkgdGhlIEJhc2VUb29scyBt YWludGFpbmVycy4NCg0KV2UgZG8gbm90IGxpa2UgY29tbWl0IGluIDIgcGxhY2VzLiAgQXMgc29v biBhcyBwb3NzaWJsZSwgd2Ugd291bGQgbGlrZSB0byBzZWUgdGhlDQpweXRob24gc291cmNlcyBy ZW1vdmVkIGZyb20gZWRrMi9CYXNlVG9vbHMgYW5kIGFsbCBkZXZzL0NJIG9ubHkgdXNlIGVkazIt YmFzZXRvb2xzDQpmb3IgcHl0aG9uIGJhc2VkIHRvb2xzLg0KDQpNaWtlDQoNCj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4g U2VudDogV2VkbmVzZGF5LCBGZWJydWFyeSAxNSwgMjAyMyAxMjoxNyBBTQ0KPiBUbzogZGV2ZWxA ZWRrMi5ncm91cHMuaW87IENoZW4sIENocmlzdGluZSA8eXV3ZWkuY2hlbkBpbnRlbC5jb20+OyBL aW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBQYWxvbWlubyBT b3NhLA0KPiBHdWlsbGVybW8gQSA8Z3VpbGxlcm1vLmEucGFsb21pbm8uc29zYUBpbnRlbC5jb20+ DQo+IENjOiBGZW5nLCBCb2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBHYW8sIExpbWluZyA8 Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdW1BB VENIIFYxIDEvMV0gQmFzZVRvb2xzOiBHZW5lcmF0ZSBjb21waWxlIGluZm9ybWF0aW9uIGluIGJ1 aWxkIHJlcG9ydA0KPiANCj4gQ2hyaXN0aW5lLA0KPiBJZiBCYXNlVG9vbHMgcmVsYXRlZCBjaGFu Z2VzIGlzIGltcGxlbWVudGVkIGluIGVkazItYmFzZXRvb2xzIHJlcG8sDQo+IGRvZXMgdGhhdCBt ZWFuIGlmIEkgb25seSBjaGVja291dCBlZGsyIHJlcG8sIEkgYW0gdXNpbmcgYW4gb2xkZXIgdmVy c2lvbiBvZiBCYXNlVG9vbHM/DQo+IA0KPiBUaGFua3MsDQo+IFJheQ0KPiANCj4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZl bEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIFl1d2VpDQo+ID4gQ2hlbg0KPiA+IFNlbnQ6 IFdlZG5lc2RheSwgRmVicnVhcnkgMTUsIDIwMjMgMTozOCBQTQ0KPiA+IFRvOiBLaW5uZXksIE1p Y2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5p bzsNCj4gPiBQYWxvbWlubyBTb3NhLCBHdWlsbGVybW8gQSA8Z3VpbGxlcm1vLmEucGFsb21pbm8u c29zYUBpbnRlbC5jb20+DQo+ID4gQ2M6IEZlbmcsIEJvYiBDIDxib2IuYy5mZW5nQGludGVsLmNv bT47IEdhbywgTGltaW5nDQo+ID4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPiBTdWJq ZWN0OiBSZTogW2VkazItZGV2ZWxdW1BBVENIIFYxIDEvMV0gQmFzZVRvb2xzOiBHZW5lcmF0ZSBj b21waWxlDQo+ID4gaW5mb3JtYXRpb24gaW4gYnVpbGQgcmVwb3J0DQo+ID4NCj4gPiBIaSBNaWtl LCB0aGFua3MgZm9yIHJlbWluZGVyLg0KPiA+DQo+ID4gSGkgV2lsbHksIGN1cnJlbnRseSwgQmFz ZVRvb2xzIHJlbGF0ZWQgY2hhbmdlcyB3aWxsIGJlIGltcGxlbWVudGVkIG9uIHRoZQ0KPiA+IGVk azItYmFzZXRvb2xzIHJlcG8uIFBsZWFzZSBzZW5kIHRoZSBwYXRjaCBiYXNlZCBvbiB0aGUgZWRr Mi1iYXNldG9vbHMNCj4gPiByZXBvfg0KPiA+DQo+ID4gVGhhbmtzLA0KPiA+IENocmlzdGluZQ0K PiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogS2lubmV5 LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gU2VudDogV2Vk bmVzZGF5LCBGZWJydWFyeSAxNSwgMjAyMyAxMTo0MyBBTQ0KPiA+ID4gVG86IGRldmVsQGVkazIu Z3JvdXBzLmlvOyBDaGVuLCBDaHJpc3RpbmUgPHl1d2VpLmNoZW5AaW50ZWwuY29tPjsNCj4gPiA+ IFBhbG9taW5vIFNvc2EsIEd1aWxsZXJtbyBBIDxndWlsbGVybW8uYS5wYWxvbWluby5zb3NhQGlu dGVsLmNvbT4NCj4gPiA+IENjOiBGZW5nLCBCb2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBH YW8sIExpbWluZw0KPiA+ID4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IEtpbm5leSwgTWlj aGFlbCBEDQo+ID4gPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiBTdWJqZWN0 OiBSRTogW2VkazItZGV2ZWxdW1BBVENIIFYxIDEvMV0gQmFzZVRvb2xzOiBHZW5lcmF0ZSBjb21w aWxlDQo+ID4gPiBpbmZvcm1hdGlvbiBpbiBidWlsZCByZXBvcnQNCj4gPiA+DQo+ID4gPiBIYXMg dGhpcyBiZWVuIHJldmlld2VkIGZvciBlZGsyLWJhc2V0b29scyByZXBvPw0KPiA+ID4NCj4gPiA+ IE1pa2UNCj4gPiA+DQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVo YWxmIE9mDQo+ID4gWXV3ZWkNCj4gPiA+ID4gQ2hlbg0KPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBG ZWJydWFyeSAxNCwgMjAyMyA2OjQ0IFBNDQo+ID4gPiA+IFRvOiBQYWxvbWlubyBTb3NhLCBHdWls bGVybW8gQSA8Z3VpbGxlcm1vLmEucGFsb21pbm8uc29zYUBpbnRlbC5jb20+Ow0KPiA+ID4gPiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gPiBDYzogRmVuZywgQm9iIEMgPGJvYi5jLmZlbmdA aW50ZWwuY29tPjsgR2FvLCBMaW1pbmcNCj4gPiA+ID4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5j bj4NCj4gPiA+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXVtQQVRDSCBWMSAxLzFdIEJhc2VU b29sczogR2VuZXJhdGUgY29tcGlsZQ0KPiA+ID4gPiBpbmZvcm1hdGlvbiBpbiBidWlsZCByZXBv cnQNCj4gPiA+ID4NCj4gPiA+ID4gUmV2aWV3ZWQtYnk6IFl1d2VpIENoZW4gPHl1d2VpLmNoZW5A aW50ZWwuY29tPg0KPiA+ID4gPg0KPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4gPiA+ID4gRnJvbTogUGFsb21pbm8gU29zYSwgR3VpbGxlcm1vIEENCj4gPiA+ID4gPiA8 Z3VpbGxlcm1vLmEucGFsb21pbm8uc29zYUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gU2VudDogVHVl c2RheSwgRmVicnVhcnkgNywgMjAyMyAxMTowNyBBTQ0KPiA+ID4gPiA+IFRvOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbw0KPiA+ID4gPiA+IENjOiBGZW5nLCBCb2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5j b20+OyBHYW8sIExpbWluZw0KPiA+ID4gPiA+IDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBD aGVuLCBDaHJpc3RpbmUgPHl1d2VpLmNoZW5AaW50ZWwuY29tPg0KPiA+ID4gPiA+IFN1YmplY3Q6 IFtlZGsyLWRldmVsXVtQQVRDSCBWMSAxLzFdIEJhc2VUb29sczogR2VuZXJhdGUgY29tcGlsZQ0K PiA+ID4gPiA+IGluZm9ybWF0aW9uIGluIGJ1aWxkIHJlcG9ydA0KPiA+ID4gPiA+DQo+ID4gPiA+ ID4gUkVGOmh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg1 MA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQWRkICItWSBSRVBPUlRfSU5GTyIgb3B0aW9uIHRvIGJ1 aWxkIGNvbW1hbmQgdG8gZ2VuZXJhdGUgY29tcGlsZQ0KPiA+ID4gPiA+IGluZm9ybWF0aW9uIGFz IHBhcnQgb2YgQnVpbGRSZXBvcnQuDQo+ID4gPiA+ID4gVGhpcyBvcHRpb24gZ2VuZXJhdGVzIGZp bGVzIHRvIGJlIHVzZWQgYnkgZXh0ZXJuYWwgdG9vbHMgYXMgSURFJ3MgdG8NCj4gPiA+ID4gPiBl bmhhbmNlIGZ1bmN0aW9uYWxpdHkuDQo+ID4gPiA+ID4gRmlsZXMgYXJlIGNyZWF0ZWQgaW5zaWRl IGJ1aWxkIGZvbGRlcjoNCj4gPiA+ID4gPiA8QnVpbGQ+LzxCdWlsZFRhcmdldD4vPFRvb2xDaGFp bj4vQ29tcGlsZUluZm8NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEZpbGVzIGNyZWF0ZWQ6DQo+ID4g PiA+ID4gKiBjb21waWxlX2NvbW1hbmRzLmpzb24gLSBDb21waWxhdGlvbiBEYXRhYmFzZS4gVG8g YmUgdXNlZCBieSBJREUncw0KPiA+ID4gPiA+ICAgdG8gZW5hYmxlIGFkdmFuY2UgZmVhdHVyZXMN Cj4gPiA+ID4gPiAqIGNzY29wZS5maWxlcyAtIExpc3Qgb2YgZmlsZXMgdXNlZCBpbiBjb21waWxh dGlvbi4gVXNlZCBieSBDc2NvcGUgdG8gcGFyc2UNCj4gPiA+ID4gPiAgIEMgY29kZSBhbmQgcHJv dmlkZSBicm93c2UgZnVuY3Rpb25hbGl0eS4NCj4gPiA+ID4gPiAqIG1vZHVsZV9yZXBvcnQuanNv biAtIE1vZHVsZSBkYXRhIGZvcm0gYnVpbGRSZXBvcnQgaW4gSnNvbiBmb3JtYXQuDQo+ID4gPiA+ ID4NCj4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBHdWlsbGVybW8gQW50b25pbyBQYWxvbWlubyBT b3NhDQo+ID4gPiA+ID4gPGd1aWxsZXJtby5hLnBhbG9taW5vLnNvc2FAaW50ZWwuY29tPg0KPiA+ ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ICBCYXNlVG9vbHMvU291cmNlL1B5dGhvbi9idWlsZC9CdWls ZFJlcG9ydC5weSAgfCAxMzkNCj4gPiA+ID4gPiArKysrKysrKysrKysrKysrKysrLQ0KPiA+ID4g PiA+ICBCYXNlVG9vbHMvU291cmNlL1B5dGhvbi9idWlsZC9idWlsZG9wdGlvbnMucHkgfCAgIDQg Ky0NCj4gPiA+ID4gPiAgMiBmaWxlcyBjaGFuZ2VkLCAxNDAgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9CYXNlVG9vbHMvU291 cmNlL1B5dGhvbi9idWlsZC9CdWlsZFJlcG9ydC5weQ0KPiA+ID4gPiA+IGIvQmFzZVRvb2xzL1Nv dXJjZS9QeXRob24vYnVpbGQvQnVpbGRSZXBvcnQucHkNCj4gPiA+ID4gPiBpbmRleCA0Njg3NzI5 MzBjLi4zM2I0M2Q0NzFmIDEwMDY0NA0KPiA+ID4gPiA+IC0tLSBhL0Jhc2VUb29scy9Tb3VyY2Uv UHl0aG9uL2J1aWxkL0J1aWxkUmVwb3J0LnB5DQo+ID4gPiA+ID4gKysrIGIvQmFzZVRvb2xzL1Nv dXJjZS9QeXRob24vYnVpbGQvQnVpbGRSZXBvcnQucHkNCj4gPiA+ID4gPiBAQCAtMTAsNiArMTAs OCBAQA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gICMjIEltcG9ydCBNb2R1bGVzDQo+ID4gPiA+ID4g ICMNCj4gPiA+ID4gPiAraW1wb3J0IGpzb24NCj4gPiA+ID4gPiArZnJvbSBwYXRobGliIGltcG9y dCBQYXRoDQo+ID4gPiA+ID4gIGltcG9ydCBDb21tb24uTG9uZ0ZpbGVQYXRoT3MgYXMgb3MNCj4g PiA+ID4gPiAgaW1wb3J0IHJlDQo+ID4gPiA+ID4gIGltcG9ydCBwbGF0Zm9ybQ0KPiA+ID4gPiA+ IEBAIC00MSw2ICs0Myw3IEBAIGZyb20gQ29tbW9uLkRhdGFUeXBlIGltcG9ydCAqICBpbXBvcnQN Cj4gPiA+IGNvbGxlY3Rpb25zDQo+ID4gPiA+ID4gZnJvbSBDb21tb24uRXhwcmVzc2lvbiBpbXBv cnQgKiAgZnJvbSBHZW5GZHMuQXByaW9yaVNlY3Rpb24gaW1wb3J0DQo+ID4gPiA+ID4gRFhFX0FQ UklPUklfR1VJRCwgUEVJX0FQUklPUklfR1VJRA0KPiA+ID4gPiA+ICtmcm9tIEF1dG9HZW4uSW5j bHVkZXNBdXRvR2VuIGltcG9ydCBJbmNsdWRlc0F1dG9HZW4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ ICAjIyBQYXR0ZXJuIHRvIGV4dHJhY3QgY29udGVudHMgaW4gRURLIERYUyBmaWxlcw0KPiA+ID4g PiA+IGdEeHNEZXBlbmRlbmN5UGF0dGVybiA9DQo+ID4gPiA+ID4gcmUuY29tcGlsZShyIkRFUEVO REVOQ1lfU1RBUlQoLispREVQRU5ERU5DWV9FTkQiLCByZS5ET1RBTEwpDQo+ID4gPiBAQCAtDQo+ ID4gPiA+ID4gMjI5OCw2ICsyMzAxLDEwIEBAIGNsYXNzIEJ1aWxkUmVwb3J0KG9iamVjdCk6DQo+ ID4gPiA+ID4gICAgICBkZWYgR2VuZXJhdGVSZXBvcnQoc2VsZiwgQnVpbGREdXJhdGlvbiwgQXV0 b0dlblRpbWUsIE1ha2VUaW1lLA0KPiA+ID4gPiA+IEdlbkZkc1RpbWUpOg0KPiA+ID4gPiA+ICAg ICAgICAgIGlmIHNlbGYuUmVwb3J0RmlsZToNCj4gPiA+ID4gPiAgICAgICAgICAgICAgdHJ5Og0K PiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgIGlmICJDT01QSUxFX0lORk8i IGluIHNlbGYuUmVwb3J0VHlwZToNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICBzZWxm LkdlbmVyYXRlQ29tcGlsZUluZm8oKQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiAgICAgICAgICAg ICAgICAgIEZpbGUgPSBbXQ0KPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgZm9yIChXYSwgTWFM aXN0KSBpbiBzZWxmLlJlcG9ydExpc3Q6DQo+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAg UGxhdGZvcm1SZXBvcnQoV2EsIE1hTGlzdCwNCj4gPiA+ID4gPiBzZWxmLlJlcG9ydFR5cGUpLkdl bmVyYXRlUmVwb3J0KEZpbGUsIEJ1aWxkRHVyYXRpb24sIEF1dG9HZW5UaW1lLA0KPiA+ID4gPiA+ IE1ha2VUaW1lLCBHZW5GZHNUaW1lLCBzZWxmLlJlcG9ydFR5cGUpIEBAIC0yMzEwLDcgKzIzMTcs MTM3IEBADQo+ID4gPiBjbGFzcw0KPiA+ID4gPiA+IEJ1aWxkUmVwb3J0KG9iamVjdCk6DQo+ID4g PiA+ID4gICAgICAgICAgICAgICAgICBFZGtMb2dnZXIuZXJyb3IoIkJ1aWxkUmVwb3J0IiwgQ09E RV9FUlJPUiwgIlVua25vd24NCj4gPiA+ID4gPiBmYXRhbCBlcnJvciB3aGVuIGdlbmVyYXRpbmcg YnVpbGQgcmVwb3J0IiwNCj4gPiA+ID4gPiBFeHRyYURhdGE9c2VsZi5SZXBvcnRGaWxlLA0KPiA+ ID4gPiA+IFJhaXNlRXJyb3I9RmFsc2UpDQo+ID4gPiA+ID4gICAgICAgICAgICAgICAgICBFZGtM b2dnZXIucXVpZXQoIihQeXRob24gJXMgb24gJXNcbiVzKSIgJQ0KPiA+ID4gPiA+IChwbGF0Zm9y bS5weXRob25fdmVyc2lvbigpLCBzeXMucGxhdGZvcm0sIHRyYWNlYmFjay5mb3JtYXRfZXhjKCkp KQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgIyMNCj4gPiA+ID4gPiAr ICAgICMgR2VuZXJhdGVzIGNvbXBpbGUgZGF0YSBmaWxlcyB0byBiZSB1c2VkIGJ5IGV4dGVybmFs IHRvb2xzLg0KPiA+ID4gPiA+ICsgICAgIyBDb21waWxlIGluZm9ybWF0aW9uIHdpbGwgYmUgZ2Vu ZXJhdGVkIGluDQo+ID4gPiA+ID4gPEJ1aWxkPi88QnVpbGRUYXJnZXQ+LzxUb29sQ2hhaW4+L0Nv bXBpbGVJbmZvDQo+ID4gPiA+ID4gKyAgICAjIEZpbGVzIGdlbmVyYXRlZDogY29tcGlsZV9jb21t YW5kcy5qc29uLCBjc2NvcGUuZmlsZXMsDQo+ID4gPiA+ID4gbW9kdWxlc19yZXBvcnQuanNvbg0K PiA+ID4gPiA+ICsgICAgIw0KPiA+ID4gPiA+ICsgICAgIyBAcGFyYW0gc2VsZiAgICAgICAgICAg IFRoZSBvYmplY3QgcG9pbnRlcg0KPiA+ID4gPiA+ICsgICAgIw0KPiA+ID4gPiA+ICsgICAgZGVm IEdlbmVyYXRlQ29tcGlsZUluZm8oc2VsZik6DQo+ID4gPiA+ID4gKyAgICAgICAgdHJ5Og0KPiA+ ID4gPiA+ICsgICAgICAgICAgICAjIExpc3RzIGZvciB0aGUgb3V0cHV0IGVsZW1lbnRzDQo+ID4g PiA+ID4gKyAgICAgICAgICAgIGNvbXBpbGVfY29tbWFuZHMgPSBbXQ0KPiA+ID4gPiA+ICsgICAg ICAgICAgICB1c2VkX2ZpbGVzID0gc2V0KCkNCj4gPiA+ID4gPiArICAgICAgICAgICAgbW9kdWxl X3JlcG9ydCA9IFtdDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgICAgICAgICBmb3IgKFdh LCBNYUxpc3QpIGluIHNlbGYuUmVwb3J0TGlzdDoNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAg ICMgT2J0YWluIGxpc3Qgb2YgYWxsIHByb2Nlc3NlZCBXb3Jrc3BhY2UgZmlsZXMNCj4gPiA+ID4g PiArICAgICAgICAgICAgICAgIGZvciBmaWxlX3BhdGggaW4gV2EuX0dldE1ldGFGaWxlcyhXYS5C dWlsZFRhcmdldCwNCj4gPiA+IFdhLlRvb2xDaGFpbik6DQo+ID4gPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgdXNlZF9maWxlcy5hZGQoZmlsZV9wYXRoKQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4g PiArICAgICAgICAgICAgICAgIGZvciBhdXRvR2VuIGluIFdhLkF1dG9HZW5PYmplY3RMaXN0Og0K PiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAjIExvb3AgdGhyb3Vn aCBhbGwgbW9kdWxlcw0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgIGZvciBtb2R1bGUg aW4gKGF1dG9HZW4uTGlicmFyeUF1dG9HZW5MaXN0ICsNCj4gPiA+ID4gPiBhdXRvR2VuLk1vZHVs ZUF1dG9HZW5MaXN0KToNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgIHVzZWRfZmlsZXMuYWRkKG1vZHVsZS5NZXRhRmlsZS5QYXRoKQ0KPiA+ID4gPiA+ICsN Cj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgIyBNYWluIGVsZW1lbnRzIG9mIG1v ZHVsZSByZXBvcnQNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX3Jl cG9ydF9kYXRhID0ge30NCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxl X3JlcG9ydF9kYXRhWyJOYW1lIl0gPSBtb2R1bGUuTmFtZQ0KPiA+ID4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIkFyY2giXSA9IG1vZHVsZS5BcmNoDQo+ ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9yZXBvcnRfZGF0YVsiUGF0 aCJdID0gbW9kdWxlLk1ldGFGaWxlLlBhdGgNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgbW9kdWxlX3JlcG9ydF9kYXRhWyJHdWlkIl0gPSBtb2R1bGUuR3VpZA0KPiA+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIkJ1aWxkVHlwZSJd ID0gbW9kdWxlLkJ1aWxkVHlwZQ0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICBt b2R1bGVfcmVwb3J0X2RhdGFbIklzTGlicmFyeSJdID0gbW9kdWxlLklzTGlicmFyeQ0KPiA+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIlNvdXJjZURp ciJdID0gbW9kdWxlLlNvdXJjZURpcg0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICBtb2R1bGVfcmVwb3J0X2RhdGFbIkZpbGVzIl0gPSBbXQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4g PiArICAgICAgICAgICAgICAgICAgICAgICAgIyBGaWxlcyB1c2VkIGJ5IG1vZHVsZQ0KPiA+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZGF0YV9maWxlIGluIG1vZHVsZS5Tb3Vy Y2VGaWxlTGlzdDoNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVs ZV9yZXBvcnRfZGF0YVsiRmlsZXMiXS5hcHBlbmQoeyJOYW1lIjoNCj4gPiA+ID4gPiArIGRhdGFf ZmlsZS5OYW1lLCAiUGF0aCI6IGRhdGFfZmlsZS5QYXRofSkNCj4gPiA+ID4gPiArDQo+ID4gPiA+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICMgTGlicmFyaWVzIHVzZWQgYnkgbW9kdWxlDQo+ ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9yZXBvcnRfZGF0YVsiTGli cmFyaWVzIl0gPSBbXQ0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZGF0 YV9saWJyYXJ5IGluIG1vZHVsZS5MaWJyYXJ5QXV0b0dlbkxpc3Q6DQo+ID4gPiA+ID4gKw0KPiA+ ID4gPiA+ICsgbW9kdWxlX3JlcG9ydF9kYXRhWyJMaWJyYXJpZXMiXS5hcHBlbmQoeyJQYXRoIjoN Cj4gPiA+ID4gPiArIGRhdGFfbGlicmFyeS5NZXRhRmlsZS5QYXRofSkNCj4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICMgUGFja2FnZXMgdXNlZCBieSBtb2R1 bGUNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX3JlcG9ydF9kYXRh WyJQYWNrYWdlcyJdID0gW10NCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgZm9y IGRhdGFfcGFja2FnZSBpbiBtb2R1bGUuUGFja2FnZUxpc3Q6DQo+ID4gPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2RhdGFbIlBhY2thZ2VzIl0uYXBwZW5k KHsiUGF0aCI6DQo+ID4gPiA+ID4gZGF0YV9wYWNrYWdlLk1ldGFGaWxlLlBhdGgsICJJbmNsdWRl cyI6IFtdfSkNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgSW5jbHVk ZXMgcGF0aCB1c2VkIGluIHBhY2thZ2UNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZvciBkYXRhX3BhY2thZ2VfaW5jbHVkZSBpbiBkYXRhX3BhY2thZ2UuSW5jbHVkZXM6 DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgbW9kdWxlX3JlcG9ydF9kYXRhWyJQYWNrYWdlcyJd Wy0NCj4gPiA+ID4gPiAxXVsiSW5jbHVkZXMiXS5hcHBlbmQoZGF0YV9wYWNrYWdlX2luYw0KPiA+ ID4gPiA+ICsgbHVkZS5QYXRoKQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgIyBQUEkncyBpbiBtb2R1bGUNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgbW9kdWxlX3JlcG9ydF9kYXRhWyJQUEkiXSA9IFtdDQo+ID4gPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgIGZvciBkYXRhX3BwaSBpbiBtb2R1bGUuUHBpTGlzdC5rZXlzKCk6 DQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfcmVwb3J0X2Rh dGFbIlBQSSJdLmFwcGVuZCh7Ik5hbWUiOg0KPiA+ID4gPiA+ICsgZGF0YV9wcGksICJHdWlkIjog bW9kdWxlLlBwaUxpc3RbZGF0YV9wcGldfSkNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICMgUHJvdG9jb2wncyBpbiBtb2R1bGUNCj4gPiA+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX3JlcG9ydF9kYXRhWyJQcm90b2NvbCJdID0gW10N Cj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGRhdGFfcHJvdG9jb2wgaW4g bW9kdWxlLlByb3RvY29sTGlzdC5rZXlzKCk6DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgbW9k dWxlX3JlcG9ydF9kYXRhWyJQcm90b2NvbCJdLmFwcGVuZCh7Ik5hbWUiOiBkYXRhX3Byb3RvY29s LA0KPiA+ID4gIkd1aWQiOg0KPiA+ID4gPiA+ICsgbW9kdWxlLlByb3RvY29sTGlzdFtkYXRhX3By b3RvY29sXX0pDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAjIFBDRCdzIGluIG1vZHVsZQ0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICBt b2R1bGVfcmVwb3J0X2RhdGFbIlBjZCJdID0gW10NCj4gPiA+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgZm9yIGRhdGFfcGNkIGluIG1vZHVsZS5MaWJyYXJ5UGNkTGlzdDoNCj4gPiA+ID4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9yZXBvcnRfZGF0YVsiUGNkIl0u YXBwZW5kKHsiU3BhY2UiOg0KPiA+ID4gPiA+IGRhdGFfcGNkLlRva2VuU3BhY2VHdWlkQ05hbWUs DQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIk5hbWUiOiBkYXRhX3BjZC5Ub2tlbkNOYW1lLA0KPiA+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJWYWx1ZSI6IGRhdGFfcGNkLlRva2VuVmFsdWUsDQo+ID4gPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkd1 aWQiOg0KPiA+ID4gZGF0YV9wY2QuVG9rZW5TcGFjZUd1aWRWYWx1ZSwNCj4gPiA+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiRGF0dW1UeXBlIjogZGF0YV9wY2QuRGF0dW1UeXBlLA0KPiA+ID4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUeXBl IjogZGF0YV9wY2QuVHlwZSwNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGVmYXVsdFZhbHVlIjoNCj4gPiA+ IGRhdGFfcGNkLkRlZmF1bHRWYWx1ZX0pDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICMgQWRkIG1vZHVsZSB0byByZXBvcnQNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgbW9kdWxlX3JlcG9ydC5hcHBlbmQobW9kdWxlX3JlcG9ydF9kYXRhKQ0KPiA+ID4gPiA+ ICsNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgIyBJbmNsdWRlIGZpbGUgZGVw ZW5kZW5jaWVzIHRvIHVzZWQgZmlsZXMNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgaW5jbHVkZXNfYXV0b2dlbiA9DQo+ID4gPiA+ID4gKyBJbmNsdWRlc0F1dG9HZW4obW9kdWxl Lk1ha2VGaWxlRGlyLA0KPiA+ID4gPiA+IG1vZHVsZSkNCj4gPiA+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgZm9yIGRlcCBpbiBpbmNsdWRlc19hdXRvZ2VuLkRlcHNDb2xsZWN0aW9uOg0K PiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZF9maWxlcy5hZGQoZGVw KQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgaW5jX2Zs YWcgPSAiLUkiICMgRGVmYXVsdCBpbmNsdWRlIGZsYWcNCj4gPiA+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgaWYgbW9kdWxlLkJ1aWxkUnVsZUZhbWlseSA9PSBUQUJfQ09NUElMRVJfTVNG VDoNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY19mbGFnID0gIi9J Ig0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHNv dXJjZSBpbiBtb2R1bGUuU291cmNlRmlsZUxpc3Q6DQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1c2VkX2ZpbGVzLmFkZChzb3VyY2UuUGF0aCkNCj4gPiA+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVfY29tbWFuZCA9IHt9DQo+ID4gPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBzb3VyY2UuRXh0IGluIFsiLmMiLCAiLmNj IiwgIi5jcHAiXToNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj DQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBHZW5lcmF0ZSBj b21waWxlIGNvbW1hbmQgZm9yIGVhY2ggYyBmaWxlDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIw0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbXBpbGVfY29tbWFuZFsiZmlsZSJdID0gc291cmNlLlBhdGgNCj4gPiA+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxlX2NvbW1hbmRbImRpcmVjdG9y eSJdID0gc291cmNlLkRpcg0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJ1aWxkX2NvbW1hbmQgPQ0KPiA+ID4gPiA+IG1vZHVsZS5CdWlsZFJ1bGVzW3NvdXJjZS5F eHRdLkNvbW1hbmRMaXN0WzBdDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYnVpbGRfY29tbWFuZF92YXJpYWJsZXMgPQ0KPiA+ID4gPiA+ICsgcmUuZmluZGFsbChy IlwkXCgoLio/KVwpIiwNCj4gPiA+ID4gPiBidWlsZF9jb21tYW5kKQ0KPiA+ID4gPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB2YXIgaW4gYnVpbGRfY29tbWFuZF92YXJp YWJsZXM6DQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZh cl90b2tlbnMgPSB2YXIuc3BsaXQoIl8iKQ0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB2YXJfbWFpbiA9IHZhcl90b2tlbnNbMF0NCj4gPiA+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbGVuKHZhcl90b2tlbnMpID09IDE6 DQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJf dmFsdWUgPQ0KPiA+ID4gbW9kdWxlLkJ1aWxkT3B0aW9uW3Zhcl9tYWluXVsiUEFUSCJdDQo+ID4g PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6DQo+ID4gPiA+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJfdmFsdWUgPQ0K PiA+ID4gPiA+IG1vZHVsZS5CdWlsZE9wdGlvblt2YXJfbWFpbl1bdmFyX3Rva2Vuc1sxXV0NCj4g PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfY29tbWFu ZCA9DQo+ID4gPiA+ID4gKyBidWlsZF9jb21tYW5kLnJlcGxhY2UoZiIkKHt2YXJ9KSIsDQo+ID4g PiA+ID4gdmFyX3ZhbHVlKQ0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbmNsdWRlX2ZpbGVzID0gZiINCj4gPiA+IHtpbmNfZmxhZ30iLmpvaW4obW9kdWxl LkluY2x1ZGVQYXRoTGlzdCkNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYnVpbGRfY29tbWFuZCA9DQo+ID4gPiA+ID4gKyBidWlsZF9jb21tYW5kLnJlcGxh Y2UoIiR7c3JjfSIsDQo+ID4gPiA+ID4gaW5jbHVkZV9maWxlcykNCj4gPiA+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfY29tbWFuZCA9DQo+ID4gPiA+ID4g KyBidWlsZF9jb21tYW5kLnJlcGxhY2UoIiR7ZHN0fSIsIG1vZHVsZS5PdXRwdXREaXIpDQo+ID4g PiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgUmVt b3ZlIHVuIGRlZmluZWQgbWFjcm9zDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29tcGlsZV9jb21tYW5kWyJjb21tYW5kIl0gPQ0KPiA+ID4gPiA+ICsgcmUuc3Vi KHIiXCRcKC4qP1wpIiwgIiIsDQo+ID4gPiA+ID4gYnVpbGRfY29tbWFuZCkNCj4gPiA+ID4gPiAr DQo+ID4gPiA+ID4gKyBjb21waWxlX2NvbW1hbmRzLmFwcGVuZChjb21waWxlX2NvbW1hbmQpDQo+ ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgIyBDcmVhdGUgb3V0cHV0IGZv bGRlciBpZiBkb2Vzbid0IGV4aXN0DQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICBjb21waWxl X2luZm9fZm9sZGVyID0NCj4gPiA+IFBhdGgoV2EuQnVpbGREaXIpLmpvaW5wYXRoKCJDb21waWxl SW5mbyIpDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICBjb21waWxlX2luZm9fZm9sZGVyLm1r ZGlyKGV4aXN0X29rPVRydWUpDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgICAgICAgICAg ICAgIyBTb3J0IGFuZCBzYXZlIGZpbGVzDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICBjb21w aWxlX2NvbW1hbmRzLnNvcnQoa2V5PWxhbWJkYSB4OiB4WyJmaWxlIl0pDQo+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ICsNCj4gPiA+ID4gPg0KPiA+ID4NCj4gPiBTYXZlRmlsZU9uQ2hhbmdlKGNvbXBp bGVfaW5mb19mb2xkZXIuam9pbnBhdGgoZiJjb21waWxlX2NvbW1hbmRzLmpzb24NCj4gPiAiDQo+ ID4gPiA+ID4gKyApLGpzb24uZHVtcHMoY29tcGlsZV9jb21tYW5kcywgaW5kZW50PTIpLCBGYWxz ZSkNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgU2F2ZUZpbGVPbkNoYW5n ZShjb21waWxlX2luZm9fZm9sZGVyLmpvaW5wYXRoKGYiY3Njb3BlLmZpbGVzIiksDQo+ID4gPiA+ ID4gKyAiXG4iLmpvaW4oc29ydGVkKHVzZWRfZmlsZXMpKSwgRmFsc2UpDQo+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgbW9kdWxlX3JlcG9ydC5zb3J0KGtleT1sYW1iZGEg eDogeFsiUGF0aCJdKQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArDQo+ID4gU2F2ZUZpbGVPbkNo YW5nZShjb21waWxlX2luZm9fZm9sZGVyLmpvaW5wYXRoKGYibW9kdWxlX3JlcG9ydC5qc29uDQo+ ID4gPiA+ID4gKyAiKSwganNvbi5kdW1wcyhtb2R1bGVfcmVwb3J0LCBpbmRlbnQ9MiksIEZhbHNl KQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICAgICAgICBleGNlcHQ6DQo+ID4gPiA+ID4gKyAg ICAgICAgICAgIEVka0xvZ2dlci5lcnJvcigiQnVpbGRSZXBvcnQiLCBDT0RFX0VSUk9SLCAiVW5r bm93bg0KPiA+ID4gPiA+ICsgZmF0YWwgZXJyb3INCj4gPiA+ID4gPiB3aGVuIGdlbmVyYXRpbmcg YnVpbGQgcmVwb3J0IGNvbXBpbGUgaW5mb3JtYXRpb24iLA0KPiA+ID4gPiA+IEV4dHJhRGF0YT1z ZWxmLlJlcG9ydEZpbGUsIFJhaXNlRXJyb3I9RmFsc2UpDQo+ID4gPiA+ID4gKyAgICAgICAgICAg IEVka0xvZ2dlci5xdWlldCgiKFB5dGhvbiAlcyBvbiAlc1xuJXMpIiAlDQo+ID4gPiA+ID4gKyAo cGxhdGZvcm0ucHl0aG9uX3ZlcnNpb24oKSwgc3lzLnBsYXRmb3JtLCB0cmFjZWJhY2suZm9ybWF0 X2V4YygpKSkNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gICMgVGhpcyBhY3RzIGxpa2UgdGhlIG1h aW4oKSBmdW5jdGlvbiBmb3IgdGhlIHNjcmlwdCwgdW5sZXNzIGl0IGlzDQo+ID4gPiA+ID4gJ2lt cG9ydCdlZCBpbnRvIGFub3RoZXIgc2NyaXB0Lg0KPiA+ID4gPiA+ICBpZiBfX25hbWVfXyA9PSAn X19tYWluX18nOg0KPiA+ID4gPiA+ICAgICAgcGFzcw0KPiA+ID4gPiA+IC0NCj4gPiA+ID4gPiBk aWZmIC0tZ2l0IGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vYnVpbGQvYnVpbGRvcHRpb25zLnB5 DQo+ID4gPiA+ID4gYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9idWlsZC9idWlsZG9wdGlvbnMu cHkNCj4gPiA+ID4gPiBpbmRleCA4MzM0NjA0YjQ2Li41ZWM1NjFmN2VjIDEwMDY0NA0KPiA+ID4g PiA+IC0tLSBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL2J1aWxkL2J1aWxkb3B0aW9ucy5weQ0K PiA+ID4gPiA+ICsrKyBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL2J1aWxkL2J1aWxkb3B0aW9u cy5weQ0KPiA+ID4gPiA+IEBAIC04NCw4ICs4NCw4IEBAIGNsYXNzIE15T3B0aW9uUGFyc2VyKCk6 DQo+ID4gPiA+ID4gICAgICAgICAgUGFyc2VyLmFkZF9vcHRpb24oIi1EIiwgIi0tZGVmaW5lIiwg YWN0aW9uPSJhcHBlbmQiLA0KPiA+ID4gPiA+IHR5cGU9InN0cmluZyIsIGRlc3Q9Ik1hY3JvcyIs IGhlbHA9Ik1hY3JvOiBcIk5hbWUgWz0gVmFsdWVdXCIuIikNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ ICAgICAgICAgIFBhcnNlci5hZGRfb3B0aW9uKCIteSIsICItLXJlcG9ydC1maWxlIiwgYWN0aW9u PSJzdG9yZSIsDQo+ID4gPiA+ID4gZGVzdD0iUmVwb3J0RmlsZSIsIGhlbHA9IkNyZWF0ZS9vdmVy d3JpdGUgdGhlIHJlcG9ydCB0byB0aGUNCj4gPiA+ID4gPiBzcGVjaWZpZWQNCj4gPiA+ID4gPiBm aWxlbmFtZS4iKQ0KPiA+ID4gPiA+IC0gICAgICAgIFBhcnNlci5hZGRfb3B0aW9uKCItWSIsICIt LXJlcG9ydC10eXBlIiwgYWN0aW9uPSJhcHBlbmQiLA0KPiA+ID4gPiA+IHR5cGU9ImNob2ljZSIs IGNob2ljZXM9WydQQ0QnLCAnTElCUkFSWScsICdGTEFTSCcsICdERVBFWCcsDQo+ID4gPiA+ID4g J0JVSUxEX0ZMQUdTJywgJ0ZJWEVEX0FERFJFU1MnLCAnSEFTSCcsICdFWEVDVVRJT05fT1JERVIn XSwNCj4gPiA+ID4gPiBkZXN0PSJSZXBvcnRUeXBlIiwgZGVmYXVsdD1bXSwNCj4gPiA+ID4gPiAt ICAgICAgICAgICAgaGVscD0iRmxhZ3MgdGhhdCBjb250cm9sIHRoZSB0eXBlIG9mIGJ1aWxkIHJl cG9ydCB0byBnZW5lcmF0ZS4NCj4gPiA+IE11c3QgYmUNCj4gPiA+ID4gPiBvbmUgb2Y6IFtQQ0Qs IExJQlJBUlksIEZMQVNILCBERVBFWCwgQlVJTERfRkxBR1MsIEZJWEVEX0FERFJFU1MsDQo+ID4g PiA+ID4gSEFTSCwgRVhFQ1VUSU9OX09SREVSXS4gICJcDQo+ID4gPiA+ID4gKyAgICAgICAgUGFy c2VyLmFkZF9vcHRpb24oIi1ZIiwgIi0tcmVwb3J0LXR5cGUiLCBhY3Rpb249ImFwcGVuZCIsDQo+ ID4gPiA+ID4gdHlwZT0iY2hvaWNlIiwgY2hvaWNlcz1bJ1BDRCcsICdMSUJSQVJZJywgJ0ZMQVNI JywgJ0RFUEVYJywNCj4gPiA+ID4gPiAnQlVJTERfRkxBR1MnLCAnRklYRURfQUREUkVTUycsICdI QVNIJywgJ0VYRUNVVElPTl9PUkRFUicsDQo+ID4gPiA+ID4gJ0NPTVBJTEVfSU5GTyddLCBkZXN0 PSJSZXBvcnRUeXBlIiwgZGVmYXVsdD1bXSwNCj4gPiA+ID4gPiArICAgICAgICAgICAgaGVscD0i RmxhZ3MgdGhhdCBjb250cm9sIHRoZSB0eXBlIG9mIGJ1aWxkIHJlcG9ydCB0bw0KPiA+ID4gPiA+ ICsgZ2VuZXJhdGUuICBNdXN0IGJlIG9uZSBvZjogW1BDRCwgTElCUkFSWSwgRkxBU0gsIERFUEVY LA0KPiA+ID4gPiA+ICsgQlVJTERfRkxBR1MsIEZJWEVEX0FERFJFU1MsIEhBU0gsIEVYRUNVVElP Tl9PUkRFUiwNCj4gPiA+IENPTVBJTEVfSU5GT10uDQo+ID4gPiA+ID4gKyAiXA0KPiA+ID4gPiA+ ICAgICAgICAgICAgICAgICAgICJUbyBzcGVjaWZ5IG1vcmUgdGhhbiBvbmUgZmxhZywgcmVwZWF0 IHRoaXMgb3B0aW9uDQo+ID4gPiA+ID4gb24gdGhlIGNvbW1hbmQgbGluZSBhbmQgdGhlIGRlZmF1 bHQgZmxhZyBzZXQgaXMgW1BDRCwgTElCUkFSWSwNCj4gPiA+ID4gPiBGTEFTSCwgREVQRVgsIEhB U0gsIEJVSUxEX0ZMQUdTLCBGSVhFRF9BRERSRVNTXSIpDQo+ID4gPiA+ID4gICAgICAgICAgUGFy c2VyLmFkZF9vcHRpb24oIi1GIiwgIi0tZmxhZyIsIGFjdGlvbj0ic3RvcmUiLA0KPiA+ID4gPiA+ IHR5cGU9InN0cmluZyIsIGRlc3Q9IkZsYWciLA0KPiA+ID4gPiA+ICAgICAgICAgICAgICBoZWxw PSJTcGVjaWZ5IHRoZSBzcGVjaWZpYyBvcHRpb24gdG8gcGFyc2UgRURLIFVOSSBmaWxlLiBNdXN0 IGJlDQo+ID4gPiBvbmUgb2Y6DQo+ID4gPiA+ID4gWy1jLCAtc10uIC1jIGlzIGZvciBFREsgZnJh bWV3b3JrIFVOSSBmaWxlLCBhbmQgLXMgaXMgZm9yIEVESyBVRUZJDQo+ID4gPiA+ID4gVU5JIGZp bGUuICJcDQo+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiAyLjI4LjAud2luZG93cy4xDQo+ID4gPiA+ DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4g DQo+ID4NCg0K