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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5ABF0CCD187 for ; Thu, 9 Oct 2025 13:05:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=e1KQFKQjHA9Q4rOBP1Wrkm5pqbzomLvhwztaRcWMGdw=; b=IX7po3IFr8mxJd MBs9M/EHVp97aIRB+yI1y7Lctsz4I6a+ai5FDWABiPK37KPO+SiXRtuR5L7l8zqtAUyRZLOXNOCJi GkDpSG/udlqBIxOi6hAF1wvAs28iAtwAWpSDI3MtfzOfivSPmwIbp1yoe9esIDxcSJFSeWa2PQ1Ms SzmCGQt90dTM2t2+AJ8LVWftkVzUqQ+Ml4z4k/FJ6XOtYkibibJnPPNEOd4V5WpcYjC2c8CK8vzZA V78YzpmlJAkQnZ7F8ZzedrsWI7+MITfQlsJQ/2IA/GtobTQAr1mBGCkTugNuhFHr/qnOO+P0JcJG8 jahxdRqYGgUKAJb0xjRA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1v6qKf-00000006B7t-1Q0Q; Thu, 09 Oct 2025 13:05:21 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1v6qKb-00000006B5Y-0BoN for linux-riscv@lists.infradead.org; Thu, 09 Oct 2025 13:05:19 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1760015115; h=from:from: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:autocrypt:autocrypt; bh=oTHo4iuJRNf/FsWLVapxfI0HO0lapgIr2CMWX1RNMGw=; b=Tpz7N4jz6iIdYwVk4kJn2T+buAxBp8YBQh22nIsTvejWPt+8lUzckh90Q2N57hCEuumiI1 FHLWEZAEyfVktvUqpGsAjD99xGLNrVEi2tChZU/7JmOMVBRA4dl5T5bYb9q/sgF90yemam zS+mGByG9fyvhR80p8uJeoQn9UNZujQ= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-315-bglc0IbONCGIEobstmY8bg-1; Thu, 09 Oct 2025 09:05:14 -0400 X-MC-Unique: bglc0IbONCGIEobstmY8bg-1 X-Mimecast-MFC-AGG-ID: bglc0IbONCGIEobstmY8bg_1760015113 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-46e38bd6680so6377445e9.1 for ; Thu, 09 Oct 2025 06:05:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760015113; x=1760619913; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :from:references:cc:to:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=oTHo4iuJRNf/FsWLVapxfI0HO0lapgIr2CMWX1RNMGw=; b=qQMvk3nLJwNE2HIGdJT3Cl3sbVg/CXdUiDFi9KNIlC89RniHUFa8URpx4BsoNOnDH/ L84T6a9JpYJzJGY9yBpTVwlbBXZo61xLOnTN0m1jxUZTf6eYjctE1pGYvBEV6ZMTgKUr l9CKB9TxdyAZz7Ct25SwMQavlJcKdtX90RfTYPLLS39mWUzejLVl1melbIKg0UOwVx8t FjOtnamOOpXOWyoioAjmNjShHqr3QcSB7IyBQjds7BBvQU6HcS2Sj7zXtzI9cxygI3eQ 6J9Iy4A8St/LHr4bJWXnVvaXdGiG5u61qnmLuFTn5jKvI/N0n0Mp70BSh5KWDqHuHpUT usZg== X-Forwarded-Encrypted: i=1; AJvYcCWRuwN8TftYpC2dRIhwZRLmUmYPITCHs6IMWmmA9DGcvAV87drIuCj3jsLXfujlIELCkViOmE6wDLvJrw==@lists.infradead.org X-Gm-Message-State: AOJu0YzFg35uIMkcBcB2riWkoioYDIrVdI1cCiIwfN2Re8IryfE5Wrff 0yFoBmdVxne+tykDuwOED8HksX2FGRG8ZjSDLA03mabrIA5x0Lft/ADbb1pTZ06kKfXrpytG3qS Ai8wdewfo12bJadP504igsoYrLMSo80HIbmaHsBpeOV2gGZ56Wkf/zgyINMRJyoqFF5V9GA== X-Gm-Gg: ASbGnctIM66sOdDtmUfLKTdKYhz1J1LmIJ8Kx51AGbQmNVlDqqUreQJ0KOc/MlyWyoz sL9VJ9tUJaT1KOneFaTi3gcuFM9OvzYOsDUrxkpyNCl4anvwtp1/Q8cjpmWU0KdZNyI8RSrfZV6 Yi5p53126M/tz2JzlkUnPd1T1yli9ijaSJ8jyRL+lgE6P4xl44BZs3XAF50qJpblcgax3HwjK39 b7IJLA81I1SVu3XhxTNgGPojB9xRJSDs1LZrAcmbsuzBJRCnWrJtkGwQg/1CJwcw5Z3wcs85ZE1 Ay2QjATG3r5it3045xkfXY5ktxmdGx7JgAtXOXeW+4+tB+1NRPgObnig9TbRzX2gHOtBv0EIc0P 4Kesmz44A X-Received: by 2002:a05:600c:83c9:b0:46f:b42e:edd0 with SMTP id 5b1f17b1804b1-46fb42eee2emr2581145e9.41.1760015112980; Thu, 09 Oct 2025 06:05:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH6MQEGKTHH3lQ2c+ldeRR4aSAzt+sOKbg+VkML9CB8VKORVPmv1RemKtJCCw7qNufQ/ws5mg== X-Received: by 2002:a05:600c:83c9:b0:46f:b42e:edd0 with SMTP id 5b1f17b1804b1-46fb42eee2emr2580495e9.41.1760015112341; Thu, 09 Oct 2025 06:05:12 -0700 (PDT) Received: from [192.168.3.141] (tmo-083-189.customers.d1-online.com. [80.187.83.189]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-46faf112fdbsm47591035e9.8.2025.10.09.06.05.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 09 Oct 2025 06:05:11 -0700 (PDT) Message-ID: Date: Thu, 9 Oct 2025 15:05:06 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: (bisected) [PATCH v2 08/37] mm/hugetlb: check for unreasonable folio sizes when registering hstate To: Christophe Leroy , linux-kernel@vger.kernel.org Cc: Zi Yan , Lorenzo Stoakes , "Liam R. Howlett" , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, "linuxppc-dev@lists.ozlabs.org" References: <20250901150359.867252-1-david@redhat.com> <20250901150359.867252-9-david@redhat.com> <3e043453-3f27-48ad-b987-cc39f523060a@csgroup.eu> <9361c75a-ab37-4d7f-8680-9833430d93d4@redhat.com> <03671aa8-4276-4707-9c75-83c96968cbb2@csgroup.eu> <1db15a30-72d6-4045-8aa1-68bd8411b0ba@redhat.com> <0c730c52-97ee-43ea-9697-ac11d2880ab7@csgroup.eu> <543e9440-8ee0-4d9e-9b05-0107032d665b@redhat.com> <4632e721-0ac8-4d72-a8ed-e6c928eee94d@csgroup.eu> From: David Hildenbrand Autocrypt: addr=david@redhat.com; keydata= xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY qIws/H2t In-Reply-To: <4632e721-0ac8-4d72-a8ed-e6c928eee94d@csgroup.eu> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: ZjWhoWzXoaZz40CtXOvNQq7cfPaMf0lg_WlMehmZd2Q_1760015113 X-Mimecast-Originator: redhat.com Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20251009_060517_240037_AF339A54 X-CRM114-Status: GOOD ( 19.37 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gMDkuMTAuMjUgMTQ6MDgsIENocmlzdG9waGUgTGVyb3kgd3JvdGU6Cj4gCj4gCj4gTGUgMDkv MTAvMjAyNSDDoCAxMjoyNywgRGF2aWQgSGlsZGVuYnJhbmQgYSDDqWNyaXTCoDoKPj4gT24gMDku MTAuMjUgMTI6MDEsIENocmlzdG9waGUgTGVyb3kgd3JvdGU6Cj4+Pgo+Pj4KPj4+IExlIDA5LzEw LzIwMjUgw6AgMTE6MjAsIERhdmlkIEhpbGRlbmJyYW5kIGEgw6ljcml0wqA6Cj4+Pj4gT24gMDku MTAuMjUgMTE6MTYsIENocmlzdG9waGUgTGVyb3kgd3JvdGU6Cj4+Pj4+Cj4+Pj4+Cj4+Pj4+IExl IDA5LzEwLzIwMjUgw6AgMTA6MTQsIERhdmlkIEhpbGRlbmJyYW5kIGEgw6ljcml0wqA6Cj4+Pj4+ PiBPbiAwOS4xMC4yNSAxMDowNCwgQ2hyaXN0b3BoZSBMZXJveSB3cm90ZToKPj4+Pj4+Pgo+Pj4+ Pj4+Cj4+Pj4+Pj4gTGUgMDkvMTAvMjAyNSDDoCAwOToyMiwgRGF2aWQgSGlsZGVuYnJhbmQgYSDD qWNyaXTCoDoKPj4+Pj4+Pj4gT24gMDkuMTAuMjUgMDk6MTQsIENocmlzdG9waGUgTGVyb3kgd3Jv dGU6Cj4+Pj4+Pj4+PiBIaSBEYXZpZCwKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBMZSAwMS8wOS8yMDI1 IMOgIDE3OjAzLCBEYXZpZCBIaWxkZW5icmFuZCBhIMOpY3JpdMKgOgo+Pj4+Pj4+Pj4+IGRpZmYg LS1naXQgYS9tbS9odWdldGxiLmMgYi9tbS9odWdldGxiLmMKPj4+Pj4+Pj4+PiBpbmRleCAxZTc3 N2NjNTFhZDA0Li5kMzU0MmU5MmE3MTJlIDEwMDY0NAo+Pj4+Pj4+Pj4+IC0tLSBhL21tL2h1Z2V0 bGIuYwo+Pj4+Pj4+Pj4+ICsrKyBiL21tL2h1Z2V0bGIuYwo+Pj4+Pj4+Pj4+IEBAIC00NjU3LDYg KzQ2NTcsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBodWdldGxiX2luaXQodm9pZCkKPj4+Pj4+Pj4+ PiAgwqDCoMKgwqDCoMKgwqDCoMKgIEJVSUxEX0JVR19PTihzaXplb2ZfZmllbGQoc3RydWN0IHBh Z2UsIHByaXZhdGUpICoKPj4+Pj4+Pj4+PiBCSVRTX1BFUl9CWVRFIDwKPj4+Pj4+Pj4+PiAgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX05SX0hQQUdFRkxBR1MpOwo+Pj4+Pj4+ Pj4+ICvCoMKgwqAgQlVJTERfQlVHX09OX0lOVkFMSUQoSFVHRVRMQl9QQUdFX09SREVSID4gTUFY X0ZPTElPX09SREVSKTsKPj4+Pj4+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgIGlmICghaHVnZXBh Z2VzX3N1cHBvcnRlZCgpKSB7Cj4+Pj4+Pj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGlmIChodWdldGxiX21heF9oc3RhdGUgfHwKPj4+Pj4+Pj4+PiBkZWZhdWx0X2hzdGF0ZV9tYXhf aHVnZV9wYWdlcykKPj4+Pj4+Pj4+PiBAQCAtNDc0MCw2ICs0NzQxLDcgQEAgdm9pZCBfX2luaXQg aHVnZXRsYl9hZGRfaHN0YXRlKHVuc2lnbmVkIGludAo+Pj4+Pj4+Pj4+IG9yZGVyKQo+Pj4+Pj4+ Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+Pj4+Pj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAg QlVHX09OKGh1Z2V0bGJfbWF4X2hzdGF0ZSA+PSBIVUdFX01BWF9IU1RBVEUpOwo+Pj4+Pj4+Pj4+ ICDCoMKgwqDCoMKgwqDCoMKgwqAgQlVHX09OKG9yZGVyIDwgb3JkZXJfYmFzZV8yKF9fTlJfVVNF RF9TVUJQQUdFKSk7Cj4+Pj4+Pj4+Pj4gK8KgwqDCoCBXQVJOX09OKG9yZGVyID4gTUFYX0ZPTElP X09SREVSKTsKPj4+Pj4+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgIGggPSAmaHN0YXRlc1todWdl dGxiX21heF9oc3RhdGUrK107Cj4+Pj4+Pj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoCBfX211dGV4 X2luaXQoJmgtPnJlc2l6ZV9sb2NrLCAicmVzaXplIG11dGV4IiwgJmgtCj4+Pj4+Pj4+Pj4+IHJl c2l6ZV9rZXkpOwo+Pj4+Pj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgaC0+b3JkZXIgPSBvcmRl cjsKPj4+Pj4+Pj4KPj4+Pj4+Pj4gV2UgZW5kIHVwIHJlZ2lzdGVyaW5nIGh1Z2V0bGIgZm9saW9z IHRoYXQgYXJlIGJpZ2dlciB0aGFuCj4+Pj4+Pj4+IE1BWF9GT0xJT19PUkRFUi4gU28gd2UgaGF2 ZSB0byBmaWd1cmUgb3V0IGhvdyBhIGNvbmZpZyBjYW4gdHJpZ2dlcgo+Pj4+Pj4+PiB0aGF0Cj4+ Pj4+Pj4+IChhbmQgaWYgd2UgaGF2ZSB0byBzdXBwb3J0IHRoYXQpLgo+Pj4+Pj4+Pgo+Pj4+Pj4+ Cj4+Pj4+Pj4gTUFYX0ZPTElPX09SREVSIGlzIGRlZmluZWQgYXM6Cj4+Pj4+Pj4KPj4+Pj4+PiAj aWZkZWYgQ09ORklHX0FSQ0hfSEFTX0dJR0FOVElDX1BBR0UKPj4+Pj4+PiAjZGVmaW5lIE1BWF9G T0xJT19PUkRFUsKgwqDCoMKgwqDCoMKgIFBVRF9PUkRFUgo+Pj4+Pj4+ICNlbHNlCj4+Pj4+Pj4g I2RlZmluZSBNQVhfRk9MSU9fT1JERVLCoMKgwqDCoMKgwqDCoCBNQVhfUEFHRV9PUkRFUgo+Pj4+ Pj4+ICNlbmRpZgo+Pj4+Pj4+Cj4+Pj4+Pj4gTUFYX1BBR0VfT1JERVIgaXMgdGhlIGxpbWl0IGZv ciBkeW5hbWljIGNyZWF0aW9uIG9mIGh1Z2VwYWdlcyB2aWEKPj4+Pj4+PiAvc3lzL2tlcm5lbC9t bS9odWdlcGFnZXMvIGJ1dCBiaWdnZXIgcGFnZXMgY2FuIGJlIGNyZWF0ZWQgYXQgYm9vdHRpbWUK Pj4+Pj4+PiB3aXRoIGtlcm5lbCBib290IHBhcmFtZXRlcnMgd2l0aG91dCBDT05GSUdfQVJDSF9I QVNfR0lHQU5USUNfUEFHRToKPj4+Pj4+Pgo+Pj4+Pj4+ICDCoMKgwqDCoMKgIGh1Z2VwYWdlc3o9 NjRtIGh1Z2VwYWdlcz0xIGh1Z2VwYWdlc3o9MjU2bSBodWdlcGFnZXM9MQo+Pj4+Pj4+Cj4+Pj4+ Pj4gR2l2ZXM6Cj4+Pj4+Pj4KPj4+Pj4+PiBIdWdlVExCOiByZWdpc3RlcmVkIDEuMDAgR2lCIHBh Z2Ugc2l6ZSwgcHJlLWFsbG9jYXRlZCAwIHBhZ2VzCj4+Pj4+Pj4gSHVnZVRMQjogMCBLaUIgdm1l bW1hcCBjYW4gYmUgZnJlZWQgZm9yIGEgMS4wMCBHaUIgcGFnZQo+Pj4+Pj4+IEh1Z2VUTEI6IHJl Z2lzdGVyZWQgNjQuMCBNaUIgcGFnZSBzaXplLCBwcmUtYWxsb2NhdGVkIDEgcGFnZXMKPj4+Pj4+ PiBIdWdlVExCOiAwIEtpQiB2bWVtbWFwIGNhbiBiZSBmcmVlZCBmb3IgYSA2NC4wIE1pQiBwYWdl Cj4+Pj4+Pj4gSHVnZVRMQjogcmVnaXN0ZXJlZCAyNTYgTWlCIHBhZ2Ugc2l6ZSwgcHJlLWFsbG9j YXRlZCAxIHBhZ2VzCj4+Pj4+Pj4gSHVnZVRMQjogMCBLaUIgdm1lbW1hcCBjYW4gYmUgZnJlZWQg Zm9yIGEgMjU2IE1pQiBwYWdlCj4+Pj4+Pj4gSHVnZVRMQjogcmVnaXN0ZXJlZCA0LjAwIE1pQiBw YWdlIHNpemUsIHByZS1hbGxvY2F0ZWQgMCBwYWdlcwo+Pj4+Pj4+IEh1Z2VUTEI6IDAgS2lCIHZt ZW1tYXAgY2FuIGJlIGZyZWVkIGZvciBhIDQuMDAgTWlCIHBhZ2UKPj4+Pj4+PiBIdWdlVExCOiBy ZWdpc3RlcmVkIDE2LjAgTWlCIHBhZ2Ugc2l6ZSwgcHJlLWFsbG9jYXRlZCAwIHBhZ2VzCj4+Pj4+ Pj4gSHVnZVRMQjogMCBLaUIgdm1lbW1hcCBjYW4gYmUgZnJlZWQgZm9yIGEgMTYuMCBNaUIgcGFn ZQo+Pj4+Pj4KPj4+Pj4+IEkgdGhpbmsgaXQncyBhIHZpb2xhdGlvbiBvZiBDT05GSUdfQVJDSF9I QVNfR0lHQU5USUNfUEFHRS4gVGhlCj4+Pj4+PiBleGlzdGluZwo+Pj4+Pj4gZm9saW9fZHVtcCgp IGNvZGUgd291bGQgbm90IGhhbmRsZSBpdCBjb3JyZWN0bHkgYXMgd2VsbC4KPj4+Pj4KPj4+Pj4g SSdtIHRyeWluZyB0byBkaWcgaW50byBoaXN0b3J5IGFuZCB3aGVuIGxvb2tpbmcgYXQgY29tbWl0 IDRlYjA3MTZlODY4ZQo+Pj4+PiAoImh1Z2V0bGI6IGFsbG93IHRvIGZyZWUgZ2lnYW50aWMgcGFn ZXMgcmVnYXJkbGVzcyBvZiB0aGUKPj4+Pj4gY29uZmlndXJhdGlvbiIpIEkgdW5kZXJzdGFuZCB0 aGF0IENPTkZJR19BUkNIX0hBU19HSUdBTlRJQ19QQUdFIGlzCj4+Pj4+IG5lZWRlZCB0byBiZSBh YmxlIHRvIGFsbG9jYXRlIGdpZ2FudGljIHBhZ2VzIGF0IHJ1bnRpbWUuIEl0IGlzIG5vdAo+Pj4+ PiBuZWVkZWQgdG8gcmVzZXJ2ZSBnaWdhbnRpYyBwYWdlcyBhdCBib290dGltZS4KPj4+Pj4KPj4+ Pj4gV2hhdCBhbSBJIG1pc3NpbmcgPwo+Pj4+Cj4+Pj4gVGhhdCBDT05GSUdfQVJDSF9IQVNfR0lH QU5USUNfUEFHRSBoYXMgbm90aGluZyBydW50aW1lLXNwZWNpZmljIGluIGl0cwo+Pj4+IG5hbWUu Cj4+Pgo+Pj4gSW4gaXRzIG5hbWUgZm9yIHN1cmUsIGJ1dCB0aGUgY29tbWl0IEkgbWVudGlvbiBz YXlzOgo+Pj4KPj4+ICDCoMKgwqDCoMKgIE9uIHN5c3RlbXMgd2l0aG91dCBDT05USUdfQUxMT0Mg YWN0aXZhdGVkIGJ1dCB0aGF0IHN1cHBvcnQgZ2lnYW50aWMKPj4+IHBhZ2VzLAo+Pj4gIMKgwqDC oMKgwqAgYm9vdHRpbWUgcmVzZXJ2ZWQgZ2lnYW50aWMgcGFnZXMgY2FuIG5vdCBiZSBmcmVlZCBh dCBhbGwuwqAgVGhpcwo+Pj4gcGF0Y2gKPj4+ICDCoMKgwqDCoMKgIHNpbXBseSBlbmFibGVzIHRo ZSBwb3NzaWJpbGl0eSB0byBoYW5kIGJhY2sgdGhvc2UgcGFnZXMgdG8gbWVtb3J5Cj4+PiAgwqDC oMKgwqDCoCBhbGxvY2F0b3IuCj4+Cj4+IFJpZ2h0LCBJIHRoaW5rIGl0IHdhcyBhIGhpc3Rvcmlj YWwgYXJ0aWZhY3QuCj4+Cj4+Pgo+Pj4gQW5kIG9uZSBvZiB0aGUgaHVua3MgaXM6Cj4+Pgo+Pj4g ZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvS2NvbmZpZyBiL2FyY2gvYXJtNjQvS2NvbmZpZwo+Pj4g aW5kZXggN2Y3ZmJkOGJkOWQ1Yi4uN2ExYWE1M2QxODhkMyAxMDA2NDQKPj4+IC0tLSBhL2FyY2gv YXJtNjQvS2NvbmZpZwo+Pj4gKysrIGIvYXJjaC9hcm02NC9LY29uZmlnCj4+PiBAQCAtMTksNyAr MTksNyBAQCBjb25maWcgQVJNNjQKPj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgc2VsZWN0IEFSQ0hf SEFTX0ZBU1RfTVVMVElQTElFUgo+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoCBzZWxlY3QgQVJDSF9I QVNfRk9SVElGWV9TT1VSQ0UKPj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgc2VsZWN0IEFSQ0hfSEFT X0dDT1ZfUFJPRklMRV9BTEwKPj4+IC3CoMKgwqDCoMKgwqAgc2VsZWN0IEFSQ0hfSEFTX0dJR0FO VElDX1BBR0UgaWYgQ09OVElHX0FMTE9DCj4+PiArwqDCoMKgwqDCoMKgIHNlbGVjdCBBUkNIX0hB U19HSUdBTlRJQ19QQUdFCj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgIHNlbGVjdCBBUkNIX0hBU19L Q09WCj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgIHNlbGVjdCBBUkNIX0hBU19LRUVQSU5JVFJECj4+ PiAgwqDCoMKgwqDCoMKgwqDCoMKgIHNlbGVjdCBBUkNIX0hBU19NRU1CQVJSSUVSX1NZTkNfQ09S RQo+Pj4KPj4+IFNvIEkgdW5kZXJzdGFuZCBmcm9tIHRoZSBjb21taXQgbWVzc2FnZSB0aGF0IGl0 IHdhcyBwb3NzaWJsZSBhdCB0aGF0Cj4+PiB0aW1lIHRvIGhhdmUgZ2lnYW50aWMgcGFnZXMgd2l0 aG91dCBBUkNIX0hBU19HSUdBTlRJQ19QQUdFIGFzIGxvbmcgYXMKPj4+IHlvdSBkaWRuJ3QgaGF2 ZSB0byBiZSBhYmxlIHRvIGZyZWUgdGhlbSBkdXJpbmcgcnVudGltZS4KPj4KPj4gWWVzLCBJIGFn cmVlLgo+Pgo+Pj4KPj4+Pgo+Pj4+IENhbid0IHdlIGp1c3Qgc2VsZWN0IENPTkZJR19BUkNIX0hB U19HSUdBTlRJQ19QQUdFIGZvciB0aGUgcmVsZXZhbnQKPj4+PiBodWdldGxiIGNvbmZpZyB0aGF0 IGFsbG93cyBmb3IgKmdpZ2FudGljIHBhZ2VzKi4KPj4+Pgo+Pj4KPj4+IFdlIHByb2JhYmx5IGNh biwgYnV0IEknZCByZWFsbHkgbGlrZSB0byB1bmRlcnN0YW5kIGhpc3RvcnkgYW5kIGhvdyB3ZQo+ Pj4gZW5kZWQgdXAgaW4gdGhlIHNpdHVhdGlvbiB3ZSBhcmUgbm93Lgo+Pj4gQmVjYXVzZSBibGlu ZCBmaXhlcyBvZnRlbiBsZWFkIHRvIG1vcmUgcHJvYmxlbXMuCj4+Cj4+IFllcywgbGV0J3MgZmln dXJlIG91dCBob3cgdG8gdG8gaXQgY2xlYW5seS4KPj4KPj4+Cj4+PiBJZiBJIGZvbGxvdyB0aGlu Z3MgY29ycmVjdGx5IEkgc2VlIGEgaGVscGVyIGdpZ2FudGljX3BhZ2Vfc3VwcG9ydGVkKCkKPj4+ IGFkZGVkIGJ5IGNvbW1pdCA5NDRkOWZlYzhkN2EgKCJodWdldGxiOiBhZGQgc3VwcG9ydCBmb3Ig Z2lnYW50aWMgcGFnZQo+Pj4gYWxsb2NhdGlvbiBhdCBydW50aW1lIikuCj4+Pgo+Pj4gQW5kIHRo ZW4gY29tbWl0IDQ2MWE3MTg0MzIwYSAoIm1tL2h1Z2V0bGI6IGludHJvZHVjZQo+Pj4gQVJDSF9I QVNfR0lHQU5USUNfUEFHRSIpIGlzIGFkZGVkIHRvIHdyYXAgZ2lnYW50aWNfcGFnZV9zdXBwb3J0 ZWQoKQo+Pj4KPj4+IFRoZW4gY29tbWl0IDRlYjA3MTZlODY4ZSAoImh1Z2V0bGI6IGFsbG93IHRv IGZyZWUgZ2lnYW50aWMgcGFnZXMKPj4+IHJlZ2FyZGxlc3Mgb2YgdGhlIGNvbmZpZ3VyYXRpb24i KSBjaGFuZ2VkIGdpZ2FudGljX3BhZ2Vfc3VwcG9ydGVkKCkgdG8KPj4+IGdpZ2FudGljX3BhZ2Vf cnVudGltZV9zdXBwb3J0ZWQoKQo+Pj4KPj4+IFNvIHdoZXJlIGFyZSB3ZSBub3cgPwo+Pgo+PiBJ bgo+Pgo+PiBjb21taXQgZmFlN2Q4MzRjNDNjY2RiOWZjZWNhZjRkMGYzMzE0NWQ4ODRiM2U1Ywo+ PiBBdXRob3I6IE1hdHRoZXcgV2lsY294IChPcmFjbGUpIDx3aWxseUBpbmZyYWRlYWQub3JnPgo+ PiBEYXRlOsKgwqAgVHVlIEZlYiAyNyAxOToyMzozMSAyMDI0ICswMDAwCj4+Cj4+ICAgwqDCoMKg IG1tOiBhZGQgX19kdW1wX2ZvbGlvKCkKPj4KPj4KPj4gV2Ugc3RhcnRlZCBhc3N1bWluZyB0aGF0 IGEgZm9saW8gaW4gdGhlIHN5c3RlbSAoYm9vdHRpbWUsIGR5bmFtaWMsCj4+IHdoYXRldmVyKQo+ PiBoYXMgYSBtYXhpbXVtIG9mIE1BWF9GT0xJT19OUl9QQUdFUy4KPj4KPj4gQW55IG90aGVyIGlu dGVycHJldGF0aW9uIGRvZXNuJ3QgbWFrZSBhbnkgc2Vuc2UgZm9yIE1BWF9GT0xJT19OUl9QQUdF Uy4KPj4KPj4KPj4gU28gd2UgaGF2ZSB0d28gcXVlc3Rpb25zOgo+Pgo+PiAxKSBIb3cgdG8gdGVh Y2ggTUFYX0ZPTElPX05SX1BBR0VTIHRoYXQgaHVnZXRsYiBzdXBwb3J0cyBnaWdhbnRpYyBwYWdl cwo+Pgo+PiAyKSBIb3cgZG8gd2UgaGFuZGxlIENPTkZJR19BUkNIX0hBU19HSUdBTlRJQ19QQUdF Cj4+Cj4+Cj4+IFdlIGhhdmUgdGhlIGZvbGxvd2luZyBvcHRpb25zCj4+Cj4+IChBKSBSZW5hbWUg ZXhpc3RpbmcgQ09ORklHX0FSQ0hfSEFTX0dJR0FOVElDX1BBR0UgdG8gc29tZXRoaW5nIGVsc2Ug dGhhdCBpcwo+PiBjbGVhcmVyIGFuZCBhZGQgYSBuZXcgQ09ORklHX0FSQ0hfSEFTX0dJR0FOVElD X1BBR0UuCj4+Cj4+IChCKSBSZW5hbWUgZXhpc3RpbmcgQ09ORklHX0FSQ0hfSEFTX0dJR0FOVElD X1BBR0UgLT4gdG8gc29tZXRoaW5nIGVsc2UKPj4gdGhhdCBpcwo+PiBjbGVhcmVyIGFuZCBkZXJp dmUgc29tZWhvdyBlbHNlIHRoYXQgaHVnZXRsYiBpbiB0aGF0IGNvbmZpZyBzdXBwb3J0cwo+PiBn aWdhbnRpYyBwYWdlcy4KPj4KPj4gKGMpIEp1c3QgdXNlIENPTkZJR19BUkNIX0hBU19HSUdBTlRJ Q19QQUdFIGlmIGh1Z2V0bGIgb24gYW4gYXJjaGl0ZWN0dXJlCj4+IHN1cHBvcnRzIGdpZ2FudGlj IHBhZ2VzLgo+Pgo+Pgo+PiBJIGRvbid0IHF1aXRlIHNlZSB3aHkgYW4gYXJjaGl0ZWN0dXJlIHNo b3VsZCBiZSBhYmxlIHRvIG9wdCBpbiBpbnRvCj4+IGR5bmFtaWNhbGx5Cj4+IGFsbG9jYXRpbmcr ZnJlZWluZyBnaWdhbnRpYyBwYWdlcy4gVGhhdCdzIGp1c3QgQ09OVElHX0FMTE9DIG1hZ2ljIGFu ZAo+PiBub3Qgc29tZQo+PiBhcmNoLXNwZWNpZmljIHRoaW5nIElJUkMuCj4+Cj4+Cj4+IE5vdGUg dGhhdCBpbiBtbS9odWdldGxiLmMgaXQgaXMKPj4KPj4gICDCoMKgwqDCoCNpZmRlZiBDT05GSUdf QVJDSF9IQVNfR0lHQU5USUNfUEFHRQo+PiAgIMKgwqDCoMKgI2lmZGVmIENPTkZJR19DT05USUdf QUxMT0MKPj4KPj4gTWVhbmluZyB0aGF0IGF0IGxlYXN0IHRoZSBhbGxvY2F0aW9uIHNpZGUgaXMg Z3VhcmRlZCBieSBDT05USUdfQUxMT0MuCj4gCj4gWWVzIGJ1dCBub3QgdGhlIGZyZWVpbmcgc2lu Y2UgY29tbWl0IDRlYjA3MTZlODY4ZSAoImh1Z2V0bGI6IGFsbG93IHRvCj4gZnJlZSBnaWdhbnRp YyBwYWdlcyByZWdhcmRsZXNzIG9mIHRoZSBjb25maWd1cmF0aW9uIikKClJpZ2h0LCB0aGUgZnJl ZWluZyBwYXRoIGlzIGp1c3QgYWx3YXlzIGFyb3VuZCBhcyB3ZSBubyBsb25nZXIgZGVwZW5kIApm cmVlX2NvbnRpZ19yYW5nZSgpLgoKPiAKPj4KPj4gU28gSSB0aGluayAoQykgaXMganVzdCB0aGUg cmlnaHQgdGhpbmcgdG8gZG8uCj4+Cj4+IGRpZmYgLS1naXQgYS9mcy9LY29uZmlnIGIvZnMvS2Nv bmZpZwo+PiBpbmRleCAwYmZkYWVjYWE4Nzc1Li4xMmMxMWViOTI3OWQzIDEwMDY0NAo+PiAtLS0g YS9mcy9LY29uZmlnCj4+ICsrKyBiL2ZzL0tjb25maWcKPj4gQEAgLTI4Myw2ICsyODMsOCBAQCBj b25maWcgSFVHRVRMQl9QTURfUEFHRV9UQUJMRV9TSEFSSU5HCj4+ICAgwqDCoMKgwqDCoMKgwqAg ZGVmX2Jvb2wgSFVHRVRMQl9QQUdFCj4+ICAgwqDCoMKgwqDCoMKgwqAgZGVwZW5kcyBvbiBBUkNI X1dBTlRfSFVHRV9QTURfU0hBUkUgJiYgU1BMSVRfUE1EX1BUTE9DS1MKPj4KPj4gKyMgQW4gYXJj aGl0ZWN0dXJlIG11c3Qgc2VsZWN0IHRoaXMgb3B0aW9uIGlmIHRoZXJlIGlzIGFueSBtZWNoYW5p c20KPj4gKGVzcC4gaHVnZXRsYikKPj4gKyMgY291bGQgb2J0YWluIGdpZ2FudGljIGZvbGlvcy4K Pj4gICDCoGNvbmZpZyBBUkNIX0hBU19HSUdBTlRJQ19QQUdFCj4+ICAgwqDCoMKgwqDCoMKgwqAg Ym9vbAo+Pgo+Pgo+IAo+IEkgZ2F2ZSBpdCBhIHRyeS4gVGhhdCdzIG5vdCBlbm91Z2gsIGl0IGZp eGVzIHRoZSBwcm9ibGVtIGZvciA2NCBNYnl0ZXMKPiBwYWdlcyBhbmQgMjU2IE1ieXRlcyBwYWdl cywgYnV0IG5vdCBmb3IgMSBHYnl0ZXMgcGFnZXMuCgpUaGFua3MhCgo+IAo+IE1heCBmb2xpbyBp cyBkZWZpbmVkIGJ5IFBVRF9PUkRFUiwgYnV0IFBVRF9TSVpFIGlzIDI1NiBNYnl0ZXMgc28gd2Ug bmVlZAo+IHRvIG1ha2UgTUFYX0ZPTElPIGxhcmdlci4gRG8gd2UgY2hhbmdlIGl0IHRvIFA0RF9P UkRFUiBvciBpcyBpdCB0b28gbXVjaAo+ID8gUDREX1NJWkUgaXMgMTI4IEdieXRlcwoKVGhlIGV4 YWN0IHNpemUgZG9lc24ndCBtYXR0ZXIsIHdlIHN0YXJ0ZWQgd2l0aCBzb21ldGhpbmcgdGhhdCBz b3VuZGVzIApyZWFzb25hYmxlLgoKSSBhZGRlZCB0aGUgY29tbWVudCAiVGhlcmUgaXMgbm8gcmVh bCBsaW1pdCBvbiB0aGUgZm9saW8gc2l6ZS4gV2UgbGltaXQgCnRoZW0gdG8gdGhlIG1heGltdW0g d2UgY3VycmVudGx5IGV4cGVjdCAoZS5nLiwgaHVnZXRsYiwgZGF4KS4iCgpXZSBjYW4gc2V0IGl0 IHRvIHdoYXRldmVyIHdlIHdvdWxkIGV4cGVjdCBmb3Igbm93LgoKLS0gCkNoZWVycwoKRGF2aWQg LyBkaGlsZGVuYgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlz Y3YK