GNU bug report logs - #61721
Improving support for setting customization at startup in redumped images

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Lynn Winebarger <owinebar@HIDDEN>; Keywords: patch; dated Thu, 23 Feb 2023 02:35:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Added tag(s) patch. Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 23 Feb 2023 02:34:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Feb 22 21:34:29 2023
Received: from localhost ([127.0.0.1]:60802 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pV1RF-0007Le-1Y
	for submit <at> debbugs.gnu.org; Wed, 22 Feb 2023 21:34:29 -0500
Received: from lists.gnu.org ([209.51.188.17]:52792)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <owinebar@HIDDEN>) id 1pV1RD-0007LW-Ea
 for submit <at> debbugs.gnu.org; Wed, 22 Feb 2023 21:34:27 -0500
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 <owinebar@HIDDEN>)
 id 1pV1RC-0005Wd-Lk
 for bug-gnu-emacs@HIDDEN; Wed, 22 Feb 2023 21:34:26 -0500
Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <owinebar@HIDDEN>)
 id 1pV1R3-0000zB-I4
 for bug-gnu-emacs@HIDDEN; Wed, 22 Feb 2023 21:34:26 -0500
Received: by mail-pj1-x1033.google.com with SMTP id
 gi3-20020a17090b110300b0023762f642dcso442805pjb.4
 for <bug-gnu-emacs@HIDDEN>; Wed, 22 Feb 2023 18:33:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
 :date:message-id:reply-to;
 bh=eDb0rqixiWu5IXCVTYLJP9RmllrhX7+ITvWg/f+rogw=;
 b=aP/O1srCqNSW4THrxfmB+IdFEq/Zl7J+M6v8FyPp0ntCqvcuOqaSgqvRgX82XLSeeo
 3+ZVH57M6ILFsOtEWOecWtadLLjaH8bpcMLuHbdFDQP90FT+olgLcZRri6yH+fWCHqqz
 O07k7ECf3jN8yjIVZRdHjDJWK6aCZICMrMsh3YYssTB2luPe9y9Ozz+5IlHkQcVLcxqD
 F9EMzod0xfg4EtVsxndLE5dV4dcy/GW4+H06wusCUYmU2KuHgkm445uqerjyp8Fd/AeJ
 G28SvedC8hEeh16VAyisTSxu1GYz+JCABKmJ3l9boAfXGZfNDUtW6VoZBmmi+z6h8ZHJ
 crLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=to:subject:message-id:date:from:mime-version:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=eDb0rqixiWu5IXCVTYLJP9RmllrhX7+ITvWg/f+rogw=;
 b=3FWHI0/uE6i3xgOW/oYz4lcjQihxfLjuAE8xuZKBISu1CtuNNharF3i+OKw8apy+ur
 x60BM8qOffp5+mG25yApb/OY5fBW6x5LCAyFIzRvD6V7bQHaZzaQgJM2N+NVIewimJRm
 apt0GJ2qo1JZ2tkWdbRgf8VQln0k4plM05eRbW0YREBUWRoMw0PC2MowrteVj4yrcFsN
 xf1lHpkIYaXFN9GMiR/UHqgO2iA8kJihlFg/uZVF/JEko1yrmuL/lM/P5oe33XUJ9GvR
 ppb8EvLq97bNlFURvg0v9YQtveXmQa5OPMLPJJw4AkJDgVQekxq6db2MjLusNyVErYC4
 m9ww==
X-Gm-Message-State: AO0yUKUeba3tPpCqsAqwJszCqnZn5bYpdJgYaZ6yUYEnS38ZIyqaiGK2
 059Psdk0mewW/BdsLNUAkjEzX+Xw1zz1Rihw67vOazvGYow=
X-Google-Smtp-Source: AK7set+WXRUa6MwJoItk82rPHgaBx0pRB8pOZgYMFPzeLZwVT9Ju+/+4IXEm+fqMSV7MQ7C6eJ02IMGzlb3vOhdK8Xg=
X-Received: by 2002:a17:90a:7643:b0:233:eccf:ea10 with SMTP id
 s3-20020a17090a764300b00233eccfea10mr128474pjl.1.1677119628665; Wed, 22 Feb
 2023 18:33:48 -0800 (PST)
MIME-Version: 1.0
From: Lynn Winebarger <owinebar@HIDDEN>
Date: Wed, 22 Feb 2023 21:33:37 -0500
Message-ID: <CAM=F=bCcXFytYX2-9G0v4m5yePf93oj3AhfXn2Gy_S-ANSsRJQ@HIDDEN>
Subject: Improving support for setting customization at startup in redumped
 images
To: bug-gnu-emacs@HIDDEN
Content-Type: multipart/mixed; boundary="000000000000b67efc05f554d7d1"
Received-SPF: pass client-ip=2607:f8b0:4864:20::1033;
 envelope-from=owinebar@HIDDEN; helo=mail-pj1-x1033.google.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, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>

--000000000000b67efc05f554d7d1
Content-Type: text/plain; charset="UTF-8"

The attached patch provides support for resetting customization
variables at startup after redumping.  It could be considerably improved
by determining dependencies of variables by analysis of the specified
initialization expressions.

Patch is against master commit 098add06eb7d742ff0e6ee0e294931a93a60c71c


In GNU Emacs 30.0.50 (build 6, x86_64-pc-linux-gnu, GTK+ Version
 3.24.34, cairo version 1.16.0) of 2023-02-22 built on
 localhost.localdomain
Repository revision: 4c68e073419999b14cfee1a1cef5d41d28ab6efe
Repository branch: feature/redump-startup-support
Windowing system distributor 'The X.Org Foundation', version 11.0.12003000
System Description: openSUSE Leap 15.4

Configured using:
 'configure --with-xwidgets --with-imagemagick'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
IMAGEMAGICK JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2
M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3
THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2
XPM XWIDGETS GTK3 ZLIB

Important settings:
  value of $LC_CTYPE: en_US.utf8
  value of $LANG: en_US.utf8
  value of $XMODIFIERS: @im=fcitx
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  erefactor-check-eval-mode: t
  erefactor-highlight-mode: t
  TeX-PDF-mode: t
  global-semantic-mru-bookmark-mode: t
  global-semanticdb-minor-mode: t
  global-semantic-decoration-mode: t
  global-semantic-idle-breadcrumbs-mode: t
  global-semantic-idle-completions-mode: t
  global-semantic-idle-scheduler-mode: t
  global-semantic-idle-local-symbol-highlight-mode: t
  global-semantic-idle-summary-mode: t
  global-semantic-highlight-func-mode: t
  global-semantic-stickyfunc-mode: t
  global-semantic-show-parser-state-mode: t
  global-semantic-show-unmatched-syntax-mode: t
  global-semantic-highlight-edits-mode: t
  semantic-mode: t
  mode-icons-mode: t
  ivy-rich-mode: t
  global-origami-mode: t
  origami-mode: t
  global-hl-line-mode: t
  global-ede-mode: t
  global-dash-fontify-mode: t
  dash-fontify-mode: t
  counsel-projectile-mode: t
  projectile-mode: t
  counsel-mode: t
  ivy-mode: t
  company-tng-mode: t
  company-quickhelp-mode: t
  company-quickhelp-local-mode: t
  company-posframe-mode: t
  global-company-mode: t
  company-mode: t
  windmove-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/usr/share/emacs/site-lisp/emu/poem hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/poem
/usr/share/emacs/site-lisp/emu/apel-ver hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/apel-ver
/usr/share/emacs/site-lisp/emu/mule-caesar hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/mule-caesar
/usr/share/emacs/site-lisp/emu/poem-e20_3 hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/poem-e20_3
/usr/share/emacs/site-lisp/apel/filename hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/filename
/usr/share/emacs/site-lisp/emu/poem-e20 hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/poem-e20
/usr/share/emacs/site-lisp/emu/product hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/product
/usr/share/emacs/site-lisp/emu/pces-20 hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/pces-20
/usr/share/emacs/site-lisp/emu/static hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/static
/usr/share/emacs/site-lisp/emu/poe hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/poe
/usr/share/emacs/site-lisp/apel/path-util hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/path-util
/usr/share/emacs/site-lisp/emu/pccl hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/pccl
/usr/share/emacs/site-lisp/emu/mcs-20 hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/mcs-20
/usr/share/emacs/site-lisp/emu/inv-23 hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/inv-23
/usr/share/emacs/site-lisp/apel/alist hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/alist
/usr/share/emacs/site-lisp/emu/pces-e20 hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/pces-e20
/usr/share/emacs/site-lisp/apel/install hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/install
/usr/share/emacs/site-lisp/emu/mcs-e20 hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/mcs-e20
/usr/share/emacs/site-lisp/emu/pces hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/pces
/usr/share/emacs/site-lisp/emu/mcharset hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/mcharset
/usr/share/emacs/site-lisp/emu/emu hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/emu
/usr/share/emacs/site-lisp/emu/pccl-20 hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/pccl-20
/usr/share/emacs/site-lisp/emu/broken hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/broken
/usr/share/emacs/site-lisp/apel/calist hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/calist
/usr/share/emacs/site-lisp/emu/invisible hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/invisible
/usr/share/emacs/site-lisp/emu/pcustom hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/pcustom
/usr/share/emacs/site-lisp/emu/richtext hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/richtext
/usr/share/emacs/site-lisp/emu/pym hides
/home/owinebar/.emacs.d/elpa-30/apel-20220720.1308/pym
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/hmac-sha1 hides
/home/owinebar/.emacs.d/elpa-30/oauth-20130128.151/hmac-sha1
/usr/share/emacs/site-lisp/site-start.d/auctex hides
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/auctex
/home/owinebar/.emacs.d/elpa-30/elsa-20230207.1358/Elsafile hides
/home/owinebar/.emacs.d/elpa-30/flycheck-elsa-20220523.1105/Elsafile
/home/owinebar/.emacs.d/elpa-30/lispy-20221225.1927/elpa hides
/home/owinebar/.emacs.d/elpa-30/ivy-20220926.1250/elpa
/home/owinebar/.emacs.d/elpa-30/maxima-20220531.1847/maxima-font-lock
hides /usr/local/share/emacs/site-lisp/maxima-font-lock
/home/owinebar/.emacs.d/elpa-30/cmake-mode-20230209.1921/cmake-mode
hides /usr/local/share/emacs/site-lisp/cmake-mode
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/tex-site hides
/usr/local/share/emacs/site-lisp/tex-site
/home/owinebar/.emacs.d/elpa-30/maxima-20220531.1847/maxima hides
/usr/local/share/emacs/site-lisp/maxima
/usr/share/emacs/site-lisp/apel/filename hides
/usr/local/share/emacs/site-lisp/apel/filename
/usr/share/emacs/site-lisp/apel/path-util hides
/usr/local/share/emacs/site-lisp/apel/path-util
/usr/share/emacs/site-lisp/apel/alist hides
/usr/local/share/emacs/site-lisp/apel/alist
/usr/share/emacs/site-lisp/apel/install hides
/usr/local/share/emacs/site-lisp/apel/install
/usr/share/emacs/site-lisp/apel/calist hides
/usr/local/share/emacs/site-lisp/apel/calist
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/tex-info hides
/usr/local/share/emacs/site-lisp/auctex/tex-info
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/tex-style hides
/usr/local/share/emacs/site-lisp/auctex/tex-style
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/plain-tex hides
/usr/local/share/emacs/site-lisp/auctex/plain-tex
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/tex-jp hides
/usr/local/share/emacs/site-lisp/auctex/tex-jp
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/tex-fold hides
/usr/local/share/emacs/site-lisp/auctex/tex-fold
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/context hides
/usr/local/share/emacs/site-lisp/auctex/context
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/latex-flymake hides
/usr/local/share/emacs/site-lisp/auctex/latex-flymake
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/texmathp hides
/usr/local/share/emacs/site-lisp/auctex/texmathp
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/tex hides
/usr/local/share/emacs/site-lisp/auctex/tex
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/tex-bar hides
/usr/local/share/emacs/site-lisp/auctex/tex-bar
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/latex hides
/usr/local/share/emacs/site-lisp/auctex/latex
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/tex-mik hides
/usr/local/share/emacs/site-lisp/auctex/tex-mik
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/toolbar-x hides
/usr/local/share/emacs/site-lisp/auctex/toolbar-x
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/multi-prompt hides
/usr/local/share/emacs/site-lisp/auctex/multi-prompt
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/context-nl hides
/usr/local/share/emacs/site-lisp/auctex/context-nl
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/preview hides
/usr/local/share/emacs/site-lisp/auctex/preview
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/tex-ispell hides
/usr/local/share/emacs/site-lisp/auctex/tex-ispell
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/bib-cite hides
/usr/local/share/emacs/site-lisp/auctex/bib-cite
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/font-latex hides
/usr/local/share/emacs/site-lisp/auctex/font-latex
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/tex-font hides
/usr/local/share/emacs/site-lisp/auctex/tex-font
/home/owinebar/.emacs.d/elpa-30/auctex-13.1.9/context-en hides
/usr/local/share/emacs/site-lisp/auctex/context-en
/usr/share/emacs/site-lisp/emu/poem hides
/usr/local/share/emacs/site-lisp/emu/poem
/usr/share/emacs/site-lisp/emu/inv-23 hides
/usr/local/share/emacs/site-lisp/emu/inv-23
/usr/share/emacs/site-lisp/emu/invisible hides
/usr/local/share/emacs/site-lisp/emu/invisible
/usr/share/emacs/site-lisp/emu/mule-caesar hides
/usr/local/share/emacs/site-lisp/emu/mule-caesar
/usr/share/emacs/site-lisp/emu/poem-e20 hides
/usr/local/share/emacs/site-lisp/emu/poem-e20
/usr/share/emacs/site-lisp/emu/pces-20 hides
/usr/local/share/emacs/site-lisp/emu/pces-20
/usr/share/emacs/site-lisp/emu/pces hides
/usr/local/share/emacs/site-lisp/emu/pces
/usr/share/emacs/site-lisp/emu/pym hides
/usr/local/share/emacs/site-lisp/emu/pym
/usr/share/emacs/site-lisp/emu/pccl hides
/usr/local/share/emacs/site-lisp/emu/pccl
/usr/share/emacs/site-lisp/emu/poem-e20_3 hides
/usr/local/share/emacs/site-lisp/emu/poem-e20_3
/usr/share/emacs/site-lisp/emu/pccl-20 hides
/usr/local/share/emacs/site-lisp/emu/pccl-20
/usr/share/emacs/site-lisp/emu/mcs-e20 hides
/usr/local/share/emacs/site-lisp/emu/mcs-e20
/usr/share/emacs/site-lisp/emu/apel-ver hides
/usr/local/share/emacs/site-lisp/emu/apel-ver
/usr/share/emacs/site-lisp/emu/pces-e20 hides
/usr/local/share/emacs/site-lisp/emu/pces-e20
/usr/share/emacs/site-lisp/emu/mcs-20 hides
/usr/local/share/emacs/site-lisp/emu/mcs-20
/usr/share/emacs/site-lisp/emu/product hides
/usr/local/share/emacs/site-lisp/emu/product
/usr/share/emacs/site-lisp/emu/static hides
/usr/local/share/emacs/site-lisp/emu/static
/usr/share/emacs/site-lisp/emu/emu hides
/usr/local/share/emacs/site-lisp/emu/emu
/usr/share/emacs/site-lisp/emu/broken hides
/usr/local/share/emacs/site-lisp/emu/broken
/usr/share/emacs/site-lisp/emu/poe hides
/usr/local/share/emacs/site-lisp/emu/poe
/usr/share/emacs/site-lisp/emu/mcharset hides
/usr/local/share/emacs/site-lisp/emu/mcharset
/usr/share/emacs/site-lisp/emu/pcustom hides
/usr/local/share/emacs/site-lisp/emu/pcustom
/usr/share/emacs/site-lisp/emu/richtext hides
/usr/local/share/emacs/site-lisp/emu/richtext
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/mmgeneric hides
/usr/local/share/emacs/site-lisp/flim/mmgeneric
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/mime-def hides
/usr/local/share/emacs/site-lisp/flim/mime-def
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/mime hides
/usr/local/share/emacs/site-lisp/flim/mime
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/lunit hides
/usr/local/share/emacs/site-lisp/flim/lunit
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/mime-conf hides
/usr/local/share/emacs/site-lisp/flim/mime-conf
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/mime-parse hides
/usr/local/share/emacs/site-lisp/flim/mime-parse
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/mmbuffer hides
/usr/local/share/emacs/site-lisp/flim/mmbuffer
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/std11 hides
/usr/local/share/emacs/site-lisp/flim/std11
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/smtp hides
/usr/local/share/emacs/site-lisp/flim/smtp
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/mel-u hides
/usr/local/share/emacs/site-lisp/flim/mel-u
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/hmac-sha1 hides
/usr/local/share/emacs/site-lisp/flim/hmac-sha1
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/mel-q hides
/usr/local/share/emacs/site-lisp/flim/mel-q
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/mel hides
/usr/local/share/emacs/site-lisp/flim/mel
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/luna hides
/usr/local/share/emacs/site-lisp/flim/luna
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/mel-q-ccl hides
/usr/local/share/emacs/site-lisp/flim/mel-q-ccl
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/md5 hides
/usr/local/share/emacs/site-lisp/flim/md5
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/mmexternal hides
/usr/local/share/emacs/site-lisp/flim/mmexternal
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/sasl-scram hides
/usr/local/share/emacs/site-lisp/flim/sasl-scram
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/mmcooked hides
/usr/local/share/emacs/site-lisp/flim/mmcooked
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/mel-g hides
/usr/local/share/emacs/site-lisp/flim/mel-g
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/eword-encode hides
/usr/local/share/emacs/site-lisp/flim/eword-encode
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/qmtp hides
/usr/local/share/emacs/site-lisp/flim/qmtp
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/eword-decode hides
/usr/local/share/emacs/site-lisp/flim/eword-decode
/usr/share/emacs/site-lisp/gnugo/make-xpms-file hides
/usr/local/share/emacs/site-lisp/gnugo/make-xpms-file
/usr/share/emacs/site-lisp/gnugo/gnugo-big-xpms hides
/usr/local/share/emacs/site-lisp/gnugo/gnugo-big-xpms
/usr/share/emacs/site-lisp/gnugo/gnugo-db hides
/usr/local/share/emacs/site-lisp/gnugo/gnugo-db
/usr/share/emacs/site-lisp/gnugo/gnugo hides
/usr/local/share/emacs/site-lisp/gnugo/gnugo
/usr/share/emacs/site-lisp/gnugo/gnugo-xpms hides
/usr/local/share/emacs/site-lisp/gnugo/gnugo-xpms
/home/owinebar/.emacs.d/elpa-30/psgml-1.3.5/psgml-api hides
/usr/local/share/emacs/site-lisp/psgml/psgml-api
/home/owinebar/.emacs.d/elpa-30/psgml-1.3.5/psgml-pkg hides
/usr/local/share/emacs/site-lisp/psgml/psgml-pkg
/home/owinebar/.emacs.d/elpa-30/psgml-1.3.5/psgml-info hides
/usr/local/share/emacs/site-lisp/psgml/psgml-info
/home/owinebar/.emacs.d/elpa-30/psgml-1.3.5/psgml-debug hides
/usr/local/share/emacs/site-lisp/psgml/psgml-debug
/home/owinebar/.emacs.d/elpa-30/psgml-1.3.5/psgml-fs hides
/usr/local/share/emacs/site-lisp/psgml/psgml-fs
/home/owinebar/.emacs.d/elpa-30/psgml-1.3.5/psgml-dtd hides
/usr/local/share/emacs/site-lisp/psgml/psgml-dtd
/home/owinebar/.emacs.d/elpa-30/psgml-1.3.5/psgml-parse hides
/usr/local/share/emacs/site-lisp/psgml/psgml-parse
/home/owinebar/.emacs.d/elpa-30/psgml-1.3.5/psgml-other hides
/usr/local/share/emacs/site-lisp/psgml/psgml-other
/home/owinebar/.emacs.d/elpa-30/psgml-1.3.5/psgml-edit hides
/usr/local/share/emacs/site-lisp/psgml/psgml-edit
/home/owinebar/.emacs.d/elpa-30/psgml-1.3.5/psgml hides
/usr/local/share/emacs/site-lisp/psgml/psgml
/home/owinebar/.emacs.d/elpa-30/rtags-xref-20210721.2314/rtags-xref
hides /usr/local/share/emacs/site-lisp/rtags/rtags-xref
/home/owinebar/.emacs.d/elpa-30/company-rtags-20191222.920/company-rtags
hides /usr/local/share/emacs/site-lisp/rtags/company-rtags
/home/owinebar/.emacs.d/elpa-30/ac-rtags-20191222.920/ac-rtags hides
/usr/local/share/emacs/site-lisp/rtags/ac-rtags
/home/owinebar/.emacs.d/elpa-30/ivy-rtags-20191222.920/ivy-rtags hides
/usr/local/share/emacs/site-lisp/rtags/ivy-rtags
/home/owinebar/.emacs.d/elpa-30/rtags-20220818.1535/rtags hides
/usr/local/share/emacs/site-lisp/rtags/rtags
/home/owinebar/.emacs.d/elpa-30/flycheck-rtags-20191222.920/flycheck-rtags
hides /usr/local/share/emacs/site-lisp/rtags/flycheck-rtags
/home/owinebar/.emacs.d/elpa-30/semi-20230104.1321/semi-setup hides
/usr/local/share/emacs/site-lisp/semi/semi-setup
/home/owinebar/.emacs.d/elpa-30/semi-20230104.1321/mime-pgp hides
/usr/local/share/emacs/site-lisp/semi/mime-pgp
/home/owinebar/.emacs.d/elpa-30/semi-20230104.1321/signature hides
/usr/local/share/emacs/site-lisp/semi/signature
/home/owinebar/.emacs.d/elpa-30/semi-20230104.1321/mail-mime-setup
hides /usr/local/share/emacs/site-lisp/semi/mail-mime-setup
/home/owinebar/.emacs.d/elpa-30/semi-20230104.1321/mime-view hides
/usr/local/share/emacs/site-lisp/semi/mime-view
/home/owinebar/.emacs.d/elpa-30/semi-20230104.1321/mime-setup hides
/usr/local/share/emacs/site-lisp/semi/mime-setup
/home/owinebar/.emacs.d/elpa-30/semi-20230104.1321/mime-play hides
/usr/local/share/emacs/site-lisp/semi/mime-play
/home/owinebar/.emacs.d/elpa-30/semi-20230104.1321/mime-edit hides
/usr/local/share/emacs/site-lisp/semi/mime-edit
/home/owinebar/.emacs.d/elpa-30/semi-20230104.1321/semi-def hides
/usr/local/share/emacs/site-lisp/semi/semi-def
/home/owinebar/.emacs.d/elpa-30/semi-20230104.1321/mime-partial hides
/usr/local/share/emacs/site-lisp/semi/mime-partial
/home/owinebar/.emacs.d/elpa-30/semi-20230104.1321/mime-image hides
/usr/local/share/emacs/site-lisp/semi/mime-image
/home/owinebar/.emacs.d/elpa-30/semi-20230104.1321/mime-w3 hides
/usr/local/share/emacs/site-lisp/semi/mime-w3
/usr/share/emacs/site-lisp/site-start.d/auctex hides
/usr/local/share/emacs/site-lisp/site-start.d/auctex
/usr/share/emacs/site-lisp/site-start.d/preview-latex hides
/usr/local/share/emacs/site-lisp/site-start.d/preview-latex
/usr/share/emacs/site-lisp/w3m/w3m-load hides
/usr/local/share/emacs/site-lisp/w3m/w3m-load
/usr/share/emacs/site-lisp/w3m/sb-heise hides
/usr/local/share/emacs/site-lisp/w3m/sb-heise
/usr/share/emacs/site-lisp/w3m/sb-yoshirin hides
/usr/local/share/emacs/site-lisp/w3m/sb-yoshirin
/usr/share/emacs/site-lisp/w3m/w3m-hist hides
/usr/local/share/emacs/site-lisp/w3m/w3m-hist
/usr/share/emacs/site-lisp/w3m/sb-exconn hides
/usr/local/share/emacs/site-lisp/w3m/sb-exconn
/usr/share/emacs/site-lisp/w3m/sb-mhonarc hides
/usr/local/share/emacs/site-lisp/w3m/sb-mhonarc
/usr/share/emacs/site-lisp/w3m/sb-pocketgames hides
/usr/local/share/emacs/site-lisp/w3m/sb-pocketgames
/usr/share/emacs/site-lisp/w3m/sb-sankei hides
/usr/local/share/emacs/site-lisp/w3m/sb-sankei
/usr/share/emacs/site-lisp/w3m/sb-security-memo hides
/usr/local/share/emacs/site-lisp/w3m/sb-security-memo
/usr/share/emacs/site-lisp/w3m/sb-toshiba hides
/usr/local/share/emacs/site-lisp/w3m/sb-toshiba
/usr/share/emacs/site-lisp/w3m/sb-mailman hides
/usr/local/share/emacs/site-lisp/w3m/sb-mailman
/usr/share/emacs/site-lisp/w3m/sb-text hides
/usr/local/share/emacs/site-lisp/w3m/sb-text
/usr/share/emacs/site-lisp/w3m/sb-wired-jp hides
/usr/local/share/emacs/site-lisp/w3m/sb-wired-jp
/usr/share/emacs/site-lisp/w3m/sb-hns hides
/usr/local/share/emacs/site-lisp/w3m/sb-hns
/usr/share/emacs/site-lisp/w3m/sb-bbdb-ml hides
/usr/local/share/emacs/site-lisp/w3m/sb-bbdb-ml
/usr/share/emacs/site-lisp/w3m/sb-opentechpress-jp hides
/usr/local/share/emacs/site-lisp/w3m/sb-opentechpress-jp
/usr/share/emacs/site-lisp/w3m/w3m-rss hides
/usr/local/share/emacs/site-lisp/w3m/w3m-rss
/usr/share/emacs/site-lisp/w3m/sb-fml hides
/usr/local/share/emacs/site-lisp/w3m/sb-fml
/usr/share/emacs/site-lisp/w3m/w3m-save hides
/usr/local/share/emacs/site-lisp/w3m/w3m-save
/usr/share/emacs/site-lisp/w3m/sb-slashdot-jp hides
/usr/local/share/emacs/site-lisp/w3m/sb-slashdot-jp
/usr/share/emacs/site-lisp/w3m/sb-yomiuri-html hides
/usr/local/share/emacs/site-lisp/w3m/sb-yomiuri-html
/usr/share/emacs/site-lisp/w3m/w3m hides
/usr/local/share/emacs/site-lisp/w3m/w3m
/usr/share/emacs/site-lisp/w3m/sb-ruby hides
/usr/local/share/emacs/site-lisp/w3m/sb-ruby
/usr/share/emacs/site-lisp/w3m/w3m-lnum hides
/usr/local/share/emacs/site-lisp/w3m/w3m-lnum
/usr/share/emacs/site-lisp/w3m/sb-cnn-jp hides
/usr/local/share/emacs/site-lisp/w3m/sb-cnn-jp
/usr/share/emacs/site-lisp/w3m/w3m-antenna hides
/usr/local/share/emacs/site-lisp/w3m/w3m-antenna
/usr/share/emacs/site-lisp/w3m/sb-yahoo hides
/usr/local/share/emacs/site-lisp/w3m/sb-yahoo
/usr/share/emacs/site-lisp/w3m/sb-kyoko-np hides
/usr/local/share/emacs/site-lisp/w3m/sb-kyoko-np
/usr/share/emacs/site-lisp/w3m/sb-ibm-dev hides
/usr/local/share/emacs/site-lisp/w3m/sb-ibm-dev
/usr/share/emacs/site-lisp/w3m/sb-itmedia hides
/usr/local/share/emacs/site-lisp/w3m/sb-itmedia
/usr/share/emacs/site-lisp/w3m/sb-excite hides
/usr/local/share/emacs/site-lisp/w3m/sb-excite
/usr/share/emacs/site-lisp/w3m/w3m-image hides
/usr/local/share/emacs/site-lisp/w3m/w3m-image
/usr/share/emacs/site-lisp/w3m/sb-f1fan hides
/usr/local/share/emacs/site-lisp/w3m/sb-f1fan
/usr/share/emacs/site-lisp/w3m/sb-airs hides
/usr/local/share/emacs/site-lisp/w3m/sb-airs
/usr/share/emacs/site-lisp/w3m/w3m-ems hides
/usr/local/share/emacs/site-lisp/w3m/w3m-ems
/usr/share/emacs/site-lisp/w3m/sb-mailarc hides
/usr/local/share/emacs/site-lisp/w3m/sb-mailarc
/usr/share/emacs/site-lisp/w3m/sb-debian hides
/usr/local/share/emacs/site-lisp/w3m/sb-debian
/usr/share/emacs/site-lisp/w3m/sb-meadow hides
/usr/local/share/emacs/site-lisp/w3m/sb-meadow
/usr/share/emacs/site-lisp/w3m/sb-yomiuri hides
/usr/local/share/emacs/site-lisp/w3m/sb-yomiuri
/usr/share/emacs/site-lisp/w3m/sb-scipy hides
/usr/local/share/emacs/site-lisp/w3m/sb-scipy
/usr/share/emacs/site-lisp/w3m/sb-savannah hides
/usr/local/share/emacs/site-lisp/w3m/sb-savannah
/usr/share/emacs/site-lisp/w3m/sb-squeak-ja hides
/usr/local/share/emacs/site-lisp/w3m/sb-squeak-ja
/usr/share/emacs/site-lisp/w3m/w3m-weather hides
/usr/local/share/emacs/site-lisp/w3m/w3m-weather
/usr/share/emacs/site-lisp/w3m/sb-rss-blogs hides
/usr/local/share/emacs/site-lisp/w3m/sb-rss-blogs
/usr/share/emacs/site-lisp/w3m/sb-debian-jp hides
/usr/local/share/emacs/site-lisp/w3m/sb-debian-jp
/usr/share/emacs/site-lisp/w3m/sb-rediff hides
/usr/local/share/emacs/site-lisp/w3m/sb-rediff
/usr/share/emacs/site-lisp/w3m/sb-xemacs hides
/usr/local/share/emacs/site-lisp/w3m/sb-xemacs
/usr/share/emacs/site-lisp/w3m/sb-haiku-os hides
/usr/local/share/emacs/site-lisp/w3m/sb-haiku-os
/usr/share/emacs/site-lisp/w3m/w3m-util hides
/usr/local/share/emacs/site-lisp/w3m/w3m-util
/usr/share/emacs/site-lisp/w3m/sb-fau hides
/usr/local/share/emacs/site-lisp/w3m/sb-fau
/usr/share/emacs/site-lisp/w3m/sb-pcweb-column hides
/usr/local/share/emacs/site-lisp/w3m/sb-pcweb-column
/usr/share/emacs/site-lisp/w3m/sb-2ch hides
/usr/local/share/emacs/site-lisp/w3m/sb-2ch
/usr/share/emacs/site-lisp/w3m/sb-japantimes hides
/usr/local/share/emacs/site-lisp/w3m/sb-japantimes
/usr/share/emacs/site-lisp/w3m/sb-redhat hides
/usr/local/share/emacs/site-lisp/w3m/sb-redhat
/usr/share/emacs/site-lisp/w3m/sb-asahi-html hides
/usr/local/share/emacs/site-lisp/w3m/sb-asahi-html
/usr/share/emacs/site-lisp/w3m/sb-rss-hash hides
/usr/local/share/emacs/site-lisp/w3m/sb-rss-hash
/usr/share/emacs/site-lisp/w3m/sb-engadget-ja hides
/usr/local/share/emacs/site-lisp/w3m/sb-engadget-ja
/usr/share/emacs/site-lisp/w3m/sb-wikimedia hides
/usr/local/share/emacs/site-lisp/w3m/sb-wikimedia
/usr/share/emacs/site-lisp/w3m/sb-gnome hides
/usr/local/share/emacs/site-lisp/w3m/sb-gnome
/usr/share/emacs/site-lisp/w3m/sb-laut-de hides
/usr/local/share/emacs/site-lisp/w3m/sb-laut-de
/usr/share/emacs/site-lisp/w3m/w3m-perldoc hides
/usr/local/share/emacs/site-lisp/w3m/w3m-perldoc
/usr/share/emacs/site-lisp/w3m/sb-the-onion hides
/usr/local/share/emacs/site-lisp/w3m/sb-the-onion
/usr/share/emacs/site-lisp/w3m/sb-perlentaucher-de hides
/usr/local/share/emacs/site-lisp/w3m/sb-perlentaucher-de
/usr/share/emacs/site-lisp/w3m/sb-coldsync hides
/usr/local/share/emacs/site-lisp/w3m/sb-coldsync
/usr/share/emacs/site-lisp/w3m/sb-sml hides
/usr/local/share/emacs/site-lisp/w3m/sb-sml
/usr/share/emacs/site-lisp/w3m/sb-m17n hides
/usr/local/share/emacs/site-lisp/w3m/sb-m17n
/usr/share/emacs/site-lisp/w3m/sb-zdnet-jp hides
/usr/local/share/emacs/site-lisp/w3m/sb-zdnet-jp
/usr/share/emacs/site-lisp/w3m/sb-msports-nifty hides
/usr/local/share/emacs/site-lisp/w3m/sb-msports-nifty
/usr/share/emacs/site-lisp/w3m/sb-hash hides
/usr/local/share/emacs/site-lisp/w3m/sb-hash
/usr/share/emacs/site-lisp/w3m/sb-digiko hides
/usr/local/share/emacs/site-lisp/w3m/sb-digiko
/usr/share/emacs/site-lisp/w3m/sb-x51 hides
/usr/local/share/emacs/site-lisp/w3m/sb-x51
/usr/share/emacs/site-lisp/w3m/sb-cgi-board hides
/usr/local/share/emacs/site-lisp/w3m/sb-cgi-board
/usr/share/emacs/site-lisp/w3m/sb-n24-de hides
/usr/local/share/emacs/site-lisp/w3m/sb-n24-de
/usr/share/emacs/site-lisp/w3m/sb-sourceforge-jp hides
/usr/local/share/emacs/site-lisp/w3m/sb-sourceforge-jp
/usr/share/emacs/site-lisp/w3m/w3m-dtree hides
/usr/local/share/emacs/site-lisp/w3m/w3m-dtree
/usr/share/emacs/site-lisp/w3m/sb-cnet-jp hides
/usr/local/share/emacs/site-lisp/w3m/sb-cnet-jp
/usr/share/emacs/site-lisp/w3m/sb-nytimes hides
/usr/local/share/emacs/site-lisp/w3m/sb-nytimes
/usr/share/emacs/site-lisp/w3m/w3m-session hides
/usr/local/share/emacs/site-lisp/w3m/w3m-session
/usr/share/emacs/site-lisp/w3m/w3m-proc hides
/usr/local/share/emacs/site-lisp/w3m/w3m-proc
/usr/share/emacs/site-lisp/w3m/sb-mainichi hides
/usr/local/share/emacs/site-lisp/w3m/sb-mainichi
/usr/share/emacs/site-lisp/w3m/sb-tech-on hides
/usr/local/share/emacs/site-lisp/w3m/sb-tech-on
/usr/share/emacs/site-lisp/w3m/sb-dennou hides
/usr/local/share/emacs/site-lisp/w3m/sb-dennou
/usr/share/emacs/site-lisp/w3m/sb-aljazeera hides
/usr/local/share/emacs/site-lisp/w3m/sb-aljazeera
/usr/share/emacs/site-lisp/w3m/sb-atom hides
/usr/local/share/emacs/site-lisp/w3m/sb-atom
/usr/share/emacs/site-lisp/w3m/sb-emacs-w3m hides
/usr/local/share/emacs/site-lisp/w3m/sb-emacs-w3m
/usr/share/emacs/site-lisp/w3m/sb-wincefan hides
/usr/local/share/emacs/site-lisp/w3m/sb-wincefan
/usr/share/emacs/site-lisp/w3m/sb-ffii hides
/usr/local/share/emacs/site-lisp/w3m/sb-ffii
/usr/share/emacs/site-lisp/w3m/sb-yahoo-sports hides
/usr/local/share/emacs/site-lisp/w3m/sb-yahoo-sports
/usr/share/emacs/site-lisp/w3m/sb-debugmagazin-de hides
/usr/local/share/emacs/site-lisp/w3m/sb-debugmagazin-de
/usr/share/emacs/site-lisp/w3m/sb-nikkansports hides
/usr/local/share/emacs/site-lisp/w3m/sb-nikkansports
/usr/share/emacs/site-lisp/w3m/sb-slashdot hides
/usr/local/share/emacs/site-lisp/w3m/sb-slashdot
/usr/share/emacs/site-lisp/w3m/sb-javaconf hides
/usr/local/share/emacs/site-lisp/w3m/sb-javaconf
/usr/share/emacs/site-lisp/w3m/sb-yahoo-auctions hides
/usr/local/share/emacs/site-lisp/w3m/sb-yahoo-auctions
/usr/share/emacs/site-lisp/w3m/w3m-favicon hides
/usr/local/share/emacs/site-lisp/w3m/w3m-favicon
/usr/share/emacs/site-lisp/w3m/sb-kantei hides
/usr/local/share/emacs/site-lisp/w3m/sb-kantei
/usr/share/emacs/site-lisp/w3m/w3m-cookie hides
/usr/local/share/emacs/site-lisp/w3m/w3m-cookie
/usr/share/emacs/site-lisp/w3m/sb-squeak-dev hides
/usr/local/share/emacs/site-lisp/w3m/sb-squeak-dev
/usr/share/emacs/site-lisp/w3m/sb-bbc hides
/usr/local/share/emacs/site-lisp/w3m/sb-bbc
/usr/share/emacs/site-lisp/w3m/w3m-search hides
/usr/local/share/emacs/site-lisp/w3m/w3m-search
/usr/share/emacs/site-lisp/w3m/sb-impress hides
/usr/local/share/emacs/site-lisp/w3m/sb-impress
/usr/share/emacs/site-lisp/w3m/sb-jpilot hides
/usr/local/share/emacs/site-lisp/w3m/sb-jpilot
/usr/share/emacs/site-lisp/w3m/sb-cnet hides
/usr/local/share/emacs/site-lisp/w3m/sb-cnet
/usr/share/emacs/site-lisp/w3m/sb-atmarkit hides
/usr/local/share/emacs/site-lisp/w3m/sb-atmarkit
/usr/share/emacs/site-lisp/w3m/sb-chise hides
/usr/local/share/emacs/site-lisp/w3m/sb-chise
/usr/share/emacs/site-lisp/w3m/w3m-tabmenu hides
/usr/local/share/emacs/site-lisp/w3m/w3m-tabmenu
/usr/share/emacs/site-lisp/w3m/sb-lump hides
/usr/local/share/emacs/site-lisp/w3m/sb-lump
/usr/share/emacs/site-lisp/w3m/sb-atom-hash hides
/usr/local/share/emacs/site-lisp/w3m/sb-atom-hash
/usr/share/emacs/site-lisp/w3m/sb-mew hides
/usr/local/share/emacs/site-lisp/w3m/sb-mew
/usr/share/emacs/site-lisp/w3m/sb-multi hides
/usr/local/share/emacs/site-lisp/w3m/sb-multi
/usr/share/emacs/site-lisp/w3m/sb-arch-bluegate hides
/usr/local/share/emacs/site-lisp/w3m/sb-arch-bluegate
/usr/share/emacs/site-lisp/w3m/w3m-form hides
/usr/local/share/emacs/site-lisp/w3m/w3m-form
/usr/share/emacs/site-lisp/w3m/sb-plucker hides
/usr/local/share/emacs/site-lisp/w3m/sb-plucker
/usr/share/emacs/site-lisp/w3m/sb-welt-de hides
/usr/local/share/emacs/site-lisp/w3m/sb-welt-de
/usr/share/emacs/site-lisp/w3m/sb-asahi-mytown hides
/usr/local/share/emacs/site-lisp/w3m/sb-asahi-mytown
/usr/share/emacs/site-lisp/w3m/sb-linuxce-jp hides
/usr/local/share/emacs/site-lisp/w3m/sb-linuxce-jp
/usr/share/emacs/site-lisp/w3m/sb-nikkei hides
/usr/local/share/emacs/site-lisp/w3m/sb-nikkei
/usr/share/emacs/site-lisp/w3m/sb-glimpse hides
/usr/local/share/emacs/site-lisp/w3m/sb-glimpse
/usr/share/emacs/site-lisp/w3m/sb-pilot-mailsync hides
/usr/local/share/emacs/site-lisp/w3m/sb-pilot-mailsync
/usr/share/emacs/site-lisp/w3m/w3m-bookmark hides
/usr/local/share/emacs/site-lisp/w3m/w3m-bookmark
/usr/share/emacs/site-lisp/w3m/sb-sponichi hides
/usr/local/share/emacs/site-lisp/w3m/sb-sponichi
/usr/share/emacs/site-lisp/w3m/sb-namazu hides
/usr/local/share/emacs/site-lisp/w3m/sb-namazu
/usr/share/emacs/site-lisp/w3m/sb-lotusex hides
/usr/local/share/emacs/site-lisp/w3m/sb-lotusex
/usr/share/emacs/site-lisp/w3m/octet hides
/usr/local/share/emacs/site-lisp/w3m/octet
/usr/share/emacs/site-lisp/w3m/bookmark-w3m hides
/usr/local/share/emacs/site-lisp/w3m/bookmark-w3m
/usr/share/emacs/site-lisp/w3m/sb-marc-aims hides
/usr/local/share/emacs/site-lisp/w3m/sb-marc-aims
/usr/share/emacs/site-lisp/w3m/sb-tdiary hides
/usr/local/share/emacs/site-lisp/w3m/sb-tdiary
/usr/share/emacs/site-lisp/w3m/w3m-bug hides
/usr/local/share/emacs/site-lisp/w3m/w3m-bug
/usr/share/emacs/site-lisp/w3m/sb-mozilla-jp hides
/usr/local/share/emacs/site-lisp/w3m/sb-mozilla-jp
/usr/share/emacs/site-lisp/w3m/mime-w3m hides
/usr/local/share/emacs/site-lisp/w3m/mime-w3m
/usr/share/emacs/site-lisp/w3m/sb-macosx-jp hides
/usr/local/share/emacs/site-lisp/w3m/sb-macosx-jp
/usr/share/emacs/site-lisp/w3m/sb-spiegel hides
/usr/local/share/emacs/site-lisp/w3m/sb-spiegel
/usr/share/emacs/site-lisp/w3m/sb-pilot-link hides
/usr/local/share/emacs/site-lisp/w3m/sb-pilot-link
/usr/share/emacs/site-lisp/w3m/sb-emacswiki hides
/usr/local/share/emacs/site-lisp/w3m/sb-emacswiki
/usr/share/emacs/site-lisp/w3m/sb-w3m-dev hides
/usr/local/share/emacs/site-lisp/w3m/sb-w3m-dev
/usr/share/emacs/site-lisp/w3m/sb-palmfan hides
/usr/local/share/emacs/site-lisp/w3m/sb-palmfan
/usr/share/emacs/site-lisp/w3m/sb-rss hides
/usr/local/share/emacs/site-lisp/w3m/sb-rss
/usr/share/emacs/site-lisp/w3m/sb-infoshop hides
/usr/local/share/emacs/site-lisp/w3m/sb-infoshop
/usr/share/emacs/site-lisp/w3m/sb-msdn hides
/usr/local/share/emacs/site-lisp/w3m/sb-msdn
/usr/share/emacs/site-lisp/w3m/sb-asahi hides
/usr/local/share/emacs/site-lisp/w3m/sb-asahi
/usr/share/emacs/site-lisp/w3m/sb-tigris hides
/usr/local/share/emacs/site-lisp/w3m/sb-tigris
/usr/share/emacs/site-lisp/w3m/w3m-filter hides
/usr/local/share/emacs/site-lisp/w3m/w3m-filter
/usr/share/emacs/site-lisp/w3m/sb-texfaq hides
/usr/local/share/emacs/site-lisp/w3m/sb-texfaq
/usr/share/emacs/site-lisp/w3m/mew-shimbun hides
/usr/local/share/emacs/site-lisp/w3m/mew-shimbun
/usr/share/emacs/site-lisp/w3m/w3m-namazu hides
/usr/local/share/emacs/site-lisp/w3m/w3m-namazu
/usr/share/emacs/site-lisp/w3m/sb-wiki hides
/usr/local/share/emacs/site-lisp/w3m/sb-wiki
/usr/share/emacs/site-lisp/w3m/sb-tdiary-ml hides
/usr/local/share/emacs/site-lisp/w3m/sb-tdiary-ml
/usr/share/emacs/site-lisp/w3m/sb-kde hides
/usr/local/share/emacs/site-lisp/w3m/sb-kde
/usr/share/emacs/site-lisp/w3m/sb-geocrawler hides
/usr/local/share/emacs/site-lisp/w3m/sb-geocrawler
/usr/share/emacs/site-lisp/w3m/w3m-ucs hides
/usr/local/share/emacs/site-lisp/w3m/w3m-ucs
/usr/share/emacs/site-lisp/w3m/shimbun hides
/usr/local/share/emacs/site-lisp/w3m/shimbun
/usr/share/emacs/site-lisp/w3m/nnshimbun hides
/usr/local/share/emacs/site-lisp/w3m/nnshimbun
/usr/share/emacs/site-lisp/w3m/sb-vinelinux hides
/usr/local/share/emacs/site-lisp/w3m/sb-vinelinux
/usr/share/emacs/site-lisp/w3m/w3m-mail hides
/usr/local/share/emacs/site-lisp/w3m/w3m-mail
/usr/share/emacs/site-lisp/w3m/w3m-ccl hides
/usr/local/share/emacs/site-lisp/w3m/w3m-ccl
/usr/share/emacs/site-lisp/w3m/sb-zeit-de hides
/usr/local/share/emacs/site-lisp/w3m/sb-zeit-de
/usr/share/emacs/site-lisp/w3m/sb-sueddeutsche-de hides
/usr/local/share/emacs/site-lisp/w3m/sb-sueddeutsche-de
/usr/share/emacs/site-lisp/w3m/sb-tcup hides
/usr/local/share/emacs/site-lisp/w3m/sb-tcup
/usr/share/emacs/site-lisp/w3m/sb-the-register hides
/usr/local/share/emacs/site-lisp/w3m/sb-the-register
/usr/share/emacs/site-lisp/w3m/sb-orca hides
/usr/local/share/emacs/site-lisp/w3m/sb-orca
/usr/share/emacs/site-lisp/w3m/w3m-symbol hides
/usr/local/share/emacs/site-lisp/w3m/w3m-symbol
/usr/share/emacs/site-lisp/w3m/sb-nikkangendai hides
/usr/local/share/emacs/site-lisp/w3m/sb-nikkangendai
/usr/share/emacs/site-lisp/w3m/sb-makanai hides
/usr/local/share/emacs/site-lisp/w3m/sb-makanai
/usr/share/emacs/site-lisp/w3m/w3m-fb hides
/usr/local/share/emacs/site-lisp/w3m/w3m-fb
/usr/share/emacs/site-lisp/w3m/sb-rakuten hides
/usr/local/share/emacs/site-lisp/w3m/sb-rakuten
/usr/share/emacs/site-lisp/w3m/sb-elips hides
/usr/local/share/emacs/site-lisp/w3m/sb-elips
/usr/share/emacs/site-lisp/w3m/sb-jpo hides
/usr/local/share/emacs/site-lisp/w3m/sb-jpo
/usr/share/emacs/site-lisp/w3m/mew-w3m hides
/usr/local/share/emacs/site-lisp/w3m/mew-w3m
/usr/share/emacs/site-lisp/w3m/sb-netbsd hides
/usr/local/share/emacs/site-lisp/w3m/sb-netbsd
/home/owinebar/.emacs.d/elpa-30/jsonrpc-1.0.16/jsonrpc hides
/usr/local/share/emacs/30.0.50/lisp/jsonrpc
/home/owinebar/.emacs.d/elpa-30/pcmpl-git-20170121.59/pcmpl-git hides
/usr/local/share/emacs/30.0.50/lisp/pcmpl-git
/home/owinebar/.emacs.d/elpa-30/svg-1.1/svg hides
/usr/local/share/emacs/30.0.50/lisp/svg
/home/owinebar/.emacs.d/elpa-30/sqlite-20201227.1822/sqlite hides
/usr/local/share/emacs/30.0.50/lisp/sqlite
/home/owinebar/.emacs.d/elpa-30/transient-20230209.2250/transient
hides /usr/local/share/emacs/30.0.50/lisp/transient
/home/owinebar/.emacs.d/elpa-30/use-package-20230203.2004/use-package-ensure
hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-ensure
/home/owinebar/.emacs.d/elpa-30/use-package-20230203.2004/use-package-diminish
hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-diminish
/home/owinebar/.emacs.d/elpa-30/use-package-20230203.2004/use-package-bind-key
hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-bind-key
/home/owinebar/.emacs.d/elpa-30/use-package-20230203.2004/use-package
hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package
/home/owinebar/.emacs.d/elpa-30/use-package-20230203.2004/use-package-delight
hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-delight
/home/owinebar/.emacs.d/elpa-30/use-package-20230203.2004/use-package-lint
hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-lint
/home/owinebar/.emacs.d/elpa-30/use-package-20230203.2004/use-package-core
hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-core
/home/owinebar/.emacs.d/elpa-30/use-package-20230203.2004/use-package-jump
hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-jump
/home/owinebar/.emacs.d/elpa-30/bind-key-20230203.2004/bind-key hides
/usr/local/share/emacs/30.0.50/lisp/use-package/bind-key
/home/owinebar/.emacs.d/elpa-30/flymake-1.2.2/flymake hides
/usr/local/share/emacs/30.0.50/lisp/progmodes/flymake
/home/owinebar/.emacs.d/elpa-30/python-0.28/python hides
/usr/local/share/emacs/30.0.50/lisp/progmodes/python
/home/owinebar/.emacs.d/elpa-30/xref-1.6.1/xref hides
/usr/local/share/emacs/30.0.50/lisp/progmodes/xref
/home/owinebar/.emacs.d/elpa-30/csharp-mode-20221126.2005/csharp-mode
hides /usr/local/share/emacs/30.0.50/lisp/progmodes/csharp-mode
/home/owinebar/.emacs.d/elpa-30/project-0.9.6/project hides
/usr/local/share/emacs/30.0.50/lisp/progmodes/project
/home/owinebar/.emacs.d/elpa-30/verilog-mode-2022.12.18.181110314/verilog-mode
hides /usr/local/share/emacs/30.0.50/lisp/progmodes/verilog-mode
/home/owinebar/.emacs.d/elpa-30/eglot-20221020.1010/eglot hides
/usr/local/share/emacs/30.0.50/lisp/progmodes/eglot
/home/owinebar/.emacs.d/elpa-30/flim-20230205.1423/sasl hides
/usr/local/share/emacs/30.0.50/lisp/net/sasl
/usr/local/share/emacs/site-lisp/semi/smime hides
/usr/local/share/emacs/30.0.50/lisp/gnus/smime
/home/owinebar/.emacs.d/elpa-30/eldoc-1.13.0/eldoc hides
/usr/local/share/emacs/30.0.50/lisp/emacs-lisp/eldoc
/home/owinebar/.emacs.d/elpa-30/seq-2.23/seq hides
/usr/local/share/emacs/30.0.50/lisp/emacs-lisp/seq
/home/owinebar/.emacs.d/elpa-30/map-3.3.1/map hides
/usr/local/share/emacs/30.0.50/lisp/emacs-lisp/map
/home/owinebar/.emacs.d/elpa-30/hierarchy-20190425.842/hierarchy hides
/usr/local/share/emacs/30.0.50/lisp/emacs-lisp/hierarchy
/usr/local/share/emacs/site-lisp/semi/pgg-pgp hides
/usr/local/share/emacs/30.0.50/lisp/obsolete/pgg-pgp
/usr/local/share/emacs/site-lisp/semi/pgg hides
/usr/local/share/emacs/30.0.50/lisp/obsolete/pgg
/usr/local/share/emacs/site-lisp/semi/pgg-pgp5 hides
/usr/local/share/emacs/30.0.50/lisp/obsolete/pgg-pgp5
/usr/local/share/emacs/site-lisp/semi/pgg-parse hides
/usr/local/share/emacs/30.0.50/lisp/obsolete/pgg-parse
/usr/local/share/emacs/site-lisp/semi/pgg-gpg hides
/usr/local/share/emacs/30.0.50/lisp/obsolete/pgg-gpg
/usr/local/share/emacs/site-lisp/semi/pgg-def hides
/usr/local/share/emacs/30.0.50/lisp/obsolete/pgg-def

