From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 112295 invoked by alias); 5 Aug 2017 05:58:50 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 111729 invoked by uid 89); 5 Aug 2017 05:57:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-io0-f170.google.com Received: from mail-io0-f170.google.com (HELO mail-io0-f170.google.com) (209.85.223.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 05 Aug 2017 05:57:03 +0000 Received: by mail-io0-f170.google.com with SMTP id o9so12392242iod.1 for ; Fri, 04 Aug 2017 22:57:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=C99LyWvMPWsq1tla9F4Y/weRszwrJzcKh9NdSH8tSUc=; b=rT2r+UcmHk0V8FxClAfmpns+4DAYwHwMB67iqRPCymQIFYTUFbSuMs1RXM00ilDUNL BM1clpCwr8oViuinRxBKfl3QXiyi0eaq8CxEtt9cb3Kl4devaEL14D/w9AuYj6kIDcjD FbRKaADr+pB+6unnknqGJapE/+USIANDTtDNqcq5HwMeJcQA+WQkpWdfVaGRyTEdZPnU n1JOGHOmvFgx+3M4J7YLuD9GjcjhLko1q/A4ycq9psZnfhdsxAJuvC3e/i7emfzEXCZL yRyOC46Joy2WOMjD9QGIGddUutMDe1l3Mv3KDMXX/QfW1fMA9c2bsLSVSXY0Sp8y4537 Ex2Q== X-Gm-Message-State: AHYfb5hKXmpbtZvQdLhc4lDDViJ9tt3RznTAdE91/bYQjAODpb6Hlvae b06MjsfUOR705H0+FH6vOA83IFjFTz67J9s= X-Received: by 10.107.6.78 with SMTP id 75mr5359210iog.136.1501912621063; Fri, 04 Aug 2017 22:57:01 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.84.7 with HTTP; Fri, 4 Aug 2017 22:57:00 -0700 (PDT) From: =?UTF-8?B?0JzQsNC60YHQuNC8INCU0LfQsNCx0YDQsNC10LI=?= Date: Sat, 05 Aug 2017 05:58:00 -0000 Message-ID: Subject: Garbarge collector eats gdb.selected_thread().inferior To: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary="001a113ee1a0435a8d0555fb48a3" X-SW-Source: 2017-08/txt/msg00092.txt.bz2 --001a113ee1a0435a8d0555fb48a3 Content-Type: text/plain; charset="UTF-8" Content-length: 5051 If multiple time call gdb.selected_thread ().inferior, gdb throw exception: (gdb) pi gdb.selected_thread().inferior (gdb) pi gdb.selected_thread().inferior (gdb) pi gdb.selected_thread().inferior Python Exception 'NoneType' object has no attribute 'inferior': Error while executing Python code. (gdb) info threads Id Target Id Frame * 1 Thread 0x7f54f0474740 (LWP 584) "mc" 0x00007f54ef055c33 in select () from /lib/x86_64-linux-gnu/libc.so.6 I report about this bug here: https://sourceware.org/bugzilla/show_bug.cgi?id=21213 Following patch fixes this bug and add test of this bug. In attachment I add gdb.log and gdb.sum before and after apply patch to thpy_get_inferior. ChangeLog 2017.08.05 Maksim Dzabraev * gdb/python/py-infthread.c (hpy_get_inferior) * gdb/testsuite/gdb.python/py-infthread.exp: Fix bug 21213 and add test --- diff --git a/gdb/python/py-infthread.c b/gdb/python/py-infthread.c index 626c15c..31d576f 100644 --- a/gdb/python/py-infthread.c +++ b/gdb/python/py-infthread.c @@ -162,6 +162,7 @@ thpy_get_inferior (PyObject *self, void *ignore) thread_object *thread_obj = (thread_object *) self; THPY_REQUIRE_VALID (thread_obj); + Py_INCREF (thread_obj->inf_obj); return thread_obj->inf_obj; } diff --git a/gdb/testsuite/gdb.python/py-infthread.exp b/gdb/testsuite/gdb.python/py-infthread.exp index a5fed8d..dcb7e26 100644 --- a/gdb/testsuite/gdb.python/py-infthread.exp +++ b/gdb/testsuite/gdb.python/py-infthread.exp @@ -39,6 +39,14 @@ if ![runto_main] then { # Test basic gdb.Inferior attributes and methods. +#testing https://sourceware.org/bugzilla/show_bug.cgi?id=21213 +gdb_py_test_silent_cmd "python gdb.selected_thread ().inferior" "test gdb.selected_thread" 1 +gdb_py_test_silent_cmd "python gdb.selected_thread ().inferior" "test gdb.selected_thread" 1 +gdb_test_no_output "python import gc; gc.collect()" "test InferiorThread.inferior" "test InferiorThread.inferior" +gdb_py_test_silent_cmd "python gdb.selected_thread ().inferior" "test gdb.selected_thread" 1 +gdb_py_test_silent_cmd "python gdb.selected_thread ().inferior" "test gdb.selected_thread" 1 + + gdb_py_test_silent_cmd "python t0 = gdb.selected_thread ()" "test gdb.selected_thread" 1 gdb_test "python print (t0)" "\\" "verify InferiorThread object" gdb_test "python print ('result = %s' % t0.num)" " = 1" "test InferiorThread.num"If multiple time call gdb.selected_thread ().inferior, gdb throw exception: (gdb) pi gdb.selected_thread().inferior (gdb) pi gdb.selected_thread().inferior (gdb) pi gdb.selected_thread().inferior Python Exception 'NoneType' object has no attribute 'inferior': Error while executing Python code. (gdb) info threads Id Target Id Frame * 1 Thread 0x7f54f0474740 (LWP 584) "mc" 0x00007f54ef055c33 in select () from /lib/x86_64-linux-gnu/libc.so.6 I report about this bug here: https://sourceware.org/bugzilla/show_bug.cgi?id=21213 Following path fixes this bug and add test of this bug. ChangeLog 2017.08.05 Maksim Dzabraev * gdb/python/py-infthread.c (hpy_get_inferior) * gdb/testsuite/gdb.python/py-infthread.exp: Fix bug 21213 and add test --- diff --git a/gdb/python/py-infthread.c b/gdb/python/py-infthread.c index 626c15c..31d576f 100644 --- a/gdb/python/py-infthread.c +++ b/gdb/python/py-infthread.c @@ -162,6 +162,7 @@ thpy_get_inferior (PyObject *self, void *ignore) thread_object *thread_obj = (thread_object *) self; THPY_REQUIRE_VALID (thread_obj); + Py_INCREF (thread_obj->inf_obj); return thread_obj->inf_obj; } diff --git a/gdb/testsuite/gdb.python/py-infthread.exp b/gdb/testsuite/gdb.python/py-infthread.exp index a5fed8d..dcb7e26 100644 --- a/gdb/testsuite/gdb.python/py-infthread.exp +++ b/gdb/testsuite/gdb.python/py-infthread.exp @@ -39,6 +39,14 @@ if ![runto_main] then { # Test basic gdb.Inferior attributes and methods. +#testing https://sourceware.org/bugzilla/show_bug.cgi?id=21213 +gdb_py_test_silent_cmd "python gdb.selected_thread ().inferior" "test gdb.selected_thread" 1 +gdb_py_test_silent_cmd "python gdb.selected_thread ().inferior" "test gdb.selected_thread" 1 +gdb_test_no_output "python import gc; gc.collect()" "test InferiorThread.inferior" "test InferiorThread.inferior" +gdb_py_test_silent_cmd "python gdb.selected_thread ().inferior" "test gdb.selected_thread" 1 +gdb_py_test_silent_cmd "python gdb.selected_thread ().inferior" "test gdb.selected_thread" 1 + + gdb_py_test_silent_cmd "python t0 = gdb.selected_thread ()" "test gdb.selected_thread" 1 gdb_test "python print (t0)" "\\" "verify InferiorThread object" gdb_test "python print ('result = %s' % t0.num)" " = 1" "test InferiorThread.num" --001a113ee1a0435a8d0555fb48a3 Content-Type: text/plain; charset="US-ASCII"; name="gdb.log__py-infthread.exp__after.txt" Content-Disposition: attachment; filename="gdb.log__py-infthread.exp__after.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j5yvzew80 Content-length: 13392 VGVzdCBSdW4gQnkgbWFrc2ltIG9uIFNhdCBBdWcgIDUgMTA6NDg6MjIgMjAx NwpOYXRpdmUgY29uZmlndXJhdGlvbiBpcyB4ODZfNjQtcGMtbGludXgtZ251 CgoJCT09PSBnZGIgdGVzdHMgPT09CgpTY2hlZHVsZSBvZiB2YXJpYXRpb25z OgogICAgdW5peAoKUnVubmluZyB0YXJnZXQgdW5peApVc2luZyAvdXNyL3No YXJlL2RlamFnbnUvYmFzZWJvYXJkcy91bml4LmV4cCBhcyBib2FyZCBkZXNj cmlwdGlvbiBmaWxlIGZvciB0YXJnZXQuClVzaW5nIC91c3Ivc2hhcmUvZGVq YWdudS9jb25maWcvdW5peC5leHAgYXMgZ2VuZXJpYyBpbnRlcmZhY2UgZmls ZSBmb3IgdGFyZ2V0LgpVc2luZyAvaG9tZS9tYWtzaW0vc291cmNlcy9vYmot YmludXRpbHMtZ2RiL2dkYi90ZXN0c3VpdGUvLi4vLi4vLi4vYmludXRpbHMt Z2RiL2dkYi90ZXN0c3VpdGUvY29uZmlnL3VuaXguZXhwIGFzIHRvb2wtYW5k LXRhcmdldC1zcGVjaWZpYyBpbnRlcmZhY2UgZmlsZS4KUnVubmluZyAvaG9t ZS9tYWtzaW0vc291cmNlcy9vYmotYmludXRpbHMtZ2RiL2dkYi90ZXN0c3Vp dGUvLi4vLi4vLi4vYmludXRpbHMtZ2RiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5 dGhvbi9weS1pbmZ0aHJlYWQuZXhwIC4uLgpnZXRfY29tcGlsZXJfaW5mbzog Z2NjLTQtOC00CkV4ZWN1dGluZyBvbiBob3N0OiBnY2MgICAtYyAtZyAgLW8g L2hvbWUvbWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVz dHN1aXRlL291dHB1dHMvZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQvcHktaW5m dGhyZWFkMC5vIC9ob21lL21ha3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1n ZGIvZ2RiL3Rlc3RzdWl0ZS8uLi8uLi8uLi9iaW51dGlscy1nZGIvZ2RiL3Rl c3RzdWl0ZS9nZGIucHl0aG9uL3B5LWluZnRocmVhZC5jICAgICh0aW1lb3V0 ID0gMzAwKQpzcGF3biBnY2MgLWMgLWcgLW8gL2hvbWUvbWFrc2ltL3NvdXJj ZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRlL291dHB1dHMvZ2Ri LnB5dGhvbi9weS1pbmZ0aHJlYWQvcHktaW5mdGhyZWFkMC5vIC9ob21lL21h a3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0ZS8u Li8uLi8uLi9iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9u L3B5LWluZnRocmVhZC5jDQpFeGVjdXRpbmcgb24gaG9zdDogZ2NjICAvaG9t ZS9tYWtzaW0vc291cmNlcy9vYmotYmludXRpbHMtZ2RiL2dkYi90ZXN0c3Vp dGUvb3V0cHV0cy9nZGIucHl0aG9uL3B5LWluZnRocmVhZC9weS1pbmZ0aHJl YWQwLm8gIC1nICAtbG0gICAtbyAvaG9tZS9tYWtzaW0vc291cmNlcy9vYmot YmludXRpbHMtZ2RiL2dkYi90ZXN0c3VpdGUvb3V0cHV0cy9nZGIucHl0aG9u L3B5LWluZnRocmVhZC9weS1pbmZ0aHJlYWQgICAgKHRpbWVvdXQgPSAzMDAp CnNwYXduIGdjYyAvaG9tZS9tYWtzaW0vc291cmNlcy9vYmotYmludXRpbHMt Z2RiL2dkYi90ZXN0c3VpdGUvb3V0cHV0cy9nZGIucHl0aG9uL3B5LWluZnRo cmVhZC9weS1pbmZ0aHJlYWQwLm8gLWcgLWxtIC1vIC9ob21lL21ha3NpbS9z b3VyY2VzL29iai1iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0ZS9vdXRwdXRz L2dkYi5weXRob24vcHktaW5mdGhyZWFkL3B5LWluZnRocmVhZA0Kc3Bhd24g L2hvbWUvbWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVz dHN1aXRlLy4uLy4uL2dkYi9nZGIgLW53IC1ueCAtZGF0YS1kaXJlY3Rvcnkg L2hvbWUvbWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVz dHN1aXRlLy4uL2RhdGEtZGlyZWN0b3J5DQpHTlUgZ2RiIChHREIpIDguMC41 MC4yMDE3MDgwNC1naXQNCkNvcHlyaWdodCAoQykgMjAxNyBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4NCkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BM IHZlcnNpb24gMyBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMv Z3BsLmh0bWw+DQpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJl ZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4NClRoZXJlIGlzIE5P IFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuICBU eXBlICJzaG93IGNvcHlpbmciDQphbmQgInNob3cgd2FycmFudHkiIGZvciBk ZXRhaWxzLg0KVGhpcyBHREIgd2FzIGNvbmZpZ3VyZWQgYXMgIng4Nl82NC1w Yy1saW51eC1nbnUiLg0KVHlwZSAic2hvdyBjb25maWd1cmF0aW9uIiBmb3Ig Y29uZmlndXJhdGlvbiBkZXRhaWxzLg0KRm9yIGJ1ZyByZXBvcnRpbmcgaW5z dHJ1Y3Rpb25zLCBwbGVhc2Ugc2VlOg0KPGh0dHA6Ly93d3cuZ251Lm9yZy9z b2Z0d2FyZS9nZGIvYnVncy8+Lg0KRmluZCB0aGUgR0RCIG1hbnVhbCBhbmQg b3RoZXIgZG9jdW1lbnRhdGlvbiByZXNvdXJjZXMgb25saW5lIGF0Og0KPGh0 dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nZGIvZG9jdW1lbnRhdGlvbi8+ Lg0KRm9yIGhlbHAsIHR5cGUgImhlbHAiLg0KVHlwZSAiYXByb3BvcyB3b3Jk IiB0byBzZWFyY2ggZm9yIGNvbW1hbmRzIHJlbGF0ZWQgdG8gIndvcmQiLg0K KGdkYikgc2V0IGhlaWdodCAwDQooZ2RiKSBzZXQgd2lkdGggMA0KKGdkYikg ZGlyDQpSZWluaXRpYWxpemUgc291cmNlIHBhdGggdG8gZW1wdHk/ICh5IG9y IG4pIHkNClNvdXJjZSBkaXJlY3RvcmllcyBzZWFyY2hlZDogJGNkaXI6JGN3 ZA0KKGdkYikgZGlyIC9ob21lL21ha3NpbS9zb3VyY2VzL29iai1iaW51dGls cy1nZGIvZ2RiL3Rlc3RzdWl0ZS8uLi8uLi8uLi9iaW51dGlscy1nZGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIucHl0aG9uDQpTb3VyY2UgZGlyZWN0b3JpZXMgc2Vh cmNoZWQ6IC9ob21lL21ha3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1nZGIv Z2RiL3Rlc3RzdWl0ZS8uLi8uLi8uLi9iaW51dGlscy1nZGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIucHl0aG9uOiRjZGlyOiRjd2QNCihnZGIpIGtpbGwNClRoZSBw cm9ncmFtIGlzIG5vdCBiZWluZyBydW4uDQooZ2RiKSBmaWxlIC9ob21lL21h a3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0ZS9v dXRwdXRzL2dkYi5weXRob24vcHktaW5mdGhyZWFkL3B5LWluZnRocmVhZA0K UmVhZGluZyBzeW1ib2xzIGZyb20gL2hvbWUvbWFrc2ltL3NvdXJjZXMvb2Jq LWJpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRlL291dHB1dHMvZ2RiLnB5dGhv bi9weS1pbmZ0aHJlYWQvcHktaW5mdGhyZWFkLi4uZG9uZS4NCihnZGIpIHNw YXduIC9ob21lL21ha3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1nZGIvZ2Ri L3Rlc3RzdWl0ZS8uLi8uLi9nZGIvZ2RiIC1udyAtbnggLWRhdGEtZGlyZWN0 b3J5IC9ob21lL21ha3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1nZGIvZ2Ri L3Rlc3RzdWl0ZS8uLi9kYXRhLWRpcmVjdG9yeQ0KR05VIGdkYiAoR0RCKSA4 LjAuNTAuMjAxNzA4MDQtZ2l0DQpDb3B5cmlnaHQgKEMpIDIwMTcgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQpMaWNlbnNlIEdQTHYzKzogR05V IEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vu c2VzL2dwbC5odG1sPg0KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgYXJl IGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuDQpUaGVyZSBp cyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3 LiAgVHlwZSAic2hvdyBjb3B5aW5nIg0KYW5kICJzaG93IHdhcnJhbnR5IiBm b3IgZGV0YWlscy4NClRoaXMgR0RCIHdhcyBjb25maWd1cmVkIGFzICJ4ODZf NjQtcGMtbGludXgtZ251Ii4NClR5cGUgInNob3cgY29uZmlndXJhdGlvbiIg Zm9yIGNvbmZpZ3VyYXRpb24gZGV0YWlscy4NCkZvciBidWcgcmVwb3J0aW5n IGluc3RydWN0aW9ucywgcGxlYXNlIHNlZToNCjxodHRwOi8vd3d3LmdudS5v cmcvc29mdHdhcmUvZ2RiL2J1Z3MvPi4NCkZpbmQgdGhlIEdEQiBtYW51YWwg YW5kIG90aGVyIGRvY3VtZW50YXRpb24gcmVzb3VyY2VzIG9ubGluZSBhdDoN CjxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2RiL2RvY3VtZW50YXRp b24vPi4NCkZvciBoZWxwLCB0eXBlICJoZWxwIi4NClR5cGUgImFwcm9wb3Mg d29yZCIgdG8gc2VhcmNoIGZvciBjb21tYW5kcyByZWxhdGVkIHRvICJ3b3Jk Ii4NCihnZGIpIHNldCBoZWlnaHQgMA0KKGdkYikgc2V0IHdpZHRoIDANCihn ZGIpIGRpcg0KUmVpbml0aWFsaXplIHNvdXJjZSBwYXRoIHRvIGVtcHR5PyAo eSBvciBuKSB5DQpTb3VyY2UgZGlyZWN0b3JpZXMgc2VhcmNoZWQ6ICRjZGly OiRjd2QNCihnZGIpIGRpciAvaG9tZS9tYWtzaW0vc291cmNlcy9vYmotYmlu dXRpbHMtZ2RiL2dkYi90ZXN0c3VpdGUvLi4vLi4vLi4vYmludXRpbHMtZ2Ri L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbg0KU291cmNlIGRpcmVjdG9yaWVz IHNlYXJjaGVkOiAvaG9tZS9tYWtzaW0vc291cmNlcy9vYmotYmludXRpbHMt Z2RiL2dkYi90ZXN0c3VpdGUvLi4vLi4vLi4vYmludXRpbHMtZ2RiL2dkYi90 ZXN0c3VpdGUvZ2RiLnB5dGhvbjokY2RpcjokY3dkDQooZ2RiKSBraWxsDQpU aGUgcHJvZ3JhbSBpcyBub3QgYmVpbmcgcnVuLg0KKGdkYikgZmlsZSAvaG9t ZS9tYWtzaW0vc291cmNlcy9vYmotYmludXRpbHMtZ2RiL2dkYi90ZXN0c3Vp dGUvb3V0cHV0cy9nZGIucHl0aG9uL3B5LWluZnRocmVhZC9weS1pbmZ0aHJl YWQNClJlYWRpbmcgc3ltYm9scyBmcm9tIC9ob21lL21ha3NpbS9zb3VyY2Vz L29iai1iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0ZS9vdXRwdXRzL2dkYi5w eXRob24vcHktaW5mdGhyZWFkL3B5LWluZnRocmVhZC4uLmRvbmUuDQooZ2Ri KSBweXRob24gcHJpbnQgKCd0ZXN0JykNCnRlc3QNCihnZGIpIHB5dGhvbiBw cmludCAoc3lzLnZlcnNpb25faW5mb1swXSkNCjINCihnZGIpIHB5dGhvbiBw cmludCAoc3lzLnZlcnNpb25faW5mb1sxXSkNCjcNCihnZGIpIGRlbGV0ZSBi cmVha3BvaW50cw0KKGdkYikgaW5mbyBicmVha3BvaW50cw0KTm8gYnJlYWtw b2ludHMgb3Igd2F0Y2hwb2ludHMuDQooZ2RiKSBicmVhayBtYWluDQpCcmVh a3BvaW50IDEgYXQgMHg0MDA1MmI6IGZpbGUgL2hvbWUvbWFrc2ltL3NvdXJj ZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRlLy4uLy4uLy4uL2Jp bnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktaW5mdGhy ZWFkLmMsIGxpbmUgMTMuDQooZ2RiKSBydW4gDQpTdGFydGluZyBwcm9ncmFt OiAvaG9tZS9tYWtzaW0vc291cmNlcy9vYmotYmludXRpbHMtZ2RiL2dkYi90 ZXN0c3VpdGUvb3V0cHV0cy9nZGIucHl0aG9uL3B5LWluZnRocmVhZC9weS1p bmZ0aHJlYWQgDQp3YXJuaW5nOiB0aGUgZGVidWcgaW5mb3JtYXRpb24gZm91 bmQgaW4gIi9saWI2NC9sZC0yLjE5LnNvIiBkb2VzIG5vdCBtYXRjaCAiL2xp YjY0L2xkLWxpbnV4LXg4Ni02NC5zby4yIiAoQ1JDIG1pc21hdGNoKS4NCg0K DQpCcmVha3BvaW50IDEsIG1haW4gKGFyZ2M9MSwgYXJndj0weDdmZmZmZmZm ZTEwOCkgYXQgL2hvbWUvbWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxzLWdk Yi9nZGIvdGVzdHN1aXRlLy4uLy4uLy4uL2JpbnV0aWxzLWdkYi9nZGIvdGVz dHN1aXRlL2dkYi5weXRob24vcHktaW5mdGhyZWFkLmM6MTMNCjEzCSAgcmV0 dXJuIGYxICgxLCAyKTsNCihnZGIpIHB5dGhvbiBnZGIuc2VsZWN0ZWRfdGhy ZWFkICgpLmluZmVyaW9yDQooZ2RiKSBQQVNTOiBnZGIucHl0aG9uL3B5LWlu ZnRocmVhZC5leHA6IHRlc3QgZ2RiLnNlbGVjdGVkX3RocmVhZApweXRob24g Z2RiLnNlbGVjdGVkX3RocmVhZCAoKS5pbmZlcmlvcg0KKGdkYikgUEFTUzog Z2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IGdkYi5zZWxlY3Rl ZF90aHJlYWQKcHl0aG9uIGltcG9ydCBnYzsgZ2MuY29sbGVjdCgpDQooZ2Ri KSBQQVNTOiBnZGIucHl0aG9uL3B5LWluZnRocmVhZC5leHA6IHRlc3QgSW5m ZXJpb3JUaHJlYWQuaW5mZXJpb3IKcHl0aG9uIGdkYi5zZWxlY3RlZF90aHJl YWQgKCkuaW5mZXJpb3INCihnZGIpIFBBU1M6IGdkYi5weXRob24vcHktaW5m dGhyZWFkLmV4cDogdGVzdCBnZGIuc2VsZWN0ZWRfdGhyZWFkCnB5dGhvbiBn ZGIuc2VsZWN0ZWRfdGhyZWFkICgpLmluZmVyaW9yDQooZ2RiKSBQQVNTOiBn ZGIucHl0aG9uL3B5LWluZnRocmVhZC5leHA6IHRlc3QgZ2RiLnNlbGVjdGVk X3RocmVhZApweXRob24gaTAgPSBnZGIuc2VsZWN0ZWRfdGhyZWFkICgpLmlu ZmVyaW9yDQooZ2RiKSBQQVNTOiBnZGIucHl0aG9uL3B5LWluZnRocmVhZC5l eHA6IHRlc3QgSW5mZXJpb3JUaHJlYWQuaW5mZXJpb3IKcHl0aG9uIHQwID0g Z2RiLnNlbGVjdGVkX3RocmVhZCAoKQ0KKGdkYikgUEFTUzogZ2RiLnB5dGhv bi9weS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IGdkYi5zZWxlY3RlZF90aHJlYWQK cHl0aG9uIHByaW50ICh0MCkNCjxnZGIuSW5mZXJpb3JUaHJlYWQgb2JqZWN0 IGF0IDB4N2YzNDM3NzgzMTMwPg0KKGdkYikgUEFTUzogZ2RiLnB5dGhvbi9w eS1pbmZ0aHJlYWQuZXhwOiB2ZXJpZnkgSW5mZXJpb3JUaHJlYWQgb2JqZWN0 CnB5dGhvbiBwcmludCAoJ3Jlc3VsdCA9ICVzJyAlIHQwLm51bSkNCnJlc3Vs dCA9IDENCihnZGIpIFBBU1M6IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4 cDogdGVzdCBJbmZlcmlvclRocmVhZC5udW0KcHl0aG9uIHByaW50ICgncmVz dWx0ID0gJXMnICUgdDAuZ2xvYmFsX251bSkNCnJlc3VsdCA9IDENCihnZGIp IFBBU1M6IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDogdGVzdCBJbmZl cmlvclRocmVhZC5nbG9iYWxfbnVtCnB5dGhvbiBwcmludCAoJ3Jlc3VsdCA9 ICVzJyAlIHN0ciAodDAucHRpZCkpDQpyZXN1bHQgPSAoNzg5MCwgNzg5MCwg MCkNCihnZGIpIFBBU1M6IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDog dGVzdCBJbmZlcmlvclRocmVhZC5wdGlkCnB5dGhvbiBwcmludCAoJ3Jlc3Vs dCA9ICVzJyAlIGkwLm51bSkNCnJlc3VsdCA9IDENCihnZGIpIFBBU1M6IGdk Yi5weXRob24vcHktaW5mdGhyZWFkLmV4cDogdGVzdCBJbmZlcmlvci5udW0K cHl0aG9uIG5hbWUgPSBnZGIuc2VsZWN0ZWRfdGhyZWFkKCkubmFtZQ0KKGdk YikgUEFTUzogZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiBnZXQgc3Vw cGxpZWQgbmFtZSBvZiBjdXJyZW50IHRocmVhZApweXRob24gZ2RiLnNlbGVj dGVkX3RocmVhZCgpLm5hbWUgPSAnaGlib2InDQooZ2RiKSBQQVNTOiBnZGIu cHl0aG9uL3B5LWluZnRocmVhZC5leHA6IHNldCBuYW1lIG9mIGN1cnJlbnQg dGhyZWFkCnB5dGhvbiBwcmludCAoZ2RiLnNlbGVjdGVkX3RocmVhZCgpLm5h bWUpDQpoaWJvYg0KKGdkYikgUEFTUzogZ2RiLnB5dGhvbi9weS1pbmZ0aHJl YWQuZXhwOiBjaGVjayBuYW1lIG9mIGN1cnJlbnQgdGhyZWFkCnB5dGhvbiBn ZGIuc2VsZWN0ZWRfdGhyZWFkKCkubmFtZSA9IE5vbmUNCihnZGIpIFBBU1M6 IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDogcmVzZXQgbmFtZSBvZiBj dXJyZW50IHRocmVhZApweXRob24gcHJpbnQgKGdkYi5zZWxlY3RlZF90aHJl YWQoKS5uYW1lID09IG5hbWUpDQpUcnVlDQooZ2RiKSBQQVNTOiBnZGIucHl0 aG9uL3B5LWluZnRocmVhZC5leHA6IGNoZWNrIG5hbWUgb2YgY3VycmVudCB0 aHJlYWQgYWdhaW4KcHl0aG9uIHByaW50ICgncmVzdWx0ID0gJXMnICUgdDAu aXNfc3RvcHBlZCAoKSkNCnJlc3VsdCA9IFRydWUNCihnZGIpIFBBU1M6IGdk Yi5weXRob24vcHktaW5mdGhyZWFkLmV4cDogdGVzdCBJbmZlcmlvclRocmVh ZC5pc19zdG9wcGVkCnB5dGhvbiBwcmludCAoJ3Jlc3VsdCA9ICVzJyAlIHQw LmlzX3J1bm5pbmcgKCkpDQpyZXN1bHQgPSBGYWxzZQ0KKGdkYikgUEFTUzog Z2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IEluZmVyaW9yVGhy ZWFkLmlzX3J1bm5pbmcKcHl0aG9uIHByaW50ICgncmVzdWx0ID0gJXMnICUg dDAuaXNfZXhpdGVkICgpKQ0KcmVzdWx0ID0gRmFsc2UNCihnZGIpIFBBU1M6 IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDogdGVzdCBJbmZlcmlvclRo cmVhZC5pc19leGl0ZWQKcHl0aG9uIHByaW50ICgncmVzdWx0ID0gJXMnICUg dDAuaXNfdmFsaWQgKCkpDQpyZXN1bHQgPSBUcnVlDQooZ2RiKSBQQVNTOiBn ZGIucHl0aG9uL3B5LWluZnRocmVhZC5leHA6IHRlc3QgSW5mZXJpb3JUaHJl YWQuaXNfdmFsaWQKa2lsbCBpbmZlcmlvciAxDQooZ2RiKSBQQVNTOiBnZGIu cHl0aG9uL3B5LWluZnRocmVhZC5leHA6IGtpbGwgaW5mZXJpb3IgMQpweXRo b24gcHJpbnQgKCdyZXN1bHQgPSAlcycgJSB0MC5pc192YWxpZCAoKSkNCnJl c3VsdCA9IEZhbHNlDQooZ2RiKSBQQVNTOiBnZGIucHl0aG9uL3B5LWluZnRo cmVhZC5leHA6IHRlc3QgSW5mZXJpb3JUaHJlYWQuaXNfdmFsaWQKdGVzdGNh c2UgL2hvbWUvbWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIv dGVzdHN1aXRlLy4uLy4uLy4uL2JpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRl L2dkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cCBjb21wbGV0ZWQgaW4gMiBz ZWNvbmRzCgoJCT09PSBnZGIgU3VtbWFyeSA9PT0KCiMgb2YgZXhwZWN0ZWQg cGFzc2VzCQkyMwpFeGVjdXRpbmcgb24gaG9zdDogL2hvbWUvbWFrc2ltL3Nv dXJjZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRlLy4uLy4uL2dk Yi9nZGIgLW53IC1ueCAtZGF0YS1kaXJlY3RvcnkgL2hvbWUvbWFrc2ltL3Nv dXJjZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRlLy4uL2RhdGEt ZGlyZWN0b3J5IC0tdmVyc2lvbiAgICAodGltZW91dCA9IDMwMCkKc3Bhd24g L2hvbWUvbWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVz dHN1aXRlLy4uLy4uL2dkYi9nZGIgLW53IC1ueCAtZGF0YS1kaXJlY3Rvcnkg L2hvbWUvbWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVz dHN1aXRlLy4uL2RhdGEtZGlyZWN0b3J5IC0tdmVyc2lvbg0KR05VIGdkYiAo R0RCKSA4LjAuNTAuMjAxNzA4MDQtZ2l0DQpDb3B5cmlnaHQgKEMpIDIwMTcg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQpMaWNlbnNlIEdQTHYz KzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3Jn L2xpY2Vuc2VzL2dwbC5odG1sPg0KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOiB5 b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuDQpU aGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQg YnkgbGF3LiAgVHlwZSAic2hvdyBjb3B5aW5nIg0KYW5kICJzaG93IHdhcnJh bnR5IiBmb3IgZGV0YWlscy4NClRoaXMgR0RCIHdhcyBjb25maWd1cmVkIGFz ICJ4ODZfNjQtcGMtbGludXgtZ251Ii4NClR5cGUgInNob3cgY29uZmlndXJh dGlvbiIgZm9yIGNvbmZpZ3VyYXRpb24gZGV0YWlscy4NCkZvciBidWcgcmVw b3J0aW5nIGluc3RydWN0aW9ucywgcGxlYXNlIHNlZToNCjxodHRwOi8vd3d3 LmdudS5vcmcvc29mdHdhcmUvZ2RiL2J1Z3MvPi4NCkZpbmQgdGhlIEdEQiBt YW51YWwgYW5kIG90aGVyIGRvY3VtZW50YXRpb24gcmVzb3VyY2VzIG9ubGlu ZSBhdDoNCjxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2RiL2RvY3Vt ZW50YXRpb24vPi4NCkZvciBoZWxwLCB0eXBlICJoZWxwIi4NClR5cGUgImFw cm9wb3Mgd29yZCIgdG8gc2VhcmNoIGZvciBjb21tYW5kcyByZWxhdGVkIHRv ICJ3b3JkIi4NCi9ob21lL21ha3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1n ZGIvZ2RiL3Rlc3RzdWl0ZS8uLi8uLi9nZGIvZ2RiIHZlcnNpb24gIDguMC41 MC4yMDE3MDgwNC1naXQgLW53IC1ueCAtZGF0YS1kaXJlY3RvcnkgL2hvbWUv bWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRl Ly4uL2RhdGEtZGlyZWN0b3J5IAoKcnVudGVzdCBjb21wbGV0ZWQgYXQgU2F0 IEF1ZyAgNSAxMDo0ODoyNCAyMDE3Cg== --001a113ee1a0435a8d0555fb48a3 Content-Type: text/plain; charset="US-ASCII"; name="gdb.log__py-infthread.exp__before.txt" Content-Disposition: attachment; filename="gdb.log__py-infthread.exp__before.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j5yvzey91 Content-length: 17272 VGVzdCBSdW4gQnkgbWFrc2ltIG9uIFNhdCBBdWcgIDUgMTA6NDE6MTUgMjAx NwpOYXRpdmUgY29uZmlndXJhdGlvbiBpcyB4ODZfNjQtcGMtbGludXgtZ251 CgoJCT09PSBnZGIgdGVzdHMgPT09CgpTY2hlZHVsZSBvZiB2YXJpYXRpb25z OgogICAgdW5peAoKUnVubmluZyB0YXJnZXQgdW5peApVc2luZyAvdXNyL3No YXJlL2RlamFnbnUvYmFzZWJvYXJkcy91bml4LmV4cCBhcyBib2FyZCBkZXNj cmlwdGlvbiBmaWxlIGZvciB0YXJnZXQuClVzaW5nIC91c3Ivc2hhcmUvZGVq YWdudS9jb25maWcvdW5peC5leHAgYXMgZ2VuZXJpYyBpbnRlcmZhY2UgZmls ZSBmb3IgdGFyZ2V0LgpVc2luZyAvaG9tZS9tYWtzaW0vc291cmNlcy9vYmot YmludXRpbHMtZ2RiL2dkYi90ZXN0c3VpdGUvLi4vLi4vLi4vYmludXRpbHMt Z2RiL2dkYi90ZXN0c3VpdGUvY29uZmlnL3VuaXguZXhwIGFzIHRvb2wtYW5k LXRhcmdldC1zcGVjaWZpYyBpbnRlcmZhY2UgZmlsZS4KUnVubmluZyAvaG9t ZS9tYWtzaW0vc291cmNlcy9vYmotYmludXRpbHMtZ2RiL2dkYi90ZXN0c3Vp dGUvLi4vLi4vLi4vYmludXRpbHMtZ2RiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5 dGhvbi9weS1pbmZ0aHJlYWQuZXhwIC4uLgpnZXRfY29tcGlsZXJfaW5mbzog Z2NjLTQtOC00CkV4ZWN1dGluZyBvbiBob3N0OiBnY2MgICAtYyAtZyAgLW8g L2hvbWUvbWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVz dHN1aXRlL291dHB1dHMvZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQvcHktaW5m dGhyZWFkMC5vIC9ob21lL21ha3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1n ZGIvZ2RiL3Rlc3RzdWl0ZS8uLi8uLi8uLi9iaW51dGlscy1nZGIvZ2RiL3Rl c3RzdWl0ZS9nZGIucHl0aG9uL3B5LWluZnRocmVhZC5jICAgICh0aW1lb3V0 ID0gMzAwKQpzcGF3biBnY2MgLWMgLWcgLW8gL2hvbWUvbWFrc2ltL3NvdXJj ZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRlL291dHB1dHMvZ2Ri LnB5dGhvbi9weS1pbmZ0aHJlYWQvcHktaW5mdGhyZWFkMC5vIC9ob21lL21h a3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0ZS8u Li8uLi8uLi9iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9u L3B5LWluZnRocmVhZC5jDQpFeGVjdXRpbmcgb24gaG9zdDogZ2NjICAvaG9t ZS9tYWtzaW0vc291cmNlcy9vYmotYmludXRpbHMtZ2RiL2dkYi90ZXN0c3Vp dGUvb3V0cHV0cy9nZGIucHl0aG9uL3B5LWluZnRocmVhZC9weS1pbmZ0aHJl YWQwLm8gIC1nICAtbG0gICAtbyAvaG9tZS9tYWtzaW0vc291cmNlcy9vYmot YmludXRpbHMtZ2RiL2dkYi90ZXN0c3VpdGUvb3V0cHV0cy9nZGIucHl0aG9u L3B5LWluZnRocmVhZC9weS1pbmZ0aHJlYWQgICAgKHRpbWVvdXQgPSAzMDAp CnNwYXduIGdjYyAvaG9tZS9tYWtzaW0vc291cmNlcy9vYmotYmludXRpbHMt Z2RiL2dkYi90ZXN0c3VpdGUvb3V0cHV0cy9nZGIucHl0aG9uL3B5LWluZnRo cmVhZC9weS1pbmZ0aHJlYWQwLm8gLWcgLWxtIC1vIC9ob21lL21ha3NpbS9z b3VyY2VzL29iai1iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0ZS9vdXRwdXRz L2dkYi5weXRob24vcHktaW5mdGhyZWFkL3B5LWluZnRocmVhZA0Kc3Bhd24g L2hvbWUvbWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVz dHN1aXRlLy4uLy4uL2dkYi9nZGIgLW53IC1ueCAtZGF0YS1kaXJlY3Rvcnkg L2hvbWUvbWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVz dHN1aXRlLy4uL2RhdGEtZGlyZWN0b3J5DQpHTlUgZ2RiIChHREIpIDguMC41 MC4yMDE3MDgwNC1naXQNCkNvcHlyaWdodCAoQykgMjAxNyBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4NCkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BM IHZlcnNpb24gMyBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMv Z3BsLmh0bWw+DQpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJl ZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4NClRoZXJlIGlzIE5P IFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuICBU eXBlICJzaG93IGNvcHlpbmciDQphbmQgInNob3cgd2FycmFudHkiIGZvciBk ZXRhaWxzLg0KVGhpcyBHREIgd2FzIGNvbmZpZ3VyZWQgYXMgIng4Nl82NC1w Yy1saW51eC1nbnUiLg0KVHlwZSAic2hvdyBjb25maWd1cmF0aW9uIiBmb3Ig Y29uZmlndXJhdGlvbiBkZXRhaWxzLg0KRm9yIGJ1ZyByZXBvcnRpbmcgaW5z dHJ1Y3Rpb25zLCBwbGVhc2Ugc2VlOg0KPGh0dHA6Ly93d3cuZ251Lm9yZy9z b2Z0d2FyZS9nZGIvYnVncy8+Lg0KRmluZCB0aGUgR0RCIG1hbnVhbCBhbmQg b3RoZXIgZG9jdW1lbnRhdGlvbiByZXNvdXJjZXMgb25saW5lIGF0Og0KPGh0 dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nZGIvZG9jdW1lbnRhdGlvbi8+ Lg0KRm9yIGhlbHAsIHR5cGUgImhlbHAiLg0KVHlwZSAiYXByb3BvcyB3b3Jk IiB0byBzZWFyY2ggZm9yIGNvbW1hbmRzIHJlbGF0ZWQgdG8gIndvcmQiLg0K KGdkYikgc2V0IGhlaWdodCAwDQooZ2RiKSBzZXQgd2lkdGggMA0KKGdkYikg ZGlyDQpSZWluaXRpYWxpemUgc291cmNlIHBhdGggdG8gZW1wdHk/ICh5IG9y IG4pIHkNClNvdXJjZSBkaXJlY3RvcmllcyBzZWFyY2hlZDogJGNkaXI6JGN3 ZA0KKGdkYikgZGlyIC9ob21lL21ha3NpbS9zb3VyY2VzL29iai1iaW51dGls cy1nZGIvZ2RiL3Rlc3RzdWl0ZS8uLi8uLi8uLi9iaW51dGlscy1nZGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIucHl0aG9uDQpTb3VyY2UgZGlyZWN0b3JpZXMgc2Vh cmNoZWQ6IC9ob21lL21ha3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1nZGIv Z2RiL3Rlc3RzdWl0ZS8uLi8uLi8uLi9iaW51dGlscy1nZGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIucHl0aG9uOiRjZGlyOiRjd2QNCihnZGIpIGtpbGwNClRoZSBw cm9ncmFtIGlzIG5vdCBiZWluZyBydW4uDQooZ2RiKSBmaWxlIC9ob21lL21h a3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0ZS9v dXRwdXRzL2dkYi5weXRob24vcHktaW5mdGhyZWFkL3B5LWluZnRocmVhZA0K UmVhZGluZyBzeW1ib2xzIGZyb20gL2hvbWUvbWFrc2ltL3NvdXJjZXMvb2Jq LWJpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRlL291dHB1dHMvZ2RiLnB5dGhv bi9weS1pbmZ0aHJlYWQvcHktaW5mdGhyZWFkLi4uZG9uZS4NCihnZGIpIHNw YXduIC9ob21lL21ha3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1nZGIvZ2Ri L3Rlc3RzdWl0ZS8uLi8uLi9nZGIvZ2RiIC1udyAtbnggLWRhdGEtZGlyZWN0 b3J5IC9ob21lL21ha3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1nZGIvZ2Ri L3Rlc3RzdWl0ZS8uLi9kYXRhLWRpcmVjdG9yeQ0KR05VIGdkYiAoR0RCKSA4 LjAuNTAuMjAxNzA4MDQtZ2l0DQpDb3B5cmlnaHQgKEMpIDIwMTcgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQpMaWNlbnNlIEdQTHYzKzogR05V IEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vu c2VzL2dwbC5odG1sPg0KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgYXJl IGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuDQpUaGVyZSBp cyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3 LiAgVHlwZSAic2hvdyBjb3B5aW5nIg0KYW5kICJzaG93IHdhcnJhbnR5IiBm b3IgZGV0YWlscy4NClRoaXMgR0RCIHdhcyBjb25maWd1cmVkIGFzICJ4ODZf NjQtcGMtbGludXgtZ251Ii4NClR5cGUgInNob3cgY29uZmlndXJhdGlvbiIg Zm9yIGNvbmZpZ3VyYXRpb24gZGV0YWlscy4NCkZvciBidWcgcmVwb3J0aW5n IGluc3RydWN0aW9ucywgcGxlYXNlIHNlZToNCjxodHRwOi8vd3d3LmdudS5v cmcvc29mdHdhcmUvZ2RiL2J1Z3MvPi4NCkZpbmQgdGhlIEdEQiBtYW51YWwg YW5kIG90aGVyIGRvY3VtZW50YXRpb24gcmVzb3VyY2VzIG9ubGluZSBhdDoN CjxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2RiL2RvY3VtZW50YXRp b24vPi4NCkZvciBoZWxwLCB0eXBlICJoZWxwIi4NClR5cGUgImFwcm9wb3Mg d29yZCIgdG8gc2VhcmNoIGZvciBjb21tYW5kcyByZWxhdGVkIHRvICJ3b3Jk Ii4NCihnZGIpIHNldCBoZWlnaHQgMA0KKGdkYikgc2V0IHdpZHRoIDANCihn ZGIpIGRpcg0KUmVpbml0aWFsaXplIHNvdXJjZSBwYXRoIHRvIGVtcHR5PyAo eSBvciBuKSB5DQpTb3VyY2UgZGlyZWN0b3JpZXMgc2VhcmNoZWQ6ICRjZGly OiRjd2QNCihnZGIpIGRpciAvaG9tZS9tYWtzaW0vc291cmNlcy9vYmotYmlu dXRpbHMtZ2RiL2dkYi90ZXN0c3VpdGUvLi4vLi4vLi4vYmludXRpbHMtZ2Ri L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbg0KU291cmNlIGRpcmVjdG9yaWVz IHNlYXJjaGVkOiAvaG9tZS9tYWtzaW0vc291cmNlcy9vYmotYmludXRpbHMt Z2RiL2dkYi90ZXN0c3VpdGUvLi4vLi4vLi4vYmludXRpbHMtZ2RiL2dkYi90 ZXN0c3VpdGUvZ2RiLnB5dGhvbjokY2RpcjokY3dkDQooZ2RiKSBraWxsDQpU aGUgcHJvZ3JhbSBpcyBub3QgYmVpbmcgcnVuLg0KKGdkYikgZmlsZSAvaG9t ZS9tYWtzaW0vc291cmNlcy9vYmotYmludXRpbHMtZ2RiL2dkYi90ZXN0c3Vp dGUvb3V0cHV0cy9nZGIucHl0aG9uL3B5LWluZnRocmVhZC9weS1pbmZ0aHJl YWQNClJlYWRpbmcgc3ltYm9scyBmcm9tIC9ob21lL21ha3NpbS9zb3VyY2Vz L29iai1iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0ZS9vdXRwdXRzL2dkYi5w eXRob24vcHktaW5mdGhyZWFkL3B5LWluZnRocmVhZC4uLmRvbmUuDQooZ2Ri KSBweXRob24gcHJpbnQgKCd0ZXN0JykNCnRlc3QNCihnZGIpIHB5dGhvbiBw cmludCAoc3lzLnZlcnNpb25faW5mb1swXSkNCjINCihnZGIpIHB5dGhvbiBw cmludCAoc3lzLnZlcnNpb25faW5mb1sxXSkNCjcNCihnZGIpIGRlbGV0ZSBi cmVha3BvaW50cw0KKGdkYikgaW5mbyBicmVha3BvaW50cw0KTm8gYnJlYWtw b2ludHMgb3Igd2F0Y2hwb2ludHMuDQooZ2RiKSBicmVhayBtYWluDQpCcmVh a3BvaW50IDEgYXQgMHg0MDA1MmI6IGZpbGUgL2hvbWUvbWFrc2ltL3NvdXJj ZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRlLy4uLy4uLy4uL2Jp bnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktaW5mdGhy ZWFkLmMsIGxpbmUgMTMuDQooZ2RiKSBydW4gDQpTdGFydGluZyBwcm9ncmFt OiAvaG9tZS9tYWtzaW0vc291cmNlcy9vYmotYmludXRpbHMtZ2RiL2dkYi90 ZXN0c3VpdGUvb3V0cHV0cy9nZGIucHl0aG9uL3B5LWluZnRocmVhZC9weS1p bmZ0aHJlYWQgDQp3YXJuaW5nOiB0aGUgZGVidWcgaW5mb3JtYXRpb24gZm91 bmQgaW4gIi9saWI2NC9sZC0yLjE5LnNvIiBkb2VzIG5vdCBtYXRjaCAiL2xp YjY0L2xkLWxpbnV4LXg4Ni02NC5zby4yIiAoQ1JDIG1pc21hdGNoKS4NCg0K DQpCcmVha3BvaW50IDEsIG1haW4gKGFyZ2M9MSwgYXJndj0weDdmZmZmZmZm ZTEwOCkgYXQgL2hvbWUvbWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxzLWdk Yi9nZGIvdGVzdHN1aXRlLy4uLy4uLy4uL2JpbnV0aWxzLWdkYi9nZGIvdGVz dHN1aXRlL2dkYi5weXRob24vcHktaW5mdGhyZWFkLmM6MTMNCjEzCSAgcmV0 dXJuIGYxICgxLCAyKTsNCihnZGIpIHB5dGhvbiBpbXBvcnQgZ2M7IGdjLmNv bGxlY3QoKQ0KKGdkYikgUEFTUzogZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQu ZXhwOiB0ZXN0IEluZmVyaW9yVGhyZWFkLmluZmVyaW9yCnB5dGhvbiBnZGIu c2VsZWN0ZWRfdGhyZWFkICgpLmluZmVyaW9yDQooZ2RiKSBQQVNTOiBnZGIu cHl0aG9uL3B5LWluZnRocmVhZC5leHA6IHRlc3QgZ2RiLnNlbGVjdGVkX3Ro cmVhZApweXRob24gZ2RiLnNlbGVjdGVkX3RocmVhZCAoKS5pbmZlcmlvcg0K KGdkYikgUEFTUzogZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiB0ZXN0 IGdkYi5zZWxlY3RlZF90aHJlYWQKcHl0aG9uIGltcG9ydCBnYzsgZ2MuY29s bGVjdCgpDQooZ2RiKSBQQVNTOiBnZGIucHl0aG9uL3B5LWluZnRocmVhZC5l eHA6IHRlc3QgSW5mZXJpb3JUaHJlYWQuaW5mZXJpb3IKcHl0aG9uIGdkYi5z ZWxlY3RlZF90aHJlYWQgKCkuaW5mZXJpb3INClRyYWNlYmFjayAobW9zdCBy ZWNlbnQgY2FsbCBsYXN0KToNCiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDEs IGluIDxtb2R1bGU+DQpBdHRyaWJ1dGVFcnJvcjogJ05vbmVUeXBlJyBvYmpl Y3QgaGFzIG5vIGF0dHJpYnV0ZSAnaW5mZXJpb3InDQpFcnJvciB3aGlsZSBl eGVjdXRpbmcgUHl0aG9uIGNvZGUuDQooZ2RiKSBGQUlMOiBnZGIucHl0aG9u L3B5LWluZnRocmVhZC5leHA6IHRlc3QgZ2RiLnNlbGVjdGVkX3RocmVhZApw eXRob24gZ2RiLnNlbGVjdGVkX3RocmVhZCAoKS5pbmZlcmlvcg0KVHJhY2Vi YWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOg0KICBGaWxlICI8c3RyaW5n PiIsIGxpbmUgMSwgaW4gPG1vZHVsZT4NCkF0dHJpYnV0ZUVycm9yOiAnTm9u ZVR5cGUnIG9iamVjdCBoYXMgbm8gYXR0cmlidXRlICdpbmZlcmlvcicNCkVy cm9yIHdoaWxlIGV4ZWN1dGluZyBQeXRob24gY29kZS4NCihnZGIpIEZBSUw6 IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDogdGVzdCBnZGIuc2VsZWN0 ZWRfdGhyZWFkCnB5dGhvbiBpMCA9IGdkYi5zZWxlY3RlZF90aHJlYWQgKCku aW5mZXJpb3INClRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToN CiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDEsIGluIDxtb2R1bGU+DQpBdHRy aWJ1dGVFcnJvcjogJ05vbmVUeXBlJyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0 ZSAnaW5mZXJpb3InDQpFcnJvciB3aGlsZSBleGVjdXRpbmcgUHl0aG9uIGNv ZGUuDQooZ2RiKSBGQUlMOiBnZGIucHl0aG9uL3B5LWluZnRocmVhZC5leHA6 IHRlc3QgSW5mZXJpb3JUaHJlYWQuaW5mZXJpb3IKcHl0aG9uIHQwID0gZ2Ri LnNlbGVjdGVkX3RocmVhZCAoKQ0KKGdkYikgUEFTUzogZ2RiLnB5dGhvbi9w eS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IGdkYi5zZWxlY3RlZF90aHJlYWQKcHl0 aG9uIHByaW50ICh0MCkNCk5vbmUNCihnZGIpIEZBSUw6IGdkYi5weXRob24v cHktaW5mdGhyZWFkLmV4cDogdmVyaWZ5IEluZmVyaW9yVGhyZWFkIG9iamVj dApweXRob24gcHJpbnQgKCdyZXN1bHQgPSAlcycgJSB0MC5udW0pDQpUcmFj ZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6DQogIEZpbGUgIjxzdHJp bmc+IiwgbGluZSAxLCBpbiA8bW9kdWxlPg0KQXR0cmlidXRlRXJyb3I6ICdO b25lVHlwZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ251bScNCkVycm9y IHdoaWxlIGV4ZWN1dGluZyBQeXRob24gY29kZS4NCihnZGIpIEZBSUw6IGdk Yi5weXRob24vcHktaW5mdGhyZWFkLmV4cDogdGVzdCBJbmZlcmlvclRocmVh ZC5udW0KcHl0aG9uIHByaW50ICgncmVzdWx0ID0gJXMnICUgdDAuZ2xvYmFs X251bSkNClRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToNCiAg RmlsZSAiPHN0cmluZz4iLCBsaW5lIDEsIGluIDxtb2R1bGU+DQpBdHRyaWJ1 dGVFcnJvcjogJ05vbmVUeXBlJyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAn Z2xvYmFsX251bScNCkVycm9yIHdoaWxlIGV4ZWN1dGluZyBQeXRob24gY29k ZS4NCihnZGIpIEZBSUw6IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDog dGVzdCBJbmZlcmlvclRocmVhZC5nbG9iYWxfbnVtCnB5dGhvbiBwcmludCAo J3Jlc3VsdCA9ICVzJyAlIHN0ciAodDAucHRpZCkpDQpUcmFjZWJhY2sgKG1v c3QgcmVjZW50IGNhbGwgbGFzdCk6DQogIEZpbGUgIjxzdHJpbmc+IiwgbGlu ZSAxLCBpbiA8bW9kdWxlPg0KQXR0cmlidXRlRXJyb3I6ICdOb25lVHlwZScg b2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ3B0aWQnDQpFcnJvciB3aGlsZSBl eGVjdXRpbmcgUHl0aG9uIGNvZGUuDQooZ2RiKSBGQUlMOiBnZGIucHl0aG9u L3B5LWluZnRocmVhZC5leHA6IHRlc3QgSW5mZXJpb3JUaHJlYWQucHRpZApw eXRob24gcHJpbnQgKCdyZXN1bHQgPSAlcycgJSBpMC5udW0pDQpUcmFjZWJh Y2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6DQogIEZpbGUgIjxzdHJpbmc+ IiwgbGluZSAxLCBpbiA8bW9kdWxlPg0KTmFtZUVycm9yOiBuYW1lICdpMCcg aXMgbm90IGRlZmluZWQNCkVycm9yIHdoaWxlIGV4ZWN1dGluZyBQeXRob24g Y29kZS4NCihnZGIpIEZBSUw6IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4 cDogdGVzdCBJbmZlcmlvci5udW0KcHl0aG9uIG5hbWUgPSBnZGIuc2VsZWN0 ZWRfdGhyZWFkKCkubmFtZQ0KVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxs IGxhc3QpOg0KICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgMSwgaW4gPG1vZHVs ZT4NCkF0dHJpYnV0ZUVycm9yOiAnTm9uZVR5cGUnIG9iamVjdCBoYXMgbm8g YXR0cmlidXRlICduYW1lJw0KRXJyb3Igd2hpbGUgZXhlY3V0aW5nIFB5dGhv biBjb2RlLg0KKGdkYikgRkFJTDogZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQu ZXhwOiBnZXQgc3VwcGxpZWQgbmFtZSBvZiBjdXJyZW50IHRocmVhZApweXRo b24gZ2RiLnNlbGVjdGVkX3RocmVhZCgpLm5hbWUgPSAnaGlib2InDQpUcmFj ZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6DQogIEZpbGUgIjxzdHJp bmc+IiwgbGluZSAxLCBpbiA8bW9kdWxlPg0KQXR0cmlidXRlRXJyb3I6ICdO b25lVHlwZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ25hbWUnDQpFcnJv ciB3aGlsZSBleGVjdXRpbmcgUHl0aG9uIGNvZGUuDQooZ2RiKSBGQUlMOiBn ZGIucHl0aG9uL3B5LWluZnRocmVhZC5leHA6IHNldCBuYW1lIG9mIGN1cnJl bnQgdGhyZWFkCnB5dGhvbiBwcmludCAoZ2RiLnNlbGVjdGVkX3RocmVhZCgp Lm5hbWUpDQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6DQog IEZpbGUgIjxzdHJpbmc+IiwgbGluZSAxLCBpbiA8bW9kdWxlPg0KQXR0cmli dXRlRXJyb3I6ICdOb25lVHlwZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUg J25hbWUnDQpFcnJvciB3aGlsZSBleGVjdXRpbmcgUHl0aG9uIGNvZGUuDQoo Z2RiKSBGQUlMOiBnZGIucHl0aG9uL3B5LWluZnRocmVhZC5leHA6IGNoZWNr IG5hbWUgb2YgY3VycmVudCB0aHJlYWQKcHl0aG9uIGdkYi5zZWxlY3RlZF90 aHJlYWQoKS5uYW1lID0gTm9uZQ0KVHJhY2ViYWNrIChtb3N0IHJlY2VudCBj YWxsIGxhc3QpOg0KICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgMSwgaW4gPG1v ZHVsZT4NCkF0dHJpYnV0ZUVycm9yOiAnTm9uZVR5cGUnIG9iamVjdCBoYXMg bm8gYXR0cmlidXRlICduYW1lJw0KRXJyb3Igd2hpbGUgZXhlY3V0aW5nIFB5 dGhvbiBjb2RlLg0KKGdkYikgRkFJTDogZ2RiLnB5dGhvbi9weS1pbmZ0aHJl YWQuZXhwOiByZXNldCBuYW1lIG9mIGN1cnJlbnQgdGhyZWFkCnB5dGhvbiBw cmludCAoZ2RiLnNlbGVjdGVkX3RocmVhZCgpLm5hbWUgPT0gbmFtZSkNClRy YWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToNCiAgRmlsZSAiPHN0 cmluZz4iLCBsaW5lIDEsIGluIDxtb2R1bGU+DQpBdHRyaWJ1dGVFcnJvcjog J05vbmVUeXBlJyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAnbmFtZScNCkVy cm9yIHdoaWxlIGV4ZWN1dGluZyBQeXRob24gY29kZS4NCihnZGIpIEZBSUw6 IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDogY2hlY2sgbmFtZSBvZiBj dXJyZW50IHRocmVhZCBhZ2FpbgpweXRob24gcHJpbnQgKCdyZXN1bHQgPSAl cycgJSB0MC5pc19zdG9wcGVkICgpKQ0KVHJhY2ViYWNrIChtb3N0IHJlY2Vu dCBjYWxsIGxhc3QpOg0KICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgMSwgaW4g PG1vZHVsZT4NCkF0dHJpYnV0ZUVycm9yOiAnTm9uZVR5cGUnIG9iamVjdCBo YXMgbm8gYXR0cmlidXRlICdpc19zdG9wcGVkJw0KRXJyb3Igd2hpbGUgZXhl Y3V0aW5nIFB5dGhvbiBjb2RlLg0KKGdkYikgRkFJTDogZ2RiLnB5dGhvbi9w eS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IEluZmVyaW9yVGhyZWFkLmlzX3N0b3Bw ZWQKcHl0aG9uIHByaW50ICgncmVzdWx0ID0gJXMnICUgdDAuaXNfcnVubmlu ZyAoKSkNClRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToNCiAg RmlsZSAiPHN0cmluZz4iLCBsaW5lIDEsIGluIDxtb2R1bGU+DQpBdHRyaWJ1 dGVFcnJvcjogJ05vbmVUeXBlJyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAn aXNfcnVubmluZycNCkVycm9yIHdoaWxlIGV4ZWN1dGluZyBQeXRob24gY29k ZS4NCihnZGIpIEZBSUw6IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDog dGVzdCBJbmZlcmlvclRocmVhZC5pc19ydW5uaW5nCnB5dGhvbiBwcmludCAo J3Jlc3VsdCA9ICVzJyAlIHQwLmlzX2V4aXRlZCAoKSkNClRyYWNlYmFjayAo bW9zdCByZWNlbnQgY2FsbCBsYXN0KToNCiAgRmlsZSAiPHN0cmluZz4iLCBs aW5lIDEsIGluIDxtb2R1bGU+DQpBdHRyaWJ1dGVFcnJvcjogJ05vbmVUeXBl JyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAnaXNfZXhpdGVkJw0KRXJyb3Ig d2hpbGUgZXhlY3V0aW5nIFB5dGhvbiBjb2RlLg0KKGdkYikgRkFJTDogZ2Ri LnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IEluZmVyaW9yVGhyZWFk LmlzX2V4aXRlZApweXRob24gcHJpbnQgKCdyZXN1bHQgPSAlcycgJSB0MC5p c192YWxpZCAoKSkNClRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0 KToNCiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDEsIGluIDxtb2R1bGU+DQpB dHRyaWJ1dGVFcnJvcjogJ05vbmVUeXBlJyBvYmplY3QgaGFzIG5vIGF0dHJp YnV0ZSAnaXNfdmFsaWQnDQpFcnJvciB3aGlsZSBleGVjdXRpbmcgUHl0aG9u IGNvZGUuDQooZ2RiKSBGQUlMOiBnZGIucHl0aG9uL3B5LWluZnRocmVhZC5l eHA6IHRlc3QgSW5mZXJpb3JUaHJlYWQuaXNfdmFsaWQKa2lsbCBpbmZlcmlv ciAxDQooZ2RiKSBQQVNTOiBnZGIucHl0aG9uL3B5LWluZnRocmVhZC5leHA6 IGtpbGwgaW5mZXJpb3IgMQpweXRob24gcHJpbnQgKCdyZXN1bHQgPSAlcycg JSB0MC5pc192YWxpZCAoKSkNClRyYWNlYmFjayAobW9zdCByZWNlbnQgY2Fs bCBsYXN0KToNCiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDEsIGluIDxtb2R1 bGU+DQpBdHRyaWJ1dGVFcnJvcjogJ05vbmVUeXBlJyBvYmplY3QgaGFzIG5v IGF0dHJpYnV0ZSAnaXNfdmFsaWQnDQpFcnJvciB3aGlsZSBleGVjdXRpbmcg UHl0aG9uIGNvZGUuDQooZ2RiKSBGQUlMOiBnZGIucHl0aG9uL3B5LWluZnRo cmVhZC5leHA6IHRlc3QgSW5mZXJpb3JUaHJlYWQuaXNfdmFsaWQKdGVzdGNh c2UgL2hvbWUvbWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIv dGVzdHN1aXRlLy4uLy4uLy4uL2JpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRl L2dkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cCBjb21wbGV0ZWQgaW4gMCBz ZWNvbmRzCgoJCT09PSBnZGIgU3VtbWFyeSA9PT0KCiMgb2YgZXhwZWN0ZWQg cGFzc2VzCQk2CiMgb2YgdW5leHBlY3RlZCBmYWlsdXJlcwkxOApFeGVjdXRp bmcgb24gaG9zdDogL2hvbWUvbWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxz LWdkYi9nZGIvdGVzdHN1aXRlLy4uLy4uL2dkYi9nZGIgLW53IC1ueCAtZGF0 YS1kaXJlY3RvcnkgL2hvbWUvbWFrc2ltL3NvdXJjZXMvb2JqLWJpbnV0aWxz LWdkYi9nZGIvdGVzdHN1aXRlLy4uL2RhdGEtZGlyZWN0b3J5IC0tdmVyc2lv biAgICAodGltZW91dCA9IDMwMCkKc3Bhd24gL2hvbWUvbWFrc2ltL3NvdXJj ZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRlLy4uLy4uL2dkYi9n ZGIgLW53IC1ueCAtZGF0YS1kaXJlY3RvcnkgL2hvbWUvbWFrc2ltL3NvdXJj ZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRlLy4uL2RhdGEtZGly ZWN0b3J5IC0tdmVyc2lvbg0KR05VIGdkYiAoR0RCKSA4LjAuNTAuMjAxNzA4 MDQtZ2l0DQpDb3B5cmlnaHQgKEMpIDIwMTcgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuDQpMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9u IDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1s Pg0KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgYXJlIGZyZWUgdG8gY2hh bmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuDQpUaGVyZSBpcyBOTyBXQVJSQU5U WSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LiAgVHlwZSAic2hv dyBjb3B5aW5nIg0KYW5kICJzaG93IHdhcnJhbnR5IiBmb3IgZGV0YWlscy4N ClRoaXMgR0RCIHdhcyBjb25maWd1cmVkIGFzICJ4ODZfNjQtcGMtbGludXgt Z251Ii4NClR5cGUgInNob3cgY29uZmlndXJhdGlvbiIgZm9yIGNvbmZpZ3Vy YXRpb24gZGV0YWlscy4NCkZvciBidWcgcmVwb3J0aW5nIGluc3RydWN0aW9u cywgcGxlYXNlIHNlZToNCjxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUv Z2RiL2J1Z3MvPi4NCkZpbmQgdGhlIEdEQiBtYW51YWwgYW5kIG90aGVyIGRv Y3VtZW50YXRpb24gcmVzb3VyY2VzIG9ubGluZSBhdDoNCjxodHRwOi8vd3d3 LmdudS5vcmcvc29mdHdhcmUvZ2RiL2RvY3VtZW50YXRpb24vPi4NCkZvciBo ZWxwLCB0eXBlICJoZWxwIi4NClR5cGUgImFwcm9wb3Mgd29yZCIgdG8gc2Vh cmNoIGZvciBjb21tYW5kcyByZWxhdGVkIHRvICJ3b3JkIi4NCi9ob21lL21h a3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0ZS8u Li8uLi9nZGIvZ2RiIHZlcnNpb24gIDguMC41MC4yMDE3MDgwNC1naXQgLW53 IC1ueCAtZGF0YS1kaXJlY3RvcnkgL2hvbWUvbWFrc2ltL3NvdXJjZXMvb2Jq LWJpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRlLy4uL2RhdGEtZGlyZWN0b3J5 IAoKcnVudGVzdCBjb21wbGV0ZWQgYXQgU2F0IEF1ZyAgNSAxMDo0MToxNSAy MDE3Cg== --001a113ee1a0435a8d0555fb48a3 Content-Type: text/plain; charset="US-ASCII"; name="gdb.sum__py-infthread.exp__after.txt" Content-Disposition: attachment; filename="gdb.sum__py-infthread.exp__after.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j5yvzezl2 Content-length: 2676 VGVzdCBSdW4gQnkgbWFrc2ltIG9uIFNhdCBBdWcgIDUgMTA6NDg6MjIgMjAx NwpOYXRpdmUgY29uZmlndXJhdGlvbiBpcyB4ODZfNjQtcGMtbGludXgtZ251 CgoJCT09PSBnZGIgdGVzdHMgPT09CgpTY2hlZHVsZSBvZiB2YXJpYXRpb25z OgogICAgdW5peAoKUnVubmluZyB0YXJnZXQgdW5peApSdW5uaW5nIC9ob21l L21ha3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0 ZS8uLi8uLi8uLi9iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0 aG9uL3B5LWluZnRocmVhZC5leHAgLi4uClBBU1M6IGdkYi5weXRob24vcHkt aW5mdGhyZWFkLmV4cDogdGVzdCBnZGIuc2VsZWN0ZWRfdGhyZWFkClBBU1M6 IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDogdGVzdCBnZGIuc2VsZWN0 ZWRfdGhyZWFkClBBU1M6IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDog dGVzdCBJbmZlcmlvclRocmVhZC5pbmZlcmlvcgpQQVNTOiBnZGIucHl0aG9u L3B5LWluZnRocmVhZC5leHA6IHRlc3QgZ2RiLnNlbGVjdGVkX3RocmVhZApQ QVNTOiBnZGIucHl0aG9uL3B5LWluZnRocmVhZC5leHA6IHRlc3QgZ2RiLnNl bGVjdGVkX3RocmVhZApQQVNTOiBnZGIucHl0aG9uL3B5LWluZnRocmVhZC5l eHA6IHRlc3QgSW5mZXJpb3JUaHJlYWQuaW5mZXJpb3IKUEFTUzogZ2RiLnB5 dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IGdkYi5zZWxlY3RlZF90aHJl YWQKUEFTUzogZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiB2ZXJpZnkg SW5mZXJpb3JUaHJlYWQgb2JqZWN0ClBBU1M6IGdkYi5weXRob24vcHktaW5m dGhyZWFkLmV4cDogdGVzdCBJbmZlcmlvclRocmVhZC5udW0KUEFTUzogZ2Ri LnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IEluZmVyaW9yVGhyZWFk Lmdsb2JhbF9udW0KUEFTUzogZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhw OiB0ZXN0IEluZmVyaW9yVGhyZWFkLnB0aWQKUEFTUzogZ2RiLnB5dGhvbi9w eS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IEluZmVyaW9yLm51bQpQQVNTOiBnZGIu cHl0aG9uL3B5LWluZnRocmVhZC5leHA6IGdldCBzdXBwbGllZCBuYW1lIG9m IGN1cnJlbnQgdGhyZWFkClBBU1M6IGdkYi5weXRob24vcHktaW5mdGhyZWFk LmV4cDogc2V0IG5hbWUgb2YgY3VycmVudCB0aHJlYWQKUEFTUzogZ2RiLnB5 dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiBjaGVjayBuYW1lIG9mIGN1cnJlbnQg dGhyZWFkClBBU1M6IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDogcmVz ZXQgbmFtZSBvZiBjdXJyZW50IHRocmVhZApQQVNTOiBnZGIucHl0aG9uL3B5 LWluZnRocmVhZC5leHA6IGNoZWNrIG5hbWUgb2YgY3VycmVudCB0aHJlYWQg YWdhaW4KUEFTUzogZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiB0ZXN0 IEluZmVyaW9yVGhyZWFkLmlzX3N0b3BwZWQKUEFTUzogZ2RiLnB5dGhvbi9w eS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IEluZmVyaW9yVGhyZWFkLmlzX3J1bm5p bmcKUEFTUzogZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IElu ZmVyaW9yVGhyZWFkLmlzX2V4aXRlZApQQVNTOiBnZGIucHl0aG9uL3B5LWlu ZnRocmVhZC5leHA6IHRlc3QgSW5mZXJpb3JUaHJlYWQuaXNfdmFsaWQKUEFT UzogZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiBraWxsIGluZmVyaW9y IDEKUEFTUzogZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IElu ZmVyaW9yVGhyZWFkLmlzX3ZhbGlkCgoJCT09PSBnZGIgU3VtbWFyeSA9PT0K CiMgb2YgZXhwZWN0ZWQgcGFzc2VzCQkyMwovaG9tZS9tYWtzaW0vc291cmNl cy9vYmotYmludXRpbHMtZ2RiL2dkYi90ZXN0c3VpdGUvLi4vLi4vZ2RiL2dk YiB2ZXJzaW9uICA4LjAuNTAuMjAxNzA4MDQtZ2l0IC1udyAtbnggLWRhdGEt ZGlyZWN0b3J5IC9ob21lL21ha3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1n ZGIvZ2RiL3Rlc3RzdWl0ZS8uLi9kYXRhLWRpcmVjdG9yeSAKCg== --001a113ee1a0435a8d0555fb48a3 Content-Type: text/plain; charset="US-ASCII"; name="gdb.sum__py-infthread.exp__before.txt" Content-Disposition: attachment; filename="gdb.sum__py-infthread.exp__before.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j5yvzf0y3 Content-length: 2798 VGVzdCBSdW4gQnkgbWFrc2ltIG9uIFNhdCBBdWcgIDUgMTA6NDE6MTUgMjAx NwpOYXRpdmUgY29uZmlndXJhdGlvbiBpcyB4ODZfNjQtcGMtbGludXgtZ251 CgoJCT09PSBnZGIgdGVzdHMgPT09CgpTY2hlZHVsZSBvZiB2YXJpYXRpb25z OgogICAgdW5peAoKUnVubmluZyB0YXJnZXQgdW5peApSdW5uaW5nIC9ob21l L21ha3NpbS9zb3VyY2VzL29iai1iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0 ZS8uLi8uLi8uLi9iaW51dGlscy1nZGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0 aG9uL3B5LWluZnRocmVhZC5leHAgLi4uClBBU1M6IGdkYi5weXRob24vcHkt aW5mdGhyZWFkLmV4cDogdGVzdCBJbmZlcmlvclRocmVhZC5pbmZlcmlvcgpQ QVNTOiBnZGIucHl0aG9uL3B5LWluZnRocmVhZC5leHA6IHRlc3QgZ2RiLnNl bGVjdGVkX3RocmVhZApQQVNTOiBnZGIucHl0aG9uL3B5LWluZnRocmVhZC5l eHA6IHRlc3QgZ2RiLnNlbGVjdGVkX3RocmVhZApQQVNTOiBnZGIucHl0aG9u L3B5LWluZnRocmVhZC5leHA6IHRlc3QgSW5mZXJpb3JUaHJlYWQuaW5mZXJp b3IKRkFJTDogZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IGdk Yi5zZWxlY3RlZF90aHJlYWQKRkFJTDogZ2RiLnB5dGhvbi9weS1pbmZ0aHJl YWQuZXhwOiB0ZXN0IGdkYi5zZWxlY3RlZF90aHJlYWQKRkFJTDogZ2RiLnB5 dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IEluZmVyaW9yVGhyZWFkLmlu ZmVyaW9yClBBU1M6IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDogdGVz dCBnZGIuc2VsZWN0ZWRfdGhyZWFkCkZBSUw6IGdkYi5weXRob24vcHktaW5m dGhyZWFkLmV4cDogdmVyaWZ5IEluZmVyaW9yVGhyZWFkIG9iamVjdApGQUlM OiBnZGIucHl0aG9uL3B5LWluZnRocmVhZC5leHA6IHRlc3QgSW5mZXJpb3JU aHJlYWQubnVtCkZBSUw6IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDog dGVzdCBJbmZlcmlvclRocmVhZC5nbG9iYWxfbnVtCkZBSUw6IGdkYi5weXRo b24vcHktaW5mdGhyZWFkLmV4cDogdGVzdCBJbmZlcmlvclRocmVhZC5wdGlk CkZBSUw6IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDogdGVzdCBJbmZl cmlvci5udW0KRkFJTDogZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiBn ZXQgc3VwcGxpZWQgbmFtZSBvZiBjdXJyZW50IHRocmVhZApGQUlMOiBnZGIu cHl0aG9uL3B5LWluZnRocmVhZC5leHA6IHNldCBuYW1lIG9mIGN1cnJlbnQg dGhyZWFkCkZBSUw6IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDogY2hl Y2sgbmFtZSBvZiBjdXJyZW50IHRocmVhZApGQUlMOiBnZGIucHl0aG9uL3B5 LWluZnRocmVhZC5leHA6IHJlc2V0IG5hbWUgb2YgY3VycmVudCB0aHJlYWQK RkFJTDogZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiBjaGVjayBuYW1l IG9mIGN1cnJlbnQgdGhyZWFkIGFnYWluCkZBSUw6IGdkYi5weXRob24vcHkt aW5mdGhyZWFkLmV4cDogdGVzdCBJbmZlcmlvclRocmVhZC5pc19zdG9wcGVk CkZBSUw6IGdkYi5weXRob24vcHktaW5mdGhyZWFkLmV4cDogdGVzdCBJbmZl cmlvclRocmVhZC5pc19ydW5uaW5nCkZBSUw6IGdkYi5weXRob24vcHktaW5m dGhyZWFkLmV4cDogdGVzdCBJbmZlcmlvclRocmVhZC5pc19leGl0ZWQKRkFJ TDogZ2RiLnB5dGhvbi9weS1pbmZ0aHJlYWQuZXhwOiB0ZXN0IEluZmVyaW9y VGhyZWFkLmlzX3ZhbGlkClBBU1M6IGdkYi5weXRob24vcHktaW5mdGhyZWFk LmV4cDoga2lsbCBpbmZlcmlvciAxCkZBSUw6IGdkYi5weXRob24vcHktaW5m dGhyZWFkLmV4cDogdGVzdCBJbmZlcmlvclRocmVhZC5pc192YWxpZAoKCQk9 PT0gZ2RiIFN1bW1hcnkgPT09CgojIG9mIGV4cGVjdGVkIHBhc3NlcwkJNgoj IG9mIHVuZXhwZWN0ZWQgZmFpbHVyZXMJMTgKL2hvbWUvbWFrc2ltL3NvdXJj ZXMvb2JqLWJpbnV0aWxzLWdkYi9nZGIvdGVzdHN1aXRlLy4uLy4uL2dkYi9n ZGIgdmVyc2lvbiAgOC4wLjUwLjIwMTcwODA0LWdpdCAtbncgLW54IC1kYXRh LWRpcmVjdG9yeSAvaG9tZS9tYWtzaW0vc291cmNlcy9vYmotYmludXRpbHMt Z2RiL2dkYi90ZXN0c3VpdGUvLi4vZGF0YS1kaXJlY3RvcnkgCgo= --001a113ee1a0435a8d0555fb48a3--