From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on starla X-Spam-Level: X-Spam-Status: No, score=-1.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 Received: from nue.mailmanlists.eu (nue.mailmanlists.eu [94.130.110.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id A51451F405 for ; Wed, 24 Jan 2024 17:46:23 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (1024-bit key; secure) header.d=ml.ruby-lang.org header.i=@ml.ruby-lang.org header.a=rsa-sha256 header.s=mail header.b=stBz0kFc; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=QZ1bdJWi; dkim-atps=neutral Received: from nue.mailmanlists.eu (localhost [127.0.0.1]) by nue.mailmanlists.eu (Postfix) with ESMTP id E356681F66; Wed, 24 Jan 2024 17:46:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ml.ruby-lang.org; s=mail; t=1706118377; bh=G2FGfTHB1doarGDdGV582UvPYpMhoBn2h2Rh8T1Bfv4=; h=Date:References:To:Reply-To:Subject:List-Id:List-Archive: List-Help:List-Owner:List-Post:List-Subscribe:List-Unsubscribe: From:Cc:From; b=stBz0kFcO9saa4XSH4qITdKMcqho6N6aBHslyR4qsUB2VUg9MK7VS8bjHFiuiDuB+ iTNOHGj0lNb8v9/aE1H+JDFLJiUJs5uAoKcFwnra67yThmOBryZzEFMNUIHIHr05+8 zcXI2Xaku6AgvDAL0CfOR9w855qgE+HuTVMZBxhI= Received: from wrqvtvvn.outbound-mail.sendgrid.net (wrqvtvvn.outbound-mail.sendgrid.net [149.72.120.130]) by nue.mailmanlists.eu (Postfix) with ESMTPS id F3EB481F64 for ; Wed, 24 Jan 2024 17:46:12 +0000 (UTC) Authentication-Results: nue.mailmanlists.eu; dkim=pass (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=QZ1bdJWi; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ruby-lang.org; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to:cc:content-type:from:subject:to; s=s1; bh=7+VkwsDFbRrUJXvKLqKAqS/dtAycTamRVDfyI+L6v2w=; b=QZ1bdJWiwCviq2nXWWslV5brs9MVwd2pAif8Yfg9q3qegdOmGlSVLQzer/Y99eXteuS5 n48uQEI3Z15Ldbp4JFXWBeUY31p5L4c3jmOVWRuZOA6Qph6At4axlkLlcM9alm02AtSFeX GlBSLdoXgS+G/IbD+XJJxdtfgNfiBJubIBJ4b1gcar7UlGTi1Tj8G/1OCfHE+XP3flfDk9 H3Que3m/7HLk39lPEHtgUsnQI0ses/tQXZGoNqc7QkBXM3hsd+DSqAtLHobuZHzw9HJanL NW/7xZRE/PJnJ3bKXYla2nuwHE7BB0Zkl8euLvXWYyL6UVEUFAHYJwRwbfdkoGuQ== Received: by filterdrecv-58bfc74dd6-xxj9c with SMTP id filterdrecv-58bfc74dd6-xxj9c-1-65B14CE3-33 2024-01-24 17:46:11.798076651 +0000 UTC m=+97119.974414112 Received: from herokuapp.com (unknown) by geopod-ismtpd-30 (SG) with ESMTP id sC70AVbVSuGdOFf64EwnCQ for ; Wed, 24 Jan 2024 17:46:11.768 +0000 (UTC) Date: Wed, 24 Jan 2024 17:46:11 +0000 (UTC) Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 20205 X-Redmine-Issue-Author: byroot X-Redmine-Sender: palkan X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-Redmine-MailingListIntegration-Message-Ids: 92975 X-SG-EID: =?us-ascii?Q?hja=2FON0F6aA2kS57f2XH+oPSfPO1SdS2vm769=2FPxemUc7g4cg4kkLtr2LqQyKP?= =?us-ascii?Q?B22WGEJ60WZKBvot1pJv9MrDuNQqEJu8UtHSFke?= =?us-ascii?Q?lqjRC4JsycEIgx+NknbW3T=2FLTE317zTSSf1g+M0?= =?us-ascii?Q?HfTUgwbgPxQXerl5jFicfCwfZo1hFUMwo4W=2FZfr?= =?us-ascii?Q?GNwzGhA2jMDLQ6nA+dfLQ=2FTL=2FHcR6Evdq5xmeTZ?= =?us-ascii?Q?PlFyMAI2HK119m4duW8ytien2EkhkmalIojQe=2Ft?= =?us-ascii?Q?5ildO7jvAzU5KLr4OXMgw=3D=3D?= To: ruby-core@ml.ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== Message-ID-Hash: I5TO5TLH7XDMMLSDZORBDJV2E2U4HXUS X-Message-ID-Hash: I5TO5TLH7XDMMLSDZORBDJV2E2U4HXUS X-MailFrom: bounces+313651-b711-ruby-core=ml.ruby-lang.org@em5188.ruby-lang.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.3 Precedence: list Reply-To: Ruby developers Subject: [ruby-core:116418] [Ruby master Feature#20205] Enable `frozen_string_literal` by default List-Id: Ruby developers Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: "palkan (Vladimir Dementyev) via ruby-core" Cc: "palkan (Vladimir Dementyev)" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SXNzdWUgIzIwMjA1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgcGFsa2FuIChWbGFkaW1pciBEZW1lbnR5 ZXYpLg0NCg0NCg0NCmJ5cm9vdCAoSmVhbiBCb3Vzc2llcikgd3JvdGUgaW4gI25vdGUtODoNDQoN DQo+ICBEZXZpc2UgYSB3YXkgdG8gc2V0IGNvbXBpbGUgb3B0aW9ucyBmb3IgYWxsIGZpbGVzIGlu c2lkZSBhIGRpcmVjdG9yeQ0NCg0NCkhlcmUgeW91IGdvOiBodHRwczovL2dpdGh1Yi5jb20vcnVi eS1uZXh0L2ZyZWV6b2xpdGUg8J+Zgg0NCg0NCj4gaW50ZWdyYXRlIHdpdGggUnVieWdlbXMgdG8g ZW5hYmxlIGZyb3plbiBzdHJpbmcgbGl0ZXJhbHMgb24gYSBwZXIgZ2VtIGJhc2lzDQ0KDQ0KU210 aCBsaWtlIGBzcGVjLmZyb3plbl9zdHJpbmdfbGl0ZXJhbHMgPSB0cnVlYD8gQW5kIGR1cmluZyBn ZW0gcmVnaXN0cmF0aW9uIChzZXR0aW5nIHVwIGEgbG9hZCBwYXRoKSwgUnVieUdlbXMgY2FuIGFk ZCB0aGUgcGF0aCB0byB0aGUgX2Zyb3plbiBsaXN0Xywgc28gdXBvbiBsb2FkIHdlIGNhbiBzZXQg dGhlIGNvbXBpbGUgb3B0aW9uLiBUaGF0IHNob3VsZCB3b3JrLCBJIHRoaW5rLg0NCg0NCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NDQpGZWF0dXJlICMyMDIwNTogRW5h YmxlIGBmcm96ZW5fc3RyaW5nX2xpdGVyYWxgIGJ5IGRlZmF1bHQNDQpodHRwczovL2J1Z3MucnVi eS1sYW5nLm9yZy9pc3N1ZXMvMjAyMDUjY2hhbmdlLTEwNjQ0MQ0NCg0NCiogQXV0aG9yOiBieXJv b3QgKEplYW4gQm91c3NpZXIpDQ0KKiBTdGF0dXM6IE9wZW4NDQoqIFByaW9yaXR5OiBOb3JtYWwN DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQ0KIyMjIENvbnRleHQN DQoNDQpUaGUgYGZyb3plbl9zdHJpbmdfbGl0ZXJhbDogdHJ1ZWAgcHJhZ21hIHdhcyBpbnRyb2R1 Y2VkIGluIFJ1YnkgMi4zLCBhbmQgYXMgZmFyIGFzIEknbSBhd2FyZSB0aGUgcGxhbiB3YXMgaW5p dGlhbGx5IHRvIG1ha2UgaXQgdGhlIGRlZmF1bHQgZm9yIFJ1YnkgMy4wLCBidXQgdGhpcyBwbGFu IHdhcyBhYmFuZG9uZWQgYmVjYXVzZSBpdCB3b3VsZCBiZSB0b28gbXVjaCBvZiBhIGJyZWFraW5n IGNoYW5nZSB3aXRob3V0IGFueSByZWFsIGZ1cnRoZXIgbm90aWNlLg0NCg0NCkFjY29yZGluZyB0 byBNYXR6LCBoZSBzdGlsbCB3aXNoZXMgdG8gZW5hYmxlIGBmcm96ZW5fc3RyaW5nX2xpdGVyYWxg IGJ5IGRlZmF1bHQgaW4gdGhlIGZ1dHVyZSwgYnV0IGEgcmVhc29uYWJsZSBtaWdyYXRpb24gcGxh biBpcyByZXF1aXJlZC4gDQ0KDQ0KVGhlIG1haW4gaXNzdWUgaXMgYmFja3dhcmQgY29tcGF0aWJp bGl0eSwgZmxpcHBpbmcgdGhlIHN3aXRjaCBpbW1lZGlhdGVseSB3b3VsZCBicmVhayBhIGxvdCBv ZiBjb2RlLCBzbyB0aGVyZSBtdXN0IGJlIHNvbWUgZGVwcmVjYXRpb24gcGVyaW9kLg0NCg0NClRo ZSB1c3VhbCB0aGUgcGF0aCBmb3J3YXJkIGZvciB0aGlzIGtpbmQgb2YgY2hhbmdlIGlzIHRvIGVt aXQgZGVwcmVjYXRpb24gd2FybmluZ3Mgb25lIG9mIG11bHRpcGxlIHZlcnNpb25zIGluIGFkdmFu Y2UuDQ0KDQ0KT25lIGV4YW1wbGUgb2YgdGhhdCB3YXMgdGhlIFJ1YnkgMi43IGtleXdvcmQgYXJn dW1lbnQgZGVwcmVjYXRpb24uIEl0IHdhcyBxdWl0ZSB2ZXJib3NlLCBhbmQgc29tZSB1c2VycyB3 ZXJlIGluaXRpYWxseSBhbm5veWVkLCBidXQgSSB0aGluayB0aGUgY29tbXVuaXR5IHB1bGxlZCB0 aHJvdWdoIGl0IGFuZCBJIGRvbid0IHNlZW0gdG8gaGVhciBtdWNoIGFib3V0IGl0IGFueW1vcmUu DQ0KDQ0KU28gZm9yIGZyb3plbiBzdHJpbmcgbGl0ZXJhbHMsIHRoZSBmaXJzdCBzdGVwIHdvdWxk IGJlIHRvIHN0YXJ0IHdhcm5pbmcgd2hlbiBhIHN0cmluZyB0aGF0IHdvdWxkIGJlIGZyb3plbiBp biB0aGUgZnV0dXJlIGlzIG11dGF0ZWQuDQ0KDQ0KIyMjIERlcHJlY2F0aW9uIFdhcm5pbmcgSW1w bGVtZW50YXRpb24NDQoNDQpJIGltcGxlbWVudGVkIGEgcXVpY2sgcHJvb2Ygb2YgY29uY2VwdCB3 aXRoIEBldGllbm5lIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9TaG9waWZ5L3J1YnkvcHVsbC81NDkN DQoNDQpJbiBzaG9ydDoNDQoNDQotIEZpbGVzIHdpdGggYCMgZnJvemVuX3N0cmluZ19saXRlcmFs OiB0cnVlYCBvciBgIyBmcm96ZW5fc3RyaW5nX2xpdGVyYWw6IGZhbHNlYCBkb24ndCBjaGFuZ2Ug aW4gYmVoYXZpb3IgYXQgYWxsLg0NCi0gRmlsZXMgd2l0aCBubyBgIyBmcm96ZW5fc3RyaW5nX2xp dGVyYWxgIGNvbW1lbnQgYXJlIGNvbXBpbGVkIHRvIHVzZSBgcHV0Y2hpbGxlZHN0cmluZ2Agb3Bj b2RlIGluc3RlYWQgb2YgcmVndWxhciBgcHV0c3RyaW5nYC4NDQotIFRoaXMgb3Bjb2RlIG1hcmsg dGhlIHN0cmluZyB3aXRoIGEgdXNlciBmbGFnLCB3aGVuIHRoZXNlIHN0cmluZ3MgYXJlIG11dGF0 ZWQsIGEgd2FybmluZyBpcyBpc3N1ZWQuDQ0KDQ0KQ3VycmVudGx5IHRoZSBwcm9vZiBvZiBjb25j ZXB0IGlzc3VlIHRoZSB3YXJuaW5nIGF0IHRoZSBtdXRhdGlvbiBsb2NhdGlvbiwgd2hpY2ggaW4g c29tZSBjYXNlIGNhbiBtYWtlIGxvY2F0aW5nIHdoZXJlIHRoZSBzdHJpbmcgd2FzIGFsbG9jYXRl ZCBhIGJpdCBoYXJkLg0NCg0NCkJ1dCBpdCBpcyBwb3NzaWJsZSB0byBpbXByb3ZlIGl0IHNvIHRo ZSBtZXNzYWdlIGFsc28gaW5jbHVkZSB0aGUgbG9jYXRpb24gYXQgd2hpY2ggdGhlIGxpdGVyYWwg c3RyaW5nIHdhcyBhbGxvY2F0ZWQsIGFuZCBsZWFybmluZyBmcm9tIHRoZSBrZXl3b3JkIGFyZ3Vt ZW50IHdhcm5pbmcgZXhwZXJpZW5jZSwNDQp3ZSBjYW4gcmVjb3JkIHdoaWNoIHdhcm5pbmdzIHdl cmUgYWxyZWFkeSBpc3N1ZWQgdG8gYXZvaWQgc3BhbW1pbmcgdXNlcnMgd2l0aCBkdXBsaWNhdGVk IHdhcm5pbmdzLg0NCg0NCkFzIGN1cnJlbnRseSBpbXBsZW1lbnRlZCwgdGhlcmUgaXMgYWxtb3N0 IG5vIG92ZXJoZWFkLiBJZiB3ZSBtb2RpZnkgdGhlIGltcGxlbWVudGF0aW9uIHRvIHJlY29yZCB0 aGUgbGl0ZXJhbCBsb2NhdGlvbiwNDQp3ZSdkIGluY3VyIGEgc21hbGwgbWVtb3J5IG92ZXJoZWFk IGZvciBlYWNoIGxpdGVyYWwgc3RyaW5nIGluIGEgZmlsZSB3aXRob3V0IGFuIGV4cGxpY2l0IGBm cm96ZW5fc3RyaW5nX2xpdGVyYWxgIHByYWdtYS4NDQoNDQpCdXQgSSBiZWxpZXZlIHdlIGNvdWxk IGRvIGl0IGluIGEgd2F5IHRoYXQgaGFzIG5vIG92ZXJoZWFkIGlmIGBXYXJuaW5nWzpkZXByZWNh dGVkXSA9IGZhbHNlYC4NDQoNDQojIyMgVGltZWxpbmUNDQoNDQpUaGUgbWlncmF0aW9uIHdvdWxk IGhhcHBlbiBpbiAzIHN0ZXBzLCBlYWNoIHN0ZXAgY2FuIHBvdGVudGlhbGx5IGxhc3QgbXVsdGlw bGUgcmVsZWFzZXMuIGUuZy4gYFIwYCBjb3VsZCBiZSBgMy40YCwgYFIxYCBiZSBgMy43YCBhbmQg YFIyYCBiZSBgNC4wYC4NDQpJIGRvbid0IGhhdmUgYSBzdHJvbmcgb3BpbmlvbiBvbiB0aGUgcGFj ZS4NDQoNDQotIFJlbGVhc2UgYFIwYDogaW50cm9kdWNlIHRoZSBkZXByZWNhdGlvbiB3YXJuaW5n IChvbmx5IGlmIGRlcHJlY2F0aW9uIHdhcm5pbmdzIGVuYWJsZWQpLg0NCi0gUmVsZWFzZSBgUjFg OiBtYWtlIHRoZSBkZXByZWNhdGlvbiB3YXJuaW5nIHNob3cgdXAgcmVnYXJkbGVzcyBvZiB2ZXJi b3NpdHkgbGV2ZWwuDQ0KLSBSZWxlYXNlIGBSMmA6IG1ha2Ugc3RyaW5nIGxpdGVyYWxzIGZyb3pl biBieSBkZWZhdWx0Lg0NCg0NCiMjIyBJbXBhY3QNDQoNDQpHaXZlbiB0aGF0IGBydWJvY29wYCBp cyBxdWl0ZSBwb3B1bGFyIGluIHRoZSBjb21tdW5pdHkgYW5kIGl0IGhhcyBlbmZvcmNlZCB0aGUg dXNhZ2Ugb2YgYCMgZnJvemVuX3N0cmluZ19saXRlcmFsOiB0cnVlYCBmb3IgeWVhcnMgbm93LA0N Ckkgc3VzcGVjdCBhIGxhcmdlIHBhcnQgb2YgdGhlIGFjdGl2ZWx5IG1haW50YWluZWQgY29kZWJh c2VzIGluIHRoZSB3aWxkIHdvdWxkbid0IHNlZSBhbnkgd2FybmluZ3MuDQ0KDQ0KQW5kIHdpdGgg cmVjZW50IHZlcnNpb25zIG9mIGBtaW5pdGVzdGAgZW5hYmxpbmcgZGVwcmVjYXRpb24gd2Fybmlu Z3MgYnkgZGVmYXVsdCAoYW5kIFtwb3RlbnRpYWxseSBSU3BlYyB0b29dKGh0dHBzOi8vZ2l0aHVi LmNvbS9yc3BlYy9yc3BlYy1jb3JlL2lzc3Vlcy8yODY3KSksDQ0KdGhlIGZldyB0aGF0IGRpZG4n dCBtaWdyYXRlIHdpbGwgbGlrZWx5IGJlIG1hZGUgY29tcGF0aWJsZSBxdWlja2x5Lg0NCg0NClRo ZSByZWFsIHByb2JsZW0gb2YgY291cnNlIGFyZSB0aGUgbGVzcyBhY3RpdmVseSBkZXZlbG9wZWQg bGlicmFyaWVzIGFuZCBhcHBsaWNhdGlvbnMuIEZvciBzdWNoIGNhc2VzLCBhbnkgY29kZWJhc2Ug Y2FuIHJlbWFpbiBjb21wYXRpYmxlIGJ5IHNldHRpbmcgYFJVQllPUFQ9Ii0tZGlzYWJsZT1mcm96 ZW5fc3RyaW5nX2xpdGVyYWwiYCwNDQphbmQgc28gZXZlbiBhZnRlciBgUjJgIHJlbGVhc2UuIFRo ZSBmbGFnIHdvdWxkIG5ldmVyIGJlIHJlbW92ZWQgYW55IGxlZ2FjeSBjb2RlYmFzZSBjYW4gY29u dGludWUgdXBncmFkaW5nIFJ1Ynkgd2l0aG91dCBjaGFuZ2luZyBhIHNpbmdsZSBsaW5lIG9mIGNv ZCBieSBqdXN0IGZsaXBwaW5nIHRoaXMgZmxhZy4NDQoNDQojIyMgV29ya2Zsb3cgZm9yIGxpYnJh cnkgbWFpbnRhaW5lcnMNDQoNDQpBcyBhIGxpYnJhcnkgbWFpbnRhaW5lciwgZml4aW5nIHRoZSBk ZXByZWNhdGlvbiB3YXJuaW5ncyBjYW4gYmUgYXMgc2ltcGxlIGFzIHByZXBlbmRpbmcgYCMgZnJv emVuX3N0cmluZ19saXRlcmFsOiBmYWxzZWAgYXQgdGhlIHRvcCBvZiBhbGwgdGhlaXIgc291cmNl IGZpbGVzLCBhbmQgdGhpcyB3aWxsIGtlZXAgd29ya2luZyBmb3JldmVyLg0NCg0NCkFsdGVybmF0 aXZlbHkgdGhleSBjYW4gb2YgY291cnNlIG1ha2UgdGhlaXIgY29kZSBjb21wYXRpYmxlIHdpdGgg ZnJvemVuIHN0cmluZyBsaXRlcmFscy4NDQoNDQpDb2RlIHRoYXQgaXMgZnJvemVuIHN0cmluZyBs aXRlcmFsIGNvbXBhdGlibGUgZG9lc24ndCBuZWVkIHRvIGV4cGxpY2l0bHkgZGVjbGFyZSBpdC4g T25seSBjb2RlIHRoYXQgbmVlZCBpdCB0dXJuZWQgb2YgbmVlZCB0byBkbyBzby4NDQoNDQojIyMg V29ya2Zsb3cgZm9yIGFwcGxpY2F0aW9uIG93bmVycw0NCg0NCkZvciBhcHBsaWNhdGlvbiBvd25l cnMsIHRoZSB3b3JrZmxvdyBpcyB0aGUgc2FtZSB0aGFuIGZvciBsaWJyYXJpZXMuDQ0KDQ0KSG93 ZXZlciBpZiB0aGV5IGRlcGVuZCBvbiBhIGdlbSB0aGF0IGhhc24ndCB1cGRhdGVkLCBvciB0aGF0 IHRoZXkgY2FuJ3QgdXBncmFkZSBpdCwgdGhleSBjYW4gcnVuIHRoZWlyIGFwcGxpY2F0aW9uIHdp dGggYFJVQllPUFQ9Ii0tZGlzYWJsZT1mcm96ZW5fc3RyaW5nX2xpdGVyYWwiYCBhbmQgaXQgd2ls bCBrZWVwIHdvcmtpbmcgZm9yZXZlci4NDQoNDQpBbnkgdXNlciBydW5uaW5nIGludG8gYW4gaW5j b21wYXRpYmlsaXR5IGlzc3VlIGNhbiBzZXQgYFJVQllPUFQ9Ii0tZGlzYWJsZT1mcm96ZW5fc3Ry aW5nX2xpdGVyYWwiYCBmb3JldmVyLCBldmVuIGluIGA0LnhgLCB0aGUgb25seSB0aGluZyBjaGFu Z2luZyBpcyB0aGUgZGVmYXVsdCB2YWx1ZS4NDQoNDQpBbmQgYW55IGFwcGxpY2F0aW9uIGZvciB3 aGljaCBhbGwgZGVwZW5kZW5jaWVzIGhhdmUgYmVlbiBtYWRlIGZ1bGx5IGZyb3plbiBzdHJpbmcg bGl0ZXJhbCBjb21wYXRpYmxlIGNhbiBzZXQgYFJVQllPUFQ9Ii0tZW5hYmxlPWZyb3plbl9zdHJp bmdfbGl0ZXJhbCJgIGFuZCBzdGFydCBpbW1lZGlhdGVseSByZW1vdmluZyBtYWdpYyBjb21tZW50 IGZyb20gdGhlaXIgY29kZWJhc2UuDQ0KDQ0KDQ0KDQ0KDQ0KLS0gDQ0KaHR0cHM6Ly9idWdzLnJ1 YnktbGFuZy5vcmcvDQ0KIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFuZy5v cmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1sLnJ1 YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9yZy9t YWlsbWFuMy9wb3N0b3JpdXMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcv