From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2F78FA034E for ; Wed, 12 Jan 2022 12:30:05 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1AEF3426FB; Wed, 12 Jan 2022 12:30:05 +0100 (CET) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 0B7C340040; Wed, 12 Jan 2022 12:30:01 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1641987002; x=1673523002; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=eaJIjmxB4P6aZyAgBPKZr/JuLXfFDCB2W663X1faO5g=; b=jVehoSIH4ZP3z3tiVNq8x7ZEI6Rrj8l3L05MGxg1RY0he+ZUsnr2p7FM QyNbjBYl10AxW9bY0fhH/6pKUcsxjzYGAR5YTGZyd+vKzmyDA3fmo+8zY gm4ZxLAMAJxymeQN1YjyU2cZ0kTyXWLlj6qKkwBPKjywi9vKJaaAdim4Z 9VmUveRRCkaq1R8NDJyBw+ulTGwWIwBYukwPzcIa9X1JhUfa1vwpgdCVt xlWI3fUGKLVFHQPda/Kk3pIw5sstSyRin8xjf5WXabYrTIpVYF8Anakzz NTCCXjnrnHqwOqLhjMOsIA2qSP0TJFFZAe3zc/jlOisTXm+ZRs8gu/5MA g==; X-IronPort-AV: E=McAfee;i="6200,9189,10224"; a="231056107" X-IronPort-AV: E=Sophos;i="5.88,282,1635231600"; d="scan'208";a="231056107" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2022 03:30:01 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,282,1635231600"; d="scan'208";a="515453850" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by orsmga007.jf.intel.com with ESMTP; 12 Jan 2022 03:30:00 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 12 Jan 2022 03:30:00 -0800 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) 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.2308.20; Wed, 12 Jan 2022 03:29:59 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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 via Frontend Transport; Wed, 12 Jan 2022 03:29:59 -0800 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.48) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Wed, 12 Jan 2022 03:29:57 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TQJz9HURDfRsPcyjdGLpkwBe1TUBqJ0LgbuFZVFR2VIPR/ez6qtLJDObQpYy+FXFmwJv6ZQzaKbsxZdJArhLe0Wu8SP4qVHXaPtTQRFPoYgOzUh8z7NeD8V9u2FKPsR01e27yNdNMoid++wL9hB5ucyeTVemti8HimhCarMdDdX//sxCi3HDzqYEtUShbGko3lyWncD2Xl1Y8ot19TplPSR6Ib7dINFRUUNYxUSsh2/Tn4SWbvB78lVwq15CKoSVZsLYuPhUy82uZRyfCvPYSksGrnlPOW0rfPJ6Be7xzgUQjVyNrlE4pEQKMYZOARt5NjmLtqqdoB8uCJU5108dzQ== 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=eaJIjmxB4P6aZyAgBPKZr/JuLXfFDCB2W663X1faO5g=; b=mRhk5URAitpBOLNJRLfOsz5zkiDcyB1MdpEr9+GTDvCxswbF7OJvteyY2ou113nOBIW8+r7Iu2dENWr01FiWfKNy/98tpqyAXldY8X+x9/oFwrQgBouM1TBan0VoLsinZY6YTKcmLGRYucMlAM6a0wYmlf6EYkw6XpBDKxR9gn/wqtMuLAebzvbsMRwa+XhqK7Sk3HxeSBXhk2t9qwVxg5pNoNri20WI92Mbaqtd2PLXbGMR9w31hAZu8su9tLQsMmAJYQxjlQq1tDzDioifN+TyXVtRUxrz8z1NdFj5ityf517ei2WZ5RJKuVCiOkCzxnIcMCTLK4kJTMWB7R5NiQ== 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 BYAPR11MB2711.namprd11.prod.outlook.com (2603:10b6:a02:c2::30) by BY5PR11MB4498.namprd11.prod.outlook.com (2603:10b6:a03:1c2::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Wed, 12 Jan 2022 11:29:51 +0000 Received: from BYAPR11MB2711.namprd11.prod.outlook.com ([fe80::d4d8:987a:6a87:21a7]) by BYAPR11MB2711.namprd11.prod.outlook.com ([fe80::d4d8:987a:6a87:21a7%4]) with mapi id 15.20.4867.011; Wed, 12 Jan 2022 11:29:51 +0000 From: "Jiang, YuX" To: "Xueming(Steven) Li" , "Lin, Xueqin" , "stable@dpdk.org" , "Zhang, Roy Fan" CC: "Stokes, Ian" , "dev@dpdk.org" , "Abhishek.Marathe@microsoft.com" , "ktraynor@redhat.com" , "drc@linux.vnet.ibm.com" , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "Peng, Yuan" , "jerinj@marvell.com" , "Walker, Benjamin" , "Govindharajan, Hariprasad" , Raslan Darawsheh , "bluca@debian.org" , "Mcnamara, John" , "Chen, Zhaoyan" , "Ali Alnubani" , "hemant.agrawal@nxp.com" , "pezhang@redhat.com" , "juhlee@microsoft.com" , "Xu, Qian Q" , "Sun, QingX" Subject: RE: 20.11.4 patches review and test Thread-Topic: 20.11.4 patches review and test Thread-Index: AQHX6ry9eycgTyxDOked8PPH/aUFfqwp4BTggAGu8TCACCAMAIABCoFggAuOdgCAHxb9AIAAEyWAgAAG3rA= Date: Wed, 12 Jan 2022 11:29:51 +0000 Message-ID: References: <20211206161523.565629-1-xuemingl@nvidia.com> <3db579233167ec0e103592ab537198cbcb26575c.camel@nvidia.com> <799e44d4f20c42cc9c3789aaaf5b701223a7eaa9.camel@nvidia.com> In-Reply-To: <799e44d4f20c42cc9c3789aaaf5b701223a7eaa9.camel@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-reaction: no-action dlp-product: dlpe-windows 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: cd3183d5-e141-4a52-bab9-08d9d5bed954 x-ms-traffictypediagnostic: BY5PR11MB4498:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1443; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sfxQq3QygCxN864nzcY/P3rwDmiaeU2zdlY6q/S1S7ie3yZ0nezU1cwS5EmOyPFJOqxQavHxrBKmgliL1avFXkKfSsvlTSjOKuU2vFy5ZF13vdmG4aycPNp/kTt8HdfxlxpEtdpr4MtMliurT9zr2P5XbBIt7kVyouQNQqNRvYfxIC0uXLnZ27Xd4Z9XIbZe55MkldU7iC+JE85k9xeSslOAif5OiFhfefLsgwRcUGkG6Ul4Bqa7ev+JEamo6WH6nayGoDxoHDmZTZKPFWcHGty0hYz7EjKu00/WOLwV5jHLr2Xjt8U74RCftnlvCCES1szQiLOJ0p6vsTqZFT7CKSrgSpf+ji3/wYdSgnTcZopi97sINuQ2vqZomQ9rwAkjIoBjtjDuc5V+elf1UEKjhB8cGCen4LWuYhZMXALeZalct6VKHD3DK0ywxh++niTYFLqH7SIZ5dPk6HX3B3O9Vm4DnQxw65GLutlZd7u23wJkRgu7fSDIHP83FrwMEZRpRBjkYA5Tvl7Tvb9DIvbBhF7TNRO2CtX2ENheAOyffonUr1Bp9eEQzyaC8dWk8rV49NGOSRkHC8DXf9x2GV1B5Vu88EhXER0K0mwp48ZqxaIYrSACCA4ed4U45pBSmi1SED1i3b9CZyPBPAEkHOMeAQnAg68qVLdnRRLNkVcOTxdo4R5Ug6GnjyHWwA3eJSKTwpxyQMGWIUXKIouV5bT3xNDJHDcWzYyNlWbpkGq/OFvbrxAZlLhe7H0R9+BXaUVLINh+HG62CUdnuOf2XYBt0HQEUeZ17UNbxGdvKVywaR5xhsmxcnwQku97dwbTPJ/t1EhqHT1yApMECmvMMOhbeQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2711.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(52536014)(186003)(86362001)(316002)(110136005)(107886003)(4326008)(9686003)(38100700002)(122000001)(82960400001)(2906002)(33656002)(4001150100001)(66556008)(66476007)(66946007)(7696005)(64756008)(66446008)(83380400001)(45080400002)(54906003)(76116006)(8936002)(55016003)(38070700005)(6636002)(53546011)(508600001)(30864003)(6506007)(8676002)(7416002)(71200400001)(966005)(26005)(5660300002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Z084S3gyS3ZnaXZEaEJVY0szOGxaNlJtMGZNVlA3cEV1aFM3YjVwR3NDTlNV?= =?utf-8?B?TDBQVEdmQXBuSVVWZjFZY1VUZ0M4ZThxQWc3UldTVUY1LzhMMHdtZHViTm4v?= =?utf-8?B?QW92ajdlUlVFQ01rSlFsRm5nQjNLVldRc0J5ODJUMllDb2I1ZTdRZStjRkVm?= =?utf-8?B?YTZpYTl4YWx4N1FGNXFlV0dEVnJVS3V4Sis5RGcxUHAwY0ZYNGlPSERVazJw?= =?utf-8?B?bFZjZW5ZMXpaMURpTkM5YWEzWXU4N0dweWRVRHZKMml2M0Z3RWlGM3FmQkdE?= =?utf-8?B?WEk5bE1Yc1Vjd2xXd1ZVM2wxK2JVSHJ5eWZaRGZ3UTV0UnNXZE1kY1BqNkdm?= =?utf-8?B?elRxbUxSbkVRMUNkODVUWDM3aHNCa1I0N0ZGZkVEZGhVaFI0ZDNXZk5wQUta?= =?utf-8?B?R2c3ZVZMQ0VTcG5ZTlRVUExUU3RESGQ1TUNuRVRBdkh4S0MzY0YxVC9qcGw2?= =?utf-8?B?SlZGOXhxU0lUMHNBcE1tRTA5L3VBWEVXcFpjdjZqSE1zeC9maFRpTG1mMU5t?= =?utf-8?B?MDRkQmxueU04NFJjWHVtZGRPcmw1MzV2Smt4STVsR1RsWnJIUXd2K3UvSTIv?= =?utf-8?B?WTFHNzhVV2lPVG5VUEdYOWI5Q1M3bXhPSUJ0UnkrM2dHOWdiZkhlMzJsWjV5?= =?utf-8?B?UitNTHhwSmRwRldaSVdXMVZ2Z2tybUxOazdKcUYycFBBWmJENEZnakdZNW5G?= =?utf-8?B?NzlIdmE1dnZqMDVVZEE4YjBQL09WNFN6WU1yTy9rdDNYQVF6M3pmNTZQcTZw?= =?utf-8?B?WHQ3SllvTldxSmg3SkNEOXVjdXZUa3N4UEdXQXlzbk5DYzlJaEIwaDhUSWNT?= =?utf-8?B?QWxjRFExSTNiR0dmZ0pReDZ3S25YVzhXZjk5blJVaCt6ZHh2Uk45cHI5eXJj?= =?utf-8?B?bnlSSzlFM091R0xnMDB4VUl5eXBXQy9WVW9ZdkFuKzIzMmF6NDFuenVCZElt?= =?utf-8?B?N1owNjEyYjRtS2U2NXpicytGeEgreVZJRTBFV0pyQnRRdlo0RTZLZ3h2OXB4?= =?utf-8?B?enJrUjdHUDUyUU15VmhHVTc4SjNLbW1yL1FGRkJCVThCUzVsMUNGVzRkK3cx?= =?utf-8?B?dU43T21GbFBJQy9ROG9hTWplVWgyem1xbnBFc3ZVVklVMmYrcmtETy9jL0tP?= =?utf-8?B?ekJFTzdEcE9HQmI1MFpZQ3VvK25waDBobnErTjd5MjE1SlU3blVWUi9ySlNY?= =?utf-8?B?REdQR3lVMTV4VkVhTi9LTlhEdFlkb2ZKelJKRmc5TkN3Z0RPd2ViZFdMbU5Q?= =?utf-8?B?cXNmUm5nOE9EVERObXo4MzVrdmxpT1pyR3NTYytaZ1F1Z1lVQTlIUkdTV2t4?= =?utf-8?B?N3hXYXk2Mjg5UTBzdVRPSEZuNmt1WEJ5NUNqNERVZkRLY1krbDduYVRmaVZi?= =?utf-8?B?a2hGYXA1cCs3UWVpa2dWWTBaejVvaUdrZ29QQVZvbWw3SDN1WUpPdFkzNmZJ?= =?utf-8?B?cHdHYkRwL2hUS25pUlREQXlSV1MyS204V3ZSUE5qc0ppcGNNQmJqTzRCWVNE?= =?utf-8?B?UHBUck56Wkk0eEY5SzRwVWUwZjY0R0wybnA1V0JyRDFaYk1NOWd6bnYxRE9T?= =?utf-8?B?UUNySFVYUzVKWlY1WEwrcmhNSzF5N2E2YUh6c3plc251aWYrM0xxeVlJQktk?= =?utf-8?B?bm5KT010dkZYNUVOaUpRaVp5VEFDTkQrbUorMEROYkZ2Vi9QSWkrMVpORVJs?= =?utf-8?B?U2FlenZQaDVhR3U3bERuQ1pPWjMrWWpEbVc0QllEVFhjY2R6eU9oZzM4a3RY?= =?utf-8?B?WmV1S0FxcjJWK1Q1eGtBamtWZmZoTlQ0MStLNXVPWnBqSkJEK2dIYmFIRVdn?= =?utf-8?B?dEg5cmdBOWhJNitZVHN4YTkrcWRGbVMxY1g0UEgydGprNldYTjJxbi9LMDhs?= =?utf-8?B?QUZuVEVGMTZTOXdENXc5U0VpaG9oUG5MZ2ZnZXlMZnBuRkwwd3k0ZkUvZzlD?= =?utf-8?B?T0RobW5aZWF4ZmNKSTVXUFNUZy8wNGJXYlFjS1o4bnJCSzFDdyt0OHFGdFBt?= =?utf-8?B?MkxGVlB3Ny9ObmJSeHlGM29KbmZWNmkycWk2OWdaQ3R5a0NzUDNWeTQvZE5L?= =?utf-8?B?K085SkF4YU4wN3BOcGZFaWFXN1NKdGVqaVNPTVNFblA3eFRYTXo1ZWFPN1FO?= =?utf-8?B?aTc4Z3lvaGFKaVVudjBrYzFqVFNtdFE0N1c2Z3E1WTNpdFN3bUY0aVlXU0ZP?= =?utf-8?Q?KyQhSZJSCGFh3oygfZMjWkc=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB2711.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cd3183d5-e141-4a52-bab9-08d9d5bed954 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jan 2022 11:29:51.3847 (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: 3X6LqFcuHG3LiAm6ToPX+YFvwNOYjriVFaOXNFc/uGaX5oYAeRWw7wLRltgO0+EACCuZP9v4i6ADhYvCY5cyNQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB4498 X-OriginatorOrg: intel.com X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBYdWVtaW5nKFN0ZXZlbikgTGkg PHh1ZW1pbmdsQG52aWRpYS5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgSmFudWFyeSAxMiwgMjAy MiA3OjAyIFBNDQo+IFRvOiBMaW4sIFh1ZXFpbiA8eHVlcWluLmxpbkBpbnRlbC5jb20+OyBzdGFi bGVAZHBkay5vcmc7IFpoYW5nLCBSb3kgRmFuDQo+IDxyb3kuZmFuLnpoYW5nQGludGVsLmNvbT47 IEppYW5nLCBZdVggPHl1eC5qaWFuZ0BpbnRlbC5jb20+DQo+IENjOiBTdG9rZXMsIElhbiA8aWFu LnN0b2tlc0BpbnRlbC5jb20+OyBkZXZAZHBkay5vcmc7DQo+IEFiaGlzaGVrLk1hcmF0aGVAbWlj cm9zb2Z0LmNvbTsga3RyYXlub3JAcmVkaGF0LmNvbTsNCj4gZHJjQGxpbnV4LnZuZXQuaWJtLmNv bTsgTkJVLUNvbnRhY3QtVGhvbWFzIE1vbmphbG9uIChFWFRFUk5BTCkNCj4gPHRob21hc0Btb25q YWxvbi5uZXQ+OyBQZW5nLCBZdWFuIDx5dWFuLnBlbmdAaW50ZWwuY29tPjsNCj4gamVyaW5qQG1h cnZlbGwuY29tOyBXYWxrZXIsIEJlbmphbWluIDxiZW5qYW1pbi53YWxrZXJAaW50ZWwuY29tPjsN Cj4gR292aW5kaGFyYWphbiwgSGFyaXByYXNhZCA8aGFyaXByYXNhZC5nb3ZpbmRoYXJhamFuQGlu dGVsLmNvbT47IFJhc2xhbg0KPiBEYXJhd3NoZWggPHJhc2xhbmRAbnZpZGlhLmNvbT47IGJsdWNh QGRlYmlhbi5vcmc7IE1jbmFtYXJhLCBKb2huDQo+IDxqb2huLm1jbmFtYXJhQGludGVsLmNvbT47 IENoZW4sIFpoYW95YW4gPHpoYW95YW4uY2hlbkBpbnRlbC5jb20+Ow0KPiBBbGkgQWxudWJhbmkg PGFsaWFsbnVAbnZpZGlhLmNvbT47IGhlbWFudC5hZ3Jhd2FsQG54cC5jb207DQo+IHBlemhhbmdA cmVkaGF0LmNvbTsganVobGVlQG1pY3Jvc29mdC5jb207IFh1LCBRaWFuIFENCj4gPHFpYW4ucS54 dUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiAyMC4xMS40IHBhdGNoZXMgcmV2aWV3IGFuZCB0 ZXN0DQo+IA0KPiBPbiBXZWQsIDIwMjItMDEtMTIgYXQgMDk6NTMgKzAwMDAsIFpoYW5nLCBSb3kg RmFuIHdyb3RlOg0KPiA+IEhpIFh1ZW1pbmcsDQo+ID4NCj4gPiBIYXBweSBuZXcgeWVhciENCj4g PiBTb3JyeSBmb3IgdGhlIGxhdGUgcmVwbHkgLSBjb3VsZCB5b3UgaGVscCByZXZlcnQgdGhlIGNv bW1pdA0KPiA+DQo+ID4gMmYyYzJiNWI3ZTdhZTQ5NDJiNGIzNjg2YmNlMmViODU2ZmVlNDQ3ZA0K PiA+IEF1dGhvcjogUHJ6ZW15c2xhdyBaZWdhbiA8cHJ6ZW15c2xhd3guemVnYW5AaW50ZWwuY29t Pg0KPiA+IERhdGU6IFdlZCBOb3YgMyAxNTowODoyMyAyMDIxDQo+ID4gY29tbW9uL3FhdDogZml4 IHF1ZXVlIHBhaXJzIG51bWJlcg0KPiA+DQo+ID4gQXMgdGhpcyBwYXRjaCByZWxhdGVzIHRvIG5l dyBmZWF0dXJlIGludHJvZHVjZSBpbiAyMDIxIGFuZCBpcyBub3QgbWVhbnQgZm9yDQo+IDIwLjEx IHN0YWJsZS4NCj4gPiBTb3JyeSBmb3IgdGhlIHByb2JsZW0gY2F1c2VkLg0KPiANCj4gTlAsIGhh cHB5IG5ldyB5ZWFyIQ0KPiANCkhpIFh1ZW1pbmcsDQpNYXkgSSBrbm93IHRoaXMgcGF0Y2ggaHR0 cDovL2luYm94LmRwZGsub3JnL3N0YWJsZS8yMDIxMTIwODEwMzQxMC44MzU1NDItMS1mZXJydWgu eWlnaXRAaW50ZWwuY29tL1QvI3Ugd2lsbCBiZSBtZXJnZWQgaW50byBMVFMyMC4xMS40IG9yIG5v dD8NCltkcGRrLTIwLjExLjRda2VybmVsL2xpbnV4L2tuaS9ydGVfa25pLmtvIGJ1aWxkIGZhaWxl ZCBvbiBPcGVuU3VzZTE1LjMgd2l0aCBnY2M3LjUuMCZjbGFuZzExLjAuMQ0KDQo+ID4NCj4gPiBS ZWdhcmRzLA0KPiA+IEZhbg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+ID4gRnJvbTogWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPg0KPiA+ ID4gU2VudDogVGh1cnNkYXksIERlY2VtYmVyIDIzLCAyMDIxIDM6MDcgUE0NCj4gPiA+IFRvOiBM aW4sIFh1ZXFpbiA8eHVlcWluLmxpbkBpbnRlbC5jb20+OyBKaWFuZywgWXVYDQo+ID4gPiA8eXV4 LmppYW5nQGludGVsLmNvbT47IHN0YWJsZUBkcGRrLm9yZw0KPiA+ID4gQ2M6IFN0b2tlcywgSWFu IDxpYW4uc3Rva2VzQGludGVsLmNvbT47IGRldkBkcGRrLm9yZzsNCj4gPiA+IEFiaGlzaGVrLk1h cmF0aGVAbWljcm9zb2Z0LmNvbTsgTkJVLUNvbnRhY3QtVGhvbWFzIE1vbmphbG9uDQo+ID4gPiAo RVhURVJOQUwpIDx0aG9tYXNAbW9uamFsb24ubmV0PjsgZHJjQGxpbnV4LnZuZXQuaWJtLmNvbTsN Cj4gPiA+IGt0cmF5bm9yQHJlZGhhdC5jb207IFBlbmcsIFl1YW4gPHl1YW4ucGVuZ0BpbnRlbC5j b20+Ow0KPiA+ID4gamVyaW5qQG1hcnZlbGwuY29tOyBXYWxrZXIsIEJlbmphbWluIDxiZW5qYW1p bi53YWxrZXJAaW50ZWwuY29tPjsNCj4gPiA+IEdvdmluZGhhcmFqYW4sIEhhcmlwcmFzYWQgPGhh cmlwcmFzYWQuZ292aW5kaGFyYWphbkBpbnRlbC5jb20+Ow0KPiA+ID4gUmFzbGFuIERhcmF3c2hl aCA8cmFzbGFuZEBudmlkaWEuY29tPjsgYmx1Y2FAZGViaWFuLm9yZzsgTWNuYW1hcmEsDQo+ID4g PiBKb2huIDxqb2huLm1jbmFtYXJhQGludGVsLmNvbT47IENoZW4sIFpoYW95YW4NCj4gPiA+IDx6 aGFveWFuLmNoZW5AaW50ZWwuY29tPjsgQWxpIEFsbnViYW5pIDxhbGlhbG51QG52aWRpYS5jb20+ Ow0KPiA+ID4gaGVtYW50LmFncmF3YWxAbnhwLmNvbTsgcGV6aGFuZ0ByZWRoYXQuY29tOw0KPiBq dWhsZWVAbWljcm9zb2Z0LmNvbTsNCj4gPiA+IFh1LCBRaWFuIFEgPHFpYW4ucS54dUBpbnRlbC5j b20+DQo+ID4gPiBTdWJqZWN0OiBSZTogMjAuMTEuNCBwYXRjaGVzIHJldmlldyBhbmQgdGVzdA0K PiA+ID4NCj4gPiA+IE9uIFRodSwgMjAyMS0xMi0xNiBhdCAwNjo0MCArMDAwMCwgSmlhbmcsIFl1 WCB3cm90ZToNCj4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ IEZyb206IFh1ZW1pbmcoU3RldmVuKSBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4NCj4gPiA+ID4g PiBTZW50OiBXZWRuZXNkYXksIERlY2VtYmVyIDE1LCAyMDIxIDEwOjQ1IFBNDQo+ID4gPiA+ID4g VG86IExpbiwgWHVlcWluIDx4dWVxaW4ubGluQGludGVsLmNvbT47IEppYW5nLCBZdVgNCj4gPiA+ ID4gPiA8eXV4LmppYW5nQGludGVsLmNvbT47IHN0YWJsZUBkcGRrLm9yZw0KPiA+ID4gPiA+IENj OiBTdG9rZXMsIElhbiA8aWFuLnN0b2tlc0BpbnRlbC5jb20+OyBkZXZAZHBkay5vcmc7DQo+ID4g PiA+ID4ga3RyYXlub3JAcmVkaGF0LmNvbTsgQWJoaXNoZWsuTWFyYXRoZUBtaWNyb3NvZnQuY29t Ow0KPiA+ID4gPiA+IGRyY0BsaW51eC52bmV0LmlibS5jb207IE5CVS1Db250YWN0LVRob21hcyBN b25qYWxvbiAoRVhURVJOQUwpDQo+ID4gPiA+ID4gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBQZW5n LCBZdWFuIDx5dWFuLnBlbmdAaW50ZWwuY29tPjsNCj4gPiA+ID4gPiBqZXJpbmpAbWFydmVsbC5j b207IFdhbGtlciwgQmVuamFtaW4NCj4gPiA+ID4gPiA8YmVuamFtaW4ud2Fsa2VyQGludGVsLmNv bT47IGJsdWNhQGRlYmlhbi5vcmc7IFJhc2xhbiBEYXJhd3NoZWgNCj4gPiA+ID4gPiA8cmFzbGFu ZEBudmlkaWEuY29tPjsgTWNuYW1hcmEsIEpvaG4NCj4gPGpvaG4ubWNuYW1hcmFAaW50ZWwuY29t PjsNCj4gPiA+ID4gPiBDaGVuLCBaaGFveWFuIDx6aGFveWFuLmNoZW5AaW50ZWwuY29tPjsgR292 aW5kaGFyYWphbiwNCj4gPiA+ID4gPiBIYXJpcHJhc2FkIDxoYXJpcHJhc2FkLmdvdmluZGhhcmFq YW5AaW50ZWwuY29tPjsgQWxpIEFsbnViYW5pDQo+ID4gPiA+ID4gPGFsaWFsbnVAbnZpZGlhLmNv bT47IGhlbWFudC5hZ3Jhd2FsQG54cC5jb207DQo+ID4gPiA+ID4gcGV6aGFuZ0ByZWRoYXQuY29t Ow0KPiA+ID4ganVobGVlQG1pY3Jvc29mdC5jb207DQo+ID4gPiA+ID4gWHUsIFFpYW4gUSA8cWlh bi5xLnh1QGludGVsLmNvbT4NCj4gPiA+ID4gPiBTdWJqZWN0OiBSZTogMjAuMTEuNCBwYXRjaGVz IHJldmlldyBhbmQgdGVzdA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gT24gRnJpLCAyMDIxLTEyLTEw IGF0IDExOjM1ICswMDAwLCBKaWFuZywgWXVYIHdyb3RlOg0KPiA+ID4gPiA+ID4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ID4gPiBGcm9tOiBKaWFuZywgWXVYIDx5dXgu amlhbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gPiBTZW50OiBUaHVyc2RheSwgRGVjZW1iZXIg OSwgMjAyMSA2OjAxIFBNDQo+ID4gPiA+ID4gPiA+IFRvOiBYdWVtaW5nIExpIDx4dWVtaW5nbEBu dmlkaWEuY29tPjsgc3RhYmxlQGRwZGsub3JnOyBMaW4sDQo+ID4gPiA+ID4gPiA+IFh1ZXFpbiA8 eHVlcWluLmxpbkBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiA+IENjOiBkZXZAZHBkay5vcmc7IEFi aGlzaGVrIE1hcmF0aGUNCj4gPiA+ID4gPiA+ID4gPEFiaGlzaGVrLk1hcmF0aGVAbWljcm9zb2Z0 LmNvbT47IEFsaSBBbG51YmFuaQ0KPiA+ID4gPiA+ID4gPiA8YWxpYWxudUBudmlkaWEuY29tPjsg V2Fsa2VyLCBCZW5qYW1pbg0KPiA+ID4gPiA+ID4gPiA8YmVuamFtaW4ud2Fsa2VyQGludGVsLmNv bT47IERhdmlkIENocmlzdGVuc2VuDQo+ID4gPiA+ID4gPiA+IDxkcmNAbGludXgudm5ldC5pYm0u Y29tPjsgR292aW5kaGFyYWphbiwgSGFyaXByYXNhZA0KPiA+ID4gPiA+ID4gPiA8aGFyaXByYXNh ZC5nb3ZpbmRoYXJhamFuQGludGVsLmNvbT47IEhlbWFudCBBZ3Jhd2FsDQo+ID4gPiA+ID4gPiA+ IDxoZW1hbnQuYWdyYXdhbEBueHAuY29tPjsgU3Rva2VzLCBJYW4NCj4gPiA+ID4gPiA+ID4gPGlh bi5zdG9rZXNAaW50ZWwuY29tPjsgSmVyaW4gSmFjb2IgPGplcmluakBtYXJ2ZWxsLmNvbT47DQo+ ID4gPiA+ID4gPiA+IE1jbmFtYXJhLCBKb2huIDxqb2huLm1jbmFtYXJhQGludGVsLmNvbT47IEp1 LUh5b3VuZyBMZWUNCj4gPiA+ID4gPiA+ID4gPGp1aGxlZUBtaWNyb3NvZnQuY29tPjsgS2V2aW4g VHJheW5vciA8a3RyYXlub3JAcmVkaGF0LmNvbT47DQo+ID4gPiA+ID4gPiA+IEx1Y2EgQm9jY2Fz c2kgPGJsdWNhQGRlYmlhbi5vcmc+OyBQZWkgWmhhbmcNCj4gPiA+ID4gPiA+ID4gPHBlemhhbmdA cmVkaGF0LmNvbT47IFh1LCBRaWFuIFEgPHFpYW4ucS54dUBpbnRlbC5jb20+Ow0KPiA+ID4gPiA+ ID4gPiBSYXNsYW4gRGFyYXdzaGVoIDxyYXNsYW5kQG52aWRpYS5jb20+Ow0KPiA+ID4gPiA+IFRo b21hcw0KPiA+ID4gPiA+ID4gPiBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IFBlbmcs IFl1YW4NCj4gPiA+ID4gPiA8eXVhbi5wZW5nQGludGVsLmNvbT47DQo+ID4gPiA+ID4gPiA+IENo ZW4sIFpoYW95YW4gPHpoYW95YW4uY2hlbkBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiA+IFN1Ympl Y3Q6IFJFOiAyMC4xMS40IHBhdGNoZXMgcmV2aWV3IGFuZCB0ZXN0DQo+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+ID4g PiBGcm9tOiBYdWVtaW5nIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPg0KPiA+ID4gPiA+ID4gPiA+ IFNlbnQ6IFR1ZXNkYXksIERlY2VtYmVyIDcsIDIwMjEgMTI6MTUgQU0NCj4gPiA+ID4gPiA+ID4g PiBUbzogc3RhYmxlQGRwZGsub3JnDQo+ID4gPiA+ID4gPiA+ID4gQ2M6IHh1ZW1pbmdsQG52aWRp YS5jb207IGRldkBkcGRrLm9yZzsgQWJoaXNoZWsgTWFyYXRoZQ0KPiA+ID4gPiA+ID4gPiA+IDxB Ymhpc2hlay5NYXJhdGhlQG1pY3Jvc29mdC5jb20+OyBBbGkgQWxudWJhbmkNCj4gPiA+ID4gPiA+ ID4gPiA8YWxpYWxudUBudmlkaWEuY29tPjsgV2Fsa2VyLCBCZW5qYW1pbg0KPiA+ID4gPiA+ID4g PiA+IDxiZW5qYW1pbi53YWxrZXJAaW50ZWwuY29tPjsgRGF2aWQgQ2hyaXN0ZW5zZW4NCj4gPiA+ ID4gPiA+ID4gPiA8ZHJjQGxpbnV4LnZuZXQuaWJtLmNvbT47IEdvdmluZGhhcmFqYW4sIEhhcmlw cmFzYWQNCj4gPiA+ID4gPiA+ID4gPiA8aGFyaXByYXNhZC5nb3ZpbmRoYXJhamFuQGludGVsLmNv bT47IEhlbWFudCBBZ3Jhd2FsDQo+ID4gPiA+ID4gPiA+ID4gPGhlbWFudC5hZ3Jhd2FsQG54cC5j b20+OyBTdG9rZXMsIElhbg0KPiA+ID4gPiA+ID4gPiA+IDxpYW4uc3Rva2VzQGludGVsLmNvbT47 IEplcmluIEphY29iIDxqZXJpbmpAbWFydmVsbC5jb20+Ow0KPiA+ID4gPiA+ID4gPiA+IE1jbmFt YXJhLCBKb2huDQo+ID4gPiA+ID4gPiA+IDxqb2huLm1jbmFtYXJhQGludGVsLmNvbT47DQo+ID4g PiA+ID4gPiA+ID4gSnUtSHlvdW5nIExlZSA8anVobGVlQG1pY3Jvc29mdC5jb20+OyBLZXZpbiBU cmF5bm9yDQo+ID4gPiA+ID4gPiA+ID4gPGt0cmF5bm9yQHJlZGhhdC5jb20+OyBMdWNhIEJvY2Nh c3NpIDxibHVjYUBkZWJpYW4ub3JnPjsNCj4gPiA+ID4gPiA+ID4gPiBQZWkgWmhhbmcgPHBlemhh bmdAcmVkaGF0LmNvbT47IFh1LCBRaWFuIFENCj4gPiA+ID4gPiA+ID4gPiA8cWlhbi5xLnh1QGlu dGVsLmNvbT47IFJhc2xhbiBEYXJhd3NoZWgNCj4gPiA+ID4gPiA+ID4gPiA8cmFzbGFuZEBudmlk aWEuY29tPjsgVGhvbWFzIE1vbmphbG9uDQo+ID4gPiA+ID4gPiA+IDx0aG9tYXNAbW9uamFsb24u bmV0PjsNCj4gPiA+ID4gPiA+ID4gPiBQZW5nLCBZdWFuIDx5dWFuLnBlbmdAaW50ZWwuY29tPjsg Q2hlbiwgWmhhb3lhbg0KPiA+ID4gPiA+ID4gPiA+IDx6aGFveWFuLmNoZW5AaW50ZWwuY29tPg0K PiA+ID4gPiA+ID4gPiA+IFN1YmplY3Q6IDIwLjExLjQgcGF0Y2hlcyByZXZpZXcgYW5kIHRlc3QN Cj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEhpIGFsbCwNCj4gPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiA+IEhlcmUgaXMgYSBsaXN0IG9mIHBhdGNoZXMgdGFyZ2V0ZWQgZm9y IHN0YWJsZSByZWxlYXNlDQo+ID4gPiA+ID4gPiA+ID4gMjAuMTEuNC4NCj4gPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiA+IFRoZSBwbGFubmVkIGRhdGUgZm9yIHRoZSBmaW5hbCByZWxlYXNl IGlzIDMxdGggRGVjZW1iZXIuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBQbGVh c2UgaGVscCB3aXRoIHRlc3RpbmcgYW5kIHZhbGlkYXRpb24gb2YgeW91ciB1c2UgY2FzZXMNCj4g PiA+ID4gPiA+ID4gPiBhbmQgcmVwb3J0IGFueSBpc3N1ZXMvcmVzdWx0cyB3aXRoIHJlcGx5LWFs bCB0byB0aGlzIG1haWwuDQo+ID4gPiA+ID4gPiA+ID4gRm9yIHRoZSBmaW5hbCByZWxlYXNlIHRo ZSBmaXhlcyBhbmQgcmVwb3J0ZWQgdmFsaWRhdGlvbnMNCj4gPiA+ID4gPiA+ID4gPiB3aWxsIGJl IGFkZGVkIHRvIHRoZSByZWxlYXNlIG5vdGVzLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiA+ID4gQSByZWxlYXNlIGNhbmRpZGF0ZSB0YXJiYWxsIGNhbiBiZSBmb3VuZCBhdDoNCj4gPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gaHR0cHM6Ly9uYW0x MS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzDQo+ID4gPiA+ID4g PiA+ID4gJTNBJTI1DQo+ID4gPiA+ID4gPiA+ID4gMkYlMkZkcGRrLm9yZyUyRmJyb3dzZSUyRmRw ZGstDQo+ID4gPiA+ID4gc3RhYmxlJTJGdGFnJTJGJTNGaWQlM0R2MjAuMTEuNC0NCj4gPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0KPiByYzEmYW1wO2RhdGE9MDQlN0MwMSU3Q3h1ZW1p bmdsJTQwbnZpZGlhLmNvbSU3Q2M5Y2RjODIzZmNlNjRiZTExDQo+ID4gPiA+ID4gOA0KPiA+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+DQo+IDA5MDhkOWJiZDEzZThhJTdDNDMwODNkMTU3 MjczNDBjMWI3ZGIzOWVmZDljY2MxN2ElN0MwJTdDMCU3QzYzNw0KPiA+ID4gPiA+IDc0DQo+ID4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4NCj4gNzMyOTY2MTI0NDI2MSU3Q1Vua25vd24l N0NUV0ZwYkdac2IzZDhleUpXSWpvaU1DNHdMakF3TURBaUxDDQo+ID4gPiA+ID4gSlFJam8NCj4g PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0KPiBpVjJsdU16SWlMQ0pCVGlJNklrMWhh V3dpTENKWFZDSTZNbjAlM0QlN0MzMDAwJmFtcDtzZGF0YT1EdGxMMEJZVg0KPiA+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4NCj4gPiA+DQo+IHZXbTdKRTlKViUyQmxpV3pxNlIlMkZIbUtSU05LYmMx MG5tRjgxUSUzRCZhbXA7cmVzZXJ2ZWQ9MA0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gVGhlc2UgcGF0Y2hlcyBhcmUgbG9jYXRlZCBhdCBicmFuY2ggMjAuMTEgb2YgZHBkay1zdGFi bGUNCj4gPiA+ID4gPiA+ID4gPiByZXBvOg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gaHR0cHM6Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0 dHBzDQo+ID4gPiA+ID4gPiA+ID4gJTNBJTI1DQo+ID4gPiA+ID4gPiA+ID4gMkYlMkZkcGRrLm9y ZyUyRmJyb3dzZSUyRmRwZGstDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4NCj4g c3RhYmxlJTJGJmFtcDtkYXRhPTA0JTdDMDElN0N4dWVtaW5nbCU0MG52aWRpYS5jb20lN0NjOWNk YzgyM2ZjZQ0KPiA+ID4gPiA+IDYNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0K PiA0YmUxMTgwOTA4ZDliYmQxM2U4YSU3QzQzMDgzZDE1NzI3MzQwYzFiN2RiMzllZmQ5Y2NjMTdh JTdDMCU3QzANCj4gPiA+ID4gPiAlNw0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ DQo+IEM2Mzc3NDczMjk2NjEyNDQyNjElN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlKV0lqb2lN QzR3TGpBdw0KPiA+ID4gPiA+IE1EQWlMDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ ID4NCj4gQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxDSlhWQ0k2TW4wJTNEJTdDMzAw MCZhbXA7c2RhdGE9S08NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0KPiAzWUtr M2dYUyUyQjczZ01kUWY5TUZvaFQ5cTU1WWlEVzhkZiUyRjEyWmVwTXMlM0QmYW1wO3Jlc2VydmUN Cj4gPiA+ID4gPiBkPTANCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFRoYW5rcy4N Cj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFh1ZW1pbmcgTGkgPHh1ZW1pbmdsQG52 aWRpYS5jb20+DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gVXBkYXRlIHRoZSB0ZXN0 IHN0YXR1cyBmb3IgSW50ZWwgcGFydC4gVGlsbCBub3cNCj4gPiA+ID4gPiA+ID4gZHBkazIwLjEx LjQtcmMxIHRlc3QgZXhlY3V0aW9uIHJhdGUgaXMgODAlLiBDdXJyZW50bHksIGZpbmQNCj4gPiA+ ID4gPiA+ID4gdGhyZWUgYnVncywgdHdvIGJ1Z3MgaGF2ZSBmaXggbm93Lg0KPiA+ID4gPiA+ID4g PiAjIEJhc2ljIEludGVsKFIpIE5JQyB0ZXN0aW5nDQo+ID4gPiA+ID4gPiA+ICogQnVpbGQgb3Ig Y29tcGlsZToNCj4gPiA+ID4gPiA+ID4gCSpCdWlsZDogY292ZXIgdGhlIGJ1aWxkIHRlc3QgY29t YmluYXRpb24gd2l0aCBsYXRlc3QNCj4gPiA+ID4gPiA+ID4gR0NDL0NsYW5nL0lDQyB2ZXJzaW9u IGFuZCB0aGUgcG9wdWxhciBPUyByZXZpc2lvbiBzdWNoIGFzDQo+ID4gPiA+ID4gPiA+IFVidW50 dTIwLjA0LCBGZWRvcmEzNCwgUkhFTDguNCwgZXRjLg0KPiA+ID4gPiA+ID4gPiAJCS0gQWxsIHRl c3QgZG9uZS4NCj4gPiA+ID4gPiA+ID4gCQktIFR3byBidWdzIGFyZSBmb3VuZCBpbiAyMC4xMS40 LXJjMS4NCj4gPiA+ID4gPiA+ID4gCQkJLSBkcGRrLQ0KPiA+ID4gPiA+ID4gPiAyMC4xMS40XWtl cm5lbC9saW51eC9rbmkvcnRlX2tuaS5rbw0KPiA+ID4gPiA+ID4gPiBidWlsZA0KPiA+ID4gPiA+ ID4gPiBmYWlsZWQgb24gT3BlblN1c2UxNS4zIHdpdGggZ2NjNy41LjAmY2xhbmcxMS4wLjENCj4g PiA+ID4gPiA+ID4gCQkJCS0gZml4IGxpbms6DQo+ID4gPiA+ID4gPiA+IGh0dHA6Ly9pbmJveC5k cGRrLm9yZy9zdGFibGUvMjAyMTEyMDgxMDM0MTAuODM1NTQyLTEtDQo+ID4gPiA+ID4gPiA+IGZl cnJ1aC55aWdpdEBpbnRlbC5jb20vVC8jdSAsIHZlcmlmeSBwYXNzZWQgYnkgSW50ZWwNCj4gPiA+ ID4gPiA+ID4gCQkJLQ0KPiA+ID4gPiA+ID4gPiBodHRwczovL2J1Z3MuZHBkay5vcmcvc2hvd19i dWcuY2dpP2lkPTg5NA0KPiA+ID4gPiA+ID4gPiBbZHBkay0yMC4xMS40XQ0KPiA+ID4gPiA+ID4g PiBsaWIvbGlicnRlX2VhbC5hLnAvbGlicnRlX2VhbF9jb21tb25fcnRlX3JhbmRvbS5jLm9iaiBi dWlsZA0KPiA+ID4gPiA+ID4gPiBmYWlsZWQgb24gV0lOMTAgd2l0aCBjbGFuZzguMC4wDQo+ID4g PiA+ID4gPiA+IAkJCQktIGZpeCBsaW5rOg0KPiA+ID4gPiA+ID4gPiBodHRwOi8vaW5ib3guZHBk ay5vcmcvc3RhYmxlLzIwMjExMjA3MTQxNjQ0LjM2OTYyNC0xLQ0KPiA+ID4gPiA+ID4gPiBkbWl0 cnkua296bGl1a0BnbWFpbC5jb20vVC8jdSwgdmVyaWZ5IHBhc3NlZCBieSBJbnRlbA0KPiA+ID4g PiA+ID4gPiAJKiBQRihpNDBlLCBpeGdiZSk6IHRlc3Qgc2NlbmFyaW9zIGluY2x1ZGluZw0KPiA+ ID4gPiA+ID4gPiBSVEVfRkxPVy9UU08vSnVtYm9mcmFtZS9jaGVja3N1bSBvZmZsb2FkL1ZMQU4v VlhMQU4sDQo+IGV0Yy4NCj4gPiA+ID4gPiA+ID4gCQktIEFsbCB0ZXN0IGRvbmUuIE5vIG5ldyBp c3N1ZSBpcyBmb3VuZC4NCj4gPiA+ID4gPiA+ID4gCSogVkYoaTQwZSwgaXhnYmUpOiB0ZXN0IHNj ZW5hcmlvcyBpbmNsdWRpbmcgVkYtDQo+ID4gPiA+ID4gPiA+IFJURV9GTE9XL1RTTy9KdW1ib2Zy YW1lL2NoZWNrc3VtIG9mZmxvYWQvVkxBTi9WWExBTiwNCj4gZXRjLg0KPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPiAJCS0gQWxsIHRlc3QgZG9uZS4gTm8gbmV3IGlzc3VlIGlzIGZvdW5kLg0K PiA+ID4gPiA+ID4gPiAJKiBQRi9WRihpY2UpOiB0ZXN0IHNjZW5hcmlvcyBpbmNsdWRpbmcgU3dp dGNoDQo+ID4gPiA+ID4gPiA+IGZlYXR1cmVzL1BhY2thZ2UgTWFuYWdlbWVudC9GbG93IERpcmVj dG9yL0FkdmFuY2VkDQo+ID4gPiA+ID4gPiA+IFR4L0FkdmFuY2VkDQo+ID4gPiBSU1MvQUNML0RD Ri9TaGFyZQ0KPiA+ID4gPiA+IGNvZGUNCj4gPiA+ID4gPiA+ID4gdXBkYXRlL0ZsZXhpYmxlIERl c2NyaXB0b3IsIGV0Yy4NCj4gPiA+ID4gPiA+ID4gCQktIEV4ZWN1dGlvbiByYXRlIGlzIDgwJS4g Tm8gbmV3IGlzc3VlIGlzIGZvdW5kLg0KPiA+ID4gPiA+ID4gPiAJKiBJbnRlbCBOSUMgc2luZ2xl IGNvcmUvTklDIHBlcmZvcm1hbmNlOiB0ZXN0IHNjZW5hcmlvcw0KPiA+ID4gPiA+ID4gPiBpbmNs dWRpbmcgUEYvVkYgc2luZ2xlIGNvcmUgcGVyZm9ybWFuY2UgdGVzdCwgUkZDMjU0NCBaZXJvDQo+ ID4gPiA+ID4gPiA+IHBhY2tldCBsb3NzIHBlcmZvcm1hbmNlIHRlc3QsIGV0Yy4NCj4gPiA+ID4g PiA+ID4gCQktIEV4ZWN1dGlvbiByYXRlIGlzIDUwJS4gTm8gYmlnIHBlcmZvcm1hbmNlIGRyb3Au DQo+ID4gPiA+ID4gPiA+IAkqIElQc2VjOiB0ZXN0IHNjZW5hcmlvcyBpbmNsdWRpbmcgaXBzZWMv aXBzZWMtZ3cvaXBzZWMNCj4gPiA+ID4gPiA+ID4gbGlicmFyeSBiYXNpYyB0ZXN0IC0gUUFUJlNX L0ZJQiBsaWJyYXJ5LCBldGMuDQo+ID4gPiA+ID4gPiA+IAkJLSBBbGwgcGFzc2VkLg0KPiA+ID4g PiA+ID4gPiAjIEJhc2ljIGNyeXB0b2RldiBhbmQgdmlydGlvIHRlc3RpbmcNCj4gPiA+ID4gPiA+ ID4gCSogVmlydGlvOiBib3RoIGZ1bmN0aW9uIGFuZCBwZXJmb3JtYW5jZSB0ZXN0IGFyZSBjb3Zl cmVkLg0KPiA+ID4gPiA+ID4gPiBTdWNoIGFzDQo+ID4gPiA+ID4gPiA+IFBWUC9WaXJ0aW9fbG9v cGJhY2svdmlydGlvLXVzZXIgbG9vcGJhY2svdmlydGlvLW5ldCBWTTJWTQ0KPiA+ID4gPiA+ID4g PiBwZXJmIHRlc3RpbmcvVk1BV0FSRSBFU1hJIDcuMHUzLCBldGMuDQo+ID4gPiA+ID4gPiA+IAkJ LSBFeGVjdXRpb24gcmF0ZSBpcyA4MCUuIE5vIG5ldyBpc3N1ZSBpcyBmb3VuZC4NCj4gPiA+ID4g PiA+ID4gCSogQ3J5cHRvZGV2Og0KPiA+ID4gPiA+ID4gPiAJCSpGdW5jdGlvbiB0ZXN0OiB0ZXN0 IHNjZW5hcmlvcyBpbmNsdWRpbmcgQ3J5cHRvZGV2DQo+IEFQSQ0KPiA+ID4gPiA+ID4gPiB0ZXN0 aW5nL0NvbXByZXNzRGV2IElTQS1ML1FBVC9aTElCIFBNRCBUZXN0aW5nL0ZJUFMsIGV0Yy4NCj4g PiA+ID4gPiA+ID4gCQkJLSBBbGwgdGVzdCBkb25lLg0KPiA+ID4gPiA+ID4gPiAJCQktIE9uZSBu ZXcgYnVnIGFib3V0ICJbZHBkay1MVFMtDQo+ID4gPiA+ID4gPiA+IDIwLjExLjQtIHJjMV0NCj4g PiA+ID4gPiA+ID4gY3J5cHRvZGV2X3FhdF9hc3ltX2F1dG90ZXN0IGlzIGZhaWxpbmciIGlzIGZv dW5kLCBJbnRlbCBkZXYNCj4gPiA+ID4gPiA+ID4gaXMgdW5kZXIgaW52ZXN0aWdhdGluZy4NCj4g PiA+ID4gPiA+ID4gCQkJCWJhZCBjb21taXQgaWQgaXMgY29tbWl0DQo+ID4gPiA+ID4gPiA+IDJm MmMyYjViN2U3YWU0OTQyYjRiMzY4NmJjZTJlYjg1NmZlZTQ0N2QNCj4gPiA+ID4gPiA+ID4gCQkJ CUF1dGhvcjogUHJ6ZW15c2xhdyBaZWdhbg0KPiA8cHJ6ZW15c2xhd3guemVnYW5AaW50ZWwuY29t Pg0KPiA+ID4gPiA+ID4gPiAJCQkJRGF0ZTogV2VkIE5vdiAzIDE1OjA4OjIzIDIwMjENCj4gPiA+ ID4gPiA+ID4gKzAwMDANCj4gPiA+ID4gPiA+ID4gCQkJCWNvbW1vbi9xYXQ6IGZpeCBxdWV1ZSBw YWlycyBudW1iZXINCj4gPiA+ID4gPiA+ID4gCQkqUGVyZm9ybWFuY2UgdGVzdDogdGVzdCBzY2Vu YXJpb3MgaW5jbHVkaW5nDQo+IFRob3VnaHB1dA0KPiA+ID4gPiA+IFBlcmZvcm1hbmNlDQo+ID4g PiA+ID4gPiA+IC9DcnlwdG9kZXYgTGF0ZW5jeSwgZXRjLg0KPiA+ID4gPiA+ID4gPiAJCQktIEFs bCB0ZXN0IGRvbmUuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVXBkYXRlIHRoZSB0ZXN0IHN0 YXR1cyBmb3IgSW50ZWwgcGFydC4gVGlsbCBub3cNCj4gPiA+ID4gPiA+IGRwZGsyMC4xMS40LXJj MSB0ZXN0IGlzIGFsbW9zdCBmaW5pc2hlZC4gVG90YWxseSBmaW5kIHRocmVlDQo+ID4gPiA+ID4g PiBidWdzLCB0d28gYnVncyBoYXZlIGZpeCBub3cuDQo+ID4gPiA+ID4gPiAjIEJhc2ljIEludGVs KFIpIE5JQyB0ZXN0aW5nDQo+ID4gPiA+ID4gPiAqIEJ1aWxkOiBjb3ZlciB0aGUgYnVpbGQgdGVz dCBjb21iaW5hdGlvbiB3aXRoIGxhdGVzdA0KPiA+ID4gPiA+ID4gR0NDL0NsYW5nL0lDQyB2ZXJz aW9uIGFuZCB0aGUgcG9wdWxhciBPUyByZXZpc2lvbiBzdWNoIGFzDQo+ID4gPiA+ID4gPiBVYnVu dHUyMC4wNCwgRmVkb3JhMzQsIFJIRUw4LjQsIGV0Yy4NCj4gPiA+ID4gPiA+IC0gQWxsIHRlc3Qg ZG9uZS4NCj4gPiA+ID4gPiA+IC0gVHdvIGJ1Z3MgYXJlIGZvdW5kIGluIDIwLjExLjQtcmMxLg0K PiA+ID4gPiA+ID4gQnVnMSwgImRwZGstMjAuMTEuNF1rZXJuZWwvbGludXgva25pL3J0ZV9rbmku a28gYnVpbGQgZmFpbGVkDQo+ID4gPiA+ID4gPiBvbg0KPiA+ID4gPiA+ID4gT3BlblN1c2UxNS4z IHdpdGggZ2NjNy41LjAmY2xhbmcxMS4wLjEiDQo+ID4gPiA+ID4gPiDCoEhhcyBmaXggbGluazoN Cj4gPiA+ID4gPiA+IGh0dHA6Ly9pbmJveC5kcGRrLm9yZy9zdGFibGUvMjAyMTEyMDgxMDM0MTAu ODM1NTQyLTEtDQo+ID4gPiA+ID4gPiBmZXJydWgueWlnaXRAaW50ZWwuY29tL1QvI3UNCj4gPiA+ ID4gPiA+IEJ1ZzIsICJodHRwczovL2J1Z3MuZHBkay5vcmcvc2hvd19idWcuY2dpP2lkPTg5NA0K PiA+ID4gPiA+ID4gW2RwZGstMjAuMTEuNF0NCj4gPiA+ID4gPiA+IGxpYi9saWJydGVfZWFsLmEu cC9saWJydGVfZWFsX2NvbW1vbl9ydGVfcmFuZG9tLmMub2JqIGJ1aWxkDQo+ID4gPiA+ID4gPiBm YWlsZWQgb24NCj4gPiA+ID4gPiA+IFdJTjEwIHdpdGggY2xhbmc4LjAuMCINCj4gPiA+ID4gPiA+ IMKgSGFzIGZpeCBsaW5rOg0KPiA+ID4gPiA+ID4gaHR0cDovL2luYm94LmRwZGsub3JnL3N0YWJs ZS8yMDIxMTIwNzE0MTY0NC4zNjk2MjQtMS0NCj4gPiA+ID4gPiA+IGRtaXRyeS5rb3psaXVrQGdt YWlsLmNvbS9ULyN1DQo+ID4gPiA+ID4gPiAqIFBGKGk0MGUsIGl4Z2JlKTogdGVzdCBzY2VuYXJp b3MgaW5jbHVkaW5nDQo+ID4gPiA+ID4gPiBSVEVfRkxPVy9UU08vSnVtYm9mcmFtZS9jaGVja3N1 bSBvZmZsb2FkL1ZMQU4vVlhMQU4sIGV0Yy4NCj4gPiA+ID4gPiA+IC0gQWxsIHRlc3QgZG9uZS4g Tm8gbmV3IGlzc3VlIGlzIGZvdW5kLg0KPiA+ID4gPiA+ID4gKiBWRihpNDBlLCBpeGdiZSk6IHRl c3Qgc2NlbmFyaW9zIGluY2x1ZGluZyBWRi0NCj4gPiA+ID4gPiA+IFJURV9GTE9XL1RTTy9KdW1i b2ZyYW1lL2NoZWNrc3VtIG9mZmxvYWQvVkxBTi9WWExBTiwgZXRjLg0KPiA+ID4gPiA+ID4gLSBB bGwgdGVzdCBkb25lLiBObyBuZXcgaXNzdWUgaXMgZm91bmQuDQo+ID4gPiA+ID4gPiAqIFBGL1ZG KGljZSk6IHRlc3Qgc2NlbmFyaW9zIGluY2x1ZGluZyBTd2l0Y2ggZmVhdHVyZXMvUGFja2FnZQ0K PiA+ID4gPiA+ID4gTWFuYWdlbWVudC9GbG93IERpcmVjdG9yL0FkdmFuY2VkIFR4L0FkdmFuY2Vk DQo+ID4gPiA+ID4gPiBSU1MvQUNML0RDRi9GbGV4aWJsZSBEZXNjcmlwdG9yLCBldGMuDQo+ID4g PiA+ID4gPiAtIEFsbCB0ZXN0IGRvbmUuIE5vIG5ldyBpc3N1ZSBpcyBmb3VuZC4NCj4gPiA+ID4g PiA+ICogSW50ZWwgTklDIHNpbmdsZSBjb3JlL05JQyBwZXJmb3JtYW5jZTogdGVzdCBzY2VuYXJp b3MNCj4gPiA+ID4gPiA+IGluY2x1ZGluZyBQRi9WRiBzaW5nbGUgY29yZSBwZXJmb3JtYW5jZSB0 ZXN0LCBSRkMyNTQ0IFplcm8NCj4gPiA+ID4gPiA+IHBhY2tldCBsb3NzIHBlcmZvcm1hbmNlIHRl c3QsIGV0Yy4NCj4gPiA+ID4gPiA+IC0gQWxsIHRlc3QgZG9uZS4gTm8gYmlnIHBlcmZvcm1hbmNl IGRyb3AuDQo+ID4gPiA+ID4gPiAqIElQc2VjOiB0ZXN0IHNjZW5hcmlvcyBpbmNsdWRpbmcgaXBz ZWMvaXBzZWMtZ3cvaXBzZWMgbGlicmFyeQ0KPiA+ID4gPiA+ID4gYmFzaWMgdGVzdCAtIFFBVCZT Vy9GSUIgbGlicmFyeSwgZXRjLg0KPiA+ID4gPiA+ID4gLSBBbGwgcGFzc2VkLg0KPiA+ID4gPiA+ ID4gIyBCYXNpYyBjcnlwdG9kZXYgYW5kIHZpcnRpbyB0ZXN0aW5nDQo+ID4gPiA+ID4gPiAqIFZp cnRpbzogYm90aCBmdW5jdGlvbiBhbmQgcGVyZm9ybWFuY2UgdGVzdCBhcmUgY292ZXJlZC4gU3Vj aA0KPiA+ID4gPiA+ID4gYXMgUFZQL1ZpcnRpb19sb29wYmFjay92aXJ0aW8tdXNlciBsb29wYmFj ay92aXJ0aW8tbmV0IFZNMlZNDQo+ID4gPiA+ID4gPiBwZXJmIHRlc3RpbmcvVk1BV0FSRSBFU1hJ IDcuMHUzLCBldGMuDQo+ID4gPiA+ID4gPiAtIEFsbCB0ZXN0IGRvbmUuIE5vIG5ldyBpc3N1ZSBp cyBmb3VuZC4NCj4gPiA+ID4gPiA+ICogQ3J5cHRvZGV2Og0KPiA+ID4gPiA+ID4gKkZ1bmN0aW9u IHRlc3Q6IHRlc3Qgc2NlbmFyaW9zIGluY2x1ZGluZyBDcnlwdG9kZXYgQVBJDQo+ID4gPiA+ID4g PiB0ZXN0aW5nL0NvbXByZXNzRGV2IElTQS1ML1FBVC9aTElCIFBNRCBUZXN0aW5nL0ZJUFMsIGV0 Yy4NCj4gPiA+ID4gPiA+IC0gQWxsIHRlc3QgZG9uZS4gRmluZCBvbmUgYnVnICwgSW50ZWwgZGV2 IGlzIHVuZGVyIGludmVzdGlnYXRpbmcuDQo+ID4gPiA+ID4gPiAtIEJ1ZzMgIltkcGRrLUxUUy0y MC4xMS40LXJjMV0gY3J5cHRvZGV2X3FhdF9hc3ltX2F1dG90ZXN0IGlzDQo+ID4gPiA+ID4gPiBm YWlsaW5nIg0KPiA+ID4gPiA+ID4gwqBiYWQgY29tbWl0IGlkIGlzIGNvbW1pdA0KPiA+ID4gMmYy YzJiNWI3ZTdhZTQ5NDJiNGIzNjg2YmNlMmViODU2ZmVlNDQ3ZA0KPiA+ID4gPiA+ID4gwqBBdXRo b3I6IFByemVteXNsYXcgWmVnYW4gPHByemVteXNsYXd4LnplZ2FuQGludGVsLmNvbT4NCj4gPiA+ ID4gPiA+IMKgRGF0ZTogV2VkIE5vdiAzIDE1OjA4OjIzIDIwMjEgKzAwMDANCj4gPiA+ID4gPiA+ IMKgY29tbW9uL3FhdDogZml4IHF1ZXVlIHBhaXJzIG51bWJlcg0KPiA+ID4gPiA+DQo+ID4gPiA+ ID4gSGkgSmlhbmcgJiBYdWVxaW4sDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGFua3MgdmVyeSBt dWNoIGZvciB0aGUgcmVwb3J0IQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSSBjYW4ndCByZWFjaCBQ cnplbXlzbGF3LCBpcyB0aGVyZSBhbnkgaW50ZXJuYWwgcHJvZ3Jlc3MNCj4gPiA+ID4gPiByZWdh cmRpbmcgYnVnMz8NCj4gPiA+ID4gPg0KPiA+ID4gPiBTb3JyeSBmb3IgZGVsYXksIHNvIGZhciwg bm8gYW55IHVwZGF0ZXMsIEkgaGF2ZSBtYWlsZWQgdG8gYXV0aG9yDQo+ID4gPiA+IHRvIGZpeCBp dCBhc2FwLg0KPiA+ID4NCj4gPiA+IE5QLCBpZiBpdCBoYXJkIHRvIGRlYnVnLCB3aGF0J3MgdGhl IHN1Z2dlc3Rpb24/IEkgbWVhbiBsZWF2ZSB0aGUNCj4gPiA+IHBhdGNoIG9yIGtpY2suDQo+ID4g Pg0KPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gPiA+ICpQZXJmb3JtYW5jZSB0ZXN0OiB0ZXN0IHNj ZW5hcmlvcyBpbmNsdWRpbmcgVGhvdWdocHV0DQo+ID4gPiA+ID4gPiBQZXJmb3JtYW5jZSAvQ3J5 cHRvZGV2IExhdGVuY3ksIGV0Yy4NCj4gPiA+ID4gPiA+IC0gQWxsIHRlc3QgZG9uZS4NCj4gPiA+ ID4NCj4gPg0KDQo=