Features:
(shadow sort mail-extr emacsbug message yank-media rfc822 mml mml-sec
epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies
mm-encode mailabbrev gmm-utils mailheader sendmail mail-utils mule-util
minibuffer-complete-cycle smex time-date overseer pkg-info url-http
url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr url-gw nsm puny epl package browse-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source password-cache url-vars f f-shortdoc erefactor flymake-proc
flymake warnings font-latex tex dbus ido-completing-read+ memoize
cus-edit cus-start icons minibuf-eldef ido xml crm texmathp
semantic/mru-bookmark semantic/db-mode semantic/decorate/mode
semantic/decorate pulse semantic/idle semantic/analyze semantic/sort
semantic/scope semantic/analyze/fcn semantic/db semantic/format
semantic/tag-ls semantic/find semantic/ctxt company-oddmuse
company-keywords company-etags etags fileloop generator company-gtags
company-dabbrev-code company-dabbrev company-files company-clang
company-capf company-cmake company-semantic company-template
company-bbdb ef-frost-theme ef-themes smart-mode-line-light-theme
vertico-posframe vertico semantic/util-modes semantic/util semantic pp
semantic/tag semantic/lex semantic/fw mode-local find-func mode-icons
emojify apropos tar-mode arc-mode archive-mode json map ht ivy-rich
ivy-posframe easy-mmode origami origami-parsers s hl-line ede/speedbar
ede/files ede ede/detect ede/base ede/source eieio-speedbar speedbar
ezimage dframe eieio-custom wid-edit cedet dash counsel-projectile
projectile lisp-mnt grep ibuf-ext ibuffer ibuffer-loaddefs thingatpt
counsel xdg xref project dired dired-loaddefs compile
text-property-search comint ansi-osc ansi-color swiper cl-extra
help-mode ivy flx delsel ring ivy-faces ivy-overlay colir color
company-tng company-quickhelp pos-tip company-posframe posframe company
pcase subr-x cus-load windmove xfonts rmailgen preview-latex w3m-load
ispell info hl-block-mode-autoloads annotate-autoloads
racket-mode-autoloads auto-yasnippet-autoloads org-ivy-search-autoloads
js-import-autoloads package-build-autoloads vterm-autoloads
substitute-autoloads cargo-mode-autoloads tabspaces-autoloads
rustic-autoloads evil-cleverparens-autoloads chronometrist-autoloads
all-the-icons all-the-icons-faces data-material data-weathericons
data-octicons data-fileicons data-faicons data-alltheicons
bash-completion-autoloads ekg-autoloads triples-autoloads
marginalia-autoloads flymake-sqlfluff-autoloads citar-autoloads
consult-flycheck-autoloads buffer-sets-autoloads consult-lsp-autoloads
org-ref-autoloads all-the-icons-ivy-rich-autoloads flim-autoloads
paperless-autoloads systemd-autoloads cmake-mode-autoloads
diffed-autoloads evil-visual-mark-mode-autoloads
org-roam-bibtex-autoloads consult-org-roam-autoloads
language-id-autoloads ergoemacs-mode-autoloads use-package-autoloads
embark-consult-autoloads rx realgud-lldb-autoloads web-mode-autoloads
call-graph-autoloads pcsv-autoloads org-modern-autoloads tide-autoloads
orderless-autoloads cape-autoloads evil-matchit-autoloads
csv-mode-autoloads modus-themes-autoloads doom-modeline-autoloads
graphviz-dot-mode-autoloads tree-sitter-langs-autoloads helm-autoloads
helm-core-autoloads advice embark-autoloads caml-autoloads
elsa-autoloads hl-prog-extra-autoloads auctex-autoloads tex-site
biblio-autoloads biblio-core-autoloads idle-highlight-mode-autoloads cl
yasnippet-snippets-autoloads websocket-autoloads git-link-autoloads
sml-mode-autoloads async-autoloads ede/auto eieio-base cl-seq eieio
byte-opt bytecomp byte-compile eieio-core cl-macs gv cl-loaddefs cl-lib
bind-key-autoloads consult-eglot-autoloads consult-autoloads
realgud-recursive-autoloads slime-autoloads flycheck-autoloads
cider-autoloads evil-autoloads lsp-mode-autoloads company-autoloads
elpa-mirror-autoloads magit-autoloads magit-section-autoloads
git-commit-autoloads with-editor-autoloads transient-autoloads
compat-autoloads rmc iso-transl tooltip cconv eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type avl-tree-core elisp-mode
mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads xwidget-internal dbusbind
inotify lcms2 dynamic-setting system-font-setting font-render-setting
cairo move-toolbar gtk x-toolkit xinput2 x multi-tty
make-network-process emacs)

Memory information:
((conses 16 346976 23660)
 (symbols 48 35342 0)
 (strings 32 106167 3883)
 (string-bytes 1 3860030)
 (vectors 16 43792)
 (vector-slots 8 724172 17725)
 (floats 8 597 238)
 (intervals 56 490 0)
 (buffers 984 13))

--000000000000b67efc05f554d7d1
Content-Type: text/x-patch; charset="US-ASCII"; name="emacs-custom-startup-redump.patch"
Content-Disposition: attachment; 
	filename="emacs-custom-startup-redump.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_leghlba90>
X-Attachment-Id: f_leghlba90

