GNU bug report logs - #59641
term is very slow

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; Severity: wishlist; Reported by: Akib Azmain Turja <akib@HIDDEN>; Keywords: moreinfo; dated Sun, 27 Nov 2022 20:02:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Severity set to 'wishlist' from 'normal' Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 59641) by debbugs.gnu.org; 17 Dec 2022 15:47:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Dec 17 10:47:33 2022
Received: from localhost ([127.0.0.1]:56547 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p6ZPR-0002Gf-Ia
	for submit <at> debbugs.gnu.org; Sat, 17 Dec 2022 10:47:33 -0500
Received: from eggs.gnu.org ([209.51.188.92]:43202)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1p6ZPP-0002GI-HH
 for 59641 <at> debbugs.gnu.org; Sat, 17 Dec 2022 10:47:31 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1p6ZPK-0000nI-5N; Sat, 17 Dec 2022 10:47:26 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=ajdpHuvQ7NeSN7tkDZ1REsqy4DMK3mxd482cwanb+xQ=; b=QAxIJmz1ZvUc
 0riybcRjMkhUE8tR8IsE4szOD+rRdjXn1a2qeUJ0VbgWuUZUqo5SaC1bwU+pHD+jZvB3Fxd8leedz
 DYkzzLkbg2AlLQFgXsYK2rCHad7331l1J8vkYM6M5oFKfZqRShDmzHQ3IO7JnmCQaY+emR77mSw1G
 hfvFl1G8pmGB9feebom0BDkmVgU4AAcps0mAi1sIHkc2S68THP2PosAZlfGa3hwmQ1gB+YMGdT5Ul
 JvmYTRAfoCUfB6stjfE0ZCYoVst1zz5ZNVd9+QjIkhdvA8Q2zeBenCeNAh7AU4x4K0v4a2Q2xtkng
 VhcpUeheJHAu8hxIMOZ3+A==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1p6ZPJ-0001Wm-HW; Sat, 17 Dec 2022 10:47:25 -0500
Date: Sat, 17 Dec 2022 17:47:31 +0200
Message-Id: <83sfheghgs.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Akib Azmain Turja <akib@HIDDEN>
In-Reply-To: <87ilia2oty.fsf@HIDDEN> (message from Akib Azmain Turja on
 Sat, 17 Dec 2022 18:32:09 +0600)
Subject: Re: bug#59641: term is very slow
References: <878rjwmale.fsf@HIDDEN> <835yf0p2ba.fsf@HIDDEN>
 <87zgbn2oep.fsf@HIDDEN> <83pmcji3bu.fsf@HIDDEN>
 <87ilia2oty.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 59641
Cc: 59641 <at> debbugs.gnu.org
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>
X-Spam-Score: -3.3 (---)

> From: Akib Azmain Turja <akib@HIDDEN>
> Cc: 59641 <at> debbugs.gnu.org
> Date: Sat, 17 Dec 2022 18:32:09 +0600
> 
> I guess the hot spot here is 'vertical-motion'.  'vertical-motion' takes
> various things into account, which are unnecessary for a terminal
> emulator.  Eat implements its own motion functions, which make their own
> assumptions (e.g. each character takes exactly one column, each line
> finishes with a newline, etc).  I guess this might be a reason why Eat
> is faster.

If there's no need for the specific features that vertical-motion
provides, calling it might indeed be unnecessary.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#59641; Package emacs. Full text available.

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


Received: (at 59641) by debbugs.gnu.org; 17 Dec 2022 14:45:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Dec 17 09:45:59 2022
Received: from localhost ([127.0.0.1]:56281 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p6YRq-0001gm-Gf
	for submit <at> debbugs.gnu.org; Sat, 17 Dec 2022 09:45:59 -0500
Received: from knopi.disroot.org ([178.21.23.139]:52154)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <akib@HIDDEN>) id 1p6YRo-0001gg-AG
 for 59641 <at> debbugs.gnu.org; Sat, 17 Dec 2022 09:45:57 -0500
Received: from localhost (localhost [127.0.0.1])
 by disroot.org (Postfix) with ESMTP id E5A6F411F7;
 Sat, 17 Dec 2022 15:45:54 +0100 (CET)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from knopi.disroot.org ([127.0.0.1])
 by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id ib9xpxRdx0lu; Sat, 17 Dec 2022 15:45:53 +0100 (CET)
From: Akib Azmain Turja <akib@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
 t=1671288353; bh=vZGF+gbeMr428gd4G0DDPlyrCb2yYdDyhpuaDb3kDQw=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date;
 b=Q/zcR8s5BUk/i01CNtdieBr/HJbmbiF4tCR6+FdXW+zvRXsi29VfHZ83ZBhh0IYP7
 aBqpJpWT78/7YwDTfcxSouATGVOdz6XG4LaCz9JqDFOajNpYPMODa2nI3Bw3ArcHHS
 VQq64lFidEcAj2vPEPYSA0BYIuyXlr4J4TPki6z4Evmsg+B92P5423GrBtkNrrfNn7
 xI0qG6CETgUWmzSKI6uIzhA8HVrgtSdp+RuwHPdwceUkSBvRBtf0bucVI57SBx/Ylh
 gk6BNN9HvE24CS58W6ev8SVkKj+RysHn3Q4TXLtq8LIjynD6PQ/zxfFTgef4uCP/iz
 JnKNDkp6UCqcA==
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#59641: term is very slow
In-Reply-To: <83pmcji3bu.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 16 Dec
 2022 20:57:41 +0200")
References: <878rjwmale.fsf@HIDDEN> <835yf0p2ba.fsf@HIDDEN>
 <87zgbn2oep.fsf@HIDDEN> <83pmcji3bu.fsf@HIDDEN>
Date: Sat, 17 Dec 2022 18:32:09 +0600
Message-ID: <87ilia2oty.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha256; protocol="application/pgp-signature"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 59641
Cc: 59641 <at> debbugs.gnu.org
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>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

I missed this again!  There is definitely something wrong.  Anyway...

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Akib Azmain Turja <akib@HIDDEN>
>> Cc: 59641 <at> debbugs.gnu.org
>> Date: Sat, 17 Dec 2022 00:29:02 +0600
>>=20
>> >> Here are the reports (attached), but don't seem to be human readable:
>> >
>> > Copy them from the display shown by profiler-report, after you expand =
it
>> > completely.
>> >
>> > And the "cpu" profile is enough; the "mem" one doesn't add anything us=
eful.
>>=20
>> Sorry, I missed this reply.  I found this in debbugs.gnu.org.  :O
>>=20
>> Here is the data:  (I didn't redo the steps, I just did
>> 'M-x profiler-find-profile RET path/to/profile'.  ;)  )
>>=20
>> --8<---------------cut here---------------start------------->8---
>>         9397  95% - term-emulate-terminal
>>         2710  27%  - term-handle-ansi-escape
>>         1831  18%   - term-down
>>            8   0%      term-move-columns
>>          765   7%   - term-goto
>
> Doesn't surprise me: most of the time is spent in term.el's business
> logic, not in Emacs display primitives.

I know that very well.

>
> If you want to work on speeding up term.el, I suggest to start by
> loading term.el (not term.elc) manually, and repeating the profiling
> session.  That could tell you in more detail where are the hot sports
> in those functions at the top of the profile.  Then some clever
> optimization ideas are needed to make it significantly faster.
>
> Thanks.

I guess the hot spot here is 'vertical-motion'.  'vertical-motion' takes
various things into account, which are unnecessary for a terminal
emulator.  Eat implements its own motion functions, which make their own
assumptions (e.g. each character takes exactly one column, each line
finishes with a newline, etc).  I guess this might be a reason why Eat
is faster.

Note that I'm the author of Eat, and Term is a direct competitor of Eat.
So although I want Term to be faster, I will be of course biased if I
try to improve Term.  But don't get me wrong, I really want Term to do
better; competition is fun when you have tough competitors!

Here is the CPU profile data, with 'term.el' loaded:

=2D-8<---------------cut here---------------start------------->8---
        1551  87% - term-emulate-terminal
        1551  87%  - if
        1551  87%   - progn
        1551  87%    - save-current-buffer
        1515  85%     - let*
        1515  85%      - let
        1515  85%       - save-current-buffer
        1515  85%        - unwind-protect
        1515  85%         - progn
        1361  76%          - save-restriction
        1361  76%           - while
        1341  75%            - let
        1130  63%             - let*
        1126  63%              - cond
        1126  63%               - let
         586  33%                - funcall
         108   6%                 - vertical-motion
         100   5%                  - jit-lock-function
          84   4%                   - jit-lock-fontify-now
          64   3%                    - jit-lock--run-functions
          24   1%                     - #<compiled -0x1546ff15e132d103>
          24   1%                      - font-lock-fontify-region
          24   1%                         font-lock-default-fontify-region
          20   1%                     - #<compiled -0x1540f7d5aaa5a503>
          20   1%                        font-lock-fontify-region
           4   0%                     - #<compiled -0x1546e4779f110a03>
           4   0%                      - font-lock-fontify-region
           4   0%                       - font-lock-default-fontify-region
           4   0%                        - font-lock-extend-region-wholelin=
es
           4   0%                           syntax-propertize-wholelines
           4   0%                       #<compiled -0x15468ebfcfc1d703>
           4   0%                     - #<compiled -0x15464f08f89a1f03>
           4   0%                      - font-lock-fontify-region
           4   0%                       - font-lock-default-fontify-region
           4   0%                          #<compiled -0x7e8feab343044be>
         532  30%                - if
         528  29%                 - term-down
         528  29%                  - let
         344  19%                   - if
         304  17%                    - if
         304  17%                     - progn
         304  17%                      - setq
         300  16%                       - -
         300  16%                        - funcall
          56   3%                         - vertical-motion
          52   2%                          - jit-lock-function
          48   2%                           - jit-lock-fontify-now
          32   1%                            - jit-lock--run-functions
          12   0%                             - #<compiled -0x1546ecc8334f3=
d03>
          12   0%                                font-lock-fontify-region
           8   0%                             - #<compiled -0x1546d143afc77=
e03>
           8   0%                              - font-lock-fontify-region
           8   0%                                 font-lock-default-fontify=
-region
           8   0%                             - #<compiled -0x1546c17e6a2d8=
c03>
           8   0%                              - font-lock-fontify-region
           8   0%                               - font-lock-default-fontify=
-region
           8   0%                                  font-lock-extend-region-=
wholelines
          28   1%                    - progn
          28   1%                     - term-move-columns
          28   1%                      - term-move-to-column
          28   1%                         let
           4   0%                    - and
           4   0%                       =3D
           4   0%                      term-adjust-current-row-cache
         184  10%                   - cond
         176   9%                    - term-insert-char
         172   9%                     - let
          56   3%                      - put-text-property
          20   1%                         jit-lock-after-change
           4   0%                         syntax-ppss-flush-cache
          48   2%                      - insert-char
          20   1%                         jit-lock-after-change
           4   0%                and
         203  11%             - if
         187  10%              - progn
         147   8%               - let
          24   1%                - progn
          24   1%                   setq
          24   1%                - put-text-property
           8   0%                   jit-lock-after-change
          20   1%                - insert
           8   0%                   jit-lock-after-change
           4   0%                - term-horizontal-column
           4   0%                 - -
           4   0%                  - term-current-column
           4   0%                   - cond
           4   0%                      setq
           8   0%                 setq
           8   0%                 if
          16   0%              setq
         136   7%          - if
         136   7%           - progn
         136   7%            - term-handle-deferred-scroll
         136   7%             - let
         136   7%              - if
         136   7%               - progn
         136   7%                - save-excursion
         136   7%                   funcall
          18   1%          - while
          18   1%           - progn
          18   1%            - if
          18   1%             - progn
          18   1%              - let
          18   1%               - if
          18   1%                - progn
          18   1%                 - if
          18   1%                    not
          36   2%     - if
          36   2%      - progn
          36   2%       - redisplay
           4   0%        - redisplay_internal (C function)
           4   0%         - eval
           4   0%            if
         171   9% - ...
         171   9%    Automatic GC
          40   2% - command-execute
          22   1%  - byte-code
          22   1%   - read-extended-command
          22   1%    - read-extended-command-1
           8   0%       completing-read-default
          18   1%  - funcall-interactively
          10   0%   - minibuffer-complete
          10   0%    - completion-in-region
          10   0%     - completion--in-region
           6   0%      - #<compiled -0x737dfeebbd42962>
           6   0%       - apply
           6   0%        - #<compiled 0x147bf53b9756e246>
           6   0%         - completion--in-region-1
           6   0%          - completion--do-completion
           6   0%           - completion-try-completion
           6   0%            - completion--nth-completion
           6   0%             - completion--some
           6   0%              - #<compiled -0xb70f507d86b95cc>
           6   0%               - completion-basic-try-completion
           6   0%                - #<subr F616e6f6e796d6f75732d6c616d626461=
_anonymous_lambda_54>
           6   0%                   complete-with-action
           4   0%      - #<compiled -0x737dfeebbd42962>
           4   0%       - apply
           4   0%        - #<compiled 0x147bf53b9756e246>
           4   0%         - completion--in-region-1
           4   0%          - completion--do-completion
           4   0%           - completion-try-completion
           4   0%            - completion--nth-completion
           4   0%             - completion--some
           4   0%              - #<compiled -0xb70f507d86b95cc>
           4   0%               - completion-pcm-try-completion
           4   0%                - completion-pcm--find-all-completions
           4   0%                 - completion-pcm--all-completions
           4   0%                  - #<subr F616e6f6e796d6f75732d6c616d6264=
61_anonymous_lambda_54>
           4   0%                     complete-with-action
           8   0%   - execute-extended-command
           8   0%    - command-execute
           8   0%       funcall-interactively
           7   0% - timer-event-handler
           7   0%  - apply
           4   0%     #<compiled -0xabecf6a07658066>
           3   0%   - #<compiled -0xabecf6a07658066>
           3   0%      execute-extended-command--shorter
           2   0% - redisplay_internal (C function)
           2   0%  - term--update-term-menu
           2   0%   - if
           2   0%    - progn
           2   0%     - let
           2   0%      - easy-menu-change
           2   0%       - mapcar
           2   0%        - #<lambda 0x1984cdb809973d69>
           2   0%         - vector
           2   0%            format
=2D-8<---------------cut here---------------end--------------->8---

