From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id sDcZIp/NSmOYiwAAbAwnHQ (envelope-from ) for ; Sat, 15 Oct 2022 17:11:27 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id AIksIp/NSmO0/QAA9RJhRA (envelope-from ) for ; Sat, 15 Oct 2022 17:11:27 +0200 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 25BC531FF1 for ; Sat, 15 Oct 2022 17:11:27 +0200 (CEST) Received: from localhost ([::1]:60634 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ojiow-0000UI-9C for larch@yhetil.org; Sat, 15 Oct 2022 11:11:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46858) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ojioo-0000TC-NT for guix-patches@gnu.org; Sat, 15 Oct 2022 11:11:18 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:43372) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ojioX-0002SR-Sd for guix-patches@gnu.org; Sat, 15 Oct 2022 11:11:12 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ojioX-0001jG-NK for guix-patches@gnu.org; Sat, 15 Oct 2022 11:11:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#58528] [PATCH] gnu: Services: Add espeakup service. Resent-From: Hunter Jozwiak Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 15 Oct 2022 15:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58528 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 58528@debbugs.gnu.org Received: via spool by 58528-submit@debbugs.gnu.org id=B58528.16658466026550 (code B ref 58528); Sat, 15 Oct 2022 15:11:01 +0000 Received: (at 58528) by debbugs.gnu.org; 15 Oct 2022 15:10:02 +0000 Received: from localhost ([127.0.0.1]:42450 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojinY-0001hC-V5 for submit@debbugs.gnu.org; Sat, 15 Oct 2022 11:10:02 -0400 Received: from mail-lj1-f173.google.com ([209.85.208.173]:40463) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojinW-0001gw-Jk for 58528@debbugs.gnu.org; Sat, 15 Oct 2022 11:09:59 -0400 Received: by mail-lj1-f173.google.com with SMTP id c20so9199330ljj.7 for <58528@debbugs.gnu.org>; Sat, 15 Oct 2022 08:09:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :from:to:cc:subject:date:message-id:reply-to; bh=MD5q8EiTGTjgygMLUVkLvwp1HDR3IBv7GatTRSVcPes=; b=lH5dpzrROSiqiuc5UtIc7DVQiowRuMoaRPQkqs2u8ff6KbYBCied3r3dCsKRlQawNl p3qm8zRuPo6rPjjq02dQtVfuM7aZwaiHkYgg8XGqO/Skbp6Xt9ZmPyT5Z3llWFFJoK/c ZzTvKk5dof77XLsKDds2pmzhwUcaani8gcsAsl7nrrIUgyPWnPrO51v/6ekoC0Vr8Gb1 BcqyqGzd6C5503C48/wAIu+S0POQZoYlPj8O/6BTwO3cYY5E9m2F89OR+A4zjnxWSIGL JctyQGyBBluNQ4pPxLibzF0DTgLW8uLfSJ3omEAR/L8faNG/yjSQQY8SzJa6D8bUGuSa aA1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=MD5q8EiTGTjgygMLUVkLvwp1HDR3IBv7GatTRSVcPes=; b=dzvE/G6CPpproVh+PYejO95XAczUVK/vPNOgAvayWzR3CTS2BuPbSeFd7+wQkt/MGc 8vBJ6UJUfWuoeVRXKb81UUZGpNxMCQt8btwbg/XTwM2cq1SP7T1p1xpxroqYbHIXnrc3 oMoY9xe7hJ9F3cb+aDeh22tUH9Vezxu2aUiWNi5hD6dNmA+JtjvZWYbb1QpkTHvr0oQ9 15abh4wns8UBpAwJXQ1vZh/IAtMpFo77j6TScreidSqnHHTXQsBdH//0qg07jvoOGaeH XhKCUvhGrbJ98FIXmmFQ0pKxHkRvLfTTCWUWtCge/ZDiVQz8PyPaKnkQYdMCQVMqUS/R pwpw== X-Gm-Message-State: ACrzQf1eURoPEMlEmnAZUntBASTqOwdZTVlBoyhnTdE1YlMwGKhSPfzU LO5+DcO9fBDUKfzLP65q6kafSvA07lOgx8H6CJ0KucaBQm8= X-Google-Smtp-Source: AMsMyM5Iaol10s34spN1UI6qM93WnbKIT/eAywxl9sBXhiekPSmgIKaK5lYEEwMQWDvWGKGX0vW1YDa2hbk70RB0xr8= X-Received: by 2002:a2e:9547:0:b0:26b:fb41:f60a with SMTP id t7-20020a2e9547000000b0026bfb41f60amr1188947ljh.295.1665846591388; Sat, 15 Oct 2022 08:09:51 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sat, 15 Oct 2022 08:09:48 -0700 From: Hunter Jozwiak In-Reply-To: References: MIME-Version: 1.0 Date: Sat, 15 Oct 2022 08:09:48 -0700 Message-ID: Content-Type: multipart/mixed; boundary="00000000000054a45e05eb142209" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1665846687; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=oEx2aLMET4F8Hnjrf52zt8EJYTewgOzr60DUbzr31JU=; b=p0iBmWnDdRD7DZxHjF3E/5nbWGYznZUKP+3bDbW+BW+oHqV/7Y6cWqLz7Q1Amw5ytOKk2o nSL98Rdf9256lr3GJeTZSjoU6tToi9CCRO+QMNEKWBWR1RS0IWjUmWLg2qbo0CDYN3RUL4 0KMMkri/5yMCwNQEO+IGHqpXCvW3eCtFCF96d6Oq7i+rCjg6r31ObKLGkHm7ZB0lpGbuCW MU0ip1Rfrn9KdAvBNhV6YeHqXpAhlsm7URyYn9KnnODxIqF+KoeuWSFVzRnZWHB24DM5S0 dVzXVT2+TB/lzcl/W0WeZelIOphaowlALrqROSGI9VR6uEZ71bO7R57HFQZmmQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1665846687; a=rsa-sha256; cv=none; b=M7V78efkvAWCU6kw/DB0ZKRyPo6yuiZS9uKb9P0ASqiTrH+R3GA0c1TLIBjtxqLZD0+fIM CdZfYisyJdPuELpVHp9xFzVaGv4VmglyAtYpFBAkVOI0YRG2d3HLSJDWuFd9wMQjpdYcC7 jytYedA18MFeZJGNsBElw3+sDj1Sh+iKGndCDqj+h6x4cvt/gagygBecp8EZfIYjah0SOQ jrAtyNQIHlXZXuWGx2p3XB5yi1uUUZLjsOFaZn1a+fopb2e0fx0Qp/KlK1tRIxlxkLGPeS lyOdli2+myYpE+ief9kVV387dcp+A3PZU7RULcyEpz0oN5iJUBARX+v/RGCz3Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20210112 header.b=lH5dpzrR; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); 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" X-Migadu-Spam-Score: 4.20 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20210112 header.b=lH5dpzrR; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); 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" X-Migadu-Queue-Id: 25BC531FF1 X-Spam-Score: 4.20 X-Migadu-Scanner: scn1.migadu.com X-TUID: oi4KHE7n58nS --00000000000054a45e05eb142209 Content-Type: multipart/related; boundary="00000000000054a45d05eb142208" --00000000000054a45d05eb142208 Content-Type: multipart/alternative; boundary="00000000000054a45b05eb142207" --00000000000054a45b05eb142207 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable "(" writes: Heya, > > On Fri Oct 14, 2022 at 9:09 PM BST, wrote: >> >> diff =E2=80=93git a/doc/guix.texi b/doc/guix.texi index dbf4ca9be9..73dc= 647ca5 >> 100644 =E2=80=94 a/doc/guix.texi + b/doc/guix.texi @@ -17572,6 +17572,7 = @@ >> Services >> >> @menu * Base Services:: Essential system services. +* Accessibility >> Services:: For those with various impairments. * Scheduled Job Execution= :: >> The mcron service. * Log Rotation:: The rottlog service. * Networking >> Setup:: Setting up network interfaces. @@ -18793,6 +18794,24 @@ Base >> Services (local-file "sway-greetd.conf")))))))) @end lisp @end deftp +@n= ode >> Accessibility Services +@subsection Accessibility Services >> +%espeakup-configuration +@c %start of fragment + +@deftp {Data Type} >> espeakup-configuration +Available @code{espeakup-configuration} fields a= re: >> + +@table @asis +@item @code{default-voice} (default: @code{"en-US"}) >> (type: string) +Set the voice that espeak-ng should use by default. + +@= end >> table + +@end deftp + + +@c %end of fragment >> > > Remember to add your copyright notice to the manual's copyright section. > > + (define-module (gnu services accessibility) >> > > Since this is a new file, you'll need to update ``gnu/local.mk'' > accordingly. > > + >> > > Remove this empty line after the ``;;; Copyright =E2=80=A6'' line. > > + #:export (espeakup-configuration espeakup-service-type)) >> > > You should probably put each variable here on a new line. > > + +;; Espeakup service >> > > Instead of this, do this: > > ^L ;;; ;;; Espeakup. ;;; > > The ^L is a control character, not a literal ``L''. Look at one of the > other files and copy their ^L in. Also, add another newline after this > "section comment". > > +(define-configuration/no-serialization espeakup-configuration + >> (default-voice (string "en-US") + "Set the voice that espeak-ng should u= se >> by default.")) >> > > Funky indentation here, and there needs to be a field for customizing the > ``espeakup'' package to use. Should be: > > (define-configuration/no-serialization espeakup-configuration (espeakup > (file-like espeakup) "Set the package providing the @code{/bin/espeakup} > command.") (default-voice (string "en-US") "Set the voice that espeak-ng > should use by default.")) > > +(define (espeakup-shepherd-service config) + (list (shepherd-service >> (provision '(espeakup)) + (documentation "The espeak-ng bridge to >> speakup.") + (requirement '(user-processes)) + (start >> #~(make-forkexec-constructor (list (string-append #[image: $espeakup >> >> + >> /bin/espeaku= p >> >> + -v >> + >> #$](espeakup-configuration-default-voi= ce >> >>> >>> + config))))) + (stop #~(make-kill-destructor))))) >>>> >>> >>> Again, indentation is off here, and there's a small issue with >>> ``string-append'' being used where ``file-append'' should be. Try this >>> instead: >>> >>> (define (espeakup-shepherd-service config) (list (shepherd-service >>> (provision '(espeakup)) (requirement '(user-processes)) (documentation = "Run >>> espeakup, the espeak-ng bridge to speakup.") (start >>> #~(make-forkexec-constructor (list #[image: $(file-append >>> (espeakup-configuration-espeakup config) > >>> /bin/espeakup) > -v #$](espeakup-configuration-default-voice >>> config)))) >>>> >>>> (stop #~(make-kill-destructor))))) >>>> >>>> +(define espeakup-service-type + (service-type (name 'espeakup) + >>>>> (description + "A lightweight connector between espeak and speakup.")= + >>>>> (extensions (list (service-extension + shepherd-root-service-type + >>>>> espeakup-shepherd-service) + (service-extension + >>>>> kernel-module-loader-service-type + (const (list "speakupsoft"))))) + >>>>> (default-value (espeakup-configuration)))) >>>>> >>>> >>>> Here too; try this: >>>> >>>> (define espeakup-service-type (service-type (name 'espeakup) >>>> (extensions (list (service-extension shepherd-root-service-type >>>> espeakup-shepherd-services) (service-extension >>>> kernel-module-loader-service-type (const (list "speakupsoft"))))) >>>> (default-value (espeakup-configuration)) (description "Configure and r= un >>>> espeakup, a lightweight bridge between espeak-ng and speakup."))) >>>> >>>> =E2=80=93 ( >>>> >>> --00000000000054a45b05eb142207 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

"(" <paren@disroot.org> writes:

Heya,

On Fri Oct 14, 2022 at 9:09 PM BST, wrote:
diff =E2=80=93git a/doc/guix.texi b/doc/guix.texi index dbf4ca9be9..73dc647ca5 100644 =E2=80=94 a/doc/guix.texi + b/doc/guix.texi @@ -17572,6 +17572,7 @@ Services

@menu * Base Services:: Essential system services. +* Accessibility Services:: For those with various impairments. * Scheduled Job Execution:: The mcron service. * Log Rotation:: The rottlog service. * Networking Setup:: Setting up network interfaces. @@ -18793,6 +18794,24 @@ Base Services (local-file "sway-greetd.conf")))))))) @end lisp @end deftp +@node Accessibility Services +@subsection Accessibility Services +%espeakup-configuration +@c %start of fragment + +@deftp {Data Type} espeakup-configuration +Available @code{espeakup-configuration} fields are: + +@table @asis +@item @code{default-voice} (default: @code{"en-US"}) (type: stri= ng) +Set the voice that espeak-ng should use by default. + +@end table + +@end deftp + + +@c %end of fragment

Remember to add your copyright notice to the manual's copyright se= ction.

+ (define-module (gnu services accessibility)


+

Remove this empty line after the ``;;; Copyright =E2=80=A6'' l= ine.

+ #:export (espeakup-configuration espeakup-service-type))

You should probably put each variable here on a new line.

+ +;; Espeakup service

Instead of this, do this:

^L ;;; ;;; Espeakup. ;;;

The ^L is a control character, not a literal ``L''.= Look at one of the other files and copy their ^L in. Also, add another newline after this "sect= ion comment".

+(define-configuration/no-serialization espeakup-configuration + (default-voice (string "en-US&= quot;) + "Set the voice that espeak-ng should use by default."))

Funky indentation here, and there needs to be a field for customizing = the ``espeakup'' package to use. Should be:

(define-configuration/no-serialization espeakup-configuration (espeakup (file-like espeakup) "Set the package providing the @code{/bin/espeakup} command.") (default-voice (string "en-US") "Set the voice that espeak-ng should use by default."))

+(define (espeakup-shepherd-service config) + (list (shepherd-service (provision '(espeakup)) + (documentation "The espeak-ng bridge to spe= akup.") + (requirement '(user-processes)) + (start #~(make-forkexec-constructor (list (string-append #3D"$espeakup(espeakup-configuration-default-voice
+ config))))) + (stop #~(make-kill-destructor)))))

Again, indentation is off here, and there's a small issue with ``s= tring-append'' being used where ``file-append'' should be. Try this instead:

(define (espeakup-shepherd-service config) (list (shepherd-service (provision '(espeakup)) (requirement '(user-processes)) (documentation "Run espeakup, the espeak-ng bridge to speakup.") (start #~(make-forkexec-constructor (list #3D"$(file-append(espeakup-configuration-default-voice = config))))
(stop #~(make-kill-destructor)))))

+(define espeakup-service-type + (service-type (name 'espeakup) + (description + "A lightweight connector between espeak and speakup.= ") + (extensions (list (service-extension + shepherd-root-service-type + espeakup-shepherd-service) + (service-extension + kernel-module-loader-service-type + (const (list "speakupsoft"))))) + (default-value (espeakup-configuration))))

Here too; try this:

(define espeakup-service-type (service-type (name 'espeakup) (extensions (list (service-extension shepherd-root-service-type espeakup-shepherd-services) (service-extension kernel-module-loader-service-type (const (list "speakupsoft"))))) (default-value (espeakup-configuration)) (description "Configure and run espeakup, a lightweight bridge between espeak-ng and speakup.")))

=E2=80=93 (

--00000000000054a45b05eb142207-- --00000000000054a45d05eb142208 Content-Type: image/png; name="latex7ezZw7_c33bbf7a7a43b28f162b022d63aa0d64f464bc5d.png" Content-Disposition: inline; filename="latex7ezZw7_c33bbf7a7a43b28f162b022d63aa0d64f464bc5d.png" Content-Transfer-Encoding: base64 Content-ID: <_tmp_ltximg_latex7ezZw7_c33bbf7a7a43b28f162b022d63aa0d64f464bc5d.png> X-Attachment-Id: 12fca0e0ae963e7a_0.0.0.1.1 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 --00000000000054a45d05eb142208 Content-Type: image/png; name="latexerQpGS_08c27eb846d1419fba7684e67bdeaef54e607f6f.png" Content-Disposition: inline; filename="latexerQpGS_08c27eb846d1419fba7684e67bdeaef54e607f6f.png" Content-Transfer-Encoding: base64 Content-ID: <_tmp_ltximg_latexerQpGS_08c27eb846d1419fba7684e67bdeaef54e607f6f.png> X-Attachment-Id: 12fca0e0ae963e7a_0.0.0.1.2 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 RK5CYII= --00000000000054a45d05eb142208-- --00000000000054a45e05eb142209 Content-Type: text/x-patch; charset="utf-8"; name="0001-gnu-Services-Add-espeakup-service.patch" Content-Disposition: attachment; filename="0001-gnu-Services-Add-espeakup-service.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 12fca0e0ae963e7a_0.0.1 RnJvbSA2ZTlhNDU0YWE0ZjY5YzE5YzJlMGJiNGIxMDliNGU4NmJiNjI3YTYwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpNZXNzYWdlLUlkOiA8NmU5YTQ1NGFhNGY2OWMxOWMyZTBiYjRiMTA5YjRl ODZiYjYyN2E2MC4xNjY1ODQ2NDE4LmdpdC5odW50ZXIudC5qb3pAZ21haWwuY29tPgpGcm9tOiBI dW50ZXIgSm96d2lhayA8aHVudGVyLnQuam96QGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAxNCBPY3Qg MjAyMiAxNTo0NToyMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGdudTogU2VydmljZXM6IEFkZCBl c3BlYWt1cCBzZXJ2aWNlLgoKKiBnbnUvc2VydmljZXMvYWNjZXNzaWJpbGl0eS5zY206IGFkZCBl c3BlYWt1cC1jb25maWd1cmF0aW9uLAplc3BlYWt1cC1zaGVwaGVyZC1zZXJ2aWNlLCBhbmQgZXNw ZWFrdXAtc2VydmljZS10eXBlLgoqIGdudS9sb2NhbC5tazogd2lyZSBpdCBpbi4KKiBkb2MvZ3Vp eC50ZXhpIChBY2Nlc3NpYmlsaXR5IFNlcnZpY2VzKTogRG9jdW1lbnQgdGhlIGVzcGVha3VwIGNv bmZpZ3VyYXRpb24uCi0tLQogZG9jL2d1aXgudGV4aSAgICAgICAgICAgICAgICAgIHwgMjMgKysr KysrKysrKysrCiBnbnUvbG9jYWwubWsgICAgICAgICAgICAgICAgICAgfCAgMiArKwogZ251L3Nl cnZpY2VzL2FjY2Vzc2liaWxpdHkuc2NtIHwgNjYgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA5MSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAx MDA2NDQgZ251L3NlcnZpY2VzL2FjY2Vzc2liaWxpdHkuc2NtCgpkaWZmIC0tZ2l0IGEvZG9jL2d1 aXgudGV4aSBiL2RvYy9ndWl4LnRleGkKaW5kZXggYmRmZjQwMDRkMC4uYjk2MzNmMGFlNSAxMDA2 NDQKLS0tIGEvZG9jL2d1aXgudGV4aQorKysgYi9kb2MvZ3VpeC50ZXhpCkBAIC0xMDksNiArMTA5 LDcgQEAKIENvcHlyaWdodCBAY29weXJpZ2h0e30gMjAyMiBTaW1vbiBTdHJlaXRAKgogQ29weXJp Z2h0IEBjb3B5cmlnaHR7fSAyMDIyIChAKgogQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAyMDIyIEpv aG4gS2VoYXlpYXNAKgorQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAyMDIyIEh1bnRlciBKb3p3aWFr QCoKIAogUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1v ZGlmeSB0aGlzIGRvY3VtZW50CiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlIERvY3Vt ZW50YXRpb24gTGljZW5zZSwgVmVyc2lvbiAxLjMgb3IKQEAgLTE3NTg1LDYgKzE3NTg2LDcgQEAg U2VydmljZXMKIAogQG1lbnUKICogQmFzZSBTZXJ2aWNlczo6ICAgICAgICAgICAgICAgRXNzZW50 aWFsIHN5c3RlbSBzZXJ2aWNlcy4KKyogQWNjZXNzaWJpbGl0eSBTZXJ2aWNlczo6IEZvciB0aG9z ZSB3aXRoIHZhcmlvdXMgaW1wYWlybWVudHMuCiAqIFNjaGVkdWxlZCBKb2IgRXhlY3V0aW9uOjog ICAgIFRoZSBtY3JvbiBzZXJ2aWNlLgogKiBMb2cgUm90YXRpb246OiAgICAgICAgICAgICAgICBU aGUgcm90dGxvZyBzZXJ2aWNlLgogKiBOZXR3b3JraW5nIFNldHVwOjogICAgICAgICAgICBTZXR0 aW5nIHVwIG5ldHdvcmsgaW50ZXJmYWNlcy4KQEAgLTE4ODA2LDYgKzE4ODA4LDI3IEBAIEJhc2Ug U2VydmljZXMKICAgICAgICAgICAgICAgKGxvY2FsLWZpbGUgInN3YXktZ3JlZXRkLmNvbmYiKSkp KSkpKSkKIEBlbmQgbGlzcAogQGVuZCBkZWZ0cAorQG5vZGUgQWNjZXNzaWJpbGl0eSBTZXJ2aWNl cworQHN1YnNlY3Rpb24gQWNjZXNzaWJpbGl0eSBTZXJ2aWNlcworJWVzcGVha3VwLWNvbmZpZ3Vy YXRpb24KK0BjICVzdGFydCBvZiBmcmFnbWVudAorCitAZGVmdHAge0RhdGEgVHlwZX0gZXNwZWFr dXAtY29uZmlndXJhdGlvbgorQXZhaWxhYmxlIEBjb2Rle2VzcGVha3VwLWNvbmZpZ3VyYXRpb259 IGZpZWxkcyBhcmU6CisKK0B0YWJsZSBAYXNpcworQGl0ZW0gQGNvZGV7ZXNwZWFrdXB9IChkZWZh dWx0OiBAY29kZXtlc3BlYWt1cH0pICh0eXBlOiBmaWxlLWxpa2UpCitTZXQgdGhlIHBhY2thZ2Ug cHJvdmlkaW5nIHRoZSBAY29kZXsvYmluL2VzcGVha3VwfSBjb21tYW5kLgorCitAaXRlbSBAY29k ZXtkZWZhdWx0LXZvaWNlfSAoZGVmYXVsdDogQGNvZGV7ImVuLVVTIn0pICh0eXBlOiBzdHJpbmcp CitTZXQgdGhlIHZvaWNlIHRoYXQgZXNwZWFrLW5nIHNob3VsZCB1c2UgYnkgZGVmYXVsdC4KKwor QGVuZCB0YWJsZQorCitAZW5kIGRlZnRwCisKKworQGMgJWVuZCBvZiBmcmFnbWVudAogCiBAbm9k ZSBTY2hlZHVsZWQgSm9iIEV4ZWN1dGlvbgogQHN1YnNlY3Rpb24gU2NoZWR1bGVkIEpvYiBFeGVj dXRpb24KZGlmZiAtLWdpdCBhL2dudS9sb2NhbC5tayBiL2dudS9sb2NhbC5tawppbmRleCAxYmQ0 NzIyZGI0Li5jZTBkY2JiMzAxIDEwMDY0NAotLS0gYS9nbnUvbG9jYWwubWsKKysrIGIvZ251L2xv Y2FsLm1rCkBAIC01NSw2ICs1NSw3IEBACiAjIENvcHlyaWdodCDCqSAyMDIyIEhpbHRvbiBDaGFp biA8aGFrb0B1bHRyYXJhcmUuc3BhY2U+CiAjIENvcHlyaWdodCDCqSAyMDIyIEFsZXggR3JpZmZp biA8YUBhamdyZi5jb20+CiAjIENvcHlyaWdodCDCqSAyMDIyICggPHBhcmVuQGRpc3Jvb3Qub3Jn PgorIyBDb3B5cmlnaHQgwqkgMjAyMiBIdW50ZXIgSm96d2lhayA8aHVudGVyLnQuam96QGdtYWls LmNvbT4KICMKICMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEd1aXguCiAjCkBAIC02NDMsNiAr NjQ0LDcgQEAgR05VX1NZU1RFTV9NT0RVTEVTID0JCQkJXAogICAlRCUvcGFja2FnZXMvendhdmUu c2NtCQkJXAogCQkJCQkJXAogICAlRCUvc2VydmljZXMuc2NtCQkJCVwKKyAgJUQlL3NlcnZpY2Vz L2FjY2Vzc2liaWxpdHkuc2NtCQkJCQlcCiAgICVEJS9zZXJ2aWNlcy9hZG1pbi5zY20JCQlcCiAg ICVEJS9zZXJ2aWNlcy9hdWRpby5zY20gICAgICAgICAgICAgICAgICAgICAgICBcCiAgICVEJS9z ZXJ2aWNlcy9hdWRpdGQuc2NtCQkJXApkaWZmIC0tZ2l0IGEvZ251L3NlcnZpY2VzL2FjY2Vzc2li aWxpdHkuc2NtIGIvZ251L3NlcnZpY2VzL2FjY2Vzc2liaWxpdHkuc2NtCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjdjMjljN2ZlYzYKLS0tIC9kZXYvbnVsbAorKysgYi9n bnUvc2VydmljZXMvYWNjZXNzaWJpbGl0eS5zY20KQEAgLTAsMCArMSw2NiBAQAorOzs7IEdOVSBH dWl4IC0tLSBGdW5jdGlvbmFsIHBhY2thZ2UgbWFuYWdlbWVudCBmb3IgR05VCis7OzsgQ29weXJp Z2h0IMKpIDIwMjIgSHVudGVyIEpvendpYWsgPGh1bnRlci50LmpvekBnbWFpbC5jb20+Cis7OzsK Kzs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC4KKzs7OworOzs7IEdOVSBHdWl4IGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQK Kzs7OyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQorOzs7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2 ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAorOzs7IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKzs7OworOzs7IEdOVSBHdWl4IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorOzs7IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzs7OyBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCis7OzsgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKzs7OworOzs7IFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl Cis7OzsgYWxvbmcgd2l0aCBHTlUgR3VpeC4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KKworKGRlZmluZS1tb2R1bGUgKGdudSBzZXJ2aWNlcyBhY2Nlc3NpYmls aXR5KQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBhY2Nlc3NpYmlsaXR5KQorICAjOnVz ZS1tb2R1bGUgKGdudSBzZXJ2aWNlcykKKyAgIzp1c2UtbW9kdWxlIChnbnUgc2VydmljZXMgY29u ZmlndXJhdGlvbikKKyAgIzp1c2UtbW9kdWxlIChnbnUgc2VydmljZXMgbGludXgpCisgICM6dXNl LW1vZHVsZSAoZ251IHNlcnZpY2VzIHNoZXBoZXJkKQorICAjOnVzZS1tb2R1bGUgKGd1aXggZ2V4 cCkKKyAgIzp1c2UtbW9kdWxlIChndWl4IHJlY29yZHMpCisgICM6ZXhwb3J0IChlc3BlYWt1cC1j b25maWd1cmF0aW9uCisgICAgICAgICAgICBlc3BlYWt1cC1zZXJ2aWNlLXR5cGUpKQorCisMCis7 OzsKKzs7OyBFc3BlYWt1cAorCisoZGVmaW5lLWNvbmZpZ3VyYXRpb24vbm8tc2VyaWFsaXphdGlv biBlc3BlYWt1cC1jb25maWd1cmF0aW9uCisgIChlc3BlYWt1cAorICAgKGZpbGUtbGlrZSBlc3Bl YWt1cCkKKyAgICJTZXQgdGhlIHBhY2thZ2UgcHJvdmlkaW5nIHRoZSBAY29kZXsvYmluL2VzcGVh a3VwfSBjb21tYW5kLiIpCisgIChkZWZhdWx0LXZvaWNlCisgICAgKHN0cmluZyAiZW4tVVMiKQor ICAgICJTZXQgdGhlIHZvaWNlIHRoYXQgZXNwZWFrLW5nIHNob3VsZCB1c2UgYnkgZGVmYXVsdC4i KSkKKworKGRlZmluZSAoZXNwZWFrdXAtc2hlcGhlcmQtc2VydmljZSBjb25maWcpCisgIChsaXN0 IChzaGVwaGVyZC1zZXJ2aWNlCisgICAgICAgICAocHJvdmlzaW9uICcoZXNwZWFrdXApKQorICAg ICAgICAgKHJlcXVpcmVtZW50ICcodXNlci1wcm9jZXNzZXMpKQorICAgICAgICAgKGRvY3VtZW50 YXRpb24gIlJ1biBlc3BlYWt1cCwgdGhlIGVzcGVhay1uZyBicmlkZ2UgdG8gc3BlYWt1cC4iKQor ICAgICAgICAgKHN0YXJ0CisgICAgICAgICAgI34obWFrZS1mb3JrZXhlYy1jb25zdHJ1Y3Rvcgor ICAgICAgICAgICAgIChsaXN0ICMkKGZpbGUtYXBwZW5kIChlc3BlYWt1cC1jb25maWd1cmF0aW9u LWVzcGVha3VwIGNvbmZpZykKKyAgICAgICAgICAgICAgICIvYmluL2VzcGVha3VwIikKKyAgICAg ICAgICAgICAgICItdiIgIyQoZXNwZWFrdXAtY29uZmlndXJhdGlvbi1kZWZhdWx0LXZvaWNlIGNv bmZpZykpKSkKKyAgICAgICAgIChzdG9wICN+KG1ha2Uta2lsbC1kZXN0cnVjdG9yKSkpKSkKKwor KGRlZmluZSBlc3BlYWt1cC1zZXJ2aWNlLXR5cGUKKyAgKHNlcnZpY2UtdHlwZQorICAgKG5hbWUg J2VzcGVha3VwKQorICAgKGV4dGVuc2lvbnMKKyAgICAobGlzdCAoc2VydmljZS1leHRlbnNpb24K KyAgICAgICAgICAgc2hlcGhlcmQtcm9vdC1zZXJ2aWNlLXR5cGUKKyAgICAgICAgICAgZXNwZWFr dXAtc2hlcGhlcmQtc2VydmljZSkKKyAgICAgKHNlcnZpY2UtZXh0ZW5zaW9uCisgICAgICAgICAg IGtlcm5lbC1tb2R1bGUtbG9hZGVyLXNlcnZpY2UtdHlwZQorICAgICAgICAgICAoY29uc3QgKGxp c3QgInNwZWFrdXBfc29mdCIpKSkpKQorICAgKGRlZmF1bHQtdmFsdWUgKGVzcGVha3VwLWNvbmZp Z3VyYXRpb24pKQorICAgKGRlc2NyaXB0aW9uCisgICAgIkNvbmZpZ3VyZSBhbmQgcnVuIGVzcGVh a3VwLCBhIGxpZ2h0d2VpZ2h0IGJyaWRnZSBiZXR3ZWVuIGVzcGVhay1uZyBhbmQgc3BlYWt1cC4i KSkpCi0tIAoyLjM4LjAKCg== --00000000000054a45e05eb142209 Content-Type: application/pgp-signature; name="signature.asc" Content-Disposition: attachment; filename="signature.asc" Content-Transfer-Encoding: base64 X-Attachment-Id: 12fca0e0ae963e7a_0.1 LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KCmlRRkxCQUVCQ0FBMUZpRUU4Sm1YNjNwM21j S0F4dFJiYytvc3k4UUpUdUVGQW1OS3pTa1hIR2gxYm5SbGNpNTAKTG1wdmVrQm5iV0ZwYkM1amIy MEFDZ2tRYytvc3k4UUpUdUh2NmdmOUdrOXkxVlc0dkRYUmVLbXRTeSsyS3BoaApZWHZWUDhCZ2l0 c3NUSjRQVUVBcXVUaWJpRXRtQkhvOXlHT1lXRVliQ25Ob2xpc3JCVC9WbVFCQlpLaUNnMy91Ckd3 blJyREgxZGFUS0xqNXg4dHd1Wk1sRmxLRnNsczVFeGZIMEhmWC8zaHNVQ0tTclIwV3pqVlJ0L1Ux dytDVEIKRVZGT3ZCdDA1K3VIVE5MbkRSWnZvZ2gwZzFncXJpUHlWN1NOYjQ0MGtDTmFSam1CdGcx REEzMkJqTEpBa2tKZApKL00vRmtXd2VTZXBzNlprbTRFeW1YN1h5blZjSi9Dc3pLb3RTd1BNWWNM eDlqdjNnZWh1Ynd0RkM1cVlncmgrCnBDcnQ1R3k1Sm9PcWhBaVk1eWRuaCs5cU01Q3FzdmRacHdz dlI0dUJRSW9qem9BQ3djS0dDL3JiZkpKWHdnPT0KPWxVdEcKLS0tLS1FTkQgUEdQIFNJR05BVFVS RS0tLS0t --00000000000054a45e05eb142209--