From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7D892C3ABBE for ; Thu, 8 May 2025 16:25:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 075886B0095; Thu, 8 May 2025 12:25:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F3C796B0098; Thu, 8 May 2025 12:25:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E03D86B0099; Thu, 8 May 2025 12:25:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id C0EF66B0095 for ; Thu, 8 May 2025 12:25:28 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 0E4E51A0A75 for ; Thu, 8 May 2025 16:25:30 +0000 (UTC) X-FDA: 83420266020.12.B4FFB03 Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.5]) by imf03.hostedemail.com (Postfix) with ESMTP id 1F43A20005 for ; Thu, 8 May 2025 16:25:26 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=fail ("body hash did not verify") header.d=163.com header.s=s110527 header.b="n xzou+Q"; dmarc=pass (policy=none) header.from=163.com; spf=pass (imf03.hostedemail.com: domain of 00107082@163.com designates 117.135.210.5 as permitted sender) smtp.mailfrom=00107082@163.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746721528; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=qJOOBhD4T1zy5xa0oFjprNl3lcSlCnZpVBpcfaWlR8E=; b=lxCQWhA048e9CkTKq0reYY06/6jnpYAjNREqRcIQ+ySZ9ebQ+qMrGlCT6gisx1wNp3BvMA /aLYgnEM6ConkbdLIhfw85qimigEsS45optNHjpB4A4mwG50spRxRF8fjDfWscvkKGx07L 9Ae4vEI7uN8xLk/aTmkj2W3eHvI2SgM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746721528; a=rsa-sha256; cv=none; b=EmNRJ88I0N5IBseYRORZMDNSi8oh3B3FcBfWs4E3j1x5dLVHfeDwf1vjNOabVmoANbEn4W hajbaGir2mi0OZpcEsCCmMvm93WJ+/8fDDxn9jNsz43dts29k0OaTLt2xBJzC+yQ3rYMqh KrjE5L3xWruysNvcnubo9Vl6R+sKL4U= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=fail ("body hash did not verify") header.d=163.com header.s=s110527 header.b="n xzou+Q"; dmarc=pass (policy=none) header.from=163.com; spf=pass (imf03.hostedemail.com: domain of 00107082@163.com designates 117.135.210.5 as permitted sender) smtp.mailfrom=00107082@163.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:To:Subject:Content-Type:MIME-Version: Message-ID; bh=UkwgHhshNrBIW5v26KrnXQWijc4ovCvqDKq7Gi3UGDQ=; b=n xzou+QY962hYc8iqa/hXrmI7NxiP3bPXLF4fspwemiD8MBSYFO8F1mRTad3VD8kW Urq6enpbvuZ0RFeTpjYplPZh3z+r7VPMnP//MbTqpvPHUPHZBAV8zcp+dtWCXFYY HXRNvgCAmW7PD6PyzM4HrZRDq8NEZOeh49mb0u39kQ= Received: from 00107082$163.com ( [111.35.191.17] ) by ajax-webmail-wmsvr-40-103 (Coremail) ; Fri, 9 May 2025 00:24:56 +0800 (CST) X-Originating-IP: [111.35.191.17] Date: Fri, 9 May 2025 00:24:56 +0800 (CST) From: "David Wang" <00107082@163.com> To: "Kent Overstreet" Cc: "Suren Baghdasaryan" , akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] alloc_tag: avoid mem alloc and iter reset when reading allocinfo X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.14 build 20240801(9da12a7b) Copyright (c) 2002-2025 www.mailtech.cn 163com In-Reply-To: References: <20250507175500.204569-1-00107082@163.com> <289b58f1.352d.196addbf31d.Coremail.00107082@163.com> <1ed4c8f7.3e12.196adf621a2.Coremail.00107082@163.com> <52tsrapmkfywv4kkdpravtfmxkhxchyua4wttpugihld4iws3r@atfgtbd5wwhx> X-NTES-SC: AL_Qu2fBPuZvkwi4CKQZukXn0oTju85XMCzuv8j3YJeN500tSTu1xw5Zm9ZHnDfws6lOxmhoAi0Xj5Pz8ZQTIhae68ZSy/k9f1HCyoOhxg83gbW Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=GBK MIME-Version: 1.0 Message-ID: <7bf1ee37.b6a4.196b0b6dce1.Coremail.00107082@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID:ZygvCgD3P+jZ2hxougYAAA--.393W X-CM-SenderInfo: qqqrilqqysqiywtou0bp/xtbB0hhHqmgcyMqBEAAMsM X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 1F43A20005 X-Rspam-User: X-Stat-Signature: x4gfzwq5zppk7u5ewz4tkjnmhqfyzm9h X-HE-Tag: 1746721526-242606 X-HE-Meta: U2FsdGVkX1/rhiwaNCT+njfSVEe917b5FStSfy1/CMemuWGirc6vfKlD63JZ+7dopLmLUfkVdVYYIHDNJ6n8NuxcRiML/p8aNZc1OHsHKliBFDL9H/M2S8gZL70nZyQQ/q3PI5Xi+ZqggGCrNug3Q1N3XwmwgbPluVz/2A32V1e3gtZQVY56gRzbUj0TlWFJtA2n2jWZcd4BjD+n3WyZkVGeX09ASIkGfp8MFI5739Oo75SBcmzNDlMC9VF7wj12iMr1K6lipilDwrGg4IeAFGXnPoSMTYMxVlATF6e2QJ541QX8vxBGnG1LzWPZmrKEnfVIzBl3Wm0u1O09yLt1Kdn+LRbS1WxznlrOo1ZFxPnYmOMTbGCnbJHJmQkgsgp35yS718+xxH9LJrq3DnONxH0fPSXR82aX9Av2bT/tjx8iuSGNUW/DvpayUP8nXjcp+bGVxFAibL55RchVpTk4LqexW83B+ETT8kl05cPeC532eGDW8IrkNPAAhYLOp6CBj8YxH1rfUOVuZan4NJTy1JsnynvxI2dnu/VwFMDKMFnY2q3Sgdk7gJDlZyhMJbNDVGh9SKGwrrIdDUcFed4XEC/JqFhNu0rpa5dI/hTzwxJhfgEIEwJ4MLQqy8lYntoIvyxw61JQUmK4EzFPfSn1xT+4+hG5fQXbE0zXm0WPXwJdvIj7CDT7GAkwYv3u+gW+pMwKakD42LJyT+9hkLlmHw2KOcKfQyKbAcW2R3cqUdiZCceeVVHd3lDZlEPcfoH234qT1G/Xm/XlZJ/1EMbEmHQSFwZO6S/FuJ8m1jtd2oxlKxSUG2I+t8PhcC83QmlztDDK+0grnIZgJwyuvUFkJ+CgSuF0PMqtgV3uJTAyAhwlPQ5UuyTmzrcrHZsMnjfGwDiGOrOZZuxC0/YVGjmf6uZb/H3EusfUBA2J1dELYlPlxS5+HZ0zewAPE+E1e2YutF5w395Ere2ec8KXCAU OUC2wqKB BITjrZklrtiF8C+xrVCwl+ntRwJeXQFs/INbZrI/mmHKknMwva+WLVXalsP2z49VQgUcH9U6lzlL1Gi3Zy69vx/QNNEifDwswJmTNnKohevOal9PzDQfmTXy4CNB3OX05iFwvdP++TTjcl097gSbFw3rNcnO2+rPrhKSVXvGlC6VQuGw9Y+5GfIs8FWpHr786m3VzhfiebrS3kkiMRuaCA1/lrnl8V2XI6P1GTqP314bsIdhyOCuZOYUdJtLr8Z8LFp4IRTFjuTzSF6ZSG7Up+01ZtgrqN0z9lYOU/Q5UqBdggcAuLv1j9sPKSWXK5X79IciphuzM7u4PmfxOuAheP+UOV/GMV3HOczfnG6Ugp3JyayUDXk3dOl4vA/0KdQffC1WSXJltpehNQVxOti/ZBn4wkW6CjBMBgbxNBY30HbP9Egbv2o87gSphO4mulGGMGu40J24+bTuK5Iq2v9vnY8lVXaSi6nPIUXnHG18VClacbNBOLghuiGA1LFd5MZJ9MWNeACnQOYEzWZ/KWMaC2t/BiV6m9J+lvLXKPwtt2DX5fCEO51Ip7z94h9kzKJ1alUIpELkU7NG2Wq0= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: QXQgMjAyNS0wNS0wOCAyMTozMzo1MCwgIktlbnQgT3ZlcnN0cmVldCIgPGtlbnQub3ZlcnN0cmVl dEBsaW51eC5kZXY+IHdyb3RlOgo+T24gVGh1LCBNYXkgMDgsIDIwMjUgYXQgMDE6NTE6NDhQTSAr MDgwMCwgRGF2aWQgV2FuZyB3cm90ZToKPj4gQXQgMjAyNS0wNS0wOCAxMjowNzo0MCwgIktlbnQg T3ZlcnN0cmVldCIgPGtlbnQub3ZlcnN0cmVldEBsaW51eC5kZXY+IHdyb3RlOgo+PiA+QW5vdGhl ciB0aGluZyB0byBub3RlIGlzIHRoYXQgbWVtb3J5IGxheW91dCAtIGF2b2lkaW5nIHBvaW50ZXIg Y2hhc2luZyAtCj4+ID5pcyBodWdlbHkgaW1wb3J0YW50LCBidXQgaXQnbGwgYWxtb3N0IG5ldmVy IHNob3cgdXAgYXMgYWxsb2NhdG9yIGNhbGxzLgo+PiA+Cj4+ID5UbyBnaXZlIHlvdSBzb21lIGV4 YW1wbGVzLCBtZW1wb29scyBhbmQgYmlvc2V0cyB1c2VkIHRvIGJlIHNlcGFyYXRlbHkKPj4gPmFs bG9jYXRlZC4gVGhpcyB3YXMgbWFpbmx5IHRvIG1ha2UgZXJyb3IgcGF0aHMgaW4gb3V0ZXIgb2Jq ZWN0Cj4+ID5jb25zdHJ1Y3RvcnMvZGVzdHJ1Y3RvcnMgZWFzaWVyIGFuZCBzYWZlcjogaW5zdGVh ZCBvZiBrZWVwaW5nIHRyYWNrIG9mCj4+ID53aGF0J3MgaW5pdGlhbGl6ZWQgYW5kIHdoYXQncyBu b3QsIGlmIHlvdSd2ZSBnb3QgYSBwb2ludGVyIHRvIGEKPj4gPm1lbXBvb2wvYmlvc2V0IHlvdSBj YWxsICpfZnJlZSgpIG9uIGl0Lgo+PiA+Cj4+ID4oUGVvcGxlIGhhZG4ndCB5ZXQgY2x1ZWQgdGhh dCB5b3UgY2FuIGp1c3Qga3phbGxvYygpIHRoZSBlbnRpcmUgb3V0ZXIKPj4gPm9iamVjdCwgYW5k IHRoZW4gaWYgdGhlIGlubmVyIG9iamVjdCBpcyB6ZXJvZWQgaXQgd2Fzbid0IGluaXRpYWxpemVk KS4KPj4gPgo+PiA+QnV0IHRoYXQgbWVhbnMgeW91J3JlIGFkZGluZyBhIHBvaW50ZXIgY2hhc2Ug dG8gZXZlcnkgbWVtcG9vbF9hbGxvYygpCj4+ID5jYWxsLCBhbmQgc2luY2UgYmlvc2V0IGl0c2Vs ZiBoYXMgbWVtcG9vbHMgYWxsb2NhdGluZyBiaW9zIGhhZCBfdHdvXwo+PiA+dW5uZWNlc3Nhcnkg cG9pbnRlciBkZXJlZnMuIFRoYXQncyBkZWF0aCBmb3IgcGVyZm9ybWFuY2Ugd2hlbiB5b3UncmUK Pj4gPnJ1bm5pbmcgY2FjaGUgY29sZCwgYnV0IHNpbmNlIGV2ZXJ5b25lIGJlbmNobWFya3MgY2Fj aGUtaG90Li4uCj4+ID4KPj4gPihJIHdhcyB0aGUgb25lIHdobyBmaXhlZCB0aGF0KS4KPj4gPgo+ PiA+QW5vdGhlciBiaWcgb25lIHdhcyBnZW5lcmljX2ZpbGVfYnVmZmVyZWRfcmVhZCgpLiBNYWlu IGJ1ZmZlcmVkIHJlYWQKPj4gPnBhdGgsIGV2ZXJ5b25lIHdhbnRzIGl0IHRvIGJlIGFzIGZhc3Qg YXMgcG9zc2libGUuCj4+ID4KPj4gPkJ1dCB0aGUgY29yZSBpcyAod2FzKSBhIGxvb3AgdGhhdCB3 YWxrcyB0aGUgcGFnZWNhY2hlIHJhZGl4IHRyZWUgdG8gZ2V0Cj4+ID50aGUgcGFnZSwgdGhlbiBj b3BpZXMgNGsgb2YgZGF0YSBvdXQgdG8gdXNlcnNwYWNlICh0aGVyZSBnb2VzIGwxKSwgdGhlbgo+ PiA+cmVwZWF0cyBhbGwgdGhhdCBwb2ludGVyIGNoYXNpbmcgZm9yIHRoZSBuZXh0IDRrLiBQcmUg bGFyZ2UgZm9saW9zLCBpdAo+PiA+d2FzIGhvcnJpZmljLgo+PiA+Cj4+ID5Tb2x1dGlvbiAtIHZl Y3Rvcml6ZSBpdC4gTG9vayB1cCBhbGwgdGhlIHBhZ2VzIHdlJ3JlIGNvcHlpbmcgZnJvbSBhbGwg YXQKPj4gPm9uY2UsIHN0dWZmIHRoZW0gaW4gYSAoZHluYW1pY2FsbHkgYWxsb2NhdGVkISBmb3Ig ZWFjaCByZWFkISkgdmVjdG9yLAo+PiA+YW5kIHRoZW4gZG8gdGhlIGNvcHlpbmcgb3V0IHRvIHVz ZXJzcGFjZSBhbGwgYXQgb25jZS4gTWFzc2l2ZQo+PiA+cGVyZm9ybWFuY2UgZ2Fpbi4KPj4gPgo+ PiA+T2YgY291cnNlLCB0byBkbyB0aGF0IEkgZmlyc3QgaGFkIHRvIGNsZWFuIHVwIGEgdGFuZ2xl ZCAyNTArIGxpbmUKPj4gPm1vbnN0cm9zaXR5IG9mIGhhbGYgYmFrZWQsIHBvb3JseSB0aG91Z2h0 IG91dCAib3B0aW1pemF0aW9ucyIgKHRoZSB3b3JzdAo+PiA+c3BhZ2hldHRpIG9mIGdvdG9zIHlv dSdkIGV2ZXIgc2VlbikgYW5kIHR1cm4gaXQgaW50byBzb21ldGhpbmcKPj4gPm1hbmFnZWFibGUu Li4KPj4gPgo+PiA+U28gLSBrZWVwIHRoaW5ncyBzaW1wbGUsIGRvbid0IG92ZXJ0aGluayB0aGUg bGl0dGxlIHN0dWZmLCBzbyB5b3UgY2FuCj4+ID5zcG90IGFuZCB0YWNrbGUgdGhlIGJpZyBhbGdv cml0aG1pYyB3aW5zIDopCj4+IEkgd2lsbCBrZWVwIHRoaXMgaW4gbWluZH4hIDopCj4+IAo+PiBB bmQgdGhhbmtzIGZvciB0aGUgZW5saWdodGVuaW5nIG5vdGVzfiEhIAo+PiAKPj4gVGhvdWdoIEkg Y291bGQgbm90IHF1aXRlIGNhdGNoIHVwIHdpdGggdGhlIGZpcnN0IG9uZSwgIEkgdGhpbmsgSSBn b3QKPj4gdGhlIHBvaW50OiBhdm9pZCB1bm5lY2Vzc2FyeSBwb2ludGVyIGNoYXNpbmcgYW5kICBr ZWVwIHRoZSBwb2ludGVyCj4+IGNoYXNpbmcgYXMgc2hvcnQoYmFsYW5jZWQpIGFzIHBvc3NpYmxl fiAKPgo+VG8gaWxsdXN0cmF0ZSAtIERSQU0gbGF0ZW5jeSBpcyAzMC03MG4uCj4KPkF0IDRHSHos IHRoYXQncyAxMjAtMjgwIGN5Y2xlcywgYW5kIGEgcHJvcGVybHkgZmVkIENQVSBjYW4gZG8gbXVs dGlwbGUKPmluc3RydWN0aW9ucyBwZXIgY2xvY2sgLSBzbyBhIGNhY2hlIG1pc3MgYWxsIHRoZSB3 YXkgdG8gRFJBTSBjYW4gY29zdAo+eW91IGh1bmRyZWRzIG9mIGluc3RydWN0aW9ucy4KCk9oLCBJ IHVuZGVyc3RhbmQgY2FjaGUgbWlzcyBpcyBiYWQsIGl0IGlzIHRoZSAibWVtcG9vbHMgYW5kIGJp b3NldHMiIEkKdGhhdCBJIGhhdmUgaGFyZCB0aW1lIHRvIGNvbm5lY3QgZG90cyB3aXRoLCBkdWUg dG8gbGFjayBvZiBrbm93bGVkZ2UuLi4uLgoKCj4KPj4gVGhlIHNlY29uZCBvbmUsIGFib3V0IGNv cHkgNGsgYnkgNGssIHNlZW1zICBxdWl0ZSBzaW1pbGFyIHRvIHNlcV9maWxlLAo+PiBhdCBsZWFz dCB0aGUgIjRrIiBwYXJ0LCBsaXRlcmFsbHkuIHNlcV9maWxlIHJlYWQoKSAgZGVmYXVsdHMgdG8g YWxsb2MKPj4gNGsgYnVmZmVyLCBhbmQgcmVhZCBkYXRhIHVudGlsIEVPRiBvciB0aGUgNGsgYnVm ZmVyIGlzIGZ1bGwsICAgYW5kCj4+IHN0YXJ0IG92ZXIgYWdhaW4gZm9yIHRoZSBuZXh0IHJlYWQo KS4gICAKPj4KPj4gT25lIHNvbHV0aW9uIGNvdWxkIGJlIG1ha2UgY2hhbmdlcyB0byBzZXFfZmls ZSwgZG8gbm90IHN0b3AgdW50aWwgdXNlcgo+PiBidWZmZXIgaXMgZnVsbCBmb3IgZWFjaCByZWFk LiBraW5kIG9mIHNpbWlsYXIgdG8geW91ciBzZWNvbmQgbm90ZSwgaW4KPj4gYSBzZXF1ZW50aWFs IHN0eWxlLCAgSSB0aGluay4KPj4KPj4gSWYgIHVzZXIgcmVhZCB3aXRoIDEyOEsgYnVmZmVyLCAg YW5kIHNlcV9maWxlIGZpbGwgdGhlIGJ1ZmZlciA0ayBieQo+PiA0aywgaXQgd291bGQgb25seSBu ZWVkIH4zIHJlYWQgY2FsbHMgZm9yIGFsbG9jaW5mby4gKEkgZGlkIHBvc3QgYQo+PiBwYXRjaCBm b3Igc2VxX2ZpbGUgdG8gZmlsbCB1c2VyIGJ1ZmZlciwgYnV0IHN0YXJ0L3N0b3Agc3RpbGwgaGFw cGVucwo+PiBhdCAgNGsgYm91bmRhcnkgLCBzbyBubyBoZWxwIGZvciAKPj4gdGhlIGl0ZXJhdG9y IHJld2luZGluZyB3aGVuIHJlYWQgL3Byb2MvYWxsb2NpbmZvIHlldC4KPj4gaHR0cHM6Ly9sb3Jl Lmtlcm5lbC5vcmcvbGttbC8yMDI0MTIyMDE0MDgxOS45ODg3LTEtMDAxMDcwODJAMTYzLmNvbS8g KQo+PiBUaGUgc29sdXRpb24gaW4gdGhpcyBwYXRjaCBpcyBrZWVwaW5nIHRoZSBpdGVyYXRvciBh bGl2ZSBhbmQgdmFsaWQKPj4gY3Jvc3MgcmVhZCBib3VuZGFyeSwgdGhpcyBjYW4gIGFsc28gYXZv aWQgdGhlIGNvc3QgZm9yIGVhY2ggc3RhcnQKPj4gb3Zlci4KPgo+VGhlIGZpcnN0IHF1ZXN0aW9u IGlzIC0gZG9lcyBpdCBtYXR0ZXI/IElmIHRoZSBvcHRpbWl6YXRpb24gaXMganVzdCBmb3IKPi9w cm9jL2FsbG9jaW5mbywgd2hvJ3MgcmVhZGluZyBpdCBhdCBhIGhpZ2ggZW5vdWdoIHJhdGUgdGhh dCB3ZSBjYXJlPwo+Cj5JZiBpdCdzIG9ubHkgYmVpbmcgdXNlZCBpbnRlcmFjdGl2ZWx5LCBpdCBk b2Vzbid0IG1hdHRlci4gSWYgaXQncyBiZWluZwo+cmVhZCBhdCBhIGhpZ2ggcmF0ZSBieSBzb21l IHNvcnQgb2YgcHJvZmlsaW5nIHByb2dyYW0sIHdlJ2Qgd2FudCB0byBza2lwCj50aGUgdGV4dCBp bnRlcmZhY2UgZW50aXJlbHkgYW5kIGFkZCBhbiBpb2N0bCB0byByZWFkIHRoZSBkYXRhIG91dCBp biBhCj5iaW5hcnkgZm9ybWF0LgouLi5eX14sIEFjdHVhbGx5LCBJIGhhdmUgYmVlbiBydW5uaW5n IHRvb2xzIHBhcnNpbmcgL3Byb2MvYWxsb2NpbmZvIGV2ZXJ5IDUgc2Vjb25kcwosYW5kIGZlZWRp bmcgZGF0YSB0byBhIHByb21ldGhldXMgc2VydmVyIGZvciBhIHF1aXRlIGxvbmcgd2hpbGUuLi4K NSBzZWNvbmRzIHNlZW1zIG5vdCB0aGF0IGZyZXF1ZW50LCBidXQgSSBhbHNvIGhhdmUgYWxsIG90 aGVyIHByb2MgZmlsZXMgdG8gcmVhZCwgCkkgd291bGQgbGlrZSBvcHRpbWl6YXRpb24gZm9yIGFs bCB0aGUgcHJvYyBmaWxlcy4uLi4uLgoKSW9jdGwgb3Igb3RoZXIgYmluYXJ5IGludGVyZmFjZXMg YXJlIGluZGVlZCBtb3JlIGVmZmljaWVudCwgYnV0IG1vc3QgYXJlCm5vdCB3ZWxsIGRvY3VtZW50 ZWQsIHdoaWxlIG1vc3QgcHJvYyBmaWxlcyBhcmUgc2VsZi1kb2N1bWVudGVkLiBJZiBwcm9jIGZp bGVzCmFyZSBlZmZpY2llbnQgZW5vdWdoLCBJIHRoaW5rIEkgd291bGQgc3RheSB3aXRoIHByb2Mg ZmlsZXMgZXZlbiB3aXRoIGEgYmluYXJ5CmludGVyZmFjZSBhbHRlcm5hdGUgdGVucyBvZiBmb2xk IGZhc3Rlci4KCgo+Cj5UaGUgaWRlYSBvZiBjaGFuZ2luZyBzZXFfZmlsZSB0byBjb250aW51ZSB1 bnRpbCB0aGUgdXNlciBidWZmZXIgaXMgZnVsbAo+LSB0aGF0J2QgYmUgYSBnb29kIG9uZSwgaWYg eW91J3JlIG1ha2luZyBjaGFuZ2VzIHRoYXQgYmVuZWZpdCBhbGwKPnNlcV9maWxlIHVzZXJzLgpJ IGRpZCBtYWtlIHRoYXQgcGF0Y2gsIEkgdGhpbmsgSSBhbSBzdGlsbCB3YWl0aW5nIGZlZWRiYWNr Li4uLi4uCgo=