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 X-Spam-Level: X-Spam-Status: No, score=-7.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_2 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AA4F8C48BCF for ; Mon, 7 Jun 2021 07:34:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 94FF960241 for ; Mon, 7 Jun 2021 07:34:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230250AbhFGHgY (ORCPT ); Mon, 7 Jun 2021 03:36:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:49074 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230231AbhFGHgU (ORCPT ); Mon, 7 Jun 2021 03:36:20 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 29FEA60720; Mon, 7 Jun 2021 07:34:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623051269; bh=0ypPpkJHDs3edXD5bDeKaiim7X/xfBueG4AuE8+Qj+U=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=MCZa/wfgoJSof9wCVVOv/LrdFcXdwY1vCJuTly8zaeAIwTuRDtC8rzfgyHA9r6/+g NW2tP3feh93C/5Dxty7jg+vScZHZGMhUEyWQ5FgxO8vpWG7sfVd2/FVm9kFVWmNyKF EQBYWqrXHDSSXIu/AIkm5+Ioyl/4Y8qqVlITSp7EP1AHAdF2gq6+t5N/EukG8nlrD5 /Z/7kCrp6V3McL/0xD3Opj9oSYMVR4OQwEiMuDlxNhhxICUhrFF3xy6Xf7sAtNEHPC UZ6EjZnr6psnuld6cX9JYfcpHnFwEGAKkBcwq4fn3pJEE/OA/DfL7AgTqkUjjnfOU7 t/jaztuq+MVCA== Date: Mon, 7 Jun 2021 09:34:22 +0200 From: Mauro Carvalho Chehab To: "=?UTF-8?B?TsOtY29sYXM=?= F. R. A. Prado" Cc: Jonathan Corbet , Linux Doc Mailing List , linux-kernel@vger.kernel.org, bpf@vger.kernel.org, coresight@lists.linaro.org, devicetree@vger.kernel.org, kunit-dev@googlegroups.com, kvm@vger.kernel.org, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-i2c@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-media@vger.kernel.org, linux-pci@vger.kernel.org, linux-pm@vger.kernel.org, linux-security-module@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH 00/34] docs: avoid using ReST :doc:`foo` tag Message-ID: <20210607093422.0a369909@coco.lan> In-Reply-To: <20210606225225.fz4dsyz6im4bqena@notapiano> References: <20210605151109.axm3wzbcstsyxczp@notapiano> <20210605210836.540577d4@coco.lan> <20210606225225.fz4dsyz6im4bqena@notapiano> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-hwmon@vger.kernel.org Em Sun, 6 Jun 2021 19:52:25 -0300 N=C3=ADcolas F. R. A. Prado escreveu: > On Sat, Jun 05, 2021 at 09:08:36PM +0200, Mauro Carvalho Chehab wrote: > > Em Sat, 5 Jun 2021 12:11:09 -0300 > > N=C3=ADcolas F. R. A. Prado escreveu: > > =20 > > > Hi Mauro, > > >=20 > > > On Sat, Jun 05, 2021 at 03:17:59PM +0200, Mauro Carvalho Chehab wrote= : =20 > > > > As discussed at: > > > > https://lore.kernel.org/linux-doc/871r9k6rmy.fsf@meer.lwn.net/ > > > >=20 > > > > It is better to avoid using :doc:`foo` to refer to Documentation/fo= o.rst, as the > > > > automarkup.py extension should handle it automatically, on most cas= es. > > > >=20 > > > > There are a couple of exceptions to this rule: > > > >=20 > > > > 1. when :doc: tag is used to point to a kernel-doc DOC: markup; > > > > 2. when it is used with a named tag, e. g. :doc:`some name `; > > > >=20 > > > > It should also be noticed that automarkup.py has currently an issue: > > > > if one use a markup like: > > > >=20 > > > > Documentation/dev-tools/kunit/api/test.rst > > > > - documents all of the standard testing API excluding mocking > > > > or mocking related features. > > > >=20 > > > > or, even: > > > >=20 > > > > Documentation/dev-tools/kunit/api/test.rst > > > > documents all of the standard testing API excluding mocking > > > > or mocking related features. > > > > =09 > > > > The automarkup.py will simply ignore it. Not sure why. This patch s= eries > > > > avoid the above patterns (which is present only on 4 files), but it= would be > > > > nice to have a followup patch fixing the issue at automarkup.py. = =20 > > >=20 > > > What I think is happening here is that we're using rST's syntax for d= efinition > > > lists [1]. automarkup.py ignores literal nodes, and perhaps a definit= ion is > > > considered a literal by Sphinx. Adding a blank line after the Documen= tation/... > > > or removing the additional indentation makes it work, like you did in= your > > > 2nd and 3rd patch, since then it's not a definition anymore, although= then the > > > visual output is different as well. =20 > >=20 > > A literal has a different output. I think that this is not the case, bu= t I=20 > > didn't check the python code from docutils/Sphinx. =20 >=20 > Okay, I went in deeper to understand the issue and indeed it wasn't what I > thought. The reason definitions are ignored by automarkup.py is because t= he main > loop iterates only over nodes that are of type paragraph: >=20 > for para in doctree.traverse(nodes.paragraph): > for node in para.traverse(nodes.Text): > if not isinstance(node.parent, nodes.literal): > node.parent.replace(node, markup_refs(name, app, node)) >=20 > And inspecting the HTML output from your example, the definition name is = inside > a
tag, and it doesn't have a