=2D-=20
Akib Azmain Turja, GPG key: 70018CE5819F17A3BBA666AFE74F0EFA922AE7F5
Fediverse: akib@HIDDEN
Codeberg: akib
emailselfdefense.fsf.org | "Nothing can be secure without encryption."

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEyVTKmrtL6kNBe3FRVTX89U2IYWsFAmOdtsoACgkQVTX89U2I
YWtmnxAA0aDTji/mnlTvxNKdCx82nJwPPiBYroqoKZ3vWVPvMi9uP1XPxmdx0HUL
hHOjPeO/olJqXnBpMS4yxcGlwDMx9Et8atFHeBsAeJPbIeAn463NhVIJXdX1HL5b
NW3jqXYLqAPsXn8rjp6gAnn0lX7OKopYc0IFYv9e98sIySPx22FiyGzo68XuDsYJ
+mRniqBcYSMDtusPYcd3M/fqzC4g7G9OsYa8d5xvsI6XZqXPzHbfpO3gCoQ6T3RM
iunYi8xcu5S0Y0B6fyPr4ZXDBUQSw5YsVqKBhrwGjMdPAv7RUYPE/7HaFPaWFdXX
7MjFHlDkxlZYy0klZLhyrfY/roIWA4o5GLE6RGmx+f1j/99KNlFx0Sazjnm63O3x
uo6rLXpPxVLcjI1+ua8ieWzxqVkPjFD0F+hmFAd294T9ApI7M59+Qgx7H/5R2jv9
G65YH1mDEySFQ48nSlcQRcfqnORQsdFOssTZB6Szt1fR9Av9hl69foELGZmOpONS
FHd6ssY3kmnKs8+rUfUj+o8CG5jcHINKzX1Onqf3niuG6x6hhoYYRvz3P6cq8XHs
FBT7BSwTonG87IFpqBkNpBRUi4reJapyXL0SaTpC+n7cJ9Hlifv46kHzOByf9xgL
o9e9RMWtpvIwStKyyPE1bfwe2hTU0he6Tb1mx0jkOtt1c4wGjos=
=KZ9k
-----END PGP SIGNATURE-----
--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#59641; Package emacs. Full text available.

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


Received: (at 59641) by debbugs.gnu.org; 16 Dec 2022 18:57:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 16 13:57:50 2022
Received: from localhost ([127.0.0.1]:50999 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p6Fu2-0005Wf-5M
	for submit <at> debbugs.gnu.org; Fri, 16 Dec 2022 13:57:50 -0500
Received: from eggs.gnu.org ([209.51.188.92]:38952)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1p6Ftx-0005WY-KO
 for 59641 <at> debbugs.gnu.org; Fri, 16 Dec 2022 13:57:48 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1p6Ftr-0004Oq-FA; Fri, 16 Dec 2022 13:57:39 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=/sYYxEYsbqUParym5RWbvcplvWUCetDu40KNn7vg+1o=; b=ckW8D1K82ksR
 BXuhxdMrqQssrae9SjiZg/xOcDFNUqqY5qd0m78fRP4ToBBPZQN1zwR7gNd5ZtO9MqALsvsLOUCYQ
 ad4KnfhBD2+R5knsrCyRbocPXbJTjhDYsKRynAWOEU43HIJSzop2BZ2+80aMgVpaJxsXiKLIEnjxH
 z7K23ldHmuaGy1sc9pjd7NsVAGtLbeGmGgghj0qc7CF0kKD/GCe8mMTp7vcwj+AjsZ/XjesaG6+6D
 pTjbrIxUluwJ+F4voZ531WF5JRkb/uoQC0ffrv+hdT1HxJLgddYzSztDI69+FV+I/95/tOGz0gvxA
 lWjrHvqK/dgn0cmocfkdIQ==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1p6Ftq-0007Bl-VU; Fri, 16 Dec 2022 13:57:39 -0500
Date: Fri, 16 Dec 2022 20:57:41 +0200
Message-Id: <83pmcji3bu.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Akib Azmain Turja <akib@HIDDEN>
In-Reply-To: <87zgbn2oep.fsf@HIDDEN> (message from Akib Azmain Turja on
 Sat, 17 Dec 2022 00:29:02 +0600)
Subject: Re: bug#59641: term is very slow
References: <878rjwmale.fsf@HIDDEN> <835yf0p2ba.fsf@HIDDEN>
 <87zgbn2oep.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 59641
Cc: 59641 <at> debbugs.gnu.org
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>
X-Spam-Score: -3.3 (---)

> From: Akib Azmain Turja <akib@HIDDEN>
> Cc: 59641 <at> debbugs.gnu.org
> Date: Sat, 17 Dec 2022 00:29:02 +0600
> 
> >> Here are the reports (attached), but don't seem to be human readable:
> >
> > Copy them from the display shown by profiler-report, after you expand it
> > completely.
> >
> > And the "cpu" profile is enough; the "mem" one doesn't add anything useful.
> 
> Sorry, I missed this reply.  I found this in debbugs.gnu.org.  :O
> 
> Here is the data:  (I didn't redo the steps, I just did
> 'M-x profiler-find-profile RET path/to/profile'.  ;)  )
> 
> --8<---------------cut here---------------start------------->8---
>         9397  95% - term-emulate-terminal
>         2710  27%  - term-handle-ansi-escape
>         1831  18%   - term-down
>            8   0%      term-move-columns
>          765   7%   - term-goto

Doesn't surprise me: most of the time is spent in term.el's business
logic, not in Emacs display primitives.

If you want to work on speeding up term.el, I suggest to start by
loading term.el (not term.elc) manually, and repeating the profiling
session.  That could tell you in more detail where are the hot sports
in those functions at the top of the profile.  Then some clever
optimization ideas are needed to make it significantly faster.

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#59641; Package emacs. Full text available.

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


Received: (at 59641) by debbugs.gnu.org; 16 Dec 2022 18:29:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 16 13:29:50 2022
Received: from localhost ([127.0.0.1]:50860 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p6FSw-00058F-63
	for submit <at> debbugs.gnu.org; Fri, 16 Dec 2022 13:29:50 -0500
Received: from knopi.disroot.org ([178.21.23.139]:35194)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <akib@HIDDEN>) id 1p6FSt-000589-J2
 for 59641 <at> debbugs.gnu.org; Fri, 16 Dec 2022 13:29:48 -0500
Received: from localhost (localhost [127.0.0.1])
 by disroot.org (Postfix) with ESMTP id D145A411D2;
 Fri, 16 Dec 2022 19:29:45 +0100 (CET)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from knopi.disroot.org ([127.0.0.1])
 by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id MXaJg6I47NBw; Fri, 16 Dec 2022 19:29:44 +0100 (CET)
From: Akib Azmain Turja <akib@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
 t=1671215384; bh=CXcouwAeROXYN4ma70hb9VmylroNBLZ/kIiEnia2Hf0=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date;
 b=PbXBgP1Z2EWWlvWT5MLzTK/g5/xCyg9paDiTfIoWFuEbYb2K8SII9oYsM9kL1yNZM
 sjVEn4pV3cPpPmxN/TUBBexau6ECPRFkqu72et6L/KzQo30oTXRF5+x2uoldcAiFtr
 PjHi1C53UH7k37awZ4F6Ok/I5Gi3uuwM/cwD4qzLKd8aUkluUgV7al797YGUmJ/K/3
 cygkmhvxfAJa0mgTIDa9I4jzmy2xQ4/+xHHYa4uepaqJE+id5ErguNWiQO944omAGa
 +IZKYsPAqeSnnr9Sc2lFUfE8Sk8MuXlHY5Pwhfqiyrn0fi0JWAnqScl1DmRieBU6Db
 PRFyxmxW//ruQ==
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#59641: term is very slow
In-Reply-To: <835yf0p2ba.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 27 Nov
 2022 22:31:05 +0200")
References: <878rjwmale.fsf@HIDDEN> <835yf0p2ba.fsf@HIDDEN>
Date: Sat, 17 Dec 2022 00:29:02 +0600
Message-ID: <87zgbn2oep.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha256; protocol="application/pgp-signature"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 59641
Cc: 59641 <at> debbugs.gnu.org
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>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Eli Zaretskii <eliz@HIDDEN> writes:

>> Date: Mon, 28 Nov 2022 02:00:29 +0600
>> From:  Akib Azmain Turja via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
>>=20
>> Term mode is very slow.  On my computer, Coterm is 2-3x faster than
>> term, and my own terminal emulator, Eat, is 4-5x faster.
>>=20
>> I tried to profile Term.  Steps:
>>=20
>> 1. emacs -Q (+ -nw, environment variable DISPLAY was unset)
>> 2. M-x profiler-start RET cpu+mem RET
>> 3. M-x term
>> 4. Run the following stupid command:
>>    timeout 1 bash -c 'i=3D0 ; while true ; do echo $i ; i=3D$((i+1)) ; d=
one'
>>    Note I also run emacs -nw in before this command.
>> 5. Wait for finishing.
>> 6. M-x profiler-stop
>> 7. M-x profiler-report
>>=20
>> Here are the reports (attached), but don't seem to be human readable:
>
> Copy them from the display shown by profiler-report, after you expand it
> completely.
>
> And the "cpu" profile is enough; the "mem" one doesn't add anything usefu=
l.

Sorry, I missed this reply.  I found this in debbugs.gnu.org.  :O

Here is the data:  (I didn't redo the steps, I just did
'M-x profiler-find-profile RET path/to/profile'.  ;)  )

=2D-8<---------------cut here---------------start------------->8---
        9397  95% - term-emulate-terminal
        2710  27%  - term-handle-ansi-escape
        1831  18%   - term-down
           8   0%      term-move-columns
         765   7%   - term-goto
         714   7%      term-down
          82   0%   - term--handle-colors-list
          66   0%    - term--color-as-hex
          34   0%     - face-background
          34   0%      - face-attribute
          20   0%       - face-attribute-merged-with
          16   0%          face-attribute
           6   0%         face-attribute
          32   0%     - face-foreground
          20   0%      - face-attribute
           8   0%         face-attribute
        1846  18%  - term-down
          68   0%   - vertical-motion
          68   0%    - jit-lock-function
          68   0%     - jit-lock-fontify-now
          28   0%      - jit-lock--run-functions
           8   0%       - #<compiled -0x1552f4e0aae95e03>
           8   0%        - font-lock-fontify-region
           8   0%         - font-lock-default-fontify-region
           8   0%            font-lock-unfontify-region
           8   0%       - #<compiled -0x1554fa224e318f03>
           8   0%        - font-lock-fontify-region
           8   0%           font-lock-default-fontify-region
           4   0%       - #<compiled -0x1546c88d0dca1d03>
           4   0%        - font-lock-fontify-region
           4   0%         - font-lock-default-fontify-region
           4   0%            font-lock-extend-region-wholelines
           4   0%       - #<compiled -0x1546c2ed8adb7d03>
           4   0%          font-lock-fontify-region
          68   0%   - term-insert-char
          28   0%      jit-lock-after-change
          28   0%     term-move-columns
         379   3%  - vertical-motion
         363   3%   - jit-lock-function
         317   3%    - jit-lock-fontify-now
         155   1%     - run-with-timer
         155   1%      - run-at-time
         100   1%       - timer-activate
          96   0%        - timer--activate
           8   0%           timer--time-less-p
          20   0%         timer-set-time
          98   0%     - jit-lock--run-functions
          22   0%      - #<compiled -0x1552ff392e9c9603>
          22   0%         font-lock-fontify-region
          20   0%      - #<compiled -0x1552f71a36b2fc03>
          20   0%       - font-lock-fontify-region
          20   0%        - font-lock-default-fontify-region
          20   0%         - font-lock-extend-region-wholelines
          20   0%            syntax-propertize-wholelines
          20   0%      - #<compiled -0x1546fd5b53d9da03>
          20   0%       - font-lock-fontify-region
          20   0%          font-lock-default-fontify-region
          12   0%      - #<compiled -0x1552f745b3231203>
          12   0%       - font-lock-fontify-region
          12   0%        - font-lock-default-fontify-region
          12   0%           font-lock-extend-region-wholelines
          12   0%      - #<compiled -0x1540fac747b55603>
          12   0%       - font-lock-fontify-region
          12   0%        - font-lock-default-fontify-region
          12   0%           font-lock-unfontify-region
           8   0%        #<compiled -0x1540fac747b55603>
           4   0%      - #<compiled -0x1540f619efa85203>
           4   0%       - font-lock-fontify-region
           4   0%          font-lock-set-defaults
         235   2%  - term-move-columns
          10   0%     term-move-to-column
         137   1%    term-handle-deferred-scroll
         111   1%    jit-lock-after-change
          24   0%  - redisplay_internal (C function)
           8   0%   - term--update-term-menu
           8   0%    - easy-menu-change
           8   0%     - easy-menu-add-item
           8   0%      - easy-menu-get-map
           8   0%       - mapcar
           8   0%        - #<compiled 0x12afad0b062c4ebb>
           8   0%           easy-menu-lookup-name
           8   0%   - jit-lock-function
           8   0%    - jit-lock-fontify-now
           8   0%     - jit-lock--run-functions
           4   0%      - #<compiled -0x1540fe59cc42d603>
           4   0%       - font-lock-fontify-region
           4   0%          font-lock-set-defaults
           4   0%      - #<compiled -0x1540fe59cc42d603>
           4   0%         font-lock-fontify-region
           8   0%   - eval
           4   0%      if
          12   0%    syntax-ppss-flush-cache
          12   0%  - timer-event-handler
          12   0%   - apply
           4   0%    - show-paren-function
           4   0%     - show-paren--default
           4   0%        syntax-ppss
           8   0%  - eval
           8   0%     if
           4   0%  - jit-lock-function
           4   0%   - jit-lock-fontify-now
           4   0%    - jit-lock--run-functions
           4   0%       #<compiled -0x1546deb559806303>
         347   3% - ...
         347   3%    Automatic GC
         127   1% - command-execute
          82   0%  - funcall-interactively
          77   0%   - execute-extended-command
          65   0%    - command-execute
          53   0%     - byte-code
          26   0%      - require
          26   0%         byte-code
           4   0%      - read-shell-command
           4   0%         read-from-minibuffer
           8   0%       funcall-interactively
           4   0%     - defvar
           4   0%        byte-code
           4   0%     term-send-raw
          45   0%  - byte-code
          45   0%   - read-extended-command
          45   0%    - read-extended-command-1
          40   0%     - completing-read-default
          11   0%      - timer-event-handler
          11   0%       - apply
           7   0%          #<subr F616e6f6e796d6f75732d6c616d626461_anonymo=
us_lambda_9>
           4   0%        - show-paren-function
           2   0%           show-paren--default
           3   0%        #<compiled -0xa873503662230e4>
           6   0% - timer-event-handler
           6   0%  - apply
           4   0%   - #<compiled -0xb30f43a056c4866>
           4   0%    - execute-extended-command--shorter
           4   0%       #<compiled 0x1a044bbfab7de9f2>
           2   0%   - show-paren-function
           2   0%      buffer-match-p
           2   0% - redisplay_internal (C function)
           2   0%  - redisplay--pre-redisplay-functions
           2   0%   - run-hook-with-args
           2   0%      redisplay--update-region-highlight
=2D-8<---------------cut here---------------end--------------->8---

