From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 096C24EED5 for ; Wed, 14 May 2025 17:42:38 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CD51C68CBC6; Wed, 14 May 2025 20:42:34 +0300 (EEST) Received: from CY4PR05CU001.outbound.protection.outlook.com (mail-westcentralusazon11020082.outbound.protection.outlook.com [40.93.198.82]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F37D668CB8E for ; Wed, 14 May 2025 20:42:27 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Qun79bwU2ED2JZGzaLwEh9/jmO/q6S/y1trcNd4/KIXePbSNKiBwSu9Wx2NZEjkv/+4nAMZWvrF3T0mSem2CIeseMxl+4K0Q2vwqGPwFbrIU/okbVFmv/e8XhnoWYgfFlPJcKomCM/PVK9QvHNEpn1fXR2nqWfvPdLcG0sM3k/huxfV8dTdksCcDbwpcY44ENeMeeK2t+BcZn/azd05/STIIitd+MJ5Yr9Kv7n+GF5j5fx4tJ7o4zYMQIj3dBLhqJ7I9o0uxD92nt6mCUYA+QaC0TVS9YjIE8A7OpiiGKpEiig/h8njAP+yBwX8kPG6AzYiQhZYEHiaO+x+AFf+acw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SHdz+8r6KoesrV/Xu6dwep7E4T5h4iu9zovNlJQ+k6A=; b=HEs8JfVrRHwSgEnac1G8EIDSWxwd2/R6Mezn9RwUvUPwiT+mcfU0CpacoaXQSFmUbQ8gLRS1eSgKRKD5bF/Lo+T2AjhoXrz+qT2TLKFmM2Ol4DkUxMSgOGYBcMhy9uC7KE2eIXfNhOvJ8kEEZf8TvtBwDvpOOd284hJatU9+2ctvck7ppN7N/58c65JO4HDce5Whumyo2LZPPClXTXKB6q1UR6bb9/46y92FJ/mcIR+kXg8cPNuYhqsMj2BqUgtFObPicTVp1nCRe/oNfKmHdUxbkB0x2YWiyNGfjIYDhme0ezTcTCXQkjyOyCx8zax7sZdAzUs4B4KkIrIQmvS0Ig== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none Received: from DM4PR21MB4619.namprd21.prod.outlook.com (2603:10b6:8:244::8) by DS7PR21MB3294.namprd21.prod.outlook.com (2603:10b6:8:7e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.31; Wed, 14 May 2025 17:42:23 +0000 Received: from DM4PR21MB4619.namprd21.prod.outlook.com ([fe80::7670:fa05:fb39:c4c9]) by DM4PR21MB4619.namprd21.prod.outlook.com ([fe80::7670:fa05:fb39:c4c9%4]) with mapi id 15.20.8746.006; Wed, 14 May 2025 17:42:23 +0000 To: Michael Niedermayer , FFmpeg development discussions and patches Thread-Topic: [EXTERNAL] Re: [FFmpeg-devel] [PATCH] Boost FPS and performance: Optimize vertical loop for cache-friendly access [libavcodec/jpeg2000dwt.c:dwt_decode97_float] Thread-Index: AQHbxIIyH+G0sDRphU2AVo5guQ8OI7PRfy5AgADVfICAAAGZUA== Date: Wed, 14 May 2025 17:42:23 +0000 Message-ID: References: <20250514164003.GL29660@pb2> In-Reply-To: <20250514164003.GL29660@pb2> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=1649a1db-8567-4aa2-b6b9-a0b2c7861bbb; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2025-05-14T16:45:46Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Tag=10, 3, 0, 1; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR21MB4619:EE_|DS7PR21MB3294:EE_ x-ms-office365-filtering-correlation-id: 764b2c44-3c98-44d5-8b10-08dd930eaf2e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|10070799003|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?TTdEaTBUS3BvRXJQVjNnUFNyZ0U5QXExUVE2cHhqc1R6THNaZ1I5Qzh5dCtu?= =?utf-8?B?elhOUlZXMldmaitlYjZjRFZON3BYeUF5YmtiUW1wZWhFRWZ2OUdscWg5d1lU?= =?utf-8?B?L3ZDTUpacHFhc2pabFJ1bVNSeE82TGc0ZnpPT3RSU1oyck5IbW1OTmNWandE?= =?utf-8?B?WlNaODVWNDJiWWFuRU13V0VCeEZSUnozRHJhajh1QmF6QXArTmlSdUlCSmIx?= =?utf-8?B?S08zSHpZRThVTGdTY1hITkNWbDRGdU5pdlArVVpuaGd6Z2RQNUtuZGloSi92?= =?utf-8?B?M1dyVzMwTE1lSnVZa1lVcEx0cllsbUkySktYY3h5SkgxcTVkc2hGSEtrUlB0?= =?utf-8?B?M3F0WHpFWEZwcHZpbGp1b3JrNGFISXFZQjNjT2c0K1drZmVuYnNHTWxkRWY0?= =?utf-8?B?WXVTc21Ub3hIcVZBU0VSUHRmUlFNc3l1WFM0VnRBdGtvODVtckFRTkU4TWpl?= =?utf-8?B?cTZsQ0pHenNxUU5MUnNnTmp4c0xDUytDa1A1L1FoSGh1QmZyQmRDZkZSakc5?= =?utf-8?B?SzZyakFVVHFOQy9BMUozUFROUGZVRThjSTVDRmo1MGJqd29KSjFmTndxNXp1?= =?utf-8?B?R3kzRDVWVXQ0OTlWOTcyUWpKbEZNS2lhRjVLQjZqa0ZIaDhORUdzS28vMDQ2?= =?utf-8?B?cjZuY0ducWZvUnNZb0lSdVgraDQ3VlZrYW9ySHpJQjhvb1BDS3JBRFcxTEwr?= =?utf-8?B?eWI1WjNkWWcrb0twcEQzaVB1a0VHeVdscnBUS2lGYWVnSXlGblNmOVErYUxa?= =?utf-8?B?R2VVKzlWT0M2SjlPRWdtV0xMTWZsVjNxRjRidXpnVmtVdDdEb3hOOEUyaXBC?= =?utf-8?B?NmZSZWJoSU9nMjNXUWErenFSS0dreE9WQ3R2UlJpS0p3VllwaVVnb29vQ0s1?= =?utf-8?B?NTFPZVBSUWZvVVllUE14RncycE9KMitoUHQzNkJ3OVFyVzZCYzNZL3UzbG9N?= =?utf-8?B?aTZNV0xOZTBRQjE1T1drK1I4QjdSOUN2Q2xxbC9TZnNGMWJwbjFZKzJ1aTJj?= =?utf-8?B?NzkvVDN6K2NyOEw3OTkzMTRSaC9vSWlBY2pHVTZQeDBHYzk3alJOWjArSUFr?= =?utf-8?B?SnZhSnc1d05xajRpS1YxZ1ZPL0NmRGxSbTltR3l4QWw1MzUrOE9zZEhOQTRC?= =?utf-8?B?UG1ndC9MUjJJSitqdngwWm9LUjA2TXpXRXdaNHBGZUV2dlZYNnJJTEoybkww?= =?utf-8?B?MUttdXVvbTFiM3p3RFVSeDMzZWNENDhYL25rK2VPMSszaEkySlVlaDBRdThz?= =?utf-8?B?VHV0Wm9DNnBKRzl4V2VnamwwU3FmK2VhNURmUllsQXYwUUVrRlNva1gzYnJX?= =?utf-8?B?VFpFL1VKcHU5Y0pFM1pwc0ZwNE5PQWd3ckp0MUxLenZkdm1YSU5ucUpodStO?= =?utf-8?B?VElQMmdLdnczR29SbWg0NGtqM2xBUWU0UFpnU2JsdXUvRGJvK3NsKzZiRE8r?= =?utf-8?B?STFoQjBlbUgxSnJaUmMxM1RCcVViZmxJSjVQQm5mcEI2ZTNKZzhLaVIvRVcx?= =?utf-8?B?ZXIyemV6ODlJbVNiN2doc2w5YitxcE56YUVjRUloT1Z0Y3h6bXhGMVliS3ZQ?= =?utf-8?B?VkZmbkJrNjNrK3paS0Z2dy8yNnFmL2RSdXJGNDBaL2FvSjBRL2t6cS9TNDZI?= =?utf-8?B?Qk81ODBuaFJmMjJtUVh3NmE5TjM3WHBQMWhQTUhWczNubjR0ZkVreWhmUHFN?= =?utf-8?B?bzQrWFgxSVZhemM0S2ZHZUwvZk00NEtJMUI4Y0xDU2VyTTI0U3ViM2VpZGQw?= =?utf-8?B?bGxKcVVjWTRKY1JubzZxQXg2MThueW1RYUIySlZuN2VXcTRxSUJORVRPU3kw?= =?utf-8?B?TzVWekxtbnJ3cjAzN0dGYWkxK2tPV21XTm1CK2RBTVNpQ04wVU1Eb3lSamVH?= =?utf-8?B?aHJOa1pvM3BVbCsrZElydmRoU1VVeWVObTNTeFZ0UHVsRWNyaTVyWjZvVzFi?= =?utf-8?B?MmZwaXdHK0RScjFjZTM0S3hDc3VNSU8yRFhBRG85b1B1d2JxZDJlQlEzN2dU?= =?utf-8?B?M3dUelA1dWx3PT0=?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR21MB4619.namprd21.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(10070799003)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RHNoQUtJMy9jNXk1V0VxZG10ZU93RWdEbWhCSWp2dnFPVmNuWEVISTUzMFo5?= =?utf-8?B?ZS8yVnRYaXdoUXIwWWtScStpRmE1dmZJWHdRVnN6T0FUY2VmYi9LK2RJWXJn?= =?utf-8?B?MVM2UWpFV01xOWc2a3VuNWMzYy9xelpOcXRqTVBKTEJqZ0RhZUVzb1ZxR0Fu?= =?utf-8?B?YkVKRmtVU29rTWF2WXJkVzFCR3BoblZsWWExYm5VNXA0ZDBhZjFWbGxSSzJZ?= =?utf-8?B?c0dGN1Nvb3djRzkwcEdjckFxVmp4ajlUTkJkdzdOODM0UGVRektvNmw2MThy?= =?utf-8?B?MFVYWHJOWXhod2hQd2pEUzZLdXNnRVpjMU1jYjY2bXBLRGFpMHVHQ2pDNW9y?= =?utf-8?B?SVI4UzF2eFI3RjNuRDlwTUdzdENVTjdXTGUvTTliZVUwdDd2MFkyendXakhx?= =?utf-8?B?KzBpcmFSYkFMaTVVNWRhRGdjdUNQeG9MSXFma2JLc1hHU2VuTFlHcGl3L2Jy?= =?utf-8?B?a2lJbTZXN2YyTXVlVjQ5WVpkKzJUenJsSjhPUm1IYzJIbFlMS0Q0Njl6M3Fi?= =?utf-8?B?ZVV1VThOcU1NKzlwdDNsMGZNeHB2RUw3UVhXL1dGZXAydzJQdHAyTjY3NCtq?= =?utf-8?B?WnFiT3ByeFJrRTdrZWNaa3kySllmVkMzcC9EbEVzcE9pYUluQ3czSWM0ZFF3?= =?utf-8?B?ZG1CSm5LMWh4MnNhSmFRa055VytiMHUxbnA3OWNUeE90YjBVWkNWN3BtZWRa?= =?utf-8?B?MnFwSjEvcmpBSFNIaDRUK1FCWE9VTzJTSmJEZGVnQ0I3Qm9WbE9ONWsyUzlz?= =?utf-8?B?eUd0SE9WUlk1TE9zQW90eE12ZnBwck5ST2poMXk5NTh5S3M1VGZxL05wNmNJ?= =?utf-8?B?V3hUVE5ybVVKNDAxTXBzZjlscVBjZVBLVEQ4d01kd0xheTdjczZHZVFNVHZp?= =?utf-8?B?QW55T0pEVG1jcTBuYXNSZEhPNzJRK2RvL0p5VFBUbUsrYlQ3T1hsRVJjZWtN?= =?utf-8?B?M014U1ByOUhwaGpPU01ZcjhXL1VwdjdlTFY2bEdtRVJZVmI1SXQ2eG51eCtF?= =?utf-8?B?c2U1TTJSWU1XWFB1MUtRaG80Z3N3ZEpCSlM2V2x0R3JxTGFoL0ZjNncvalZF?= =?utf-8?B?RDRBSFp4bmNHbERLcHArdWNYZW4yUmh5TjdhUS8xU1MyTXJqMFB0MWJUQURw?= =?utf-8?B?TFFqMDZybDM1aEVyTlNEUW13elUwbVAvTzhUVDJ3RjAwK1lscHRvL2s2Ny9q?= =?utf-8?B?TkxsWFo4eDlVN3JLQnh2NVNsQVRhQWJjUTh1V20rRlVnSEUzSTJFa0hNVEJH?= =?utf-8?B?akpJRm1yVjEwMC9tWTI0S0xvUllDQWNVU0tOWTlQQ1RxdEtXSkJXQ0FVSFpm?= =?utf-8?B?eVJOVmRDTVlyS2ZIOHpRUVRYYTlyTk45c25XRjgyZCt4UllhUHI3VnBrUjZ0?= =?utf-8?B?Tkp1UkRtNWNhSzhxbDdNTHZxbkpWMHNPaEtObm8rQ3FtMi9mb05Zd2tFUGtK?= =?utf-8?B?ekVac204SXlpVEJoSm5hMGxLR2F5amVibi9zc0pLbWpSelhCTitlbW11UTJv?= =?utf-8?B?QU5vTE14WVRJN1V2b2w0RXkwdFFlZ2JsWFY5dFRxdUVoR3l4eVZTeTllMzNq?= =?utf-8?B?VmtFMFAzRm9vRlhVYUdNdnFzaU44aUpsY2IzRnZyZ0NGY3JRa1FRSkhEK3di?= =?utf-8?B?VGJNc25GVlBibzFvY3Y4cDVTZzhYSzhXSFpMajNlcFBselpjRVZoaEM3cTRN?= =?utf-8?B?ZDc3QVNnTFIzd3N0Y2tvNVBJSVlpbnFwT2U5ZFZEaXF1Wm9CNG1Wa3VBR01a?= =?utf-8?B?UXZrSUZGOE9ERTNqQzV4THhEM0xvWGVXMmRqRUVCMnltdk1NYUJ6TFdsbFpX?= =?utf-8?B?R3B6RTRtWkdoeXhmYXlzdW1tUmNKdGRRd2pLNU8waTliYUtFYlo0ZlZGOUlS?= =?utf-8?B?UktGazVjQVNwVlJUVjI1ZDRIdUlCaTZ0MCtQZElnY2Rxd2dBS3FRSlgyeStO?= =?utf-8?B?UXlzbjdEcWFHWEFLSm5JSlo5bUQ4cWRNMmFoNVlDa3FPdDNLUDBYMDdocXEw?= =?utf-8?B?MWxxaXpVdFZXUVN4a1B0aTc0YzNrd0EydllWbGZPNUNXQWM4MDhkYXNwd2xh?= =?utf-8?B?cUdMVVl6eThXYjhvN2g4YXI2aStIa0JHaHp0WnVlUk5PQzBxbUl4Nngwbi9J?= =?utf-8?B?Qlp0M2U0bXUvUUFSelovQk1KQmdPNDRHRkk4Y0ptVGV5QnR5U0l2Yk1HSlRL?= =?utf-8?Q?oaRCg1z06/rORFayuv1/CUE3NtdI2Ndurzjy4mfjszVQ?= MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR21MB4619.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 764b2c44-3c98-44d5-8b10-08dd930eaf2e X-MS-Exchange-CrossTenant-originalarrivaltime: 14 May 2025 17:42:23.3826 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4a8zitMx5uEFnYe449bhGW1nztCQiV8vjkjuMoqGQ7SD/wciH/mM6I3JB/jKKetGJ8V7swHF7K2HPSy0BW50kQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR21MB3294 Subject: Re: [FFmpeg-devel] [EXTERNAL] Re: [PATCH] Boost FPS and performance: Optimize vertical loop for cache-friendly access [libavcodec/jpeg2000dwt.c:dwt_decode97_float] X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Chitra Dey Sarkar via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: Chitra Dey Sarkar Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPiANClNlbnQ6IFdlZG5lc2RheSwgTWF5IDE0LCAyMDI1 IDk6NDAgQU0NClRvOiBGRm1wZWcgZGV2ZWxvcG1lbnQgZGlzY3Vzc2lvbnMgYW5kIHBhdGNoZXMg PGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnPg0KQ2M6IENoaXRyYSBEZXkgU2Fya2FyIDxDaGl0cmEu RGV5QG1pY3Jvc29mdC5jb20+DQpTdWJqZWN0OiBbRVhURVJOQUxdIFJlOiBbRkZtcGVnLWRldmVs XSBbUEFUQ0hdIEJvb3N0IEZQUyBhbmQgcGVyZm9ybWFuY2U6IE9wdGltaXplIHZlcnRpY2FsIGxv b3AgZm9yIGNhY2hlLWZyaWVuZGx5IGFjY2VzcyBbbGliYXZjb2RlYy9qcGVnMjAwMGR3dC5jOmR3 dF9kZWNvZGU5N19mbG9hdF0NCg0KSGkgQ2hpdHJhDQoNCk9uIFdlZCwgTWF5IDE0LCAyMDI1IGF0 IDAzOjU1OjU5QU0gKzAwMDAsIENoaXRyYSBEZXkgU2Fya2FyIHZpYSBmZm1wZWctZGV2ZWwgd3Jv dGU6DQo+IE9yaWdpbmFsIEltcGxlbWVudGF0aW9uOg0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCj4gSW4gdGhlIG9yaWdpbmFsIGltcGxlbWVudGF0aW9uLCB0aGUgIlZFUl9T RCIgc2VjdGlvbiBwcm9jZXNzZXMgaW1hZ2UgZGF0YSBzdG9yZWQgaW4gKmRhdGEgdXNpbmcgc3Ry aWRlZCBtZW1vcnkgYWNjZXNzIGluIGEgdmVydGljYWwgZmFzaGlvbiBUaGlzIGxlYWRzIHRvIGlu ZWZmaWNpZW50IG1lbW9yeSBhY2Nlc3MgcGF0dGVybnMgYW5kIGNhY2hlIHRocmFzaGluZyBkdWUg dG8gbm9uLXNlcXVlbnRpYWwgZGF0YSBhY2Nlc3MgYWNyb3NzIG11bHRpcGxlIGlubmVyIGxvb3Bz Lg0KPiANCj4gUHJvcG9zZWQgUmVmYWN0b3I6DQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiBUaGUgcHJvcG9zZWQgcmVmYWN0b3IgcmVwbGFjZXMgdGhpcyAgYnkgYWxsb2Nh dGluZyBhIGNhY2hlLWZyaWVuZGx5IDJEIGFycmF5IGJ1ZmZlci4gVGhpcyBjaGFuZ2UgZWxpbWlu YXRlcyBzdHJpZGVkIG1lbW9yeSBhY2Nlc3MgYWNyb3NzIHRoZSB0aHJlZSBpbm5lciBsb29wcywg c2lnbmlmaWNhbnRseSBpbXByb3ZpbmcgY2FjaGUgbG9jYWxpdHkgYW5kIHJlZHVjaW5nIGNhY2hl IHRocmFzaGluZy4NCj4gDQo+IEFkZGl0aW9uYWxseSwgdGhlIGRhdGEgaXMgdHJhbnNwb3NlZCBv dXRzaWRlIHRoZSBscCBsb29wLCB3aGljaCBhbGxvd3MgZm9yIGVmZmljaWVudCBwZXItbGluZSBh Y2Nlc3MgYW5kIHdyaXRlLWJhY2sgdG8gdGhlIGwgYnVmZmVyLCBmdXJ0aGVyIG9wdGltaXppbmcg cGVyZm9ybWFuY2UuDQo+IA0KPiBQZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMNCj4gLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiBUaGlzIGNo YW5nZSByZXN1bHRzIGluIGEgc3Vic3RhbnRpYWwgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgIFNo YXJpbmcgDQo+IHRoZSBGUFMgZGF0YSBiZW5jaG1hcmtlZCBvbiBvdXIgZW5kIGZvciB0aGUgZmls ZSAnVGVhcnMgb2YgU3RlZWwnIA0KPiB1c2luZyBIYW5kQnJha2UNCj4gDQo+IERldmljZSAvIENQ VSBNb2RlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZmljaWFsIEZQUyAg ICAgICAgICAgT3B0aW1pemVkIEZQUyAgICUgSW1wcm92ZW1lbnQNCj4gU3VyZmFjZSBMYXB0b3Ag MTEgKDEwLWNvcmUgWDFQNjQxMDAsIEwyOiAzNk1CKSAgICAgICAgICAgICAgICAgIDMuMTggICAg ICAgICAgIDYuMTUgICAgICAgICAgICAgICAgICAgICAgKzkzJQ0KPiBTdXJmYWNlIExhcHRvcCAx MSgxMC1jb3JlIFgxUDY0MTAwLCBMMjogMzZNQikgICAgIDUuMTYgICAgICAgICAgIDcuMzEgICAg ICAgICAgICAgICAgICAgICAgKzQxJQ0KPiBTdXJmYWNlIExhcHRvcCAxMSAoMTAtY29yZSBYMVA2 NDEwMCwgTDI6IDM2TUIpICAgICAgICAgICAgICAgICAgNS41NyAgICAgICAgICAgOS4yMSAgICAg ICAgICAgICAgICAgICAgICArNjUlDQo+IEFNRCBSeXplbiArIE5WSURJQSBSVFggNDA2MCBMYXB0 b3AgKDEyQy8yNFQpICAgICAgICAgICAgICAgIDkuOTcgICAgICAgICAgICAgMTEuMjIgICAgICAg ICAgICAgICAgICAgKzEyJQ0KPiBNYWMgTWluaSBBcHBsZSBNNCAgICAgICAgIENoaXAgICAgICAg ICAgICAgICAgICAgICAgICAgICA5LjAwICAgICAgICAgIDEyLjAwICAgICAgICAgICAgICAgICAg ICszMCUNCj4gDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQo+IC0tLQ0KPiAgbGliYXZjb2RlYy9qcGVnMjAwMGR3dC5jIHwgNzIgDQo+ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCA1 NyBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9saWJh dmNvZGVjL2pwZWcyMDAwZHd0LmMgYi9saWJhdmNvZGVjL2pwZWcyMDAwZHd0LmMgaW5kZXggDQo+ IDllZTgxMjI2NTguLjQ1ZDc4OTc4OTMgMTAwNjQ0DQo+IC0tLSBhL2xpYmF2Y29kZWMvanBlZzIw MDBkd3QuYw0KPiArKysgYi9saWJhdmNvZGVjL2pwZWcyMDAwZHd0LmMNCj4gQEAgLTQwOSw2ICs0 MDksMTUgQEAgc3RhdGljIHZvaWQgZHd0X2RlY29kZTk3X2Zsb2F0KERXVENvbnRleHQgKnMsIGZs b2F0ICp0KQ0KPiAgICAgIC8qIHBvc2l0aW9uIGF0IGluZGV4IE8gb2YgbGluZSByYW5nZSBbMC01 LHcrNV0gY2YuIGV4dGVuZCBmdW5jdGlvbiAqLw0KPiAgICAgIGxpbmUgKz0gNTsNCj4gDQoNCj4g KyAgICAvKiBGaW5kIHRoZSBsYXJnZXN0IGx2IGFuZCBsdiB0byBhbGxvY2F0ZSBhIDJEIEFycmF5 Ki8NCg0KbHYgYW5kIGx2ID8NCnlvdSBtZWFuIGx2IGFuZiBsaCA/DQoNCg0KPiArICAgIGludCBt YXhfZGltID0gMDsNCj4gKyAgICBmb3IgKGxldiA9IDA7IGxldiA8IHMtPm5kZWNsZXZlbHM7IGxl disrKSB7DQo+ICsgICAgICAgIGlmIChzLT5saW5lbGVuW2xldl1bMF0gID4gbWF4X2RpbSkgbWF4 X2RpbSA9IHMtPmxpbmVsZW5bbGV2XVswXTsNCj4gKyAgICAgICAgaWYgKHMtPmxpbmVsZW5bbGV2 XVsxXSA+IG1heF9kaW0pIG1heF9kaW0gPSANCj4gKyBzLT5saW5lbGVuW2xldl1bMV07DQoNCkZG TUFYKCkNCg0KDQo+ICsgICAgfQ0KPiArICAgIGZsb2F0ICphcnJheTJEQmxvY2sgPSBhdl9tYWxs b2MobWF4X2RpbSAqIG1heF9kaW0gKiBzaXplb2YoZmxvYXQpKTsNCj4gKyAgICBpbnQgdXNlRmFs bGJhY2sgPSAhYXJyYXkyREJsb2NrOw0KDQphbHNvIGlzIHRoaXMgc3VwcG9zZWQgdG8gYmUgbWF4 X2RpbV9oICogbWF4X2RpbV92ID8NCg0KDQoNCj4gKw0KPiAgICAgIGZvciAobGV2ID0gMDsgbGV2 IDwgcy0+bmRlY2xldmVsczsgbGV2KyspIHsNCj4gICAgICAgICAgaW50IGxoID0gcy0+bGluZWxl bltsZXZdWzBdLA0KPiAgICAgICAgICAgICAgbHYgPSBzLT5saW5lbGVuW2xldl1bMV0sDQo+IEBA IC00MzEsMjMgKzQ0MCw1NiBAQCBzdGF0aWMgdm9pZCBkd3RfZGVjb2RlOTdfZmxvYXQoRFdUQ29u dGV4dCAqcywgZmxvYXQgKnQpDQo+ICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbGg7IGkr KykNCj4gICAgICAgICAgICAgICAgICBkYXRhW3cgKiBscCArIGldID0gbFtpXTsNCj4gICAgICAg ICAgfQ0KPiAtDQo+IC0gICAgICAgIC8vIFZFUl9TRA0KPiAtICAgICAgICBsID0gbGluZSArIG12 Ow0KPiAtICAgICAgICBmb3IgKGxwID0gMDsgbHAgPCBsaDsgbHArKykgew0KPiAtICAgICAgICAg ICAgaW50IGksIGogPSAwOw0KPiAtICAgICAgICAgICAgLy8gY29weSB3aXRoIGludGVybGVhdmlu Zw0KPiAtICAgICAgICAgICAgZm9yIChpID0gbXY7IGkgPCBsdjsgaSArPSAyLCBqKyspDQo+IC0g ICAgICAgICAgICAgICAgbFtpXSA9IGRhdGFbdyAqIGogKyBscF07DQo+IC0gICAgICAgICAgICBm b3IgKGkgPSAxIC0gbXY7IGkgPCBsdjsgaSArPSAyLCBqKyspDQo+IC0gICAgICAgICAgICAgICAg bFtpXSA9IGRhdGFbdyAqIGogKyBscF07DQo+IC0NCg0KPiAtICAgICAgICAgICAgc3JfMWQ5N19m bG9hdChsaW5lLCBtdiwgbXYgKyBsdik7DQoNCnRoaXMgc2hvdWxkIGJlIHJ1biBsaW5ld2lzZSBu b3QgY29sdW1ud2lzZSBpZiB5b3UgZG9udCB1bmRlcnN0YW5kIHdoYXQgaSBtZWFuIGhlcmUsIHBs ZWFzZSBzYXkgc28gYW5kIGlsbCBlbGFib3JhdGUNCg0KQnV0IGJhc2ljYWxseSBib3RoIHZlcnRp Y2FsIGFuZCBob3Jpem9udGFsIHRyYW5zZm9ybXMgc2hvdWxkIGJlIGRvbmUgd2l0aCByb3cgYmFz ZWQgaW1wbGVtZW50YXRpb25zDQoNClRoZSBjb2RlIGJlZm9yZSBsb2FkcyBhbmQgc2FmZXMgZWFj aCBjb2x1bW4gKHdoaWNoIGlzIGJhZCkgeW91ciBjb2RlIGFkZHMgYW4gZWZmaWNpZW50IHRyYW5z cG9zZSBhbmQgdGhlbiBjb3BpZXMgZWFjaCByb3cNCg0KVGhlcmVzIGEgdG9uIG9mIHVubmVlZGVk IGNvcHlpbmcgaGVyZSwgaSB0aGluayB0aGUgZGF0YSBpbiB5b3VyIGltcGxlbWVudGF0aW9uIG5v dyBpcyBjb3BpZWQgNCB0aW1lcyBmb3IgZWFjaCB2ZXJ0aWNhbCB0cmFuc2Zvcm0gcGFzcw0KDQpC dXQgaWFtIHZlcnkgaGFwcHkgdG8gc2VlIGEgcGF0Y2ggc3VibWlzc2lvbiBmcm9tIE1pY3Jvc29m dCEgOikNCg0KdGh4DQoNClsuLi5dDQotLSANCk1pY2hhZWwgICAgIEdudVBHIGZpbmdlcnByaW50 OiA5RkYyMTI4QjE0N0VGNjczMEJBREYxMzM2MTFFQzc4NzA0MEIwRkFCDQoNCiJJIGFtIG5vdCB0 cnlpbmcgdG8gYmUgYW55b25lJ3Mgc2F2aW91ciwgSSdtIHRyeWluZyB0byB0aGluayBhYm91dCB0 aGUgIGZ1dHVyZSBhbmQgbm90IGJlIHNhZCIgLSBFbG9uIE11c2sNCg0KDQotLS0tLS0tLS0tLS0t LS0tLS0tLQ0KDQpIaSBNaWNoYWVsLA0KVGhhbmtzIHNvIG11Y2ggZm9yIGdldHRpbmcgYmFjayEg SSdsbCBxdWlja2x5IGltcGxlbWVudCB0aGUgZmlyc3QgMyBjb21tZW50cw0KDQpGb3IgdGhlIGxh c3QgY29tbWVudCBpcyB0aGVyZSBhIHdheSBmb3IgbWUgdG8gcmVhY2ggeW91IG9uIHJlZ3VsYXIg ZW1haWwgdG8gZWxhYm9yYXRlIHRoZSBwcm9wb3NlZCBjaGFuZ2UgbW9yZSB3aXRoIGEgYmV0dGVy IGV4cGxhbmF0aW9uLiANClRoZSAnZ2l0LXNlbmQtZW1haWwnIHdhcyBub3QgZ29vZCB3YXkgZm9y IG1lIHRvIHByb3ZpZGUgYSBkZXRhaWxlZCBleHBsYW5hdGlvbiBmb3Igd2hhdCBJIHdhcyB0cnlp bmcgdG8gYWNoaWV2ZQ0KQWRkaXRpb25hbGx5IEkgY2FuIGFkZCBtb3JlIHBlb3BsZSBmcm9tIG15 IGdyb3VwLg0KDQpDb21tZW50IGZyb20gTWljaGFlbCANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KdGhpcyBzaG91bGQgYmUgcnVuIGxpbmV3aXNlIG5vdCBjb2x1bW53aXNlDQpp ZiB5b3UgZG9udCB1bmRlcnN0YW5kIHdoYXQgaSBtZWFuIGhlcmUsIHBsZWFzZSBzYXkgc28gYW5k IGlsbCBlbGFib3JhdGUNCkJ1dCBiYXNpY2FsbHkgYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRh bCB0cmFuc2Zvcm1zIHNob3VsZCBiZSBkb25lIHdpdGggcm93IGJhc2VkIGltcGxlbWVudGF0aW9u cw0KVGhlIGNvZGUgYmVmb3JlIGxvYWRzIGFuZCBzYWZlcyBlYWNoIGNvbHVtbiAod2hpY2ggaXMg YmFkKQ0KDQotIFllcyB3ZSB3b3VsZCBsaWtlIHRvIGxlYXJuIG1vcmUg8J+Yii4gSSBhbSBhbHdh eXMgaGFwcHkgdG8gdW5kZXJzdGFuZCB0aGUgZGV0YWlscyBiZWhpbmQgd2hhdCBpcyBnb2luZyBv biBoZXJlIGFuZCBhcHByZWNpYXRlIHlvdXIgZXhwbGFuYXRpb25zDQoNCklzc3VlDQotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmZvciAoaSA9IG12OyBpIDwgbHY7IGkgKz0gMiwg aisrKQ0KICAgICAgICAgICAgICBsW2ldID0gZGF0YVt3ICogaiArIGxwXTsNCi0gVkVSX1NEIGlz IHJ1bm5pbmcgdmVydGljYWxseSBhdCB0aGUgbW9tZW50IHdpdGggaiBiZWluZyBpbmNyZW1lbnRl ZCBpbiB0aGUgaW5uZXJtb3N0IGxvb3AuIA0KV2l0aCB3PTQwOTYgLCB3ZSBhY2Nlc3MgZGF0YVs0 MDk2XSAsIGRhdGFbODE5Ml0gLCBkYXRhWzEyMjg4XSAgd2hpY2ggdG91Y2hlcyBhIG5ldyBjYWNo ZWxpbmUgaW4gZXZlcnkgc2luZ2xlIGl0ZXJhdGlvbiBvZiB0aGUgaW5uZXItIGxvb3AgYW5kIGNh dXNlcyBjYWNoZSB0aHJhc2hpbmcgKFRoZSBuZXh0IGl0ZXJhdGlvbiBjYW5ub3QgdXNlIHRoZSBw cmV2aW91cyBjYWNoZWxpbmUpDQogSW4gb3VyIHByb2ZpbGluZyBvbiB0aGUgbmV3ZXN0IFN1cmZh Y2UgMTEgZGV2aWNlcyB3aXRoIH4zNk0gTDIgY2FjaGUgd2Ugb2JzZXJ2ZWQgdGhpcyBsb29wIHRv IGJlIGEgYm90dGxlbmVjayBjb3N0aW5nIH40LTUgRlBTIG9uIHRoZXNlIGRldmljZXMuIFdlIG9i c2VydmVkIHRoaXMgb24gTWFjIE0yIGFuZCBNNCBkZXZpY2VzIHRvby4NCg0KDQpDaGl0cmEncyBj b21tZW50cw0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpUaGUgcHJvcG9z ZWQgZml4IHNhdmVzIGVhY2ggY29sdW1uIGluIDJEIGFycmF5IGluIHJldmVyc2UuIElubmVyIGxv b3BzIGFyZSBzZXF1ZW50aWFsLCBidXQgdGhlIHBlcmZvcm1hbmNlIGJlbmVmaXQgaXMgYWxzbyBj b21pbmcgZnJvbSB0aGUgc2l6ZSBvZiAyREFycmF5DQoNCkluIG15IHByb2ZpbGluZyBoZXJlIGFy ZSB0aGUgcmVhbCB0aW1lLXZhbHVlcw0KTFYgOiAxMDgsIDIxNSAsICA0MjkgLCAgODU3ICwxNzE0 DQpMSCA6IDI1NiAsIDUxMiAsIDEwMjQgLCAyMDQ4ICwgNDA5Ng0KVyA6IDQwOTYNCg0KT3JpZ2lu YWwgY29kZSB0aGUgc2l6ZSBvZiAqZGF0YSAgPSAxNzE0ICogNDA5NiAqIHNpemVvZihmbG9hdCkg PSAyNk1CDQoNCkluIGNhY2hlLWJsb2NraW5nIHdpdGggdGhlIDJEIEFycmF5IEkgYW0gaW50ZW50 aW9uYWxseSB0cmFuc3Bvc2luZyAqZGF0YSBpbiBhIDJEIGFycmF5IGJ1dCAyREFycmF5IGlzIG11 Y2ggc21hbGxlciBhbmQgZml0cyBpbiBDUFUgY2FjaGUgYW5kIG5vIG5lZWQgdG8gYWNjZXNzIERS QU0uIA0KSGVyZSBhcmUgdGhlIHNpemVzIG9mIDJEQXJyYXkNCkxWCUxICU1lbW9yeSBmb3IgQXJy YXkyREJsb2NrDQoxMDgJMjU2CX4wLjEgTUINCjIxNQk1MTIJfjAuNCBNQg0KNDI5CTEwMjQJfjEu NiBNQg0KODU3CTIwNDgJfjYuNyBNQg0KMTcxNAk0MDk2CX4yNiBNQg0KDQpPdmVyYWxsIGxvZ2lj DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClRoZSBvdmVyYWxsIGxvZ2ljIGlzIG5v dCBpbXBhY3RlZCAuIEkgZG8gbm90IGNoYW5nZSB0aGUgY29udGVudHMgb2YgbFtpXSBldmVuIHRo b3VnaCBpdCBnZXRzIHBvcHVsYXRlZCB0aHJvdWdoIHRoZSAyRCBBcnJheSANCnNyXzFkOTdfZmxv YXQgdXNpbmcgKmxpbmUgc2hvdWxkIG5vdCBiZSBpbXBhY3RlZA0KDQpJIGhhdmUgdmFsaWRhdGVk IHRoZSBDUkMgb2YgdGhlIG91dHB1dCBmaWxlIGZvciB0cmFuc2NvZGluZyB0aGUgZmlyc3QgMTUw MCBmcmFtZXMgb2YgdGVhcnMgb2YgU3RlZWwgd2l0aCBhbmQgd2l0aG91dCB0aGlzIGNoYW5nZSBh bmQgSSBhbSBhbHNvIGhhcHB5IHRvIGRvIGEgRGVtbyBpZiB0aGF0IGlzIGFuIG9wdGlvbi4NCg0K UGxlYXNlIGxldCB1cyBrbm93IHdoYXQgeW91IHRoaW5rIC4gVGhhbmtzIGZvciByZXZpZWluZyBv dXIgY29kZSENCiANClJlZ2FyZHMNCkNoaXRyYQ0KDQoNCg0KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1w ZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9m Zm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApm Zm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUi Lgo=