From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 88205 invoked by alias); 26 Jul 2015 12:20:37 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 88178 invoked by uid 89); 26 Jul 2015 12:20:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD,SPF_PASS autolearn=unavailable version=3.3.2 X-HELO: mail-yk0-f178.google.com Received: from mail-yk0-f178.google.com (HELO mail-yk0-f178.google.com) (209.85.160.178) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Sun, 26 Jul 2015 12:20:34 +0000 Received: by ykax123 with SMTP id x123so50755593yka.1 for ; Sun, 26 Jul 2015 05:20:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=sCSSJwboreJ3VBuQwxNISQXXHZquR7k5qe3I7sc375U=; b=OA0baI/aAIftYvZbWR+wJeOJzArfRWXOIEl87+bR4wFDINxFqSoVUNlADeNaFgUAA3 1ToAjSqE3cCSicQCKGuYbJ8x6VRXCtE8Z+zOn2d9uzUGhDddRmlyjToHsr3EHv2csONx kf8wAREdiF8KF+SxJ5GZoX4PJLrkqbyZl4fgN55mVwdvjW5z94wK8ChBlanyWK+aHM/K zi+4tyJeQfyFP57liLoYdkblcHNt3gZpwGkCZkOeGKK5edt11a2wLVmk27U7OdIu+uY4 q5DR65uWTxasHomgDbGUtM0uYNtT5R/b/MnOQl3kJmCFJ/6Ck4dKiEpje7k/YwV6vRso J+JA== X-Gm-Message-State: ALoCoQm+BV52Zh4LwOfmWwsxF31lz7Xusk24JeJbT85zDQTKB3S0ogaML0bXdJYclIT0H2Qx5A9T MIME-Version: 1.0 X-Received: by 10.13.240.67 with SMTP id z64mr24388037ywe.69.1437913232405; Sun, 26 Jul 2015 05:20:32 -0700 (PDT) Received: by 10.129.145.141 with HTTP; Sun, 26 Jul 2015 05:20:32 -0700 (PDT) In-Reply-To: References: Date: Sun, 26 Jul 2015 16:50:00 -0000 Message-ID: Subject: Re: [libstdc++/67015, patch] Fix regex POSIX bracket parsing From: Tim Shen To: "libstdc++" , gcc-patches Content-Type: multipart/mixed; boundary=94eb2c0361c06fbd47051bc6431c X-SW-Source: 2015-07/txt/msg02179.txt.bz2 --94eb2c0361c06fbd47051bc6431c Content-Type: text/plain; charset=UTF-8 Content-length: 198 On Sun, Jul 26, 2015 at 5:19 AM, Tim Shen wrote: > Kinda important, since "[a-z0-9-]" may be a common case. > > Bootstrapped and tested. Actual patch... -- Regards, Tim Shen --94eb2c0361c06fbd47051bc6431c Content-Type: text/plain; charset=US-ASCII; name="a.diff" Content-Disposition: attachment; filename="a.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ickgerqh0 Content-length: 10228 Y29tbWl0IGUwZTZjMmUzYjcyMmUxNDUzZDI5YWQzYTU2ZDBkZTgwMDQ2NDUz YjAKQXV0aG9yOiBUaW0gU2hlbiA8dGltc2hlbkBnb29nbGUuY29tPgpEYXRl OiAgIFN1biBKdWwgMjYgMDQ6Mzc6NDUgMjAxNSAtMDcwMAoKICAgIAlQUiBs aWJzdGRjKysvNjcwMTUKICAgIAogICAgCSogaW5jbHVkZS9iaXRzL3JlZ2V4 X2NvbXBpbGVyLmggKF9Db21waWxlcjw+OjpfTV9leHByZXNzaW9uX3Rlcm0s CiAgICAJX0JyYWNrZXRNYXRjaGVyPD46Ol9NX2FkZF9jb2xsYXRpbmdfZWxl bWVudCk6IENoYW5nZSBzaWduYXR1cmUKICAgIAl0byBtYWtlIGNoZWNraW5n IHRoZSBhbmQgb2YgYnJhY2tldCBleHByZXNzaW9uIGVhc2llci4KICAgIAkq IGluY2x1ZGUvYml0cy9yZWdleF9jb21waWxlci50Y2MgKF9Db21waWxlcjw+ OjpfTV9leHByZXNzaW9uX3Rlcm0pOgogICAgCVRyZWF0ICctJyBhcyBhIHZh bGlkIGxpdGVyYWwgaWYgaXQncyBhdCB0aGUgZW5kIG9mIGJyYWNrZXQgZXhw cmVzc2lvbi4KICAgIAkqIHRlc3RzdWl0ZS8yOF9yZWdleC9hbGdvcml0aG1z L3JlZ2V4X21hdGNoL2NzdHJpbmdfYnJhY2tldF8wMS5jYzoKICAgIAlOZXcg dGVzdGNhc2VzLgoKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9pbmNsdWRl L2JpdHMvcmVnZXhfY29tcGlsZXIuaCBiL2xpYnN0ZGMrKy12My9pbmNsdWRl L2JpdHMvcmVnZXhfY29tcGlsZXIuaAppbmRleCA0NDcyMTE2Li42ZDk3OTll IDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL3JlZ2V4 X2NvbXBpbGVyLmgKKysrIGIvbGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9y ZWdleF9jb21waWxlci5oCkBAIC0xMTYsOCArMTE2LDEwIEBAIF9HTElCQ1hY X0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAJdm9pZAogCV9NX2luc2VydF9i cmFja2V0X21hdGNoZXIoYm9vbCBfX25lZyk7CiAKKyAgICAgIC8vIFJldHVy bnMgdHJ1ZSBpZiBzdWNjZXNzZnVsbHkgbWF0Y2hlZCBvbmUgdGVybSBhbmQg c2hvdWxkIGNvbnRpbnVlLgorICAgICAgLy8gUmV0dXJucyBmYWxzZSBpZiB0 aGUgY29tcGlsZXIgc2hvdWxkIG1vdmUgb24uCiAgICAgICB0ZW1wbGF0ZTxi b29sIF9faWNhc2UsIGJvb2wgX19jb2xsYXRlPgotCXZvaWQKKwlib29sCiAJ X01fZXhwcmVzc2lvbl90ZXJtKHBhaXI8Ym9vbCwgX0NoYXJUPiYgX19sYXN0 X2NoYXIsCiAJCQkgICBfQnJhY2tldE1hdGNoZXI8X1RyYWl0c1QsIF9faWNh c2UsIF9fY29sbGF0ZT4mCiAJCQkgICBfX21hdGNoZXIpOwpAQCAtMzg5LDcg KzM5MSw3IEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAj ZW5kaWYKICAgICAgIH0KIAotICAgICAgdm9pZAorICAgICAgX1N0cmluZ1QK ICAgICAgIF9NX2FkZF9jb2xsYXRpbmdfZWxlbWVudChjb25zdCBfU3RyaW5n VCYgX19zKQogICAgICAgewogCWF1dG8gX19zdCA9IF9NX3RyYWl0cy5sb29r dXBfY29sbGF0ZW5hbWUoX19zLmRhdGEoKSwKQEAgLTQwMCw2ICs0MDIsNyBA QCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogI2lmZGVmIF9H TElCQ1hYX0RFQlVHCiAJX01faXNfcmVhZHkgPSBmYWxzZTsKICNlbmRpZgor CXJldHVybiBfX3N0OwogICAgICAgfQogCiAgICAgICB2b2lkCmRpZmYgLS1n aXQgYS9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL3JlZ2V4X2NvbXBpbGVy LnRjYyBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvcmVnZXhfY29tcGls ZXIudGNjCmluZGV4IDMzZDcxMTguLmY0OGUzYzEgMTAwNjQ0Ci0tLSBhL2xp YnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvcmVnZXhfY29tcGlsZXIudGNjCisr KyBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvcmVnZXhfY29tcGlsZXIu dGNjCkBAIC00MjQsOCArNDI0LDcgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQ QUNFX1ZFUlNJT04KIAkgICAgX19sYXN0X2NoYXIuZmlyc3QgPSB0cnVlOwog CSAgICBfX2xhc3RfY2hhci5zZWNvbmQgPSBfTV92YWx1ZVswXTsKIAkgIH0K LSAgICAgIHdoaWxlICghX01fbWF0Y2hfdG9rZW4oX1NjYW5uZXJUOjpfU190 b2tlbl9icmFja2V0X2VuZCkpCi0JX01fZXhwcmVzc2lvbl90ZXJtKF9fbGFz dF9jaGFyLCBfX21hdGNoZXIpOworICAgICAgd2hpbGUgKF9NX2V4cHJlc3Np b25fdGVybShfX2xhc3RfY2hhciwgX19tYXRjaGVyKSk7CiAgICAgICBfX21h dGNoZXIuX01fcmVhZHkoKTsKICAgICAgIF9NX3N0YWNrLnB1c2goX1N0YXRl U2VxVCgKIAkJICAgICAgKl9NX25mYSwKQEAgLTQzNCwyMSArNDMzLDMxIEBA IF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAKICAgdGVtcGxh dGU8dHlwZW5hbWUgX1RyYWl0c1Q+CiAgIHRlbXBsYXRlPGJvb2wgX19pY2Fz ZSwgYm9vbCBfX2NvbGxhdGU+Ci0gICAgdm9pZAorICAgIGJvb2wKICAgICBf Q29tcGlsZXI8X1RyYWl0c1Q+OjoKICAgICBfTV9leHByZXNzaW9uX3Rlcm0o cGFpcjxib29sLCBfQ2hhclQ+JiBfX2xhc3RfY2hhciwKIAkJICAgICAgIF9C cmFja2V0TWF0Y2hlcjxfVHJhaXRzVCwgX19pY2FzZSwgX19jb2xsYXRlPiYg X19tYXRjaGVyKQogICAgIHsKKyAgICAgIGlmIChfTV9tYXRjaF90b2tlbihf U2Nhbm5lclQ6Ol9TX3Rva2VuX2JyYWNrZXRfZW5kKSkKKwlyZXR1cm4gZmFs c2U7CisKICAgICAgIGlmIChfTV9tYXRjaF90b2tlbihfU2Nhbm5lclQ6Ol9T X3Rva2VuX2NvbGxzeW1ib2wpKQotCV9fbWF0Y2hlci5fTV9hZGRfY29sbGF0 aW5nX2VsZW1lbnQoX01fdmFsdWUpOworCXsKKwkgIGF1dG8gX19zeW1ib2wg PSBfX21hdGNoZXIuX01fYWRkX2NvbGxhdGluZ19lbGVtZW50KF9NX3ZhbHVl KTsKKwkgIGlmIChfX3N5bWJvbC5zaXplKCkgPT0gMSkKKwkgICAgeworCSAg ICAgIF9fbGFzdF9jaGFyLmZpcnN0ID0gdHJ1ZTsKKwkgICAgICBfX2xhc3Rf Y2hhci5zZWNvbmQgPSBfX3N5bWJvbFswXTsKKwkgICAgfQorCX0KICAgICAg IGVsc2UgaWYgKF9NX21hdGNoX3Rva2VuKF9TY2FubmVyVDo6X1NfdG9rZW5f ZXF1aXZfY2xhc3NfbmFtZSkpCiAJX19tYXRjaGVyLl9NX2FkZF9lcXVpdmFs ZW5jZV9jbGFzcyhfTV92YWx1ZSk7CiAgICAgICBlbHNlIGlmIChfTV9tYXRj aF90b2tlbihfU2Nhbm5lclQ6Ol9TX3Rva2VuX2NoYXJfY2xhc3NfbmFtZSkp CiAJX19tYXRjaGVyLl9NX2FkZF9jaGFyYWN0ZXJfY2xhc3MoX01fdmFsdWUs IGZhbHNlKTsKLSAgICAgIC8vIFBPU0lYIGRvZXNuJ3QgcGVybWl0ICctJyBh cyBhIHN0YXJ0LXJhbmdlIGNoYXIgKHNheSBbYS16LS0wXSksCi0gICAgICAv LyBleGNlcHQgd2hlbiB0aGUgJy0nIGlzIHRoZSBmaXJzdCBjaGFyYWN0ZXIg aW4gdGhlIGJyYWNrZXQgZXhwcmVzc2lvbgotICAgICAgLy8gKFstLTBdKS4g RUNNQVNjcmlwdCB0cmVhdHMgYWxsICctJyBhZnRlciBhIHJhbmdlIGFzIGEg bm9ybWFsIGNoYXJhY3Rlci4KLSAgICAgIC8vIEFsc28gc2VlIGFib3ZlLCB3 aGVyZSBfTV9leHByZXNzaW9uX3Rlcm0gZ2V0cyBjYWxsZWQuCisgICAgICAv LyBQT1NJWCBkb2Vzbid0IGFsbG93ICctJyBhcyBhIHN0YXJ0LXJhbmdlIGNo YXIgKHNheSBbYS16LS0wXSksCisgICAgICAvLyBleGNlcHQgd2hlbiB0aGUg Jy0nIGlzIHRoZSBmaXJzdCBvciBsYXN0IGNoYXJhY3RlciBpbiB0aGUgYnJh Y2tldAorICAgICAgLy8gZXhwcmVzc2lvbiAoWy0tMF0pLiBFQ01BU2NyaXB0 IHRyZWF0cyBhbGwgJy0nIGFmdGVyIGEgcmFuZ2UgYXMgYQorICAgICAgLy8g bm9ybWFsIGNoYXJhY3Rlci4gQWxzbyBzZWUgYWJvdmUsIHdoZXJlIF9NX2V4 cHJlc3Npb25fdGVybSBnZXRzIGNhbGxlZC4KICAgICAgIC8vCiAgICAgICAv LyBBcyBhIHJlc3VsdCwgUE9TSVggcmVqZWN0cyBbLS0tLS1dLCBidXQgRUNN QVNjcmlwdCBkb2Vzbid0LgogICAgICAgLy8gQm9vc3QgKDEuNTcuMCkgYWx3 YXlzIHVzZXMgUE9TSVggc3R5bGUgZXZlbiBpbiBpdHMgRUNNQVNjcmlwdCBz eW50YXguCkBAIC00NTksMTAgKzQ2OCwxNCBAQCBfR0xJQkNYWF9CRUdJTl9O QU1FU1BBQ0VfVkVSU0lPTgogCXsKIAkgIGlmICghX19sYXN0X2NoYXIuZmly c3QpCiAJICAgIHsKKwkgICAgICBfX21hdGNoZXIuX01fYWRkX2NoYXIoX01f dmFsdWVbMF0pOwogCSAgICAgIGlmIChfTV92YWx1ZVswXSA9PSAnLScKIAkJ ICAmJiAhKF9NX2ZsYWdzICYgcmVnZXhfY29uc3RhbnRzOjpFQ01BU2NyaXB0 KSkKLQkJX190aHJvd19yZWdleF9lcnJvcihyZWdleF9jb25zdGFudHM6OmVy cm9yX3JhbmdlKTsKLQkgICAgICBfX21hdGNoZXIuX01fYWRkX2NoYXIoX01f dmFsdWVbMF0pOworCQl7CisJCSAgaWYgKF9NX21hdGNoX3Rva2VuKF9TY2Fu bmVyVDo6X1NfdG9rZW5fYnJhY2tldF9lbmQpKQorCQkgICAgcmV0dXJuIGZh bHNlOworCQkgIF9fdGhyb3dfcmVnZXhfZXJyb3IocmVnZXhfY29uc3RhbnRz OjplcnJvcl9yYW5nZSk7CisJCX0KIAkgICAgICBfX2xhc3RfY2hhci5maXJz dCA9IHRydWU7CiAJICAgICAgX19sYXN0X2NoYXIuc2Vjb25kID0gX01fdmFs dWVbMF07CiAJICAgIH0KQEAgLTQ5Niw2ICs1MDksOCBAQCBfR0xJQkNYWF9C RUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogCQkJCQkJICAgICBfTV92YWx1ZVsw XSkpOwogICAgICAgZWxzZQogCV9fdGhyb3dfcmVnZXhfZXJyb3IocmVnZXhf Y29uc3RhbnRzOjplcnJvcl9icmFjayk7CisKKyAgICAgIHJldHVybiB0cnVl OwogICAgIH0KIAogICB0ZW1wbGF0ZTx0eXBlbmFtZSBfVHJhaXRzVD4KZGlm ZiAtLWdpdCBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjhfcmVnZXgvYWxn b3JpdGhtcy9yZWdleF9tYXRjaC9jc3RyaW5nX2JyYWNrZXRfMDEuY2MgYi9s aWJzdGRjKystdjMvdGVzdHN1aXRlLzI4X3JlZ2V4L2FsZ29yaXRobXMvcmVn ZXhfbWF0Y2gvY3N0cmluZ19icmFja2V0XzAxLmNjCmluZGV4IGY3NjUzYzYu LjYyMTMxYTAgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUv MjhfcmVnZXgvYWxnb3JpdGhtcy9yZWdleF9tYXRjaC9jc3RyaW5nX2JyYWNr ZXRfMDEuY2MKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yOF9yZWdl eC9hbGdvcml0aG1zL3JlZ2V4X21hdGNoL2NzdHJpbmdfYnJhY2tldF8wMS5j YwpAQCAtODIsNiArODIsMjIgQEAgdGVzdDAyKCkKICAgICBWRVJJRlkoZS5j b2RlKCkgPT0gc3RkOjpyZWdleF9jb25zdGFudHM6OmVycm9yX3JhbmdlKTsK ICAgfQogICBzdGQ6OnJlZ2V4IHJlKCJbLS0tLS1dIiwgc3RkOjpyZWdleDo6 RUNNQVNjcmlwdCk7CisKKyAgVkVSSUZZKCFyZWdleF9tYXRjaCgiYiIsIHJl Z2V4KCJbLWFjXSIsIHJlZ2V4X2NvbnN0YW50czo6ZXh0ZW5kZWQpKSk7Cisg IFZFUklGWSghcmVnZXhfbWF0Y2goImIiLCByZWdleCgiW2FjLV0iLCByZWdl eF9jb25zdGFudHM6OmV4dGVuZGVkKSkpOworICBWRVJJRlkocmVnZXhfbWF0 Y2goImIiLCByZWdleCgiW14tYWNdIiwgcmVnZXhfY29uc3RhbnRzOjpleHRl bmRlZCkpKTsKKyAgVkVSSUZZKHJlZ2V4X21hdGNoKCJiIiwgcmVnZXgoIlte YWMtXSIsIHJlZ2V4X2NvbnN0YW50czo6ZXh0ZW5kZWQpKSk7CisgIFZFUklG WShyZWdleF9tYXRjaCgiJiIsIHJlZ2V4KCJbJS0tXSIsIHJlZ2V4X2NvbnN0 YW50czo6ZXh0ZW5kZWQpKSk7CisgIFZFUklGWShyZWdleF9tYXRjaCgiLiIs IHJlZ2V4KCJbLS1AXSIsIHJlZ2V4X2NvbnN0YW50czo6ZXh0ZW5kZWQpKSk7 CisgIHRyeQorICB7CisgICAgcmVnZXgoIlthLS1AXSIsIHJlZ2V4X2NvbnN0 YW50czo6ZXh0ZW5kZWQpOworICAgIFZFUklGWShmYWxzZSk7CisgIH0KKyAg Y2F0Y2ggKGNvbnN0IHN0ZDo6cmVnZXhfZXJyb3ImIGUpCisgIHsKKyAgfQor ICBWRVJJRlkocmVnZXhfbWF0Y2goIl0uIiwgcmVnZXgoIltdWy5oeXBoZW4u XS0wXSoiLCByZWdleF9jb25zdGFudHM6OmV4dGVuZGVkKSkpOwogfQogCiB2 b2lkCkBAIC0xMTUsNiArMTMxLDQ0IEBAIHRlc3QwNCgpCiAgIFZFUklGWShy ZWdleF9tYXRjaF9kZWJ1ZygidyIsIHJlKSk7CiB9CiAKKy8vIGxpYnN0ZGMr Ky82NzAxNQordm9pZAordGVzdDA1KCkKK3sKKyAgYm9vbCB0ZXN0IF9fYXR0 cmlidXRlX18oKHVudXNlZCkpID0gdHJ1ZTsKKworICByZWdleCBsYW5hbmFf bmFtZXNwYWNlKCJeW2EtejAtOV0rJCIsIHJlZ2V4OjpleHRlbmRlZCk7Cisg IHJlZ2V4IGxzYl9uYW1lc3BhY2UoIl5fPyhbYS16MC05Xy5dKy0sIHJlZ2V4 OjpleHRlbmRlZCkrW2EtejAtOV0rJCIpOworICByZWdleCBkZWJpYW5fZHBr Z19jb25mZmlsZV9jcnVmdCgiZHBrZy0ob2xkfGRpc3R8bmV3fHRtcCwgcmVn ZXg6OmV4dGVuZGVkKSQiKTsKKyAgcmVnZXggZGViaWFuX2Nyb25fbmFtZXNw YWNlKCJeW2EtejAtOV1bYS16MC05LV0qJCIsIHJlZ2V4OjpleHRlbmRlZCk7 CisgIFZFUklGWShyZWdleF9tYXRjaCgidGVzdCIsIGRlYmlhbl9jcm9uX25h bWVzcGFjZSkpOworICBWRVJJRlkoIXJlZ2V4X21hdGNoKCItYSIsIGRlYmlh bl9jcm9uX25hbWVzcGFjZSkpOworICBWRVJJRlkocmVnZXhfbWF0Y2goImEt IiwgZGViaWFuX2Nyb25fbmFtZXNwYWNlKSk7CisgIHJlZ2V4IGRlYmlhbl9j cm9uX25hbWVzcGFjZV9vaygiXlthLXowLTldWy1hLXowLTldKiQiLCByZWdl eDo6ZXh0ZW5kZWQpOworICBWRVJJRlkocmVnZXhfbWF0Y2goInRlc3QiLCBk ZWJpYW5fY3Jvbl9uYW1lc3BhY2Vfb2spKTsKKyAgVkVSSUZZKCFyZWdleF9t YXRjaCgiLWEiLCBkZWJpYW5fY3Jvbl9uYW1lc3BhY2Vfb2spKTsKKyAgVkVS SUZZKHJlZ2V4X21hdGNoKCJhLSIsIGRlYmlhbl9jcm9uX25hbWVzcGFjZV9v aykpOworfQorCisvLyBsaWJzdGRjKysvNjcwMTUKK3ZvaWQKK3Rlc3QwNigp Cit7CisgIGJvb2wgdGVzdCBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSA9IHRy dWU7CisKKyAgcmVnZXggbGFuYW5hX25hbWVzcGFjZSgiXlthLXowLTldKyQi KTsKKyAgcmVnZXggbHNiX25hbWVzcGFjZSgiXl8/KFthLXowLTlfLl0rLSkr W2EtejAtOV0rJCIpOworICByZWdleCBkZWJpYW5fZHBrZ19jb25mZmlsZV9j cnVmdCgiZHBrZy0ob2xkfGRpc3R8bmV3fHRtcCkkIik7CisgIHJlZ2V4IGRl Ymlhbl9jcm9uX25hbWVzcGFjZSgiXlthLXowLTldW2EtejAtOS1dKiQiKTsK KyAgVkVSSUZZKHJlZ2V4X21hdGNoKCJ0ZXN0IiwgZGViaWFuX2Nyb25fbmFt ZXNwYWNlKSk7CisgIFZFUklGWSghcmVnZXhfbWF0Y2goIi1hIiwgZGViaWFu X2Nyb25fbmFtZXNwYWNlKSk7CisgIFZFUklGWShyZWdleF9tYXRjaCgiYS0i LCBkZWJpYW5fY3Jvbl9uYW1lc3BhY2UpKTsKKyAgcmVnZXggZGViaWFuX2Ny b25fbmFtZXNwYWNlX29rKCJeW2EtejAtOV1bLWEtejAtOV0qJCIpOworICBW RVJJRlkocmVnZXhfbWF0Y2goInRlc3QiLCBkZWJpYW5fY3Jvbl9uYW1lc3Bh Y2Vfb2spKTsKKyAgVkVSSUZZKCFyZWdleF9tYXRjaCgiLWEiLCBkZWJpYW5f Y3Jvbl9uYW1lc3BhY2Vfb2spKTsKKyAgVkVSSUZZKHJlZ2V4X21hdGNoKCJh LSIsIGRlYmlhbl9jcm9uX25hbWVzcGFjZV9vaykpOworfQorCiBpbnQKIG1h aW4oKQogewpAQCAtMTIyLDUgKzE3Niw4IEBAIG1haW4oKQogICB0ZXN0MDIo KTsKICAgdGVzdDAzKCk7CiAgIHRlc3QwNCgpOworICB0ZXN0MDUoKTsKKyAg dGVzdDA2KCk7CisKICAgcmV0dXJuIDA7CiB9Cg== --94eb2c0361c06fbd47051bc6431c--