From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/95713 Path: news.gmane.org!.POSTED!not-for-mail From: Mohammad Hossein Bateni Newsgroups: gmane.comp.tex.context Subject: Re: Changing decimals points to Persian ones via font features Date: Mon, 8 Aug 2016 11:24:40 -0400 Message-ID: References: <18b44f25-0c1d-9923-647d-870ae08bd572@wxs.nl> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3473540496097304816==" X-Trace: blaine.gmane.org 1470669934 9985 195.159.176.226 (8 Aug 2016 15:25:34 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 8 Aug 2016 15:25:34 +0000 (UTC) To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Mon Aug 08 17:25:29 2016 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from zapf.boekplan.nl ([5.39.185.232] helo=zapf.ntg.nl) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bWmQc-00012m-DL for gctc-ntg-context-518@m.gmane.org; Mon, 08 Aug 2016 17:25:22 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 012CE14824; Mon, 8 Aug 2016 17:24:58 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id P8GHaa4ZgaTZ; Mon, 8 Aug 2016 17:24:56 +0200 (CEST) Original-Received: from zapf.ntg.nl (localhost [IPv6:::1]) by zapf.ntg.nl (Postfix) with ESMTP id 763FE14839; Mon, 8 Aug 2016 17:24:56 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 849A91482A for ; Mon, 8 Aug 2016 17:24:55 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gI1hzOLHcI54 for ; Mon, 8 Aug 2016 17:24:54 +0200 (CEST) Original-Received: from mail-oi0-f53.google.com (mail-oi0-f53.google.com [209.85.218.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by zapf.ntg.nl (Postfix) with ESMTPS id 0EBD814824 for ; Mon, 8 Aug 2016 17:24:43 +0200 (CEST) Original-Received: by mail-oi0-f53.google.com with SMTP id f189so176264847oig.3 for ; Mon, 08 Aug 2016 08:24:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=1g52L1tct4KJn/sV1bfECMGgDi9P+xNhZjhPj8wa41w=; b=OdV3zQIDZeLLQvO3FeasxclIqM3KtwLvwRHnxLzVInfsaFXVSjTleKlbzvvbGeJ71p 86Ogf3Z6NVvVl48gXGwGkMK9uh4VHxKKduBGgtq0Kwo2yD+645jHzdvj3R1btAn8PqFW CeW4KZcHivUodD8uPyTkvDtRYbxctnEMyXvH/f2u46eP7Ied2jwfPirv1MWlQp+HizmZ /qJmTnGJm0poEH+J25x2TQjyYDHYxLjMJgMguqz9ZeQEJRH7qus2NW0B0mNmW7bVgClQ tTUCyHOSssvMM0IDha5ZobhcICq6fSm516W6wTt8L2Xykbp14Hh2Ym/dIDYwhqWfqX3x lBvQ== 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:from:date :message-id:subject:to; bh=1g52L1tct4KJn/sV1bfECMGgDi9P+xNhZjhPj8wa41w=; b=M5CgU241D4Kp2RbSoaDd6iCZ7Ks1wNw/IuH6E6pGsfduD+BTQM6G1LQI9SEaUwIEhZ KeCsWCHh6sCryCGGe3hO15tj5CrvCUKfYidoXuciqqij4wcJ9NLP8+1hMDdb08QjOOjh 6GWck4aa+af7VS0JsTxi3wveg5jTfnG2q+ligeh5zvKYyKAPD/IG7o0mUGQXTv1VVlln 1tDVjouYgLZMicW01yUYpq18ghF8NmTXMUU9Fq3LWyz5uFjcky+Jz9cEB+A4XXWG/+FX 7LXEXcPXjE/Dr10xIqgPKPyhVxnAZWRuna5bUT/hQ9+kWsOQiOPWnTGm7Q7W90su15Ie xifw== X-Gm-Message-State: AEkoouvBcmIEaifD3td/9HUfybPeEJ3V+RR6c49+xR2tzY7d9NfDK2Q7nLQFbXhQyNuAlL96LYdI5l+qQvpB1w== X-Received: by 10.202.227.16 with SMTP id a16mr46695380oih.86.1470669881591; Mon, 08 Aug 2016 08:24:41 -0700 (PDT) Original-Received: by 10.157.45.77 with HTTP; Mon, 8 Aug 2016 08:24:40 -0700 (PDT) In-Reply-To: <18b44f25-0c1d-9923-647d-870ae08bd572@wxs.nl> X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.16 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ntg-context-bounces@ntg.nl Original-Sender: "ntg-context" Xref: news.gmane.org gmane.comp.tex.context:95713 Archived-At: --===============3473540496097304816== Content-Type: multipart/alternative; boundary=001a11409494dfcfab0539910388 --001a11409494dfcfab0539910388 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Thanks, Hans! I see; this does work except for the trouble of annotating with \digits macro. Would it be possible if I wrote a processor in Lua to do the work? nodes.tasks.appendaction ("processors", "before", "fix_persian_mathperiod") Can I find out if a node is inside math? If I look at the corresponding font, how can I find out if this is a math font or not? I take it that in math fonts, kerning does not work, either? In my case, the Persian decimal separator usually has a part below the baseline that extends to the left, and because all (Persian) digits are above the baseline, I get an ugly space in the middle. If kerning is not possible at all, I can try to change the dimensions of Persian decimal separator symbol because the kern is always necessary. Is it possible to change the dimensions of the symbol or is that also fixed and unchangeable? Thanks a lot! =E2=80=94MHB On Mon, Aug 8, 2016 at 10:44 AM, Hans Hagen wrote: > On 8/2/2016 9:54 PM, Mohammad Hossein Bateni wrote: > >> Could the problem be because math fonts use mode=3Dbase instead of >> mode=3Dnode? Or is it because in math fonts, the digits and/or full-sto= p >> have different codes? >> > > math fonts are defined and then don't change i.e. they are quite static > and all juggling with individual symbols of sequences is done using > predictable methods > > =E2=80=94MHB >> >> On Mon, Aug 1, 2016 at 9:46 AM, Mohammad Hossein Bateni >> > wrote: >> >> Dear list, >> >> I want to add a customized font feature to the math font, to >> automatically change the decimal point (unicode 0x2E) to the >> Arabic/Farsi version (unicode 0x66B). This will go well with the >> mapping from Latin digits to Farsi digits (done in a sample with >> mathdigits fallback). >> >> For instance, I want to code in $123.45$ and get a result like >> =DB=B1=DB=B2=DB=B3=D9=AB=DB=B4=DB=B5. However, I do not want to sim= ply map 0x2E to 0x66B, because >> then "full stop" outside a number will also change. In particular, >> I'd like to have the mapping only when full-stop is preceded and >> succeeded by a digit. This will, among other things, leave the >> end-of-equation periods unchanged. >> >> Here is how I tried to achieve it. >> >> >> \startluacode >> digits =3D { 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0= x39 >> } >> -- 0x66B instead of 0x2F gives an error! >> replacements =3D { [0x002E] =3D { 0x2F } } >> fonts.handlers.otf.addfeature { >> name =3D "mpf", >> type =3D "chainsubstitution", >> lookups =3D { { >> type =3D "multiple", >> data =3D replacements, >> } }, >> data =3D { >> rules =3D { >> { >> current =3D { { 0x002E } }, >> after =3D { digits }, >> before =3D { digits }, >> lookups =3D { 1 }, >> } >> } >> } >> } >> \stopluacode >> >> \definefontfeature[mathperiod][mpf=3Dyes] >> >> \resetfontfallback [mathdigits] >> %\definefontfallback[mathdigits][dejavusansmono][digitsexten >> dedarabicindic][check=3Dyes,force=3Dyes,offset=3Ddigitsnormal] >> >> \definefontsynonym >> [MathRoman][name:modern][features=3D{math\mathsizesuffix,mathp >> eriod},goodies=3Dlm-math,fallbacks=3Dmathdigits] >> >> \starttext >> $123.45.$ >> >> 123.45. >> >> \addff{mathperiod} >> 123.45. >> \stoptext >> >> >> Though this font feature works outside math, it does not seem to >> have any effect within the math font. Why is that? Can we add font >> feature to the math font? Are the character codes different? >> >> Notice that I could not get it to work, so I commented out the >> fallback for Persian digits, to make things simpler. To get the >> proof of concept, I am trying to change period to forward slash (see >> below). >> >> Is the syntax I use for having two features in \defontfontsynonym >> correct? Actually, I did try with only mathperiod and it does not >> work, either. >> >> When I change 0x2F (slash) to 0x066B in "replacements", I get an >> error as follows. >> >> >> fonts > otf chain > feature 'mpf', type >> 'gsub_contextchain', chain lookup 'mpf': rule 1 matches at char >> U+0002E (period) for (1,1,1) chars, lookuptype 'gsub_multiple' >> >> error: >> ...ext/tex/texmf-context/tex/context/base/mkiv/font-ots.lua:1232: >> attempt to index field '?' (a nil value) >> >> tex error > tex error on line 1 in file >> /Users/bateni/farsitex/context/bostan/examples/mathfa/1.tex: ? >> >> \page ->\par >> \dosingleempty \page_breaks_process >> \strc_pagenumbers_flush_final_page ...\else \page >> >> [\p_strc_pagenumbers_page ... >> \dostoptext ...\strc_pagenumbers_flush_final_page >> \page \the >> \everystoptext ... >> l.1 \dostoptext >> >> \clf_stoptext ->\luafunction \16>>clf_stoptext >> >> l.46 \stoptext >> >> >> >> Best, >> MHB >> >> >> >> >> ____________________________________________________________ >> _______________________ >> If your question is of interest to others as well, please add an entry t= o >> the Wiki! >> >> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/list >> info/ntg-context >> webpage : http://www.pragma-ade.nl / http://tex.aanhet.net >> archive : http://foundry.supelec.fr/projects/contextrev/ >> wiki : http://contextgarden.net >> ____________________________________________________________ >> _______________________ >> >> > > -- > > ----------------------------------------------------------------- > Hans Hagen | PRAGMA ADE > Ridderstraat 27 | 8061 GH Hasselt | The Netherlands > tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl > ----------------------------------------------------------------- > ____________________________________________________________ > _______________________ > If your question is of interest to others as well, please add an entry to > the Wiki! > > maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/list > info/ntg-context > webpage : http://www.pragma-ade.nl / http://tex.aanhet.net > archive : http://foundry.supelec.fr/projects/contextrev/ > wiki : http://contextgarden.net > ____________________________________________________________ > _______________________ > --001a11409494dfcfab0539910388 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Thanks, Hans!=C2=A0

I see; t= his does work except for the trouble of annotating with \digits macro.=C2= =A0 Would it be possible if I wrote a processor in Lua to do the work?
<= /div>

nodes.tasks.appendaction ("processors", = "before", "fix_persian_mathperiod")

<= /div>
Can I find out if a node is inside math?=C2=A0 If I look at the c= orresponding font, how can I find out if this is a math font or not?
<= div>

I take it that in math fonts, kerning doe= s not work, either?=C2=A0 In my case, the Persian decimal separator usually= has a part below the baseline that extends to the left, and because all (P= ersian) digits are above the baseline, I get an ugly space in the middle.= =C2=A0 If kerning is not possible at all, I can try to change the dimension= s of Persian decimal separator symbol because the kern is always necessary.= =C2=A0 Is it possible to change the dimensions of the symbol or is that als= o fixed and unchangeable?

Thanks a lot!
= =E2=80=94MHB



On Mon, Aug 8, 2016 at 10:44 AM, Hans = Hagen <pragma@wxs.nl> wrote:
<= span class=3D"">On 8/2/2016 9:54 PM, Mohammad Hossein Bateni wrote:
Could the problem be because math fonts use mode=3Dbase instead of
mode=3Dnode?=C2=A0 Or is it because in math fonts, the digits and/or full-s= top
have different codes?

math fonts are defined and then don't change i.e. they are quite static= and all juggling with individual symbols of sequences is done using predic= table methods

=E2=80=94MHB

On Mon, Aug 1, 2016 at 9:46 AM, Mohammad Hossein Bateni
<bateni@gmail.com<= /a> <mailto:bateni= @gmail.com>> wrote:

=C2=A0 =C2=A0 Dear list,

=C2=A0 =C2=A0 I want to add a customized font feature to the math font, to<= br> =C2=A0 =C2=A0 automatically change the decimal point (unicode 0x2E) to the<= br> =C2=A0 =C2=A0 Arabic/Farsi version (unicode 0x66B).=C2=A0 This will go well= with the
=C2=A0 =C2=A0 mapping from Latin digits to Farsi digits (done in a sample w= ith
=C2=A0 =C2=A0 mathdigits fallback).

=C2=A0 =C2=A0 For instance, I want to code in $123.45$ and get a result lik= e
=C2=A0 =C2=A0 =DB=B1=DB=B2=DB=B3=D9=AB=DB=B4=DB=B5.=C2=A0 However, I do not= want to simply map 0x2E to 0x66B, because
=C2=A0 =C2=A0 then "full stop" outside a number will also change.= =C2=A0 In particular,
=C2=A0 =C2=A0 I'd like to have the mapping only when full-stop is prece= ded and
=C2=A0 =C2=A0 succeeded by a digit.=C2=A0 This will, among other things, le= ave the
=C2=A0 =C2=A0 end-of-equation periods unchanged.

