From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 4768F3858C5F for ; Sun, 18 Jun 2023 02:13:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4768F3858C5F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687054426; x=1718590426; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=ZskN3o3ErIjrhr2wmQg0QLBdstg/X2JE5yG3DEPi6T8=; b=L469NJPUXHA8w/vrAsOLy1Mj3dbuCTMtioyOm5Y64K/fm34ke22hOBoi 7yqXnRODzjZRvAGcBHBzAybqs3C+2YVNJT23ymBslQFZM4iXvb1z/Z/Um xtox3vjgyqy+8MetMGz6ReMF8IdWkY+x+gaesJcAh/3+U316CAAJWuODB PKw8+AhRCCbmTXtKdhisZ+ysjxTRDGmOfLbYX1CoZa7+FK7+VMgLfLA5o jhbBGIb5ULAS+uTeCPnPyvsMKBaQ4kMNPPkx9PPoMWyd2CvI4EP7bP+Ou JVQ5rqUGq2o/r/8hoaCSpH0b9V36lTuS85h6dy7ZkRhECn3Yn+PONxRA3 A==; X-IronPort-AV: E=McAfee;i="6600,9927,10744"; a="362859635" X-IronPort-AV: E=Sophos;i="6.00,251,1681196400"; d="scan'208,217";a="362859635" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jun 2023 19:13:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10744"; a="857819296" X-IronPort-AV: E=Sophos;i="6.00,251,1681196400"; d="scan'208,217";a="857819296" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga001.fm.intel.com with ESMTP; 17 Jun 2023 19:13:44 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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.2507.23; Sat, 17 Jun 2023 19:13:43 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Sat, 17 Jun 2023 19:13:43 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Sat, 17 Jun 2023 19:13:43 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Sat, 17 Jun 2023 19:13:42 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IrOvzkQVXS5hunORBAXOlWcUt8KkGKHKS0+ypraktSqiOu+af2NAYKV7o1L5jYyyTwE/Z3RxJyGDO8UuiIwwG16198+OcHrt+rgh5EdmG7i3AjWLAM5QI+U4lXU4CP9HOHz4cII1nTygJAyAgUp6JXdeMIQonY80xnByXWQ/fvf8FRym/5CZqtQ+dhbAZ1RmEvI9bGN2k/STGTUQE8OvqYgqxC6Epg4wBPpURVXmgGkMileNSxl4S0diI9V38ror3DW4Hi/ZlR4hutuapvKGKyk5Kq3w+dIX7P7k/8Nndlb5xHZb2VHGUMbdTmNijnAtzzsL/jr3g2vr1+6CABb7FQ== 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=ZskN3o3ErIjrhr2wmQg0QLBdstg/X2JE5yG3DEPi6T8=; b=e9FR8/Q1jeUf9b9GBvmOATMyW2mq3IF0jvBRICsZ/nZEIDUd6gx3V3E/42k8Bb828DGVVCpU2a0+yooV4duu+qaaW7xc+tpudtEE+ADlfrSX6oEHddYyxeu0JXAYx5yYF3rFLJvjgnf/Gg2kcaWblmwAaAJrEgIsf4uSrYngOPePq9KWS/q+YEXS98DIjCKIInaHDtlinw6U797gzuRQTW/8GiKkykPx6YqyBEzplJWm+a8xsy9rac6G5yhfKaXUl8rXOyc1TVQxzAjprs5G7uIn2ZdyCl2ccWFYNsHPM4N0yX/NA3dUGZnsHAu410OxBOvMMFnArsqY24lwX7chMg== 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 MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by SA1PR11MB6872.namprd11.prod.outlook.com (2603:10b6:806:2b2::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.31; Sun, 18 Jun 2023 02:13:38 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::127c:f4cc:e699:8f73]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::127c:f4cc:e699:8f73%6]) with mapi id 15.20.6500.031; Sun, 18 Jun 2023 02:13:38 +0000 From: "Li, Pan2" To: =?utf-8?B?6ZKf5bGF5ZOy?= , gcc-patches CC: rdapp.gcc , Jeff Law , "Wang, Yanzhang" , kito.cheng Subject: RE: [PATCH v1] RISC-V: Bugfix for RVV float reduction in ZVE32/64 Thread-Topic: [PATCH v1] RISC-V: Bugfix for RVV float reduction in ZVE32/64 Thread-Index: AQHZoSdLQ6jbwn7hKEC4GceCVO2h1q+Pn+BcgAAygcA= Date: Sun, 18 Jun 2023 02:13:38 +0000 Message-ID: References: <20230617142325.2939112-1-pan2.li@intel.com> <31E091ABDE3DE62A+2023061807091909028231@rivai.ai> In-Reply-To: <31E091ABDE3DE62A+2023061807091909028231@rivai.ai> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5908:EE_|SA1PR11MB6872:EE_ x-ms-office365-filtering-correlation-id: b409aee6-437b-417e-e858-08db6fa1a0dd x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: kbvYmGFtVru7dieI8Gj07vR/6eKH9t1IR4fCWIwXICy4nGN9AEk0AYz5VK6KvDDAe+/yAS4+aNE0ydq2DpG5cQjU4dqRy6MliicYvzCdX/6BtY3LSz/HO2CVx9EBZl0BNJc3B0K1iNISMrddWc9/QO93b+PW+n1GatUybNCJI/5HrAeC1s8GZ5lJjpXCVAvK7n24NNS9ab4It2GTEtenDJb1/68WpoqnZD4VJPSS4ttcFttvfOHS+D+X1XNvPsFRzIzWQJ+tkxuCpc9TvaljKoE3sinxXOGsQ+CfbVQGN0CW7poIiMyS2n0c1a5vJEYQLFon/0huntKg0o8Mcfyl9N7sx4B9f+VjG1XM45XglBVFAvxneohGqACHd5i/XpnxpDWaktYUbl7u1SkdKVEiljDWQYa4mHFm9w9T2XPV3lvmmdYfA4JTmTaZiVYPWd1BsOt+279VY6BPn85bXxq8wo9mJG1DpPkfbC0+Ce7XR9PjGnX4cu6DTyKjKCw5Yr5EGfz5U4b5V3n2xMxaupZK7CkgOlmOGhh48H5Z6+QqNBvh0HU2TifplAcXTMxNLnZvYfakmv0dGQhptnezIV4TFhVYlDsaduAaAU3WR58OmEk= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(366004)(136003)(346002)(39860400002)(451199021)(71200400001)(7696005)(478600001)(33656002)(9686003)(53546011)(186003)(83380400001)(38070700005)(6506007)(86362001)(122000001)(82960400001)(38100700002)(55016003)(66556008)(66946007)(64756008)(66446008)(66476007)(4326008)(76116006)(84970400001)(2906002)(30864003)(316002)(5660300002)(52536014)(41300700001)(8676002)(8936002)(54906003)(110136005)(559001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d1ROa3BVVkxQVTN0N2pGSkg4WG9mMDk0R1FKTEI4MWJxWXNyK015SFBEbU1E?= =?utf-8?B?ZWMvdUptUjBNUlpLNTF0NExLd2ljeFU5ZHRrVDNsQjdtNEpiWmNzZmI2TVox?= =?utf-8?B?cGplVjN0RjQrREFkd2VuWTNzRGNkWmhOV0hjQUtIdUg1bUZZZnlpSEhwT0hs?= =?utf-8?B?bThDbXFNV3dpek9hd0kvcG9IdHdBNjBXK0o2OGlVMm5WSVlkZTVCbjdrRENG?= =?utf-8?B?c2FPQytoT0phRWNtRDMrWEdocDNNRVRzZktYd1pSWitOU1BqVXlZSlFpencw?= =?utf-8?B?UWs0WkZaT2hGSE1EMzIxajg1NFc4RzF1QTh2RTl3ZVpPQlYxaHBjbHBMK2Rh?= =?utf-8?B?VVQ5ZWJrVHVUbkg1UmtDNFRCcWpoQytRSjljVUZ4RGw2NU13SG1RRkZVMUR1?= =?utf-8?B?Q3hrNzhRaDUzOVdaVk15dzhqQlFYSzNRNlFudVBidkZXZDJDamVheW9aNkh0?= =?utf-8?B?YXFVMEVmQXZISUZmaUQyb2tYWDZWRjFnbkUwbmhFWlBVc0s2c3puanRnRkcz?= =?utf-8?B?SXBLclNLTzVDRTJER0x2WnJZNTNmS2ZHTWc1RHMyS0tBdDgyQko2STdqVjh0?= =?utf-8?B?VFc1empVYnhEOFprdyswcUlVclFKMmc1cmxaQnZSZkcwS1hmSWlEc2pXMXNQ?= =?utf-8?B?UUtkcXN4ZjJxSGZLbjhUeG02V0NvWFZZbEFQOHN1QkVoUXZseUx2TGptZG55?= =?utf-8?B?bFBIWXFIcWhJdXJPUHRIQWJZTHk5Z0s4eTFHbVRxYTVXdnlLWFRrZlR3UDc0?= =?utf-8?B?L3V0SkkybnhmbVF1Yjh3d3FiOHdyWks2K3ZTMEJ4dXM3YkVGbXAwajdPd041?= =?utf-8?B?S0V5U3p4b0Q2RU9mL1dFMUVqb2dYVmt1d2tBb3MvczFFc0MxOHBqODdINUp3?= =?utf-8?B?ZGcxek9XRWZ3MGhTOUw5SzRwenQzUndScmVGK2tYcm9YVDlqaUpBNDFwWW9h?= =?utf-8?B?S2c2NFZBcnZNUW9vTTEyTFZybkRuaHRqU3VzTkxCaHBVazNlT2R6UFduRHUv?= =?utf-8?B?aFlDV0FJUEJZeFg0UHh4eUViS3VBbWx4RXphNDZ5dHRSWkY5alpWMVowcDJO?= =?utf-8?B?eTY4Z2lZd1c5TTk3NlhQYkRoa3kzdFRNS2VHaGFnWEJzaFJYSHluMjdWSzln?= =?utf-8?B?T1Bpdll5UDRJbktUWFZiQXZnWFZuYmRkTTRlZG05Q29GcUNsTFpEM0hiei9q?= =?utf-8?B?TTVoUlRkM2hnQmZRYTVBWXh3S054Uzc1aXk0b3VyYU1FQnRQSFk5ODd0TWsz?= =?utf-8?B?Qkw4ZkRNSkNMZVNJVUVvSWVsZzhScHRHcndhTXhGc2xUQll1bXlwcEgweWl3?= =?utf-8?B?VDNqdzBZTERsejlEV0dCOGhJMTdMVFZ6ZUdKV2NZUE9JU0RENE5rd01HeUgw?= =?utf-8?B?Zy8rcHdwb2hOWEFwSDRwYUFEVXk4cUlqcFZhUWRpcDloVWcxazQvcTBIYjZm?= =?utf-8?B?c2FFZkltbW5vYzNtcGlwTlFGR3BYNC9TYVlOS1U1RHRtV2U2QVl1WU5vVHA5?= =?utf-8?B?TVNEN2oyTXZyK0NFancyRDU1MGdOR1VZLzRVVjhVdG5JNGpoRUF2YnR4bjFI?= =?utf-8?B?NHhvay85eHlJNnQ0SXhCN3AzcFpJZnl1eFVmZVlKNm1vcjF5RnM2cXVBUDZL?= =?utf-8?B?M1MzZW5TRi9aaXZrZjhlQXp1R2VrT01aRTZwb1hBQ2RwV01JZTAxRE53ME5F?= =?utf-8?B?b01oaWZZU1J2L1p6NkpRdXRKWEVwWVhITmF3enlhQnZsK1R6bEVuc3dWQWl3?= =?utf-8?B?a1BqOWtYUno3SXpPazUxa3d4VEJ5aStKOUZKbjJVa2xaaVdJTldxSE5ZcXll?= =?utf-8?B?YkNSVGwvWG5jY0Z4ZEszOFlZSng4dUFBS1NLWmtZQzVEODlsL0dwMFk3ZGVP?= =?utf-8?B?QUJjaURJUlZMeEdiU09MZDdteEJIeWhjRzVtRE5lNkRvTkI1azV2bFBJMkRZ?= =?utf-8?B?QnQ0Wkt5YlN3ZFgxSFhUUWMyUXFkRWZJSFI0SEs2amRlQlRuTWFPWExiL0lp?= =?utf-8?B?cFlZWEcxaXowdW5yZndDbGtaYWREekVuMCt3eHp4K2tDNW1uRUhOaXR2QzlY?= =?utf-8?B?eHg2dXlzRzBKWSs3RVk3MlNpSnV1dXJheTkvUT09?= Content-Type: multipart/alternative; boundary="_000_MW5PR11MB5908F4614C243970189E1DCDA95EAMW5PR11MB5908namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b409aee6-437b-417e-e858-08db6fa1a0dd X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jun 2023 02:13:38.1906 (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: RQoF1Ftbhl2KSJK3B1BNpg/qUG07b9CRoVNOR6xA1vAxjb463Z/o4IGFiOJmklIDi/u42bUeTlDpMXyU/Vs19A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB6872 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00,BODY_8BITS,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,HTML_MESSAGE,KAM_NUMSUBJECT,KAM_SHORT,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_000_MW5PR11MB5908F4614C243970189E1DCDA95EAMW5PR11MB5908namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TWFrZSBzZW5zZSwgd2lsbCB1cGRhdGUgVjIgcGF0Y2ggZm9yIHRoaXMuDQoN ClBhbg0KDQpGcm9tOiDpkp/lsYXlk7IgPGp1emhlLnpob25nQHJpdmFpLmFp Pg0KU2VudDogU3VuZGF5LCBKdW5lIDE4LCAyMDIzIDc6MDkgQU0NClRvOiBM aSwgUGFuMiA8cGFuMi5saUBpbnRlbC5jb20+OyBnY2MtcGF0Y2hlcyA8Z2Nj LXBhdGNoZXNAZ2NjLmdudS5vcmc+DQpDYzogcmRhcHAuZ2NjIDxyZGFwcC5n Y2NAZ21haWwuY29tPjsgSmVmZiBMYXcgPGplZmZyZXlhbGF3QGdtYWlsLmNv bT47IExpLCBQYW4yIDxwYW4yLmxpQGludGVsLmNvbT47IFdhbmcsIFlhbnpo YW5nIDx5YW56aGFuZy53YW5nQGludGVsLmNvbT47IGtpdG8uY2hlbmcgPGtp dG8uY2hlbmdAZ21haWwuY29tPg0KU3ViamVjdDogUmU6IFtQQVRDSCB2MV0g UklTQy1WOiBCdWdmaXggZm9yIFJWViBmbG9hdCByZWR1Y3Rpb24gaW4gWlZF MzIvNjQNCg0KSSB0aGluayB2bG11bDEsIHZsbXVsMV96dmU2NCwgdmxtdWwx X3p2ZTMyIHRoZXNlIDMgYXR0cmlidXRlcyBhcmUgbm8gbG9uZ2VyIHVzZWQu DQpDb3VsZCB5b3UgcmVtb3ZlIGl0ID8NCg0KX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18NCmp1emhlLnpob25nQHJpdmFpLmFpPG1haWx0bzpq dXpoZS56aG9uZ0ByaXZhaS5haT4NCg0KRnJvbTogcGFuMi5saTxtYWlsdG86 cGFuMi5saUBpbnRlbC5jb20+DQpEYXRlOiAyMDIzLTA2LTE3IDIyOjIzDQpU bzogZ2NjLXBhdGNoZXM8bWFpbHRvOmdjYy1wYXRjaGVzQGdjYy5nbnUub3Jn Pg0KQ0M6IGp1emhlLnpob25nPG1haWx0bzpqdXpoZS56aG9uZ0ByaXZhaS5h aT47IHJkYXBwLmdjYzxtYWlsdG86cmRhcHAuZ2NjQGdtYWlsLmNvbT47IGpl ZmZyZXlhbGF3PG1haWx0bzpqZWZmcmV5YWxhd0BnbWFpbC5jb20+OyBwYW4y LmxpPG1haWx0bzpwYW4yLmxpQGludGVsLmNvbT47IHlhbnpoYW5nLndhbmc8 bWFpbHRvOnlhbnpoYW5nLndhbmdAaW50ZWwuY29tPjsga2l0by5jaGVuZzxt YWlsdG86a2l0by5jaGVuZ0BnbWFpbC5jb20+DQpTdWJqZWN0OiBbUEFUQ0gg djFdIFJJU0MtVjogQnVnZml4IGZvciBSVlYgZmxvYXQgcmVkdWN0aW9uIGlu IFpWRTMyLzY0DQpGcm9tOiBQYW4gTGkgPHBhbjIubGlAaW50ZWwuY29tPG1h aWx0bzpwYW4yLmxpQGludGVsLmNvbT4+DQoNClRoZSBydnYgaW50ZWdlciBy ZWR1Y3Rpb24gaGFzIDMgZGlmZmVyZW50IHBhdHRlcm5zIGZvciB6dmUxMjgr LCB6dmU2NA0KYW5kIHp2ZTMyLiBUaGV5IHRha2UgdGhlIHNhbWUgaXRlcmF0 b3Igd2l0aCBkaWZmZXJlbnQgYXR0cmlidXRpb25zLg0KSG93ZXZlciwgd2Ug bmVlZCB0aGUgZ2VuZXJhdGVkIGZ1bmN0aW9uIGNvZGVfZm9yX3JlZHVjIChj b2RlLCBtb2RlMSwgbW9kZTIpLg0KVGhlIGltcGxlbWVudGF0aW9uIG9mIGNv ZGVfZm9yX3JlZHVjIG1heSBsb29rIGxpa2UgYmVsb3cuDQoNCmNvZGVfZm9y X3JlZHVjIChjb2RlLCBtb2RlMSwgbW9kZTIpDQp7DQogIGlmIChjb2RlID09 IG1heCAmJiBtb2RlMSA9PSBWTngxSEYgJiYgbW9kZTIgPT0gVk54MUhGKQ0K ICAgIHJldHVybiBDT0RFX0ZPUl9wcmVkX3JlZHVjX21heHZueDFoZnZueDE2 aGY7IC8vIFpWRTEyOCsNCg0KICBpZiAoY29kZSA9PSBtYXggJiYgbW9kZTEg PT0gVk54MUhGICYmIG1vZGUyID09IFZOeDFIRikNCiAgICByZXR1cm4gQ09E RV9GT1JfcHJlZF9yZWR1Y19tYXh2bngxaGZ2bng4aGY7ICAvLyBaVkU2NA0K DQogIGlmIChjb2RlID09IG1heCAmJiBtb2RlMSA9PSBWTngxSEYgJiYgbW9k ZTIgPT0gVk54MUhGKQ0KICAgIHJldHVybiBDT0RFX0ZPUl9wcmVkX3JlZHVj X21heHZueDFoZnZueDRoZjsgIC8vIFpWRTMyDQp9DQoNClRodXMgdGhlcmUg d2lsbCBiZSBhIHByb2JsZW0gaGVyZS4gRm9yIGV4YW1wbGUgenZlMzIsIHdl IHdpbGwgaGF2ZQ0KY29kZV9mb3JfcmVkdWMgKG1heCwgVk54MUhGLCBWTngx SEYpIHdoaWNoIHdpbGwgcmV0dXJuIHRoZSBjb2RlIG9mDQp0aGUgWlZFMTI4 KyBpbnN0ZWFkIG9mIHRoZSBaVkUzMiBsb2dpY2FsbHkuDQoNClRoaXMgcGF0 Y2ggd2lsbCBtZXJnZSB0aGUgMyBwYXR0ZXJucyBpbnRvIHBhdHRlcm4sIGFu ZCBwYXNzIGJvdGggdGhlDQppbnB1dF92ZWN0b3IgYW5kIHRoZSByZXRfdmVj dG9yIG9mIGNvZGVfZm9yX3JlZHVjLiBGb3IgZXhhbXBsZSwgWlZFMzINCndp bGwgYmUgY29kZV9mb3JfcmVkdWMgKG1heCwgVk54MUhGLCBWTngySEYpLCB0 aGVuIHRoZSBjb3JyZWN0IGNvZGUgb2YgWlZFMzINCndpbGwgYmUgcmV0dXJu ZWQgYXMgZXhwZWN0YXRpb24uDQoNClBsZWFzZSBub3RlIGJvdGggR0NDIDEz IGFuZCAxNCBhcmUgaW1wYWN0ZWQgYnkgdGhpcyBpc3N1ZS4NCg0KU2lnbmVk LW9mZi1ieTogUGFuIExpIDxwYW4yLmxpQGludGVsLmNvbTxtYWlsdG86cGFu Mi5saUBpbnRlbC5jb20+Pg0KQ28tQXV0aG9yZWQgYnk6IEp1emhlLVpob25n IDxqdXpoZS56aG9uZ0ByaXZhaS5haTxtYWlsdG86anV6aGUuemhvbmdAcml2 YWkuYWk+Pg0KDQpQUiB0YXJnZXQvMTEwMjc3DQoNCmdjYy9DaGFuZ2VMb2c6 DQoNCiogY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1iYXNl cy5jYzogQWRqdXN0IGV4cGFuZCBmb3INCnJldF9tb2RlLg0KKiBjb25maWcv cmlzY3YvdmVjdG9yLWl0ZXJhdG9ycy5tZDogQWRkIFZIRiwgVlNGLCBWREYs DQpWSEZfTE1VTDEsIFZTRl9MTVVMMSBhbmQgVkRGX0xNVUwxLg0KKiBjb25m aWcvcmlzY3YvdmVjdG9yLm1kIChAcHJlZF9yZWR1Y188cmVkdWM+PG1vZGU+ PHZsbXVsMT4pOiBSZW1vdmVkLg0KKEBwcmVkX3JlZHVjXzxyZWR1Yz48bW9k ZT48dmxtdWwxX3p2ZTY0Pik6IERpdHRvLg0KKEBwcmVkX3JlZHVjXzxyZWR1 Yz48bW9kZT48dmxtdWwxX3p2ZTMyPik6IERpdHRvLg0KKEBwcmVkX3JlZHVj X3BsdXM8b3JkZXI+PG1vZGU+PHZsbXVsMT4pOiBEaXR0by4NCihAcHJlZF9y ZWR1Y19wbHVzPG9yZGVyPjxtb2RlPjx2bG11bDFfenZlMzI+KTogRGl0dG8u DQooQHByZWRfcmVkdWNfcGx1czxvcmRlcj48bW9kZT48dmxtdWwxX3p2ZTY0 Pik6IERpdHRvLg0KKEBwcmVkX3JlZHVjXzxyZWR1Yz48VkhGOm1vZGU+PFZI Rl9MTVVMMTptb2RlPik6IE5ldyBwYXR0ZXJuLg0KKEBwcmVkX3JlZHVjXzxy ZWR1Yz48VlNGOm1vZGU+PFZTRl9MTVVMMTptb2RlPik6IERpdHRvLg0KKEBw cmVkX3JlZHVjXzxyZWR1Yz48VkRGOm1vZGU+PFZERl9MTVVMMTptb2RlPik6 IERpdHRvLg0KKEBwcmVkX3JlZHVjX3BsdXM8b3JkZXI+PFZIRjptb2RlPjxW SEZfTE1VTDE6bW9kZT4pOiBEaXR0by4NCihAcHJlZF9yZWR1Y19wbHVzPG9y ZGVyPjxWU0Y6bW9kZT48VlNGX0xNVUwxOm1vZGU+KTogRGl0dG8uDQooQHBy ZWRfcmVkdWNfcGx1czxvcmRlcj48VkRGOm1vZGU+PFZERl9MTVVMMTptb2Rl Pik6IERpdHRvLg0KDQpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoNCg0KKiBn Y2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEwMjc3LTEuYzogTmV3IHRl c3QuDQoqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTAyNzctMS5o OiBOZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjEx MDI3Ny0yLmM6IE5ldyB0ZXN0Lg0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9i YXNlL3ByMTEwMjc3LTIuaDogTmV3IHRlc3QuDQotLS0NCi4uLi9yaXNjdi9y aXNjdi12ZWN0b3ItYnVpbHRpbnMtYmFzZXMuY2MgICAgICB8ICAgNSArLQ0K Z2NjL2NvbmZpZy9yaXNjdi92ZWN0b3ItaXRlcmF0b3JzLm1kICAgICAgICAg IHwgIDQ0ICsrKw0KZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3IubWQgICAgICAg ICAgICAgICAgICAgIHwgMzYzICsrKysrKysrKysrLS0tLS0tLQ0KLi4uL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTAyNzctMS5jICAgIHwgICA5 ICsNCi4uLi9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEwMjc3LTEu aCAgICB8ICAzMyArKw0KLi4uL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2Uv cHIxMTAyNzctMi5jICAgIHwgIDExICsNCi4uLi9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3ByMTEwMjc3LTIuaCAgICB8ICAzMyArKw0KNyBmaWxlcyBj aGFuZ2VkLCAzNjYgaW5zZXJ0aW9ucygrKSwgMTMyIGRlbGV0aW9ucygtKQ0K Y3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9ydnYvYmFzZS9wcjExMDI3Ny0xLmMNCmNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIx MTAyNzctMS5oDQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEwMjc3LTIuYw0KY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYmFzZS9wcjExMDI3Ny0yLmgNCg0KZGlmZiAtLWdpdCBhL2djYy9jb25m aWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWJhc2VzLmNjIGIvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtYmFzZXMuY2MN CmluZGV4IDUzYmQwZWQyNTM0Li4yNzU0NTExMzk5NiAxMDA2NDQNCi0tLSBh L2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWJhc2Vz LmNjDQorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWls dGlucy1iYXNlcy5jYw0KQEAgLTE0MDAsOCArMTQwMCw3IEBAIHB1YmxpYzoN CiAgICAgbWFjaGluZV9tb2RlIHJldF9tb2RlID0gZS5yZXRfbW9kZSAoKTsN CiAgICAgLyogVE9ETzogd2Ugd2lsbCB1c2UgcmV0X21vZGUgYWZ0ZXIgYWxs IHR5cGVzIG9mIFBSMTEwMjY1IGFyZSBhZGRyZXNzZWQuICAqLw0KLSAgICBp ZiAoKEdFVF9NT0RFX0NMQVNTIChNT0RFKSA9PSBNT0RFX1ZFQ1RPUl9GTE9B VCkNCi0gICAgICAgfHwgR0VUX01PREVfSU5ORVIgKG1vZGUpICE9IEdFVF9N T0RFX0lOTkVSIChyZXRfbW9kZSkpDQorICAgIGlmIChHRVRfTU9ERV9JTk5F UiAobW9kZSkgIT0gR0VUX01PREVfSU5ORVIgKHJldF9tb2RlKSkNCiAgICAg ICByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoDQpjb2RlX2Zvcl9wcmVkX3Jl ZHVjIChDT0RFLCBlLnZlY3Rvcl9tb2RlICgpLCBlLnZlY3Rvcl9tb2RlICgp KSk7DQogICAgIGVsc2UNCkBAIC0xNDM1LDcgKzE0MzQsNyBAQCBwdWJsaWM6 DQogICBydHggZXhwYW5kIChmdW5jdGlvbl9leHBhbmRlciAmZSkgY29uc3Qg b3ZlcnJpZGUNCiAgIHsNCiAgICAgcmV0dXJuIGUudXNlX2V4YWN0X2luc24g KA0KLSAgICAgIGNvZGVfZm9yX3ByZWRfcmVkdWNfcGx1cyAoVU5TUEVDLCBl LnZlY3Rvcl9tb2RlICgpLCBlLnZlY3Rvcl9tb2RlICgpKSk7DQorICAgICAg Y29kZV9mb3JfcHJlZF9yZWR1Y19wbHVzIChVTlNQRUMsIGUudmVjdG9yX21v ZGUgKCksIGUucmV0X21vZGUgKCkpKTsNCiAgIH0NCn07DQpkaWZmIC0tZ2l0 IGEvZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3ItaXRlcmF0b3JzLm1kIGIvZ2Nj L2NvbmZpZy9yaXNjdi92ZWN0b3ItaXRlcmF0b3JzLm1kDQppbmRleCBlMmM4 YWRlOThlYi4uNmZjZmNlMTI2NGIgMTAwNjQ0DQotLS0gYS9nY2MvY29uZmln L3Jpc2N2L3ZlY3Rvci1pdGVyYXRvcnMubWQNCisrKyBiL2djYy9jb25maWcv cmlzY3YvdmVjdG9yLWl0ZXJhdG9ycy5tZA0KQEAgLTk2Nyw2ICs5NjcsMzMg QEAgKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZESSBbDQogICAoVk54MTZESSAi VEFSR0VUX1ZFQ1RPUl9FTEVOXzY0ICYmIFRBUkdFVF9NSU5fVkxFTiA+PSAx MjgiKQ0KXSkNCisoZGVmaW5lX21vZGVfaXRlcmF0b3IgVkhGIFsNCisgIChW TngxSEYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRfTUlO X1ZMRU4gPCAxMjgiKQ0KKyAgKFZOeDJIRiAiVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzE2IikNCisgIChWTng0SEYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8x NiIpDQorICAoVk54OEhGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYiKQ0K KyAgKFZOeDE2SEYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiIpDQorICAo Vk54MzJIRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9N SU5fVkxFTiA+IDMyIikNCisgIChWTng2NEhGICJUQVJHRVRfVkVDVE9SX0VM RU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID49IDEyOCIpDQorXSkNCisN CisoZGVmaW5lX21vZGVfaXRlcmF0b3IgVlNGIFsNCisgIChWTngxU0YgIlRB UkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPCAx MjgiKQ0KKyAgKFZOeDJTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyIikN CisgIChWTng0U0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiIpDQorICAo Vk54OFNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIiKQ0KKyAgKFZOeDE2 U0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZM RU4gPiAzMiIpDQorICAoVk54MzJTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQ XzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+PSAxMjgiKQ0KK10pDQorDQorKGRl ZmluZV9tb2RlX2l0ZXJhdG9yIFZERiBbDQorICAoVk54MURGICJUQVJHRVRf VkVDVE9SX0VMRU5fRlBfNjQgJiYgVEFSR0VUX01JTl9WTEVOIDwgMTI4IikN CisgIChWTngyREYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF82NCIpDQorICAo Vk54NERGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfNjQiKQ0KKyAgKFZOeDhE RiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzY0IikNCisgIChWTngxNkRGICJU QVJHRVRfVkVDVE9SX0VMRU5fRlBfNjQgJiYgVEFSR0VUX01JTl9WTEVOID49 IDEyOCIpDQorXSkNCisNCihkZWZpbmVfbW9kZV9pdGVyYXRvciBWUUlfTE1V TDEgWw0KICAgKFZOeDE2UUkgIlRBUkdFVF9NSU5fVkxFTiA+PSAxMjgiKQ0K ICAgKFZOeDhRSSAiVEFSR0VUX01JTl9WTEVOID09IDY0IikNCkBAIC05OTAs NiArMTAxNywyMyBAQCAoZGVmaW5lX21vZGVfaXRlcmF0b3IgVkRJX0xNVUwx IFsNCiAgIChWTngxREkgIlRBUkdFVF9WRUNUT1JfRUxFTl82NCAmJiBUQVJH RVRfTUlOX1ZMRU4gPT0gNjQiKQ0KXSkNCisoZGVmaW5lX21vZGVfaXRlcmF0 b3IgVkhGX0xNVUwxIFsNCisgIChWTng4SEYgIlRBUkdFVF9WRUNUT1JfRUxF Tl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZMRU4gPj0gMTI4IikNCisgIChWTng0 SEYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZM RU4gPT0gNjQiKQ0KKyAgKFZOeDJIRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQ XzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA9PSAzMiIpDQorXSkNCisNCisoZGVm aW5lX21vZGVfaXRlcmF0b3IgVlNGX0xNVUwxIFsNCisgIChWTng0U0YgIlRB UkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPj0g MTI4IikNCisgIChWTngyU0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAm JiBUQVJHRVRfTUlOX1ZMRU4gPT0gNjQiKQ0KKyAgKFZOeDFTRiAiVEFSR0VU X1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA9PSAzMiIp DQorXSkNCisNCisoZGVmaW5lX21vZGVfaXRlcmF0b3IgVkRGX0xNVUwxIFsN CisgIChWTngyREYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF82NCAmJiBUQVJH RVRfTUlOX1ZMRU4gPj0gMTI4IikNCisgIChWTngxREYgIlRBUkdFVF9WRUNU T1JfRUxFTl9GUF82NCAmJiBUQVJHRVRfTUlOX1ZMRU4gPT0gNjQiKQ0KK10p DQorDQooZGVmaW5lX21vZGVfYXR0ciBWTE1VTFgyIFsNCiAgIChWTngxUUkg IlZOeDJRSSIpIChWTngyUUkgIlZOeDRRSSIpIChWTng0UUkgIlZOeDhRSSIp IChWTng4UUkgIlZOeDE2UUkiKSAoVk54MTZRSSAiVk54MzJRSSIpIChWTngz MlFJICJWTng2NFFJIikgKFZOeDY0UUkgIlZOeDEyOFFJIikNCiAgIChWTngx SEkgIlZOeDJISSIpIChWTngySEkgIlZOeDRISSIpIChWTng0SEkgIlZOeDhI SSIpIChWTng4SEkgIlZOeDE2SEkiKSAoVk54MTZISSAiVk54MzJISSIpIChW TngzMkhJICJWTng2NEhJIikNCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jp c2N2L3ZlY3Rvci5tZCBiL2djYy9jb25maWcvcmlzY3YvdmVjdG9yLm1kDQpp bmRleCBkMzk2ZTI3ODUwMy4uZWZjZTk5MmEwMTIgMTAwNjQ0DQotLS0gYS9n Y2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci5tZA0KKysrIGIvZ2NjL2NvbmZpZy9y aXNjdi92ZWN0b3IubWQNCkBAIC03NDYyLDE1MiArNzQ2MiwyNTcgQEAgKGRl ZmluZV9pbnNuICJAcHJlZF93aWRlbl9yZWR1Y19wbHVzPHZfc3U+PG1vZGU+ PHZ3bG11bDFfenZlMzI+Ig0KICAgWyhzZXRfYXR0ciAidHlwZSIgInZpd3Jl ZCIpDQogICAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQ0KLShkZWZp bmVfaW5zbiAiQHByZWRfcmVkdWNfPHJlZHVjPjxtb2RlPjx2bG11bDE+Ig0K LSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZMTVVMMT4gMCAicmVnaXN0ZXJf b3BlcmFuZCIgICAgICAgICAgICAgIj12ciwgICB2ciIpDQotICh1bnNwZWM6 PFZMTVVMMT4NCi0gICBbKHVuc3BlYzo8Vk0+DQotICAgICAgWyhtYXRjaF9v cGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgICAgICAidm1X YzEsdm1XYzEiKQ0KLSAgICAgICAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3Jf bGVuZ3RoX29wZXJhbmQiICAgICAgICAgIiAgIHJLLCAgIHJLIikNCi0gICAg ICAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiICAgICAg ICAgICAgICIgICAgaSwgICAgaSIpDQotICAgICAgIChtYXRjaF9vcGVyYW5k IDcgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgICAgICAiICAgIGksICAg IGkiKQ0KLSAgICAgICAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3Bl cmFuZCIgICAgICAgICAgICAgIiAgICBpLCAgICBpIikNCis7OyBGbG9hdCBS ZWR1Y3Rpb24gZm9yIEhGDQorKGRlZmluZV9pbnNuICJAcHJlZF9yZWR1Y188 cmVkdWM+PFZIRjptb2RlPjxWSEZfTE1VTDE6bW9kZT4iDQorICBbDQorICAg IChzZXQNCisgICAgICAobWF0Y2hfb3BlcmFuZDpWSEZfTE1VTDEgICAgICAg ICAgIDAgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgIj12ciwgICAgIHZyIikN CisgICAgICAodW5zcGVjOlZIRl9MTVVMMQ0KKyBbDQorICAgKHVuc3BlYzo8 VkhGOlZNPg0KKyAgICAgWw0KKyAgICAgICAobWF0Y2hfb3BlcmFuZDo8VkhG OlZNPiAgICAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAgICJ2bVdjMSx2bVdj MSIpDQorICAgICAgIChtYXRjaF9vcGVyYW5kICAgICAgICAgICAgIDUgInZl Y3Rvcl9sZW5ndGhfb3BlcmFuZCIgIiAgIHJLLCAgIHJLIikNCisgICAgICAg KG1hdGNoX29wZXJhbmQgICAgICAgICAgICAgNiAiY29uc3RfaW50X29wZXJh bmQiICAgICAiICAgIGksICAgIGkiKQ0KKyAgICAgICAobWF0Y2hfb3BlcmFu ZCAgICAgICAgICAgICA3ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICIgICAg aSwgICAgaSIpDQogICAgICAocmVnOlNJIFZMX1JFR05VTSkNCiAgICAgIChy ZWc6U0kgVlRZUEVfUkVHTlVNKQ0KLSAgICAgICAocmVnOlNJIEZSTV9SRUdO VU0pXSBVTlNQRUNfVlBSRURJQ0FURSkNCi0gICAgKGFueV9mcmVkdWM6VkYN Ci0gICAgICAodmVjX2R1cGxpY2F0ZTpWRg0KLSAgICAgICAgKHZlY19zZWxl Y3Q6PFZFTD4NCi0gICAgICAgICAgKG1hdGNoX29wZXJhbmQ6PFZMTVVMMT4g NCAicmVnaXN0ZXJfb3BlcmFuZCIgIiAgIHZyLCAgIHZyIikNCi0gICAgICAg ICAgKHBhcmFsbGVsIFsoY29uc3RfaW50IDApXSkpKQ0KLSAgICAgIChtYXRj aF9vcGVyYW5kOlZGIDMgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgICAgICAi ICAgdnIsICAgdnIiKSkNCi0gICAgKG1hdGNoX29wZXJhbmQ6PFZMTVVMMT4g MiAidmVjdG9yX21lcmdlX29wZXJhbmQiICAgIiAgIHZ1LCAgICAwIildIFVO U1BFQ19SRURVQykpXQ0KLSAgIlRBUkdFVF9WRUNUT1IgJiYgVEFSR0VUX01J Tl9WTEVOID49IDEyOCINCisgICAgIF0gVU5TUEVDX1ZQUkVESUNBVEUNCisg ICApDQorICAgKGFueV9yZWR1YzpWSEYNCisgICAgICh2ZWNfZHVwbGljYXRl OlZIRg0KKyAgICAgICAodmVjX3NlbGVjdDo8VkVMPg0KKyAobWF0Y2hfb3Bl cmFuZDpWSEZfTE1VTDEgNCAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAiICAg dnIsICAgdnIiKQ0KKyAocGFyYWxsZWwgWyhjb25zdF9pbnQgMCldKQ0KKyAg ICAgICApDQorICAgICApDQorICAgICAobWF0Y2hfb3BlcmFuZDpWSEYgICAg ICAgICAgIDMgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgIiAgIHZyLCAgIHZy IikNCisgICApDQorICAgKG1hdGNoX29wZXJhbmQ6VkhGX0xNVUwxICAgICAg IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgIiAgIHZ1LCAgICAwIikNCisg XSBVTlNQRUNfUkVEVUMNCisgICAgICApDQorICAgICkNCisgIF0NCisgICJU QVJHRVRfVkVDVE9SIg0KICAgInZmcmVkPHJlZHVjPi52c1x0JTAsJTMsJTQl cDEiDQotICBbKHNldF9hdHRyICJ0eXBlIiAidmZyZWR1IikNCi0gICAoc2V0 X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQorICBbDQorICAgIChzZXRfYXR0 ciAidHlwZSIgInZmcmVkdSIpDQorICAgIChzZXRfYXR0ciAibW9kZSIgIjxW SEY6TU9ERT4iKQ0KKyAgXQ0KKykNCi0oZGVmaW5lX2luc24gIkBwcmVkX3Jl ZHVjXzxyZWR1Yz48bW9kZT48dmxtdWwxX3p2ZTY0PiINCi0gIFsoc2V0ICht YXRjaF9vcGVyYW5kOjxWTE1VTDFfWlZFNjQ+IDAgInJlZ2lzdGVyX29wZXJh bmQiICAgICAgICAgICAgIj12ciwgICB2ciIpDQotICh1bnNwZWM6PFZMTVVM MV9aVkU2ND4NCi0gICBbKHVuc3BlYzo8Vk0+DQotICAgICAgWyhtYXRjaF9v cGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgICAgICAgICAg ICJ2bVdjMSx2bVdjMSIpDQotICAgICAgIChtYXRjaF9vcGVyYW5kIDUgInZl Y3Rvcl9sZW5ndGhfb3BlcmFuZCIgICAgICAgICAgICAgICIgICBySywgICBy SyIpDQotICAgICAgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2ludF9vcGVy YW5kIiAgICAgICAgICAgICAgICAgICIgICAgaSwgICAgaSIpDQotICAgICAg IChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAg ICAgICAgICAgICIgICAgaSwgICAgaSIpDQotICAgICAgIChtYXRjaF9vcGVy YW5kIDggImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgICAgICAgICAgICIg ICAgaSwgICAgaSIpDQorOzsgRmxvYXQgUmVkdWN0aW9uIGZvciBTRg0KKyhk ZWZpbmVfaW5zbiAiQHByZWRfcmVkdWNfPHJlZHVjPjxWU0Y6bW9kZT48VlNG X0xNVUwxOm1vZGU+Ig0KKyAgWw0KKyAgICAoc2V0DQorICAgICAgKG1hdGNo X29wZXJhbmQ6VlNGX0xNVUwxICAgICAgICAgICAwICJyZWdpc3Rlcl9vcGVy YW5kIiAgICAgICI9dnIsICAgICB2ciIpDQorICAgICAgKHVuc3BlYzpWU0Zf TE1VTDENCisgWw0KKyAgICh1bnNwZWM6PFZTRjpWTT4NCisgICAgIFsNCisg ICAgICAgKG1hdGNoX29wZXJhbmQ6PFZTRjpWTT4gICAgMSAidmVjdG9yX21h c2tfb3BlcmFuZCIgICAidm1XYzEsdm1XYzEiKQ0KKyAgICAgICAobWF0Y2hf b3BlcmFuZCAgICAgICAgICAgICA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQi ICIgICBySywgICBySyIpDQorICAgICAgIChtYXRjaF9vcGVyYW5kICAgICAg ICAgICAgIDYgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgIiAgICBpLCAgICBp IikNCisgICAgICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAgICAgNyAiY29u c3RfaW50X29wZXJhbmQiICAgICAiICAgIGksICAgIGkiKQ0KICAgICAgKHJl ZzpTSSBWTF9SRUdOVU0pDQogICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSkN Ci0gICAgICAgKHJlZzpTSSBGUk1fUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNB VEUpDQotICAgIChhbnlfZnJlZHVjOlZGX1pWRTY0DQotICAgICAgKHZlY19k dXBsaWNhdGU6VkZfWlZFNjQNCi0gICAgICAgICh2ZWNfc2VsZWN0OjxWRUw+ DQotICAgICAgICAgIChtYXRjaF9vcGVyYW5kOjxWTE1VTDFfWlZFNjQ+IDQg InJlZ2lzdGVyX29wZXJhbmQiICIgICB2ciwgICB2ciIpDQotICAgICAgICAg IChwYXJhbGxlbCBbKGNvbnN0X2ludCAwKV0pKSkNCi0gICAgICAobWF0Y2hf b3BlcmFuZDpWRl9aVkU2NCAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICAg ICAgIiAgIHZyLCAgIHZyIikpDQotICAgIChtYXRjaF9vcGVyYW5kOjxWTE1V TDFfWlZFNjQ+IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgICIgICB2dSwg ICAgMCIpXSBVTlNQRUNfUkVEVUMpKV0NCi0gICJUQVJHRVRfVkVDVE9SICYm IFRBUkdFVF9NSU5fVkxFTiA9PSA2NCINCisgICAgIF0gVU5TUEVDX1ZQUkVE SUNBVEUNCisgICApDQorICAgKGFueV9yZWR1YzpWU0YNCisgICAgICh2ZWNf ZHVwbGljYXRlOlZTRg0KKyAgICAgICAodmVjX3NlbGVjdDo8VkVMPg0KKyAo bWF0Y2hfb3BlcmFuZDpWU0ZfTE1VTDEgNCAicmVnaXN0ZXJfb3BlcmFuZCIg ICAgICAiICAgdnIsICAgdnIiKQ0KKyAocGFyYWxsZWwgWyhjb25zdF9pbnQg MCldKQ0KKyAgICAgICApDQorICAgICApDQorICAgICAobWF0Y2hfb3BlcmFu ZDpWU0YgICAgICAgICAgIDMgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgIiAg IHZyLCAgIHZyIikNCisgICApDQorICAgKG1hdGNoX29wZXJhbmQ6VlNGX0xN VUwxICAgICAgIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgIiAgIHZ1LCAg ICAwIikNCisgXSBVTlNQRUNfUkVEVUMNCisgICAgICApDQorICAgICkNCisg IF0NCisgICJUQVJHRVRfVkVDVE9SIg0KICAgInZmcmVkPHJlZHVjPi52c1x0 JTAsJTMsJTQlcDEiDQotICBbKHNldF9hdHRyICJ0eXBlIiAidmZyZWR1IikN Ci0gICAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQorICBbDQorICAg IChzZXRfYXR0ciAidHlwZSIgInZmcmVkdSIpDQorICAgIChzZXRfYXR0ciAi bW9kZSIgIjxWU0Y6TU9ERT4iKQ0KKyAgXQ0KKykNCi0oZGVmaW5lX2luc24g IkBwcmVkX3JlZHVjXzxyZWR1Yz48bW9kZT48dmxtdWwxX3p2ZTMyPiINCi0g IFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTE1VTDFfWlZFMzI+IDAgInJlZ2lz dGVyX29wZXJhbmQiICAgICAgICAgICI9dmQsIHZkLCB2ciwgdnIiKQ0KLSAo dW5zcGVjOjxWTE1VTDFfWlZFMzI+DQotICAgWyh1bnNwZWM6PFZNPg0KLSAg ICAgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJh bmQiICAgICAgICAgICAiIHZtLCB2bSxXYzEsV2MxIikNCi0gICAgICAgKG1h dGNoX29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAgICAg ICAgICAgIiBySywgckssIHJLLCBySyIpDQotICAgICAgIChtYXRjaF9vcGVy YW5kIDYgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgICAgICAgICAgICIg IGksICBpLCAgaSwgIGkiKQ0KLSAgICAgICAobWF0Y2hfb3BlcmFuZCA3ICJj b25zdF9pbnRfb3BlcmFuZCIgICAgICAgICAgICAgICAgICAiICBpLCAgaSwg IGksICBpIikNCi0gICAgICAgKG1hdGNoX29wZXJhbmQgOCAiY29uc3RfaW50 X29wZXJhbmQiICAgICAgICAgICAgICAgICAgIiAgaSwgIGksICBpLCAgaSIp DQorOzsgRmxvYXQgUmVkdWN0aW9uIGZvciBERg0KKyhkZWZpbmVfaW5zbiAi QHByZWRfcmVkdWNfPHJlZHVjPjxWREY6bW9kZT48VkRGX0xNVUwxOm1vZGU+ Ig0KKyAgWw0KKyAgICAoc2V0DQorICAgICAgKG1hdGNoX29wZXJhbmQ6VkRG X0xNVUwxICAgICAgICAgICAwICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICI9 dnIsICAgICB2ciIpDQorICAgICAgKHVuc3BlYzpWREZfTE1VTDENCisgWw0K KyAgICh1bnNwZWM6PFZERjpWTT4NCisgICAgIFsNCisgICAgICAgKG1hdGNo X29wZXJhbmQ6PFZERjpWTT4gICAgMSAidmVjdG9yX21hc2tfb3BlcmFuZCIg ICAidm1XYzEsdm1XYzEiKQ0KKyAgICAgICAobWF0Y2hfb3BlcmFuZCAgICAg ICAgICAgICA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICIgICBySywgICBy SyIpDQorICAgICAgIChtYXRjaF9vcGVyYW5kICAgICAgICAgICAgIDYgImNv bnN0X2ludF9vcGVyYW5kIiAgICAgIiAgICBpLCAgICBpIikNCisgICAgICAg KG1hdGNoX29wZXJhbmQgICAgICAgICAgICAgNyAiY29uc3RfaW50X29wZXJh bmQiICAgICAiICAgIGksICAgIGkiKQ0KICAgICAgKHJlZzpTSSBWTF9SRUdO VU0pDQogICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSkNCi0gICAgICAgKHJl ZzpTSSBGUk1fUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpDQotICAgIChh bnlfZnJlZHVjOlZGX1pWRTMyDQotICAgICAgKHZlY19kdXBsaWNhdGU6VkZf WlZFMzINCi0gICAgICAgICh2ZWNfc2VsZWN0OjxWRUw+DQotICAgICAgICAg IChtYXRjaF9vcGVyYW5kOjxWTE1VTDFfWlZFMzI+IDQgInJlZ2lzdGVyX29w ZXJhbmQiICIgdnIsIHZyLCB2ciwgdnIiKQ0KLSAgICAgICAgICAocGFyYWxs ZWwgWyhjb25zdF9pbnQgMCldKSkpDQotICAgICAgKG1hdGNoX29wZXJhbmQ6 VkZfWlZFMzIgMyAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAgICAgICIgdnIs IHZyLCB2ciwgdnIiKSkNCi0gICAgKG1hdGNoX29wZXJhbmQ6PFZMTVVMMV9a VkUzMj4gMiAidmVjdG9yX21lcmdlX29wZXJhbmQiICAgIiB2dSwgIDAsIHZ1 LCAgMCIpXSBVTlNQRUNfUkVEVUMpKV0NCi0gICJUQVJHRVRfVkVDVE9SICYm IFRBUkdFVF9NSU5fVkxFTiA9PSAzMiINCisgICAgIF0gVU5TUEVDX1ZQUkVE SUNBVEUNCisgICApDQorICAgKGFueV9yZWR1YzpWREYNCisgICAgICh2ZWNf ZHVwbGljYXRlOlZERg0KKyAgICAgICAodmVjX3NlbGVjdDo8VkVMPg0KKyAo bWF0Y2hfb3BlcmFuZDpWREZfTE1VTDEgNCAicmVnaXN0ZXJfb3BlcmFuZCIg ICAgICAiICAgdnIsICAgdnIiKQ0KKyAocGFyYWxsZWwgWyhjb25zdF9pbnQg MCldKQ0KKyAgICAgICApDQorICAgICApDQorICAgICAobWF0Y2hfb3BlcmFu ZDpWREYgICAgICAgICAgIDMgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgIiAg IHZyLCAgIHZyIikNCisgICApDQorICAgKG1hdGNoX29wZXJhbmQ6VkRGX0xN VUwxICAgICAgIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgIiAgIHZ1LCAg ICAwIikNCisgXSBVTlNQRUNfUkVEVUMNCisgICAgICApDQorICAgICkNCisg IF0NCisgICJUQVJHRVRfVkVDVE9SIg0KICAgInZmcmVkPHJlZHVjPi52c1x0 JTAsJTMsJTQlcDEiDQotICBbKHNldF9hdHRyICJ0eXBlIiAidmZyZWR1IikN Ci0gICAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQorICBbDQorICAg IChzZXRfYXR0ciAidHlwZSIgInZmcmVkdSIpDQorICAgIChzZXRfYXR0ciAi bW9kZSIgIjxWREY6TU9ERT4iKQ0KKyAgXQ0KKykNCi0oZGVmaW5lX2luc24g IkBwcmVkX3JlZHVjX3BsdXM8b3JkZXI+PG1vZGU+PHZsbXVsMT4iDQotICBb KHNldCAobWF0Y2hfb3BlcmFuZDo8VkxNVUwxPiAwICJyZWdpc3Rlcl9vcGVy YW5kIiAgICAgICAgICAgICAgICI9dnIsICAgdnIiKQ0KLSAodW5zcGVjOjxW TE1VTDE+DQotICAgWyh1bnNwZWM6PFZMTVVMMT4NCi0gICAgIFsodW5zcGVj OjxWTT4NCi0gICAgICAgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rv cl9tYXNrX29wZXJhbmQiICAgICAgInZtV2MxLHZtV2MxIikNCi0gICAgICAg ICAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICAg ICAgICAgIiAgIHJLLCAgIHJLIikNCi0gICAgICAgICAobWF0Y2hfb3BlcmFu ZCA2ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAgICAgICAgIiAgICBpLCAg ICBpIikNCi0gICAgICAgICAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRf b3BlcmFuZCIgICAgICAgICAgICAgIiAgICBpLCAgICBpIikNCi0gICAgICAg ICAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAg ICAgICAgIiAgICBpLCAgICBpIikNCi0gICAgICAgICAocmVnOlNJIFZMX1JF R05VTSkNCi0gICAgICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSkNCi0gICAg ICAgICAocmVnOlNJIEZSTV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkN Ci0gICAgICAocGx1czpWRg0KLSAgICAgICAgKHZlY19kdXBsaWNhdGU6VkYN Ci0gICAgICAgICAgKHZlY19zZWxlY3Q6PFZFTD4NCi0gICAgICAgICAgICAo bWF0Y2hfb3BlcmFuZDo8VkxNVUwxPiA0ICJyZWdpc3Rlcl9vcGVyYW5kIiAi ICAgdnIsICAgdnIiKQ0KLSAgICAgICAgICAgIChwYXJhbGxlbCBbKGNvbnN0 X2ludCAwKV0pKSkNCi0gICAgICAgIChtYXRjaF9vcGVyYW5kOlZGIDMgInJl Z2lzdGVyX29wZXJhbmQiICAgICAgICAgICAiICAgdnIsICAgdnIiKSkNCi0g ICAgICAobWF0Y2hfb3BlcmFuZDo8VkxNVUwxPiAyICJ2ZWN0b3JfbWVyZ2Vf b3BlcmFuZCIgICAiICAgdnUsICAgIDAiKV0gVU5TUEVDX1JFRFVDKV0gT1JE RVIpKV0NCi0gICJUQVJHRVRfVkVDVE9SICYmIFRBUkdFVF9NSU5fVkxFTiA+ PSAxMjgiDQorOzsgRmxvYXQgT3JkZXJlZCBSZWR1Y3Rpb24gU3VtIGZvciBI Rg0KKyhkZWZpbmVfaW5zbiAiQHByZWRfcmVkdWNfcGx1czxvcmRlcj48VkhG Om1vZGU+PFZIRl9MTVVMMTptb2RlPiINCisgIFsNCisgICAgKHNldA0KKyAg ICAgIChtYXRjaF9vcGVyYW5kOlZIRl9MTVVMMSAgICAgICAgICAgICAgIDAg InJlZ2lzdGVyX29wZXJhbmQiICAgICAgIj12cix2ciIpDQorICAgICAgKHVu c3BlYzpWSEZfTE1VTDENCisgWw0KKyAgICh1bnNwZWM6VkhGX0xNVUwxDQor ICAgICBbDQorICAgICAgICh1bnNwZWM6PFZIRjpWTT4NCisgWw0KKyAgICht YXRjaF9vcGVyYW5kOjxWSEY6Vk0+ICAgIDEgInZlY3Rvcl9tYXNrX29wZXJh bmQiICAgInZtV2MxLHZtV2MxIikNCisgICAobWF0Y2hfb3BlcmFuZCAgICAg ICAgICAgICA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICIgICBySywgICBy SyIpDQorICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAgICAgNiAiY29uc3Rf aW50X29wZXJhbmQiICAgICAiICAgIGksICAgIGkiKQ0KKyAgIChtYXRjaF9v cGVyYW5kICAgICAgICAgICAgIDcgImNvbnN0X2ludF9vcGVyYW5kIiAgICAg IiAgICBpLCAgICBpIikNCisgICAobWF0Y2hfb3BlcmFuZCAgICAgICAgICAg ICA4ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICIgICAgaSwgICAgaSIpDQor ICAgKHJlZzpTSSBWTF9SRUdOVU0pDQorICAgKHJlZzpTSSBWVFlQRV9SRUdO VU0pDQorICAgKHJlZzpTSSBGUk1fUkVHTlVNKQ0KKyBdIFVOU1BFQ19WUFJF RElDQVRFDQorICAgICAgICkNCisgICAgICAgKHBsdXM6VkhGDQorICh2ZWNf ZHVwbGljYXRlOlZIRg0KKyAgICh2ZWNfc2VsZWN0OjxWRUw+DQorICAgICAo bWF0Y2hfb3BlcmFuZDpWSEZfTE1VTDEgNCAicmVnaXN0ZXJfb3BlcmFuZCIg ICAgICAiICAgdnIsICAgdnIiKQ0KKyAgICAgKHBhcmFsbGVsIFsoY29uc3Rf aW50IDApXSkNCisgICApDQorICkNCisgKG1hdGNoX29wZXJhbmQ6VkhGICAg ICAgICAgICAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICIgICB2ciwgICB2 ciIpDQorICAgICAgICkNCisgICAgICAgKG1hdGNoX29wZXJhbmQ6VkhGX0xN VUwxICAgICAgIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgIiAgIHZ1LCAg ICAwIikNCisgICAgIF0gVU5TUEVDX1JFRFVDDQorICAgKQ0KKyBdIE9SREVS DQorICAgICAgKQ0KKyAgICApDQorICBdDQorICAiVEFSR0VUX1ZFQ1RPUiIN CiAgICJ2ZnJlZDxvcmRlcj5zdW0udnNcdCUwLCUzLCU0JXAxIg0KLSAgWyhz ZXRfYXR0ciAidHlwZSIgInZmcmVkPG9yZGVyPiIpDQotICAgKHNldF9hdHRy ICJtb2RlIiAiPE1PREU+IildKQ0KKyAgWw0KKyAgICAoc2V0X2F0dHIgInR5 cGUiICJ2ZnJlZDxvcmRlcj4iKQ0KKyAgICAoc2V0X2F0dHIgIm1vZGUiICI8 VkhGOk1PREU+IikNCisgIF0NCispDQotKGRlZmluZV9pbnNuICJAcHJlZF9y ZWR1Y19wbHVzPG9yZGVyPjxtb2RlPjx2bG11bDFfenZlNjQ+Ig0KLSAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6PFZMTVVMMV9aVkU2ND4gMCAicmVnaXN0ZXJf b3BlcmFuZCIgICAgICAgICAgICAgICI9dnIsICAgdnIiKQ0KLSAodW5zcGVj OjxWTE1VTDFfWlZFNjQ+DQotICAgWyh1bnNwZWM6PFZMTVVMMV9aVkU2ND4N Ci0gICAgIFsodW5zcGVjOjxWTT4NCi0gICAgICAgIFsobWF0Y2hfb3BlcmFu ZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICAgICAgICAgICAidm1X YzEsdm1XYzEiKQ0KLSAgICAgICAgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rv cl9sZW5ndGhfb3BlcmFuZCIgICAgICAgICAgICAgICIgICBySywgICBySyIp DQotICAgICAgICAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJh bmQiICAgICAgICAgICAgICAgICAgIiAgICBpLCAgICBpIikNCi0gICAgICAg ICAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAg ICAgICAgICAgICAiICAgIGksICAgIGkiKQ0KLSAgICAgICAgIChtYXRjaF9v cGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgICAgICAgICAg ICIgICAgaSwgICAgaSIpDQotICAgICAgICAgKHJlZzpTSSBWTF9SRUdOVU0p DQotICAgICAgICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pDQotICAgICAgICAg KHJlZzpTSSBGUk1fUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpDQotICAg ICAgKHBsdXM6VkZfWlZFNjQNCi0gICAgICAgICh2ZWNfZHVwbGljYXRlOlZG X1pWRTY0DQotICAgICAgICAgICh2ZWNfc2VsZWN0OjxWRUw+DQotICAgICAg ICAgICAgKG1hdGNoX29wZXJhbmQ6PFZMTVVMMV9aVkU2ND4gNCAicmVnaXN0 ZXJfb3BlcmFuZCIgIiAgIHZyLCAgIHZyIikNCi0gICAgICAgICAgICAocGFy YWxsZWwgWyhjb25zdF9pbnQgMCldKSkpDQotICAgICAgICAobWF0Y2hfb3Bl cmFuZDpWRl9aVkU2NCAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICAgICAg IiAgIHZyLCAgIHZyIikpDQotICAgICAgKG1hdGNoX29wZXJhbmQ6PFZMTVVM MV9aVkU2ND4gMiAidmVjdG9yX21lcmdlX29wZXJhbmQiICAgIiAgIHZ1LCAg ICAwIildIFVOU1BFQ19SRURVQyldIE9SREVSKSldDQotICAiVEFSR0VUX1ZF Q1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4gPT0gNjQiDQorOzsgRmxvYXQgT3Jk ZXJlZCBSZWR1Y3Rpb24gU3VtIGZvciBTRg0KKyhkZWZpbmVfaW5zbiAiQHBy ZWRfcmVkdWNfcGx1czxvcmRlcj48VlNGOm1vZGU+PFZTRl9MTVVMMTptb2Rl PiINCisgIFsNCisgICAgKHNldA0KKyAgICAgIChtYXRjaF9vcGVyYW5kOlZT Rl9MTVVMMSAgICAgICAgICAgICAgIDAgInJlZ2lzdGVyX29wZXJhbmQiICAg ICAgIj12cix2ciIpDQorICAgICAgKHVuc3BlYzpWU0ZfTE1VTDENCisgWw0K KyAgICh1bnNwZWM6VlNGX0xNVUwxDQorICAgICBbDQorICAgICAgICh1bnNw ZWM6PFZTRjpWTT4NCisgWw0KKyAgIChtYXRjaF9vcGVyYW5kOjxWU0Y6Vk0+ ICAgIDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICAgInZtV2MxLHZtV2MxIikN CisgICAobWF0Y2hfb3BlcmFuZCAgICAgICAgICAgICA1ICJ2ZWN0b3JfbGVu Z3RoX29wZXJhbmQiICIgICBySywgICBySyIpDQorICAgKG1hdGNoX29wZXJh bmQgICAgICAgICAgICAgNiAiY29uc3RfaW50X29wZXJhbmQiICAgICAiICAg IGksICAgIGkiKQ0KKyAgIChtYXRjaF9vcGVyYW5kICAgICAgICAgICAgIDcg ImNvbnN0X2ludF9vcGVyYW5kIiAgICAgIiAgICBpLCAgICBpIikNCisgICAo bWF0Y2hfb3BlcmFuZCAgICAgICAgICAgICA4ICJjb25zdF9pbnRfb3BlcmFu ZCIgICAgICIgICAgaSwgICAgaSIpDQorICAgKHJlZzpTSSBWTF9SRUdOVU0p DQorICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pDQorICAgKHJlZzpTSSBGUk1f UkVHTlVNKQ0KKyBdIFVOU1BFQ19WUFJFRElDQVRFDQorICAgICAgICkNCisg ICAgICAgKHBsdXM6VlNGDQorICh2ZWNfZHVwbGljYXRlOlZTRg0KKyAgICh2 ZWNfc2VsZWN0OjxWRUw+DQorICAgICAobWF0Y2hfb3BlcmFuZDpWU0ZfTE1V TDEgNCAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAiICAgdnIsICAgdnIiKQ0K KyAgICAgKHBhcmFsbGVsIFsoY29uc3RfaW50IDApXSkNCisgICApDQorICkN CisgKG1hdGNoX29wZXJhbmQ6VlNGICAgICAgICAgICAzICJyZWdpc3Rlcl9v cGVyYW5kIiAgICAgICIgICB2ciwgICB2ciIpDQorICAgICAgICkNCisgICAg ICAgKG1hdGNoX29wZXJhbmQ6VlNGX0xNVUwxICAgICAgIDIgInZlY3Rvcl9t ZXJnZV9vcGVyYW5kIiAgIiAgIHZ1LCAgICAwIikNCisgICAgIF0gVU5TUEVD X1JFRFVDDQorICAgKQ0KKyBdIE9SREVSDQorICAgICAgKQ0KKyAgICApDQor ICBdDQorICAiVEFSR0VUX1ZFQ1RPUiINCiAgICJ2ZnJlZDxvcmRlcj5zdW0u dnNcdCUwLCUzLCU0JXAxIg0KLSAgWyhzZXRfYXR0ciAidHlwZSIgInZmcmVk PG9yZGVyPiIpDQotICAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQ0K KyAgWw0KKyAgICAoc2V0X2F0dHIgInR5cGUiICJ2ZnJlZDxvcmRlcj4iKQ0K KyAgICAoc2V0X2F0dHIgIm1vZGUiICI8VlNGOk1PREU+IikNCisgIF0NCisp DQotKGRlZmluZV9pbnNuICJAcHJlZF9yZWR1Y19wbHVzPG9yZGVyPjxtb2Rl Pjx2bG11bDFfenZlMzI+Ig0KLSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZM TVVMMV9aVkUzMj4gMCAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAgICAgICAi PXZkLCB2ZCwgdnIsIHZyIikNCi0gKHVuc3BlYzo8VkxNVUwxX1pWRTMyPg0K LSAgIFsodW5zcGVjOjxWTE1VTDFfWlZFMzI+DQotICAgICBbKHVuc3BlYzo8 Vk0+DQotICAgICAgICBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3Jf bWFza19vcGVyYW5kIiAgICAgICAgICAgIiB2bSwgdm0sV2MxLFdjMSIpDQot ICAgICAgICAgKG1hdGNoX29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVy YW5kIiAgICAgICAgICAgICAgIiBySywgckssIHJLLCBySyIpDQotICAgICAg ICAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiICAgICAg ICAgICAgICAgICAgIiAgaSwgIGksICBpLCAgaSIpDQotICAgICAgICAgKG1h dGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAgICAg ICAgICAgIiAgaSwgIGksICBpLCAgaSIpDQotICAgICAgICAgKG1hdGNoX29w ZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAgICAgICAgICAg IiAgaSwgIGksICBpLCAgaSIpDQotICAgICAgICAgKHJlZzpTSSBWTF9SRUdO VU0pDQotICAgICAgICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pDQotICAgICAg ICAgKHJlZzpTSSBGUk1fUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpDQot ICAgICAgKHBsdXM6VkZfWlZFMzINCi0gICAgICAgICh2ZWNfZHVwbGljYXRl OlZGX1pWRTMyDQotICAgICAgICAgICh2ZWNfc2VsZWN0OjxWRUw+DQotICAg ICAgICAgICAgKG1hdGNoX29wZXJhbmQ6PFZMTVVMMV9aVkUzMj4gNCAicmVn aXN0ZXJfb3BlcmFuZCIgIiB2ciwgdnIsIHZyLCB2ciIpDQotICAgICAgICAg ICAgKHBhcmFsbGVsIFsoY29uc3RfaW50IDApXSkpKQ0KLSAgICAgICAgKG1h dGNoX29wZXJhbmQ6VkZfWlZFMzIgMyAicmVnaXN0ZXJfb3BlcmFuZCIgICAg ICAgICAgICIgdnIsIHZyLCB2ciwgdnIiKSkNCi0gICAgICAobWF0Y2hfb3Bl cmFuZDo8VkxNVUwxX1pWRTMyPiAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIg ICAiIHZ1LCAgMCwgdnUsICAwIildIFVOU1BFQ19SRURVQyldIE9SREVSKSld DQotICAiVEFSR0VUX1ZFQ1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4gPT0gMzIi DQorOzsgRmxvYXQgT3JkZXJlZCBSZWR1Y3Rpb24gU3VtIGZvciBERg0KKyhk ZWZpbmVfaW5zbiAiQHByZWRfcmVkdWNfcGx1czxvcmRlcj48VkRGOm1vZGU+ PFZERl9MTVVMMTptb2RlPiINCisgIFsNCisgICAgKHNldA0KKyAgICAgICht YXRjaF9vcGVyYW5kOlZERl9MTVVMMSAgICAgICAgICAgICAgIDAgInJlZ2lz dGVyX29wZXJhbmQiICAgICAgIj12cix2ciIpDQorICAgICAgKHVuc3BlYzpW REZfTE1VTDENCisgWw0KKyAgICh1bnNwZWM6VkRGX0xNVUwxDQorICAgICBb DQorICAgICAgICh1bnNwZWM6PFZERjpWTT4NCisgWw0KKyAgIChtYXRjaF9v cGVyYW5kOjxWREY6Vk0+ICAgIDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICAg InZtV2MxLHZtV2MxIikNCisgICAobWF0Y2hfb3BlcmFuZCAgICAgICAgICAg ICA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICIgICBySywgICBySyIpDQor ICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAgICAgNiAiY29uc3RfaW50X29w ZXJhbmQiICAgICAiICAgIGksICAgIGkiKQ0KKyAgIChtYXRjaF9vcGVyYW5k ICAgICAgICAgICAgIDcgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgIiAgICBp LCAgICBpIikNCisgICAobWF0Y2hfb3BlcmFuZCAgICAgICAgICAgICA4ICJj b25zdF9pbnRfb3BlcmFuZCIgICAgICIgICAgaSwgICAgaSIpDQorICAgKHJl ZzpTSSBWTF9SRUdOVU0pDQorICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pDQor ICAgKHJlZzpTSSBGUk1fUkVHTlVNKQ0KKyBdIFVOU1BFQ19WUFJFRElDQVRF DQorICAgICAgICkNCisgICAgICAgKHBsdXM6VkRGDQorICh2ZWNfZHVwbGlj YXRlOlZERg0KKyAgICh2ZWNfc2VsZWN0OjxWRUw+DQorICAgICAobWF0Y2hf b3BlcmFuZDpWREZfTE1VTDEgNCAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAi ICAgdnIsICAgdnIiKQ0KKyAgICAgKHBhcmFsbGVsIFsoY29uc3RfaW50IDAp XSkNCisgICApDQorICkNCisgKG1hdGNoX29wZXJhbmQ6VkRGICAgICAgICAg ICAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICIgICB2ciwgICB2ciIpDQor ICAgICAgICkNCisgICAgICAgKG1hdGNoX29wZXJhbmQ6VkRGX0xNVUwxICAg ICAgIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgIiAgIHZ1LCAgICAwIikN CisgICAgIF0gVU5TUEVDX1JFRFVDDQorICAgKQ0KKyBdIE9SREVSDQorICAg ICAgKQ0KKyAgICApDQorICBdDQorICAiVEFSR0VUX1ZFQ1RPUiINCiAgICJ2 ZnJlZDxvcmRlcj5zdW0udnNcdCUwLCUzLCU0JXAxIg0KLSAgWyhzZXRfYXR0 ciAidHlwZSIgInZmcmVkPG9yZGVyPiIpDQotICAgKHNldF9hdHRyICJtb2Rl IiAiPE1PREU+IildKQ0KKyAgWw0KKyAgICAoc2V0X2F0dHIgInR5cGUiICJ2 ZnJlZDxvcmRlcj4iKQ0KKyAgICAoc2V0X2F0dHIgIm1vZGUiICI8VkRGOk1P REU+IikNCisgIF0NCispDQooZGVmaW5lX2luc24gIkBwcmVkX3dpZGVuX3Jl ZHVjX3BsdXM8b3JkZXI+PG1vZGU+PHZ3bG11bDE+Ig0KICAgWyhzZXQgKG1h dGNoX29wZXJhbmQ6PFZXTE1VTDE+IDAgInJlZ2lzdGVyX29wZXJhbmQiICAg ICAgICAgICAgICI9JnZyLCAgJnZyIikNCmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTAyNzctMS5j IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3By MTEwMjc3LTEuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAw MDAwMDAwLi4yNGE0YmEzYjQ1Zg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEwMjc3 LTEuYw0KQEAgLTAsMCArMSw5IEBADQorLyogeyBkZy1kbyBjb21waWxlIH0g Ki8NCisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjMyZ2NfenZlMzJmX3p2 ZmggLW1hYmk9aWxwMzJmIC1PMyAtV25vLXBzYWJpIiB9ICovDQorDQorI2lu Y2x1ZGUgInByMTEwMjc3LTEuaCINCisNCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZmcmVkbWF4XC52c1xzK3ZbMC05XSssXHMq dlswLTldKyxccyp2WzAtOV0rfSAyIH0gfSAqLw0KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dmZyZWRtaW5cLnZzXHMrdlswLTld Kyxccyp2WzAtOV0rLFxzKnZbMC05XSt9IDIgfSB9ICovDQorLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2ZnJlZG9zdW1cLnZzXHMr dlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9IDIgfSB9ICovDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2ZnJlZHVzdW1c LnZzXHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9IDIgfSB9ICov DQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3ByMTEwMjc3LTEuaCBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMDI3Ny0xLmgNCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uNjdjMjk2YzIyMTMNCi0t LSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9ydnYvYmFzZS9wcjExMDI3Ny0xLmgNCkBAIC0wLDAgKzEsMzMgQEAN CisjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQorDQordmZsb2F0MTZtMV90 IHRlc3RfdmZyZWRtYXhfdnNfZjE2bWYyX2YxNm0xKHZmbG9hdDE2bWYyX3Qg dmVjdG9yLCB2ZmxvYXQxNm0xX3Qgc2NhbGFyLCBzaXplX3QgdmwpIHsNCisg IHJldHVybiBfX3Jpc2N2X3ZmcmVkbWF4X3ZzX2YxNm1mMl9mMTZtMSh2ZWN0 b3IsIHNjYWxhciwgdmwpOw0KK30NCisNCit2ZmxvYXQzMm0xX3QgdGVzdF92 ZnJlZG1heF92c19mMzJtOF9mMzJtMSh2ZmxvYXQzMm04X3QgdmVjdG9yLCB2 ZmxvYXQzMm0xX3Qgc2NhbGFyLCBzaXplX3QgdmwpIHsNCisgIHJldHVybiBf X3Jpc2N2X3ZmcmVkbWF4X3ZzX2YzMm04X2YzMm0xKHZlY3Rvciwgc2NhbGFy LCB2bCk7DQorfQ0KKw0KK3ZmbG9hdDE2bTFfdCB0ZXN0X3ZmcmVkbWluX3Zz X2YxNm1mMl9mMTZtMSh2ZmxvYXQxNm1mMl90IHZlY3RvciwgdmZsb2F0MTZt MV90IHNjYWxhciwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92 ZnJlZG1pbl92c19mMTZtZjJfZjE2bTEodmVjdG9yLCBzY2FsYXIsIHZsKTsN Cit9DQorDQordmZsb2F0MzJtMV90IHRlc3RfdmZyZWRtaW5fdnNfZjMybThf ZjMybTEodmZsb2F0MzJtOF90IHZlY3RvciwgdmZsb2F0MzJtMV90IHNjYWxh ciwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92ZnJlZG1pbl92 c19mMzJtOF9mMzJtMSh2ZWN0b3IsIHNjYWxhciwgdmwpOw0KK30NCisNCit2 ZmxvYXQxNm0xX3QgdGVzdF92ZnJlZG9zdW1fdnNfZjE2bWYyX2YxNm0xKHZm bG9hdDE2bWYyX3QgdmVjdG9yLCB2ZmxvYXQxNm0xX3Qgc2NhbGFyLCBzaXpl X3QgdmwpIHsNCisgIHJldHVybiBfX3Jpc2N2X3ZmcmVkb3N1bV92c19mMTZt ZjJfZjE2bTEodmVjdG9yLCBzY2FsYXIsIHZsKTsNCit9DQorDQordmZsb2F0 MzJtMV90IHRlc3RfdmZyZWRvc3VtX3ZzX2YzMm04X2YzMm0xKHZmbG9hdDMy bThfdCB2ZWN0b3IsIHZmbG9hdDMybTFfdCBzY2FsYXIsIHNpemVfdCB2bCkg ew0KKyAgcmV0dXJuIF9fcmlzY3ZfdmZyZWRvc3VtX3ZzX2YzMm04X2YzMm0x KHZlY3Rvciwgc2NhbGFyLCB2bCk7DQorfQ0KKw0KK3ZmbG9hdDE2bTFfdCB0 ZXN0X3ZmcmVkdXN1bV92c19mMTZtZjJfZjE2bTEodmZsb2F0MTZtZjJfdCB2 ZWN0b3IsIHZmbG9hdDE2bTFfdCBzY2FsYXIsIHNpemVfdCB2bCkgew0KKyAg cmV0dXJuIF9fcmlzY3ZfdmZyZWR1c3VtX3ZzX2YxNm1mMl9mMTZtMSh2ZWN0 b3IsIHNjYWxhciwgdmwpOw0KK30NCisNCit2ZmxvYXQzMm0xX3QgdGVzdF92 ZnJlZHVzdW1fdnNfZjMybThfZjMybTEodmZsb2F0MzJtOF90IHZlY3Rvciwg dmZsb2F0MzJtMV90IHNjYWxhciwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4g X19yaXNjdl92ZnJlZHVzdW1fdnNfZjMybThfZjMybTEodmVjdG9yLCBzY2Fs YXIsIHZsKTsNCit9DQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEwMjc3LTIuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMDI3Ny0yLmMN Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uMjNk NzM2MTQ4OGENCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMDI3Ny0yLmMNCkBAIC0w LDAgKzEsMTEgQEANCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsg ZGctb3B0aW9ucyAiLW1hcmNoPXJ2MzJnY196dmU2NGRfenZmaCAtbWFiaT1p bHAzMmQgLU8zIC1Xbm8tcHNhYmkiIH0gKi8NCisNCisjaW5jbHVkZSAicHIx MTAyNzctMS5oIg0KKyNpbmNsdWRlICJwcjExMDI3Ny0yLmgiDQorDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2ZnJlZG1heFwu dnNccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gNCB9IH0gKi8N CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZmcmVk bWluXC52c1xzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSA0IH0g fSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dmZyZWRvc3VtXC52c1xzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0r fSA0IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dmZyZWR1c3VtXC52c1xzK3ZbMC05XSssXHMqdlswLTldKyxccyp2 WzAtOV0rfSA0IH0gfSAqLw0KKw0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMDI3Ny0yLmggYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTAy NzctMi5oDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAw MDAuLjdlNWM4MWFhMjEzDQotLS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTAyNzctMi5o DQpAQCAtMCwwICsxLDMzIEBADQorI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5o Ig0KKw0KK3ZmbG9hdDE2bTFfdCB0ZXN0X3ZmcmVkbWF4X3ZzX2YxNm1mNF9m MTZtMSh2ZmxvYXQxNm1mNF90IHZlY3RvciwgdmZsb2F0MTZtMV90IHNjYWxh ciwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92ZnJlZG1heF92 c19mMTZtZjRfZjE2bTEodmVjdG9yLCBzY2FsYXIsIHZsKTsNCit9DQorDQor dmZsb2F0MTZtMV90IHRlc3RfdmZyZWRtaW5fdnNfZjE2bWY0X2YxNm0xKHZm bG9hdDE2bWY0X3QgdmVjdG9yLCB2ZmxvYXQxNm0xX3Qgc2NhbGFyLCBzaXpl X3QgdmwpIHsNCisgIHJldHVybiBfX3Jpc2N2X3ZmcmVkbWluX3ZzX2YxNm1m NF9mMTZtMSh2ZWN0b3IsIHNjYWxhciwgdmwpOw0KK30NCisNCit2ZmxvYXQx Nm0xX3QgdGVzdF92ZnJlZG9zdW1fdnNfZjE2bWY0X2YxNm0xKHZmbG9hdDE2 bWY0X3QgdmVjdG9yLCB2ZmxvYXQxNm0xX3Qgc2NhbGFyLCBzaXplX3Qgdmwp IHsNCisgIHJldHVybiBfX3Jpc2N2X3ZmcmVkb3N1bV92c19mMTZtZjRfZjE2 bTEodmVjdG9yLCBzY2FsYXIsIHZsKTsNCit9DQorDQordmZsb2F0MTZtMV90 IHRlc3RfdmZyZWR1c3VtX3ZzX2YxNm1mNF9mMTZtMSh2ZmxvYXQxNm1mNF90 IHZlY3RvciwgdmZsb2F0MTZtMV90IHNjYWxhciwgc2l6ZV90IHZsKSB7DQor ICByZXR1cm4gX19yaXNjdl92ZnJlZHVzdW1fdnNfZjE2bWY0X2YxNm0xKHZl Y3Rvciwgc2NhbGFyLCB2bCk7DQorfQ0KKw0KK3ZmbG9hdDY0bTFfdCB0ZXN0 X3ZmcmVkbWF4X3ZzX2Y2NG04X2Y2NG0xKHZmbG9hdDY0bThfdCB2ZWN0b3Is IHZmbG9hdDY0bTFfdCBzY2FsYXIsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJu IF9fcmlzY3ZfdmZyZWRtYXhfdnNfZjY0bThfZjY0bTEodmVjdG9yLCBzY2Fs YXIsIHZsKTsNCit9DQorDQordmZsb2F0NjRtMV90IHRlc3RfdmZyZWRtaW5f dnNfZjY0bThfZjY0bTEodmZsb2F0NjRtOF90IHZlY3RvciwgdmZsb2F0NjRt MV90IHNjYWxhciwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92 ZnJlZG1pbl92c19mNjRtOF9mNjRtMSh2ZWN0b3IsIHNjYWxhciwgdmwpOw0K K30NCisNCit2ZmxvYXQ2NG0xX3QgdGVzdF92ZnJlZG9zdW1fdnNfZjY0bThf ZjY0bTEodmZsb2F0NjRtOF90IHZlY3RvciwgdmZsb2F0NjRtMV90IHNjYWxh ciwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92ZnJlZG9zdW1f dnNfZjY0bThfZjY0bTEodmVjdG9yLCBzY2FsYXIsIHZsKTsNCit9DQorDQor dmZsb2F0NjRtMV90IHRlc3RfdmZyZWR1c3VtX3ZzX2Y2NG04X2Y2NG0xKHZm bG9hdDY0bThfdCB2ZWN0b3IsIHZmbG9hdDY0bTFfdCBzY2FsYXIsIHNpemVf dCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3ZfdmZyZWR1c3VtX3ZzX2Y2NG04 X2Y2NG0xKHZlY3Rvciwgc2NhbGFyLCB2bCk7DQorfQ0KLS0NCjIuMzQuMQ0K DQoNCg== --_000_MW5PR11MB5908F4614C243970189E1DCDA95EAMW5PR11MB5908namp_--