From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#31138: Native json slower than json.el Date: Tue, 16 Apr 2019 16:50:58 +0300 Message-ID: <21f68973-a684-2a65-82eb-c8f3df90127f@yandex.ru> References: <87sh806xwa.fsf@chapu.is> <83tvftne0j.fsf@gnu.org> <40DA9396-044E-4D00-946E-42B776B51BFA@gnu.org> <83r2awnw0w.fsf@gnu.org> <83d0mgnn31.fsf@gnu.org> <835zs7och6.fsf@gnu.org> <83tvfqnbxc.fsf@gnu.org> <83lg12n75s.fsf@gnu.org> <83h8bqn2ik.fsf@gnu.org> <83zhphliil.fsf@gnu.org> <181b93a3-3861-0481-1b95-8344410d1049@yandex.ru> <83r2a2hdxn.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------0E4D17920164B8A5DEC0D6A5" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="227594"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 Cc: sebastien@chapu.is, yyoncho@gmail.com, 31138@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Apr 16 15:53:36 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hGOWm-000x4x-52 for geb-bug-gnu-emacs@m.gmane.org; Tue, 16 Apr 2019 15:53:36 +0200 Original-Received: from localhost ([127.0.0.1]:37304 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hGOWl-0007H1-5U for geb-bug-gnu-emacs@m.gmane.org; Tue, 16 Apr 2019 09:53:35 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:47904) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hGOVI-0006AC-54 for bug-gnu-emacs@gnu.org; Tue, 16 Apr 2019 09:52:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hGOVG-0004o0-KX for bug-gnu-emacs@gnu.org; Tue, 16 Apr 2019 09:52:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:51530) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hGOVG-0004nk-C9 for bug-gnu-emacs@gnu.org; Tue, 16 Apr 2019 09:52:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hGOVG-0006fb-8q for bug-gnu-emacs@gnu.org; Tue, 16 Apr 2019 09:52:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 16 Apr 2019 13:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 31138 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 31138-submit@debbugs.gnu.org id=B31138.155542267225584 (code B ref 31138); Tue, 16 Apr 2019 13:52:02 +0000 Original-Received: (at 31138) by debbugs.gnu.org; 16 Apr 2019 13:51:12 +0000 Original-Received: from localhost ([127.0.0.1]:36841 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hGOUR-0006eZ-A8 for submit@debbugs.gnu.org; Tue, 16 Apr 2019 09:51:11 -0400 Original-Received: from mail-wr1-f41.google.com ([209.85.221.41]:33561) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hGOUN-0006eG-P7 for 31138@debbugs.gnu.org; Tue, 16 Apr 2019 09:51:08 -0400 Original-Received: by mail-wr1-f41.google.com with SMTP id q1so27229935wrp.0 for <31138@debbugs.gnu.org>; Tue, 16 Apr 2019 06:51:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=t2plY+5oSc+Bn+r8ojZUaD66BuzN4nnc6pgIcliJOiY=; b=L6QDkLR97sz/tkJKWDr68SA9B1WwCVO4A2JJOfHY1CNBlgLcpxgKC3zF2SMf2HqYvU WvS98YijVcF5rBi2rd8gUp3Akfou8Y2iligoPq+NzQV7NRJxoDE6Z5pJrmwvJG5vp66i ZWXUlSj31yeohiCfKwhTdnVroK6cWKJ64b9SfvAYVXOFd8wG0SoUr1LDW//rgvO9xND5 dlz505UiIaf12yvl3dX+JYeKE/EA76DRrGap+rULTyF6ujFJ40Nam62bGlrKT0RQrImG 29zd0e5vrc7ZFJjfTlHEacU/LkbSioXarPVSDzWD7DR9MnR2GQNXMxIa0sLpVuatVozy NRYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language; bh=t2plY+5oSc+Bn+r8ojZUaD66BuzN4nnc6pgIcliJOiY=; b=gleZh2GUsAftiRk97qzJI9kD+Gl0DKHTveNXMLm8qGvBnx9qnQ6kCagi1POfH92kz0 ye9TLUV73wae10RcrJ/HRdmAM/hj5le6Z5FPFpOGkFw8pJ+LFCehqWsTaTOwBTFj6u2K bskygTUYB1LYHvvbvRr+hv+DteLHwo9T+kSddqsiHF3sxNMRgsYek1eH1gpkk2zeXAZ3 MFmrQM3iw06cIuR9evgLcEhA74cDjLOoLoFkOSNrRqP8UBr7MIXN1G1wGXqqwpP2O5xC YauN8+whoUPNf/bjdH/mWKRC2uUKJ7Vfl5chs1EOC7fHvJA/MT5R896SiXj9Epmneabk yQYw== X-Gm-Message-State: APjAAAW4DStAqhDlZ0YO66hQRz7CEQQByQtvFZmbI/5fmGXz76rFyO/m IoGZFiBWYlpbc2SWrvX4t9PGDt0A X-Google-Smtp-Source: APXvYqzVWwDNrYCGhdHtHSEWEZewRwqcoc8VNwjeubhGZOzWE6AuCan5SBiz+G2p7ybwlfR++57B4g== X-Received: by 2002:adf:ea45:: with SMTP id j5mr43417664wrn.89.1555422661630; Tue, 16 Apr 2019 06:51:01 -0700 (PDT) Original-Received: from [192.168.0.195] ([109.110.245.170]) by smtp.googlemail.com with ESMTPSA id v192sm23943494wme.24.2019.04.16.06.50.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 16 Apr 2019 06:51:00 -0700 (PDT) In-Reply-To: <83r2a2hdxn.fsf@gnu.org> Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:157714 Archived-At: This is a multi-part message in MIME format. --------------0E4D17920164B8A5DEC0D6A5 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 16.04.2019 5:38, Eli Zaretskii wrote: >> So what should we profile? The internals of code_convert_string? > > The entire run of parsing a large JSON. code_convert_string will be > part of the profile. All right, my test script and results are attached. Here's how I run it: sudo perf record -F 99 src/emacs -Q --batch -l ~/examples/elisp/json-test.el sudo perf report -n --stdio > perf-report.txt If you have certain recording or output format preferences, please let me know. --------------0E4D17920164B8A5DEC0D6A5 Content-Type: text/x-emacs-lisp; name="json-test.el" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="json-test.el" (defun test () (with-temp-buffer (insert-file-contents "~/examples/sample-response.json") (goto-char (point-min)) (json-parse-buffer))) (benchmark 10 '(test)) --------------0E4D17920164B8A5DEC0D6A5 Content-Type: text/plain; charset=UTF-8; name="perf-report.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="perf-report.txt" IyBUbyBkaXNwbGF5IHRoZSBwZXJmLmRhdGEgaGVhZGVyIGluZm8sIHBsZWFzZSB1c2UgLS1o ZWFkZXIvLS1oZWFkZXItb25seSBvcHRpb25zLgojCiMKIyBUb3RhbCBMb3N0IFNhbXBsZXM6 IDAKIwojIFNhbXBsZXM6IDQ0MyAgb2YgZXZlbnQgJ2N5Y2xlczpwcHAnCiMgRXZlbnQgY291 bnQgKGFwcHJveC4pOiAxMzM4Nzg2NDY5MAojCiMgT3ZlcmhlYWQgICAgICAgU2FtcGxlcyAg Q29tbWFuZCAgU2hhcmVkIE9iamVjdCAgICAgICAgIFN5bWJvbCAgICAgICAgICAgICAgICAg ICAgICAgICAgCiMgLi4uLi4uLi4gIC4uLi4uLi4uLi4uLiAgLi4uLi4uLiAgLi4uLi4uLi4u Li4uLi4uLi4uLi4gIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCiMKICAgICA2 LjIwJSAgICAgICAgICAgIDI3ICBlbWFjcyAgICBlbWFjcyAgICAgICAgICAgICAgICAgWy5d IGRlY29kZV9jb2RpbmdfdXRmXzgKICAgICA0LjY3JSAgICAgICAgICAgIDIxICBlbWFjcyAg ICBsaWJjLTIuMjcuc28gICAgICAgICAgWy5dIG1hbGxvY19jb25zb2xpZGF0ZQogICAgIDQu MzElICAgICAgICAgICAgMTkgIGVtYWNzICAgIGxpYmMtMi4yNy5zbyAgICAgICAgICBbLl0g X19tZW1tb3ZlX2F2eF91bmFsaWduZWRfZXJtcwogICAgIDMuOTMlICAgICAgICAgICAgMTcg IGVtYWNzICAgIGVtYWNzICAgICAgICAgICAgICAgICBbLl0gcHJvZHVjZV9jaGFycwogICAg IDMuMzAlICAgICAgICAgICAgMTUgIGVtYWNzICAgIGxpYmMtMi4yNy5zbyAgICAgICAgICBb Ll0gbWFsbG9jCiAgICAgMy4yNSUgICAgICAgICAgICAxNSAgZW1hY3MgICAgbGliYy0yLjI3 LnNvICAgICAgICAgIFsuXSBfaW50X21hbGxvYwogICAgIDIuOTUlICAgICAgICAgICAgMTMg IGVtYWNzICAgIGVtYWNzICAgICAgICAgICAgICAgICBbLl0gc3RvcmVfc3ltdmFsX2Zvcndh cmRpbmcKICAgICAyLjc4JSAgICAgICAgICAgIDEyICBlbWFjcyAgICBsaWJjLTIuMjcuc28g ICAgICAgICAgWy5dIGNmcmVlQEdMSUJDXzIuMi41CiAgICAgMi43NSUgICAgICAgICAgICAx MiAgZW1hY3MgICAgZW1hY3MgICAgICAgICAgICAgICAgIFsuXSBqc29uX3RvX2xpc3AKICAg ICAyLjcwJSAgICAgICAgICAgICAxICBlbWFjcyAgICBba2VybmVsLmthbGxzeW1zXSAgICAg W2tdIHN5bmNfcmVncwogICAgIDIuMzclICAgICAgICAgICAgMTIgIGVtYWNzICAgIGVtYWNz ICAgICAgICAgICAgICAgICBbLl0gbWFya19vYmplY3QKICAgICAyLjA4JSAgICAgICAgICAg ICA5ICBlbWFjcyAgICBlbWFjcyAgICAgICAgICAgICAgICAgWy5dIHNldF9idWZmZXJfaW50 ZXJuYWxfMgogICAgIDIuMDclICAgICAgICAgICAgIDkgIGVtYWNzICAgIGVtYWNzICAgICAg ICAgICAgICAgICBbLl0gbWFrZV91bmluaXRfbXVsdGlieXRlX3N0cmluZwogICAgIDIuMDYl ICAgICAgICAgICAgIDkgIGVtYWNzICAgIGVtYWNzICAgICAgICAgICAgICAgICBbLl0gc3dh cF9pbl9zeW12YWxfZm9yd2FyZGluZwogICAgIDIuMDYlICAgICAgICAgICAgIDkgIGVtYWNz ICAgIGVtYWNzICAgICAgICAgICAgICAgICBbLl0gZG9fc3ltdmFsX2ZvcndhcmRpbmcKICAg ICAxLjkxJSAgICAgICAgICAgIDEwICBlbWFjcyAgICBlbWFjcyAgICAgICAgICAgICAgICAg Wy5dIHN3ZWVwX3N0cmluZ3MKICAgICAxLjU1JSAgICAgICAgICAgICA4ICBlbWFjcyAgICBl bWFjcyAgICAgICAgICAgICAgICAgWy5dIGRldGVjdF9jb2RpbmcKICAgICAxLjQ0JSAgICAg ICAgICAgICAxICBlbWFjcyAgICBba2VybmVsLmthbGxzeW1zXSAgICAgW2tdIGVycm9yX2Vu dHJ5CiAgICAgMS4zNiUgICAgICAgICAgICAgNyAgZW1hY3MgICAgZW1hY3MgICAgICAgICAg ICAgICAgIFsuXSBkZXRlY3RfY29kaW5nX3V0Zl84CiAgICAgMS4zNiUgICAgICAgICAgICAg NiAgZW1hY3MgICAgZW1hY3MgICAgICAgICAgICAgICAgIFsuXSBoYXNoX2xvb2t1cAogICAg IDEuMzQlICAgICAgICAgICAgIDcgIGVtYWNzICAgIGVtYWNzICAgICAgICAgICAgICAgICBb Ll0gYm95ZXJfbW9vcmUKICAgICAxLjE2JSAgICAgICAgICAgICA1ICBlbWFjcyAgICBsaWJq YW5zc29uLnNvLjQuMTEuMCAgWy5dIGpzb25fZGVsZXRlCiAgICAgMS4xNCUgICAgICAgICAg ICAgNSAgZW1hY3MgICAgZW1hY3MgICAgICAgICAgICAgICAgIFsuXSBhbGxvY2F0ZV92ZWN0 b3JsaWtlCiAgICAgMS4xMyUgICAgICAgICAgICAgNSAgZW1hY3MgICAgZW1hY3MgICAgICAg ICAgICAgICAgIFsuXSBhZGp1c3Rfc3VzcGVuZF9hdXRvX2hzY3JvbGwKICAgICAxLjA4JSAg ICAgICAgICAgICA1ICBlbWFjcyAgICBsaWJqYW5zc29uLnNvLjQuMTEuMCAgWy5dIDB4MDAw MDAwMDAwMDAwN2Y0MAogICAgIDAuOTQlICAgICAgICAgICAgIDQgIGVtYWNzICAgIGVtYWNz ICAgICAgICAgICAgICAgICBbLl0gaW5zZXJ0X2Zyb21fZ2FwCiAgICAgMC45MSUgICAgICAg ICAgICAgNCAgZW1hY3MgICAgbGliYy0yLjI3LnNvICAgICAgICAgIFsuXSBfX21lbWNocl9h dngyCiAgICAgMC44OSUgICAgICAgICAgICAgNCAgZW1hY3MgICAgZW1hY3MgICAgICAgICAg ICAgICAgIFsuXSBhbGxvY2F0ZV92ZWN0b3IKICAgICAwLjg4JSAgICAgICAgICAgICA0ICBl bWFjcyAgICBsaWJqYW5zc29uLnNvLjQuMTEuMCAgWy5dIDB4MDAwMDAwMDAwMDAwNDFmMAog ICAgIDAuODQlICAgICAgICAgICAgIDQgIGVtYWNzICAgIGxpYmphbnNzb24uc28uNC4xMS4w ICBbLl0gMHgwMDAwMDAwMDAwMDA0NGNmCiAgICAgMC43MSUgICAgICAgICAgICAgMyAgZW1h Y3MgICAgbGliamFuc3Nvbi5zby40LjExLjAgIFsuXSAweDAwMDAwMDAwMDAwMDdmMWYKICAg ICAwLjcwJSAgICAgICAgICAgICAzICBlbWFjcyAgICBsaWJqYW5zc29uLnNvLjQuMTEuMCAg Wy5dIGpzb25fYXJyYXlfZ2V0CiAgICAgMC43MCUgICAgICAgICAgICAgMyAgZW1hY3MgICAg ZW1hY3MgICAgICAgICAgICAgICAgIFsuXSBtYWtlX2J1ZmZlcl9zdHJpbmdfYm90aAogICAg IDAuNjklICAgICAgICAgICAgIDMgIGVtYWNzICAgIGVtYWNzICAgICAgICAgICAgICAgICBb Ll0gRmN1cnJlbnRfYnVmZmVyCiAgICAgMC42OSUgICAgICAgICAgICAgMyAgZW1hY3MgICAg ZW1hY3MgICAgICAgICAgICAgICAgIFsuXSBtZW1faW5zZXJ0CiAgICAgMC42OSUgICAgICAg ICAgICAgMyAgZW1hY3MgICAgbGliamFuc3Nvbi5zby40LjExLjAgIFsuXSBqc29uX3N0cmlu Z192YWx1ZQogICAgIDAuNjglICAgICAgICAgICAgIDMgIGVtYWNzICAgIGxpYmphbnNzb24u c28uNC4xMS4wICBbLl0gMHgwMDAwMDAwMDAwMDA0MWVjCiAgICAgMC42NyUgICAgICAgICAg ICAgMyAgZW1hY3MgICAgZW1hY3MgICAgICAgICAgICAgICAgIFsuXSBGbmV4dF9wcm9wZXJ0 eV9jaGFuZ2UKICAgICAwLjY3JSAgICAgICAgICAgICAzICBlbWFjcyAgICBsaWJqYW5zc29u LnNvLjQuMTEuMCAgWy5dIDB4MDAwMDAwMDAwMDAwNDFkYwogICAgIDAuNjYlICAgICAgICAg ICAgIDMgIGVtYWNzICAgIGVtYWNzICAgICAgICAgICAgICAgICBbLl0gZGVjb2RlX2NvZGlu ZwogICAgIDAuNjYlICAgICAgICAgICAgIDMgIGVtYWNzICAgIGVtYWNzICAgICAgICAgICAg ICAgICBbLl0ganNvbl9tYWxsb2MKICAgICAwLjY1JSAgICAgICAgICAgICAzICBlbWFjcyAg ICBsaWJqYW5zc29uLnNvLjQuMTEuMCAgWy5dIDB4MDAwMDAwMDAwMDAwNDFmNwogICAgIDAu NjMlICAgICAgICAgICAgIDMgIGVtYWNzICAgIGxpYmphbnNzb24uc28uNC4xMS4wICBbLl0g MHgwMDAwMDAwMDAwMDA0MWU0CiAgICAgMC42MyUgICAgICAgICAgICAgMyAgZW1hY3MgICAg bGliamFuc3Nvbi5zby40LjExLjAgIFsuXSAweDAwMDAwMDAwMDAwMDQwOTYKICAgICAwLjYy JSAgICAgICAgICAgICAxICBlbWFjcyAgICBba2VybmVsLmthbGxzeW1zXSAgICAgW2tdIGtt ZW1fY2FjaGVfYWxsb2MKICAgICAwLjYyJSAgICAgICAgICAgICAzICBlbWFjcyAgICBsaWJq YW5zc29uLnNvLjQuMTEuMCAgWy5dIDB4MDAwMDAwMDAwMDAwN2U4OQogICAgIDAuNjElICAg ICAgICAgICAgIDMgIGVtYWNzICAgIGxpYmphbnNzb24uc28uNC4xMS4wICBbLl0gMHgwMDAw MDAwMDAwMDA0MGUwCiAgICAgMC40NyUgICAgICAgICAgICAgMiAgZW1hY3MgICAgZW1hY3Mg ICAgICAgICAgICAgICAgIFsuXSBpbnZhbGlkYXRlX2J1ZmZlcl9jYWNoZXMKICAgICAwLjQ3 JSAgICAgICAgICAgICAyICBlbWFjcyAgICBlbWFjcyAgICAgICAgICAgICAgICAgWy5dIGFs bG9jYXRlX3N0cmluZ19kYXRhCiAgICAgMC40NiUgICAgICAgICAgICAgMiAgZW1hY3MgICAg ZW1hY3MgICAgICAgICAgICAgICAgIFsuXSBkZWxfcmFuZ2VfMgogICAgIDAuNDYlICAgICAg ICAgICAgIDIgIGVtYWNzICAgIGVtYWNzICAgICAgICAgICAgICAgICBbLl0gYXNzcV9ub19x dWl0CiAgICAgMC40NiUgICAgICAgICAgICAgMiAgZW1hY3MgICAgZW1hY3MgICAgICAgICAg ICAgICAgIFsuXSBjb2RlX2NvbnZlcnRfc3RyaW5nCiAgICAgMC40NiUgICAgICAgICAgICAg MiAgZW1hY3MgICAgZW1hY3MgICAgICAgICAgICAgICAgIFsuXSBtYWtlX3NwZWNpZmllZF9z dHJpbmcKICAgICAwLjQ2JSAgICAgICAgICAgICAyICBlbWFjcyAgICBsaWJqYW5zc29uLnNv LjQuMTEuMCAgWy5dIDB4MDAwMDAwMDAwMDAwNDBhNAogICAgIDAuNDYlICAgICAgICAgICAg IDIgIGVtYWNzICAgIGVtYWNzICAgICAgICAgICAgICAgICBbLl0gRm1ha2VfbG9jYWxfdmFy aWFibGUKICAgICAwLjQ2JSAgICAgICAgICAgICAyICBlbWFjcyAgICBlbWFjcyAgICAgICAg ICAgICAgICAgWy5dIEZ3aWRlbgogICAgIDAuNDUlICAgICAgICAgICAgIDIgIGVtYWNzICAg IGVtYWNzICAgICAgICAgICAgICAgICBbLl0gZGVjb2RlX2NvZGluZ19vYmplY3QKICAgICAw LjQ1JSAgICAgICAgICAgICAyICBlbWFjcyAgICBsaWJqYW5zc29uLnNvLjQuMTEuMCAgWy5d IDB4MDAwMDAwMDAwMDAwM2MxZgogICAgIDAuNDQlICAgICAgICAgICAgIDIgIGVtYWNzICAg IGxpYmphbnNzb24uc28uNC4xMS4wICBbLl0gMHgwMDAwMDAwMDAwMDA0MGM1CiAgICAgMC40 MyUgICAgICAgICAgICAgMiAgZW1hY3MgICAgbGliamFuc3Nvbi5zby40LjExLjAgIFsuXSAw eDAwMDAwMDAwMDAwMDQwYmMKICAgICAwLjQzJSAgICAgICAgICAgICAyICBlbWFjcyAgICBs aWJqYW5zc29uLnNvLjQuMTEuMCAgWy5dIDB4MDAwMDAwMDAwMDAwNDA3NAogICAgIDAuNDIl ICAgICAgICAgICAgIDIgIGVtYWNzICAgIGxpYmphbnNzb24uc28uNC4xMS4wICBbLl0gMHgw MDAwMDAwMDAwMDA3ZjUzCiAgICAgMC40MiUgICAgICAgICAgICAgMiAgZW1hY3MgICAgbGli amFuc3Nvbi5zby40LjExLjAgIFsuXSAweDAwMDAwMDAwMDAwMDQwY2EKICAgICAwLjQxJSAg ICAgICAgICAgICAyICBlbWFjcyAgICBsaWJqYW5zc29uLnNvLjQuMTEuMCAgWy5dIDB4MDAw MDAwMDAwMDAwNDA4YQogICAgIDAuNDElICAgICAgICAgICAgIDIgIGVtYWNzICAgIGVtYWNz ICAgICAgICAgICAgICAgICBbLl0gbWFsbG9jQHBsdAogICAgIDAuNDElICAgICAgICAgICAg IDIgIGVtYWNzICAgIGxpYmphbnNzb24uc28uNC4xMS4wICBbLl0gMHgwMDAwMDAwMDAwMDA0 MDllCiAgICAgMC40MCUgICAgICAgICAgICAgMiAgZW1hY3MgICAgbGliamFuc3Nvbi5zby40 LjExLjAgIFsuXSBqc29uX2FycmF5X2FwcGVuZF9uZXcKICAgICAwLjQwJSAgICAgICAgICAg ICAyICBlbWFjcyAgICBlbWFjcyAgICAgICAgICAgICAgICAgWy5dIHBkdW1wZXJfbWFya2Vk X3BfaW1wbAogICAgIDAuMzklICAgICAgICAgICAgIDIgIGVtYWNzICAgIGxpYmphbnNzb24u c28uNC4xMS4wICBbLl0gMHgwMDAwMDAwMDAwMDA4MjkzCiAgICAgMC4zNyUgICAgICAgICAg ICAgMiAgZW1hY3MgICAgZW1hY3MgICAgICAgICAgICAgICAgIFsuXSBzd2VlcF9jb25zZXMK ICAgICAwLjM3JSAgICAgICAgICAgICAyICBlbWFjcyAgICBlbWFjcyAgICAgICAgICAgICAg ICAgWy5dIHN3ZWVwX3ZlY3RvcnMKICAgICAwLjIzJSAgICAgICAgICAgICAxICBlbWFjcyAg ICBsaWJqYW5zc29uLnNvLjQuMTEuMCAgWy5dIDB4MDAwMDAwMDAwMDAwNDNjOQogICAgIDAu MjMlICAgICAgICAgICAgIDEgIGVtYWNzICAgIGVtYWNzICAgICAgICAgICAgICAgICBbLl0g ZnJlZUBwbHQKICAgICAwLjIzJSAgICAgICAgICAgICAxICBlbWFjcyAgICBlbWFjcyAgICAg ICAgICAgICAgICAgWy5dIGpzb25fYXJyYXlfc2l6ZUBwbHQKICAgICAwLjIzJSAgICAgICAg ICAgICAxICBlbWFjcyAgICBlbWFjcyAgICAgICAgICAgICAgICAgWy5dIEZhc3NxCiAgICAg MC4yMyUgICAgICAgICAgICAgMSAgZW1hY3MgICAgZW1hY3MgICAgICAgICAgICAgICAgIFsu XSBGY29ucwogICAgIDAuMjMlICAgICAgICAgICAgIDEgIGVtYWNzICAgIGVtYWNzICAgICAg ICAgICAgICAgICBbLl0gbWFrZV92ZWN0b3IKICAgICAwLjIzJSAgICAgICAgICAgICAxICBl bWFjcyAgICBlbWFjcyAgICAgICAgICAgICAgICAgWy5dIGRvX29uZV91bmJpbmQuY29uc3Rw cm9wLjI0CiAgICAgMC4yMyUgICAgICAgICAgICAgMSAgZW1hY3MgICAgZW1hY3MgICAgICAg ICAgICAgICAgIFsuXSBoYXNoZm5fZXEKICAgICAwLjIzJSAgICAgICAgICAgICAxICBlbWFj cyAgICBlbWFjcyAgICAgICAgICAgICAgICAgWy5dIGpzb25fYXJyYXlfZ2V0QHBsdAogICAg IDAuMjMlICAgICAgICAgICAgIDEgIGVtYWNzICAgIGxpYmphbnNzb24uc28uNC4xMS4wICBb Ll0gMHgwMDAwMDAwMDAwMDA0MGRmCiAgICAgMC4yMyUgICAgICAgICAgICAgMSAgZW1hY3Mg ICAgZW1hY3MgICAgICAgICAgICAgICAgIFsuXSBjb2RlX2NvbnZlcnNpb25fc2F2ZQogICAg IDAuMjMlICAgICAgICAgICAgIDEgIGVtYWNzICAgIFtrZXJuZWwua2FsbHN5bXNdICAgICBb a10gcmN1X25taV9lbnRlcgogICAgIDAuMjMlICAgICAgICAgICAgIDEgIGVtYWNzICAgIGxp YmphbnNzb24uc28uNC4xMS4wICBbLl0gMHgwMDAwMDAwMDAwMDA3ZTgyCiAgICAgMC4yMyUg ICAgICAgICAgICAgMSAgZW1hY3MgICAgZW1hY3MgICAgICAgICAgICAgICAgIFsuXSBzZXRf YnVmZmVyX2ludGVybmFsXzEKICAgICAwLjIzJSAgICAgICAgICAgICAxICBlbWFjcyAgICBs aWJqYW5zc29uLnNvLjQuMTEuMCAgWy5dIGpzb25faW50ZWdlcl92YWx1ZQogICAgIDAuMjMl ICAgICAgICAgICAgIDEgIGVtYWNzICAgIGVtYWNzICAgICAgICAgICAgICAgICBbLl0ganNv bl9mcmVlCiAgICAgMC4yMyUgICAgICAgICAgICAgMSAgZW1hY3MgICAgZW1hY3MgICAgICAg ICAgICAgICAgIFsuXSBzZXR1cF9jb2Rpbmdfc3lzdGVtCiAgICAgMC4yMyUgICAgICAgICAg ICAgMSAgZW1hY3MgICAgbGliamFuc3Nvbi5zby40LjExLjAgIFsuXSAweDAwMDAwMDAwMDAw MDdlN2QKICAgICAwLjIzJSAgICAgICAgICAgICAxICBlbWFjcyAgICBsaWJqYW5zc29uLnNv LjQuMTEuMCAgWy5dIDB4MDAwMDAwMDAwMDAwODI5MAogICAgIDAuMjMlICAgICAgICAgICAg IDEgIGVtYWNzICAgIGVtYWNzICAgICAgICAgICAgICAgICBbLl0gcmVjb3JkX2luc2VydAog ICAgIDAuMjMlICAgICAgICAgICAgIDEgIGVtYWNzICAgIGVtYWNzICAgICAgICAgICAgICAg ICBbLl0gc2V0X2ludGVybmFsCiAgICAgMC4yMyUgICAgICAgICAgICAgMSAgZW1hY3MgICAg bGliamFuc3Nvbi5zby40LjExLjAgIFsuXSAweDAwMDAwMDAwMDAwMDQyZTQKICAgICAwLjIz JSAgICAgICAgICAgICAxICBlbWFjcyAgICBba2VybmVsLmthbGxzeW1zXSAgICAgW2tdIG1l bV9jZ3JvdXBfdHJ5X2NoYXJnZQogICAgIDAuMjMlICAgICAgICAgICAgIDEgIGVtYWNzICAg IGxpYmphbnNzb24uc28uNC4xMS4wICBbLl0gMHgwMDAwMDAwMDAwMDA0MWQwCiAgICAgMC4y MyUgICAgICAgICAgICAgMSAgZW1hY3MgICAgZW1hY3MgICAgICAgICAgICAgICAgIFsuXSB2 YWxpZGF0ZV9pbnRlcnZhbF9yYW5nZQogICAgIDAuMjMlICAgICAgICAgICAgIDEgIGVtYWNz ICAgIGxpYmphbnNzb24uc28uNC4xMS4wICBbLl0gMHgwMDAwMDAwMDAwMDA0NGU3CiAgICAg MC4yMyUgICAgICAgICAgICAgMSAgZW1hY3MgICAgZW1hY3MgICAgICAgICAgICAgICAgIFsu XSBqc29uX21ha2Vfc3RyaW5nCiAgICAgMC4yMyUgICAgICAgICAgICAgMSAgZW1hY3MgICAg bGliamFuc3Nvbi5zby40LjExLjAgIFsuXSAweDAwMDAwMDAwMDAwMDQ4M2IKICAgICAwLjIz JSAgICAgICAgICAgICAxICBlbWFjcyAgICBsaWJqYW5zc29uLnNvLjQuMTEuMCAgWy5dIDB4 MDAwMDAwMDAwMDAwNDI2MAogICAgIDAuMjMlICAgICAgICAgICAgIDEgIGVtYWNzICAgIGxp YmMtMi4yNy5zbyAgICAgICAgICBbLl0gX19HSV9fX19fc3RydG9sbF9sX2ludGVybmFsCiAg ICAgMC4yMyUgICAgICAgICAgICAgMSAgZW1hY3MgICAgZW1hY3MgICAgICAgICAgICAgICAg IFsuXSBkZWxfcmFuZ2VfMQogICAgIDAuMjMlICAgICAgICAgICAgIDEgIGVtYWNzICAgIGxp YmphbnNzb24uc28uNC4xMS4wICBbLl0gMHgwMDAwMDAwMDAwMDA0MzE0CiAgICAgMC4yMiUg ICAgICAgICAgICAgMSAgZW1hY3MgICAgZW1hY3MgICAgICAgICAgICAgICAgIFsuXSBjb2Rp bmdfc2V0X2Rlc3RpbmF0aW9uCiAgICAgMC4yMiUgICAgICAgICAgICAgMSAgZW1hY3MgICAg bGliamFuc3Nvbi5zby40LjExLjAgIFsuXSAweDAwMDAwMDAwMDAwMDRiODAKICAgICAwLjIy JSAgICAgICAgICAgICAxICBlbWFjcyAgICBsaWJqYW5zc29uLnNvLjQuMTEuMCAgWy5dIDB4 MDAwMDAwMDAwMDAwN2YzMwogICAgIDAuMjIlICAgICAgICAgICAgIDEgIGVtYWNzICAgIGxp YmphbnNzb24uc28uNC4xMS4wICBbLl0gMHgwMDAwMDAwMDAwMDA0MDdjCiAgICAgMC4yMiUg ICAgICAgICAgICAgMSAgZW1hY3MgICAgbGliamFuc3Nvbi5zby40LjExLjAgIFsuXSAweDAw MDAwMDAwMDAwMDQwZDEKICAgICAwLjIyJSAgICAgICAgICAgICAxICBlbWFjcyAgICBsaWJq YW5zc29uLnNvLjQuMTEuMCAgWy5dIDB4MDAwMDAwMDAwMDAwNDBlNwogICAgIDAuMjIlICAg ICAgICAgICAgIDEgIGVtYWNzICAgIGxpYmphbnNzb24uc28uNC4xMS4wICBbLl0gMHgwMDAw MDAwMDAwMDA0MDkxCiAgICAgMC4yMiUgICAgICAgICAgICAgMSAgZW1hY3MgICAgbGliamFu c3Nvbi5zby40LjExLjAgIFsuXSAweDAwMDAwMDAwMDAwMDQ4NDcKICAgICAwLjIxJSAgICAg ICAgICAgICAxICBlbWFjcyAgICBsaWJqYW5zc29uLnNvLjQuMTEuMCAgWy5dIDB4MDAwMDAw MDAwMDAwNDBjMAogICAgIDAuMjElICAgICAgICAgICAgIDEgIGVtYWNzICAgIGxpYmphbnNz b24uc28uNC4xMS4wICBbLl0gMHgwMDAwMDAwMDAwMDA0ZTBlCiAgICAgMC4yMSUgICAgICAg ICAgICAgMSAgZW1hY3MgICAgbGliamFuc3Nvbi5zby40LjExLjAgIFsuXSAweDAwMDAwMDAw MDAwMDdlNzQKICAgICAwLjIxJSAgICAgICAgICAgICAxICBlbWFjcyAgICBsaWJqYW5zc29u LnNvLjQuMTEuMCAgWy5dIDB4MDAwMDAwMDAwMDAwN2Y0ZQogICAgIDAuMjElICAgICAgICAg ICAgIDEgIGVtYWNzICAgIGxpYmphbnNzb24uc28uNC4xMS4wICBbLl0gMHgwMDAwMDAwMDAw MDA0MjZhCiAgICAgMC4yMSUgICAgICAgICAgICAgMSAgZW1hY3MgICAgZW1hY3MgICAgICAg ICAgICAgICAgIFsuXSBiYWxhbmNlX2ludGVydmFscwogICAgIDAuMjElICAgICAgICAgICAg IDEgIGVtYWNzICAgIGxpYmphbnNzb24uc28uNC4xMS4wICBbLl0gMHgwMDAwMDAwMDAwMDA0 MjkwCiAgICAgMC4yMSUgICAgICAgICAgICAgMSAgZW1hY3MgICAgZW1hY3MgICAgICAgICAg ICAgICAgIFsuXSB1bmJpbmRfdG8KICAgICAwLjIxJSAgICAgICAgICAgICAxICBlbWFjcyAg ICBsaWJqYW5zc29uLnNvLjQuMTEuMCAgWy5dIDB4MDAwMDAwMDAwMDAwNDBkYgogICAgIDAu MjAlICAgICAgICAgICAgIDEgIGVtYWNzICAgIGxpYmphbnNzb24uc28uNC4xMS4wICBbLl0g MHgwMDAwMDAwMDAwMDA0MGIxCiAgICAgMC4yMCUgICAgICAgICAgICAgMSAgZW1hY3MgICAg bGliamFuc3Nvbi5zby40LjExLjAgIFsuXSAweDAwMDAwMDAwMDAwMDQ4NTQKICAgICAwLjIw JSAgICAgICAgICAgICAxICBlbWFjcyAgICBsaWJqYW5zc29uLnNvLjQuMTEuMCAgWy5dIDB4 MDAwMDAwMDAwMDAwNDQ2ZQogICAgIDAuMjAlICAgICAgICAgICAgIDEgIGVtYWNzICAgIGVt YWNzICAgICAgICAgICAgICAgICBbLl0gcGR1bXBlcl9zZXRfbWFya2VkX2ltcGwKICAgICAw LjIwJSAgICAgICAgICAgICAxICBlbWFjcyAgICBsaWJqYW5zc29uLnNvLjQuMTEuMCAgWy5d IDB4MDAwMDAwMDAwMDAwNDUyZAogICAgIDAuMjAlICAgICAgICAgICAgIDEgIGVtYWNzICAg IGxpYmphbnNzb24uc28uNC4xMS4wICBbLl0gMHgwMDAwMDAwMDAwMDA0MjcxCiAgICAgMC4y MCUgICAgICAgICAgICAgMSAgZW1hY3MgICAgZW1hY3MgICAgICAgICAgICAgICAgIFsuXSBt ZW1fZmluZC5wYXJ0LjIwCiAgICAgMC4xOSUgICAgICAgICAgICAgMSAgZW1hY3MgICAgZW1h Y3MgICAgICAgICAgICAgICAgIFsuXSBtZW1fZGVsZXRlLnBhcnQuMjgKICAgICAwLjE4JSAg ICAgICAgICAgICAxICBlbWFjcyAgICBlbWFjcyAgICAgICAgICAgICAgICAgWy5dIG1hcmtf dmVjdG9ybGlrZQogICAgIDAuMTglICAgICAgICAgICAgIDEgIGVtYWNzICAgIGVtYWNzICAg ICAgICAgICAgICAgICBbLl0gdmVjdG9ybGlrZV9uYnl0ZXMKICAgICAwLjAwJSAgICAgICAg ICAgICAxICBwZXJmICAgICBba2VybmVsLmthbGxzeW1zXSAgICAgW2tdIGVuZF9yZXBlYXRf bm1pCiAgICAgMC4wMCUgICAgICAgICAgICAgMSAgZW1hY3MgICAgW2tlcm5lbC5rYWxsc3lt c10gICAgIFtrXSBuYXRpdmVfc2NoZWRfY2xvY2sKICAgICAwLjAwJSAgICAgICAgICAgICAz ICBwZXJmICAgICBba2VybmVsLmthbGxzeW1zXSAgICAgW2tdIG5hdGl2ZV93cml0ZV9tc3IK ICAgICAwLjAwJSAgICAgICAgICAgICAyICBlbWFjcyAgICBba2VybmVsLmthbGxzeW1zXSAg ICAgW2tdIG5hdGl2ZV93cml0ZV9tc3IKICAgICAwLjAwJSAgICAgICAgICAgICAxICBlbWFj cyAgICBbdW5rbm93bl0gICAgICAgICAgICAgWy5dIDAwMDAwMDAwMDAwMDAwMDAKCgojCiMg KENhbm5vdCBsb2FkIHRpcHMudHh0IGZpbGUsIHBsZWFzZSBpbnN0YWxsIHBlcmYhKQojCg== --------------0E4D17920164B8A5DEC0D6A5--