=C2=A0 =C2=A0 Here is how I tried to achieve it.


=C2=A0 =C2=A0 \startluacode
=C2=A0 =C2=A0 digits =3D { 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, = 0x38, 0x39 }
=C2=A0 =C2=A0 -- 0x66B instead of 0x2F gives an error!
=C2=A0 =C2=A0 replacements =3D { [0x002E] =3D { 0x2F } }
=C2=A0 =C2=A0 fonts.handlers.otf.addfeature {
=C2=A0 =C2=A0 =C2=A0 name =3D "mpf",
=C2=A0 =C2=A0 =C2=A0 type =3D "chainsubstitution",
=C2=A0 =C2=A0 =C2=A0 lookups =3D { {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 type =3D "multiple",
=C2=A0 =C2=A0 =C2=A0 =C2=A0 data =3D replacements,
=C2=A0 =C2=A0 =C2=A0 } },
=C2=A0 =C2=A0 =C2=A0 data =3D {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 rules =3D {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 current =3D { { 0x002E } },
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 after=C2=A0 =C2=A0=3D { digits },=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 before=C2=A0 =3D { digits },
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 lookups =3D { 1 },
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 }
=C2=A0 =C2=A0 \stopluacode

=C2=A0 =C2=A0 \definefontfeature[mathperiod][mpf=3Dyes]

=C2=A0 =C2=A0 \resetfontfallback [mathdigits]
=C2=A0 =C2=A0 %\definefontfallback[mathdigits][dejavusansmono][digitse= xtendedarabicindic][check=3Dyes,force=3Dyes,offset=3Ddigitsnormal= ]

=C2=A0 =C2=A0 \definefontsynonym
=C2=A0 =C2=A0 [MathRoman][name:modern][features=3D{math\mathsizesuffix= ,mathperiod},goodies=3Dlm-math,fallbacks=3Dmathdigits]

=C2=A0 =C2=A0 \starttext
=C2=A0 =C2=A0 $123.45.$

=C2=A0 =C2=A0 123.45.

=C2=A0 =C2=A0 \addff{mathperiod}
=C2=A0 =C2=A0 123.45.
=C2=A0 =C2=A0 \stoptext


=C2=A0 =C2=A0 Though this font feature works outside math, it does not seem= to
=C2=A0 =C2=A0 have any effect within the math font.=C2=A0 Why is that?=C2= =A0 Can we add font
=C2=A0 =C2=A0 feature to the math font?=C2=A0 Are the character codes diffe= rent?

=C2=A0 =C2=A0 Notice that I could not get it to work, so I commented out th= e
=C2=A0 =C2=A0 fallback for Persian digits, to make things simpler.=C2=A0 To= get the
=C2=A0 =C2=A0 proof of concept, I am trying to change period to forward sla= sh (see
=C2=A0 =C2=A0 below).

=C2=A0 =C2=A0 Is the syntax I use for having two features in \defontfontsyn= onym
=C2=A0 =C2=A0 correct?=C2=A0 Actually, I did try with only mathperiod and i= t does not
=C2=A0 =C2=A0 work, either.

=C2=A0 =C2=A0 When I change 0x2F (slash) to 0x066B in "replacements&qu= ot;, I get an
=C2=A0 =C2=A0 error as follows.


=C2=A0 =C2=A0 fonts=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0> otf chain = > feature 'mpf', type
=C2=A0 =C2=A0 'gsub_contextchain', chain lookup 'mpf': rule= 1 matches at char
=C2=A0 =C2=A0 U+0002E (period) for (1,1,1) chars, lookuptype 'gsub_mult= iple'

=C2=A0 =C2=A0 error:
=C2=A0 =C2=A0 ...ext/tex/texmf-context/tex/context/base/mkiv/font-ots.= lua:1232:
=C2=A0 =C2=A0 attempt to index field '?' (a nil value)

=C2=A0 =C2=A0 tex error=C2=A0 =C2=A0 =C2=A0 =C2=A0> tex error on line 1 = in file
=C2=A0 =C2=A0 /Users/bateni/farsitex/context/bostan/examples/mathfa/1.= tex: ?

=C2=A0 =C2=A0 \page ->\par
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0\dosingleempt= y \page_breaks_process
=C2=A0 =C2=A0 \strc_pagenumbers_flush_final_page ...\else \page

=C2=A0 =C2=A0 [\p_strc_pagenumbers_page ...
=C2=A0 =C2=A0 \dostoptext ...\strc_pagenumbers_flush_final_page
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 \page \the
=C2=A0 =C2=A0 \everystoptext ...
=C2=A0 =C2=A0 l.1 \dostoptext

=C2=A0 =C2=A0 \clf_stoptext ->\luafunction \16>>clf_stoptext

=C2=A0 =C2=A0 l.46 \stoptext



=C2=A0 =C2=A0 Best,
=C2=A0 =C2=A0 MHB




_________________________________________________________________= __________________
If your question is of interest to others as well, please add an entry to t= he Wiki!

maillist : ntg-cont= ext@ntg.nl / http://www.ntg.nl/mailman/listin= fo/ntg-context
webpage=C2=A0 : http://www.pragma-ade.nl / http://tex.aanhet.net
archive=C2=A0 : http://foundry.supelec.fr/project= s/contextrev/
wiki=C2=A0 =C2=A0 =C2=A0: http://contextgarden.net
_________________________________________________________________= __________________



--

-----------------------------------------------------------------=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 H= ans Hagen | PRAGMA ADE
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Ridderstraat 27 | 8061 GH = Hasselt | The Netherlands
=C2=A0 =C2=A0 =C2=A0 =C2=A0tel: 038 477 53 69 | www.pragma-ade.nl | www.p= ragma-pod.nl
-----------------------------------------------------------------=
_________________________________________________________________= __________________
If your question is of interest to others as well, please add an entry to t= he Wiki!

maillist : ntg-cont= ext@ntg.nl / http://www.ntg.nl/mailman/listin= fo/ntg-context
webpage=C2=A0 : http://www.pragma-ade.nl / http://tex.aanhet.net
archive=C2=A0 : http://foundry.supelec.fr/project= s/contextrev/
wiki=C2=A0 =C2=A0 =C2=A0: http://contextgarden.net
_________________________________________________________________= __________________

--001a11409494dfcfab0539910388-- --===============3473540496097304816== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSWYgeW91ciBxdWVzdGlvbiBpcyBvZiBpbnRlcmVz dCB0byBvdGhlcnMgYXMgd2VsbCwgcGxlYXNlIGFkZCBhbiBlbnRyeSB0byB0aGUgV2lraSEKCm1h aWxsaXN0IDogbnRnLWNvbnRleHRAbnRnLm5sIC8gaHR0cDovL3d3dy5udGcubmwvbWFpbG1hbi9s aXN0aW5mby9udGctY29udGV4dAp3ZWJwYWdlICA6IGh0dHA6Ly93d3cucHJhZ21hLWFkZS5ubCAv IGh0dHA6Ly90ZXguYWFuaGV0Lm5ldAphcmNoaXZlICA6IGh0dHA6Ly9mb3VuZHJ5LnN1cGVsZWMu ZnIvcHJvamVjdHMvY29udGV4dHJldi8Kd2lraSAgICAgOiBodHRwOi8vY29udGV4dGdhcmRlbi5u ZXQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18= --===============3473540496097304816==--