=2D-=20
Akib Azmain Turja, GPG key: 70018CE5819F17A3BBA666AFE74F0EFA922AE7F5
Fediverse: akib@HIDDEN
Codeberg: akib
emailselfdefense.fsf.org | "Nothing can be secure without encryption."

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEyVTKmrtL6kNBe3FRVTX89U2IYWsFAmOcuO8ACgkQVTX89U2I
YWs7rhAAhV2Bbhnn/n4gqp7mlA9ak7hcRsipdHiflNFYNLKbxM57+d5fTIPcN8Bf
NqOh9idVy0GMNzXrCtLtstqY+n6pdP3GgUmpPrHUXN7uoevfRfsdDNTDEq/uw4XN
ElVxVPBYe8q3yPZjqHBdsluga8P+8C/E5XoZN6KBAVYI9O8JdJTTN0Rrz4WEcpiN
76SUBCkuAg0Eeb5jO9o4EhmnKpYG2hwoj3g1OTOCP8kx4FKHNWcVS452I5oN3nNi
2keQvBGJEZPJEQpABWlO1iasaGzkFN6oPRO0tYjt8x9ht8UpLPNBKaSiX4jM7EAx
JXmzwbczlT43jOshPOCYbjk9AS7p6f5HGCQoSwj9/BtvaqlEXxY7HxPXRE7gxJoq
NXd3RLdE3YttJFeuBazUtACMWJlBeMP9/4aQwjmV5tMpCjgx2NdqEpFTBZE/KUl3
JiynnClQ1EsPd/B1bPzDYu1ZPx1+JPua9Q+Yt4v1KrCDD8URVFJ40oncsP25hfuj
8WTig3K/lV1yqAiUpLd5jPdQkae92DyEq8wp7Ikap3askPaUwAPgZkr1DHnEHmiE
FRfGLFL9xyCTh2sRpjw5wx6J1w8NMRVUJFFG3CBqAC7FtLSf5w36Lrymclh5iOTN
BjjYAKdz3Dw1jNcNgzCawTpY0Y9ptACB7M4lIR2FVaeTMjgQas8=
=vJsU
-----END PGP SIGNATURE-----
--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#59641; Package emacs. Full text available.
Added tag(s) moreinfo. Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 59641) by debbugs.gnu.org; 27 Nov 2022 20:30:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 27 15:30:45 2022
Received: from localhost ([127.0.0.1]:44080 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ozOIW-0000Kd-Np
	for submit <at> debbugs.gnu.org; Sun, 27 Nov 2022 15:30:45 -0500
Received: from eggs.gnu.org ([209.51.188.92]:60086)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1ozOIU-0000KX-Th
 for 59641 <at> debbugs.gnu.org; Sun, 27 Nov 2022 15:30:43 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1ozOIP-0002tC-N4; Sun, 27 Nov 2022 15:30:37 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=5iz8ZbLpaqn3Epco9c1xUQoNcaX2c7y8+7pWUJzkoa0=; b=dM2KolWM3PVn
 JW5i5Nat3W4poEtRCU7htqMcwdx4azrjJatdllTO8UyvNOQvgfsMRowvHwG9kaJTv9q4Vp5FI3NhH
 KxOawuneRTQrcDsfh/RdK0VKrsxGu9SCjYroT0exdqWi1uB94h0Xju8v8Q1x9P4AA0e7FQKf3JTxy
 +5wrpdkRLYtptvRY06UvIBO2VinqoOavjYxJKMUqLztuhvD49GHw/xUBqoAD5NrQPk0kEbyeZLIvk
 GNxAUWe3MkbKkDALRj4HZoO2tvAMzSmFuiEZMC5apXJD4vEJRbmNKD06+jF+mX9hznqvpn0/85re4
 NmlUF4zFhkEFdXXfmHAqDg==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1ozOIN-0007t5-NE; Sun, 27 Nov 2022 15:30:37 -0500
Date: Sun, 27 Nov 2022 22:31:05 +0200
Message-Id: <835yf0p2ba.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Akib Azmain Turja <akib@HIDDEN>
In-Reply-To: <878rjwmale.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#59641: term is very slow
References: <878rjwmale.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 59641
Cc: 59641 <at> debbugs.gnu.org
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>
X-Spam-Score: -3.3 (---)

> Date: Mon, 28 Nov 2022 02:00:29 +0600
> From:  Akib Azmain Turja via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> Term mode is very slow.  On my computer, Coterm is 2-3x faster than
> term, and my own terminal emulator, Eat, is 4-5x faster.
> 
> I tried to profile Term.  Steps:
> 
> 1. emacs -Q (+ -nw, environment variable DISPLAY was unset)
> 2. M-x profiler-start RET cpu+mem RET
> 3. M-x term
> 4. Run the following stupid command:
>    timeout 1 bash -c 'i=0 ; while true ; do echo $i ; i=$((i+1)) ; done'
>    Note I also run emacs -nw in before this command.
> 5. Wait for finishing.
> 6. M-x profiler-stop
> 7. M-x profiler-report
> 
> Here are the reports (attached), but don't seem to be human readable:

Copy them from the display shown by profiler-report, after you expand it
completely.

And the "cpu" profile is enough; the "mem" one doesn't add anything useful.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#59641; Package emacs. Full text available.

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


Received: (at submit) by debbugs.gnu.org; 27 Nov 2022 20:01:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 27 15:01:07 2022
Received: from localhost ([127.0.0.1]:43948 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ozNpr-0008WP-DL
	for submit <at> debbugs.gnu.org; Sun, 27 Nov 2022 15:01:07 -0500
Received: from lists.gnu.org ([209.51.188.17]:55822)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <akib@HIDDEN>) id 1ozNpp-0008WJ-6r
 for submit <at> debbugs.gnu.org; Sun, 27 Nov 2022 15:01:05 -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 <akib@HIDDEN>) id 1ozNpo-0008E8-VH
 for bug-gnu-emacs@HIDDEN; Sun, 27 Nov 2022 15:01:04 -0500
Received: from knopi.disroot.org ([178.21.23.139])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <akib@HIDDEN>) id 1ozNpn-0006fA-3c
 for bug-gnu-emacs@HIDDEN; Sun, 27 Nov 2022 15:01:04 -0500
Received: from localhost (localhost [127.0.0.1])
 by disroot.org (Postfix) with ESMTP id E0522413B4
 for <bug-gnu-emacs@HIDDEN>; Sun, 27 Nov 2022 21:01:01 +0100 (CET)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from knopi.disroot.org ([127.0.0.1])
 by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id dptT8xhli_pE for <bug-gnu-emacs@HIDDEN>;
 Sun, 27 Nov 2022 21:01:00 +0100 (CET)
From: Akib Azmain Turja <akib@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
 t=1669579260; bh=RZfk8zGce/QFSwM/VwMXhFvAVDKjZv0flV/XF9Rz3bQ=;
 h=From:To:Subject:Date:From;
 b=X1wjEX9X7ZOh2bqZgUK33QXIs/IIIo4wG5yyROOeSv6D5C3JmkCWoxg767NJV1ta8
 aubwwmjF3x4PSN5QUJtEysMKv39WeNIRlsV8D8g6ywzLRulIkiLpKJ0N1XOkSRhIu0
 JdqDFCjQ1nOnd7xS3pbjvm3XKjQqO+Bv6tc9ve0CITXlPUgtq4gNtWWZcjOGmCEoch
 iO4ZI8ZjllWorVuWNOl8pmeGcVfW+pzecdiN+AWBYdrQUc43PkfeHpSX9/jgVluDHG
 njoXNlEpUXN7sqU7sriJhrzMqvXcQOGQIGlE+aMBGROyQe3fky9nziZgfsYxyT6X08
 vhmAczCM23Yng==
To: bug-gnu-emacs@HIDDEN
Subject: term is very slow
Date: Mon, 28 Nov 2022 02:00:29 +0600
Message-ID: <878rjwmale.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="==-=-=";
 micalg=pgp-sha256; protocol="application/pgp-signature"
Received-SPF: pass client-ip=178.21.23.139; envelope-from=akib@HIDDEN;
 helo=knopi.disroot.org
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, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
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>
X-Spam-Score: -2.4 (--)

--==-=-=
Content-Type: multipart/mixed; boundary="=-=-="

--=-=-=
Content-Type: text/plain


Term mode is very slow.  On my computer, Coterm is 2-3x faster than
term, and my own terminal emulator, Eat, is 4-5x faster.

I tried to profile Term.  Steps:

1. emacs -Q (+ -nw, environment variable DISPLAY was unset)
2. M-x profiler-start RET cpu+mem RET
3. M-x term
4. Run the following stupid command:
   timeout 1 bash -c 'i=0 ; while true ; do echo $i ; i=$((i+1)) ; done'
   Note I also run emacs -nw in before this command.
5. Wait for finishing.
6. M-x profiler-stop
7. M-x profiler-report

Here are the reports (attached), but don't seem to be human readable:


--=-=-=
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=term-cpu-profile-data
Content-Transfer-Encoding: base64
Content-Description: CPU Profile Data

