From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id AB781D800F0 for ; Tue, 4 Jun 2024 23:10:48 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=ptiK99keKr9ODQLDE1IgS2BU3pd8ZJfcSERyGC6eY9Q=; c=relaxed/simple; d=groups.io; h=From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type; s=20240206; t=1717542648; v=1; b=OtVAIkytH1nc6DgTgFWQCXzij5Sc1S3DEAO3a8U/plEmhLyB3yghE0aUu7UDV51hNnbdyUYb W/8MPOTIYlqhWXendZqCLXxhkJjuFFuohOu+ZN5FVibSXX63gEEv4wyR2vzGaoUP9QhHcorAWy2 IIeJ+Gsk2OOq+r8a6uUQvgP1E1ZmTrry8iKgXONmP7OjPSzQJC3/rphvmm7Vr0V0vV5FcRyyJ+Z eHvctvaDr/FwSEHgA7/8GFIyzytlSwEmiR2fhJU/+jIW/6MLEtsF9tkug5nRY0/ZpXPdVnb+Av3 N4u/Ocsf+E3v816GGg4owGV+yrsvwugaKS1+vGCPF9iCA== X-Received: by 127.0.0.2 with SMTP id BHAaYY7687511xBihwYdhRna; Tue, 04 Jun 2024 16:10:47 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) by mx.groups.io with SMTP id smtpd.web11.1830.1717542646107155575 for ; Tue, 04 Jun 2024 16:10:46 -0700 X-CSE-ConnectionGUID: njOptKHlT8qzVegZ5ZGMgQ== X-CSE-MsgGUID: 7X95XXxIQGikw2tByMM8Wg== X-IronPort-AV: E=McAfee;i="6600,9927,11093"; a="14342339" X-IronPort-AV: E=Sophos;i="6.08,214,1712646000"; d="scan'208,217";a="14342339" X-Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2024 16:10:45 -0700 X-CSE-ConnectionGUID: niocARt7QDSbkbKJ88WHvg== X-CSE-MsgGUID: JWg6D8CCTIOT138of6rx4g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,214,1712646000"; d="scan'208,217";a="74873635" X-Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orviesa001.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 04 Jun 2024 16:10:46 -0700 X-Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 4 Jun 2024 16:10:44 -0700 X-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.39 via Frontend Transport; Tue, 4 Jun 2024 16:10:44 -0700 X-Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.169) 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.39; Tue, 4 Jun 2024 16:10:44 -0700 X-Received: from BN9PR11MB5483.namprd11.prod.outlook.com (2603:10b6:408:104::10) by PH0PR11MB4775.namprd11.prod.outlook.com (2603:10b6:510:34::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.25; Tue, 4 Jun 2024 23:10:38 +0000 X-Received: from BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::3baa:3852:4315:38f7]) by BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::3baa:3852:4315:38f7%7]) with mapi id 15.20.7633.021; Tue, 4 Jun 2024 23:10:37 +0000 From: "Chiu, Chasel" To: Dhaval Sharma , "Liu, Linus" CC: "devel@edk2.groups.io" , "Lin, Benny" , "Guo, Gua" , "Lu, James" Subject: Re: [edk2-devel] [PATCH v4 6/6] UefiPayloadPkg: Update UefiPayload driver for FDT support. Thread-Topic: [PATCH v4 6/6] UefiPayloadPkg: Update UefiPayload driver for FDT support. Thread-Index: AQHatVx6BnIpfu8ID0Szi2P72Fok07G152eAgAJWHiA= Date: Tue, 4 Jun 2024 23:10:37 +0000 Message-ID: References: <20240603021923.1356-1-linus.liu@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BN9PR11MB5483:EE_|PH0PR11MB4775:EE_ x-ms-office365-filtering-correlation-id: 3536b469-eaf9-49f6-662a-08dc84eb8bdc x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: =?utf-8?B?OUxlZmludGQ0SlQzN0FtTlVaOUh3bjhNdkVWKzlianRxQ05qcytub0k5eUJU?= =?utf-8?B?dHF1ajg3ang5ZFBBMXJUTmc5ZmcvQmZ6UTJBWWhEWmxQU3RZWUpQLzFqVWpE?= =?utf-8?B?NjZSSEp3SFZMWjYrd01nVXVFamhMZkoySVF4M3RFT0pyMjMwYThvYVdJTEZD?= =?utf-8?B?c0hkU3ZkYU8raTFldXY4cktveW9oYjZpS0t5OUxtSlRXbUtvOUJyUDBsOXNm?= =?utf-8?B?YTJON0hoS25LemR1a0RqWk8vSmJxVkVWWVB4dWhWeFhaWldJZ04rOVpkbEhs?= =?utf-8?B?QWQ0aTZOdldqTHNGVWlYYzZLZkl0ZHVOVlYvUlhwekRxaFI4ajBTRm9ONFJ4?= =?utf-8?B?YW9aUHI3SExYM2VEelFZSGxkSFRJYkdmU0crRklnNU9IWXpEQUxzKzAzd1Z3?= =?utf-8?B?c1dtY0ZNVlRGTVRGcDdOVDZHTktsQW5HQmtHVlBxdkxpMXlIcG1EYzFsVytq?= =?utf-8?B?MlQvNTRKRGlMOWVDS3ZZdklOQkNQbW9icW12aXFlZmM2YlE0cUVOOUFKb2Rw?= =?utf-8?B?YzRZa2RrRW5jTGovc1N4RXQwbkJuMWZRbWw4YzV2R0dkT25la3EzTDVTdnV0?= =?utf-8?B?a2ErNVc4a3ZzdHp3c04zU1ZJNUJuVzBLY0sxS3JhVVVoMEhtak56c1N0Qi9H?= =?utf-8?B?eXFIYWxEQU9HV3pXbE1IVm5QTDliQm5ueUtqb01qazNhOFBOSzVyR09GOFVz?= =?utf-8?B?Z25KbVdMRW9ERVJKYTBoc2owQTlxWWVxVHRlTW02WERhcFB3WEI3a3V1WENN?= =?utf-8?B?WlphTHk3Nm9WN2IxYjlJb2ZGVGF5UG93Yml6aHJNbWJSRFhWWGlaQXpqUWFr?= =?utf-8?B?UDd2VE1EVkVQZWU0SUdkQnRYYmI1aVNPb3FFYjhpaEpqQU1mNHFWdmVMbFNN?= =?utf-8?B?UWx1V3dqOE41czlBZU03cUdab2xOaUdoTUtxTFZXQ3NNRllhVlpCZE82Vk5z?= =?utf-8?B?YkNUZXhGWTh3WSs0S29uazRqRE82QXp6dDVkbVJjcURENC8rYWErRDhTK3BQ?= =?utf-8?B?SjkrbHIxT1BXQ3R5Vk1Ub2ZKenJrZjNxbFVVTG5VVUtaemUwSldWTmkxczMw?= =?utf-8?B?ZkJVR3hXTjZOcmFodDU2aHFyWHJkNi9YL3U2ZUUzUDFnd3JIb05ESkl2NUdK?= =?utf-8?B?MG5iT1ptQzlOVnFrM2xycVRpaGlDd29kYW9ELzZWbk85bHlzVG1DQjFXNzRq?= =?utf-8?B?akIwTnU3Wmpab0lGaEI5WUMyQWhRZEFoUDQrR2ZMOEx0dFcwOHQxSUNSNnhO?= =?utf-8?B?Si9yMzYwamtNNkc5c1FabktMWEs1SFJwb2MveW85K3I0eWZMRngzS1puYURh?= =?utf-8?B?b0pQbUcrc1ZyRHR1NGpCN3NTTEtRV3FaUVhkVFMzQlNNbCtnNjBPdFNMSnJ2?= =?utf-8?B?YndDSDViN1ptbDdzMjRVMWhKOW5yVU9PM2dpeGhDQ29TbzVuOVRTbXY1bGFr?= =?utf-8?B?QnVNellZZWIrZUtqRDZaRnF5cWFzem0xUjNPYTRVVmoyYWgzUllMYzFaRHE5?= =?utf-8?B?cW5xNEE4RnpmbzdyMHhhY1F2bVNZU2podlI0Y1dhdGtoL2tienE4VGwrMHFv?= =?utf-8?B?aUhtSWZma2h0cDhsV3hLYnB6SHdLcXZncnhoRWQvcXJvdWsxekEyNmdHVnZB?= =?utf-8?B?TWxkRExJN2VhV3hXeHQ5RkhJR1JaVEJNeW1yUis5Vm1OWWgrSzAvczNrMSs1?= =?utf-8?B?eHE2aWFBNjdBVWFTRkt1M3FPd2s4UHlrMFZQRkF2cldXZUlFSnB2aVdRPT0=?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SXdNbXoxdmh2eWo4TkY3VWJsNnlwNVE5U1dIT0g5SmFBQ0RsZjJhNU9qOU9h?= =?utf-8?B?aFVJbWJSbTNENmhJK1BHQzA0ZUxRQnZ4R3BabnFCZ0RHQ3h5ekVhYWNtcTFm?= =?utf-8?B?Y2VkaExJR2tmb0x0bGIrZVFkUUdMaVMvVmdvMVdiWjhGcUh0VkFQbE1RQjhJ?= =?utf-8?B?M1lmbXA4eFp6WTFKVlprTlRxdjV2TzhINnJQNnpxRXN0VlU3RnUrYktBNVls?= =?utf-8?B?RVdRL25RNkVlZ3RIZTFnL0Z5ajN5M2U1eTJlT3M2b3BQSi9NRk43NS95UUsv?= =?utf-8?B?UVZJZWt3QzlUY0dya2VCM2xaWjRyWFVHOTB2S1UySFZ5TnpTelNXZ0gxQVgr?= =?utf-8?B?LzduKzcrVTA4bUM3K21FVjlhM1p6Rm9kNXpzbmIvdTM3V1lwc2ZibzFwMU5X?= =?utf-8?B?eFJVb0VoNERQMkZ5d1pnZzJNVkFMQUROa3VlSUI2b1RnOERraHhWcDBvbnBk?= =?utf-8?B?bVNpQVZCUGNnUzZUU2Y4OUozSm9iT05vSDFnWWdRcm9JSDFWK0VSUHFLK0gr?= =?utf-8?B?V2Z3RldoeExGUDdMMmc4VWZNTWJiemx3MmlBcytxd0x2c3Q1ZFJLcGdYdnpt?= =?utf-8?B?VzBDYUJzUHR5bEZFeWFBR3B2dTZOV1JSajZBMlFzb0Rnd2lqZjNCc2lleDF0?= =?utf-8?B?UDJzbmRON2lTaGZmVkRmNXhOS2tSSlBNbEtaZXhpb2p6Qzk2cHNYOTdxdGxy?= =?utf-8?B?akV2dy9JSEZuRnJWY050NVJFeHZTdkZhdlJSS1BaOGtzUDRobVkxbDlxSGM1?= =?utf-8?B?MW52V1M4dWkvRXlpaHBrSWZDRnFCVitQd2FPWmZMVWZOZnhHTUlEa0tWNy94?= =?utf-8?B?QnN6OGJFZ1Z1R2lIeTYyaFdSZDNORzZZUFBiVHpoUjM3TEpSSGZQQUtCcEJn?= =?utf-8?B?QWFQVHhIQ1dzUGljZUZOWDZoVHdsdDJNUkVWaGU4eWp3UkgrWnRvNG5UYnNt?= =?utf-8?B?anlqWisya3k5Sjlod25oN0toT0tDRU1LbFh6b2tjQVMveTE0VHVtKzBXUEc3?= =?utf-8?B?N1ZTanhGZTBmSVlvMVdYS24xV0lsRWtJL1BpNGl6aEluZmI3U0tiSjFERWJl?= =?utf-8?B?ZndEbUZpb3I0UDl1ZFhNS1h4NTdMNE5rOEpNMUZScTdpVlM5enFnU0ZiVGZD?= =?utf-8?B?VXdpelRsL1RMT0k0QXRPalVNZlNpbTAxdTJTT0tyNTg3bStKS3VIUDQwYlFE?= =?utf-8?B?YUpmZnEwSklBbnN3M0VxTUZMRDJYTG9JbUFuVWZ3dkJHT1R5eDdRcUVDb01Y?= =?utf-8?B?TG94enZCSnlkYktlSEJNVldDYlVxNzBoRnVaM0ZhTFZFUDZ4dzd5NUZZRDAz?= =?utf-8?B?L0tBSEpBZXNBY3Z4UU0vaUJZaXREWm11cG93NzhoK2pSRkk3S2pKc2YwRDgw?= =?utf-8?B?ZU5nTDQwd2ZpWVNQNzc5Y0krUys5T3lDNnpsRHNweUIrcEFtb0JRamM0YmlY?= =?utf-8?B?ck8zVFZwaks3VnhBUnhZcUJVNnpFN3JDcjdRYjloNVdqK0VpYzQ4dXAzRkdZ?= =?utf-8?B?MURRZzljbDBGZ0NuNDFmaFE3TnRCL1k5RnlzdVd4ZTJ4bU5mWlAyd3BDdGli?= =?utf-8?B?UHhyR2RGbGlBZHFocWc0MUMycTBnNnFYcUZzVGtweGZ3b3pjNXpxVmQ0ekpB?= =?utf-8?B?Z3RmY09XWVpQeGIwbUlXbGFOUDRRUTREK2N5b3ZUZlF1ZXhVa1oyMHR0U0xF?= =?utf-8?B?Z29EVEF6K2VWMm90NFpoNHVlejFhRTl1bFJpYjR0b2g2UmNoRjBLMVdrbk1B?= =?utf-8?B?S0huallGYkdURW40TVl5Qy9idHc4eFEreVRZNnpOanlIRkdYQWh6NDF3UVdP?= =?utf-8?B?L0xTajdpVzE5c2QvNVN0d1kzK0ZxdlhEU1RCUnkrcDlLbTlDNlJvUjBjMTNu?= =?utf-8?B?OHNIT0NKTU94eHVxeWRUcnJpZVlsVHRQNTBNSzA1L0N0NHlQY1FaaWU3STQz?= =?utf-8?B?WUNJRmJ4VnAxdkdvWXBpR2NQV2l4ZS8vSU03SHNQYUM3a3dqS2VoVmN0NW00?= =?utf-8?B?L1cvbnNSZmFtLzAvdmtyd0FjN2w4Q3RpcTVMc0lwQ1BkcE1QSHRReXlwamRF?= =?utf-8?B?NXZabGlGSUV3VnpVMU0yK29RbjY1djgzbytHa3hZcjhPanNDWHU4OXV1MHZI?= =?utf-8?Q?Ne7fyBpz5NxR2eFnSfiCPhAWW?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5483.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3536b469-eaf9-49f6-662a-08dc84eb8bdc X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2024 23:10:37.8142 (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: nvG4uwPcDTyv0BlAL7RbnUudJg1ldfzlrO0O8x0AB2+fBXOE3DbHP+Dp/d2mcp+EldCqRgpdAg6uIr05Mo+u8Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4775 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Tue, 04 Jun 2024 16:10:46 -0700 Resent-From: chasel.chiu@intel.com Reply-To: devel@edk2.groups.io,chasel.chiu@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: O6kza7VH5vVgKtgPhp1jSSCAx7686176AA= Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_BN9PR11MB5483A643647D33DD901EA806E6F82BN9PR11MB5483namp_" X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=OtVAIkyt; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none) --_000_BN9PR11MB5483A643647D33DD901EA806E6F82BN9PR11MB5483namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQpIaSBEaGF2YWwsDQoNClRoYW5rcyBmb3IgZ29vZCBjYXRjaCEgSSBqdXN0IGNvcGllZCB5b3Vy IGZlZWRiYWNrcyB0byB0aGUgUFIsIGxldOKAmXMgZGlzY3VzcyB0aGVyZSB3aGljaCB3aWxsIGJl IGVhc2llciB0aGFuIG1haWwgdGhyZWFkLg0KDQpUaGFua3MsDQpDaGFzZWwNCg0KaHR0cHM6Ly9n aXRodWIuY29tL3RpYW5vY29yZS9lZGsyL3B1bGwvNTY2OS9maWxlcyNyMTYyNjczMTY1Mw0KDQoN Cg0KRnJvbTogRGhhdmFsIFNoYXJtYSA8ZGhhdmFsQHJpdm9zaW5jLmNvbT4NClNlbnQ6IE1vbmRh eSwgSnVuZSAzLCAyMDI0IDQ6MjggQU0NClRvOiBMaXUsIExpbnVzIDxsaW51cy5saXVAaW50ZWwu Y29tPg0KQ2M6IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBMaW4sIEJlbm55IDxiZW5ueS5saW5AaW50 ZWwuY29tPjsgR3VvLCBHdWEgPGd1YS5ndW9AaW50ZWwuY29tPjsgQ2hpdSwgQ2hhc2VsIDxjaGFz ZWwuY2hpdUBpbnRlbC5jb20+OyBMdSwgSmFtZXMgPGphbWVzLmx1QGludGVsLmNvbT4NClN1Ympl Y3Q6IFJlOiBbUEFUQ0ggdjQgNi82XSBVZWZpUGF5bG9hZFBrZzogVXBkYXRlIFVlZmlQYXlsb2Fk IGRyaXZlciBmb3IgRkRUIHN1cHBvcnQuDQoNCkJ1aWxkRml0TG9hZGFibGVzRnZIb2I6DQoNCiAg KiAgIEZkdCB2YXJpYWJsZSBpcyBub3QgaW5pdGlhbGl6ZWQuDQogICogICBJdCBPTkxZIGdldHMg aW5pdGlhbGl6ZWQgaWYgR3VpZEhvYiBpcyBmb3VuZC4gV2hhdCBpZiBpdCBpcyBub3QgZm91bmQ/ DQogICogICBGZHRDaGVja0hlYWRlciBzdGlsbCBldmFsdWF0aW5nIGl0Pw0KDQpPbiBNb24sIEp1 biAzLCAyMDI0IGF0IDc6NDnigK9BTSBMaW51cyBMaXUgPGxpbnVzLmxpdUBpbnRlbC5jb208bWFp bHRvOmxpbnVzLmxpdUBpbnRlbC5jb20+PiB3cm90ZToNCkFkZCBGRFQgZGV0ZWN0aW9uIGFuZCBj b21zdW1lIEZEVCB3aGVuIG5lZWRlZC4NCk1vdmUgc29tZSB4ODYgc3BlY2lmaWMgZnVuY3Rpb24g aW4gdGhlIHg4NiBmb2xkZXIuDQpDcmVhdGUgSGFuZE9mZkhvYiB2aWEgRkRUIG1lbW9yeSBub2Rl Lg0KDQpDYzogQmVubnkgTGluIDxiZW5ueS5saW5AaW50ZWwuY29tPG1haWx0bzpiZW5ueS5saW5A aW50ZWwuY29tPj4NCkNjOiBHdWEgR3VvIDxndWEuZ3VvQGludGVsLmNvbTxtYWlsdG86Z3VhLmd1 b0BpbnRlbC5jb20+Pg0KQ2M6IENoYXNlbCBDaGl1IDxjaGFzZWwuY2hpdUBpbnRlbC5jb208bWFp bHRvOmNoYXNlbC5jaGl1QGludGVsLmNvbT4+DQpDYzogSmFtZXMgTHUgPGphbWVzLmx1QGludGVs LmNvbTxtYWlsdG86amFtZXMubHVAaW50ZWwuY29tPj4NCkNjOiBEaGF2YWwgU2hhcm1hIDxkaGF2 YWxAcml2b3NpbmMuY29tPG1haWx0bzpkaGF2YWxAcml2b3NpbmMuY29tPj4NCg0KU2lnbmVkLW9m Zi1ieTogTGludXMgTGl1IDxsaW51cy5saXVAaW50ZWwuY29tPG1haWx0bzpsaW51cy5saXVAaW50 ZWwuY29tPj4NCi0tLQ0KIFVlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvRml0VW5pdmVy c2FsUGF5bG9hZEVudHJ5LmMgICAgICAgICAgICAgICB8IDQyOCArKysrKysrKystLS0tLS0tLS0t LQ0KIFVlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvSWEzMi9EeGVMb2FkRnVuYy5jICAg ICAgICAgICAgICAgICAgICAgICB8ICAxMiArDQogVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRF bnRyeS9JYTMyL3tEeGVMb2FkRnVuYy5jID0+IER4ZUxvYWRGdW5jRml0LmN9IHwgIDMyICstDQog VWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9NZW1vcnlBbGxvY2F0aW9uLmMgICAgICAg ICAgICAgICAgICAgICAgIHwgIDUwICsrKw0KIFVlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50 cnkvUHJpbnRIb2IuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNiArLQ0KIFVl ZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvVW5pdmVyc2FsUGF5bG9hZEVudHJ5LmMgICAg ICAgICAgICAgICAgICB8ICAgNiAtDQogVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9Y NjQvRHhlTG9hZEZ1bmMuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEyICsNCiBVZWZpUGF5 bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L1g2NC97RHhlTG9hZEZ1bmMuYyA9PiBEeGVMb2FkRnVu Y0ZpdC5jfSAgfCAgMzEgKy0NCiBVZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L0ZpdFVu aXZlcnNhbFBheWxvYWRFbnRyeS5pbmYgICAgICAgICAgICAgfCAgMjAgKy0NCiBVZWZpUGF5bG9h ZFBrZy9VZWZpUGF5bG9hZEVudHJ5L1VlZmlQYXlsb2FkRW50cnkuaCAgICAgICAgICAgICAgICAg ICAgICAgfCAgNjggKysrKw0KIFVlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvVW5pdmVy c2FsUGF5bG9hZEVudHJ5LmluZiAgICAgICAgICAgICAgICB8ICAxNiArLQ0KIFVlZmlQYXlsb2Fk UGtnL1VlZmlQYXlsb2FkUGtnLmRzYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAyOSArLQ0KIDEyIGZpbGVzIGNoYW5nZWQsIDQ0MyBpbnNlcnRpb25zKCspLCAyNjcg ZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVu dHJ5L0ZpdFVuaXZlcnNhbFBheWxvYWRFbnRyeS5jIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxv YWRFbnRyeS9GaXRVbml2ZXJzYWxQYXlsb2FkRW50cnkuYw0KaW5kZXggZWIwYjMyNTM2OWEwLi44 MTNkNjU2OTUwZDEgMTAwNjQ0DQotLS0gYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5 L0ZpdFVuaXZlcnNhbFBheWxvYWRFbnRyeS5jDQorKysgYi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5 bG9hZEVudHJ5L0ZpdFVuaXZlcnNhbFBheWxvYWRFbnRyeS5jDQpAQCAtNiw2ICs2LDggQEANCiAj aW5jbHVkZSAiVWVmaVBheWxvYWRFbnRyeS5oIg0KICNpbmNsdWRlIDxMaWJyYXJ5L0ZkdExpYi5o Pg0KICNpbmNsdWRlIDxHdWlkL1VuaXZlcnNhbFBheWxvYWRCYXNlLmg+DQorI2luY2x1ZGUgPEd1 aWQvTWVtb3J5VHlwZUluZm9ybWF0aW9uLmg+DQorI2luY2x1ZGUgPExpYnJhcnkvRmR0UGFyc2Vy TGliLmg+DQoNCiAjZGVmaW5lIE1FTU9SWV9BVFRSSUJVVEVfTUFTSyAgKEVGSV9SRVNPVVJDRV9B VFRSSUJVVEVfUFJFU0VOVCAgICAgICAgICAgICB8ICAgICAgICBcDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRUZJX1JFU09VUkNFX0FUVFJJQlVURV9JTklUSUFMSVpF RCAgICAgICAgIHwgXA0KQEAgLTIzLDYgKzI1LDE1IEBADQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRUZJX1JFU09VUkNFX0FUVFJJQlVURV9JTklUSUFMSVpFRCB8IFwN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFRklfUkVTT1VSQ0VfQVRU UklCVVRFX1RFU1RFRCAgICAgICkNCg0KK0VGSV9NRU1PUllfVFlQRV9JTkZPUk1BVElPTiAgbURl ZmF1bHRNZW1vcnlUeXBlSW5mb3JtYXRpb25bXSA9IHsNCisgIHsgRWZpQUNQSVJlY2xhaW1NZW1v cnksICAgRml4ZWRQY2RHZXQzMiAoUGNkTWVtb3J5VHlwZUVmaUFDUElSZWNsYWltTWVtb3J5KSAg IH0sDQorICB7IEVmaUFDUElNZW1vcnlOVlMsICAgICAgIEZpeGVkUGNkR2V0MzIgKFBjZE1lbW9y eVR5cGVFZmlBQ1BJTWVtb3J5TlZTKSAgICAgICB9LA0KKyAgeyBFZmlSZXNlcnZlZE1lbW9yeVR5 cGUsICBGaXhlZFBjZEdldDMyIChQY2RNZW1vcnlUeXBlRWZpUmVzZXJ2ZWRNZW1vcnlUeXBlKSAg fSwNCisgIHsgRWZpUnVudGltZVNlcnZpY2VzRGF0YSwgRml4ZWRQY2RHZXQzMiAoUGNkTWVtb3J5 VHlwZUVmaVJ1bnRpbWVTZXJ2aWNlc0RhdGEpIH0sDQorICB7IEVmaVJ1bnRpbWVTZXJ2aWNlc0Nv ZGUsIEZpeGVkUGNkR2V0MzIgKFBjZE1lbW9yeVR5cGVFZmlSdW50aW1lU2VydmljZXNDb2RlKSB9 LA0KKyAgeyBFZmlNYXhNZW1vcnlUeXBlLCAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KK307DQorDQogZXh0ZXJuIFZPSUQgICptSG9i TGlzdDsNCg0KIENIQVI4ICAqbUxpbmVCdWZmZXIgPSBOVUxMOw0KQEAgLTM2LDYgKzQ3LDc4IEBA IFByaW50SG9iICgNCiAgIElOIENPTlNUIFZPSUQgICpIb2JTdGFydA0KICAgKTsNCg0KKy8qKg0K KyAgQWRkIEhPQiBpbnRvIEhPQiBsaXN0DQorICBAcGFyYW1baW5dICBIb2IgICAgVGhlIEhPQiB0 byBiZSBhZGRlZCBpbnRvIHRoZSBIT0IgbGlzdC4NCisqKi8NCitWT0lEDQorQWRkTmV3SG9iICgN CisgIElOIEVGSV9QRUlfSE9CX1BPSU5URVJTICAqSG9iDQorICApOw0KKw0KKy8qKg0KKyAgRm91 bmQgdGhlIFJlc291cmNlIERlc2NyaXB0b3IgSE9CIHRoYXQgY29udGFpbnMgYSByYW5nZSAoQmFz ZSwgVG9wKQ0KKyAgQHBhcmFtW2luXSBIb2JMaXN0ICAgIEhvYiBzdGFydCBhZGRyZXNzDQorICBA cGFyYW1baW5dIEJhc2UgICAgICAgTWVtb3J5IHN0YXJ0IGFkZHJlc3MNCisgIEBwYXJhbVtpbl0g VG9wICAgICAgICBNZW1vcnkgZW5kIGFkZHJlc3MuDQorICBAcmV0dmFsICAgICBUaGUgcG9pbnRl ciB0byB0aGUgUmVzb3VyY2UgRGVzY3JpcHRvciBIT0IuDQorKiovDQorRUZJX0hPQl9SRVNPVVJD RV9ERVNDUklQVE9SICoNCitGaW5kUmVzb3VyY2VEZXNjcmlwdG9yQnlSYW5nZSAoDQorICBJTiBW T0lEICAgICAgICAgICAgICAgICAgKkhvYkxpc3QsDQorICBJTiBFRklfUEhZU0lDQUxfQUREUkVT UyAgQmFzZSwNCisgIElOIEVGSV9QSFlTSUNBTF9BRERSRVNTICBUb3ANCisgICk7DQorDQorLyoq DQorICBGaW5kIHRoZSBoaWdoZXN0IGJlbG93IDRHIG1lbW9yeSByZXNvdXJjZSBkZXNjcmlwdG9y LCBleGNlcHQgdGhlIGlucHV0IFJlc291cmNlIERlc2NyaXB0b3IuDQorICBAcGFyYW1baW5dIEhv Ykxpc3QgICAgICAgICAgICAgICAgIEhvYiBzdGFydCBhZGRyZXNzDQorICBAcGFyYW1baW5dIE1p bmltYWxOZWVkZWRTaXplICAgICAgIE1pbmltYWwgbmVlZGVkIHNpemUuDQorICBAcGFyYW1baW5d IEV4Y2VwdFJlc291cmNlSG9iICAgICAgIElnbm9yZSB0aGlzIFJlc291cmNlIERlc2NyaXB0b3Iu DQorICBAcmV0dmFsICAgICBUaGUgcG9pbnRlciB0byB0aGUgUmVzb3VyY2UgRGVzY3JpcHRvciBI T0IuDQorKiovDQorRUZJX0hPQl9SRVNPVVJDRV9ERVNDUklQVE9SICoNCitGaW5kQW5vdGhlckhp Z2hlc3RCZWxvdzRHUmVzb3VyY2VEZXNjcmlwdG9yICgNCisgIElOIFZPSUQgICAgICAgICAgICAg ICAgICAgICAgICAgKkhvYkxpc3QsDQorICBJTiBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAg IE1pbmltYWxOZWVkZWRTaXplLA0KKyAgSU4gRUZJX0hPQl9SRVNPVVJDRV9ERVNDUklQVE9SICAq RXhjZXB0UmVzb3VyY2VIb2INCisgICk7DQorDQorLyoqDQorICBDaGVjayB0aGUgSE9CIGFuZCBk ZWNpZGUgaWYgaXQgaXMgbmVlZCBpbnNpZGUgUGF5bG9hZA0KKyAgUGF5bG9hZCBtYWludGFpbmVy IG1heSBtYWtlIGRlY2lzaW9uIHdoaWNoIEhPQiBpcyBuZWVkIG9yIG5lZWRuJ3QNCisgIFRoZW4g YWRkIHRoZSBjaGVjayBsb2dpYyBpbiB0aGUgZnVuY3Rpb24uDQorICBAcGFyYW1baW5dIEhvYiBU aGUgSE9CIHRvIGNoZWNrDQorICBAcmV0dmFsIFRSVUUgIElmIEhPQiBpcyBuZWVkIGluc2lkZSBQ YXlsb2FkDQorICBAcmV0dmFsIEZBTFNFIElmIEhPQiBpcyBuZWVkbid0IGluc2lkZSBQYXlsb2Fk DQorKiovDQorQk9PTEVBTg0KK0ZpdElzSG9iTmVlZCAoDQorICBFRklfUEVJX0hPQl9QT0lOVEVS UyAgSG9iDQorICApOw0KKw0KKy8qKg0KKyAgQ2hlY2sgdGhlIEhPQiBhbmQgZGVjaWRlIGlmIGl0 IGlzIG5lZWQgaW5zaWRlIFBheWxvYWQNCisNCisgIFBheWxvYWQgbWFpbnRhaW5lciBtYXkgbWFr ZSBkZWNpc2lvbiB3aGljaCBIT0IgaXMgbmVlZCBvciBuZWVkbid0DQorICBUaGVuIGFkZCB0aGUg Y2hlY2sgbG9naWMgaW4gdGhlIGZ1bmN0aW9uLg0KKw0KKyAgQHBhcmFtW2luXSBIb2IgVGhlIEhP QiB0byBjaGVjaw0KKw0KKyAgQHJldHZhbCBUUlVFICBJZiBIT0IgaXMgbmVlZCBpbnNpZGUgUGF5 bG9hZA0KKyAgQHJldHZhbCBGQUxTRSBJZiBIT0IgaXMgbmVlZG4ndCBpbnNpZGUgUGF5bG9hZA0K KyoqLw0KK0JPT0xFQU4NCitJc0hvYk5lZWQgKA0KKyAgRUZJX1BFSV9IT0JfUE9JTlRFUlMgIEhv Yg0KKyAgKTsNCisNCitWT0lEDQorRUZJQVBJDQorUHJvY2Vzc0xpYnJhcnlDb25zdHJ1Y3Rvckxp c3QgKA0KKyAgVk9JRA0KKyAgKTsNCisNCiAvKioNCiAgIEZpbmQgdGhlIGZpcnN0IHN1YnN0cmlu Zy4NCiAgIEBwYXJhbSAgU3RyaW5nICAgIFBvaW50IHRvIHRoZSBzdHJpbmcgd2hlcmUgdG8gZmlu ZCB0aGUgc3Vic3RyaW5nLg0KQEAgLTE5MSwxODcgKzI3NCw2IEBAIEZpeFVwUGNkRGF0YWJhc2Ug KA0KICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KIH0NCg0KLS8qKg0KLSAgQWRkIEhPQiBpbnRvIEhP QiBsaXN0DQotICBAcGFyYW1baW5dICBIb2IgICAgVGhlIEhPQiB0byBiZSBhZGRlZCBpbnRvIHRo ZSBIT0IgbGlzdC4NCi0qKi8NCi1WT0lEDQotQWRkTmV3SG9iICgNCi0gIElOIEVGSV9QRUlfSE9C X1BPSU5URVJTICAqSG9iDQotICApDQotew0KLSAgRUZJX1BFSV9IT0JfUE9JTlRFUlMgIE5ld0hv YjsNCi0NCi0gIGlmIChIb2ItPlJhdyA9PSBOVUxMKSB7DQotICAgIHJldHVybjsNCi0gIH0NCi0N Ci0gIE5ld0hvYi5IZWFkZXIgPSBDcmVhdGVIb2IgKEhvYi0+SGVhZGVyLT5Ib2JUeXBlLCBIb2It PkhlYWRlci0+SG9iTGVuZ3RoKTsNCi0gIEFTU0VSVCAoTmV3SG9iLkhlYWRlciAhPSBOVUxMKTsN Ci0gIGlmIChOZXdIb2IuSGVhZGVyID09IE5VTEwpIHsNCi0gICAgcmV0dXJuOw0KLSAgfQ0KLQ0K LSAgQ29weU1lbSAoTmV3SG9iLkhlYWRlciArIDEsIEhvYi0+SGVhZGVyICsgMSwgSG9iLT5IZWFk ZXItPkhvYkxlbmd0aCAtIHNpemVvZiAoRUZJX0hPQl9HRU5FUklDX0hFQURFUikpOw0KLX0NCi0N Ci0vKioNCi0gIEZvdW5kIHRoZSBSZXNvdXJjZSBEZXNjcmlwdG9yIEhPQiB0aGF0IGNvbnRhaW5z IGEgcmFuZ2UgKEJhc2UsIFRvcCkNCi0gIEBwYXJhbVtpbl0gSG9iTGlzdCAgICBIb2Igc3RhcnQg YWRkcmVzcw0KLSAgQHBhcmFtW2luXSBCYXNlICAgICAgIE1lbW9yeSBzdGFydCBhZGRyZXNzDQot ICBAcGFyYW1baW5dIFRvcCAgICAgICAgTWVtb3J5IGVuZCBhZGRyZXNzLg0KLSAgQHJldHZhbCAg ICAgVGhlIHBvaW50ZXIgdG8gdGhlIFJlc291cmNlIERlc2NyaXB0b3IgSE9CLg0KLSoqLw0KLUVG SV9IT0JfUkVTT1VSQ0VfREVTQ1JJUFRPUiAqDQotRmluZFJlc291cmNlRGVzY3JpcHRvckJ5UmFu Z2UgKA0KLSAgSU4gVk9JRCAgICAgICAgICAgICAgICAgICpIb2JMaXN0LA0KLSAgSU4gRUZJX1BI WVNJQ0FMX0FERFJFU1MgIEJhc2UsDQotICBJTiBFRklfUEhZU0lDQUxfQUREUkVTUyAgVG9wDQot ICApDQotew0KLSAgRUZJX1BFSV9IT0JfUE9JTlRFUlMgICAgICAgICBIb2I7DQotICBFRklfSE9C X1JFU09VUkNFX0RFU0NSSVBUT1IgICpSZXNvdXJjZUhvYjsNCi0NCi0gIGZvciAoSG9iLlJhdyA9 IChVSU5UOCAqKUhvYkxpc3Q7ICFFTkRfT0ZfSE9CX0xJU1QgKEhvYik7IEhvYi5SYXcgPSBHRVRf TkVYVF9IT0IgKEhvYikpIHsNCi0gICAgLy8NCi0gICAgLy8gU2tpcCBhbGwgSE9CcyBleGNlcHQg UmVzb3VyY2UgRGVzY3JpcHRvciBIT0JzDQotICAgIC8vDQotICAgIGlmIChHRVRfSE9CX1RZUEUg KEhvYikgIT0gRUZJX0hPQl9UWVBFX1JFU09VUkNFX0RFU0NSSVBUT1IpIHsNCi0gICAgICBjb250 aW51ZTsNCi0gICAgfQ0KLQ0KLSAgICAvLw0KLSAgICAvLyBTa2lwIFJlc291cmNlIERlc2NyaXB0 b3IgSE9CcyB0aGF0IGRvIG5vdCBkZXNjcmliZSB0ZXN0ZWQgc3lzdGVtIG1lbW9yeQ0KLSAgICAv Lw0KLSAgICBSZXNvdXJjZUhvYiA9IEhvYi5SZXNvdXJjZURlc2NyaXB0b3I7DQotICAgIGlmIChS ZXNvdXJjZUhvYi0+UmVzb3VyY2VUeXBlICE9IEVGSV9SRVNPVVJDRV9TWVNURU1fTUVNT1JZKSB7 DQotICAgICAgY29udGludWU7DQotICAgIH0NCi0NCi0gICAgaWYgKChSZXNvdXJjZUhvYi0+UmVz b3VyY2VBdHRyaWJ1dGUgJiBNRU1PUllfQVRUUklCVVRFX01BU0spICE9IFRFU1RFRF9NRU1PUllf QVRUUklCVVRFUykgew0KLSAgICAgIGNvbnRpbnVlOw0KLSAgICB9DQotDQotICAgIC8vDQotICAg IC8vIFNraXAgUmVzb3VyY2UgRGVzY3JpcHRvciBIT0JzIHRoYXQgZG8gbm90IGNvbnRhaW4gdGhl IFBISVQgcmFuZ2UgRWZpRnJlZU1lbW9yeUJvdHRvbS4uRWZpRnJlZU1lbW9yeVRvcA0KLSAgICAv Lw0KLSAgICBpZiAoQmFzZSA8IFJlc291cmNlSG9iLT5QaHlzaWNhbFN0YXJ0KSB7DQotICAgICAg Y29udGludWU7DQotICAgIH0NCi0NCi0gICAgaWYgKFRvcCA+IChSZXNvdXJjZUhvYi0+UGh5c2lj YWxTdGFydCArIFJlc291cmNlSG9iLT5SZXNvdXJjZUxlbmd0aCkpIHsNCi0gICAgICBjb250aW51 ZTsNCi0gICAgfQ0KLQ0KLSAgICByZXR1cm4gUmVzb3VyY2VIb2I7DQotICB9DQotDQotICByZXR1 cm4gTlVMTDsNCi19DQotDQotLyoqDQotICBGaW5kIHRoZSBoaWdoZXN0IGJlbG93IDRHIG1lbW9y eSByZXNvdXJjZSBkZXNjcmlwdG9yLCBleGNlcHQgdGhlIGlucHV0IFJlc291cmNlIERlc2NyaXB0 b3IuDQotICBAcGFyYW1baW5dIEhvYkxpc3QgICAgICAgICAgICAgICAgIEhvYiBzdGFydCBhZGRy ZXNzDQotICBAcGFyYW1baW5dIE1pbmltYWxOZWVkZWRTaXplICAgICAgIE1pbmltYWwgbmVlZGVk IHNpemUuDQotICBAcGFyYW1baW5dIEV4Y2VwdFJlc291cmNlSG9iICAgICAgIElnbm9yZSB0aGlz IFJlc291cmNlIERlc2NyaXB0b3IuDQotICBAcmV0dmFsICAgICBUaGUgcG9pbnRlciB0byB0aGUg UmVzb3VyY2UgRGVzY3JpcHRvciBIT0IuDQotKiovDQotRUZJX0hPQl9SRVNPVVJDRV9ERVNDUklQ VE9SICoNCi1GaW5kQW5vdGhlckhpZ2hlc3RCZWxvdzRHUmVzb3VyY2VEZXNjcmlwdG9yICgNCi0g IElOIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAgKkhvYkxpc3QsDQotICBJTiBVSU5UTiAg ICAgICAgICAgICAgICAgICAgICAgIE1pbmltYWxOZWVkZWRTaXplLA0KLSAgSU4gRUZJX0hPQl9S RVNPVVJDRV9ERVNDUklQVE9SICAqRXhjZXB0UmVzb3VyY2VIb2INCi0gICkNCi17DQotICBFRklf UEVJX0hPQl9QT0lOVEVSUyAgICAgICAgIEhvYjsNCi0gIEVGSV9IT0JfUkVTT1VSQ0VfREVTQ1JJ UFRPUiAgKlJlc291cmNlSG9iOw0KLSAgRUZJX0hPQl9SRVNPVVJDRV9ERVNDUklQVE9SICAqUmV0 dXJuUmVzb3VyY2VIb2I7DQotDQotICBSZXR1cm5SZXNvdXJjZUhvYiA9IE5VTEw7DQotDQotICBm b3IgKEhvYi5SYXcgPSAoVUlOVDggKilIb2JMaXN0OyAhRU5EX09GX0hPQl9MSVNUIChIb2IpOyBI b2IuUmF3ID0gR0VUX05FWFRfSE9CIChIb2IpKSB7DQotICAgIC8vDQotICAgIC8vIFNraXAgYWxs IEhPQnMgZXhjZXB0IFJlc291cmNlIERlc2NyaXB0b3IgSE9Ccw0KLSAgICAvLw0KLSAgICBpZiAo R0VUX0hPQl9UWVBFIChIb2IpICE9IEVGSV9IT0JfVFlQRV9SRVNPVVJDRV9ERVNDUklQVE9SKSB7 DQotICAgICAgY29udGludWU7DQotICAgIH0NCi0NCi0gICAgLy8NCi0gICAgLy8gU2tpcCBSZXNv dXJjZSBEZXNjcmlwdG9yIEhPQnMgdGhhdCBkbyBub3QgZGVzY3JpYmUgdGVzdGVkIHN5c3RlbSBt ZW1vcnkNCi0gICAgLy8NCi0gICAgUmVzb3VyY2VIb2IgPSBIb2IuUmVzb3VyY2VEZXNjcmlwdG9y Ow0KLSAgICBpZiAoUmVzb3VyY2VIb2ItPlJlc291cmNlVHlwZSAhPSBFRklfUkVTT1VSQ0VfU1lT VEVNX01FTU9SWSkgew0KLSAgICAgIGNvbnRpbnVlOw0KLSAgICB9DQotDQotICAgIGlmICgoUmVz b3VyY2VIb2ItPlJlc291cmNlQXR0cmlidXRlICYgTUVNT1JZX0FUVFJJQlVURV9NQVNLKSAhPSBU RVNURURfTUVNT1JZX0FUVFJJQlVURVMpIHsNCi0gICAgICBjb250aW51ZTsNCi0gICAgfQ0KLQ0K LSAgICAvLw0KLSAgICAvLyBTa2lwIGlmIHRoZSBSZXNvdXJjZSBEZXNjcmlwdG9yIEhPQiBlcXVh bHMgdG8gRXhjZXB0UmVzb3VyY2VIb2INCi0gICAgLy8NCi0gICAgaWYgKFJlc291cmNlSG9iID09 IEV4Y2VwdFJlc291cmNlSG9iKSB7DQotICAgICAgY29udGludWU7DQotICAgIH0NCi0NCi0gICAg Ly8NCi0gICAgLy8gU2tpcCBSZXNvdXJjZSBEZXNjcmlwdG9yIEhPQnMgdGhhdCBhcmUgYmV5b25k IDRHDQotICAgIC8vDQotICAgIGlmICgoUmVzb3VyY2VIb2ItPlBoeXNpY2FsU3RhcnQgKyBSZXNv dXJjZUhvYi0+UmVzb3VyY2VMZW5ndGgpID4gQkFTRV80R0IpIHsNCi0gICAgICBjb250aW51ZTsN Ci0gICAgfQ0KLQ0KLSAgICAvLw0KLSAgICAvLyBTa2lwIFJlc291cmNlIERlc2NyaXB0b3IgSE9C cyB0aGF0IGFyZSB0b28gc21hbGwNCi0gICAgLy8NCi0gICAgaWYgKFJlc291cmNlSG9iLT5SZXNv dXJjZUxlbmd0aCA8IE1pbmltYWxOZWVkZWRTaXplKSB7DQotICAgICAgY29udGludWU7DQotICAg IH0NCi0NCi0gICAgLy8NCi0gICAgLy8gUmV0dXJuIHRoZSB0b3Blc3QgUmVzb3VyY2UgRGVzY3Jp cHRvcg0KLSAgICAvLw0KLSAgICBpZiAoUmV0dXJuUmVzb3VyY2VIb2IgPT0gTlVMTCkgew0KLSAg ICAgIFJldHVyblJlc291cmNlSG9iID0gUmVzb3VyY2VIb2I7DQotICAgIH0gZWxzZSB7DQotICAg ICAgaWYgKFJldHVyblJlc291cmNlSG9iLT5QaHlzaWNhbFN0YXJ0IDwgUmVzb3VyY2VIb2ItPlBo eXNpY2FsU3RhcnQpIHsNCi0gICAgICAgIFJldHVyblJlc291cmNlSG9iID0gUmVzb3VyY2VIb2I7 DQotICAgICAgfQ0KLSAgICB9DQotICB9DQotDQotICByZXR1cm4gUmV0dXJuUmVzb3VyY2VIb2I7 DQotfQ0KLQ0KLS8qKg0KLSAgQ2hlY2sgdGhlIEhPQiBhbmQgZGVjaWRlIGlmIGl0IGlzIG5lZWQg aW5zaWRlIFBheWxvYWQNCi0gIFBheWxvYWQgbWFpbnRhaW5lciBtYXkgbWFrZSBkZWNpc2lvbiB3 aGljaCBIT0IgaXMgbmVlZCBvciBuZWVkbid0DQotICBUaGVuIGFkZCB0aGUgY2hlY2sgbG9naWMg aW4gdGhlIGZ1bmN0aW9uLg0KLSAgQHBhcmFtW2luXSBIb2IgVGhlIEhPQiB0byBjaGVjaw0KLSAg QHJldHZhbCBUUlVFICBJZiBIT0IgaXMgbmVlZCBpbnNpZGUgUGF5bG9hZA0KLSAgQHJldHZhbCBG QUxTRSBJZiBIT0IgaXMgbmVlZG4ndCBpbnNpZGUgUGF5bG9hZA0KLSoqLw0KLUJPT0xFQU4NCi1J c0hvYk5lZWQgKA0KLSAgRUZJX1BFSV9IT0JfUE9JTlRFUlMgIEhvYg0KLSAgKQ0KLXsNCi0gIGlm IChIb2IuSGVhZGVyLT5Ib2JUeXBlID09IEVGSV9IT0JfVFlQRV9IQU5ET0ZGKSB7DQotICAgIHJl dHVybiBGQUxTRTsNCi0gIH0NCi0NCi0gIGlmIChIb2IuSGVhZGVyLT5Ib2JUeXBlID09IEVGSV9I T0JfVFlQRV9NRU1PUllfQUxMT0NBVElPTikgew0KLSAgICBpZiAoQ29tcGFyZUd1aWQgKCZIb2Iu TWVtb3J5QWxsb2NhdGlvbk1vZHVsZS0+TWVtb3J5QWxsb2NhdGlvbkhlYWRlci5OYW1lLCAmZ0Vm aUhvYk1lbW9yeUFsbG9jTW9kdWxlR3VpZCkpIHsNCi0gICAgICByZXR1cm4gRkFMU0U7DQotICAg IH0NCi0gIH0NCi0NCi0gIC8vIEFycml2ZSBoZXJlIG1lYW4gdGhlIEhPQiBpcyBuZWVkDQotICBy ZXR1cm4gVFJVRTsNCi19DQotDQogLyoqDQogICBJdCB3aWxsIGJ1aWxkIEZ2IEhPQnMgYmFzZWQg b24gaW5mb3JtYXRpb24gZnJvbSBib290bG9hZGVycy4NCiAgIEBwYXJhbVtvdXRdIER4ZUZ2ICAg ICAgICAgIFRoZSBwb2ludGVyIHRvIHRoZSBEWEUgRlYgaW4gbWVtb3J5Lg0KQEAgLTQwOSwyMSAr MzExLDI1IEBAIEJ1aWxkRml0TG9hZGFibGVzRnZIb2IgKA0KDQogICBTdGF0dXMgPSBGZHRDaGVj a0hlYWRlciAoRmR0KTsNCiAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgREVCVUcg KChERUJVR19JTkZPLCAiRmR0Q2hlY2tIZWFkZXIgVVBTVVBQT1JURURcbiIpKTsNCiAgICAgcmV0 dXJuIEVGSV9VTlNVUFBPUlRFRDsNCiAgIH0NCg0KICAgQ29uZmlnTm9kZSA9IEZkdFN1Ym5vZGVP ZmZzZXROYW1lTGVuIChGZHQsIDAsICJjb25maWd1cmF0aW9ucyIsIChJTlQzMilBc2NpaVN0ckxl biAoImNvbmZpZ3VyYXRpb25zIikpOw0KICAgaWYgKENvbmZpZ05vZGUgPD0gMCkgew0KKyAgICBE RUJVRyAoKERFQlVHX0lORk8sICJCdWlsZEZpdExvYWRhYmxlc0Z2SG9iIGNvbmZpZ3VyYXRpb25z IEVGSV9OT1RfRk9VTkRcbiIpKTsNCiAgICAgcmV0dXJuIEVGSV9OT1RfRk9VTkQ7DQogICB9DQoN CiAgIENvbmZpZzFOb2RlID0gRmR0U3Vibm9kZU9mZnNldE5hbWVMZW4gKEZkdCwgQ29uZmlnTm9k ZSwgImNvbmYtMSIsIChJTlQzMilBc2NpaVN0ckxlbiAoImNvbmYtMSIpKTsNCiAgIGlmIChDb25m aWcxTm9kZSA8PSAwKSB7DQorICAgIERFQlVHICgoREVCVUdfSU5GTywgIkJ1aWxkRml0TG9hZGFi bGVzRnZIb2IgY29uZi0xIEVGSV9OT1RfRk9VTkRcbiIpKTsNCiAgICAgcmV0dXJuIEVGSV9OT1Rf Rk9VTkQ7DQogICB9DQoNCiAgIEltYWdlTm9kZSA9IEZkdFN1Ym5vZGVPZmZzZXROYW1lTGVuIChG ZHQsIDAsICJpbWFnZXMiLCAoSU5UMzIpQXNjaWlTdHJMZW4gKCJpbWFnZXMiKSk7DQogICBpZiAo SW1hZ2VOb2RlIDw9IDApIHsNCisgICAgREVCVUcgKChERUJVR19JTkZPLCAiQnVpbGRGaXRMb2Fk YWJsZXNGdkhvYiBpbWFnZXMgRUZJX05PVF9GT1VORFxuIikpOw0KICAgICByZXR1cm4gRUZJX05P VF9GT1VORDsNCiAgIH0NCg0KQEAgLTQ2NywzMSArMzczLDI1IEBAIEJ1aWxkRml0TG9hZGFibGVz RnZIb2IgKA0KIH0NCg0KIC8qKg0KLSAgSXQgd2lsbCBidWlsZCBIT0JzIGJhc2VkIG9uIGluZm9y bWF0aW9uIGZyb20gYm9vdGxvYWRlcnMuDQotICBAcGFyYW1baW5dICBCb290bG9hZGVyUGFyYW1l dGVyICAgVGhlIHN0YXJ0aW5nIG1lbW9yeSBhZGRyZXNzIG9mIGJvb3Rsb2FkZXIgcGFyYW1ldGVy IGJsb2NrLg0KLSAgQHBhcmFtW291dF0gRHhlRnYgICAgICAgICAgICAgICAgIFRoZSBwb2ludGVy IHRvIHRoZSBEWEUgRlYgaW4gbWVtb3J5Lg0KLSAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAg SWYgaXQgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCi0gIEByZXR2YWwgT3RoZXJzICAgICAgICAg ICAgIElmIGl0IGZhaWxlZCB0byBidWlsZCByZXF1aXJlZCBIT0JzLg0KKyAqDQorICBDcmVhdGUg bmV3IEhPQiBmb3IgbmV3IEhPQiBsaXN0DQorDQorICBAcGFyYW1baW5dICBCb290bG9hZGVyUGFy YW1ldGVyICBUaGUgSE9CIHRvIGJlIGFkZGVkIGludG8gdGhlIEhPQiBsaXN0Lg0KICoqLw0KLUVG SV9TVEFUVVMNCi1CdWlsZEhvYnMgKA0KLSAgSU4gIFVJTlROICAgICAgICAgICAgICAgICAgICAg ICBCb290bG9hZGVyUGFyYW1ldGVyLA0KLSAgT1VUIEVGSV9GSVJNV0FSRV9WT0xVTUVfSEVBREVS ICAqKkR4ZUZ2DQorVk9JRA0KK0NyZWF0TmV3SG9iRm9ySG9ibGlzdCAoDQorICBJTiBVSU5UTiAg Qm9vdGxvYWRlclBhcmFtZXRlcg0KICAgKQ0KIHsNCi0gIEVGSV9QRUlfSE9CX1BPSU5URVJTICAg ICAgICAgIEhvYjsNCi0gIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIE1pbmltYWxOZWVk ZWRTaXplOw0KLSAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgICAgRnJlZU1lbW9yeUJvdHRv bTsNCi0gIEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAgICAgIEZyZWVNZW1vcnlUb3A7DQotICBF RklfUEhZU0lDQUxfQUREUkVTUyAgICAgICAgICBNZW1vcnlCb3R0b207DQotICBFRklfUEhZU0lD QUxfQUREUkVTUyAgICAgICAgICBNZW1vcnlUb3A7DQotICBFRklfSE9CX1JFU09VUkNFX0RFU0NS SVBUT1IgICAqUGhpdFJlc291cmNlSG9iOw0KLSAgRUZJX0hPQl9SRVNPVVJDRV9ERVNDUklQVE9S ICAgKlJlc291cmNlSG9iOw0KLSAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgKkd1aWRI b2I7DQotICBFRklfSE9CX0ZJUk1XQVJFX1ZPTFVNRSAgICAgICAqRnZIb2I7DQotICBVTklWRVJT QUxfUEFZTE9BRF9BQ1BJX1RBQkxFICAqQWNwaVRhYmxlOw0KLSAgQUNQSV9CT0FSRF9JTkZPICAg ICAgICAgICAgICAgKkFjcGlCb2FyZEluZm87DQotICBFRklfSE9CX0hBTkRPRkZfSU5GT19UQUJM RSAgICAqSG9iSW5mbzsNCisgIEVGSV9QRUlfSE9CX1BPSU5URVJTICAgICAgICAgSG9iOw0KKyAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICBNaW5pbWFsTmVlZGVkU2l6ZTsNCisgIEVGSV9Q SFlTSUNBTF9BRERSRVNTICAgICAgICAgRnJlZU1lbW9yeUJvdHRvbTsNCisgIEVGSV9QSFlTSUNB TF9BRERSRVNTICAgICAgICAgRnJlZU1lbW9yeVRvcDsNCisgIEVGSV9QSFlTSUNBTF9BRERSRVNT ICAgICAgICAgTWVtb3J5Qm90dG9tOw0KKyAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgICBN ZW1vcnlUb3A7DQorICBFRklfSE9CX1JFU09VUkNFX0RFU0NSSVBUT1IgICpQaGl0UmVzb3VyY2VI b2I7DQorICBFRklfSE9CX1JFU09VUkNFX0RFU0NSSVBUT1IgICpSZXNvdXJjZUhvYjsNCisgIEVG SV9IT0JfSEFORE9GRl9JTkZPX1RBQkxFICAgKkhvYkluZm87DQoNCiAgIEhvYi5SYXcgICAgICAg ICAgID0gKFVJTlQ4ICopQm9vdGxvYWRlclBhcmFtZXRlcjsNCiAgIE1pbmltYWxOZWVkZWRTaXpl ID0gRml4ZWRQY2RHZXQzMiAoUGNkU3lzdGVtTWVtb3J5VWVmaVJlZ2lvblNpemUpOw0KQEAgLTUx Miw3ICs0MTIsNyBAQCBCdWlsZEhvYnMgKA0KICAgICAvLw0KICAgICBSZXNvdXJjZUhvYiA9IEZp bmRBbm90aGVySGlnaGVzdEJlbG93NEdSZXNvdXJjZURlc2NyaXB0b3IgKEhvYi5SYXcsIE1pbmlt YWxOZWVkZWRTaXplLCBOVUxMKTsNCiAgICAgaWYgKFJlc291cmNlSG9iID09IE5VTEwpIHsNCi0g ICAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCisgICAgICByZXR1cm47DQogICAgIH0NCg0KICAg ICBNZW1vcnlCb3R0b20gICAgID0gUmVzb3VyY2VIb2ItPlBoeXNpY2FsU3RhcnQgKyBSZXNvdXJj ZUhvYi0+UmVzb3VyY2VMZW5ndGggLSBNaW5pbWFsTmVlZGVkU2l6ZTsNCkBAIC01NDIsNyArNDQy LDcgQEAgQnVpbGRIb2JzICgNCiAgICAgLy8NCiAgICAgUmVzb3VyY2VIb2IgPSBGaW5kQW5vdGhl ckhpZ2hlc3RCZWxvdzRHUmVzb3VyY2VEZXNjcmlwdG9yIChIb2IuUmF3LCBNaW5pbWFsTmVlZGVk U2l6ZSwgUGhpdFJlc291cmNlSG9iKTsNCiAgICAgaWYgKFJlc291cmNlSG9iID09IE5VTEwpIHsN Ci0gICAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCisgICAgICByZXR1cm47DQogICAgIH0NCg0K ICAgICBNZW1vcnlCb3R0b20gICAgID0gUmVzb3VyY2VIb2ItPlBoeXNpY2FsU3RhcnQgKyBSZXNv dXJjZUhvYi0+UmVzb3VyY2VMZW5ndGggLSBNaW5pbWFsTmVlZGVkU2l6ZTsNCkBAIC01NTMsMTQg KzQ1Myw3IEBAIEJ1aWxkSG9icyAoDQoNCiAgIEhvYkluZm8gICAgICAgICAgID0gSG9iQ29uc3Ry dWN0b3IgKChWT0lEICopKFVJTlROKU1lbW9yeUJvdHRvbSwgKFZPSUQgKikoVUlOVE4pTWVtb3J5 VG9wLCAoVk9JRCAqKShVSU5UTilGcmVlTWVtb3J5Qm90dG9tLCAoVk9JRCAqKShVSU5UTilGcmVl TWVtb3J5VG9wKTsNCiAgIEhvYkluZm8tPkJvb3RNb2RlID0gSG9iLkhhbmRvZmZJbmZvcm1hdGlv blRhYmxlLT5Cb290TW9kZTsNCi0gIC8vDQotICAvLyBGcm9tIG5vdyBvbiwgbUhvYkxpc3Qgd2ls bCBwb2ludCB0byB0aGUgbmV3IEhvYiByYW5nZS4NCi0gIC8vDQoNCi0gIC8vDQotICAvLyBDcmVh dGUgYW4gZW1wdHkgRnZIb2IgZm9yIHRoZSBEWEUgRlYgdGhhdCBjb250YWlucyBEWEUgY29yZS4N Ci0gIC8vDQotICBCdWlsZEZ2SG9iICgoRUZJX1BIWVNJQ0FMX0FERFJFU1MpMCwgMCk7DQogICAv Lw0KICAgLy8gU2luY2UgcGF5bG9hZCBjcmVhdGVkIG5ldyBIb2IsIG1vdmUgYWxsIGhvYnMgZXhj ZXB0IFBISVQgZnJvbSBib290IGxvYWRlciBob2IgbGlzdC4NCiAgIC8vDQpAQCAtNTczLDcgKzQ2 Niw1NyBAQCBCdWlsZEhvYnMgKA0KICAgICBIb2IuUmF3ID0gR0VUX05FWFRfSE9CIChIb2IpOw0K ICAgfQ0KDQotICBCdWlsZEZpdExvYWRhYmxlc0Z2SG9iIChEeGVGdik7DQorICByZXR1cm47DQor fQ0KKw0KKy8qKg0KKyAgSXQgd2lsbCBidWlsZCBIT0JzIGJhc2VkIG9uIGluZm9ybWF0aW9uIGZy b20gYm9vdGxvYWRlcnMuDQorICBAcGFyYW1baW5dICBOZXdGZHRCYXNlICAgICBUaGUgcG9pbnRl ciB0byBOZXcgRmR0QmFzZS4NCisgIEBwYXJhbVtvdXRdIER4ZUZ2ICAgICAgICAgIFRoZSBwb2lu dGVyIHRvIHRoZSBEWEUgRlYgaW4gbWVtb3J5Lg0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAg ICAgSWYgaXQgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCisgIEByZXR2YWwgT3RoZXJzICAgICAg ICAgICAgIElmIGl0IGZhaWxlZCB0byBidWlsZCByZXF1aXJlZCBIT0JzLg0KKyoqLw0KK0VGSV9T VEFUVVMNCitGaXRCdWlsZEhvYnMgKA0KKyAgSU4gIFVJTlROICAgICAgICAgICAgICAgICAgICAg ICBOZXdGZHRCYXNlLA0KKyAgT1VUIEVGSV9GSVJNV0FSRV9WT0xVTUVfSEVBREVSICAqKkR4ZUZ2 DQorICApDQorew0KKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICpHdWlkSG9iOw0K KyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgIEZkdFNpemU7DQorICBFRklfSE9CX0ZJ Uk1XQVJFX1ZPTFVNRSAgICAgICAgKkZ2SG9iOw0KKyAgVU5JVkVSU0FMX1BBWUxPQURfQUNQSV9U QUJMRSAgICpBY3BpVGFibGU7DQorICBBQ1BJX0JPQVJEX0lORk8gICAgICAgICAgICAgICAgKkFj cGlCb2FyZEluZm87DQorICBVTklWRVJTQUxfUEFZTE9BRF9ERVZJQ0VfVFJFRSAgKkZkdDsNCisN CisgIGlmIChGaXhlZFBjZEdldEJvb2wgKFBjZEhhbmRPZmZGZHRFbmFibGUpKSB7DQorICAgIC8v DQorICAgIC8vIEJhY2sgdXAgRkRUIGluIFJlc2VydmVkIG1lbW9yeSByZWdpb24NCisgICAgLy8N CisNCisgICAgR3VpZEhvYiA9IEdldEZpcnN0R3VpZEhvYiAoJmdVbml2ZXJzYWxQYXlsb2FkRGV2 aWNlVHJlZUd1aWQpOw0KKyAgICBpZiAoR3VpZEhvYiAhPSBOVUxMKSB7DQorICAgICAgRmR0ID0g IChVTklWRVJTQUxfUEFZTE9BRF9ERVZJQ0VfVFJFRSAqKUdFVF9HVUlEX0hPQl9EQVRBIChHdWlk SG9iKTsNCisgICAgICBpZiAoRmR0ICE9IE5VTEwpIHsNCisgICAgICAgIERFQlVHICgoREVCVUdf SU5GTywgIlVwZGF0ZSBGRFQgYmFzZSB0byByZXNlcnZlZCBtZW1vcnlcbiIpKTsNCisgICAgICAg IEZkdFNpemUgPSA0ICogRUZJX1BBR0VfU0laRTsNCisgICAgICAgIENvcHlNZW0gKChWT0lEICop TmV3RmR0QmFzZSwgKFZPSUQgKikoRmR0LT5EZXZpY2VUcmVlQWRkcmVzcyksIEZkdFNpemUpOw0K KyAgICAgICAgRmR0LT5EZXZpY2VUcmVlQWRkcmVzcyA9IE5ld0ZkdEJhc2U7DQorICAgICAgfQ0K KyAgICB9DQorICB9DQorDQorICAvLw0KKyAgLy8gVG8gY3JlYXRlIE1lbW9yeSBUeXBlIEluZm9y bWF0aW9uIEhPQg0KKyAgLy8NCisgIEd1aWRIb2IgPSBHZXRGaXJzdEd1aWRIb2IgKCZnRWZpTWVt b3J5VHlwZUluZm9ybWF0aW9uR3VpZCk7DQorICBpZiAoR3VpZEhvYiA9PSBOVUxMKSB7DQorICAg IEJ1aWxkR3VpZERhdGFIb2IgKA0KKyAgICAgICZnRWZpTWVtb3J5VHlwZUluZm9ybWF0aW9uR3Vp ZCwNCisgICAgICBtRGVmYXVsdE1lbW9yeVR5cGVJbmZvcm1hdGlvbiwNCisgICAgICBzaXplb2Yg KG1EZWZhdWx0TWVtb3J5VHlwZUluZm9ybWF0aW9uKQ0KKyAgICAgICk7DQorICB9DQoNCiAgIC8v DQogICAvLyBDcmVhdGUgZ3VpZCBob2IgZm9yIGFjcGkgYm9hcmQgaW5mb3JtYXRpb24NCkBAIC01 ODgsNiArNTMxLDEyIEBAIEJ1aWxkSG9icyAoDQogICAgIH0NCiAgIH0NCg0KKyAgLy8NCisgIC8v IENyZWF0ZSBhbiBlbXB0eSBGdkhvYiBmb3IgdGhlIERYRSBGViB0aGF0IGNvbnRhaW5zIERYRSBj b3JlLg0KKyAgLy8NCisgIEJ1aWxkRnZIb2IgKChFRklfUEhZU0lDQUxfQUREUkVTUykwLCAwKTsN CisNCisgIEJ1aWxkRml0TG9hZGFibGVzRnZIb2IgKER4ZUZ2KTsNCiAgIC8vDQogICAvLyBVcGRh dGUgRFhFIEZWIGluZm9ybWF0aW9uIHRvIGZpcnN0IGZ2IGhvYiBpbiB0aGUgaG9iIGxpc3QsIHdo aWNoDQogICAvLyBpcyB0aGUgZW1wdHkgRnZIb2IgY3JlYXRlZCBiZWZvcmUuDQpAQCAtNjAwLDEy ICs1NDksMTIgQEAgQnVpbGRIb2JzICgNCg0KIC8qKg0KICAgRW50cnkgcG9pbnQgdG8gdGhlIEMg bGFuZ3VhZ2UgcGhhc2Ugb2YgVUVGSSBwYXlsb2FkLg0KLSAgQHBhcmFtW2luXSAgIEJvb3Rsb2Fk ZXJQYXJhbWV0ZXIgICAgVGhlIHN0YXJ0aW5nIGFkZHJlc3Mgb2YgYm9vdGxvYWRlciBwYXJhbWV0 ZXIgYmxvY2suDQorICBAcGFyYW1baW5dICAgQm9vdGxvYWRlclBhcmFtZXRlciAgVGhlIHN0YXJ0 aW5nIGFkZHJlc3Mgb2YgRkRUIC4NCiAgIEByZXR2YWwgICAgICBJdCB3aWxsIG5vdCByZXR1cm4g aWYgU1VDQ0VTUywgYW5kIHJldHVybiBlcnJvciB3aGVuIHBhc3NpbmcgYm9vdGxvYWRlciBwYXJh bWV0ZXIuDQogKiovDQogRUZJX1NUQVRVUw0KIEVGSUFQSQ0KLV9Nb2R1bGVFbnRyeVBvaW50ICgN CitGaXRVcGxFbnRyeVBvaW50ICgNCiAgIElOIFVJTlROICBCb290bG9hZGVyUGFyYW1ldGVyDQog ICApDQogew0KQEAgLTYxMywxNCArNTYyLDQ2IEBAIF9Nb2R1bGVFbnRyeVBvaW50ICgNCiAgIFBI WVNJQ0FMX0FERFJFU1MgICAgICAgICAgICBEeGVDb3JlRW50cnlQb2ludDsNCiAgIEVGSV9QRUlf SE9CX1BPSU5URVJTICAgICAgICBIb2I7DQogICBFRklfRklSTVdBUkVfVk9MVU1FX0hFQURFUiAg KkR4ZUZ2Ow0KKyAgUEhZU0lDQUxfQUREUkVTUyAgICAgICAgICAgIEhvYkxpc3RQdHI7DQorICBW T0lEICAgICAgICAgICAgICAgICAgICAgICAgKkZkdEJhc2U7DQorICBWT0lEICAgICAgICAgICAg ICAgICAgICAgICAgKkZkdEJhc2VSZXN2ZDsNCg0KLSAgbUhvYkxpc3QgPSAoVk9JRCAqKUJvb3Rs b2FkZXJQYXJhbWV0ZXI7DQotICBEeGVGdiAgICA9IE5VTEw7DQorICBpZiAoRml4ZWRQY2RHZXRC b29sIChQY2RIYW5kT2ZmRmR0RW5hYmxlKSkgew0KKyAgICBtSG9iTGlzdCA9IChWT0lEICopTlVM TDsNCisgIH0gZWxzZSB7DQorICAgIG1Ib2JMaXN0ID0gKFZPSUQgKilCb290bG9hZGVyUGFyYW1l dGVyOw0KKyAgfQ0KKw0KKyAgRHhlRnYgPSBOVUxMOw0KICAgLy8gQ2FsbCBjb25zdHJ1Y3RvciBm b3IgYWxsIGxpYnJhcmllcw0KICAgUHJvY2Vzc0xpYnJhcnlDb25zdHJ1Y3Rvckxpc3QgKCk7DQoN CiAgIERFQlVHICgoREVCVUdfSU5GTywgIkVudGVyaW5nIFVuaXZlcnNhbCBQYXlsb2FkLi4uXG4i KSk7DQogICBERUJVRyAoKERFQlVHX0lORk8sICJzaXplb2YoVUlOVE4pID0gMHgleFxuIiwgc2l6 ZW9mIChVSU5UTikpKTsNCisgIERFQlVHICgoREVCVUdfSU5GTywgIkJvb3Rsb2FkZXJQYXJhbWV0 ZXIgPSAweCV4XG4iLCBCb290bG9hZGVyUGFyYW1ldGVyKSk7DQorDQorICBERUJVRyAoKERFQlVH X0lORk8sICJTdGFydCBpbml0IEhvYnMuLi5cbiIpKTsNCisgIEhvYkxpc3RQdHIgPSBVcGxJbml0 SG9iICgoVk9JRCAqKUJvb3Rsb2FkZXJQYXJhbWV0ZXIpOw0KKw0KKyAgLy8NCisgIC8vIEZvdW5k IGhvYiBsaXN0IG5vZGUNCisgIC8vDQorICBpZiAoSG9iTGlzdFB0ciAhPSAwKSB7DQorICAgIEZk dEJhc2UgPSAoVk9JRCAqKUJvb3Rsb2FkZXJQYXJhbWV0ZXI7DQorICAgIGlmIChGZHRDaGVja0hl YWRlciAoRmR0QmFzZSkgPT0gMCkgew0KKyAgICAgIEN1c3RvbUZkdE5vZGVQYXJzZXIgKChWT0lE ICopRmR0QmFzZSwgKFZPSUQgKilIb2JMaXN0UHRyKTsNCisgICAgfSBlbHNlIHsNCisgICAgICBD cmVhdE5ld0hvYkZvckhvYmxpc3QgKEJvb3Rsb2FkZXJQYXJhbWV0ZXIpOw0KKyAgICB9DQorDQor ICAgIEZkdEJhc2VSZXN2ZCA9IFBheWxvYWRBbGxvY2F0ZVBhZ2VzICg0LCBFZmlSZXNlcnZlZE1l bW9yeVR5cGUpOw0KKw0KKyAgICAvLyBCdWlsZCBIT0IgYmFzZWQgb24gaW5mb3JtYXRpb24gZnJv bSBCb290bG9hZGVyDQorICAgIFN0YXR1cyA9IEZpdEJ1aWxkSG9icyAoKFVJTlROKUZkdEJhc2VS ZXN2ZCwgJkR4ZUZ2KTsNCisgIH0NCisNCisgIC8vIENhbGwgY29uc3RydWN0b3IgZm9yIGFsbCBs aWJyYXJpZXMgYWdhaW4gc2luY2UgaG9icyB3ZXJlIGJ1aWx0DQorICBQcm9jZXNzTGlicmFyeUNv bnN0cnVjdG9yTGlzdCAoKTsNCg0KICAgREVCVUdfQ09ERSAoDQogICAgIC8vDQpAQCAtNjI5LDIz ICs2MTAsMTAgQEAgX01vZHVsZUVudHJ5UG9pbnQgKA0KICAgICBQcmludEhvYiAobUhvYkxpc3Qp Ow0KICAgICApOw0KDQotICAvLyBJbml0aWFsaXplIGZsb2F0aW5nIHBvaW50IG9wZXJhdGluZyBl bnZpcm9ubWVudCB0byBiZSBjb21wbGlhbnQgd2l0aCBVRUZJIHNwZWMuDQotICBJbml0aWFsaXpl RmxvYXRpbmdQb2ludFVuaXRzICgpOw0KLQ0KLSAgLy8gQnVpbGQgSE9CIGJhc2VkIG9uIGluZm9y bWF0aW9uIGZyb20gQm9vdGxvYWRlcg0KLSAgU3RhdHVzID0gQnVpbGRIb2JzIChCb290bG9hZGVy UGFyYW1ldGVyLCAmRHhlRnYpOw0KLSAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCi0NCiAg IEZpeFVwUGNkRGF0YWJhc2UgKER4ZUZ2KTsNCiAgIFN0YXR1cyA9IFVuaXZlcnNhbExvYWREeGVD b3JlIChEeGVGdiwgJkR4ZUNvcmVFbnRyeVBvaW50KTsNCiAgIEFTU0VSVF9FRklfRVJST1IgKFN0 YXR1cyk7DQoNCi0gIC8vDQotICAvLyBNYXNrIG9mZiBhbGwgbGVnYWN5IDgyNTkgaW50ZXJydXB0 IHNvdXJjZXMNCi0gIC8vDQotICBJb1dyaXRlOCAoTEVHQUNZXzgyNTlfTUFTS19SRUdJU1RFUl9N QVNURVIsIDB4RkYpOw0KLSAgSW9Xcml0ZTggKExFR0FDWV84MjU5X01BU0tfUkVHSVNURVJfU0xB VkUsIDB4RkYpOw0KLQ0KICAgSG9iLkhhbmRvZmZJbmZvcm1hdGlvblRhYmxlID0gKEVGSV9IT0Jf SEFORE9GRl9JTkZPX1RBQkxFICopR2V0Rmlyc3RIb2IgKEVGSV9IT0JfVFlQRV9IQU5ET0ZGKTsN CiAgIEhhbmRPZmZUb0R4ZUNvcmUgKER4ZUNvcmVFbnRyeVBvaW50LCBIb2IpOw0KDQpkaWZmIC0t Z2l0IGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9JYTMyL0R4ZUxvYWRGdW5jLmMg Yi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L0lhMzIvRHhlTG9hZEZ1bmMuYw0KaW5k ZXggNjFhOWYwMWVjOWU3Li5jZjljMDNhOWE4ZTkgMTAwNjQ0DQotLS0gYS9VZWZpUGF5bG9hZFBr Zy9VZWZpUGF5bG9hZEVudHJ5L0lhMzIvRHhlTG9hZEZ1bmMuYw0KKysrIGIvVWVmaVBheWxvYWRQ a2cvVWVmaVBheWxvYWRFbnRyeS9JYTMyL0R4ZUxvYWRGdW5jLmMNCkBAIC0xNSwxMiArMTUsMTUg QEAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCiAjaW5jbHVk ZSA8TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmg+DQogI2luY2x1ZGUgPExpYnJhcnkvUGNk TGliLmg+DQogI2luY2x1ZGUgPExpYnJhcnkvSG9iTGliLmg+DQorI2luY2x1ZGUgPExpYnJhcnkv RmR0TGliLmg+DQogI2luY2x1ZGUgIlZpcnR1YWxNZW1vcnkuaCINCiAjaW5jbHVkZSAiVWVmaVBh eWxvYWRFbnRyeS5oIg0KDQogI2RlZmluZSBTVEFDS19TSVpFICAgICAgIDB4MjAwMDANCiAjZGVm aW5lIElEVF9FTlRSWV9DT1VOVCAgMzINCg0KK2V4dGVybiBWT0lEICAqbUhvYkxpc3Q7DQorDQog dHlwZWRlZiBzdHJ1Y3QgX1g2NF9JRFRfVEFCTEUgew0KICAgLy8NCiAgIC8vIFJlc2VydmVkIDQg Ynl0ZXMgcHJlY2VkaW5nIFBlaVNlcnZpY2UgYW5kIElkdFRhYmxlLA0KQEAgLTI2OCw2ICsyNzEs MTUgQEAgSGFuZE9mZlRvRHhlQ29yZSAoDQogICBVSU5UMzIgICAgICAgICAgICAgICAgICAgSW5k ZXg7DQogICBYNjRfSURUX1RBQkxFICAgICAgICAgICAgKklkdFRhYmxlRm9yWDY0Ow0KDQorICAv LyBJbml0aWFsaXplIGZsb2F0aW5nIHBvaW50IG9wZXJhdGluZyBlbnZpcm9ubWVudCB0byBiZSBj b21wbGlhbnQgd2l0aCBVRUZJIHNwZWMuDQorICBJbml0aWFsaXplRmxvYXRpbmdQb2ludFVuaXRz ICgpOw0KKw0KKyAgLy8NCisgIC8vIE1hc2sgb2ZmIGFsbCBsZWdhY3kgODI1OSBpbnRlcnJ1cHQg c291cmNlcw0KKyAgLy8NCisgIElvV3JpdGU4IChMRUdBQ1lfODI1OV9NQVNLX1JFR0lTVEVSX01B U1RFUiwgMHhGRik7DQorICBJb1dyaXRlOCAoTEVHQUNZXzgyNTlfTUFTS19SRUdJU1RFUl9TTEFW RSwgMHhGRik7DQorDQogICAvLw0KICAgLy8gQ2xlYXIgcGFnZSAwIGFuZCBtYXJrIGl0IGFzIGFs bG9jYXRlZCBpZiBOVUxMIHBvaW50ZXIgZGV0ZWN0aW9uIGlzIGVuYWJsZWQuDQogICAvLw0KZGlm ZiAtLWdpdCBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvSWEzMi9EeGVMb2FkRnVu Yy5jIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9JYTMyL0R4ZUxvYWRGdW5jRml0 LmMNCnNpbWlsYXJpdHkgaW5kZXggOTAlDQpjb3B5IGZyb20gVWVmaVBheWxvYWRQa2cvVWVmaVBh eWxvYWRFbnRyeS9JYTMyL0R4ZUxvYWRGdW5jLmMNCmNvcHkgdG8gVWVmaVBheWxvYWRQa2cvVWVm aVBheWxvYWRFbnRyeS9JYTMyL0R4ZUxvYWRGdW5jRml0LmMNCmluZGV4IDYxYTlmMDFlYzllNy4u NDM5ZDViZWUwYjhjIDEwMDY0NA0KLS0tIGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRy eS9JYTMyL0R4ZUxvYWRGdW5jLmMNCisrKyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50 cnkvSWEzMi9EeGVMb2FkRnVuY0ZpdC5jDQpAQCAtMSwxMCArMSw4IEBADQogLyoqIEBmaWxlDQog ICBJYTMyLXNwZWNpZmljIGZ1bmN0aW9uYWxpdHkgZm9yIER4ZUxvYWQuDQoNCi1Db3B5cmlnaHQg KGMpIDIwMDYgLSAyMDIwLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQotQ29weXJpZ2h0IChjKSAyMDE3LCBBTUQgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4NCi0NCi1TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KKyAgQ29weXJpZ2h0IChjKSAyMDI0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyByZXNlcnZlZC48QlI+DQorICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KDQogKiovDQoNCkBAIC0xNSwxMiArMTMsMTUgQEAgU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCiAjaW5jbHVkZSA8TGlicmFyeS9NZW1vcnlBbGxv Y2F0aW9uTGliLmg+DQogI2luY2x1ZGUgPExpYnJhcnkvUGNkTGliLmg+DQogI2luY2x1ZGUgPExp YnJhcnkvSG9iTGliLmg+DQorI2luY2x1ZGUgPExpYnJhcnkvRmR0TGliLmg+DQogI2luY2x1ZGUg IlZpcnR1YWxNZW1vcnkuaCINCiAjaW5jbHVkZSAiVWVmaVBheWxvYWRFbnRyeS5oIg0KDQogI2Rl ZmluZSBTVEFDS19TSVpFICAgICAgIDB4MjAwMDANCiAjZGVmaW5lIElEVF9FTlRSWV9DT1VOVCAg MzINCg0KK2V4dGVybiBWT0lEICAqbUhvYkxpc3Q7DQorDQogdHlwZWRlZiBzdHJ1Y3QgX1g2NF9J RFRfVEFCTEUgew0KICAgLy8NCiAgIC8vIFJlc2VydmVkIDQgYnl0ZXMgcHJlY2VkaW5nIFBlaVNl cnZpY2UgYW5kIElkdFRhYmxlLA0KQEAgLTI2OCw2ICsyNjksMTUgQEAgSGFuZE9mZlRvRHhlQ29y ZSAoDQogICBVSU5UMzIgICAgICAgICAgICAgICAgICAgSW5kZXg7DQogICBYNjRfSURUX1RBQkxF ICAgICAgICAgICAgKklkdFRhYmxlRm9yWDY0Ow0KDQorICAvLyBJbml0aWFsaXplIGZsb2F0aW5n IHBvaW50IG9wZXJhdGluZyBlbnZpcm9ubWVudCB0byBiZSBjb21wbGlhbnQgd2l0aCBVRUZJIHNw ZWMuDQorICBJbml0aWFsaXplRmxvYXRpbmdQb2ludFVuaXRzICgpOw0KKw0KKyAgLy8NCisgIC8v IE1hc2sgb2ZmIGFsbCBsZWdhY3kgODI1OSBpbnRlcnJ1cHQgc291cmNlcw0KKyAgLy8NCisgIElv V3JpdGU4IChMRUdBQ1lfODI1OV9NQVNLX1JFR0lTVEVSX01BU1RFUiwgMHhGRik7DQorICBJb1dy aXRlOCAoTEVHQUNZXzgyNTlfTUFTS19SRUdJU1RFUl9TTEFWRSwgMHhGRik7DQorDQogICAvLw0K ICAgLy8gQ2xlYXIgcGFnZSAwIGFuZCBtYXJrIGl0IGFzIGFsbG9jYXRlZCBpZiBOVUxMIHBvaW50 ZXIgZGV0ZWN0aW9uIGlzIGVuYWJsZWQuDQogICAvLw0KQEAgLTM3OSwzICszODksMTcgQEAgSGFu ZE9mZlRvRHhlQ29yZSAoDQogICAgIENwdURlYWRMb29wICgpOw0KICAgfQ0KIH0NCisNCisvKioN CisgIEVudHJ5IHBvaW50IHRvIHRoZSBDIGxhbmd1YWdlIHBoYXNlIG9mIFVFRkkgcGF5bG9hZC4N CisgIEBwYXJhbVtpbl0gICBCb290bG9hZGVyUGFyYW1ldGVyICAgIFRoZSBzdGFydGluZyBhZGRy ZXNzIG9mIGJvb3Rsb2FkZXIgcGFyYW1ldGVyIGJsb2NrLg0KKyAgQHJldHZhbCAgICAgIEl0IHdp bGwgbm90IHJldHVybiBpZiBTVUNDRVNTLCBhbmQgcmV0dXJuIGVycm9yIHdoZW4gcGFzc2luZyBi b290bG9hZGVyIHBhcmFtZXRlci4NCisqKi8NCitFRklfU1RBVFVTDQorRUZJQVBJDQorX01vZHVs ZUVudHJ5UG9pbnQgKA0KKyAgSU4gVUlOVE4gIEJvb3Rsb2FkZXJQYXJhbWV0ZXINCisgICkNCit7 DQorICByZXR1cm4gRml0VXBsRW50cnlQb2ludCAoQm9vdGxvYWRlclBhcmFtZXRlcik7DQorfQ0K ZGlmZiAtLWdpdCBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvTWVtb3J5QWxsb2Nh dGlvbi5jIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9NZW1vcnlBbGxvY2F0aW9u LmMNCmluZGV4IDgzOTM2YWUyNmU2OC4uMzZlZGNhODFmOTk3IDEwMDY0NA0KLS0tIGEvVWVmaVBh eWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9NZW1vcnlBbGxvY2F0aW9uLmMNCisrKyBiL1VlZmlQ YXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvTWVtb3J5QWxsb2NhdGlvbi5jDQpAQCAtMTAsNiAr MTAsNTYgQEANCg0KICNpbmNsdWRlICJVZWZpUGF5bG9hZEVudHJ5LmgiDQoNCisvKioNCisgIEFs bG9jYXRlcyBvbmUgb3IgbW9yZSBwYWdlcyBvZiB0eXBlIEVmaUJvb3RTZXJ2aWNlc0RhdGEuDQor DQorICBBbGxvY2F0ZXMgdGhlIG51bWJlciBvZiBwYWdlcyBvZiBNZW1vcnlUeXBlIGFuZCByZXR1 cm5zIGEgcG9pbnRlciB0byB0aGUNCisgIGFsbG9jYXRlZCBidWZmZXIuICBUaGUgYnVmZmVyIHJl dHVybmVkIGlzIGFsaWduZWQgb24gYSA0S0IgYm91bmRhcnkuDQorICBJZiBQYWdlcyBpcyAwLCB0 aGVuIE5VTEwgaXMgcmV0dXJuZWQuDQorICBJZiB0aGVyZSBpcyBub3QgZW5vdWdoIG1lbW9yeSBh dmFpbGJsZSB0byBzYXRpc2Z5IHRoZSByZXF1ZXN0LCB0aGVuIE5VTEwNCisgIGlzIHJldHVybmVk Lg0KKw0KKyAgQHBhcmFtICAgUGFnZXMgICAgICAgICAgICAgICAgIFRoZSBudW1iZXIgb2YgNCBL QiBwYWdlcyB0byBhbGxvY2F0ZS4NCisgIEBwYXJhbSAgIE1lbW9yeVR5cGUgICAgICAgICAgICBU aGUgTWVtb3J5VHlwZQ0KKyAgQHJldHVybiAgQSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgYnVm ZmVyIG9yIE5VTEwgaWYgYWxsb2NhdGlvbiBmYWlscy4NCisqKi8NCitWT0lEICoNCitFRklBUEkN CitQYXlsb2FkQWxsb2NhdGVQYWdlcyAoDQorICBJTiBVSU5UTiAgICAgICAgICAgIFBhZ2VzLA0K KyAgSU4gRUZJX01FTU9SWV9UWVBFICBNZW1vcnlUeXBlDQorICApDQorew0KKyAgRUZJX1BFSV9I T0JfUE9JTlRFUlMgICAgICAgIEhvYjsNCisgIEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAgICBP ZmZzZXQ7DQorICBFRklfSE9CX0hBTkRPRkZfSU5GT19UQUJMRSAgKkhvYlRhYmxlOw0KKw0KKyAg SG9iLlJhdyAgPSBHZXRIb2JMaXN0ICgpOw0KKyAgSG9iVGFibGUgPSBIb2IuSGFuZG9mZkluZm9y bWF0aW9uVGFibGU7DQorDQorICBpZiAoUGFnZXMgPT0gMCkgew0KKyAgICByZXR1cm4gTlVMTDsN CisgIH0NCisNCisgIC8vIE1ha2Ugc3VyZSBhbGxvY2F0aW9uIGFkZHJlc3MgaXMgcGFnZSBhbGxp Z25lZC4NCisgIE9mZnNldCA9IEhvYlRhYmxlLT5FZmlGcmVlTWVtb3J5VG9wICYgRUZJX1BBR0Vf TUFTSzsNCisgIGlmIChPZmZzZXQgIT0gMCkgew0KKyAgICBIb2JUYWJsZS0+RWZpRnJlZU1lbW9y eVRvcCAtPSBPZmZzZXQ7DQorICB9DQorDQorICAvLw0KKyAgLy8gQ2hlY2sgYXZhaWxhYmxlIG1l bW9yeSBmb3IgdGhlIGFsbG9jYXRpb24NCisgIC8vDQorICBpZiAoSG9iVGFibGUtPkVmaUZyZWVN ZW1vcnlUb3AgLSAoKFBhZ2VzICogRUZJX1BBR0VfU0laRSkgKyBzaXplb2YgKEVGSV9IT0JfTUVN T1JZX0FMTE9DQVRJT04pKSA8IEhvYlRhYmxlLT5FZmlGcmVlTWVtb3J5Qm90dG9tKSB7DQorICAg IHJldHVybiBOVUxMOw0KKyAgfQ0KKw0KKyAgSG9iVGFibGUtPkVmaUZyZWVNZW1vcnlUb3AgLT0g UGFnZXMgKiBFRklfUEFHRV9TSVpFOw0KKyAgQnVpbGRNZW1vcnlBbGxvY2F0aW9uSG9iIChIb2JU YWJsZS0+RWZpRnJlZU1lbW9yeVRvcCwgUGFnZXMgKiBFRklfUEFHRV9TSVpFLCBNZW1vcnlUeXBl KTsNCisNCisgIHJldHVybiAoVk9JRCAqKShVSU5UTilIb2JUYWJsZS0+RWZpRnJlZU1lbW9yeVRv cDsNCit9DQorDQogLyoqDQogICBBbGxvY2F0ZXMgb25lIG9yIG1vcmUgcGFnZXMgb2YgdHlwZSBF ZmlCb290U2VydmljZXNEYXRhLg0KDQpkaWZmIC0tZ2l0IGEvVWVmaVBheWxvYWRQa2cvVWVmaVBh eWxvYWRFbnRyeS9QcmludEhvYi5jIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9Q cmludEhvYi5jDQppbmRleCBiNjNlOTNjMDdlYzIuLjE1M2QxYjAwZjYzNyAxMDA2NDQNCi0tLSBh L1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvUHJpbnRIb2IuYw0KKysrIGIvVWVmaVBh eWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9QcmludEhvYi5jDQpAQCAtMTY5LDEzICsxNjksMTMg QEAgUHJpbnRNZW1vcnlBbGxvY2F0aW9uSG9iICgNCiB9DQoNCiAvKioNCi0gIFByaW50IHRoZSBp bmZvcm1hdGlvbiBpbiBSZXNvdXJjZSBEaXNjcmlwdG9yIEhvYi4NCisgIFByaW50IHRoZSBpbmZv cm1hdGlvbiBpbiBSZXNvdXJjZSBEZXNjcmlwdG9yIEhvYi4NCiAgIEBwYXJhbVtpbl0gIEhvYlN0 YXJ0ICAgICAgIEEgcG9pbnRlciB0byBIT0Igb2YgdHlwZSBFRklfSE9CX1RZUEVfUkVTT1VSQ0Vf REVTQ1JJUFRPUi4NCiAgIEBwYXJhbVtpbl0gIEhvYkxlbmd0aCAgICAgIFRoZSBMZW5ndGggaW4g Ynl0ZXMgb2YgSE9CIG9mIHR5cGUgRUZJX0hPQl9UWVBFX1JFU09VUkNFX0RFU0NSSVBUT1IuDQog ICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICBJZiBpdCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5 Lg0KICoqLw0KIEVGSV9TVEFUVVMNCi1QcmludFJlc291cmNlRGlzY3JpcHRvckhvYiAoDQorUHJp bnRSZXNvdXJjZURlc2NyaXB0b3JIb2IgKA0KICAgSU4gIFZPSUQgICAgKkhvYlN0YXJ0LA0KICAg SU4gIFVJTlQxNiAgSG9iTGVuZ3RoDQogICApDQpAQCAtNjIwLDcgKzYyMCw3IEBAIFByaW50RnYz SG9iICgNCiBIT0JfUFJJTlRfSEFORExFUl9UQUJMRSAgbUhvYkhhbmRsZXNbXSA9IHsNCiAgIHsg RUZJX0hPQl9UWVBFX0hBTkRPRkYsICAgICAgICAgICAgICJFRklfSE9CX1RZUEVfSEFORE9GRiIs ICAgICAgICAgICAgIFByaW50SGFuZE9mZkhvYiAgICAgICAgICAgIH0sDQogICB7IEVGSV9IT0Jf VFlQRV9NRU1PUllfQUxMT0NBVElPTiwgICAiRUZJX0hPQl9UWVBFX01FTU9SWV9BTExPQ0FUSU9O IiwgICBQcmludE1lbW9yeUFsbG9jYXRpb25Ib2IgICB9LA0KLSAgeyBFRklfSE9CX1RZUEVfUkVT T1VSQ0VfREVTQ1JJUFRPUiwgIkVGSV9IT0JfVFlQRV9SRVNPVVJDRV9ERVNDUklQVE9SIiwgUHJp bnRSZXNvdXJjZURpc2NyaXB0b3JIb2IgfSwNCisgIHsgRUZJX0hPQl9UWVBFX1JFU09VUkNFX0RF U0NSSVBUT1IsICJFRklfSE9CX1RZUEVfUkVTT1VSQ0VfREVTQ1JJUFRPUiIsIFByaW50UmVzb3Vy Y2VEZXNjcmlwdG9ySG9iIH0sDQogICB7IEVGSV9IT0JfVFlQRV9HVUlEX0VYVEVOU0lPTiwgICAg ICAiRUZJX0hPQl9UWVBFX0dVSURfRVhURU5TSU9OIiwgICAgICBQcmludEd1aWRIb2IgICAgICAg ICAgICAgICB9LA0KICAgeyBFRklfSE9CX1RZUEVfRlYsICAgICAgICAgICAgICAgICAgIkVGSV9I T0JfVFlQRV9GViIsICAgICAgICAgICAgICAgICAgUHJpbnRGdkhvYiAgICAgICAgICAgICAgICAg fSwNCiAgIHsgRUZJX0hPQl9UWVBFX0NQVSwgICAgICAgICAgICAgICAgICJFRklfSE9CX1RZUEVf Q1BVIiwgICAgICAgICAgICAgICAgIFByaW50Q3B1SG9iICAgICAgICAgICAgICAgIH0sDQpkaWZm IC0tZ2l0IGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9Vbml2ZXJzYWxQYXlsb2Fk RW50cnkuYyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvVW5pdmVyc2FsUGF5bG9h ZEVudHJ5LmMNCmluZGV4IGYzN2MwMGZhZDc3NC4uNWI4NjRlZWVmZTEwIDEwMDY0NA0KLS0tIGEv VWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9Vbml2ZXJzYWxQYXlsb2FkRW50cnkuYw0K KysrIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9Vbml2ZXJzYWxQYXlsb2FkRW50 cnkuYw0KQEAgLTQ4NiwxMiArNDg2LDYgQEAgX01vZHVsZUVudHJ5UG9pbnQgKA0KICAgU3RhdHVz ID0gVW5pdmVyc2FsTG9hZER4ZUNvcmUgKER4ZUZ2LCAmRHhlQ29yZUVudHJ5UG9pbnQpOw0KICAg QVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCg0KLSAgLy8NCi0gIC8vIE1hc2sgb2ZmIGFsbCBs ZWdhY3kgODI1OSBpbnRlcnJ1cHQgc291cmNlcw0KLSAgLy8NCi0gIElvV3JpdGU4IChMRUdBQ1lf ODI1OV9NQVNLX1JFR0lTVEVSX01BU1RFUiwgMHhGRik7DQotICBJb1dyaXRlOCAoTEVHQUNZXzgy NTlfTUFTS19SRUdJU1RFUl9TTEFWRSwgMHhGRik7DQotDQogICBIb2IuSGFuZG9mZkluZm9ybWF0 aW9uVGFibGUgPSAoRUZJX0hPQl9IQU5ET0ZGX0lORk9fVEFCTEUgKilHZXRGaXJzdEhvYiAoRUZJ X0hPQl9UWVBFX0hBTkRPRkYpOw0KICAgSGFuZE9mZlRvRHhlQ29yZSAoRHhlQ29yZUVudHJ5UG9p bnQsIEhvYik7DQoNCmRpZmYgLS1naXQgYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5 L1g2NC9EeGVMb2FkRnVuYy5jIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9YNjQv RHhlTG9hZEZ1bmMuYw0KaW5kZXggMzQ2ZTNmZWIwNDU5Li42YzM2MDNmMTIwOTggMTAwNjQ0DQot LS0gYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L1g2NC9EeGVMb2FkRnVuYy5jDQor KysgYi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L1g2NC9EeGVMb2FkRnVuYy5jDQpA QCAtMTMsMTAgKzEzLDEzIEBAIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQogI2luY2x1ZGUgPExpYnJhcnkvTWVtb3J5QWxsb2NhdGlvbkxpYi5oPg0KICNpbmNs dWRlIDxMaWJyYXJ5L1BjZExpYi5oPg0KICNpbmNsdWRlIDxMaWJyYXJ5L0hvYkxpYi5oPg0KKyNp bmNsdWRlIDxMaWJyYXJ5L0ZkdExpYi5oPg0KICNpbmNsdWRlICJYNjQvVmlydHVhbE1lbW9yeS5o Ig0KICNpbmNsdWRlICJVZWZpUGF5bG9hZEVudHJ5LmgiDQogI2RlZmluZSBTVEFDS19TSVpFICAw eDIwMDAwDQoNCitleHRlcm4gVk9JRCAgKm1Ib2JMaXN0Ow0KKw0KIC8qKg0KICAgIFRyYW5zZmVy cyBjb250cm9sIHRvIER4ZUNvcmUuDQoNCkBAIC00MCw2ICs0MywxNSBAQCBIYW5kT2ZmVG9EeGVD b3JlICgNCiAgIFZPSUQgICAqR2hjYkJhc2U7DQogICBVSU5UTiAgR2hjYlNpemU7DQoNCisgIC8v IEluaXRpYWxpemUgZmxvYXRpbmcgcG9pbnQgb3BlcmF0aW5nIGVudmlyb25tZW50IHRvIGJlIGNv bXBsaWFudCB3aXRoIFVFRkkgc3BlYy4NCisgIEluaXRpYWxpemVGbG9hdGluZ1BvaW50VW5pdHMg KCk7DQorDQorICAvLw0KKyAgLy8gTWFzayBvZmYgYWxsIGxlZ2FjeSA4MjU5IGludGVycnVwdCBz b3VyY2VzDQorICAvLw0KKyAgSW9Xcml0ZTggKExFR0FDWV84MjU5X01BU0tfUkVHSVNURVJfTUFT VEVSLCAweEZGKTsNCisgIElvV3JpdGU4IChMRUdBQ1lfODI1OV9NQVNLX1JFR0lTVEVSX1NMQVZF LCAweEZGKTsNCisNCiAgIC8vDQogICAvLyBDbGVhciBwYWdlIDAgYW5kIG1hcmsgaXQgYXMgYWxs b2NhdGVkIGlmIE5VTEwgcG9pbnRlciBkZXRlY3Rpb24gaXMgZW5hYmxlZC4NCiAgIC8vDQpkaWZm IC0tZ2l0IGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9YNjQvRHhlTG9hZEZ1bmMu YyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvWDY0L0R4ZUxvYWRGdW5jRml0LmMN CnNpbWlsYXJpdHkgaW5kZXggNzQlDQpjb3B5IGZyb20gVWVmaVBheWxvYWRQa2cvVWVmaVBheWxv YWRFbnRyeS9YNjQvRHhlTG9hZEZ1bmMuYw0KY29weSB0byBVZWZpUGF5bG9hZFBrZy9VZWZpUGF5 bG9hZEVudHJ5L1g2NC9EeGVMb2FkRnVuY0ZpdC5jDQppbmRleCAzNDZlM2ZlYjA0NTkuLjM1YjUy YTkxMWRmMyAxMDA2NDQNCi0tLSBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvWDY0 L0R4ZUxvYWRGdW5jLmMNCisrKyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvWDY0 L0R4ZUxvYWRGdW5jRml0LmMNCkBAIC0xLDggKzEsOCBAQA0KIC8qKiBAZmlsZQ0KICAgeDY0LXNw ZWNpZmMgZnVuY3Rpb25hbGl0eSBmb3IgRHhlTG9hZC4NCg0KLUNvcHlyaWdodCAoYykgMjAwNiAt IDIwMjAsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCi1TUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KKyAgQ29weXJpZ2h0IChj KSAyMDI0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQorICBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KDQogKiovDQoNCkBA IC0xMywxMCArMTMsMTQgQEAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQNCiAjaW5jbHVkZSA8TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmg+DQogI2luY2x1 ZGUgPExpYnJhcnkvUGNkTGliLmg+DQogI2luY2x1ZGUgPExpYnJhcnkvSG9iTGliLmg+DQorI2lu Y2x1ZGUgPExpYnJhcnkvRmR0TGliLmg+DQorI2luY2x1ZGUgPExpYnJhcnkvUGNkTGliLmg+DQog I2luY2x1ZGUgIlg2NC9WaXJ0dWFsTWVtb3J5LmgiDQogI2luY2x1ZGUgIlVlZmlQYXlsb2FkRW50 cnkuaCINCiAjZGVmaW5lIFNUQUNLX1NJWkUgIDB4MjAwMDANCg0KK2V4dGVybiBWT0lEICAqbUhv Ykxpc3Q7DQorDQogLyoqDQogICAgVHJhbnNmZXJzIGNvbnRyb2wgdG8gRHhlQ29yZS4NCg0KQEAg LTQwLDYgKzQ0LDE1IEBAIEhhbmRPZmZUb0R4ZUNvcmUgKA0KICAgVk9JRCAgICpHaGNiQmFzZTsN CiAgIFVJTlROICBHaGNiU2l6ZTsNCg0KKyAgLy8gSW5pdGlhbGl6ZSBmbG9hdGluZyBwb2ludCBv cGVyYXRpbmcgZW52aXJvbm1lbnQgdG8gYmUgY29tcGxpYW50IHdpdGggVUVGSSBzcGVjLg0KKyAg SW5pdGlhbGl6ZUZsb2F0aW5nUG9pbnRVbml0cyAoKTsNCisNCisgIC8vDQorICAvLyBNYXNrIG9m ZiBhbGwgbGVnYWN5IDgyNTkgaW50ZXJydXB0IHNvdXJjZXMNCisgIC8vDQorICBJb1dyaXRlOCAo TEVHQUNZXzgyNTlfTUFTS19SRUdJU1RFUl9NQVNURVIsIDB4RkYpOw0KKyAgSW9Xcml0ZTggKExF R0FDWV84MjU5X01BU0tfUkVHSVNURVJfU0xBVkUsIDB4RkYpOw0KKw0KICAgLy8NCiAgIC8vIENs ZWFyIHBhZ2UgMCBhbmQgbWFyayBpdCBhcyBhbGxvY2F0ZWQgaWYgTlVMTCBwb2ludGVyIGRldGVj dGlvbiBpcyBlbmFibGVkLg0KICAgLy8NCkBAIC0xMDYsMyArMTE5LDE3IEBAIEhhbmRPZmZUb0R4 ZUNvcmUgKA0KICAgICBUb3BPZlN0YWNrDQogICAgICk7DQogfQ0KKw0KKy8qKg0KKyAgRW50cnkg cG9pbnQgdG8gdGhlIEMgbGFuZ3VhZ2UgcGhhc2Ugb2YgVUVGSSBwYXlsb2FkLg0KKyAgQHBhcmFt W2luXSAgIEJvb3Rsb2FkZXJQYXJhbWV0ZXIgICAgVGhlIHN0YXJ0aW5nIGFkZHJlc3Mgb2YgYm9v dGxvYWRlciBwYXJhbWV0ZXIgYmxvY2suDQorICBAcmV0dmFsICAgICAgSXQgd2lsbCBub3QgcmV0 dXJuIGlmIFNVQ0NFU1MsIGFuZCByZXR1cm4gZXJyb3Igd2hlbiBwYXNzaW5nIGJvb3Rsb2FkZXIg cGFyYW1ldGVyLg0KKyoqLw0KK0VGSV9TVEFUVVMNCitFRklBUEkNCitfTW9kdWxlRW50cnlQb2lu dCAoDQorICBJTiBVSU5UTiAgQm9vdGxvYWRlclBhcmFtZXRlcg0KKyAgKQ0KK3sNCisgIHJldHVy biBGaXRVcGxFbnRyeVBvaW50IChCb290bG9hZGVyUGFyYW1ldGVyKTsNCit9DQpkaWZmIC0tZ2l0 IGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9GaXRVbml2ZXJzYWxQYXlsb2FkRW50 cnkuaW5mIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9GaXRVbml2ZXJzYWxQYXls b2FkRW50cnkuaW5mDQppbmRleCBiODdhMDk4OWVlZTMuLmM4N2U2NzRmN2NiZCAxMDA2NDQNCi0t LSBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvRml0VW5pdmVyc2FsUGF5bG9hZEVu dHJ5LmluZg0KKysrIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9GaXRVbml2ZXJz YWxQYXlsb2FkRW50cnkuaW5mDQpAQCAtMzAsMTMgKzMwLDEzIEBADQogW1NvdXJjZXMuSWEzMl0N CiAgIFg2NC9WaXJ0dWFsTWVtb3J5LmgNCiAgIFg2NC9WaXJ0dWFsTWVtb3J5LmMNCi0gIElhMzIv RHhlTG9hZEZ1bmMuYw0KKyAgSWEzMi9EeGVMb2FkRnVuY0ZpdC5jDQogICBJYTMyL0lkdFZlY3Rv ckFzbS5uYXNtDQoNCiBbU291cmNlcy5YNjRdDQogICBYNjQvVmlydHVhbE1lbW9yeS5oDQogICBY NjQvVmlydHVhbE1lbW9yeS5jDQotICBYNjQvRHhlTG9hZEZ1bmMuYw0KKyAgWDY0L0R4ZUxvYWRG dW5jRml0LmMNCg0KIFtQYWNrYWdlc10NCiAgIE1kZVBrZy9NZGVQa2cuZGVjDQpAQCAtNTQsNiAr NTQsOCBAQA0KICAgUGVDb2ZmTGliDQogICBDcHVMaWINCiAgIEZkdExpYg0KKyAgQ3VzdG9tRmR0 Tm9kZVBhcnNlckxpYg0KKyAgUGNkTGliDQoNCiBbR3VpZHNdDQogICBnRWZpTWVtb3J5VHlwZUlu Zm9ybWF0aW9uR3VpZA0KQEAgLTcxLDYgKzczLDcgQEANCiAgIGdVbml2ZXJzYWxQYXlsb2FkQWNw aVRhYmxlR3VpZA0KICAgZ1VuaXZlcnNhbFBheWxvYWRQY2lSb290QnJpZGdlSW5mb0d1aWQNCiAg IGdVbml2ZXJzYWxQYXlsb2FkU21iaW9zM1RhYmxlR3VpZA0KKyAgZ1VuaXZlcnNhbFBheWxvYWRE ZXZpY2VUcmVlR3VpZA0KDQogW0ZlYXR1cmVQY2QuSUEzMl0NCiAgIGdFZmlNZGVNb2R1bGVQa2dU b2tlblNwYWNlR3VpZC5QY2REeGVJcGxTd2l0Y2hUb0xvbmdNb2RlICAgICAgIyMgQ09OU1VNRVMN CkBAIC03OCw3ICs4MSw2IEBADQogW0ZlYXR1cmVQY2QuWDY0XQ0KICAgZ0VmaU1kZU1vZHVsZVBr Z1Rva2VuU3BhY2VHdWlkLlBjZER4ZUlwbEJ1aWxkUGFnZVRhYmxlcyAgICAgICAjIyBDT05TVU1F Uw0KDQotDQogW1BjZC5JQTMyLFBjZC5YNjRdDQogICBnVWVmaVBheWxvYWRQa2dUb2tlblNwYWNl R3VpZC5QY2RQY2REcml2ZXJGaWxlDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQu UGNkVXNlMUdQYWdlVGFibGUgICAgICAgICAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNV TUVTDQpAQCAtODgsMTEgKzkwLDE5IEBADQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1 aWQuUGNkQ3B1U3RhY2tHdWFyZCAgICAgICAgICAgICAgICAgICAgICAgIyMgQ09OU1VNRVMNCiAg IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RHaGNiQmFzZSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjIyBDT05TVU1FUw0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZEdoY2JTaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIENPTlNVTUVTDQot DQogICBnVWVmaVBheWxvYWRQa2dUb2tlblNwYWNlR3VpZC5QY2RQYXlsb2FkRmRNZW1CYXNlDQog ICBnVWVmaVBheWxvYWRQa2dUb2tlblNwYWNlR3VpZC5QY2RQYXlsb2FkRmRNZW1TaXplDQogICBn VWVmaVBheWxvYWRQa2dUb2tlblNwYWNlR3VpZC5QY2RTeXN0ZW1NZW1vcnlVZWZpUmVnaW9uU2l6 ZQ0KLQ0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNldE54Rm9yU3RhY2sg ICAgICAgICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCiAgIGdFZmlNZGVNb2R1bGVQa2dU b2tlblNwYWNlR3VpZC5QY2REeGVOeE1lbW9yeVByb3RlY3Rpb25Qb2xpY3kgIyMgU09NRVRJTUVT X0NPTlNVTUVTDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkSW1hZ2VQcm90 ZWN0aW9uUG9saWN5ICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KKyAgZ1VlZmlQYXlsb2Fk UGtnVG9rZW5TcGFjZUd1aWQuUGNkSGFuZE9mZkZkdEVuYWJsZQ0KKyAgZ1VlZmlQYXlsb2FkUGtn VG9rZW5TcGFjZUd1aWQuUGNkTWVtb3J5VHlwZUVmaUFDUElNZW1vcnlOVlMNCisgIGdVZWZpUGF5 bG9hZFBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1lbW9yeVR5cGVFZmlBQ1BJUmVjbGFpbU1lbW9yeQ0K KyAgZ1VlZmlQYXlsb2FkUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWVtb3J5VHlwZUVmaVJlc2VydmVk TWVtb3J5VHlwZQ0KKyAgZ1VlZmlQYXlsb2FkUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWVtb3J5VHlw ZUVmaVJ1bnRpbWVTZXJ2aWNlc0RhdGENCisgIGdVZWZpUGF5bG9hZFBrZ1Rva2VuU3BhY2VHdWlk LlBjZE1lbW9yeVR5cGVFZmlSdW50aW1lU2VydmljZXNDb2RlDQorDQorW0J1aWxkT3B0aW9uc10N CisgIE1TRlQ6Kl8qXypfQ0NfRkxBR1MgPSAvd2Q0MjQ0IC93ZDQzMDUNCisgIEdDQzoqXypfKl9D Q19GTEFHUyAgPSAtV25vLWVycm9yPXBvaW50ZXItdG8taW50LWNhc3QgLVduby1lcnJvcj1pbnQt dG8tcG9pbnRlci1jYXN0DQpkaWZmIC0tZ2l0IGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRF bnRyeS9VZWZpUGF5bG9hZEVudHJ5LmggYi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5 L1VlZmlQYXlsb2FkRW50cnkuaA0KaW5kZXggODBjY2M1MDcyYzU1Li4wOWZjZThkYmNmMzUgMTAw NjQ0DQotLS0gYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L1VlZmlQYXlsb2FkRW50 cnkuaA0KKysrIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9VZWZpUGF5bG9hZEVu dHJ5LmgNCkBAIC0zNSw2ICszNSw3IEBADQogI2luY2x1ZGUgPFVuaXZlcnNhbFBheWxvYWQvVW5p dmVyc2FsUGF5bG9hZC5oPg0KICNpbmNsdWRlIDxVbml2ZXJzYWxQYXlsb2FkL0V4dHJhRGF0YS5o Pg0KICNpbmNsdWRlIDxVbml2ZXJzYWxQYXlsb2FkL1NlcmlhbFBvcnRJbmZvLmg+DQorI2luY2x1 ZGUgPFVuaXZlcnNhbFBheWxvYWQvRGV2aWNlVHJlZS5oPg0KICNpbmNsdWRlIDxHdWlkL1BjZERh dGFCYXNlU2lnbmF0dXJlR3VpZC5oPg0KDQogI2RlZmluZSBMRUdBQ1lfODI1OV9NQVNLX1JFR0lT VEVSX01BU1RFUiAgMHgyMQ0KQEAgLTEzNCw2ICsxMzUsMzEgQEAgVW5pdmVyc2FsTG9hZER4ZUNv cmUgKA0KICAgT1VUIFBIWVNJQ0FMX0FERFJFU1MgICAgICAgICAgICAqRHhlQ29yZUVudHJ5UG9p bnQNCiAgICk7DQoNCisvKioNCisgIEl0IHdpbGwgUGFyc2UgRkRUIC1ub2RlIGJhc2VkIG9uIGlu Zm9ybWF0aW9uLg0KKyAgQHBhcmFtW2luXSAgRmR0QmFzZSAgIFRoZSBzdGFydGluZyBtZW1vcnkg YWRkcmVzcyBvZiBGZHRCYXNlDQorICBAcmV0dmFsIEhvYkxpc3QgICBUaGUgYmFzZSBhZGRyZXNz IG9mIEhvYmxpc3QuDQorDQorKiovDQorVUlOVDY0DQorRUZJQVBJDQorRmR0Tm9kZVBhcnNlciAo DQorICBJTiBWT0lEICAqRmR0QmFzZQ0KKyAgKTsNCisNCisvKioNCisgIEl0IHdpbGwgUGFyc2Ug RkRUIC1jdXN0b20gbm9kZSBiYXNlZCBvbiBpbmZvcm1hdGlvbi4NCisgIEBwYXJhbVtpbl0gIEZk dEJhc2UgVGhlIHN0YXJ0aW5nIG1lbW9yeSBhZGRyZXNzIG9mIEZkdEJhc2UNCisgIEBwYXJhbVtp bl0gIEhvc3RMaXN0IFRoZSBzdGFydGluZyBtZW1vcnkgYWRkcmVzcyBvZiBOZXcgSG9iIGxpc3Qu DQorDQorKiovDQorVUlOVE4NCitFRklBUEkNCitDdXN0b21GZHROb2RlUGFyc2VyICgNCisgIElO IFZPSUQgICpGZHRCYXNlLA0KKyAgSU4gVk9JRCAgKkhvc3RMaXN0DQorICApOw0KKw0KIC8qKg0K ICAgIFRyYW5zZmVycyBjb250cm9sIHRvIER4ZUNvcmUuDQoNCkBAIC0yMDYsNCArMjMyLDQ2IEBA IEJ1aWxkSG9iRnJvbUFjcGkgKA0KICAgSU4gICBVSU5UNjQgIEFjcGlUYWJsZUJhc2UNCiAgICk7 DQoNCisvKioNCisgIEFsbG9jYXRlcyBvbmUgb3IgbW9yZSBwYWdlcyAuDQorDQorICBBbGxvY2F0 ZXMgdGhlIG51bWJlciBvZiBwYWdlcyBvZiBNZW1vcnlUeXBlIGFuZCByZXR1cm5zIGEgcG9pbnRl ciB0byB0aGUNCisgIGFsbG9jYXRlZCBidWZmZXIuICBUaGUgYnVmZmVyIHJldHVybmVkIGlzIGFs aWduZWQgb24gYSA0S0IgYm91bmRhcnkuDQorICBJZiBQYWdlcyBpcyAwLCB0aGVuIE5VTEwgaXMg cmV0dXJuZWQuDQorICBJZiB0aGVyZSBpcyBub3QgZW5vdWdoIG1lbW9yeSBhdmFpbGJsZSB0byBz YXRpc2Z5IHRoZSByZXF1ZXN0LCB0aGVuIE5VTEwNCisgIGlzIHJldHVybmVkLg0KKw0KKyAgQHBh cmFtICAgUGFnZXMgICAgICAgICAgICAgICAgIFRoZSBudW1iZXIgb2YgNCBLQiBwYWdlcyB0byBh bGxvY2F0ZS4NCisgIEBwYXJhbSAgIE1lbW9yeVR5cGUgICAgICAgICAgICBUaGUgTWVtb3J5dHlw ZQ0KKyAgQHJldHVybiAgQSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgYnVmZmVyIG9yIE5VTEwg aWYgYWxsb2NhdGlvbiBmYWlscy4NCisqKi8NCitWT0lEICoNCitFRklBUEkNCitQYXlsb2FkQWxs b2NhdGVQYWdlcyAoDQorICBJTiBVSU5UTiAgICAgICAgICAgIFBhZ2VzLA0KKyAgSU4gRUZJX01F TU9SWV9UWVBFICBNZW1vcnlUeXBlDQorICApOw0KKw0KKy8qKg0KKyAgRW50cnkgcG9pbnQgdG8g dGhlIEMgbGFuZ3VhZ2UgcGhhc2Ugb2YgVUVGSSBwYXlsb2FkLg0KKyAgQHBhcmFtW2luXSAgIEZk dFBydCAgVGhlIHN0YXJ0aW5nIGFkZHJlc3Mgb2YgRkRUIC4NCisgIEByZXR2YWwgICAgICBJdCB3 aWxsIG5vdCByZXR1cm4gaWYgU1VDQ0VTUywgYW5kIHJldHVybiBlcnJvciB3aGVuIHBhc3Npbmcg Ym9vdGxvYWRlciBwYXJhbWV0ZXIuDQorKiovDQorRUZJX1NUQVRVUw0KK0VGSUFQSQ0KK0ZpdFVw bEVudHJ5UG9pbnQgKA0KKyAgSU4gVUlOVE4gIEJvb3Rsb2FkZXJQYXJhbWV0ZXINCisgICk7DQor DQorLyoqDQorICBFbnRyeSBwb2ludCB0byB0aGUgQyBsYW5ndWFnZSBwaGFzZSBvZiBVRUZJIHBh eWxvYWQuDQorICBAcGFyYW1baW5dICAgQm9vdGxvYWRlclBhcmFtZXRlciAgICBUaGUgc3RhcnRp bmcgYWRkcmVzcyBvZiBib290bG9hZGVyIHBhcmFtZXRlciBibG9jay4NCisgIEByZXR2YWwgICAg ICBJdCB3aWxsIG5vdCByZXR1cm4gaWYgU1VDQ0VTUywgYW5kIHJldHVybiBlcnJvciB3aGVuIHBh c3NpbmcgYm9vdGxvYWRlciBwYXJhbWV0ZXIuDQorKiovDQorRUZJX1NUQVRVUw0KK0VGSUFQSQ0K K1VwbEVudHJ5UG9pbnQgKA0KKyAgSU4gVUlOVE4gIEJvb3Rsb2FkZXJQYXJhbWV0ZXINCisgICk7 DQorDQogI2VuZGlmDQpkaWZmIC0tZ2l0IGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRy eS9Vbml2ZXJzYWxQYXlsb2FkRW50cnkuaW5mIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRF bnRyeS9Vbml2ZXJzYWxQYXlsb2FkRW50cnkuaW5mDQppbmRleCBhNjJkYTVjNzA1OWQuLmJlOTFm N2JlMjgxOSAxMDA2NDQNCi0tLSBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvVW5p dmVyc2FsUGF5bG9hZEVudHJ5LmluZg0KKysrIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRF bnRyeS9Vbml2ZXJzYWxQYXlsb2FkRW50cnkuaW5mDQpAQCAtNiw0NCArNiwzNyBAQA0KICMgIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQogIw0KICMjDQotDQog W0RlZmluZXNdDQogICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgPSAxLjMwDQogICBC QVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBVbml2ZXJzYWxQYXlsb2FkRW50cnkNCiAg IEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAgICA9IEQ0RjBGMjY5LTEyMDktNEE2Ni04MDM5 LUM0RDVBNzAwRUE0RQ0KICAgTU9EVUxFX1RZUEUgICAgICAgICAgICAgICAgICAgID0gU0VDDQog ICBWRVJTSU9OX1NUUklORyAgICAgICAgICAgICAgICAgPSAxLjANCi0NCiAjDQogIyBUaGUgZm9s bG93aW5nIGluZm9ybWF0aW9uIGlzIGZvciByZWZlcmVuY2Ugb25seSBhbmQgbm90IHJlcXVpcmVk IGJ5IHRoZSBidWlsZCB0b29scy4NCiAjDQogIyAgVkFMSURfQVJDSElURUNUVVJFUyAgICAgICAg ICAgPSBJQTMyIFg2NA0KICMNCi0NCiBbU291cmNlc10NCiAgIFVuaXZlcnNhbFBheWxvYWRFbnRy eS5jDQogICBMb2FkRHhlQ29yZS5jDQogICBNZW1vcnlBbGxvY2F0aW9uLmMNCiAgIFByaW50SG9i LmMNCiAgIEFjcGlUYWJsZS5jDQotDQogW1NvdXJjZXMuSWEzMl0NCiAgIFg2NC9WaXJ0dWFsTWVt b3J5LmgNCiAgIFg2NC9WaXJ0dWFsTWVtb3J5LmMNCiAgIElhMzIvRHhlTG9hZEZ1bmMuYw0KICAg SWEzMi9JZHRWZWN0b3JBc20ubmFzbQ0KLQ0KIFtTb3VyY2VzLlg2NF0NCiAgIFg2NC9WaXJ0dWFs TWVtb3J5LmgNCiAgIFg2NC9WaXJ0dWFsTWVtb3J5LmMNCiAgIFg2NC9EeGVMb2FkRnVuYy5jDQot DQogW1BhY2thZ2VzXQ0KICAgTWRlUGtnL01kZVBrZy5kZWMNCiAgIE1kZU1vZHVsZVBrZy9NZGVN b2R1bGVQa2cuZGVjDQogICBVZWZpQ3B1UGtnL1VlZmlDcHVQa2cuZGVjDQogICBVZWZpUGF5bG9h ZFBrZy9VZWZpUGF5bG9hZFBrZy5kZWMNCi0NCiBbTGlicmFyeUNsYXNzZXNdDQogICBCYXNlTWVt b3J5TGliDQogICBEZWJ1Z0xpYg0KQEAgLTY5LDE0ICs2MiwxMiBAQA0KICAgZ1VuaXZlcnNhbFBh eWxvYWRBY3BpVGFibGVHdWlkDQogICBnVW5pdmVyc2FsUGF5bG9hZFBjaVJvb3RCcmlkZ2VJbmZv R3VpZA0KICAgZ1VuaXZlcnNhbFBheWxvYWRTbWJpb3MzVGFibGVHdWlkDQotDQorICBnVW5pdmVy c2FsUGF5bG9hZEJhc2VHdWlkDQorICBnVW5pdmVyc2FsUGF5bG9hZERldmljZVRyZWVHdWlkDQog W0ZlYXR1cmVQY2QuSUEzMl0NCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RE eGVJcGxTd2l0Y2hUb0xvbmdNb2RlICAgICAgIyMgQ09OU1VNRVMNCi0NCiBbRmVhdHVyZVBjZC5Y NjRdDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRHhlSXBsQnVpbGRQYWdl VGFibGVzICAgICAgICMjIENPTlNVTUVTDQotDQotDQogW1BjZC5JQTMyLFBjZC5YNjRdDQogICBn VWVmaVBheWxvYWRQa2dUb2tlblNwYWNlR3VpZC5QY2RQY2REcml2ZXJGaWxlDQogICBnRWZpTWRl TW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVXNlMUdQYWdlVGFibGUgICAgICAgICAgICAgICAg ICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTDQpAQCAtODYsMTIgKzc3LDkgQEANCiAgIGdFZmlN ZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RDcHVTdGFja0d1YXJkICAgICAgICAgICAgICAg ICAgICAgICAjIyBDT05TVU1FUw0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZEdoY2JCYXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIENPTlNVTUVTDQogICBnRWZp TWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkR2hjYlNpemUgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIyMgQ09OU1VNRVMNCi0NCiAgIGdVZWZpUGF5bG9hZFBrZ1Rva2VuU3BhY2VHdWlk LlBjZFBheWxvYWRGZE1lbUJhc2UNCiAgIGdVZWZpUGF5bG9hZFBrZ1Rva2VuU3BhY2VHdWlkLlBj ZFBheWxvYWRGZE1lbVNpemUNCiAgIGdVZWZpUGF5bG9hZFBrZ1Rva2VuU3BhY2VHdWlkLlBjZFN5 c3RlbU1lbW9yeVVlZmlSZWdpb25TaXplDQotDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkU2V0TnhGb3JTdGFjayAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1F Uw0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZER4ZU54TWVtb3J5UHJvdGVj dGlvblBvbGljeSAjIyBTT01FVElNRVNfQ09OU1VNRVMNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tl blNwYWNlR3VpZC5QY2RJbWFnZVByb3RlY3Rpb25Qb2xpY3kgICAgICAgIyMgU09NRVRJTUVTX0NP TlNVTUVTDQotDQpkaWZmIC0tZ2l0IGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQa2cuZHNj IGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQa2cuZHNjDQppbmRleCAyODYwYTY1OWY2YTcu Ljc3OWY3NGRhNzE3MSAxMDA2NDQNCi0tLSBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtn LmRzYw0KKysrIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQa2cuZHNjDQpAQCAtNTUsNyAr NTUsNyBAQA0KICAgIyBFTEY6IEJ1aWxkIFVuaXZlcnNhbFBheWxvYWQgZmlsZSBhcyBVbml2ZXJz YWxQYXlsb2FkLmVsZg0KICAgIyBGSVQ6IEJ1aWxkIFVuaXZlcnNhbFBheWxvYWQgZmlsZSBhcyBV bml2ZXJzYWxQYXlsb2FkLmZpdA0KICAgIw0KLSAgREVGSU5FIFVOSVZFUlNBTF9QQVlMT0FEICAg ICAgICAgICAgPSBGQUxTRQ0KKyAgREVGSU5FIFVOSVZFUlNBTF9QQVlMT0FEICAgICAgICAgICAg PSBUUlVFDQogICBERUZJTkUgVU5JVkVSU0FMX1BBWUxPQURfRk9STUFUICAgICA9IEVMRg0KDQog ICAjDQpAQCAtMjI2LDYgKzIyNiw3IEBADQogICBPcGVuc3NsTGlifENyeXB0b1BrZy9MaWJyYXJ5 L09wZW5zc2xMaWIvT3BlbnNzbExpYi5pbmYNCiAgIFJuZ0xpYnxNZGVQa2cvTGlicmFyeS9CYXNl Um5nTGliL0Jhc2VSbmdMaWIuaW5mDQogICBIb2JMaWJ8VWVmaVBheWxvYWRQa2cvTGlicmFyeS9E eGVIb2JMaWIvRHhlSG9iTGliLmluZg0KKyAgQ3VzdG9tRmR0Tm9kZVBhcnNlckxpYnxVZWZpUGF5 bG9hZFBrZy9MaWJyYXJ5L0N1c3RvbUZkdE5vZGVQYXJzZXJOdWxsTGliL0N1c3RvbUZkdE5vZGVQ YXJzZXJOdWxsTGliLmluZg0KDQogICAjDQogICAjIFVFRkkgJiBQSQ0KQEAgLTQ3MCw2ICs0NzEs OCBAQA0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFZwZEJhc2VBZGRyZXNz fDB4MA0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFN0YXR1c0NvZGVVc2VN ZW1vcnl8RkFMU0UNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RVc2UxR1Bh Z2VUYWJsZXxUUlVFDQorICBnVWVmaVBheWxvYWRQa2dUb2tlblNwYWNlR3VpZC5QY2RIYW5kT2Zm RmR0RW5hYmxlfFRSVUUNCisNCg0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZEJvb3RNYW5hZ2VyTWVudUZpbGV8eyAweDIxLCAweGFhLCAweDJjLCAweDQ2LCAweDE0LCAweDc2 LCAweDAzLCAweDQ1LCAweDgzLCAweDZlLCAweDhhLCAweGI2LCAweGY0LCAweDY2LCAweDIzLCAw eDMxIH0NCiAgIGdVZWZpUGF5bG9hZFBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBjZERyaXZlckZpbGV8 eyAweDU3LCAweDcyLCAweGNmLCAweDgwLCAweGFiLCAweDg3LCAweGY5LCAweDQ3LCAweGEzLCAw eGZlLCAweEQ1LCAweDBCLCAweDc2LCAweGQ4LCAweDk1LCAweDQxIH0NCkBAIC01MTMsNyArNTE2 LDE1IEBADQogIWVuZGlmDQogIWVuZGlmDQoNCisNCiBbUGNkc1BhdGNoYWJsZUluTW9kdWxlLlg2 NF0NCisgICMNCisgICMgVGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzIGFyZSBzZXQgYnkgTGlicmFy eS9QbGF0Zm9ybUhvb2tMaWINCisgICMNCisgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RTZXJpYWxVc2VNbWlvfEZBTFNFDQorICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1 aWQuUGNkU2VyaWFsUmVnaXN0ZXJCYXNlfDB4M0Y4DQorICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5T cGFjZUd1aWQuUGNkU2VyaWFsQmF1ZFJhdGV8JChCQVVEX1JBVEUpDQorICBnRWZpTWRlTW9kdWxl UGtnVG9rZW5TcGFjZUd1aWQuUGNkU2VyaWFsUmVnaXN0ZXJTdHJpZGV8MQ0KICFpZiAkKE5FVFdP UktfRFJJVkVSX0VOQUJMRSkgPT0gVFJVRQ0KICAgZ0VmaU5ldHdvcmtQa2dUb2tlblNwYWNlR3Vp ZC5QY2RBbGxvd0h0dHBDb25uZWN0aW9uc3xUUlVFDQogIWVuZGlmDQpAQCAtNjM1LDcgKzY0Niwx MyBAQA0KICAgICAhaWYgJChVTklWRVJTQUxfUEFZTE9BRF9GT1JNQVQpID09ICJFTEYiDQogICAg ICAgVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9Vbml2ZXJzYWxQYXlsb2FkRW50cnku aW5mDQogICAgICFlbHNlaWYgJChVTklWRVJTQUxfUEFZTE9BRF9GT1JNQVQpID09ICJGSVQiDQot ICAgICAgVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9GaXRVbml2ZXJzYWxQYXlsb2Fk RW50cnkuaW5mDQorICAgICAgVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9GaXRVbml2 ZXJzYWxQYXlsb2FkRW50cnkuaW5mIHsNCisgICAgICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCisgICAg ICAgICAgRmR0TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VGZHRMaWIvQmFzZUZkdExpYi5pbmYNCisg ICAgICAgICAgQ3VzdG9tRmR0Tm9kZVBhcnNlckxpYnxVZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0N1 c3RvbUZkdE5vZGVQYXJzZXJMaWIvQ3VzdG9tRmR0Tm9kZVBhcnNlckxpYi5pbmYNCisgICAgICAg ICAgTlVMTHxVZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0ZkdFBhcnNlckxpYi9GZHRQYXJzZUxpYi5p bmYNCisgICAgICAgICAgTlVMTHxVZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0hvYlBhcnNlTGliL0hv YlBhcnNlTGliLmluZg0KKyAgICAgIH0NCiAgICAgIWVsc2UNCiAgICAgICBVZWZpUGF5bG9hZFBr Zy9VZWZpUGF5bG9hZEVudHJ5L1VlZmlQYXlsb2FkRW50cnkuaW5mDQogICAgICFlbmRpZg0KQEAg LTY0OCw3ICs2NjUsMTMgQEANCiAgICAgIWlmICQoVU5JVkVSU0FMX1BBWUxPQURfRk9STUFUKSA9 PSAiRUxGIg0KICAgICAgIFVlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvVW5pdmVyc2Fs UGF5bG9hZEVudHJ5LmluZg0KICAgICAhZWxzZWlmICQoVU5JVkVSU0FMX1BBWUxPQURfRk9STUFU KSA9PSAiRklUIg0KLSAgICAgIFVlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvRml0VW5p dmVyc2FsUGF5bG9hZEVudHJ5LmluZg0KKyAgICAgIFVlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2Fk RW50cnkvRml0VW5pdmVyc2FsUGF5bG9hZEVudHJ5LmluZiB7DQorICAgICAgICA8TGlicmFyeUNs YXNzZXM+DQorICAgICAgICAgIEZkdExpYnxNZGVQa2cvTGlicmFyeS9CYXNlRmR0TGliL0Jhc2VG ZHRMaWIuaW5mDQorICAgICAgICAgIEN1c3RvbUZkdE5vZGVQYXJzZXJMaWJ8VWVmaVBheWxvYWRQ a2cvTGlicmFyeS9DdXN0b21GZHROb2RlUGFyc2VyTGliL0N1c3RvbUZkdE5vZGVQYXJzZXJMaWIu aW5mDQorICAgICAgICAgIE5VTEx8VWVmaVBheWxvYWRQa2cvTGlicmFyeS9GZHRQYXJzZXJMaWIv RmR0UGFyc2VMaWIuaW5mDQorICAgICAgICAgIE5VTEx8VWVmaVBheWxvYWRQa2cvTGlicmFyeS9I b2JQYXJzZUxpYi9Ib2JQYXJzZUxpYi5pbmYNCisgICAgICB9DQogICAgICFlbHNlDQogICAgICAg VWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9VZWZpUGF5bG9hZEVudHJ5LmluZg0KICAg ICAhZW5kaWYNCi0tDQoyLjM5LjIud2luZG93cy4xDQoNCg0KLS0NClRoYW5rcyENCj1EDQoNCgot PS09LT0tPS09LT0tPS09LT0tPS09LQpHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBt ZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAuClZpZXcvUmVwbHkgT25saW5lICgjMTE5NDUzKTog aHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvMTE5NDUzCk11dGUgVGhpcyBU b3BpYzogaHR0cHM6Ly9ncm91cHMuaW8vbXQvMTA2NDU1MTY4Lzc2ODYxNzYKR3JvdXAgT3duZXI6 IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlvClVuc3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3Jv dXBzLmlvL2cvZGV2ZWwvdW5zdWIgW3JlYmVjY2FAb3BlbmZ3LmlvXQotPS09LT0tPS09LT0tPS09 LT0tPS09LQoKDQo= --_000_BN9PR11MB5483A643647D33DD901EA806E6F82BN9PR11MB5483namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 V2luZ2RpbmdzOw0KCXBhbm9zZS0xOjUgMCAwIDAgMCAwIDAgMCAwIDA7fQ0KQGZvbnQtZmFjZQ0K CXtmb250LWZhbWlseTpQTWluZ0xpVTsNCglwYW5vc2UtMToyIDEgNiAxIDAgMSAxIDEgMSAxO30N CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0 IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJ cGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWls eTpBcHRvczt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJcQFBNaW5nTGlVIjsNCglwYW5v c2UtMToyIDEgNiAxIDAgMSAxIDEgMSAxO30NCi8qIFN0eWxlIERlZmluaXRpb25zICovDQpwLk1z b05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjowaW47DQoJZm9u dC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiQXB0b3MiLHNhbnMtc2VyaWY7fQ0KYTpsaW5r LCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1 ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnNwYW4uZ21haWxzaWduYXR1cmVwcmVm aXgNCgl7bXNvLXN0eWxlLW5hbWU6Z21haWxfc2lnbmF0dXJlX3ByZWZpeDt9DQpzcGFuLkVtYWls U3R5bGUxOQ0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsNCglmb250LWZhbWlseToi QXB0b3MiLHNhbnMtc2VyaWY7DQoJY29sb3I6d2luZG93dGV4dDt9DQouTXNvQ2hwRGVmYXVsdA0K CXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6 ZTo4LjVpbiAxMS4waW47DQoJbWFyZ2luOjEuMGluIDEuMGluIDEuMGluIDEuMGluO30NCmRpdi5X b3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLyogTGlzdCBEZWZpbml0aW9ucyAq Lw0KQGxpc3QgbDANCgl7bXNvLWxpc3QtaWQ6MTQ2MzYyMTU3MzsNCgltc28tbGlzdC10ZW1wbGF0 ZS1pZHM6NjE2ODg1NDIyO30NCkBsaXN0IGwwOmxldmVsMQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZv cm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674K3Ow0KCW1zby1sZXZlbC10YWItc3RvcDou NWluOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotLjI1 aW47DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpTeW1ib2w7fQ0K QGxpc3QgbDA6bGV2ZWwyDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28t bGV2ZWwtdGV4dDpvOw0KCW1zby1sZXZlbC10YWItc3RvcDoxLjBpbjsNCgltc28tbGV2ZWwtbnVt YmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWluOw0KCW1zby1hbnNpLWZvbnQt c2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsNCgltc28tYmlkaS1mb250 LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9DQpAbGlzdCBsMDpsZXZlbDMNCgl7bXNvLWxldmVs LW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CpzsNCgltc28tbGV2ZWwt dGFiLXN0b3A6MS41aW47DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQt aW5kZW50Oi0uMjVpbjsNCgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5 OldpbmdkaW5nczt9DQpAbGlzdCBsMDpsZXZlbDQNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6 YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CpzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6Mi4waW47 DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjsN Cgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9DQpA bGlzdCBsMDpsZXZlbDUNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1s ZXZlbC10ZXh0Ou+CpzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6Mi41aW47DQoJbXNvLWxldmVsLW51 bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjsNCgltc28tYW5zaS1mb250 LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9DQpAbGlzdCBsMDpsZXZlbDYN Cgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CpzsN Cgltc28tbGV2ZWwtdGFiLXN0b3A6My4waW47DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjps ZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjsNCgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0Ow0K CWZvbnQtZmFtaWx5OldpbmdkaW5nczt9DQpAbGlzdCBsMDpsZXZlbDcNCgl7bXNvLWxldmVsLW51 bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CpzsNCgltc28tbGV2ZWwtdGFi LXN0b3A6My41aW47DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5k ZW50Oi0uMjVpbjsNCgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5Oldp bmdkaW5nczt9DQpAbGlzdCBsMDpsZXZlbDgNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVs bGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CpzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47DQoJ bXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjsNCglt c28tYW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9DQpAbGlz dCBsMDpsZXZlbDkNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZl bC10ZXh0Ou+CpzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6NC41aW47DQoJbXNvLWxldmVsLW51bWJl ci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjsNCgltc28tYW5zaS1mb250LXNp emU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9DQpvbA0KCXttYXJnaW4tYm90dG9t OjBpbjt9DQp1bA0KCXttYXJnaW4tYm90dG9tOjBpbjt9DQotLT48L3N0eWxlPjwhLS1baWYgZ3Rl IG1zbyA5XT48eG1sPg0KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAy NiIgLz4NCjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hh cGVsYXlvdXQgdjpleHQ9ImVkaXQiPg0KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+ DQo8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBsYW5n PSJFTi1VUyIgbGluaz0iYmx1ZSIgdmxpbms9InB1cnBsZSIgc3R5bGU9IndvcmQtd3JhcDpicmVh ay13b3JkIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+ PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQi PkhpIERoYXZhbCw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9w Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPlRo YW5rcyBmb3IgZ29vZCBjYXRjaCEgSSBqdXN0IGNvcGllZCB5b3VyIGZlZWRiYWNrcyB0byB0aGUg UFIsIGxldOKAmXMgZGlzY3VzcyB0aGVyZSB3aGljaCB3aWxsIGJlIGVhc2llciB0aGFuIG1haWwg dGhyZWFkLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+VGhhbmtz LDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl PSJmb250LXNpemU6MTEuMHB0Ij5DaGFzZWw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8 L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxMS4wcHQiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9w dWxsLzU2NjkvZmlsZXMjcjE2MjY3MzE2NTMiPmh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUv ZWRrMi9wdWxsLzU2NjkvZmlsZXMjcjE2MjY3MzE2NTM8L2E+PG86cD48L286cD48L3NwYW4+PC9w Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxv OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0 eWxlPSJmb250LXNpemU6MTEuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJz cDs8L286cD48L3NwYW4+PC9wPg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6 c29saWQgYmx1ZSAxLjVwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDQuMHB0Ij4NCjxkaXY+DQo8ZGl2 IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGlu ZzozLjBwdCAwaW4gMGluIDBpbiI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHls ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMt c2VyaWYiPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250 LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiBEaGF2YWwgU2hhcm1hICZs dDtkaGF2YWxAcml2b3NpbmMuY29tJmd0Ow0KPGJyPg0KPGI+U2VudDo8L2I+IE1vbmRheSwgSnVu ZSAzLCAyMDI0IDQ6MjggQU08YnI+DQo8Yj5Ubzo8L2I+IExpdSwgTGludXMgJmx0O2xpbnVzLmxp dUBpbnRlbC5jb20mZ3Q7PGJyPg0KPGI+Q2M6PC9iPiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgTGlu LCBCZW5ueSAmbHQ7YmVubnkubGluQGludGVsLmNvbSZndDs7IEd1bywgR3VhICZsdDtndWEuZ3Vv QGludGVsLmNvbSZndDs7IENoaXUsIENoYXNlbCAmbHQ7Y2hhc2VsLmNoaXVAaW50ZWwuY29tJmd0 OzsgTHUsIEphbWVzICZsdDtqYW1lcy5sdUBpbnRlbC5jb20mZ3Q7PGJyPg0KPGI+U3ViamVjdDo8 L2I+IFJlOiBbUEFUQ0ggdjQgNi82XSBVZWZpUGF5bG9hZFBrZzogVXBkYXRlIFVlZmlQYXlsb2Fk IGRyaXZlciBmb3IgRkRUIHN1cHBvcnQuPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8 L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkJ1aWxkRml0TG9hZGFibGVzRnZIb2I6PG86cD48L286cD48 L3A+DQo8ZGl2Pg0KPHVsIHR5cGU9ImRpc2MiPg0KPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28t bGlzdDpsMCBsZXZlbDEgbGZvMSI+DQpGZHQgdmFyaWFibGUgaXMgbm90IGluaXRpYWxpemVkLjxv OnA+PC9vOnA+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0OmwwIGxldmVsMSBs Zm8xIj4NCkl0IE9OTFkgZ2V0cyBpbml0aWFsaXplZCZuYnNwO2lmIEd1aWRIb2IgaXMgZm91bmQu IFdoYXQgaWYgaXQgaXMgbm90IGZvdW5kPzxvOnA+PC9vOnA+PC9saT48bGkgY2xhc3M9Ik1zb05v cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs dDphdXRvO21zby1saXN0OmwwIGxldmVsMSBsZm8xIj4NCkZkdENoZWNrSGVhZGVyIHN0aWxsIGV2 YWx1YXRpbmcgaXQ/PG86cD48L286cD48L2xpPjwvdWw+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiPk9uIE1vbiwgSnVuIDMsIDIwMjQgYXQgNzo0OTxzcGFuIHN0eWxlPSJm b250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmIj7igK88L3NwYW4+QU0gTGlu dXMgTGl1ICZsdDs8YSBocmVmPSJtYWlsdG86bGludXMubGl1QGludGVsLmNvbSI+bGludXMubGl1 QGludGVsLmNvbTwvYT4mZ3Q7IHdyb3RlOjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2tx dW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtw YWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDow aW4iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij5B ZGQgRkRUIGRldGVjdGlvbiBhbmQgY29tc3VtZSBGRFQgd2hlbiBuZWVkZWQuPGJyPg0KTW92ZSBz b21lIHg4NiBzcGVjaWZpYyBmdW5jdGlvbiBpbiB0aGUgeDg2IGZvbGRlci48YnI+DQpDcmVhdGUg SGFuZE9mZkhvYiB2aWEgRkRUIG1lbW9yeSBub2RlLjxicj4NCjxicj4NCkNjOiBCZW5ueSBMaW4g Jmx0OzxhIGhyZWY9Im1haWx0bzpiZW5ueS5saW5AaW50ZWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+ YmVubnkubGluQGludGVsLmNvbTwvYT4mZ3Q7PGJyPg0KQ2M6IEd1YSBHdW8gJmx0OzxhIGhyZWY9 Im1haWx0bzpndWEuZ3VvQGludGVsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmd1YS5ndW9AaW50ZWwu Y29tPC9hPiZndDs8YnI+DQpDYzogQ2hhc2VsIENoaXUgJmx0OzxhIGhyZWY9Im1haWx0bzpjaGFz ZWwuY2hpdUBpbnRlbC5jb20iIHRhcmdldD0iX2JsYW5rIj5jaGFzZWwuY2hpdUBpbnRlbC5jb208 L2E+Jmd0Ozxicj4NCkNjOiBKYW1lcyBMdSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmphbWVzLmx1QGlu dGVsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmphbWVzLmx1QGludGVsLmNvbTwvYT4mZ3Q7PGJyPg0K Q2M6IERoYXZhbCBTaGFybWEgJmx0OzxhIGhyZWY9Im1haWx0bzpkaGF2YWxAcml2b3NpbmMuY29t IiB0YXJnZXQ9Il9ibGFuayI+ZGhhdmFsQHJpdm9zaW5jLmNvbTwvYT4mZ3Q7PGJyPg0KPGJyPg0K U2lnbmVkLW9mZi1ieTogTGludXMgTGl1ICZsdDs8YSBocmVmPSJtYWlsdG86bGludXMubGl1QGlu dGVsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmxpbnVzLmxpdUBpbnRlbC5jb208L2E+Jmd0Ozxicj4N Ci0tLTxicj4NCiZuYnNwO1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvRml0VW5pdmVy c2FsUGF5bG9hZEVudHJ5LmMmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7fCA0MjggKysrKysrKysrLS0tLS0tLS0tLS08YnI+DQombmJzcDtVZWZp UGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L0lhMzIvRHhlTG9hZEZ1bmMuYyZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7fCZuYnNwOyAxMiArPGJyPg0KJm5ic3A7VWVmaVBheWxvYWRQa2cvVWVm aVBheWxvYWRFbnRyeS9JYTMyL3tEeGVMb2FkRnVuYy5jID0mZ3Q7IER4ZUxvYWRGdW5jRml0LmN9 IHwmbmJzcDsgMzIgKy08YnI+DQombmJzcDtVZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5 L01lbW9yeUFsbG9jYXRpb24uYyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fCZuYnNwOyA1MCAr Kys8YnI+DQombmJzcDtVZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L1ByaW50SG9iLmMm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt8Jm5i c3A7ICZuYnNwOzYgKy08YnI+DQombmJzcDtVZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5 L1VuaXZlcnNhbFBheWxvYWRFbnRyeS5jJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgfCZuYnNwOyAmbmJzcDs2IC08YnI+DQombmJz cDtVZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L1g2NC9EeGVMb2FkRnVuYy5jJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgfCZuYnNwOyAxMiArPGJyPg0KJm5ic3A7VWVmaVBheWxvYWRQ a2cvVWVmaVBheWxvYWRFbnRyeS9YNjQve0R4ZUxvYWRGdW5jLmMgPSZndDsgRHhlTG9hZEZ1bmNG aXQuY30mbmJzcDsgfCZuYnNwOyAzMSArLTxicj4NCiZuYnNwO1VlZmlQYXlsb2FkUGtnL1VlZmlQ YXlsb2FkRW50cnkvRml0VW5pdmVyc2FsUGF5bG9hZEVudHJ5LmluZiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3wmbmJzcDsgMjAgKy08YnI+DQombmJzcDtV ZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L1VlZmlQYXlsb2FkRW50cnkuaCZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7fCZuYnNwOyA2OCArKysrPGJyPg0KJm5ic3A7VWVmaVBheWxvYWRQ a2cvVWVmaVBheWxvYWRFbnRyeS9Vbml2ZXJzYWxQYXlsb2FkRW50cnkuaW5mJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB8Jm5ic3A7IDE2ICst PGJyPg0KJm5ic3A7VWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQa2cuZHNjJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyB8Jm5ic3A7IDI5ICstPGJyPg0KJm5ic3A7MTIgZmlsZXMgY2hhbmdlZCwg NDQzIGluc2VydGlvbnMoKyksIDI2NyBkZWxldGlvbnMoLSk8YnI+DQo8YnI+DQpkaWZmIC0tZ2l0 IGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9GaXRVbml2ZXJzYWxQYXlsb2FkRW50 cnkuYyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvRml0VW5pdmVyc2FsUGF5bG9h ZEVudHJ5LmM8YnI+DQppbmRleCBlYjBiMzI1MzY5YTAuLjgxM2Q2NTY5NTBkMSAxMDA2NDQ8YnI+ DQotLS0gYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L0ZpdFVuaXZlcnNhbFBheWxv YWRFbnRyeS5jPGJyPg0KKysrIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9GaXRV bml2ZXJzYWxQYXlsb2FkRW50cnkuYzxicj4NCkBAIC02LDYgKzYsOCBAQDxicj4NCiZuYnNwOyNp bmNsdWRlICZxdW90O1VlZmlQYXlsb2FkRW50cnkuaCZxdW90Ozxicj4NCiZuYnNwOyNpbmNsdWRl ICZsdDtMaWJyYXJ5L0ZkdExpYi5oJmd0Ozxicj4NCiZuYnNwOyNpbmNsdWRlICZsdDtHdWlkL1Vu aXZlcnNhbFBheWxvYWRCYXNlLmgmZ3Q7PGJyPg0KKyNpbmNsdWRlICZsdDtHdWlkL01lbW9yeVR5 cGVJbmZvcm1hdGlvbi5oJmd0Ozxicj4NCisjaW5jbHVkZSAmbHQ7TGlicmFyeS9GZHRQYXJzZXJM aWIuaCZndDs8YnI+DQo8YnI+DQombmJzcDsjZGVmaW5lIE1FTU9SWV9BVFRSSUJVVEVfTUFTSyZu YnNwOyAoRUZJX1JFU09VUkNFX0FUVFJJQlVURV9QUkVTRU5UJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fCZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBc PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBFRklfUkVTT1VSQ0VfQVRUUklCVVRFX0lO SVRJQUxJWkVEJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3wgXDxicj4NCkBAIC0y Myw2ICsyNSwxNSBAQDxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgRUZJX1JFU09VUkNF X0FUVFJJQlVURV9JTklUSUFMSVpFRCB8IFw8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IEVGSV9SRVNPVVJDRV9BVFRSSUJVVEVfVEVTVEVEJm5ic3A7ICZuYnNwOyAmbmJzcDsgKTxicj4N Cjxicj4NCitFRklfTUVNT1JZX1RZUEVfSU5GT1JNQVRJT04mbmJzcDsgbURlZmF1bHRNZW1vcnlU eXBlSW5mb3JtYXRpb25bXSA9IHs8YnI+DQorJm5ic3A7IHsgRWZpQUNQSVJlY2xhaW1NZW1vcnks Jm5ic3A7ICZuYnNwO0ZpeGVkUGNkR2V0MzIgKFBjZE1lbW9yeVR5cGVFZmlBQ1BJUmVjbGFpbU1l bW9yeSkmbmJzcDsgJm5ic3A7fSw8YnI+DQorJm5ic3A7IHsgRWZpQUNQSU1lbW9yeU5WUywmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtGaXhlZFBjZEdldDMyIChQY2RNZW1vcnlUeXBlRWZpQUNQ SU1lbW9yeU5WUykmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt9LDxicj4NCismbmJzcDsgeyBF ZmlSZXNlcnZlZE1lbW9yeVR5cGUsJm5ic3A7IEZpeGVkUGNkR2V0MzIgKFBjZE1lbW9yeVR5cGVF ZmlSZXNlcnZlZE1lbW9yeVR5cGUpJm5ic3A7IH0sPGJyPg0KKyZuYnNwOyB7IEVmaVJ1bnRpbWVT ZXJ2aWNlc0RhdGEsIEZpeGVkUGNkR2V0MzIgKFBjZE1lbW9yeVR5cGVFZmlSdW50aW1lU2Vydmlj ZXNEYXRhKSB9LDxicj4NCismbmJzcDsgeyBFZmlSdW50aW1lU2VydmljZXNDb2RlLCBGaXhlZFBj ZEdldDMyIChQY2RNZW1vcnlUeXBlRWZpUnVudGltZVNlcnZpY2VzQ29kZSkgfSw8YnI+DQorJm5i c3A7IHsgRWZpTWF4TWVtb3J5VHlwZSwmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDswJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwO308YnI+DQorfTs8YnI+DQorPGJyPg0KJm5ic3A7ZXh0ZXJuIFZPSUQmbmJzcDsgKm1Ib2JM aXN0Ozxicj4NCjxicj4NCiZuYnNwO0NIQVI4Jm5ic3A7ICptTGluZUJ1ZmZlciA9IE5VTEw7PGJy Pg0KQEAgLTM2LDYgKzQ3LDc4IEBAIFByaW50SG9iICg8YnI+DQombmJzcDsgJm5ic3A7SU4gQ09O U1QgVk9JRCZuYnNwOyAqSG9iU3RhcnQ8YnI+DQombmJzcDsgJm5ic3A7KTs8YnI+DQo8YnI+DQor LyoqPGJyPg0KKyZuYnNwOyBBZGQgSE9CIGludG8gSE9CIGxpc3Q8YnI+DQorJm5ic3A7IEBwYXJh bVtpbl0mbmJzcDsgSG9iJm5ic3A7ICZuYnNwOyBUaGUgSE9CIHRvIGJlIGFkZGVkIGludG8gdGhl IEhPQiBsaXN0Ljxicj4NCisqKi88YnI+DQorVk9JRDxicj4NCitBZGROZXdIb2IgKDxicj4NCism bmJzcDsgSU4gRUZJX1BFSV9IT0JfUE9JTlRFUlMmbmJzcDsgKkhvYjxicj4NCismbmJzcDsgKTs8 YnI+DQorPGJyPg0KKy8qKjxicj4NCismbmJzcDsgRm91bmQgdGhlIFJlc291cmNlIERlc2NyaXB0 b3IgSE9CIHRoYXQgY29udGFpbnMgYSByYW5nZSAoQmFzZSwgVG9wKTxicj4NCismbmJzcDsgQHBh cmFtW2luXSBIb2JMaXN0Jm5ic3A7ICZuYnNwOyBIb2Igc3RhcnQgYWRkcmVzczxicj4NCismbmJz cDsgQHBhcmFtW2luXSBCYXNlJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7TWVtb3J5IHN0YXJ0 IGFkZHJlc3M8YnI+DQorJm5ic3A7IEBwYXJhbVtpbl0gVG9wJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IE1lbW9yeSBlbmQgYWRkcmVzcy48YnI+DQorJm5ic3A7IEByZXR2YWwmbmJzcDsgJm5i c3A7ICZuYnNwO1RoZSBwb2ludGVyIHRvIHRoZSBSZXNvdXJjZSBEZXNjcmlwdG9yIEhPQi48YnI+ DQorKiovPGJyPg0KK0VGSV9IT0JfUkVTT1VSQ0VfREVTQ1JJUFRPUiAqPGJyPg0KK0ZpbmRSZXNv dXJjZURlc2NyaXB0b3JCeVJhbmdlICg8YnI+DQorJm5ic3A7IElOIFZPSUQmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAqSG9iTGlz dCw8YnI+DQorJm5ic3A7IElOIEVGSV9QSFlTSUNBTF9BRERSRVNTJm5ic3A7IEJhc2UsPGJyPg0K KyZuYnNwOyBJTiBFRklfUEhZU0lDQUxfQUREUkVTUyZuYnNwOyBUb3A8YnI+DQorJm5ic3A7ICk7 PGJyPg0KKzxicj4NCisvKio8YnI+DQorJm5ic3A7IEZpbmQgdGhlIGhpZ2hlc3QgYmVsb3cgNEcg bWVtb3J5IHJlc291cmNlIGRlc2NyaXB0b3IsIGV4Y2VwdCB0aGUgaW5wdXQgUmVzb3VyY2UgRGVz Y3JpcHRvci48YnI+DQorJm5ic3A7IEBwYXJhbVtpbl0gSG9iTGlzdCZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7SG9iIHN0YXJ0IGFk ZHJlc3M8YnI+DQorJm5ic3A7IEBwYXJhbVtpbl0gTWluaW1hbE5lZWRlZFNpemUmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDtNaW5pbWFsIG5lZWRlZCBzaXplLjxicj4NCismbmJzcDsgQHBhcmFt W2luXSBFeGNlcHRSZXNvdXJjZUhvYiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0lnbm9yZSB0 aGlzIFJlc291cmNlIERlc2NyaXB0b3IuPGJyPg0KKyZuYnNwOyBAcmV0dmFsJm5ic3A7ICZuYnNw OyAmbmJzcDtUaGUgcG9pbnRlciB0byB0aGUgUmVzb3VyY2UgRGVzY3JpcHRvciBIT0IuPGJyPg0K KyoqLzxicj4NCitFRklfSE9CX1JFU09VUkNFX0RFU0NSSVBUT1IgKjxicj4NCitGaW5kQW5vdGhl ckhpZ2hlc3RCZWxvdzRHUmVzb3VyY2VEZXNjcmlwdG9yICg8YnI+DQorJm5ic3A7IElOIFZPSUQm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsqSG9iTGlzdCw8YnI+DQorJm5ic3A7IElO IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgTWluaW1hbE5lZWRlZFNpemUsPGJyPg0K KyZuYnNwOyBJTiBFRklfSE9CX1JFU09VUkNFX0RFU0NSSVBUT1ImbmJzcDsgKkV4Y2VwdFJlc291 cmNlSG9iPGJyPg0KKyZuYnNwOyApOzxicj4NCis8YnI+DQorLyoqPGJyPg0KKyZuYnNwOyBDaGVj ayB0aGUgSE9CIGFuZCBkZWNpZGUgaWYgaXQgaXMgbmVlZCBpbnNpZGUgUGF5bG9hZDxicj4NCism bmJzcDsgUGF5bG9hZCBtYWludGFpbmVyIG1heSBtYWtlIGRlY2lzaW9uIHdoaWNoIEhPQiBpcyBu ZWVkIG9yIG5lZWRuJ3Q8YnI+DQorJm5ic3A7IFRoZW4gYWRkIHRoZSBjaGVjayBsb2dpYyBpbiB0 aGUgZnVuY3Rpb24uPGJyPg0KKyZuYnNwOyBAcGFyYW1baW5dIEhvYiBUaGUgSE9CIHRvIGNoZWNr PGJyPg0KKyZuYnNwOyBAcmV0dmFsIFRSVUUmbmJzcDsgSWYgSE9CIGlzIG5lZWQgaW5zaWRlIFBh eWxvYWQ8YnI+DQorJm5ic3A7IEByZXR2YWwgRkFMU0UgSWYgSE9CIGlzIG5lZWRuJ3QgaW5zaWRl IFBheWxvYWQ8YnI+DQorKiovPGJyPg0KK0JPT0xFQU48YnI+DQorRml0SXNIb2JOZWVkICg8YnI+ DQorJm5ic3A7IEVGSV9QRUlfSE9CX1BPSU5URVJTJm5ic3A7IEhvYjxicj4NCismbmJzcDsgKTs8 YnI+DQorPGJyPg0KKy8qKjxicj4NCismbmJzcDsgQ2hlY2sgdGhlIEhPQiBhbmQgZGVjaWRlIGlm IGl0IGlzIG5lZWQgaW5zaWRlIFBheWxvYWQ8YnI+DQorPGJyPg0KKyZuYnNwOyBQYXlsb2FkIG1h aW50YWluZXIgbWF5IG1ha2UgZGVjaXNpb24gd2hpY2ggSE9CIGlzIG5lZWQgb3IgbmVlZG4ndDxi cj4NCismbmJzcDsgVGhlbiBhZGQgdGhlIGNoZWNrIGxvZ2ljIGluIHRoZSBmdW5jdGlvbi48YnI+ DQorPGJyPg0KKyZuYnNwOyBAcGFyYW1baW5dIEhvYiBUaGUgSE9CIHRvIGNoZWNrPGJyPg0KKzxi cj4NCismbmJzcDsgQHJldHZhbCBUUlVFJm5ic3A7IElmIEhPQiBpcyBuZWVkIGluc2lkZSBQYXls b2FkPGJyPg0KKyZuYnNwOyBAcmV0dmFsIEZBTFNFIElmIEhPQiBpcyBuZWVkbid0IGluc2lkZSBQ YXlsb2FkPGJyPg0KKyoqLzxicj4NCitCT09MRUFOPGJyPg0KK0lzSG9iTmVlZCAoPGJyPg0KKyZu YnNwOyBFRklfUEVJX0hPQl9QT0lOVEVSUyZuYnNwOyBIb2I8YnI+DQorJm5ic3A7ICk7PGJyPg0K Kzxicj4NCitWT0lEPGJyPg0KK0VGSUFQSTxicj4NCitQcm9jZXNzTGlicmFyeUNvbnN0cnVjdG9y TGlzdCAoPGJyPg0KKyZuYnNwOyBWT0lEPGJyPg0KKyZuYnNwOyApOzxicj4NCis8YnI+DQombmJz cDsvKio8YnI+DQombmJzcDsgJm5ic3A7RmluZCB0aGUgZmlyc3Qgc3Vic3RyaW5nLjxicj4NCiZu YnNwOyAmbmJzcDtAcGFyYW0mbmJzcDsgU3RyaW5nJm5ic3A7ICZuYnNwOyBQb2ludCB0byB0aGUg c3RyaW5nIHdoZXJlIHRvIGZpbmQgdGhlIHN1YnN0cmluZy48YnI+DQpAQCAtMTkxLDE4NyArMjc0 LDYgQEAgRml4VXBQY2REYXRhYmFzZSAoPGJyPg0KJm5ic3A7ICZuYnNwO3JldHVybiBFRklfU1VD Q0VTUzs8YnI+DQombmJzcDt9PGJyPg0KPGJyPg0KLS8qKjxicj4NCi0mbmJzcDsgQWRkIEhPQiBp bnRvIEhPQiBsaXN0PGJyPg0KLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IEhvYiZuYnNwOyAmbmJz cDsgVGhlIEhPQiB0byBiZSBhZGRlZCBpbnRvIHRoZSBIT0IgbGlzdC48YnI+DQotKiovPGJyPg0K LVZPSUQ8YnI+DQotQWRkTmV3SG9iICg8YnI+DQotJm5ic3A7IElOIEVGSV9QRUlfSE9CX1BPSU5U RVJTJm5ic3A7ICpIb2I8YnI+DQotJm5ic3A7ICk8YnI+DQotezxicj4NCi0mbmJzcDsgRUZJX1BF SV9IT0JfUE9JTlRFUlMmbmJzcDsgTmV3SG9iOzxicj4NCi08YnI+DQotJm5ic3A7IGlmIChIb2It Jmd0O1JhdyA9PSBOVUxMKSB7PGJyPg0KLSZuYnNwOyAmbmJzcDsgcmV0dXJuOzxicj4NCi0mbmJz cDsgfTxicj4NCi08YnI+DQotJm5ic3A7IE5ld0hvYi5IZWFkZXIgPSBDcmVhdGVIb2IgKEhvYi0m Z3Q7SGVhZGVyLSZndDtIb2JUeXBlLCBIb2ItJmd0O0hlYWRlci0mZ3Q7SG9iTGVuZ3RoKTs8YnI+ DQotJm5ic3A7IEFTU0VSVCAoTmV3SG9iLkhlYWRlciAhPSBOVUxMKTs8YnI+DQotJm5ic3A7IGlm IChOZXdIb2IuSGVhZGVyID09IE5VTEwpIHs8YnI+DQotJm5ic3A7ICZuYnNwOyByZXR1cm47PGJy Pg0KLSZuYnNwOyB9PGJyPg0KLTxicj4NCi0mbmJzcDsgQ29weU1lbSAoTmV3SG9iLkhlYWRlciAr IDEsIEhvYi0mZ3Q7SGVhZGVyICsgMSwgSG9iLSZndDtIZWFkZXItJmd0O0hvYkxlbmd0aCAtIHNp emVvZiAoRUZJX0hPQl9HRU5FUklDX0hFQURFUikpOzxicj4NCi19PGJyPg0KLTxicj4NCi0vKio8 YnI+DQotJm5ic3A7IEZvdW5kIHRoZSBSZXNvdXJjZSBEZXNjcmlwdG9yIEhPQiB0aGF0IGNvbnRh aW5zIGEgcmFuZ2UgKEJhc2UsIFRvcCk8YnI+DQotJm5ic3A7IEBwYXJhbVtpbl0gSG9iTGlzdCZu YnNwOyAmbmJzcDsgSG9iIHN0YXJ0IGFkZHJlc3M8YnI+DQotJm5ic3A7IEBwYXJhbVtpbl0gQmFz ZSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO01lbW9yeSBzdGFydCBhZGRyZXNzPGJyPg0KLSZu YnNwOyBAcGFyYW1baW5dIFRvcCZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBNZW1vcnkgZW5k IGFkZHJlc3MuPGJyPg0KLSZuYnNwOyBAcmV0dmFsJm5ic3A7ICZuYnNwOyAmbmJzcDtUaGUgcG9p bnRlciB0byB0aGUgUmVzb3VyY2UgRGVzY3JpcHRvciBIT0IuPGJyPg0KLSoqLzxicj4NCi1FRklf SE9CX1JFU09VUkNFX0RFU0NSSVBUT1IgKjxicj4NCi1GaW5kUmVzb3VyY2VEZXNjcmlwdG9yQnlS YW5nZSAoPGJyPg0KLSZuYnNwOyBJTiBWT0lEJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKkhvYkxpc3QsPGJyPg0KLSZuYnNwOyBJ TiBFRklfUEhZU0lDQUxfQUREUkVTUyZuYnNwOyBCYXNlLDxicj4NCi0mbmJzcDsgSU4gRUZJX1BI WVNJQ0FMX0FERFJFU1MmbmJzcDsgVG9wPGJyPg0KLSZuYnNwOyApPGJyPg0KLXs8YnI+DQotJm5i c3A7IEVGSV9QRUlfSE9CX1BPSU5URVJTJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O0hvYjs8YnI+DQotJm5ic3A7IEVGSV9IT0JfUkVTT1VSQ0VfREVTQ1JJUFRPUiZuYnNwOyAqUmVz b3VyY2VIb2I7PGJyPg0KLTxicj4NCi0mbmJzcDsgZm9yIChIb2IuUmF3ID0gKFVJTlQ4ICopSG9i TGlzdDsgIUVORF9PRl9IT0JfTElTVCAoSG9iKTsgSG9iLlJhdyA9IEdFVF9ORVhUX0hPQiAoSG9i KSkgezxicj4NCi0mbmJzcDsgJm5ic3A7IC8vPGJyPg0KLSZuYnNwOyAmbmJzcDsgLy8gU2tpcCBh bGwgSE9CcyBleGNlcHQgUmVzb3VyY2UgRGVzY3JpcHRvciBIT0JzPGJyPg0KLSZuYnNwOyAmbmJz cDsgLy88YnI+DQotJm5ic3A7ICZuYnNwOyBpZiAoR0VUX0hPQl9UWVBFIChIb2IpICE9IEVGSV9I T0JfVFlQRV9SRVNPVVJDRV9ERVNDUklQVE9SKSB7PGJyPg0KLSZuYnNwOyAmbmJzcDsgJm5ic3A7 IGNvbnRpbnVlOzxicj4NCi0mbmJzcDsgJm5ic3A7IH08YnI+DQotPGJyPg0KLSZuYnNwOyAmbmJz cDsgLy88YnI+DQotJm5ic3A7ICZuYnNwOyAvLyBTa2lwIFJlc291cmNlIERlc2NyaXB0b3IgSE9C cyB0aGF0IGRvIG5vdCBkZXNjcmliZSB0ZXN0ZWQgc3lzdGVtIG1lbW9yeTxicj4NCi0mbmJzcDsg Jm5ic3A7IC8vPGJyPg0KLSZuYnNwOyAmbmJzcDsgUmVzb3VyY2VIb2IgPSBIb2IuUmVzb3VyY2VE ZXNjcmlwdG9yOzxicj4NCi0mbmJzcDsgJm5ic3A7IGlmIChSZXNvdXJjZUhvYi0mZ3Q7UmVzb3Vy Y2VUeXBlICE9IEVGSV9SRVNPVVJDRV9TWVNURU1fTUVNT1JZKSB7PGJyPg0KLSZuYnNwOyAmbmJz cDsgJm5ic3A7IGNvbnRpbnVlOzxicj4NCi0mbmJzcDsgJm5ic3A7IH08YnI+DQotPGJyPg0KLSZu YnNwOyAmbmJzcDsgaWYgKChSZXNvdXJjZUhvYi0mZ3Q7UmVzb3VyY2VBdHRyaWJ1dGUgJmFtcDsg TUVNT1JZX0FUVFJJQlVURV9NQVNLKSAhPSBURVNURURfTUVNT1JZX0FUVFJJQlVURVMpIHs8YnI+ DQotJm5ic3A7ICZuYnNwOyAmbmJzcDsgY29udGludWU7PGJyPg0KLSZuYnNwOyAmbmJzcDsgfTxi cj4NCi08YnI+DQotJm5ic3A7ICZuYnNwOyAvLzxicj4NCi0mbmJzcDsgJm5ic3A7IC8vIFNraXAg UmVzb3VyY2UgRGVzY3JpcHRvciBIT0JzIHRoYXQgZG8gbm90IGNvbnRhaW4gdGhlIFBISVQgcmFu Z2UgRWZpRnJlZU1lbW9yeUJvdHRvbS4uRWZpRnJlZU1lbW9yeVRvcDxicj4NCi0mbmJzcDsgJm5i c3A7IC8vPGJyPg0KLSZuYnNwOyAmbmJzcDsgaWYgKEJhc2UgJmx0OyBSZXNvdXJjZUhvYi0mZ3Q7 UGh5c2ljYWxTdGFydCkgezxicj4NCi0mbmJzcDsgJm5ic3A7ICZuYnNwOyBjb250aW51ZTs8YnI+ DQotJm5ic3A7ICZuYnNwOyB9PGJyPg0KLTxicj4NCi0mbmJzcDsgJm5ic3A7IGlmIChUb3AgJmd0 OyAoUmVzb3VyY2VIb2ItJmd0O1BoeXNpY2FsU3RhcnQgKyBSZXNvdXJjZUhvYi0mZ3Q7UmVzb3Vy Y2VMZW5ndGgpKSB7PGJyPg0KLSZuYnNwOyAmbmJzcDsgJm5ic3A7IGNvbnRpbnVlOzxicj4NCi0m bmJzcDsgJm5ic3A7IH08YnI+DQotPGJyPg0KLSZuYnNwOyAmbmJzcDsgcmV0dXJuIFJlc291cmNl SG9iOzxicj4NCi0mbmJzcDsgfTxicj4NCi08YnI+DQotJm5ic3A7IHJldHVybiBOVUxMOzxicj4N Ci19PGJyPg0KLTxicj4NCi0vKio8YnI+DQotJm5ic3A7IEZpbmQgdGhlIGhpZ2hlc3QgYmVsb3cg NEcgbWVtb3J5IHJlc291cmNlIGRlc2NyaXB0b3IsIGV4Y2VwdCB0aGUgaW5wdXQgUmVzb3VyY2Ug RGVzY3JpcHRvci48YnI+DQotJm5ic3A7IEBwYXJhbVtpbl0gSG9iTGlzdCZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7SG9iIHN0YXJ0 IGFkZHJlc3M8YnI+DQotJm5ic3A7IEBwYXJhbVtpbl0gTWluaW1hbE5lZWRlZFNpemUmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDtNaW5pbWFsIG5lZWRlZCBzaXplLjxicj4NCi0mbmJzcDsgQHBh cmFtW2luXSBFeGNlcHRSZXNvdXJjZUhvYiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0lnbm9y ZSB0aGlzIFJlc291cmNlIERlc2NyaXB0b3IuPGJyPg0KLSZuYnNwOyBAcmV0dmFsJm5ic3A7ICZu YnNwOyAmbmJzcDtUaGUgcG9pbnRlciB0byB0aGUgUmVzb3VyY2UgRGVzY3JpcHRvciBIT0IuPGJy Pg0KLSoqLzxicj4NCi1FRklfSE9CX1JFU09VUkNFX0RFU0NSSVBUT1IgKjxicj4NCi1GaW5kQW5v dGhlckhpZ2hlc3RCZWxvdzRHUmVzb3VyY2VEZXNjcmlwdG9yICg8YnI+DQotJm5ic3A7IElOIFZP SUQmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsqSG9iTGlzdCw8YnI+DQotJm5ic3A7 IElOIFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgTWluaW1hbE5lZWRlZFNpemUsPGJy Pg0KLSZuYnNwOyBJTiBFRklfSE9CX1JFU09VUkNFX0RFU0NSSVBUT1ImbmJzcDsgKkV4Y2VwdFJl c291cmNlSG9iPGJyPg0KLSZuYnNwOyApPGJyPg0KLXs8YnI+DQotJm5ic3A7IEVGSV9QRUlfSE9C X1BPSU5URVJTJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0hvYjs8YnI+DQotJm5i c3A7IEVGSV9IT0JfUkVTT1VSQ0VfREVTQ1JJUFRPUiZuYnNwOyAqUmVzb3VyY2VIb2I7PGJyPg0K LSZuYnNwOyBFRklfSE9CX1JFU09VUkNFX0RFU0NSSVBUT1ImbmJzcDsgKlJldHVyblJlc291cmNl SG9iOzxicj4NCi08YnI+DQotJm5ic3A7IFJldHVyblJlc291cmNlSG9iID0gTlVMTDs8YnI+DQot PGJyPg0KLSZuYnNwOyBmb3IgKEhvYi5SYXcgPSAoVUlOVDggKilIb2JMaXN0OyAhRU5EX09GX0hP Ql9MSVNUIChIb2IpOyBIb2IuUmF3ID0gR0VUX05FWFRfSE9CIChIb2IpKSB7PGJyPg0KLSZuYnNw OyAmbmJzcDsgLy88YnI+DQotJm5ic3A7ICZuYnNwOyAvLyBTa2lwIGFsbCBIT0JzIGV4Y2VwdCBS ZXNvdXJjZSBEZXNjcmlwdG9yIEhPQnM8YnI+DQotJm5ic3A7ICZuYnNwOyAvLzxicj4NCi0mbmJz cDsgJm5ic3A7IGlmIChHRVRfSE9CX1RZUEUgKEhvYikgIT0gRUZJX0hPQl9UWVBFX1JFU09VUkNF X0RFU0NSSVBUT1IpIHs8YnI+DQotJm5ic3A7ICZuYnNwOyAmbmJzcDsgY29udGludWU7PGJyPg0K LSZuYnNwOyAmbmJzcDsgfTxicj4NCi08YnI+DQotJm5ic3A7ICZuYnNwOyAvLzxicj4NCi0mbmJz cDsgJm5ic3A7IC8vIFNraXAgUmVzb3VyY2UgRGVzY3JpcHRvciBIT0JzIHRoYXQgZG8gbm90IGRl c2NyaWJlIHRlc3RlZCBzeXN0ZW0gbWVtb3J5PGJyPg0KLSZuYnNwOyAmbmJzcDsgLy88YnI+DQot Jm5ic3A7ICZuYnNwOyBSZXNvdXJjZUhvYiA9IEhvYi5SZXNvdXJjZURlc2NyaXB0b3I7PGJyPg0K LSZuYnNwOyAmbmJzcDsgaWYgKFJlc291cmNlSG9iLSZndDtSZXNvdXJjZVR5cGUgIT0gRUZJX1JF U09VUkNFX1NZU1RFTV9NRU1PUlkpIHs8YnI+DQotJm5ic3A7ICZuYnNwOyAmbmJzcDsgY29udGlu dWU7PGJyPg0KLSZuYnNwOyAmbmJzcDsgfTxicj4NCi08YnI+DQotJm5ic3A7ICZuYnNwOyBpZiAo KFJlc291cmNlSG9iLSZndDtSZXNvdXJjZUF0dHJpYnV0ZSAmYW1wOyBNRU1PUllfQVRUUklCVVRF X01BU0spICE9IFRFU1RFRF9NRU1PUllfQVRUUklCVVRFUykgezxicj4NCi0mbmJzcDsgJm5ic3A7 ICZuYnNwOyBjb250aW51ZTs8YnI+DQotJm5ic3A7ICZuYnNwOyB9PGJyPg0KLTxicj4NCi0mbmJz cDsgJm5ic3A7IC8vPGJyPg0KLSZuYnNwOyAmbmJzcDsgLy8gU2tpcCBpZiB0aGUgUmVzb3VyY2Ug RGVzY3JpcHRvciBIT0IgZXF1YWxzIHRvIEV4Y2VwdFJlc291cmNlSG9iPGJyPg0KLSZuYnNwOyAm bmJzcDsgLy88YnI+DQotJm5ic3A7ICZuYnNwOyBpZiAoUmVzb3VyY2VIb2IgPT0gRXhjZXB0UmVz b3VyY2VIb2IpIHs8YnI+DQotJm5ic3A7ICZuYnNwOyAmbmJzcDsgY29udGludWU7PGJyPg0KLSZu YnNwOyAmbmJzcDsgfTxicj4NCi08YnI+DQotJm5ic3A7ICZuYnNwOyAvLzxicj4NCi0mbmJzcDsg Jm5ic3A7IC8vIFNraXAgUmVzb3VyY2UgRGVzY3JpcHRvciBIT0JzIHRoYXQgYXJlIGJleW9uZCA0 Rzxicj4NCi0mbmJzcDsgJm5ic3A7IC8vPGJyPg0KLSZuYnNwOyAmbmJzcDsgaWYgKChSZXNvdXJj ZUhvYi0mZ3Q7UGh5c2ljYWxTdGFydCArIFJlc291cmNlSG9iLSZndDtSZXNvdXJjZUxlbmd0aCkg Jmd0OyBCQVNFXzRHQikgezxicj4NCi0mbmJzcDsgJm5ic3A7ICZuYnNwOyBjb250aW51ZTs8YnI+ DQotJm5ic3A7ICZuYnNwOyB9PGJyPg0KLTxicj4NCi0mbmJzcDsgJm5ic3A7IC8vPGJyPg0KLSZu YnNwOyAmbmJzcDsgLy8gU2tpcCBSZXNvdXJjZSBEZXNjcmlwdG9yIEhPQnMgdGhhdCBhcmUgdG9v IHNtYWxsPGJyPg0KLSZuYnNwOyAmbmJzcDsgLy88YnI+DQotJm5ic3A7ICZuYnNwOyBpZiAoUmVz b3VyY2VIb2ItJmd0O1Jlc291cmNlTGVuZ3RoICZsdDsgTWluaW1hbE5lZWRlZFNpemUpIHs8YnI+ DQotJm5ic3A7ICZuYnNwOyAmbmJzcDsgY29udGludWU7PGJyPg0KLSZuYnNwOyAmbmJzcDsgfTxi cj4NCi08YnI+DQotJm5ic3A7ICZuYnNwOyAvLzxicj4NCi0mbmJzcDsgJm5ic3A7IC8vIFJldHVy biB0aGUgdG9wZXN0IFJlc291cmNlIERlc2NyaXB0b3I8YnI+DQotJm5ic3A7ICZuYnNwOyAvLzxi cj4NCi0mbmJzcDsgJm5ic3A7IGlmIChSZXR1cm5SZXNvdXJjZUhvYiA9PSBOVUxMKSB7PGJyPg0K LSZuYnNwOyAmbmJzcDsgJm5ic3A7IFJldHVyblJlc291cmNlSG9iID0gUmVzb3VyY2VIb2I7PGJy Pg0KLSZuYnNwOyAmbmJzcDsgfSBlbHNlIHs8YnI+DQotJm5ic3A7ICZuYnNwOyAmbmJzcDsgaWYg KFJldHVyblJlc291cmNlSG9iLSZndDtQaHlzaWNhbFN0YXJ0ICZsdDsgUmVzb3VyY2VIb2ItJmd0 O1BoeXNpY2FsU3RhcnQpIHs8YnI+DQotJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJldHVy blJlc291cmNlSG9iID0gUmVzb3VyY2VIb2I7PGJyPg0KLSZuYnNwOyAmbmJzcDsgJm5ic3A7IH08 YnI+DQotJm5ic3A7ICZuYnNwOyB9PGJyPg0KLSZuYnNwOyB9PGJyPg0KLTxicj4NCi0mbmJzcDsg cmV0dXJuIFJldHVyblJlc291cmNlSG9iOzxicj4NCi19PGJyPg0KLTxicj4NCi0vKio8YnI+DQot Jm5ic3A7IENoZWNrIHRoZSBIT0IgYW5kIGRlY2lkZSBpZiBpdCBpcyBuZWVkIGluc2lkZSBQYXls b2FkPGJyPg0KLSZuYnNwOyBQYXlsb2FkIG1haW50YWluZXIgbWF5IG1ha2UgZGVjaXNpb24gd2hp Y2ggSE9CIGlzIG5lZWQgb3IgbmVlZG4ndDxicj4NCi0mbmJzcDsgVGhlbiBhZGQgdGhlIGNoZWNr IGxvZ2ljIGluIHRoZSBmdW5jdGlvbi48YnI+DQotJm5ic3A7IEBwYXJhbVtpbl0gSG9iIFRoZSBI T0IgdG8gY2hlY2s8YnI+DQotJm5ic3A7IEByZXR2YWwgVFJVRSZuYnNwOyBJZiBIT0IgaXMgbmVl ZCBpbnNpZGUgUGF5bG9hZDxicj4NCi0mbmJzcDsgQHJldHZhbCBGQUxTRSBJZiBIT0IgaXMgbmVl ZG4ndCBpbnNpZGUgUGF5bG9hZDxicj4NCi0qKi88YnI+DQotQk9PTEVBTjxicj4NCi1Jc0hvYk5l ZWQgKDxicj4NCi0mbmJzcDsgRUZJX1BFSV9IT0JfUE9JTlRFUlMmbmJzcDsgSG9iPGJyPg0KLSZu YnNwOyApPGJyPg0KLXs8YnI+DQotJm5ic3A7IGlmIChIb2IuSGVhZGVyLSZndDtIb2JUeXBlID09 IEVGSV9IT0JfVFlQRV9IQU5ET0ZGKSB7PGJyPg0KLSZuYnNwOyAmbmJzcDsgcmV0dXJuIEZBTFNF Ozxicj4NCi0mbmJzcDsgfTxicj4NCi08YnI+DQotJm5ic3A7IGlmIChIb2IuSGVhZGVyLSZndDtI b2JUeXBlID09IEVGSV9IT0JfVFlQRV9NRU1PUllfQUxMT0NBVElPTikgezxicj4NCi0mbmJzcDsg Jm5ic3A7IGlmIChDb21wYXJlR3VpZCAoJmFtcDtIb2IuTWVtb3J5QWxsb2NhdGlvbk1vZHVsZS0m Z3Q7TWVtb3J5QWxsb2NhdGlvbkhlYWRlci5OYW1lLCAmYW1wO2dFZmlIb2JNZW1vcnlBbGxvY01v ZHVsZUd1aWQpKSB7PGJyPg0KLSZuYnNwOyAmbmJzcDsgJm5ic3A7IHJldHVybiBGQUxTRTs8YnI+ DQotJm5ic3A7ICZuYnNwOyB9PGJyPg0KLSZuYnNwOyB9PGJyPg0KLTxicj4NCi0mbmJzcDsgLy8g QXJyaXZlIGhlcmUgbWVhbiB0aGUgSE9CIGlzIG5lZWQ8YnI+DQotJm5ic3A7IHJldHVybiBUUlVF Ozxicj4NCi19PGJyPg0KLTxicj4NCiZuYnNwOy8qKjxicj4NCiZuYnNwOyAmbmJzcDtJdCB3aWxs IGJ1aWxkIEZ2IEhPQnMgYmFzZWQgb24gaW5mb3JtYXRpb24gZnJvbSBib290bG9hZGVycy48YnI+ DQombmJzcDsgJm5ic3A7QHBhcmFtW291dF0gRHhlRnYmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFRoZSBwb2ludGVyIHRvIHRoZSBEWEUgRlYgaW4gbWVtb3J5Ljxicj4NCkBAIC00 MDksMjEgKzMxMSwyNSBAQCBCdWlsZEZpdExvYWRhYmxlc0Z2SG9iICg8YnI+DQo8YnI+DQombmJz cDsgJm5ic3A7U3RhdHVzID0gRmR0Q2hlY2tIZWFkZXIgKEZkdCk7PGJyPg0KJm5ic3A7ICZuYnNw O2lmIChFRklfRVJST1IgKFN0YXR1cykpIHs8YnI+DQorJm5ic3A7ICZuYnNwOyBERUJVRyAoKERF QlVHX0lORk8sICZxdW90O0ZkdENoZWNrSGVhZGVyIFVQU1VQUE9SVEVEXG4mcXVvdDspKTs8YnI+ DQombmJzcDsgJm5ic3A7ICZuYnNwO3JldHVybiBFRklfVU5TVVBQT1JURUQ7PGJyPg0KJm5ic3A7 ICZuYnNwO308YnI+DQo8YnI+DQombmJzcDsgJm5ic3A7Q29uZmlnTm9kZSA9IEZkdFN1Ym5vZGVP ZmZzZXROYW1lTGVuIChGZHQsIDAsICZxdW90O2NvbmZpZ3VyYXRpb25zJnF1b3Q7LCAoSU5UMzIp QXNjaWlTdHJMZW4gKCZxdW90O2NvbmZpZ3VyYXRpb25zJnF1b3Q7KSk7PGJyPg0KJm5ic3A7ICZu YnNwO2lmIChDb25maWdOb2RlICZsdDs9IDApIHs8YnI+DQorJm5ic3A7ICZuYnNwOyBERUJVRyAo KERFQlVHX0lORk8sICZxdW90O0J1aWxkRml0TG9hZGFibGVzRnZIb2IgY29uZmlndXJhdGlvbnMg RUZJX05PVF9GT1VORFxuJnF1b3Q7KSk7PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDtyZXR1cm4g RUZJX05PVF9GT1VORDs8YnI+DQombmJzcDsgJm5ic3A7fTxicj4NCjxicj4NCiZuYnNwOyAmbmJz cDtDb25maWcxTm9kZSA9IEZkdFN1Ym5vZGVPZmZzZXROYW1lTGVuIChGZHQsIENvbmZpZ05vZGUs ICZxdW90O2NvbmYtMSZxdW90OywgKElOVDMyKUFzY2lpU3RyTGVuICgmcXVvdDtjb25mLTEmcXVv dDspKTs8YnI+DQombmJzcDsgJm5ic3A7aWYgKENvbmZpZzFOb2RlICZsdDs9IDApIHs8YnI+DQor Jm5ic3A7ICZuYnNwOyBERUJVRyAoKERFQlVHX0lORk8sICZxdW90O0J1aWxkRml0TG9hZGFibGVz RnZIb2IgY29uZi0xIEVGSV9OT1RfRk9VTkRcbiZxdW90OykpOzxicj4NCiZuYnNwOyAmbmJzcDsg Jm5ic3A7cmV0dXJuIEVGSV9OT1RfRk9VTkQ7PGJyPg0KJm5ic3A7ICZuYnNwO308YnI+DQo8YnI+ DQombmJzcDsgJm5ic3A7SW1hZ2VOb2RlID0gRmR0U3Vibm9kZU9mZnNldE5hbWVMZW4gKEZkdCwg MCwgJnF1b3Q7aW1hZ2VzJnF1b3Q7LCAoSU5UMzIpQXNjaWlTdHJMZW4gKCZxdW90O2ltYWdlcyZx dW90OykpOzxicj4NCiZuYnNwOyAmbmJzcDtpZiAoSW1hZ2VOb2RlICZsdDs9IDApIHs8YnI+DQor Jm5ic3A7ICZuYnNwOyBERUJVRyAoKERFQlVHX0lORk8sICZxdW90O0J1aWxkRml0TG9hZGFibGVz RnZIb2IgaW1hZ2VzIEVGSV9OT1RfRk9VTkRcbiZxdW90OykpOzxicj4NCiZuYnNwOyAmbmJzcDsg Jm5ic3A7cmV0dXJuIEVGSV9OT1RfRk9VTkQ7PGJyPg0KJm5ic3A7ICZuYnNwO308YnI+DQo8YnI+ DQpAQCAtNDY3LDMxICszNzMsMjUgQEAgQnVpbGRGaXRMb2FkYWJsZXNGdkhvYiAoPGJyPg0KJm5i c3A7fTxicj4NCjxicj4NCiZuYnNwOy8qKjxicj4NCi0mbmJzcDsgSXQgd2lsbCBidWlsZCBIT0Jz IGJhc2VkIG9uIGluZm9ybWF0aW9uIGZyb20gYm9vdGxvYWRlcnMuPGJyPg0KLSZuYnNwOyBAcGFy YW1baW5dJm5ic3A7IEJvb3Rsb2FkZXJQYXJhbWV0ZXImbmJzcDsgJm5ic3A7VGhlIHN0YXJ0aW5n IG1lbW9yeSBhZGRyZXNzIG9mIGJvb3Rsb2FkZXIgcGFyYW1ldGVyIGJsb2NrLjxicj4NCi0mbmJz cDsgQHBhcmFtW291dF0gRHhlRnYmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1RoZSBwb2ludGVyIHRvIHRoZSBEWEUgRlYgaW4gbWVt b3J5Ljxicj4NCi0mbmJzcDsgQHJldHZhbCBFRklfU1VDQ0VTUyZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBJZiBpdCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Ljxicj4NCi0mbmJzcDsgQHJldHZh bCBPdGhlcnMmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtJ ZiBpdCBmYWlsZWQgdG8gYnVpbGQgcmVxdWlyZWQgSE9Ccy48YnI+DQorICo8YnI+DQorJm5ic3A7 IENyZWF0ZSBuZXcgSE9CIGZvciBuZXcgSE9CIGxpc3Q8YnI+DQorPGJyPg0KKyZuYnNwOyBAcGFy YW1baW5dJm5ic3A7IEJvb3Rsb2FkZXJQYXJhbWV0ZXImbmJzcDsgVGhlIEhPQiB0byBiZSBhZGRl ZCBpbnRvIHRoZSBIT0IgbGlzdC48YnI+DQombmJzcDsqKi88YnI+DQotRUZJX1NUQVRVUzxicj4N Ci1CdWlsZEhvYnMgKDxicj4NCi0mbmJzcDsgSU4mbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwO0Jvb3Rsb2FkZXJQYXJhbWV0ZXIsPGJyPg0KLSZuYnNwOyBPVVQgRUZJX0ZJUk1X QVJFX1ZPTFVNRV9IRUFERVImbmJzcDsgKipEeGVGdjxicj4NCitWT0lEPGJyPg0KK0NyZWF0TmV3 SG9iRm9ySG9ibGlzdCAoPGJyPg0KKyZuYnNwOyBJTiBVSU5UTiZuYnNwOyBCb290bG9hZGVyUGFy YW1ldGVyPGJyPg0KJm5ic3A7ICZuYnNwOyk8YnI+DQombmJzcDt7PGJyPg0KLSZuYnNwOyBFRklf UEVJX0hPQl9QT0lOVEVSUyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgSG9iOzxi cj4NCi0mbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtNaW5pbWFs TmVlZGVkU2l6ZTs8YnI+DQotJm5ic3A7IEVGSV9QSFlTSUNBTF9BRERSRVNTJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBGcmVlTWVtb3J5Qm90dG9tOzxicj4NCi0mbmJzcDsgRUZJ X1BIWVNJQ0FMX0FERFJFU1MmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IEZyZWVN ZW1vcnlUb3A7PGJyPg0KLSZuYnNwOyBFRklfUEhZU0lDQUxfQUREUkVTUyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgTWVtb3J5Qm90dG9tOzxicj4NCi0mbmJzcDsgRUZJX1BIWVNJ Q0FMX0FERFJFU1MmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IE1lbW9yeVRvcDs8 YnI+DQotJm5ic3A7IEVGSV9IT0JfUkVTT1VSQ0VfREVTQ1JJUFRPUiZuYnNwOyAmbmJzcDsqUGhp dFJlc291cmNlSG9iOzxicj4NCi0mbmJzcDsgRUZJX0hPQl9SRVNPVVJDRV9ERVNDUklQVE9SJm5i c3A7ICZuYnNwOypSZXNvdXJjZUhvYjs8YnI+DQotJm5ic3A7IFVJTlQ4Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7Kkd1aWRIb2I7PGJyPg0KLSZuYnNwOyBFRklfSE9CX0ZJUk1XQVJF X1ZPTFVNRSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOypGdkhvYjs8YnI+DQotJm5ic3A7IFVO SVZFUlNBTF9QQVlMT0FEX0FDUElfVEFCTEUmbmJzcDsgKkFjcGlUYWJsZTs8YnI+DQotJm5ic3A7 IEFDUElfQk9BUkRfSU5GTyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsqQWNwaUJvYXJkSW5mbzs8YnI+DQotJm5ic3A7IEVGSV9IT0JfSEFORE9G Rl9JTkZPX1RBQkxFJm5ic3A7ICZuYnNwOyAqSG9iSW5mbzs8YnI+DQorJm5ic3A7IEVGSV9QRUlf SE9CX1BPSU5URVJTJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0hvYjs8YnI+DQor Jm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgTWluaW1hbE5lZWRlZFNpemU7 PGJyPg0KKyZuYnNwOyBFRklfUEhZU0lDQUxfQUREUkVTUyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDtGcmVlTWVtb3J5Qm90dG9tOzxicj4NCismbmJzcDsgRUZJX1BIWVNJQ0FMX0FE RFJFU1MmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RnJlZU1lbW9yeVRvcDs8YnI+ DQorJm5ic3A7IEVGSV9QSFlTSUNBTF9BRERSRVNTJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwO01lbW9yeUJvdHRvbTs8YnI+DQorJm5ic3A7IEVGSV9QSFlTSUNBTF9BRERSRVNTJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO01lbW9yeVRvcDs8YnI+DQorJm5ic3A7IEVG SV9IT0JfUkVTT1VSQ0VfREVTQ1JJUFRPUiZuYnNwOyAqUGhpdFJlc291cmNlSG9iOzxicj4NCism bmJzcDsgRUZJX0hPQl9SRVNPVVJDRV9ERVNDUklQVE9SJm5ic3A7ICpSZXNvdXJjZUhvYjs8YnI+ DQorJm5ic3A7IEVGSV9IT0JfSEFORE9GRl9JTkZPX1RBQkxFJm5ic3A7ICZuYnNwOypIb2JJbmZv Ozxicj4NCjxicj4NCiZuYnNwOyAmbmJzcDtIb2IuUmF3Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDs9IChVSU5UOCAqKUJvb3Rsb2FkZXJQYXJhbWV0ZXI7PGJyPg0KJm5i c3A7ICZuYnNwO01pbmltYWxOZWVkZWRTaXplID0gRml4ZWRQY2RHZXQzMiAoUGNkU3lzdGVtTWVt b3J5VWVmaVJlZ2lvblNpemUpOzxicj4NCkBAIC01MTIsNyArNDEyLDcgQEAgQnVpbGRIb2JzICg8 YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOy8vPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDtSZXNv dXJjZUhvYiA9IEZpbmRBbm90aGVySGlnaGVzdEJlbG93NEdSZXNvdXJjZURlc2NyaXB0b3IgKEhv Yi5SYXcsIE1pbmltYWxOZWVkZWRTaXplLCBOVUxMKTs8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNw O2lmIChSZXNvdXJjZUhvYiA9PSBOVUxMKSB7PGJyPg0KLSZuYnNwOyAmbmJzcDsgJm5ic3A7IHJl dHVybiBFRklfTk9UX0ZPVU5EOzxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyByZXR1cm47PGJy Pg0KJm5ic3A7ICZuYnNwOyAmbmJzcDt9PGJyPg0KPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDtN ZW1vcnlCb3R0b20mbmJzcDsgJm5ic3A7ICZuYnNwOz0gUmVzb3VyY2VIb2ItJmd0O1BoeXNpY2Fs U3RhcnQgKyBSZXNvdXJjZUhvYi0mZ3Q7UmVzb3VyY2VMZW5ndGggLSBNaW5pbWFsTmVlZGVkU2l6 ZTs8YnI+DQpAQCAtNTQyLDcgKzQ0Miw3IEBAIEJ1aWxkSG9icyAoPGJyPg0KJm5ic3A7ICZuYnNw OyAmbmJzcDsvLzxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7UmVzb3VyY2VIb2IgPSBGaW5kQW5v dGhlckhpZ2hlc3RCZWxvdzRHUmVzb3VyY2VEZXNjcmlwdG9yIChIb2IuUmF3LCBNaW5pbWFsTmVl ZGVkU2l6ZSwgUGhpdFJlc291cmNlSG9iKTs8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwO2lmIChS ZXNvdXJjZUhvYiA9PSBOVUxMKSB7PGJyPg0KLSZuYnNwOyAmbmJzcDsgJm5ic3A7IHJldHVybiBF RklfTk9UX0ZPVU5EOzxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyByZXR1cm47PGJyPg0KJm5i c3A7ICZuYnNwOyAmbmJzcDt9PGJyPg0KPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDtNZW1vcnlC b3R0b20mbmJzcDsgJm5ic3A7ICZuYnNwOz0gUmVzb3VyY2VIb2ItJmd0O1BoeXNpY2FsU3RhcnQg KyBSZXNvdXJjZUhvYi0mZ3Q7UmVzb3VyY2VMZW5ndGggLSBNaW5pbWFsTmVlZGVkU2l6ZTs8YnI+ DQpAQCAtNTUzLDE0ICs0NTMsNyBAQCBCdWlsZEhvYnMgKDxicj4NCjxicj4NCiZuYnNwOyAmbmJz cDtIb2JJbmZvJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs9IEhvYkNv bnN0cnVjdG9yICgoVk9JRCAqKShVSU5UTilNZW1vcnlCb3R0b20sIChWT0lEICopKFVJTlROKU1l bW9yeVRvcCwgKFZPSUQgKikoVUlOVE4pRnJlZU1lbW9yeUJvdHRvbSwgKFZPSUQgKikoVUlOVE4p RnJlZU1lbW9yeVRvcCk7PGJyPg0KJm5ic3A7ICZuYnNwO0hvYkluZm8tJmd0O0Jvb3RNb2RlID0g SG9iLkhhbmRvZmZJbmZvcm1hdGlvblRhYmxlLSZndDtCb290TW9kZTs8YnI+DQotJm5ic3A7IC8v PGJyPg0KLSZuYnNwOyAvLyBGcm9tIG5vdyBvbiwgbUhvYkxpc3Qgd2lsbCBwb2ludCB0byB0aGUg bmV3IEhvYiByYW5nZS48YnI+DQotJm5ic3A7IC8vPGJyPg0KPGJyPg0KLSZuYnNwOyAvLzxicj4N Ci0mbmJzcDsgLy8gQ3JlYXRlIGFuIGVtcHR5IEZ2SG9iIGZvciB0aGUgRFhFIEZWIHRoYXQgY29u dGFpbnMgRFhFIGNvcmUuPGJyPg0KLSZuYnNwOyAvLzxicj4NCi0mbmJzcDsgQnVpbGRGdkhvYiAo KEVGSV9QSFlTSUNBTF9BRERSRVNTKTAsIDApOzxicj4NCiZuYnNwOyAmbmJzcDsvLzxicj4NCiZu YnNwOyAmbmJzcDsvLyBTaW5jZSBwYXlsb2FkIGNyZWF0ZWQgbmV3IEhvYiwgbW92ZSBhbGwgaG9i cyBleGNlcHQgUEhJVCBmcm9tIGJvb3QgbG9hZGVyIGhvYiBsaXN0Ljxicj4NCiZuYnNwOyAmbmJz cDsvLzxicj4NCkBAIC01NzMsNyArNDY2LDU3IEBAIEJ1aWxkSG9icyAoPGJyPg0KJm5ic3A7ICZu YnNwOyAmbmJzcDtIb2IuUmF3ID0gR0VUX05FWFRfSE9CIChIb2IpOzxicj4NCiZuYnNwOyAmbmJz cDt9PGJyPg0KPGJyPg0KLSZuYnNwOyBCdWlsZEZpdExvYWRhYmxlc0Z2SG9iIChEeGVGdik7PGJy Pg0KKyZuYnNwOyByZXR1cm47PGJyPg0KK308YnI+DQorPGJyPg0KKy8qKjxicj4NCismbmJzcDsg SXQgd2lsbCBidWlsZCBIT0JzIGJhc2VkIG9uIGluZm9ybWF0aW9uIGZyb20gYm9vdGxvYWRlcnMu PGJyPg0KKyZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IE5ld0ZkdEJhc2UmbmJzcDsgJm5ic3A7ICZu YnNwO1RoZSBwb2ludGVyIHRvIE5ldyBGZHRCYXNlLjxicj4NCismbmJzcDsgQHBhcmFtW291dF0g RHhlRnYmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFRoZSBwb2ludGVyIHRvIHRo ZSBEWEUgRlYgaW4gbWVtb3J5Ljxicj4NCismbmJzcDsgQHJldHZhbCBFRklfU1VDQ0VTUyZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBJZiBpdCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Ljxicj4N CismbmJzcDsgQHJldHZhbCBPdGhlcnMmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDtJZiBpdCBmYWlsZWQgdG8gYnVpbGQgcmVxdWlyZWQgSE9Ccy48YnI+DQor KiovPGJyPg0KK0VGSV9TVEFUVVM8YnI+DQorRml0QnVpbGRIb2JzICg8YnI+DQorJm5ic3A7IElO Jm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtOZXdGZHRCYXNlLDxicj4NCism bmJzcDsgT1VUIEVGSV9GSVJNV0FSRV9WT0xVTUVfSEVBREVSJm5ic3A7ICoqRHhlRnY8YnI+DQor Jm5ic3A7ICk8YnI+DQorezxicj4NCismbmJzcDsgVUlOVDgmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgKkd1aWRIb2I7PGJyPg0KKyZuYnNwOyBVSU5UMzImbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDtGZHRTaXplOzxicj4NCismbmJzcDsgRUZJX0hPQl9GSVJNV0FSRV9W T0xVTUUmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKkZ2SG9iOzxicj4NCismbmJzcDsgVU5J VkVSU0FMX1BBWUxPQURfQUNQSV9UQUJMRSZuYnNwOyAmbmJzcDsqQWNwaVRhYmxlOzxicj4NCism bmJzcDsgQUNQSV9CT0FSRF9JTkZPJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAqQWNwaUJvYXJkSW5mbzs8YnI+DQorJm5ic3A7IFVOSVZFUlNB TF9QQVlMT0FEX0RFVklDRV9UUkVFJm5ic3A7ICpGZHQ7PGJyPg0KKzxicj4NCismbmJzcDsgaWYg KEZpeGVkUGNkR2V0Qm9vbCAoUGNkSGFuZE9mZkZkdEVuYWJsZSkpIHs8YnI+DQorJm5ic3A7ICZu YnNwOyAvLzxicj4NCismbmJzcDsgJm5ic3A7IC8vIEJhY2sgdXAgRkRUIGluIFJlc2VydmVkIG1l bW9yeSByZWdpb248YnI+DQorJm5ic3A7ICZuYnNwOyAvLzxicj4NCis8YnI+DQorJm5ic3A7ICZu YnNwOyBHdWlkSG9iID0gR2V0Rmlyc3RHdWlkSG9iICgmYW1wO2dVbml2ZXJzYWxQYXlsb2FkRGV2 aWNlVHJlZUd1aWQpOzxicj4NCismbmJzcDsgJm5ic3A7IGlmIChHdWlkSG9iICE9IE5VTEwpIHs8 YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgRmR0ID0mbmJzcDsgKFVOSVZFUlNBTF9QQVlMT0FE X0RFVklDRV9UUkVFICopR0VUX0dVSURfSE9CX0RBVEEgKEd1aWRIb2IpOzxicj4NCismbmJzcDsg Jm5ic3A7ICZuYnNwOyBpZiAoRmR0ICE9IE5VTEwpIHs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IERFQlVHICgoREVCVUdfSU5GTywgJnF1b3Q7VXBkYXRlIEZEVCBiYXNlIHRvIHJl c2VydmVkIG1lbW9yeVxuJnF1b3Q7KSk7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBGZHRTaXplID0gNCAqIEVGSV9QQUdFX1NJWkU7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBDb3B5TWVtICgoVk9JRCAqKU5ld0ZkdEJhc2UsIChWT0lEICopKEZkdC0mZ3Q7RGV2 aWNlVHJlZUFkZHJlc3MpLCBGZHRTaXplKTs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IEZkdC0mZ3Q7RGV2aWNlVHJlZUFkZHJlc3MgPSBOZXdGZHRCYXNlOzxicj4NCismbmJzcDsg Jm5ic3A7ICZuYnNwOyB9PGJyPg0KKyZuYnNwOyAmbmJzcDsgfTxicj4NCismbmJzcDsgfTxicj4N Cis8YnI+DQorJm5ic3A7IC8vPGJyPg0KKyZuYnNwOyAvLyBUbyBjcmVhdGUgTWVtb3J5IFR5cGUg SW5mb3JtYXRpb24gSE9CPGJyPg0KKyZuYnNwOyAvLzxicj4NCismbmJzcDsgR3VpZEhvYiA9IEdl dEZpcnN0R3VpZEhvYiAoJmFtcDtnRWZpTWVtb3J5VHlwZUluZm9ybWF0aW9uR3VpZCk7PGJyPg0K KyZuYnNwOyBpZiAoR3VpZEhvYiA9PSBOVUxMKSB7PGJyPg0KKyZuYnNwOyAmbmJzcDsgQnVpbGRH dWlkRGF0YUhvYiAoPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZhbXA7Z0VmaU1lbW9yeVR5 cGVJbmZvcm1hdGlvbkd1aWQsPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7IG1EZWZhdWx0TWVt b3J5VHlwZUluZm9ybWF0aW9uLDxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyBzaXplb2YgKG1E ZWZhdWx0TWVtb3J5VHlwZUluZm9ybWF0aW9uKTxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAp Ozxicj4NCismbmJzcDsgfTxicj4NCjxicj4NCiZuYnNwOyAmbmJzcDsvLzxicj4NCiZuYnNwOyAm bmJzcDsvLyBDcmVhdGUgZ3VpZCBob2IgZm9yIGFjcGkgYm9hcmQgaW5mb3JtYXRpb248YnI+DQpA QCAtNTg4LDYgKzUzMSwxMiBAQCBCdWlsZEhvYnMgKDxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7 fTxicj4NCiZuYnNwOyAmbmJzcDt9PGJyPg0KPGJyPg0KKyZuYnNwOyAvLzxicj4NCismbmJzcDsg Ly8gQ3JlYXRlIGFuIGVtcHR5IEZ2SG9iIGZvciB0aGUgRFhFIEZWIHRoYXQgY29udGFpbnMgRFhF IGNvcmUuPGJyPg0KKyZuYnNwOyAvLzxicj4NCismbmJzcDsgQnVpbGRGdkhvYiAoKEVGSV9QSFlT SUNBTF9BRERSRVNTKTAsIDApOzxicj4NCis8YnI+DQorJm5ic3A7IEJ1aWxkRml0TG9hZGFibGVz RnZIb2IgKER4ZUZ2KTs8YnI+DQombmJzcDsgJm5ic3A7Ly88YnI+DQombmJzcDsgJm5ic3A7Ly8g VXBkYXRlIERYRSBGViBpbmZvcm1hdGlvbiB0byBmaXJzdCBmdiBob2IgaW4gdGhlIGhvYiBsaXN0 LCB3aGljaDxicj4NCiZuYnNwOyAmbmJzcDsvLyBpcyB0aGUgZW1wdHkgRnZIb2IgY3JlYXRlZCBi ZWZvcmUuPGJyPg0KQEAgLTYwMCwxMiArNTQ5LDEyIEBAIEJ1aWxkSG9icyAoPGJyPg0KPGJyPg0K Jm5ic3A7LyoqPGJyPg0KJm5ic3A7ICZuYnNwO0VudHJ5IHBvaW50IHRvIHRoZSBDIGxhbmd1YWdl IHBoYXNlIG9mIFVFRkkgcGF5bG9hZC48YnI+DQotJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgJm5i c3A7Qm9vdGxvYWRlclBhcmFtZXRlciZuYnNwOyAmbmJzcDsgVGhlIHN0YXJ0aW5nIGFkZHJlc3Mg b2YgYm9vdGxvYWRlciBwYXJhbWV0ZXIgYmxvY2suPGJyPg0KKyZuYnNwOyBAcGFyYW1baW5dJm5i c3A7ICZuYnNwO0Jvb3Rsb2FkZXJQYXJhbWV0ZXImbmJzcDsgVGhlIHN0YXJ0aW5nIGFkZHJlc3Mg b2YgRkRUIC48YnI+DQombmJzcDsgJm5ic3A7QHJldHZhbCZuYnNwOyAmbmJzcDsgJm5ic3A7IEl0 IHdpbGwgbm90IHJldHVybiBpZiBTVUNDRVNTLCBhbmQgcmV0dXJuIGVycm9yIHdoZW4gcGFzc2lu ZyBib290bG9hZGVyIHBhcmFtZXRlci48YnI+DQombmJzcDsqKi88YnI+DQombmJzcDtFRklfU1RB VFVTPGJyPg0KJm5ic3A7RUZJQVBJPGJyPg0KLV9Nb2R1bGVFbnRyeVBvaW50ICg8YnI+DQorRml0 VXBsRW50cnlQb2ludCAoPGJyPg0KJm5ic3A7ICZuYnNwO0lOIFVJTlROJm5ic3A7IEJvb3Rsb2Fk ZXJQYXJhbWV0ZXI8YnI+DQombmJzcDsgJm5ic3A7KTxicj4NCiZuYnNwO3s8YnI+DQpAQCAtNjEz LDE0ICs1NjIsNDYgQEAgX01vZHVsZUVudHJ5UG9pbnQgKDxicj4NCiZuYnNwOyAmbmJzcDtQSFlT SUNBTF9BRERSRVNTJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgRHhl Q29yZUVudHJ5UG9pbnQ7PGJyPg0KJm5ic3A7ICZuYnNwO0VGSV9QRUlfSE9CX1BPSU5URVJTJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IEhvYjs8YnI+DQombmJzcDsgJm5ic3A7RUZJX0ZJUk1X QVJFX1ZPTFVNRV9IRUFERVImbmJzcDsgKkR4ZUZ2Ozxicj4NCismbmJzcDsgUEhZU0lDQUxfQURE UkVTUyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IEhvYkxpc3RQdHI7 PGJyPg0KKyZuYnNwOyBWT0lEJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKkZkdEJhc2U7PGJy Pg0KKyZuYnNwOyBWT0lEJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKkZkdEJhc2VSZXN2ZDs8 YnI+DQo8YnI+DQotJm5ic3A7IG1Ib2JMaXN0ID0gKFZPSUQgKilCb290bG9hZGVyUGFyYW1ldGVy Ozxicj4NCi0mbmJzcDsgRHhlRnYmbmJzcDsgJm5ic3A7ID0gTlVMTDs8YnI+DQorJm5ic3A7IGlm IChGaXhlZFBjZEdldEJvb2wgKFBjZEhhbmRPZmZGZHRFbmFibGUpKSB7PGJyPg0KKyZuYnNwOyAm bmJzcDsgbUhvYkxpc3QgPSAoVk9JRCAqKU5VTEw7PGJyPg0KKyZuYnNwOyB9IGVsc2Ugezxicj4N CismbmJzcDsgJm5ic3A7IG1Ib2JMaXN0ID0gKFZPSUQgKilCb290bG9hZGVyUGFyYW1ldGVyOzxi cj4NCismbmJzcDsgfTxicj4NCis8YnI+DQorJm5ic3A7IER4ZUZ2ID0gTlVMTDs8YnI+DQombmJz cDsgJm5ic3A7Ly8gQ2FsbCBjb25zdHJ1Y3RvciBmb3IgYWxsIGxpYnJhcmllczxicj4NCiZuYnNw OyAmbmJzcDtQcm9jZXNzTGlicmFyeUNvbnN0cnVjdG9yTGlzdCAoKTs8YnI+DQo8YnI+DQombmJz cDsgJm5ic3A7REVCVUcgKChERUJVR19JTkZPLCAmcXVvdDtFbnRlcmluZyBVbml2ZXJzYWwgUGF5 bG9hZC4uLlxuJnF1b3Q7KSk7PGJyPg0KJm5ic3A7ICZuYnNwO0RFQlVHICgoREVCVUdfSU5GTywg JnF1b3Q7c2l6ZW9mKFVJTlROKSA9IDB4JXhcbiZxdW90Oywgc2l6ZW9mIChVSU5UTikpKTs8YnI+ DQorJm5ic3A7IERFQlVHICgoREVCVUdfSU5GTywgJnF1b3Q7Qm9vdGxvYWRlclBhcmFtZXRlciA9 IDB4JXhcbiZxdW90OywgQm9vdGxvYWRlclBhcmFtZXRlcikpOzxicj4NCis8YnI+DQorJm5ic3A7 IERFQlVHICgoREVCVUdfSU5GTywgJnF1b3Q7U3RhcnQgaW5pdCBIb2JzLi4uXG4mcXVvdDspKTs8 YnI+DQorJm5ic3A7IEhvYkxpc3RQdHIgPSBVcGxJbml0SG9iICgoVk9JRCAqKUJvb3Rsb2FkZXJQ YXJhbWV0ZXIpOzxicj4NCis8YnI+DQorJm5ic3A7IC8vPGJyPg0KKyZuYnNwOyAvLyBGb3VuZCBo b2IgbGlzdCBub2RlPGJyPg0KKyZuYnNwOyAvLzxicj4NCismbmJzcDsgaWYgKEhvYkxpc3RQdHIg IT0gMCkgezxicj4NCismbmJzcDsgJm5ic3A7IEZkdEJhc2UgPSAoVk9JRCAqKUJvb3Rsb2FkZXJQ YXJhbWV0ZXI7PGJyPg0KKyZuYnNwOyAmbmJzcDsgaWYgKEZkdENoZWNrSGVhZGVyIChGZHRCYXNl KSA9PSAwKSB7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7IEN1c3RvbUZkdE5vZGVQYXJzZXIg KChWT0lEICopRmR0QmFzZSwgKFZPSUQgKilIb2JMaXN0UHRyKTs8YnI+DQorJm5ic3A7ICZuYnNw OyB9IGVsc2Ugezxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyBDcmVhdE5ld0hvYkZvckhvYmxp c3QgKEJvb3Rsb2FkZXJQYXJhbWV0ZXIpOzxicj4NCismbmJzcDsgJm5ic3A7IH08YnI+DQorPGJy Pg0KKyZuYnNwOyAmbmJzcDsgRmR0QmFzZVJlc3ZkID0gUGF5bG9hZEFsbG9jYXRlUGFnZXMgKDQs IEVmaVJlc2VydmVkTWVtb3J5VHlwZSk7PGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IC8vIEJ1 aWxkIEhPQiBiYXNlZCBvbiBpbmZvcm1hdGlvbiBmcm9tIEJvb3Rsb2FkZXI8YnI+DQorJm5ic3A7 ICZuYnNwOyBTdGF0dXMgPSBGaXRCdWlsZEhvYnMgKChVSU5UTilGZHRCYXNlUmVzdmQsICZhbXA7 RHhlRnYpOzxicj4NCismbmJzcDsgfTxicj4NCis8YnI+DQorJm5ic3A7IC8vIENhbGwgY29uc3Ry dWN0b3IgZm9yIGFsbCBsaWJyYXJpZXMgYWdhaW4gc2luY2UgaG9icyB3ZXJlIGJ1aWx0PGJyPg0K KyZuYnNwOyBQcm9jZXNzTGlicmFyeUNvbnN0cnVjdG9yTGlzdCAoKTs8YnI+DQo8YnI+DQombmJz cDsgJm5ic3A7REVCVUdfQ09ERSAoPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsvLzxicj4NCkBA IC02MjksMjMgKzYxMCwxMCBAQCBfTW9kdWxlRW50cnlQb2ludCAoPGJyPg0KJm5ic3A7ICZuYnNw OyAmbmJzcDtQcmludEhvYiAobUhvYkxpc3QpOzxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7KTs8 YnI+DQo8YnI+DQotJm5ic3A7IC8vIEluaXRpYWxpemUgZmxvYXRpbmcgcG9pbnQgb3BlcmF0aW5n IGVudmlyb25tZW50IHRvIGJlIGNvbXBsaWFudCB3aXRoIFVFRkkgc3BlYy48YnI+DQotJm5ic3A7 IEluaXRpYWxpemVGbG9hdGluZ1BvaW50VW5pdHMgKCk7PGJyPg0KLTxicj4NCi0mbmJzcDsgLy8g QnVpbGQgSE9CIGJhc2VkIG9uIGluZm9ybWF0aW9uIGZyb20gQm9vdGxvYWRlcjxicj4NCi0mbmJz cDsgU3RhdHVzID0gQnVpbGRIb2JzIChCb290bG9hZGVyUGFyYW1ldGVyLCAmYW1wO0R4ZUZ2KTs8 YnI+DQotJm5ic3A7IEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7PGJyPg0KLTxicj4NCiZuYnNw OyAmbmJzcDtGaXhVcFBjZERhdGFiYXNlIChEeGVGdik7PGJyPg0KJm5ic3A7ICZuYnNwO1N0YXR1 cyA9IFVuaXZlcnNhbExvYWREeGVDb3JlIChEeGVGdiwgJmFtcDtEeGVDb3JlRW50cnlQb2ludCk7 PGJyPg0KJm5ic3A7ICZuYnNwO0FTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7PGJyPg0KPGJyPg0K LSZuYnNwOyAvLzxicj4NCi0mbmJzcDsgLy8gTWFzayBvZmYgYWxsIGxlZ2FjeSA4MjU5IGludGVy cnVwdCBzb3VyY2VzPGJyPg0KLSZuYnNwOyAvLzxicj4NCi0mbmJzcDsgSW9Xcml0ZTggKExFR0FD WV84MjU5X01BU0tfUkVHSVNURVJfTUFTVEVSLCAweEZGKTs8YnI+DQotJm5ic3A7IElvV3JpdGU4 IChMRUdBQ1lfODI1OV9NQVNLX1JFR0lTVEVSX1NMQVZFLCAweEZGKTs8YnI+DQotPGJyPg0KJm5i c3A7ICZuYnNwO0hvYi5IYW5kb2ZmSW5mb3JtYXRpb25UYWJsZSA9IChFRklfSE9CX0hBTkRPRkZf SU5GT19UQUJMRSAqKUdldEZpcnN0SG9iIChFRklfSE9CX1RZUEVfSEFORE9GRik7PGJyPg0KJm5i c3A7ICZuYnNwO0hhbmRPZmZUb0R4ZUNvcmUgKER4ZUNvcmVFbnRyeVBvaW50LCBIb2IpOzxicj4N Cjxicj4NCmRpZmYgLS1naXQgYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L0lhMzIv RHhlTG9hZEZ1bmMuYyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvSWEzMi9EeGVM b2FkRnVuYy5jPGJyPg0KaW5kZXggNjFhOWYwMWVjOWU3Li5jZjljMDNhOWE4ZTkgMTAwNjQ0PGJy Pg0KLS0tIGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9JYTMyL0R4ZUxvYWRGdW5j LmM8YnI+DQorKysgYi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L0lhMzIvRHhlTG9h ZEZ1bmMuYzxicj4NCkBAIC0xNSwxMiArMTUsMTUgQEAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQ8YnI+DQombmJzcDsjaW5jbHVkZSAmbHQ7TGlicmFyeS9NZW1v cnlBbGxvY2F0aW9uTGliLmgmZ3Q7PGJyPg0KJm5ic3A7I2luY2x1ZGUgJmx0O0xpYnJhcnkvUGNk TGliLmgmZ3Q7PGJyPg0KJm5ic3A7I2luY2x1ZGUgJmx0O0xpYnJhcnkvSG9iTGliLmgmZ3Q7PGJy Pg0KKyNpbmNsdWRlICZsdDtMaWJyYXJ5L0ZkdExpYi5oJmd0Ozxicj4NCiZuYnNwOyNpbmNsdWRl ICZxdW90O1ZpcnR1YWxNZW1vcnkuaCZxdW90Ozxicj4NCiZuYnNwOyNpbmNsdWRlICZxdW90O1Vl ZmlQYXlsb2FkRW50cnkuaCZxdW90Ozxicj4NCjxicj4NCiZuYnNwOyNkZWZpbmUgU1RBQ0tfU0la RSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzB4MjAwMDA8YnI+DQombmJzcDsjZGVmaW5lIElE VF9FTlRSWV9DT1VOVCZuYnNwOyAzMjxicj4NCjxicj4NCitleHRlcm4gVk9JRCZuYnNwOyAqbUhv Ykxpc3Q7PGJyPg0KKzxicj4NCiZuYnNwO3R5cGVkZWYgc3RydWN0IF9YNjRfSURUX1RBQkxFIHs8 YnI+DQombmJzcDsgJm5ic3A7Ly88YnI+DQombmJzcDsgJm5ic3A7Ly8gUmVzZXJ2ZWQgNCBieXRl cyBwcmVjZWRpbmcgUGVpU2VydmljZSBhbmQgSWR0VGFibGUsPGJyPg0KQEAgLTI2OCw2ICsyNzEs MTUgQEAgSGFuZE9mZlRvRHhlQ29yZSAoPGJyPg0KJm5ic3A7ICZuYnNwO1VJTlQzMiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwO0luZGV4Ozxicj4NCiZuYnNwOyAmbmJzcDtYNjRfSURUX1RBQkxFJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKklkdFRhYmxlRm9yWDY0Ozxicj4NCjxicj4NCism bmJzcDsgLy8gSW5pdGlhbGl6ZSBmbG9hdGluZyBwb2ludCBvcGVyYXRpbmcgZW52aXJvbm1lbnQg dG8gYmUgY29tcGxpYW50IHdpdGggVUVGSSBzcGVjLjxicj4NCismbmJzcDsgSW5pdGlhbGl6ZUZs b2F0aW5nUG9pbnRVbml0cyAoKTs8YnI+DQorPGJyPg0KKyZuYnNwOyAvLzxicj4NCismbmJzcDsg Ly8gTWFzayBvZmYgYWxsIGxlZ2FjeSA4MjU5IGludGVycnVwdCBzb3VyY2VzPGJyPg0KKyZuYnNw OyAvLzxicj4NCismbmJzcDsgSW9Xcml0ZTggKExFR0FDWV84MjU5X01BU0tfUkVHSVNURVJfTUFT VEVSLCAweEZGKTs8YnI+DQorJm5ic3A7IElvV3JpdGU4IChMRUdBQ1lfODI1OV9NQVNLX1JFR0lT VEVSX1NMQVZFLCAweEZGKTs8YnI+DQorPGJyPg0KJm5ic3A7ICZuYnNwOy8vPGJyPg0KJm5ic3A7 ICZuYnNwOy8vIENsZWFyIHBhZ2UgMCBhbmQgbWFyayBpdCBhcyBhbGxvY2F0ZWQgaWYgTlVMTCBw b2ludGVyIGRldGVjdGlvbiBpcyBlbmFibGVkLjxicj4NCiZuYnNwOyAmbmJzcDsvLzxicj4NCmRp ZmYgLS1naXQgYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L0lhMzIvRHhlTG9hZEZ1 bmMuYyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvSWEzMi9EeGVMb2FkRnVuY0Zp dC5jPGJyPg0Kc2ltaWxhcml0eSBpbmRleCA5MCU8YnI+DQpjb3B5IGZyb20gVWVmaVBheWxvYWRQ a2cvVWVmaVBheWxvYWRFbnRyeS9JYTMyL0R4ZUxvYWRGdW5jLmM8YnI+DQpjb3B5IHRvIFVlZmlQ YXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvSWEzMi9EeGVMb2FkRnVuY0ZpdC5jPGJyPg0KaW5k ZXggNjFhOWYwMWVjOWU3Li40MzlkNWJlZTBiOGMgMTAwNjQ0PGJyPg0KLS0tIGEvVWVmaVBheWxv YWRQa2cvVWVmaVBheWxvYWRFbnRyeS9JYTMyL0R4ZUxvYWRGdW5jLmM8YnI+DQorKysgYi9VZWZp UGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L0lhMzIvRHhlTG9hZEZ1bmNGaXQuYzxicj4NCkBA IC0xLDEwICsxLDggQEA8YnI+DQombmJzcDsvKiogQGZpbGU8YnI+DQombmJzcDsgJm5ic3A7SWEz Mi1zcGVjaWZpYyBmdW5jdGlvbmFsaXR5IGZvciBEeGVMb2FkLjxicj4NCjxicj4NCi1Db3B5cmln aHQgKGMpIDIwMDYgLSAyMDIwLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZC4mbHQ7QlImZ3Q7PGJyPg0KLUNvcHlyaWdodCAoYykgMjAxNywgQU1EIEluY29ycG9yYXRlZC4g QWxsIHJpZ2h0cyByZXNlcnZlZC4mbHQ7QlImZ3Q7PGJyPg0KLTxicj4NCi1TUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudDxicj4NCismbmJzcDsgQ29weXJpZ2h0IChj KSAyMDI0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4mbHQ7QlImZ3Q7 PGJyPg0KKyZuYnNwOyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dDxicj4NCjxicj4NCiZuYnNwOyoqLzxicj4NCjxicj4NCkBAIC0xNSwxMiArMTMsMTUgQEAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQ8YnI+DQombmJzcDsjaW5j bHVkZSAmbHQ7TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmgmZ3Q7PGJyPg0KJm5ic3A7I2lu Y2x1ZGUgJmx0O0xpYnJhcnkvUGNkTGliLmgmZ3Q7PGJyPg0KJm5ic3A7I2luY2x1ZGUgJmx0O0xp YnJhcnkvSG9iTGliLmgmZ3Q7PGJyPg0KKyNpbmNsdWRlICZsdDtMaWJyYXJ5L0ZkdExpYi5oJmd0 Ozxicj4NCiZuYnNwOyNpbmNsdWRlICZxdW90O1ZpcnR1YWxNZW1vcnkuaCZxdW90Ozxicj4NCiZu YnNwOyNpbmNsdWRlICZxdW90O1VlZmlQYXlsb2FkRW50cnkuaCZxdW90Ozxicj4NCjxicj4NCiZu YnNwOyNkZWZpbmUgU1RBQ0tfU0laRSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzB4MjAwMDA8 YnI+DQombmJzcDsjZGVmaW5lIElEVF9FTlRSWV9DT1VOVCZuYnNwOyAzMjxicj4NCjxicj4NCitl eHRlcm4gVk9JRCZuYnNwOyAqbUhvYkxpc3Q7PGJyPg0KKzxicj4NCiZuYnNwO3R5cGVkZWYgc3Ry dWN0IF9YNjRfSURUX1RBQkxFIHs8YnI+DQombmJzcDsgJm5ic3A7Ly88YnI+DQombmJzcDsgJm5i c3A7Ly8gUmVzZXJ2ZWQgNCBieXRlcyBwcmVjZWRpbmcgUGVpU2VydmljZSBhbmQgSWR0VGFibGUs PGJyPg0KQEAgLTI2OCw2ICsyNjksMTUgQEAgSGFuZE9mZlRvRHhlQ29yZSAoPGJyPg0KJm5ic3A7 ICZuYnNwO1VJTlQzMiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0luZGV4Ozxicj4NCiZuYnNwOyAmbmJzcDtYNjRfSURU X1RBQkxFJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKklkdFRhYmxl Rm9yWDY0Ozxicj4NCjxicj4NCismbmJzcDsgLy8gSW5pdGlhbGl6ZSBmbG9hdGluZyBwb2ludCBv cGVyYXRpbmcgZW52aXJvbm1lbnQgdG8gYmUgY29tcGxpYW50IHdpdGggVUVGSSBzcGVjLjxicj4N CismbmJzcDsgSW5pdGlhbGl6ZUZsb2F0aW5nUG9pbnRVbml0cyAoKTs8YnI+DQorPGJyPg0KKyZu YnNwOyAvLzxicj4NCismbmJzcDsgLy8gTWFzayBvZmYgYWxsIGxlZ2FjeSA4MjU5IGludGVycnVw dCBzb3VyY2VzPGJyPg0KKyZuYnNwOyAvLzxicj4NCismbmJzcDsgSW9Xcml0ZTggKExFR0FDWV84 MjU5X01BU0tfUkVHSVNURVJfTUFTVEVSLCAweEZGKTs8YnI+DQorJm5ic3A7IElvV3JpdGU4IChM RUdBQ1lfODI1OV9NQVNLX1JFR0lTVEVSX1NMQVZFLCAweEZGKTs8YnI+DQorPGJyPg0KJm5ic3A7 ICZuYnNwOy8vPGJyPg0KJm5ic3A7ICZuYnNwOy8vIENsZWFyIHBhZ2UgMCBhbmQgbWFyayBpdCBh cyBhbGxvY2F0ZWQgaWYgTlVMTCBwb2ludGVyIGRldGVjdGlvbiBpcyBlbmFibGVkLjxicj4NCiZu YnNwOyAmbmJzcDsvLzxicj4NCkBAIC0zNzksMyArMzg5LDE3IEBAIEhhbmRPZmZUb0R4ZUNvcmUg KDxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7Q3B1RGVhZExvb3AgKCk7PGJyPg0KJm5ic3A7ICZu YnNwO308YnI+DQombmJzcDt9PGJyPg0KKzxicj4NCisvKio8YnI+DQorJm5ic3A7IEVudHJ5IHBv aW50IHRvIHRoZSBDIGxhbmd1YWdlIHBoYXNlIG9mIFVFRkkgcGF5bG9hZC48YnI+DQorJm5ic3A7 IEBwYXJhbVtpbl0mbmJzcDsgJm5ic3A7Qm9vdGxvYWRlclBhcmFtZXRlciZuYnNwOyAmbmJzcDsg VGhlIHN0YXJ0aW5nIGFkZHJlc3Mgb2YgYm9vdGxvYWRlciBwYXJhbWV0ZXIgYmxvY2suPGJyPg0K KyZuYnNwOyBAcmV0dmFsJm5ic3A7ICZuYnNwOyAmbmJzcDsgSXQgd2lsbCBub3QgcmV0dXJuIGlm IFNVQ0NFU1MsIGFuZCByZXR1cm4gZXJyb3Igd2hlbiBwYXNzaW5nIGJvb3Rsb2FkZXIgcGFyYW1l dGVyLjxicj4NCisqKi88YnI+DQorRUZJX1NUQVRVUzxicj4NCitFRklBUEk8YnI+DQorX01vZHVs ZUVudHJ5UG9pbnQgKDxicj4NCismbmJzcDsgSU4gVUlOVE4mbmJzcDsgQm9vdGxvYWRlclBhcmFt ZXRlcjxicj4NCismbmJzcDsgKTxicj4NCit7PGJyPg0KKyZuYnNwOyByZXR1cm4gRml0VXBsRW50 cnlQb2ludCAoQm9vdGxvYWRlclBhcmFtZXRlcik7PGJyPg0KK308YnI+DQpkaWZmIC0tZ2l0IGEv VWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9NZW1vcnlBbGxvY2F0aW9uLmMgYi9VZWZp UGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L01lbW9yeUFsbG9jYXRpb24uYzxicj4NCmluZGV4 IDgzOTM2YWUyNmU2OC4uMzZlZGNhODFmOTk3IDEwMDY0NDxicj4NCi0tLSBhL1VlZmlQYXlsb2Fk UGtnL1VlZmlQYXlsb2FkRW50cnkvTWVtb3J5QWxsb2NhdGlvbi5jPGJyPg0KKysrIGIvVWVmaVBh eWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9NZW1vcnlBbGxvY2F0aW9uLmM8YnI+DQpAQCAtMTAs NiArMTAsNTYgQEA8YnI+DQo8YnI+DQombmJzcDsjaW5jbHVkZSAmcXVvdDtVZWZpUGF5bG9hZEVu dHJ5LmgmcXVvdDs8YnI+DQo8YnI+DQorLyoqPGJyPg0KKyZuYnNwOyBBbGxvY2F0ZXMgb25lIG9y IG1vcmUgcGFnZXMgb2YgdHlwZSBFZmlCb290U2VydmljZXNEYXRhLjxicj4NCis8YnI+DQorJm5i c3A7IEFsbG9jYXRlcyB0aGUgbnVtYmVyIG9mIHBhZ2VzIG9mIE1lbW9yeVR5cGUgYW5kIHJldHVy bnMgYSBwb2ludGVyIHRvIHRoZTxicj4NCismbmJzcDsgYWxsb2NhdGVkIGJ1ZmZlci4mbmJzcDsg VGhlIGJ1ZmZlciByZXR1cm5lZCBpcyBhbGlnbmVkIG9uIGEgNEtCIGJvdW5kYXJ5Ljxicj4NCism bmJzcDsgSWYgUGFnZXMgaXMgMCwgdGhlbiBOVUxMIGlzIHJldHVybmVkLjxicj4NCismbmJzcDsg SWYgdGhlcmUgaXMgbm90IGVub3VnaCBtZW1vcnkgYXZhaWxibGUgdG8gc2F0aXNmeSB0aGUgcmVx dWVzdCwgdGhlbiBOVUxMPGJyPg0KKyZuYnNwOyBpcyByZXR1cm5lZC48YnI+DQorPGJyPg0KKyZu YnNwOyBAcGFyYW0mbmJzcDsgJm5ic3A7UGFnZXMmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1RoZSBudW1iZXIgb2YgNCBLQiBwYWdl cyB0byBhbGxvY2F0ZS48YnI+DQorJm5ic3A7IEBwYXJhbSZuYnNwOyAmbmJzcDtNZW1vcnlUeXBl Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhlIE1lbW9yeVR5cGU8 YnI+DQorJm5ic3A7IEByZXR1cm4mbmJzcDsgQSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgYnVm ZmVyIG9yIE5VTEwgaWYgYWxsb2NhdGlvbiBmYWlscy48YnI+DQorKiovPGJyPg0KK1ZPSUQgKjxi cj4NCitFRklBUEk8YnI+DQorUGF5bG9hZEFsbG9jYXRlUGFnZXMgKDxicj4NCismbmJzcDsgSU4g VUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQYWdlcyw8YnI+ DQorJm5ic3A7IElOIEVGSV9NRU1PUllfVFlQRSZuYnNwOyBNZW1vcnlUeXBlPGJyPg0KKyZuYnNw OyApPGJyPg0KK3s8YnI+DQorJm5ic3A7IEVGSV9QRUlfSE9CX1BPSU5URVJTJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IEhvYjs8YnI+DQorJm5ic3A7IEVGSV9QSFlTSUNBTF9BRERSRVNTJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IE9mZnNldDs8YnI+DQorJm5ic3A7IEVGSV9IT0JfSEFO RE9GRl9JTkZPX1RBQkxFJm5ic3A7ICpIb2JUYWJsZTs8YnI+DQorPGJyPg0KKyZuYnNwOyBIb2Iu UmF3Jm5ic3A7ID0gR2V0SG9iTGlzdCAoKTs8YnI+DQorJm5ic3A7IEhvYlRhYmxlID0gSG9iLkhh bmRvZmZJbmZvcm1hdGlvblRhYmxlOzxicj4NCis8YnI+DQorJm5ic3A7IGlmIChQYWdlcyA9PSAw KSB7PGJyPg0KKyZuYnNwOyAmbmJzcDsgcmV0dXJuIE5VTEw7PGJyPg0KKyZuYnNwOyB9PGJyPg0K Kzxicj4NCismbmJzcDsgLy8gTWFrZSBzdXJlIGFsbG9jYXRpb24gYWRkcmVzcyBpcyBwYWdlIGFs bGlnbmVkLjxicj4NCismbmJzcDsgT2Zmc2V0ID0gSG9iVGFibGUtJmd0O0VmaUZyZWVNZW1vcnlU b3AgJmFtcDsgRUZJX1BBR0VfTUFTSzs8YnI+DQorJm5ic3A7IGlmIChPZmZzZXQgIT0gMCkgezxi cj4NCismbmJzcDsgJm5ic3A7IEhvYlRhYmxlLSZndDtFZmlGcmVlTWVtb3J5VG9wIC09IE9mZnNl dDs8YnI+DQorJm5ic3A7IH08YnI+DQorPGJyPg0KKyZuYnNwOyAvLzxicj4NCismbmJzcDsgLy8g Q2hlY2sgYXZhaWxhYmxlIG1lbW9yeSBmb3IgdGhlIGFsbG9jYXRpb248YnI+DQorJm5ic3A7IC8v PGJyPg0KKyZuYnNwOyBpZiAoSG9iVGFibGUtJmd0O0VmaUZyZWVNZW1vcnlUb3AgLSAoKFBhZ2Vz ICogRUZJX1BBR0VfU0laRSkgKyBzaXplb2YgKEVGSV9IT0JfTUVNT1JZX0FMTE9DQVRJT04pKSAm bHQ7IEhvYlRhYmxlLSZndDtFZmlGcmVlTWVtb3J5Qm90dG9tKSB7PGJyPg0KKyZuYnNwOyAmbmJz cDsgcmV0dXJuIE5VTEw7PGJyPg0KKyZuYnNwOyB9PGJyPg0KKzxicj4NCismbmJzcDsgSG9iVGFi bGUtJmd0O0VmaUZyZWVNZW1vcnlUb3AgLT0gUGFnZXMgKiBFRklfUEFHRV9TSVpFOzxicj4NCism bmJzcDsgQnVpbGRNZW1vcnlBbGxvY2F0aW9uSG9iIChIb2JUYWJsZS0mZ3Q7RWZpRnJlZU1lbW9y eVRvcCwgUGFnZXMgKiBFRklfUEFHRV9TSVpFLCBNZW1vcnlUeXBlKTs8YnI+DQorPGJyPg0KKyZu YnNwOyByZXR1cm4gKFZPSUQgKikoVUlOVE4pSG9iVGFibGUtJmd0O0VmaUZyZWVNZW1vcnlUb3A7 PGJyPg0KK308YnI+DQorPGJyPg0KJm5ic3A7LyoqPGJyPg0KJm5ic3A7ICZuYnNwO0FsbG9jYXRl cyBvbmUgb3IgbW9yZSBwYWdlcyBvZiB0eXBlIEVmaUJvb3RTZXJ2aWNlc0RhdGEuPGJyPg0KPGJy Pg0KZGlmZiAtLWdpdCBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvUHJpbnRIb2Iu YyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvUHJpbnRIb2IuYzxicj4NCmluZGV4 IGI2M2U5M2MwN2VjMi4uMTUzZDFiMDBmNjM3IDEwMDY0NDxicj4NCi0tLSBhL1VlZmlQYXlsb2Fk UGtnL1VlZmlQYXlsb2FkRW50cnkvUHJpbnRIb2IuYzxicj4NCisrKyBiL1VlZmlQYXlsb2FkUGtn L1VlZmlQYXlsb2FkRW50cnkvUHJpbnRIb2IuYzxicj4NCkBAIC0xNjksMTMgKzE2OSwxMyBAQCBQ cmludE1lbW9yeUFsbG9jYXRpb25Ib2IgKDxicj4NCiZuYnNwO308YnI+DQo8YnI+DQombmJzcDsv Kio8YnI+DQotJm5ic3A7IFByaW50IHRoZSBpbmZvcm1hdGlvbiBpbiBSZXNvdXJjZSBEaXNjcmlw dG9yIEhvYi48YnI+DQorJm5ic3A7IFByaW50IHRoZSBpbmZvcm1hdGlvbiBpbiBSZXNvdXJjZSBE ZXNjcmlwdG9yIEhvYi48YnI+DQombmJzcDsgJm5ic3A7QHBhcmFtW2luXSZuYnNwOyBIb2JTdGFy dCZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0EgcG9pbnRlciB0byBIT0Igb2YgdHlwZSBFRklf SE9CX1RZUEVfUkVTT1VSQ0VfREVTQ1JJUFRPUi48YnI+DQombmJzcDsgJm5ic3A7QHBhcmFtW2lu XSZuYnNwOyBIb2JMZW5ndGgmbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGUgTGVuZ3RoIGluIGJ5dGVz IG9mIEhPQiBvZiB0eXBlIEVGSV9IT0JfVFlQRV9SRVNPVVJDRV9ERVNDUklQVE9SLjxicj4NCiZu YnNwOyAmbmJzcDtAcmV0dmFsIEVGSV9TVUNDRVNTJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IElmIGl0IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuPGJyPg0KJm5ic3A7KiovPGJyPg0KJm5ic3A7 RUZJX1NUQVRVUzxicj4NCi1QcmludFJlc291cmNlRGlzY3JpcHRvckhvYiAoPGJyPg0KK1ByaW50 UmVzb3VyY2VEZXNjcmlwdG9ySG9iICg8YnI+DQombmJzcDsgJm5ic3A7SU4mbmJzcDsgVk9JRCZu YnNwOyAmbmJzcDsgKkhvYlN0YXJ0LDxicj4NCiZuYnNwOyAmbmJzcDtJTiZuYnNwOyBVSU5UMTYm bmJzcDsgSG9iTGVuZ3RoPGJyPg0KJm5ic3A7ICZuYnNwOyk8YnI+DQpAQCAtNjIwLDcgKzYyMCw3 IEBAIFByaW50RnYzSG9iICg8YnI+DQombmJzcDtIT0JfUFJJTlRfSEFORExFUl9UQUJMRSZuYnNw OyBtSG9iSGFuZGxlc1tdID0gezxicj4NCiZuYnNwOyAmbmJzcDt7IEVGSV9IT0JfVFlQRV9IQU5E T0ZGLCZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZxdW90 O0VGSV9IT0JfVFlQRV9IQU5ET0ZGJnF1b3Q7LCZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO1ByaW50SGFuZE9mZkhvYiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IH0sPGJyPg0KJm5ic3A7ICZuYnNwO3sgRUZJX0hPQl9UWVBFX01F TU9SWV9BTExPQ0FUSU9OLCZuYnNwOyAmbmJzcDsmcXVvdDtFRklfSE9CX1RZUEVfTUVNT1JZX0FM TE9DQVRJT04mcXVvdDssJm5ic3A7ICZuYnNwO1ByaW50TWVtb3J5QWxsb2NhdGlvbkhvYiZuYnNw OyAmbmJzcDt9LDxicj4NCi0mbmJzcDsgeyBFRklfSE9CX1RZUEVfUkVTT1VSQ0VfREVTQ1JJUFRP UiwgJnF1b3Q7RUZJX0hPQl9UWVBFX1JFU09VUkNFX0RFU0NSSVBUT1ImcXVvdDssIFByaW50UmVz b3VyY2VEaXNjcmlwdG9ySG9iIH0sPGJyPg0KKyZuYnNwOyB7IEVGSV9IT0JfVFlQRV9SRVNPVVJD RV9ERVNDUklQVE9SLCAmcXVvdDtFRklfSE9CX1RZUEVfUkVTT1VSQ0VfREVTQ1JJUFRPUiZxdW90 OywgUHJpbnRSZXNvdXJjZURlc2NyaXB0b3JIb2IgfSw8YnI+DQombmJzcDsgJm5ic3A7eyBFRklf SE9CX1RZUEVfR1VJRF9FWFRFTlNJT04sJm5ic3A7ICZuYnNwOyAmbmJzcDsgJnF1b3Q7RUZJX0hP Ql9UWVBFX0dVSURfRVhURU5TSU9OJnF1b3Q7LCZuYnNwOyAmbmJzcDsgJm5ic3A7IFByaW50R3Vp ZEhvYiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDt9LDxicj4NCiZuYnNwOyAmbmJzcDt7IEVGSV9IT0JfVFlQRV9GViwmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmcXVvdDtFRklf SE9CX1RZUEVfRlYmcXVvdDssJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUHJpbnRGdkhvYiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fSw8YnI+DQombmJzcDsgJm5i c3A7eyBFRklfSE9CX1RZUEVfQ1BVLCZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7JnF1b3Q7RUZJX0hPQl9UWVBFX0NQVSZxdW90Oywm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwO1ByaW50Q3B1SG9iJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyB9LDxicj4NCmRpZmYgLS1naXQgYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5 bG9hZEVudHJ5L1VuaXZlcnNhbFBheWxvYWRFbnRyeS5jIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBh eWxvYWRFbnRyeS9Vbml2ZXJzYWxQYXlsb2FkRW50cnkuYzxicj4NCmluZGV4IGYzN2MwMGZhZDc3 NC4uNWI4NjRlZWVmZTEwIDEwMDY0NDxicj4NCi0tLSBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXls b2FkRW50cnkvVW5pdmVyc2FsUGF5bG9hZEVudHJ5LmM8YnI+DQorKysgYi9VZWZpUGF5bG9hZFBr Zy9VZWZpUGF5bG9hZEVudHJ5L1VuaXZlcnNhbFBheWxvYWRFbnRyeS5jPGJyPg0KQEAgLTQ4Niwx MiArNDg2LDYgQEAgX01vZHVsZUVudHJ5UG9pbnQgKDxicj4NCiZuYnNwOyAmbmJzcDtTdGF0dXMg PSBVbml2ZXJzYWxMb2FkRHhlQ29yZSAoRHhlRnYsICZhbXA7RHhlQ29yZUVudHJ5UG9pbnQpOzxi cj4NCiZuYnNwOyAmbmJzcDtBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOzxicj4NCjxicj4NCi0m bmJzcDsgLy88YnI+DQotJm5ic3A7IC8vIE1hc2sgb2ZmIGFsbCBsZWdhY3kgODI1OSBpbnRlcnJ1 cHQgc291cmNlczxicj4NCi0mbmJzcDsgLy88YnI+DQotJm5ic3A7IElvV3JpdGU4IChMRUdBQ1lf ODI1OV9NQVNLX1JFR0lTVEVSX01BU1RFUiwgMHhGRik7PGJyPg0KLSZuYnNwOyBJb1dyaXRlOCAo TEVHQUNZXzgyNTlfTUFTS19SRUdJU1RFUl9TTEFWRSwgMHhGRik7PGJyPg0KLTxicj4NCiZuYnNw OyAmbmJzcDtIb2IuSGFuZG9mZkluZm9ybWF0aW9uVGFibGUgPSAoRUZJX0hPQl9IQU5ET0ZGX0lO Rk9fVEFCTEUgKilHZXRGaXJzdEhvYiAoRUZJX0hPQl9UWVBFX0hBTkRPRkYpOzxicj4NCiZuYnNw OyAmbmJzcDtIYW5kT2ZmVG9EeGVDb3JlIChEeGVDb3JlRW50cnlQb2ludCwgSG9iKTs8YnI+DQo8 YnI+DQpkaWZmIC0tZ2l0IGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9YNjQvRHhl TG9hZEZ1bmMuYyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvWDY0L0R4ZUxvYWRG dW5jLmM8YnI+DQppbmRleCAzNDZlM2ZlYjA0NTkuLjZjMzYwM2YxMjA5OCAxMDA2NDQ8YnI+DQot LS0gYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L1g2NC9EeGVMb2FkRnVuYy5jPGJy Pg0KKysrIGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9YNjQvRHhlTG9hZEZ1bmMu Yzxicj4NCkBAIC0xMywxMCArMTMsMTMgQEAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQ8YnI+DQombmJzcDsjaW5jbHVkZSAmbHQ7TGlicmFyeS9NZW1vcnlBbGxv Y2F0aW9uTGliLmgmZ3Q7PGJyPg0KJm5ic3A7I2luY2x1ZGUgJmx0O0xpYnJhcnkvUGNkTGliLmgm Z3Q7PGJyPg0KJm5ic3A7I2luY2x1ZGUgJmx0O0xpYnJhcnkvSG9iTGliLmgmZ3Q7PGJyPg0KKyNp bmNsdWRlICZsdDtMaWJyYXJ5L0ZkdExpYi5oJmd0Ozxicj4NCiZuYnNwOyNpbmNsdWRlICZxdW90 O1g2NC9WaXJ0dWFsTWVtb3J5LmgmcXVvdDs8YnI+DQombmJzcDsjaW5jbHVkZSAmcXVvdDtVZWZp UGF5bG9hZEVudHJ5LmgmcXVvdDs8YnI+DQombmJzcDsjZGVmaW5lIFNUQUNLX1NJWkUmbmJzcDsg MHgyMDAwMDxicj4NCjxicj4NCitleHRlcm4gVk9JRCZuYnNwOyAqbUhvYkxpc3Q7PGJyPg0KKzxi cj4NCiZuYnNwOy8qKjxicj4NCiZuYnNwOyAmbmJzcDsgVHJhbnNmZXJzIGNvbnRyb2wgdG8gRHhl Q29yZS48YnI+DQo8YnI+DQpAQCAtNDAsNiArNDMsMTUgQEAgSGFuZE9mZlRvRHhlQ29yZSAoPGJy Pg0KJm5ic3A7ICZuYnNwO1ZPSUQmbmJzcDsgJm5ic3A7KkdoY2JCYXNlOzxicj4NCiZuYnNwOyAm bmJzcDtVSU5UTiZuYnNwOyBHaGNiU2l6ZTs8YnI+DQo8YnI+DQorJm5ic3A7IC8vIEluaXRpYWxp emUgZmxvYXRpbmcgcG9pbnQgb3BlcmF0aW5nIGVudmlyb25tZW50IHRvIGJlIGNvbXBsaWFudCB3 aXRoIFVFRkkgc3BlYy48YnI+DQorJm5ic3A7IEluaXRpYWxpemVGbG9hdGluZ1BvaW50VW5pdHMg KCk7PGJyPg0KKzxicj4NCismbmJzcDsgLy88YnI+DQorJm5ic3A7IC8vIE1hc2sgb2ZmIGFsbCBs ZWdhY3kgODI1OSBpbnRlcnJ1cHQgc291cmNlczxicj4NCismbmJzcDsgLy88YnI+DQorJm5ic3A7 IElvV3JpdGU4IChMRUdBQ1lfODI1OV9NQVNLX1JFR0lTVEVSX01BU1RFUiwgMHhGRik7PGJyPg0K KyZuYnNwOyBJb1dyaXRlOCAoTEVHQUNZXzgyNTlfTUFTS19SRUdJU1RFUl9TTEFWRSwgMHhGRik7 PGJyPg0KKzxicj4NCiZuYnNwOyAmbmJzcDsvLzxicj4NCiZuYnNwOyAmbmJzcDsvLyBDbGVhciBw YWdlIDAgYW5kIG1hcmsgaXQgYXMgYWxsb2NhdGVkIGlmIE5VTEwgcG9pbnRlciBkZXRlY3Rpb24g aXMgZW5hYmxlZC48YnI+DQombmJzcDsgJm5ic3A7Ly88YnI+DQpkaWZmIC0tZ2l0IGEvVWVmaVBh eWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9YNjQvRHhlTG9hZEZ1bmMuYyBiL1VlZmlQYXlsb2Fk UGtnL1VlZmlQYXlsb2FkRW50cnkvWDY0L0R4ZUxvYWRGdW5jRml0LmM8YnI+DQpzaW1pbGFyaXR5 IGluZGV4IDc0JTxicj4NCmNvcHkgZnJvbSBVZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5 L1g2NC9EeGVMb2FkRnVuYy5jPGJyPg0KY29weSB0byBVZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9h ZEVudHJ5L1g2NC9EeGVMb2FkRnVuY0ZpdC5jPGJyPg0KaW5kZXggMzQ2ZTNmZWIwNDU5Li4zNWI1 MmE5MTFkZjMgMTAwNjQ0PGJyPg0KLS0tIGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRy eS9YNjQvRHhlTG9hZEZ1bmMuYzxicj4NCisrKyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2Fk RW50cnkvWDY0L0R4ZUxvYWRGdW5jRml0LmM8YnI+DQpAQCAtMSw4ICsxLDggQEA8YnI+DQombmJz cDsvKiogQGZpbGU8YnI+DQombmJzcDsgJm5ic3A7eDY0LXNwZWNpZmMgZnVuY3Rpb25hbGl0eSBm b3IgRHhlTG9hZC48YnI+DQo8YnI+DQotQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAyMCwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuJmx0O0JSJmd0Ozxicj4NCi1TUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudDxicj4NCismbmJzcDsgQ29weXJp Z2h0IChjKSAyMDI0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4mbHQ7 QlImZ3Q7PGJyPg0KKyZuYnNwOyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudDxicj4NCjxicj4NCiZuYnNwOyoqLzxicj4NCjxicj4NCkBAIC0xMywxMCArMTMsMTQg QEAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQ8YnI+DQombmJz cDsjaW5jbHVkZSAmbHQ7TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmgmZ3Q7PGJyPg0KJm5i c3A7I2luY2x1ZGUgJmx0O0xpYnJhcnkvUGNkTGliLmgmZ3Q7PGJyPg0KJm5ic3A7I2luY2x1ZGUg Jmx0O0xpYnJhcnkvSG9iTGliLmgmZ3Q7PGJyPg0KKyNpbmNsdWRlICZsdDtMaWJyYXJ5L0ZkdExp Yi5oJmd0Ozxicj4NCisjaW5jbHVkZSAmbHQ7TGlicmFyeS9QY2RMaWIuaCZndDs8YnI+DQombmJz cDsjaW5jbHVkZSAmcXVvdDtYNjQvVmlydHVhbE1lbW9yeS5oJnF1b3Q7PGJyPg0KJm5ic3A7I2lu Y2x1ZGUgJnF1b3Q7VWVmaVBheWxvYWRFbnRyeS5oJnF1b3Q7PGJyPg0KJm5ic3A7I2RlZmluZSBT VEFDS19TSVpFJm5ic3A7IDB4MjAwMDA8YnI+DQo8YnI+DQorZXh0ZXJuIFZPSUQmbmJzcDsgKm1I b2JMaXN0Ozxicj4NCis8YnI+DQombmJzcDsvKio8YnI+DQombmJzcDsgJm5ic3A7IFRyYW5zZmVy cyBjb250cm9sIHRvIER4ZUNvcmUuPGJyPg0KPGJyPg0KQEAgLTQwLDYgKzQ0LDE1IEBAIEhhbmRP ZmZUb0R4ZUNvcmUgKDxicj4NCiZuYnNwOyAmbmJzcDtWT0lEJm5ic3A7ICZuYnNwOypHaGNiQmFz ZTs8YnI+DQombmJzcDsgJm5ic3A7VUlOVE4mbmJzcDsgR2hjYlNpemU7PGJyPg0KPGJyPg0KKyZu YnNwOyAvLyBJbml0aWFsaXplIGZsb2F0aW5nIHBvaW50IG9wZXJhdGluZyBlbnZpcm9ubWVudCB0 byBiZSBjb21wbGlhbnQgd2l0aCBVRUZJIHNwZWMuPGJyPg0KKyZuYnNwOyBJbml0aWFsaXplRmxv YXRpbmdQb2ludFVuaXRzICgpOzxicj4NCis8YnI+DQorJm5ic3A7IC8vPGJyPg0KKyZuYnNwOyAv LyBNYXNrIG9mZiBhbGwgbGVnYWN5IDgyNTkgaW50ZXJydXB0IHNvdXJjZXM8YnI+DQorJm5ic3A7 IC8vPGJyPg0KKyZuYnNwOyBJb1dyaXRlOCAoTEVHQUNZXzgyNTlfTUFTS19SRUdJU1RFUl9NQVNU RVIsIDB4RkYpOzxicj4NCismbmJzcDsgSW9Xcml0ZTggKExFR0FDWV84MjU5X01BU0tfUkVHSVNU RVJfU0xBVkUsIDB4RkYpOzxicj4NCis8YnI+DQombmJzcDsgJm5ic3A7Ly88YnI+DQombmJzcDsg Jm5ic3A7Ly8gQ2xlYXIgcGFnZSAwIGFuZCBtYXJrIGl0IGFzIGFsbG9jYXRlZCBpZiBOVUxMIHBv aW50ZXIgZGV0ZWN0aW9uIGlzIGVuYWJsZWQuPGJyPg0KJm5ic3A7ICZuYnNwOy8vPGJyPg0KQEAg LTEwNiwzICsxMTksMTcgQEAgSGFuZE9mZlRvRHhlQ29yZSAoPGJyPg0KJm5ic3A7ICZuYnNwOyAm bmJzcDtUb3BPZlN0YWNrPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDspOzxicj4NCiZuYnNwO308 YnI+DQorPGJyPg0KKy8qKjxicj4NCismbmJzcDsgRW50cnkgcG9pbnQgdG8gdGhlIEMgbGFuZ3Vh Z2UgcGhhc2Ugb2YgVUVGSSBwYXlsb2FkLjxicj4NCismbmJzcDsgQHBhcmFtW2luXSZuYnNwOyAm bmJzcDtCb290bG9hZGVyUGFyYW1ldGVyJm5ic3A7ICZuYnNwOyBUaGUgc3RhcnRpbmcgYWRkcmVz cyBvZiBib290bG9hZGVyIHBhcmFtZXRlciBibG9jay48YnI+DQorJm5ic3A7IEByZXR2YWwmbmJz cDsgJm5ic3A7ICZuYnNwOyBJdCB3aWxsIG5vdCByZXR1cm4gaWYgU1VDQ0VTUywgYW5kIHJldHVy biBlcnJvciB3aGVuIHBhc3NpbmcgYm9vdGxvYWRlciBwYXJhbWV0ZXIuPGJyPg0KKyoqLzxicj4N CitFRklfU1RBVFVTPGJyPg0KK0VGSUFQSTxicj4NCitfTW9kdWxlRW50cnlQb2ludCAoPGJyPg0K KyZuYnNwOyBJTiBVSU5UTiZuYnNwOyBCb290bG9hZGVyUGFyYW1ldGVyPGJyPg0KKyZuYnNwOyAp PGJyPg0KK3s8YnI+DQorJm5ic3A7IHJldHVybiBGaXRVcGxFbnRyeVBvaW50IChCb290bG9hZGVy UGFyYW1ldGVyKTs8YnI+DQorfTxicj4NCmRpZmYgLS1naXQgYS9VZWZpUGF5bG9hZFBrZy9VZWZp UGF5bG9hZEVudHJ5L0ZpdFVuaXZlcnNhbFBheWxvYWRFbnRyeS5pbmYgYi9VZWZpUGF5bG9hZFBr Zy9VZWZpUGF5bG9hZEVudHJ5L0ZpdFVuaXZlcnNhbFBheWxvYWRFbnRyeS5pbmY8YnI+DQppbmRl eCBiODdhMDk4OWVlZTMuLmM4N2U2NzRmN2NiZCAxMDA2NDQ8YnI+DQotLS0gYS9VZWZpUGF5bG9h ZFBrZy9VZWZpUGF5bG9hZEVudHJ5L0ZpdFVuaXZlcnNhbFBheWxvYWRFbnRyeS5pbmY8YnI+DQor KysgYi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L0ZpdFVuaXZlcnNhbFBheWxvYWRF bnRyeS5pbmY8YnI+DQpAQCAtMzAsMTMgKzMwLDEzIEBAPGJyPg0KJm5ic3A7W1NvdXJjZXMuSWEz Ml08YnI+DQombmJzcDsgJm5ic3A7WDY0L1ZpcnR1YWxNZW1vcnkuaDxicj4NCiZuYnNwOyAmbmJz cDtYNjQvVmlydHVhbE1lbW9yeS5jPGJyPg0KLSZuYnNwOyBJYTMyL0R4ZUxvYWRGdW5jLmM8YnI+ DQorJm5ic3A7IElhMzIvRHhlTG9hZEZ1bmNGaXQuYzxicj4NCiZuYnNwOyAmbmJzcDtJYTMyL0lk dFZlY3RvckFzbS5uYXNtPGJyPg0KPGJyPg0KJm5ic3A7W1NvdXJjZXMuWDY0XTxicj4NCiZuYnNw OyAmbmJzcDtYNjQvVmlydHVhbE1lbW9yeS5oPGJyPg0KJm5ic3A7ICZuYnNwO1g2NC9WaXJ0dWFs TWVtb3J5LmM8YnI+DQotJm5ic3A7IFg2NC9EeGVMb2FkRnVuYy5jPGJyPg0KKyZuYnNwOyBYNjQv RHhlTG9hZEZ1bmNGaXQuYzxicj4NCjxicj4NCiZuYnNwO1tQYWNrYWdlc108YnI+DQombmJzcDsg Jm5ic3A7TWRlUGtnL01kZVBrZy5kZWM8YnI+DQpAQCAtNTQsNiArNTQsOCBAQDxicj4NCiZuYnNw OyAmbmJzcDtQZUNvZmZMaWI8YnI+DQombmJzcDsgJm5ic3A7Q3B1TGliPGJyPg0KJm5ic3A7ICZu YnNwO0ZkdExpYjxicj4NCismbmJzcDsgQ3VzdG9tRmR0Tm9kZVBhcnNlckxpYjxicj4NCismbmJz cDsgUGNkTGliPGJyPg0KPGJyPg0KJm5ic3A7W0d1aWRzXTxicj4NCiZuYnNwOyAmbmJzcDtnRWZp TWVtb3J5VHlwZUluZm9ybWF0aW9uR3VpZDxicj4NCkBAIC03MSw2ICs3Myw3IEBAPGJyPg0KJm5i c3A7ICZuYnNwO2dVbml2ZXJzYWxQYXlsb2FkQWNwaVRhYmxlR3VpZDxicj4NCiZuYnNwOyAmbmJz cDtnVW5pdmVyc2FsUGF5bG9hZFBjaVJvb3RCcmlkZ2VJbmZvR3VpZDxicj4NCiZuYnNwOyAmbmJz cDtnVW5pdmVyc2FsUGF5bG9hZFNtYmlvczNUYWJsZUd1aWQ8YnI+DQorJm5ic3A7IGdVbml2ZXJz YWxQYXlsb2FkRGV2aWNlVHJlZUd1aWQ8YnI+DQo8YnI+DQombmJzcDtbRmVhdHVyZVBjZC5JQTMy XTxicj4NCiZuYnNwOyAmbmJzcDtnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRHhl SXBsU3dpdGNoVG9Mb25nTW9kZSZuYnNwOyAmbmJzcDsgJm5ic3A7ICMjIENPTlNVTUVTPGJyPg0K QEAgLTc4LDcgKzgxLDYgQEA8YnI+DQombmJzcDtbRmVhdHVyZVBjZC5YNjRdPGJyPg0KJm5ic3A7 ICZuYnNwO2dFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2REeGVJcGxCdWlsZFBhZ2VU YWJsZXMmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsjIyBDT05TVU1FUzxicj4NCjxicj4NCi08 YnI+DQombmJzcDtbUGNkLklBMzIsUGNkLlg2NF08YnI+DQombmJzcDsgJm5ic3A7Z1VlZmlQYXls b2FkUGtnVG9rZW5TcGFjZUd1aWQuUGNkUGNkRHJpdmVyRmlsZTxicj4NCiZuYnNwOyAmbmJzcDtn RWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVXNlMUdQYWdlVGFibGUmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICMjIFNPTUVUSU1FU19DT05TVU1FUzxicj4NCkBAIC04OCwxMSArOTAsMTkgQEA8 YnI+DQombmJzcDsgJm5ic3A7Z0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENwdVN0 YWNrR3VhcmQmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyMjIENPTlNVTUVTPGJyPg0KJm5ic3A7 ICZuYnNwO2dFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RHaGNiQmFzZSZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgIyMgQ09OU1VNRVM8YnI+DQombmJzcDsg Jm5ic3A7Z0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEdoY2JTaXplJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAjIyBDT05TVU1FUzxicj4NCi08YnI+DQom bmJzcDsgJm5ic3A7Z1VlZmlQYXlsb2FkUGtnVG9rZW5TcGFjZUd1aWQuUGNkUGF5bG9hZEZkTWVt QmFzZTxicj4NCiZuYnNwOyAmbmJzcDtnVWVmaVBheWxvYWRQa2dUb2tlblNwYWNlR3VpZC5QY2RQ YXlsb2FkRmRNZW1TaXplPGJyPg0KJm5ic3A7ICZuYnNwO2dVZWZpUGF5bG9hZFBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZFN5c3RlbU1lbW9yeVVlZmlSZWdpb25TaXplPGJyPg0KLTxicj4NCiZuYnNwOyAm bmJzcDtnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2V0TnhGb3JTdGFjayZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsjIyBTT01F VElNRVNfQ09OU1VNRVM8YnI+DQombmJzcDsgJm5ic3A7Z0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZER4ZU54TWVtb3J5UHJvdGVjdGlvblBvbGljeSAjIyBTT01FVElNRVNfQ09OU1VN RVM8YnI+DQombmJzcDsgJm5ic3A7Z0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZElt YWdlUHJvdGVjdGlvblBvbGljeSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyMjIFNPTUVUSU1F U19DT05TVU1FUzxicj4NCismbmJzcDsgZ1VlZmlQYXlsb2FkUGtnVG9rZW5TcGFjZUd1aWQuUGNk SGFuZE9mZkZkdEVuYWJsZTxicj4NCismbmJzcDsgZ1VlZmlQYXlsb2FkUGtnVG9rZW5TcGFjZUd1 aWQuUGNkTWVtb3J5VHlwZUVmaUFDUElNZW1vcnlOVlM8YnI+DQorJm5ic3A7IGdVZWZpUGF5bG9h ZFBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1lbW9yeVR5cGVFZmlBQ1BJUmVjbGFpbU1lbW9yeTxicj4N CismbmJzcDsgZ1VlZmlQYXlsb2FkUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWVtb3J5VHlwZUVmaVJl c2VydmVkTWVtb3J5VHlwZTxicj4NCismbmJzcDsgZ1VlZmlQYXlsb2FkUGtnVG9rZW5TcGFjZUd1 aWQuUGNkTWVtb3J5VHlwZUVmaVJ1bnRpbWVTZXJ2aWNlc0RhdGE8YnI+DQorJm5ic3A7IGdVZWZp UGF5bG9hZFBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1lbW9yeVR5cGVFZmlSdW50aW1lU2VydmljZXND b2RlPGJyPg0KKzxicj4NCitbQnVpbGRPcHRpb25zXTxicj4NCismbmJzcDsgTVNGVDoqXypfKl9D Q19GTEFHUyA9IC93ZDQyNDQgL3dkNDMwNTxicj4NCismbmJzcDsgR0NDOipfKl8qX0NDX0ZMQUdT Jm5ic3A7ID0gLVduby1lcnJvcj1wb2ludGVyLXRvLWludC1jYXN0IC1Xbm8tZXJyb3I9aW50LXRv LXBvaW50ZXItY2FzdDxicj4NCmRpZmYgLS1naXQgYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9h ZEVudHJ5L1VlZmlQYXlsb2FkRW50cnkuaCBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50 cnkvVWVmaVBheWxvYWRFbnRyeS5oPGJyPg0KaW5kZXggODBjY2M1MDcyYzU1Li4wOWZjZThkYmNm MzUgMTAwNjQ0PGJyPg0KLS0tIGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9VZWZp UGF5bG9hZEVudHJ5Lmg8YnI+DQorKysgYi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5 L1VlZmlQYXlsb2FkRW50cnkuaDxicj4NCkBAIC0zNSw2ICszNSw3IEBAPGJyPg0KJm5ic3A7I2lu Y2x1ZGUgJmx0O1VuaXZlcnNhbFBheWxvYWQvVW5pdmVyc2FsUGF5bG9hZC5oJmd0Ozxicj4NCiZu YnNwOyNpbmNsdWRlICZsdDtVbml2ZXJzYWxQYXlsb2FkL0V4dHJhRGF0YS5oJmd0Ozxicj4NCiZu YnNwOyNpbmNsdWRlICZsdDtVbml2ZXJzYWxQYXlsb2FkL1NlcmlhbFBvcnRJbmZvLmgmZ3Q7PGJy Pg0KKyNpbmNsdWRlICZsdDtVbml2ZXJzYWxQYXlsb2FkL0RldmljZVRyZWUuaCZndDs8YnI+DQom bmJzcDsjaW5jbHVkZSAmbHQ7R3VpZC9QY2REYXRhQmFzZVNpZ25hdHVyZUd1aWQuaCZndDs8YnI+ DQo8YnI+DQombmJzcDsjZGVmaW5lIExFR0FDWV84MjU5X01BU0tfUkVHSVNURVJfTUFTVEVSJm5i c3A7IDB4MjE8YnI+DQpAQCAtMTM0LDYgKzEzNSwzMSBAQCBVbml2ZXJzYWxMb2FkRHhlQ29yZSAo PGJyPg0KJm5ic3A7ICZuYnNwO09VVCBQSFlTSUNBTF9BRERSRVNTJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKkR4ZUNvcmVFbnRyeVBvaW50PGJyPg0KJm5ic3A7ICZu YnNwOyk7PGJyPg0KPGJyPg0KKy8qKjxicj4NCismbmJzcDsgSXQgd2lsbCBQYXJzZSBGRFQgLW5v ZGUgYmFzZWQgb24gaW5mb3JtYXRpb24uPGJyPg0KKyZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IEZk dEJhc2UmbmJzcDsgJm5ic3A7VGhlIHN0YXJ0aW5nIG1lbW9yeSBhZGRyZXNzIG9mIEZkdEJhc2U8 YnI+DQorJm5ic3A7IEByZXR2YWwgSG9iTGlzdCZuYnNwOyAmbmJzcDtUaGUgYmFzZSBhZGRyZXNz IG9mIEhvYmxpc3QuPGJyPg0KKzxicj4NCisqKi88YnI+DQorVUlOVDY0PGJyPg0KK0VGSUFQSTxi cj4NCitGZHROb2RlUGFyc2VyICg8YnI+DQorJm5ic3A7IElOIFZPSUQmbmJzcDsgKkZkdEJhc2U8 YnI+DQorJm5ic3A7ICk7PGJyPg0KKzxicj4NCisvKio8YnI+DQorJm5ic3A7IEl0IHdpbGwgUGFy c2UgRkRUIC1jdXN0b20gbm9kZSBiYXNlZCBvbiBpbmZvcm1hdGlvbi48YnI+DQorJm5ic3A7IEBw YXJhbVtpbl0mbmJzcDsgRmR0QmFzZSBUaGUgc3RhcnRpbmcgbWVtb3J5IGFkZHJlc3Mgb2YgRmR0 QmFzZTxicj4NCismbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBIb3N0TGlzdCBUaGUgc3RhcnRpbmcg bWVtb3J5IGFkZHJlc3Mgb2YgTmV3IEhvYiBsaXN0Ljxicj4NCis8YnI+DQorKiovPGJyPg0KK1VJ TlROPGJyPg0KK0VGSUFQSTxicj4NCitDdXN0b21GZHROb2RlUGFyc2VyICg8YnI+DQorJm5ic3A7 IElOIFZPSUQmbmJzcDsgKkZkdEJhc2UsPGJyPg0KKyZuYnNwOyBJTiBWT0lEJm5ic3A7ICpIb3N0 TGlzdDxicj4NCismbmJzcDsgKTs8YnI+DQorPGJyPg0KJm5ic3A7LyoqPGJyPg0KJm5ic3A7ICZu YnNwOyBUcmFuc2ZlcnMgY29udHJvbCB0byBEeGVDb3JlLjxicj4NCjxicj4NCkBAIC0yMDYsNCAr MjMyLDQ2IEBAIEJ1aWxkSG9iRnJvbUFjcGkgKDxicj4NCiZuYnNwOyAmbmJzcDtJTiZuYnNwOyAm bmJzcDtVSU5UNjQmbmJzcDsgQWNwaVRhYmxlQmFzZTxicj4NCiZuYnNwOyAmbmJzcDspOzxicj4N Cjxicj4NCisvKio8YnI+DQorJm5ic3A7IEFsbG9jYXRlcyBvbmUgb3IgbW9yZSBwYWdlcyAuPGJy Pg0KKzxicj4NCismbmJzcDsgQWxsb2NhdGVzIHRoZSBudW1iZXIgb2YgcGFnZXMgb2YgTWVtb3J5 VHlwZSBhbmQgcmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlPGJyPg0KKyZuYnNwOyBhbGxvY2F0ZWQg YnVmZmVyLiZuYnNwOyBUaGUgYnVmZmVyIHJldHVybmVkIGlzIGFsaWduZWQgb24gYSA0S0IgYm91 bmRhcnkuPGJyPg0KKyZuYnNwOyBJZiBQYWdlcyBpcyAwLCB0aGVuIE5VTEwgaXMgcmV0dXJuZWQu PGJyPg0KKyZuYnNwOyBJZiB0aGVyZSBpcyBub3QgZW5vdWdoIG1lbW9yeSBhdmFpbGJsZSB0byBz YXRpc2Z5IHRoZSByZXF1ZXN0LCB0aGVuIE5VTEw8YnI+DQorJm5ic3A7IGlzIHJldHVybmVkLjxi cj4NCis8YnI+DQorJm5ic3A7IEBwYXJhbSZuYnNwOyAmbmJzcDtQYWdlcyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7VGhlIG51bWJl ciBvZiA0IEtCIHBhZ2VzIHRvIGFsbG9jYXRlLjxicj4NCismbmJzcDsgQHBhcmFtJm5ic3A7ICZu YnNwO01lbW9yeVR5cGUmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBU aGUgTWVtb3J5dHlwZTxicj4NCismbmJzcDsgQHJldHVybiZuYnNwOyBBIHBvaW50ZXIgdG8gdGhl IGFsbG9jYXRlZCBidWZmZXIgb3IgTlVMTCBpZiBhbGxvY2F0aW9uIGZhaWxzLjxicj4NCisqKi88 YnI+DQorVk9JRCAqPGJyPg0KK0VGSUFQSTxicj4NCitQYXlsb2FkQWxsb2NhdGVQYWdlcyAoPGJy Pg0KKyZuYnNwOyBJTiBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IFBhZ2VzLDxicj4NCismbmJzcDsgSU4gRUZJX01FTU9SWV9UWVBFJm5ic3A7IE1lbW9yeVR5 cGU8YnI+DQorJm5ic3A7ICk7PGJyPg0KKzxicj4NCisvKio8YnI+DQorJm5ic3A7IEVudHJ5IHBv aW50IHRvIHRoZSBDIGxhbmd1YWdlIHBoYXNlIG9mIFVFRkkgcGF5bG9hZC48YnI+DQorJm5ic3A7 IEBwYXJhbVtpbl0mbmJzcDsgJm5ic3A7RmR0UHJ0Jm5ic3A7IFRoZSBzdGFydGluZyBhZGRyZXNz IG9mIEZEVCAuPGJyPg0KKyZuYnNwOyBAcmV0dmFsJm5ic3A7ICZuYnNwOyAmbmJzcDsgSXQgd2ls bCBub3QgcmV0dXJuIGlmIFNVQ0NFU1MsIGFuZCByZXR1cm4gZXJyb3Igd2hlbiBwYXNzaW5nIGJv b3Rsb2FkZXIgcGFyYW1ldGVyLjxicj4NCisqKi88YnI+DQorRUZJX1NUQVRVUzxicj4NCitFRklB UEk8YnI+DQorRml0VXBsRW50cnlQb2ludCAoPGJyPg0KKyZuYnNwOyBJTiBVSU5UTiZuYnNwOyBC b290bG9hZGVyUGFyYW1ldGVyPGJyPg0KKyZuYnNwOyApOzxicj4NCis8YnI+DQorLyoqPGJyPg0K KyZuYnNwOyBFbnRyeSBwb2ludCB0byB0aGUgQyBsYW5ndWFnZSBwaGFzZSBvZiBVRUZJIHBheWxv YWQuPGJyPg0KKyZuYnNwOyBAcGFyYW1baW5dJm5ic3A7ICZuYnNwO0Jvb3Rsb2FkZXJQYXJhbWV0 ZXImbmJzcDsgJm5ic3A7IFRoZSBzdGFydGluZyBhZGRyZXNzIG9mIGJvb3Rsb2FkZXIgcGFyYW1l dGVyIGJsb2NrLjxicj4NCismbmJzcDsgQHJldHZhbCZuYnNwOyAmbmJzcDsgJm5ic3A7IEl0IHdp bGwgbm90IHJldHVybiBpZiBTVUNDRVNTLCBhbmQgcmV0dXJuIGVycm9yIHdoZW4gcGFzc2luZyBi b290bG9hZGVyIHBhcmFtZXRlci48YnI+DQorKiovPGJyPg0KK0VGSV9TVEFUVVM8YnI+DQorRUZJ QVBJPGJyPg0KK1VwbEVudHJ5UG9pbnQgKDxicj4NCismbmJzcDsgSU4gVUlOVE4mbmJzcDsgQm9v dGxvYWRlclBhcmFtZXRlcjxicj4NCismbmJzcDsgKTs8YnI+DQorPGJyPg0KJm5ic3A7I2VuZGlm PGJyPg0KZGlmZiAtLWdpdCBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvVW5pdmVy c2FsUGF5bG9hZEVudHJ5LmluZiBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvVW5p dmVyc2FsUGF5bG9hZEVudHJ5LmluZjxicj4NCmluZGV4IGE2MmRhNWM3MDU5ZC4uYmU5MWY3YmUy ODE5IDEwMDY0NDxicj4NCi0tLSBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvVW5p dmVyc2FsUGF5bG9hZEVudHJ5LmluZjxicj4NCisrKyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXls b2FkRW50cnkvVW5pdmVyc2FsUGF5bG9hZEVudHJ5LmluZjxicj4NCkBAIC02LDQ0ICs2LDM3IEBA PGJyPg0KJm5ic3A7IyZuYnNwOyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudDxicj4NCiZuYnNwOyM8YnI+DQombmJzcDsjIzxicj4NCi08YnI+DQombmJzcDtbRGVm aW5lc108YnI+DQombmJzcDsgJm5ic3A7SU5GX1ZFUlNJT04mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPSAxLjMwPGJy Pg0KJm5ic3A7ICZuYnNwO0JBU0VfTkFNRSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPSBVbml2ZXJzYWxQ YXlsb2FkRW50cnk8YnI+DQombmJzcDsgJm5ic3A7RklMRV9HVUlEJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyA9IEQ0RjBGMjY5LTEyMDktNEE2Ni04MDM5LUM0RDVBNzAwRUE0RTxicj4NCiZuYnNwOyAmbmJz cDtNT0RVTEVfVFlQRSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA9IFNFQzxicj4NCiZuYnNwOyAmbmJzcDtWRVJTSU9O X1NUUklORyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7PSAxLjA8YnI+DQotPGJyPg0KJm5ic3A7Izxicj4NCiZuYnNwOyMgVGhlIGZv bGxvd2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJlbmNlIG9ubHkgYW5kIG5vdCByZXF1aXJl ZCBieSB0aGUgYnVpbGQgdG9vbHMuPGJyPg0KJm5ic3A7Izxicj4NCiZuYnNwOyMmbmJzcDsgVkFM SURfQVJDSElURUNUVVJFUyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 PSBJQTMyIFg2NDxicj4NCiZuYnNwOyM8YnI+DQotPGJyPg0KJm5ic3A7W1NvdXJjZXNdPGJyPg0K Jm5ic3A7ICZuYnNwO1VuaXZlcnNhbFBheWxvYWRFbnRyeS5jPGJyPg0KJm5ic3A7ICZuYnNwO0xv YWREeGVDb3JlLmM8YnI+DQombmJzcDsgJm5ic3A7TWVtb3J5QWxsb2NhdGlvbi5jPGJyPg0KJm5i c3A7ICZuYnNwO1ByaW50SG9iLmM8YnI+DQombmJzcDsgJm5ic3A7QWNwaVRhYmxlLmM8YnI+DQot PGJyPg0KJm5ic3A7W1NvdXJjZXMuSWEzMl08YnI+DQombmJzcDsgJm5ic3A7WDY0L1ZpcnR1YWxN ZW1vcnkuaDxicj4NCiZuYnNwOyAmbmJzcDtYNjQvVmlydHVhbE1lbW9yeS5jPGJyPg0KJm5ic3A7 ICZuYnNwO0lhMzIvRHhlTG9hZEZ1bmMuYzxicj4NCiZuYnNwOyAmbmJzcDtJYTMyL0lkdFZlY3Rv ckFzbS5uYXNtPGJyPg0KLTxicj4NCiZuYnNwO1tTb3VyY2VzLlg2NF08YnI+DQombmJzcDsgJm5i c3A7WDY0L1ZpcnR1YWxNZW1vcnkuaDxicj4NCiZuYnNwOyAmbmJzcDtYNjQvVmlydHVhbE1lbW9y eS5jPGJyPg0KJm5ic3A7ICZuYnNwO1g2NC9EeGVMb2FkRnVuYy5jPGJyPg0KLTxicj4NCiZuYnNw O1tQYWNrYWdlc108YnI+DQombmJzcDsgJm5ic3A7TWRlUGtnL01kZVBrZy5kZWM8YnI+DQombmJz cDsgJm5ic3A7TWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWM8YnI+DQombmJzcDsgJm5ic3A7 VWVmaUNwdVBrZy9VZWZpQ3B1UGtnLmRlYzxicj4NCiZuYnNwOyAmbmJzcDtVZWZpUGF5bG9hZFBr Zy9VZWZpUGF5bG9hZFBrZy5kZWM8YnI+DQotPGJyPg0KJm5ic3A7W0xpYnJhcnlDbGFzc2VzXTxi cj4NCiZuYnNwOyAmbmJzcDtCYXNlTWVtb3J5TGliPGJyPg0KJm5ic3A7ICZuYnNwO0RlYnVnTGli PGJyPg0KQEAgLTY5LDE0ICs2MiwxMiBAQDxicj4NCiZuYnNwOyAmbmJzcDtnVW5pdmVyc2FsUGF5 bG9hZEFjcGlUYWJsZUd1aWQ8YnI+DQombmJzcDsgJm5ic3A7Z1VuaXZlcnNhbFBheWxvYWRQY2lS b290QnJpZGdlSW5mb0d1aWQ8YnI+DQombmJzcDsgJm5ic3A7Z1VuaXZlcnNhbFBheWxvYWRTbWJp b3MzVGFibGVHdWlkPGJyPg0KLTxicj4NCismbmJzcDsgZ1VuaXZlcnNhbFBheWxvYWRCYXNlR3Vp ZDxicj4NCismbmJzcDsgZ1VuaXZlcnNhbFBheWxvYWREZXZpY2VUcmVlR3VpZDxicj4NCiZuYnNw O1tGZWF0dXJlUGNkLklBMzJdPGJyPg0KJm5ic3A7ICZuYnNwO2dFZmlNZGVNb2R1bGVQa2dUb2tl blNwYWNlR3VpZC5QY2REeGVJcGxTd2l0Y2hUb0xvbmdNb2RlJm5ic3A7ICZuYnNwOyAmbmJzcDsg IyMgQ09OU1VNRVM8YnI+DQotPGJyPg0KJm5ic3A7W0ZlYXR1cmVQY2QuWDY0XTxicj4NCiZuYnNw OyAmbmJzcDtnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRHhlSXBsQnVpbGRQYWdl VGFibGVzJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IyMgQ09OU1VNRVM8YnI+DQotPGJyPg0K LTxicj4NCiZuYnNwO1tQY2QuSUEzMixQY2QuWDY0XTxicj4NCiZuYnNwOyAmbmJzcDtnVWVmaVBh eWxvYWRQa2dUb2tlblNwYWNlR3VpZC5QY2RQY2REcml2ZXJGaWxlPGJyPg0KJm5ic3A7ICZuYnNw O2dFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RVc2UxR1BhZ2VUYWJsZSZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgIyMgU09NRVRJTUVTX0NPTlNVTUVTPGJyPg0KQEAgLTg2LDEyICs3Nyw5IEBA PGJyPg0KJm5ic3A7ICZuYnNwO2dFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RDcHVT dGFja0d1YXJkJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsjIyBDT05TVU1FUzxicj4NCiZuYnNw OyAmbmJzcDtnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkR2hjYkJhc2UmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICMjIENPTlNVTUVTPGJyPg0KJm5ic3A7 ICZuYnNwO2dFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RHaGNiU2l6ZSZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgIyMgQ09OU1VNRVM8YnI+DQotPGJyPg0K Jm5ic3A7ICZuYnNwO2dVZWZpUGF5bG9hZFBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBheWxvYWRGZE1l bUJhc2U8YnI+DQombmJzcDsgJm5ic3A7Z1VlZmlQYXlsb2FkUGtnVG9rZW5TcGFjZUd1aWQuUGNk UGF5bG9hZEZkTWVtU2l6ZTxicj4NCiZuYnNwOyAmbmJzcDtnVWVmaVBheWxvYWRQa2dUb2tlblNw YWNlR3VpZC5QY2RTeXN0ZW1NZW1vcnlVZWZpUmVnaW9uU2l6ZTxicj4NCi08YnI+DQombmJzcDsg Jm5ic3A7Z0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNldE54Rm9yU3RhY2smbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IyMgU09N RVRJTUVTX0NPTlNVTUVTPGJyPg0KJm5ic3A7ICZuYnNwO2dFZmlNZGVNb2R1bGVQa2dUb2tlblNw YWNlR3VpZC5QY2REeGVOeE1lbW9yeVByb3RlY3Rpb25Qb2xpY3kgIyMgU09NRVRJTUVTX0NPTlNV TUVTPGJyPg0KJm5ic3A7ICZuYnNwO2dFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RJ bWFnZVByb3RlY3Rpb25Qb2xpY3kmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsjIyBTT01FVElN RVNfQ09OU1VNRVM8YnI+DQotPGJyPg0KZGlmZiAtLWdpdCBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQ YXlsb2FkUGtnLmRzYyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtnLmRzYzxicj4NCmlu ZGV4IDI4NjBhNjU5ZjZhNy4uNzc5Zjc0ZGE3MTcxIDEwMDY0NDxicj4NCi0tLSBhL1VlZmlQYXls b2FkUGtnL1VlZmlQYXlsb2FkUGtnLmRzYzxicj4NCisrKyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQ YXlsb2FkUGtnLmRzYzxicj4NCkBAIC01NSw3ICs1NSw3IEBAPGJyPg0KJm5ic3A7ICZuYnNwOyMg RUxGOiBCdWlsZCBVbml2ZXJzYWxQYXlsb2FkIGZpbGUgYXMgVW5pdmVyc2FsUGF5bG9hZC5lbGY8 YnI+DQombmJzcDsgJm5ic3A7IyBGSVQ6IEJ1aWxkIFVuaXZlcnNhbFBheWxvYWQgZmlsZSBhcyBV bml2ZXJzYWxQYXlsb2FkLmZpdDxicj4NCiZuYnNwOyAmbmJzcDsjPGJyPg0KLSZuYnNwOyBERUZJ TkUgVU5JVkVSU0FMX1BBWUxPQUQmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyA9IEZBTFNFPGJyPg0KKyZuYnNwOyBERUZJTkUgVU5JVkVSU0FMX1BBWUxPQUQmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA9IFRSVUU8YnI+DQombmJzcDsgJm5i c3A7REVGSU5FIFVOSVZFUlNBTF9QQVlMT0FEX0ZPUk1BVCZuYnNwOyAmbmJzcDsgJm5ic3A7PSBF TEY8YnI+DQo8YnI+DQombmJzcDsgJm5ic3A7Izxicj4NCkBAIC0yMjYsNiArMjI2LDcgQEA8YnI+ DQombmJzcDsgJm5ic3A7T3BlbnNzbExpYnxDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09w ZW5zc2xMaWIuaW5mPGJyPg0KJm5ic3A7ICZuYnNwO1JuZ0xpYnxNZGVQa2cvTGlicmFyeS9CYXNl Um5nTGliL0Jhc2VSbmdMaWIuaW5mPGJyPg0KJm5ic3A7ICZuYnNwO0hvYkxpYnxVZWZpUGF5bG9h ZFBrZy9MaWJyYXJ5L0R4ZUhvYkxpYi9EeGVIb2JMaWIuaW5mPGJyPg0KKyZuYnNwOyBDdXN0b21G ZHROb2RlUGFyc2VyTGlifFVlZmlQYXlsb2FkUGtnL0xpYnJhcnkvQ3VzdG9tRmR0Tm9kZVBhcnNl ck51bGxMaWIvQ3VzdG9tRmR0Tm9kZVBhcnNlck51bGxMaWIuaW5mPGJyPg0KPGJyPg0KJm5ic3A7 ICZuYnNwOyM8YnI+DQombmJzcDsgJm5ic3A7IyBVRUZJICZhbXA7IFBJPGJyPg0KQEAgLTQ3MCw2 ICs0NzEsOCBAQDxicj4NCiZuYnNwOyAmbmJzcDtnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1 aWQuUGNkVnBkQmFzZUFkZHJlc3N8MHgwPGJyPg0KJm5ic3A7ICZuYnNwO2dFZmlNZGVNb2R1bGVQ a2dUb2tlblNwYWNlR3VpZC5QY2RTdGF0dXNDb2RlVXNlTWVtb3J5fEZBTFNFPGJyPg0KJm5ic3A7 ICZuYnNwO2dFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RVc2UxR1BhZ2VUYWJsZXxU UlVFPGJyPg0KKyZuYnNwOyBnVWVmaVBheWxvYWRQa2dUb2tlblNwYWNlR3VpZC5QY2RIYW5kT2Zm RmR0RW5hYmxlfFRSVUU8YnI+DQorPGJyPg0KPGJyPg0KJm5ic3A7ICZuYnNwO2dFZmlNZGVNb2R1 bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RCb290TWFuYWdlck1lbnVGaWxlfHsgMHgyMSwgMHhhYSwg MHgyYywgMHg0NiwgMHgxNCwgMHg3NiwgMHgwMywgMHg0NSwgMHg4MywgMHg2ZSwgMHg4YSwgMHhi NiwgMHhmNCwgMHg2NiwgMHgyMywgMHgzMSB9PGJyPg0KJm5ic3A7ICZuYnNwO2dVZWZpUGF5bG9h ZFBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBjZERyaXZlckZpbGV8eyAweDU3LCAweDcyLCAweGNmLCAw eDgwLCAweGFiLCAweDg3LCAweGY5LCAweDQ3LCAweGEzLCAweGZlLCAweEQ1LCAweDBCLCAweDc2 LCAweGQ4LCAweDk1LCAweDQxIH08YnI+DQpAQCAtNTEzLDcgKzUxNiwxNSBAQDxicj4NCiZuYnNw OyFlbmRpZjxicj4NCiZuYnNwOyFlbmRpZjxicj4NCjxicj4NCis8YnI+DQombmJzcDtbUGNkc1Bh dGNoYWJsZUluTW9kdWxlLlg2NF08YnI+DQorJm5ic3A7ICM8YnI+DQorJm5ic3A7ICMgVGhlIGZv bGxvd2luZyBwYXJhbWV0ZXJzIGFyZSBzZXQgYnkgTGlicmFyeS9QbGF0Zm9ybUhvb2tMaWI8YnI+ DQorJm5ic3A7ICM8YnI+DQorJm5ic3A7IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2RTZXJpYWxVc2VNbWlvfEZBTFNFPGJyPg0KKyZuYnNwOyBnRWZpTWRlTW9kdWxlUGtnVG9rZW5T cGFjZUd1aWQuUGNkU2VyaWFsUmVnaXN0ZXJCYXNlfDB4M0Y4PGJyPg0KKyZuYnNwOyBnRWZpTWRl TW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2VyaWFsQmF1ZFJhdGV8JChCQVVEX1JBVEUpPGJy Pg0KKyZuYnNwOyBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2VyaWFsUmVnaXN0 ZXJTdHJpZGV8MTxicj4NCiZuYnNwOyFpZiAkKE5FVFdPUktfRFJJVkVSX0VOQUJMRSkgPT0gVFJV RTxicj4NCiZuYnNwOyAmbmJzcDtnRWZpTmV0d29ya1BrZ1Rva2VuU3BhY2VHdWlkLlBjZEFsbG93 SHR0cENvbm5lY3Rpb25zfFRSVUU8YnI+DQombmJzcDshZW5kaWY8YnI+DQpAQCAtNjM1LDcgKzY0 NiwxMyBAQDxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7IWlmICQoVU5JVkVSU0FMX1BBWUxPQURf Rk9STUFUKSA9PSAmcXVvdDtFTEYmcXVvdDs8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDtVZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L1VuaXZlcnNhbFBheWxvYWRFbnRyeS5p bmY8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyFlbHNlaWYgJChVTklWRVJTQUxfUEFZTE9BRF9G T1JNQVQpID09ICZxdW90O0ZJVCZxdW90Ozxicj4NCi0mbmJzcDsgJm5ic3A7ICZuYnNwOyBVZWZp UGF5bG9hZFBrZy9VZWZpUGF5bG9hZEVudHJ5L0ZpdFVuaXZlcnNhbFBheWxvYWRFbnRyeS5pbmY8 YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRy eS9GaXRVbml2ZXJzYWxQYXlsb2FkRW50cnkuaW5mIHs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZsdDtMaWJyYXJ5Q2xhc3NlcyZndDs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBGZHRMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZUZkdExpYi9CYXNlRmR0 TGliLmluZjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IEN1c3RvbUZk dE5vZGVQYXJzZXJMaWJ8VWVmaVBheWxvYWRQa2cvTGlicmFyeS9DdXN0b21GZHROb2RlUGFyc2Vy TGliL0N1c3RvbUZkdE5vZGVQYXJzZXJMaWIuaW5mPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgTlVMTHxVZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0ZkdFBhcnNlckxpYi9G ZHRQYXJzZUxpYi5pbmY8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBO VUxMfFVlZmlQYXlsb2FkUGtnL0xpYnJhcnkvSG9iUGFyc2VMaWIvSG9iUGFyc2VMaWIuaW5mPGJy Pg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7IH08YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyFlbHNl PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7VWVmaVBheWxvYWRQa2cvVWVmaVBheWxv YWRFbnRyeS9VZWZpUGF5bG9hZEVudHJ5LmluZjxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7IWVu ZGlmPGJyPg0KQEAgLTY0OCw3ICs2NjUsMTMgQEA8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyFp ZiAkKFVOSVZFUlNBTF9QQVlMT0FEX0ZPUk1BVCkgPT0gJnF1b3Q7RUxGJnF1b3Q7PGJyPg0KJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7VWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9V bml2ZXJzYWxQYXlsb2FkRW50cnkuaW5mPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDshZWxzZWlm ICQoVU5JVkVSU0FMX1BBWUxPQURfRk9STUFUKSA9PSAmcXVvdDtGSVQmcXVvdDs8YnI+DQotJm5i c3A7ICZuYnNwOyAmbmJzcDsgVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRFbnRyeS9GaXRVbml2 ZXJzYWxQYXlsb2FkRW50cnkuaW5mPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7IFVlZmlQYXls b2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvRml0VW5pdmVyc2FsUGF5bG9hZEVudHJ5LmluZiB7PGJy Pg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbHQ7TGlicmFyeUNsYXNzZXMmZ3Q7PGJy Pg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgRmR0TGlifE1kZVBrZy9MaWJy YXJ5L0Jhc2VGZHRMaWIvQmFzZUZkdExpYi5pbmY8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBDdXN0b21GZHROb2RlUGFyc2VyTGlifFVlZmlQYXlsb2FkUGtnL0xpYnJh cnkvQ3VzdG9tRmR0Tm9kZVBhcnNlckxpYi9DdXN0b21GZHROb2RlUGFyc2VyTGliLmluZjxicj4N CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IE5VTEx8VWVmaVBheWxvYWRQa2cv TGlicmFyeS9GZHRQYXJzZXJMaWIvRmR0UGFyc2VMaWIuaW5mPGJyPg0KKyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgTlVMTHxVZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0hvYlBhcnNl TGliL0hvYlBhcnNlTGliLmluZjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyB9PGJyPg0KJm5i c3A7ICZuYnNwOyAmbmJzcDshZWxzZTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1Vl ZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkRW50cnkvVWVmaVBheWxvYWRFbnRyeS5pbmY8YnI+DQom bmJzcDsgJm5ic3A7ICZuYnNwOyFlbmRpZjxicj4NCi0tIDxicj4NCjIuMzkuMi53aW5kb3dzLjE8 bzpwPjwvbzpwPjwvcD4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PGJyIGNsZWFyPSJhbGwiPg0KPG86cD48L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIGNsYXNzPSJnbWFpbHNpZ25hdHVyZXByZWZpeCI+LS0gPC9zcGFuPjxvOnA+PC9v OnA+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGFua3MhPG86cD48 L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PUQ8bzpwPjwvbzpwPjwvcD4N CjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+ DQoNCgo8ZGl2IHdpZHRoPSIxIiBzdHlsZT0iY29sb3I6d2hpdGU7Y2xlYXI6Ym90aCI+Xy5fLF8u XyxfPC9kaXY+Cjxocj4KCgpHcm91cHMuaW8gTGlua3M6PHA+CgoKICAKICAgIFlvdSByZWNlaXZl IGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAuCiAgCiAgCgoKPHA+CjxhIHRhcmdldD0i X2JsYW5rIiBocmVmPSJodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS8xMTk0 NTMiPlZpZXcvUmVwbHkgT25saW5lICgjMTE5NDUzKTwvYT4gfAoKCiAgCgp8CgogIDxhIHRhcmdl dD0iX2JsYW5rIiBocmVmPSJodHRwczovL2dyb3Vwcy5pby9tdC8xMDY0NTUxNjgvNzY4NjE3NiI+ TXV0ZSBUaGlzIFRvcGljPC9hPgoKCnwgPGEgaHJlZj0iaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9n L2RldmVsL3Bvc3QiPk5ldyBUb3BpYzwvYT4KCjxicj4KCgoKCjxhIGhyZWY9Imh0dHBzOi8vZWRr Mi5ncm91cHMuaW8vZy9kZXZlbC9lZGl0c3ViLzc2ODYxNzYiPllvdXIgU3Vic2NyaXB0aW9uPC9h PiB8CjxhIGhyZWY9Im1haWx0bzpkZXZlbCtvd25lckBlZGsyLmdyb3Vwcy5pbyI+Q29udGFjdCBH cm91cCBPd25lcjwvYT4gfAoKPGEgaHJlZj0iaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVs L3Vuc3ViIj5VbnN1YnNjcmliZTwvYT4KCiBbcmViZWNjYUBvcGVuZncuaW9dPGJyPgo8ZGl2IHdp ZHRoPSIxIiBzdHlsZT0iY29sb3I6d2hpdGU7Y2xlYXI6Ym90aCI+Xy5fLF8uXyxfPC9kaXY+Cg0K --_000_BN9PR11MB5483A643647D33DD901EA806E6F82BN9PR11MB5483namp_--