ZGlmZiAtLWdpdCBhL2xpc3AvY3VzdG9tLmVsIGIvbGlzcC9jdXN0b20uZWwKaW5kZXggZmE3N2U1
YzJjNTYuLjFjZDg2NmUyMzZmIDEwMDY0NAotLS0gYS9saXNwL2N1c3RvbS5lbAorKysgYi9saXNw
L2N1c3RvbS5lbApAQCAtMzQsNyArMzQsMTYgQEAKIDs7OyBDb2RlOgogCiAocmVxdWlyZSAnd2lk
Z2V0KQotCis7OyhyZXF1aXJlICd0cmFuc2l0aXZlLWNsb3N1cmUpCisoZGVjbGFyZS1mdW5jdGlv
biB0Yy1yZXZlcnNlLXJvb3RlZC1ncmFwaAorICAgICAgICAgICAgICAgICAgImVtYWNzLWxpc3Av
dHJhbnNpdGl2ZS1jbG9zdXJlIgorICAgICAgICAgICAgICAgICAgKG5vZGVzIGVkZ2VzICZvcHRp
b25hbCByb290cykpCisoZGVjbGFyZS1mdW5jdGlvbiB0Yy1ncmFwaC1yZWFjaGFibGUKKyAgICAg
ICAgICAgICAgICAgICJlbWFjcy1saXNwL3RyYW5zaXRpdmUtY2xvc3VyZSIKKyAgICAgICAgICAg
ICAgICAgICh0Y2cgJm9wdGlvbmFsIHYpKQorKGRlY2xhcmUtZnVuY3Rpb24gdGMtZ3JhcGgtb3Jk
ZXJpbmcKKyAgICAgICAgICAgICAgICAgICJlbWFjcy1saXNwL3RyYW5zaXRpdmUtY2xvc3VyZSIK
KyAgICAgICAgICAgICAgICAgICh0Y2cpKQogKGRlZnZhciBjdXN0b20tZGVmaW5lLWhvb2sgbmls
CiAgIDs7IEN1c3RvbWl6ZSBpbmZvcm1hdGlvbiBmb3IgdGhpcyBvcHRpb24gaXMgaW4gYGN1cy1l
ZGl0LmVsJy4KICAgIkhvb2sgY2FsbGVkIGFmdGVyIGRlZmluaW5nIGVhY2ggY3VzdG9taXplIG9w
dGlvbi4iKQpAQCAtMTUyLDExICsxNjEsMTIgQEAgY3VzdG9tLWluaXRpYWxpemUtZGVsYXkKICAg
OzsgVGhpcyBzZWVtZWQgdG8gYmUgYXQgbGVhc3QgYXMgZ29vZCBhcyBzZXR0aW5nIGl0IHRvIGFu
IGFyYml0cmFyeQogICA7OyB2YWx1ZSBsaWtlIG5pbCAoZXZhbHVhdGluZyBgdmFsdWUnIGlzIG5v
dCBhbiBvcHRpb24gYmVjYXVzZSBpdAogICA7OyBtYXkgaGF2ZSB1bmRlc2lyYWJsZSBzaWRlLWVm
ZmVjdHMpLgotICAoaWYgKGxpc3RwIGN1c3RvbS1kZWxheWVkLWluaXQtdmFyaWFibGVzKQotICAg
ICAgKHB1c2ggc3ltYm9sIGN1c3RvbS1kZWxheWVkLWluaXQtdmFyaWFibGVzKQotICAgIDs7IElu
IGNhc2UgdGhpcyBpcyBjYWxsZWQgYWZ0ZXIgc3RhcnR1cCwgdGhlcmUgaXMgbm8gImxhdGVyIiB0
byB3aGljaCB0bwotICAgIDs7IGRlbGF5IGl0LCBzbyBpbml0aWFsaXplIGl0ICJub3JtYWxseSIg
KGJ1ZyM0NzA3MikuCi0gICAgKGN1c3RvbS1pbml0aWFsaXplLXJlc2V0IHN5bWJvbCB2YWx1ZSkp
KQorICAocHV0IHN5bWJvbCAnY3VzdG9tLWltcGxpZWQtZGVwZW5kZW5jaWVzIGN1c3RvbS1kZWxh
eWVkLWluaXQtdmFyaWFibGVzKQorICAoaWYgKG5vdCAobGlzdHAgY3VzdG9tLWRlbGF5ZWQtaW5p
dC12YXJpYWJsZXMpKQorICAgICAgOzsgSW4gY2FzZSB0aGlzIGlzIGNhbGxlZCBhZnRlciBzdGFy
dHVwLCB0aGVyZSBpcyBubyAibGF0ZXIiIHRvIHdoaWNoIHRvCisgICAgICA7OyBkZWxheSBpdCwg
c28gaW5pdGlhbGl6ZSBpdCAibm9ybWFsbHkiIChidWcjNDcwNzIpLgorICAgICAgKGN1c3RvbS1p
bml0aWFsaXplLXJlc2V0IHN5bWJvbCB2YWx1ZSkKKyAgICAocHVzaCBzeW1ib2wgY3VzdG9tLWRl
bGF5ZWQtaW5pdC12YXJpYWJsZXMpKSkKIAogKGRlZnVuIGN1c3RvbS1kZWNsYXJlLXZhcmlhYmxl
IChzeW1ib2wgZGVmYXVsdCBkb2MgJnJlc3QgYXJncykKICAgIkxpa2UgYGRlZmN1c3RvbScsIGJ1
dCBTWU1CT0wgYW5kIERFRkFVTFQgYXJlIGV2YWx1YXRlZCBhcyBub3JtYWwgYXJndW1lbnRzLgpA
QCAtODMyLDYgKzg0MiwyMyBAQCBjdXN0b20tcmVldmFsdWF0ZS1zZXR0aW5nCiAJICAgKGV2YWwg
KGNhciAob3IgKGdldCBzeW1ib2wgJ3NhdmVkLXZhbHVlKQogCSAgICAgICAgICAgICAgICAgIChn
ZXQgc3ltYm9sICdzdGFuZGFyZC12YWx1ZSkpKSkpKQogCisoZGVmdW4gY3VzdG9tLXJ1bnRpbWUt
c2V0dGluZyAoc3ltYm9sKQorICAiUmVzZXQgdGhlIHZhbHVlIG9mIFNZTUJPTCBieSByZS1ldmFs
dWF0aW5nIHN0YW5kYXJkIHZhbHVlLgorVXNlIHRoZSA6c2V0IGZ1bmN0aW9uIHRvIGRvIHNvLiAg
VGhpcyBpcyB1c2VmdWwgZm9yIGN1c3RvbWl6YWJsZSBvcHRpb25zCit0aGF0IGFyZSBkZWZpbmVk
IGJlZm9yZSB0aGVpciBzdGFuZGFyZCB2YWx1ZSBjYW4gcmVhbGx5IGJlIGNvbXB1dGVkLgorRS5n
LiBkdW1wZWQgdmFyaWFibGVzIHdob3NlIGRlZmF1bHQgZGVwZW5kcyBvbiBydW4tdGltZSBpbmZv
cm1hdGlvbi4iCisgIDs7IFdlIGFyZSBpbml0aWFsaXppbmcKKyAgOzsgdGhlIHZhcmlhYmxlLCBh
bmQgbm9ybWFsbHkgYW55IDpzZXQgZnVuY3Rpb24gd291bGQgbm90IGFwcGx5LgorICA7OyBGb3Ig
Y3VzdG9tLWluaXRpYWxpemUtZGVsYXksIGhvd2V2ZXIsIGl0IGlzIGRvY3VtZW50ZWQgdGhhdCAi
dGhlCisgIDs7IChkZWxheWVkKSBpbml0aWFsaXphdGlvbiBpcyBwZXJmb3JtZWQgd2l0aCB0aGUg
OnNldCBmdW5jdGlvbiIuCisgIDs7IFRoaXMgaXMgbmVlZGVkIGJ5IGVnIGdsb2JhbC1mb250LWxv
Y2stbW9kZSwgd2hpY2ggdXNlcworICA7OyBjdXN0b20taW5pdGlhbGl6ZS1kZWxheSBidXQgbmVl
ZHMgdGhlIDpzZXQgZnVuY3Rpb24gY3VzdG9tLXNldC1taW5vci1tb2RlCisgIDs7IHRvIGFsc28g
cnVuIGR1cmluZyBpbml0aWFsaXphdGlvbi4gIFNvLCBsb25nIHN0b3J5IHNob3J0LCB3ZQorICA7
OyBhbHdheXMgZG8gdGhlIGZ1bmNhbGwgc3RlcCwgZXZlbiBpZiBzeW1ib2wgd2FzIG5vdCBib3Vu
ZCBiZWZvcmUuCisgIChmdW5jYWxsIChvciAoZ2V0IHN5bWJvbCAnY3VzdG9tLXNldCkgIydzZXQt
ZGVmYXVsdCkKKwkgICBzeW1ib2wKKwkgICAoZXZhbCAoY2FyIChnZXQgc3ltYm9sICdzdGFuZGFy
ZC12YWx1ZSkpKSkpCisKIAwKIDs7OyBDdXN0b20gVGhlbWVzCiAKQEAgLTE3NzYsNiArMTgwMyw1
MSBAQCBjdXN0b20tLWFkZC1jdXN0b20tbG9hZHMKICAgICAgIChwdXNoIGxvYWQgbG9hZHMpKSkK
ICAgKHB1dCBzeW1ib2wgJ2N1c3RvbS1sb2FkcyBsb2FkcykpCiAKKyhkZWZ2YXIgY3VzdG9tLS1y
ZXNldC1hdC1zdGFydHVwLXZhcnMgbmlsKQorKGRlZnZhciBjdXN0b20tLXJlc3RvcmUtYWZ0ZXIt
cmVzZXQtdmFycyBuaWwpCisoZGVmdW4gY3VzdG9tLS1zdGFydHVwLWNhbGN1bGF0ZS1pbml0aWFs
aXphdGlvbnMgKCkKKyAgKHNldHEgY3VzdG9tLS1yZXNldC1hdC1zdGFydHVwLXZhcnMgbmlsKQor
ICAoc2V0cSBjdXN0b20tLXJlc3RvcmUtYWZ0ZXItcmVzZXQtdmFycyBuaWwpCisgICh1bmxlc3Mg
KGxpc3RwIGN1c3RvbS1kZWxheWVkLWluaXQtdmFyaWFibGVzKQorICAgIChsZXQgKHZhcnMgZGVw
cyBzYXZlZCB0Y2cgb3JkZXJpbmcgZXhwbGljaXQtc3RhcnR1cCBzdGFydHVwLXJlYWNoYWJsZSkK
KyAgICAgIChtYXBhdG9tcworICAgICAgIChsYW1iZGEgKHMpICh3aGVuIChnZXQgcyAnY3VzdG9t
LXR5cGUpIChwdXNoIHMgdmFycykpKSkKKyAgICAgIChzZXRxIGV4cGxpY2l0LXN0YXJ0dXAKKyAg
ICAgICAgICAgIChzZXEtZmlsdGVyIChsYW1iZGEgKHYpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIChnZXQgdiAnY3VzdG9tLWltcGxpZWQtZGVwZW5kZW5jaWVzKSkKKyAgICAgICAgICAgICAg
ICAgICAgdmFycykpCisgICAgICAoc2V0cSBkZXBzCisgICAgICAgICAgICAobWFwY2FyIChsYW1i
ZGEgKHYpCisgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKGRzIChnZXQgdiAnY3VzdG9tLWRl
cGVuZGVuY2llcykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGltcCAoZ2V0IHYgJ2N1
c3RvbS1pbXBsaWVkLWRlcGVuZGVuY2llcykpKQorICAgICAgICAgICAgICAgICAgICAgICAgYCgs
diAsQChzZXEtdW5pb24gZHMgaW1wKSkpKQorICAgICAgICAgICAgICAgICAgICB2YXJzKSkKKyAg
ICAgIChzZXRxIHRjZyAodGMtcmV2ZXJzZS1yb290ZWQtZ3JhcGggdmFycyBkZXBzIGV4cGxpY2l0
LXN0YXJ0dXApKQorICAgICAgKHNldHEgc3RhcnR1cC1yZWFjaGFibGUgKHRjLWdyYXBoLXJlYWNo
YWJsZSB0Y2cpKQorICAgICAgKHNldHEgb3JkZXJpbmcgKHRjLWdyYXBoLW9yZGVyaW5nIHRjZykp
CisgICAgICAoc2V0cSBjdXN0b20tLXJlc2V0LWF0LXN0YXJ0dXAtdmFycworICAgICAgICAgICAg
KGFwcGx5ICMnbmNvbmMgKGFwcGVuZCBvcmRlcmluZyBuaWwpKSkKKyAgICAgIChzZXRxIGN1c3Rv
bS0tcmVzdG9yZS1hZnRlci1yZXNldC12YXJzCisgICAgICAgICAgICAoc2VxLWZpbHRlciAobGFt
YmRhICh2KQorICAgICAgICAgICAgICAgICAgICAgICAgICAoYW5kIChnZXQgdiAnc2F2ZWQtdmFs
dWUpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0dXAtcmVhY2hhYmxlKSkpKSkKKwor
KGRlZnVuIGN1c3RvbS1kby1zdGFydHVwLXNldHRpbmdzICgpCisgIChsZXQgKChvcmRlcmluZyBj
dXN0b20tLXJlc2V0LWF0LXN0YXJ0dXAtdmFycykKKyAgICAgICAgKHNhdmVkIGN1c3RvbS0tcmVz
dG9yZS1hZnRlci1yZXNldC12YXJzKQorICAgICAgICB2YXIgc2V0LXZhcikKKyAgICAobWFwYyAo
bGFtYmRhICh2KQorICAgICAgICAgICAgKHdoZW4gKGJvdW5kcCB2KQorICAgICAgICAgICAgICAo
bWFrdW5ib3VuZCB2KSkpCisgICAgICAgICAgY3VzdG9tLS1yZXNldC1hdC1zdGFydHVwLXZhcnMp
CisgICAgKHdoaWxlIG9yZGVyaW5nCisgICAgICAoY3VzdG9tLXJ1bnRpbWUtc2V0dGluZyAocG9w
IG9yZGVyaW5nKSkpCisgICAgKHdoaWxlIHNhdmVkCisgICAgICAoY3VzdG9tLXJlZXZhbHVhdGUt
c2V0dGluZyAocG9wIHNhdmVkKSkpKSkKKworKGFkZC1ob29rICdhZnRlci1wZHVtcC1sb2FkLWhv
b2sKKyAgICAgICAgICAjJ2N1c3RvbS0tc3RhcnR1cC1jYWxjdWxhdGUtaW5pdGlhbGl6YXRpb25z
KQorCiAocHJvdmlkZSAnY3VzdG9tKQogCiA7OzsgY3VzdG9tLmVsIGVuZHMgaGVyZQpkaWZmIC0t
Z2l0IGEvbGlzcC9lbWFjcy1saXNwL2F2bC10cmVlLWNvcmUuZWwgYi9saXNwL2VtYWNzLWxpc3Av
YXZsLXRyZWUtY29yZS5lbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u
OGE4ZDVmMzQ0MjYKLS0tIC9kZXYvbnVsbAorKysgYi9saXNwL2VtYWNzLWxpc3AvYXZsLXRyZWUt
Y29yZS5lbApAQCAtMCwwICsxLDY3NSBAQAorOzs7IGF2bC10cmVlLWNvcmUuZWwgLS0tIGJhbGFu
Y2VkIGJpbmFyeSB0cmVlcywgQVZMLXRyZWVzICAtKi0gbGV4aWNhbC1iaW5kaW5nOnQgLSotCisK
Kzs7IENvcHlyaWdodCAoQykgMTk5NSwgMjAwNy0yMDIzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLgorCis7OyBBdXRob3I6IFBlciBDZWRlcnF2aXN0IDxjZWRlckBseXNhdG9yLmxpdS5z
ZT4KKzs7ICAgICAgICAgSW5nZSBXYWxsaW4gPGluZ2VAbHlzYXRvci5saXUuc2U+Cis7OyAgICAg
ICAgIFRob21hcyBCZWxsbWFuIDxiZWxsbWFuQGx5c2F0b3IubGl1LnNlPgorOzsgICAgICAgICBU
b2J5IEN1Yml0dCA8dG9ieS1wcmVkaWN0aXZlQGRyLXF1Yml0Lm9yZz4KKzs7IE1haW50YWluZXI6
IGVtYWNzLWRldmVsQGdudS5vcmcKKzs7IENyZWF0ZWQ6IDEwIE1heSAxOTkxCis7OyBLZXl3b3Jk
czogZXh0ZW5zaW9ucywgZGF0YSBzdHJ1Y3R1cmVzLCBBVkwsIHRyZWUKKworOzsgVGhpcyBmaWxl
IGlzIHBhcnQgb2YgR05VIEVtYWNzLgorCis7OyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTog
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorOzsgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp
Y2Vuc2UsIG9yCis7OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCis7OyBH
TlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKzs7IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlCis7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorCis7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorOzsgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJ
ZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCis7OzsgQ29tbWVu
dGFyeToKKworOzsgQW4gQVZMIHRyZWUgaXMgYSBzZWxmLWJhbGFuY2luZyBiaW5hcnkgdHJlZS4g
IEFzIHN1Y2gsIGluc2VydGluZywKKzs7IGRlbGV0aW5nLCBhbmQgcmV0cmlldmluZyBkYXRhIGZy
b20gYW4gQVZMIHRyZWUgY29udGFpbmluZyBuIGVsZW1lbnRzCis7OyBpcyBPKGxvZyBuKS4gIEl0
IGlzIHNvbWV3aGF0IG1vcmUgcmlnaWRseSBiYWxhbmNlZCB0aGFuIG90aGVyCis7OyBzZWxmLWJh
bGFuY2luZyBiaW5hcnkgdHJlZXMgKHN1Y2ggYXMgcmVkLWJsYWNrIHRyZWVzIGFuZCBBQSB0cmVl
cyksCis7OyBtYWtpbmcgaW5zZXJ0aW9uIHNsaWdodGx5IHNsb3dlciwgZGVsZXRpb24gc29tZXdo
YXQgc2xvd2VyLCBhbmQKKzs7IHJldHJpZXZhbCBzb21ld2hhdCBmYXN0ZXIgKHRoZSBhc3ltcHRv
dGljIHNjYWxpbmcgaXMgb2YgY291cnNlIHRoZQorOzsgc2FtZSBmb3IgYWxsIHR5cGVzKS4gIFRo
dXMgaXQgbWF5IGJlIGEgZ29vZCBjaG9pY2Ugd2hlbiB0aGUgdHJlZSB3aWxsCis7OyBiZSByZWxh
dGl2ZWx5IHN0YXRpYywgaS5lLiBkYXRhIHdpbGwgYmUgcmV0cmlldmVkIG1vcmUgb2Z0ZW4gdGhh
bgorOzsgdGhleSBhcmUgbW9kaWZpZWQuCis7OworOzsgSW50ZXJuYWxseSwgYSB0cmVlIGNvbnNp
c3RzIG9mIHR3byBlbGVtZW50cywgdGhlIHJvb3Qgbm9kZSBhbmQgdGhlCis7OyBjb21wYXJpc29u
IGZ1bmN0aW9uLiAgVGhlIGFjdHVhbCB0cmVlIGhhcyBhIGR1bW15IG5vZGUgYXMgaXRzIHJvb3QK
Kzs7IHdpdGggdGhlIHJlYWwgcm9vdCBpbiB0aGUgbGVmdCBwb2ludGVyLCB3aGljaCBhbGxvd3Mg
dGhlIHJvb3Qgbm9kZSB0bworOzsgYmUgdHJlYXRlZCBvbiBhIHBhciB3aXRoIGFsbCBvdGhlciBu
b2Rlcy4KKzs7Cis7OyBFYWNoIG5vZGUgb2YgdGhlIHRyZWUgY29uc2lzdHMgb2Ygb25lIGRhdGEg
ZWxlbWVudCwgb25lIGxlZnQKKzs7IHN1Yi10cmVlLCBvbmUgcmlnaHQgc3ViLXRyZWUsIGFuZCBh
IGJhbGFuY2UgY291bnQuICBUaGUgbGF0dGVyIGlzIHRoZQorOzsgZGlmZmVyZW5jZSBpbiBkZXB0
aCBvZiB0aGUgbGVmdCBhbmQgcmlnaHQgc3ViLXRyZWVzLgorOzsKKzs7IFRoZSBmdW5jdGlvbnMg
d2l0aCBuYW1lcyBvZiB0aGUgZm9ybSAiYXZsLXRyZWUtLSIgYXJlIGludGVuZGVkIGZvcgorOzsg
aW50ZXJuYWwgdXNlIG9ubHkuCisKKzs7IGF2bC10cmVlLWNvcmUgb21pdHMgdGhlIGl0ZXJhdG9y
IGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cKKzs7IGluY2x1c2lvbiBpbiBsb2FkdXAuZWwKKzs7CisK
Kzs7OyBDb2RlOgorCisoZXZhbC13aGVuLWNvbXBpbGUgKHJlcXVpcmUgJ2NsLWxpYikpCisoZXZh
bC13aGVuLWNvbXBpbGUgKHJlcXVpcmUgJ2NsLWV4dHJhKSkKKworCis7OyA9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis7Ozsg
SW50ZXJuYWwgZnVuY3Rpb25zIGFuZCBtYWNyb3MgZm9yIHVzZSBpbiB0aGUgQVZMIHRyZWUgcGFj
a2FnZQorCisKKzs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKzs7IEZ1bmN0aW9ucyBhbmQgbWFjcm9zIGhhbmRsaW5nIGFu
IEFWTCB0cmVlLgorCisoY2wtZGVmc3RydWN0IChhdmwtdHJlZS0KKyAgICAgICAgICAgIDs7IEEg
dGFnZ2VkIGxpc3QgaXMgdGhlIHByZS1kZWZzdHJ1Y3QgcmVwcmVzZW50YXRpb24uCisgICAgICAg
ICAgICA7OyAoOnR5cGUgbGlzdCkKKyAgICAgICAgICAgIDpuYW1lZAorICAgICAgICAgICAgKDpj
b25zdHJ1Y3RvciBuaWwpCisgICAgICAgICAgICAoOmNvbnN0cnVjdG9yIGF2bC10cmVlLS1jcmVh
dGUgKGNtcGZ1bikpCisgICAgICAgICAgICAoOnByZWRpY2F0ZSBhdmwtdHJlZS1wKQorICAgICAg
ICAgICAgKDpjb3BpZXIgbmlsKSkKKyAgKGR1bW15cm9vdCAoYXZsLXRyZWUtLW5vZGUtY3JlYXRl
IG5pbCBuaWwgbmlsIDApKQorICBjbXBmdW4pCisKKyhkZWZtYWNybyBhdmwtdHJlZS0tcm9vdCAo
dHJlZSkKKyAgIlJldHVybiB0aGUgcm9vdCBub2RlIGZvciBhbiBBVkwgVFJFRS4gIElOVEVSTkFM
IFVTRSBPTkxZLiIKKyAgYChhdmwtdHJlZS0tbm9kZS1sZWZ0IChhdmwtdHJlZS0tZHVtbXlyb290
ICx0cmVlKSkpCisKKzs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzs7IEZ1bmN0aW9ucyBhbmQgbWFjcm9zIGhhbmRsaW5n
IGFuIEFWTCB0cmVlIG5vZGUuCisKKyhjbC1kZWZzdHJ1Y3QgKGF2bC10cmVlLS1ub2RlCisgICAg
ICAgICAgICA7OyBXZSBmb3JjZSBhIHJlcHJlc2VudGF0aW9uIHdpdGhvdXQgdGFnIHNvIGl0IG1h
dGNoZXMgdGhlCisgICAgICAgICAgICA7OyBwcmUtZGVmc3RydWN0IHJlcHJlc2VudGF0aW9uLiBB
bHNvIHdlIHVzZSB0aGUgdW5kZXJseWluZworICAgICAgICAgICAgOzsgcmVwcmVzZW50YXRpb24g
aW4gdGhlIGltcGxlbWVudGF0aW9uIG9mCisgICAgICAgICAgICA7OyBhdmwtdHJlZS0tbm9kZS1i
cmFuY2guCisgICAgICAgICAgICAoOnR5cGUgdmVjdG9yKQorICAgICAgICAgICAgKDpjb25zdHJ1
Y3RvciBuaWwpCisgICAgICAgICAgICAoOmNvbnN0cnVjdG9yIGF2bC10cmVlLS1ub2RlLWNyZWF0
ZSAobGVmdCByaWdodCBkYXRhIGJhbGFuY2UpKQorICAgICAgICAgICAgKDpjb3BpZXIgbmlsKSkK
KyAgbGVmdCByaWdodCBkYXRhIGJhbGFuY2UpCisKKworKGRlZmFsaWFzICdhdmwtdHJlZS0tbm9k
ZS1icmFuY2ggIydhcmVmCisgIDs7IFRoaXMgaW1wbGVtZW50YXRpb24gaXMgZWZmaWNpZW50IGJ1
dCBicmVha3MgdGhlIGRlZnN0cnVjdAorICA7OyBhYnN0cmFjdGlvbi4gIEFuIGFsdGVybmF0aXZl
IGNvdWxkIGJlIChmdW5jYWxsIChhcmVmIFthdmwtdHJlZS1sZWZ0CisgIDs7IGF2bC10cmVlLXJp
Z2h0IGF2bC10cmVlLWRhdGFdIGJyYW5jaCkgbm9kZSkKKyAgIkdldCB2YWx1ZSBvZiBhIGJyYW5j
aCBvZiBhIG5vZGUuCitOT0RFIGlzIHRoZSBub2RlLCBhbmQgQlJBTkNIIGlzIHRoZSBicmFuY2gu
CiswIGZvciBsZWZ0IHBvaW50ZXIsIDEgZm9yIHJpZ2h0IHBvaW50ZXIgYW5kIDIgZm9yIHRoZSBk
YXRhLgorXG4oZm4gQlJBTkNIIE5PREUpIikKKworCis7OyBUaGUgZnVuY2FsbC9hcmVmIHRyaWNr
IHdvdWxkbid0IHdvcmsgZm9yIHRoZSBzZXRmIG1ldGhvZCwgdW5sZXNzIHdlCis7OyB0cmllZCB0
byBhY2Nlc3MgdGhlIHVuZGVybHlpbmcgc2V0dGVyIGZ1bmN0aW9uLCBidXQgdGhpcyB3b3VsZG4n
dCBiZQorOzsgcG9ydGFibGUgZWl0aGVyLgorKGd2LWRlZmluZS1zaW1wbGUtc2V0dGVyIGF2bC10
cmVlLS1ub2RlLWJyYW5jaCBhc2V0KQorCisKKworOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOzsgQ29udmVuaWVuY2Ug
bWFjcm9zCisKKyhkZWZtYWNybyBhdmwtdHJlZS0tc3dpdGNoLWRpciAoZGlyKQorICAiUmV0dXJu
IG9wcG9zaXRlIGRpcmVjdGlvbiB0byBESVIgKDAgPSBsZWZ0LCAxID0gcmlnaHQpLiIKKyAgYCgt
IDEgLGRpcikpCisKKyhkZWZtYWNybyBhdmwtdHJlZS0tZGlyLXRvLXNpZ24gKGRpcikKKyAgIkNv
bnZlcnQgZGlyZWN0aW9uIERJUiAoMCwxKSB0byBzaWduIGZhY3RvciAoLTEsKzEpLiIKKyAgYCgx
LSAoKiAyICxkaXIpKSkKKworKGRlZm1hY3JvIGF2bC10cmVlLS1zaWduLXRvLWRpciAoZGlyKQor
ICAiQ29udmVydCBzaWduIGZhY3RvciBpbiBESVIgKC14LCt4KSB0byBkaXJlY3Rpb24gKDAsMSku
IgorICBgKGlmICg8ICxkaXIgMCkgMCAxKSkKKworCis7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7OyAgICAgICAgICAg
ICAgICAgICAgICAgICAgRGVsZXRpbmcgZGF0YQorCisoZGVmdW4gYXZsLXRyZWUtLWRlbC1iYWxh
bmNlIChub2RlIGJyYW5jaCBkaXIpCisgICJSZWJhbGFuY2UgYSB0cmVlIGFmdGVyIGRlbGV0aW5n
IGEgTk9ERS4KK1RoZSBkZWxldGlvbiB3YXMgZG9uZSBmcm9tIHRoZSBsZWZ0IChESVI9MCkgb3Ig
cmlnaHQgKERJUj0xKSBzdWItdHJlZQorb2YgdGhlIGxlZnQgKEJSQU5DSD0wKSBvciByaWdodCAo
QlJBTkNIPTEpIGNoaWxkIG9mIE5PREUuCitSZXR1cm4gdCBpZiB0aGUgaGVpZ2h0IG9mIHRoZSB0
cmVlIGhhcyBzaHJ1bmsuIgorICA7OyAob3IgaXMgaXQgdmljZS12ZXJzYSBmb3IgQlJBTkNIPykK
KyAgKGxldCAoKGJyIChhdmwtdHJlZS0tbm9kZS1icmFuY2ggbm9kZSBicmFuY2gpKQorCTs7IG9w
cG9zaXRlIGRpcmVjdGlvbjogMCwxIC0+IDEsMAorCShvcHAgKGF2bC10cmVlLS1zd2l0Y2gtZGly
IGRpcikpCisJOzsgZGlyZWN0aW9uIDAsMSAtPiBzaWduIGZhY3RvciAtMSwrMQorCShzZ24gKGF2
bC10cmVlLS1kaXItdG8tc2lnbiBkaXIpKQorICAgICAgICBwMSBiMSBwMiBiMikKKyAgICAoY29u
ZAorICAgICAoKD4gKCogc2duIChhdmwtdHJlZS0tbm9kZS1iYWxhbmNlIGJyKSkgMCkKKyAgICAg
IChzZXRmIChhdmwtdHJlZS0tbm9kZS1iYWxhbmNlIGJyKSAwKQorICAgICAgdCkKKworICAgICAo
KD0gKGF2bC10cmVlLS1ub2RlLWJhbGFuY2UgYnIpIDApCisgICAgICAoc2V0ZiAoYXZsLXRyZWUt
LW5vZGUtYmFsYW5jZSBicikgKC0gc2duKSkKKyAgICAgIG5pbCkKKworICAgICAodAorICAgICAg
OzsgUmViYWxhbmNlLgorICAgICAgKHNldHEgcDEgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBiciBv
cHApCisgICAgICAgICAgICBiMSAoYXZsLXRyZWUtLW5vZGUtYmFsYW5jZSBwMSkpCisgICAgICAo
aWYgKDw9ICgqIHNnbiBiMSkgMCkKKyAgICAgICAgICA7OyBTaW5nbGUgcm90YXRpb24uCisgICAg
ICAgICAgKHByb2duCisgICAgICAgICAgICAoc2V0ZiAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIGJy
IG9wcCkKKwkJICAgIChhdmwtdHJlZS0tbm9kZS1icmFuY2ggcDEgZGlyKQorCQkgIChhdmwtdHJl
ZS0tbm9kZS1icmFuY2ggcDEgZGlyKSBicgorCQkgIChhdmwtdHJlZS0tbm9kZS1icmFuY2ggbm9k
ZSBicmFuY2gpIHAxKQorICAgICAgICAgICAgKGlmICg9IDAgYjEpCisgICAgICAgICAgICAgICAg
KHByb2duCisgICAgICAgICAgICAgICAgICAoc2V0ZiAoYXZsLXRyZWUtLW5vZGUtYmFsYW5jZSBi
cikgKC0gc2duKQorCQkJKGF2bC10cmVlLS1ub2RlLWJhbGFuY2UgcDEpIHNnbikKKyAgICAgICAg
ICAgICAgICAgIG5pbCkgIDsgaGVpZ2h0IGhhc24ndCBjaGFuZ2VkCisgICAgICAgICAgICAgIChz
ZXRmIChhdmwtdHJlZS0tbm9kZS1iYWxhbmNlIGJyKSAwKQorICAgICAgICAgICAgICAoc2V0ZiAo
YXZsLXRyZWUtLW5vZGUtYmFsYW5jZSBwMSkgMCkKKyAgICAgICAgICAgICAgdCkpICA7IGhlaWdo
dCBoYXMgY2hhbmdlZAorCisgICAgICAgIDs7IERvdWJsZSByb3RhdGlvbi4KKyAgICAgICAgKHNl
dGYgcDIgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBwMSBkaXIpCisgICAgICAgICAgICAgIGIyIChh
dmwtdHJlZS0tbm9kZS1iYWxhbmNlIHAyKQorCSAgICAgIChhdmwtdHJlZS0tbm9kZS1icmFuY2gg
cDEgZGlyKQorCSAgICAgICAgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBwMiBvcHApCisJICAgICAg
KGF2bC10cmVlLS1ub2RlLWJyYW5jaCBwMiBvcHApIHAxCisJICAgICAgKGF2bC10cmVlLS1ub2Rl
LWJyYW5jaCBiciBvcHApCisJICAgICAgICAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIHAyIGRpcikK
KwkgICAgICAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIHAyIGRpcikgYnIKKwkgICAgICAoYXZsLXRy
ZWUtLW5vZGUtYmFsYW5jZSBicikKKwkgICAgICAgIChpZiAoPCAoKiBzZ24gYjIpIDApIHNnbiAw
KQorCSAgICAgIChhdmwtdHJlZS0tbm9kZS1iYWxhbmNlIHAxKQorCSAgICAgICAgKGlmICg+ICgq
IHNnbiBiMikgMCkgKC0gc2duKSAwKQorCSAgICAgIChhdmwtdHJlZS0tbm9kZS1icmFuY2ggbm9k
ZSBicmFuY2gpIHAyCisJICAgICAgKGF2bC10cmVlLS1ub2RlLWJhbGFuY2UgcDIpIDApCisgICAg
ICAgIHQpKSkpKQorCisoZGVmdW4gYXZsLXRyZWUtLWRvLWRlbC1pbnRlcm5hbCAobm9kZSBicmFu
Y2ggcSkKKyAgKGxldCAoKGJyIChhdmwtdHJlZS0tbm9kZS1icmFuY2ggbm9kZSBicmFuY2gpKSkK
KyAgICAoaWYgKGF2bC10cmVlLS1ub2RlLXJpZ2h0IGJyKQorICAgICAgICAoaWYgKGF2bC10cmVl
LS1kby1kZWwtaW50ZXJuYWwgYnIgMSBxKQorICAgICAgICAgICAgKGF2bC10cmVlLS1kZWwtYmFs
YW5jZSBub2RlIGJyYW5jaCAxKSkKKyAgICAgIChzZXRmIChhdmwtdHJlZS0tbm9kZS1kYXRhIHEp
IChhdmwtdHJlZS0tbm9kZS1kYXRhIGJyKQorCSAgICAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIG5v
ZGUgYnJhbmNoKQorICAgICAgICAgICAgICAoYXZsLXRyZWUtLW5vZGUtbGVmdCBicikpCisgICAg
ICB0KSkpCisKKyhkZWZ1biBhdmwtdHJlZS0tZG8tZGVsZXRlIChjbXBmdW4gcm9vdCBicmFuY2gg
ZGF0YSB0ZXN0IG5pbGZsYWcpCisgICJEZWxldGUgREFUQSBmcm9tIEJSQU5DSCBvZiBub2RlIFJP
T1QuCitcKFNlZSBgYXZsLXRyZWUtZGVsZXRlJyBmb3IgVEVTVCBhbmQgTklMRkxBRykuCisKK1Jl
dHVybiBjb25zIGNlbGwgKFNIUlVOSyAuIERBVEEpLCB3aGVyZSBTSFJVTksgaXMgdCBpZiB0aGUK
K2hlaWdodCBvZiB0aGUgdHJlZSBoYXMgc2hydW5rIGFuZCBuaWwgb3RoZXJ3aXNlLCBhbmQgREFU
QSBpcwordGhlIHJlbGF0ZWQgZGF0YS4iCisgIChsZXQgKChiciAoYXZsLXRyZWUtLW5vZGUtYnJh
bmNoIHJvb3QgYnJhbmNoKSkpCisgICAgKGNvbmQKKyAgICAgOzsgREFUQSBub3QgaW4gdHJlZS4K
KyAgICAgKChudWxsIGJyKQorICAgICAgKGNvbnMgbmlsIG5pbGZsYWcpKQorCisgICAgICgoZnVu
Y2FsbCBjbXBmdW4gZGF0YSAoYXZsLXRyZWUtLW5vZGUtZGF0YSBicikpCisgICAgICAobGV0ICgo
cmV0IChhdmwtdHJlZS0tZG8tZGVsZXRlIGNtcGZ1biBiciAwIGRhdGEgdGVzdCBuaWxmbGFnKSkp
CisJKGNvbnMgKGlmIChjYXIgcmV0KSAoYXZsLXRyZWUtLWRlbC1iYWxhbmNlIHJvb3QgYnJhbmNo
IDApKQorCSAgICAgIChjZHIgcmV0KSkpKQorCisgICAgICgoZnVuY2FsbCBjbXBmdW4gKGF2bC10
cmVlLS1ub2RlLWRhdGEgYnIpIGRhdGEpCisgICAgICAobGV0ICgocmV0IChhdmwtdHJlZS0tZG8t
ZGVsZXRlIGNtcGZ1biBiciAxIGRhdGEgdGVzdCBuaWxmbGFnKSkpCisJKGNvbnMgKGlmIChjYXIg
cmV0KSAoYXZsLXRyZWUtLWRlbC1iYWxhbmNlIHJvb3QgYnJhbmNoIDEpKQorCSAgICAgIChjZHIg
cmV0KSkpKQorCisgICAgICh0ICA7IEZvdW5kIGl0LgorICAgICAgOzsgaWYgaXQgZmFpbHMgVEVT
VCwgZG8gbm90aGluZworICAgICAgKGlmIChhbmQgdGVzdCAobm90IChmdW5jYWxsIHRlc3QgKGF2
bC10cmVlLS1ub2RlLWRhdGEgYnIpKSkpCisJICAoY29ucyBuaWwgbmlsZmxhZykKKwkoY29uZAor
CSAoKG51bGwgKGF2bC10cmVlLS1ub2RlLXJpZ2h0IGJyKSkKKwkgIChzZXRmIChhdmwtdHJlZS0t
bm9kZS1icmFuY2ggcm9vdCBicmFuY2gpCisJCShhdmwtdHJlZS0tbm9kZS1sZWZ0IGJyKSkKKwkg
IChjb25zIHQgKGF2bC10cmVlLS1ub2RlLWRhdGEgYnIpKSkKKworCSAoKG51bGwgKGF2bC10cmVl
LS1ub2RlLWxlZnQgYnIpKQorCSAgKHNldGYgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCByb290IGJy
YW5jaCkKKwkJKGF2bC10cmVlLS1ub2RlLXJpZ2h0IGJyKSkKKwkgIChjb25zIHQgKGF2bC10cmVl
LS1ub2RlLWRhdGEgYnIpKSkKKworCSAodAorCSAgKGlmIChhdmwtdHJlZS0tZG8tZGVsLWludGVy
bmFsIGJyIDAgYnIpCisJICAgICAgKGNvbnMgKGF2bC10cmVlLS1kZWwtYmFsYW5jZSByb290IGJy
YW5jaCAwKQorCQkgICAgKGF2bC10cmVlLS1ub2RlLWRhdGEgYnIpKQorCSAgICAoY29ucyBuaWwg
KGF2bC10cmVlLS1ub2RlLWRhdGEgYnIpKSkpCisJICkpKSkpKQorCisKKworOzsgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
OzsgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRlcmluZyBkYXRhCisKKyhkZWZ1biBhdmwt
dHJlZS0tZW50ZXItYmFsYW5jZSAobm9kZSBicmFuY2ggZGlyKQorICAiUmViYWxhbmNlIHRyZWUg
YWZ0ZXIgaW5zZXJ0aW9uIG9mIE5PREUuCitOT0RFIHdhcyBpbnNlcnRlZCBpbnRvIHRoZSBsZWZ0
IChESVI9MCkgb3IgcmlnaHQgKERJUj0xKSBzdWItdHJlZQorb2YgdGhlIGxlZnQgKEJSQU5DSD0w
KSBvciByaWdodCAoQlJBTkNIPTEpIGNoaWxkIG9mIE5PREUuCitSZXR1cm4gdCBpZiB0aGUgaGVp
Z2h0IG9mIHRoZSB0cmVlIGhhcyBncm93bi4iCisgIChsZXQgKChiciAoYXZsLXRyZWUtLW5vZGUt
YnJhbmNoIG5vZGUgYnJhbmNoKSkKKwk7OyBvcHBvc2l0ZSBkaXJlY3Rpb246IDAsMSAtPiAxLDAK
Kwkob3BwIChhdmwtdHJlZS0tc3dpdGNoLWRpciBkaXIpKQorCTs7IGRpcmVjdGlvbiAwLDEgLT4g
c2lnbiBmYWN0b3IgLTEsKzEKKwkoc2duIChhdmwtdHJlZS0tZGlyLXRvLXNpZ24gZGlyKSkKKyAg
ICAgICAgcDEgcDIgYjIpCisgICAgKGNvbmQKKyAgICAgKCg8ICgqIHNnbiAoYXZsLXRyZWUtLW5v
ZGUtYmFsYW5jZSBicikpIDApCisgICAgICAoc2V0ZiAoYXZsLXRyZWUtLW5vZGUtYmFsYW5jZSBi
cikgMCkKKyAgICAgIG5pbCkKKworICAgICAoKD0gKGF2bC10cmVlLS1ub2RlLWJhbGFuY2UgYnIp
IDApCisgICAgICAoc2V0ZiAoYXZsLXRyZWUtLW5vZGUtYmFsYW5jZSBicikgc2duKQorICAgICAg
dCkKKworICAgICAodAorICAgICAgOzsgVHJlZSBoYXMgZ3Jvd24gPT4gUmViYWxhbmNlLgorICAg
ICAgKHNldHEgcDEgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBiciBkaXIpKQorICAgICAgKGlmICg+
ICgqIHNnbiAoYXZsLXRyZWUtLW5vZGUtYmFsYW5jZSBwMSkpIDApCisgICAgICAgICAgOzsgU2lu
Z2xlIHJvdGF0aW9uLgorICAgICAgICAgIChwcm9nbgorICAgICAgICAgICAgKHNldGYgKGF2bC10
cmVlLS1ub2RlLWJyYW5jaCBiciBkaXIpCisJCSAgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBwMSBv
cHApKQorICAgICAgICAgICAgKHNldGYgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBwMSBvcHApIGJy
KQorICAgICAgICAgICAgKHNldGYgKGF2bC10cmVlLS1ub2RlLWJhbGFuY2UgYnIpIDApCisgICAg
ICAgICAgICAoc2V0ZiAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIG5vZGUgYnJhbmNoKSBwMSkpCisK
KyAgICAgICAgOzsgRG91YmxlIHJvdGF0aW9uLgorICAgICAgICAoc2V0ZiBwMiAoYXZsLXRyZWUt
LW5vZGUtYnJhbmNoIHAxIG9wcCkKKwkgICAgICBiMiAoYXZsLXRyZWUtLW5vZGUtYmFsYW5jZSBw
MikKKwkgICAgICAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIHAxIG9wcCkKKwkgICAgICAgIChhdmwt
dHJlZS0tbm9kZS1icmFuY2ggcDIgZGlyKQorCSAgICAgIChhdmwtdHJlZS0tbm9kZS1icmFuY2gg
cDIgZGlyKSBwMQorCSAgICAgIChhdmwtdHJlZS0tbm9kZS1icmFuY2ggYnIgZGlyKQorCSAgICAg
ICAgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBwMiBvcHApCisJICAgICAgKGF2bC10cmVlLS1ub2Rl
LWJyYW5jaCBwMiBvcHApIGJyCisJICAgICAgKGF2bC10cmVlLS1ub2RlLWJhbGFuY2UgYnIpCisJ
ICAgICAgICAoaWYgKD4gKCogc2duIGIyKSAwKSAoLSBzZ24pIDApCisJICAgICAgKGF2bC10cmVl
LS1ub2RlLWJhbGFuY2UgcDEpCisJICAgICAgICAoaWYgKDwgKCogc2duIGIyKSAwKSBzZ24gMCkK
KyAgICAgICAgICAgICAgICAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIG5vZGUgYnJhbmNoKSBwMikp
CisgICAgICAoc2V0ZiAoYXZsLXRyZWUtLW5vZGUtYmFsYW5jZQorICAgICAgICAgICAgIChhdmwt
dHJlZS0tbm9kZS1icmFuY2ggbm9kZSBicmFuY2gpKQorICAgICAgICAgICAgMCkKKyAgICAgIG5p
bCkpKSkKKworKGRlZnVuIGF2bC10cmVlLS1kby1lbnRlciAoY21wZnVuIHJvb3QgYnJhbmNoIGRh
dGEgJm9wdGlvbmFsIHVwZGF0ZWZ1bikKKyAgIkVudGVyIERBVEEgaW4gQlJBTkNIIG9mIFJPT1Qg
bm9kZS4KK1woU2VlIGBhdmwtdHJlZS1lbnRlcicgZm9yIFVQREFURUZVTikuCisKK1JldHVybiBj
b25zIGNlbGwgKEdSRVcgLiBEQVRBKSwgd2hlcmUgR1JFVyBpcyB0IGlmIGhlaWdodAorb2YgdHJl
ZSBST09UIGhhcyBncm93biBhbmQgbmlsIG90aGVyd2lzZSwgYW5kIERBVEEgaXMgdGhlCitpbnNl
cnRlZCBkYXRhLiIKKyAgKGxldCAoKGJyIChhdmwtdHJlZS0tbm9kZS1icmFuY2ggcm9vdCBicmFu
Y2gpKSkKKyAgICAoY29uZAorICAgICAoKG51bGwgYnIpCisgICAgICA7OyBEYXRhIG5vdCBpbiB0
cmVlLCBpbnNlcnQgaXQuCisgICAgICAoc2V0ZiAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIHJvb3Qg
YnJhbmNoKQorICAgICAgICAgICAgKGF2bC10cmVlLS1ub2RlLWNyZWF0ZSBuaWwgbmlsIGRhdGEg
MCkpCisgICAgICAoY29ucyB0IGRhdGEpKQorCisgICAgICgoZnVuY2FsbCBjbXBmdW4gZGF0YSAo
YXZsLXRyZWUtLW5vZGUtZGF0YSBicikpCisgICAgICAobGV0ICgocmV0IChhdmwtdHJlZS0tZG8t
ZW50ZXIgY21wZnVuIGJyIDAgZGF0YSB1cGRhdGVmdW4pKSkKKwkoY29ucyAoYW5kIChjYXIgcmV0
KSAoYXZsLXRyZWUtLWVudGVyLWJhbGFuY2Ugcm9vdCBicmFuY2ggMCkpCisJICAgICAgKGNkciBy
ZXQpKSkpCisKKyAgICAgKChmdW5jYWxsIGNtcGZ1biAoYXZsLXRyZWUtLW5vZGUtZGF0YSBicikg
ZGF0YSkKKyAgICAgIChsZXQgKChyZXQgKGF2bC10cmVlLS1kby1lbnRlciBjbXBmdW4gYnIgMSBk
YXRhIHVwZGF0ZWZ1bikpKQorCShjb25zIChhbmQgKGNhciByZXQpIChhdmwtdHJlZS0tZW50ZXIt
YmFsYW5jZSByb290IGJyYW5jaCAxKSkKKwkgICAgICAoY2RyIHJldCkpKSkKKworICAgICA7OyBE
YXRhIGFscmVhZHkgaW4gdHJlZSwgdXBkYXRlIGl0LgorICAgICAodAorICAgICAgKGxldCAoKG5l
d2RhdGEKKwkgICAgIChpZiB1cGRhdGVmdW4KKwkJIChmdW5jYWxsIHVwZGF0ZWZ1biBkYXRhIChh
dmwtdHJlZS0tbm9kZS1kYXRhIGJyKSkKKwkgICAgICAgZGF0YSkpKQorCShpZiAob3IgKGZ1bmNh
bGwgY21wZnVuIG5ld2RhdGEgZGF0YSkKKwkJKGZ1bmNhbGwgY21wZnVuIGRhdGEgbmV3ZGF0YSkp
CisgICAgICAgICAgICAoZXJyb3IgImF2bC10cmVlLWVudGVyOiBVcGRhdGVkIGRhdGEgZG9lcyBu
b3QgbWF0Y2ggZXhpc3RpbmcgZGF0YSIpKQorCShzZXRmIChhdmwtdHJlZS0tbm9kZS1kYXRhIGJy
KSBuZXdkYXRhKQorCShjb25zIG5pbCBuZXdkYXRhKSkgIDsgcmV0dXJuIHZhbHVlCisgICAgICAp
KSkpCisKKyhkZWZ1biBhdmwtdHJlZS0tY2hlY2sgKHRyZWUpCisgICJDaGVjayB0aGUgYmFsYW5j
ZSBvZiBUUkVFLiIKKyAgKGF2bC10cmVlLS1jaGVjay1ub2RlIChhdmwtdHJlZS0tcm9vdCB0cmVl
KSkpCisoZGVmdW4gYXZsLXRyZWUtLWNoZWNrLW5vZGUgKG5vZGUpCisgIChpZiAobnVsbCBub2Rl
KSAwCisgICAgKGxldCAoKGRsIChhdmwtdHJlZS0tY2hlY2stbm9kZSAoYXZsLXRyZWUtLW5vZGUt
bGVmdCBub2RlKSkpCisJICAoZHIgKGF2bC10cmVlLS1jaGVjay1ub2RlIChhdmwtdHJlZS0tbm9k
ZS1yaWdodCBub2RlKSkpKQorICAgICAgKGNsLWFzc2VydCAoPSAoLSBkciBkbCkgKGF2bC10cmVl
LS1ub2RlLWJhbGFuY2Ugbm9kZSkpKQorICAgICAgKDErIChtYXggZGwgZHIpKSkpKQorCis7OyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCisKKworOzs7IElOVEVSTkFMIFVTRSBPTkxZCisoZGVmdW4gYXZsLXRyZWUtLW1hcGMg
KG1hcC1mdW5jdGlvbiByb290IGRpcikKKyAgIkFwcGx5IE1BUC1GVU5DVElPTiB0byBhbGwgbm9k
ZXMgaW4gdGhlIHRyZWUgc3RhcnRpbmcgd2l0aCBST09ULgorVGhlIGZ1bmN0aW9uIGlzIGFwcGxp
ZWQgaW4tb3JkZXIsIGVpdGhlciBhc2NlbmRpbmcgKERJUj0wKSBvcgorZGVzY2VuZGluZyAoRElS
PTEpLgorCitOb3RlOiBNQVAtRlVOQ1RJT04gaXMgYXBwbGllZCB0byB0aGUgbm9kZSBhbmQgbm90
IHRvIHRoZSBkYXRhCitpdHNlbGYuIgorICAobGV0ICgobm9kZSByb290KQorICAgICAgICAoc3Rh
Y2sgbmlsKQorICAgICAgICAoZ28tZGlyIHQpKQorICAgIChwdXNoIG5pbCBzdGFjaykKKyAgICAo
d2hpbGUgbm9kZQorICAgICAgKGlmIChhbmQgZ28tZGlyCisgICAgICAgICAgICAgICAoYXZsLXRy
ZWUtLW5vZGUtYnJhbmNoIG5vZGUgZGlyKSkKKyAgICAgICAgICA7OyBEbyB0aGUgRElSIHN1YnRy
ZWUgZmlyc3QuCisgICAgICAgICAgKHByb2duCisgICAgICAgICAgICAocHVzaCBub2RlIHN0YWNr
KQorICAgICAgICAgICAgKHNldHEgbm9kZSAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIG5vZGUgZGly
KSkpCisgICAgICAgIDs7IEFwcGx5IHRoZSBmdW5jdGlvbi4uLgorICAgICAgICAoZnVuY2FsbCBt
YXAtZnVuY3Rpb24gbm9kZSkKKyAgICAgICAgOzsgYW5kIGRvIHRoZSBvcHBvc2l0ZSBzdWJ0cmVl
LgorICAgICAgICAoc2V0cSBub2RlIChpZiAoc2V0cSBnby1kaXIgKGF2bC10cmVlLS1ub2RlLWJy
YW5jaAorCQkJCSAgICAgbm9kZSAoYXZsLXRyZWUtLXN3aXRjaC1kaXIgZGlyKSkpCisgICAgICAg
ICAgICAgICAgICAgICAgIChhdmwtdHJlZS0tbm9kZS1icmFuY2gKKwkJCW5vZGUgKGF2bC10cmVl
LS1zd2l0Y2gtZGlyIGRpcikpCisgICAgICAgICAgICAgICAgICAgICAocG9wIHN0YWNrKSkpKSkp
KQorCis7OzsgSU5URVJOQUwgVVNFIE9OTFkKKyhkZWZ1biBhdmwtdHJlZS0tZG8tY29weSAocm9v
dCkKKyAgIkNvcHkgdGhlIEFWTCB0cmVlIHdpYXRoIFJPT1QgYXMgcm9vdC4KK1RoaXMgZnVuY3Rp
b24gaXMgaGlnaGx5IHJlY3Vyc2l2ZS4iCisgIChpZiAobnVsbCByb290KQorICAgICAgbmlsCisg
ICAgKGF2bC10cmVlLS1ub2RlLWNyZWF0ZQorICAgICAoYXZsLXRyZWUtLWRvLWNvcHkgKGF2bC10
cmVlLS1ub2RlLWxlZnQgcm9vdCkpCisgICAgIChhdmwtdHJlZS0tZG8tY29weSAoYXZsLXRyZWUt
LW5vZGUtcmlnaHQgcm9vdCkpCisgICAgIChhdmwtdHJlZS0tbm9kZS1kYXRhIHJvb3QpCisgICAg
IChhdmwtdHJlZS0tbm9kZS1iYWxhbmNlIHJvb3QpKSkpCisKKyhjbC1kZWZzdHJ1Y3QgKGF2bC10
cmVlLS1zdGFjaworCSAgICAoOmNvbnN0cnVjdG9yIG5pbCkKKwkgICAgKDpjb25zdHJ1Y3RvciBh
dmwtdHJlZS0tc3RhY2stY3JlYXRlCisJCQkgICh0cmVlICZvcHRpb25hbCByZXZlcnNlCisJCQkJ
JmF1eAorCQkJCShzdG9yZQorCQkJCSAoaWYgKGF2bC10cmVlLWVtcHR5IHRyZWUpCisJCQkJICAg
ICBuaWwKKwkJCQkgICAobGlzdCAoYXZsLXRyZWUtLXJvb3QgdHJlZSkpKSkpKQorCSAgICAoOmNv
cGllciBuaWwpKQorICByZXZlcnNlIHN0b3JlKQorCisoZGVmYWxpYXMgJ2F2bC10cmVlLXN0YWNr
LXAgIydhdmwtdHJlZS0tc3RhY2stcAorICAiUmV0dXJuIHQgaWYgT0JKIGlzIGFuIGF2bC10cmVl
LXN0YWNrLCBuaWwgb3RoZXJ3aXNlLgorXG4oZm4gT0JKKSIpCisKKyhkZWZ1biBhdmwtdHJlZS0t
c3RhY2stcmVwb3B1bGF0ZSAoc3RhY2spCisgICJSZWN1cnNpdmVseSBwdXNoIGNoaWxkcmVuIG9m
IFNUQUNLIG9udG8gdGhlIGZyb250LgorVGhpcyBwdXNoZXMgdGhlIGNoaWxkcmVuIG9mIHRoZSBu
b2RlIGF0IHRoZSBoZWFkIG9mIFNUQUNLIG9udG8KK3RoZSBmcm9udCBvZiBTVEFDSywgdW50aWwg
YSBsZWFmIG5vZGUgaXMgcmVhY2hlZC4iCisgIChsZXQgKChub2RlIChjYXIgKGF2bC10cmVlLS1z
dGFjay1zdG9yZSBzdGFjaykpKQorCShkaXIgKGlmIChhdmwtdHJlZS0tc3RhY2stcmV2ZXJzZSBz
dGFjaykgMSAwKSkpCisgICAgKHdoZW4gbm9kZSAgOyBjaGVjayBmb3IgZW1wdHkgc3RhY2sKKyAg
ICAgICh3aGlsZSAoc2V0cSBub2RlIChhdmwtdHJlZS0tbm9kZS1icmFuY2ggbm9kZSBkaXIpKQor
CShwdXNoIG5vZGUgKGF2bC10cmVlLS1zdGFjay1zdG9yZSBzdGFjaykpKSkpKQorCisKKzs7ID09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KKzs7OyBUaGUgcHVibGljIGZ1bmN0aW9ucyB3aGljaCBvcGVyYXRlIG9uIEFWTCB0cmVl
cy4KKworOzsgZGVmaW5lIHB1YmxpYyBhbGlhcyBmb3IgY29uc3RydWN0b3JzIHNvIHRoYXQgd2Ug
Y2FuIHNldCBkb2NzdHJpbmcKKyhkZWZhbGlhcyAnYXZsLXRyZWUtY3JlYXRlICMnYXZsLXRyZWUt
LWNyZWF0ZQorICAiQ3JlYXRlIGFuIGVtcHR5IEFWTCB0cmVlLgorQ09NUEFSRS1GVU5DVElPTiBp
cyBhIGZ1bmN0aW9uIHdoaWNoIHRha2VzIHR3byBhcmd1bWVudHMsIEEgYW5kIEIsCithbmQgcmV0
dXJucyBub24tbmlsIGlmIEEgaXMgbGVzcyB0aGFuIEIsIGFuZCBuaWwgb3RoZXJ3aXNlLgorXG4o
Zm4gQ09NUEFSRS1GVU5DVElPTikiKQorCisoZGVmYWxpYXMgJ2F2bC10cmVlLWNvbXBhcmUtZnVu
Y3Rpb24gIydhdmwtdHJlZS0tY21wZnVuCisgICJSZXR1cm4gdGhlIGNvbXBhcmlzb24gZnVuY3Rp
b24gZm9yIHRoZSBBVkwgdHJlZSBUUkVFLgorXG4oZm4gVFJFRSkiKQorCisoZGVmdW4gYXZsLXRy
ZWUtZW1wdHkgKHRyZWUpCisgICJSZXR1cm4gdCBpZiBBVkwgVFJFRSBpcyBlbXB0eSwgb3RoZXJ3
aXNlIHJldHVybiBuaWwuIgorICAobnVsbCAoYXZsLXRyZWUtLXJvb3QgdHJlZSkpKQorCisoZGVm
dW4gYXZsLXRyZWUtZW50ZXIgKHRyZWUgZGF0YSAmb3B0aW9uYWwgdXBkYXRlZnVuKQorICAiSW5z
ZXJ0IERBVEEgaW50byB0aGUgQVZMIHRyZWUgVFJFRS4KKworSWYgYW4gZWxlbWVudCB0aGF0IG1h
dGNoZXMgREFUQSAoYWNjb3JkaW5nIHRvIHRoZSB0cmVlJ3MKK2NvbXBhcmlzb24gZnVuY3Rpb24s
IHNlZSBgYXZsLXRyZWUtY3JlYXRlJykgYWxyZWFkeSBleGlzdHMgaW4KK1RSRUUsIGl0IHdpbGwg
YmUgcmVwbGFjZWQgYnkgREFUQSBieSBkZWZhdWx0LgorCitJZiBVUERBVEVGVU4gaXMgc3VwcGxp
ZWQgYW5kIGFuIGVsZW1lbnQgbWF0Y2hpbmcgREFUQSBhbHJlYWR5CitleGlzdHMgaW4gVFJFRSwg
VVBEQVRFRlVOIGlzIGNhbGxlZCB3aXRoIHR3byBhcmd1bWVudHM6IERBVEEsIGFuZAordGhlIG1h
dGNoaW5nIGVsZW1lbnQuICBJdHMgcmV0dXJuIHZhbHVlIHJlcGxhY2VzIHRoZSBleGlzdGluZwor
ZWxlbWVudC4gIFRoaXMgdmFsdWUgKm11c3QqIGl0c2VsZiBtYXRjaCBEQVRBIChhbmQgaGVuY2Ug
dGhlCitwcmUtZXhpc3RpbmcgZGF0YSksIG9yIGFuIGVycm9yIHdpbGwgb2NjdXIuCisKK1JldHVy
bnMgdGhlIG5ldyBkYXRhLiIKKyAgKGNkciAoYXZsLXRyZWUtLWRvLWVudGVyIChhdmwtdHJlZS0t
Y21wZnVuIHRyZWUpCisJCQkgICAoYXZsLXRyZWUtLWR1bW15cm9vdCB0cmVlKQorCQkJICAgMCBk
YXRhIHVwZGF0ZWZ1bikpKQorCisoZGVmdW4gYXZsLXRyZWUtZGVsZXRlICh0cmVlIGRhdGEgJm9w
dGlvbmFsIHRlc3QgbmlsZmxhZykKKyAgIkRlbGV0ZSB0aGUgZWxlbWVudCBtYXRjaGluZyBEQVRB
IGZyb20gdGhlIEFWTCBUUkVFLgorTWF0Y2hpbmcgdXNlcyB0aGUgY29tcGFyaXNvbiBmdW5jdGlv
biBwcmV2aW91c2x5IHNwZWNpZmllZCBpbgorYGF2bC10cmVlLWNyZWF0ZScgd2hlbiBUUkVFIHdh
cyBjcmVhdGVkLgorCitSZXR1cm5zIHRoZSBkZWxldGVkIGVsZW1lbnQsIG9yIG5pbCBpZiBubyBt
YXRjaGluZyBlbGVtZW50IHdhcworZm91bmQuCisKK09wdGlvbmFsIGFyZ3VtZW50IE5JTEZMQUcg
c3BlY2lmaWVzIGEgdmFsdWUgdG8gcmV0dXJuIGluc3RlYWQgb2YKK25pbCBpZiBub3RoaW5nIHdh
cyBkZWxldGVkLCBzbyB0aGF0IHRoaXMgY2FzZSBjYW4gYmUKK2Rpc3Rpbmd1aXNoZWQgZnJvbSB0
aGUgY2FzZSBvZiBhIHN1Y2Nlc3NmdWxseSBkZWxldGVkIG51bGwKK2VsZW1lbnQuCisKK0lmIHN1
cHBsaWVkLCBURVNUIHNwZWNpZmllcyBhIHRlc3QgdGhhdCBhIG1hdGNoaW5nIGVsZW1lbnQgbXVz
dAorcGFzcyBiZWZvcmUgaXQgaXMgZGVsZXRlZC4gIElmIGEgbWF0Y2hpbmcgZWxlbWVudCBpcyBm
b3VuZCwgaXQgaXMKK3Bhc3NlZCBhcyBhbiBhcmd1bWVudCB0byBURVNULCBhbmQgaXMgZGVsZXRl
ZCBvbmx5IGlmIHRoZSByZXR1cm4KK3ZhbHVlIGlzIG5vbi1uaWwuIgorICAoY2RyIChhdmwtdHJl
ZS0tZG8tZGVsZXRlIChhdmwtdHJlZS0tY21wZnVuIHRyZWUpCisJCQkgICAgKGF2bC10cmVlLS1k
dW1teXJvb3QgdHJlZSkKKwkJCSAgICAwIGRhdGEgdGVzdCBuaWxmbGFnKSkpCisKKworKGRlZnVu
IGF2bC10cmVlLW1lbWJlciAodHJlZSBkYXRhICZvcHRpb25hbCBuaWxmbGFnKQorICAiUmV0dXJu
IHRoZSBlbGVtZW50IGluIHRoZSBBVkwgVFJFRSB3aGljaCBtYXRjaGVzIERBVEEuCitNYXRjaGlu
ZyB1c2VzIHRoZSBjb21wYXJpc29uIGZ1bmN0aW9uIHByZXZpb3VzbHkgc3BlY2lmaWVkIGluCitg
YXZsLXRyZWUtY3JlYXRlJyB3aGVuIFRSRUUgd2FzIGNyZWF0ZWQuCisKK0lmIHRoZXJlIGlzIG5v
IHN1Y2ggZWxlbWVudCBpbiB0aGUgdHJlZSwgbmlsIGlzIHJldHVybmVkLgorT3B0aW9uYWwgYXJn
dW1lbnQgTklMRkxBRyBzcGVjaWZpZXMgYSB2YWx1ZSB0byByZXR1cm4gaW5zdGVhZCBvZiBuaWwK
K2luIHRoaXMgY2FzZS4gIFRoaXMgYWxsb3dzIG5vbi1leGlzdGVudCBlbGVtZW50cyB0byBiZSBk
aXN0aW5ndWlzaGVkCitmcm9tIGEgbnVsbCBlbGVtZW50LiAgKFNlZSBhbHNvIGBhdmwtdHJlZS1t
ZW1iZXItcCcsIHdoaWNoIGRvZXMgdGhpcworZm9yIHlvdS4pIgorICAobGV0ICgobm9kZSAoYXZs
LXRyZWUtLXJvb3QgdHJlZSkpCisJKGNvbXBhcmUtZnVuY3Rpb24gKGF2bC10cmVlLS1jbXBmdW4g
dHJlZSkpKQorICAgIChjYXRjaCAnZm91bmQKKyAgICAgICh3aGlsZSBub2RlCisJKGNvbmQKKwkg
KChmdW5jYWxsIGNvbXBhcmUtZnVuY3Rpb24gZGF0YSAoYXZsLXRyZWUtLW5vZGUtZGF0YSBub2Rl
KSkKKwkgIChzZXRxIG5vZGUgKGF2bC10cmVlLS1ub2RlLWxlZnQgbm9kZSkpKQorCSAoKGZ1bmNh
bGwgY29tcGFyZS1mdW5jdGlvbiAoYXZsLXRyZWUtLW5vZGUtZGF0YSBub2RlKSBkYXRhKQorCSAg
KHNldHEgbm9kZSAoYXZsLXRyZWUtLW5vZGUtcmlnaHQgbm9kZSkpKQorCSAodCAodGhyb3cgJ2Zv
dW5kIChhdmwtdHJlZS0tbm9kZS1kYXRhIG5vZGUpKSkpKQorICAgICAgbmlsZmxhZykpKQorCisK
KyhkZWZ1biBhdmwtdHJlZS1tZW1iZXItcCAodHJlZSBkYXRhKQorICAiUmV0dXJuIHQgaWYgYW4g
ZWxlbWVudCBtYXRjaGluZyBEQVRBIGV4aXN0cyBpbiB0aGUgQVZMIFRSRUUuCitPdGhlcndpc2Ug
cmV0dXJuIG5pbC4gIE1hdGNoaW5nIHVzZXMgdGhlIGNvbXBhcmlzb24gZnVuY3Rpb24KK3ByZXZp
b3VzbHkgc3BlY2lmaWVkIGluIGBhdmwtdHJlZS1jcmVhdGUnIHdoZW4gVFJFRSB3YXMgY3JlYXRl
ZC4iCisgIChsZXQgKChmbGFnICcobmlsKSkpCisgICAgKG5vdCAoZXEgKGF2bC10cmVlLW1lbWJl
ciB0cmVlIGRhdGEgZmxhZykgZmxhZykpKSkKKworCisoZGVmdW4gYXZsLXRyZWUtbWFwIChmdW4g
dHJlZSAmb3B0aW9uYWwgcmV2ZXJzZSkKKyAgIk1vZGlmeSBhbGwgZWxlbWVudHMgaW4gdGhlIEFW
TCBUUkVFIGJ5IGFwcGx5aW5nIGZ1bmN0aW9uIEZVTi4KKworRWFjaCBlbGVtZW50IGlzIHJlcGxh
Y2VkIGJ5IHRoZSByZXR1cm4gdmFsdWUgb2YgRlVOIGFwcGxpZWQgdG8KK3RoYXQgZWxlbWVudC4K
KworRlVOIGlzIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnRzIGluIGFzY2VuZGluZyBvcmRlciwgb3Ig
ZGVzY2VuZGluZworb3JkZXIgaWYgUkVWRVJTRSBpcyBub24tbmlsLiIKKyAgKGF2bC10cmVlLS1t
YXBjCisgICAobGFtYmRhIChub2RlKQorICAgICAoc2V0ZiAoYXZsLXRyZWUtLW5vZGUtZGF0YSBu
b2RlKQorICAgICAgICAgICAoZnVuY2FsbCBmdW4gKGF2bC10cmVlLS1ub2RlLWRhdGEgbm9kZSkp
KSkKKyAgIChhdmwtdHJlZS0tcm9vdCB0cmVlKQorICAgKGlmIHJldmVyc2UgMSAwKSkpCisKKwor
KGRlZnVuIGF2bC10cmVlLW1hcGMgKGZ1biB0cmVlICZvcHRpb25hbCByZXZlcnNlKQorICAiQXBw
bHkgZnVuY3Rpb24gRlVOIHRvIGFsbCBlbGVtZW50cyBpbiBBVkwgVFJFRSwgZm9yIHNpZGUtZWZm
ZWN0IG9ubHkuCisKK0ZVTkNUSU9OIGlzIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnRzIGluIGFzY2Vu
ZGluZyBvcmRlciwgb3IKK2Rlc2NlbmRpbmcgb3JkZXIgaWYgUkVWRVJTRSBpcyBub24tbmlsLiIK
KyAgKGF2bC10cmVlLS1tYXBjCisgICAobGFtYmRhIChub2RlKQorICAgICAoZnVuY2FsbCBmdW4g
KGF2bC10cmVlLS1ub2RlLWRhdGEgbm9kZSkpKQorICAgKGF2bC10cmVlLS1yb290IHRyZWUpCisg
ICAoaWYgcmV2ZXJzZSAxIDApKSkKKworCisoZGVmdW4gYXZsLXRyZWUtbWFwZgorICAoZnVuIGNv
bWJpbmF0b3IgdHJlZSAmb3B0aW9uYWwgcmV2ZXJzZSkKKyAgIkFwcGx5IEZVTiB0byBhbGwgZWxl
bWVudHMgaW4gQVZMIFRSRUUsIGNvbWJpbmUgcmVzdWx0cyB1c2luZyBDT01CSU5BVE9SLgorCitU
aGUgRlVOQ1RJT04gaXMgYXBwbGllZCBhbmQgdGhlIHJlc3VsdHMgYXJlIGNvbWJpbmVkIGluIGFz
Y2VuZGluZworb3JkZXIsIG9yIGRlc2NlbmRpbmcgb3JkZXIgaWYgUkVWRVJTRSBpcyBub24tbmls
LiIKKyAgKGxldCAoYXZsLXRyZWUtbWFwZi0tYWNjdW11bGF0ZSkKKyAgICAoYXZsLXRyZWUtLW1h
cGMKKyAgICAgKGxhbWJkYSAobm9kZSkKKyAgICAgICAoc2V0cSBhdmwtdHJlZS1tYXBmLS1hY2N1
bXVsYXRlCisJICAgICAoZnVuY2FsbCBjb21iaW5hdG9yCisJCSAgICAgIChmdW5jYWxsIGZ1bgor
CQkJICAgICAgIChhdmwtdHJlZS0tbm9kZS1kYXRhIG5vZGUpKQorCQkgICAgICBhdmwtdHJlZS1t
YXBmLS1hY2N1bXVsYXRlKSkpCisgICAgIChhdmwtdHJlZS0tcm9vdCB0cmVlKQorICAgICAoaWYg
cmV2ZXJzZSAwIDEpKQorICAgIChucmV2ZXJzZSBhdmwtdHJlZS1tYXBmLS1hY2N1bXVsYXRlKSkp
CisKKworKGRlZnVuIGF2bC10cmVlLW1hcGNhciAoZnVuIHRyZWUgJm9wdGlvbmFsIHJldmVyc2Up
CisgICJBcHBseSBGVU4gdG8gYWxsIGVsZW1lbnRzIGluIEFWTCBUUkVFLCBhbmQgbWFrZSBhIGxp
c3Qgb2YgdGhlIHJlc3VsdHMuCisKK1RoZSBmdW5jdGlvbiBpcyBhcHBsaWVkIGFuZCB0aGUgbGlz
dCBjb25zdHJ1Y3RlZCBpbiBhc2NlbmRpbmcKK29yZGVyLCBvciBkZXNjZW5kaW5nIG9yZGVyIGlm
IFJFVkVSU0UgaXMgbm9uLW5pbC4KKworTm90ZSB0aGF0IGlmIHlvdSBkb24ndCBjYXJlIGFib3V0
IHRoZSBvcmRlciBpbiB3aGljaCBGVU4gaXMKK2FwcGxpZWQsIGp1c3QgdGhhdCB0aGUgcmVzdWx0
aW5nIGxpc3QgaXMgaW4gdGhlIGNvcnJlY3Qgb3JkZXIsCit0aGVuCisKKyAgKGF2bC10cmVlLW1h
cGYgZnVuY3Rpb24gXFw9J2NvbnMgdHJlZSAobm90IHJldmVyc2UpKQorCitpcyBtb3JlIGVmZmlj
aWVudC4iCisgIChucmV2ZXJzZSAoYXZsLXRyZWUtbWFwZiBmdW4gJ2NvbnMgdHJlZSByZXZlcnNl
KSkpCisKKworKGRlZnVuIGF2bC10cmVlLWZpcnN0ICh0cmVlKQorICAiUmV0dXJuIHRoZSBmaXJz
dCBlbGVtZW50IGluIFRSRUUsIG9yIG5pbCBpZiBUUkVFIGlzIGVtcHR5LiIKKyAgKGxldCAoKG5v
ZGUgKGF2bC10cmVlLS1yb290IHRyZWUpKSkKKyAgICAod2hlbiBub2RlCisgICAgICAod2hpbGUg
KGF2bC10cmVlLS1ub2RlLWxlZnQgbm9kZSkKKyAgICAgICAgKHNldHEgbm9kZSAoYXZsLXRyZWUt
LW5vZGUtbGVmdCBub2RlKSkpCisgICAgICAoYXZsLXRyZWUtLW5vZGUtZGF0YSBub2RlKSkpKQor
CisoZGVmdW4gYXZsLXRyZWUtbGFzdCAodHJlZSkKKyAgIlJldHVybiB0aGUgbGFzdCBlbGVtZW50
IGluIFRSRUUsIG9yIG5pbCBpZiBUUkVFIGlzIGVtcHR5LiIKKyAgKGxldCAoKG5vZGUgKGF2bC10
cmVlLS1yb290IHRyZWUpKSkKKyAgICAod2hlbiBub2RlCisgICAgICAod2hpbGUgKGF2bC10cmVl
LS1ub2RlLXJpZ2h0IG5vZGUpCisgICAgICAgIChzZXRxIG5vZGUgKGF2bC10cmVlLS1ub2RlLXJp
Z2h0IG5vZGUpKSkKKyAgICAgIChhdmwtdHJlZS0tbm9kZS1kYXRhIG5vZGUpKSkpCisKKyhkZWZ1
biBhdmwtdHJlZS1jb3B5ICh0cmVlKQorICAiUmV0dXJuIGEgY29weSBvZiB0aGUgQVZMIFRSRUUu
IgorICAobGV0ICgobmV3LXRyZWUgKGF2bC10cmVlLWNyZWF0ZSAoYXZsLXRyZWUtLWNtcGZ1biB0
cmVlKSkpKQorICAgIChzZXRmIChhdmwtdHJlZS0tcm9vdCBuZXctdHJlZSkgKGF2bC10cmVlLS1k
by1jb3B5IChhdmwtdHJlZS0tcm9vdCB0cmVlKSkpCisgICAgbmV3LXRyZWUpKQorCisoZGVmdW4g
YXZsLXRyZWUtZmxhdHRlbiAodHJlZSkKKyAgIlJldHVybiBhIHNvcnRlZCBsaXN0IGNvbnRhaW5p
bmcgYWxsIGVsZW1lbnRzIG9mIFRSRUUuIgorICAgKGxldCAoKHRyZWVsaXN0IG5pbCkpCisgICAg
IChhdmwtdHJlZS0tbWFwYworICAgICAgKGxhbWJkYSAobm9kZSkgKHB1c2ggKGF2bC10cmVlLS1u
b2RlLWRhdGEgbm9kZSkgdHJlZWxpc3QpKQorICAgICAgKGF2bC10cmVlLS1yb290IHRyZWUpIDEp
CisgICAgIHRyZWVsaXN0KSkKKworKGRlZnVuIGF2bC10cmVlLXNpemUgKHRyZWUpCisgICJSZXR1
cm4gdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiBUUkVFLiIKKyAgKGxldCAoKHRyZWVzaXplIDAp
KQorICAgIChhdmwtdHJlZS0tbWFwYworICAgICAobGFtYmRhIChfKSAoc2V0cSB0cmVlc2l6ZSAo
MSsgdHJlZXNpemUpKSkKKyAgICAgKGF2bC10cmVlLS1yb290IHRyZWUpIDApCisgICAgdHJlZXNp
emUpKQorCisoZGVmdW4gYXZsLXRyZWUtY2xlYXIgKHRyZWUpCisgICJDbGVhciB0aGUgQVZMIFRS
RUUuIgorICAoc2V0ZiAoYXZsLXRyZWUtLXJvb3QgdHJlZSkgbmlsKSkKKworCisoZGVmdW4gYXZs
LXRyZWUtc3RhY2sgKHRyZWUgJm9wdGlvbmFsIHJldmVyc2UpCisgICJSZXR1cm4gYW4gb2JqZWN0
IHRoYXQgYmVoYXZlcyBsaWtlIGEgc29ydGVkIHN0YWNrIG9mIGFsbCBlbGVtZW50cyBvZiBUUkVF
LgorCitJZiBSRVZFUlNFIGlzIG5vbi1uaWwsIHRoZSBzdGFjayBpcyBzb3J0ZWQgaW4gcmV2ZXJz
ZSBvcmRlci4KK1woU2VlIGFsc28gYGF2bC10cmVlLXN0YWNrLXBvcCcpLgorCitOb3RlIHRoYXQg
YW55IG1vZGlmaWNhdGlvbiB0byBUUkVFICppbW1lZGlhdGVseSogaW52YWxpZGF0ZXMgYWxsCith
dmwtdHJlZS1zdGFja3MgY3JlYXRlZCBiZWZvcmUgdGhlIG1vZGlmaWNhdGlvbiAoaW4gcGFydGlj
dWxhciwKK2NhbGxpbmcgYGF2bC10cmVlLXN0YWNrLXBvcCcgd2lsbCBnaXZlIHVucHJlZGljdGFi
bGUgcmVzdWx0cykuCisKK09wZXJhdGlvbnMgb24gdGhlc2Ugb2JqZWN0cyBhcmUgc2lnbmlmaWNh
bnRseSBtb3JlIGVmZmljaWVudCB0aGFuCitjb25zdHJ1Y3RpbmcgYSByZWFsIHN0YWNrIHdpdGgg
YGF2bC10cmVlLWZsYXR0ZW4nIGFuZCB1c2luZworc3RhbmRhcmQgc3RhY2sgZnVuY3Rpb25zLiAg
QXMgc3VjaCwgdGhleSBjYW4gYmUgdXNlZnVsIGluCitpbXBsZW1lbnRpbmcgZWZmaWNpZW50IGFs
Z29yaXRobXMgb2YgQVZMIHRyZWVzLiAgSG93ZXZlciwgaW4gY2FzZXMKK3doZXJlIG1hcHBpbmcg
ZnVuY3Rpb25zIGBhdmwtdHJlZS1tYXBjJywgYGF2bC10cmVlLW1hcGNhcicgb3IKK2BhdmwtdHJl
ZS1tYXBmJyB3b3VsZCBiZSBzdWZmaWNpZW50LCBpdCBpcyBiZXR0ZXIgdG8gdXNlIG9uZSBvZgor
dGhvc2UgaW5zdGVhZC4iCisgIChsZXQgKChzdGFjayAoYXZsLXRyZWUtLXN0YWNrLWNyZWF0ZSB0
cmVlIHJldmVyc2UpKSkKKyAgICAoYXZsLXRyZWUtLXN0YWNrLXJlcG9wdWxhdGUgc3RhY2spCisg
ICAgc3RhY2spKQorCisKKyhkZWZ1biBhdmwtdHJlZS1zdGFjay1wb3AgKGF2bC10cmVlLXN0YWNr
ICZvcHRpb25hbCBuaWxmbGFnKQorICAiUG9wIHRoZSBmaXJzdCBlbGVtZW50IGZyb20gQVZMLVRS
RUUtU1RBQ0suCitcKFNlZSBhbHNvIGBhdmwtdHJlZS1zdGFjaycpLgorCitSZXR1cm5zIG5pbCBp
ZiB0aGUgc3RhY2sgaXMgZW1wdHksIG9yIE5JTEZMQUcgaWYgc3BlY2lmaWVkLgorXChUaGUgbGF0
dGVyIGFsbG93cyBhbiBlbXB0eSBzdGFjayB0byBiZSBkaXN0aW5ndWlzaGVkIGZyb20KK2EgbnVs
bCBlbGVtZW50IHN0b3JlZCBpbiB0aGUgQVZMIHRyZWUuKSIKKyAgKGxldCAobm9kZSBuZXh0KQor
ICAgIChpZiAobm90IChzZXRxIG5vZGUgKHBvcCAoYXZsLXRyZWUtLXN0YWNrLXN0b3JlIGF2bC10
cmVlLXN0YWNrKSkpKQorCW5pbGZsYWcKKyAgICAgICh3aGVuIChzZXRxIG5leHQKKwkJICAoYXZs
LXRyZWUtLW5vZGUtYnJhbmNoCisJCSAgIG5vZGUKKwkJICAgKGlmIChhdmwtdHJlZS0tc3RhY2st
cmV2ZXJzZSBhdmwtdHJlZS1zdGFjaykgMCAxKSkpCisJKHB1c2ggbmV4dCAoYXZsLXRyZWUtLXN0
YWNrLXN0b3JlIGF2bC10cmVlLXN0YWNrKSkKKwkoYXZsLXRyZWUtLXN0YWNrLXJlcG9wdWxhdGUg
YXZsLXRyZWUtc3RhY2spKQorICAgICAgKGF2bC10cmVlLS1ub2RlLWRhdGEgbm9kZSkpKSkKKwor
CisoZGVmdW4gYXZsLXRyZWUtc3RhY2stZmlyc3QgKGF2bC10cmVlLXN0YWNrICZvcHRpb25hbCBu
aWxmbGFnKQorICAiUmV0dXJuIHRoZSBmaXJzdCBlbGVtZW50IG9mIEFWTC1UUkVFLVNUQUNLLCB3
aXRob3V0IHJlbW92aW5nIGl0IGZyb20gc3RhY2suCisKK1JldHVybnMgbmlsIGlmIHRoZSBzdGFj
ayBpcyBlbXB0eSwgb3IgTklMRkxBRyBpZiBzcGVjaWZpZWQuCitcKFRoZSBsYXR0ZXIgYWxsb3dz
IGFuIGVtcHR5IHN0YWNrIHRvIGJlIGRpc3Rpbmd1aXNoZWQgZnJvbQorYSBudWxsIGVsZW1lbnQg
c3RvcmVkIGluIHRoZSBBVkwgdHJlZS4pIgorICAob3IgKGNhciAoYXZsLXRyZWUtLXN0YWNrLXN0
b3JlIGF2bC10cmVlLXN0YWNrKSkKKyAgICAgIG5pbGZsYWcpKQorCisKKyhkZWZ1biBhdmwtdHJl
ZS1zdGFjay1lbXB0eS1wIChhdmwtdHJlZS1zdGFjaykKKyAgIlJldHVybiB0IGlmIEFWTC1UUkVF
LVNUQUNLIGlzIGVtcHR5LCBuaWwgb3RoZXJ3aXNlLiIKKyAgKG51bGwgKGF2bC10cmVlLS1zdGFj
ay1zdG9yZSBhdmwtdHJlZS1zdGFjaykpKQorCisKKyhwcm92aWRlICdhdmwtdHJlZS1jb3JlKQor
Cis7OzsgYXZsLXRyZWUtY29yZS5lbCBlbmRzIGhlcmUKZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3Mt
bGlzcC9hdmwtdHJlZS5lbCBiL2xpc3AvZW1hY3MtbGlzcC9hdmwtdHJlZS5lbAppbmRleCBiNDIw
MTdkMjhmYi4uMDNmMWJiMDcyZjcgMTAwNjQ0Ci0tLSBhL2xpc3AvZW1hY3MtbGlzcC9hdmwtdHJl
ZS5lbAorKysgYi9saXNwL2VtYWNzLWxpc3AvYXZsLXRyZWUuZWwKQEAgLTI3LDY0NCArMjcsMTcg
QEAKIAogOzs7IENvbW1lbnRhcnk6CiAKLTs7IEFuIEFWTCB0cmVlIGlzIGEgc2VsZi1iYWxhbmNp
bmcgYmluYXJ5IHRyZWUuICBBcyBzdWNoLCBpbnNlcnRpbmcsCi07OyBkZWxldGluZywgYW5kIHJl
dHJpZXZpbmcgZGF0YSBmcm9tIGFuIEFWTCB0cmVlIGNvbnRhaW5pbmcgbiBlbGVtZW50cwotOzsg
aXMgTyhsb2cgbikuICBJdCBpcyBzb21ld2hhdCBtb3JlIHJpZ2lkbHkgYmFsYW5jZWQgdGhhbiBv
dGhlcgotOzsgc2VsZi1iYWxhbmNpbmcgYmluYXJ5IHRyZWVzIChzdWNoIGFzIHJlZC1ibGFjayB0
cmVlcyBhbmQgQUEgdHJlZXMpLAotOzsgbWFraW5nIGluc2VydGlvbiBzbGlnaHRseSBzbG93ZXIs
IGRlbGV0aW9uIHNvbWV3aGF0IHNsb3dlciwgYW5kCi07OyByZXRyaWV2YWwgc29tZXdoYXQgZmFz
dGVyICh0aGUgYXN5bXB0b3RpYyBzY2FsaW5nIGlzIG9mIGNvdXJzZSB0aGUKLTs7IHNhbWUgZm9y
IGFsbCB0eXBlcykuICBUaHVzIGl0IG1heSBiZSBhIGdvb2QgY2hvaWNlIHdoZW4gdGhlIHRyZWUg
d2lsbAotOzsgYmUgcmVsYXRpdmVseSBzdGF0aWMsIGkuZS4gZGF0YSB3aWxsIGJlIHJldHJpZXZl
ZCBtb3JlIG9mdGVuIHRoYW4KLTs7IHRoZXkgYXJlIG1vZGlmaWVkLgotOzsKLTs7IEludGVybmFs
bHksIGEgdHJlZSBjb25zaXN0cyBvZiB0d28gZWxlbWVudHMsIHRoZSByb290IG5vZGUgYW5kIHRo
ZQotOzsgY29tcGFyaXNvbiBmdW5jdGlvbi4gIFRoZSBhY3R1YWwgdHJlZSBoYXMgYSBkdW1teSBu
b2RlIGFzIGl0cyByb290Ci07OyB3aXRoIHRoZSByZWFsIHJvb3QgaW4gdGhlIGxlZnQgcG9pbnRl
ciwgd2hpY2ggYWxsb3dzIHRoZSByb290IG5vZGUgdG8KLTs7IGJlIHRyZWF0ZWQgb24gYSBwYXIg
d2l0aCBhbGwgb3RoZXIgbm9kZXMuCi07OwotOzsgRWFjaCBub2RlIG9mIHRoZSB0cmVlIGNvbnNp
c3RzIG9mIG9uZSBkYXRhIGVsZW1lbnQsIG9uZSBsZWZ0Ci07OyBzdWItdHJlZSwgb25lIHJpZ2h0
IHN1Yi10cmVlLCBhbmQgYSBiYWxhbmNlIGNvdW50LiAgVGhlIGxhdHRlciBpcyB0aGUKLTs7IGRp
ZmZlcmVuY2UgaW4gZGVwdGggb2YgdGhlIGxlZnQgYW5kIHJpZ2h0IHN1Yi10cmVlcy4KLTs7Ci07
OyBUaGUgZnVuY3Rpb25zIHdpdGggbmFtZXMgb2YgdGhlIGZvcm0gImF2bC10cmVlLS0iIGFyZSBp
bnRlbmRlZCBmb3IKLTs7IGludGVybmFsIHVzZSBvbmx5LgorOzsgIFRoaXMgcHJvdmlkZXMgYXZs
LXRyZWUtY29yZSBwbHVzIGFuIGFkYXB0b3IgZm9yIHRoZSBpdGVyYXRvcgorOzsgIGludGVyZmFj
ZS4gIFJlcXVpcmluZyB0aGUgZ2VuZXJhdG9yIGxpYnJhcnkgYWxzbyByZXF1aXJlcyBjbC1saWIs
Cis7OyAgd2hpY2ggaXMgbm90IGFsbG93ZWQgaW4gbG9hZHVwLmVsCiAKIDs7OyBDb2RlOgogCiAo
ZXZhbC13aGVuLWNvbXBpbGUgKHJlcXVpcmUgJ2NsLWxpYikpCisocmVxdWlyZSAnYXZsLXRyZWUt
Y29yZSkKIChyZXF1aXJlICdnZW5lcmF0b3IpCiAKIAotOzsgPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotOzs7IEludGVybmFs
IGZ1bmN0aW9ucyBhbmQgbWFjcm9zIGZvciB1c2UgaW4gdGhlIEFWTCB0cmVlIHBhY2thZ2UKLQot
Ci07OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi07OyBGdW5jdGlvbnMgYW5kIG1hY3JvcyBoYW5kbGluZyBhbiBBVkwgdHJl
ZS4KLQotKGNsLWRlZnN0cnVjdCAoYXZsLXRyZWUtCi0gICAgICAgICAgICA7OyBBIHRhZ2dlZCBs
aXN0IGlzIHRoZSBwcmUtZGVmc3RydWN0IHJlcHJlc2VudGF0aW9uLgotICAgICAgICAgICAgOzsg
KDp0eXBlIGxpc3QpCi0gICAgICAgICAgICA6bmFtZWQKLSAgICAgICAgICAgICg6Y29uc3RydWN0
b3IgbmlsKQotICAgICAgICAgICAgKDpjb25zdHJ1Y3RvciBhdmwtdHJlZS0tY3JlYXRlIChjbXBm
dW4pKQotICAgICAgICAgICAgKDpwcmVkaWNhdGUgYXZsLXRyZWUtcCkKLSAgICAgICAgICAgICg6
Y29waWVyIG5pbCkpCi0gIChkdW1teXJvb3QgKGF2bC10cmVlLS1ub2RlLWNyZWF0ZSBuaWwgbmls
IG5pbCAwKSkKLSAgY21wZnVuKQotCi0oZGVmbWFjcm8gYXZsLXRyZWUtLXJvb3QgKHRyZWUpCi0g
ICJSZXR1cm4gdGhlIHJvb3Qgbm9kZSBmb3IgYW4gQVZMIFRSRUUuICBJTlRFUk5BTCBVU0UgT05M
WS4iCi0gIGAoYXZsLXRyZWUtLW5vZGUtbGVmdCAoYXZsLXRyZWUtLWR1bW15cm9vdCAsdHJlZSkp
KQotCi07OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi07OyBGdW5jdGlvbnMgYW5kIG1hY3JvcyBoYW5kbGluZyBhbiBBVkwg
dHJlZSBub2RlLgotCi0oY2wtZGVmc3RydWN0IChhdmwtdHJlZS0tbm9kZQotICAgICAgICAgICAg
OzsgV2UgZm9yY2UgYSByZXByZXNlbnRhdGlvbiB3aXRob3V0IHRhZyBzbyBpdCBtYXRjaGVzIHRo
ZQotICAgICAgICAgICAgOzsgcHJlLWRlZnN0cnVjdCByZXByZXNlbnRhdGlvbi4gQWxzbyB3ZSB1
c2UgdGhlIHVuZGVybHlpbmcKLSAgICAgICAgICAgIDs7IHJlcHJlc2VudGF0aW9uIGluIHRoZSBp
bXBsZW1lbnRhdGlvbiBvZgotICAgICAgICAgICAgOzsgYXZsLXRyZWUtLW5vZGUtYnJhbmNoLgot
ICAgICAgICAgICAgKDp0eXBlIHZlY3RvcikKLSAgICAgICAgICAgICg6Y29uc3RydWN0b3Igbmls
KQotICAgICAgICAgICAgKDpjb25zdHJ1Y3RvciBhdmwtdHJlZS0tbm9kZS1jcmVhdGUgKGxlZnQg
cmlnaHQgZGF0YSBiYWxhbmNlKSkKLSAgICAgICAgICAgICg6Y29waWVyIG5pbCkpCi0gIGxlZnQg
cmlnaHQgZGF0YSBiYWxhbmNlKQotCi0KLShkZWZhbGlhcyAnYXZsLXRyZWUtLW5vZGUtYnJhbmNo
ICMnYXJlZgotICA7OyBUaGlzIGltcGxlbWVudGF0aW9uIGlzIGVmZmljaWVudCBidXQgYnJlYWtz
IHRoZSBkZWZzdHJ1Y3QKLSAgOzsgYWJzdHJhY3Rpb24uICBBbiBhbHRlcm5hdGl2ZSBjb3VsZCBi
ZSAoZnVuY2FsbCAoYXJlZiBbYXZsLXRyZWUtbGVmdAotICA7OyBhdmwtdHJlZS1yaWdodCBhdmwt
dHJlZS1kYXRhXSBicmFuY2gpIG5vZGUpCi0gICJHZXQgdmFsdWUgb2YgYSBicmFuY2ggb2YgYSBu
b2RlLgotTk9ERSBpcyB0aGUgbm9kZSwgYW5kIEJSQU5DSCBpcyB0aGUgYnJhbmNoLgotMCBmb3Ig
bGVmdCBwb2ludGVyLCAxIGZvciByaWdodCBwb2ludGVyIGFuZCAyIGZvciB0aGUgZGF0YS4KLVxu
KGZuIEJSQU5DSCBOT0RFKSIpCi0KLQotOzsgVGhlIGZ1bmNhbGwvYXJlZiB0cmljayB3b3VsZG4n
dCB3b3JrIGZvciB0aGUgc2V0ZiBtZXRob2QsIHVubGVzcyB3ZQotOzsgdHJpZWQgdG8gYWNjZXNz
IHRoZSB1bmRlcmx5aW5nIHNldHRlciBmdW5jdGlvbiwgYnV0IHRoaXMgd291bGRuJ3QgYmUKLTs7
IHBvcnRhYmxlIGVpdGhlci4KLShndi1kZWZpbmUtc2ltcGxlLXNldHRlciBhdmwtdHJlZS0tbm9k
ZS1icmFuY2ggYXNldCkKLQotCi0KLTs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLTs7IENvbnZlbmllbmNlIG1hY3Jvcwot
Ci0oZGVmbWFjcm8gYXZsLXRyZWUtLXN3aXRjaC1kaXIgKGRpcikKLSAgIlJldHVybiBvcHBvc2l0
ZSBkaXJlY3Rpb24gdG8gRElSICgwID0gbGVmdCwgMSA9IHJpZ2h0KS4iCi0gIGAoLSAxICxkaXIp
KQotCi0oZGVmbWFjcm8gYXZsLXRyZWUtLWRpci10by1zaWduIChkaXIpCi0gICJDb252ZXJ0IGRp
cmVjdGlvbiBESVIgKDAsMSkgdG8gc2lnbiBmYWN0b3IgKC0xLCsxKS4iCi0gIGAoMS0gKCogMiAs
ZGlyKSkpCi0KLShkZWZtYWNybyBhdmwtdHJlZS0tc2lnbi10by1kaXIgKGRpcikKLSAgIkNvbnZl
cnQgc2lnbiBmYWN0b3IgaW4gRElSICgteCwreCkgdG8gZGlyZWN0aW9uICgwLDEpLiIKLSAgYChp
ZiAoPCAsZGlyIDApIDAgMSkpCi0KLQotOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotOzsgICAgICAgICAgICAgICAgICAg
ICAgICAgIERlbGV0aW5nIGRhdGEKLQotKGRlZnVuIGF2bC10cmVlLS1kZWwtYmFsYW5jZSAobm9k
ZSBicmFuY2ggZGlyKQotICAiUmViYWxhbmNlIGEgdHJlZSBhZnRlciBkZWxldGluZyBhIE5PREUu
Ci1UaGUgZGVsZXRpb24gd2FzIGRvbmUgZnJvbSB0aGUgbGVmdCAoRElSPTApIG9yIHJpZ2h0IChE
SVI9MSkgc3ViLXRyZWUKLW9mIHRoZSBsZWZ0IChCUkFOQ0g9MCkgb3IgcmlnaHQgKEJSQU5DSD0x
KSBjaGlsZCBvZiBOT0RFLgotUmV0dXJuIHQgaWYgdGhlIGhlaWdodCBvZiB0aGUgdHJlZSBoYXMg
c2hydW5rLiIKLSAgOzsgKG9yIGlzIGl0IHZpY2UtdmVyc2EgZm9yIEJSQU5DSD8pCi0gIChsZXQg
KChiciAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIG5vZGUgYnJhbmNoKSkKLQk7OyBvcHBvc2l0ZSBk
aXJlY3Rpb246IDAsMSAtPiAxLDAKLQkob3BwIChhdmwtdHJlZS0tc3dpdGNoLWRpciBkaXIpKQot
CTs7IGRpcmVjdGlvbiAwLDEgLT4gc2lnbiBmYWN0b3IgLTEsKzEKLQkoc2duIChhdmwtdHJlZS0t
ZGlyLXRvLXNpZ24gZGlyKSkKLSAgICAgICAgcDEgYjEgcDIgYjIpCi0gICAgKGNvbmQKLSAgICAg
KCg+ICgqIHNnbiAoYXZsLXRyZWUtLW5vZGUtYmFsYW5jZSBicikpIDApCi0gICAgICAoc2V0ZiAo
YXZsLXRyZWUtLW5vZGUtYmFsYW5jZSBicikgMCkKLSAgICAgIHQpCi0KLSAgICAgKCg9IChhdmwt
dHJlZS0tbm9kZS1iYWxhbmNlIGJyKSAwKQotICAgICAgKHNldGYgKGF2bC10cmVlLS1ub2RlLWJh
bGFuY2UgYnIpICgtIHNnbikpCi0gICAgICBuaWwpCi0KLSAgICAgKHQKLSAgICAgIDs7IFJlYmFs
YW5jZS4KLSAgICAgIChzZXRxIHAxIChhdmwtdHJlZS0tbm9kZS1icmFuY2ggYnIgb3BwKQotICAg
ICAgICAgICAgYjEgKGF2bC10cmVlLS1ub2RlLWJhbGFuY2UgcDEpKQotICAgICAgKGlmICg8PSAo
KiBzZ24gYjEpIDApCi0gICAgICAgICAgOzsgU2luZ2xlIHJvdGF0aW9uLgotICAgICAgICAgIChw
cm9nbgotICAgICAgICAgICAgKHNldGYgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBiciBvcHApCi0J
CSAgICAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIHAxIGRpcikKLQkJICAoYXZsLXRyZWUtLW5vZGUt
YnJhbmNoIHAxIGRpcikgYnIKLQkJICAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIG5vZGUgYnJhbmNo
KSBwMSkKLSAgICAgICAgICAgIChpZiAoPSAwIGIxKQotICAgICAgICAgICAgICAgIChwcm9nbgot
ICAgICAgICAgICAgICAgICAgKHNldGYgKGF2bC10cmVlLS1ub2RlLWJhbGFuY2UgYnIpICgtIHNn
bikKLQkJCShhdmwtdHJlZS0tbm9kZS1iYWxhbmNlIHAxKSBzZ24pCi0gICAgICAgICAgICAgICAg
ICBuaWwpICA7IGhlaWdodCBoYXNuJ3QgY2hhbmdlZAotICAgICAgICAgICAgICAoc2V0ZiAoYXZs
LXRyZWUtLW5vZGUtYmFsYW5jZSBicikgMCkKLSAgICAgICAgICAgICAgKHNldGYgKGF2bC10cmVl
LS1ub2RlLWJhbGFuY2UgcDEpIDApCi0gICAgICAgICAgICAgIHQpKSAgOyBoZWlnaHQgaGFzIGNo
YW5nZWQKLQotICAgICAgICA7OyBEb3VibGUgcm90YXRpb24uCi0gICAgICAgIChzZXRmIHAyIChh
dmwtdHJlZS0tbm9kZS1icmFuY2ggcDEgZGlyKQotICAgICAgICAgICAgICBiMiAoYXZsLXRyZWUt
LW5vZGUtYmFsYW5jZSBwMikKLQkgICAgICAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIHAxIGRpcikK
LQkgICAgICAgIChhdmwtdHJlZS0tbm9kZS1icmFuY2ggcDIgb3BwKQotCSAgICAgIChhdmwtdHJl
ZS0tbm9kZS1icmFuY2ggcDIgb3BwKSBwMQotCSAgICAgIChhdmwtdHJlZS0tbm9kZS1icmFuY2gg
YnIgb3BwKQotCSAgICAgICAgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBwMiBkaXIpCi0JICAgICAg
KGF2bC10cmVlLS1ub2RlLWJyYW5jaCBwMiBkaXIpIGJyCi0JICAgICAgKGF2bC10cmVlLS1ub2Rl
LWJhbGFuY2UgYnIpCi0JICAgICAgICAoaWYgKDwgKCogc2duIGIyKSAwKSBzZ24gMCkKLQkgICAg
ICAoYXZsLXRyZWUtLW5vZGUtYmFsYW5jZSBwMSkKLQkgICAgICAgIChpZiAoPiAoKiBzZ24gYjIp
IDApICgtIHNnbikgMCkKLQkgICAgICAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIG5vZGUgYnJhbmNo
KSBwMgotCSAgICAgIChhdmwtdHJlZS0tbm9kZS1iYWxhbmNlIHAyKSAwKQotICAgICAgICB0KSkp
KSkKLQotKGRlZnVuIGF2bC10cmVlLS1kby1kZWwtaW50ZXJuYWwgKG5vZGUgYnJhbmNoIHEpCi0g
IChsZXQgKChiciAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIG5vZGUgYnJhbmNoKSkpCi0gICAgKGlm
IChhdmwtdHJlZS0tbm9kZS1yaWdodCBicikKLSAgICAgICAgKGlmIChhdmwtdHJlZS0tZG8tZGVs
LWludGVybmFsIGJyIDEgcSkKLSAgICAgICAgICAgIChhdmwtdHJlZS0tZGVsLWJhbGFuY2Ugbm9k
ZSBicmFuY2ggMSkpCi0gICAgICAoc2V0ZiAoYXZsLXRyZWUtLW5vZGUtZGF0YSBxKSAoYXZsLXRy
ZWUtLW5vZGUtZGF0YSBicikKLQkgICAgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBub2RlIGJyYW5j
aCkKLSAgICAgICAgICAgICAgKGF2bC10cmVlLS1ub2RlLWxlZnQgYnIpKQotICAgICAgdCkpKQot
Ci0oZGVmdW4gYXZsLXRyZWUtLWRvLWRlbGV0ZSAoY21wZnVuIHJvb3QgYnJhbmNoIGRhdGEgdGVz
dCBuaWxmbGFnKQotICAiRGVsZXRlIERBVEEgZnJvbSBCUkFOQ0ggb2Ygbm9kZSBST09ULgotXChT
ZWUgYGF2bC10cmVlLWRlbGV0ZScgZm9yIFRFU1QgYW5kIE5JTEZMQUcpLgotCi1SZXR1cm4gY29u
cyBjZWxsIChTSFJVTksgLiBEQVRBKSwgd2hlcmUgU0hSVU5LIGlzIHQgaWYgdGhlCi1oZWlnaHQg
b2YgdGhlIHRyZWUgaGFzIHNocnVuayBhbmQgbmlsIG90aGVyd2lzZSwgYW5kIERBVEEgaXMKLXRo
ZSByZWxhdGVkIGRhdGEuIgotICAobGV0ICgoYnIgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCByb290
IGJyYW5jaCkpKQotICAgIChjb25kCi0gICAgIDs7IERBVEEgbm90IGluIHRyZWUuCi0gICAgICgo
bnVsbCBicikKLSAgICAgIChjb25zIG5pbCBuaWxmbGFnKSkKLQotICAgICAoKGZ1bmNhbGwgY21w
ZnVuIGRhdGEgKGF2bC10cmVlLS1ub2RlLWRhdGEgYnIpKQotICAgICAgKGxldCAoKHJldCAoYXZs
LXRyZWUtLWRvLWRlbGV0ZSBjbXBmdW4gYnIgMCBkYXRhIHRlc3QgbmlsZmxhZykpKQotCShjb25z
IChpZiAoY2FyIHJldCkgKGF2bC10cmVlLS1kZWwtYmFsYW5jZSByb290IGJyYW5jaCAwKSkKLQkg
ICAgICAoY2RyIHJldCkpKSkKLQotICAgICAoKGZ1bmNhbGwgY21wZnVuIChhdmwtdHJlZS0tbm9k
ZS1kYXRhIGJyKSBkYXRhKQotICAgICAgKGxldCAoKHJldCAoYXZsLXRyZWUtLWRvLWRlbGV0ZSBj
bXBmdW4gYnIgMSBkYXRhIHRlc3QgbmlsZmxhZykpKQotCShjb25zIChpZiAoY2FyIHJldCkgKGF2
bC10cmVlLS1kZWwtYmFsYW5jZSByb290IGJyYW5jaCAxKSkKLQkgICAgICAoY2RyIHJldCkpKSkK
LQotICAgICAodCAgOyBGb3VuZCBpdC4KLSAgICAgIDs7IGlmIGl0IGZhaWxzIFRFU1QsIGRvIG5v
dGhpbmcKLSAgICAgIChpZiAoYW5kIHRlc3QgKG5vdCAoZnVuY2FsbCB0ZXN0IChhdmwtdHJlZS0t
bm9kZS1kYXRhIGJyKSkpKQotCSAgKGNvbnMgbmlsIG5pbGZsYWcpCi0JKGNvbmQKLQkgKChudWxs
IChhdmwtdHJlZS0tbm9kZS1yaWdodCBicikpCi0JICAoc2V0ZiAoYXZsLXRyZWUtLW5vZGUtYnJh
bmNoIHJvb3QgYnJhbmNoKQotCQkoYXZsLXRyZWUtLW5vZGUtbGVmdCBicikpCi0JICAoY29ucyB0
IChhdmwtdHJlZS0tbm9kZS1kYXRhIGJyKSkpCi0KLQkgKChudWxsIChhdmwtdHJlZS0tbm9kZS1s
ZWZ0IGJyKSkKLQkgIChzZXRmIChhdmwtdHJlZS0tbm9kZS1icmFuY2ggcm9vdCBicmFuY2gpCi0J
CShhdmwtdHJlZS0tbm9kZS1yaWdodCBicikpCi0JICAoY29ucyB0IChhdmwtdHJlZS0tbm9kZS1k
YXRhIGJyKSkpCi0KLQkgKHQKLQkgIChpZiAoYXZsLXRyZWUtLWRvLWRlbC1pbnRlcm5hbCBiciAw
IGJyKQotCSAgICAgIChjb25zIChhdmwtdHJlZS0tZGVsLWJhbGFuY2Ugcm9vdCBicmFuY2ggMCkK
LQkJICAgIChhdmwtdHJlZS0tbm9kZS1kYXRhIGJyKSkKLQkgICAgKGNvbnMgbmlsIChhdmwtdHJl
ZS0tbm9kZS1kYXRhIGJyKSkpKQotCSApKSkpKSkKLQotCi0KLTs7IC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLTs7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRW50ZXJpbmcgZGF0YQotCi0oZGVmdW4gYXZsLXRyZWUtLWVu
dGVyLWJhbGFuY2UgKG5vZGUgYnJhbmNoIGRpcikKLSAgIlJlYmFsYW5jZSB0cmVlIGFmdGVyIGlu
c2VydGlvbiBvZiBOT0RFLgotTk9ERSB3YXMgaW5zZXJ0ZWQgaW50byB0aGUgbGVmdCAoRElSPTAp
IG9yIHJpZ2h0IChESVI9MSkgc3ViLXRyZWUKLW9mIHRoZSBsZWZ0IChCUkFOQ0g9MCkgb3Igcmln
aHQgKEJSQU5DSD0xKSBjaGlsZCBvZiBOT0RFLgotUmV0dXJuIHQgaWYgdGhlIGhlaWdodCBvZiB0
aGUgdHJlZSBoYXMgZ3Jvd24uIgotICAobGV0ICgoYnIgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBu
b2RlIGJyYW5jaCkpCi0JOzsgb3Bwb3NpdGUgZGlyZWN0aW9uOiAwLDEgLT4gMSwwCi0JKG9wcCAo
YXZsLXRyZWUtLXN3aXRjaC1kaXIgZGlyKSkKLQk7OyBkaXJlY3Rpb24gMCwxIC0+IHNpZ24gZmFj
dG9yIC0xLCsxCi0JKHNnbiAoYXZsLXRyZWUtLWRpci10by1zaWduIGRpcikpCi0gICAgICAgIHAx
IHAyIGIyKQotICAgIChjb25kCi0gICAgICgoPCAoKiBzZ24gKGF2bC10cmVlLS1ub2RlLWJhbGFu
Y2UgYnIpKSAwKQotICAgICAgKHNldGYgKGF2bC10cmVlLS1ub2RlLWJhbGFuY2UgYnIpIDApCi0g
ICAgICBuaWwpCi0KLSAgICAgKCg9IChhdmwtdHJlZS0tbm9kZS1iYWxhbmNlIGJyKSAwKQotICAg
ICAgKHNldGYgKGF2bC10cmVlLS1ub2RlLWJhbGFuY2UgYnIpIHNnbikKLSAgICAgIHQpCi0KLSAg
ICAgKHQKLSAgICAgIDs7IFRyZWUgaGFzIGdyb3duID0+IFJlYmFsYW5jZS4KLSAgICAgIChzZXRx
IHAxIChhdmwtdHJlZS0tbm9kZS1icmFuY2ggYnIgZGlyKSkKLSAgICAgIChpZiAoPiAoKiBzZ24g
KGF2bC10cmVlLS1ub2RlLWJhbGFuY2UgcDEpKSAwKQotICAgICAgICAgIDs7IFNpbmdsZSByb3Rh
dGlvbi4KLSAgICAgICAgICAocHJvZ24KLSAgICAgICAgICAgIChzZXRmIChhdmwtdHJlZS0tbm9k
ZS1icmFuY2ggYnIgZGlyKQotCQkgIChhdmwtdHJlZS0tbm9kZS1icmFuY2ggcDEgb3BwKSkKLSAg
ICAgICAgICAgIChzZXRmIChhdmwtdHJlZS0tbm9kZS1icmFuY2ggcDEgb3BwKSBicikKLSAgICAg
ICAgICAgIChzZXRmIChhdmwtdHJlZS0tbm9kZS1iYWxhbmNlIGJyKSAwKQotICAgICAgICAgICAg
KHNldGYgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBub2RlIGJyYW5jaCkgcDEpKQotCi0gICAgICAg
IDs7IERvdWJsZSByb3RhdGlvbi4KLSAgICAgICAgKHNldGYgcDIgKGF2bC10cmVlLS1ub2RlLWJy
YW5jaCBwMSBvcHApCi0JICAgICAgYjIgKGF2bC10cmVlLS1ub2RlLWJhbGFuY2UgcDIpCi0JICAg
ICAgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBwMSBvcHApCi0JICAgICAgICAoYXZsLXRyZWUtLW5v
ZGUtYnJhbmNoIHAyIGRpcikKLQkgICAgICAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIHAyIGRpcikg
cDEKLQkgICAgICAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIGJyIGRpcikKLQkgICAgICAgIChhdmwt
dHJlZS0tbm9kZS1icmFuY2ggcDIgb3BwKQotCSAgICAgIChhdmwtdHJlZS0tbm9kZS1icmFuY2gg
cDIgb3BwKSBicgotCSAgICAgIChhdmwtdHJlZS0tbm9kZS1iYWxhbmNlIGJyKQotCSAgICAgICAg
KGlmICg+ICgqIHNnbiBiMikgMCkgKC0gc2duKSAwKQotCSAgICAgIChhdmwtdHJlZS0tbm9kZS1i
YWxhbmNlIHAxKQotCSAgICAgICAgKGlmICg8ICgqIHNnbiBiMikgMCkgc2duIDApCi0gICAgICAg
ICAgICAgICAgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBub2RlIGJyYW5jaCkgcDIpKQotICAgICAg
KHNldGYgKGF2bC10cmVlLS1ub2RlLWJhbGFuY2UKLSAgICAgICAgICAgICAoYXZsLXRyZWUtLW5v
ZGUtYnJhbmNoIG5vZGUgYnJhbmNoKSkKLSAgICAgICAgICAgIDApCi0gICAgICBuaWwpKSkpCi0K
LShkZWZ1biBhdmwtdHJlZS0tZG8tZW50ZXIgKGNtcGZ1biByb290IGJyYW5jaCBkYXRhICZvcHRp
b25hbCB1cGRhdGVmdW4pCi0gICJFbnRlciBEQVRBIGluIEJSQU5DSCBvZiBST09UIG5vZGUuCi1c
KFNlZSBgYXZsLXRyZWUtZW50ZXInIGZvciBVUERBVEVGVU4pLgotCi1SZXR1cm4gY29ucyBjZWxs
IChHUkVXIC4gREFUQSksIHdoZXJlIEdSRVcgaXMgdCBpZiBoZWlnaHQKLW9mIHRyZWUgUk9PVCBo
YXMgZ3Jvd24gYW5kIG5pbCBvdGhlcndpc2UsIGFuZCBEQVRBIGlzIHRoZQotaW5zZXJ0ZWQgZGF0
YS4iCi0gIChsZXQgKChiciAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIHJvb3QgYnJhbmNoKSkpCi0g
ICAgKGNvbmQKLSAgICAgKChudWxsIGJyKQotICAgICAgOzsgRGF0YSBub3QgaW4gdHJlZSwgaW5z
ZXJ0IGl0LgotICAgICAgKHNldGYgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCByb290IGJyYW5jaCkK
LSAgICAgICAgICAgIChhdmwtdHJlZS0tbm9kZS1jcmVhdGUgbmlsIG5pbCBkYXRhIDApKQotICAg
ICAgKGNvbnMgdCBkYXRhKSkKLQotICAgICAoKGZ1bmNhbGwgY21wZnVuIGRhdGEgKGF2bC10cmVl
LS1ub2RlLWRhdGEgYnIpKQotICAgICAgKGxldCAoKHJldCAoYXZsLXRyZWUtLWRvLWVudGVyIGNt
cGZ1biBiciAwIGRhdGEgdXBkYXRlZnVuKSkpCi0JKGNvbnMgKGFuZCAoY2FyIHJldCkgKGF2bC10
cmVlLS1lbnRlci1iYWxhbmNlIHJvb3QgYnJhbmNoIDApKQotCSAgICAgIChjZHIgcmV0KSkpKQot
Ci0gICAgICgoZnVuY2FsbCBjbXBmdW4gKGF2bC10cmVlLS1ub2RlLWRhdGEgYnIpIGRhdGEpCi0g
ICAgICAobGV0ICgocmV0IChhdmwtdHJlZS0tZG8tZW50ZXIgY21wZnVuIGJyIDEgZGF0YSB1cGRh
dGVmdW4pKSkKLQkoY29ucyAoYW5kIChjYXIgcmV0KSAoYXZsLXRyZWUtLWVudGVyLWJhbGFuY2Ug
cm9vdCBicmFuY2ggMSkpCi0JICAgICAgKGNkciByZXQpKSkpCi0KLSAgICAgOzsgRGF0YSBhbHJl
YWR5IGluIHRyZWUsIHVwZGF0ZSBpdC4KLSAgICAgKHQKLSAgICAgIChsZXQgKChuZXdkYXRhCi0J
ICAgICAoaWYgdXBkYXRlZnVuCi0JCSAoZnVuY2FsbCB1cGRhdGVmdW4gZGF0YSAoYXZsLXRyZWUt
LW5vZGUtZGF0YSBicikpCi0JICAgICAgIGRhdGEpKSkKLQkoaWYgKG9yIChmdW5jYWxsIGNtcGZ1
biBuZXdkYXRhIGRhdGEpCi0JCShmdW5jYWxsIGNtcGZ1biBkYXRhIG5ld2RhdGEpKQotICAgICAg
ICAgICAgKGVycm9yICJhdmwtdHJlZS1lbnRlcjogVXBkYXRlZCBkYXRhIGRvZXMgbm90IG1hdGNo
IGV4aXN0aW5nIGRhdGEiKSkKLQkoc2V0ZiAoYXZsLXRyZWUtLW5vZGUtZGF0YSBicikgbmV3ZGF0
YSkKLQkoY29ucyBuaWwgbmV3ZGF0YSkpICA7IHJldHVybiB2YWx1ZQotICAgICAgKSkpKQotCi0o
ZGVmdW4gYXZsLXRyZWUtLWNoZWNrICh0cmVlKQotICAiQ2hlY2sgdGhlIGJhbGFuY2Ugb2YgVFJF
RS4iCi0gIChhdmwtdHJlZS0tY2hlY2stbm9kZSAoYXZsLXRyZWUtLXJvb3QgdHJlZSkpKQotKGRl
ZnVuIGF2bC10cmVlLS1jaGVjay1ub2RlIChub2RlKQotICAoaWYgKG51bGwgbm9kZSkgMAotICAg
IChsZXQgKChkbCAoYXZsLXRyZWUtLWNoZWNrLW5vZGUgKGF2bC10cmVlLS1ub2RlLWxlZnQgbm9k
ZSkpKQotCSAgKGRyIChhdmwtdHJlZS0tY2hlY2stbm9kZSAoYXZsLXRyZWUtLW5vZGUtcmlnaHQg
bm9kZSkpKSkKLSAgICAgIChjbC1hc3NlcnQgKD0gKC0gZHIgZGwpIChhdmwtdHJlZS0tbm9kZS1i
YWxhbmNlIG5vZGUpKSkKLSAgICAgICgxKyAobWF4IGRsIGRyKSkpKSkKLQotOzsgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
Ci0KLTs7OyBJTlRFUk5BTCBVU0UgT05MWQotKGRlZnVuIGF2bC10cmVlLS1tYXBjIChtYXAtZnVu
Y3Rpb24gcm9vdCBkaXIpCi0gICJBcHBseSBNQVAtRlVOQ1RJT04gdG8gYWxsIG5vZGVzIGluIHRo
ZSB0cmVlIHN0YXJ0aW5nIHdpdGggUk9PVC4KLVRoZSBmdW5jdGlvbiBpcyBhcHBsaWVkIGluLW9y
ZGVyLCBlaXRoZXIgYXNjZW5kaW5nIChESVI9MCkgb3IKLWRlc2NlbmRpbmcgKERJUj0xKS4KLQot
Tm90ZTogTUFQLUZVTkNUSU9OIGlzIGFwcGxpZWQgdG8gdGhlIG5vZGUgYW5kIG5vdCB0byB0aGUg
ZGF0YQotaXRzZWxmLiIKLSAgKGxldCAoKG5vZGUgcm9vdCkKLSAgICAgICAgKHN0YWNrIG5pbCkK
LSAgICAgICAgKGdvLWRpciB0KSkKLSAgICAocHVzaCBuaWwgc3RhY2spCi0gICAgKHdoaWxlIG5v
ZGUKLSAgICAgIChpZiAoYW5kIGdvLWRpcgotICAgICAgICAgICAgICAgKGF2bC10cmVlLS1ub2Rl
LWJyYW5jaCBub2RlIGRpcikpCi0gICAgICAgICAgOzsgRG8gdGhlIERJUiBzdWJ0cmVlIGZpcnN0
LgotICAgICAgICAgIChwcm9nbgotICAgICAgICAgICAgKHB1c2ggbm9kZSBzdGFjaykKLSAgICAg
ICAgICAgIChzZXRxIG5vZGUgKGF2bC10cmVlLS1ub2RlLWJyYW5jaCBub2RlIGRpcikpKQotICAg
ICAgICA7OyBBcHBseSB0aGUgZnVuY3Rpb24uLi4KLSAgICAgICAgKGZ1bmNhbGwgbWFwLWZ1bmN0
aW9uIG5vZGUpCi0gICAgICAgIDs7IGFuZCBkbyB0aGUgb3Bwb3NpdGUgc3VidHJlZS4KLSAgICAg
ICAgKHNldHEgbm9kZSAoaWYgKHNldHEgZ28tZGlyIChhdmwtdHJlZS0tbm9kZS1icmFuY2gKLQkJ
CQkgICAgIG5vZGUgKGF2bC10cmVlLS1zd2l0Y2gtZGlyIGRpcikpKQotICAgICAgICAgICAgICAg
ICAgICAgICAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoCi0JCQlub2RlIChhdmwtdHJlZS0tc3dpdGNo
LWRpciBkaXIpKQotICAgICAgICAgICAgICAgICAgICAgKHBvcCBzdGFjaykpKSkpKSkKLQotOzs7
IElOVEVSTkFMIFVTRSBPTkxZCi0oZGVmdW4gYXZsLXRyZWUtLWRvLWNvcHkgKHJvb3QpCi0gICJD
b3B5IHRoZSBBVkwgdHJlZSB3aWF0aCBST09UIGFzIHJvb3QuCi1UaGlzIGZ1bmN0aW9uIGlzIGhp
Z2hseSByZWN1cnNpdmUuIgotICAoaWYgKG51bGwgcm9vdCkKLSAgICAgIG5pbAotICAgIChhdmwt
dHJlZS0tbm9kZS1jcmVhdGUKLSAgICAgKGF2bC10cmVlLS1kby1jb3B5IChhdmwtdHJlZS0tbm9k
ZS1sZWZ0IHJvb3QpKQotICAgICAoYXZsLXRyZWUtLWRvLWNvcHkgKGF2bC10cmVlLS1ub2RlLXJp
Z2h0IHJvb3QpKQotICAgICAoYXZsLXRyZWUtLW5vZGUtZGF0YSByb290KQotICAgICAoYXZsLXRy
ZWUtLW5vZGUtYmFsYW5jZSByb290KSkpKQotCi0oY2wtZGVmc3RydWN0IChhdmwtdHJlZS0tc3Rh
Y2sKLQkgICAgKDpjb25zdHJ1Y3RvciBuaWwpCi0JICAgICg6Y29uc3RydWN0b3IgYXZsLXRyZWUt
LXN0YWNrLWNyZWF0ZQotCQkJICAodHJlZSAmb3B0aW9uYWwgcmV2ZXJzZQotCQkJCSZhdXgKLQkJ
CQkoc3RvcmUKLQkJCQkgKGlmIChhdmwtdHJlZS1lbXB0eSB0cmVlKQotCQkJCSAgICAgbmlsCi0J
CQkJICAgKGxpc3QgKGF2bC10cmVlLS1yb290IHRyZWUpKSkpKSkKLQkgICAgKDpjb3BpZXIgbmls
KSkKLSAgcmV2ZXJzZSBzdG9yZSkKLQotKGRlZmFsaWFzICdhdmwtdHJlZS1zdGFjay1wICMnYXZs
LXRyZWUtLXN0YWNrLXAKLSAgIlJldHVybiB0IGlmIE9CSiBpcyBhbiBhdmwtdHJlZS1zdGFjaywg
bmlsIG90aGVyd2lzZS4KLVxuKGZuIE9CSikiKQotCi0oZGVmdW4gYXZsLXRyZWUtLXN0YWNrLXJl
cG9wdWxhdGUgKHN0YWNrKQotICAiUmVjdXJzaXZlbHkgcHVzaCBjaGlsZHJlbiBvZiBTVEFDSyBv
bnRvIHRoZSBmcm9udC4KLVRoaXMgcHVzaGVzIHRoZSBjaGlsZHJlbiBvZiB0aGUgbm9kZSBhdCB0
aGUgaGVhZCBvZiBTVEFDSyBvbnRvCi10aGUgZnJvbnQgb2YgU1RBQ0ssIHVudGlsIGEgbGVhZiBu
b2RlIGlzIHJlYWNoZWQuIgotICAobGV0ICgobm9kZSAoY2FyIChhdmwtdHJlZS0tc3RhY2stc3Rv
cmUgc3RhY2spKSkKLQkoZGlyIChpZiAoYXZsLXRyZWUtLXN0YWNrLXJldmVyc2Ugc3RhY2spIDEg
MCkpKQotICAgICh3aGVuIG5vZGUgIDsgY2hlY2sgZm9yIGVtcHR5IHN0YWNrCi0gICAgICAod2hp
bGUgKHNldHEgbm9kZSAoYXZsLXRyZWUtLW5vZGUtYnJhbmNoIG5vZGUgZGlyKSkKLQkocHVzaCBu
b2RlIChhdmwtdHJlZS0tc3RhY2stc3RvcmUgc3RhY2spKSkpKSkKLQotCi07OyA9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci07
OzsgVGhlIHB1YmxpYyBmdW5jdGlvbnMgd2hpY2ggb3BlcmF0ZSBvbiBBVkwgdHJlZXMuCi0KLTs7
IGRlZmluZSBwdWJsaWMgYWxpYXMgZm9yIGNvbnN0cnVjdG9ycyBzbyB0aGF0IHdlIGNhbiBzZXQg
ZG9jc3RyaW5nCi0oZGVmYWxpYXMgJ2F2bC10cmVlLWNyZWF0ZSAjJ2F2bC10cmVlLS1jcmVhdGUK
LSAgIkNyZWF0ZSBhbiBlbXB0eSBBVkwgdHJlZS4KLUNPTVBBUkUtRlVOQ1RJT04gaXMgYSBmdW5j
dGlvbiB3aGljaCB0YWtlcyB0d28gYXJndW1lbnRzLCBBIGFuZCBCLAotYW5kIHJldHVybnMgbm9u
LW5pbCBpZiBBIGlzIGxlc3MgdGhhbiBCLCBhbmQgbmlsIG90aGVyd2lzZS4KLVxuKGZuIENPTVBB
UkUtRlVOQ1RJT04pIikKLQotKGRlZmFsaWFzICdhdmwtdHJlZS1jb21wYXJlLWZ1bmN0aW9uICMn
YXZsLXRyZWUtLWNtcGZ1bgotICAiUmV0dXJuIHRoZSBjb21wYXJpc29uIGZ1bmN0aW9uIGZvciB0
aGUgQVZMIHRyZWUgVFJFRS4KLVxuKGZuIFRSRUUpIikKLQotKGRlZnVuIGF2bC10cmVlLWVtcHR5
ICh0cmVlKQotICAiUmV0dXJuIHQgaWYgQVZMIFRSRUUgaXMgZW1wdHksIG90aGVyd2lzZSByZXR1
cm4gbmlsLiIKLSAgKG51bGwgKGF2bC10cmVlLS1yb290IHRyZWUpKSkKLQotKGRlZnVuIGF2bC10
cmVlLWVudGVyICh0cmVlIGRhdGEgJm9wdGlvbmFsIHVwZGF0ZWZ1bikKLSAgIkluc2VydCBEQVRB
IGludG8gdGhlIEFWTCB0cmVlIFRSRUUuCi0KLUlmIGFuIGVsZW1lbnQgdGhhdCBtYXRjaGVzIERB
VEEgKGFjY29yZGluZyB0byB0aGUgdHJlZSdzCi1jb21wYXJpc29uIGZ1bmN0aW9uLCBzZWUgYGF2
bC10cmVlLWNyZWF0ZScpIGFscmVhZHkgZXhpc3RzIGluCi1UUkVFLCBpdCB3aWxsIGJlIHJlcGxh
Y2VkIGJ5IERBVEEgYnkgZGVmYXVsdC4KLQotSWYgVVBEQVRFRlVOIGlzIHN1cHBsaWVkIGFuZCBh
biBlbGVtZW50IG1hdGNoaW5nIERBVEEgYWxyZWFkeQotZXhpc3RzIGluIFRSRUUsIFVQREFURUZV
TiBpcyBjYWxsZWQgd2l0aCB0d28gYXJndW1lbnRzOiBEQVRBLCBhbmQKLXRoZSBtYXRjaGluZyBl
bGVtZW50LiAgSXRzIHJldHVybiB2YWx1ZSByZXBsYWNlcyB0aGUgZXhpc3RpbmcKLWVsZW1lbnQu
ICBUaGlzIHZhbHVlICptdXN0KiBpdHNlbGYgbWF0Y2ggREFUQSAoYW5kIGhlbmNlIHRoZQotcHJl
LWV4aXN0aW5nIGRhdGEpLCBvciBhbiBlcnJvciB3aWxsIG9jY3VyLgotCi1SZXR1cm5zIHRoZSBu
ZXcgZGF0YS4iCi0gIChjZHIgKGF2bC10cmVlLS1kby1lbnRlciAoYXZsLXRyZWUtLWNtcGZ1biB0
cmVlKQotCQkJICAgKGF2bC10cmVlLS1kdW1teXJvb3QgdHJlZSkKLQkJCSAgIDAgZGF0YSB1cGRh
dGVmdW4pKSkKLQotKGRlZnVuIGF2bC10cmVlLWRlbGV0ZSAodHJlZSBkYXRhICZvcHRpb25hbCB0
ZXN0IG5pbGZsYWcpCi0gICJEZWxldGUgdGhlIGVsZW1lbnQgbWF0Y2hpbmcgREFUQSBmcm9tIHRo
ZSBBVkwgVFJFRS4KLU1hdGNoaW5nIHVzZXMgdGhlIGNvbXBhcmlzb24gZnVuY3Rpb24gcHJldmlv
dXNseSBzcGVjaWZpZWQgaW4KLWBhdmwtdHJlZS1jcmVhdGUnIHdoZW4gVFJFRSB3YXMgY3JlYXRl
ZC4KLQotUmV0dXJucyB0aGUgZGVsZXRlZCBlbGVtZW50LCBvciBuaWwgaWYgbm8gbWF0Y2hpbmcg
ZWxlbWVudCB3YXMKLWZvdW5kLgotCi1PcHRpb25hbCBhcmd1bWVudCBOSUxGTEFHIHNwZWNpZmll
cyBhIHZhbHVlIHRvIHJldHVybiBpbnN0ZWFkIG9mCi1uaWwgaWYgbm90aGluZyB3YXMgZGVsZXRl
ZCwgc28gdGhhdCB0aGlzIGNhc2UgY2FuIGJlCi1kaXN0aW5ndWlzaGVkIGZyb20gdGhlIGNhc2Ug
b2YgYSBzdWNjZXNzZnVsbHkgZGVsZXRlZCBudWxsCi1lbGVtZW50LgotCi1JZiBzdXBwbGllZCwg
VEVTVCBzcGVjaWZpZXMgYSB0ZXN0IHRoYXQgYSBtYXRjaGluZyBlbGVtZW50IG11c3QKLXBhc3Mg
YmVmb3JlIGl0IGlzIGRlbGV0ZWQuICBJZiBhIG1hdGNoaW5nIGVsZW1lbnQgaXMgZm91bmQsIGl0
IGlzCi1wYXNzZWQgYXMgYW4gYXJndW1lbnQgdG8gVEVTVCwgYW5kIGlzIGRlbGV0ZWQgb25seSBp
ZiB0aGUgcmV0dXJuCi12YWx1ZSBpcyBub24tbmlsLiIKLSAgKGNkciAoYXZsLXRyZWUtLWRvLWRl
bGV0ZSAoYXZsLXRyZWUtLWNtcGZ1biB0cmVlKQotCQkJICAgIChhdmwtdHJlZS0tZHVtbXlyb290
IHRyZWUpCi0JCQkgICAgMCBkYXRhIHRlc3QgbmlsZmxhZykpKQotCi0KLShkZWZ1biBhdmwtdHJl
ZS1tZW1iZXIgKHRyZWUgZGF0YSAmb3B0aW9uYWwgbmlsZmxhZykKLSAgIlJldHVybiB0aGUgZWxl
bWVudCBpbiB0aGUgQVZMIFRSRUUgd2hpY2ggbWF0Y2hlcyBEQVRBLgotTWF0Y2hpbmcgdXNlcyB0
aGUgY29tcGFyaXNvbiBmdW5jdGlvbiBwcmV2aW91c2x5IHNwZWNpZmllZCBpbgotYGF2bC10cmVl
LWNyZWF0ZScgd2hlbiBUUkVFIHdhcyBjcmVhdGVkLgotCi1JZiB0aGVyZSBpcyBubyBzdWNoIGVs
ZW1lbnQgaW4gdGhlIHRyZWUsIG5pbCBpcyByZXR1cm5lZC4KLU9wdGlvbmFsIGFyZ3VtZW50IE5J
TEZMQUcgc3BlY2lmaWVzIGEgdmFsdWUgdG8gcmV0dXJuIGluc3RlYWQgb2YgbmlsCi1pbiB0aGlz
IGNhc2UuICBUaGlzIGFsbG93cyBub24tZXhpc3RlbnQgZWxlbWVudHMgdG8gYmUgZGlzdGluZ3Vp
c2hlZAotZnJvbSBhIG51bGwgZWxlbWVudC4gIChTZWUgYWxzbyBgYXZsLXRyZWUtbWVtYmVyLXAn
LCB3aGljaCBkb2VzIHRoaXMKLWZvciB5b3UuKSIKLSAgKGxldCAoKG5vZGUgKGF2bC10cmVlLS1y
b290IHRyZWUpKQotCShjb21wYXJlLWZ1bmN0aW9uIChhdmwtdHJlZS0tY21wZnVuIHRyZWUpKSkK
LSAgICAoY2F0Y2ggJ2ZvdW5kCi0gICAgICAod2hpbGUgbm9kZQotCShjb25kCi0JICgoZnVuY2Fs
bCBjb21wYXJlLWZ1bmN0aW9uIGRhdGEgKGF2bC10cmVlLS1ub2RlLWRhdGEgbm9kZSkpCi0JICAo
c2V0cSBub2RlIChhdmwtdHJlZS0tbm9kZS1sZWZ0IG5vZGUpKSkKLQkgKChmdW5jYWxsIGNvbXBh
cmUtZnVuY3Rpb24gKGF2bC10cmVlLS1ub2RlLWRhdGEgbm9kZSkgZGF0YSkKLQkgIChzZXRxIG5v
ZGUgKGF2bC10cmVlLS1ub2RlLXJpZ2h0IG5vZGUpKSkKLQkgKHQgKHRocm93ICdmb3VuZCAoYXZs
LXRyZWUtLW5vZGUtZGF0YSBub2RlKSkpKSkKLSAgICAgIG5pbGZsYWcpKSkKLQotCi0oZGVmdW4g
YXZsLXRyZWUtbWVtYmVyLXAgKHRyZWUgZGF0YSkKLSAgIlJldHVybiB0IGlmIGFuIGVsZW1lbnQg
bWF0Y2hpbmcgREFUQSBleGlzdHMgaW4gdGhlIEFWTCBUUkVFLgotT3RoZXJ3aXNlIHJldHVybiBu
aWwuICBNYXRjaGluZyB1c2VzIHRoZSBjb21wYXJpc29uIGZ1bmN0aW9uCi1wcmV2aW91c2x5IHNw
ZWNpZmllZCBpbiBgYXZsLXRyZWUtY3JlYXRlJyB3aGVuIFRSRUUgd2FzIGNyZWF0ZWQuIgotICAo
bGV0ICgoZmxhZyAnKG5pbCkpKQotICAgIChub3QgKGVxIChhdmwtdHJlZS1tZW1iZXIgdHJlZSBk
YXRhIGZsYWcpIGZsYWcpKSkpCi0KLQotKGRlZnVuIGF2bC10cmVlLW1hcCAoZnVuIHRyZWUgJm9w
dGlvbmFsIHJldmVyc2UpCi0gICJNb2RpZnkgYWxsIGVsZW1lbnRzIGluIHRoZSBBVkwgVFJFRSBi
eSBhcHBseWluZyBmdW5jdGlvbiBGVU4uCi0KLUVhY2ggZWxlbWVudCBpcyByZXBsYWNlZCBieSB0
aGUgcmV0dXJuIHZhbHVlIG9mIEZVTiBhcHBsaWVkIHRvCi10aGF0IGVsZW1lbnQuCi0KLUZVTiBp
cyBhcHBsaWVkIHRvIHRoZSBlbGVtZW50cyBpbiBhc2NlbmRpbmcgb3JkZXIsIG9yIGRlc2NlbmRp
bmcKLW9yZGVyIGlmIFJFVkVSU0UgaXMgbm9uLW5pbC4iCi0gIChhdmwtdHJlZS0tbWFwYwotICAg
KGxhbWJkYSAobm9kZSkKLSAgICAgKHNldGYgKGF2bC10cmVlLS1ub2RlLWRhdGEgbm9kZSkKLSAg
ICAgICAgICAgKGZ1bmNhbGwgZnVuIChhdmwtdHJlZS0tbm9kZS1kYXRhIG5vZGUpKSkpCi0gICAo
YXZsLXRyZWUtLXJvb3QgdHJlZSkKLSAgIChpZiByZXZlcnNlIDEgMCkpKQotCi0KLShkZWZ1biBh
dmwtdHJlZS1tYXBjIChmdW4gdHJlZSAmb3B0aW9uYWwgcmV2ZXJzZSkKLSAgIkFwcGx5IGZ1bmN0
aW9uIEZVTiB0byBhbGwgZWxlbWVudHMgaW4gQVZMIFRSRUUsIGZvciBzaWRlLWVmZmVjdCBvbmx5
LgotCi1GVU5DVElPTiBpcyBhcHBsaWVkIHRvIHRoZSBlbGVtZW50cyBpbiBhc2NlbmRpbmcgb3Jk
ZXIsIG9yCi1kZXNjZW5kaW5nIG9yZGVyIGlmIFJFVkVSU0UgaXMgbm9uLW5pbC4iCi0gIChhdmwt
dHJlZS0tbWFwYwotICAgKGxhbWJkYSAobm9kZSkKLSAgICAgKGZ1bmNhbGwgZnVuIChhdmwtdHJl
ZS0tbm9kZS1kYXRhIG5vZGUpKSkKLSAgIChhdmwtdHJlZS0tcm9vdCB0cmVlKQotICAgKGlmIHJl
dmVyc2UgMSAwKSkpCi0KLQotKGRlZnVuIGF2bC10cmVlLW1hcGYKLSAgKGZ1biBjb21iaW5hdG9y
IHRyZWUgJm9wdGlvbmFsIHJldmVyc2UpCi0gICJBcHBseSBGVU4gdG8gYWxsIGVsZW1lbnRzIGlu
IEFWTCBUUkVFLCBjb21iaW5lIHJlc3VsdHMgdXNpbmcgQ09NQklOQVRPUi4KLQotVGhlIEZVTkNU
SU9OIGlzIGFwcGxpZWQgYW5kIHRoZSByZXN1bHRzIGFyZSBjb21iaW5lZCBpbiBhc2NlbmRpbmcK
LW9yZGVyLCBvciBkZXNjZW5kaW5nIG9yZGVyIGlmIFJFVkVSU0UgaXMgbm9uLW5pbC4iCi0gIChs
ZXQgKGF2bC10cmVlLW1hcGYtLWFjY3VtdWxhdGUpCi0gICAgKGF2bC10cmVlLS1tYXBjCi0gICAg
IChsYW1iZGEgKG5vZGUpCi0gICAgICAgKHNldHEgYXZsLXRyZWUtbWFwZi0tYWNjdW11bGF0ZQot
CSAgICAgKGZ1bmNhbGwgY29tYmluYXRvcgotCQkgICAgICAoZnVuY2FsbCBmdW4KLQkJCSAgICAg
ICAoYXZsLXRyZWUtLW5vZGUtZGF0YSBub2RlKSkKLQkJICAgICAgYXZsLXRyZWUtbWFwZi0tYWNj
dW11bGF0ZSkpKQotICAgICAoYXZsLXRyZWUtLXJvb3QgdHJlZSkKLSAgICAgKGlmIHJldmVyc2Ug
MCAxKSkKLSAgICAobnJldmVyc2UgYXZsLXRyZWUtbWFwZi0tYWNjdW11bGF0ZSkpKQotCi0KLShk
ZWZ1biBhdmwtdHJlZS1tYXBjYXIgKGZ1biB0cmVlICZvcHRpb25hbCByZXZlcnNlKQotICAiQXBw
bHkgRlVOIHRvIGFsbCBlbGVtZW50cyBpbiBBVkwgVFJFRSwgYW5kIG1ha2UgYSBsaXN0IG9mIHRo
ZSByZXN1bHRzLgotCi1UaGUgZnVuY3Rpb24gaXMgYXBwbGllZCBhbmQgdGhlIGxpc3QgY29uc3Ry
dWN0ZWQgaW4gYXNjZW5kaW5nCi1vcmRlciwgb3IgZGVzY2VuZGluZyBvcmRlciBpZiBSRVZFUlNF
IGlzIG5vbi1uaWwuCi0KLU5vdGUgdGhhdCBpZiB5b3UgZG9uJ3QgY2FyZSBhYm91dCB0aGUgb3Jk
ZXIgaW4gd2hpY2ggRlVOIGlzCi1hcHBsaWVkLCBqdXN0IHRoYXQgdGhlIHJlc3VsdGluZyBsaXN0
IGlzIGluIHRoZSBjb3JyZWN0IG9yZGVyLAotdGhlbgotCi0gIChhdmwtdHJlZS1tYXBmIGZ1bmN0
aW9uIFxcPSdjb25zIHRyZWUgKG5vdCByZXZlcnNlKSkKLQotaXMgbW9yZSBlZmZpY2llbnQuIgot
ICAobnJldmVyc2UgKGF2bC10cmVlLW1hcGYgZnVuICdjb25zIHRyZWUgcmV2ZXJzZSkpKQotCi0K
LShkZWZ1biBhdmwtdHJlZS1maXJzdCAodHJlZSkKLSAgIlJldHVybiB0aGUgZmlyc3QgZWxlbWVu
dCBpbiBUUkVFLCBvciBuaWwgaWYgVFJFRSBpcyBlbXB0eS4iCi0gIChsZXQgKChub2RlIChhdmwt
dHJlZS0tcm9vdCB0cmVlKSkpCi0gICAgKHdoZW4gbm9kZQotICAgICAgKHdoaWxlIChhdmwtdHJl
ZS0tbm9kZS1sZWZ0IG5vZGUpCi0gICAgICAgIChzZXRxIG5vZGUgKGF2bC10cmVlLS1ub2RlLWxl
ZnQgbm9kZSkpKQotICAgICAgKGF2bC10cmVlLS1ub2RlLWRhdGEgbm9kZSkpKSkKLQotKGRlZnVu
IGF2bC10cmVlLWxhc3QgKHRyZWUpCi0gICJSZXR1cm4gdGhlIGxhc3QgZWxlbWVudCBpbiBUUkVF
LCBvciBuaWwgaWYgVFJFRSBpcyBlbXB0eS4iCi0gIChsZXQgKChub2RlIChhdmwtdHJlZS0tcm9v
dCB0cmVlKSkpCi0gICAgKHdoZW4gbm9kZQotICAgICAgKHdoaWxlIChhdmwtdHJlZS0tbm9kZS1y
aWdodCBub2RlKQotICAgICAgICAoc2V0cSBub2RlIChhdmwtdHJlZS0tbm9kZS1yaWdodCBub2Rl
KSkpCi0gICAgICAoYXZsLXRyZWUtLW5vZGUtZGF0YSBub2RlKSkpKQotCi0oZGVmdW4gYXZsLXRy
ZWUtY29weSAodHJlZSkKLSAgIlJldHVybiBhIGNvcHkgb2YgdGhlIEFWTCBUUkVFLiIKLSAgKGxl
dCAoKG5ldy10cmVlIChhdmwtdHJlZS1jcmVhdGUgKGF2bC10cmVlLS1jbXBmdW4gdHJlZSkpKSkK
LSAgICAoc2V0ZiAoYXZsLXRyZWUtLXJvb3QgbmV3LXRyZWUpIChhdmwtdHJlZS0tZG8tY29weSAo
YXZsLXRyZWUtLXJvb3QgdHJlZSkpKQotICAgIG5ldy10cmVlKSkKLQotKGRlZnVuIGF2bC10cmVl
LWZsYXR0ZW4gKHRyZWUpCi0gICJSZXR1cm4gYSBzb3J0ZWQgbGlzdCBjb250YWluaW5nIGFsbCBl
bGVtZW50cyBvZiBUUkVFLiIKLSAgIChsZXQgKCh0cmVlbGlzdCBuaWwpKQotICAgICAoYXZsLXRy
ZWUtLW1hcGMKLSAgICAgIChsYW1iZGEgKG5vZGUpIChwdXNoIChhdmwtdHJlZS0tbm9kZS1kYXRh
IG5vZGUpIHRyZWVsaXN0KSkKLSAgICAgIChhdmwtdHJlZS0tcm9vdCB0cmVlKSAxKQotICAgICB0
cmVlbGlzdCkpCi0KLShkZWZ1biBhdmwtdHJlZS1zaXplICh0cmVlKQotICAiUmV0dXJuIHRoZSBu
dW1iZXIgb2YgZWxlbWVudHMgaW4gVFJFRS4iCi0gIChsZXQgKCh0cmVlc2l6ZSAwKSkKLSAgICAo
YXZsLXRyZWUtLW1hcGMKLSAgICAgKGxhbWJkYSAoXykgKHNldHEgdHJlZXNpemUgKDErIHRyZWVz
aXplKSkpCi0gICAgIChhdmwtdHJlZS0tcm9vdCB0cmVlKSAwKQotICAgIHRyZWVzaXplKSkKLQot
KGRlZnVuIGF2bC10cmVlLWNsZWFyICh0cmVlKQotICAiQ2xlYXIgdGhlIEFWTCBUUkVFLiIKLSAg
KHNldGYgKGF2bC10cmVlLS1yb290IHRyZWUpIG5pbCkpCi0KLQotKGRlZnVuIGF2bC10cmVlLXN0
YWNrICh0cmVlICZvcHRpb25hbCByZXZlcnNlKQotICAiUmV0dXJuIGFuIG9iamVjdCB0aGF0IGJl
aGF2ZXMgbGlrZSBhIHNvcnRlZCBzdGFjayBvZiBhbGwgZWxlbWVudHMgb2YgVFJFRS4KLQotSWYg
UkVWRVJTRSBpcyBub24tbmlsLCB0aGUgc3RhY2sgaXMgc29ydGVkIGluIHJldmVyc2Ugb3JkZXIu
Ci1cKFNlZSBhbHNvIGBhdmwtdHJlZS1zdGFjay1wb3AnKS4KLQotTm90ZSB0aGF0IGFueSBtb2Rp
ZmljYXRpb24gdG8gVFJFRSAqaW1tZWRpYXRlbHkqIGludmFsaWRhdGVzIGFsbAotYXZsLXRyZWUt
c3RhY2tzIGNyZWF0ZWQgYmVmb3JlIHRoZSBtb2RpZmljYXRpb24gKGluIHBhcnRpY3VsYXIsCi1j
YWxsaW5nIGBhdmwtdHJlZS1zdGFjay1wb3AnIHdpbGwgZ2l2ZSB1bnByZWRpY3RhYmxlIHJlc3Vs
dHMpLgotCi1PcGVyYXRpb25zIG9uIHRoZXNlIG9iamVjdHMgYXJlIHNpZ25pZmljYW50bHkgbW9y
ZSBlZmZpY2llbnQgdGhhbgotY29uc3RydWN0aW5nIGEgcmVhbCBzdGFjayB3aXRoIGBhdmwtdHJl
ZS1mbGF0dGVuJyBhbmQgdXNpbmcKLXN0YW5kYXJkIHN0YWNrIGZ1bmN0aW9ucy4gIEFzIHN1Y2gs
IHRoZXkgY2FuIGJlIHVzZWZ1bCBpbgotaW1wbGVtZW50aW5nIGVmZmljaWVudCBhbGdvcml0aG1z
IG9mIEFWTCB0cmVlcy4gIEhvd2V2ZXIsIGluIGNhc2VzCi13aGVyZSBtYXBwaW5nIGZ1bmN0aW9u
cyBgYXZsLXRyZWUtbWFwYycsIGBhdmwtdHJlZS1tYXBjYXInIG9yCi1gYXZsLXRyZWUtbWFwZicg
d291bGQgYmUgc3VmZmljaWVudCwgaXQgaXMgYmV0dGVyIHRvIHVzZSBvbmUgb2YKLXRob3NlIGlu
c3RlYWQuIgotICAobGV0ICgoc3RhY2sgKGF2bC10cmVlLS1zdGFjay1jcmVhdGUgdHJlZSByZXZl
cnNlKSkpCi0gICAgKGF2bC10cmVlLS1zdGFjay1yZXBvcHVsYXRlIHN0YWNrKQotICAgIHN0YWNr
KSkKLQotCi0oZGVmdW4gYXZsLXRyZWUtc3RhY2stcG9wIChhdmwtdHJlZS1zdGFjayAmb3B0aW9u
YWwgbmlsZmxhZykKLSAgIlBvcCB0aGUgZmlyc3QgZWxlbWVudCBmcm9tIEFWTC1UUkVFLVNUQUNL
LgotXChTZWUgYWxzbyBgYXZsLXRyZWUtc3RhY2snKS4KLQotUmV0dXJucyBuaWwgaWYgdGhlIHN0
YWNrIGlzIGVtcHR5LCBvciBOSUxGTEFHIGlmIHNwZWNpZmllZC4KLVwoVGhlIGxhdHRlciBhbGxv
d3MgYW4gZW1wdHkgc3RhY2sgdG8gYmUgZGlzdGluZ3Vpc2hlZCBmcm9tCi1hIG51bGwgZWxlbWVu
dCBzdG9yZWQgaW4gdGhlIEFWTCB0cmVlLikiCi0gIChsZXQgKG5vZGUgbmV4dCkKLSAgICAoaWYg
KG5vdCAoc2V0cSBub2RlIChwb3AgKGF2bC10cmVlLS1zdGFjay1zdG9yZSBhdmwtdHJlZS1zdGFj
aykpKSkKLQluaWxmbGFnCi0gICAgICAod2hlbiAoc2V0cSBuZXh0Ci0JCSAgKGF2bC10cmVlLS1u
b2RlLWJyYW5jaAotCQkgICBub2RlCi0JCSAgIChpZiAoYXZsLXRyZWUtLXN0YWNrLXJldmVyc2Ug
YXZsLXRyZWUtc3RhY2spIDAgMSkpKQotCShwdXNoIG5leHQgKGF2bC10cmVlLS1zdGFjay1zdG9y
ZSBhdmwtdHJlZS1zdGFjaykpCi0JKGF2bC10cmVlLS1zdGFjay1yZXBvcHVsYXRlIGF2bC10cmVl
LXN0YWNrKSkKLSAgICAgIChhdmwtdHJlZS0tbm9kZS1kYXRhIG5vZGUpKSkpCi0KLQotKGRlZnVu
IGF2bC10cmVlLXN0YWNrLWZpcnN0IChhdmwtdHJlZS1zdGFjayAmb3B0aW9uYWwgbmlsZmxhZykK
LSAgIlJldHVybiB0aGUgZmlyc3QgZWxlbWVudCBvZiBBVkwtVFJFRS1TVEFDSywgd2l0aG91dCBy
ZW1vdmluZyBpdCBmcm9tIHN0YWNrLgotCi1SZXR1cm5zIG5pbCBpZiB0aGUgc3RhY2sgaXMgZW1w
dHksIG9yIE5JTEZMQUcgaWYgc3BlY2lmaWVkLgotXChUaGUgbGF0dGVyIGFsbG93cyBhbiBlbXB0
eSBzdGFjayB0byBiZSBkaXN0aW5ndWlzaGVkIGZyb20KLWEgbnVsbCBlbGVtZW50IHN0b3JlZCBp
biB0aGUgQVZMIHRyZWUuKSIKLSAgKG9yIChjYXIgKGF2bC10cmVlLS1zdGFjay1zdG9yZSBhdmwt
dHJlZS1zdGFjaykpCi0gICAgICBuaWxmbGFnKSkKLQotCi0oZGVmdW4gYXZsLXRyZWUtc3RhY2st
ZW1wdHktcCAoYXZsLXRyZWUtc3RhY2spCi0gICJSZXR1cm4gdCBpZiBBVkwtVFJFRS1TVEFDSyBp
cyBlbXB0eSwgbmlsIG90aGVyd2lzZS4iCi0gIChudWxsIChhdmwtdHJlZS0tc3RhY2stc3RvcmUg
YXZsLXRyZWUtc3RhY2spKSkKLQogCiAoaXRlci1kZWZ1biBhdmwtdHJlZS1pdGVyICh0cmVlICZv
cHRpb25hbCByZXZlcnNlKQogICAiUmV0dXJuIGFuIEFWTCB0cmVlIGl0ZXJhdG9yIG9iamVjdC4K
ZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC90cmFuc2l0aXZlLWNsb3N1cmUuZWwgYi9saXNw
L2VtYWNzLWxpc3AvdHJhbnNpdGl2ZS1jbG9zdXJlLmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwLi40OGM0ODE3YzUyNwotLS0gL2Rldi9udWxsCisrKyBiL2xpc3AvZW1h
Y3MtbGlzcC90cmFuc2l0aXZlLWNsb3N1cmUuZWwKQEAgLTAsMCArMSw1NDMgQEAKKzs7OyB0cmFu
c2l0aXZlLWNsb3N1cmUuZWwgLSotIGxleGljYWwtYmluZGluZzogdCAtKi0KKzs7OyBFZmZpY2ll
bnQgaW1wbGVtZW50YXRpb24gb2YgdHJhbnNpdGl2ZSBjbG9zdXJlIG9uIGEgZ3JhcGggb2Ygc3lt
Ym9scworOzs7ICBCYXNlZCBvbiBOdXV0aWxhJ3MgdGhlc2lzIC0gaHR0cHM6Ly93d3cuY3MuaHV0
LmZpL35lbnUvdGhlc2lzLnBkZiwgcGFnZSA2MgorOzs7IEludGVyZmFjZQorOzs7ICh0Yy10cmFu
c2l0aXZlLWNsb3N1cmUgbm9kZXMgZWRnZXMpID0+IHRjLS1ncmFwaCBzdHJ1Y3R1cmVzCis7Ozsg
KHRjLWdyYXBoLXNjYyB0Yy0tZ3JhcGggbm9kZSkgPT4gdGhlIGVxdWl2YWxlbmNlIGNsYXNzIG9m
IG5vZGVzIGZvciBub2RlCis7OzsgKHRjLWdyYXBoLXN1Y2Nlc3NvcnMgdGMtZ3JhcGggbm9kZSkg
PT4gbGlzdCBvZiBub2RlcyByZWFjaGFibGUgZnJvbSBub2RlCis7OzsgKHRjLWdyYXBoLW9yZGVy
aW5nIHRjLWdyYXBoKSA9PgorOzs7ICAgICBhcnJheSBvZiBsaXN0cyBvZiBub2RlcyBjb25zaXN0
ZW50IHdpdGggcGFydGlhbCBvcmRlcmluZworOzs7ICAgICBpLmUgbm9kZXMgaW4gbGlzdCAwIGhh
dmUgbm8gZGVwZW5kZW5jaWVzCis7OzsgICAgICAgICBub2RlcyBpbiBsaXN0IDEgb25seSBoYXZl
IGRlcGVuZGVuY2llcyBpbiBsaXN0IDAKKzs7OyAgICAgICAgIG5vZGVzIGluIGxpc3QgMiBvbmx5
IGhhdmUgZGVwZW5kZW5jaWVzIGluIGxpc3QgMCBvciAxCis7OzsgICAgICAgICBldGMuCisKKyhl
dmFsLXdoZW4tY29tcGlsZSAocmVxdWlyZSAnY2wtbGliKSkKKyhldmFsLXdoZW4tY29tcGlsZSAo
cmVxdWlyZSAnY2wtbWFjcykpCisocmVxdWlyZSAnYXZsLXRyZWUtY29yZSkKKworKGNsLWRlZnN0
cnVjdCB0Yy0tZ3JhcGgKKyAgbm9kZXMgZWRnZXMgcm9vdHMgcmVhY2hhYmxlIG5vZGUtPmlkeCBu
b2RlLW9yZGVyaW5nCisgIGlkeC0+bm9kZSBpZHgtPnNjYyBpZHgtPnN1Y2Nlc3NvcnMKKyAgc2Nj
LWVkZ2VzIHNjYy0+b3JkZXIgc2NjLW9yZGVyaW5nCisgIHNjYy0+cmVwIHNjYy0+bm9kZXMgc2Nj
LT5zdWNjcykKKworKGRlZnZhciB0Yy0tZWRnZXMgbmlsKQorKGRlZnZhciB0Yy0tbm9kZXMgbmls
KQorKGRlZnZhciB0Yy0tcm9vdHMgbmlsKQorKGRlZnZhciB0Yy0tc2l6ZS1ub2RlcyBuaWwpCiso
ZGVmdmFyIHRjLS1ub2RlLT5pZHggbmlsKQorKGRlZnZhciB0Yy0taWR4LT52aXNpdGVkIG5pbCkK
KyhkZWZ2YXIgdGMtLWlkeC0+bm9kZSBuaWwpCisoZGVmdmFyIHRjLS1pZHgtPnJvb3QgbmlsKQor
KGRlZnZhciB0Yy0taWR4LT5zZWxmLWVkZ2UgbmlsKQorKGRlZnZhciB0Yy0taWR4LT5oZWlnaHQg
bmlsKQorKGRlZnZhciB0Yy0taWR4LT5zY2MgbmlsKQorKGRlZnZhciB0Yy0taWR4LT5zdWNjZXNz
b3JzIG5pbCkKKyhkZWZ2YXIgdGMtLXNjYy0+cmVwIG5pbCkKKyhkZWZ2YXIgdGMtLXNjY3Mgbmls
KQorKGRlZnZhciB0Yy0tc2NjLWVkZ2VzIG5pbCkKKyhkZWZ2YXIgdGMtLXNjYy0+bm9kZXMgbmls
KQorKGRlZnZhciB0Yy0tdmlzaXQtaWR4IG5pbCkKKyhkZWZ2YXIgdGMtLWNzdGFjayBuaWwpCiso
ZGVmdmFyIHRjLS12c3RhY2sgbmlsKQorKGRlZnZhciB0Yy0taWR4IG5pbCkKKyhkZWZ2YXIgdGMt
LXJvb3QgbmlsKQorKGRlZnZhciB0Yy0tc2NjLT5zY2Mtbm9kZSBuaWwpCisoZGVmdmFyIHRjLS1z
Y2MtPnN1Y2Nlc3NvcnMgbmlsKQorKGRlZnZhciB0Yy0tc2NjLWNvdW50IG5pbCkKKyhkZWZ2YXIg
dGMtLWNzdGFjay1oZWlnaHQgbmlsKQorKGRlZnZhciB0Yy0tc2NjLXN1Y2NzIG5pbCkKKyhkZWZ2
YXIgdGMtLXNjYy1zdWNjLWdlbnMgbmlsKQorKGRlZnZhciB0Yy0tc2NjLT5ub2RlLXN1Y2Nlc3Nv
ci1zZXRzIG5pbCkKKyhkZWZ2YXIgdGMtLXNjYy0+b3JkZXIgbmlsKQorKGRlZnZhciB0Yy0tc2Nj
LW9yZGVyaW5nIG5pbCkKKyhkZWZ2YXIgdGMtLXJlYWNoYWJsZS1ub2RlcyBuaWwpCisKKzs7OyAg
bm9kZXMgaXMgYSBsaXN0IG9mIHN5bWJvbHMKKzs7OyAgZWRnZXMgaXMgYW4gYWxpc3Qgc3BlY2lm
eWluZyBkaXJlY3RlZCBncmFwaCBlZGdlcyBmcm9tIGVhY2ggbm9kZQorCisoZGVmdW4gdGMtLWlu
aXQgKG5vZGVzIGVkZ2VzIHJvb3RzKQorICAiSW5pdGlhbGl6ZSBzdGF0ZSB2YXJpYWJsZXMgZm9y
IHRyYW5zaXRpdmUgY2xvc3VyZSBjYWxjdWxhdGlvbiIKKyAgKHNldHEgdGMtLWVkZ2VzIGVkZ2Vz
CisgICAgICAgIHRjLS1ub2RlcyBub2RlcworICAgICAgICB0Yy0tcm9vdHMgcm9vdHMKKyAgICAg
ICAgdGMtLXNpemUtbm9kZXMgKGxlbmd0aCB0Yy0tbm9kZXMpCisgICAgICAgIHRjLS1yZWFjaGFi
bGUtbm9kZXMgbmlsCisgICAgICAgIHRjLS1pZHgtPm5vZGUgKG1ha2UtdmVjdG9yIHRjLS1zaXpl
LW5vZGVzIG5pbCkKKyAgICAgICAgdGMtLW5vZGUtPmlkeCAobWFrZS1oYXNoLXRhYmxlIDpzaXpl
IHRjLS1zaXplLW5vZGVzKSkKKyAgKGxldCAoKGxzIG5vZGVzKQorICAgICAgICAoaSAwKQorICAg
ICAgICAodiBuaWwpKQorICAgICh3aGlsZSBscworICAgICAgKHNldHEgdiAocG9wIGxzKSkKKyAg
ICAgIChwdXRoYXNoIHYgaSB0Yy0tbm9kZS0+aWR4KQorICAgICAgKGFzZXQgdGMtLWlkeC0+bm9k
ZSBpIHYpCisgICAgICAoc2V0cSBpICgxKyBpKSkpKQorICAoc2V0cSB0Yy0taWR4LT52aXNpdGVk
IChtYWtlLXZlY3RvciB0Yy0tc2l6ZS1ub2RlcyBuaWwpCisgICAgICAgIHRjLS1pZHgtPnJvb3Qg
KG1ha2UtdmVjdG9yIHRjLS1zaXplLW5vZGVzIG5pbCkKKyAgICAgICAgdGMtLWlkeC0+c2VsZi1l
ZGdlIChtYWtlLXZlY3RvciB0Yy0tc2l6ZS1ub2RlcyBuaWwpCisgICAgICAgIHRjLS1pZHgtPnNj
YyAobWFrZS12ZWN0b3IgdGMtLXNpemUtbm9kZXMgbmlsKQorICAgICAgICB0Yy0taWR4LT5oZWln
aHQgKG1ha2UtdmVjdG9yIHRjLS1zaXplLW5vZGVzIG5pbCkKKyAgICAgICAgdGMtLXNjY3MgKG1h
a2UtdmVjdG9yIHRjLS1zaXplLW5vZGVzIG5pbCkKKyAgICAgICAgdGMtLXNjYy0+cmVwIChtYWtl
LXZlY3RvciB0Yy0tc2l6ZS1ub2RlcyBuaWwpCisgICAgICAgIHRjLS1zY2MtZWRnZXMgbmlsCisg
ICAgICAgIHRjLS1pZHgtPnN1Y2Nlc3NvcnMgKG1ha2UtdmVjdG9yIChsZW5ndGggdGMtLW5vZGVz
KSBuaWwpCisgICAgICAgIHRjLS1zY2MtPm5vZGUtc3VjY2Vzc29yLXNldHMgbmlsCisgICAgICAg
IDs7IHRoaXMgaXMgd2FzdGVmdWwgb2Ygc3BhY2UsIGJ1dCBhIGNvbnZlbmllbnQgbWV0aG9kIGZv
ciBjcmVhdGluZworICAgICAgICA7OyBjb21wb25lbnQgbm9kZXMKKyAgICAgICAgdGMtLXNjYy0+
c2NjLW5vZGUgKG1ha2UtdmVjdG9yIChsZW5ndGggdGMtLW5vZGVzKSBuaWwpCisgICAgICAgIHRj
LS1zY2MtPnN1Y2Nlc3NvcnMgKG1ha2UtdmVjdG9yIChsZW5ndGggdGMtLW5vZGVzKSBuaWwpCisg
ICAgICAgIHRjLS1zY2MtPm9yZGVyIChtYWtlLXZlY3RvciAobGVuZ3RoIHRjLS1ub2RlcykgLTEp
CisgICAgICAgIHRjLS1zY2Mtb3JkZXJpbmcgbmlsCisgICAgICAgIHRjLS1zY2MtY291bnQgMAor
ICAgICAgICB0Yy0tY3N0YWNrIG5pbAorICAgICAgICB0Yy0tdnN0YWNrIG5pbAorICAgICAgICB0
Yy0tdmlzaXQtaWR4IDAKKyAgICAgICAgdGMtLWNzdGFjay1oZWlnaHQgMAorICAgICAgICB0Yy0t
c2NjLXN1Y2NzIChtYWtlLWJvb2wtdmVjdG9yIChsZW5ndGggdGMtLW5vZGVzKSBuaWwpCisgICAg
ICAgIHRjLS1zY2Mtc3VjYy1nZW5zIChtYWtlLWJvb2wtdmVjdG9yIChsZW5ndGggdGMtLW5vZGVz
KSBuaWwpKSkKKworKGRlZnVuIHRjLS1nZXQtbm9kZS1pbmRleCAodikKKyAgKGdldGhhc2ggdiB0
Yy0tbm9kZS0+aWR4KSkKKyhkZWZ1biB0Yy0tbWFrZS1zY2Mtc2V0ICgpCisgIChhdmwtdHJlZS1j
cmVhdGUgIyc8KSkKKyhkZWZ1biB0Yy0tc2NjLTwgKGEgYikKKyAgKGFuZCAoYXZsLXRyZWUtbWVt
YmVyLXAKKyAgICAgICAgKGFyZWYgdGMtLXNjYy0+c3VjY2Vzc29ycyBhKQorICAgICAgICBiKQor
ICAgICAgICgvPSBhIGIpKSkKKyhkZWZ1biB0Yy0tc2NjLTw9IChhIGIpCisgIChvciAoPSBhIGIp
CisgICAgICAoYXZsLXRyZWUtbWVtYmVyLXAKKyAgICAgICAoYXJlZiB0Yy0tc2NjLT5zdWNjZXNz
b3JzIGEpCisgICAgICAgYikpKQorCisoZGVmdW4gdGMtLXNjYy1zZXQtbnVsbCAoc3MpCisgIChh
dmwtdHJlZS1lbXB0eSBzcykpCisoZGVmdW4gdGMtLXNjYy1zZXQtbWVtYmVyIChlbHQgc3MpCisg
IChhdmwtdHJlZS1tZW1iZXItcCBzcyBlbHQpKQorKGRlZnVuIHRjLS1zY2Mtc2V0LWRlbCAoZWx0
IHNzKQorICAoYXZsLXRyZWUtZGVsZXRlIHNzIGVsdCkKKyAgc3MpCisoZGVmdW4gdGMtLXNjYy1z
ZXQtYWRkIChlbHQgc3MpCisgIChhdmwtdHJlZS1lbnRlciBzcyBlbHQpCisgIHNzKQorKGRlZnVu
IHRjLS1zY2Mtc2V0LT5saXN0IChzcykKKyAgKGF2bC10cmVlLWZsYXR0ZW4gc3MpKQorKGRlZnVu
IHRjLS1zY2Mtc2V0LXNlcSAoc3MpCisgIChhdmwtdHJlZS1zdGFjayBzcykpCisoZGVmdW4gdGMt
LXNjYy1zZXQtc2VxLW51bGwgKHNzKQorICAoYXZsLXRyZWUtc3RhY2stZW1wdHktcCBzcykpCiso
ZGVmdW4gdGMtLXNjYy1zZXQtc2VxLWZpcnN0IChzcykKKyAgKGF2bC10cmVlLXN0YWNrLWZpcnN0
IHNzKSkKKyhkZWZ1biB0Yy0tc2NjLXNldC1zZXEtcG9wIChzcykKKyAgKGF2bC10cmVlLXN0YWNr
LXBvcCBzcykpCisoZGVmdW4gdGMtLXNjYy1zZXQtbWFwY2FyIChmIHNzKQorICAoYXZsLXRyZWUt
bWFwY2FyIGYgc3MpKQorKGRlZnVuIHRjLS1zY2Mtc2V0LW1hcGNhbiAoZiBzcykKKyAgKGFwcGx5
ICMnbmNvbmMgKGF2bC10cmVlLW1hcGNhciBmIHNzKSkpCisoZGVmdW4gdGMtLXNjYy1zZXQtbWFw
YyAoZiBzcykKKyAgKGF2bC10cmVlLW1hcGMgZiBzcykpCisKKyhkZWZ1biB0Yy0tc2NjLXNldC11
bmlvbiAoc3MwICZyZXN0IHNzLXJlc3QpCisgIChsZXQgKChhY2MgKGF2bC10cmVlLWNvcHkgc3Mw
KSkKKyAgICAgICAgaWR4cykKKyAgICAod2hpbGUgc3MtcmVzdAorICAgICAgKHNldHEgaWR4cyAo
dGMtLXNjYy1zZXQtc2VxIChjYXIgc3MtcmVzdCkpKQorICAgICAgKHNldHEgc3MtcmVzdCAoY2Ry
IHNzLXJlc3QpKQorICAgICAgKHdoaWxlIChub3QgKHRjLS1zY2Mtc2V0LXNlcS1udWxsIGlkeHMp
KQorICAgICAgICAodGMtLXNjYy1zZXQtYWRkICh0Yy0tc2NjLXNldC1zZXEtcG9wIGlkeHMpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgYWNjKSkpCisgICAgYWNjKSkKKworKGRlZnVuIHRjLS1z
Y2Mtc2V0LXVuaW9uLWFjY3VtdWxhdGUgKGFjYyBzczEpCisgIChsZXQgKChpZHhzICh0Yy0tc2Nj
LXNldC1zZXEgc3MxKSkpCisgICAgKHdoaWxlIChub3QgKHRjLS1zY2Mtc2V0LXNlcS1udWxsIGlk
eHMpKQorICAgICAgKHRjLS1zY2Mtc2V0LWFkZCAodGMtLXNjYy1zZXQtc2VxLXBvcCBpZHhzKQor
ICAgICAgICAgICAgICAgICAgICAgICBhY2MpKSkKKyAgYWNjKQorCisKKyhkZWZ1biB0Yy0tYWRk
LXRvLW1lZXQtZ2VuZXJhdG9ycyAoZCBnZW5zKQorICAobGV0ICgoZ3MgKHRjLS1zY2Mtc2V0LXNl
cSBnZW5zKSkKKyAgICAgICAgKHRvLXJlbW92ZSBuaWwpKQorICAgICh3aGlsZSAoYW5kICg+IGQg
LTEpIChub3QgKHRjLS1zY2Mtc2V0LXNlcS1udWxsIGdzKSkpCisgICAgICAobGV0ICgodSAodGMt
LXNjYy1zZXQtc2VxLXBvcCBncykpKQorICAgICAgICAoY29uZAorICAgICAgICAgKCh0Yy0tc2Nj
LTw9IHUgZCkgIChzZXRxIGQgLTEpKQorICAgICAgICAgKCh0Yy0tc2NjLTwgZCB1KSAgIChwdXNo
IHUgdG8tcmVtb3ZlKSkpKSkKKyAgICAod2hlbiAoYW5kICg8IGQgMCkKKyAgICAgICAgICAgICAg
IHRvLXJlbW92ZSkKKyAgICAgIChlcnJvciAiVHJhbnNpdGl2ZSBjbG9zdXJlOiBJbmNvbnNpc3Rl
bnQgdG9wb2xvZ2ljYWwgc29ydGVkIHN1Y2Nlc3NvciBjb21wb25lbnRzIikpCisgICAgKHdoZW4g
dG8tcmVtb3ZlCisgICAgICAobWFwYyAobGFtYmRhICh4KSAodGMtLXNjYy1zZXQtZGVsIHggZ2Vu
cykpIHRvLXJlbW92ZSkpCisgICAgKHdoZW4gKD49IGQgMCkKKyAgICAgICh0Yy0tc2NjLXNldC1h
ZGQgZCBnZW5zKSkpCisgIGdlbnMpCisKKyhkZWZ1biB0Yy0tc3RhY2stdGMtdmlzaXQgKHYgdi1p
ZHggdi12aXNpdGVkIHcpCisgIChpZiAoZXEgdyB2KQorICAgICAgKGFzZXQgdGMtLWlkeC0+c2Vs
Zi1lZGdlIHYtaWR4IHQpCisgICAgKGxldCAoKHctaWR4ICh0Yy0tZ2V0LW5vZGUtaW5kZXggdykp
CisgICAgICAgICAgZndkLWVkZ2Ugdy12aXNpdGVkKQorICAgICAgOzsgdiAtPiB3IGlzIGEgZm9y
d2FyZCBlZGdlIGlmCisgICAgICA7OyAgICAoYSkgdyBoYXMgYWxyZWFkeSBiZWVuIHZpc2l0ZWQs
IGFuZAorICAgICAgOzsgICAgKGIpIHYgaXMgdmlzaXRlZCBiZWZvcmUgdworICAgICAgKHNldHEg
dy12aXNpdGVkIChhcmVmIHRjLS1pZHgtPnZpc2l0ZWQgdy1pZHgpKQorICAgICAgKHdoZW4gKGFu
ZCB3LXZpc2l0ZWQKKyAgICAgICAgICAgICAgICAgKDwgdi12aXNpdGVkIHctdmlzaXRlZCkpCisg
ICAgICAgIChzZXRxIGZ3ZC1lZGdlIHQpKQorICAgICAgKHVubGVzcyB3LXZpc2l0ZWQKKyAgICAg
ICAgKHRjLS1zdGFjay10YyB3IHctaWR4KQorICAgICAgICAoc2V0cSB3LXZpc2l0ZWQgKGFyZWYg
dGMtLWlkeC0+dmlzaXRlZCB3LWlkeCkpKQorICAgICAgKGxldCAoKHctc2NjIChhcmVmIHRjLS1p
ZHgtPnNjYyB3LWlkeCkpKQorICAgICAgICAoY29uZAorICAgICAgICAgKChudWxsIHctc2NjKQor
ICAgICAgICAgIChhc2V0IHRjLS1pZHgtPnJvb3Qgdi1pZHgKKyAgICAgICAgICAgICAgICAobWlu
IChhcmVmIHRjLS1pZHgtPnJvb3Qgdi1pZHgpCisgICAgICAgICAgICAgICAgICAgICAoYXJlZiB0
Yy0taWR4LT5yb290IHctaWR4KSkpKQorICAgICAgICAgKChub3QgZndkLWVkZ2UpCisgICAgICAg
ICAgKHB1c2ggdy1zY2MgdGMtLWNzdGFjaykKKyAgICAgICAgICAoc2V0cSB0Yy0tY3N0YWNrLWhl
aWdodCAoMSsgdGMtLWNzdGFjay1oZWlnaHQpKSkpKSkpKQorCisoZGVmdW4gdGMtLXN0YWNrLXRj
LWRldGVybWluZS1tZWV0LWdlbmVyYXRvcnMgKGgwKQorICAobGV0ICgoZ2VucyAodGMtLW1ha2Ut
c2NjLXNldCkpCisgICAgICAgIGQpCisgICAgKHdoaWxlICg+IHRjLS1jc3RhY2staGVpZ2h0IGgw
KQorICAgICAgKHNldHEgZCAocG9wIHRjLS1jc3RhY2spCisgICAgICAgICAgICB0Yy0tY3N0YWNr
LWhlaWdodCAoMS0gdGMtLWNzdGFjay1oZWlnaHQpKQorICAgICAgOzsgc2tpcCBpZiB0aGlzIGNv
bXBvbmVudCBoYXMgYWxyZWFkeSBiZWVuIHByb2Nlc3NlZAorICAgICAgKHVubGVzcyAoYXJlZiB0
Yy0tc2NjLXN1Y2NzIGQpCisgICAgICAgIDs7IHNlZSBpZiBkIGlzIGluIHN1Y2Nlc3NvcnMgb2Yg
ZXhpc3RpbmcKKyAgICAgICAgOzsgY29tcG9uZW50IG9yIHZpY2UgdmVyc2EKKyAgICAgICAgKGFz
ZXQgdGMtLXNjYy1zdWNjcyBkIHQpCisgICAgICAgIChzZXRxIGdlbnMKKyAgICAgICAgICAgICAg
KHRjLS1hZGQtdG8tbWVldC1nZW5lcmF0b3JzIGQgZ2VucykpKSkKKyAgICBnZW5zKSkKKworKGRl
ZnVuIHRjLS1zdGFjay10Yy1jb2xsZWN0LXNjYy1zdWNjcyAoYyBjLXN1Y2NzIGdlbnMpCisgIChs
ZXQgKChncyAodGMtLXNjYy1zZXQtc2VxIGdlbnMpKQorICAgICAgICAob3JkZXIgLTEpCisgICAg
ICAgIGQgZC1zdWNjcykKKyAgICAod2hpbGUgKG5vdCAodGMtLXNjYy1zZXQtc2VxLW51bGwgZ3Mp
KQorICAgICAgKHNldHEgZCAodGMtLXNjYy1zZXQtc2VxLXBvcCBncykpCisgICAgICAoc2V0cSBv
cmRlciAobWF4IG9yZGVyIChhcmVmIHRjLS1zY2MtPm9yZGVyIGQpKSkKKyAgICAgIChzZXRxIGQt
c3VjY3MgKGFyZWYgdGMtLXNjYy0+c3VjY2Vzc29ycyBkKSkKKyAgICAgIChzZXRxIGMtc3VjY3MK
KyAgICAgICAgICAgICh0Yy0tc2NjLXNldC1hZGQgZCBjLXN1Y2NzKSkKKyAgICAgIChzZXRxIGMt
c3VjY3MKKyAgICAgICAgICAgICh0Yy0tc2NjLXNldC11bmlvbi1hY2N1bXVsYXRlIGMtc3VjY3Mg
ZC1zdWNjcykpKQorICAgIChhc2V0IHRjLS1zY2MtPm9yZGVyIGMgKDErIG9yZGVyKSkpCisgIChh
c2V0IHRjLS1zY2MtPnN1Y2Nlc3NvcnMgYyBjLXN1Y2NzKQorICBjLXN1Y2NzKQorCisKKyhkZWZ1
biB0Yy0tc3RhY2stdGMtY29sbGVjdC1zY2MgKHYtaWR4KQorICAobGV0ICgoYyB0Yy0tc2NjLWNv
dW50KQorICAgICAgICA7OyBub3RlIGMtc3VjY3MgaXMgYSBzZXQgb2Ygc2NjIGluZGljZXMsIG5v
dCBpbmRpY2VzIG9mIG9yaWdpbmFsIG5vZGVzCisgICAgICAgIChjLXN1Y2NzICh0Yy0tbWFrZS1z
Y2Mtc2V0KSkKKyAgICAgICAgYy1lbHRzIGdlbnMpCisgICAgKGFzZXQgdGMtLXNjYy0+cmVwIGMg
di1pZHgpCisgICAgKGZpbGxhcnJheSB0Yy0tc2NjLXN1Y2NzIG5pbCkKKyAgICAoc2V0cSB0Yy0t
c2NjLWNvdW50ICgxKyB0Yy0tc2NjLWNvdW50KSkKKyAgICAod2hlbiAob3IgKC89IChjYXIgdGMt
LXZzdGFjaykgdi1pZHgpCisgICAgICAgICAgICAgIChhcmVmIHRjLS1pZHgtPnNlbGYtZWRnZSB2
LWlkeCkpCisgICAgICAodGMtLXNjYy1zZXQtYWRkIGMgYy1zdWNjcykpCisgICAgKHNldHEgZ2Vu
cworICAgICAgICAgICh0Yy0tc3RhY2stdGMtZGV0ZXJtaW5lLW1lZXQtZ2VuZXJhdG9ycworICAg
ICAgICAgICAoYXJlZiB0Yy0taWR4LT5oZWlnaHQgdi1pZHgpKSkKKyAgICAocHVzaCBgKCxjICxA
KHRjLS1zY2Mtc2V0LT5saXN0IGdlbnMpKSB0Yy0tc2NjLWVkZ2VzKQorICAgIChzZXRxIGMtc3Vj
Y3MKKyAgICAgICAgICAodGMtLXN0YWNrLXRjLWNvbGxlY3Qtc2NjLXN1Y2NzIGMgYy1zdWNjcyBn
ZW5zKSkKKyAgICA7OyBGaW5hbGx5IGRldGVybWluZSBtZW1iZXJzIG9mIGMKKyAgICAobGV0ICgo
dy1pZHggKHBvcCB0Yy0tdnN0YWNrKSkpCisgICAgICAoYXNldCB0Yy0taWR4LT5zY2Mgdy1pZHgg
YykKKyAgICAgIChwdXNoIHctaWR4IGMtZWx0cykKKyAgICAgICh3aGlsZSAoLz0gdy1pZHggdi1p
ZHgpCisgICAgICAgIChzZXRxIHctaWR4IChwb3AgdGMtLXZzdGFjaykpCisgICAgICAgIChhc2V0
IHRjLS1pZHgtPnNjYyB3LWlkeCBjKQorICAgICAgICAocHVzaCB3LWlkeCBjLWVsdHMpKSkKKyAg
ICAoYXNldCB0Yy0tc2NjcyBjIGMtZWx0cykpKQorCisoZGVmdW4gdGMtLXN0YWNrLXRjICh2IHYt
aWR4KQorICAiQ29tcHV0ZSB0aGUgdHJhbnNpdGl2ZSBjbG9zdXJlIG9mIHRjLS1ncmFwaCIKKyAg
KHdoZW4gKGFyZWYgdGMtLWlkeC0+dmlzaXRlZCB2LWlkeCkKKyAgICAoZXJyb3IgIlZpc2l0aW5n
ICVTICVTIHR3aWNlIiB2IHYtaWR4KSkKKyAgKGFzZXQgdGMtLWlkeC0+dmlzaXRlZCB2LWlkeCB0
Yy0tdmlzaXQtaWR4ICkKKyAgKHNldHEgdGMtLXZpc2l0LWlkeCAoMSsgdGMtLXZpc2l0LWlkeCkp
CisgIChhc2V0IHRjLS1pZHgtPnJvb3Qgdi1pZHggdi1pZHgpCisgIChhc2V0IHRjLS1pZHgtPmhl
aWdodCB2LWlkeCB0Yy0tY3N0YWNrLWhlaWdodCkKKyAgKHB1c2ggdi1pZHggdGMtLXZzdGFjaykK
KyAgKGxldCAoKHN1Y2NzIChhc3NxIHYgdGMtLWVkZ2VzKSkKKyAgICAgICAgKHYtdmlzaXRlZCAo
YXJlZiB0Yy0taWR4LT52aXNpdGVkIHYtaWR4KSkpCisgICAgKHdoZW4gc3VjY3MKKyAgICAgIChw
b3Agc3VjY3MpKQorICAgICh3aGlsZSBzdWNjcworICAgICAgKHRjLS1zdGFjay10Yy12aXNpdCB2
IHYtaWR4IHYtdmlzaXRlZCAocG9wIHN1Y2NzKSkpKQorICAod2hlbiAoPSB2LWlkeCAoYXJlZiB0
Yy0taWR4LT5yb290IHYtaWR4KSkKKyAgICAodGMtLXN0YWNrLXRjLWNvbGxlY3Qtc2NjIHYtaWR4
KSkpCisKKyhkZWZ1biB0Yy10cmFuc2l0aXZlLWNsb3N1cmUgKG5vZGVzIGVkZ2VzICZvcHRpb25h
bCByb290cykKKyAgIkNvbXB1dGUgdGhlIHRyYW5zaXRpdmUgY2xvc3VyZSBvZiB0Yy0tZ3JhcGgu
CitSZXR1cm5zIGEgdGMtZ3JhcGggc3RydWN0dXJlLiIKKyAgKHVubGVzcyByb290cworICAgIChz
ZXRxIHJvb3RzIG5vZGVzKSkKKyAgKHRjLS1pbml0IG5vZGVzIGVkZ2VzIHJvb3RzKQorICAobGV0
ICgobHMgcm9vdHMpCisgICAgICAgIHYgdi1pZHgpCisgICAgKHdoaWxlIGxzCisgICAgICAoc2V0
cSB2IChwb3AgbHMpKQorICAgICAgKHNldHEgdi1pZHggKHRjLS1nZXQtbm9kZS1pbmRleCB2KSkK
KyAgICAgICh1bmxlc3MgKGFyZWYgdGMtLWlkeC0+dmlzaXRlZCB2LWlkeCkKKyAgICAgICAgKHRj
LS1zdGFjay10YyB2IHYtaWR4KSkpKQorICAoc2V0cSB0Yy0tc2NjLT5yZXAgKG1ha2UtdmVjdG9y
IHRjLS1zY2MtY291bnQgbmlsKSkKKyAgKGxldCAoKGkgMCkKKyAgICAgICAgKG1heC1vcmRlciAw
KQorICAgICAgICAobyAtMSkKKyAgICAgICAgKHNjYy0+b3JkZXIgKG1ha2UtdmVjdG9yIHRjLS1z
Y2MtY291bnQgbmlsKSkKKyAgICAgICAgKHNjYy0+cmVwIChtYWtlLXZlY3RvciB0Yy0tc2NjLWNv
dW50IG5pbCkpCisgICAgICAgIChzY2MtPm5vZGVzIChtYWtlLXZlY3RvciB0Yy0tc2NjLWNvdW50
IG5pbCkpKQorICAgICh3aGlsZSAoPCBpIHRjLS1zY2MtY291bnQpCisgICAgICAoYXNldCBzY2Mt
Pm5vZGVzIGkgKGFyZWYgdGMtLXNjY3MgaSkpCisgICAgICAoYXNldCBzY2MtPm9yZGVyIGkgKGFy
ZWYgdGMtLXNjYy0+b3JkZXIgaSkpCisgICAgICAoc2V0cSBtYXgtb3JkZXIgKG1heCBtYXgtb3Jk
ZXIgKGFyZWYgc2NjLT5vcmRlciBpKSkpCisgICAgICAoYXNldCBzY2MtPnJlcCBpIChhcmVmIHRj
LS1zY2MtPnJlcCBpKSkKKyAgICAgIChzZXRxIGkgKDErIGkpKSkKKyAgICAoc2V0cSB0Yy0tc2Nj
LW9yZGVyaW5nIChtYWtlLXZlY3RvciAoMSsgbWF4LW9yZGVyKSBuaWwpCisgICAgICAgICAgaSAw
KQorICAgICh3aGlsZSAoPCBpIHRjLS1zY2MtY291bnQpCisgICAgICAoc2V0cSBvIChhcmVmIHNj
Yy0+b3JkZXIgaSkpCisgICAgICAoYXNldCB0Yy0tc2NjLW9yZGVyaW5nCisgICAgICAgICAgICBv
CisgICAgICAgICAgICAoY29ucyBpCisgICAgICAgICAgICAgICAgICAoYXJlZiB0Yy0tc2NjLW9y
ZGVyaW5nIG8pKSkKKyAgICAgIChzZXRxIGkgKDErIGkpKSkKKyAgICAoc2V0cSB0Yy0tc2NjLT5y
ZXAgc2NjLT5yZXApCisgICAgKHNldHEgdGMtLXNjYy0+b3JkZXIgc2NjLT5vcmRlcikKKyAgICAo
c2V0cSB0Yy0tc2NjcyBzY2MtPm5vZGVzKQorICAgIChzZXRxIGkgKDEtIHRjLS1zaXplLW5vZGVz
KSkKKyAgICAod2hpbGUgKD49IGkgMCkKKyAgICAgICh3aGVuIChhcmVmIHRjLS1pZHgtPnZpc2l0
ZWQgaSkKKyAgICAgICAgKHB1c2ggKGFyZWYgdGMtLWlkeC0+bm9kZSBpKSB0Yy0tcmVhY2hhYmxl
LW5vZGVzKSkKKyAgICAgIChzZXRxIGkgKDEtIGkpKSkpCisgIChtYWtlLXRjLS1ncmFwaAorICAg
Om5vZGVzIHRjLS1ub2RlcworICAgOmVkZ2VzIHRjLS1lZGdlcworICAgOnJvb3RzIHRjLS1yb290
cworICAgOnJlYWNoYWJsZSB0Yy0tcmVhY2hhYmxlLW5vZGVzCisgICA6bm9kZS0+aWR4IHRjLS1u
b2RlLT5pZHgKKyAgIDppZHgtPm5vZGUgdGMtLWlkeC0+bm9kZQorICAgOmlkeC0+c2NjIHRjLS1p
ZHgtPnNjYworICAgOmlkeC0+c3VjY2Vzc29ycyB0Yy0taWR4LT5zdWNjZXNzb3JzCisgICA6c2Nj
LWVkZ2VzIHRjLS1zY2MtZWRnZXMKKyAgIDpzY2MtPnJlcCB0Yy0tc2NjLT5yZXAKKyAgIDpzY2Mt
Pm9yZGVyIHRjLS1zY2MtPm9yZGVyCisgICA6c2NjLW9yZGVyaW5nIHRjLS1zY2Mtb3JkZXJpbmcK
KyAgIDpzY2MtPm5vZGVzIHRjLS1zY2NzCisgICA6c2NjLT5zdWNjcyB0Yy0tc2NjLT5zdWNjZXNz
b3JzKSkKKworCisoZGVmdW4gdGMtZ3JhcGgtc2NjICh0Y2cgdikKKyAgKHVubGVzcyAobWVtcSB2
ICh0Yy0tZ3JhcGgtbm9kZXMgdGNnKSkKKyAgICAoZXJyb3IgIiVTIGlzIG5vdCBhIG5vZGUgb2Yg
dGhlIGdyYXBoIiB2KSkKKyAgKGxldCAoKHYtaWR4IChnZXRoYXNoIHYgKHRjLS1ncmFwaC1ub2Rl
LT5pZHggdGNnKSkpCisgICAgICAgIChpZHgtPm5vZGUgKHRjLS1ncmFwaC1pZHgtPm5vZGUgdGNn
KSkKKyAgICAgICAgKGlkeC0+c2NjICh0Yy0tZ3JhcGgtaWR4LT5zY2MgdGNnKSkKKyAgICAgICAg
KHNjYy0+bm9kZXMgKHRjLS1ncmFwaC1zY2MtPm5vZGVzIHRjZykpKQorICAgIChsZXQgKChzY2Mg
KG1hcGNhciAobGFtYmRhIChpZHgpIChhcmVmIGlkeC0+bm9kZSBpZHgpKQorICAgICAgICAgICAg
ICAgICAgICAgICAoYXJlZiBzY2MtPm5vZGVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChhcmVmIGlkeC0+c2NjIHYtaWR4KSkpKSkKKyAgICAgIHNjYykpKQorCisoZGVmdW4gdGMtZ3Jh
cGgtcmVhY2hhYmxlICh0Y2cgJm9wdGlvbmFsIHYpCisgIChpZiAobnVsbCB2KQorICAgICAgKHRj
LS1ncmFwaC1yZWFjaGFibGUgdGNnKQorICAgIChsZXQgKCh2LWlkeCAoZ2V0aGFzaCB2ICh0Yy0t
Z3JhcGgtbm9kZS0+aWR4IHRjZykpKQorICAgICAgICAgIChpZHgtPm5vZGUgKHRjLS1ncmFwaC1p
ZHgtPm5vZGUgdGNnKSkKKyAgICAgICAgICAoaWR4LT5zY2MgKHRjLS1ncmFwaC1pZHgtPnNjYyB0
Y2cpKQorICAgICAgICAgIChzY2MtPnN1Y2NzICh0Yy0tZ3JhcGgtc2NjLT5zdWNjcyB0Y2cpKQor
ICAgICAgICAgIChzY2MtPm5vZGVzICh0Yy0tZ3JhcGgtc2NjLT5ub2RlcyB0Y2cpKQorICAgICAg
ICAgIChpZHgtPnN1Y2Nlc3NvcnMgKHRjLS1ncmFwaC1pZHgtPnN1Y2Nlc3NvcnMgdGNnKSkKKyAg
ICAgICAgICBzY2Mgc2NjLXN1Y2NzIHYtc3VjY3MpCisgICAgICAodW5sZXNzIChhcmVmIGlkeC0+
c3VjY2Vzc29ycyB2LWlkeCkKKyAgICAgICAgKHNldHEgc2NjIChhcmVmIGlkeC0+c2NjIHYtaWR4
KSkKKyAgICAgICAgKHNldHEgc2NjLXN1Y2NzIChhcmVmIHNjYy0+c3VjY3Mgc2NjKSkKKyAgICAg
ICAgKHNldHEgdi1zdWNjcworICAgICAgICAgICAgICAodGMtLXNjYy1zZXQtbWFwY2FuCisgICAg
ICAgICAgICAgICAobGFtYmRhIChjKQorICAgICAgICAgICAgICAgICAobWFwY2FyIChsYW1iZGEg
KGlkeCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcmVmIGlkeC0+bm9kZSBpZHgpKQor
ICAgICAgICAgICAgICAgICAgICAgICAgIChhcmVmIHNjYy0+bm9kZXMgYykpKQorICAgICAgICAg
ICAgICAgc2NjLXN1Y2NzKSkKKyAgICAgICAgKGFzZXQgaWR4LT5zdWNjZXNzb3JzIHYtaWR4IHYt
c3VjY3MpKQorICAgICAgKGFyZWYgaWR4LT5zdWNjZXNzb3JzIHYtaWR4KSkpKQorCisoZGVmdW4g
dGMtZ3JhcGgtb3JkZXIgKHRjZyB2KQorICAobGV0ICgodi1pZHggKGdldGhhc2ggdiAodGMtLWdy
YXBoLW5vZGUtPmlkeCB0Y2cpKSkKKyAgICAgICAgKGlkeC0+c2NjICh0Yy0tZ3JhcGgtaWR4LT5z
Y2MgdGNnKSkKKyAgICAgICAgKHNjYy0+b3JkZXIgKHRjLS1ncmFwaC1zY2MtPm9yZGVyIHRjZykp
KQorICAgIChhcmVmIHNjYy0+b3JkZXIKKyAgICAgICAgICAoYXJlZiBpZHgtPnNjYyB2LWlkeCkp
KSkKKworKGRlZnVuIHRjLWdyYXBoLW9yZGVyaW5nICh0Y2cpCisgIChsZXQgKChvICh0Yy0tZ3Jh
cGgtbm9kZS1vcmRlcmluZyB0Y2cpKSkKKyAgICAodW5sZXNzIG8KKyAgICAgIChzZXRxIG8gKGNv
cHktc2VxdWVuY2UgKHRjLS1ncmFwaC1zY2Mtb3JkZXJpbmcgdGNnKSkpCisgICAgICAobGV0ICgo
biAobGVuZ3RoIG8pKQorICAgICAgICAgICAgKHNjYy0+bm9kZXMgKHRjLS1ncmFwaC1zY2MtPm5v
ZGVzIHRjZykpCisgICAgICAgICAgICAoaWR4LT5ub2RlICh0Yy0tZ3JhcGgtaWR4LT5ub2RlIHRj
ZykpCisgICAgICAgICAgICAoaSAwKSkKKyAgICAgICAgKHdoaWxlICg8IGkgbikKKyAgICAgICAg
ICAoYXNldCBvIGkKKyAgICAgICAgICAgICAgICAobWFwY2FuCisgICAgICAgICAgICAgICAgIChs
YW1iZGEgKHNjYykKKyAgICAgICAgICAgICAgICAgICAobWFwY2FyIChsYW1iZGEgKGlkeCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFyZWYgaWR4LT5ub2RlIGlkeCkpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoYXJlZiBzY2MtPm5vZGVzIHNjYykpKQorICAgICAgICAgICAg
ICAgICAoYXJlZiBvIGkpKSkKKyAgICAgICAgICAoc2V0cSBpICgxKyBpKSkpKQorICAgICAgKHNl
dGYgKHRjLS1ncmFwaC1ub2RlLW9yZGVyaW5nIHRjZykgbykpCisgICAgbykpCisKKyhkZWZ1biB0
Yy1pbnZlcnQtZWRnZXMgKG5vZGVzIGVkZ2VzKQorICAobGV0ICgoaW52LW1hcCAobWFrZS1oYXNo
LXRhYmxlIDpzaXplIChsZW5ndGggbm9kZXMpKSkKKyAgICAgICAgKGludi1hbHMgbmlsKQorICAg
ICAgICAobHMgZWRnZXMpCisgICAgICAgIHRvIGZyb20gdG9scyBmcm9tbHMpCisgICAgKHdoaWxl
IGxzCisgICAgICAoc2V0cSB0b2xzIChwb3AgbHMpKQorICAgICAgKHNldHEgZnJvbSAocG9wIHRv
bHMpKQorICAgICAgKHdoaWxlIHRvbHMKKyAgICAgICAgKHNldHEgdG8gKHBvcCB0b2xzKSkKKyAg
ICAgICAgKHNldHEgZnJvbWxzIChnZXRoYXNoIHRvIGludi1tYXAgbmlsKSkKKyAgICAgICAgKHB1
c2ggZnJvbSBmcm9tbHMpCisgICAgICAgIChwdXRoYXNoIHRvIGZyb21scyBpbnYtbWFwKSkpCisg
ICAgKG1hcGhhc2ggKGxhbWJkYSAoayB2KQorICAgICAgICAgICAgICAgKHB1c2ggYCgsayAuICx2
KSBpbnYtYWxzKSkKKyAgICAgICAgICAgICBpbnYtbWFwKQorICAgIGludi1hbHMpKQorCis7OyAg
c3BlY2lmaWVkIGdyYXBoIHByb3ZpZGVzIHJldmVyc2Ugb2YgZGVzaXJlZCBvcmRlcmluZyB3cnQg
c3BlY2lmaWVkIHJvb3RzCisoZGVmdW4gdGMtcmV2ZXJzZS1yb290ZWQtZ3JhcGggKG5vZGVzIGVk
Z2VzICZvcHRpb25hbCByb290cykKKyAgKGxldCAoaW52LWVkZ2VzCisgICAgICAgIHRjZy1md2Qg
dGNnLWJhY2sKKyAgICAgICAgcmVhY2hhYmxlLW5vZGVzIHJlYWNoYWJsZSByZWFjaGFibGUtZWRn
ZXMpCisgICAgKHNldHEgaW52LWVkZ2VzICh0Yy1pbnZlcnQtZWRnZXMgbm9kZXMgZWRnZXMpKQor
ICAgIChzZXRxIHRjZy1md2QgKHRjLXRyYW5zaXRpdmUtY2xvc3VyZSBub2RlcyBpbnYtZWRnZXMg
cm9vdHMpKQorICAgIChzZXRxIHJlYWNoYWJsZS1ub2RlcyAodGMtLWdyYXBoLXJlYWNoYWJsZSB0
Y2ctZndkKSkKKyAgICAoc2V0cSByZWFjaGFibGUgKG1ha2UtaGFzaC10YWJsZSA6c2l6ZSAobGVu
Z3RoIHJlYWNoYWJsZS1ub2RlcykpKQorICAgIChtYXBjIChsYW1iZGEgKHYpIChwdXRoYXNoIHYg
dCByZWFjaGFibGUpKSByZWFjaGFibGUtbm9kZXMpCisgICAgKHNldHEgcmVhY2hhYmxlLWVkZ2Vz
CisgICAgICAgICAgKG1hcGNhbiAobGFtYmRhIChhcHIpCisgICAgICAgICAgICAgICAgICAgIChs
ZXQgKChmcm9tIChjYXIgYXByKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHRvbHMgKGNk
ciBhcHIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQpCisgICAgICAgICAgICAg
ICAgICAgICAgKHdoZW4gKGdldGhhc2ggZnJvbSByZWFjaGFibGUgbmlsKQorICAgICAgICAgICAg
ICAgICAgICAgICAgKHNldHEgcmVzdWx0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBg
KCgsZnJvbQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoc2VxLWZpbHRlcgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAodG8pCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnZXRoYXNoIHRvIHJlYWNoYWJsZSBuaWwp
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9scykpKSkpCisgICAgICAg
ICAgICAgICAgICAgICAgcmVzdWx0KSkKKyAgICAgICAgICAgICAgICAgIGVkZ2VzKSkKKyAgICAo
c2V0cSB0Y2ctYmFjayAodGMtdHJhbnNpdGl2ZS1jbG9zdXJlIHJlYWNoYWJsZS1ub2RlcyByZWFj
aGFibGUtZWRnZXMpKQorICAgIHRjZy1iYWNrKSkKKworCis7OzsgVGVzdHMKKworOzsgKGRlZnZh
ciB0c3Qtbm9kZXMgbmlsKQorOzsgKHNldHEgdHN0LW5vZGVzICcoYSBiIGMgZCBlKSkKKzs7IChk
ZWZ2YXIgdHN0LWVkZ2VzMCBuaWwpCis7OyAoc2V0cSB0c3QtZWRnZXMwICcoKSkKKzs7IChkZWZ2
YXIgdHN0LWVkZ2VzMSBuaWwpCis7OyAoc2V0cSB0c3QtZWRnZXMxICcoKGEpCis7OyAgICAgICAg
ICAgICAgICAgICAgICAoYikKKzs7ICAgICAgICAgICAgICAgICAgICAgIChjKQorOzsgICAgICAg
ICAgICAgICAgICAgICAgKGQpCis7OyAgICAgICAgICAgICAgICAgICAgICAoZSkpKQorOzsgKGRl
ZnZhciB0c3QtZWRnZXMyIG5pbCkKKzs7IChzZXRxIHRzdC1lZGdlczIgJygoYSkKKzs7ICAgICAg
ICAgICAgICAgICAgICAgICAoYiBhKQorOzsgICAgICAgICAgICAgICAgICAgICAgIChjIGIpCis7
OyAgICAgICAgICAgICAgICAgICAgICAgKGQgYykKKzs7ICAgICAgICAgICAgICAgICAgICAgICAo
ZSBkKSkpCis7OyAoZGVmdmFyIHRzdC1lZGdlczMgbmlsKQorOzsgKHNldHEgdHN0LWVkZ2VzMyAn
KChhIGIpCis7OyAgICAgICAgICAgICAgICAgICAgKGIgYykKKzs7ICAgICAgICAgICAgICAgICAg
ICAoYyBkKQorOzsgICAgICAgICAgICAgICAgICAgIChkIGUpCis7OyAgICAgICAgICAgICAgICAg
ICAgKGUpKSkKKzs7IChkZWZ2YXIgdHN0LWVkZ2VzNCBuaWwpCis7OyAoc2V0cSB0c3QtZWRnZXM0
ICcoKGEgYSkKKzs7ICAgICAgICAgICAgICAgICAgICAoYiBhIGIgYykKKzs7ICAgICAgICAgICAg
ICAgICAgICAoYyBkKQorOzsgICAgICAgICAgICAgICAgICAgIChkIGEgYikKKzs7ICAgICAgICAg
ICAgICAgICAgICAoZSBlIGIpKSkKKzs7IChkZWZ2YXIgdHN0LWVkZ2VzNSBuaWwpCis7OyAoc2V0
cSB0c3QtZWRnZXM1ICcoKGEgZSkKKzs7ICAgICAgICAgICAgICAgICAgICAoYiBkKQorOzsgICAg
ICAgICAgICAgICAgICAgIChjIGEpCis7OyAgICAgICAgICAgICAgICAgICAgKGQgZSkKKzs7ICAg
ICAgICAgICAgICAgICAgICAoZSkpKQorCis7OyAoZGVmdmFyIHRlc3QtdGMwIG5pbCkKKzs7IChz
ZXRxIHRlc3QtdGMwICh0Yy10cmFuc2l0aXZlLWNsb3N1cmUgdHN0LW5vZGVzIHRzdC1lZGdlczAp
KQorOzsgKGRlZnZhciB0ZXN0LXRjMSBuaWwpCis7OyAoc2V0cSB0ZXN0LXRjMSAodGMtdHJhbnNp
dGl2ZS1jbG9zdXJlIHRzdC1ub2RlcyB0c3QtZWRnZXMxKSkKKzs7IChkZWZ2YXIgdGVzdC10YzIg
bmlsKQorOzsgKHNldHEgdGVzdC10YzIgKHRjLXRyYW5zaXRpdmUtY2xvc3VyZSB0c3Qtbm9kZXMg
dHN0LWVkZ2VzMikpCis7OyAodGMtZ3JhcGgtc2NjIHRlc3QtdGMyICdhKQorOzsgKHRjLWdyYXBo
LXNjYyB0ZXN0LXRjMiAnYikKKzs7ICh0Yy1ncmFwaC1zY2MgdGVzdC10YzIgJ2MpCis7OyAodGMt
Z3JhcGgtc2NjIHRlc3QtdGMyICdkKQorOzsgKHRjLWdyYXBoLXNjYyB0ZXN0LXRjMiAnZSkKKzs7
ICh0Yy1ncmFwaC1zdWNjZXNzb3JzIHRlc3QtdGMyICdhKQorOzsgKHRjLWdyYXBoLXN1Y2Nlc3Nv
cnMgdGVzdC10YzIgJ2IpCis7OyAodGMtZ3JhcGgtc3VjY2Vzc29ycyB0ZXN0LXRjMiAnYykKKzs7
ICh0Yy1ncmFwaC1zdWNjZXNzb3JzIHRlc3QtdGMyICdkKQorOzsgKHRjLWdyYXBoLXN1Y2Nlc3Nv
cnMgdGVzdC10YzIgJ2UpCis7OyAoZGVmdmFyIHRlc3QtdGMzIG5pbCkKKzs7IChzZXRxIHRlc3Qt
dGMzICh0Yy10cmFuc2l0aXZlLWNsb3N1cmUgdHN0LW5vZGVzIHRzdC1lZGdlczMpKQorOzsgKHRj
LWdyYXBoLXNjYyB0ZXN0LXRjMyAnYSkKKzs7ICh0Yy1ncmFwaC1zY2MgdGVzdC10YzMgJ2IpCis7
OyAodGMtZ3JhcGgtc2NjIHRlc3QtdGMzICdjKQorOzsgKHRjLWdyYXBoLXNjYyB0ZXN0LXRjMyAn
ZCkKKzs7ICh0Yy1ncmFwaC1zY2MgdGVzdC10YzMgJ2UpCis7OyAodGMtZ3JhcGgtc3VjY2Vzc29y
cyB0ZXN0LXRjMyAnYSkKKzs7ICh0Yy1ncmFwaC1zdWNjZXNzb3JzIHRlc3QtdGMzICdiKQorOzsg
KHRjLWdyYXBoLXN1Y2Nlc3NvcnMgdGVzdC10YzMgJ2MpCis7OyAodGMtZ3JhcGgtc3VjY2Vzc29y
cyB0ZXN0LXRjMyAnZCkKKzs7ICh0Yy1ncmFwaC1zdWNjZXNzb3JzIHRlc3QtdGMzICdlKQorOzsg
KGRlZnZhciB0ZXN0LXRjNCBuaWwpCis7OyAoc2V0cSB0ZXN0LXRjNCAodGMtdHJhbnNpdGl2ZS1j
bG9zdXJlIHRzdC1ub2RlcyB0c3QtZWRnZXM0KSkKKzs7ICh0Yy1ncmFwaC1zY2MgdGVzdC10YzQg
J2EpCis7OyAodGMtZ3JhcGgtc2NjIHRlc3QtdGM0ICdiKQorOzsgKHRjLWdyYXBoLXNjYyB0ZXN0
LXRjNCAnYykKKzs7ICh0Yy1ncmFwaC1zY2MgdGVzdC10YzQgJ2QpCis7OyAodGMtZ3JhcGgtc2Nj
IHRlc3QtdGM0ICdlKQorOzsgKHRjLWdyYXBoLXN1Y2Nlc3NvcnMgdGVzdC10YzQgJ2EpCis7OyAo
dGMtZ3JhcGgtc3VjY2Vzc29ycyB0ZXN0LXRjNCAnYikKKzs7ICh0Yy1ncmFwaC1zdWNjZXNzb3Jz
IHRlc3QtdGM0ICdjKQorOzsgKHRjLWdyYXBoLXN1Y2Nlc3NvcnMgdGVzdC10YzQgJ2QpCis7OyAo
dGMtZ3JhcGgtc3VjY2Vzc29ycyB0ZXN0LXRjNCAnZSkKKzs7IChkZWZ2YXIgdGVzdC10YzUgbmls
KQorOzsgKHNldHEgdGVzdC10YzUgKHRjLXRyYW5zaXRpdmUtY2xvc3VyZSB0c3Qtbm9kZXMgdHN0
LWVkZ2VzNSkpCis7OyAodGMtZ3JhcGgtc2NjIHRlc3QtdGM1ICdhKQorOzsgKHRjLWdyYXBoLXNj
YyB0ZXN0LXRjNSAnYikKKzs7ICh0Yy1ncmFwaC1zY2MgdGVzdC10YzUgJ2MpCis7OyAodGMtZ3Jh
cGgtc2NjIHRlc3QtdGM1ICdkKQorOzsgKHRjLWdyYXBoLXNjYyB0ZXN0LXRjNSAnZSkKKzs7ICh0
Yy1ncmFwaC1zdWNjZXNzb3JzIHRlc3QtdGM1ICdhKQorOzsgKHRjLWdyYXBoLXN1Y2Nlc3NvcnMg
dGVzdC10YzUgJ2IpCis7OyAodGMtZ3JhcGgtc3VjY2Vzc29ycyB0ZXN0LXRjNSAnYykKKzs7ICh0
Yy1ncmFwaC1zdWNjZXNzb3JzIHRlc3QtdGM1ICdkKQorOzsgKHRjLWdyYXBoLXN1Y2Nlc3NvcnMg
dGVzdC10YzUgJ2UpCis7OyAoZGVmdmFyIHRlc3QtdGM1LXJldiBuaWwpCis7OyAoc2V0cSB0ZXN0
LXRjNS1yZXYgKHRjLXJldmVyc2Utcm9vdGVkLWdyYXBoIHRzdC1ub2RlcyB0c3QtZWRnZXM1ICco
ZSkpKQorOzsgKHRjLWdyYXBoLW9yZGVyaW5nIHRlc3QtdGM1LXJldikKKzs7IChkZWZ2YXIgdGVz
dC10YzUtcmV2MiBuaWwpCis7OyAoc2V0cSB0ZXN0LXRjNS1yZXYyICh0Yy1yZXZlcnNlLXJvb3Rl
ZC1ncmFwaCB0c3Qtbm9kZXMgdHN0LWVkZ2VzNSAnKGQgYSkpKQorOzsgKHRjLWdyYXBoLW9yZGVy
aW5nIHRlc3QtdGM1LXJldjIpCmRpZmYgLS1naXQgYS9saXNwL2xvYWR1cC5lbCBiL2xpc3AvbG9h
ZHVwLmVsCmluZGV4IDQ2YjI2NzUwY2Q1Li40MjA5ODU5YzFmNyAxMDA2NDQKLS0tIGEvbGlzcC9s
b2FkdXAuZWwKKysrIGIvbGlzcC9sb2FkdXAuZWwKQEAgLTM1NCw2ICszNTQsOCBAQAogOzsgZWxp
c3AtbW9kZS5lbGMgaXMgb3V0ZGF0ZWQuCiAobG9hZCAicHJvZ21vZGVzL2VsaXNwLW1vZGUiKQog
CisobG9hZCAiZW1hY3MtbGlzcC9hdmwtdHJlZS1jb3JlIikKKyhsb2FkICJlbWFjcy1saXNwL3Ry
YW5zaXRpdmUtY2xvc3VyZSIpCiA7OyBQcmVsb2FkIHNvbWUgY29uc3RhbnRzIGFuZCBmbG9hdGlu
ZyBwb2ludCBmdW5jdGlvbnMuCiAobG9hZCAiZW1hY3MtbGlzcC9mbG9hdC1zdXAiKQogCmRpZmYg
LS1naXQgYS9saXNwL3N0YXJ0dXAuZWwgYi9saXNwL3N0YXJ0dXAuZWwKaW5kZXggOWFlNTNmNGU1
MGIuLmIwMmM2MjJhNGMzIDEwMDY0NAotLS0gYS9saXNwL3N0YXJ0dXAuZWwKKysrIGIvbGlzcC9z
dGFydHVwLmVsCkBAIC0yODAsNiArMjgwLDkgQEAgY29tbWFuZC1saW5lLW5zLW9wdGlvbi1hbGlz
dAogKGRlZnZhciBiZWZvcmUtaW5pdC1ob29rIG5pbAogICAiTm9ybWFsIGhvb2sgcnVuIGFmdGVy
IGhhbmRsaW5nIHVyZ2VudCBvcHRpb25zIGJ1dCBiZWZvcmUgbG9hZGluZyBpbml0IGZpbGVzLiIp
CiAKKyhkZWZ2YXIgYmVmb3JlLWluaXQtd2l0aC1mcmFtZS1ob29rIG5pbAorICAiTm9ybWFsIGhv
b2sgcnVuIGFmdGVyIHNldHRpbmcgdXAgdGhlIGZyYW1lIGJ1dCBiZWZvcmUgbG9hZGluZyBpbml0
IGZpbGVzLiIpCisKIChkZWZ2YXIgYWZ0ZXItaW5pdC1ob29rIG5pbAogICAiTm9ybWFsIGhvb2sg
cnVuIGFmdGVyIGluaXRpYWxpemluZyB0aGUgRW1hY3Mgc2Vzc2lvbi4KIEl0IGlzIHJ1biBhZnRl
ciBFbWFjcyBsb2FkcyB0aGUgaW5pdCBmaWxlLCBgZGVmYXVsdCcgbGlicmFyeSwgdGhlCkBAIC0x
MzA2LDggKzEzMDksOSBAQCBjb21tYW5kLWxpbmUKICAgICAgIChtYXBjICMnY3VzdG9tLXJlZXZh
bHVhdGUtc2V0dGluZwogICAgICAgICAgICAgOzsgSW5pdGlhbGl6ZSB0aGVtIGluIHRoZSBzYW1l
IG9yZGVyIHRoZXkgd2VyZSBsb2FkZWQsIGluCiAgICAgICAgICAgICA7OyBjYXNlIHRoZXJlIGFy
ZSBkZXBlbmRlbmNpZXMgYmV0d2VlbiB0aGVtLgotICAgICAgICAgICAgKHJldmVyc2UgY3VzdG9t
LWRlbGF5ZWQtaW5pdC12YXJpYWJsZXMpKSkpCi0gIChzZXRxIGN1c3RvbS1kZWxheWVkLWluaXQt
dmFyaWFibGVzIHQpCisgICAgICAgICAgICAocmV2ZXJzZSBjdXN0b20tZGVsYXllZC1pbml0LXZh
cmlhYmxlcykpCisgICAgICAoc2V0cSBjdXN0b20tZGVsYXllZC1pbml0LXZhcmlhYmxlcyB0KSkK
KyAgICAoY3VzdG9tLWRvLXN0YXJ0dXAtc2V0dGluZ3MpKQogCiAgIDs7IFdhcm4gZm9yIGludmFs
aWQgdXNlciBuYW1lLgogICAod2hlbiBpbml0LWZpbGUtdXNlcgpAQCAtMTQ1OCw2ICsxNDYyLDEw
IEBAIGNvbW1hbmQtbGluZQogICAob3IgKGVxIGluaXRpYWwtd2luZG93LXN5c3RlbSAncGMpCiAg
ICAgICAodHR5LXJlZ2lzdGVyLWRlZmF1bHQtY29sb3JzKSkKIAorICA7OyBhbGxvdyBob29rcyB0
byBydW4gb25jZSB0aGUgZnJhbWUgaGFzIGJlZW4gc2V0dXAKKyAgOzsgbmVlZGVkIGZvciBsb2Fk
aW5nIHdpZC1lZGl0CisgIChydW4taG9va3MgJ2JlZm9yZS1pbml0LXdpdGgtZnJhbWUtaG9vaykK
KwogICAobGV0ICgob2xkLXNjYWxhYmxlLWZvbnRzLWFsbG93ZWQgc2NhbGFibGUtZm9udHMtYWxs
b3dlZCkKIAkob2xkLWZhY2UtaWdub3JlZC1mb250cyBmYWNlLWlnbm9yZWQtZm9udHMpKQogCg==
--000000000000b67efc05f554d7d1--




Acknowledgement sent to Lynn Winebarger <owinebar@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#61721; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 4 Sep 2023 09:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.