X-Loop: help-debbugs@HIDDEN Subject: bug#59641: term is very slow Resent-From: Akib Azmain Turja <akib@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sun, 27 Nov 2022 20:02:01 +0000 Resent-Message-ID: <handler.59641.B.166957926732765 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 59641 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 59641 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.166957926732765 (code B ref -1); Sun, 27 Nov 2022 20:02:01 +0000 Received: (at submit) by debbugs.gnu.org; 27 Nov 2022 20:01:07 +0000 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== 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-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----- --==-=-=--
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Akib Azmain Turja <akib@HIDDEN> Subject: bug#59641: Acknowledgement (term is very slow) Message-ID: <handler.59641.B.166957926732765.ack <at> debbugs.gnu.org> References: <878rjwmale.fsf@HIDDEN> X-Gnu-PR-Message: ack 59641 X-Gnu-PR-Package: emacs Reply-To: 59641 <at> debbugs.gnu.org Date: Sun, 27 Nov 2022 20:02:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 59641 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 59641: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D59641 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#59641: term is very slow Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sun, 27 Nov 2022 20:31:02 +0000 Resent-Message-ID: <handler.59641.B59641.16695810451283 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59641 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Akib Azmain Turja <akib@HIDDEN> Cc: 59641 <at> debbugs.gnu.org Received: via spool by 59641-submit <at> debbugs.gnu.org id=B59641.16695810451283 (code B ref 59641); Sun, 27 Nov 2022 20:31:02 +0000 Received: (at 59641) by debbugs.gnu.org; 27 Nov 2022 20:30:45 +0000 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> In-Reply-To: <878rjwmale.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN) References: <878rjwmale.fsf@HIDDEN> X-Spam-Score: -2.3 (--) 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.
Received: (at control) by debbugs.gnu.org; 3 Dec 2022 00:59:26 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 02 19:59:26 2022 Received: from localhost ([127.0.0.1]:49910 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p1GsI-0005uy-4w for submit <at> debbugs.gnu.org; Fri, 02 Dec 2022 19:59:26 -0500 Received: from mail-oi1-f180.google.com ([209.85.167.180]:33699) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>) id 1p1GsG-0005ul-Sc for control <at> debbugs.gnu.org; Fri, 02 Dec 2022 19:59:25 -0500 Received: by mail-oi1-f180.google.com with SMTP id c129so7095550oia.0 for <control <at> debbugs.gnu.org>; Fri, 02 Dec 2022 16:59:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=e9mADmIuEjzeWcumbaJJn08FGoEOPhGU5z1apug4nwE=; b=Th5x9Fy06ScHTgjX+LACWcJs+IJb5773GLuvskXw9fbEDtSnPzd+ilaKw22rI0X4s6 wLXhLFg/mafR+U2BlSffH6cY2SLX1RbrDooWzzgs3mB8Z9NaDVAf6YsUKYiI9z7aCwII hLWun+dLcOEKTW77ZzZntwwRBKx55x/kz4gEjyImDzrPJA0LdLxHsQGA8+V5+oxtNiVo sHlt3AfClkXPs8acPuM7CLaOX/j5t3T2xwU7siHhWHJYKyLjwIycj8+cWGS7akL1pT5t lJmZfdl4XY4izIVczaUqc1jxaHGT/9H7fJ+lj9jna6XnhlLfl4YuPxaa06aJOSF/X1VU 0SIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=e9mADmIuEjzeWcumbaJJn08FGoEOPhGU5z1apug4nwE=; b=r3qGpXP/9GK6Oa750ocFOZOG+fLMxdIESutUXZ1XdAj3VnveuMP7NCCl9PL6+i3eh5 R4X28JPo4pxD2IAKo7FWFO5WLU/e/IMnhr9pUAEPqNRurS0gTnXVwRvaCnBjPvDgJ/CH 58+d0GIZbJvfyYCaDPr3IR3F9n5/w5zSm0nCr2zs9yQUv9dgOSk28+pw6Z0cd//wxmHW Kw4gmiEzfqSjde+8flqNpz1BlUymRPPa82U8W6U+a9dei6Y/pIO6nNrHbzE0bcWYJ/hl s0wxBa15+y0/qlnnqJ2kY/g825FxhLIRRlccxp1s6mqatvuVvl2N5NjbkgSgYf+332Pp 5AzA== X-Gm-Message-State: ANoB5pkXavNIlemiX4646/cViyipoCcsy0il2c2sF67+QFrM7+Ze6xvF W2OzgoonE+aDeI6327GQDy/PcAPMrbQHdg+kgRugu1DE X-Google-Smtp-Source: AA0mqf7e7WDE5HasrhPkIQQMYwSrfBVvuyKg/9Svi58G3ZVWE/2seI+En+2kx8XzcFu5IWIkmrqQdE1O/OETLuYIQ8s= X-Received: by 2002:aca:6547:0:b0:35b:c8a2:f7f6 with SMTP id j7-20020aca6547000000b0035bc8a2f7f6mr9403526oiw.199.1670029159442; Fri, 02 Dec 2022 16:59:19 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Fri, 2 Dec 2022 16:59:19 -0800 From: Stefan Kangas <stefankangas@HIDDEN> X-Hashcash: 1:20:221203:control <at> debbugs.gnu.org::2tgMS+9zZh+WVHPP:RcV MIME-Version: 1.0 Date: Fri, 2 Dec 2022 16:59:19 -0800 Message-ID: <CADwFkm=ZEe2+faSvg1K69s2zHnA+iqFgPi_5FFGP6mFMdjtsxg@HIDDEN> Subject: control message for bug #59641 To: control <at> debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control 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 (-) tags 59641 + moreinfo quit
X-Loop: help-debbugs@HIDDEN Subject: bug#59641: term is very slow Resent-From: Akib Azmain Turja <akib@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Fri, 16 Dec 2022 18:30:02 +0000 Resent-Message-ID: <handler.59641.B59641.167121539119735 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59641 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo To: Eli Zaretskii <eliz@HIDDEN> Cc: 59641 <at> debbugs.gnu.org Received: via spool by 59641-submit <at> debbugs.gnu.org id=B59641.167121539119735 (code B ref 59641); Fri, 16 Dec 2022 18:30:02 +0000 Received: (at 59641) by debbugs.gnu.org; 16 Dec 2022 18:29:51 +0000 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== 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-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----- --=-=-=--
X-Loop: help-debbugs@HIDDEN Subject: bug#59641: term is very slow Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Fri, 16 Dec 2022 18:58:01 +0000 Resent-Message-ID: <handler.59641.B59641.167121707021249 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59641 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo To: Akib Azmain Turja <akib@HIDDEN> Cc: 59641 <at> debbugs.gnu.org Received: via spool by 59641-submit <at> debbugs.gnu.org id=B59641.167121707021249 (code B ref 59641); Fri, 16 Dec 2022 18:58:01 +0000 Received: (at 59641) by debbugs.gnu.org; 16 Dec 2022 18:57:50 +0000 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> In-Reply-To: <87zgbn2oep.fsf@HIDDEN> (message from Akib Azmain Turja on Sat, 17 Dec 2022 00:29:02 +0600) References: <878rjwmale.fsf@HIDDEN> <835yf0p2ba.fsf@HIDDEN> <87zgbn2oep.fsf@HIDDEN> X-Spam-Score: -2.3 (--) 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.
X-Loop: help-debbugs@HIDDEN Subject: bug#59641: term is very slow Resent-From: Akib Azmain Turja <akib@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 17 Dec 2022 14:46:02 +0000 Resent-Message-ID: <handler.59641.B59641.16712883596500 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59641 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo To: Eli Zaretskii <eliz@HIDDEN> Cc: 59641 <at> debbugs.gnu.org Received: via spool by 59641-submit <at> debbugs.gnu.org id=B59641.16712883596500 (code B ref 59641); Sat, 17 Dec 2022 14:46:02 +0000 Received: (at 59641) by debbugs.gnu.org; 17 Dec 2022 14:45:59 +0000 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== 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-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----- --=-=-=--
X-Loop: help-debbugs@HIDDEN Subject: bug#59641: term is very slow Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 17 Dec 2022 15:48:02 +0000 Resent-Message-ID: <handler.59641.B59641.16712920548726 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59641 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo To: Akib Azmain Turja <akib@HIDDEN> Cc: 59641 <at> debbugs.gnu.org Received: via spool by 59641-submit <at> debbugs.gnu.org id=B59641.16712920548726 (code B ref 59641); Sat, 17 Dec 2022 15:48:02 +0000 Received: (at 59641) by debbugs.gnu.org; 17 Dec 2022 15:47:34 +0000 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> In-Reply-To: <87ilia2oty.fsf@HIDDEN> (message from Akib Azmain Turja on Sat, 17 Dec 2022 18:32:09 +0600) References: <878rjwmale.fsf@HIDDEN> <835yf0p2ba.fsf@HIDDEN> <87zgbn2oep.fsf@HIDDEN> <83pmcji3bu.fsf@HIDDEN> <87ilia2oty.fsf@HIDDEN> X-Spam-Score: -2.3 (--) 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.
Received: (at control) by debbugs.gnu.org; 10 Jan 2024 10:48:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 10 05:48:47 2024 Received: from localhost ([127.0.0.1]:42041 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rNW8d-0004of-Ei for submit <at> debbugs.gnu.org; Wed, 10 Jan 2024 05:48:47 -0500 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]:42099) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>) id 1rNW8b-0004nq-Fm for control <at> debbugs.gnu.org; Wed, 10 Jan 2024 05:48:45 -0500 Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-5534dcfdd61so7065752a12.0 for <control <at> debbugs.gnu.org>; Wed, 10 Jan 2024 02:48:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704883712; x=1705488512; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=IdUBGTBpQwhPGsYLu2CHTrwiDaWWAwaLCdyMO7/E2Lc=; b=JpHWVS85N0eDk37ED8ODYMzcujKt635FSiNgFIwUU/kIwNauQ3nX43cFuxHV4xT85i oD76stP8g8T3Wm/MPCE9gvlVcuWan11am/WrvGt3z+GflkvtOnaH6cCw84LSfqGI5gX0 Dx2gUyGhmFf3hwTeD/D8ktpwWggB544us0094Zbb3dmsZVMD3+CbB1ggVN4YXdawP+yW bWUBvZCHdExyvxqfprn+Xm+1Mv0PFa0pSJ6fF/pZIJixacNA49A2/nPv5neDTy/43kXh aUL2R3S2h0PLmMZb6jBjLIH/U/cjlHRdzvngxHkMS8kUzhfiCNIs4URhsU7Gv8uLvc3B zyLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704883712; x=1705488512; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=IdUBGTBpQwhPGsYLu2CHTrwiDaWWAwaLCdyMO7/E2Lc=; b=cjnO0jOzG86PMVzS3ashPi7Lrvt/TBgm/qpO9109WCOZLSPONUZR6mgrbgszXIU1+p 8sXHoUxIdlNomvj9Y6wySeT9VHIi0lEghWjUGS8e3e+x8XxenmNJuIGCh8moV0KJIbbs pD0aQ/7kElupaC3zmMWB4WrGWg4koAhi6oJr9xd9u+aq453riR7cmrQEuaCnr1ehlFpx 0rZixAbqDbMIbbu1idhVCxr7/MZFG4/9/25G+MoaSPjkw6Xr9SqIGeU5DkZ1Z91dZ9pi EnCdy0d7WXGJBQsSV9FB1sL3Wd8NZmUhafLUohgqgoACtoyvTNCGiVbmnOvn8d4mJCP8 YZVg== X-Gm-Message-State: AOJu0Yx/XLZUoNnFaL+ez1t3FYIQ/ejCugQsw7nK+Z00DItkgkx03fGe UAAURoJJuTfvL6wuIUICWYJqRdLuam+OkDNwdewyoxPPf/c= X-Google-Smtp-Source: AGHT+IHWL/QXbk/glyAJo+AwQAoTd5xAwumiCuNH52QabYlCLsibC80Ej/7XO+eqKkfofm+DKvb4Lpxb8XAnSL2lr9s= X-Received: by 2002:a50:d59b:0:b0:556:6b8e:e6cc with SMTP id v27-20020a50d59b000000b005566b8ee6ccmr460488edi.35.1704883712140; Wed, 10 Jan 2024 02:48:32 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Wed, 10 Jan 2024 02:48:31 -0800 From: Stefan Kangas <stefankangas@HIDDEN> MIME-Version: 1.0 Date: Wed, 10 Jan 2024 02:48:31 -0800 Message-ID: <CADwFkmkUtLutdW-LayeJA=v2dqzqMnzKEzn2bxw4y137+8s7pA@HIDDEN> Subject: control message for bug #59641 To: control <at> debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: control 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 (-) tags 59641 + moreinfo severity 59641 wishlist quit
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.