Cltwcm9maWxlci1wcm9maWxlICIyOC4xIiBjcHUgI3MoaGFzaC10YWJsZSBzaXplIDk3IHRlc3Qg
ZXF1YWwgcmVoYXNoLXNpemUgMS41IHJlaGFzaC10aHJlc2hvbGQgMC44MTI1IGRhdGEgKFtmdW5j
YWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFu
ZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDggW2NvbXBsZXRpbmctcmVhZC1kZWZhdWx0IHJl
YWQtZXh0ZW5kZWQtY29tbWFuZC0xIHJlYWQtZXh0ZW5kZWQtY29tbWFuZCBieXRlLWNvZGUgY29t
bWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxd
IDI2IFsiIzxjb21waWxlZCAtMHhhODczNTAzNjYyMjMwZTQ+IiBjb21wbGV0aW5nLXJlYWQtZGVm
YXVsdCByZWFkLWV4dGVuZGVkLWNvbW1hbmQtMSByZWFkLWV4dGVuZGVkLWNvbW1hbmQgYnl0ZS1j
b2RlIGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWxdIDMgW3Nob3ctcGFyZW4tLWRlZmF1bHQgc2hvdy1wYXJlbi1mdW5jdGlvbiBhcHBseSB0aW1l
ci1ldmVudC1oYW5kbGVyIGNvbXBsZXRpbmctcmVhZC1kZWZhdWx0IHJlYWQtZXh0ZW5kZWQtY29t
bWFuZC0xIHJlYWQtZXh0ZW5kZWQtY29tbWFuZCBieXRlLWNvZGUgY29tbWFuZC1leGVjdXRlIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMiBbc2hvdy1wYXJlbi1mdW5jdGlvbiBhcHBseSB0
aW1lci1ldmVudC1oYW5kbGVyIGNvbXBsZXRpbmctcmVhZC1kZWZhdWx0IHJlYWQtZXh0ZW5kZWQt
Y29tbWFuZC0xIHJlYWQtZXh0ZW5kZWQtY29tbWFuZCBieXRlLWNvZGUgY29tbWFuZC1leGVjdXRl
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDIgW2V4ZWN1dGUtZXh0ZW5kZWQtY29t
bWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTIgW2J5dGUtY29kZSBjb21t
YW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJhY3RpdmVs
eSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbF0gMjMgW2J5dGUtY29kZSByZXF1aXJlIGJ5dGUtY29kZSBjb21tYW5kLWV4ZWN1dGUgZXhl
Y3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1
dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDI2IFtieXRlLWNvZGUgZGVm
dmFyIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRl
cmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWxdIDQgW3JlYWQtZnJvbS1taW5pYnVmZmVyIHJlYWQtc2hlbGwtY29tbWFuZCBieXRl
LWNvZGUgY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWlu
dGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsXSA0IFsiIzxjb21waWxlZCAweDFhMDQ0YmJmYWI3ZGU5ZjI+IiBleGVjdXRlLWV4dGVu
ZGVkLWNvbW1hbmQtLXNob3J0ZXIgIiM8Y29tcGlsZWQgLTB4YjMwZjQzYTA1NmM0ODY2PiIgYXBw
bHkgdGltZXItZXZlbnQtaGFuZGxlciBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsXSA0IFtlYXN5LW1lbnUtbG9va3VwLW5hbWUgIiM8Y29tcGlsZWQgMHgxMmFmYWQw
YjA2MmM0ZWJiPiIgbWFwY2FyIGVhc3ktbWVudS1nZXQtbWFwIGVhc3ktbWVudS1hZGQtaXRlbSBl
YXN5LW1lbnUtY2hhbmdlIHRlcm0tLXVwZGF0ZS10ZXJtLW1lbnUgcmVkaXNwbGF5X2ludGVybmFs
XCBcKENcIGZ1bmN0aW9uXCkgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbF0gOCBbdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAzOTE5IFtuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEw
NjMgW3JlZGlzcGxheS0tdXBkYXRlLXJlZ2lvbi1oaWdobGlnaHQgcnVuLWhvb2std2l0aC1hcmdz
IHJlZGlzcGxheS0tcHJlLXJlZGlzcGxheS1mdW5jdGlvbnMgcmVkaXNwbGF5X2ludGVybmFsXCBc
KENcIGZ1bmN0aW9uXCkgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWxdIDIgW3Rlcm0tZ290byB0ZXJtLWhhbmRsZS1hbnNpLWVzY2FwZSB0ZXJtLWVtdWxhdGUt
dGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsXSA1MSBbaWYgZXZhbCB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA4IFtmYWNlLWF0dHJpYnV0ZSBmYWNl
LWF0dHJpYnV0ZSBmYWNlLWJhY2tncm91bmQgdGVybS0tY29sb3ItYXMtaGV4IHRlcm0tLWhhbmRs
ZS1jb2xvcnMtbGlzdCB0ZXJtLWhhbmRsZS1hbnNpLWVzY2FwZSB0ZXJtLWVtdWxhdGUtdGVybWlu
YWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDYgW3Rlcm0tZG93biB0ZXJt
LWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbF0gMTY4MiBbdGVybS1kb3duIHRlcm0taGFuZGxlLWFuc2ktZXNjYXBl
IHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWxdIDE4MjMgW2ZhY2UtYXR0cmlidXRlIGZhY2UtZm9yZWdyb3VuZCB0
ZXJtLS1jb2xvci1hcy1oZXggdGVybS0taGFuZGxlLWNvbG9ycy1saXN0IHRlcm0taGFuZGxlLWFu
c2ktZXNjYXBlIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWxdIDEyIFt0ZXJtLW1vdmUtdG8tY29sdW1uIHRlcm0tbW92ZS1jb2x1bW5z
IHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWxdIDEwIFt0ZXJtLW1vdmUtY29sdW1ucyB0ZXJtLWRvd24gdGVybS1l
bXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbF0gMjggW2ppdC1sb2NrLWFmdGVyLWNoYW5nZSB0ZXJtLWVtdWxhdGUtdGVybWlu
YWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bF0gMTExIFt0ZXJtLW1vdmUtY29sdW1ucyB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMjI1IFtydW4t
YXQtdGltZSBydW4td2l0aC10aW1lciBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5j
dGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMzUgW3Rlcm0tZG93biB0ZXJtLWdvdG8gdGVybS1o
YW5kbGUtYW5zaS1lc2NhcGUgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA3MTQgW3ZlcnRpY2FsLW1vdGlvbiB0ZXJt
LWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbF0gMTYgW2ZvbnQtbG9jay1zZXQtZGVmYXVsdHMgZm9udC1sb2NrLWZv
bnRpZnktcmVnaW9uICIjPGNvbXBpbGVkIC0weDE1NDBmZTU5Y2M0MmQ2MDM+IiBqaXQtbG9jay0t
cnVuLWZ1bmN0aW9ucyBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiByZWRp
c3BsYXlfaW50ZXJuYWxcIFwoQ1wgZnVuY3Rpb25cKSB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmls
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gNCBbZm9udC1sb2NrLWZvbnRpZnktcmVnaW9u
ICIjPGNvbXBpbGVkIC0weDE1NTJmZjM5MmU5Yzk2MDM+IiBqaXQtbG9jay0tcnVuLWZ1bmN0aW9u
cyBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24g
dGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
XSAyMiBbdGVybS1oYW5kbGUtYW5zaS1lc2NhcGUgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDMyIFtz
eW50YXgtcHJvcGVydGl6ZS13aG9sZWxpbmVzIGZvbnQtbG9jay1leHRlbmQtcmVnaW9uLXdob2xl
bGluZXMgZm9udC1sb2NrLWRlZmF1bHQtZm9udGlmeS1yZWdpb24gZm9udC1sb2NrLWZvbnRpZnkt
cmVnaW9uICIjPGNvbXBpbGVkIC0weDE1NTJmNzFhMzZiMmZjMDM+IiBqaXQtbG9jay0tcnVuLWZ1
bmN0aW9ucyBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1t
b3Rpb24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAyMCBb
ZmFjZS1mb3JlZ3JvdW5kIHRlcm0tLWNvbG9yLWFzLWhleCB0ZXJtLS1oYW5kbGUtY29sb3JzLWxp
c3QgdGVybS1oYW5kbGUtYW5zaS1lc2NhcGUgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEyIFt0aW1lci0tYWN0aXZhdGUg
dGltZXItYWN0aXZhdGUgcnVuLWF0LXRpbWUgcnVuLXdpdGgtdGltZXIgaml0LWxvY2stZm9udGlm
eS1ub3cgaml0LWxvY2stZnVuY3Rpb24gdmVydGljYWwtbW90aW9uIHRlcm0tZW11bGF0ZS10ZXJt
aW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA4OCBbdGVybS0taGFuZGxlLWNv
bG9ycy1saXN0IHRlcm0taGFuZGxlLWFuc2ktZXNjYXBlIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDE2IFtz
eW50YXgtcHBzcy1mbHVzaC1jYWNoZSB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTIgW3RpbWVyLS10
aW1lLWxlc3MtcCB0aW1lci0tYWN0aXZhdGUgdGltZXItYWN0aXZhdGUgcnVuLWF0LXRpbWUgcnVu
LXdpdGgtdGltZXIgaml0LWxvY2stZm9udGlmeS1ub3cgaml0LWxvY2stZnVuY3Rpb24gdmVydGlj
YWwtbW90aW9uIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWxdIDggW2ppdC1sb2NrLWZ1bmN0aW9uIHZlcnRpY2FsLW1vdGlvbiB0ZXJtLWVtdWxhdGUtdGVy
bWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
XSA0NiBbaml0LWxvY2stZm9udGlmeS1ub3cgaml0LWxvY2stZnVuY3Rpb24gdmVydGljYWwtbW90
aW9uIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbF0gNjQgW2ZvbnQtbG9jay1leHRlbmQtcmVnaW9uLXdob2xlbGluZXMg
Zm9udC1sb2NrLWRlZmF1bHQtZm9udGlmeS1yZWdpb24gZm9udC1sb2NrLWZvbnRpZnktcmVnaW9u
ICIjPGNvbXBpbGVkIC0weDE1NTJmNzQ1YjMyMzEyMDM+IiBqaXQtbG9jay0tcnVuLWZ1bmN0aW9u
cyBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24g
dGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTIgW3Rl
cm0tbW92ZS1jb2x1bW5zIHRlcm0tZG93biB0ZXJtLWhhbmRsZS1hbnNpLWVzY2FwZSB0ZXJtLWVt
dWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWxdIDggW2ZvbnQtbG9jay1kZWZhdWx0LWZvbnRpZnktcmVnaW9uIGZvbnQtbG9jay1mb250
aWZ5LXJlZ2lvbiAiIzxjb21waWxlZCAtMHgxNTQ2ZmQ1YjUzZDlkYTAzPiIgaml0LWxvY2stLXJ1
bi1mdW5jdGlvbnMgaml0LWxvY2stZm9udGlmeS1ub3cgaml0LWxvY2stZnVuY3Rpb24gdmVydGlj
YWwtbW90aW9uIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsXSAyMCBbaWYgZXZhbCByZWRpc3BsYXlfaW50ZXJuYWxcIFwoQ1wgZnVuY3Rpb25cKSB0
ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWxdIDQgW2ZvbnQtbG9jay11bmZvbnRpZnktcmVnaW9uIGZvbnQtbG9jay1kZWZh
dWx0LWZvbnRpZnktcmVnaW9uIGZvbnQtbG9jay1mb250aWZ5LXJlZ2lvbiAiIzxjb21waWxlZCAt
MHgxNTQwZmFjNzQ3YjU1NjAzPiIgaml0LWxvY2stLXJ1bi1mdW5jdGlvbnMgaml0LWxvY2stZm9u
dGlmeS1ub3cgaml0LWxvY2stZnVuY3Rpb24gdmVydGljYWwtbW90aW9uIHRlcm0tZW11bGF0ZS10
ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEyIFtmYWNlLWF0dHJpYnV0ZSBm
YWNlLWF0dHJpYnV0ZSBmYWNlLWZvcmVncm91bmQgdGVybS0tY29sb3ItYXMtaGV4IHRlcm0tLWhh
bmRsZS1jb2xvcnMtbGlzdCB0ZXJtLWhhbmRsZS1hbnNpLWVzY2FwZSB0ZXJtLWVtdWxhdGUtdGVy
bWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDggW2ZhY2UtYXR0cmli
dXRlIGZhY2UtYXR0cmlidXRlLW1lcmdlZC13aXRoIGZhY2UtYXR0cmlidXRlIGZhY2UtYmFja2dy
b3VuZCB0ZXJtLS1jb2xvci1hcy1oZXggdGVybS0taGFuZGxlLWNvbG9ycy1saXN0IHRlcm0taGFu
ZGxlLWFuc2ktZXNjYXBlIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsXSAxNiBbZmFjZS1hdHRyaWJ1dGUgZmFjZS1iYWNrZ3JvdW5kIHRlcm0tLWNv
bG9yLWFzLWhleCB0ZXJtLS1oYW5kbGUtY29sb3JzLWxpc3QgdGVybS1oYW5kbGUtYW5zaS1lc2Nh
cGUgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbF0gOCBbc3ludGF4LXBwc3Mgc2hvdy1wYXJlbi0tZGVmYXVsdCBzaG93LXBhcmVuLWZ1
bmN0aW9uIGFwcGx5IHRpbWVyLWV2ZW50LWhhbmRsZXIgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gNCBbdGltZXItc2V0LXRpbWUg
cnVuLWF0LXRpbWUgcnVuLXdpdGgtdGltZXIgaml0LWxvY2stZm9udGlmeS1ub3cgaml0LWxvY2st
ZnVuY3Rpb24gdmVydGljYWwtbW90aW9uIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMjAgW3Rlcm0tc2VuZC1yYXcgZnVuY2FsbC1pbnRl
cmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbCBuaWxdIDQgW2FwcGx5IHRpbWVyLWV2ZW50LWhhbmRsZXIgdGVybS1l
bXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbF0gOCBbZm9udC1sb2NrLXNldC1kZWZhdWx0cyBmb250LWxvY2stZm9udGlmeS1y
ZWdpb24gIiM8Y29tcGlsZWQgLTB4MTU0MGY2MTllZmE4NTIwMz4iIGppdC1sb2NrLS1ydW4tZnVu
Y3Rpb25zIGppdC1sb2NrLWZvbnRpZnktbm93IGppdC1sb2NrLWZ1bmN0aW9uIHZlcnRpY2FsLW1v
dGlvbiB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bF0gNCBbZmFjZS1hdHRyaWJ1dGUtbWVyZ2VkLXdpdGggZmFjZS1hdHRyaWJ1dGUgZmFjZS1iYWNr
Z3JvdW5kIHRlcm0tLWNvbG9yLWFzLWhleCB0ZXJtLS1oYW5kbGUtY29sb3JzLWxpc3QgdGVybS1o
YW5kbGUtYW5zaS1lc2NhcGUgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsXSA0IFsiIzxjb21waWxlZCAtMHgxNTQwZmFjNzQ3YjU1NjAzPiIg
aml0LWxvY2stLXJ1bi1mdW5jdGlvbnMgaml0LWxvY2stZm9udGlmeS1ub3cgaml0LWxvY2stZnVu
Y3Rpb24gdmVydGljYWwtbW90aW9uIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDggW2ZvbnQtbG9jay1mb250aWZ5LXJlZ2lvbiAi
Izxjb21waWxlZCAtMHgxNTQwZmU1OWNjNDJkNjAzPiIgaml0LWxvY2stLXJ1bi1mdW5jdGlvbnMg
aml0LWxvY2stZm9udGlmeS1ub3cgaml0LWxvY2stZnVuY3Rpb24gcmVkaXNwbGF5X2ludGVybmFs
XCBcKENcIGZ1bmN0aW9uXCkgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsXSA0IFt0aW1lci1hY3RpdmF0ZSBydW4tYXQtdGltZSBydW4td2l0
aC10aW1lciBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1t
b3Rpb24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsXSA0IFtldmFsIHJlZGlzcGxheV9pbnRlcm5hbFwgXChDXCBmdW5jdGlvblwpIHRlcm0t
ZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWxdIDQgW2J1ZmZlci1tYXRjaC1wIHNob3ctcGFyZW4tZnVuY3Rpb24gYXBwbHkg
dGltZXItZXZlbnQtaGFuZGxlciBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbF0gMiBbZm9udC1sb2NrLXVuZm9udGlmeS1yZWdpb24gZm9udC1sb2NrLWRlZmF1
bHQtZm9udGlmeS1yZWdpb24gZm9udC1sb2NrLWZvbnRpZnktcmVnaW9uICIjPGNvbXBpbGVkIC0w
eDE1NTJmNGUwYWFlOTVlMDM+IiBqaXQtbG9jay0tcnVuLWZ1bmN0aW9ucyBqaXQtbG9jay1mb250
aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1kb3duIHRlcm0t
ZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gOCBbdGVybS1pbnNlcnQt
Y2hhciB0ZXJtLWRvd24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gNDAgW2ppdC1sb2NrLWFmdGVyLWNoYW5n
ZSB0ZXJtLWluc2VydC1jaGFyIHRlcm0tZG93biB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDI4IFtqaXQtbG9jay1m
b250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1kb3duIHRl
cm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsXSA0MCBbdGVybS1oYW5kbGUtZGVmZXJyZWQtc2Nyb2xsIHRlcm0tZW11bGF0ZS10ZXJt
aW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsXSAxMzcgW2ZvbnQtbG9jay1kZWZhdWx0LWZvbnRpZnktcmVnaW9uIGZvbnQtbG9jay1mb250
aWZ5LXJlZ2lvbiAiIzxjb21waWxlZCAtMHgxNTU0ZmEyMjRlMzE4ZjAzPiIgaml0LWxvY2stLXJ1
bi1mdW5jdGlvbnMgaml0LWxvY2stZm9udGlmeS1ub3cgaml0LWxvY2stZnVuY3Rpb24gdmVydGlj
YWwtbW90aW9uIHRlcm0tZG93biB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsXSA4IFtqaXQtbG9jay0tcnVuLWZ1bmN0aW9ucyBqaXQtbG9jay1mb250aWZ5
LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1kb3duIHRlcm0tZW11
bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDQg
W2ZvbnQtbG9jay1leHRlbmQtcmVnaW9uLXdob2xlbGluZXMgZm9udC1sb2NrLWRlZmF1bHQtZm9u
dGlmeS1yZWdpb24gZm9udC1sb2NrLWZvbnRpZnktcmVnaW9uICIjPGNvbXBpbGVkIC0weDE1NDZj
ODhkMGRjYTFkMDM+IiBqaXQtbG9jay0tcnVuLWZ1bmN0aW9ucyBqaXQtbG9jay1mb250aWZ5LW5v
dyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1kb3duIHRlcm0tZW11bGF0
ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gNCBbIiM8Y29tcGlsZWQgLTB4MTU0
NmRlYjU1OTgwNjMwMz4iIGppdC1sb2NrLS1ydW4tZnVuY3Rpb25zIGppdC1sb2NrLWZvbnRpZnkt
bm93IGppdC1sb2NrLWZ1bmN0aW9uIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA0IFtmb250LWxvY2stZm9udGlmeS1yZWdp
b24gIiM8Y29tcGlsZWQgLTB4MTU0NmMyZWQ4YWRiN2QwMz4iIGppdC1sb2NrLS1ydW4tZnVuY3Rp
b25zIGppdC1sb2NrLWZvbnRpZnktbm93IGppdC1sb2NrLWZ1bmN0aW9uIHZlcnRpY2FsLW1vdGlv
biB0ZXJtLWRvd24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWxdIDQgWyIjPHN1YnIgRjYxNmU2ZjZlNzk2ZDZmNzU3MzJkNmM2MTZkNjI2NDYxX2Fu
b255bW91c19sYW1iZGFfOT4iIGFwcGx5IHRpbWVyLWV2ZW50LWhhbmRsZXIgY29tcGxldGluZy1y
ZWFkLWRlZmF1bHQgcmVhZC1leHRlbmRlZC1jb21tYW5kLTEgcmVhZC1leHRlbmRlZC1jb21tYW5k
IGJ5dGUtY29kZSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bF0gNyBbcmVhZC1leHRlbmRlZC1jb21tYW5kLTEgcmVhZC1leHRlbmRlZC1jb21tYW5kIGJ5dGUt
Y29kZSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWxdIDUgW2Z1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmls
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMSBb
QXV0b21hdGljXCBHQ10gMzQ3KSkgKDI1NDc1IDQ4MzY0IDc0MDgxNSA1NDkwMDApIG5pbF0K
--=-=-=
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=term-memory-profile-data
Content-Transfer-Encoding: base64
Content-Description: Memory Profile Data

Cltwcm9maWxlci1wcm9maWxlICIyOC4xIiBtZW1vcnkgI3MoaGFzaC10YWJsZSBzaXplIDIxNyB0
ZXN0IGVxdWFsIHJlaGFzaC1zaXplIDEuNSByZWhhc2gtdGhyZXNob2xkIDAuODEyNSBkYXRhIChb
ZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNv
bW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAzNjk1MzAzIFtjbGVhci1taW5pYnVmZmVy
LW1lc3NhZ2UgcHJvZmlsZXItc3RhcnQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhl
Y3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1h
bmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTc3MCBbdGlt
ZXItc2V0LXRpbWUgcnVuLWF0LXRpbWUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwt
aW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbF0gNDggW3RpbWVyLS1hY3RpdmF0ZSB0aW1lci1hY3RpdmF0ZSBydW4t
YXQtdGltZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNv
bW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDQ4
IFt0aW1lci1zZXQtaWRsZS10aW1lIHJ1bi13aXRoLWlkbGUtdGltZXIgZWxkb2Mtc2NoZWR1bGUt
dGltZXIgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
XSAyNCBbbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsXSA3NDI2NzU4IFtyZWFkLWV4dGVuZGVkLWNvbW1hbmQtMSByZWFkLWV4dGVu
ZGVkLWNvbW1hbmQgYnl0ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTA3ODIgW2NvbXBsZXRpbmctcmVhZC1kZWZh
dWx0IHJlYWQtZXh0ZW5kZWQtY29tbWFuZC0xIHJlYWQtZXh0ZW5kZWQtY29tbWFuZCBieXRlLWNv
ZGUgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWxdIDExNTI5MiBbIiM8Y29tcGlsZWQgLTB4YTg3MzUwMzY2MjIzMGU0PiIgY29tcGxldGlu
Zy1yZWFkLWRlZmF1bHQgcmVhZC1leHRlbmRlZC1jb21tYW5kLTEgcmVhZC1leHRlbmRlZC1jb21t
YW5kIGJ5dGUtY29kZSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsXSAyNzI4IFtjb21tYW5kLWV4ZWN1dGUgY29tcGxldGluZy1yZWFkLWRlZmF1
bHQgcmVhZC1leHRlbmRlZC1jb21tYW5kLTEgcmVhZC1leHRlbmRlZC1jb21tYW5kIGJ5dGUtY29k
ZSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
XSAzMDQgW2Z1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMjE1Njk5IFtzdWJz
dGl0dXRlLWVudi1pbi1maWxlLW5hbWUgY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQt
Y29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDExNTIgW2V4ZWN1dGUtZXh0ZW5kZWQt
Y29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMjIwMTY2IFtjb21tYW5k
LWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBj
b21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWxdIDc1NjggW2J5dGUtY29kZSBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1j
b21tYW5kIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gNDM5OTI4IFtyZXF1aXJlIGJ5dGUtY29k
ZSBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJh
Y3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsXSA1MTc2IFtieXRlLWNvZGUgcmVxdWlyZSBieXRlLWNvZGUgY29tbWFuZC1leGVjdXRl
IGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1l
eGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAyOTU1ODEgW3JlcXVp
cmUgYnl0ZS1jb2RlIHJlcXVpcmUgYnl0ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4
dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxNDEzOSBbbWFrZS1lbXB0eS1mYWNlIGZhY2Ut
c3BlYy1zZXQgY3VzdG9tLWRlY2xhcmUtZmFjZSByZXF1aXJlIGJ5dGUtY29kZSByZXF1aXJlIGJ5
dGUtY29kZSBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwt
aW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbF0gNTc1MiBb
a2V5LXZhbGlkLXAga2V5bWFwLS1jaGVjayBrZXltYXAtc2V0IGRlZmluZS1rZXltYXAgZGVmdmFy
IHJlcXVpcmUgYnl0ZS1jb2RlIHJlcXVpcmUgYnl0ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVj
dXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0
ZSBuaWwgbmlsIG5pbF0gNjQwMCBba2V5bWFwLXNldCBkZWZpbmUta2V5bWFwIGRlZnZhciByZXF1
aXJlIGJ5dGUtY29kZSByZXF1aXJlIGJ5dGUtY29kZSBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1l
eHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmls
IG5pbCBuaWwgbmlsIG5pbF0gMTE3NzYgW3JlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91
cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdCAiIzxjb21waWxl
ZCAtMHgxYzdmM2Q1MWY3OWFmZTQ3PiIgZnVuY2FsbCBldmFsIGN1c3RvbS1pbml0aWFsaXplLXJl
c2V0IGN1c3RvbS1kZWNsYXJlLXZhcmlhYmxlIGJ5dGUtY29kZSByZXF1aXJlIGJ5dGUtY29kZSBj
b21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJhY3Rp
dmVseV0gMTYzNjggW3JlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0
LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0ICIjPGNv
bXBpbGVkIC0weDFjN2YzZDUxZjc5YWZlNDc+IiBmdW5jYWxsIGV2YWwgY3VzdG9tLWluaXRpYWxp
emUtcmVzZXQgY3VzdG9tLWRlY2xhcmUtdmFyaWFibGUgYnl0ZS1jb2RlIHJlcXVpcmUgYnl0ZS1j
b2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmRdIDIwOTYgW3JlZ2V4
cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQt
Z3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQgIiM8Y29t
cGlsZWQgLTB4MWM3ZjNkNTFmNzlhZmU0Nz4iIGZ1bmNhbGwgZXZhbCBjdXN0b20taW5pdGlhbGl6
ZS1yZXNldCBjdXN0b20tZGVjbGFyZS12YXJpYWJsZSBieXRlLWNvZGUgcmVxdWlyZSBieXRlLWNv
ZGUgY29tbWFuZC1leGVjdXRlXSAxMDQ4IFtyZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3Jv
dXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVn
ZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQgIiM8Y29tcGlsZWQgLTB4
MWM3ZjNkNTFmNzlhZmU0Nz4iIGZ1bmNhbGwgZXZhbCBjdXN0b20taW5pdGlhbGl6ZS1yZXNldCBj
dXN0b20tZGVjbGFyZS12YXJpYWJsZSBieXRlLWNvZGUgcmVxdWlyZSBieXRlLWNvZGVdIDIwOTYg
W3JlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4
cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQt
Z3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0ICIjPGNvbXBpbGVkIC0weDFjN2YzZDUx
Zjc5YWZlNDc+IiBmdW5jYWxsIGV2YWwgY3VzdG9tLWluaXRpYWxpemUtcmVzZXQgY3VzdG9tLWRl
Y2xhcmUtdmFyaWFibGUgYnl0ZS1jb2RlIHJlcXVpcmVdIDEwNDggW3JlZ2V4cC1vcHQtZ3JvdXAg
cmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhw
LW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1n
cm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQgIiM8Y29tcGlsZWQgLTB4MWM3ZjNkNTFm
NzlhZmU0Nz4iIGZ1bmNhbGwgZXZhbCBjdXN0b20taW5pdGlhbGl6ZS1yZXNldCBjdXN0b20tZGVj
bGFyZS12YXJpYWJsZSBieXRlLWNvZGVdIDMxNDQgW3JlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9w
dC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91
cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdl
eHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdCAiIzxjb21waWxlZCAtMHgx
YzdmM2Q1MWY3OWFmZTQ3PiIgZnVuY2FsbCBldmFsIGN1c3RvbS1pbml0aWFsaXplLXJlc2V0IGN1
c3RvbS1kZWNsYXJlLXZhcmlhYmxlXSAxMDQ4IFtyZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQt
Z3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAg
cmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhw
LW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdCAi
Izxjb21waWxlZCAtMHgxYzdmM2Q1MWY3OWFmZTQ3PiIgZnVuY2FsbCBldmFsIGN1c3RvbS1pbml0
aWFsaXplLXJlc2V0XSAxMTMyOCBbcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJl
Z2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1v
cHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3Jv
dXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVn
ZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQgIiM8Y29tcGlsZWQgLTB4
MWM3ZjNkNTFmNzlhZmU0Nz4iXSAyMDk2IFtyZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3Jv
dXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVn
ZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9w
dC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91
cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdl
eHAtb3B0LWdyb3VwXSAyNTk2OCBbIiM8Y29tcGlsZWQgMHgxZDMxNzYxYWQxNTg5NmM1PiIgcmVn
ZXhwLW9wdC1jaGFyc2V0IHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAt
b3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdy
b3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJl
Z2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1v
cHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cF0gMTIxNiBbcmVnZXhwLW9wdC1ncm91cCByZWdleHAt
b3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdy
b3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJl
Z2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1v
cHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3Jv
dXAgcmVnZXhwLW9wdF0gMTA0OCBbcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJl
Z2V4cC1vcHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1v
cHQtZ3JvdXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3Jv
dXAgcmVnZXhwLW9wdC1ncm91cCByZWdleHAtb3B0LWdyb3VwIHJlZ2V4cC1vcHQtZ3JvdXAgcmVn
ZXhwLW9wdC1ncm91cCByZWdleHAtb3B0ICIjPGNvbXBpbGVkIC0weDFjN2YzZDUxZjc5YWZlNDc+
IiBmdW5jYWxsXSAxMDQ4IFtmdW5jYWxsIGV2YWwgY3VzdG9tLWluaXRpYWxpemUtcmVzZXQgY3Vz
dG9tLWRlY2xhcmUtdmFyaWFibGUgYnl0ZS1jb2RlIHJlcXVpcmUgYnl0ZS1jb2RlIGNvbW1hbmQt
ZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNv
bW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxMjcyIFtkZWZjb25zdCByZXF1aXJl
IGJ5dGUtY29kZSBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNh
bGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWxdIDQwIFtkZWZ2YXIgcmVxdWlyZSBieXRlLWNvZGUgY29tbWFuZC1leGVjdXRl
IGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1l
eGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxMDY0IFtieXRlLWNv
ZGUgZGVmdmFyIHJlcXVpcmUgYnl0ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVu
ZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA1MjU2IFtzdWJzdGl0dXRlLWVudi1pbi1maWxlLW5h
bWUgcmVxdWlyZSBieXRlLWNvZGUgY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29t
bWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxMTUyIFtzdWJzdGl0dXRlLWtleS1kZWZpbml0aW9uLWtl
eSAiIzxjb21waWxlZCAtMHg5ZmZiZDQwOTBlYTk1YjU+IiBzdWJzdGl0dXRlLWtleS1kZWZpbml0
aW9uIGJ5dGUtY29kZSBkZWZ2YXIgcmVxdWlyZSBieXRlLWNvZGUgY29tbWFuZC1leGVjdXRlIGV4
ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVj
dXRlIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEwNTYgW2VsaXNwLS1mb250LWxvY2stZmx1c2gtZWxp
c3AtYnVmZmVycyBkby1hZnRlci1sb2FkLWV2YWx1YXRpb24gcmVxdWlyZSBieXRlLWNvZGUgY29t
bWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZl
bHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEwNTYg
W2J5dGUtY29kZSByZXF1aXJlIGJ5dGUtY29kZSByZXF1aXJlIGJ5dGUtY29kZSBjb21tYW5kLWV4
ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21t
YW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA1MjgwIFtkZXJpdmVkLW1v
ZGUtcCBlbGlzcC0tZm9udC1sb2NrLWZsdXNoLWVsaXNwLWJ1ZmZlcnMgZG8tYWZ0ZXItbG9hZC1l
dmFsdWF0aW9uIHJlcXVpcmUgYnl0ZS1jb2RlIHJlcXVpcmUgYnl0ZS1jb2RlIGNvbW1hbmQtZXhl
Y3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1h
bmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxMDU2IFtjdXN0b20taW5pdGlhbGl6ZS1y
ZXNldCBjdXN0b20tZGVjbGFyZS12YXJpYWJsZSBieXRlLWNvZGUgcmVxdWlyZSBieXRlLWNvZGUg
Y29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0
aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTA1NiBb
Y3VzdG9tLWhhbmRsZS1rZXl3b3JkIGN1c3RvbS1kZWNsYXJlLXZhcmlhYmxlIGJ5dGUtY29kZSBy
ZXF1aXJlIGJ5dGUtY29kZSBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5k
IGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsXSAyMTEyIFtrZXktdmFsaWQtcCBrZXltYXAtLWNoZWNrIGtleW1hcC1zZXQgZGVm
aW5lLWtleW1hcCBkZWZ2YXIgcmVxdWlyZSBieXRlLWNvZGUgY29tbWFuZC1leGVjdXRlIGV4ZWN1
dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRl
IG5pbCBuaWwgbmlsIG5pbCBuaWxdIDMyMDAgW2tleW1hcC1zZXQgZGVmaW5lLWtleW1hcCBkZWZ2
YXIgcmVxdWlyZSBieXRlLWNvZGUgY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29t
bWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbF0gMTAzNjggW21ha2UtYWJicmV2LXRhYmxlIGRlZmluZS1hYmJyZXYtdGFi
bGUgYnl0ZS1jb2RlIHJlcXVpcmUgYnl0ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4
dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDQxNDQgW2ZhY2Utc3BlYy1yZXNldC1mYWNlIGZhY2Ut
c3BlYy1yZWNhbGMgZmFjZS1zcGVjLXNldCBjdXN0b20tZGVjbGFyZS1mYWNlIHJlcXVpcmUgYnl0
ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1p
bnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMzE2
OCBbY3VzdG9tLWluaXRpYWxpemUtcmVzZXQgY3VzdG9tLWRlY2xhcmUtdmFyaWFibGUgYnl0ZS1j
b2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRl
cmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbF0gMjExMiBbY3VzdG9tLWhhbmRsZS1rZXl3b3JkIGN1c3RvbS1kZWNsYXJlLXZhcmlhYmxl
IGJ5dGUtY29kZSBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNh
bGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWxdIDIxMTIgW2RlZnZhciBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRl
ZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTg4MCBbYnl0ZS1jb2RlIGRlZnZh
ciBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJh
Y3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsXSAyNzY4OCBbZWFzeS1tZW51LWRvLWRlZmluZSBieXRlLWNvZGUgZGVmdmFyIGNvbW1h
bmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5
IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMjEx
MiBbZWFzeS1tZW51LWNyZWF0ZS1tZW51IGVhc3ktbWVudS1kby1kZWZpbmUgYnl0ZS1jb2RlIGRl
ZnZhciBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50
ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bF0gMTA1NiBbZWFzeS1tZW51LWNvbnZlcnQtaXRlbSBlYXN5LW1lbnUtY3JlYXRlLW1lbnUgZWFz
eS1tZW51LWRvLWRlZmluZSBieXRlLWNvZGUgZGVmdmFyIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRl
LWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEwNjQgW2N1c3RvbS1kZWNsYXJlLWZhY2UgY29t
bWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZl
bHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWxdIDMxNjggW21ha2UtZW1wdHktZmFjZSBmYWNlLXNwZWMtc2V0IGN1c3RvbS1kZWNsYXJl
LWZhY2UgY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWlu
dGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsXSAyMTAzMiBbZmFjZS1zcGVjLXJlc2V0LWZhY2UgZmFjZS1zcGVjLXJlY2FsYyBmYWNl
LXNwZWMtc2V0IGN1c3RvbS1kZWNsYXJlLWZhY2UgY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0
ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDExNjE2IFtmYWNlLXNwZWMtc2V0LTIgZmFjZS1z
cGVjLXJlY2FsYyBmYWNlLXNwZWMtc2V0IGN1c3RvbS1kZWNsYXJlLWZhY2UgY29tbWFuZC1leGVj
dXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFu
ZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEwNTYgW2N1c3RvbS1o
YW5kbGUta2V5d29yZCBjdXN0b20taGFuZGxlLWFsbC1rZXl3b3JkcyBjdXN0b20tZGVjbGFyZS1m
YWNlIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRl
cmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbF0gMjExMiBbZWFzeS1tZW51LWNvbnZlcnQtaXRlbSBlYXN5LW1lbnUtY3JlYXRlLW1lbnUg
ZWFzeS1tZW51LWRvLWRlZmluZSBieXRlLWNvZGUgY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0
ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEwNTYgW2Vhc3ktbWVudS1kby1kZWZpbmUgYnl0
ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1p
bnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWxdIDEwNTYgW2Vhc3ktbWVudS1jb252ZXJ0LWl0ZW0gZWFzeS1tZW51LWNyZWF0
ZS1tZW51IGVhc3ktbWVudS1kby1kZWZpbmUgY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5k
ZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAyMTIwIFtkby1hZnRlci1sb2FkLWV2YWx1YXRp
b24gY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVy
YWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWxdIDEwNTYgW3JlYWQtc2hlbGwtY29tbWFuZCBieXRlLWNvZGUgY29tbWFuZC1l
eGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29t
bWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gNTc3
OSBbZ2xvYmFsLWZvbnQtbG9jay1tb2RlLWNtaGggbWluaWJ1ZmZlci1tb2RlIHJlYWQtZnJvbS1t
aW5pYnVmZmVyIHJlYWQtc2hlbGwtY29tbWFuZCBieXRlLWNvZGUgY29tbWFuZC1leGVjdXRlIGV4
ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVj
dXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTA1NiBbIiM8c3ViciBGNjE2ZTZmNmU3
OTZkNmY3NTczMmQ2YzYxNmQ2MjY0NjFfYW5vbnltb3VzX2xhbWJkYV84Mj4iIG1pbmlidWZmZXIt
c2V0dXAgcmVhZC1mcm9tLW1pbmlidWZmZXIgcmVhZC1zaGVsbC1jb21tYW5kIGJ5dGUtY29kZSBj
b21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJhY3Rp
dmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxNTc2IFtr
ZXltYXAtY2Fub25pY2FsaXplIHJlZGlzcGxheV9pbnRlcm5hbFwgXChDXCBmdW5jdGlvblwpIHJl
YWQtZnJvbS1taW5pYnVmZmVyIHJlYWQtc2hlbGwtY29tbWFuZCBieXRlLWNvZGUgY29tbWFuZC1l
eGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29t
bWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTA1NiBbcmVhZC1mcm9t
LW1pbmlidWZmZXIgcmVhZC1zaGVsbC1jb21tYW5kIGJ5dGUtY29kZSBjb21tYW5kLWV4ZWN1dGUg
ZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4
ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDExOTMwIFt0dHktY29s
b3ItZGVzYyByZWRpc3BsYXlfaW50ZXJuYWxcIFwoQ1wgZnVuY3Rpb25cKSByZWFkLWZyb20tbWlu
aWJ1ZmZlciByZWFkLXNoZWxsLWNvbW1hbmQgYnl0ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVj
dXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0
ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEwMjQgW2ZvbnQtbG9jay1kZWZhdWx0LWZv
bnRpZnktcmVnaW9uIGZvbnQtbG9jay1mb250aWZ5LXJlZ2lvbiAiIzxjb21waWxlZCAtMHgxNTUy
ZjQwNzU1ZWZkYzAzPiIgaml0LWxvY2stLXJ1bi1mdW5jdGlvbnMgaml0LWxvY2stZm9udGlmeS1u
b3cgaml0LWxvY2stZnVuY3Rpb24gcmVkaXNwbGF5X2ludGVybmFsXCBcKENcIGZ1bmN0aW9uXCkg
cmVhZC1mcm9tLW1pbmlidWZmZXIgcmVhZC1zaGVsbC1jb21tYW5kIGJ5dGUtY29kZSBjb21tYW5k
LWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBj
b21tYW5kLWV4ZWN1dGUgbmlsIG5pbF0gMjIyNDUgW2ZvbnQtbG9jay1kZWZhdWx0LWZvbnRpZnkt
c3ludGFjdGljYWxseSBmb250LWxvY2stZGVmYXVsdC1mb250aWZ5LXJlZ2lvbiBmb250LWxvY2st
Zm9udGlmeS1yZWdpb24gIiM8Y29tcGlsZWQgLTB4MTU1MmY0MDc1NWVmZGMwMz4iIGppdC1sb2Nr
LS1ydW4tZnVuY3Rpb25zIGppdC1sb2NrLWZvbnRpZnktbm93IGppdC1sb2NrLWZ1bmN0aW9uIHJl
ZGlzcGxheV9pbnRlcm5hbFwgXChDXCBmdW5jdGlvblwpIHJlYWQtZnJvbS1taW5pYnVmZmVyIHJl
YWQtc2hlbGwtY29tbWFuZCBieXRlLWNvZGUgY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5k
ZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbF0gMTAy
NCBbbGlzcC0tZWwtbWF0Y2gta2V5d29yZCBmb250LWxvY2stZm9udGlmeS1rZXl3b3Jkcy1yZWdp
b24gZm9udC1sb2NrLWRlZmF1bHQtZm9udGlmeS1yZWdpb24gZm9udC1sb2NrLWZvbnRpZnktcmVn
aW9uICIjPGNvbXBpbGVkIC0weDE1NTJmNDA3NTVlZmRjMDM+IiBqaXQtbG9jay0tcnVuLWZ1bmN0
aW9ucyBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiByZWRpc3BsYXlfaW50
ZXJuYWxcIFwoQ1wgZnVuY3Rpb25cKSByZWFkLWZyb20tbWluaWJ1ZmZlciByZWFkLXNoZWxsLWNv
bW1hbmQgYnl0ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQg
ZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZV0gMTAyNCBbbGlzcC1tb2RlLS1z
ZWFyY2gta2V5ICIjPGNvbXBpbGVkIC0weDE4ZjdlMWY0OTIzYjExMDg+IiBmb250LWxvY2stZm9u
dGlmeS1rZXl3b3Jkcy1yZWdpb24gZm9udC1sb2NrLWRlZmF1bHQtZm9udGlmeS1yZWdpb24gZm9u
dC1sb2NrLWZvbnRpZnktcmVnaW9uICIjPGNvbXBpbGVkIC0weDE1NTJmNDA3NTVlZmRjMDM+IiBq
aXQtbG9jay0tcnVuLWZ1bmN0aW9ucyBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5j
dGlvbiByZWRpc3BsYXlfaW50ZXJuYWxcIFwoQ1wgZnVuY3Rpb25cKSByZWFkLWZyb20tbWluaWJ1
ZmZlciByZWFkLXNoZWxsLWNvbW1hbmQgYnl0ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRl
LWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5XSAyMDQ4IFsiIzxjb21waWxl
ZCAweDE1NjIwMDkzNWY1YWI3ZDE+IiBmb250LWxvY2stZm9udGlmeS1rZXl3b3Jkcy1yZWdpb24g
Zm9udC1sb2NrLWRlZmF1bHQtZm9udGlmeS1yZWdpb24gZm9udC1sb2NrLWZvbnRpZnktcmVnaW9u
ICIjPGNvbXBpbGVkIC0weDE1NTJmNDA3NTVlZmRjMDM+IiBqaXQtbG9jay0tcnVuLWZ1bmN0aW9u
cyBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiByZWRpc3BsYXlfaW50ZXJu
YWxcIFwoQ1wgZnVuY3Rpb25cKSByZWFkLWZyb20tbWluaWJ1ZmZlciByZWFkLXNoZWxsLWNvbW1h
bmQgYnl0ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVu
Y2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZV0gMTAyNCBbbGlzcC0tbWF0Y2gtY29u
ZnVzYWJsZS1zeW1ib2wtY2hhcmFjdGVyIGZvbnQtbG9jay1mb250aWZ5LWtleXdvcmRzLXJlZ2lv
biBmb250LWxvY2stZGVmYXVsdC1mb250aWZ5LXJlZ2lvbiBmb250LWxvY2stZm9udGlmeS1yZWdp
b24gIiM8Y29tcGlsZWQgLTB4MTU1MmY0MDc1NWVmZGMwMz4iIGppdC1sb2NrLS1ydW4tZnVuY3Rp
b25zIGppdC1sb2NrLWZvbnRpZnktbm93IGppdC1sb2NrLWZ1bmN0aW9uIHJlZGlzcGxheV9pbnRl
cm5hbFwgXChDXCBmdW5jdGlvblwpIHJlYWQtZnJvbS1taW5pYnVmZmVyIHJlYWQtc2hlbGwtY29t
bWFuZCBieXRlLWNvZGUgY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBm
dW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlXSAyMjY0IFtyZWRpc3BsYXlfaW50
ZXJuYWxcIFwoQ1wgZnVuY3Rpb25cKSByZWFkLWZyb20tbWluaWJ1ZmZlciByZWFkLXNoZWxsLWNv
bW1hbmQgYnl0ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQg
ZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsXSA3Mjg4IFtzeW50YXgtcHBzcyBzaG93LXBhcmVuLS1kZWZhdWx0IHNob3ct
cGFyZW4tZnVuY3Rpb24gYXBwbHkgdGltZXItZXZlbnQtaGFuZGxlciByZWFkLWZyb20tbWluaWJ1
ZmZlciByZWFkLXNoZWxsLWNvbW1hbmQgYnl0ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRl
LWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBu
aWwgbmlsIG5pbCBuaWxdIDEwNTYgW2NvbW1hbmQtZXhlY3V0ZSByZWFkLWZyb20tbWluaWJ1ZmZl
ciByZWFkLXNoZWxsLWNvbW1hbmQgYnl0ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4
dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxNiBbc3BsaXQtc3RyaW5nLXNoZWxsLWNvbW1h
bmQgdGVybSBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0
ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA1MzgxIFt0ZXJtIGZ1bmNhbGwtaW50ZXJh
Y3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwt
aW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsXSAyMDg1IFtjb21pbnQtYm9sIHNoZWxsLWJhY2t3YXJkLWNvbW1hbmQgc2hl
bGwtLXBhcnNlLXBjb21wbGV0ZS1hcmd1bWVudHMgc3BsaXQtc3RyaW5nLXNoZWxsLWNvbW1hbmQg
dGVybSBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5k
ZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsXSA3MDQgW3NoZWxsLS1wYXJzZS1wY29tcGxldGUtYXJndW1lbnRzIHNw
bGl0LXN0cmluZy1zaGVsbC1jb21tYW5kIHRlcm0gZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1h
bmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5
IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxMzYxIFtt
YWtlLXRlcm0gdGVybSBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIGV4ZWN1
dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRl
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA0MzEyIFt3aW5kb3ctaW5zaWRl
LXBpeGVsLWVkZ2VzIHdpbmRvdy1zY3JlZW4tbGluZXMgdGVybS1tb2RlIG1ha2UtdGVybSB0ZXJt
IGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1j
b21tYW5kIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWxdIDEwNTYgWyIjPHN1YnIgRjYxNmU2ZjZlNzk2ZDZmNzU3MzJkNmM2MTZkNjI2
NDYxX2Fub255bW91c19sYW1iZGFfMjg+IiBhZHZpY2UtLWFkZC1mdW5jdGlvbiB0ZXJtLW1vZGUg
bWFrZS10ZXJtIHRlcm0gZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBleGVj
dXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0
ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gNDAgW2FkdmljZS0tY29weSBhZHZpY2UtLW1ha2Ug
YWR2aWNlLS1hZGQtZnVuY3Rpb24gdGVybS1tb2RlIG1ha2UtdGVybSB0ZXJtIGZ1bmNhbGwtaW50
ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNh
bGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTA1
NiBbIiM8c3ViciBGNjE2ZTZmNmU3OTZkNmY3NTczMmQ2YzYxNmQ2MjY0NjFfYW5vbnltb3VzX2xh
bWJkYV8zMD4iIGFkdmljZS0tYWRkLWZ1bmN0aW9uIHRlcm0tbW9kZSBtYWtlLXRlcm0gdGVybSBm
dW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29t
bWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsXSA0MCBbdGVybS1tb2RlIG1ha2UtdGVybSB0ZXJtIGZ1bmNhbGwtaW50ZXJhY3Rp
dmVseSBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50
ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bF0gNDAgW3Rlcm0tbW92ZS1jb2x1bW5zIHRlcm0tc2V0LXNjcm9sbC1yZWdpb24gdGVybS0tcmVz
ZXQtc2Nyb2xsLXJlZ2lvbiB0ZXJtLW1vZGUgbWFrZS10ZXJtIHRlcm0gZnVuY2FsbC1pbnRlcmFj
dGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1p
bnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsXSA3MDQgW2Zv
bnQtbG9jay1tb2RlLWludGVybmFsIGZvbnQtbG9jay1kZWZhdWx0LWZ1bmN0aW9uIGZvbnQtbG9j
ay1tb2RlIHR1cm4tb24tZm9udC1sb2NrIHR1cm4tb24tZm9udC1sb2NrLWlmLWRlc2lyZWQgZ2xv
YmFsLWZvbnQtbG9jay1tb2RlLWVuYWJsZS1pbi1idWZmZXJzIHJ1bi1ob29rcyBydW4tbW9kZS1o
b29rcyB0ZXJtLW1vZGUgbWFrZS10ZXJtIHRlcm0gZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1h
bmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5
IGNvbW1hbmQtZXhlY3V0ZV0gMTA1NiBbY2FsbGVkLWludGVyYWN0aXZlbHktcCBmb250LWxvY2st
bW9kZSB0dXJuLW9uLWZvbnQtbG9jayB0dXJuLW9uLWZvbnQtbG9jay1pZi1kZXNpcmVkIGdsb2Jh
bC1mb250LWxvY2stbW9kZS1lbmFibGUtaW4tYnVmZmVycyBydW4taG9va3MgcnVuLW1vZGUtaG9v
a3MgdGVybS1tb2RlIG1ha2UtdGVybSB0ZXJtIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5k
LWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBj
b21tYW5kLWV4ZWN1dGUgbmlsXSAxMDU2IFt0ZXJtLWV4ZWMgbWFrZS10ZXJtIHRlcm0gZnVuY2Fs
bC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQg
ZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsXSAxNTM3NSBbdGVybS0tYmFzaC1uZWVkcy1FTUFDU3AgdGVybS1leGVjLTEg
dGVybS1leGVjIG1ha2UtdGVybSB0ZXJtIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4
ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21t
YW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDE1OTkgW3Rlcm0tZXhlYy0xIHRl
cm0tZXhlYyBtYWtlLXRlcm0gdGVybSBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVj
dXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFu
ZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTA1NiBbc3RhcnQtcHJvY2Vz
cyB0ZXJtLWV4ZWMtMSB0ZXJtLWV4ZWMgbWFrZS10ZXJtIHRlcm0gZnVuY2FsbC1pbnRlcmFjdGl2
ZWx5IGNvbW1hbmQtZXhlY3V0ZSBleGVjdXRlLWV4dGVuZGVkLWNvbW1hbmQgZnVuY2FsbC1pbnRl
cmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMzg3OSBb
cmVjb3JkLXdpbmRvdy1idWZmZXIgc2V0LXdpbmRvdy1idWZmZXIgd2luZG93LS1kaXNwbGF5LWJ1
ZmZlciBkaXNwbGF5LWJ1ZmZlci1zYW1lLXdpbmRvdyBkaXNwbGF5LWJ1ZmZlciBwb3AtdG8tYnVm
ZmVyIHBvcC10by1idWZmZXItc2FtZS13aW5kb3cgdGVybSBmdW5jYWxsLWludGVyYWN0aXZlbHkg
Y29tbWFuZC1leGVjdXRlIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZCBmdW5jYWxsLWludGVyYWN0
aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsXSAxMDU2IFt3aW5kb3ctLWRpc3BsYXkt
YnVmZmVyIGRpc3BsYXktYnVmZmVyLXNhbWUtd2luZG93IGRpc3BsYXktYnVmZmVyIHBvcC10by1i
dWZmZXIgcG9wLXRvLWJ1ZmZlci1zYW1lLXdpbmRvdyB0ZXJtIGZ1bmNhbGwtaW50ZXJhY3RpdmVs
eSBjb21tYW5kLWV4ZWN1dGUgZXhlY3V0ZS1leHRlbmRlZC1jb21tYW5kIGZ1bmNhbGwtaW50ZXJh
Y3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbF0gNjgxIFtleGVjdXRl
LWV4dGVuZGVkLWNvbW1hbmQtLXNob3J0ZXIgIiM8Y29tcGlsZWQgLTB4YjMwZjQzYTA1NmM0ODY2
PiIgYXBwbHkgdGltZXItZXZlbnQtaGFuZGxlciBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbF0gMTA1NjAgWyIjPGNvbXBpbGVkIDB4MWEwNDRiYmZhYjdkZTlm
Mj4iIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZC0tc2hvcnRlciAiIzxjb21waWxlZCAtMHhiMzBm
NDNhMDU2YzQ4NjY+IiBhcHBseSB0aW1lci1ldmVudC1oYW5kbGVyIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDE5MDYgW2V4ZWN1dGUtZXh0ZW5kZWQtY29tbWFu
ZC0tc2hvcnRlci0xIGV4ZWN1dGUtZXh0ZW5kZWQtY29tbWFuZC0tc2hvcnRlciAiIzxjb21waWxl
ZCAtMHhiMzBmNDNhMDU2YzQ4NjY+IiBhcHBseSB0aW1lci1ldmVudC1oYW5kbGVyIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDExNTIgWyIjPHN1YnIgRjYxNmU2
ZjZlNzk2ZDZmNzU3MzJkNmM2MTZkNjI2NDYxX2Fub255bW91c19sYW1iZGFfMjY+IiB0ZXJtLS11
cGRhdGUtdGVybS1tZW51IHJlZGlzcGxheV9pbnRlcm5hbFwgXChDXCBmdW5jdGlvblwpIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTAyNCBbdGVy
bS0tdXBkYXRlLXRlcm0tbWVudSByZWRpc3BsYXlfaW50ZXJuYWxcIFwoQ1wgZnVuY3Rpb25cKSBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAx
MjcgW2Vhc3ktbWVudS1jb252ZXJ0LWl0ZW0tMSBlYXN5LW1lbnUtY29udmVydC1pdGVtIGVhc3kt
bWVudS1jcmVhdGUtbWVudSBlYXN5LW1lbnUtY2hhbmdlIHRlcm0tLXVwZGF0ZS10ZXJtLW1lbnUg
cmVkaXNwbGF5X2ludGVybmFsXCBcKENcIGZ1bmN0aW9uXCkgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsXSAzMzYgW3Rlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMzQzNTQy
OSBbdGVybS0tdXBkYXRlLXRlcm0tbWVudSByZWRpc3BsYXlfaW50ZXJuYWxcIFwoQ1wgZnVuY3Rp
b25cKSB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxMjcgW2lmIGV2YWwgcmVkaXNwbGF5X2ludGVybmFsXCBc
KENcIGZ1bmN0aW9uXCkgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA4NDk5MiBbdGltZXItLXRpbWUtbGVzcy1wIHRp
bWVyLS1hY3RpdmF0ZSB0aW1lci1hY3RpdmF0ZS13aGVuLWlkbGUgdGltZXItZXZlbnQtaGFuZGxl
ciBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMzE2OCBb
aWYgZXZhbCB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxMzIyNDAgW3VubGVzcyBldmFsIHRlcm0tZW11bGF0
ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWxdIDg0NDggW3Rlcm0tbW92ZS1jb2x1bW5zIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxMzk4
NjIgW2ludGVybmFsLS1iZWZvcmUtc2F2ZS1zZWxlY3RlZC13aW5kb3cgdGVybS1lbXVsYXRlLXRl
cm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWxdIDk1MDQgW2ppdC1sb2NrLWZvbnRpZnktbm93IGppdC1sb2NrLWZ1bmN0aW9uIHRlcm0t
ZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWxdIDM3NDU2IFt0ZXJtLW1vdmUtdG8tY29sdW1uIHRlcm0tbW92ZS1jb2x1bW5z
IHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWxdIDUyODAgW3dpbmRvdy1waXhlbC1lZGdlcyB3aW5kb3ctYXQtc2lk
ZS1wIG1vZGUtbGluZS1kZWZhdWx0LWhlbHAtZWNobyByZWRpc3BsYXlfaW50ZXJuYWxcIFwoQ1wg
ZnVuY3Rpb25cKSB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbF0gMTQ3ODQgW3N5bnRheC1wcHNzIHNob3ctcGFyZW4tLWRlZmF1
bHQgc2hvdy1wYXJlbi1mdW5jdGlvbiBhcHBseSB0aW1lci1ldmVudC1oYW5kbGVyIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEwNTYgW2ppdC1sb2NrLWZvbnRp
Znktbm93IGppdC1sb2NrLWZ1bmN0aW9uIHZlcnRpY2FsLW1vdGlvbiB0ZXJtLWVyYXNlLWluLWxp
bmUgdGVybS1oYW5kbGUtYW5zaS1lc2NhcGUgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTAxNiBbdGVybS1zd2l0Y2gtdG8tYWx0
ZXJuYXRlLXN1Yi1idWZmZXIgdGVybS1oYW5kbGUtYW5zaS1lc2NhcGUgdGVybS1lbXVsYXRlLXRl
cm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bF0gMTA1NiBbdGVybS1kb3duIHRlcm0tZ290byB0ZXJtLWhhbmRsZS1hbnNpLWVzY2FwZSB0ZXJt
LWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWxdIDEwNTYgW3Rlcm0taGFuZGxlLWFuc2ktZXNjYXBlIHRlcm0tZW11bGF0ZS10ZXJt
aW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsXSA1Mzk2MTYgW3RpbWVyLXNldC10aW1lIHJ1bi1hdC10aW1lIHJ1bi13aXRoLXRpbWVyIGpp
dC1sb2NrLWZvbnRpZnktbm93IGppdC1sb2NrLWZ1bmN0aW9uIHZlcnRpY2FsLW1vdGlvbiB0ZXJt
LWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDE4
MTE3NSBbZGVyaXZlZC1tb2RlLXAgZm9udC1sb2NrLXNldC1kZWZhdWx0cyBmb250LWxvY2stZm9u
dGlmeS1yZWdpb24gIiM8Y29tcGlsZWQgLTB4MTU1MmY2NTNkODNjM2EwMz4iIGppdC1sb2NrLS1y
dW4tZnVuY3Rpb25zIGppdC1sb2NrLWZvbnRpZnktbm93IGppdC1sb2NrLWZ1bmN0aW9uIHZlcnRp
Y2FsLW1vdGlvbiB0ZXJtLWRvd24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsXSAxNjg5NiBbZm9udC1sb2NrLWZvbnRpZnktcmVnaW9uICIjPGNvbXBpbGVkIC0w
eDE1NTJmNjQ2NGMyYTM0MDM+IiBqaXQtbG9jay0tcnVuLWZ1bmN0aW9ucyBqaXQtbG9jay1mb250
aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1kb3duIHRlcm0t
Z290byB0ZXJtLWhhbmRsZS1hbnNpLWVzY2FwZSB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWxdIDEwNTYgW3Rlcm0tZXJhc2UtaW4tbGluZSB0ZXJtLWhhbmRsZS1h
bnNpLWVzY2FwZSB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxMzYwIFtqaXQtbG9jay1mb250aWZ5LW5vdyBq
aXQtbG9jay1mdW5jdGlvbiByZWRpc3BsYXlfaW50ZXJuYWxcIFwoQ1wgZnVuY3Rpb25cKSB0ZXJt
LWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWxdIDMxNjggW3Rlcm0tbW92ZS1jb2x1bW5zIHRlcm0tZG93biB0ZXJtLWdvdG8gdGVy
bS1oYW5kbGUtYW5zaS1lc2NhcGUgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDYzMzYgW3Rlcm0taW5zZXJ0LWNoYXIgdGVy
bS1kb3duIHRlcm0tZ290byB0ZXJtLWhhbmRsZS1hbnNpLWVzY2FwZSB0ZXJtLWVtdWxhdGUtdGVy
bWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTA1NiBb
cnVuLWF0LXRpbWUgcnVuLXdpdGgtdGltZXIgaml0LWxvY2stZm9udGlmeS1ub3cgaml0LWxvY2st
ZnVuY3Rpb24gdmVydGljYWwtbW90aW9uIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDIyMjk0MCBbdGltZXItLWFjdGl2YXRlIHRp
bWVyLWFjdGl2YXRlIHJ1bi1hdC10aW1lIHJ1bi13aXRoLXRpbWVyIGppdC1sb2NrLWZvbnRpZnkt
bm93IGppdC1sb2NrLWZ1bmN0aW9uIHZlcnRpY2FsLW1vdGlvbiB0ZXJtLWVtdWxhdGUtdGVybWlu
YWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMjI3NjA0OCBbaml0LWxvY2stZm9u
dGlmeS1ub3cgaml0LWxvY2stZnVuY3Rpb24gdmVydGljYWwtbW90aW9uIHRlcm0tZW11bGF0ZS10
ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0g
MTcxNTcxNSBbdGltZXItLXRpbWUtbGVzcy1wIHRpbWVyLS1hY3RpdmF0ZSB0aW1lci1hY3RpdmF0
ZSBydW4tYXQtdGltZSBydW4td2l0aC10aW1lciBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9j
ay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbF0gMTMzNjI0NyBbZm9udC1sb2NrLWZvbnRpZnktcmVnaW9uICIj
PGNvbXBpbGVkIC0weDE1NTJmZTU1ZTM0NjcwMDM+IiBqaXQtbG9jay0tcnVuLWZ1bmN0aW9ucyBq
aXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVy
bS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA3
MDA0ODAgW2ppdC1sb2NrLWZ1bmN0aW9uIHZlcnRpY2FsLW1vdGlvbiB0ZXJtLWVtdWxhdGUtdGVy
bWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
XSAzNTIyNDAgW2ppdC1sb2NrLWFmdGVyLWNoYW5nZSB0ZXJtLW1vdmUtdG8tY29sdW1uIHRlcm0t
bW92ZS1jb2x1bW5zIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gODcwNCBbdGltZXItYWN0aXZhdGUgcnVuLWF0LXRp
bWUgcnVuLXdpdGgtdGltZXIgaml0LWxvY2stZm9udGlmeS1ub3cgaml0LWxvY2stZnVuY3Rpb24g
dmVydGljYWwtbW90aW9uIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbF0gMTA1NjAgW2Rlcml2ZWQtbW9kZS1wIGZvbnQtbG9jay1zZXQtZGVm
YXVsdHMgZm9udC1sb2NrLWZvbnRpZnktcmVnaW9uICIjPGNvbXBpbGVkIC0weDE1NTRmOGQ3Mjhi
MjA0MDM+IiBqaXQtbG9jay0tcnVuLWZ1bmN0aW9ucyBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQt
bG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMzI3MzYgW3Rlcm0tbW92ZS1jb2x1bW5zIHRlcm0tZG93
biB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsXSA5Mzk4NCBbaml0LWxvY2stYWZ0ZXItY2hhbmdlIHRlcm0tZW11
bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsXSA4NTUyNDggW2ZvbnQtbG9jay1kZWZhdWx0LWZvbnRpZnktcmVnaW9uIGZv
bnQtbG9jay1mb250aWZ5LXJlZ2lvbiAiIzxjb21waWxlZCAtMHgxNTU0ZmRlYTkwMGUyYzAzPiIg
aml0LWxvY2stLXJ1bi1mdW5jdGlvbnMgaml0LWxvY2stZm9udGlmeS1ub3cgaml0LWxvY2stZnVu
Y3Rpb24gdmVydGljYWwtbW90aW9uIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsXSA4MjA1MTIgW3Rlcm0tbW92ZS1jb2x1bW5zIHRlcm0tZG93biB0
ZXJtLWhhbmRsZS1hbnNpLWVzY2FwZSB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDQxMTg0IFt0ZXJtLWhvcml6b250
YWwtY29sdW1uIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAyMDc5NiBbdGVybS1nb3RvIHRlcm0taGFu
ZGxlLWFuc2ktZXNjYXBlIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDIxMTIgW2FwcGx5IHRpbWVyLWV2ZW50
LWhhbmRsZXIgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gODI4ODAgW2ZvbnQtbG9jay1leHRlbmQtcmVnaW9u
LXdob2xlbGluZXMgZm9udC1sb2NrLWRlZmF1bHQtZm9udGlmeS1yZWdpb24gZm9udC1sb2NrLWZv
bnRpZnktcmVnaW9uICIjPGNvbXBpbGVkIC0weDE1NTJmNzFhMzZiMmZjMDM+IiBqaXQtbG9jay0t
cnVuLWZ1bmN0aW9ucyBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0
aWNhbC1tb3Rpb24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbF0gMjI4NTUgW2ZvbnQtbG9jay1zZXQtZGVmYXVsdHMgZm9udC1sb2NrLWZvbnRpZnktcmVn
aW9uICIjPGNvbXBpbGVkIC0weDE1NTJmNWEyYzllN2E4MDM+IiBqaXQtbG9jay0tcnVuLWZ1bmN0
aW9ucyBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rp
b24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxd
IDMwNjI0IFtydW4td2l0aC10aW1lciBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5j
dGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDM1NTI3IFsiIzxjb21waWxlZCAweDJhOWI5
ZTkzZTY4N2U+IiBqaXQtbG9jay1hZnRlci1jaGFuZ2UgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTU1MTgg
W3Rlcm0tbW92ZS1jb2x1bW5zIHRlcm0tZ290byB0ZXJtLWhhbmRsZS1hbnNpLWVzY2FwZSB0ZXJt
LWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWxdIDIxMTIgW2ZvbnQtbG9jay1mb250aWZ5LXJlZ2lvbiAiIzxjb21waWxlZCAtMHgx
NTU0ZmNiY2VjYzczZTAzPiIgaml0LWxvY2stLXJ1bi1mdW5jdGlvbnMgaml0LWxvY2stZm9udGlm
eS1ub3cgaml0LWxvY2stZnVuY3Rpb24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMjM4ODggWyIjPHN1YnIgRjYxNmU2ZjZlNzk2
ZDZmNzU3MzJkNmM2MTZkNjI2NDYxX2Fub255bW91c19sYW1iZGFfMD4iIGludGVybmFsLS1iZWZv
cmUtc2F2ZS1zZWxlY3RlZC13aW5kb3cgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gNDE0NCBbY29weS1tYXJr
ZXIgaml0LWxvY2stZm9udGlmeS1ub3cgaml0LWxvY2stZnVuY3Rpb24gdmVydGljYWwtbW90aW9u
IHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsXSAxNzU1MiBbZXZhbCB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMzQ3MCBbZm9udC1s
b2NrLWRlZmF1bHQtZm9udGlmeS1yZWdpb24gZm9udC1sb2NrLWZvbnRpZnktcmVnaW9uICIjPGNv
bXBpbGVkIC0weDE1NTRmY2UwNGFiOGQ4MDM+IiBqaXQtbG9jay0tcnVuLWZ1bmN0aW9ucyBqaXQt
bG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB0ZXJtLWVtdWxhdGUtdGVybWluYWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEyNDMyIFt0aW1lci0tdGltZSB0
aW1lci0tdGltZS1sZXNzLXAgdGltZXItLWFjdGl2YXRlIHRpbWVyLWFjdGl2YXRlIHJ1bi1hdC10
aW1lIHJ1bi13aXRoLXRpbWVyIGppdC1sb2NrLWZvbnRpZnktbm93IGppdC1sb2NrLWZ1bmN0aW9u
IHZlcnRpY2FsLW1vdGlvbiB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWxdIDY5NDAgW3VubGVzcyBldmFsIHJlZGlzcGxheV9pbnRlcm5hbFwgXChDXCBmdW5jdGlv
blwpIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbF0gNDIyNCBbc3RyaW5nLXRvLW51bWJlciB0ZXJtLWVtdWxhdGUtdGVy
bWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbF0gNTIwNSBbdGltZXItcmVsYXRpdmUtdGltZSBydW4tYXQtdGltZSBydW4td2l0aC10aW1l
ciBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24g
dGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
XSAzNDcwIFsiIzxzdWJyIEY2MTZlNmY2ZTc5NmQ2Zjc1NzMyZDZjNjE2ZDYyNjQ2MV9hbm9ueW1v
dXNfbGFtYmRhXzk+IiBhcHBseSB0aW1lci1ldmVudC1oYW5kbGVyIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTA1NiBbc3ludGF4LXBwc3MtZmx1
c2gtY2FjaGUgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDM0NzAgW3RpbWVyLXNldC1mdW5jdGlvbiBy
dW4tYXQtdGltZSBydW4td2l0aC10aW1lciBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1m
dW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxNzM1IFt0aW1lci1ldmVudC1oYW5kbGVyIHRlcm0t
ZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsXSAxNzM1IFttYXRjaC1zdHJpbmcgdGVybS1lbXVsYXRlLXRlcm1pbmFs
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxd
IDM0NzAgW2ppdC1sb2NrLS1ydW4tZnVuY3Rpb25zIGppdC1sb2NrLWZvbnRpZnktbm93IGppdC1s
b2NrLWZ1bmN0aW9uIHZlcnRpY2FsLW1vdGlvbiB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTczNSBbZm9udC1sb2NrLWZv
bnRpZnktcmVnaW9uICIjPGNvbXBpbGVkIC0weDE1NDBmZTU5Y2M0MmQ2MDM+IiBqaXQtbG9jay0t
cnVuLWZ1bmN0aW9ucyBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiByZWRp
c3BsYXlfaW50ZXJuYWxcIFwoQ1wgZnVuY3Rpb25cKSB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmls
IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDUyMDAgW2ZvbnQtbG9jay1kZWZhdWx0
LWZvbnRpZnktcmVnaW9uIGZvbnQtbG9jay1mb250aWZ5LXJlZ2lvbiAiIzxjb21waWxlZCAtMHgx
NTQwZmU1OWNjNDJkNjAzPiIgaml0LWxvY2stLXJ1bi1mdW5jdGlvbnMgaml0LWxvY2stZm9udGlm
eS1ub3cgaml0LWxvY2stZnVuY3Rpb24gcmVkaXNwbGF5X2ludGVybmFsXCBcKENcIGZ1bmN0aW9u
XCkgdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxd
IDQxNDQgW2ZvbnQtbG9jay1zZXQtZGVmYXVsdHMgZm9udC1sb2NrLWZvbnRpZnktcmVnaW9uICIj
PGNvbXBpbGVkIC0weDE1NDBmZTU5Y2M0MmQ2MDM+IiBqaXQtbG9jay0tcnVuLWZ1bmN0aW9ucyBq
aXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiByZWRpc3BsYXlfaW50ZXJuYWxc
IFwoQ1wgZnVuY3Rpb25cKSB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbF0gMTA1NiBbdGV4dC1wcm9wZXJ0eS1hbnkgaml0LWxvY2stZm9udGlmeS1u
b3cgaml0LWxvY2stZnVuY3Rpb24gdmVydGljYWwtbW90aW9uIHRlcm0tZW11bGF0ZS10ZXJtaW5h
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA1MjA1IFtydW4t
YXQtdGltZSBydW4td2l0aC10aW1lciBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5j
dGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1nb3RvIHRlcm0taGFuZGxlLWFuc2ktZXNjYXBlIHRl
cm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxMjgw
IFt0aW1lci1zZXQtdGltZSBydW4tYXQtdGltZSBydW4td2l0aC10aW1lciBqaXQtbG9jay1mb250
aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1nb3RvIHRlcm0t
aGFuZGxlLWFuc2ktZXNjYXBlIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWxdIDE1MzYgW3RpbWVyLS1hY3RpdmF0ZSB0aW1lci1hY3RpdmF0ZSBydW4tYXQt
dGltZSBydW4td2l0aC10aW1lciBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlv
biB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1nb3RvIHRlcm0taGFuZGxlLWFuc2ktZXNjYXBlIHRlcm0t
ZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMzA3MiBbdGltZXItLXRp
bWUtbGVzcy1wIHRpbWVyLS1hY3RpdmF0ZSB0aW1lci1hY3RpdmF0ZSBydW4tYXQtdGltZSBydW4t
d2l0aC10aW1lciBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNh
bC1tb3Rpb24gdGVybS1nb3RvIHRlcm0taGFuZGxlLWFuc2ktZXNjYXBlIHRlcm0tZW11bGF0ZS10
ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxMDU2IFtmb250LWxvY2stZXh0ZW5kLWppdC1s
b2NrLXJlZ2lvbi1hZnRlci1jaGFuZ2Ugaml0LWxvY2stYWZ0ZXItY2hhbmdlIHRlcm0tZW11bGF0
ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWxdIDM0NzAgW3RpbWVyLXNldC10aW1lIHJ1bi1hdC10aW1lIHJ1bi13aXRoLXRpbWVyIGpp
dC1sb2NrLWZvbnRpZnktbm93IGppdC1sb2NrLWZ1bmN0aW9uIHJlZGlzcGxheV9pbnRlcm5hbFwg
XChDXCBmdW5jdGlvblwpIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbF0gMjQgW3RpbWVyLXNldC10aW1lIHJ1bi1hdC10aW1lIHJ1bi13aXRo
LXRpbWVyIGppdC1sb2NrLWZvbnRpZnktbm93IGppdC1sb2NrLWZ1bmN0aW9uIHZlcnRpY2FsLW1v
dGlvbiB0ZXJtLWRvd24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWxdIDMzNiBbcnVuLWF0LXRpbWUgcnVuLXdpdGgtdGltZXIgaml0LWxvY2stZm9u
dGlmeS1ub3cgaml0LWxvY2stZnVuY3Rpb24gdmVydGljYWwtbW90aW9uIHRlcm0tZG93biB0ZXJt
LWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEy
OCBbdGltZXItLWFjdGl2YXRlIHRpbWVyLWFjdGl2YXRlIHJ1bi1hdC10aW1lIHJ1bi13aXRoLXRp
bWVyIGppdC1sb2NrLWZvbnRpZnktbm93IGppdC1sb2NrLWZ1bmN0aW9uIHZlcnRpY2FsLW1vdGlv
biB0ZXJtLWRvd24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbF0gMTc3NiBbdGVybS1kb3duIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA2OTY2ODYgW3Rlcm0t
aW5zZXJ0LWNoYXIgdGVybS1kb3duIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDYyNjY5NiBbZm9udC1sb2Nr
LWRlZmF1bHQtZm9udGlmeS1yZWdpb24gZm9udC1sb2NrLWZvbnRpZnktcmVnaW9uICIjPGNvbXBp
bGVkIC0weDE1NTJmN2Q3ZGNkYzc5MDM+IiBqaXQtbG9jay0tcnVuLWZ1bmN0aW9ucyBqaXQtbG9j
ay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1kb3du
IHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDU1MTE1
MiBbaml0LWxvY2stZm9udGlmeS1ub3cgaml0LWxvY2stZnVuY3Rpb24gdmVydGljYWwtbW90aW9u
IHRlcm0tZG93biB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbF0gOTY2OTc2IFtmb250LWxvY2stc2V0LWRlZmF1bHRzIGZvbnQt
bG9jay1mb250aWZ5LXJlZ2lvbiAiIzxjb21waWxlZCAtMHgxNTUyZjcxNzU4MWY0NTAzPiIgaml0
LWxvY2stLXJ1bi1mdW5jdGlvbnMgaml0LWxvY2stZm9udGlmeS1ub3cgaml0LWxvY2stZnVuY3Rp
b24gdmVydGljYWwtbW90aW9uIHRlcm0tZG93biB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA4NDQ4IFtqaXQtbG9jay1hZnRlci1jaGFuZ2UgdGVybS1p
bnNlcnQtY2hhciB0ZXJtLWRvd24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA3OTMwOTMgW2ZvbnQtbG9jay1mb250
aWZ5LXJlZ2lvbiAiIzxjb21waWxlZCAtMHgxNTUyZjQ5MTk1Mzg3NTAzPiIgaml0LWxvY2stLXJ1
bi1mdW5jdGlvbnMgaml0LWxvY2stZm9udGlmeS1ub3cgaml0LWxvY2stZnVuY3Rpb24gdmVydGlj
YWwtbW90aW9uIHRlcm0tZG93biB0ZXJtLWVtdWxhdGUtdGVybWluYWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWwgbmlsIG5pbF0gNDQ5MDg4IFtqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rp
b24gdGVybS1kb3duIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMjk4MzY4IFt0ZXh0LXByb3BlcnR5LWFueSBqaXQt
bG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5jdGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1k
b3duIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbCBuaWxdIDE3MzUgW2ZvbnQtbG9jay1kZWZhdWx0LXVuZm9udGlmeS1yZWdpb24gZm9udC1s
b2NrLXVuZm9udGlmeS1yZWdpb24gZm9udC1sb2NrLWRlZmF1bHQtZm9udGlmeS1yZWdpb24gZm9u
dC1sb2NrLWZvbnRpZnktcmVnaW9uICIjPGNvbXBpbGVkIC0weDE1NDBmNGI1NmVkYjc2MDM+IiBq
aXQtbG9jay0tcnVuLWZ1bmN0aW9ucyBqaXQtbG9jay1mb250aWZ5LW5vdyBqaXQtbG9jay1mdW5j
dGlvbiB2ZXJ0aWNhbC1tb3Rpb24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsXSA1MjA1IFsiIzxzdWJyIEY2MTZlNmY2ZTc5NmQ2Zjc1NzMyZDZjNjE2ZDYyNjQ2
MV9hbm9ueW1vdXNfbGFtYmRhXzk+IiBhcHBseSB0aW1lci1ldmVudC1oYW5kbGVyIHRlcm0tZW11
bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls
IG5pbF0gMTA1NiBbZm9udC1sb2NrLWRlZmF1bHQtdW5mb250aWZ5LXJlZ2lvbiBmb250LWxvY2st
dW5mb250aWZ5LXJlZ2lvbiBmb250LWxvY2stZGVmYXVsdC1mb250aWZ5LXJlZ2lvbiBmb250LWxv
Y2stZm9udGlmeS1yZWdpb24gIiM8Y29tcGlsZWQgLTB4MTU0NmZjNjM2YzMwNGQwMz4iIGppdC1s
b2NrLS1ydW4tZnVuY3Rpb25zIGppdC1sb2NrLWZvbnRpZnktbm93IGppdC1sb2NrLWZ1bmN0aW9u
IHZlcnRpY2FsLW1vdGlvbiB0ZXJtLWRvd24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5pbCBuaWwg
bmlsIG5pbCBuaWxdIDE3MzUgW3N5bnRheC1wcHNzLWZsdXNoLWNhY2hlIHRlcm0taW5zZXJ0LWNo
YXIgdGVybS1kb3duIHRlcm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTczNSBbIiM8Y29tcGlsZWQgMHgyYTliOWU5M2U2
ODdlPiIgaml0LWxvY2stYWZ0ZXItY2hhbmdlIHRlcm0taW5zZXJ0LWNoYXIgdGVybS1kb3duIHRl
cm0tZW11bGF0ZS10ZXJtaW5hbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsXSAxNzM1IFttYXRjaC1kYXRhIGppdC1sb2NrLWZvbnRpZnktbm93IGppdC1sb2NrLWZ1
bmN0aW9uIHZlcnRpY2FsLW1vdGlvbiB0ZXJtLWRvd24gdGVybS1lbXVsYXRlLXRlcm1pbmFsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMzQ3MCBbdGltZXItc2V0LXRp
bWUgcnVuLWF0LXRpbWUgdW5kby1hdXRvLS1ib3VuZGFyeS1lbnN1cmUtdGltZXIgdW5kby1hdXRv
LS11bmRvYWJsZS1jaGFuZ2UgdGVybS1oYW5kbGUtZXhpdCB0ZXJtLXNlbnRpbmVsIG5pbCBuaWwg
bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMjQgW3Rlcm0tc2VudGluZWwgbmlsIG5p
bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEw
MTYgW3JlYWQtZXh0ZW5kZWQtY29tbWFuZCBieXRlLWNvZGUgY29tbWFuZC1leGVjdXRlIG5pbCBu
aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gNDE0NCBbc2hv
dy1wYXJlbi1mdW5jdGlvbiBhcHBseSB0aW1lci1ldmVudC1oYW5kbGVyIGNvbXBsZXRpbmctcmVh
ZC1kZWZhdWx0IHJlYWQtZXh0ZW5kZWQtY29tbWFuZC0xIHJlYWQtZXh0ZW5kZWQtY29tbWFuZCBi
eXRlLWNvZGUgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxd
IDQxNDQgW3dpbmRvdy1taW4tc2l6ZSBmcmFtZS13aW5kb3dzLW1pbi1zaXplIGNvbXBsZXRpbmct
cmVhZC1kZWZhdWx0IHJlYWQtZXh0ZW5kZWQtY29tbWFuZC0xIHJlYWQtZXh0ZW5kZWQtY29tbWFu
ZCBieXRlLWNvZGUgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu
aWwgbmlsXSAxMDU2KSkgKDI1NDc1IDQ4MzY0IDc0NDA3NSA5OTYwMDApIG5pbF0K
--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable


=2D-=20
Akib Azmain Turja, GPG key: 70018CE5819F17A3BBA666AFE74F0EFA922AE7F5
Fediverse: akib@HIDDEN
Codeberg: akib
emailselfdefense.fsf.org | "Nothing can be secure without encryption."

--=-=-=--

--==-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEyVTKmrtL6kNBe3FRVTX89U2IYWsFAmODwd0ACgkQVTX89U2I
YWvAkA//d5OZAqlqqQH0WQfqq7G0rBma+sTYEv3IkYCOE6Ef/Hv4ihQt26VzOoys
VxmS/+/tED0gtObd8F9hgNtP1newD3/CyiqW9XzTPi98a5fAnlH7GBVvjU6HMULk
DcPipO4q3uT1SwECMrITvwfhd7om0HXtXPMeU0VDl1n1pz6QVojXWon+CtkYEWJh
msYr1fBbKITs5dU8AUgllnfxo6VwxV05mWN89iNv7PknmM129V/BuToQjHQj7tQR
SNa/OLInucrCbPhXe2EMLVFJhdSrwm9/FNlE6ogglgDbOMmFxuqddPTAIxCMR6g1
1NsObI7Jvf+I7BDQiBpnJ05R2wewdH08bwh3C9XP0mT21B6PBDtm3X8QhxoYb8Nf
duCuoHJiZPqjku1Ao5R/mXZXa+nZveiaEYI8nNMess90gQ1u1vEsSWUzBhqe71g9
+LSRqwMoIAdsfp2EM4iY1QRgpz8z2+QFporKNA8f6WyEjGa7J5hmkfdwBTKp7295
Xw3zAU27Yx0hNREHgGVb3V0U9wVASFPJKXK+w2bVO5j9dlQZr/7hXD/vugNR5Lt9
ngaHG74vIEyil+oPxUYcZWidXUUiFpgN9mFMzdFYTlPn2q2KNYd819OTgoTWK7I5
FuQZBRLns9B+t7OB/0xCUyBQU4ZCp5geIN0rt6IKnudS0pGb938=
=HHF5
-----END PGP SIGNATURE-----
--==-=-=--




Acknowledgement sent to Akib Azmain Turja <akib@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#59641; 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: Sat, 20 Jan 2024 12:30:02 UTC

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