inside. So in summary, automarkup.p= y will > only work on elements which are inside a

in the output. Yeah, that's what I was suspecting, based on the comments. Maybe something similar to the above could be done also for some non-paragraph data. By looking at: https://docutils.sourceforge.io/docs/ref/doctree.html It says that the body elements are: admonition, attention, block_quote, bullet_list, caution, citation,=20 comment, compound, container, danger, definition_list, doctest_block,=20 enumerated_list, error, field_list, figure, footnote, hint, image,=20 important, line_block, literal_block, note, option_list, paragraph,=20 pending, raw, rubric, substitution_definition, system_message,=20 table, target, tip, warning So, perhaps a similar loop for definition_list would do the trick, but maybe automarkup should also look at other types, like enum lists, notes (and their variants, like error/warning) and footnotes. No idea how this would affect the docs build time, though. > Only applying the automarkup inside paragraphs seems like a good decision= (which > covers text in lists and tables as well), so unless there are other types= of > elements without paragraphs where automarkup should work, I think we shou= ld just > avoid using definition lists pointing to documents like that. Checking the code or doing some tests are needed for us to be sure about wh= at of the above types docutils don't consider a paragraph. Thanks, Mauro 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 X-Spam-Level: X-Spam-Status: No, score=-5.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_2 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 43645C47082 for ; Mon, 7 Jun 2021 07:36:35 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 0109860720 for ; Mon, 7 Jun 2021 07:36:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0109860720 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=OAoFiJl3+52ePCEYCmrX28Z95qXElMsKY4K75li2fpQ=; b=pJoJDghOgbBDUS glw++bxbfkHABMshMrrI5nmOWFs0oNR0sSmOVEXmDLNMEd1cT9Am24coBLU28X5yZGATVnKqIYHTG 0+o/7AOYsbUo6QSrCdi8LCAunyynet740WROejJndQoVKmehypFnjjN84E0NSIHmHVXuNj3LY5lSw bNB9+i0eLhpD7xqhgScewVVQ4OLF4ejfqsfY4j98EHRmZo7tbn3kIx6OfMsDlUvNr8DaC7xc1ZQ7r lu3vIxrz+T9DbvEVAfcjAT/NiO5UHVM1+yQE2/WFQyWzwaahrCiEYIUR/B81q/q7elCdVT4hYL9W8 U3lnoiOSQjhLoArC3MuQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lq9ma-0025bD-KQ; Mon, 07 Jun 2021 07:34:48 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lq9mI-0025Ww-II for linux-arm-kernel@lists.infradead.org; Mon, 07 Jun 2021 07:34:36 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 29FEA60720; Mon, 7 Jun 2021 07:34:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623051269; bh=0ypPpkJHDs3edXD5bDeKaiim7X/xfBueG4AuE8+Qj+U=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=MCZa/wfgoJSof9wCVVOv/LrdFcXdwY1vCJuTly8zaeAIwTuRDtC8rzfgyHA9r6/+g NW2tP3feh93C/5Dxty7jg+vScZHZGMhUEyWQ5FgxO8vpWG7sfVd2/FVm9kFVWmNyKF EQBYWqrXHDSSXIu/AIkm5+Ioyl/4Y8qqVlITSp7EP1AHAdF2gq6+t5N/EukG8nlrD5 /Z/7kCrp6V3McL/0xD3Opj9oSYMVR4OQwEiMuDlxNhhxICUhrFF3xy6Xf7sAtNEHPC UZ6EjZnr6psnuld6cX9JYfcpHnFwEGAKkBcwq4fn3pJEE/OA/DfL7AgTqkUjjnfOU7 t/jaztuq+MVCA== Date: Mon, 7 Jun 2021 09:34:22 +0200 From: Mauro Carvalho Chehab To: "=?UTF-8?B?TsOtY29sYXM=?= F. R. A. Prado" Cc: Jonathan Corbet , Linux Doc Mailing List , linux-kernel@vger.kernel.org, bpf@vger.kernel.org, coresight@lists.linaro.org, devicetree@vger.kernel.org, kunit-dev@googlegroups.com, kvm@vger.kernel.org, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-i2c@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-media@vger.kernel.org, linux-pci@vger.kernel.org, linux-pm@vger.kernel.org, linux-security-module@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH 00/34] docs: avoid using ReST :doc:`foo` tag Message-ID: <20210607093422.0a369909@coco.lan> In-Reply-To: <20210606225225.fz4dsyz6im4bqena@notapiano> References: <20210605151109.axm3wzbcstsyxczp@notapiano> <20210605210836.540577d4@coco.lan> <20210606225225.fz4dsyz6im4bqena@notapiano> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-redhat-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210607_003430_659807_51758F18 X-CRM114-Status: GOOD ( 37.06 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RW0gU3VuLCA2IEp1biAyMDIxIDE5OjUyOjI1IC0wMzAwCk7DrWNvbGFzIEYuIFIuIEEuIFByYWRv IDxuQG5mcmFwcmFkby5uZXQ+IGVzY3JldmV1OgoKPiBPbiBTYXQsIEp1biAwNSwgMjAyMSBhdCAw OTowODozNlBNICswMjAwLCBNYXVybyBDYXJ2YWxobyBDaGVoYWIgd3JvdGU6Cj4gPiBFbSBTYXQs IDUgSnVuIDIwMjEgMTI6MTE6MDkgLTAzMDAKPiA+IE7DrWNvbGFzIEYuIFIuIEEuIFByYWRvIDxu QG5mcmFwcmFkby5uZXQ+IGVzY3JldmV1Ogo+ID4gICAKPiA+ID4gSGkgTWF1cm8sCj4gPiA+IAo+ ID4gPiBPbiBTYXQsIEp1biAwNSwgMjAyMSBhdCAwMzoxNzo1OVBNICswMjAwLCBNYXVybyBDYXJ2 YWxobyBDaGVoYWIgd3JvdGU6ICAKPiA+ID4gPiBBcyBkaXNjdXNzZWQgYXQ6Cj4gPiA+ID4gCWh0 dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LWRvYy84NzFyOWs2cm15LmZzZkBtZWVyLmx3bi5u ZXQvCj4gPiA+ID4gCj4gPiA+ID4gSXQgaXMgYmV0dGVyIHRvIGF2b2lkIHVzaW5nIDpkb2M6YGZv b2AgdG8gcmVmZXIgdG8gRG9jdW1lbnRhdGlvbi9mb28ucnN0LCBhcyB0aGUKPiA+ID4gPiBhdXRv bWFya3VwLnB5IGV4dGVuc2lvbiBzaG91bGQgaGFuZGxlIGl0IGF1dG9tYXRpY2FsbHksIG9uIG1v c3QgY2FzZXMuCj4gPiA+ID4gCj4gPiA+ID4gVGhlcmUgYXJlIGEgY291cGxlIG9mIGV4Y2VwdGlv bnMgdG8gdGhpcyBydWxlOgo+ID4gPiA+IAo+ID4gPiA+IDEuIHdoZW4gOmRvYzogIHRhZyBpcyB1 c2VkIHRvIHBvaW50IHRvIGEga2VybmVsLWRvYyBET0M6IG1hcmt1cDsKPiA+ID4gPiAyLiB3aGVu IGl0IGlzIHVzZWQgd2l0aCBhIG5hbWVkIHRhZywgZS4gZy4gOmRvYzpgc29tZSBuYW1lIDxmb28+ YDsKPiA+ID4gPiAKPiA+ID4gPiBJdCBzaG91bGQgYWxzbyBiZSBub3RpY2VkIHRoYXQgYXV0b21h cmt1cC5weSBoYXMgY3VycmVudGx5IGFuIGlzc3VlOgo+ID4gPiA+IGlmIG9uZSB1c2UgYSBtYXJr dXAgbGlrZToKPiA+ID4gPiAKPiA+ID4gPiAJRG9jdW1lbnRhdGlvbi9kZXYtdG9vbHMva3VuaXQv YXBpL3Rlc3QucnN0Cj4gPiA+ID4gCSAgLSBkb2N1bWVudHMgYWxsIG9mIHRoZSBzdGFuZGFyZCB0 ZXN0aW5nIEFQSSBleGNsdWRpbmcgbW9ja2luZwo+ID4gPiA+IAkgICAgb3IgbW9ja2luZyByZWxh dGVkIGZlYXR1cmVzLgo+ID4gPiA+IAo+ID4gPiA+IG9yLCBldmVuOgo+ID4gPiA+IAo+ID4gPiA+ IAlEb2N1bWVudGF0aW9uL2Rldi10b29scy9rdW5pdC9hcGkvdGVzdC5yc3QKPiA+ID4gPiAJICAg IGRvY3VtZW50cyBhbGwgb2YgdGhlIHN0YW5kYXJkIHRlc3RpbmcgQVBJIGV4Y2x1ZGluZyBtb2Nr aW5nCj4gPiA+ID4gCSAgICBvciBtb2NraW5nIHJlbGF0ZWQgZmVhdHVyZXMuCj4gPiA+ID4gCQo+ ID4gPiA+IFRoZSBhdXRvbWFya3VwLnB5IHdpbGwgc2ltcGx5IGlnbm9yZSBpdC4gTm90IHN1cmUg d2h5LiBUaGlzIHBhdGNoIHNlcmllcwo+ID4gPiA+IGF2b2lkIHRoZSBhYm92ZSBwYXR0ZXJucyAo d2hpY2ggaXMgcHJlc2VudCBvbmx5IG9uIDQgZmlsZXMpLCBidXQgaXQgd291bGQgYmUKPiA+ID4g PiBuaWNlIHRvIGhhdmUgYSBmb2xsb3d1cCBwYXRjaCBmaXhpbmcgdGhlIGlzc3VlIGF0IGF1dG9t YXJrdXAucHkuICAgIAo+ID4gPiAKPiA+ID4gV2hhdCBJIHRoaW5rIGlzIGhhcHBlbmluZyBoZXJl IGlzIHRoYXQgd2UncmUgdXNpbmcgclNUJ3Mgc3ludGF4IGZvciBkZWZpbml0aW9uCj4gPiA+IGxp c3RzIFsxXS4gYXV0b21hcmt1cC5weSBpZ25vcmVzIGxpdGVyYWwgbm9kZXMsIGFuZCBwZXJoYXBz IGEgZGVmaW5pdGlvbiBpcwo+ID4gPiBjb25zaWRlcmVkIGEgbGl0ZXJhbCBieSBTcGhpbnguIEFk ZGluZyBhIGJsYW5rIGxpbmUgYWZ0ZXIgdGhlIERvY3VtZW50YXRpb24vLi4uCj4gPiA+IG9yIHJl bW92aW5nIHRoZSBhZGRpdGlvbmFsIGluZGVudGF0aW9uIG1ha2VzIGl0IHdvcmssIGxpa2UgeW91 IGRpZCBpbiB5b3VyCj4gPiA+IDJuZCBhbmQgM3JkIHBhdGNoLCBzaW5jZSB0aGVuIGl0J3Mgbm90 IGEgZGVmaW5pdGlvbiBhbnltb3JlLCBhbHRob3VnaCB0aGVuIHRoZQo+ID4gPiB2aXN1YWwgb3V0 cHV0IGlzIGRpZmZlcmVudCBhcyB3ZWxsLiAgCj4gPiAKPiA+IEEgbGl0ZXJhbCBoYXMgYSBkaWZm ZXJlbnQgb3V0cHV0LiBJIHRoaW5rIHRoYXQgdGhpcyBpcyBub3QgdGhlIGNhc2UsIGJ1dCBJIAo+ ID4gZGlkbid0IGNoZWNrIHRoZSBweXRob24gY29kZSBmcm9tIGRvY3V0aWxzL1NwaGlueC4gIAo+ IAo+IE9rYXksIEkgd2VudCBpbiBkZWVwZXIgdG8gdW5kZXJzdGFuZCB0aGUgaXNzdWUgYW5kIGlu ZGVlZCBpdCB3YXNuJ3Qgd2hhdCBJCj4gdGhvdWdodC4gVGhlIHJlYXNvbiBkZWZpbml0aW9ucyBh cmUgaWdub3JlZCBieSBhdXRvbWFya3VwLnB5IGlzIGJlY2F1c2UgdGhlIG1haW4KPiBsb29wIGl0 ZXJhdGVzIG9ubHkgb3ZlciBub2RlcyB0aGF0IGFyZSBvZiB0eXBlIHBhcmFncmFwaDoKPiAKPiAg ICAgZm9yIHBhcmEgaW4gZG9jdHJlZS50cmF2ZXJzZShub2Rlcy5wYXJhZ3JhcGgpOgo+ICAgICAg ICAgZm9yIG5vZGUgaW4gcGFyYS50cmF2ZXJzZShub2Rlcy5UZXh0KToKPiAgICAgICAgICAgICBp ZiBub3QgaXNpbnN0YW5jZShub2RlLnBhcmVudCwgbm9kZXMubGl0ZXJhbCk6Cj4gICAgICAgICAg ICAgICAgIG5vZGUucGFyZW50LnJlcGxhY2Uobm9kZSwgbWFya3VwX3JlZnMobmFtZSwgYXBwLCBu b2RlKSkKPiAKPiBBbmQgaW5zcGVjdGluZyB0aGUgSFRNTCBvdXRwdXQgZnJvbSB5b3VyIGV4YW1w bGUsIHRoZSBkZWZpbml0aW9uIG5hbWUgaXMgaW5zaWRlCj4gYSA8ZHQ+IHRhZywgYW5kIGl0IGRv ZXNuJ3QgaGF2ZSBhIDxwPiBpbnNpZGUuIFNvIGluIHN1bW1hcnksIGF1dG9tYXJrdXAucHkgd2ls bAo+IG9ubHkgd29yayBvbiBlbGVtZW50cyB3aGljaCBhcmUgaW5zaWRlIGEgPHA+IGluIHRoZSBv dXRwdXQuCgoKWWVhaCwgdGhhdCdzIHdoYXQgSSB3YXMgc3VzcGVjdGluZywgYmFzZWQgb24gdGhl IGNvbW1lbnRzLgoKTWF5YmUgc29tZXRoaW5nIHNpbWlsYXIgdG8gdGhlIGFib3ZlIGNvdWxkIGJl IGRvbmUgYWxzbyBmb3Igc29tZQpub24tcGFyYWdyYXBoIGRhdGEuIEJ5IGxvb2tpbmcgYXQ6CgoJ aHR0cHM6Ly9kb2N1dGlscy5zb3VyY2Vmb3JnZS5pby9kb2NzL3JlZi9kb2N0cmVlLmh0bWwKCkl0 IHNheXMgdGhhdCB0aGUgYm9keSBlbGVtZW50cyBhcmU6CgoJYWRtb25pdGlvbiwgYXR0ZW50aW9u LCBibG9ja19xdW90ZSwgYnVsbGV0X2xpc3QsIGNhdXRpb24sIGNpdGF0aW9uLCAKCWNvbW1lbnQs IGNvbXBvdW5kLCBjb250YWluZXIsIGRhbmdlciwgZGVmaW5pdGlvbl9saXN0LCBkb2N0ZXN0X2Js b2NrLCAKCWVudW1lcmF0ZWRfbGlzdCwgZXJyb3IsIGZpZWxkX2xpc3QsIGZpZ3VyZSwgZm9vdG5v dGUsIGhpbnQsIGltYWdlLCAKCWltcG9ydGFudCwgbGluZV9ibG9jaywgbGl0ZXJhbF9ibG9jaywg bm90ZSwgb3B0aW9uX2xpc3QsIHBhcmFncmFwaCwgCglwZW5kaW5nLCByYXcsIHJ1YnJpYywgc3Vi c3RpdHV0aW9uX2RlZmluaXRpb24sIHN5c3RlbV9tZXNzYWdlLCAKCXRhYmxlLCB0YXJnZXQsIHRp cCwgd2FybmluZwoKU28sIHBlcmhhcHMgYSBzaW1pbGFyIGxvb3AgZm9yIGRlZmluaXRpb25fbGlz dCB3b3VsZCBkbyB0aGUgdHJpY2ssCmJ1dCBtYXliZSBhdXRvbWFya3VwIHNob3VsZCBhbHNvIGxv b2sgYXQgb3RoZXIgdHlwZXMsIGxpa2UgZW51bSBsaXN0cywKbm90ZXMgKGFuZCB0aGVpciB2YXJp YW50cywgbGlrZSBlcnJvci93YXJuaW5nKSBhbmQgZm9vdG5vdGVzLgoKTm8gaWRlYSBob3cgdGhp cyB3b3VsZCBhZmZlY3QgdGhlIGRvY3MgYnVpbGQgdGltZSwgdGhvdWdoLgoKPiBPbmx5IGFwcGx5 aW5nIHRoZSBhdXRvbWFya3VwIGluc2lkZSBwYXJhZ3JhcGhzIHNlZW1zIGxpa2UgYSBnb29kIGRl Y2lzaW9uICh3aGljaAo+IGNvdmVycyB0ZXh0IGluIGxpc3RzIGFuZCB0YWJsZXMgYXMgd2VsbCks IHNvIHVubGVzcyB0aGVyZSBhcmUgb3RoZXIgdHlwZXMgb2YKPiBlbGVtZW50cyB3aXRob3V0IHBh cmFncmFwaHMgd2hlcmUgYXV0b21hcmt1cCBzaG91bGQgd29yaywgSSB0aGluayB3ZSBzaG91bGQg anVzdAo+IGF2b2lkIHVzaW5nIGRlZmluaXRpb24gbGlzdHMgcG9pbnRpbmcgdG8gZG9jdW1lbnRz IGxpa2UgdGhhdC4KCkNoZWNraW5nIHRoZSBjb2RlIG9yIGRvaW5nIHNvbWUgdGVzdHMgYXJlIG5l ZWRlZCBmb3IgdXMgdG8gYmUgc3VyZSBhYm91dCB3aGF0Cm9mIHRoZSBhYm92ZSB0eXBlcyBkb2N1 dGlscyBkb24ndCBjb25zaWRlciBhIHBhcmFncmFwaC4KClRoYW5rcywKTWF1cm8KCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwg bWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK