From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id IBwkLDCV7WVYhAAA62LTzQ:P1 (envelope-from ) for ; Sun, 10 Mar 2024 12:10:40 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id IBwkLDCV7WVYhAAA62LTzQ (envelope-from ) for ; Sun, 10 Mar 2024 12:10:40 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=excalamus.com header.s=zmail header.b=HrMK7LOX; dmarc=none; arc=pass ("zohomail.com:s=zohoarc:i=1"); spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=2; s=key1; d=yhetil.org; t=1710069040; a=rsa-sha256; cv=pass; b=MW1Vm1pG28EhDTTVE93WJ58obyNdk6mbVDSq2bsF2f22Zf971UFOeIDr7HfdPX5Jmeo2FZ AMjGT/gorWJ7BQCHZ62cqZtwAhCjEJGauEt2xK71uSDeCfBu0xxtz4CYKjO9ZFabFaFukC g4ng/PqLAW2/S83R4sNP3336EVYU0Zxv3lyDv/FwS1S5geBgUor6lh4fNPXdrF1p0t28b7 1bQ3QJRByxOXeRFs1bwE3xVQk0AITWyn8VETK0bYZ752EfYdNJXcSdPgYWOkEBHVpvWn+3 P6L666Qn1iPMK91R0/4MwA/3+3zrJk73skHHuS2pDO5BzJLzXkGWbSUiNallIw== ARC-Authentication-Results: i=2; aspmx1.migadu.com; dkim=pass header.d=excalamus.com header.s=zmail header.b=HrMK7LOX; dmarc=none; arc=pass ("zohomail.com:s=zohoarc:i=1"); spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1710069040; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=Vo4LptoAsfCxO4epbbdYLGU+ZDob7agowml909aAuII=; b=AUMKF15NI0qq6eTeGWsJqRsC3UXjmrWKvVAAkBDpvys7V54NW8os2jiTpR0NR5jEDvfJWa /uLwWeTyexcwDq/74NAeXgiJQineC6obPMh48fdyRau8PbzB0ABtnWcn6D5E/U6gdAGpUF Q2x4ushDMc3KIHpgwY5+ioKBmtXwaZep877IDHMp5sMyTI0R0M6a+lKrsXPLoI8QskIEp2 E4GqaqRiFXsaO1eUPbl4K1olWD1B19R3NMzq2hJd7nC2O1e465uNkq5avLFb0cSEbdOwpO A6LXZAT0qH3tvvTFO8ghVdmdi1Bp6VmdvUgEYt6IF23O78RVYZZGaRz3NhxXkw== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 5298D959E for ; Sun, 10 Mar 2024 12:10:40 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rjH41-0000WE-6L; Sun, 10 Mar 2024 07:09:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rjH3w-0000VY-GA for guix-devel@gnu.org; Sun, 10 Mar 2024 07:09:53 -0400 Received: from sender4-pp-f112.zoho.com ([136.143.188.112]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rjH3t-0005y6-D0 for guix-devel@gnu.org; Sun, 10 Mar 2024 07:09:52 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1710068977; cv=none; d=zohomail.com; s=zohoarc; b=cga3N7ofKrY16cO+E+NAWBk41ws6ScmmG5KQAPW44gnKVYQo8yEDHm2TrlUkUqLMvsCKgtIrR5GTRGBMSXwWyGSAp0au8VNXtLfwWjTuoMu01reXZUS1atasanT/XkGfbPHK4ku3RIGbShhaIBFd9aqMePXpzh7mmgsxvmWAGOI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1710068977; h=Content-Type:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=Vo4LptoAsfCxO4epbbdYLGU+ZDob7agowml909aAuII=; b=cm9iBr9uhY5mmCWV3cmkuaNCn7rUpOtz/QdJwoHpQAsgLMTDxptVlrFeOKIyK4qjneGWrSxauTwPYII2s+1S37alvmfmsL8xbzFvX2Wnp/PhkuDsdnECrKnReH7PDamHh5aHoi2g9h2jKgkR5OXjALT6ctLedLyERiEJxM22aNU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=excalamus.com; spf=pass smtp.mailfrom=matt@excalamus.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1710068977; s=zmail; d=excalamus.com; i=matt@excalamus.com; h=Date:Date:From:From:To:To:Cc:Cc:Message-Id:Message-Id:In-Reply-To:References:Subject:Subject:MIME-Version:Content-Type:Reply-To; bh=Vo4LptoAsfCxO4epbbdYLGU+ZDob7agowml909aAuII=; b=HrMK7LOXUh6Md9Mr02ReU6smYNiyW7YY5qucxlLMSeqzMwVyv/aZ81xnnXz/BIxJ HdADOudsENyOoeYBd0kScQzjImj1Tdsxsa4E+s4f/IcSGLaNyhZM93qC65KIiTLr1ga TT1a8bGTN/EbD9VcSSJIdDUC1KcIXC1fd2LdD9bg= Received: from mail.zoho.com by mx.zohomail.com with SMTP id 1710068975235780.0956615182673; Sun, 10 Mar 2024 04:09:35 -0700 (PDT) Date: Sun, 10 Mar 2024 12:09:35 +0100 From: Matt To: "pelzflorian (Florian Pelz)" Cc: "Maxim Cournoyer" , "Christian Miller" , "guix-devel" , "Josselin Poiret" Message-Id: <18e280dc65a.fb9272352515573.111358157668309553@excalamus.com> In-Reply-To: <87bk7qnfd5.fsf@pelzflorian.de> References: <87a5p8yn4p.fsf@dadoes.de> <18d0e410102.e16898001715108.8020629039859398477@excalamus.com> <878r4ml93e.fsf@gmail.com> <18d23870de2.119d4f41c239950.5543896370981537109@excalamus.com> <18d48373140.10c55a4722276191.1969374822318990762@excalamus.com> <87r0h5ray4.fsf@gmail.com> <18dccf417d0.ca418748214075.562011919630800442@excalamus.com> <87y1bboq2i.fsf@gmail.com> <18dd741c397.eb3e3c20130225.478777462592413812@excalamus.com> <18dff5f7ac0.12981499e295073.4475195706110749663@excalamus.com> <87zfvbgu3q.fsf_-_@pelzflorian.de> <18e154a064f.10b18ae281601105.807357574739020306@excalamus.com> <87bk7qnfd5.fsf@pelzflorian.de> Subject: doc: installation: fix ~root confusion (was Re: doc: Removing much of Binary Installation) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_8158943_1374053508.1710068975194" Importance: Medium User-Agent: Zoho Mail X-Mailer: Zoho Mail X-Zoho-Virus-Status: 1 X-Zoho-AV-Stamp: zmail-av-1.1.0/210.3.67 Received-SPF: pass client-ip=136.143.188.112; envelope-from=matt@excalamus.com; helo=sender4-pp-f112.zoho.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Scanner: mx10.migadu.com X-Migadu-Spam-Score: -8.65 X-Spam-Score: -8.65 X-Migadu-Queue-Id: 5298D959E X-TUID: sLFwETPXpc2K ------=_Part_8158943_1374053508.1710068975194 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I realigned the subject. It was previously changed to "doc: Removing much = of Binary Installation" which is misleading. The topic is how to clarify i= nstallation based on reported confusion, not about removing text. The repo= rted confusion was on the use of '~root'. Explicit mention of '~root' is o= nly necessary when the manual details how 'guix-install.sh' works. Since '= guix-install.sh' is the recommended method of installation, such level of d= etail is unnecessary, inappropriate, and impractical. The suggested change= s address the issue, only incidentally, by removing text. I respond to Suhail Singh, Vagrant Cascadian, and pelzflorian in order. ---- On Wed, 06 Mar 2024 22:18:33 +0100 Suhail Singh wrote --- > Suhail Singh suhailsingh247@gmail.com> writes: > > > FWIW, as an openSUSE Tumbleweed user, I believe Tumbleweed users who do= n't care if there is an easy way to uninstall Guix would be better served b= y using =3Dguix-install.sh=3D as opposed to =3Dzypper=3D. > Btw, for completeness, on Tumbleweed, the user needs to take some additio= nal steps to ensure that restoring a previous Tumbleweed snapshot doesn't r= evert Guix state. Unless I'm misremembering, these steps are needed regard= less of whether =3Dzypper=3D or =3Dguix-install.sh=3D was used to install G= uix. Thank you for this. I want to follow up with Vagrant and Florian first bef= ore responding more fully. ---- On Wed, 06 Mar 2024 22:29:23 +0100 Vagrant Cascadian wrote --- > As the one who packaged and maintains guix in Debian... Thank you for doing this work! > The guix-daemon should continue to work from the packaged version, althou= gh as guix develops more and more features; how long an old version can be = expected to continue to work remains an open question. I was under the impression that Guix installed through a foreign package ma= nager is able to update with 'guix pull'. This is what the current documen= tation says, "If you=E2=80=99re running Debian or a derivative such as Ubuntu, you can i= nstead install the package (it might be a version older than 0.0-git but yo= u can update it afterwards by running =E2=80=98guix pull=E2=80=99):" Is this correct? Does 'guix pull' update Guix when installed through a for= eign package manager? ---- On Thu, 07 Mar 2024 18:03:50 +0100 pelzflorian (Florian Pelz) wrote = --- > I first tried guix-install.sh on a Debian GNU/Hurd VM. It fails, telling= me: > > [1709825168.049]: [ INFO ] init system is: sysv-init > [1709825168.059]: [ FAIL ] Unsupported CPU type: i686-AT386 > > The script guix-install.sh cannot be used on any GNU/Hurd system. Thanks for taking the time to test 'guix-install.sh' on Hurd. This looks l= ike a bug. > Vagrant=E2=80=99s guix package is missing on Debian GNU/Hurd as well, whi= ch is fine of course, but we should not claim otherwise. Updated to specify "distributions" as "GNU/Linux distributions". > Therefore, could you change it like the old instructions and only talk ab= out GNU/Linux? I don't think that's appropriate. Guix supports GNU/Linux and GNU/Hurd and= the installation section needs to cover both. There are two issues here: 1) Up to this point, the manual doesn't make clear that current GNU/Hurd su= pport is limited I've duplicated the footnote from the 'operating-system Reference' section = which explains the current status of GNU/Hurd support: https://guix.gnu.org= /en/manual/devel/en/html_node/operating_002dsystem-Reference.html 2) 'guix-install.sh' has a bug preventing installation on GNU/Hurd Any takers? > > If, instead, you want to install the complete GNU operating system, @px= ref{System Installation}. > > Maybe better say =E2=80=9Ccomplete Guix operating system=E2=80=9D? *comp= lete* GNU operating system maybe should only be used for GNU/Hurd. That line is directly copied from the current manual: https://guix.gnu.org/= en/manual/en/html_node/Installation.html#FOOT4 I saw this and I agree with you. It would be better stated as something li= ke you suggest. My intent was to do this in a separate patch. > You suggested in your mail: > > Matt matt@excalamus.com> writes: > > Readers interested in those details may read the code for 'guix-install= .sh'. > > Could you add this suggestion to your diff? I don't see that as relevant to the reader. The ability to read the source= is implicit in it being provided, which it is. > IIRC, you are removing the manual installation. Yes? No? I'm not sure how to respond. The suggested changes remove superfluous commentary on the recommended bina= ry installation process which create confusion. The challenge in directly responding to your statement is there's not a cle= ar cut-off between "install" and "configure." To install, generally, means= something like "situate artifacts so the user can make use of them". Ofte= n, this is simply adding a directory to PATH. Guix isn't that simple. It = requires setting up the store, var/guix, configuring the demon, setting up = profiles, and other things. That's all part of "so the user can make use o= f them" which is more "configuration" than "installation". Which specific = configuration is necessary, however, depends on the system and the user. D= etailing that at the level of "type this, type that" requires many caveats,= explanations, and updates that don't really address the core topic: get Gu= ix on a reader's system so that they can use it. That, as far as I can tel= l, is the fundamental reason why 'guix-install.sh' exists. What do you think is lost that isn't captured by the following bulleted lis= t? +The script guides you through the following: +@itemize +@item Download and extract the binary tarball +@item Set up the build daemon +@item Make the =E2=80=98guix=E2=80=99 command available to non-root users +@item Configure substitute servers +@end itemize > Therefore, the sentence would have to be removed: =E2=80=9CThe following = sections describe two methods of installation, binary installation and buil= ding from source.=E2=80=9D I've removed that sentence for a different reason. I also revised the sent= ence, "This is often quicker than installing from source, which is describe= d in the next sections", to simply, "described later". The reason is that Chapter 2 doesn't currently explain building or installi= ng from source. Building and installing from source is currently covered m= uch later in Section 22.1. Whether or not the Installation section should = cover building from source is a separate issue and shouldn't be part of thi= s discussion. > Also, > > Matt matt@excalamus.com> writes: > > - Add commas in appropriate places; after "For...Ubuntu-based systems",= "Likewise", and the 'or' within the list of substitutes > > I=E2=80=99m not a native speaker, but I believe the commas are not necess= ary. There particularly does not need to be an Oxford comma before =E2=80= =98or=E2=80=99. There could be, but there is no reason to change it. Ah, the One True Brace Style of natural language :) I think there's already enough controversy in this thread. I've changed it= back :) > Similarly, IMO the nuances are more appropriate in the old wording =E2=80= =9CFor Debian or a derivative such as Ubuntu,=E2=80=9D rather than your cha= nge =E2=80=9CFor Debian and Ubuntu-based systems=E2=80=9D. The current wording is, "If you're running Debian or a derivative such as U= buntu..." None of the suggested changes include the wording you give. What are the nuances? If they matter, we should probably make them explici= t. > At the beginning, =E2=80=9CYou can install the Guix package management to= ol on top of an existing=E2=80=9D makes it appear as if Guix were not a dis= tribution. It is both a tool and a distro. A distro does not need to be a= n OS. For example, MSYS2 is a distribution. I therefore nitpickingly pref= er =E2=80=9CYou can install Guix=E2=80=9D. Admittedly, the wording was vag= ue before, perhaps deliberately. I don't follow you. The complete sentence is: "You can install the Guix package management tool on top of an existing GNU= /Linux or GNU/Hurd system, referred to as a foreign distro, or as a standal= one operating system distribution, the Guix System." What about that is unclear? > =E2=80=9CUse of @file{guix-install.sh} requires Bash, GNU@tie{}tar, wget,= and Xz.=E2=80=9D is incomplete when applied to guix-install.sh, which also= requires GnuPG. Added! Thank you. An updated diff is included. I tried to split it into separate commits but= couldn't. That's very, very hard and probably impossible to do in an inde= pendent way. My hope is that we can settle on language for this topic and = try for a more step-wise approach on the next feedback item. ------=_Part_8158943_1374053508.1710068975194 Content-Type: application/octet-stream; name=v03-refactor-binary-installation-section.diff Content-Transfer-Encoding: base64 X-ZM_AttachId: 139293617751950070 Content-Disposition: attachment; filename=v03-refactor-binary-installation-section.diff ZGlmZiAtLWdpdCBhL2RvYy9ndWl4LnRleGkgYi9kb2MvZ3VpeC50ZXhpCmluZGV4IDg1OGQ1NzUx YmYuLjkxMTNjZDAxNTIgMTAwNjQ0Ci0tLSBhL2RvYy9ndWl4LnRleGkKKysrIGIvZG9jL2d1aXgu dGV4aQpAQCAtNjkxLDIwICs2OTEsMjMgQEAgdG8gam9pbiEgIEB4cmVme0NvbnRyaWJ1dGluZ30s IGZvciBpbmZvcm1hdGlvbiBhYm91dCBob3cgeW91IGNhbiBoZWxwLgogQGNoYXB0ZXIgSW5zdGFs bGF0aW9uCiAKIEBjaW5kZXggaW5zdGFsbGluZyBHdWl4CitAY2luZGV4IGZvcmVpZ24gZGlzdHJv CitAY2luZGV4IEd1aXggU3lzdGVtCitZb3UgY2FuIGluc3RhbGwgdGhlIEd1aXggcGFja2FnZSBt YW5hZ2VtZW50IHRvb2wgb24gdG9wIG9mIGFuIGV4aXN0aW5nCitHTlUvTGludXggb3IgR05VL0h1 cmQgc3lzdGVtQGZvb3Rub3Rle0N1cnJlbnRseSBvbmx5IHRoZSBMaW51eC1saWJyZQora2VybmVs IGlzIGZ1bGx5IHN1cHBvcnRlZC4gIFVzaW5nIEdOVUB0aWV7fW1hY2ggd2l0aCB0aGUgR05VQHRp ZXt9SHVyZAoraXMgZXhwZXJpbWVudGFsIGFuZCBvbmx5IGF2YWlsYWJsZSB3aGVuIGJ1aWxkaW5n IGEgdmlydHVhbCBtYWNoaW5lIGRpc2sKK2ltYWdlLn0sIHJlZmVycmVkIHRvIGFzIGEgQGRmbntm b3JlaWduIGRpc3Ryb30sIG9yIGFzIGEgc3RhbmRhbG9uZQorb3BlcmF0aW5nIHN5c3RlbSBkaXN0 cmlidXRpb24sIHRoZSBAZGZue0d1aXhAdGlle31TeXN0ZW19LiAgVGhpcyBzZWN0aW9uCitpcyBj b25jZXJuZWQgd2l0aCB0aGUgaW5zdGFsbGF0aW9uIG9mIEd1aXggb24gYSBmb3JlaWduIGRpc3Ry by4gIElmLAoraW5zdGVhZCwgeW91IHdhbnQgdG8gaW5zdGFsbCB0aGUgY29tcGxldGUgR05VIG9w ZXJhdGluZyBzeXN0ZW0sCitAcHhyZWZ7U3lzdGVtIEluc3RhbGxhdGlvbn0uCiAKLUBxdW90YXRp b24gTm90ZQotV2UgcmVjb21tZW5kIHRoZSB1c2Ugb2YgdGhpcwotQHVyZWZ7aHR0cHM6Ly9naXQu c2F2YW5uYWguZ251Lm9yZy9jZ2l0L2d1aXguZ2l0L3BsYWluL2V0Yy9ndWl4LWluc3RhbGwuc2gs Ci1zaGVsbCBpbnN0YWxsZXIgc2NyaXB0fSB0byBpbnN0YWxsIEd1aXggb24gdG9wIG9mIGEgcnVu bmluZyBHTlUvTGludXggc3lzdGVtLAotdGhlcmVhZnRlciBjYWxsZWQgYSBAZGZue2ZvcmVpZ24g ZGlzdHJvfS5AZm9vdG5vdGV7VGhpcyBzZWN0aW9uIGlzIGNvbmNlcm5lZAotd2l0aCB0aGUgaW5z dGFsbGF0aW9uIG9mIHRoZSBwYWNrYWdlIG1hbmFnZXIsIHdoaWNoIGNhbiBiZSBkb25lIG9uIHRv cCBvZiBhCi1ydW5uaW5nIEdOVS9MaW51eCBzeXN0ZW0uICBJZiwgaW5zdGVhZCwgeW91IHdhbnQg dG8gaW5zdGFsbCB0aGUgY29tcGxldGUgR05VCi1vcGVyYXRpbmcgc3lzdGVtLCBAcHhyZWZ7U3lz dGVtIEluc3RhbGxhdGlvbn0ufSBUaGUgc2NyaXB0IGF1dG9tYXRlcyB0aGUKLWRvd25sb2FkLCBp bnN0YWxsYXRpb24sIGFuZCBpbml0aWFsIGNvbmZpZ3VyYXRpb24gb2YgR3VpeC4gIEl0IHNob3Vs ZCBiZSBydW4KLWFzIHRoZSByb290IHVzZXIuCitAcXVvdGF0aW9uIEltcG9ydGFudAorVGhpcyBz ZWN0aW9uIG9ubHkgYXBwbGllcyB0byBzeXN0ZW1zIHdpdGhvdXQgR3VpeC4gIEZvbGxvd2luZyBp dCBmb3IKK2V4aXN0aW5nIEd1aXggaW5zdGFsbGF0aW9ucyB3aWxsIG92ZXJ3cml0ZSBpbXBvcnRh bnQgc3lzdGVtIGZpbGVzLgogQGVuZCBxdW90YXRpb24KIAotQGNpbmRleCBmb3JlaWduIGRpc3Ry bwogQGNpbmRleCBkaXJlY3RvcmllcyByZWxhdGVkIHRvIGZvcmVpZ24gZGlzdHJvCiBXaGVuIGlu c3RhbGxlZCBvbiBhIGZvcmVpZ24gZGlzdHJvLCBHTlVAdGlle31HdWl4IGNvbXBsZW1lbnRzIHRo ZSBhdmFpbGFibGUKIHRvb2xzIHdpdGhvdXQgaW50ZXJmZXJlbmNlLiAgSXRzIGRhdGEgbGl2ZXMg ZXhjbHVzaXZlbHkgaW4gdHdvIGRpcmVjdG9yaWVzLApAQCAtNzE0LDExICs3MTcsNiBAQCBzdWNo IGFzIEBmaWxley9ldGN9LCBhcmUgbGVmdCB1bnRvdWNoZWQuCiBPbmNlIGluc3RhbGxlZCwgR3Vp eCBjYW4gYmUgdXBkYXRlZCBieSBydW5uaW5nIEBjb21tYW5ke2d1aXggcHVsbH0KIChAcHhyZWZ7 SW52b2tpbmcgZ3VpeCBwdWxsfSkuCiAKLUlmIHlvdSBwcmVmZXIgdG8gcGVyZm9ybSB0aGUgaW5z dGFsbGF0aW9uIHN0ZXBzIG1hbnVhbGx5IG9yIHdhbnQgdG8gdHdlYWsKLXRoZW0sIHlvdSBtYXkg ZmluZCB0aGUgZm9sbG93aW5nIHN1YnNlY3Rpb25zIHVzZWZ1bC4gIFRoZXkgZGVzY3JpYmUgdGhl Ci1zb2Z0d2FyZSByZXF1aXJlbWVudHMgb2YgR3VpeCwgYXMgd2VsbCBhcyBob3cgdG8gaW5zdGFs bCBpdCBtYW51YWxseSBhbmQgZ2V0Ci1yZWFkeSB0byB1c2UgaXQuCi0KIEBtZW51CiAqIEJpbmFy eSBJbnN0YWxsYXRpb246OiAgICAgICAgIEdldHRpbmcgR3VpeCBydW5uaW5nIGluIG5vIHRpbWUh CiAqIFJlcXVpcmVtZW50czo6ICAgICAgICAgICAgICAgIFNvZnR3YXJlIG5lZWRlZCB0byBidWls ZCBhbmQgcnVuIEd1aXguCkBAIC03MzYsMjEwICs3MzQsNjQgQEAgcmVhZHkgdG8gdXNlIGl0Lgog QGNpbmRleCBpbnN0YWxsZXIgc2NyaXB0CiBUaGlzIHNlY3Rpb24gZGVzY3JpYmVzIGhvdyB0byBp bnN0YWxsIEd1aXggZnJvbSBhIHNlbGYtY29udGFpbmVkIHRhcmJhbGwKIHByb3ZpZGluZyBiaW5h cmllcyBmb3IgR3VpeCBhbmQgZm9yIGFsbCBpdHMgZGVwZW5kZW5jaWVzLiAgVGhpcyBpcyBvZnRl bgotcXVpY2tlciB0aGFuIGluc3RhbGxpbmcgZnJvbSBzb3VyY2UsIHdoaWNoIGlzIGRlc2NyaWJl ZCBpbiB0aGUgbmV4dAotc2VjdGlvbnMuICBCaW5hcnkgaW5zdGFsbGF0aW9uIHJlcXVpcmVzIGEg c3lzdGVtIHVzaW5nIGEgSHVyZCBvciBMaW51eAota2VybmVsOyB0aGUgR05VQHRpZXt9dGFyIGFu ZCBYeiBjb21tYW5kcyBtdXN0IGFsc28gYmUgYXZhaWxhYmxlLgorcXVpY2tlciB0aGFuIGluc3Rh bGxpbmcgZnJvbSBzb3VyY2UsIGRlc2NyaWJlZCBsYXRlci4KIAogQHF1b3RhdGlvbiBJbXBvcnRh bnQKIFRoaXMgc2VjdGlvbiBvbmx5IGFwcGxpZXMgdG8gc3lzdGVtcyB3aXRob3V0IEd1aXguICBG b2xsb3dpbmcgaXQgZm9yCiBleGlzdGluZyBHdWl4IGluc3RhbGxhdGlvbnMgd2lsbCBvdmVyd3Jp dGUgaW1wb3J0YW50IHN5c3RlbSBmaWxlcy4KK0BlbmQgcXVvdGF0aW9uCiAKLUBjIE5vdGUgZHVw bGljYXRlZCBmcm9tIHRoZSBgYEluc3RhbGxhdGlvbicnIG5vZGUuCi1XZSByZWNvbW1lbmQgdGhl IHVzZSBvZiB0aGlzCi1AdXJlZntodHRwczovL2dpdC5zYXZhbm5haC5nbnUub3JnL2NnaXQvZ3Vp eC5naXQvcGxhaW4vZXRjL2d1aXgtaW5zdGFsbC5zaCwKLXNoZWxsIGluc3RhbGxlciBzY3JpcHR9 LiAgVGhlIHNjcmlwdCBhdXRvbWF0ZXMgdGhlIGRvd25sb2FkLCBpbnN0YWxsYXRpb24sIGFuZAot aW5pdGlhbCBjb25maWd1cmF0aW9uIHN0ZXBzIGRlc2NyaWJlZCBiZWxvdy4gIEl0IHNob3VsZCBi ZSBydW4gYXMgdGhlIHJvb3QKLXVzZXIuICBBcyByb290LCB5b3UgY2FuIHRodXMgcnVuIHRoaXM6 Ci0KLUBleGFtcGxlCi1jZCAvdG1wCi13Z2V0IGh0dHBzOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcv Y2dpdC9ndWl4LmdpdC9wbGFpbi9ldGMvZ3VpeC1pbnN0YWxsLnNoCi1jaG1vZCAreCBndWl4LWlu c3RhbGwuc2gKLS4vZ3VpeC1pbnN0YWxsLnNoCi1AZW5kIGV4YW1wbGUKK1NvbWUgR05VL0xpbnV4 IGRpc3RyaWJ1dGlvbnMsIHN1Y2ggYXMgRGViaWFuLCBVYnVudHUsIGFuZCBvcGVuU1VTRQorcHJv dmlkZSBHdWl4IHRocm91Z2ggdGhlaXIgb3duIHBhY2thZ2UgbWFuYWdlcnMuICBUaGUgdmVyc2lv biBvZiBHdWl4CittYXkgYmUgb2xkZXIgdGhhbiBAdmFsdWV7VkVSU0lPTn0gYnV0IHlvdSBjYW4g dXBkYXRlIGl0IGFmdGVyd2FyZHMgYnkKK3J1bm5pbmcgQHNhbXB7Z3VpeCBwdWxsfS4KIAotSWYg eW91J3JlIHJ1bm5pbmcgRGViaWFuIG9yIGEgZGVyaXZhdGl2ZSBzdWNoIGFzIFVidW50dSwgeW91 IGNhbiBpbnN0ZWFkCi1pbnN0YWxsIHRoZSBwYWNrYWdlIChpdCBtaWdodCBiZSBhIHZlcnNpb24g b2xkZXIgdGhhbiBAdmFsdWV7VkVSU0lPTn0KLWJ1dCB5b3UgY2FuIHVwZGF0ZSBpdCBhZnRlcndh cmRzIGJ5IHJ1bm5pbmcgQHNhbXB7Z3VpeCBwdWxsfSk6CitGb3IgRGViaWFuIGFuZCBVYnVudHUt YmFzZWQgc3lzdGVtcywgY2FsbDoKIAogQGV4YW1wbGUKIHN1ZG8gYXB0IGluc3RhbGwgZ3VpeAog QGVuZCBleGFtcGxlCiAKLUxpa2V3aXNlIG9uIG9wZW5TVVNFOgorTGlrZXdpc2UsIG9uIG9wZW5T VVNFOgogCiBAZXhhbXBsZQogc3VkbyB6eXBwZXIgaW5zdGFsbCBndWl4CiBAZW5kIGV4YW1wbGUK IAotV2hlbiB5b3UncmUgZG9uZSwgQHB4cmVme0FwcGxpY2F0aW9uIFNldHVwfSBmb3IgZXh0cmEg Y29uZmlndXJhdGlvbiB5b3UKLW1pZ2h0IG5lZWQsIGFuZCBAcmVme0dldHRpbmcgU3RhcnRlZH0g Zm9yIHlvdXIgZmlyc3Qgc3RlcHMhCi1AZW5kIHF1b3RhdGlvbgotCi1JbnN0YWxsaW5nIGdvZXMg YWxvbmcgdGhlc2UgbGluZXM6CitUaGUgR3VpeCBwcm9qZWN0IGFsc28gcHJvdmlkZXMgYSBzaGVs bCBzY3JpcHQsIEBmaWxle2d1aXgtaW5zdGFsbC5zaH0sCit3aGljaCBhdXRvbWF0ZXMgdGhlIGJp bmFyeSBpbnN0YWxsYXRpb24gcHJvY2VzcyB3aXRob3V0IHVzZSBvZiBhIGZvcmVpZ24KK2Rpc3Ry byBwYWNrYWdlCittYW5hZ2VyQGZvb3Rub3Rle0B1cmVme2h0dHBzOi8vZ2l0LnNhdmFubmFoLmdu dS5vcmcvY2dpdC9ndWl4LmdpdC9wbGFpbi9ldGMvZ3VpeC1pbnN0YWxsLnNofX0uCitVc2Ugb2Yg QGZpbGV7Z3VpeC1pbnN0YWxsLnNofSByZXF1aXJlcyBCYXNoLCBHbnVQRywgR05VQHRpZXt9dGFy LCB3Z2V0LAorYW5kIFh6LgogCi1AZW51bWVyYXRlCi1AaXRlbQotQGNpbmRleCBkb3dubG9hZGlu ZyBHdWl4IGJpbmFyeQotRG93bmxvYWQgdGhlIGJpbmFyeSB0YXJiYWxsIGZyb20KLUBpbmRpY2F0 ZXVybHtAdmFsdWV7QkFTRS1VUkx9L2d1aXgtYmluYXJ5LUB2YWx1ZXtWRVJTSU9OfS54ODZfNjQt bGludXgudGFyLnh6fSwKLXdoZXJlIEBjb2Rle3g4Nl82NC1saW51eH0gY2FuIGJlIHJlcGxhY2Vk IHdpdGggQGNvZGV7aTY4Ni1saW51eH0gZm9yIGFuCi1AY29kZXtpNjg2fSAoMzItYml0cykgbWFj aGluZSBhbHJlYWR5IHJ1bm5pbmcgdGhlIGtlcm5lbCBMaW51eCwgYW5kIHNvIG9uCi0oQHB4cmVm e0dOVSBEaXN0cmlidXRpb259KS4KLQotQGMgVGhlIGZvbGxvd2luZyBpcyBzb21ld2hhdCBkdXBs aWNhdGVkIGluIGBgU3lzdGVtIEluc3RhbGxhdGlvbicnLgotTWFrZSBzdXJlIHRvIGRvd25sb2Fk IHRoZSBhc3NvY2lhdGVkIEBmaWxley5zaWd9IGZpbGUgYW5kIHRvIHZlcmlmeSB0aGUKLWF1dGhl bnRpY2l0eSBvZiB0aGUgdGFyYmFsbCBhZ2FpbnN0IGl0LCBhbG9uZyB0aGVzZSBsaW5lczoKLQot QGV4YW1wbGUKLSQgd2dldCBAdmFsdWV7QkFTRS1VUkx9L2d1aXgtYmluYXJ5LUB2YWx1ZXtWRVJT SU9OfS54ODZfNjQtbGludXgudGFyLnh6LnNpZwotJCBncGcgLS12ZXJpZnkgZ3VpeC1iaW5hcnkt QHZhbHVle1ZFUlNJT059Lng4Nl82NC1saW51eC50YXIueHouc2lnCi1AZW5kIGV4YW1wbGUKK1Ro ZSBzY3JpcHQgZ3VpZGVzIHlvdSB0aHJvdWdoIHRoZSBmb2xsb3dpbmc6CiAKLUlmIHRoYXQgY29t bWFuZCBmYWlscyBiZWNhdXNlIHlvdSBkbyBub3QgaGF2ZSB0aGUgcmVxdWlyZWQgcHVibGljIGtl eSwKLXRoZW4gcnVuIHRoaXMgY29tbWFuZCB0byBpbXBvcnQgaXQ6Ci0KLUBleGFtcGxlCi0kIHdn ZXQgJ0B2YWx1ZXtPUEVOUEdQLVNJR05JTkctS0VZLVVSTH0nIFwKLSAgICAgIC1xTyAtIHwgZ3Bn IC0taW1wb3J0IC0KLUBlbmQgZXhhbXBsZQotCi1Abm9pbmRlbnQKLWFuZCByZXJ1biB0aGUgQGNv ZGV7Z3BnIC0tdmVyaWZ5fSBjb21tYW5kLgotCi1UYWtlIG5vdGUgdGhhdCBhIHdhcm5pbmcgbGlr ZSBgYFRoaXMga2V5IGlzIG5vdCBjZXJ0aWZpZWQgd2l0aCBhIHRydXN0ZWQKLXNpZ25hdHVyZSEn JyBpcyBub3JtYWwuCi0KLUBjIGVuZCBhdXRoZW50aWNhdGlvbiBwYXJ0CitAaXRlbWl6ZQorQGl0 ZW0gRG93bmxvYWQgYW5kIGV4dHJhY3QgdGhlIGJpbmFyeSB0YXJiYWxsCitAaXRlbSBTZXQgdXAg dGhlIGJ1aWxkIGRhZW1vbgorQGl0ZW0gTWFrZSB0aGUg4oCYZ3VpeOKAmSBjb21tYW5kIGF2YWls YWJsZSB0byBub24tcm9vdCB1c2VycworQGl0ZW0gQ29uZmlndXJlIHN1YnN0aXR1dGUgc2VydmVy cworQGVuZCBpdGVtaXplCiAKLUBpdGVtCi1Ob3csIHlvdSBuZWVkIHRvIGJlY29tZSB0aGUgQGNv ZGV7cm9vdH0gdXNlci4gIERlcGVuZGluZyBvbiB5b3VyIGRpc3RyaWJ1dGlvbiwKLXlvdSBtYXkg aGF2ZSB0byBydW4gQGNvZGV7c3UgLX0gb3IgQGNvZGV7c3VkbyAtaX0uICBBcyBAY29kZXtyb290 fSwgcnVuOgorQXMgcm9vdCwgcnVuOgogCiBAZXhhbXBsZQogIyBjZCAvdG1wCi0jIHRhciAtLXdh cm5pbmc9bm8tdGltZXN0YW1wIC14ZiBcCi0gICAgIC9wYXRoL3RvL2d1aXgtYmluYXJ5LUB2YWx1 ZXtWRVJTSU9OfS54ODZfNjQtbGludXgudGFyLnh6Ci0jIG12IHZhci9ndWl4IC92YXIvICYmIG12 IGdudSAvCisjIHdnZXQgaHR0cHM6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9jZ2l0L2d1aXguZ2l0 L3BsYWluL2V0Yy9ndWl4LWluc3RhbGwuc2gKKyMgY2htb2QgK3ggZ3VpeC1pbnN0YWxsLnNoCisj IC4vZ3VpeC1pbnN0YWxsLnNoCiBAZW5kIGV4YW1wbGUKIAotVGhpcyBjcmVhdGVzIEBmaWxley9n bnUvc3RvcmV9IChAcHhyZWZ7VGhlIFN0b3JlfSkgYW5kIEBmaWxley92YXIvZ3VpeH0uCi1UaGUg bGF0dGVyIGNvbnRhaW5zIGEgcmVhZHktdG8tdXNlIHByb2ZpbGUgZm9yIEBjb2Rle3Jvb3R9IChz ZWUgbmV4dAotc3RlcCkuCi0KLURvIEBlbXBoe25vdH0gdW5wYWNrIHRoZSB0YXJiYWxsIG9uIGEg d29ya2luZyBHdWl4IHN5c3RlbSBzaW5jZSB0aGF0Ci13b3VsZCBvdmVyd3JpdGUgaXRzIG93biBl c3NlbnRpYWwgZmlsZXMuCi0KLVRoZSBAb3B0aW9uey0td2FybmluZz1uby10aW1lc3RhbXB9IG9w dGlvbiBtYWtlcyBzdXJlIEdOVUB0aWV7fXRhciBkb2VzCi1ub3QgZW1pdCB3YXJuaW5ncyBhYm91 dCBgYGltcGxhdXNpYmx5IG9sZCB0aW1lIHN0YW1wcycnIChzdWNoCi13YXJuaW5ncyB3ZXJlIHRy aWdnZXJlZCBieSBHTlVAdGlle310YXIgMS4yNiBhbmQgb2xkZXI7IHJlY2VudAotdmVyc2lvbnMg YXJlIGZpbmUpLgotVGhleSBzdGVtIGZyb20gdGhlIGZhY3QgdGhhdCBhbGwgdGhlCi1maWxlcyBp biB0aGUgYXJjaGl2ZSBoYXZlIHRoZWlyIG1vZGlmaWNhdGlvbiB0aW1lIHNldCB0byAxICh3aGlj aAotbWVhbnMgSmFudWFyeSAxc3QsIDE5NzApLiAgVGhpcyBpcyBkb25lIG9uIHB1cnBvc2UgdG8g bWFrZSBzdXJlIHRoZQotYXJjaGl2ZSBjb250ZW50IGlzIGluZGVwZW5kZW50IG9mIGl0cyBjcmVh dGlvbiB0aW1lLCB0aHVzIG1ha2luZyBpdAotcmVwcm9kdWNpYmxlLgotCi1AaXRlbQotTWFrZSB0 aGUgcHJvZmlsZSBhdmFpbGFibGUgdW5kZXIgQGZpbGV7fnJvb3QvLmNvbmZpZy9ndWl4L2N1cnJl bnR9LCB3aGljaCBpcwotd2hlcmUgQGNvbW1hbmR7Z3VpeCBwdWxsfSB3aWxsIGluc3RhbGwgdXBk YXRlcyAoQHB4cmVme0ludm9raW5nIGd1aXggcHVsbH0pOgotCi1AZXhhbXBsZQotIyBta2RpciAt cCB+cm9vdC8uY29uZmlnL2d1aXgKLSMgbG4gLXNmIC92YXIvZ3VpeC9wcm9maWxlcy9wZXItdXNl ci9yb290L2N1cnJlbnQtZ3VpeCBcCi0gICAgICAgICB+cm9vdC8uY29uZmlnL2d1aXgvY3VycmVu dAotQGVuZCBleGFtcGxlCi0KLVNvdXJjZSBAZmlsZXtldGMvcHJvZmlsZX0gdG8gYXVnbWVudCBA ZW52e1BBVEh9IGFuZCBvdGhlciByZWxldmFudAotZW52aXJvbm1lbnQgdmFyaWFibGVzOgotCi1A ZXhhbXBsZQotIyBHVUlYX1BST0ZJTEU9ImBlY2hvIH5yb290YC8uY29uZmlnL2d1aXgvY3VycmVu dCIgOyBcCi0gIHNvdXJjZSAkR1VJWF9QUk9GSUxFL2V0Yy9wcm9maWxlCi1AZW5kIGV4YW1wbGUK LQotQGl0ZW0KLUNyZWF0ZSB0aGUgZ3JvdXAgYW5kIHVzZXIgYWNjb3VudHMgZm9yIGJ1aWxkIHVz ZXJzIGFzIGV4cGxhaW5lZCBiZWxvdwotKEBweHJlZntCdWlsZCBFbnZpcm9ubWVudCBTZXR1cH0p LgotCi1AaXRlbQotUnVuIHRoZSBkYWVtb24sIGFuZCBzZXQgaXQgdG8gYXV0b21hdGljYWxseSBz dGFydCBvbiBib290LgotCi1JZiB5b3VyIGhvc3QgZGlzdHJvIHVzZXMgdGhlIHN5c3RlbWQgaW5p dCBzeXN0ZW0sIHRoaXMgY2FuIGJlIGFjaGlldmVkCi13aXRoIHRoZXNlIGNvbW1hbmRzOgotCi1A YyBWZXJzaW9ucyBvZiBzeXN0ZW1kIHRoYXQgc3VwcG9ydGVkIHN5bWxpbmtlZCBzZXJ2aWNlIGZp bGVzIGFyZSBub3QKLUBjIHlldCB3aWRlbHkgZGVwbG95ZWQsIHNvIHdlIHNob3VsZCBzdWdnZXN0 IHRoYXQgdXNlcnMgY29weSB0aGUgc2VydmljZQotQGMgZmlsZXMgaW50byBwbGFjZS4KLUBjCi1A YyBTZWUgdGhpcyB0aHJlYWQgZm9yIG1vcmUgaW5mb3JtYXRpb246Ci1AYyBodHRwczovL2xpc3Rz LmdudS5vcmcvYXJjaGl2ZS9odG1sL2d1aXgtZGV2ZWwvMjAxNy0wMS9tc2cwMTE5OS5odG1sCi0K LUBleGFtcGxlCi0jIGNwIH5yb290Ly5jb25maWcvZ3VpeC9jdXJyZW50L2xpYi9zeXN0ZW1kL3N5 c3RlbS9nbnUtc3RvcmUubW91bnQgXAotICAgICB+cm9vdC8uY29uZmlnL2d1aXgvY3VycmVudC9s aWIvc3lzdGVtZC9zeXN0ZW0vZ3VpeC1kYWVtb24uc2VydmljZSBcCi0gICAgIC9ldGMvc3lzdGVt ZC9zeXN0ZW0vCi0jIHN5c3RlbWN0bCBlbmFibGUgLS1ub3cgZ251LXN0b3JlLm1vdW50IGd1aXgt ZGFlbW9uCi1AZW5kIGV4YW1wbGUKLQotWW91IG1heSBhbHNvIHdhbnQgdG8gYXJyYW5nZSBmb3Ig QGNvbW1hbmR7Z3VpeCBnY30gdG8gcnVuIHBlcmlvZGljYWxseToKLQotQGV4YW1wbGUKLSMgY3Ag fnJvb3QvLmNvbmZpZy9ndWl4L2N1cnJlbnQvbGliL3N5c3RlbWQvc3lzdGVtL2d1aXgtZ2Muc2Vy dmljZSBcCi0gICAgIH5yb290Ly5jb25maWcvZ3VpeC9jdXJyZW50L2xpYi9zeXN0ZW1kL3N5c3Rl bS9ndWl4LWdjLnRpbWVyIFwKLSAgICAgL2V0Yy9zeXN0ZW1kL3N5c3RlbS8KLSMgc3lzdGVtY3Rs IGVuYWJsZSAtLW5vdyBndWl4LWdjLnRpbWVyCi1AZW5kIGV4YW1wbGUKLQotWW91IG1heSB3YW50 IHRvIGVkaXQgQGZpbGV7Z3VpeC1nYy5zZXJ2aWNlfSB0byBhZGp1c3QgdGhlIGNvbW1hbmQgbGlu ZQotb3B0aW9ucyB0byBmaXQgeW91ciBuZWVkcyAoQHB4cmVme0ludm9raW5nIGd1aXggZ2N9KS4K LQotSWYgeW91ciBob3N0IGRpc3RybyB1c2VzIHRoZSBVcHN0YXJ0IGluaXQgc3lzdGVtOgotCi1A ZXhhbXBsZQotIyBpbml0Y3RsIHJlbG9hZC1jb25maWd1cmF0aW9uCi0jIGNwIH5yb290Ly5jb25m aWcvZ3VpeC9jdXJyZW50L2xpYi91cHN0YXJ0L3N5c3RlbS9ndWl4LWRhZW1vbi5jb25mIFwKLSAg ICAgL2V0Yy9pbml0LwotIyBzdGFydCBndWl4LWRhZW1vbgotQGVuZCBleGFtcGxlCi0KLU90aGVy d2lzZSwgeW91IGNhbiBzdGlsbCBzdGFydCB0aGUgZGFlbW9uIG1hbnVhbGx5IHdpdGg6Ci0KLUBl eGFtcGxlCi0jIH5yb290Ly5jb25maWcvZ3VpeC9jdXJyZW50L2Jpbi9ndWl4LWRhZW1vbiBcCi0g ICAgICAgLS1idWlsZC11c2Vycy1ncm91cD1ndWl4YnVpbGQKLUBlbmQgZXhhbXBsZQotCi1AaXRl bQotTWFrZSB0aGUgQGNvbW1hbmR7Z3VpeH0gY29tbWFuZCBhdmFpbGFibGUgdG8gb3RoZXIgdXNl cnMgb24gdGhlIG1hY2hpbmUsCi1mb3IgaW5zdGFuY2Ugd2l0aDoKLQotQGV4YW1wbGUKLSMgbWtk aXIgLXAgL3Vzci9sb2NhbC9iaW4KLSMgY2QgL3Vzci9sb2NhbC9iaW4KLSMgbG4gLXMgL3Zhci9n dWl4L3Byb2ZpbGVzL3Blci11c2VyL3Jvb3QvY3VycmVudC1ndWl4L2Jpbi9ndWl4Ci1AZW5kIGV4 YW1wbGUKLQotSXQgaXMgYWxzbyBhIGdvb2QgaWRlYSB0byBtYWtlIHRoZSBJbmZvIHZlcnNpb24g b2YgdGhpcyBtYW51YWwgYXZhaWxhYmxlCi10aGVyZToKLQotQGV4YW1wbGUKLSMgbWtkaXIgLXAg L3Vzci9sb2NhbC9zaGFyZS9pbmZvCi0jIGNkIC91c3IvbG9jYWwvc2hhcmUvaW5mbwotIyBmb3Ig aSBpbiAvdmFyL2d1aXgvcHJvZmlsZXMvcGVyLXVzZXIvcm9vdC9jdXJyZW50LWd1aXgvc2hhcmUv aW5mby8qIDsKLSAgZG8gbG4gLXMgJGkgOyBkb25lCi1AZW5kIGV4YW1wbGUKLQotVGhhdCB3YXks IGFzc3VtaW5nIEBmaWxley91c3IvbG9jYWwvc2hhcmUvaW5mb30gaXMgaW4gdGhlIHNlYXJjaCBw YXRoLAotcnVubmluZyBAY29tbWFuZHtpbmZvIGd1aXh9IHdpbGwgb3BlbiB0aGlzIG1hbnVhbCAo QHB4cmVme090aGVyIEluZm8KLURpcmVjdG9yaWVzLCwsIHRleGluZm8sIEdOVSBUZXhpbmZvfSwg Zm9yIG1vcmUgZGV0YWlscyBvbiBjaGFuZ2luZyB0aGUKLUluZm8gc2VhcmNoIHBhdGgpLgorQHF1 b3RhdGlvbiBOb3RlCitCeSBkZWZhdWx0LCBiaW5hcnkgaW5zdGFsbGF0aW9ucyBvZiBHdWl4IGJ1 aWxkIEBlbXBoe2V2ZXJ5dGhpbmd9IGZyb20KK3NvdXJjZS4gIFRoaXMgbWFrZXMgZWFjaCBpbnN0 YWxsYXRpb24gYW5kIHVwZ3JhZGUgdmVyeSBleHBlbnNpdmUuCitAeHJlZntPbiBUcnVzdGluZyBC aW5hcmllc30gZm9yIGEgZGlzY3Vzc2lvbiBvZiB3aHkgdGhpcyBpcyB0aGUgZGVmYXVsdC4KIAot QGl0ZW0KIEBjaW5kZXggc3Vic3RpdHV0ZXMsIGF1dGhvcml6YXRpb24gdGhlcmVvZgogVG8gdXNl IHN1YnN0aXR1dGVzIGZyb20gQGNvZGV7QHZhbHVle1NVQlNUSVRVVEUtU0VSVkVSLTF9fSwKIEBj b2Rle0B2YWx1ZXtTVUJTVElUVVRFLVNFUlZFUi0yfX0gb3IgYSBtaXJyb3IgKEBweHJlZntTdWJz dGl0dXRlc30pLAotYXV0aG9yaXplIHRoZW06Cit5b3UgbXVzdCBhdXRob3JpemUgdGhlbS4gIEZv ciBleGFtcGxlLAogCiBAZXhhbXBsZQogIyBndWl4IGFyY2hpdmUgLS1hdXRob3JpemUgPCBcCkBA IC05NDcsNDQgKzc5OSwxMSBAQCBhdXRob3JpemUgdGhlbToKICMgZ3VpeCBhcmNoaXZlIC0tYXV0 aG9yaXplIDwgXAogICAgICB+cm9vdC8uY29uZmlnL2d1aXgvY3VycmVudC9zaGFyZS9ndWl4L0B2 YWx1ZXtTVUJTVElUVVRFLVNFUlZFUi0yfS5wdWIKIEBlbmQgZXhhbXBsZQotCi1AcXVvdGF0aW9u IE5vdGUKLUlmIHlvdSBkbyBub3QgZW5hYmxlIHN1YnN0aXR1dGVzLCBHdWl4IHdpbGwgZW5kIHVw IGJ1aWxkaW5nCi1AZW1waHtldmVyeXRoaW5nfSBmcm9tIHNvdXJjZSBvbiB5b3VyIG1hY2hpbmUs IG1ha2luZyBlYWNoIGluc3RhbGxhdGlvbgotYW5kIHVwZ3JhZGUgdmVyeSBleHBlbnNpdmUuICBA eHJlZntPbiBUcnVzdGluZyBCaW5hcmllc30sIGZvciBhCi1kaXNjdXNzaW9uIG9mIHJlYXNvbnMg d2h5IG9uZSBtaWdodCB3YW50IGRvIGRpc2FibGUgc3Vic3RpdHV0ZXMuCiBAZW5kIHF1b3RhdGlv bgogCi1AaXRlbQotRWFjaCB1c2VyIG1heSBuZWVkIHRvIHBlcmZvcm0gYSBmZXcgYWRkaXRpb25h bCBzdGVwcyB0byBtYWtlIHRoZWlyIEd1aXgKLWVudmlyb25tZW50IHJlYWR5IGZvciB1c2UsIEBw eHJlZntBcHBsaWNhdGlvbiBTZXR1cH0uCi1AZW5kIGVudW1lcmF0ZQotCi1Wb2lsw6AsIHRoZSBp bnN0YWxsYXRpb24gaXMgY29tcGxldGUhCi0KLVlvdSBjYW4gY29uZmlybSB0aGF0IEd1aXggaXMg d29ya2luZyBieSBpbnN0YWxsaW5nIGEgc2FtcGxlIHBhY2thZ2UgaW50bwotdGhlIHJvb3QgcHJv ZmlsZToKLQotQGV4YW1wbGUKLSMgZ3VpeCBpbnN0YWxsIGhlbGxvCi1AZW5kIGV4YW1wbGUKLQot VGhlIGJpbmFyeSBpbnN0YWxsYXRpb24gdGFyYmFsbCBjYW4gYmUgKHJlKXByb2R1Y2VkIGFuZCB2 ZXJpZmllZCBzaW1wbHkKLWJ5IHJ1bm5pbmcgdGhlIGZvbGxvd2luZyBjb21tYW5kIGluIHRoZSBH dWl4IHNvdXJjZSB0cmVlOgotCi1AZXhhbXBsZQotbWFrZSBndWl4LWJpbmFyeS5AdmFye3N5c3Rl bX0udGFyLnh6Ci1AZW5kIGV4YW1wbGUKLQotQG5vaW5kZW50Ci0uLi5AOiB3aGljaCwgaW4gdHVy biwgcnVuczoKLQotQGV4YW1wbGUKLWd1aXggcGFjayAtcyBAdmFye3N5c3RlbX0gLS1sb2NhbHN0 YXRlZGlyIFwKLSAgLS1wcm9maWxlLW5hbWU9Y3VycmVudC1ndWl4IGd1aXgKLUBlbmQgZXhhbXBs ZQotCi1AeHJlZntJbnZva2luZyBndWl4IHBhY2t9LCBmb3IgbW9yZSBpbmZvIG9uIHRoaXMgaGFu ZHkgdG9vbC4KK1doZW4geW91J3JlIGRvbmUgaW5zdGFsbGluZyBHdWl4LCBAcHhyZWZ7QXBwbGlj YXRpb24gU2V0dXB9IGZvciBleHRyYQorY29uZmlndXJhdGlvbiB5b3UgbWlnaHQgbmVlZCwgYW5k IEByZWZ7R2V0dGluZyBTdGFydGVkfSBmb3IgeW91ciBmaXJzdAorc3RlcHMhCiAKIEBub2RlIFJl cXVpcmVtZW50cwogQHNlY3Rpb24gUmVxdWlyZW1lbnRzCkBAIC0xNzY0Myw2ICsxNzQ2Miw3IEBA IGNvbmZpZ3VyYXRpb24gKEBweHJlZntVc2luZyB0aGUgQ29uZmlndXJhdGlvbiBTeXN0ZW19KS4K IAogQHRhYmxlIEBhc2lzCiBAaXRlbSBAY29kZXtrZXJuZWx9IChkZWZhdWx0OiBAY29kZXtsaW51 eC1saWJyZX0pCitAYyBmb290bm90ZSBkdXBsaWNhdGVkIGluIEBweHJlZntJbnN0YWxsYXRpb259 CiBUaGUgcGFja2FnZSBvYmplY3Qgb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIHRvCiB1 c2VAZm9vdG5vdGV7Q3VycmVudGx5IG9ubHkgdGhlIExpbnV4LWxpYnJlIGtlcm5lbCBpcyBmdWxs eSBzdXBwb3J0ZWQuCiBVc2luZyBHTlVAdGlle31tYWNoIHdpdGggdGhlIEdOVUB0aWV7fUh1cmQg aXMgZXhwZXJpbWVudGFsIGFuZCBvbmx5Cg== ------=_Part_8158943_1374053508.1710068975194--