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 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) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 102BF1F4CC for ; Wed, 8 Jan 2025 00:41:11 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (1024-bit key; unprotected) header.d=ml.ruby-lang.org header.i=@ml.ruby-lang.org header.a=rsa-sha256 header.s=mail header.b=zD6dH5KC; 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=gfdA90g5; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ml.ruby-lang.org; s=mail; t=1736296839; bh=yU2A8RYwENmrMy23X+DaZyfxJlLr3GZo103+4vGfBvs=; 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=zD6dH5KCjhvCdoNLN92w8dWQIch4/pwyJT04FA8tYhLZmgzL2ccSbi1s+t7sBtRNO fR5D4KxABxp9G/VOCCJe8Q1xghu2jhPv1T3dXyJsscMOsID/DdnuJ5FN8nuxHDaaUw qW4ycD9OBeisQV6evItVTlLsXVqTtGFmPTSSm+P4= Received: from nue.mailmanlists.eu (localhost [IPv6:::1]) by nue.mailmanlists.eu (Postfix) with ESMTP id 95E75466D3 for ; Wed, 8 Jan 2025 00:40:39 +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=gfdA90g5; dkim-atps=neutral Received: from s.wfbtzhsw.outbound-mail.sendgrid.net (s.wfbtzhsw.outbound-mail.sendgrid.net [159.183.224.105]) by nue.mailmanlists.eu (Postfix) with ESMTPS id E4D7A466AF for ; Wed, 8 Jan 2025 00:40:33 +0000 (UTC) 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=qUPtfqps7Uxa7o/WQoYYSwh9uUyvFhnKKlg1N5p6ftM=; b=gfdA90g5z9dmGiYq2wI/Wu01+VApTJbyyBXVOAwn8e660GflxBl6FSd8hR4snBWTBfV0 6cUaKu71QkPMOKaF3BNI55T90/T4TujADUVEeUvRdt+KdAT4GvOVbWt9X2QvRp+6yRsk9C GPe6PXangpWIduUec07L8K1PQZjmkqPtAHpY/CTkAeI0/K0zFnz3x4Zqp4b4t5t5NONe9b Tgf4gZ89X9GOf4GDV7LYBA3XmMTSB+bnZWfe8H6BTi0NaxLhMpCFsJ8j+EWU+LtEM5OsX2 RFlZifwh4DDCx3YU3TSCNpODLY7W0I2mKGBuitE7vrVuzzuTNsU8tbC3QIyzxUAg== Received: by recvd-5f54b5d587-cctnx with SMTP id recvd-5f54b5d587-cctnx-1-677DC980-19 2025-01-08 00:40:32.554301525 +0000 UTC m=+4677497.057421701 Received: from herokuapp.com (unknown) by geopod-ismtpd-7 (SG) with ESMTP id amucJtHuQkit3vn-Ewwxig for ; Wed, 08 Jan 2025 00:40:32.473 +0000 (UTC) Date: Wed, 08 Jan 2025 00:40:32 +0000 (UTC) Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 21005 X-Redmine-Issue-Author: bkuhlmann X-Redmine-Issue-Priority: Normal X-Redmine-Sender: tenderlovemaking 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: 97216 X-SG-EID: =?us-ascii?Q?u001=2ElWMe69GVkz6xHw8adpMU6eTKSGZqJ7+E1FrjckpA7cvWAPDyDX2cAv9Do?= =?us-ascii?Q?wZtGRg2vsYQLU1U4jx+ljWd9jTs=2FpZn02mllaZG?= =?us-ascii?Q?4g2CkB4nYTAB26iHN+mRuRS4ZAudaTfxVmV7rpw?= =?us-ascii?Q?n2HxgoLe3CZ4XeVoTmrNVacNvzK6nkFPucTzzyN?= =?us-ascii?Q?x2BuwZ6JDKgpoMk6JktTvoXf7cXEp=2FeoaCEPsGE?= =?us-ascii?Q?o+vU6wh+DEkbrnX4bQFpc6lZ8Ad3n=2FUHuMtPFYD?= =?us-ascii?Q?NJmyaiPAT5LyO4VhYBT77gs43w=3D=3D?= To: ruby-core@ml.ruby-lang.org X-Entity-ID: u001.I8uzylDtAfgbeCOeLBYDww== Message-ID-Hash: QL45JCFXTGFUSVXKOWVJFK3JWONFTBB7 X-Message-ID-Hash: QL45JCFXTGFUSVXKOWVJFK3JWONFTBB7 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.9 Precedence: list Reply-To: Ruby developers Subject: [ruby-core:120540] [Ruby master Feature#21005] Update the source location method to include line start/stop and column start/stop details List-Id: Ruby developers Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: "tenderlovemaking (Aaron Patterson) via ruby-core" Cc: "tenderlovemaking (Aaron Patterson)" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SXNzdWUgIzIxMDA1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgdGVuZGVybG92ZW1ha2luZyAoQWFyb24g UGF0dGVyc29uKS4NCg0KDQpJdCBzZWVtcyBsaWtlIGEgdmVyeSBzaW1pbGFyIHNvbHV0aW9uIHRv IHdoYXQgQG1hbWUgaXMgcHJvcG9zaW5nIHdhcyBtZXJnZWQgYXQgb25lIHBvaW50IGFzIEZlYXR1 cmUgIzE0ODM2LiAgSXQgc2VlbXMgYFJ1YnlWTTo6QVNUYCBkb2Vzbid0IGV4aXN0IGFueW1vcmUs IGJ1dCBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8gZG8gc29tZXRoaW5nIHNpbWlsYXIuDQoNCkZv ciBleGFtcGxlLCB0aGlzIGNvZGUgX3Nob3VsZF8gd29yazoNCg0KYGBgcnVieQ0KZiA9IHByb2Mg eyA8PEVORCB9DQogIGhlcmVkb2MNCkVORA0KDQppc2VxID0gUnVieVZNOjpJbnN0cnVjdGlvblNl cXVlbmNlLm9mKGYpDQoNCnJlcXVpcmUgInByaXNtIg0KDQpub2RlX2lkID0gaXNlcS50b19hWzRd Wzpub2RlX2lkXQ0KDQphc3QgPSBQcmlzbS5wYXJzZShGaWxlLmJpbnJlYWQoX19GSUxFX18pKQ0K cCBhc3QudmFsdWUuYnJlYWR0aF9maXJzdF9zZWFyY2ggeyB8bm9kZXwgbm9kZS5ub2RlX2lkID09 IG5vZGVfaWQgfQ0KYGBgDQoNCkl0IGRvZXMgbm90IGN1cnJlbnRseSB3b3JrIGR1ZSB0byBhIGJ1 ZyBpbiBQcmlzbSwgYnV0IEknbSB0cnlpbmcgdG8gYWRkcmVzcyB0aGF0IGluICMyMTAxNA0KDQot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMyMTAwNTog VXBkYXRlIHRoZSBzb3VyY2UgbG9jYXRpb24gbWV0aG9kIHRvIGluY2x1ZGUgbGluZSBzdGFydC9z dG9wIGFuZCBjb2x1bW4gc3RhcnQvc3RvcCBkZXRhaWxzDQpodHRwczovL2J1Z3MucnVieS1sYW5n Lm9yZy9pc3N1ZXMvMjEwMDUjY2hhbmdlLTExMTM0Mw0KDQoqIEF1dGhvcjogYmt1aGxtYW5uIChC cm9va2UgS3VobG1hbm4pDQoqIFN0YXR1czogT3Blbg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KIyMgV2h5DQoNCvCfkYsgSGVsbG8uIEFmdGVyIGRpc2N1c3Npbmcg d2l0aCBLZXZpbiBOZXd0b24gYW5kIEJlbm9pdCBEYWxvemUgaW4gW0ZlYXR1cmUgMjA5OTldKGh0 dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8yMDk5OSksIEknZCBsaWtlIHRvIHByb3Bv c2UgYWRkaW5nIGxpbmUgc3RhcnQvc3RvcCBhbmQgY29sdW1uIHN0YXJ0L3N0b3AgaW5mb3JtYXRp b24gdG8gdGhlIGAjc291cmNlX2xvY2F0aW9uYCBtZXRob2QgZm9yIHRoZSBmb2xsb3dpbmcgb2Jq ZWN0czoNCg0KLSBbQmluZGluZ10oaHR0cHM6Ly9kb2NzLnJ1YnktbGFuZy5vcmcvZW4vbWFzdGVy L0JpbmRpbmcuaHRtbCkNCi0gW1Byb2NdKGh0dHBzOi8vZG9jcy5ydWJ5LWxhbmcub3JnL2VuL21h c3Rlci9Qcm9jLmh0bWwpDQotIFtNZXRob2RdKGh0dHBzOi8vZG9jcy5ydWJ5LWxhbmcub3JnL2Vu L21hc3Rlci9NZXRob2QuaHRtbCkNCi0gW1VuYm91bmRNZXRob2RdKGh0dHBzOi8vZG9jcy5ydWJ5 LWxhbmcub3JnL2VuL21hc3Rlci9VbmJvdW5kTWV0aG9kLmh0bWwpDQoNCkF0IHRoZSBtb21lbnQs IHdoZW4gdXNpbmcgYCNzb3VyY2VfbG9jYXRpb25gLCB5b3Ugb25seSBnZXQgdGhlIGZvbGxvd2lu ZyBpbmZvcm1hdGlvbjoNCg0KYGBgIHJ1YnkNCmRlZiBkZW1vID0gIkEgZGVtb25zdHJhdGlvbi4i DQoNCiMgRnJvbSBkaXNrLg0KbWV0aG9kKDpkZW1vKS5zb3VyY2VfbG9jYXRpb24gICMgWyIvVXNl cnMvYmt1aGxtYW5uL0VuZ2luZWVyaW5nL01pc2MvZGVtbyIsIDE1XQ0KDQojIEZyb20gbWVtb3J5 Lg0KbWV0aG9kKDpkZW1vKS5zb3VyY2VfbG9jYXRpb24gICMgWyIoaXJiKSIsIDNdDQpgYGANCg0K Tm90aWNlLCB3aGVuIGFza2luZyBmb3IgdGhlIHNvdXJjZSBsb2NhdGlvbiwgd2Ugb25seSBnZXQg dGhlIHBhdGgvbG9jYXRpb24gYXMgdGhlIGZpcnN0IGVsZW1lbnQgYW5kIHRoZSBsaW5lIG51bWJl ciBhcyB0aGUgc2Vjb25kIGVsZW1lbnQgYnV0IEknZCBsaWtlIHRvIG9idGFpbiBhIG11Y2ggcmlj aGVyIHNldCBvZiBkYXRhIHdoaWNoIGluY2x1ZGVzIGxpbmUgc3RhcnQvc3RvcCBhbmQgY29sdW1u IHN0YXJ0L3N0b3Agc28gSSBjYW4gYXZvaWQgbGVhbmluZyBvbiB0aGUgYFJ1YnlWTWAgZm9yIHRo aXMgaW5mb3JtYXRpb24uIEV4YW1wbGU6DQoNCmBgYCBydWJ5DQpkZWYgZGVtbyA9ICJBIGRlbW9u c3RyYXRpb24uIg0KDQojIEZyb20gZGlzay4NCmluc3RydWN0aW9ucyA9IFJ1YnlWTTo6SW5zdHJ1 Y3Rpb25TZXF1ZW5jZS5vZiBtZXRob2QoOmRlbW8pDQpwdXRzIFtpbnN0cnVjdGlvbnMuYWJzb2x1 dGVfcGF0aCwgKmluc3RydWN0aW9ucy50b19hLmRpZyg0LCA6Y29kZV9sb2NhdGlvbildDQoNClsN CiAgIi9Vc2Vycy9ia3VobG1hbm4vRW5naW5lZXJpbmcvTWlzYy9kZW1vIiwgICMgU291cmNlIHBh dGguDQogIDE1LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIExpbmUg c3RhcnQuDQogIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENv bHVtbiBzdGFydC4NCiAgMTUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICMgTGluZSBzdG9wLg0KICAyOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIyBDb2x1bW4gc3RvcC4NCl0NCg0KIyBGcm9tIG1lbW9yeS4NCmluc3RydWN0aW9ucyA9IFJ1 YnlWTTo6SW5zdHJ1Y3Rpb25TZXF1ZW5jZS5vZiBtZXRob2QoOmRlbW8pDQpwdXRzIGluc3RydWN0 aW9ucy5zY3JpcHRfbGluZXMNCg0KWw0KICAiZGVmIGRlbW8gPSBcIkEgZGVtb25zdHJhdGlvbi5c IlxuIiwNCiAgIiINCl0NCmBgYA0KDQpCeSBoYXZpbmcgYWNjZXNzIHRvIHRoZSBwYXRoIChvciBs YWNrIHRoZXJlb2YgaW4gY2FzZSBvZiBJUkIpLCBsaW5lIHN0YXJ0L3N0b3AsIGFuZCBjb2x1bW4g c3RhcnQvc3RvcCwgdGhpcyBtZWFucyB3ZSBjb3VsZCBhdm9pZCB1c2luZyB0aGUgUnVieVZNIHRv IG9idGFpbiByYXcgc291cmNlIGNvZGUgZm9yIGFueSBvZiB0aGVzZSBvYmplY3RzLiBUaGlzIHdv dWxkIG5vdCBvbmx5IGVuaGFuY2UgZGVidWdnaW5nIHNpdHVhdGlvbnMgYnV0IGFsc28gaW1wcm92 ZSBEb21haW4gU3BlY2lmaWMgTGFuZ3VhZ2VzIHRoYXQgd2lzaCB0byBsZXZlcmFnZSB0aGlzIGlu Zm9ybWF0aW9uIGZvciBpbnRyb2R1Y2luZyBuZXcgZmVhdHVyZXMgYW5kL29yIG5ldyBkZWJ1Z2dp bmcgY2FwYWJpbGl0aWVzIHRvIHRoZSBsYW5ndWFnZS4NCg0KIyMgSG93DQoNCkJ1aWxkaW5nIHVw b24gdGhlIGV4YW1wbGVzIHByb3ZpZGVkIGFib3ZlLCBJJ2QgbGlrZSB0byBzZWUgYEJpbmRpbmdg LCBgUHJvY2AsIGBNZXRob2RgLCBhbmQgYFVuYm91bmRNZXRob2RgIHJlc3BvbmQgdG8gYCNzb3Vy Y2VfbG9jYXRpb25gIGFzIGZvbGxvd3M6DQoNCmBgYCBydWJ5DQpbDQogICIvVXNlcnMvYmt1aGxt YW5uL0VuZ2luZWVyaW5nL01pc2MvZGVtbyIsICAjIFNvdXJjZSBwYXRoLg0KICAxNSwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBMaW5lIHN0YXJ0Lg0KICAxNSwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBMaW5lIHN0b3AuDQogIDAsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENvbHVtbiBzdGFydC4NCiAg MjkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ29sdW1uIHN0b3Au DQpdDQpgYGANCg0KTm90aWNlLCBmb3IgZGF0YSBncm91cGluZyBwdXJwb3NlcywgSSBjaGFuZ2Vk IHRoZSBhcnJheSBzdHJ1Y3R1cmUgdG8gYWx3YXlzIHN0YXJ0IHdpdGggdGhlIHBhdGggYXMgdGhl IGZpcnN0IGVsZW1lbnQsIGZvbGxvd2VkIGJ5IGxpbmUgaW5mb3JtYXRpb24sIGFuZCBlbmRpbmcg d2l0aCBjb2x1bW4gaW5mb3JtYXRpb24uIEFsdGVybmF0aXZlbHksIGl0IGNvdWxkIG1pZ2h0IGJl IG5pY2UgdG8gaW1wcm92ZSB1cG9uIHRoZSBhYm92ZSBieSBhbnN3ZXJpbmcgYSBoYXNoIGVhY2gg dGltZSwgaW5zdGVhZCwgZm9yIGEgbW9yZSBzZWxmLWRlc2NyaWJpbmcgZGF0YSBzdHJ1Y3R1cmUu IEV4YW1wbGU6DQoNCmBgYCBydWJ5DQp7DQogIHBhdGg6ICIvVXNlcnMvYmt1aGxtYW5uL0VuZ2lu ZWVyaW5nL01pc2MvZGVtbyIsDQogIGxpbmVfc3RhcnQ6IDE1LA0KICBsaW5lX3N0b3A6IDE1LA0K ICBjb2x1bW5fc3RhcnQ6IDAsDQogIGNvbHVtbl9zdG9wOiAyOQ0KfQ0KYGBgDQoNCkZvciBpbi1t ZW1vcnksIHNpdHVhdGlvbnMgbGlrZSBJUkIsIGl0IHdvdWxkIGJlIG5pY2UgdG8gYW5zd2VyIHRo ZSBlcXVpdmFsZW50IG9mIGBSdWJ5Vk06Okluc3RydWN0aW9uU2VxdWVuY2Ujc2NyaXB0X2xpbmVz YCB3aGljaCB3b3VsZCBhbHdheXMgYmUgYW4gYEFycmF5YCB3aXRoIG5vIGxpbmUgb3IgY29sdW1u IGluZm9ybWF0aW9uIHNpbmNlIG9ubHkgdGhlIHNvdXJjZSBjb2RlIGlzIG5lY2Vzc2FyeS4gRXhh bXBsZToNCg0KYGBgIHJ1YnkNClsNCiAgImRlZiBkZW1vID0gXCJBIGRlbW9uc3RyYXRpb24uXCJc biIsDQogICIiDQpdDQpgYGANCg0KRnJvbSBhIHBhdHRlcm4gbWF0Y2hpbmcgcGVyc3BlY3RpdmUs IHRoaXMgY291bGQgcHJvdmlkZSB0aGUgYmVzdCBvZiBib3RoIHdvcmxkcyBlc3BlY2lhbGx5IGlm IGluZm9ybWF0aW9uIGlzIGFuc3dlcmVkIGFzIGVpdGhlciBhIGBIYXNoYCBvciBhbmQgYEFycmF5 YC4gRXhhbXBsZToNCg0KYGBgIA0KZGVmIGRlbW8gPSAiQSBkZW1vbnN0cmF0aW9uLiINCg0KY2Fz ZSBtZXRob2QoOmRlbW8pLnNvdXJjZV9sb2NhdGlvbg0KICBpbiBIYXNoIHRoZW4gcHV0cyAiU291 cmNlIGluZm9ybWF0aW9uIG9idGFpbmVkIGZyb20gZGlzay4iDQogIGluIEFycmF5IHRoZW4gcHV0 cyAiU291cmNlIG9idGFpbmVkIGZyb20gbWVtb3J5LiINCiAgZWxzZSBmYWlsIFR5cGVFcnJvciwg IlVucmVjb2duaXplZCBzb3VyY2UgbG9jYXRpb24gdHlwZS4iDQplbmQNCmBgYA0KDQpUaGlzIGFi b3ZlIGlzIG9ubHkgYSBzaW1wbGUgZXhhbXBsZSBidXQgdGhlcmUncyBhIGxvdCB3ZSBjb3VsZCBk byB3aXRoIHRoaXMgaW5mb3JtYXRpb24gaWYgdGhlIGFib3ZlIHBhdHRlcm4gbWF0Y2ggd2FzIGVu aGFuY2VkIHRvIGRlYWwgd2l0aCB0aGUgZXh0cmFjdGlvbiBhbmQgZm9ybWF0dGluZyBvZiB0aGUg YWN0dWFsIHNvdXJjZSBjb2RlIQ0KDQojIyBOb3Rlcw0KDQpUaGlzIGZlYXR1cmUgcmVxdWVzdCBp cyByZWxhdGVkIHRvIHRoZSBmb2xsb3dpbmcgZGlzY3Vzc2lvbnMgaW4gY2FzZSBtb3JlIGNvbnRl eHQgaXMgb2YgaGVscDoNCg0KLSBbRmVhdHVyZSA2MDEyXShodHRwczovL2J1Z3MucnVieS1sYW5n Lm9yZy9pc3N1ZXMvNjAxMikNCi0gW0ZlYXR1cmUgMjA5OTldKGh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnL2lzc3Vlcy8yMDk5OSkNCg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5n Lm9yZy8NCiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBy dWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1 bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcu b3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMv bGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcv