From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.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 gJKFJtMXAGb+2AAAe85BDQ:P1 (envelope-from ) for ; Sun, 24 Mar 2024 13:08:51 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id gJKFJtMXAGb+2AAAe85BDQ (envelope-from ) for ; Sun, 24 Mar 2024 13:08:51 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=excalamus.com header.s=zmail header.b=LMyTKtHF; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=none; arc=reject ("signature check failed: fail, {[1] = sig:zohomail.com:reject}") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1711282131; 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:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=Ued5XOE2K1H/lnmYAAed93IptYZeN4ayiympTHSe/Tk=; b=ZdIf+nBGo01Xr4q55oR+sNk1LQ0kezAIlL/axDbaHacDTX4s9aZj3cVmaeLVAbF4+eY1XJ uv9i9Xqiw5EgyeUa3pZiTelXZeTeS6APGBggSMPu29zwJCbnmncv5V1tgDOClA0Yqogph/ YsojNHws80+PFp4y7cTMXodxYme/GjbTrmGL+OyFPqApEFuuVEtBxutO0Xy2+TbSFZiJVa 75LARIvZ7PwpS5zJk0chHoor9Wi/+9gTl1UrLKBZ5TO8KvFW/qvXyqbLCMFf9b2DqfHND3 hE77HHHmM73UV13ZR5nnzoh+K6k9sCUJ2zhIICr2HTWDMj2PiXW+zyY548kdZg== ARC-Authentication-Results: i=2; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=excalamus.com header.s=zmail header.b=LMyTKtHF; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=none; arc=reject ("signature check failed: fail, {[1] = sig:zohomail.com:reject}") ARC-Seal: i=2; s=key1; d=yhetil.org; t=1711282131; a=rsa-sha256; cv=fail; b=AN/l3mmlkfzNI8Hgl+QZm5sqqUt9xrepyNKyRVSuw9JUTMdi8bYNNSDRMg3DLH8rYREwrl Rvun5JBatUI9wUIB1MgM5qn1TM13XAawdiPKTDeSXEC9Q1YmLyIRTX/3aO+YS1Rcu5ARYx LMkK7RdQbqdZwavDgCnrOckbSHRkPldNa8HfzD/fUhEq9sLAn8yyQC9uVvcE7O8EwIY6oE diVcbU9wXWVOCMTH43AYvl8aqEZMTQJ3WSQAr/nyrCSY2IzFSzIrfm5VpEpmAD8TolqFyo 9GwRYdUVu3wuM0yByCvpAO4t4Dgc5spuHyBOHRfANv3tMAU2yevDuQH8XSIjMg== 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 1D05AA5ED for ; Sun, 24 Mar 2024 13:08:51 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1roMeF-0003Jc-2V; Sun, 24 Mar 2024 08:08:23 -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 1roLRh-0005DR-Lt for guix-patches@gnu.org; Sun, 24 Mar 2024 06:51:21 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1roLRh-000507-CD for guix-patches@gnu.org; Sun, 24 Mar 2024 06:51:21 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1roLSN-0000qf-1z for guix-patches@gnu.org; Sun, 24 Mar 2024 06:52:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#69977] [PATCH] doc: doc-Simplify installation instructions (was Re: doc: installation: fix ~root confusion (was Re: doc: Removing much of Binary Installation)) Resent-From: Matt Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 24 Mar 2024 10:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 69977 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 69977@debbugs.gnu.org Cc: Josselin Poiret , Christian Miller , Maxim Cournoyer , "pelzflorian \(Florian Pelz\)" X-Debbugs-Original-To: "guix-patches" Received: via spool by submit@debbugs.gnu.org id=B.17112774983193 (code B ref -1); Sun, 24 Mar 2024 10:52:02 +0000 Received: (at submit) by debbugs.gnu.org; 24 Mar 2024 10:51:38 +0000 Received: from localhost ([127.0.0.1]:48383 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1roLRw-0000pK-Kj for submit@debbugs.gnu.org; Sun, 24 Mar 2024 06:51:38 -0400 Received: from lists.gnu.org ([209.51.188.17]:48742) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1roKVi-0006NK-HL for submit@debbugs.gnu.org; Sun, 24 Mar 2024 05:51:28 -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 1roK8r-0003SS-71 for guix-patches@gnu.org; Sun, 24 Mar 2024 05:27:49 -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 1roK8o-0003Vz-B9 for guix-patches@gnu.org; Sun, 24 Mar 2024 05:27:48 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1711272452; cv=none; d=zohomail.com; s=zohoarc; b=gp+rllXG3Kkxw/lzdscoN3ns3lssMJivg2JO3W50OFIN+7622Fb055g6dfvxj21S75VibwQ1Ex4Qn7NLyTbSl5PehdqhJd4YxNBumxkMwn6j2PvgONO8PXPgrzRJmgLDDTClsll+MNQy3klVf9DNOxe7YUtGIUO8wLZRuEG840A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1711272452; 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=Ued5XOE2K1H/lnmYAAed93IptYZeN4ayiympTHSe/Tk=; b=YTxOi5xmwch7BzytX0d30KIC8u3ekUoSnHOQGtOammkxL30EbByIGa9jGMtGSfqBkuOIw47i/KE+7M+MxNKwPXAHQnK4chdPI0hHLmR+OBzTeL3Rvvc7u0P9WHGj8EiTW318jeLK1K3YFh1zkEMToQcTemDqhehYzoXLFIY75cc= 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=1711272452; 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=Ued5XOE2K1H/lnmYAAed93IptYZeN4ayiympTHSe/Tk=; b=LMyTKtHFm2NAXU0C3ppr1GX+cAhRxRy7L95HAJ+K7Hqqp4WViwds1btZHMHVBPs0 zTTv4+HLjUsb7KVqyrFycSUIoiaxZTnZuGxPF8CMoY1HH6iiAEsVt8yU+rMqjawqWkz EV7oZeDr2I2qfiRw2mVZ3/fpmKBGXPMArhdDFM/o= Received: from mail.zoho.com by mx.zohomail.com with SMTP id 1711272450457129.7463892581119; Sun, 24 Mar 2024 02:27:30 -0700 (PDT) Date: Sun, 24 Mar 2024 10:27:30 +0100 From: Matt Message-Id: <18e6fc95976.1123b38ca424631.8698364288744551259@excalamus.com> In-Reply-To: <87zfuynug6.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> <18e280dc65a.fb9272352515573.111358157668309553@excalamus.com> <87le6ou5ly.fsf@pelzflorian.de> <18e46e0150a.126718be4584704.7946677375549431621@excalamus.com> <87zfuynug6.fsf@pelzflorian.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_1364388_1327837156.1711272450423" Importance: Medium User-Agent: Zoho Mail X-Mailer: Zoho Mail X-Zoho-Virus-Status: 1 X-Zoho-AV-Stamp: zmail-av-1.1.0/211.204.48 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.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Sun, 24 Mar 2024 06:51:34 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Mailman-Approved-At: Sun, 24 Mar 2024 08:08:17 -0400 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Queue-Id: 1D05AA5ED X-Spam-Score: -1.52 X-Migadu-Spam-Score: -1.52 X-Migadu-Scanner: mx10.migadu.com X-TUID: swmOWQOcZBk7 ------=_Part_1364388_1327837156.1711272450423 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Ludo's recommendation, I'm submitting this patch set. It fixes issues o= f confusion raised in feedback on the manual. See this discussion: https:/= /lists.gnu.org/archive/html/guix-devel/2024-03/msg00023.html I will reply to points raised in that thread here and have CC'd people who = have previously shown interest. ---- On Sat, 16 Mar 2024 15:05:13 +0100 pelzflorian (Florian Pelz) wrote= --- > I think the diff was quite appropriate. You could make a patch via =E2= =80=9Cgit > format-patch=E2=80=9D or =E2=80=9Cgit send-email=E2=80=9D, which would i= nclude a commit message > and which could include a move of sections 2.2 and 2.3 to the > contributing.texi. But it is not necessary for documentation changes. See attached. > >> > Matt matt@excalamus.com> writes: > >> > +You can install the Guix package management tool on top of an exis= ting > >> > +GNU/Linux or GNU/Hurd system@footnote{Currently only the Linux-lib= re > >> > +kernel is fully supported. [=E2=80=A6] > >> > >> No. > >> > >> First of all, using guix-install.sh as per your instructions, one > >> installs the Guix distribution *and* package management tool. Either > >> say =E2=80=9CYou can install the Guix package management tool and dis= tribution=E2=80=9D > >> or =E2=80=9CYou can install Guix=E2=80=9D. > > > > I'm afraid I don't follow. Where do you see the suggested changes > > confusing the installation process for Guix as a distribution and Guix > > as a package management tool? > > > > The sentence you quote is the suggested first sentence for the Chapter > > 2: Installation. The complete sentence reads, > > > > "You can install the Guix package management tool on top of an > > existing GNU/Linux or GNU/Hurd system(1), referred to as a "foreign > > distro", or as a standalone operating system distribution, the "Guix > > System"." > > > > It literally says Guix is a package manager or a distribution. > > Precisely this terminology is the issue. Nix is a package manager; > Nixpkgs is a distribution. For Guix, Guix is both a package manager and > distribution. Guix System is not a distribution in this sense; Guix is > the distribution. I am aware that some people expect distribution to > mean a self-sufficient operating system, but we should not subscribe to > one side of terminology. (Actually, the term operating system is > complex as well, for example GNU is an operating system and the people > from Robot Operating System call ROS an operating system.) Thank you for your feedback. Reading the suggested changes again with fres= h eyes, I think I now see your concerns. I see you raise two concerns: 1. A clear distinction between Guix and the Guix System was not made I have split the suggested sentence, whose current version (v04) is given a= bove, into two. One sentence has the subject of "the package management too= l Guix" and the other "the Guix System". You were correct in observing tha= t the suggestion confused the meaning of "Guix". Good catch! 2. The use of "operating system" is inappropriate The v04 suggestion used "operating system" only because the current manual = (bf53001) says in Section 1: Introduction, "If, instead, you want to instal= l the complete GNU operating system..." before linking to "...how to instal= l Guix System on a machine." I have changed the patch set to say, "If, instead, you want to install the complete, standalone GNU system distr= ibution..." This is based off the Section 1: Introduction which calls Guix System a dis= tribution, "...or you can use [Guix] as a standalone operating system distr= ibution, 'Guix System'" and Section 1.2: GNU Distribution which says, "we r= efer to the standalone distribution as Guix System." I'm not sure if I've responded to all of your concerns here. Have I missed= any? > I would not address Hurd here at all. Hurd support would be important > and is promising, but documentation for it should come after it works on > more than a Childhurd. You say, "I would not address Hurd *here*" which implies it's valid to addr= ess Hurd elsewhere. What's the criteria for deciding whether to address Hu= rd and how are the reasons I inadequate? Here are the reasons I gave previously for why we should continue documenti= ng Hurd support: - The manual already documents Hurd support - Core developers have published the statement, "running on the Hurd was al= ways a goal for Guix" - Guix can run on Hurd - Code exists in the main branch for Hurd support > > No mention of 'guix-install.sh' is made on that page. > > I wanted to give an example what I mean, not a suggestion. I don't understand what you mean then. The exchange quoted here was part o= f the "Guix" versus "Guix System" discussion above. Have the updates I've = made there addressed this point? > >> Next, I believe Guix cannot currently be built on existing GNU/Hurd > >> systems, because guile-fibers does not work. I do not really know > >> enough, but I would not mention Hurd support. > > > > The are two issues here, what is said and what should be said. > > > > Regarding what is said, the section we're talking about is for > > installing not building. You *can* install the Guix package > > management tool on top of an existing GNU/Hurd system. > > Probably a guix pack of the guix package would run, but Debian=E2=80=99s > guile-fibers is not accepted, if I don=E2=80=99t misunderstand. What I ask myself is, "Is this a problem or a detail?" I know that probabl= y sounds stupid. However, the question is whether Guix can be installed on= Hurd. The answer is, Guix can be installed on Hurd. Everything else, the= refore, including guile-fibers or which Hurd, while important in other cont= exts, is not important to this issue. > > [=E2=80=A6] > >> >> Similarly, IMO the nuances are more appropriate in the old wording > >> >> =E2=80=9CFor Debian or a derivative such as Ubuntu,=E2=80=9D rathe= r than your change > >> >> =E2=80=9CFor Debian and Ubuntu-based systems=E2=80=9D. > >> > > >> > The current wording is, "If you're running Debian or a derivative s= uch > >> > as Ubuntu..." None of the suggested changes include the wording yo= u > >> > give. > >> > > >> > What are the nuances? If they matter, we should probably make them= explicit. > >> > >> The nuance is that Ubuntu is a derivative of Debian. It can be > >> bootstrapped with Debian=E2=80=99s dpkg, although I did not follow a = recent > >> e-mail thread on how to do this from a Guix-provided dpkg. > > > > Unless there's something about this nuance which directly affects the > > installation process, I don't think the distinction warrants mention. > > > > I opted to ignore the distinction and use "Debian and Ubuntu-based > > systems" because many popular distros, such as Ubuntu, Linux Mint, > > Zorin OS, Elementary OS, Linux Lite, and Pop!_OS, are known for being > > "based on Ubuntu." The relevant information for users of these > > systems is not that they're derivatives of Debian, it's that this is > > the installation process for such systems. > > Ubuntu should not get the credits for what Debian is doing. The current > wording =E2=80=9CDebian or a derivative such as Ubuntu=E2=80=9D is faire= r and equally > clear. Ensuring fairness is everyone's responsiblity. I respect you for accepting= this and speaking up. I understand that you're concerned about proper att= ribution. AFAIK, Ubuntu gives clear credit to Debian. For example, the Ubuntu websit= e says, "Debian is the rock on which Ubuntu is built." https://ubuntu.com/= community/governance/debian They give similarly clear statements elsewhere,= too. My understanding is that many distros call themselves "based on Ubuntu", "b= uilt upon Ubuntu", or list Ubuntu as "upstream" because they use packages t= hat are, at minimum, distributed by Ubuntu. That adds value also deserving= of credit and which is separate from the value added by Debian. Also, we = must not overlook that Debian is itself built upon the work of others, many= of whom are not associated with Debian and may not even be aware Debian pa= ckages or distributes their work. This is all possible and just because of= Free Software. One of the four freedoms is the right to distribute unmodi= fied copies. It depends on the license terms, or lack thereof, whether exp= licit credit needs to be given. I've not heard of Ubuntu violating any lic= ense terms or other legal restrictions requiring attribution. Am I missing something? > >> Better not change the wording? I believe enabling substitutes is not > >> the default. You are correct! I misunderstood the current manual and wrote that misunde= rstanding into my suggested changes. I have updated the suggested changes.= Thank you for catching this! > I agree with you now that the wording can be simplified, except it must = be rewritten to that disabling substitutes is an option that is not the def= ault. The term "substitute" is given in the Section 1 Introduction. However, sin= ce it's jargon and this is a different chapter, I think it prudent to repea= t the definition again as a reminder. The 'guix-install.sh' script uses the term "pre-built package binaries" ins= tead of "substitute": "Permit downloading pre-built package binaries from the project's build far= ms? [Y/n]" I propose the following. The intent is to match the script's language so t= hat readers may understand the consequences of a 'Y' or 'n' choice. The be= st place to do this would be in the prompt. However, documenting consequen= ces in the manual seems a reasonable compromise which makes the prompt conc= ise and allows us to link to the "On Trusting Binaries" section. +By default, 'guix-install.sh' will configure Guix to download pre-built +package binaries, called @dfn{substitutes} (@pxref{Substitutes}), from +the project's build farms. If you choose not to permit this, Guix will +build @emph{everything} from source, making each installation and +upgrade very expensive. @xref{On Trusting Binaries} for a discussion of +why you may want to build packages from source. > Otherwise LGTM. Could you send another diff? Gladly. I reviewed our past messages and tried to document all the relevan= t changes in the commit messages. ------=_Part_1364388_1327837156.1711272450423 Content-Type: application/octet-stream; name=0001-doc-Simplify-installation-instructions.patch Content-Transfer-Encoding: base64 X-ZM_AttachId: 139305652504230150 Content-Disposition: attachment; filename=0001-doc-Simplify-installation-instructions.patch RnJvbSAzYmQ2Yjk2ZjI4MjkxMzBkNjc3NzAyZmJhNjliZmYzN2FlNWFlNDgzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXR0aGV3IFRyemNpbnNraSA8bWF0dEBleGNhbGFtdXMuY29t PgpEYXRlOiBTdW4sIDI0IE1hciAyMDI0IDEwOjAyOjQwICswMTAwClN1YmplY3Q6IFtQQVRDSCAx LzNdIGRvYzogU2ltcGxpZnkgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucwoKKiBkb2MvZ3VpeC50 ZXhpIChJbnN0YWxsYXRpb24pOgotIE1vdmUgdGhlIGRlZmluaXRpb24gb2YgImZvcmVpZ24gZGlz dHJvIiBvdXQgb2YgcXVvdGF0aW9uCi0gUmVwZWF0IG92ZXJ3cml0ZSB3YXJuaW5nCi0gUmVtb3Zl IHN1cGVyZmx1b3VzIGNvbW1lbnRhcnkKCiogZG9jL2d1aXgudGV4aSAoQmluYXJ5IEluc3RhbGxh dGlvbik6Ci0gQ2xhcmlmeSB0aGF0IGluc3RhbGxpbmcgb24gYSBmb3JlaWduIGRpc3RybyBoYXMg dHdvIG1ldGhvZHM6IHVzaW5nCiAgcGFja2FnZWQgYmluYXJpZXMgYW5kIGJ1aWxkaW5nIGZyb20g c291cmNlCi0gQWRkIGNyb3NzIHJlZmVyZW5jZSB0byAiQnVpbGRpbmcgZnJvbSBHaXQiCi0gTW92 ZSB0aGUgZm9yZWlnbiBkaXN0cm8gaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucyBvdXQgb2YgcXVv dGF0aW9uCi0gTW92ZSBkaXJlY3Rpb25zIGZvciAnZ3VpeC1pbnN0YWxsLnNoJyBhZnRlciBpbnN0 cnVjdGlvbnMgdG8gdXNlCiAgZGlzdHJpYnV0aW9uLXNwZWNpZmljIHBhY2thZ2UgbWFuYWdlcnMK LSBTcGVjaWZ5ICJkaXN0cmlidXRpb25zIiBhcyAiR05VL0xpbnV4IGRpc3RyaWJ1dGlvbnMiCi0g QWRkIEdudVBHIGFzIGEgcmVxdWlyZW1lbnQgZm9yICdndWl4LWluc3RhbGwuc2gnCi0gQWRkIGNv bW1hIGFmdGVyICJMaWtld2lzZSIKLSBSZW1vdmUgcmVkdW5kYW50IGluc3RydWN0aW9ucyB0byB1 c2UgJ2d1aXgtaW5zdGFsbC5zaCcKLSBTcGxpdCB0aGUgcmVxdWlyZW1lbnRzIGJldHdlZW4gc3lz dGVtIHJlcXVpcmVtZW50cyBmb3IgYmluYXJ5CiAgaW5zdGFsbGF0aW9ucywgR05VL0xpbnV4IG9y IEdOVS9IdXJkLCBhbmQgcmVxdWlyZW1lbnRzIGZvciBydW5uaW5nCiAgJ2d1aXgtaW5zdGFsbC5z aCcKLSBDbGFyaWZ5IHRoYXQgJ2d1aXgtaW5zdGFsbC5zaCcgZ3VpZGVzIHVzZXJzIHRocm91Z2gg dGhlIHN0ZXBzCi0gU3VtbWFyaXplIHRoZSBzdGVwcyAnZ3VpeC1pbnN0YWxsLnNoJyBmb2xsb3dz IHJhdGhlciB0aGFuIHRyeSB0bwogIGRldGFpbCB0aGVtCi0gTWFrZSBleHBsaWNpdCB0aGF0IHRo ZSAnZ3VpeC1pbnN0YWxsLnNoJyBkZWZhdWx0IGlzIHRvIGRvd25sb2FkCiAgc3Vic3RpdHV0ZXMK LSBFbXBoYXNpemUgdGhhdCB0aGUgc3Vic3RpdHV0ZSBhdXRob3JpemF0aW9uIGNvZGUgaXMgYW4g ZXhhbXBsZSBhbmQKICBtYXkgbmVlZCBtb2RpZmljYXRpb24KCkxpbms6IDxodHRwczovL2xpc3Rz LmdudS5vcmcvYXJjaGl2ZS9odG1sL2d1aXgtZGV2ZWwvMjAyNC0wMy9tc2cwMDAyMy5odG1sPgot LS0KIGRvYy9ndWl4LnRleGkgfCAyODAgKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCAyMzAg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL2d1aXgudGV4aSBiL2RvYy9ndWl4LnRleGkK aW5kZXggZWRhNDA4NGU3Zi4uMmI0ZDM1ODViYSAxMDA2NDQKLS0tIGEvZG9jL2d1aXgudGV4aQor KysgYi9kb2MvZ3VpeC50ZXhpCkBAIC02OTEsMjAgKzY5MSwyMCBAQCB0byBqb2luISAgQHhyZWZ7 Q29udHJpYnV0aW5nfSwgZm9yIGluZm9ybWF0aW9uIGFib3V0IGhvdyB5b3UgY2FuIGhlbHAuCiBA Y2hhcHRlciBJbnN0YWxsYXRpb24KIAogQGNpbmRleCBpbnN0YWxsaW5nIEd1aXgKK0BjaW5kZXgg Zm9yZWlnbiBkaXN0cm8KK0BjaW5kZXggR3VpeCBTeXN0ZW0KK1lvdSBjYW4gaW5zdGFsbCB0aGUg cGFja2FnZSBtYW5hZ2VtZW50IHRvb2wgR3VpeCBvbiB0b3Agb2YgYW4gZXhpc3RpbmcKK0dOVS9M aW51eCBvciBHTlUvSHVyZCBzeXN0ZW1AZm9vdG5vdGV7SHVyZCBzdXBwb3J0IGlzIGN1cnJlbnRs eQorbGltaXRlZC59LCByZWZlcnJlZCB0byBhcyBhIEBkZm57Zm9yZWlnbiBkaXN0cm99LiAgSWYs IGluc3RlYWQsIHlvdSB3YW50Cit0byBpbnN0YWxsIHRoZSBjb21wbGV0ZSwgc3RhbmRhbG9uZSBH TlUgc3lzdGVtIGRpc3RyaWJ1dGlvbiwKK0BkZm57R3VpeEB0aWV7fVN5c3RlbX0sIEBweHJlZntT eXN0ZW0gSW5zdGFsbGF0aW9ufS4gIFRoaXMgc2VjdGlvbiBpcworY29uY2VybmVkIG9ubHkgd2l0 aCB0aGUgaW5zdGFsbGF0aW9uIG9mIEd1aXggb24gYSBmb3JlaWduIGRpc3Ryby4KIAotQHF1b3Rh dGlvbiBOb3RlCi1XZSByZWNvbW1lbmQgdGhlIHVzZSBvZiB0aGlzCi1AdXJlZntodHRwczovL2dp dC5zYXZhbm5haC5nbnUub3JnL2NnaXQvZ3VpeC5naXQvcGxhaW4vZXRjL2d1aXgtaW5zdGFsbC5z aCwKLXNoZWxsIGluc3RhbGxlciBzY3JpcHR9IHRvIGluc3RhbGwgR3VpeCBvbiB0b3Agb2YgYSBy dW5uaW5nIEdOVS9MaW51eCBzeXN0ZW0sCi10aGVyZWFmdGVyIGNhbGxlZCBhIEBkZm57Zm9yZWln biBkaXN0cm99LkBmb290bm90ZXtUaGlzIHNlY3Rpb24gaXMgY29uY2VybmVkCi13aXRoIHRoZSBp bnN0YWxsYXRpb24gb2YgdGhlIHBhY2thZ2UgbWFuYWdlciwgd2hpY2ggY2FuIGJlIGRvbmUgb24g dG9wIG9mIGEKLXJ1bm5pbmcgR05VL0xpbnV4IHN5c3RlbS4gIElmLCBpbnN0ZWFkLCB5b3Ugd2Fu dCB0byBpbnN0YWxsIHRoZSBjb21wbGV0ZSBHTlUKLW9wZXJhdGluZyBzeXN0ZW0sIEBweHJlZntT eXN0ZW0gSW5zdGFsbGF0aW9ufS59IFRoZSBzY3JpcHQgYXV0b21hdGVzIHRoZQotZG93bmxvYWQs IGluc3RhbGxhdGlvbiwgYW5kIGluaXRpYWwgY29uZmlndXJhdGlvbiBvZiBHdWl4LiAgSXQgc2hv dWxkIGJlIHJ1bgotYXMgdGhlIHJvb3QgdXNlci4KK0BxdW90YXRpb24gSW1wb3J0YW50CitUaGlz IHNlY3Rpb24gb25seSBhcHBsaWVzIHRvIHN5c3RlbXMgd2l0aG91dCBHdWl4LiAgRm9sbG93aW5n IGl0IGZvcgorZXhpc3RpbmcgR3VpeCBpbnN0YWxsYXRpb25zIHdpbGwgb3ZlcndyaXRlIGltcG9y dGFudCBzeXN0ZW0gZmlsZXMuCiBAZW5kIHF1b3RhdGlvbgogCi1AY2luZGV4IGZvcmVpZ24gZGlz dHJvCiBAY2luZGV4IGRpcmVjdG9yaWVzIHJlbGF0ZWQgdG8gZm9yZWlnbiBkaXN0cm8KIFdoZW4g aW5zdGFsbGVkIG9uIGEgZm9yZWlnbiBkaXN0cm8sIEdOVUB0aWV7fUd1aXggY29tcGxlbWVudHMg dGhlIGF2YWlsYWJsZQogdG9vbHMgd2l0aG91dCBpbnRlcmZlcmVuY2UuICBJdHMgZGF0YSBsaXZl cyBleGNsdXNpdmVseSBpbiB0d28gZGlyZWN0b3JpZXMsCkBAIC03MTQsMTEgKzcxNCw2IEBAIHN1 Y2ggYXMgQGZpbGV7L2V0Y30sIGFyZSBsZWZ0IHVudG91Y2hlZC4KIE9uY2UgaW5zdGFsbGVkLCBH dWl4IGNhbiBiZSB1cGRhdGVkIGJ5IHJ1bm5pbmcgQGNvbW1hbmR7Z3VpeCBwdWxsfQogKEBweHJl ZntJbnZva2luZyBndWl4IHB1bGx9KS4KIAotSWYgeW91IHByZWZlciB0byBwZXJmb3JtIHRoZSBp bnN0YWxsYXRpb24gc3RlcHMgbWFudWFsbHkgb3Igd2FudCB0byB0d2VhawotdGhlbSwgeW91IG1h eSBmaW5kIHRoZSBmb2xsb3dpbmcgc3Vic2VjdGlvbnMgdXNlZnVsLiAgVGhleSBkZXNjcmliZSB0 aGUKLXNvZnR3YXJlIHJlcXVpcmVtZW50cyBvZiBHdWl4LCBhcyB3ZWxsIGFzIGhvdyB0byBpbnN0 YWxsIGl0IG1hbnVhbGx5IGFuZCBnZXQKLXJlYWR5IHRvIHVzZSBpdC4KLQogQG1lbnUKICogQmlu YXJ5IEluc3RhbGxhdGlvbjo6ICAgICAgICAgR2V0dGluZyBHdWl4IHJ1bm5pbmcgaW4gbm8gdGlt ZSEKICogUmVxdWlyZW1lbnRzOjogICAgICAgICAgICAgICAgU29mdHdhcmUgbmVlZGVkIHRvIGJ1 aWxkIGFuZCBydW4gR3VpeC4KQEAgLTczNiwyMTAgKzczMSw2OCBAQCByZWFkeSB0byB1c2UgaXQu CiBAY2luZGV4IGluc3RhbGxlciBzY3JpcHQKIFRoaXMgc2VjdGlvbiBkZXNjcmliZXMgaG93IHRv IGluc3RhbGwgR3VpeCBmcm9tIGEgc2VsZi1jb250YWluZWQgdGFyYmFsbAogcHJvdmlkaW5nIGJp bmFyaWVzIGZvciBHdWl4IGFuZCBmb3IgYWxsIGl0cyBkZXBlbmRlbmNpZXMuICBUaGlzIGlzIG9m dGVuCi1xdWlja2VyIHRoYW4gaW5zdGFsbGluZyBmcm9tIHNvdXJjZSwgd2hpY2ggaXMgZGVzY3Jp YmVkIGluIHRoZSBuZXh0Ci1zZWN0aW9ucy4gIEJpbmFyeSBpbnN0YWxsYXRpb24gcmVxdWlyZXMg YSBzeXN0ZW0gdXNpbmcgYSBIdXJkIG9yIExpbnV4Ci1rZXJuZWw7IHRoZSBHTlVAdGlle310YXIg YW5kIFh6IGNvbW1hbmRzIG11c3QgYWxzbyBiZSBhdmFpbGFibGUuCitxdWlja2VyIHRoYW4gaW5z dGFsbGluZyBmcm9tIHNvdXJjZSwgZGVzY3JpYmVkIGxhdGVyIChAcHhyZWZ7QnVpbGRpbmcKK2Zy b20gR2l0fSkuCiAKIEBxdW90YXRpb24gSW1wb3J0YW50CiBUaGlzIHNlY3Rpb24gb25seSBhcHBs aWVzIHRvIHN5c3RlbXMgd2l0aG91dCBHdWl4LiAgRm9sbG93aW5nIGl0IGZvcgogZXhpc3Rpbmcg R3VpeCBpbnN0YWxsYXRpb25zIHdpbGwgb3ZlcndyaXRlIGltcG9ydGFudCBzeXN0ZW0gZmlsZXMu CitAZW5kIHF1b3RhdGlvbgogCi1AYyBOb3RlIGR1cGxpY2F0ZWQgZnJvbSB0aGUgYGBJbnN0YWxs YXRpb24nJyBub2RlLgotV2UgcmVjb21tZW5kIHRoZSB1c2Ugb2YgdGhpcwotQHVyZWZ7aHR0cHM6 Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9jZ2l0L2d1aXguZ2l0L3BsYWluL2V0Yy9ndWl4LWluc3Rh bGwuc2gsCi1zaGVsbCBpbnN0YWxsZXIgc2NyaXB0fS4gIFRoZSBzY3JpcHQgYXV0b21hdGVzIHRo ZSBkb3dubG9hZCwgaW5zdGFsbGF0aW9uLCBhbmQKLWluaXRpYWwgY29uZmlndXJhdGlvbiBzdGVw cyBkZXNjcmliZWQgYmVsb3cuICBJdCBzaG91bGQgYmUgcnVuIGFzIHRoZSByb290Ci11c2VyLiAg QXMgcm9vdCwgeW91IGNhbiB0aHVzIHJ1biB0aGlzOgotCi1AZXhhbXBsZQotY2QgL3RtcAotd2dl dCBodHRwczovL2dpdC5zYXZhbm5haC5nbnUub3JnL2NnaXQvZ3VpeC5naXQvcGxhaW4vZXRjL2d1 aXgtaW5zdGFsbC5zaAotY2htb2QgK3ggZ3VpeC1pbnN0YWxsLnNoCi0uL2d1aXgtaW5zdGFsbC5z aAotQGVuZCBleGFtcGxlCitTb21lIEdOVS9MaW51eCBkaXN0cmlidXRpb25zLCBzdWNoIGFzIERl YmlhbiwgVWJ1bnR1LCBhbmQgb3BlblNVU0UKK3Byb3ZpZGUgR3VpeCB0aHJvdWdoIHRoZWlyIG93 biBwYWNrYWdlIG1hbmFnZXJzLiAgVGhlIHZlcnNpb24gb2YgR3VpeAorbWF5IGJlIG9sZGVyIHRo YW4gQHZhbHVle1ZFUlNJT059IGJ1dCB5b3UgY2FuIHVwZGF0ZSBpdCBhZnRlcndhcmRzIGJ5City dW5uaW5nIEBzYW1we2d1aXggcHVsbH0uCiAKLUlmIHlvdSdyZSBydW5uaW5nIERlYmlhbiBvciBh IGRlcml2YXRpdmUgc3VjaCBhcyBVYnVudHUsIHlvdSBjYW4gaW5zdGVhZAotaW5zdGFsbCB0aGUg cGFja2FnZSAoaXQgbWlnaHQgYmUgYSB2ZXJzaW9uIG9sZGVyIHRoYW4gQHZhbHVle1ZFUlNJT059 Ci1idXQgeW91IGNhbiB1cGRhdGUgaXQgYWZ0ZXJ3YXJkcyBieSBydW5uaW5nIEBzYW1we2d1aXgg cHVsbH0pOgorRm9yIERlYmlhbiBhbmQgVWJ1bnR1LWJhc2VkIHN5c3RlbXMsIGNhbGw6CiAKIEBl eGFtcGxlCiBzdWRvIGFwdCBpbnN0YWxsIGd1aXgKIEBlbmQgZXhhbXBsZQogCi1MaWtld2lzZSBv biBvcGVuU1VTRToKK0xpa2V3aXNlLCBvbiBvcGVuU1VTRToKIAogQGV4YW1wbGUKIHN1ZG8genlw cGVyIGluc3RhbGwgZ3VpeAogQGVuZCBleGFtcGxlCiAKLVdoZW4geW91J3JlIGRvbmUsIEBweHJl ZntBcHBsaWNhdGlvbiBTZXR1cH0gZm9yIGV4dHJhIGNvbmZpZ3VyYXRpb24geW91Ci1taWdodCBu ZWVkLCBhbmQgQHJlZntHZXR0aW5nIFN0YXJ0ZWR9IGZvciB5b3VyIGZpcnN0IHN0ZXBzIQotQGVu ZCBxdW90YXRpb24KLQotSW5zdGFsbGluZyBnb2VzIGFsb25nIHRoZXNlIGxpbmVzOgorVGhlIEd1 aXggcHJvamVjdCBhbHNvIHByb3ZpZGVzIGEgc2hlbGwgc2NyaXB0LCBAZmlsZXtndWl4LWluc3Rh bGwuc2h9LAord2hpY2ggYXV0b21hdGVzIHRoZSBiaW5hcnkgaW5zdGFsbGF0aW9uIHByb2Nlc3Mg d2l0aG91dCB1c2Ugb2YgYSBmb3JlaWduCitkaXN0cm8gcGFja2FnZQorbWFuYWdlckBmb290bm90 ZXtAdXJlZntodHRwczovL2dpdC5zYXZhbm5haC5nbnUub3JnL2NnaXQvZ3VpeC5naXQvcGxhaW4v ZXRjL2d1aXgtaW5zdGFsbC5zaH19LgorVXNlIG9mIEBmaWxle2d1aXgtaW5zdGFsbC5zaH0gcmVx dWlyZXMgQmFzaCwgR251UEcsIEdOVUB0aWV7fXRhciwgd2dldCwKK2FuZCBYei4KIAotQGVudW1l cmF0ZQotQGl0ZW0KLUBjaW5kZXggZG93bmxvYWRpbmcgR3VpeCBiaW5hcnkKLURvd25sb2FkIHRo ZSBiaW5hcnkgdGFyYmFsbCBmcm9tCi1AaW5kaWNhdGV1cmx7QHZhbHVle0JBU0UtVVJMfS9ndWl4 LWJpbmFyeS1AdmFsdWV7VkVSU0lPTn0ueDg2XzY0LWxpbnV4LnRhci54en0sCi13aGVyZSBAY29k ZXt4ODZfNjQtbGludXh9IGNhbiBiZSByZXBsYWNlZCB3aXRoIEBjb2Rle2k2ODYtbGludXh9IGZv ciBhbgotQGNvZGV7aTY4Nn0gKDMyLWJpdHMpIG1hY2hpbmUgYWxyZWFkeSBydW5uaW5nIHRoZSBr ZXJuZWwgTGludXgsIGFuZCBzbyBvbgotKEBweHJlZntHTlUgRGlzdHJpYnV0aW9ufSkuCi0KLUBj IFRoZSBmb2xsb3dpbmcgaXMgc29tZXdoYXQgZHVwbGljYXRlZCBpbiBgYFN5c3RlbSBJbnN0YWxs YXRpb24nJy4KLU1ha2Ugc3VyZSB0byBkb3dubG9hZCB0aGUgYXNzb2NpYXRlZCBAZmlsZXsuc2ln fSBmaWxlIGFuZCB0byB2ZXJpZnkgdGhlCi1hdXRoZW50aWNpdHkgb2YgdGhlIHRhcmJhbGwgYWdh aW5zdCBpdCwgYWxvbmcgdGhlc2UgbGluZXM6Ci0KLUBleGFtcGxlCi0kIHdnZXQgQHZhbHVle0JB U0UtVVJMfS9ndWl4LWJpbmFyeS1AdmFsdWV7VkVSU0lPTn0ueDg2XzY0LWxpbnV4LnRhci54ei5z aWcKLSQgZ3BnIC0tdmVyaWZ5IGd1aXgtYmluYXJ5LUB2YWx1ZXtWRVJTSU9OfS54ODZfNjQtbGlu dXgudGFyLnh6LnNpZwotQGVuZCBleGFtcGxlCitUaGUgc2NyaXB0IGd1aWRlcyB5b3UgdGhyb3Vn aCB0aGUgZm9sbG93aW5nOgogCi1JZiB0aGF0IGNvbW1hbmQgZmFpbHMgYmVjYXVzZSB5b3UgZG8g bm90IGhhdmUgdGhlIHJlcXVpcmVkIHB1YmxpYyBrZXksCi10aGVuIHJ1biB0aGlzIGNvbW1hbmQg dG8gaW1wb3J0IGl0OgotCi1AZXhhbXBsZQotJCB3Z2V0ICdAdmFsdWV7T1BFTlBHUC1TSUdOSU5H LUtFWS1VUkx9JyBcCi0gICAgICAtcU8gLSB8IGdwZyAtLWltcG9ydCAtCi1AZW5kIGV4YW1wbGUK LQotQG5vaW5kZW50Ci1hbmQgcmVydW4gdGhlIEBjb2Rle2dwZyAtLXZlcmlmeX0gY29tbWFuZC4K LQotVGFrZSBub3RlIHRoYXQgYSB3YXJuaW5nIGxpa2UgYGBUaGlzIGtleSBpcyBub3QgY2VydGlm aWVkIHdpdGggYSB0cnVzdGVkCi1zaWduYXR1cmUhJycgaXMgbm9ybWFsLgotCi1AYyBlbmQgYXV0 aGVudGljYXRpb24gcGFydAorQGl0ZW1pemUKK0BpdGVtIERvd25sb2FkaW5nIGFuZCBleHRyYWN0 aW5nIHRoZSBiaW5hcnkgdGFyYmFsbAorQGl0ZW0gU2V0dGluZyB1cCB0aGUgYnVpbGQgZGFlbW9u CitAaXRlbSBNYWtpbmcgdGhlIOKAmGd1aXjigJkgY29tbWFuZCBhdmFpbGFibGUgdG8gbm9uLXJv b3QgdXNlcnMKK0BpdGVtIENvbmZpZ3VyaW5nIHN1YnN0aXR1dGUgc2VydmVycworQGVuZCBpdGVt aXplCiAKLUBpdGVtCi1Ob3csIHlvdSBuZWVkIHRvIGJlY29tZSB0aGUgQGNvZGV7cm9vdH0gdXNl ci4gIERlcGVuZGluZyBvbiB5b3VyIGRpc3RyaWJ1dGlvbiwKLXlvdSBtYXkgaGF2ZSB0byBydW4g QGNvZGV7c3UgLX0gb3IgQGNvZGV7c3VkbyAtaX0uICBBcyBAY29kZXtyb290fSwgcnVuOgorQXMg cm9vdCwgcnVuOgogCiBAZXhhbXBsZQogIyBjZCAvdG1wCi0jIHRhciAtLXdhcm5pbmc9bm8tdGlt ZXN0YW1wIC14ZiBcCi0gICAgIC9wYXRoL3RvL2d1aXgtYmluYXJ5LUB2YWx1ZXtWRVJTSU9OfS54 ODZfNjQtbGludXgudGFyLnh6Ci0jIG12IHZhci9ndWl4IC92YXIvICYmIG12IGdudSAvCi1AZW5k IGV4YW1wbGUKLQotVGhpcyBjcmVhdGVzIEBmaWxley9nbnUvc3RvcmV9IChAcHhyZWZ7VGhlIFN0 b3JlfSkgYW5kIEBmaWxley92YXIvZ3VpeH0uCi1UaGUgbGF0dGVyIGNvbnRhaW5zIGEgcmVhZHkt dG8tdXNlIHByb2ZpbGUgZm9yIEBjb2Rle3Jvb3R9IChzZWUgbmV4dAotc3RlcCkuCi0KLURvIEBl bXBoe25vdH0gdW5wYWNrIHRoZSB0YXJiYWxsIG9uIGEgd29ya2luZyBHdWl4IHN5c3RlbSBzaW5j ZSB0aGF0Ci13b3VsZCBvdmVyd3JpdGUgaXRzIG93biBlc3NlbnRpYWwgZmlsZXMuCi0KLVRoZSBA b3B0aW9uey0td2FybmluZz1uby10aW1lc3RhbXB9IG9wdGlvbiBtYWtlcyBzdXJlIEdOVUB0aWV7 fXRhciBkb2VzCi1ub3QgZW1pdCB3YXJuaW5ncyBhYm91dCBgYGltcGxhdXNpYmx5IG9sZCB0aW1l IHN0YW1wcycnIChzdWNoCi13YXJuaW5ncyB3ZXJlIHRyaWdnZXJlZCBieSBHTlVAdGlle310YXIg MS4yNiBhbmQgb2xkZXI7IHJlY2VudAotdmVyc2lvbnMgYXJlIGZpbmUpLgotVGhleSBzdGVtIGZy b20gdGhlIGZhY3QgdGhhdCBhbGwgdGhlCi1maWxlcyBpbiB0aGUgYXJjaGl2ZSBoYXZlIHRoZWly IG1vZGlmaWNhdGlvbiB0aW1lIHNldCB0byAxICh3aGljaAotbWVhbnMgSmFudWFyeSAxc3QsIDE5 NzApLiAgVGhpcyBpcyBkb25lIG9uIHB1cnBvc2UgdG8gbWFrZSBzdXJlIHRoZQotYXJjaGl2ZSBj b250ZW50IGlzIGluZGVwZW5kZW50IG9mIGl0cyBjcmVhdGlvbiB0aW1lLCB0aHVzIG1ha2luZyBp dAotcmVwcm9kdWNpYmxlLgotCi1AaXRlbQotTWFrZSB0aGUgcHJvZmlsZSBhdmFpbGFibGUgdW5k ZXIgQGZpbGV7fnJvb3QvLmNvbmZpZy9ndWl4L2N1cnJlbnR9LCB3aGljaCBpcwotd2hlcmUgQGNv bW1hbmR7Z3VpeCBwdWxsfSB3aWxsIGluc3RhbGwgdXBkYXRlcyAoQHB4cmVme0ludm9raW5nIGd1 aXggcHVsbH0pOgotCi1AZXhhbXBsZQotIyBta2RpciAtcCB+cm9vdC8uY29uZmlnL2d1aXgKLSMg bG4gLXNmIC92YXIvZ3VpeC9wcm9maWxlcy9wZXItdXNlci9yb290L2N1cnJlbnQtZ3VpeCBcCi0g ICAgICAgICB+cm9vdC8uY29uZmlnL2d1aXgvY3VycmVudAotQGVuZCBleGFtcGxlCi0KLVNvdXJj ZSBAZmlsZXtldGMvcHJvZmlsZX0gdG8gYXVnbWVudCBAZW52e1BBVEh9IGFuZCBvdGhlciByZWxl dmFudAotZW52aXJvbm1lbnQgdmFyaWFibGVzOgotCi1AZXhhbXBsZQotIyBHVUlYX1BST0ZJTEU9 ImBlY2hvIH5yb290YC8uY29uZmlnL2d1aXgvY3VycmVudCIgOyBcCi0gIHNvdXJjZSAkR1VJWF9Q Uk9GSUxFL2V0Yy9wcm9maWxlCi1AZW5kIGV4YW1wbGUKLQotQGl0ZW0KLUNyZWF0ZSB0aGUgZ3Jv dXAgYW5kIHVzZXIgYWNjb3VudHMgZm9yIGJ1aWxkIHVzZXJzIGFzIGV4cGxhaW5lZCBiZWxvdwot KEBweHJlZntCdWlsZCBFbnZpcm9ubWVudCBTZXR1cH0pLgotCi1AaXRlbQotUnVuIHRoZSBkYWVt b24sIGFuZCBzZXQgaXQgdG8gYXV0b21hdGljYWxseSBzdGFydCBvbiBib290LgotCi1JZiB5b3Vy IGhvc3QgZGlzdHJvIHVzZXMgdGhlIHN5c3RlbWQgaW5pdCBzeXN0ZW0sIHRoaXMgY2FuIGJlIGFj aGlldmVkCi13aXRoIHRoZXNlIGNvbW1hbmRzOgotCi1AYyBWZXJzaW9ucyBvZiBzeXN0ZW1kIHRo YXQgc3VwcG9ydGVkIHN5bWxpbmtlZCBzZXJ2aWNlIGZpbGVzIGFyZSBub3QKLUBjIHlldCB3aWRl bHkgZGVwbG95ZWQsIHNvIHdlIHNob3VsZCBzdWdnZXN0IHRoYXQgdXNlcnMgY29weSB0aGUgc2Vy dmljZQotQGMgZmlsZXMgaW50byBwbGFjZS4KLUBjCi1AYyBTZWUgdGhpcyB0aHJlYWQgZm9yIG1v cmUgaW5mb3JtYXRpb246Ci1AYyBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2d1 aXgtZGV2ZWwvMjAxNy0wMS9tc2cwMTE5OS5odG1sCi0KLUBleGFtcGxlCi0jIGNwIH5yb290Ly5j b25maWcvZ3VpeC9jdXJyZW50L2xpYi9zeXN0ZW1kL3N5c3RlbS9nbnUtc3RvcmUubW91bnQgXAot ICAgICB+cm9vdC8uY29uZmlnL2d1aXgvY3VycmVudC9saWIvc3lzdGVtZC9zeXN0ZW0vZ3VpeC1k YWVtb24uc2VydmljZSBcCi0gICAgIC9ldGMvc3lzdGVtZC9zeXN0ZW0vCi0jIHN5c3RlbWN0bCBl bmFibGUgLS1ub3cgZ251LXN0b3JlLm1vdW50IGd1aXgtZGFlbW9uCi1AZW5kIGV4YW1wbGUKLQot WW91IG1heSBhbHNvIHdhbnQgdG8gYXJyYW5nZSBmb3IgQGNvbW1hbmR7Z3VpeCBnY30gdG8gcnVu IHBlcmlvZGljYWxseToKLQotQGV4YW1wbGUKLSMgY3AgfnJvb3QvLmNvbmZpZy9ndWl4L2N1cnJl bnQvbGliL3N5c3RlbWQvc3lzdGVtL2d1aXgtZ2Muc2VydmljZSBcCi0gICAgIH5yb290Ly5jb25m aWcvZ3VpeC9jdXJyZW50L2xpYi9zeXN0ZW1kL3N5c3RlbS9ndWl4LWdjLnRpbWVyIFwKLSAgICAg L2V0Yy9zeXN0ZW1kL3N5c3RlbS8KLSMgc3lzdGVtY3RsIGVuYWJsZSAtLW5vdyBndWl4LWdjLnRp bWVyCi1AZW5kIGV4YW1wbGUKLQotWW91IG1heSB3YW50IHRvIGVkaXQgQGZpbGV7Z3VpeC1nYy5z ZXJ2aWNlfSB0byBhZGp1c3QgdGhlIGNvbW1hbmQgbGluZQotb3B0aW9ucyB0byBmaXQgeW91ciBu ZWVkcyAoQHB4cmVme0ludm9raW5nIGd1aXggZ2N9KS4KLQotSWYgeW91ciBob3N0IGRpc3RybyB1 c2VzIHRoZSBVcHN0YXJ0IGluaXQgc3lzdGVtOgotCi1AZXhhbXBsZQotIyBpbml0Y3RsIHJlbG9h ZC1jb25maWd1cmF0aW9uCi0jIGNwIH5yb290Ly5jb25maWcvZ3VpeC9jdXJyZW50L2xpYi91cHN0 YXJ0L3N5c3RlbS9ndWl4LWRhZW1vbi5jb25mIFwKLSAgICAgL2V0Yy9pbml0LwotIyBzdGFydCBn dWl4LWRhZW1vbgotQGVuZCBleGFtcGxlCi0KLU90aGVyd2lzZSwgeW91IGNhbiBzdGlsbCBzdGFy dCB0aGUgZGFlbW9uIG1hbnVhbGx5IHdpdGg6Ci0KLUBleGFtcGxlCi0jIH5yb290Ly5jb25maWcv Z3VpeC9jdXJyZW50L2Jpbi9ndWl4LWRhZW1vbiBcCi0gICAgICAgLS1idWlsZC11c2Vycy1ncm91 cD1ndWl4YnVpbGQKKyMgd2dldCBodHRwczovL2dpdC5zYXZhbm5haC5nbnUub3JnL2NnaXQvZ3Vp eC5naXQvcGxhaW4vZXRjL2d1aXgtaW5zdGFsbC5zaAorIyBjaG1vZCAreCBndWl4LWluc3RhbGwu c2gKKyMgLi9ndWl4LWluc3RhbGwuc2gKIEBlbmQgZXhhbXBsZQogCi1AaXRlbQotTWFrZSB0aGUg QGNvbW1hbmR7Z3VpeH0gY29tbWFuZCBhdmFpbGFibGUgdG8gb3RoZXIgdXNlcnMgb24gdGhlIG1h Y2hpbmUsCi1mb3IgaW5zdGFuY2Ugd2l0aDoKLQotQGV4YW1wbGUKLSMgbWtkaXIgLXAgL3Vzci9s b2NhbC9iaW4KLSMgY2QgL3Vzci9sb2NhbC9iaW4KLSMgbG4gLXMgL3Zhci9ndWl4L3Byb2ZpbGVz L3Blci11c2VyL3Jvb3QvY3VycmVudC1ndWl4L2Jpbi9ndWl4Ci1AZW5kIGV4YW1wbGUKLQotSXQg aXMgYWxzbyBhIGdvb2QgaWRlYSB0byBtYWtlIHRoZSBJbmZvIHZlcnNpb24gb2YgdGhpcyBtYW51 YWwgYXZhaWxhYmxlCi10aGVyZToKLQotQGV4YW1wbGUKLSMgbWtkaXIgLXAgL3Vzci9sb2NhbC9z aGFyZS9pbmZvCi0jIGNkIC91c3IvbG9jYWwvc2hhcmUvaW5mbwotIyBmb3IgaSBpbiAvdmFyL2d1 aXgvcHJvZmlsZXMvcGVyLXVzZXIvcm9vdC9jdXJyZW50LWd1aXgvc2hhcmUvaW5mby8qIDsKLSAg ZG8gbG4gLXMgJGkgOyBkb25lCi1AZW5kIGV4YW1wbGUKLQotVGhhdCB3YXksIGFzc3VtaW5nIEBm aWxley91c3IvbG9jYWwvc2hhcmUvaW5mb30gaXMgaW4gdGhlIHNlYXJjaCBwYXRoLAotcnVubmlu ZyBAY29tbWFuZHtpbmZvIGd1aXh9IHdpbGwgb3BlbiB0aGlzIG1hbnVhbCAoQHB4cmVme090aGVy IEluZm8KLURpcmVjdG9yaWVzLCwsIHRleGluZm8sIEdOVSBUZXhpbmZvfSwgZm9yIG1vcmUgZGV0 YWlscyBvbiBjaGFuZ2luZyB0aGUKLUluZm8gc2VhcmNoIHBhdGgpLgorQHF1b3RhdGlvbiBOb3Rl CitCeSBkZWZhdWx0LCAnZ3VpeC1pbnN0YWxsLnNoJyB3aWxsIGNvbmZpZ3VyZSBHdWl4IHRvIGRv d25sb2FkIHByZS1idWlsdAorcGFja2FnZSBiaW5hcmllcywgY2FsbGVkIEBkZm57c3Vic3RpdHV0 ZXN9IChAcHhyZWZ7U3Vic3RpdHV0ZXN9KSwgZnJvbQordGhlIHByb2plY3QncyBidWlsZCBmYXJt cy4gIElmIHlvdSBjaG9vc2Ugbm90IHRvIHBlcm1pdCB0aGlzLCBHdWl4IHdpbGwKK2J1aWxkIEBl bXBoe2V2ZXJ5dGhpbmd9IGZyb20gc291cmNlLCBtYWtpbmcgZWFjaCBpbnN0YWxsYXRpb24gYW5k Cit1cGdyYWRlIHZlcnkgZXhwZW5zaXZlLiAgQHhyZWZ7T24gVHJ1c3RpbmcgQmluYXJpZXN9IGZv ciBhIGRpc2N1c3Npb24gb2YKK3doeSB5b3UgbWF5IHdhbnQgdG8gYnVpbGQgcGFja2FnZXMgZnJv bSBzb3VyY2UuCiAKLUBpdGVtCiBAY2luZGV4IHN1YnN0aXR1dGVzLCBhdXRob3JpemF0aW9uIHRo ZXJlb2YKIFRvIHVzZSBzdWJzdGl0dXRlcyBmcm9tIEBjb2Rle0B2YWx1ZXtTVUJTVElUVVRFLVNF UlZFUi0xfX0sCi1AY29kZXtAdmFsdWV7U1VCU1RJVFVURS1TRVJWRVItMn19IG9yIGEgbWlycm9y IChAcHhyZWZ7U3Vic3RpdHV0ZXN9KSwKLWF1dGhvcml6ZSB0aGVtOgorQGNvZGV7QHZhbHVle1NV QlNUSVRVVEUtU0VSVkVSLTJ9fSBvciBhIG1pcnJvciwgeW91IG11c3QgYXV0aG9yaXplIHRoZW0u CitGb3IgZXhhbXBsZSwKIAogQGV4YW1wbGUKICMgZ3VpeCBhcmNoaXZlIC0tYXV0aG9yaXplIDwg XApAQCAtOTQ3LDQ1ICs4MDAsOCBAQCBhdXRob3JpemUgdGhlbToKICMgZ3VpeCBhcmNoaXZlIC0t YXV0aG9yaXplIDwgXAogICAgICB+cm9vdC8uY29uZmlnL2d1aXgvY3VycmVudC9zaGFyZS9ndWl4 L0B2YWx1ZXtTVUJTVElUVVRFLVNFUlZFUi0yfS5wdWIKIEBlbmQgZXhhbXBsZQotCi1AcXVvdGF0 aW9uIE5vdGUKLUlmIHlvdSBkbyBub3QgZW5hYmxlIHN1YnN0aXR1dGVzLCBHdWl4IHdpbGwgZW5k IHVwIGJ1aWxkaW5nCi1AZW1waHtldmVyeXRoaW5nfSBmcm9tIHNvdXJjZSBvbiB5b3VyIG1hY2hp bmUsIG1ha2luZyBlYWNoIGluc3RhbGxhdGlvbgotYW5kIHVwZ3JhZGUgdmVyeSBleHBlbnNpdmUu ICBAeHJlZntPbiBUcnVzdGluZyBCaW5hcmllc30sIGZvciBhCi1kaXNjdXNzaW9uIG9mIHJlYXNv bnMgd2h5IG9uZSBtaWdodCB3YW50IGRvIGRpc2FibGUgc3Vic3RpdHV0ZXMuCiBAZW5kIHF1b3Rh dGlvbgogCi1AaXRlbQotRWFjaCB1c2VyIG1heSBuZWVkIHRvIHBlcmZvcm0gYSBmZXcgYWRkaXRp b25hbCBzdGVwcyB0byBtYWtlIHRoZWlyIEd1aXgKLWVudmlyb25tZW50IHJlYWR5IGZvciB1c2Us IEBweHJlZntBcHBsaWNhdGlvbiBTZXR1cH0uCi1AZW5kIGVudW1lcmF0ZQotCi1Wb2lsw6AsIHRo ZSBpbnN0YWxsYXRpb24gaXMgY29tcGxldGUhCi0KLVlvdSBjYW4gY29uZmlybSB0aGF0IEd1aXgg aXMgd29ya2luZyBieSBpbnN0YWxsaW5nIGEgc2FtcGxlIHBhY2thZ2UgaW50bwotdGhlIHJvb3Qg cHJvZmlsZToKLQotQGV4YW1wbGUKLSMgZ3VpeCBpbnN0YWxsIGhlbGxvCi1AZW5kIGV4YW1wbGUK LQotVGhlIGJpbmFyeSBpbnN0YWxsYXRpb24gdGFyYmFsbCBjYW4gYmUgKHJlKXByb2R1Y2VkIGFu ZCB2ZXJpZmllZCBzaW1wbHkKLWJ5IHJ1bm5pbmcgdGhlIGZvbGxvd2luZyBjb21tYW5kIGluIHRo ZSBHdWl4IHNvdXJjZSB0cmVlOgotCi1AZXhhbXBsZQotbWFrZSBndWl4LWJpbmFyeS5AdmFye3N5 c3RlbX0udGFyLnh6Ci1AZW5kIGV4YW1wbGUKLQotQG5vaW5kZW50Ci0uLi5AOiB3aGljaCwgaW4g dHVybiwgcnVuczoKLQotQGV4YW1wbGUKLWd1aXggcGFjayAtcyBAdmFye3N5c3RlbX0gLS1sb2Nh bHN0YXRlZGlyIFwKLSAgLS1wcm9maWxlLW5hbWU9Y3VycmVudC1ndWl4IGd1aXgKLUBlbmQgZXhh bXBsZQotCi1AeHJlZntJbnZva2luZyBndWl4IHBhY2t9LCBmb3IgbW9yZSBpbmZvIG9uIHRoaXMg aGFuZHkgdG9vbC4KLQogQG5vZGUgUmVxdWlyZW1lbnRzCiBAc2VjdGlvbiBSZXF1aXJlbWVudHMK IApAQCAtMTE3OSw2ICs5OTUsOSBAQCBTb21lIG9mIHRoZW0gcmVxdWlyZSBhIGxvdCBvZiBzdG9y YWdlIHNwYWNlIHRvIGhvbGQgVk0gaW1hZ2VzLgogCiBBZ2FpbiBpbiBjYXNlIG9mIHRlc3QgZmFp bHVyZXMsIHBsZWFzZSBzZW5kIEBlbWFpbHtidWctZ3VpeEBAZ251Lm9yZ30KIGFsbCB0aGUgZGV0 YWlscy4KK1doZW4geW91J3JlIGRvbmUgaW5zdGFsbGluZyBHdWl4LCBAcHhyZWZ7QXBwbGljYXRp b24gU2V0dXB9IGZvciBleHRyYQorY29uZmlndXJhdGlvbiB5b3UgbWlnaHQgbmVlZCwgYW5kIEBy ZWZ7R2V0dGluZyBTdGFydGVkfSBmb3IgeW91ciBmaXJzdAorc3RlcHMhCiAKIEBub2RlIFNldHRp bmcgVXAgdGhlIERhZW1vbgogQHNlY3Rpb24gU2V0dGluZyBVcCB0aGUgRGFlbW9uCkBAIC0xNzY0 OSw2ICsxNzQ2OCw3IEBAIGNvbmZpZ3VyYXRpb24gKEBweHJlZntVc2luZyB0aGUgQ29uZmlndXJh dGlvbiBTeXN0ZW19KS4KIAogQHRhYmxlIEBhc2lzCiBAaXRlbSBAY29kZXtrZXJuZWx9IChkZWZh dWx0OiBAY29kZXtsaW51eC1saWJyZX0pCitAYyBmb290bm90ZSBkdXBsaWNhdGVkIGluIEBweHJl ZntJbnN0YWxsYXRpb259CiBUaGUgcGFja2FnZSBvYmplY3Qgb2YgdGhlIG9wZXJhdGluZyBzeXN0 ZW0ga2VybmVsIHRvCiB1c2VAZm9vdG5vdGV7Q3VycmVudGx5IG9ubHkgdGhlIExpbnV4LWxpYnJl IGtlcm5lbCBpcyBmdWxseSBzdXBwb3J0ZWQuCiBVc2luZyBHTlVAdGlle31tYWNoIHdpdGggdGhl IEdOVUB0aWV7fUh1cmQgaXMgZXhwZXJpbWVudGFsIGFuZCBvbmx5Ci0tIAoyLjQxLjAKCg== ------=_Part_1364388_1327837156.1711272450423--