From adamnt42 at gmail.com Sun Oct 1 05:23:02 2023 From: adamnt42 at gmail.com (BB) Date: Sun, 1 Oct 2023 13:53:02 +1030 Subject: [Gambas-user] Concatenate two path strings Message-ID: <9e4c4358-e619-2fe1-00f8-b7f82deb455d@gmail.com> I have two strings representing a "base" path and a "relative" path, so that, for instance ??? basepath = "/home/me/ahab/bhab" ' or sometimes "/home/me/ahab/bhab/" ??? relpath = "../../img/etc" ' or sometimes "img/etc" or "/img/etc" or ./img/etc" or anything else that the user has constructed the relative path as I know I can get a full path just by concatenting using &/ i.e. ??? fullpath = basepath &/ relpath which seems to work but results often in a crazy looking path. Short of manually parsing the basepath and relpath variables into some sort of standard using a lot of ifs, is there a simple Gambas way of getting the proper path string? I can't find one. Or even a external call to something that could resolve this. Strangely in all my years of using Gambas I have never had this need before. tia bruce From t.lee.davidson at gmail.com Sun Oct 1 06:31:05 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 1 Oct 2023 00:31:05 -0400 Subject: [Gambas-user] Concatenate two path strings In-Reply-To: <9e4c4358-e619-2fe1-00f8-b7f82deb455d@gmail.com> References: <9e4c4358-e619-2fe1-00f8-b7f82deb455d@gmail.com> Message-ID: <564ed559-6568-4306-bf33-fcf413240262@gmail.com> On 9/30/23 23:23, BB wrote: > I have two strings representing a "base" path and a "relative" path, so that, for instance > ??? basepath = "/home/me/ahab/bhab" ' or sometimes "/home/me/ahab/bhab/" > ??? relpath = "../../img/etc" ' or sometimes "img/etc" or "/img/etc" or ./img/etc" or anything else that the user has > constructed the relative path as > > I know I can get a full path just by concatenting using &/ i.e. > ??? fullpath = basepath &/ relpath > > which seems to work but results often in a crazy looking path. Short of manually parsing the basepath and relpath variables into > some sort of standard using a lot of ifs, is there a simple Gambas way of getting the proper path string? I can't find one. > > Or even a external call to something that could resolve this. Strangely in all my years of using Gambas I have never had this > need before. > > tia > > bruce You simplified the problem description again, right? ;-) Perhaps 'realpath' might help you normalize the relative path at the point of input: [code] Public Sub main() Dim sRealPath As String Dim sUserInput As String = "../../img/etc" Exec ["realpath", sUserInput] To sRealPath With Error If InStr(sRealPath, "No such file or directory") Then Print "Bad user. Bad, bad user!" Quit Endif Print sRealPath End [/code] BTW, the two basepaths you mentioned appear to be the same. And, "/img/etc" is not a relative path. So, if a user might enter an absolute path for a relative path, you might want to check for that and strip it off first thing. -- Lee From adamnt42 at gmail.com Sun Oct 1 06:53:22 2023 From: adamnt42 at gmail.com (BB) Date: Sun, 1 Oct 2023 15:23:22 +1030 Subject: [Gambas-user] Concatenate two path strings In-Reply-To: <564ed559-6568-4306-bf33-fcf413240262@gmail.com> References: <9e4c4358-e619-2fe1-00f8-b7f82deb455d@gmail.com> <564ed559-6568-4306-bf33-fcf413240262@gmail.com> Message-ID: <0431a838-d533-9a4b-f88d-3576a1d133cf@gmail.com> On 1/10/23 3:01 pm, T Lee Davidson wrote: > On 9/30/23 23:23, BB wrote: >> I have two strings representing a "base" path and a "relative" path, >> so that, for instance >> ???? basepath = "/home/me/ahab/bhab" ' or sometimes >> "/home/me/ahab/bhab/" >> ???? relpath = "../../img/etc" ' or sometimes "img/etc" or "/img/etc" >> or ./img/etc" or anything else that the user has constructed the >> relative path as >> >> I know I can get a full path just by concatenting using &/ i.e. >> ???? fullpath = basepath &/ relpath >> >> which seems to work but results often in a crazy looking path. Short >> of manually parsing the basepath and relpath variables into some sort >> of standard using a lot of ifs, is there a simple Gambas way of >> getting the proper path string? I can't find one. >> >> Or even a external call to something that could resolve this. >> Strangely in all my years of using Gambas I have never had this need >> before. >> >> tia >> >> bruce > > You simplified the problem description again, right? ;-) Didn't think so? I have two strings that are supposed to represent exactly a base and a relative path, but they are just strings at the moment.? I need to concatenate them to produce a string that represents a real path > > Perhaps 'realpath' might help you normalize the relative path at the > point of input: This is the "good oil"! Thanks. > [code] > Public Sub main() > > ? Dim sRealPath As String > ? Dim sUserInput As String = "../../img/etc" > > ? Exec ["realpath", sUserInput] To sRealPath With Error > ? If InStr(sRealPath, "No such file or directory") Then > ??? Print "Bad user. Bad, bad user!" > ??? Quit > ? Endif > ? Print sRealPath > > End > [/code] > > BTW, the two basepaths you mentioned appear to be the same. No, in the second the sneaky bugger put a "/" on the end. They may be equivalent paths but they are different strings. > And, "/img/etc" is not a relative path. So, if a user might enter an > absolute path for a relative path, you might want to check for that > and strip it off first thing. Good point! I haven't encountered this input before but it is a good pre-emptive strike. Might be a bit tricky though, I'll have to be careful. (No, on reflection, if they meant an absolute path they are guilty of a transgression and I have no problem with the old 300kV to the keyboard solution.) ty bruce From benoit.minisini at gambas-basic.org Sun Oct 1 09:24:17 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 1 Oct 2023 09:24:17 +0200 Subject: [Gambas-user] More speed for you Message-ID: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> Hi, Today is the Solemnity of Our Lady of the Rosary, so here is a little gift: a big optimization of the interpreter in the last commit. You can see the result on the wiki in the benchmark page: https://gambaswiki.org/edit/doc/benchmark Now Gambas beats the latest version of Python, Perl and OpenJDK Java in all benchmark but one. If someone could port the benchmarks to Ruby, maybe we would be able to claim Gambas to be the fastest full-featured interpreter on the galaxy? :-) Beware: this is fresh code, so you may encounter crashes. As usual, report any problem. Enjoy! -- Beno?t Minisini. From lordheavym at gmail.com Sun Oct 1 09:37:50 2023 From: lordheavym at gmail.com (Laurent Carlier) Date: Sun, 01 Oct 2023 09:37:50 +0200 Subject: [Gambas-user] More speed for you In-Reply-To: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> Message-ID: <8277153.T7Z3S40VBb@lordh-pc> Le dimanche 1 octobre 2023, 09:24:17 CEST Beno?t Minisini a ?crit : > Hi, > > Today is the Solemnity of Our Lady of the Rosary, so here is a little > gift: a big optimization of the interpreter in the last commit. > > You can see the result on the wiki in the benchmark page: > https://gambaswiki.org/edit/doc/benchmark > > Now Gambas beats the latest version of Python, Perl and OpenJDK Java in > all benchmark but one. > > If someone could port the benchmarks to Ruby, maybe we would be able to > claim Gambas to be the fastest full-featured interpreter on the galaxy? :-) > > Beware: this is fresh code, so you may encounter crashes. As usual, > report any problem. > > Enjoy! Wow ! congrats :) How did you succeed on this awesome result ? Maybe some "behind-the-scene" details ? Thanks for this great piece of code ! ++ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: This is a digitally signed message part. URL: From mbelmonte at belmotek.net Sun Oct 1 10:55:25 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Sun, 1 Oct 2023 10:55:25 +0200 Subject: [Gambas-user] More speed for you In-Reply-To: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> Message-ID: <426345e2-45bb-4909-89b1-da97fdc1975c@belmotek.net> El 1/10/23 a las 09:24, Beno?t Minisini escribi?: > Hi, > > Today is the Solemnity of Our Lady of the Rosary, so here is a little > gift: a big optimization of the interpreter in the last commit. > > You can see the result on the wiki in the benchmark page: > https://gambaswiki.org/edit/doc/benchmark > > Now Gambas beats the latest version of Python, Perl and OpenJDK Java > in all benchmark but one. > > If someone could port the benchmarks to Ruby, maybe we would be able > to claim Gambas to be the fastest full-featured interpreter on the > galaxy? :-) > > Beware: this is fresh code, so you may encounter crashes. As usual, > report any problem. > > Enjoy! > Hi Beno?t. Thanks for offer to the public this wonderful tool. Mart?n. From isafiur at gmail.com Sun Oct 1 16:08:36 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Sun, 1 Oct 2023 19:53:36 +0545 Subject: [Gambas-user] Empty ComboBox are filled while scrolling mouse without key press (gb.qt5) Message-ID: Hi On scrolling the empty comboBox (ReadOnly = False ) are filled with texts without any key press. How can I control this? Please provide me a workaround to control this problem. Using gb.qt5 in Ubuntu 22.04 using gambas stable PPA Please check this video http://safiur.com.np/gambas/combobox.webm Attached a project. -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: qtscroll.zip Type: application/zip Size: 16134 bytes Desc: not available URL: From gradobag at gradobag.it Sun Oct 1 16:28:10 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sun, 1 Oct 2023 16:28:10 +0200 Subject: [Gambas-user] Empty ComboBox are filled while scrolling mouse without key press (gb.qt5) In-Reply-To: References: Message-ID: <8b69eeea-1711-b928-9ea9-cf29da2e8bb6@gradobag.it> Il 01/10/23 16:08, Safiur Rahman ha scritto: > Hi > > On scrolling? the empty comboBox (ReadOnly = False ) are filled with > texts without any key press. How can I control this? Please provide me > a workaround to control this problem. > Using gb.qt5 in Ubuntu 22.04 using gambas stable PPA > > Please check this video > http://safiur.com.np/gambas/combobox.webm > > Attached a project. > > -- > Regards > Safiur Rahman > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- Here with the master version it works well with both GTK and QT. Maybe you could work around this by putting an empty string at the beginning (Private aList As String[] = ["", "aa", "bb", "cc", "dd", "ee"]) Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From isafiur at gmail.com Sun Oct 1 17:14:04 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Sun, 1 Oct 2023 20:59:04 +0545 Subject: [Gambas-user] Empty ComboBox are filled while scrolling mouse without key press (gb.qt5) In-Reply-To: References: Message-ID: Hi Gianluigi Putting an empty string at the beginning (Private aList As String[] = ["", "aa", "bb", "cc", "dd", "ee"] didn't work. I have not tested with master version yet On Sun, Oct 1, 2023 at 7:53?PM Safiur Rahman wrote: > Hi > > On scrolling the empty comboBox (ReadOnly = False ) are filled with texts > without any key press. How can I control this? Please provide me a > workaround to control this problem. > Using gb.qt5 in Ubuntu 22.04 using gambas stable PPA > > Please check this video > http://safiur.com.np/gambas/combobox.webm > > Attached a project. > > -- > Regards > Safiur Rahman > -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: From isafiur at gmail.com Sun Oct 1 17:26:22 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Sun, 1 Oct 2023 21:11:22 +0545 Subject: [Gambas-user] Empty ComboBox are filled while scrolling mouse without key press (gb.qt5) In-Reply-To: References: Message-ID: The problem is same with master version also. This is not a bug. All I want is to disable item selection in combobox with mouse wheel scroll. When I just scroll mouse wheel the combobox are randomly filled. Is there any way to disable filling of combobox with scroll of mouse wheel? On Sun, Oct 1, 2023 at 8:59?PM Safiur Rahman wrote: > Hi Gianluigi > > Putting an empty string at the beginning > > (Private aList As String[] = ["", "aa", "bb", "cc", "dd", "ee"] > > didn't work. I have not tested with master version yet > > > On Sun, Oct 1, 2023 at 7:53?PM Safiur Rahman wrote: > >> Hi >> >> On scrolling the empty comboBox (ReadOnly = False ) are filled with >> texts without any key press. How can I control this? Please provide me a >> workaround to control this problem. >> Using gb.qt5 in Ubuntu 22.04 using gambas stable PPA >> >> Please check this video >> http://safiur.com.np/gambas/combobox.webm >> >> Attached a project. >> >> -- >> Regards >> Safiur Rahman >> > > > -- > Regards > Safiur Rahman > -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Sun Oct 1 18:30:20 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sun, 1 Oct 2023 18:30:20 +0200 Subject: [Gambas-user] Empty ComboBox are filled while scrolling mouse without key press (gb.qt5) In-Reply-To: References: Message-ID: <60f56c6e-ea7f-48a4-4b6c-16bca8e79121@gradobag.it> Il 01/10/23 17:26, Safiur Rahman ha scritto: > The problem is same with master version also. > > This is not a bug. All I want is to disable item selection in combobox > with mouse wheel scroll. When I just scroll mouse wheel the combobox > are randomly filled. > Is there any way to disable filling of combobox with scroll of mouse > wheel? Hi, Private aList As String[] = ["aa", "bb", "cc", "dd", "ee"] Private aComboBox As New Object[50] Public Sub Form_Open() ? Dim i As Integer ? For i = 0 To 20 ??? aComboBox[i] = New ComboBox(Panel1) As "Foo" ? Next ? ShowControls() End Private Sub ShowControls() ? Dim i As Integer ? For i = 0 To 20 ??? With aComboBox[i] ????? .X = 0 ????? .Y = 30 * i ????? .Width = 50 ????? .Height = 25 ????? .List = aList ??? End With ? Next End Public Sub Foo_MouseWheel() ? If Mouse.Delta Then Last.text = "" End Regards Gianluigi From isafiur at gmail.com Sun Oct 1 18:43:27 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Sun, 1 Oct 2023 22:28:27 +0545 Subject: [Gambas-user] Empty ComboBox are filled while scrolling mouse without key press (gb.qt5) In-Reply-To: References: Message-ID: Hi Gianluigi Thank you very much for your response. It worked perfectly. On Sun, Oct 1, 2023 at 9:11?PM Safiur Rahman wrote: > The problem is same with master version also. > > This is not a bug. All I want is to disable item selection in combobox > with mouse wheel scroll. When I just scroll mouse wheel the combobox are > randomly filled. > Is there any way to disable filling of combobox with scroll of mouse wheel? > > On Sun, Oct 1, 2023 at 8:59?PM Safiur Rahman wrote: > >> Hi Gianluigi >> >> Putting an empty string at the beginning >> >> (Private aList As String[] = ["", "aa", "bb", "cc", "dd", "ee"] >> >> didn't work. I have not tested with master version yet >> >> >> On Sun, Oct 1, 2023 at 7:53?PM Safiur Rahman wrote: >> >>> Hi >>> >>> On scrolling the empty comboBox (ReadOnly = False ) are filled with >>> texts without any key press. How can I control this? Please provide me a >>> workaround to control this problem. >>> Using gb.qt5 in Ubuntu 22.04 using gambas stable PPA >>> >>> Please check this video >>> http://safiur.com.np/gambas/combobox.webm >>> >>> Attached a project. >>> >>> -- >>> Regards >>> Safiur Rahman >>> >> >> >> -- >> Regards >> Safiur Rahman >> > > > -- > Regards > Safiur Rahman > -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: From isafiur at gmail.com Sun Oct 1 19:00:12 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Sun, 1 Oct 2023 22:45:12 +0545 Subject: [Gambas-user] Empty ComboBox are filled while scrolling mouse without key press (gb.qt5) In-Reply-To: References: Message-ID: Hi With this code If Mouse.Delta Then Last.Text = "" the combobox content is wiped when the mouse scrolls over it. Is there a way to preserve ComboBox Text which is obtained by selecting an item from pop up list or writing on it but deleting the text which is filled just by mouse wheel scroll? Is there a way to disable all events due to mouse wheel scroll ? On Sun, Oct 1, 2023 at 10:28?PM Safiur Rahman wrote: > Hi Gianluigi > > Thank you very much for your response. It worked perfectly. > > On Sun, Oct 1, 2023 at 9:11?PM Safiur Rahman wrote: > >> The problem is same with master version also. >> >> This is not a bug. All I want is to disable item selection in combobox >> with mouse wheel scroll. When I just scroll mouse wheel the combobox are >> randomly filled. >> Is there any way to disable filling of combobox with scroll of mouse >> wheel? >> >> On Sun, Oct 1, 2023 at 8:59?PM Safiur Rahman wrote: >> >>> Hi Gianluigi >>> >>> Putting an empty string at the beginning >>> >>> (Private aList As String[] = ["", "aa", "bb", "cc", "dd", "ee"] >>> >>> didn't work. I have not tested with master version yet >>> >>> >>> On Sun, Oct 1, 2023 at 7:53?PM Safiur Rahman wrote: >>> >>>> Hi >>>> >>>> On scrolling the empty comboBox (ReadOnly = False ) are filled with >>>> texts without any key press. How can I control this? Please provide me a >>>> workaround to control this problem. >>>> Using gb.qt5 in Ubuntu 22.04 using gambas stable PPA >>>> >>>> Please check this video >>>> http://safiur.com.np/gambas/combobox.webm >>>> >>>> Attached a project. >>>> >>>> -- >>>> Regards >>>> Safiur Rahman >>>> >>> >>> >>> -- >>> Regards >>> Safiur Rahman >>> >> >> >> -- >> Regards >> Safiur Rahman >> > > > -- > Regards > Safiur Rahman > -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sun Oct 1 19:44:28 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 1 Oct 2023 19:44:28 +0200 Subject: [Gambas-user] More speed for you In-Reply-To: <8277153.T7Z3S40VBb@lordh-pc> References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <8277153.T7Z3S40VBb@lordh-pc> Message-ID: <54beb97a-91ba-4361-a063-bb9ae997a9db@gambas-basic.org> Le 01/10/2023 ? 09:37, Laurent Carlier a ?crit?: > Le dimanche 1 octobre 2023, 09:24:17 CEST Beno?t Minisini a ?crit : >> Hi, >> >> Today is the Solemnity of Our Lady of the Rosary, so here is a little >> gift: a big optimization of the interpreter in the last commit. >> >> You can see the result on the wiki in the benchmark page: >> https://gambaswiki.org/edit/doc/benchmark >> >> Now Gambas beats the latest version of Python, Perl and OpenJDK Java in >> all benchmark but one. >> >> If someone could port the benchmarks to Ruby, maybe we would be able to >> claim Gambas to be the fastest full-featured interpreter on the galaxy? :-) >> >> Beware: this is fresh code, so you may encounter crashes. As usual, >> report any problem. >> >> Enjoy! > > Wow ! congrats :) > > How did you succeed on this awesome result ? Maybe some "behind-the-scene" > details ? > It's actually simple: instead of always using a specific global variable, I temporarily transfer it to a local variable in the main interpreter loop. This variable is the "Program Counter", i.e. a pointer that points at the next bytecode to execute. Apparently the hyper-vectorizer-loop-enroller-automatic-inlining-store-merging-strict-aliasing optimizer needs this help for doing this simple optimization. No idea why. It's a bit my fault, as I could have done that for a long time. But really the difference in performance in programs that run a lot of bytecode (loops, computations, manual sort...) is shocking and unexpected. Maybe I can do the same thing to the "Stack Pointer", and see if I can gain some speed again... But it's more complicated. Regards, -- Beno?t Minisini. From t.lee.davidson at gmail.com Sun Oct 1 23:53:20 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 1 Oct 2023 17:53:20 -0400 Subject: [Gambas-user] Empty ComboBox are filled while scrolling mouse without key press (gb.qt5) In-Reply-To: References: Message-ID: <6494f6c6-ac6a-4e9a-ad95-e31d9a16eced@gmail.com> On 10/1/23 13:00, Safiur Rahman wrote: > Is there a way to preserve ComboBox Text which is obtained by selecting an item? from pop up list or writing on it but deleting > the text which is filled just by mouse wheel scroll? Not easily. In fact, I just tried to do that. Unfortunately, the Change and Click events don't distinguish between changes make by the keyboard and those made by the mouse. My code became quite convoluted, and I finally gave up. > Is there a way to disable all events due to mouse wheel scroll ? No. Not many native events can be stopped with "Stop Event", and apparently the MouseWheel event is one of those that cannot. The only thing I can think you might do is set the ComboBox to ReadOnly while the mouse cursor is over it. This would, of course, prevent the user from clicking into the control to place the text cursor in the control for editing. If you include a blank list item at the top, the user could click on that and begin editing. [code] ' Gambas class file Public Sub Form_Open() ComboBox1.List = ["", "aa", "bb", "cc", "dd", "ee"] End Public Sub ComboBox1_Enter() ComboBox1.ReadOnly = True End Public Sub ComboBox1_Leave() ComboBox1.ReadOnly = False End [/code] -- Lee From mbelmonte at belmotek.net Mon Oct 2 00:29:18 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Mon, 2 Oct 2023 00:29:18 +0200 Subject: [Gambas-user] Gambas3 and Cross-Compiler Message-ID: <4edec22e-dfc4-4b25-b105-d41bf20402ed@belmotek.net> Hi. It turns out that, for work, I need to develop versions that work on Windows of some applications that I have made with Gambas3. Vala, for example, is transcoded into pure C and then compiled. The Lazarus IDE apparently allows you to compile, with the same sources for Windows Mac, Linux, FreeBSD etc. What would be necessary to transcode a program made with gambas3 and convert it to pure C and then compile it on any operating system and architecture? If anyone has been in the same situation and can give me some advice, it would be helpful. On the other hand, what is the roadmap for Gambas3 IDE in this regard? Gambas3 > C > Cross-Compiler Best regards. Martin. From jussi.lahtinen at gmail.com Mon Oct 2 00:47:01 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Mon, 2 Oct 2023 01:47:01 +0300 Subject: [Gambas-user] Gambas3 and Cross-Compiler In-Reply-To: <4edec22e-dfc4-4b25-b105-d41bf20402ed@belmotek.net> References: <4edec22e-dfc4-4b25-b105-d41bf20402ed@belmotek.net> Message-ID: > The Lazarus IDE apparently allows you to compile, with the same sources > for Windows Mac, Linux, FreeBSD etc. > It has cross compilation options, but there is no magic to automatically make it cross compatible. You need to write the code minding the need. There are Linux and Windows specific things and they may not be trivial to translate. What would be necessary to transcode a program made with gambas3 and > convert it to pure C and then compile it on any operating system and > architecture? > It depends on your code. What libraries/components you are using and what the code does. Pure C is not necessarily cross compatible either. > On the other hand, what is the roadmap for Gambas3 IDE in this regard? > Gambas3 > C > Cross-Compiler > Someone did some work to make Gambas working on Windows, but I guess no one is willing to finish the job. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto.premoli at tiscali.it Mon Oct 2 02:26:32 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Mon, 02 Oct 2023 02:26:32 +0200 Subject: [Gambas-user] More speed for you In-Reply-To: <54beb97a-91ba-4361-a063-bb9ae997a9db@gambas-basic.org> References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <8277153.T7Z3S40VBb@lordh-pc> <54beb97a-91ba-4361-a063-bb9ae997a9db@gambas-basic.org> Message-ID: <1c4657425f2630e220c7a28f5d3a1533@tiscali.it> Il 01.10.2023 19:44 Beno?t Minisini ha scritto: > It's a bit my fault, as I could have done that for a long time. But > really the difference in performance in programs that run a lot of > bytecode (loops, computations, manual sort...) is shocking and > unexpected. we newer have enough of speed and optimization :-D From isafiur at gmail.com Mon Oct 2 05:38:41 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Mon, 2 Oct 2023 09:23:41 +0545 Subject: [Gambas-user] Empty ComboBox are filled while scrolling mouse without key press (gb.qt5) In-Reply-To: References: Message-ID: Stop Events works for Panel and other containers but doesn't work with ComboBox This works Public Sub Panel1_MouseWheel() If Mouse.Delta Then Stop Event End This does not work Public Sub ComboBox1_MouseWheel() If Mouse.Delta Then Stop Event End Also setting the ComboBox to ReadOnly while the mouse cursor is over it makes no difference because you can still change text of ReadOnly ComboBox with mouse wheel scroll. On Sun, Oct 1, 2023 at 10:45?PM Safiur Rahman wrote: > Hi > > With this code > If Mouse.Delta Then Last.Text = "" > the combobox content is wiped when the mouse scrolls over it. > > Is there a way to preserve ComboBox Text which is obtained by selecting an > item from pop up list or writing on it but deleting the text which is > filled just by mouse wheel scroll? > Is there a way to disable all events due to mouse wheel scroll ? > > > On Sun, Oct 1, 2023 at 10:28?PM Safiur Rahman wrote: > >> Hi Gianluigi >> >> Thank you very much for your response. It worked perfectly. >> >> On Sun, Oct 1, 2023 at 9:11?PM Safiur Rahman wrote: >> >>> The problem is same with master version also. >>> >>> This is not a bug. All I want is to disable item selection in combobox >>> with mouse wheel scroll. When I just scroll mouse wheel the combobox are >>> randomly filled. >>> Is there any way to disable filling of combobox with scroll of mouse >>> wheel? >>> >>> On Sun, Oct 1, 2023 at 8:59?PM Safiur Rahman wrote: >>> >>>> Hi Gianluigi >>>> >>>> Putting an empty string at the beginning >>>> >>>> (Private aList As String[] = ["", "aa", "bb", "cc", "dd", "ee"] >>>> >>>> didn't work. I have not tested with master version yet >>>> >>>> >>>> On Sun, Oct 1, 2023 at 7:53?PM Safiur Rahman wrote: >>>> >>>>> Hi >>>>> >>>>> On scrolling the empty comboBox (ReadOnly = False ) are filled with >>>>> texts without any key press. How can I control this? Please provide me a >>>>> workaround to control this problem. >>>>> Using gb.qt5 in Ubuntu 22.04 using gambas stable PPA >>>>> >>>>> Please check this video >>>>> http://safiur.com.np/gambas/combobox.webm >>>>> >>>>> Attached a project. >>>>> >>>>> -- >>>>> Regards >>>>> Safiur Rahman >>>>> >>>> >>>> >>>> -- >>>> Regards >>>> Safiur Rahman >>>> >>> >>> >>> -- >>> Regards >>> Safiur Rahman >>> >> >> >> -- >> Regards >> Safiur Rahman >> > > > -- > Regards > Safiur Rahman > -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Mon Oct 2 09:27:58 2023 From: chrisml at deganius.de (Christof Thalhofer) Date: Mon, 2 Oct 2023 09:27:58 +0200 Subject: [Gambas-user] More speed for you In-Reply-To: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> Message-ID: <36cbeab2-70ab-5c8e-d149-098b1e82536a@deganius.de> Am 01.10.23 um 09:24 schrieb Beno?t Minisini: > You can see the result on the wiki in the benchmark page: > https://gambaswiki.org/edit/doc/benchmark > > Now Gambas beats the latest version of Python, Perl and OpenJDK Java in > all benchmark but one. Wow! Gambas is a great language overall! :-) Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature Type: application/pgp-signature Size: 840 bytes Desc: OpenPGP digital signature URL: From gradobag at gradobag.it Mon Oct 2 10:16:17 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 2 Oct 2023 10:16:17 +0200 Subject: [Gambas-user] Empty ComboBox are filled while scrolling mouse without key press (gb.qt5) In-Reply-To: References: Message-ID: Il 02/10/23 05:38, Safiur Rahman ha scritto: > Stop Events works for Panel and other containers but doesn't work with > ComboBox > > This works > Public Sub Panel1_MouseWheel() > ?If Mouse.Delta Then Stop Event > End > > This does not work > Public Sub ComboBox1_MouseWheel() > ?If Mouse.Delta Then Stop Event > End > > Also setting the ComboBox to ReadOnly while the mouse cursor is over > it makes no difference because you can still change text of ReadOnly > ComboBox with mouse wheel scroll. This improves the situation but does not solve it: ------------------------------------------------------ Private aValue As New String[] Private hCombo As ComboBox Public Sub Form_Open() ? Dim i As Integer ? Dim aList As String[] = ["aa", "bb", "cc", "dd", "ee"] ? Dim hScroll As ScrollView ? With Me ??? .Arrangement = Arrange.Fill ??? .W = 220 ??? .h = 500 ??? .Margin = True ? End With ? With hScroll = New ScrollView(Me) As "hScroll" ??? .ScrollBar = Scroll.Vertical ??? .Arrangement = Arrange.Vertical ??? .Spacing = True ? End With ? For i = 0 To 20 ??? With hCombo = New ComboBox(hScroll) As "hCombo" ????? .Name = i ????? .H = 30 ????? .List = aList ??? End With ? Next End Public Sub hCombo_MouseWheel() ? If Mouse.Delta Then ??? Last.text = "" ??? Stop Event ? Endif ? For i As Integer = 0 To 20 ??? If i = Val(hCombo.Name) Then ????? If hCombo.Text = "" Then Return ????? hCombo.Text = aValue[i] ????? Break ??? Endif ? Next End Public Sub hCombo_Change() ? aValue.Add(Last.Text, Val(Last.Name)) End --------------------------------------------- Regards Gianluigi From claus.dietrich at freenet.de Mon Oct 2 12:05:12 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Mon, 2 Oct 2023 12:05:12 +0200 Subject: [Gambas-user] New AppImage Feature (Master) Message-ID: <57e36189-eedd-c16b-3302-51d1c7635bee@freenet.de> Dear BM I am currently exploring the new AppImage feature of the IDE and I was able to produced some working apps - also with OpenGL. I have following questions: 1.??? What is the correct Ubuntu repository which I have to enter in the AppImage dialogue? Since I don't have the background for choosing the right repository I tried http://archive.ubuntu.com/ubuntu and it worked (but I don't know why). 2.??? Why is the theme and font of the generated AppImage different and how can this be avoided? Please have a look to the attached comparison. The apps were generated on a Mint 20.3 Mate VM with the standard Mint Y theme. In comparison to the "classical manual" method the resulting size of AppImages generated in the IDE turned out to be much smaller (40MB versus 250MB !) and hence they are also starting much faster. Many thanks for this great feature! Thumbs up and Best regards Claus -------------- next part -------------- A non-text attachment was scrubbed... Name: GUI_comparison.png Type: image/png Size: 76892 bytes Desc: not available URL: From benoit.minisini at gambas-basic.org Mon Oct 2 13:01:32 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Mon, 2 Oct 2023 13:01:32 +0200 Subject: [Gambas-user] New AppImage Feature (Master) In-Reply-To: <57e36189-eedd-c16b-3302-51d1c7635bee@freenet.de> References: <57e36189-eedd-c16b-3302-51d1c7635bee@freenet.de> Message-ID: Le 02/10/2023 ? 12:05, Claus Dietrich a ?crit?: > Dear BM > > I am currently exploring the new AppImage feature of the IDE and I was > able to produced some working apps - also with OpenGL. I have following > questions: > > 1.??? What is the correct Ubuntu repository which I have to enter in the > AppImage dialogue? > > Since I don't have the background for choosing the right repository I > tried http://archive.ubuntu.com/ubuntu and it worked (but I don't know > why). All Ubuntu repositories should be a mirror of the main one (which is the default proposed URL). So it is just a matter of which one is faster for you. > > 2.??? Why is the theme and font of the generated AppImage different and > how can this be avoided? No idea. I don't understand all the magic behind AppImage, and you have sometimes to choose a different Ubuntu distribution for different applications to make them work. Regards, -- Beno?t Minisini. From admin at allunix.ru Mon Oct 2 14:00:38 2023 From: admin at allunix.ru (Admin) Date: Mon, 2 Oct 2023 19:00:38 +0700 Subject: [Gambas-user] Gambas3 and Cross-Compiler In-Reply-To: <4edec22e-dfc4-4b25-b105-d41bf20402ed@belmotek.net> References: <4edec22e-dfc4-4b25-b105-d41bf20402ed@belmotek.net> Message-ID: <40f158b6-ba1b-49dd-5816-1bd270d340fe@allunix.ru> Man, I have a department at work, dedicated to make our Gambas-powered software run on Windows. That's how of a pain it is. That's how ancient the problem is. I'm no Benoit, I can't explain why exactly this is impossible, as he says it is, but if he says, then I believe. For now, thank Microsoft for that (did I just really said that?), WSL2 provides almost painless way of running gambas software on Windows 10/11. You literally do it with a mouse. Just click on Microsoft Store, then click to install Store version of WSL (it's important. The one that's in Windows Components is VERY outdated and basically does not work at all) than click to install Debian or Ubuntu, and there you go, you can just type "bash" in start menu or in cmd, and you are in Linux. sudo apt update && sudo apt install gambas3 - and your Windows now has Gambas. Since some time ago WSL does not require an X11 server to run GUI software, it already has Wayland, so you just run a gambas qt5 or gtk3 program compiled in Linux - and it just works, just shows up and runs as it does in Linux. It used to have problems with DISPLAY environment, it does not anymore. It used to have a problem with keyboard layout switching, it does not anymore. It had problems with DPI window scaling, it almost does not anymore. It used to require a lot of PowerShell work to make Gambas software work in Windows, it does not anymore. With this simplicity achieved by Microsoft with WSL through this years, personally I think we don't have to ask Benoit to make Windows-version of Gambas again. It would certainly be very nice, but now it's not a requirement, there is a way. Debian or Ubuntu can now easily be a part on Windows, very seamlessly. I suggest you go that way. Dmitry. 02.10.2023 5:29, Mart?n ?????: > Hi. > > It turns out that, for work, I need to develop versions that work on > Windows of some applications that I have made with Gambas3. > > Vala, for example, is transcoded into pure C and then compiled. > > The Lazarus IDE apparently allows you to compile, with the same > sources for Windows Mac, Linux, FreeBSD etc. > > What would be necessary to transcode a program made with gambas3 and > convert it to pure C and then compile it on any operating system and > architecture? > > If anyone has been in the same situation and can give me some advice, > it would be helpful. > > On the other hand, what is the roadmap for Gambas3 IDE in this regard? > Gambas3 > C > Cross-Compiler > > Best regards. > > Martin. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > From t.lee.davidson at gmail.com Mon Oct 2 16:21:30 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 2 Oct 2023 10:21:30 -0400 Subject: [Gambas-user] Empty ComboBox are filled while scrolling mouse without key press (gb.qt5) In-Reply-To: References: Message-ID: <97001d49-8003-4839-8ba6-94c95dfa7e46@gmail.com> On 10/1/23 23:38, Safiur Rahman wrote: > Also setting the ComboBox to ReadOnly while the mouse cursor is over it makes no difference because you can still change text of > ReadOnly ComboBox with mouse wheel scroll. You are right. I previously thought it was just scrolling through the list values but leaving the actual ComboBox value unchanged. It appeared that way because setting ComboBox.ReadOnly back to False resets the Index to either 0 or -1. The changing of the Index and the resetting of the Index can both be reverted with the help of a semaphore: [code] ' Gambas class file Private $iLastIndex As Integer Public Sub Form_Open() ComboBox1.List = ["", "aa", "bb", "cc", "dd", "ee"] End Public Sub ComboBox1_Enter() ComboBox1.ReadOnly = True End Public Sub ComboBox1_Leave() ComboBox1.ReadOnly = False ComboBox1.Index = $iLastIndex End Public Sub ComboBox1_Change() $iLastIndex = ComboBox1.Index End Public Sub ComboBox1_MouseWheel() ComboBox1.Index = $iLastIndex End [/code] -- Lee From gambas at servinfo.it Mon Oct 2 16:28:12 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Mon, 2 Oct 2023 16:28:12 +0200 Subject: [Gambas-user] Icon and Colors on gb.web.gui Message-ID: <674c9327-2aa8-aacc-8d83-cb378aaaf297@servinfo.it> Hi all, I found that on latest svn gb.web.gui: - some stock icon are not visible ( like find and new ). - WebTextBox and WebComboBox don't get background color , it's always white. Anyone notice that ? Thanks in advance, marco. From t.lee.davidson at gmail.com Mon Oct 2 16:54:37 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 2 Oct 2023 10:54:37 -0400 Subject: [Gambas-user] Gambas3 and Cross-Compiler In-Reply-To: <40f158b6-ba1b-49dd-5816-1bd270d340fe@allunix.ru> References: <4edec22e-dfc4-4b25-b105-d41bf20402ed@belmotek.net> <40f158b6-ba1b-49dd-5816-1bd270d340fe@allunix.ru> Message-ID: <59e7af35-28b0-42f5-9f0a-a36c2ecc39e3@gmail.com> On 10/2/23 08:00, Admin wrote: > Man, I have a department at work, dedicated to make our Gambas-powered software run on Windows. That's how of a pain it is. > That's how ancient the problem is. I'm no Benoit, I can't explain why exactly this is > impossible,?as?he?says?it?is,?but?if?he?says,?then?I?believe. > > For now, thank Microsoft for that (did I just really said that?), WSL2 provides almost painless way of running gambas software > on Windows 10/11. You literally do it with a mouse. Just click on Microsoft Store, then click to install Store version of WSL > (it's important. The one that's in Windows Components is VERY outdated and basically does not work at all) than click to install > Debian or Ubuntu, and there you go, you can just type "bash" in start menu or in cmd, and you are in Linux. sudo apt update && > sudo apt install gambas3 - and your Windows now has Gambas. Since some time ago WSL does not require an X11 server to run GUI > software, it already has Wayland, so you just run a gambas qt5 or gtk3 program compiled in Linux - and it just works, just shows > up and runs?as?it?does?in?Linux. > > It used to have problems with DISPLAY environment, it does not anymore. It used to have a problem with keyboard layout > switching, it does not anymore. It had problems with DPI window scaling, it almost does not anymore. It used to require a lot of > PowerShell work to make Gambas software work in Windows, it does not anymore. With this simplicity achieved by Microsoft with > WSL through this years, personally I think we don't have to ask Benoit to make Windows-version of Gambas again. It would > certainly be very nice, but now it's not a requirement, there is a way. > > Debian or Ubuntu can now easily be a part on Windows, very seamlessly. I suggest?you?go?that?way. > > Dmitry. Good information, Dmitry. Additionally, Martin, there are a couple of pages on the Wiki that are related: https://gambaswiki.org/wiki/howto/wsl https://gambaswiki.org/wiki/howto/windows If you *really* want to do cross-compilation, you might want to take a look at Zig (lang) which claims to be a drop-in replacement C (cross-)compiler. It hasn't reached v1.0 yet, but is usable. I compiled a simple "hello world" program for an embedded MIPS 24K SoC by simply specifying the correct target, and it worked flawlessly. -- Lee From claus.dietrich at freenet.de Mon Oct 2 19:33:21 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Mon, 2 Oct 2023 19:33:21 +0200 Subject: [Gambas-user] New AppImage Feature (Master) In-Reply-To: References: <57e36189-eedd-c16b-3302-51d1c7635bee@freenet.de> Message-ID: Hi Benoit Am 02.10.23 um 13:01 schrieb Beno?t Minisini: >> 2.??? Why is the theme and font of the generated AppImage different >> and how can this be avoided? > > No idea. I don't understand all the magic behind AppImage, and you > have sometimes to choose a different Ubuntu distribution for different > applications to make them work. > > Regards, > > -- > Beno?t Minisini. When I compared the protocols of the AppImage generation in the IDE and the "manual classical way" I possibly found the reason, why the generated AppImages didn't start any longer after I upgraded the Master to the cutting edge version. When I started them in the console I got the error message "Bytecode too recent. Please upgrade Gambas.". While the manual AppImage generation protocol correctly refers to ??? - sourceline: deb http://ppa.launchpad.net/gambas-team/gambas-daily/ubuntu focal the AppImage generation protocol in the IDE refers to ??? http://ppa.launchpad.net/gambas-team/gambas3/ubuntu jammy InRelease Is this possibly a bug? The comparison further helped me to determine the package qt5-gtk-platformtheme as the one which can fix my problem with the different font. I simply added it in the IDE on the basis of trial and error. Sadly, I didn't find any package which fixed the different theme. Best regards Claus From jussi.lahtinen at gmail.com Mon Oct 2 20:14:47 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Mon, 2 Oct 2023 21:14:47 +0300 Subject: [Gambas-user] Gambas3 and Cross-Compiler In-Reply-To: <59e7af35-28b0-42f5-9f0a-a36c2ecc39e3@gmail.com> References: <4edec22e-dfc4-4b25-b105-d41bf20402ed@belmotek.net> <40f158b6-ba1b-49dd-5816-1bd270d340fe@allunix.ru> <59e7af35-28b0-42f5-9f0a-a36c2ecc39e3@gmail.com> Message-ID: > > If you *really* want to do cross-compilation, you might want to take a > look at Zig (lang) which claims to be a drop-in > replacement C (cross-)compiler. It hasn't reached v1.0 yet, but is usable. > I compiled a simple "hello world" program for an > embedded MIPS 24K SoC by simply specifying the correct target, and it > worked flawlessly. > Different architecture is not the problem. Different operating system is. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Mon Oct 2 21:09:31 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Mon, 2 Oct 2023 15:09:31 -0400 Subject: [Gambas-user] Gambas3 and Cross-Compiler In-Reply-To: References: <4edec22e-dfc4-4b25-b105-d41bf20402ed@belmotek.net> <40f158b6-ba1b-49dd-5816-1bd270d340fe@allunix.ru> <59e7af35-28b0-42f5-9f0a-a36c2ecc39e3@gmail.com> Message-ID: On 10/2/23 14:14, Jussi Lahtinen wrote: > If you *really* want to do cross-compilation, you might want to take a look at Zig (lang) which claims to be a drop-in > replacement C (cross-)compiler. It hasn't reached v1.0 yet, but is usable. I compiled a simple "hello world" program for an > embedded MIPS 24K SoC by simply specifying the correct target, and it worked flawlessly. > > > Different architecture is not the problem. Different operating system is. > > Jussi Okay. ??? I didn't say the different architecture is the only problem; nor did I say that a different operating system is not the problem. I simply related my experience. There is no need to read more into what I said than that. `zig targets | grep -i windows` "windows", "aarch64_be-windows-gnu", "aarch64-windows-gnu", "armeb-windows-gnu", "arm-windows-gnu", "x86-windows-gnu", "x86_64-windows-gnu", Do you know for a fact that Zig will not target Windows? -- Lee From benoit.minisini at gambas-basic.org Mon Oct 2 22:23:34 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Mon, 2 Oct 2023 22:23:34 +0200 Subject: [Gambas-user] New AppImage Feature (Master) In-Reply-To: References: <57e36189-eedd-c16b-3302-51d1c7635bee@freenet.de> Message-ID: Le 02/10/2023 ? 19:33, Claus Dietrich a ?crit?: > Hi Benoit > > Am 02.10.23 um 13:01 schrieb Beno?t Minisini: >>> 2.??? Why is the theme and font of the generated AppImage different >>> and how can this be avoided? >> >> No idea. I don't understand all the magic behind AppImage, and you >> have sometimes to choose a different Ubuntu distribution for different >> applications to make them work. >> >> Regards, >> >> -- >> Beno?t Minisini. > > When I compared the protocols of the AppImage generation in the IDE and > the "manual classical way" I possibly found the reason, why the > generated AppImages didn't start any longer after I upgraded the Master > to the cutting edge version. When I started them in the console I got > the error message "Bytecode too recent. Please upgrade Gambas.". > > While the manual AppImage generation protocol correctly refers to > > ??? - sourceline: deb > http://ppa.launchpad.net/gambas-team/gambas-daily/ubuntu focal > > the AppImage generation protocol in the IDE refers to > > ??? http://ppa.launchpad.net/gambas-team/gambas3/ubuntu jammy InRelease > > Is this possibly a bug? No, because you are not supposed to generate an AppImage with the development version of Gambas, i.e. use the daily Gambas PPA. The IDE only uses the stable PPA. > > The comparison further helped me to determine the package > qt5-gtk-platformtheme as the one which can fix my problem with the > different font. I simply added it in the IDE on the basis of trial and > error. Sadly, I didn't find any package which fixed the different theme. The AppImage can only use the widget and icon themes provided by the Ubuntu packages installed in it. So by default, you have the default decided by Ubuntu on the specific Ubuntu version you chose. With the IDE, you can manually specify additional packages to install inside the AppImage, so you should easily be able to add new widget/icon themes. But you won't able to modify the configuration files of Qt or GTK+ to use theme, you have to do that inside your application with 'Application.Theme'. Regards, -- Beno?t Minisini. From jussi.lahtinen at gmail.com Tue Oct 3 14:02:44 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Tue, 3 Oct 2023 15:02:44 +0300 Subject: [Gambas-user] Gambas3 and Cross-Compiler In-Reply-To: References: <4edec22e-dfc4-4b25-b105-d41bf20402ed@belmotek.net> <40f158b6-ba1b-49dd-5816-1bd270d340fe@allunix.ru> <59e7af35-28b0-42f5-9f0a-a36c2ecc39e3@gmail.com> Message-ID: My misunderstanding. However, it's good to note that cross compilation features do not automatically make the code cross compatible. Perhaps you knew it already, but not sure others really know what the issue really is. Jussi On Mon, Oct 2, 2023 at 10:10?PM T Lee Davidson wrote: > On 10/2/23 14:14, Jussi Lahtinen wrote: > > If you *really* want to do cross-compilation, you might want to take > a look at Zig (lang) which claims to be a drop-in > > replacement C (cross-)compiler. It hasn't reached v1.0 yet, but is > usable. I compiled a simple "hello world" program for an > > embedded MIPS 24K SoC by simply specifying the correct target, and > it worked flawlessly. > > > > > > Different architecture is not the problem. Different operating system is. > > > > Jussi > > Okay. ??? > > I didn't say the different architecture is the only problem; nor did I say > that a different operating system is not the problem. > I simply related my experience. There is no need to read more into what I > said than that. > > `zig targets | grep -i windows` > "windows", > "aarch64_be-windows-gnu", > "aarch64-windows-gnu", > "armeb-windows-gnu", > "arm-windows-gnu", > "x86-windows-gnu", > "x86_64-windows-gnu", > > Do you know for a fact that Zig will not target Windows? > > > -- > Lee > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Tue Oct 3 17:35:44 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 3 Oct 2023 11:35:44 -0400 Subject: [Gambas-user] Gambas3 and Cross-Compiler In-Reply-To: References: <4edec22e-dfc4-4b25-b105-d41bf20402ed@belmotek.net> <40f158b6-ba1b-49dd-5816-1bd270d340fe@allunix.ru> <59e7af35-28b0-42f5-9f0a-a36c2ecc39e3@gmail.com> Message-ID: <4a2cd071-2956-4181-a76d-c2cea0ce3925@gmail.com> On 10/3/23 08:02, Jussi Lahtinen wrote: > However, it's good to note that cross compilation features do not automatically make the code cross compatible. You are correct. And, yes, it is important to note that. -- Lee From gambas.fr at gmail.com Wed Oct 4 09:09:33 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 4 Oct 2023 09:09:33 +0200 Subject: [Gambas-user] More speed for you In-Reply-To: <36cbeab2-70ab-5c8e-d149-098b1e82536a@deganius.de> References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <36cbeab2-70ab-5c8e-d149-098b1e82536a@deganius.de> Message-ID: Hi, Benoit, Have you tested with kind of optimised python ? Jit or else ? Le lun. 2 oct. 2023 ? 09:28, Christof Thalhofer a ?crit : > Am 01.10.23 um 09:24 schrieb Beno?t Minisini: > > > You can see the result on the wiki in the benchmark page: > > https://gambaswiki.org/edit/doc/benchmark > > > > Now Gambas beats the latest version of Python, Perl and OpenJDK Java in > > all benchmark but one. > > Wow! Gambas is a great language overall! :-) > > Alles Gute > > Christof Thalhofer > > -- > Dies ist keine Signatur > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Wed Oct 4 12:20:41 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Wed, 4 Oct 2023 12:20:41 +0200 Subject: [Gambas-user] More speed for you In-Reply-To: References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <36cbeab2-70ab-5c8e-d149-098b1e82536a@deganius.de> Message-ID: Le 04/10/2023 ? 09:09, Fabien Bodard a ?crit?: > Hi, Benoit, > > Have you tested with?kind of optimised python ? Jit or else ? > I didn't test JIT python (I don't know how), only JIT java. Everything is told on the benchmark page. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Wed Oct 4 12:24:49 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Wed, 4 Oct 2023 12:24:49 +0200 Subject: [Gambas-user] More speed for you... again. In-Reply-To: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> Message-ID: Hi, I just committed a new optimization. It's the same idea than the first one, but applied to the interpreter stack pointer instead of the program counter. The speed gain is about 10%, but this is enough to be first on all the benchmarks. On the 'mandelbrot' benchmark, non-JIT Gambas even beats JIT OpenJDK. Now we are the fastest! :-) -- Beno?t Minisini. From t.lee.davidson at gmail.com Wed Oct 4 14:04:56 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 4 Oct 2023 08:04:56 -0400 Subject: [Gambas-user] Wiki: Connection timed out Message-ID: Error code 522 -- Lee From benoit.minisini at gambas-basic.org Wed Oct 4 14:18:21 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Wed, 4 Oct 2023 14:18:21 +0200 Subject: [Gambas-user] Wiki: Connection timed out In-Reply-To: References: Message-ID: Le 04/10/2023 ? 14:04, T Lee Davidson a ?crit?: > Error code 522 > > It works here. '522' means a connection error between CloudFlare and the real server. -- Beno?t Minisini. From t.lee.davidson at gmail.com Wed Oct 4 14:23:25 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 4 Oct 2023 08:23:25 -0400 Subject: [Gambas-user] Wiki: Connection timed out In-Reply-To: References: Message-ID: <124d3d75-873a-4579-8146-fe5fcd128c8b@gmail.com> On 10/4/23 08:18, Beno?t Minisini wrote: > Le 04/10/2023 ? 14:04, T Lee Davidson a ?crit?: >> Error code 522 >> >> > > It works here. '522' means a connection error between CloudFlare and the real server. > Interesting. I had just followed the Benchmarks link in your original message "More speed for you": https://gambaswiki.org/edit/doc/benchmark I just now changed "edit" to "wiki" and the page loaded successfully; no problem. -- Lee From gambas.fr at gmail.com Wed Oct 4 15:15:37 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 4 Oct 2023 15:15:37 +0200 Subject: [Gambas-user] More speed for you In-Reply-To: References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <36cbeab2-70ab-5c8e-d149-098b1e82536a@deganius.de> Message-ID: Like that ? : https://people.duke.edu/~ccc14/sta-663-2016/18C_Numba.html Le mer. 4 oct. 2023 ? 12:21, Beno?t Minisini < benoit.minisini at gambas-basic.org> a ?crit : > Le 04/10/2023 ? 09:09, Fabien Bodard a ?crit : > > Hi, Benoit, > > > > Have you tested with kind of optimised python ? Jit or else ? > > > > I didn't test JIT python (I don't know how), only JIT java. Everything > is told on the benchmark page. > > Regards, > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Wed Oct 4 15:17:38 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 4 Oct 2023 15:17:38 +0200 Subject: [Gambas-user] More speed for you In-Reply-To: References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <36cbeab2-70ab-5c8e-d149-098b1e82536a@deganius.de> Message-ID: Sorry ... bad paste. https://coderslegacy.com/python-jit-compilers/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Oct 4 16:45:23 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 4 Oct 2023 15:45:23 +0100 Subject: [Gambas-user] wiki login not working In-Reply-To: References: <1dFWuy9QByXSvzPyIB5wBe-Rv1cSjeKrZqpOEsv2cPBqRrHyLGVvGXWo8hwSeBQMqcppyOLfnPQSUYsRGUhM4YNBBXWnYe7eFvGfth8ZGi4=@protonmail.com> Message-ID: On Tue, 19 Sept 2023 at 12:54, Bruce Steers wrote: > > > On Tue, 19 Sept 2023 at 12:27, gbWilly via User < > user at lists.gambas-basic.org> wrote: > >> >> ------- Original Message ------- >> On Tuesday, September 19th, 2023 at 12:28, Bruce Steers < >> bsteers4 at gmail.com> wrote: >> >> If i try to edit a wiki page (or do a search) I get the following >> problem... >> >> I select "Login" and enter details. >> I am then apparently logged in as i see all the other options when logged >> in. >> Then if I try a search or hit Edit on a page i am then apparently not >> logged in and have to enter log in details again, then I'm not on the Edit >> page and have to press Edit again, and need to enter log in details again. >> >> So i cannot search or edit anything. >> >> Respects >> BruceS >> >> >> Hi Bruce, >> >> Could it be you logged in from the Gambas webpage where the wiki is >> embedded (https://gambas.sourceforge.net/en/main.html#) as that does >> mess with your login >> >> Go directly to the wiki page (https://gambaswiki.org/wiki) to login and >> all should work, at least it does for me. >> >> Cheers, >> >> gbWilly >> > > I tried logging in on the main page (your link) and now it works. > Looking at my browsing history i was at the same urls not the sourceforge > embedded url. > > But now it works so i'm happy, cheers :) > BruceS > I think i just figured out the problem. Seems my bookmarks were all prefixed with http:// and not https:// (my browsing history did not show the prefix) and it only works correctly with secure https:// Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From martin.fischer6 at web.de Wed Oct 4 19:54:45 2023 From: martin.fischer6 at web.de (Martin Fischer) Date: Wed, 4 Oct 2023 19:54:45 +0200 Subject: [Gambas-user] New candidate educational example Message-ID: Hi all gambassins, I created an educational example that shows how to implement type-safe, scripted plugins for your application. It uses gbs3 (scripting) as component. The showcase is: - a simple editor - plugins that implement various edit operations on the selected text (UCase, LCase, Highlight, ...) - allows you as user to add other plugins. The application is well documented (the text shown in the editor is the documentation :-) Give it a try... If you find it helpful you might include it into the examples delivered with gambas. If you do not find it relevant, forget this email. I added the project as an attachment. Regards ____________________________________ Martin Fischer -------------- next part -------------- A non-text attachment was scrubbed... Name: ScriptedPlugin-0.0.1.tar.gz Type: application/gzip Size: 15443 bytes Desc: not available URL: From sharon at 455.co.il Mon Oct 2 12:20:04 2023 From: sharon at 455.co.il (Mayost Sharon) Date: Mon, 2 Oct 2023 13:20:04 +0300 Subject: [Gambas-user] GB.WEB.GUI get value of the mouse In-Reply-To: References: <20230918180533.M14403@455.co.il> <20230918210359.M37463@455.co.il> <20230919082959.M42262@455.co.il> <6650c54c-a480-453a-a7d8-f244f319d0c3@gmail.com> <20230919195927.M80874@455.co.il> <383652f5-0357-487b-a933-ed33c195775d@gmail.com> <20230920180921.M29534@455.co.il> <91519b0b-8a48-262c-2837-6e41819c76bc@gambas-basic.org> Message-ID: <20231002102004.M79186@455.co.il> Hello Is it possible to get values on the mouse state when I use GB.WEB.GUI I tried for example like this: Export Public Sub WebButton1_Click() WebLabel1.Text = Mouse.X End It gives an error Thanks From benoit.minisini at gambas-basic.org Wed Oct 4 21:44:23 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Wed, 4 Oct 2023 21:44:23 +0200 Subject: [Gambas-user] GB.WEB.GUI get value of the mouse In-Reply-To: <20231002102004.M79186@455.co.il> References: <20230918180533.M14403@455.co.il> <20230918210359.M37463@455.co.il> <20230919082959.M42262@455.co.il> <6650c54c-a480-453a-a7d8-f244f319d0c3@gmail.com> <20230919195927.M80874@455.co.il> <383652f5-0357-487b-a933-ed33c195775d@gmail.com> <20230920180921.M29534@455.co.il> <91519b0b-8a48-262c-2837-6e41819c76bc@gambas-basic.org> <20231002102004.M79186@455.co.il> Message-ID: <07576488-6e88-421c-b3da-162806965c88@gambas-basic.org> Le 02/10/2023 ? 12:20, Mayost Sharon a ?crit?: > Hello > > Is it possible to get values on the mouse state when I use GB.WEB.GUI > > I tried for example like this: > Export > > Public Sub WebButton1_Click() > > WebLabel1.Text = Mouse.X > > End > > It gives an error > > Thanks > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- The only way to get cursor coordinates is using a WebDrawingArea and its mouse events. Regards, -- Beno?t Minisini. From roberto.premoli at tiscali.it Thu Oct 5 10:20:53 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Thu, 05 Oct 2023 10:20:53 +0200 Subject: [Gambas-user] =?utf-8?q?Is_possible_capture_webcam_and/or_audio_?= =?utf-8?q?stream=2C_save_and_reproduce_in_gambas=3F?= Message-ID: <08771b47498d090db24a23ba3411b3bb@tiscali.it> Hello, My need is to capture audio/video/screenshot (webcam and microphone). I look around in the software farm but i found only program that reproduce audio/video, noone that capture it. Is possible to to in gambas without use external programs? Thanks, Roberto -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto.premoli at tiscali.it Thu Oct 5 10:39:45 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Thu, 05 Oct 2023 10:39:45 +0200 Subject: [Gambas-user] some bash commands I wish move in gambas Message-ID: <70c8886d5d72831829059b360eb759ad@tiscali.it> hello, in my soft i used the followed bash command cp tar -cvzf tar zxvf rm -rf ls -la mv -f md5sum scp ssh find cat I run them using Exec, they works fine. Now I almost complete the program and I think it will be more elegant, more "right" to use only gambas commands (if there are) and not external programs. -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Thu Oct 5 11:57:11 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Thu, 5 Oct 2023 11:57:11 +0200 (CEST) Subject: [Gambas-user] Is possible capture webcam and/or audio stream, save and reproduce in gambas? In-Reply-To: <08771b47498d090db24a23ba3411b3bb@tiscali.it> References: <08771b47498d090db24a23ba3411b3bb@tiscali.it> Message-ID: Robe', you keep ignoring the Gambas Italian forum wiki... 5 ott 2023, 10:21 da roberto.premoli at tiscali.it: > Hello, > > My need is to capture audio/video/screenshot (webcam and microphone). > I look around in the software farm but i found only program that reproduce audio/video, noone that capture it. > Is possible to to in gambas without use external programs? > > Thanks, > Roberto > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto.premoli at tiscali.it Thu Oct 5 12:18:05 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Thu, 05 Oct 2023 12:18:05 +0200 Subject: [Gambas-user] =?utf-8?q?Is_possible_capture_webcam_and/or_audio_?= =?utf-8?q?stream=2C_save_and_reproduce_in_gambas=3F?= In-Reply-To: References: <08771b47498d090db24a23ba3411b3bb@tiscali.it> Message-ID: <125e80dc088c2e23743985f61c251a84@tiscali.it> Il 05.10.2023 11:57 vuott--- via User ha scritto: > Robe', you keep ignoring the Gambas Italian forum wiki... im not ignoring it, i already search on it "mediaview" and follow some links, as https://www.gambas-it.org/smf/index.php?PHPSESSID=539f35a7848437a2f34d76a363700334&topic=9259.msg51815#msg51815 and your one https://www.gambas-it.org/smf/index.php?PHPSESSID=539f35a7848437a2f34d76a363700334&topic=9082.msg51521#msg51521 that forward to https://forum.gambas.one/viewtopic.php?f=6&t=1282 . i got that example code but it fail with "error 1" wen try to compile: so, i came here asking help. I run gambas 3.18.0 > 5 ott 2023, 10:21 da roberto.premoli at tiscali.it: > >> Hello, >> My need is to capture audio/video/screenshot (webcam and >> microphone). >> I look around in the software farm but i found only program that >> reproduce audio/video, noone that capture it. >> Is possible to to in gambas without use external programs? >> Thanks, >> Roberto From t.lee.davidson at gmail.com Thu Oct 5 12:26:29 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 5 Oct 2023 06:26:29 -0400 Subject: [Gambas-user] some bash commands I wish move in gambas In-Reply-To: <70c8886d5d72831829059b360eb759ad@tiscali.it> References: <70c8886d5d72831829059b360eb759ad@tiscali.it> Message-ID: <35f6af33-2f65-491c-b8be-c7efc35b6b5e@gmail.com> On 10/5/23 04:39, roberto.premoli at tiscali.it wrote: > hello, > in my soft i used the followed bash command > > cp > tar -cvzf > tar zxvf > rm -rf > ls -la > mv -f > md5sum > scp > ssh > find > cat > > I run them using Exec, they works fine. > Now I almost complete the program and I think it will be more elegant, more "right" to use only gambas commands (if there are) > > and not external programs. There are Gambas file and directory functions that can be substituted for cp, rm, ls, mv [https://gambaswiki.org/wiki/cat/file]. You might be able to create your own 'find' function using RDir and others. For 'cat', you read and write using streams. For md5sum, there is the gb.hash component. There is also gb.compress though I don't think it handles tar files. I don't know of any Gambas equivalent for scp or ssh. -- Lee From adamnt42 at gmail.com Thu Oct 5 12:57:56 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 5 Oct 2023 21:27:56 +1030 Subject: [Gambas-user] some bash commands I wish move in gambas In-Reply-To: <70c8886d5d72831829059b360eb759ad@tiscali.it> References: <70c8886d5d72831829059b360eb759ad@tiscali.it> Message-ID: <82a66eef-80e9-3f73-ab6e-eabf4087fc89@gmail.com> On 5/10/23 7:09 pm, roberto.premoli at tiscali.it wrote: > hello, > in my soft i used the followed bash command > > cp > tar -cvzf > tar zxvf > rm -rf > ls -la > mv -f > md5sum > scp > ssh > find > cat > > I run them using Exec, they works fine. > Now I almost complete the program and I think it will be more elegant, more "right" to use only gambas commands (if there are) > and not external programs. Why do you think Exec is less "elegant"? Linux and Unix is based on the precept "do one thing and do it well". There are equivalents in Gambas for a lot of these but if we just take "cp" as an example, they are yes "elegant" solutions for simple "cp" operations but in the long run do not provide the full power of the bash command. Don't misunderstand me, there is nothing at all wrong with the Gambas native commands, but I don't see why you would consider an internal to be more "elegant". In fact, IMO Exec is a very elegant way of getting fundamental things provided by the bash shell to work exactly as needed in the situation. ymmv b -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto.premoli at tiscali.it Thu Oct 5 13:58:30 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Thu, 05 Oct 2023 13:58:30 +0200 Subject: [Gambas-user] some bash commands I wish move in gambas In-Reply-To: <82a66eef-80e9-3f73-ab6e-eabf4087fc89@gmail.com> References: <70c8886d5d72831829059b360eb759ad@tiscali.it> <82a66eef-80e9-3f73-ab6e-eabf4087fc89@gmail.com> Message-ID: <7a4ca43ce5520eed19167ce903ad5571@tiscali.it> Il 05.10.2023 12:57 BB ha scritto: > On 5/10/23 7:09 pm, roberto.premoli at tiscali.it [1] wrote: > >> hello, >> in my soft i used the followed bash command >> >> cp >> tar -cvzf >> tar zxvf >> rm -rf >> ls -la >> mv -f >> md5sum >> scp >> ssh >> find >> cat >> >> I run them using Exec, they works fine. >> Now I almost complete the program and I think it will be more >> elegant, >> more "right" to use only gambas commands (if there are) >> >> and not external programs. > > Why do you think Exec is less "elegant"? Linux and Unix is based on > the > precept "do one thing and do it well". There are equivalents in > Gambas > for a lot of these but if we just take "cp" as an example, they are > yes > "elegant" solutions for simple "cp" operations but in the long run do > not > provide the full power of the bash command. Don't misunderstand me, > there > is nothing at all wrong with the Gambas native commands, but I don't > see > why you would consider an internal to be more "elegant". > > In fact, IMO Exec is a very elegant way of getting fundamental things > provided by the bash shell to work exactly as needed in the > situation. > > ymmv > > b I already move on function of mine form gambas to C and it is x95 faster. That is a must to speed up my project, so i agree the value of Exec. for commands I wrote above, let me tell you in another way: i think that to have all done in the same language (gambas) without go up and down bethween gambas and bash is more... let say, compact and homogeneous Beside, on italian forum have this signature: (i translate) "everyone, if not needed, use "Shell" or "Exec" in his gambas project, will be fined between 20 and 60 euro" so i try to stay in gambas more than i can :-) From benoit.minisini at gambas-basic.org Thu Oct 5 14:03:11 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Thu, 5 Oct 2023 14:03:11 +0200 Subject: [Gambas-user] some bash commands I wish move in gambas In-Reply-To: <82a66eef-80e9-3f73-ab6e-eabf4087fc89@gmail.com> References: <70c8886d5d72831829059b360eb759ad@tiscali.it> <82a66eef-80e9-3f73-ab6e-eabf4087fc89@gmail.com> Message-ID: Le 05/10/2023 ? 12:57, BB a ?crit?: > > On 5/10/23 7:09 pm, roberto.premoli at tiscali.it wrote: >> hello, >> in my soft i used the followed bash command >> >> cp >> tar -cvzf >> tar zxvf >> rm -rf >> ls -la >> mv -f >> md5sum >> scp >> ssh >> find >> cat >> >> I run them using Exec, they works fine. >> Now I almost complete the program and I think it will be more elegant, more "right" to use only gambas commands (if there are) >> and not external programs. > > Why do you think Exec is less "elegant"? Linux and Unix is based on the > precept "do one thing and do it well". There are equivalents in Gambas > for a lot of these but if we just take "cp" as an example, they are yes > "elegant" solutions for simple "cp" operations but in the long run do > not provide the full power of the bash command. Don't misunderstand me, > there is nothing at all wrong with the Gambas native commands, but I > don't see why you would consider an internal to be more "elegant". > > In fact, IMO Exec is a very elegant way of getting fundamental things > provided by the bash shell to work exactly as needed in the situation. > > ymmv > > b > I agree. -- Beno?t Minisini. From brian at westwoodsvcs.com Thu Oct 5 17:35:00 2023 From: brian at westwoodsvcs.com (Brian G) Date: Thu, 5 Oct 2023 08:35:00 -0700 (PDT) Subject: [Gambas-user] some bash commands I wish move in gambas In-Reply-To: <35f6af33-2f65-491c-b8be-c7efc35b6b5e@gmail.com> References: <70c8886d5d72831829059b360eb759ad@tiscali.it> <35f6af33-2f65-491c-b8be-c7efc35b6b5e@gmail.com> Message-ID: <1402898142.23234.1696520100872.JavaMail.zimbra@westwoodsvcs.com> You know you can call directly the c library functions to do some of these things, much faster that exec and shell "Failure is the key to success; each mistake teaches us something" .. Morihei Ueshiba Brian G ----- On Oct 5, 2023, at 3:26 AM, T Lee Davidson t.lee.davidson at gmail.com wrote: > On 10/5/23 04:39, roberto.premoli at tiscali.it wrote: >> hello, >> in my soft i used the followed bash command >> >> cp >> tar -cvzf >> tar zxvf >> rm -rf >> ls -la >> mv -f >> md5sum >> scp >> ssh >> find >> cat >> >> I run them using Exec, they works fine. >> Now I almost complete the program and I think it will be more elegant, more >> "right" to use only gambas commands (if there are) >> >> and not external programs. > > There are Gambas file and directory functions that can be substituted for cp, > rm, ls, mv [https://gambaswiki.org/wiki/cat/file]. > You might be able to create your own 'find' function using RDir and others. For > 'cat', you read and write using streams. > > For md5sum, there is the gb.hash component. There is also gb.compress though I > don't think it handles tar files. > > I don't know of any Gambas equivalent for scp or ssh. > > > -- > Lee > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From gambas.fr at gmail.com Thu Oct 5 18:00:16 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 5 Oct 2023 18:00:16 +0200 Subject: [Gambas-user] Fwd: More speed for you... again. In-Reply-To: References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> Message-ID: Well done ? Now you have to find a way to get the object creation more faster ? ---------- Forwarded message --------- De : Beno?t Minisini Date: mer. 4 oct. 2023 ? 12:26 Subject: [Gambas-user] More speed for you... again. To: Gambas Mailing List Hi, I just committed a new optimization. It's the same idea than the first one, but applied to the interpreter stack pointer instead of the program counter. The speed gain is about 10%, but this is enough to be first on all the benchmarks. On the 'mandelbrot' benchmark, non-JIT Gambas even beats JIT OpenJDK. Now we are the fastest! :-) -- Beno?t Minisini. ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu Oct 5 18:06:20 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Thu, 5 Oct 2023 18:06:20 +0200 Subject: [Gambas-user] Fwd: More speed for you... again. In-Reply-To: References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> Message-ID: <3425da72-0cf8-4102-bb20-8d67cbd9c917@gambas-basic.org> Le 05/10/2023 ? 18:00, Fabien Bodard a ?crit?: > Well done ? > > Now you have to find a way to get the object creation more faster ? > How do you find it slow? -- Beno?t Minisini. From gambas.fr at gmail.com Thu Oct 5 21:32:29 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 5 Oct 2023 21:32:29 +0200 Subject: [Gambas-user] Fwd: More speed for you... again. In-Reply-To: <3425da72-0cf8-4102-bb20-8d67cbd9c917@gambas-basic.org> References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <3425da72-0cf8-4102-bb20-8d67cbd9c917@gambas-basic.org> Message-ID: Le jeu. 5 oct. 2023 ? 18:07, Beno?t Minisini < benoit.minisini at gambas-basic.org> a ?crit : > Le 05/10/2023 ? 18:00, Fabien Bodard a ?crit : > > Well done ? > > > > Now you have to find a way to get the object creation more faster ? > > > > How do you find it slow? > Btree benchmark ? Gambas jit vs java jit I'm jocking > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu Oct 5 22:45:52 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Thu, 5 Oct 2023 22:45:52 +0200 Subject: [Gambas-user] Fwd: More speed for you... again. In-Reply-To: References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <3425da72-0cf8-4102-bb20-8d67cbd9c917@gambas-basic.org> Message-ID: <0310649a-e97c-40a2-9e2a-97c9ac5d3930@gambas-basic.org> Le 05/10/2023 ? 21:32, Fabien Bodard a ?crit?: > > > Le jeu. 5 oct. 2023 ? 18:07, Beno?t Minisini > > a ?crit?: > > Le 05/10/2023 ? 18:00, Fabien Bodard a ?crit?: > > Well done ? > > > > Now you have to find a way to get the object creation more faster ? > > > > How do you find it slow? > > > Btree benchmark ? Gambas jit vs java jit > > I'm jocking > While you was complaining, I was pushing a new optimization about object creation. :-) -- Beno?t Minisini. From gambas.fr at gmail.com Fri Oct 6 07:50:20 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 6 Oct 2023 07:50:20 +0200 Subject: [Gambas-user] Fwd: More speed for you... again. In-Reply-To: <0310649a-e97c-40a2-9e2a-97c9ac5d3930@gambas-basic.org> References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <3425da72-0cf8-4102-bb20-8d67cbd9c917@gambas-basic.org> <0310649a-e97c-40a2-9e2a-97c9ac5d3930@gambas-basic.org> Message-ID: Le jeu. 5 oct. 2023 ? 22:47, Beno?t Minisini < benoit.minisini at gambas-basic.org> a ?crit : > Le 05/10/2023 ? 21:32, Fabien Bodard a ?crit : > > > > > > Le jeu. 5 oct. 2023 ? 18:07, Beno?t Minisini > > > > a ?crit : > > > > Le 05/10/2023 ? 18:00, Fabien Bodard a ?crit : > > > Well done ? > > > > > > Now you have to find a way to get the object creation more faster > ? > > > > > > > How do you find it slow? > > > > > > Btree benchmark ? Gambas jit vs java jit > > > > I'm jocking > > > > While you was complaining, I was pushing a new optimization about object > creation. :-) > Mdr tu es ind?crottable ! Wait to your next benchmark session ? > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Fri Oct 6 11:41:42 2023 From: chrisml at deganius.de (Christof Thalhofer) Date: Fri, 6 Oct 2023 11:41:42 +0200 Subject: [Gambas-user] Fwd: More speed for you... again. In-Reply-To: References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <3425da72-0cf8-4102-bb20-8d67cbd9c917@gambas-basic.org> <0310649a-e97c-40a2-9e2a-97c9ac5d3930@gambas-basic.org> Message-ID: <4651f982-067a-4b0a-a3ed-769d3d39a376@deganius.de> Am 06.10.23 um 07:50 schrieb Fabien Bodard: > Mdr tu es ind?crottable ! > > Wait to your next benchmark session ? He will optimize until time runs backwards. ;-) Alles Gute Christof Thalhofer -- [x] nail here for new monitor From adamnt42 at gmail.com Fri Oct 6 12:22:51 2023 From: adamnt42 at gmail.com (BB) Date: Fri, 6 Oct 2023 20:52:51 +1030 Subject: [Gambas-user] Fwd: More speed for you... again. In-Reply-To: <4651f982-067a-4b0a-a3ed-769d3d39a376@deganius.de> References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <3425da72-0cf8-4102-bb20-8d67cbd9c917@gambas-basic.org> <0310649a-e97c-40a2-9e2a-97c9ac5d3930@gambas-basic.org> <4651f982-067a-4b0a-a3ed-769d3d39a376@deganius.de> Message-ID: <80978a2d-71af-6efb-47ff-8e2899eee94b@gmail.com> On 6/10/23 8:11 pm, Christof Thalhofer wrote: > Am 06.10.23 um 07:50 schrieb Fabien Bodard: > >> Mdr tu es ind?crottable ! >> >> Wait to your next benchmark session ? > > He will optimize until time runs backwards. ;-) > Alles Gute > > Christof Thalhofer > and for that reason alone I will stay alive ? btw, what DOES an unmandelbrot look like? b From adamnt42 at gmail.com Fri Oct 6 12:44:58 2023 From: adamnt42 at gmail.com (BB) Date: Fri, 6 Oct 2023 21:14:58 +1030 Subject: [Gambas-user] Fwd: More speed for you... again. In-Reply-To: <80978a2d-71af-6efb-47ff-8e2899eee94b@gmail.com> References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <3425da72-0cf8-4102-bb20-8d67cbd9c917@gambas-basic.org> <0310649a-e97c-40a2-9e2a-97c9ac5d3930@gambas-basic.org> <4651f982-067a-4b0a-a3ed-769d3d39a376@deganius.de> <80978a2d-71af-6efb-47ff-8e2899eee94b@gmail.com> Message-ID: On 6/10/23 8:52 pm, BB wrote: > > On 6/10/23 8:11 pm, Christof Thalhofer wrote: >> Am 06.10.23 um 07:50 schrieb Fabien Bodard: >> >>> Mdr tu es ind?crottable ! >>> >>> Wait to your next benchmark session ? >> >> He will optimize until time runs backwards. ;-) >> Alles Gute >> >> Christof Thalhofer >> > and for that reason alone I will stay alive ? > > btw, what DOES an unmandelbrot look like? > > b > Then again, I just ran a few projects through the IDE with the profiler both off and on. These projects I selected have reasonably complex datasets that are read from text files, parsed and displayed in a tree. Without the profiler I would say that they "feel" quicker but with the profiler turned on they are much slower than previously when run with the profiler. So I assume that the profiler is not very "optimized" as yet. In these projects, I read and parse about 2800 text files that represent "configurations" which results in about 5400 actual objects over 30 or so classes. The time to load previously was about 6 seconds, most of which was as said above the time taken to execute the "new" methods (actual or implied). Now the load time (without the profiler) appears to be about 2 secs, but with the profiler it is over 15 secs. Whereas running them previously with the profiler turned on was about 8 seconds. I admit that these "times" are subjective but hmmmm maybe the profiling code, which is a long lamented (and neglected?) Gambas utility could take a bit of looking at? regards b From benoit.minisini at gambas-basic.org Fri Oct 6 16:02:35 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Fri, 6 Oct 2023 16:02:35 +0200 Subject: [Gambas-user] Fwd: More speed for you... again. In-Reply-To: References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <3425da72-0cf8-4102-bb20-8d67cbd9c917@gambas-basic.org> <0310649a-e97c-40a2-9e2a-97c9ac5d3930@gambas-basic.org> <4651f982-067a-4b0a-a3ed-769d3d39a376@deganius.de> <80978a2d-71af-6efb-47ff-8e2899eee94b@gmail.com> Message-ID: <3e7339e5-3c08-4e0b-bd1a-c9a2490cc6e9@gambas-basic.org> Le 06/10/2023 ? 12:44, BB a ?crit?: > Then again, I just ran a few projects through the IDE with the profiler > both off and on. These projects I selected have reasonably complex > datasets that are read from text files, parsed and displayed in a tree. > Without the profiler I would say that they "feel" quicker but with the > profiler turned on they are much slower than previously when run with > the profiler. So I assume that the profiler is not very "optimized" as yet. > > In these projects, I read and parse about 2800 text files that represent > "configurations" which results in about 5400 actual objects over 30 or > so classes. The time to load previously was about 6 seconds, most of > which was as said above the time taken to execute the "new" methods > (actual or implied). Now the load time (without the profiler) appears to > be about 2 secs, but with the profiler it is over 15 secs. Whereas > running them previously with the profiler turned on was about 8 seconds. > > I admit that these "times" are subjective but hmmmm maybe the profiling > code, which is a long lamented (and neglected?) Gambas utility could > take a bit of looking at? > > regards > > b > I didn't touch to the profiling code at all. But the gcc compiler can do really strange things... Do you recover the speed if you use the stable version of Gambas? -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Fri Oct 6 17:31:12 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Fri, 6 Oct 2023 17:31:12 +0200 Subject: [Gambas-user] Fwd: More speed for you... again. In-Reply-To: <3e7339e5-3c08-4e0b-bd1a-c9a2490cc6e9@gambas-basic.org> References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <3425da72-0cf8-4102-bb20-8d67cbd9c917@gambas-basic.org> <0310649a-e97c-40a2-9e2a-97c9ac5d3930@gambas-basic.org> <4651f982-067a-4b0a-a3ed-769d3d39a376@deganius.de> <80978a2d-71af-6efb-47ff-8e2899eee94b@gmail.com> <3e7339e5-3c08-4e0b-bd1a-c9a2490cc6e9@gambas-basic.org> Message-ID: Le 06/10/2023 ? 16:02, Beno?t Minisini a ?crit?: > Le 06/10/2023 ? 12:44, BB a ?crit?: >> Then again, I just ran a few projects through the IDE with the >> profiler both off and on. These projects I selected have reasonably >> complex datasets that are read from text files, parsed and displayed >> in a tree. Without the profiler I would say that they "feel" quicker >> but with the profiler turned on they are much slower than previously >> when run with the profiler. So I assume that the profiler is not very >> "optimized" as yet. >> >> In these projects, I read and parse about 2800 text files that >> represent "configurations" which results in about 5400 actual objects >> over 30 or so classes. The time to load previously was about 6 >> seconds, most of which was as said above the time taken to execute the >> "new" methods (actual or implied). Now the load time (without the >> profiler) appears to be about 2 secs, but with the profiler it is over >> 15 secs. Whereas running them previously with the profiler turned on >> was about 8 seconds. >> >> I admit that these "times" are subjective but hmmmm maybe the >> profiling code, which is a long lamented (and neglected?) Gambas >> utility could take a bit of looking at? >> >> regards >> >> b >> > > I didn't touch to the profiling code at all. But the gcc compiler can do > really strange things... Do you recover the speed if you use the stable > version of Gambas? > I don't see the profiler being especially slower as before... You need to send me a project that reproduces the problem! -- Beno?t Minisini. From olivier.cruilles at yahoo.fr Fri Oct 6 19:28:41 2023 From: olivier.cruilles at yahoo.fr (Linus) Date: Fri, 6 Oct 2023 13:28:41 -0400 Subject: [Gambas-user] Issue accessing C Library from Gambas References: Message-ID: Hello, For long time I build Classes in Gambas to access to various C Libraries directly. I did it for libssh4, GeoIp and others. For now all worked fine and I was able to figure all cases of Args format to convert in Gambas. Currently, I'm trying to build another Classes for RRDtool library but new cases of Args and of course new 'Segmentation Fault 11" error. Only the function 'rrd_graph' fail and I don't know how to deal with it => int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *) Maybe someone can help me on it: ######## Classe RRDtoolClient ######## ' Gambas class file Export Event rrdError(ErrorMessage As String) ' librrd error ' Error return codes Private Enum RRD_OK = 0, RRD_ERROR = -1, RRD_PARAM = -10 ' Declaration of librrd library Library "librrd" ' Fonction C of the library 'librrd.so' ' int rrd_create(int, char **); ' rrd_info_t *rrd_info(int, char **); ' rrd_info_t *rrd_info_push(rrd_info_t *, char *, rrd_info_type_t, rrd_infoval_t); ' void rrd_info_print( ' rrd_info_t * data); ' void rrd_info_free(rrd_info_t *); ' int rrd_update(int, char **); ' rrd_info_t *rrd_update_v(int, char **); ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); ' rrd_info_t *rrd_graph_v(int, char **); ' int rrd_fetch(int, char **, time_t *, time_t *, unsigned long *, unsigned long *, char ***, rrd_value_t **); ' int rrd_restore(int, char **); ' int rrd_dump(int, char **); ' int rrd_tune(int, char **); ' time_t rrd_last(int, char **); ' int rrd_lastupdate(int argc, char **argv); ' time_t rrd_first(int, char **); ' int rrd_resize(int, char **); ' char *rrd_strversion(void); ' double rrd_version(void); ' int rrd_xport(int, char **, int *, time_t *, time_t *, unsigned long *, unsigned long *, char ***, rrd_value_t **); ' int rrd_flushcached (int argc, char **argv); ' void rrd_freemem(void *mem); ' void rrd_set_error_r (rrd_context_t *, char *, ...) ' void rrd_clear_error_r(rrd_context_t *) ' int rrd_test_error_r (rrd_context_t *) ' char *rrd_get_error_r (rrd_context_t *) Private Extern rrd_create(nbArgs As Integer, rrdcreateOptions As Pointer) As Integer Private Extern rrd_update(nbArgs As Integer, rrdupdateOptions As Pointer) As Integer Private Extern rrd_lastupdate(nbArgs As Integer, rrdOptions As Pointer) As Integer Private Extern rrd_version() As Long Private Extern rrd_strversion() As String Private Extern rrd_clear_error() Private Extern rrd_get_error() As String Private Extern rrd_test_error() As Integer ==> Here is my issue ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); Private Extern rrd_graph(nbArgs As Integer, rrdgraphOptions As Pointer, CalCpr As Pointer, xsize As Integer, ysize As Integer, FileType As Pointer, ymin As Float, ymax As Float) As Integer Public Function rrdgraph(RRDfile As String, RRDGraphValue As String[]) As Integer ' Procedure to Create an RRD Graphic using ' C fonction rrd_graph() Dim rc As Integer Dim ErrorMess As String Dim RRDOption As New String[] Dim NbreOptions As Integer Dim Options As String Dim CalCpr As New String[] Dim PointerCalCpr As Pointer Dim xsize As Integer Dim ysize As Integer Dim FileStream As Pointer Dim ymin As Float Dim ymax As Float If RRDGraphValue = Null Then Return RRD_PARAM End If If RRDGraphValue = Null Then Return RRD_PARAM End If If Trim(RRDfile) = "" Then Return RRD_PARAM End If FileStream = Null RRDOption.Add("rrdgraph") ' RRDOption.Add(RRDfile) ' RRDOption.Insert(RRDGraphValue, RRDOption.Max + 1) RRDOption.Add("") ' char *rrdargs[] = { ' "rrdgraph", ' "mygraph.png", ' "-a", "PNG", ' "--title", "My Fancy Graph", ' "DEF:myval=myfile.rrd:myval:AVERAGE", ' "LINE2:myval#00CC00:The value", ' NULL ' }; xsize = 600 ysize = 300 ymin = 10.0 ymax = 50.0 Options = RRDOption.Join(" ") NbreOptions = RRDOption.Max Print "rrdcreate: " & Options PointerCalCpr = CalCpr.Data rrd_clear_error() rc = rrd_graph(NbreOptions, RRDOption.Data, Pointer@(PointerCalCpr), xsize, ysize, FileStream, ymin, ymax) If rrd_test_error() Or rc <> 0 Then ErrorMess = rrd_get_error() $MessageErreur = "Error creating RRD file: " & ErrorMess & " (" & rc & ")" Raise rrdError($MessageErreur) Return RRD_ERROR End If Return rc ' Example: ' rrd_graph works the same, but has some additional parameters that are ' return values from the rrd_graph function. And this API changed from ' rrdtool 1.0 -> 1.2. So what I do is like this: ' ' char **calcpr = NULL; ' int rrdargcount, xsize, ysize, result; ' double ymin, ymax; ' char *rrdargs[] = { ' "rrdgraph", ' "mygraph.png", ' "-a", "PNG", ' "--title", "My Fancy Graph", ' "DEF:myval=myfile.rrd:myval:AVERAGE", ' "LINE2:myval#00CC00:The value", ' NULL ' }; ' ' optind = opterr = 0; ' rrd_clear_error(); ' #ifdef RRDTOOL12 ' result = rrd_graph(8, rrdargs, &calcpr, &xsize, &ysize, NULL, &ymin, ' &ymax); ' #else ' result = rrd_graph(8, rrdargs, &calcpr, &xsize, &ysize); ' #endif ' ' /* Was it OK ? */ ' if (rrd_test_error() || (result != 0)) { ' if (calcpr) { ' int i; ' for (i=0; (calcpr[i]); i++) free(calcpr[i]); ' calcpr = NULL; ' } ' ' printf("Graph error: %s\n", rrd_get_error()); ' } End I have attached the project into the Email Thank you Olivier Cruilles -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gb.RRDClient-0.1.5.tar.gz Type: application/x-gzip Size: 12542 bytes Desc: not available URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Sat Oct 7 08:12:26 2023 From: adamnt42 at gmail.com (BB) Date: Sat, 7 Oct 2023 16:42:26 +1030 Subject: [Gambas-user] Fwd: More speed for you... again. In-Reply-To: References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <3425da72-0cf8-4102-bb20-8d67cbd9c917@gambas-basic.org> <0310649a-e97c-40a2-9e2a-97c9ac5d3930@gambas-basic.org> <4651f982-067a-4b0a-a3ed-769d3d39a376@deganius.de> <80978a2d-71af-6efb-47ff-8e2899eee94b@gmail.com> <3e7339e5-3c08-4e0b-bd1a-c9a2490cc6e9@gambas-basic.org> Message-ID: <08904366-bdd9-6538-1860-dd5432aa7bf3@gmail.com> On 7/10/23 2:01 am, Beno?t Minisini wrote: > Le 06/10/2023 ? 16:02, Beno?t Minisini a ?crit?: >> Le 06/10/2023 ? 12:44, BB a ?crit?: >>> Then again, I just ran a few projects through the IDE with the >>> profiler both off and on. These projects I selected have reasonably >>> complex datasets that are read from text files, parsed and displayed >>> in a tree. Without the profiler I would say that they "feel" quicker >>> but with the profiler turned on they are much slower than previously >>> when run with the profiler. So I assume that the profiler is not >>> very "optimized" as yet. >>> >>> In these projects, I read and parse about 2800 text files that >>> represent "configurations" which results in about 5400 actual >>> objects over 30 or so classes. The time to load previously was about >>> 6 seconds, most of which was as said above the time taken to execute >>> the "new" methods (actual or implied). Now the load time (without >>> the profiler) appears to be about 2 secs, but with the profiler it >>> is over 15 secs. Whereas running them previously with the profiler >>> turned on was about 8 seconds. >>> >>> I admit that these "times" are subjective but hmmmm maybe the >>> profiling code, which is a long lamented (and neglected?) Gambas >>> utility could take a bit of looking at? >>> >>> regards >>> >>> b >>> >> >> I didn't touch to the profiling code at all. But the gcc compiler can >> do really strange things... Do you recover the speed if you use the >> stable version of Gambas? >> > > I don't see the profiler being especially slower as before... You need > to send me a project that reproduces the problem! > Well, I went back to the stable and the execution times for the profiler are about the same. So I went back a way earlier and ? the profiler times are about the same. I guess it was a subjective "think". sorry b From adamnt42 at gmail.com Sat Oct 7 08:25:27 2023 From: adamnt42 at gmail.com (BB) Date: Sat, 7 Oct 2023 16:55:27 +1030 Subject: [Gambas-user] combobox no longer scrolls with the mousewheel Message-ID: <6fbab640-aac7-265b-8f43-76707c672e9e@gmail.com> Latest rev. I used to be able to use the mouse wheel to scroll through combobox lists. This seems to have gone away? b From benoit.minisini at gambas-basic.org Sat Oct 7 10:08:24 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sat, 7 Oct 2023 10:08:24 +0200 Subject: [Gambas-user] combobox no longer scrolls with the mousewheel In-Reply-To: <6fbab640-aac7-265b-8f43-76707c672e9e@gmail.com> References: <6fbab640-aac7-265b-8f43-76707c672e9e@gmail.com> Message-ID: <53d3bfa4-69f3-4204-abc4-d7deabc8182c@gambas-basic.org> Le 07/10/2023 ? 08:25, BB a ?crit?: > Latest rev. > > I used to be able to use the mouse wheel to scroll through combobox > lists. This seems to have gone away? > > b > It has been disabled for read-write combo-box, not to accidentally lose what you typed inside. But you still can scroll read-only combo-boxes. Regards, -- Beno?t Minisini. From adamnt42 at gmail.com Sat Oct 7 10:39:30 2023 From: adamnt42 at gmail.com (BB) Date: Sat, 7 Oct 2023 19:09:30 +1030 Subject: [Gambas-user] combobox no longer scrolls with the mousewheel In-Reply-To: <53d3bfa4-69f3-4204-abc4-d7deabc8182c@gambas-basic.org> References: <6fbab640-aac7-265b-8f43-76707c672e9e@gmail.com> <53d3bfa4-69f3-4204-abc4-d7deabc8182c@gambas-basic.org> Message-ID: On 7/10/23 6:38 pm, Beno?t Minisini wrote: > Le 07/10/2023 ? 08:25, BB a ?crit?: >> Latest rev. >> >> I used to be able to use the mouse wheel to scroll through combobox >> lists. This seems to have gone away? >> >> b >> > > It has been disabled for read-write combo-box, not to accidentally > lose what you typed inside. But you still can scroll read-only > combo-boxes. > > Regards, > Hmmmm, can't say that I'm overjoyed by that, in terms of backward compatibility. IMO it should only be disabled if the user actually types something in the textbox. And furthermore, if they have typed something then why are they grabbing the mouse and scrolling the wheel unless they mean to. regards b From t.lee.davidson at gmail.com Sat Oct 7 14:28:32 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 7 Oct 2023 08:28:32 -0400 Subject: [Gambas-user] combobox no longer scrolls with the mousewheel In-Reply-To: References: <6fbab640-aac7-265b-8f43-76707c672e9e@gmail.com> <53d3bfa4-69f3-4204-abc4-d7deabc8182c@gambas-basic.org> Message-ID: On 10/7/23 04:39, BB wrote: > IMO it should only be disabled if the user actually types something in the textbox. That seems logical. > And furthermore, if they have typed > something then why are they grabbing the mouse and scrolling the wheel unless they mean?to. Because ... sometimes users do things that make no sense? ;-) -- Lee From gambas.fr at gmail.com Sat Oct 7 14:34:38 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sat, 7 Oct 2023 14:34:38 +0200 Subject: [Gambas-user] Fwd: More speed for you... again. In-Reply-To: <08904366-bdd9-6538-1860-dd5432aa7bf3@gmail.com> References: <824858f3-a333-472f-850f-7755b9534658@gambas-basic.org> <3425da72-0cf8-4102-bb20-8d67cbd9c917@gambas-basic.org> <0310649a-e97c-40a2-9e2a-97c9ac5d3930@gambas-basic.org> <4651f982-067a-4b0a-a3ed-769d3d39a376@deganius.de> <80978a2d-71af-6efb-47ff-8e2899eee94b@gmail.com> <3e7339e5-3c08-4e0b-bd1a-c9a2490cc6e9@gambas-basic.org> <08904366-bdd9-6538-1860-dd5432aa7bf3@gmail.com> Message-ID: A question torments me ... is that the difference in speed between gambas and java or python cannot be attributed to the multithreading capacity of the latter. I seem to have read somewhere that this capability could lead to slowness on single-threaded processes. ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From isafiur at gmail.com Sat Oct 7 15:33:49 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Sat, 7 Oct 2023 19:18:49 +0545 Subject: [Gambas-user] combobox no longer scrolls with the mousewheel Message-ID: Hi Any input control should not get value without explicit input initiation. To write anything in Textbox, TextArea, Checkbox, Radiobutton or any other you have to either click the control or use spacebar/Tab to get focus and only then you can put value. The Read-write combobox getting value without click/focus on control and just by mouse wheel scroll over it caused unintended input of values and put us in dangerous situation for production level applications. If you have a combobox in form and you have a mouse with scroll wheel then you don't know what value the combobox will get. Check this video: http://safiur.com.np/gambas/combobox.webm For example, I wrote something in the second combobox. Now I am at the centre of the second combobox. I want to go to the last combobox to write something leaving other comboboxes in between empty. How will I? If I scroll the mouse wheel to move the scrollview content area, the empty comboboxes will be filled. So I have to click scroll view slider on the right and drag it to bottom taking care no mouse scroll occurs while doing it. -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: From martin.fischer6 at web.de Sat Oct 7 16:02:42 2023 From: martin.fischer6 at web.de (Martin Fischer) Date: Sat, 7 Oct 2023 16:02:42 +0200 Subject: [Gambas-user] [CRASH REPORT] WinPin Message-ID: Hello, Damned, my program crashed Gambas that way : Steps to reproduce: - Run WinPin (the gambas program that crashes the interpreter) minimized to systray - Start the Lazarus IDE in multi-window mode (this is the default after installation) (Just install the version from the repo) - WinPin crashes with an X error I do not know what is so special about the windows of Lazarus. I do not have any problems with other applications... Here is a dump: -------------------------------------------- traps: gbx3[6953] trap int3 ip:7fb635a2d167 sp:7fffa7c73a80 error:0 in libglib-2.0.so.0.7200.4[7fb6359e9000+8f000] Process 6953 (gbx3) of user 1000 dumped core. Found module linux-vdso.so.1 with build-id: d4ef2895c4f9f9cc5a3f37376b7d706744ec7559 Found module libnss_systemd.so.2 with build-id: 9efcd2bc218dcf61b4e13ca2512f7e0e4953cf0c Found module gb.gtk3.x11.so with build-id: 6ca1e2688ac3466b8258aff94cf363ca767892d6 Found module libgvfscommon.so with build-id: e7fa580fb91bb21aac9fc69229e0961dc743f2b1 Found module libgvfsdbus.so with build-id: 28abe694dac468552cc1d23d6f643e7989de85e8 Found module libxkbfile.so.1 with build-id: b585f533dd10bd8c043f887705d4e45828baf206 Found module libxklavier.so.16 with build-id: a581072418d786fb4a1d160ee7143bbd977025e7 Found module libgnomekbd.so.8 with build-id: 636c4ae86d1bff2aa2cb92b39b42e41ff714ec7c Found module libgnomekbdui.so.8 with build-id: e01ea8bdf45e3995a2449f1cb4bd8e6bd886efa5 Found module libxapp.so.1 with build-id: 47c504a90a10f5703881afee628c5cbb8b285da0 Found module libxapp-gtk3-module.so with build-id: 52e54b458e8327bdea03c65d79e37ec3b68ffe55 Found module gb.debug.so with build-id: f233e711580e5cd4e016551059087d9377359d61 Found module gb.eval.so with build-id: 4a35b8d5d0ac56bdb7405185e7990434abee68c8 Found module gb.gui.trayicon.so with build-id: af1751e90b8766567b061b503dc6b7f618a88727 Found module libXtst.so.6 with build-id: ba729667b51a90cf9453f98024bfa44ca25758b7 Found module gb.desktop.x11.so with build-id: 50f6dd6b69438309b34696b767edcaa4187b9d00 Found module gb.dbus.so with build-id: 9d0521d8cec775d5b5c3623913973f58471e6ad5 Found module gb.geom.so with build-id: aca8ac89aa6e37120afe15d6cc7676cc63505893 Found module gb.draw.so with build-id: b747a0f1fa9c3fa5a95ba6562713d7a62714ec36 Found module libgpg-error.so.0 with build-id: 3fbec71c67bee60d8aef00697ee187079b0fb307 Found module libmd.so.0 with build-id: cd2d2f71b3967ebde30e2aa43b8eb63339020c06 Found module libgcrypt.so.20 with build-id: 60a5e524de0ed8323edf33e9eb9127a9eee02359 Found module libcap.so.2 with build-id: b4bf900abf14aabe12d90988ceb30888acb2bcb0 Found module liblz4.so.1 with build-id: a85971851cd059f1af80d553c8e7170d42ec59a1 Found module libzstd.so.1 with build-id: 5d9d0d946a3154a748e87e17af9d14764519237b Found module libbsd.so.0 with build-id: 9a6c72469251e2feb63e175ef5cb944ce6e00df3 Found module libbrotlicommon.so.1 with build-id: 43a72967cf84155914c8b3e915926733d1e57c11 Found module libsystemd.so.0 with build-id: 75127719050b94774f76b6d153ad298b35f7a5f7 Found module libicudata.so.70 with build-id: b1c2496dd0543023c7a19c961bb7f3abc818f465 Found module libpcre2-8.so.0 with build-id: 184a841c55fb7fe5e3873fcda8368c71016cd54c Found module libblkid.so.1 with build-id: cdf95a964e3302bb356fefc4b801fae8c4340b31 Found module libXdmcp.so.6 with build-id: 6b60f99504aa1d3999ea02a14366d1a39d6c5dcf Found module libXau.so.6 with build-id: 7089b383cacbfc1760634a3be19a923e51fe3315 Found module libbrotlidec.so.1 with build-id: 4b1f390dd6e24d49684db8b2443d082379e8e977 Found module libdatrie.so.1 with build-id: 128b6874a47f2b783d9e9060d3caaee4110bfd3d Found module libuuid.so.1 with build-id: 64c0d0cb22fa2bdeca075a0c0418ba5ff314b220 Found module libexpat.so.1 with build-id: d212d1f61d04a1e60fccad1a8c118428cfd9be42 Found module libgraphite2.so.3 with build-id: 5ffbc76fc948f6b88d766a7210c2e6a329a6c278 Found module libatspi.so.0 with build-id: 2843c68233d5ba81da3d6bc31422e49472873dba Found module libdbus-1.so.3 with build-id: 63e8b99215502138cb63afd6d65851a5e837ed49 Found module liblzma.so.5 with build-id: b85da6c48eb60a646615392559483b93617ef265 Found module libicuuc.so.70 with build-id: bef3ff1d70aadd68aab07d858a759360c8b919ae Found module libselinux.so.1 with build-id: 6fa53202ce676297de24873c886443b2759bfd8a Found module libmount.so.1 with build-id: eeb33f2b4b9c3eb0a29575eb9932ef08663bd836 Found module libpcre.so.3 with build-id: 3982f316c887e3ad9598015fa5bae8557320476a Found module libjpeg.so.8 with build-id: c54abff9294357e28532a76a049a4cb2542fc15b Found module libz.so.1 with build-id: 30840b79ac329ecbf1dec0bb60180eed256d319f Found module libXrender.so.1 with build-id: 7ccbfa4c24e93c42fa50dd2e42fa277630f9650c Found module libxcb-render.so.0 with build-id: cb521131fd3b0f2ee6056cbc2014b3b8ef0d5c0e Found module libxcb.so.1 with build-id: 1bef862a339557aa16c34c7a4b27f8f3aea90517 Found module libxcb-shm.so.0 with build-id: edb24ef4079aa423edcc50a3bb0dfb912fe8a57a Found module libpng16.so.16 with build-id: d58bf7c11ac793d528926238d831792b5ef792cf Found module libfreetype.so.6 with build-id: bc6c65a19e6f75fea5e74a7fd6c0b91182e1a8b0 Found module libpixman-1.so.0 with build-id: 5e936cdac032b6048d9d1a8c0bb0e4a10c86d48c Found module libthai.so.0 with build-id: afa54530349e68380815d606d15dbfda8952799f Found module libXext.so.6 with build-id: 9fb1880e02dfa11a8c39cd1a170109de08302059 Found module libwayland-client.so.0 with build-id: a85980f4efa33fa5cadfbf257349fef99d499427 Found module libwayland-egl.so.1 with build-id: e13dfac5961e8fb58c54984fe8110a73c2f5ef99 Found module libwayland-cursor.so.0 with build-id: abcd1ab467757354ac36fd0938b82d47d7aebe1f Found module libxkbcommon.so.0 with build-id: a4b17d939092101dc8f6b2a1d70eaf1fddb2dd51 Found module libXdamage.so.1 with build-id: 8358b7625700dc247fa21fb4304cba877a28bb04 Found module libXcomposite.so.1 with build-id: 2c84db5342304ba1a76db7dd9b7a3bfaa8a716ce Found module libXcursor.so.1 with build-id: d936a5db46d8babb0f2cc490df36b6b18a16d8aa Found module libXrandr.so.2 with build-id: 069f930a2b41f3908a1a92b1a51c38bd13a559e2 Found module libXinerama.so.1 with build-id: 9823bebfa26a681265db4aeb09abf44deec38401 Found module libfontconfig.so.1 with build-id: 0bb435fdd5ec37178e14ea03bb36f779a4b72a94 Found module libharfbuzz.so.0 with build-id: 3b9c495c079286b8d1f55d0937a0a771593eb7e6 Found module libpangoft2-1.0.so.0 with build-id: fc7f13d8298f5e10fb1acbaa5472ec8b6fbf2bd9 Found module libfribidi.so.0 with build-id: 6e075a666e1da8ffdb948d734e75d82b1b6dc0fb Found module libepoxy.so.0 with build-id: 5ea53a2b100e4b044eee19d5222881a724abf046 Found module libatk-bridge-2.0.so.0 with build-id: 7e8009077fbdcd7bf094c51bf78742b96f216d73 Found module libatk-1.0.so.0 with build-id: b93088667fbd06f6b72d273403d352e7c0554698 Found module libXfixes.so.3 with build-id: a9c550a40b8154a3b4b5e2ac182bb50c013c3f18 Found module libXi.so.6 with build-id: 8ff5a3ac871a90fd9d0a7917c61f748a41c6b5ee Found module libX11.so.6 with build-id: 37a5d7bbb78e3a99ea8376a7c80ea0c62fe06494 Found module libgmodule-2.0.so.0 with build-id: 8b369a368c3070d179ddf64724ffc229c3f214b5 Found module libgcc_s.so.1 with build-id: e3a44e0da9c6e835d293ed8fd2882b4c4a87130c Found module libxml2.so.2 with build-id: 1cf4a22fbe15a77baca28e9c824592b8b5d852ff Found module libgio-2.0.so.0 with build-id: 07bd46a1bb58e321e6aabc67135d054e6b78069d Found module libcairo-gobject.so.2 with build-id: 71b5bd37d77ea1862d2ed00e9f6ead482f307db8 Found module libstdc++.so.6 with build-id: e37fe1a879783838de78cbc8c80621fa685d58a2 Found module libglib-2.0.so.0 with build-id: c74e800dfd5f72649d673b44292f4a817e45150b Found module libgobject-2.0.so.0 with build-id: 7c47809b4e688382aab4127a2e07496450c5e6b0 Found module libgdk_pixbuf-2.0.so.0 with build-id: 374b383e3b68b5d8b552519094129f401596e502 Found module libcairo.so.2 with build-id: 60a39c3684e41370bd0a59ed1ecbdccf47e30069 Found module libpango-1.0.so.0 with build-id: 42c8896c53d9d22dc73ba7a78b326d61f34e4442 Found module libpangocairo-1.0.so.0 with build-id: 65987e60b791e0eb6231575b8d5cfd33a6379b22 Found module libgdk-3.so.0 with build-id: 97b768ef80858a79741be2492754d948989e63c6 Found module libgtk-3.so.0 with build-id: 9a340345f5e200f42140f3cb4bacb407e91843f8 Found module librsvg-2.so.2 with build-id: e29ac4267b59a7fa0226e2db1475d480a295b615 Found module gb.gtk3.so with build-id: 91abe8f01239644ad47aea46dc98108274012489 Found module gb.gui.so with build-id: 84f325fbeabc7b99668301ecd50b4d90aed6845e Found module gb.image.so with build-id: c9cfcd57e80601629590de8d7df2718c419b9f07 Found module ld-linux-x86-64.so.2 with build-id: 9718d3757f00d2366056830aae09698dbd35e32c Found module libffi.so.8 with build-id: 59c2a6b204f74f358ca7711d2dfd349d88711f6a Found module libm.so.6 with build-id: d2c7d1fdefc7a876b6017c090ccd55fb21e8d77f Found module libc.so.6 with build-id: a43bfc8428df6623cd498c9c0caeb91aec9be4f9 Found module gbx3 with build-id: 49d08e635abe62e61a72f06f6fded0c3f20dcf78 Stack trace of thread 6953: #0 0x00007fb635a2d167 g_log_writer_default (libglib-2.0.so.0 + 0x61167) #1 0x00007fb635a28cb3 g_log_structured_array (libglib-2.0.so.0 + 0x5ccb3) #2 0x00007fb635a28eb3 g_log_structured_standard (libglib-2.0.so.0 + 0x5ceb3) #3 0x00007fb635dadeb4 n/a (libgdk-3.so.0 + 0x76eb4) #4 0x00007fb6352b69f4 _XError (libX11.so.6 + 0x449f4) #5 0x00007fb6352b6af7 n/a (libX11.so.6 + 0x44af7) #6 0x00007fb6352b85d5 _XReply (libX11.so.6 + 0x465d5) #7 0x00007fb6352975a8 XGetWindowProperty (libX11.so.6 + 0x255a8) #8 0x00007fb6325d0184 n/a (gb.desktop.x11.so + 0x4184) #9 0x00007fb6325d1588 n/a (gb.desktop.x11.so + 0x5588) #10 0x00005559acd8d87b n/a (gbx3 + 0x6d87b) #11 0x00005559acd88a9c n/a (gbx3 + 0x68a9c) #12 0x00005559acd8c74d n/a (gbx3 + 0x6c74d) #13 0x00005559acd8feee n/a (gbx3 + 0x6feee) #14 0x00005559acd88207 n/a (gbx3 + 0x68207) #15 0x00005559acd8c74d n/a (gbx3 + 0x6c74d) #16 0x00005559acd6043f n/a (gbx3 + 0x4043f) #17 0x00005559acd62676 n/a (gbx3 + 0x42676) #18 0x00005559acd880c6 n/a (gbx3 + 0x680c6) #19 0x00005559acd8c74d n/a (gbx3 + 0x6c74d) #20 0x00005559acd6043f n/a (gbx3 + 0x4043f) #21 0x00005559acd62676 n/a (gbx3 + 0x42676) #22 0x00007fb6325d6cd3 n/a (gb.desktop.x11.so + 0xacd3) #23 0x00007fb63257b56a n/a (gb.gtk3.x11.so + 0x256a) #24 0x00007fb635d9ee1f n/a (libgdk-3.so.0 + 0x67e1f) #25 0x00007fb635da7be5 n/a (libgdk-3.so.0 + 0x70be5) #26 0x00007fb635d6da99 gdk_display_get_event (libgdk-3.so.0 + 0x36a99) #27 0x00007fb635da7f46 n/a (libgdk-3.so.0 + 0x70f46) #28 0x00007fb635a21d3b g_main_context_dispatch (libglib-2.0.so.0 + 0x55d3b) #29 0x00007fb635a77258 n/a (libglib-2.0.so.0 + 0xab258) #30 0x00007fb635a1f3e3 g_main_context_iteration (libglib-2.0.so.0 + 0x533e3) #31 0x00007fb636086de5 gtk_main_iteration_do (libgtk-3.so.0 + 0x248de5) #32 0x00007fb63715165a n/a (gb.gtk3.so + 0x6a65a) #33 0x00007fb6371516e2 n/a (gb.gtk3.so + 0x6a6e2) #34 0x00005559acd41340 n/a (gbx3 + 0x21340) #35 0x00007fb63886cd90 __libc_start_call_main (libc.so.6 + 0x29d90) #36 0x00007fb63886ce40 __libc_start_main_impl (libc.so.6 + 0x29e40) #37 0x00005559acd41545 n/a (gbx3 + 0x21545) Stack trace of thread 6954: #0 0x00007fb63895bdbf __GI___poll (libc.so.6 + 0x118dbf) #1 0x00007fb635a771f6 n/a (libglib-2.0.so.0 + 0xab1f6) #2 0x00007fb635a1f3e3 g_main_context_iteration (libglib-2.0.so.0 + 0x533e3) #3 0x00007fb635a1f431 n/a (libglib-2.0.so.0 + 0x53431) #4 0x00007fb635a50a51 n/a (libglib-2.0.so.0 + 0x84a51) #5 0x00007fb6388d7ac3 start_thread (libc.so.6 + 0x94ac3) #6 0x00007fb638969a40 __clone3 (libc.so.6 + 0x126a40) Stack trace of thread 6962: #0 0x00007fb638961a7d syscall (libc.so.6 + 0x11ea7d) #1 0x00007fb635a7104c g_cond_wait_until (libglib-2.0.so.0 + 0xa504c) #2 0x00007fb6359f13e1 n/a (libglib-2.0.so.0 + 0x253e1) #3 0x00007fb6359f1566 g_async_queue_timeout_pop (libglib-2.0.so.0 + 0x25566) #4 0x00007fb635a53759 n/a (libglib-2.0.so.0 + 0x87759) #5 0x00007fb635a50a51 n/a (libglib-2.0.so.0 + 0x84a51) #6 0x00007fb6388d7ac3 start_thread (libc.so.6 + 0x94ac3) #7 0x00007fb638969a40 __clone3 (libc.so.6 + 0x126a40) Stack trace of thread 6955: #0 0x00007fb63895bdbf __GI___poll (libc.so.6 + 0x118dbf) #1 0x00007fb635a771f6 n/a (libglib-2.0.so.0 + 0xab1f6) #2 0x00007fb635a212b3 g_main_loop_run (libglib-2.0.so.0 + 0x552b3) #3 0x00007fb6356d007a n/a (libgio-2.0.so.0 + 0x11507a) #4 0x00007fb635a50a51 n/a (libglib-2.0.so.0 + 0x84a51) #5 0x00007fb6388d7ac3 start_thread (libc.so.6 + 0x94ac3) #6 0x00007fb638969a40 __clone3 (libc.so.6 + 0x126a40) -- ____________________________________ Martin Fischer Hauptstr. 28 02747 Herrnhut OT Rennersdorf O.L. -------------- next part -------------- A non-text attachment was scrubbed... Name: WinPin-0.7.2-crash-231007-155549.tar.bz2 Type: application/x-bzip Size: 21094 bytes Desc: not available URL: From jussi.lahtinen at gmail.com Sat Oct 7 17:46:55 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 7 Oct 2023 18:46:55 +0300 Subject: [Gambas-user] combobox no longer scrolls with the mousewheel In-Reply-To: <53d3bfa4-69f3-4204-abc4-d7deabc8182c@gambas-basic.org> References: <6fbab640-aac7-265b-8f43-76707c672e9e@gmail.com> <53d3bfa4-69f3-4204-abc4-d7deabc8182c@gambas-basic.org> Message-ID: > > It has been disabled for read-write combo-box, not to accidentally lose > what you typed inside. But you still can scroll read-only combo-boxes. > Maybe this should be boolean option. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Sat Oct 7 19:00:52 2023 From: adamnt42 at gmail.com (BB) Date: Sun, 8 Oct 2023 03:30:52 +1030 Subject: [Gambas-user] combobox no longer scrolls with the mousewheel In-Reply-To: References: Message-ID: On 8/10/23 12:03 am, Safiur Rahman wrote: > Hi > > Any input control should not get value without explicit input > initiation. To write anything in Textbox, TextArea, Checkbox, > Radiobutton or any other you have to either click the control or use > spacebar/Tab to get focus and only then you can put value. > > The Read-write combobox getting value without click/focus on control > and just by mouse wheel scroll over it caused unintended input of > values and put us in dangerous situation for production level > applications. If you have a combobox in form and you have a mouse with > scroll wheel then you don't know what value the combobox will get. > > Check this video: http://safiur.com.np/gambas/combobox.webm > > For example, I wrote something in the second combobox. Now I am at the > centre of the second combobox. I want to go to the last combobox to > write something leaving other comboboxes in between empty. How will I? > If I scroll the mouse wheel to move the scrollview content area, the > empty comboboxes will be filled. So I have to click scroll view slider > on the right and drag it to bottom taking care no mouse scroll occurs > while doing it. > > > -- > Regards > Safiur Rahman > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- This is nothing to do with what I am talking about. b -------------- next part -------------- An HTML attachment was scrubbed... URL: From hans at gambas-buch.de Sat Oct 7 19:24:20 2023 From: hans at gambas-buch.de (Hans Lehmann) Date: Sat, 7 Oct 2023 19:24:20 +0200 Subject: [Gambas-user] Controls HPanel and VPanel Message-ID: Hello. The HPanel and VPanel controls have not yet been introduced in the Gambas book. This will only change when qualified answers to the following questions are available. Questions: Are there any use cases for the HPanel and/or VPanel controls that can only be sensibly realised exclusively with these two controls? Does anyone have a suggestion for the use of the HPanel and/or VPanel controls that can help? With kind regards Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: From olivier.cruilles at yahoo.fr Sat Oct 7 20:23:28 2023 From: olivier.cruilles at yahoo.fr (Linus) Date: Sat, 7 Oct 2023 14:23:28 -0400 Subject: [Gambas-user] Issue accessing C Library from Gambas References: Message-ID: Hello, For long time I build Classes in Gambas to access to various C Libraries directly. I did it for libssh4, GeoIp and others. For now all worked fine and I was able to figure all cases of Args format to convert in Gambas. Currently, I'm trying to build another Classes for RRDtool library but new cases of Args and of course new 'Segmentation Fault 11" error. Only the function 'rrd_graph' fail and I don't know how to deal with it => int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *) Maybe someone can help me on it: ######## Classe RRDtoolClient ######## ' Gambas class file Export Event rrdError(ErrorMessage As String) ' librrd error ' Error return codes Private Enum RRD_OK = 0, RRD_ERROR = -1, RRD_PARAM = -10 ' Declaration of librrd library Library "librrd" ' Fonction C of the library 'librrd.so' ' int rrd_create(int, char **); ' rrd_info_t *rrd_info(int, char **); ' rrd_info_t *rrd_info_push(rrd_info_t *, char *, rrd_info_type_t, rrd_infoval_t); ' void rrd_info_print( ' rrd_info_t * data); ' void rrd_info_free(rrd_info_t *); ' int rrd_update(int, char **); ' rrd_info_t *rrd_update_v(int, char **); ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); ' rrd_info_t *rrd_graph_v(int, char **); ' int rrd_fetch(int, char **, time_t *, time_t *, unsigned long *, unsigned long *, char ***, rrd_value_t **); ' int rrd_restore(int, char **); ' int rrd_dump(int, char **); ' int rrd_tune(int, char **); ' time_t rrd_last(int, char **); ' int rrd_lastupdate(int argc, char **argv); ' time_t rrd_first(int, char **); ' int rrd_resize(int, char **); ' char *rrd_strversion(void); ' double rrd_version(void); ' int rrd_xport(int, char **, int *, time_t *, time_t *, unsigned long *, unsigned long *, char ***, rrd_value_t **); ' int rrd_flushcached (int argc, char **argv); ' void rrd_freemem(void *mem); ' void rrd_set_error_r (rrd_context_t *, char *, ...) ' void rrd_clear_error_r(rrd_context_t *) ' int rrd_test_error_r (rrd_context_t *) ' char *rrd_get_error_r (rrd_context_t *) Private Extern rrd_create(nbArgs As Integer, rrdcreateOptions As Pointer) As Integer Private Extern rrd_update(nbArgs As Integer, rrdupdateOptions As Pointer) As Integer Private Extern rrd_lastupdate(nbArgs As Integer, rrdOptions As Pointer) As Integer Private Extern rrd_version() As Long Private Extern rrd_strversion() As String Private Extern rrd_clear_error() Private Extern rrd_get_error() As String Private Extern rrd_test_error() As Integer ==> Here is my issue ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); Private Extern rrd_graph(nbArgs As Integer, rrdgraphOptions As Pointer, CalCpr As Pointer, xsize As Integer, ysize As Integer, FileType As Pointer, ymin As Float, ymax As Float) As Integer Public Function rrdgraph(RRDfile As String, RRDGraphValue As String[]) As Integer ' Procedure to Create an RRD Graphic using ' C fonction rrd_graph() Dim rc As Integer Dim ErrorMess As String Dim RRDOption As New String[] Dim NbreOptions As Integer Dim Options As String Dim CalCpr As New String[] Dim PointerCalCpr As Pointer Dim xsize As Integer Dim ysize As Integer Dim FileStream As Pointer Dim ymin As Float Dim ymax As Float If RRDGraphValue = Null Then Return RRD_PARAM End If If RRDGraphValue = Null Then Return RRD_PARAM End If If Trim(RRDfile) = "" Then Return RRD_PARAM End If FileStream = Null RRDOption.Add("rrdgraph") ' RRDOption.Add(RRDfile) ' RRDOption.Insert(RRDGraphValue, RRDOption.Max + 1) RRDOption.Add("") ' char *rrdargs[] = { ' "rrdgraph", ' "mygraph.png", ' "-a", "PNG", ' "--title", "My Fancy Graph", ' "DEF:myval=myfile.rrd:myval:AVERAGE", ' "LINE2:myval#00CC00:The value", ' NULL ' }; xsize = 600 ysize = 300 ymin = 10.0 ymax = 50.0 Options = RRDOption.Join(" ") NbreOptions = RRDOption.Max Print "rrdcreate: " & Options PointerCalCpr = CalCpr.Data rrd_clear_error() rc = rrd_graph(NbreOptions, RRDOption.Data, Pointer@(PointerCalCpr), xsize, ysize, FileStream, ymin, ymax) If rrd_test_error() Or rc <> 0 Then ErrorMess = rrd_get_error() $MessageErreur = "Error creating RRD file: " & ErrorMess & " (" & rc & ")" Raise rrdError($MessageErreur) Return RRD_ERROR End If Return rc ' Example: ' rrd_graph works the same, but has some additional parameters that are ' return values from the rrd_graph function. And this API changed from ' rrdtool 1.0 -> 1.2. So what I do is like this: ' ' char **calcpr = NULL; ' int rrdargcount, xsize, ysize, result; ' double ymin, ymax; ' char *rrdargs[] = { ' "rrdgraph", ' "mygraph.png", ' "-a", "PNG", ' "--title", "My Fancy Graph", ' "DEF:myval=myfile.rrd:myval:AVERAGE", ' "LINE2:myval#00CC00:The value", ' NULL ' }; ' ' optind = opterr = 0; ' rrd_clear_error(); ' #ifdef RRDTOOL12 ' result = rrd_graph(8, rrdargs, &calcpr, &xsize, &ysize, NULL, &ymin, ' &ymax); ' #else ' result = rrd_graph(8, rrdargs, &calcpr, &xsize, &ysize); ' #endif ' ' /* Was it OK ? */ ' if (rrd_test_error() || (result != 0)) { ' if (calcpr) { ' int i; ' for (i=0; (calcpr[i]); i++) free(calcpr[i]); ' calcpr = NULL; ' } ' ' printf("Graph error: %s\n", rrd_get_error()); ' } End I have attached the project into the Email Thank you Olivier Cruilles -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gb.RRDClient-0.1.5.tar.gz Type: application/x-gzip Size: 12542 bytes Desc: not available URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Sat Oct 7 21:42:04 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Sat, 7 Oct 2023 21:42:04 +0200 (CEST) Subject: [Gambas-user] Issue accessing C Library from Gambas In-Reply-To: References: Message-ID: Hello, This C declaration: ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); In Gambas it would be: ? Private Extern rrd_graph(nbArgs As Integer, rrdgraphOptions As Pointer, CalCpr As Pointer, xsize As Integer, ysize As Integer, FileType As Pointer, ymin As Pointer, ymax As Pointer) As Integer This C line: ' result = rrd_graph(8, rrdargs, &calcpr, &xsize, &ysize, NULL, &ymin, &ymax); in Gambas it would be: rc = rrd_graph(NbreOptions, RRDOption.Data, VarPtr(PointerCalCpr), VarPtr(xsize), VarPtr(ysize), 0, VarPtr(ymin), VarPtr(ymax)) ------------------ 7 ott 2023, 20:24 da user at lists.gambas-basic.org: > Hello, > > For long time I build Classes in Gambas to access to various C Libraries directly. > I did it for libssh4, GeoIp and others. > For now all worked fine and I was able to figure all cases of Args format to convert in Gambas. > > Currently, I'm trying to build another Classes for RRDtool library but new cases of Args and of course new 'Segmentation Fault 11" error. > > Only the function 'rrd_graph' fail and I don't know how to deal with it > > =>?> int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *) > > > Maybe someone can help me on it: > > ######## Classe RRDtoolClient ######## > > ' Gambas class file > > Export > > ? Event rrdError(ErrorMessage As String) ' librrd error > > ? ' Error return codes > ? Private Enum > ? ? RRD_OK = 0, > ? ? RRD_ERROR = -1, > ? ? RRD_PARAM = -10 > > ? ' Declaration of librrd library > ? Library "librrd" > > ? ' Fonction C of the library 'librrd.so' > > ? ' int rrd_create(int, char **); > > ? ' rrd_info_t *rrd_info(int, char **); > ? ' rrd_info_t *rrd_info_push(rrd_info_t *, char *, rrd_info_type_t, rrd_infoval_t); > ? ' void rrd_info_print( > ? ' rrd_info_t * data); > ? ' void rrd_info_free(rrd_info_t *);? > ? ' int rrd_update(int, char **); > ? ' rrd_info_t *rrd_update_v(int, char **); > > ? ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); > > ? ' rrd_info_t *rrd_graph_v(int, char **); > ? ' int rrd_fetch(int, char **, time_t *, time_t *, unsigned long *, unsigned long *, char ***, rrd_value_t **); > ? ' int rrd_restore(int, char **); > ? ' int rrd_dump(int, char **); > ? ' int rrd_tune(int, char **); > ? ' time_t rrd_last(int, char **); > ? ' int rrd_lastupdate(int argc, char **argv); > ? ' time_t rrd_first(int, char **); > ? ' int rrd_resize(int, char **); > ? ' char *rrd_strversion(void); > ? ' double rrd_version(void); > ? ' int rrd_xport(int, char **, int *, time_t *, time_t *, unsigned long *, unsigned long *, char ***, rrd_value_t **); > ? ' int rrd_flushcached (int argc, char **argv); > ? ' void rrd_freemem(void *mem); > > ? ' void ? rrd_set_error_r ?(rrd_context_t *, char *, ...) > ? ' void ? rrd_clear_error_r(rrd_context_t *) > ? ' int ? ?rrd_test_error_r (rrd_context_t *) > ? ' char ?*rrd_get_error_r ?(rrd_context_t *) > > > ? Private Extern rrd_create(nbArgs As Integer, rrdcreateOptions As Pointer) As Integer > ? Private Extern rrd_update(nbArgs As Integer, rrdupdateOptions As Pointer) As Integer > > ? Private Extern rrd_lastupdate(nbArgs As Integer, rrdOptions As Pointer) As Integer > > ? Private Extern rrd_version() As Long > ? Private Extern rrd_strversion() As String > > ? Private Extern rrd_clear_error() > ? Private Extern rrd_get_error() As String > > ? Private Extern rrd_test_error() As Integer > > > ==>?> Here is my issue > > > ? ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); > > ? Private Extern rrd_graph(nbArgs As Integer, rrdgraphOptions As Pointer, CalCpr As Pointer, xsize As Integer, ysize As Integer, FileType As Pointer, ymin As Float, ymax As Float) As Integer > > > > Public Function rrdgraph(RRDfile As String, RRDGraphValue As String[]) As Integer > > ? ' Procedure to Create an RRD Graphic using > ? ' C fonction rrd_graph() > > ? Dim rc As Integer > ? Dim ErrorMess As String > ? Dim RRDOption As New String[] > ? Dim NbreOptions As Integer > ? Dim Options As String > ? Dim CalCpr As New String[] > ? Dim PointerCalCpr As Pointer > ? Dim xsize As Integer > ? Dim ysize As Integer > ? Dim FileStream As Pointer > ? Dim ymin As Float > ? Dim ymax As Float > > ? If RRDGraphValue = Null Then > ? ? Return RRD_PARAM > ? End If > > ? If RRDGraphValue = Null Then > ? ? Return RRD_PARAM > ? End If > > ? If Trim(RRDfile) = "" Then > ? ? Return RRD_PARAM > ? End If > > ? FileStream = Null > > ? RRDOption.Add("rrdgraph") > ? ' > ? RRDOption.Add(RRDfile) > ? ' > ? RRDOption.Insert(RRDGraphValue, RRDOption.Max + 1) > > ? RRDOption.Add("") > > > ? ' ? ? char *rrdargs[] = { > ? ' ? ? ? ? "rrdgraph", > ? ' ? "mygraph.png", > ? ' ? "-a", "PNG", > ? ' ? "--title", "My Fancy Graph", > ? ' ? "DEF:myval=myfile.rrd:myval:AVERAGE", > ? ' ? "LINE2:myval#00CC00:The value", > ? ' ? NULL > ? ' ? ? }; > > ? xsize = 600 > ? ysize = 300 > > ? ymin = 10.0 > ? ymax = 50.0 > > ? Options = RRDOption.Join(" ") > ? NbreOptions = RRDOption.Max > > ? Print "rrdcreate: " & Options > > ? PointerCalCpr = CalCpr.Data > > ? rrd_clear_error() > > ? rc = rrd_graph(NbreOptions, RRDOption.Data, Pointer@(PointerCalCpr), xsize, ysize, FileStream, ymin, ymax) > ? If rrd_test_error() Or rc <> 0 Then > ? ? ErrorMess = rrd_get_error() > ? ? $MessageErreur = "Error creating RRD file: " & ErrorMess & " (" & rc & ")" > ? ? Raise rrdError($MessageErreur) > ? ? Return RRD_ERROR > ? End If > > ? Return rc > > > ? ' Example: > ? ' rrd_graph works the same, but has some additional parameters that are > ? ' return values from the rrd_graph function. And this API changed from > ? ' rrdtool 1.0 -> 1.2. So what I do is like this: > ? '? > ? ' ? ? char **calcpr ?= NULL; > ? ' ? ? int rrdargcount, xsize, ysize, result; > ? ' ? ? double ymin, ymax; > ? ' ? ? char *rrdargs[] = { > ? ' ? ? ? ? "rrdgraph", > ? ' ? "mygraph.png", > ? ' ? "-a", "PNG", > ? ' ? "--title", "My Fancy Graph", > ? ' ? "DEF:myval=myfile.rrd:myval:AVERAGE", > ? ' ? "LINE2:myval#00CC00:The value", > ? ' ? NULL > ? ' ? ? }; > ? '? > ? ' ? ? optind = opterr = 0; > ? ' ? ? rrd_clear_error(); > ? ' #ifdef RRDTOOL12 > ? ' ? ? result = rrd_graph(8, rrdargs, &calcpr, &xsize, &ysize, NULL, &ymin, > ? ' &ymax); > ? ' #else > ? ' ? ? result = rrd_graph(8, rrdargs, &calcpr, &xsize, &ysize); > ? ' #endif > ? '? > ? ' ? ? /* Was it OK ? */ > ? ' ? ? if (rrd_test_error() || (result != 0)) { > ? ' ? ? ? ? if (calcpr) { > ? ' ? ? ? ? ? ? int i; > ? ' ? ? ? ? ? ? for (i=0; (calcpr[i]); i++) free(calcpr[i]); > ? ' ? ? ? ? ? ? calcpr = NULL; > ? ' ? ? ? ? } > ? '? > ? ' ? printf("Graph error: %s\n", rrd_get_error()); > ? ' ? ? } > > End > > I have attached the project into the Email > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Sat Oct 7 21:48:31 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Sat, 7 Oct 2023 21:48:31 +0200 (CEST) Subject: [Gambas-user] Issue accessing C Library from Gambas In-Reply-To: References: Message-ID: I apologize for the clerical error, which I made, I correct: This C declaration: ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); In Gambas it would be: ? Private Extern rrd_graph(nbArgs As Integer, rrdgraphOptions As Pointer, CalCpr As Pointer, xsize As Pointer, ysize As Pointer, FileType As Pointer, ymin As Pointer, ymax As Pointer) As Integer ----- 7 ott 2023, 21:42 da vuott at tutanota.com: > Hello, > > This C declaration: > > ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); > > In Gambas it would be: > > ? Private Extern rrd_graph(nbArgs As Integer, rrdgraphOptions As Pointer, CalCpr As Pointer, xsize As Integer, ysize As Integer, FileType As Pointer, ymin As Pointer, ymax As Pointer) As Integer > > > This C line: > > ' result = rrd_graph(8, rrdargs, &calcpr, &xsize, &ysize, NULL, &ymin, &ymax); > > in Gambas it would be: > > rc = rrd_graph(NbreOptions, RRDOption.Data, VarPtr(PointerCalCpr), VarPtr(xsize), VarPtr(ysize), 0, VarPtr(ymin), VarPtr(ymax)) > > ------------------ > > > > > 7 ott 2023, 20:24 da user at lists.gambas-basic.org: > >> Hello, >> >> For long time I build Classes in Gambas to access to various C Libraries directly. >> I did it for libssh4, GeoIp and others. >> For now all worked fine and I was able to figure all cases of Args format to convert in Gambas. >> >> Currently, I'm trying to build another Classes for RRDtool library but new cases of Args and of course new 'Segmentation Fault 11" error. >> >> Only the function 'rrd_graph' fail and I don't know how to deal with it >> >> =>?>> int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *) >> >> >> Maybe someone can help me on it: >> >> ######## Classe RRDtoolClient ######## >> >> ' Gambas class file >> >> Export >> >> ? Event rrdError(ErrorMessage As String) ' librrd error >> >> ? ' Error return codes >> ? Private Enum >> ? ? RRD_OK = 0, >> ? ? RRD_ERROR = -1, >> ? ? RRD_PARAM = -10 >> >> ? ' Declaration of librrd library >> ? Library "librrd" >> >> ? ' Fonction C of the library 'librrd.so' >> >> ? ' int rrd_create(int, char **); >> >> ? ' rrd_info_t *rrd_info(int, char **); >> ? ' rrd_info_t *rrd_info_push(rrd_info_t *, char *, rrd_info_type_t, rrd_infoval_t); >> ? ' void rrd_info_print( >> ? ' rrd_info_t * data); >> ? ' void rrd_info_free(rrd_info_t *);? >> ? ' int rrd_update(int, char **); >> ? ' rrd_info_t *rrd_update_v(int, char **); >> >> ? ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); >> >> ? ' rrd_info_t *rrd_graph_v(int, char **); >> ? ' int rrd_fetch(int, char **, time_t *, time_t *, unsigned long *, unsigned long *, char ***, rrd_value_t **); >> ? ' int rrd_restore(int, char **); >> ? ' int rrd_dump(int, char **); >> ? ' int rrd_tune(int, char **); >> ? ' time_t rrd_last(int, char **); >> ? ' int rrd_lastupdate(int argc, char **argv); >> ? ' time_t rrd_first(int, char **); >> ? ' int rrd_resize(int, char **); >> ? ' char *rrd_strversion(void); >> ? ' double rrd_version(void); >> ? ' int rrd_xport(int, char **, int *, time_t *, time_t *, unsigned long *, unsigned long *, char ***, rrd_value_t **); >> ? ' int rrd_flushcached (int argc, char **argv); >> ? ' void rrd_freemem(void *mem); >> >> ? ' void ? rrd_set_error_r ?(rrd_context_t *, char *, ...) >> ? ' void ? rrd_clear_error_r(rrd_context_t *) >> ? ' int ? ?rrd_test_error_r (rrd_context_t *) >> ? ' char ?*rrd_get_error_r ?(rrd_context_t *) >> >> >> ? Private Extern rrd_create(nbArgs As Integer, rrdcreateOptions As Pointer) As Integer >> ? Private Extern rrd_update(nbArgs As Integer, rrdupdateOptions As Pointer) As Integer >> >> ? Private Extern rrd_lastupdate(nbArgs As Integer, rrdOptions As Pointer) As Integer >> >> ? Private Extern rrd_version() As Long >> ? Private Extern rrd_strversion() As String >> >> ? Private Extern rrd_clear_error() >> ? Private Extern rrd_get_error() As String >> >> ? Private Extern rrd_test_error() As Integer >> >> >> ==>?>> Here is my issue >> >> >> ? ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); >> >> ? Private Extern rrd_graph(nbArgs As Integer, rrdgraphOptions As Pointer, CalCpr As Pointer, xsize As Integer, ysize As Integer, FileType As Pointer, ymin As Float, ymax As Float) As Integer >> >> >> >> Public Function rrdgraph(RRDfile As String, RRDGraphValue As String[]) As Integer >> >> ? ' Procedure to Create an RRD Graphic using >> ? ' C fonction rrd_graph() >> >> ? Dim rc As Integer >> ? Dim ErrorMess As String >> ? Dim RRDOption As New String[] >> ? Dim NbreOptions As Integer >> ? Dim Options As String >> ? Dim CalCpr As New String[] >> ? Dim PointerCalCpr As Pointer >> ? Dim xsize As Integer >> ? Dim ysize As Integer >> ? Dim FileStream As Pointer >> ? Dim ymin As Float >> ? Dim ymax As Float >> >> ? If RRDGraphValue = Null Then >> ? ? Return RRD_PARAM >> ? End If >> >> ? If RRDGraphValue = Null Then >> ? ? Return RRD_PARAM >> ? End If >> >> ? If Trim(RRDfile) = "" Then >> ? ? Return RRD_PARAM >> ? End If >> >> ? FileStream = Null >> >> ? RRDOption.Add("rrdgraph") >> ? ' >> ? RRDOption.Add(RRDfile) >> ? ' >> ? RRDOption.Insert(RRDGraphValue, RRDOption.Max + 1) >> >> ? RRDOption.Add("") >> >> >> ? ' ? ? char *rrdargs[] = { >> ? ' ? ? ? ? "rrdgraph", >> ? ' ? "mygraph.png", >> ? ' ? "-a", "PNG", >> ? ' ? "--title", "My Fancy Graph", >> ? ' ? "DEF:myval=myfile.rrd:myval:AVERAGE", >> ? ' ? "LINE2:myval#00CC00:The value", >> ? ' ? NULL >> ? ' ? ? }; >> >> ? xsize = 600 >> ? ysize = 300 >> >> ? ymin = 10.0 >> ? ymax = 50.0 >> >> ? Options = RRDOption.Join(" ") >> ? NbreOptions = RRDOption.Max >> >> ? Print "rrdcreate: " & Options >> >> ? PointerCalCpr = CalCpr.Data >> >> ? rrd_clear_error() >> >> ? rc = rrd_graph(NbreOptions, RRDOption.Data, Pointer@(PointerCalCpr), xsize, ysize, FileStream, ymin, ymax) >> ? If rrd_test_error() Or rc <> 0 Then >> ? ? ErrorMess = rrd_get_error() >> ? ? $MessageErreur = "Error creating RRD file: " & ErrorMess & " (" & rc & ")" >> ? ? Raise rrdError($MessageErreur) >> ? ? Return RRD_ERROR >> ? End If >> >> ? Return rc >> >> >> ? ' Example: >> ? ' rrd_graph works the same, but has some additional parameters that are >> ? ' return values from the rrd_graph function. And this API changed from >> ? ' rrdtool 1.0 -> 1.2. So what I do is like this: >> ? '? >> ? ' ? ? char **calcpr ?= NULL; >> ? ' ? ? int rrdargcount, xsize, ysize, result; >> ? ' ? ? double ymin, ymax; >> ? ' ? ? char *rrdargs[] = { >> ? ' ? ? ? ? "rrdgraph", >> ? ' ? "mygraph.png", >> ? ' ? "-a", "PNG", >> ? ' ? "--title", "My Fancy Graph", >> ? ' ? "DEF:myval=myfile.rrd:myval:AVERAGE", >> ? ' ? "LINE2:myval#00CC00:The value", >> ? ' ? NULL >> ? ' ? ? }; >> ? '? >> ? ' ? ? optind = opterr = 0; >> ? ' ? ? rrd_clear_error(); >> ? ' #ifdef RRDTOOL12 >> ? ' ? ? result = rrd_graph(8, rrdargs, &calcpr, &xsize, &ysize, NULL, &ymin, >> ? ' &ymax); >> ? ' #else >> ? ' ? ? result = rrd_graph(8, rrdargs, &calcpr, &xsize, &ysize); >> ? ' #endif >> ? '? >> ? ' ? ? /* Was it OK ? */ >> ? ' ? ? if (rrd_test_error() || (result != 0)) { >> ? ' ? ? ? ? if (calcpr) { >> ? ' ? ? ? ? ? ? int i; >> ? ' ? ? ? ? ? ? for (i=0; (calcpr[i]); i++) free(calcpr[i]); >> ? ' ? ? ? ? ? ? calcpr = NULL; >> ? ' ? ? ? ? } >> ? '? >> ? ' ? printf("Graph error: %s\n", rrd_get_error()); >> ? ' ? ? } >> >> End >> >> I have attached the project into the Email >> >> >> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Sat Oct 7 22:20:02 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 7 Oct 2023 16:20:02 -0400 Subject: [Gambas-user] combobox no longer scrolls with the mousewheel In-Reply-To: References: Message-ID: <39621141-a505-4bf1-9e26-8b04ab004022@gmail.com> On 10/7/23 13:00, BB wrote: > > On 8/10/23 12:03 am, Safiur Rahman wrote: >> Hi >> >> Any input control should not get value without explicit input initiation. To write anything in Textbox, TextArea, Checkbox, >> Radiobutton or any other you have to either click the control or use spacebar/Tab to get focus and only then you can put value. >> >> The Read-write combobox getting value without click/focus on control and just by mouse wheel scroll over it caused unintended >> input of values and put us in dangerous situation for production level applications. If you have a combobox in form and you >> have a mouse with scroll wheel then you don't know what value the combobox will get. >> >> Check this video: http://safiur.com.np/gambas/combobox.webm >> For example, I wrote something in the second combobox. Now I am at the centre of the second combobox. I want to go to the last >> combobox to write something leaving other comboboxes in between empty. How will I? If I scroll the mouse wheel to move the >> scrollview content area, the empty comboboxes will be filled. So I have to click scroll view slider on the right and drag it >> to bottom taking care no mouse scroll occurs while doing it. >> >> >> -- >> Regards >> Safiur Rahman >> >> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > This is nothing to do with what I am talking about. > > b How is it nothing to do with it? In your very first message, you said, "I used to be able to use the mouse wheel to scroll through combobox lists." Safiur is also talking about (inadvertently) scrolling through the combobox list with the mouse wheel. -- Lee From t.lee.davidson at gmail.com Sat Oct 7 22:34:01 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 7 Oct 2023 16:34:01 -0400 Subject: [Gambas-user] Controls HPanel and VPanel In-Reply-To: References: Message-ID: On 10/7/23 13:24, Hans Lehmann wrote: > Are there any use cases for the HPanel and/or VPanel controls that can only be sensibly realised exclusively with these two > controls? HPanel and VPanel look to me like shortcuts to using a Panel with specifically defined properties. The Hpanel documentation states: "It is like a Panel without border whose Arrangement property would be set to Arrange.Row." Likewise for VPanel, it states: "It is like a Panel without border whose Arrangement property would be set to Arrange.Column." Notice that neither one has an Arrangement or a Border property. And, their functionality, I presume, could be accomplished with setting a Panel's properties appropriately. So, how to answer your question? I don't know. Define "sensibly". -- Lee From t.lee.davidson at gmail.com Sat Oct 7 22:44:28 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 7 Oct 2023 16:44:28 -0400 Subject: [Gambas-user] [CRASH REPORT] WinPin In-Reply-To: References: Message-ID: <00556acb-a648-4ec4-a285-fc218fa803b4@gmail.com> On 10/7/23 10:02, Martin Fischer wrote: > Hello, > > Damned,?my?program?crashed?Gambas?that?way?: > > Steps?to?reproduce: > -?Run?WinPin?(the?gambas?program?that?crashes?the?interpreter)?minimized > to?systray > -?Start?the?Lazarus?IDE?in?multi-window?mode?(this?is?the?default?after > installation) > ??(Just?install?the?version?from?the?repo) > -?WinPin?crashes?with?an?X?error > > I?do?not?know?what?is?so?special?about?the?windows?of?Lazarus.?I?do?not > have?any?problems?with?other?applications... No crash here on openSUSE Leap 15.5 (KDE Plasma desktop) and with Lazarus 2.2.4 in multi-window mode. I ran it from the IDE and also from a created executable. BTW, you might want to have your app check to see if it is already running so as to not add yet another entry in the sys-tray. -- Lee From olivier.cruilles at yahoo.fr Sat Oct 7 23:29:43 2023 From: olivier.cruilles at yahoo.fr (Linus) Date: Sat, 7 Oct 2023 17:29:43 -0400 Subject: [Gambas-user] Issue accessing C Library from Gambas In-Reply-To: References: Message-ID: <2B4EF132-7225-48DC-A1C1-D4C2AE85861E@yahoo.fr> Hi Vuott, Thank you very much for the information, it works perfectly now. Olivier Cruilles > Le 7 oct. 2023 ? 15:48, vuott--- via User a ?crit : > > I apologize for the clerical error, which I made, I correct: > > This C declaration: > > ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); > > In Gambas it would be: > > Private Extern rrd_graph(nbArgs As Integer, rrdgraphOptions As Pointer, CalCpr As Pointer, xsize As Pointer, ysize As Pointer, FileType As Pointer, ymin As Pointer, ymax As Pointer) As Integer > > ----- > > > > 7 ott 2023, 21:42 da vuott at tutanota.com: > Hello, > > This C declaration: > > ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); > > In Gambas it would be: > > Private Extern rrd_graph(nbArgs As Integer, rrdgraphOptions As Pointer, CalCpr As Pointer, xsize As Integer, ysize As Integer, FileType As Pointer, ymin As Pointer, ymax As Pointer) As Integer > > > This C line: > > ' result = rrd_graph(8, rrdargs, &calcpr, &xsize, &ysize, NULL, &ymin, &ymax); > > in Gambas it would be: > > rc = rrd_graph(NbreOptions, RRDOption.Data, VarPtr(PointerCalCpr), VarPtr(xsize), VarPtr(ysize), 0, VarPtr(ymin), VarPtr(ymax)) > > ------------------ > > > > > 7 ott 2023, 20:24 da user at lists.gambas-basic.org: > Hello, > > For long time I build Classes in Gambas to access to various C Libraries directly. > I did it for libssh4, GeoIp and others. > For now all worked fine and I was able to figure all cases of Args format to convert in Gambas. > > Currently, I'm trying to build another Classes for RRDtool library but new cases of Args and of course new 'Segmentation Fault 11" error. > > Only the function 'rrd_graph' fail and I don't know how to deal with it > > => int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *) > > > Maybe someone can help me on it: > > ######## Classe RRDtoolClient ######## > > ' Gambas class file > > Export > > Event rrdError(ErrorMessage As String) ' librrd error > > ' Error return codes > Private Enum > RRD_OK = 0, > RRD_ERROR = -1, > RRD_PARAM = -10 > > ' Declaration of librrd library > Library "librrd" > > ' Fonction C of the library 'librrd.so' > > ' int rrd_create(int, char **); > > ' rrd_info_t *rrd_info(int, char **); > ' rrd_info_t *rrd_info_push(rrd_info_t *, char *, rrd_info_type_t, rrd_infoval_t); > ' void rrd_info_print( > ' rrd_info_t * data); > ' void rrd_info_free(rrd_info_t *); > ' int rrd_update(int, char **); > ' rrd_info_t *rrd_update_v(int, char **); > > ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); > > ' rrd_info_t *rrd_graph_v(int, char **); > ' int rrd_fetch(int, char **, time_t *, time_t *, unsigned long *, unsigned long *, char ***, rrd_value_t **); > ' int rrd_restore(int, char **); > ' int rrd_dump(int, char **); > ' int rrd_tune(int, char **); > ' time_t rrd_last(int, char **); > ' int rrd_lastupdate(int argc, char **argv); > ' time_t rrd_first(int, char **); > ' int rrd_resize(int, char **); > ' char *rrd_strversion(void); > ' double rrd_version(void); > ' int rrd_xport(int, char **, int *, time_t *, time_t *, unsigned long *, unsigned long *, char ***, rrd_value_t **); > ' int rrd_flushcached (int argc, char **argv); > ' void rrd_freemem(void *mem); > > ' void rrd_set_error_r (rrd_context_t *, char *, ...) > ' void rrd_clear_error_r(rrd_context_t *) > ' int rrd_test_error_r (rrd_context_t *) > ' char *rrd_get_error_r (rrd_context_t *) > > > Private Extern rrd_create(nbArgs As Integer, rrdcreateOptions As Pointer) As Integer > Private Extern rrd_update(nbArgs As Integer, rrdupdateOptions As Pointer) As Integer > > Private Extern rrd_lastupdate(nbArgs As Integer, rrdOptions As Pointer) As Integer > > Private Extern rrd_version() As Long > Private Extern rrd_strversion() As String > > Private Extern rrd_clear_error() > Private Extern rrd_get_error() As String > > Private Extern rrd_test_error() As Integer > > > ==> Here is my issue > > > ' int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *); > > Private Extern rrd_graph(nbArgs As Integer, rrdgraphOptions As Pointer, CalCpr As Pointer, xsize As Integer, ysize As Integer, FileType As Pointer, ymin As Float, ymax As Float) As Integer > > > > Public Function rrdgraph(RRDfile As String, RRDGraphValue As String[]) As Integer > > ' Procedure to Create an RRD Graphic using > ' C fonction rrd_graph() > > Dim rc As Integer > Dim ErrorMess As String > Dim RRDOption As New String[] > Dim NbreOptions As Integer > Dim Options As String > Dim CalCpr As New String[] > Dim PointerCalCpr As Pointer > Dim xsize As Integer > Dim ysize As Integer > Dim FileStream As Pointer > Dim ymin As Float > Dim ymax As Float > > If RRDGraphValue = Null Then > Return RRD_PARAM > End If > > If RRDGraphValue = Null Then > Return RRD_PARAM > End If > > If Trim(RRDfile) = "" Then > Return RRD_PARAM > End If > > FileStream = Null > > RRDOption.Add("rrdgraph") > ' > RRDOption.Add(RRDfile) > ' > RRDOption.Insert(RRDGraphValue, RRDOption.Max + 1) > > RRDOption.Add("") > > > ' char *rrdargs[] = { > ' "rrdgraph", > ' "mygraph.png", > ' "-a", "PNG", > ' "--title", "My Fancy Graph", > ' "DEF:myval=myfile.rrd:myval:AVERAGE", > ' "LINE2:myval#00CC00:The value", > ' NULL > ' }; > > xsize = 600 > ysize = 300 > > ymin = 10.0 > ymax = 50.0 > > Options = RRDOption.Join(" ") > NbreOptions = RRDOption.Max > > Print "rrdcreate: " & Options > > PointerCalCpr = CalCpr.Data > > rrd_clear_error() > > rc = rrd_graph(NbreOptions, RRDOption.Data, Pointer@(PointerCalCpr), xsize, ysize, FileStream, ymin, ymax) > If rrd_test_error() Or rc <> 0 Then > ErrorMess = rrd_get_error() > $MessageErreur = "Error creating RRD file: " & ErrorMess & " (" & rc & ")" > Raise rrdError($MessageErreur) > Return RRD_ERROR > End If > > Return rc > > > ' Example: > ' rrd_graph works the same, but has some additional parameters that are > ' return values from the rrd_graph function. And this API changed from > ' rrdtool 1.0 -> 1.2. So what I do is like this: > ' > ' char **calcpr = NULL; > ' int rrdargcount, xsize, ysize, result; > ' double ymin, ymax; > ' char *rrdargs[] = { > ' "rrdgraph", > ' "mygraph.png", > ' "-a", "PNG", > ' "--title", "My Fancy Graph", > ' "DEF:myval=myfile.rrd:myval:AVERAGE", > ' "LINE2:myval#00CC00:The value", > ' NULL > ' }; > ' > ' optind = opterr = 0; > ' rrd_clear_error(); > ' #ifdef RRDTOOL12 > ' result = rrd_graph(8, rrdargs, &calcpr, &xsize, &ysize, NULL, &ymin, > ' &ymax); > ' #else > ' result = rrd_graph(8, rrdargs, &calcpr, &xsize, &ysize); > ' #endif > ' > ' /* Was it OK ? */ > ' if (rrd_test_error() || (result != 0)) { > ' if (calcpr) { > ' int i; > ' for (i=0; (calcpr[i]); i++) free(calcpr[i]); > ' calcpr = NULL; > ' } > ' > ' printf("Graph error: %s\n", rrd_get_error()); > ' } > > End > > I have attached the project into the Email > > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Sat Oct 7 23:59:27 2023 From: adamnt42 at gmail.com (BB) Date: Sun, 8 Oct 2023 08:29:27 +1030 Subject: [Gambas-user] combobox no longer scrolls with the mousewheel In-Reply-To: <39621141-a505-4bf1-9e26-8b04ab004022@gmail.com> References: <39621141-a505-4bf1-9e26-8b04ab004022@gmail.com> Message-ID: On 8/10/23 6:50 am, T Lee Davidson wrote: > On 10/7/23 13:00, BB wrote: >> >> On 8/10/23 12:03 am, Safiur Rahman wrote: >>> Hi >>> >>> Any input control should not get value without explicit input >>> initiation. To write anything in Textbox, TextArea, Checkbox, >>> Radiobutton or any other you have to either click the control or use >>> spacebar/Tab to get focus and only then you can put value. >>> >>> The Read-write combobox getting value without click/focus on control >>> and just by mouse wheel scroll over it caused unintended input of >>> values and put us in dangerous situation for production level >>> applications. If you have a combobox in form and you have a mouse >>> with scroll wheel then you don't know what value the combobox will get. >>> >>> Check this video: http://safiur.com.np/gambas/combobox.webm >>> >>> For example, I wrote something in the second combobox. Now I am at >>> the centre of the second combobox. I want to go to the last combobox >>> to write something leaving other comboboxes in between empty. How >>> will I? If I scroll the mouse wheel to move the scrollview content >>> area, the empty comboboxes will be filled. So I have to click scroll >>> view slider on the right and drag it to bottom taking care no mouse >>> scroll occurs while doing it. >>> >>> >>> -- >>> Regards >>> Safiur Rahman >>> >>> ----[http://gambaswiki.org/wiki/doc/netiquette? ]---- >> >> This is nothing to do with what I am talking about. >> >> b > > How is it nothing to do with it? > > In your very first message, you said, "I used to be able to use the > mouse wheel to scroll through combobox > lists." Safiur is also talking about (inadvertently) scrolling through > the combobox list with the mouse wheel. > Because he is talking about scrolling a scrollview and inadvertantly changing a combobox and I am talking about deliberately trying to change a combobox by using the mouse wheel in it. From benoit.minisini at gambas-basic.org Sun Oct 8 00:24:16 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 8 Oct 2023 00:24:16 +0200 Subject: [Gambas-user] combobox no longer scrolls with the mousewheel In-Reply-To: References: <39621141-a505-4bf1-9e26-8b04ab004022@gmail.com> Message-ID: <85e0af06-e846-4d8c-9d30-2f642851e452@gambas-basic.org> Le 07/10/2023 ? 23:59, BB a ?crit?: > > On 8/10/23 6:50 am, T Lee Davidson wrote: >> On 10/7/23 13:00, BB wrote: >>> >>> On 8/10/23 12:03 am, Safiur Rahman wrote: >>>> Hi >>>> >>>> Any input control should not get value without explicit input >>>> initiation. To write anything in Textbox, TextArea, Checkbox, >>>> Radiobutton or any other you have to either click the control or use >>>> spacebar/Tab to get focus and only then you can put value. >>>> >>>> The Read-write combobox getting value without click/focus on control >>>> and just by mouse wheel scroll over it caused unintended input of >>>> values and put us in dangerous situation for production level >>>> applications. If you have a combobox in form and you have a mouse >>>> with scroll wheel then you don't know what value the combobox will get. >>>> >>>> Check this video: http://safiur.com.np/gambas/combobox.webm >>>> >>>> For example, I wrote something in the second combobox. Now I am at >>>> the centre of the second combobox. I want to go to the last combobox >>>> to write something leaving other comboboxes in between empty. How >>>> will I? If I scroll the mouse wheel to move the scrollview content >>>> area, the empty comboboxes will be filled. So I have to click scroll >>>> view slider on the right and drag it to bottom taking care no mouse >>>> scroll occurs while doing it. >>>> >>>> >>>> -- >>>> Regards >>>> Safiur Rahman >>>> >>>> ----[http://gambaswiki.org/wiki/doc/netiquette? ]---- >>> >>> This is nothing to do with what I am talking about. >>> >>> b >> >> How is it nothing to do with it? >> >> In your very first message, you said, "I used to be able to use the >> mouse wheel to scroll through combobox >> lists." Safiur is also talking about (inadvertently) scrolling through >> the combobox list with the mouse wheel. >> > Because he is talking about scrolling a scrollview and inadvertantly > changing a combobox and I am talking about deliberately trying to change > a combobox by using the mouse wheel in it. > This why Safiur asked to disable the mouse wheel on read-write combo-boxes. I have just tested a read-write combo-box in Kate: - Mouse wheel is not disable, it scrolls the items, erasing what you have types in the combo. - It does not support high resolution mouse wheels, a bug I have fixed in the same commit where I disabled the mouse wheel. So I don't know what to do. I understand that changing the contents of a read-write combo-box with the mouse wheel inadvertently is disturbing, but apparently this is how it is already implemented in Qt. As for GTK+, I don't know. Regards, -- Beno?t Minisini. From t.lee.davidson at gmail.com Sun Oct 8 04:10:19 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 7 Oct 2023 22:10:19 -0400 Subject: [Gambas-user] combobox no longer scrolls with the mousewheel In-Reply-To: <85e0af06-e846-4d8c-9d30-2f642851e452@gambas-basic.org> References: <39621141-a505-4bf1-9e26-8b04ab004022@gmail.com> <85e0af06-e846-4d8c-9d30-2f642851e452@gambas-basic.org> Message-ID: <68982f5e-35e7-4573-9f7f-27ddf7e5e20e@gmail.com> On 10/7/23 18:24, Beno?t Minisini wrote: > So?I?don't?know?what?to?do. If the MouseWheel event fired before both the Click and the Change events, and if the MouseWheel event could be made stoppable, that may be a solution. Another possible solution may be what Jussi suggested; making disabling the MouseWheel on read-write ComboBoxes optional. -- Lee From hans at gambas-buch.de Sun Oct 8 10:08:25 2023 From: hans at gambas-buch.de (Hans Lehmann) Date: Sun, 8 Oct 2023 10:08:25 +0200 Subject: [Gambas-user] Controls HPanel and VPanel In-Reply-To: References: Message-ID: <456dbffb-7fe6-4c06-80fb-01f8bcb18552@gambas-buch.de> Hi Lee. Your perspective on the special features of HPanel and VPanel have been helpful to me. Thanks for the reply. My initial tests with these two controls have been more than sobering. No matter what I do, I can't get a neat, defined design with these controls. The arrangement of the elements always depends on the size of the program window. If that's the way it's meant to be, then I seriously wonder who should use it. With kind regards Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: From hans at gambas-buch.de Sun Oct 8 10:14:07 2023 From: hans at gambas-buch.de (Hans Lehmann) Date: Sun, 8 Oct 2023 10:14:07 +0200 Subject: [Gambas-user] Controls HPanel and VPanel In-Reply-To: References: Message-ID: <4833e4f2-1453-44da-a205-4a7f1ea23fbe@gambas-buch.de> Hi Lee. In the HPanel documentation it states: "It is like a panel without a frame, with the Arrange property set to Arrange.Row." Similarly with VPanel, it says: "It's like a panel without a frame whose Arrangement property is set to Arrange.Column." In the Gambas book, in the 'HPanel and VPanel' chapter, I will highlight these above descriptions again and then just refer to the existing 'Panel' chapter. With kind regards Hans -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at servinfo.it Sun Oct 8 10:40:12 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Sun, 8 Oct 2023 10:40:12 +0200 Subject: [Gambas-user] Issue accessing C Library from Gambas In-Reply-To: References: Message-ID: <7ace51ec-1e6c-4be7-bc57-f68ef4c8036b@servinfo.it> Il 07/10/23 20:23, Linus via User ha scritto: > For long time I build Classes in Gambas to access to various C > Libraries directly. > I did it for libssh4, GeoIp and others. Hello , why don't you share the code ? The libssh con be usefull to make a module. :-D From martin.fischer6 at web.de Sun Oct 8 17:46:12 2023 From: martin.fischer6 at web.de (Martin Fischer) Date: Sun, 8 Oct 2023 17:46:12 +0200 Subject: [Gambas-user] [CRASH REPORT] WinPin In-Reply-To: <00556acb-a648-4ec4-a285-fc218fa803b4@gmail.com> References: <00556acb-a648-4ec4-a285-fc218fa803b4@gmail.com> Message-ID: <6b7ee722-eb80-4685-b386-12e92a20b347@web.de> > > I ran it from the IDE and also from a created executable. > Too bad, for me it's 100% reproducable. Here is my environment: [System] Gambas=3.18.4 OperatingSystem=Linux Distribution=Linux Mint 21.2 Victoria Kernel=5.15.0-86-generic Architecture=x86_64 Cores=16 Memory=29939M Language=en_US.UTF-8 Desktop=CINNAMON DesktopResolution=96 DesktopScale=7 WidgetTheme=mint-l-darker Font=Ubuntu,10 [Programs] gcc=gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 git=git version 2.34.1 [Libraries] Cairo=libcairo.so.2.11600.0 Curl=libcurl.so.4.7.0 DBus=libdbus-1.so.3.19.13 GDK2=libgdk-x11-2.0.so.0.2400.33 GDK3=libgdk-3.so.0.2404.29 GStreamer=libgstreamer-1.0.so.0.2003.0 GTK+2=libgtk-x11-2.0.so.0.2400.33 GTK+3=libgtk-3.so.0.2404.29 OpenGL=libGL.so.1.7.0 Poppler=libpoppler.so.118.0.0 QT5=libQt5Core.so.5.15.3 RSvg=librsvg-2.so.2.48.0 SDL=libSDL2-2.0.so.0.18.2 SQLite 3=libsqlite3.so.0.8.6 [Environment] APPMENU_DISPLAY_BOTH=1 CINNAMON_VERSION=5.8.4 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DESKTOP_SESSION=cinnamon DISPLAY=:0 EDITOR=editor GB_GUI=gb.gtk3 GDMSESSION=cinnamon GDM_LANG=en_US GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop GIO_LAUNCHED_DESKTOP_FILE_PID=5644 GJS_DEBUG_OUTPUT=stderr GJS_DEBUG_TOPICS=JS ERROR;JS LOG GNOME_DESKTOP_SESSION_ID=this-is-deprecated GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK3_MODULES=xapp-gtk3-module GTK_MODULES=gail:atk-bridge HOME= LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_ADDRESS=de_DE.UTF-8 LC_ALL=en_US.UTF-8 LC_IDENTIFICATION=de_DE.UTF-8 LC_MEASUREMENT=de_DE.UTF-8 LC_MONETARY=de_DE.UTF-8 LC_NAME=de_DE.UTF-8 LC_NUMERIC=de_DE.UTF-8 LC_PAPER=de_DE.UTF-8 LC_TELEPHONE=de_DE.UTF-8 LC_TIME=de_DE.UTF-8 LOGNAME= PAPERSIZE=a4 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin PWD= QT_ACCESSIBILITY=1 QT_LOGGING_RULES=*.debug=false QT_QPA_PLATFORMTHEME=qt5ct SESSION_MANAGER=local/:@/tmp/.ICE-unix/1994,unix/:/tmp/.ICE-unix/1994 SHELL=/bin/bash SHLVL=0 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh TZ=:/etc/localtime USER= XAUTHORITY=/.Xauthority XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg XDG_CURRENT_DESKTOP=X-Cinnamon XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ XDG_RUNTIME_DIR=/run/user/1000 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=cinnamon XDG_SESSION_ID=c2 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 XDG_SESSION_TYPE=x11 XDG_VTNR=7 From martin.fischer6 at web.de Sun Oct 8 17:48:26 2023 From: martin.fischer6 at web.de (Martin Fischer) Date: Sun, 8 Oct 2023 17:48:26 +0200 Subject: [Gambas-user] [CRASH REPORT] WinPin In-Reply-To: <00556acb-a648-4ec4-a285-fc218fa803b4@gmail.com> References: <00556acb-a648-4ec4-a285-fc218fa803b4@gmail.com> Message-ID: <8780f04f-bf03-44dc-b121-2016248c406d@web.de> and this is the XError i get when running WinPin in IDE: ----------------------------------- (WinPin:6185): Gdk-ERROR **: 17:46:34.721: The program 'WinPin' received an X Window System error. This probably reflects a bug in the program. The error was 'BadWindow (invalid Window parameter)'. (Details: serial 242 error_code 3 request_code 20 (core protocol) minor_code 0) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the GDK_SYNCHRONIZE environment variable to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) From t.lee.davidson at gmail.com Sun Oct 8 18:19:28 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 8 Oct 2023 12:19:28 -0400 Subject: [Gambas-user] [CRASH REPORT] WinPin In-Reply-To: <8780f04f-bf03-44dc-b121-2016248c406d@web.de> References: <00556acb-a648-4ec4-a285-fc218fa803b4@gmail.com> <8780f04f-bf03-44dc-b121-2016248c406d@web.de> Message-ID: <1a9f0a42-bf87-43a0-b886-5704cd6e2716@gmail.com> On 10/8/23 11:48, Martin Fischer wrote: > and this is the XError i get when running WinPin in IDE: > ----------------------------------- > (WinPin:6185): Gdk-ERROR **: 17:46:34.721: The program 'WinPin' received > an X Window System error. > This probably reflects a bug in the program. > The error was 'BadWindow (invalid Window parameter)'. > ? (Details: serial 242 error_code 3 request_code 20 (core protocol) > minor_code 0) > ? (Note to programmers: normally, X errors are reported asynchronously; > ?? that is, you will receive the error a while after causing it. > ?? To debug your program, run it with the GDK_SYNCHRONIZE environment > ?? variable to change this behavior. You can then get a meaningful > ?? backtrace from your debugger if you break on the gdk_x_error() > function.) Your project uses the gb.gui component. So, when running on Cinnamon desktop as you are, it would use GTK. And, when running on the KDE desktop as I do, it would use Qt. As a test, I switched to using the gb.gtk3 component in the project instead of gb.gui. After launching Lazarus in multi-window mode, I could no longer bring up the WinPin UI by clicking on the sys-tray icon. And, upon closing Lazarus, I got the same error as you (with the exception of "serial 2601"): ~~~ (WinPin:11659): Gdk-ERROR **: 12:06:09.436: The program 'WinPin' received an X Window System error. This probably reflects a bug in the program. The error was 'BadWindow (invalid Window parameter)'. (Details: serial 2601 error_code 3 request_code 20 (core protocol) minor_code 0) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the GDK_SYNCHRONIZE environment variable to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) ~~~ So, it's a GTK issue, or an issue with the Gambas GTK interface. -- Lee From benoit.minisini at gambas-basic.org Sun Oct 8 19:17:40 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 8 Oct 2023 19:17:40 +0200 Subject: [Gambas-user] combobox no longer scrolls with the mousewheel In-Reply-To: <68982f5e-35e7-4573-9f7f-27ddf7e5e20e@gmail.com> References: <39621141-a505-4bf1-9e26-8b04ab004022@gmail.com> <85e0af06-e846-4d8c-9d30-2f642851e452@gambas-basic.org> <68982f5e-35e7-4573-9f7f-27ddf7e5e20e@gmail.com> Message-ID: <6e1968d2-455b-430a-bafa-f5f086f6417c@gambas-basic.org> Le 08/10/2023 ? 04:10, T Lee Davidson a ?crit?: > On 10/7/23 18:24, Beno?t Minisini wrote: >> So?I?don't?know?what?to?do. > > If the MouseWheel event fired before both the Click and the Change > events, and if the MouseWheel event could be made stoppable, that may be > a solution. > > Another possible solution may be what Jussi suggested; making disabling > the MouseWheel on read-write ComboBoxes optional. > > OK, here is what I did: - Mouse wheel events are taken into account in all modes again. - But now these events can be catched and stopped in the ComboBox MouseWheel event handler, so that you can disable the default behaviour if you need. Regards, -- Beno?t Minisini. From martin.fischer6 at web.de Sun Oct 8 20:10:10 2023 From: martin.fischer6 at web.de (Martin Fischer) Date: Sun, 8 Oct 2023 20:10:10 +0200 Subject: [Gambas-user] [CRASH REPORT] WinPin In-Reply-To: <1a9f0a42-bf87-43a0-b886-5704cd6e2716@gmail.com> References: <00556acb-a648-4ec4-a285-fc218fa803b4@gmail.com> <8780f04f-bf03-44dc-b121-2016248c406d@web.de> <1a9f0a42-bf87-43a0-b886-5704cd6e2716@gmail.com> Message-ID: <905b4aad-e34c-4e83-ba4a-2314573f0289@web.de> > > Your project uses the gb.gui component. So, when running on Cinnamon > desktop as you are, it would use GTK. And, when running on the KDE > desktop as I do, it would use Qt. > > As a test, I switched to using the gb.gtk3 component in the project > instead of gb.gui. After launching Lazarus in multi-window mode, I could > no longer bring up the WinPin UI by clicking on the sys-tray icon. And, > upon closing Lazarus, I got the same error as you (with the exception of > "serial 2601"): > ~~~ > (WinPin:11659): Gdk-ERROR **: 12:06:09.436: The program 'WinPin' > received an X Window System error. > This probably reflects a bug in the program. > The error was 'BadWindow (invalid Window parameter)'. > ? (Details: serial 2601 error_code 3 request_code 20 (core protocol) > minor_code 0) > ? (Note to programmers: normally, X errors are reported asynchronously; > ?? that is, you will receive the error a while after causing it. > ?? To debug your program, run it with the GDK_SYNCHRONIZE environment > ?? variable to change this behavior. You can then get a meaningful > ?? backtrace from your debugger if you break on the gdk_x_error() > function.) > ~~~ > > So, it's a GTK issue, or an issue with the Gambas GTK interface. > I checked using gb.gui.qt and it worked without crash. Great. But then I turned jit-compilation on again (which I disabled for testing). Bang! I got a segmentation fault. So: yes, qt helps, but I think there is still something fishy here... I attached the project with qt and jit enabled. Note that for me it's the 'Fast' on WindowList::Merge() that triggers the segfault. Remove that Fast and no crash happens. ?Puzzled? Martin ------------------------------ gbx3[3339]: segfault at 78 ip 00007fb4c5d46595 sp 00007ffece9504a0 error 4 in libc.so.6[7fb4c5c38000+195000] Process 3339 (gbx3) of user 1000 dumped core. Found module /tmp/gambas.1000/3339/jit/gb.so with build-id: 55de8a3973501fdf832e39eba0d592d15f4094d7 Found module linux-vdso.so.1 with build-id: d4ef2895c4f9f9cc5a3f37376b7d706744ec7559 Found module libnss_systemd.so.2 with build-id: 9efcd2bc218dcf61b4e13ca2512f7e0e4953cf0c Found module libqsvg.so with build-id: a2073706d05451f261de73248f31da219aecde29 Found module libqjpeg.so with build-id: 22a7976b2acd0786178f59f6e36c5e248578f0f8 Found module libqico.so with build-id: c4a8a18e71c6d1dbcbc31f256a6823d906dc95c6 Found module libqgif.so with build-id: a2408afda18131da1e4381d06c1a7e46f10dd5c2 Found module gb.jit.so with build-id: a363bcdebfc34560da575e45c4659b374a1b1f6a Found module libQt5X11Extras.so.5 with build-id: 8b1c54de9e1e8e5c7b3fb2642e59da4b20a600b7 Found module gb.qt5.x11.so with build-id: 0c0ae528be92edcf8765cfa30d9eaa3de6986709 Found module libmurrine.so with build-id: d87e0599e848e91e309780553b705e202cbb283e Found module libadwaita.so with build-id: b9dc475e6607304c323c812bf75d262b5d79d4e7 Found module libpixmap.so with build-id: b60159b8320ebf6a69d55bb9a3a6b47580448fe0 Found module libatspi.so.0 with build-id: 2843c68233d5ba81da3d6bc31422e49472873dba Found module libatk-bridge-2.0.so.0 with build-id: 7e8009077fbdcd7bf094c51bf78742b96f216d73 Found module libatk-bridge.so with build-id: 4895798be41826790089277c209e73dca98c6be6 Found module libgailutil.so.18 with build-id: 01cb1664b161648cd1f17dfefd381ba26280a4fb Found module libgail.so with build-id: 1f1cd53758851fde3fb29a5617ee212cf4192594 Found module libpcre2-8.so.0 with build-id: 184a841c55fb7fe5e3873fcda8368c71016cd54c Found module libblkid.so.1 with build-id: cdf95a964e3302bb356fefc4b801fae8c4340b31 Found module libdatrie.so.1 with build-id: 128b6874a47f2b783d9e9060d3caaee4110bfd3d Found module libselinux.so.1 with build-id: 6fa53202ce676297de24873c886443b2759bfd8a Found module libmount.so.1 with build-id: eeb33f2b4b9c3eb0a29575eb9932ef08663bd836 Found module libpixman-1.so.0 with build-id: 5e936cdac032b6048d9d1a8c0bb0e4a10c86d48c Found module libthai.so.0 with build-id: afa54530349e68380815d606d15dbfda8952799f Found module libfribidi.so.0 with build-id: 6e075a666e1da8ffdb948d734e75d82b1b6dc0fb Found module libjpeg.so.8 with build-id: c54abff9294357e28532a76a049a4cb2542fc15b Found module libXdamage.so.1 with build-id: 8358b7625700dc247fa21fb4304cba877a28bb04 Found module libXcomposite.so.1 with build-id: 2c84db5342304ba1a76db7dd9b7a3bfaa8a716ce Found module libXrandr.so.2 with build-id: 069f930a2b41f3908a1a92b1a51c38bd13a559e2 Found module libXi.so.6 with build-id: 8ff5a3ac871a90fd9d0a7917c61f748a41c6b5ee Found module libXinerama.so.1 with build-id: 9823bebfa26a681265db4aeb09abf44deec38401 Found module libpangoft2-1.0.so.0 with build-id: fc7f13d8298f5e10fb1acbaa5472ec8b6fbf2bd9 Found module libgio-2.0.so.0 with build-id: 07bd46a1bb58e321e6aabc67135d054e6b78069d Found module libcairo.so.2 with build-id: 60a39c3684e41370bd0a59ed1ecbdccf47e30069 Found module libatk-1.0.so.0 with build-id: b93088667fbd06f6b72d273403d352e7c0554698 Found module libpangocairo-1.0.so.0 with build-id: 65987e60b791e0eb6231575b8d5cfd33a6379b22 Found module libgmodule-2.0.so.0 with build-id: 8b369a368c3070d179ddf64724ffc229c3f214b5 Found module libgobject-2.0.so.0 with build-id: 7c47809b4e688382aab4127a2e07496450c5e6b0 Found module libpango-1.0.so.0 with build-id: 42c8896c53d9d22dc73ba7a78b326d61f34e4442 Found module libgdk_pixbuf-2.0.so.0 with build-id: 374b383e3b68b5d8b552519094129f401596e502 Found module libgdk-x11-2.0.so.0 with build-id: 85bcf9ac8451ed8ab9508f054f9fa1db9bba66b8 Found module libgtk-x11-2.0.so.0 with build-id: 31f3c9d00ff049d7968704e8475d6efb70d4ee5f Found module libqgtk2style.so with build-id: 8594ce75b278d6d78f3f820fa8a3dab0b91d2ad6 Found module libqt5ct-style.so with build-id: e190344fcc0747cc84fc06efe1cd7585879286cc Found module libcomposeplatforminputcontextplugin.so with build-id: 727e6122f03c0e8631879b579b238fc9c6377caf Found module libqt5ct.so with build-id: f45ef63360981b3b7a000633a43e4b573acb9e50 Found module libXfixes.so.3 with build-id: a9c550a40b8154a3b4b5e2ac182bb50c013c3f18 Found module libXcursor.so.1 with build-id: d936a5db46d8babb0f2cc490df36b6b18a16d8aa Found module libxcb-util.so.1 with build-id: 898a03cabe0d55491c4bf447c7399b8bf4e392d8 Found module libuuid.so.1 with build-id: 64c0d0cb22fa2bdeca075a0c0418ba5ff314b220 Found module libexpat.so.1 with build-id: d212d1f61d04a1e60fccad1a8c118428cfd9be42 Found module libxkbcommon.so.0 with build-id: a4b17d939092101dc8f6b2a1d70eaf1fddb2dd51 Found module libxkbcommon-x11.so.0 with build-id: 99c6b6b6c6010c09544caa3c1de42a6f7780a1c2 Found module libICE.so.6 with build-id: cf39da2f7c723f976c6e676704e218513e2b0b2b Found module libSM.so.6 with build-id: 6b32192c8a8870a8fe04403f537e806da93a1dd8 Found module libXrender.so.1 with build-id: 7ccbfa4c24e93c42fa50dd2e42fa277630f9650c Found module libxcb-xinput.so.0 with build-id: f871045f953437452c52724be4a95fe5fe3aef5c Found module libxcb-xkb.so.1 with build-id: ffda354b1a72e3efe2447a3dbc9c29ba3f4e8d63 Found module libxcb-xinerama.so.0 with build-id: 91315926963de468bd7f88c366bc3715100314ef Found module libxcb-xfixes.so.0 with build-id: d6f264cc06fb6c92b5ced2c8f373cf5a5bda0e09 Found module libxcb-sync.so.1 with build-id: 657d8516621c4042b4b221ce1b3525f92467ef7e Found module libxcb-shape.so.0 with build-id: 18eea95584dc231c380edfbac27cd2481b64c079 Found module libxcb-render.so.0 with build-id: cb521131fd3b0f2ee6056cbc2014b3b8ef0d5c0e Found module libxcb-render-util.so.0 with build-id: 7785770a369b562bcf80ad2318f6e9efff59b863 Found module libxcb-randr.so.0 with build-id: 7af27bf3e608d5c06645ad4086788afe8a8447e7 Found module libxcb-keysyms.so.1 with build-id: 19f4ec23135d8b6d5df205c775185520d72f1195 Found module libxcb-shm.so.0 with build-id: edb24ef4079aa423edcc50a3bb0dfb912fe8a57a Found module libxcb-image.so.0 with build-id: 81ce7ad4384f3c9629121be5b18f87c82131e023 Found module libxcb-icccm.so.4 with build-id: 38663873ef7ad5e3f30293a6938a762cd1dd8d90 Found module libX11-xcb.so.1 with build-id: 70f2a36d79c623f42fd70fa7ffb06d8877c74f16 Found module libQt5DBus.so.5 with build-id: 12c53f929e8ff52b7210dc114591dba275d7bad6 Found module libfontconfig.so.1 with build-id: 0bb435fdd5ec37178e14ea03bb36f779a4b72a94 Found module libQt5XcbQpa.so.5 with build-id: 431728065877d9043132d65c1fafedab195974f6 Found module libqxcb.so with build-id: 7eb89a0e052376724c13cd4e22b567d7169c042e Found module gb.debug.so with build-id: f233e711580e5cd4e016551059087d9377359d61 Found module gb.eval.so with build-id: 4a35b8d5d0ac56bdb7405185e7990434abee68c8 Found module gb.gui.trayicon.so with build-id: af1751e90b8766567b061b503dc6b7f618a88727 Found module libXext.so.6 with build-id: 9fb1880e02dfa11a8c39cd1a170109de08302059 Found module libXtst.so.6 with build-id: ba729667b51a90cf9453f98024bfa44ca25758b7 Found module gb.desktop.x11.so with build-id: 50f6dd6b69438309b34696b767edcaa4187b9d00 Found module libgpg-error.so.0 with build-id: 3fbec71c67bee60d8aef00697ee187079b0fb307 Found module libgcrypt.so.20 with build-id: 60a5e524de0ed8323edf33e9eb9127a9eee02359 Found module libcap.so.2 with build-id: b4bf900abf14aabe12d90988ceb30888acb2bcb0 Found module liblz4.so.1 with build-id: a85971851cd059f1af80d553c8e7170d42ec59a1 Found module liblzma.so.5 with build-id: b85da6c48eb60a646615392559483b93617ef265 Found module libsystemd.so.0 with build-id: 75127719050b94774f76b6d153ad298b35f7a5f7 Found module libdbus-1.so.3 with build-id: 63e8b99215502138cb63afd6d65851a5e837ed49 Found module gb.dbus.so with build-id: 9d0521d8cec775d5b5c3623913973f58471e6ad5 Found module gb.geom.so with build-id: aca8ac89aa6e37120afe15d6cc7676cc63505893 Found module gb.draw.so with build-id: b747a0f1fa9c3fa5a95ba6562713d7a62714ec36 Found module libmd.so.0 with build-id: cd2d2f71b3967ebde30e2aa43b8eb63339020c06 Found module libbsd.so.0 with build-id: 9a6c72469251e2feb63e175ef5cb944ce6e00df3 Found module libXdmcp.so.6 with build-id: 6b60f99504aa1d3999ea02a14366d1a39d6c5dcf Found module libXau.so.6 with build-id: 7089b383cacbfc1760634a3be19a923e51fe3315 Found module libbrotlicommon.so.1 with build-id: 43a72967cf84155914c8b3e915926733d1e57c11 Found module libxcb.so.1 with build-id: 1bef862a339557aa16c34c7a4b27f8f3aea90517 Found module libbrotlidec.so.1 with build-id: 4b1f390dd6e24d49684db8b2443d082379e8e977 Found module libX11.so.6 with build-id: 37a5d7bbb78e3a99ea8376a7c80ea0c62fe06494 Found module libpcre.so.3 with build-id: 3982f316c887e3ad9598015fa5bae8557320476a Found module libicudata.so.70 with build-id: b1c2496dd0543023c7a19c961bb7f3abc818f465 Found module libgraphite2.so.3 with build-id: 5ffbc76fc948f6b88d766a7210c2e6a329a6c278 Found module libfreetype.so.6 with build-id: bc6c65a19e6f75fea5e74a7fd6c0b91182e1a8b0 Found module libGLX.so.0 with build-id: ac8b68a74f1ead77477f89bc98998ecb064e3ae5 Found module libGLdispatch.so.0 with build-id: 19c339ecd74c020f1db1342213a07114f4baf5e0 Found module libglib-2.0.so.0 with build-id: c74e800dfd5f72649d673b44292f4a817e45150b Found module libzstd.so.1 with build-id: 5d9d0d946a3154a748e87e17af9d14764519237b Found module libpcre2-16.so.0 with build-id: 6515ac3f6cbdc671b50c214029a92031ed8a1b9f Found module libicuuc.so.70 with build-id: bef3ff1d70aadd68aab07d858a759360c8b919ae Found module libicui18n.so.70 with build-id: ff2dbcdd92cbe5a63d20291e295d8fed9f87d35b Found module libdouble-conversion.so.3 with build-id: 309d9a98f19077dc8f2f8b8456a824f30851548c Found module libmd4c.so.0 with build-id: 2d23f4702a68dc317e32ce7a3e41e0fa7ba93215 Found module libharfbuzz.so.0 with build-id: 3b9c495c079286b8d1f55d0937a0a771593eb7e6 Found module libpng16.so.16 with build-id: d58bf7c11ac793d528926238d831792b5ef792cf Found module libGL.so.1 with build-id: fe7c476406e1e41b511089398540d618177a7dcb Found module libgcc_s.so.1 with build-id: e3a44e0da9c6e835d293ed8fd2882b4c4a87130c Found module libz.so.1 with build-id: 30840b79ac329ecbf1dec0bb60180eed256d319f Found module libstdc++.so.6 with build-id: e37fe1a879783838de78cbc8c80621fa685d58a2 Found module libQt5Core.so.5 with build-id: 4745cda28772e27ab5124c79ddc26da084782cee Found module libQt5Gui.so.5 with build-id: 9732c114cf66c10694879a302e94acd2199646cb Found module libQt5Widgets.so.5 with build-id: 5dfa607522386957ffec95c0a46150c189e064bd Found module libQt5PrintSupport.so.5 with build-id: e84cb2bdc18bf50303505d73767aa905179d4b59 Found module libQt5Svg.so.5 with build-id: 641cddbfcdb33de11626d04417987d104602b9ce Found module gb.qt5.so with build-id: 231a9174d32b9638d9fd3ccb08a31aed128a8182 Found module gb.gui.qt.so with build-id: 9b4c78406feb3fa40c7b14b1c328250e079b277c Found module gb.image.so with build-id: c9cfcd57e80601629590de8d7df2718c419b9f07 Found module ld-linux-x86-64.so.2 with build-id: 9718d3757f00d2366056830aae09698dbd35e32c Found module libffi.so.8 with build-id: 59c2a6b204f74f358ca7711d2dfd349d88711f6a Found module libm.so.6 with build-id: d2c7d1fdefc7a876b6017c090ccd55fb21e8d77f Found module libc.so.6 with build-id: a43bfc8428df6623cd498c9c0caeb91aec9be4f9 Found module gbx3 with build-id: 49d08e635abe62e61a72f06f6fded0c3f20dcf78 Stack trace of thread 3339: #0 0x00007fb4c5d46595 __longjmp_chk (libc.so.6 + 0x136595) #1 0x000055f532636a36 n/a (gbx3 + 0x60a36) #2 0x000055f532636e70 n/a (gbx3 + 0x60e70) #3 0x000055f53264cb07 n/a (gbx3 + 0x76b07) #4 0x000055f5325f7d1a n/a (gbx3 + 0x21d1a) #5 0x00007fb4bffd964c n/a (gb.debug.so + 0x364c) #6 0x00007fb4bffda58d n/a (gb.debug.so + 0x458d) #7 0x00007fb4bffdc384 n/a (gb.debug.so + 0x6384) #8 0x000055f5325f6f87 n/a (gbx3 + 0x20f87) #9 0x00007fb4c5c39d90 __libc_start_call_main (libc.so.6 + 0x29d90) #10 0x00007fb4c5c39e40 __libc_start_main_impl (libc.so.6 + 0x29e40) #11 0x000055f5325f7545 n/a (gbx3 + 0x21545) Stack trace of thread 3349: #0 0x00007fb4c5d28dbf __GI___poll (libc.so.6 + 0x118dbf) #1 0x00007fb4c25921f6 n/a (libglib-2.0.so.0 + 0xab1f6) #2 0x00007fb4c253a3e3 g_main_context_iteration (libglib-2.0.so.0 + 0x533e3) #3 0x00007fb4c33d70b8 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5 + 0x3130b8) #4 0x00007fb4c337c75b _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5 + 0x2b875b) #5 0x00007fb4c318faf2 _ZN7QThread4execEv (libQt5Core.so.5 + 0xcbaf2) #6 0x00007fb4bfd2ff0b n/a (libQt5DBus.so.5 + 0x18f0b) #7 0x00007fb4c3190ca1 n/a (libQt5Core.so.5 + 0xccca1) #8 0x00007fb4c5ca4ac3 start_thread (libc.so.6 + 0x94ac3) #9 0x00007fb4c5d36a40 __clone3 (libc.so.6 + 0x126a40) Stack trace of thread 3340: #0 0x00007fb4c5d28dbf __GI___poll (libc.so.6 + 0x118dbf) #1 0x00007fb4c050c7e2 n/a (libxcb.so.1 + 0xc7e2) #2 0x00007fb4c050e22c xcb_wait_for_event (libxcb.so.1 + 0xe22c) #3 0x00007fb4bfe67d08 n/a (libQt5XcbQpa.so.5 + 0x72d08) #4 0x00007fb4c3190ca1 n/a (libQt5Core.so.5 + 0xccca1) #5 0x00007fb4c5ca4ac3 start_thread (libc.so.6 + 0x94ac3) #6 0x00007fb4c5d36a40 __clone3 (libc.so.6 + 0x126a40) ---------------------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: WinPin-0.7.2.tar.gz Type: application/gzip Size: 17485 bytes Desc: not available URL: From t.lee.davidson at gmail.com Sun Oct 8 21:25:06 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 8 Oct 2023 15:25:06 -0400 Subject: [Gambas-user] [CRASH REPORT] WinPin In-Reply-To: <905b4aad-e34c-4e83-ba4a-2314573f0289@web.de> References: <00556acb-a648-4ec4-a285-fc218fa803b4@gmail.com> <8780f04f-bf03-44dc-b121-2016248c406d@web.de> <1a9f0a42-bf87-43a0-b886-5704cd6e2716@gmail.com> <905b4aad-e34c-4e83-ba4a-2314573f0289@web.de> Message-ID: On 10/8/23 14:10, Martin Fischer wrote: >> >> Your?project?uses?the?gb.gui?component.?So,?when?running?on?Cinnamon >> desktop?as?you?are,?it?would?use?GTK.?And,?when?running?on?the?KDE >> desktop?as?I?do,?it?would?use?Qt. >> >> As?a?test,?I?switched?to?using?the?gb.gtk3?component?in?the?project >> instead?of?gb.gui.?After?launching?Lazarus?in?multi-window?mode,?I?could >> no?longer?bring?up?the?WinPin?UI?by?clicking?on?the?sys-tray?icon.?And, >> upon?closing?Lazarus,?I?got?the?same?error?as?you?(with?the?exception?of >> "serial?2601"): >> ~~~ >> (WinPin:11659):?Gdk-ERROR?**:?12:06:09.436:?The?program?'WinPin' >> received?an?X?Window?System?error. >> This?probably?reflects?a?bug?in?the?program. >> The?error?was?'BadWindow?(invalid?Window?parameter)'. >> ???(Details:?serial?2601?error_code?3?request_code?20?(core?protocol) >> minor_code?0) >> ???(Note?to?programmers:?normally,?X?errors?are?reported?asynchronously; >> ????that?is,?you?will?receive?the?error?a?while?after?causing?it. >> ????To?debug?your?program,?run?it?with?the?GDK_SYNCHRONIZE?environment >> ????variable?to?change?this?behavior.?You?can?then?get?a?meaningful >> ????backtrace?from?your?debugger?if?you?break?on?the?gdk_x_error() >> function.) >> ~~~ >> >> So,?it's?a?GTK?issue,?or?an?issue?with?the?Gambas?GTK?interface. >> > > I?checked?using?gb.gui.qt?and?it?worked?without?crash.?Great. > > But?then?I?turned?jit-compilation?on?again?(which?I?disabled?for?testing). > Bang!?I?got?a?segmentation?fault. > > So:?yes,?qt?helps,?but?I?think?there?is?still?something?fishy?here... > > I?attached?the?project?with?qt?and?jit?enabled. > Note?that?for?me?it's?the?'Fast'?on?WindowList::Merge()?that?triggers > the?segfault.?Remove?that?Fast?and?no?crash?happens. > > ?Puzzled? > Martin I don't know if this is good news or bad news, Martin, but I get no crash even with Fast on WindowList::Merge(). I tried it running both from the IDE and with a compiled executable on the command line. I can pin and unpin Lazarus windows. The only output I get on the command line is a *bunch* of "gb.qt5: warning: unhandled xcb event". -- Lee [System] Gambas=3.18.4 07c51f51 (stable) OperatingSystem=Linux Distribution=openSUSE Leap 15.5 Kernel=5.14.21-150500.55.28-default Architecture=x86_64 Cores=6 Memory=15981M Language=en_US.UTF-8 Desktop=KDE DesktopResolution=96 DesktopScale=7 WidgetTheme=breeze Font=Noto Sans,10 [Programs] clang=clang version 15.0.7 gcc=gcc (SUSE Linux) 7.5.0 git=git version 2.35.3 pngquant=2.11.2 (November 2017) trans=Translate Shell 0.9.7 [Libraries] Cairo=/usr/lib64/libcairo.so.2.11600.0 Curl=/usr/lib64/libcurl.so.4.8.0 DBus=/usr/lib64/libdbus-1.so.3.19.4 GDK2=/usr/lib64/libgdk-x11-2.0.so.0.2400.33 GDK3=/usr/lib64/libgdk-3.so.0.2404.30 GStreamer=/usr/lib64/libgstreamer-1.0.so.0.2200.0 GTK+2=/usr/lib64/libgtk-x11-2.0.so.0.2400.33 GTK+3=/usr/lib64/libgtk-3.so.0.2404.30 OpenGL=/usr/lib64/libGL.so.1.7.0 Poppler=/usr/lib64/libpoppler.so.117.0.0 Poppler=/usr/lib64/libpoppler.so.126.0.0 Poppler=/usr/lib64/libpoppler.so.89.0.0 QT5=/usr/lib64/libQt5Core.so.5.15.8 RSvg=/usr/lib64/librsvg-2.so.2.48.0 SDL=/usr/lib64/libSDL2-2.0.so.0.8.0 SQLite 3=/usr/lib64/libsqlite3.so.0.8.6 [Environment] AUDIODRIVER=pulseaudio COLORTERM=1 CONFIG_SITE=/usr/share/site/x86_64-unknown-linux-gnu CPU=x86_64 CSHEDIT=emacs CVS_RSH=ssh DBUS_SESSION_BUS_ADDRESS=unix:path=/run//1000/bus DESKTOP_SESSION=/usr/share/xsessions/plasma5 DISPLAY=:0 FROM_HEADER= GB_GUI=gb.qt5 GPG_TTY=not a tty GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/.gtkrc-2.0:/.config/gtkrc-2.0 GTK_IM_MODULE=cedilla GTK_MODULES=canberra-gtk-module GTK_RC_FILES=/etc/gtk/gtkrc:/.gtkrc:/.config/gtkrc GUESTFISH_INIT=\e[1;34m GUESTFISH_OUTPUT=\e[0m GUESTFISH_PS1=\[\e[1;32m\]>\[\e[0;31m\] GUESTFISH_RESTORE=\e[0m G_BROKEN_FILENAMES=1 G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252 HISTSIZE=1000 HOME= HOST= HOSTNAME= HOSTTYPE=x86_64 INVOCATION_ID=26a6d1aca20b477cb172a38162f60b91 JAVA_BINDIR=/usr/lib64/jvm/java/bin JAVA_HOME=/usr/lib64/jvm/java JAVA_ROOT=/usr/lib64/jvm/java JDK_HOME=/usr/lib64/jvm/java JOURNAL_STREAM=8:41840 JRE_HOME=/usr/lib64/jvm/java KDE_APPLICATIONS_AS_SCOPE=1 KDE_FULL_SESSION=true KDE_SESSION_UID=1000 KDE_SESSION_VERSION=5 LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LESS=-M -I -R LESSCLOSE=lessclose.sh %s %s LESSKEY=/etc/lesskey.bin LESSOPEN=lessopen.sh %s LESS_ADVANCED_PREPROCESSOR=no LOGNAME= MACHTYPE=x86_64-suse-linux MAIL=/var/spool/mail/ MANAGERPID=6175 MANPATH=/.local/share/man:/usr/local/man:/usr/local/share/man:/usr/share/man MINICOM=-c on MORE=-sl MOZ_GMP_PATH=/usr/lib64/mozilla/plugins/gmp-gmpopenh264/system-installed OSTYPE=linux PAGER=less PAM_KWALLET5_LOGIN=/run//1000/kwallet5.socket PATH=/.local/bin:/bin:/usr/local/bin:/usr/bin:/bin:/opt/ PROFILEREAD=true PWD= PYTHONSTARTUP=/etc/pythonstart QEMU_AUDIO_DRV=pa QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_IM_MODULE=xim QT_IM_SWITCHER=imsw-multi QT_LOGGING_RULES=*.debug=false SDK_HOME=/usr/lib64/jvm/java SESSION_MANAGER=local/:@/tmp/.ICE-unix/6309,unix/:/tmp/.ICE-unix/6309 SHELL=/bin/bash SSH_AGENT_PID=6242 SSH_ASKPASS=/usr/lib/ssh/ssh-askpass SSH_AUTH_SOCK=/tmp/ssh-KyiWGgOihHL3/agent.6192 SYSTEMD_EXEC_PID=6396 TERM=xterm TZ=:/etc/localtime USER= WINDOWMANAGER=/usr/bin/startplasma-x11 XAUTHLOCALHOSTNAME= XAUTHORITY=/run//1000/xauth_Iffiad XCURSOR_SIZE=24 XCURSOR_THEME=breeze_cursors XDG_CONFIG_DIRS=/.config/kdedefaults:/etc/xdg XDG_CURRENT_DESKTOP=KDE XDG_DATA_DIRS=/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share XDG_RUNTIME_DIR=/run//1000 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_CLASS= XDG_SESSION_DESKTOP=KDE XDG_SESSION_ID=4 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1 XDG_SESSION_TYPE=x11 XDG_VTNR=7 XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB XMODIFIERS=@im=local XNLSPATH=/usr/share/X11/nls XSESSION_IS_UP=yes force_s3tc_enable=true From t.lee.davidson at gmail.com Sun Oct 8 21:41:21 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 8 Oct 2023 15:41:21 -0400 Subject: [Gambas-user] combobox no longer scrolls with the mousewheel In-Reply-To: <6e1968d2-455b-430a-bafa-f5f086f6417c@gambas-basic.org> References: <39621141-a505-4bf1-9e26-8b04ab004022@gmail.com> <85e0af06-e846-4d8c-9d30-2f642851e452@gambas-basic.org> <68982f5e-35e7-4573-9f7f-27ddf7e5e20e@gmail.com> <6e1968d2-455b-430a-bafa-f5f086f6417c@gambas-basic.org> Message-ID: <97937477-c685-41a2-a14a-05bb09fe00d7@gmail.com> On 10/8/23 13:17, Beno?t Minisini wrote: > Le 08/10/2023 ? 04:10, T Lee Davidson a ?crit?: >> On 10/7/23 18:24, Beno?t Minisini wrote: >>> So?I?don't?know?what?to?do. >> >> If the MouseWheel event fired before both the Click and the Change events, and if the MouseWheel event could be made >> stoppable, that may be a solution. >> >> Another possible solution may be what Jussi suggested; making disabling the MouseWheel on read-write ComboBoxes optional. >> >> > > OK, here is what I did: > > - Mouse wheel events are taken into account in all modes again. > > - But now these events can be catched and stopped in the ComboBox MouseWheel event handler, so that you can disable the default > behaviour if you need. > > Regards, > That works great. If the MouseWheel event is stopped, neither the Change event nor the Click event fires. This should work for those who wish to scroll through the ComboBox list intentionally and for those who wish to prevent it from happening unintentionally. Beautiful. -- Lee From adamnt42 at gmail.com Sun Oct 8 23:04:07 2023 From: adamnt42 at gmail.com (BB) Date: Mon, 9 Oct 2023 07:34:07 +1030 Subject: [Gambas-user] combobox no longer scrolls with the mousewheel In-Reply-To: <97937477-c685-41a2-a14a-05bb09fe00d7@gmail.com> References: <39621141-a505-4bf1-9e26-8b04ab004022@gmail.com> <85e0af06-e846-4d8c-9d30-2f642851e452@gambas-basic.org> <68982f5e-35e7-4573-9f7f-27ddf7e5e20e@gmail.com> <6e1968d2-455b-430a-bafa-f5f086f6417c@gambas-basic.org> <97937477-c685-41a2-a14a-05bb09fe00d7@gmail.com> Message-ID: On 9/10/23 6:11 am, T Lee Davidson wrote: > On 10/8/23 13:17, Beno?t Minisini wrote: >> Le 08/10/2023 ? 04:10, T Lee Davidson a ?crit?: >>> On 10/7/23 18:24, Beno?t Minisini wrote: >>>> So?I?don't?know?what?to?do. >>> >>> If the MouseWheel event fired before both the Click and the Change >>> events, and if the MouseWheel event could be made stoppable, that >>> may be a solution. >>> >>> Another possible solution may be what Jussi suggested; making >>> disabling the MouseWheel on read-write ComboBoxes optional. >>> >>> >> >> OK, here is what I did: >> >> - Mouse wheel events are taken into account in all modes again. >> >> - But now these events can be catched and stopped in the ComboBox >> MouseWheel event handler, so that you can disable the default >> behaviour if you need. >> >> Regards, >> > > That works great. If the MouseWheel event is stopped, neither the > Change event nor the Click event fires. > > This should work for those who wish to scroll through the ComboBox > list intentionally and for those who wish to prevent it from happening > unintentionally. Beautiful. > > Yes, Thank you Beno?t. From brian at westwoodsvcs.com Mon Oct 9 01:56:08 2023 From: brian at westwoodsvcs.com (Brian G) Date: Sun, 8 Oct 2023 16:56:08 -0700 (PDT) Subject: [Gambas-user] I don't think regexp is working correctly, wrong number of fields are returned Message-ID: <1860315791.25273.1696809368702.JavaMail.zimbra@westwoodsvcs.com> When Using regexp, the last field is never captured, unless I am just doing something wrong? Has anyone else experienced this behavior? Using; Dim MyReg As New Regexp Dim searchstr As String = "(^.*)" & "@mock" & "[(](.*)[)](.*)" MyReg.Compile(searchstr, (RegExp.MultiLine Or RegExp.Caseless)) Dim data = "@mock(\"apple\",\"pear\",2 ,3 ,4 ) 'this is a comment" MyReg.Exec(data) outputs: Count = 3 Field 0 = "@mock(\"apple\",\"pear\",2 ,3 ,4 ) 'this is a comment" Field 1 = "" Field 2 = "\"apple\",\"pear\",2 ,3 ,4 " Dim MyReg As New Regexp Dim searchstr As String = "(^.*)" & "@mock" & "[(](.*)[)](.*)()" ' add an extra dummy field MyReg.Compile(searchstr, (RegExp.MultiLine Or RegExp.Caseless)) Dim data = "@mock(\"apple\",\"pear\",2 ,3 ,4 ) 'this is a comment" MyReg.Exec(data) Outputs: Count = 3 Field 0 = "@mock(\"apple\",\"pear\",2 ,3 ,4 ) 'this is a comment" Field 1 = "" Field 2 = "\"apple\",\"pear\",2 ,3 ,4 " Field 3 = " 'this is a comment" "Failure is the key to success; each mistake teaches us something" .. Morihei Ueshiba Brian G -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestRegExpFields-0.0.1.tar.gz Type: application/x-gzip Size: 4112 bytes Desc: not available URL: From t.lee.davidson at gmail.com Mon Oct 9 02:34:20 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 8 Oct 2023 20:34:20 -0400 Subject: [Gambas-user] I don't think regexp is working correctly, wrong number of fields are returned In-Reply-To: <1860315791.25273.1696809368702.JavaMail.zimbra@westwoodsvcs.com> References: <1860315791.25273.1696809368702.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <6d2ec7ef-f126-4d68-9ba2-6c0a732870b9@gmail.com> On 10/8/23 19:56, Brian G wrote: > When Using regexp, the last field is never captured, unless I am just doing something wrong? You are. ;-) I can't count how many times I've done similarly. Try this: [code] Sub printReg(MyReg As RegExp) Print "Count =";; MyReg.Count For i As Integer = 0 To MyReg.Count ' Not Count - 1 Print "Field";; i;; "=";; Quote(MyReg[i].text) Next End [/code] https://gambaswiki.org/wiki/comp/gb.pcre/regexp/_get : "The index of the first submatch is 1, and the index of the last one is the Count property." -- Lee From brian at westwoodsvcs.com Mon Oct 9 06:39:31 2023 From: brian at westwoodsvcs.com (brian) Date: Sun, 8 Oct 2023 21:39:31 -0700 Subject: [Gambas-user] I don't think regexp is working correctly, wrong number of fields are returned In-Reply-To: <6d2ec7ef-f126-4d68-9ba2-6c0a732870b9@gmail.com> References: <1860315791.25273.1696809368702.JavaMail.zimbra@westwoodsvcs.com>, <6d2ec7ef-f126-4d68-9ba2-6c0a732870b9@gmail.com> Message-ID: <8AA683D1-55C4-6444-9823-41FF9ACA70C2@hxcore.ol> An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Mon Oct 9 06:38:49 2023 From: brian at westwoodsvcs.com (brian) Date: Sun, 8 Oct 2023 21:38:49 -0700 Subject: [Gambas-user] I don't think regexp is working correctly, wrong number of fields are returned In-Reply-To: <6d2ec7ef-f126-4d68-9ba2-6c0a732870b9@gmail.com> References: <1860315791.25273.1696809368702.JavaMail.zimbra@westwoodsvcs.com>, <6d2ec7ef-f126-4d68-9ba2-6c0a732870b9@gmail.com> Message-ID: An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Mon Oct 9 06:40:26 2023 From: brian at westwoodsvcs.com (brian) Date: Sun, 8 Oct 2023 21:40:26 -0700 Subject: [Gambas-user] I don't think regexp is working correctly, wrong number of fields are returned In-Reply-To: <6d2ec7ef-f126-4d68-9ba2-6c0a732870b9@gmail.com> References: <1860315791.25273.1696809368702.JavaMail.zimbra@westwoodsvcs.com>, <6d2ec7ef-f126-4d68-9ba2-6c0a732870b9@gmail.com> Message-ID: <6C4AF464-596A-6C42-8852-9045DAE17904@hxcore.ol> An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Mon Oct 9 06:42:33 2023 From: brian at westwoodsvcs.com (brian) Date: Sun, 8 Oct 2023 21:42:33 -0700 Subject: [Gambas-user] I don't think regexp is working correctly, wrong number of fields are returned In-Reply-To: <6d2ec7ef-f126-4d68-9ba2-6c0a732870b9@gmail.com> References: <1860315791.25273.1696809368702.JavaMail.zimbra@westwoodsvcs.com>, <6d2ec7ef-f126-4d68-9ba2-6c0a732870b9@gmail.com> Message-ID: <2E0869CC-E6AF-9D42-B68A-E9E6BD7107F3@hxcore.ol> An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Mon Oct 9 06:45:02 2023 From: brian at westwoodsvcs.com (brian) Date: Sun, 8 Oct 2023 21:45:02 -0700 Subject: [Gambas-user] I don't think regexp is working correctly, wrong number of fields are returned In-Reply-To: <6C4AF464-596A-6C42-8852-9045DAE17904@hxcore.ol> References: <1860315791.25273.1696809368702.JavaMail.zimbra@westwoodsvcs.com>, <6d2ec7ef-f126-4d68-9ba2-6c0a732870b9@gmail.com>, <6C4AF464-596A-6C42-8852-9045DAE17904@hxcore.ol> Message-ID: <85FF8E20-7651-F541-98CD-A6F1E48FFDF4@hxcore.ol> An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Mon Oct 9 10:09:22 2023 From: adamnt42 at gmail.com (BB) Date: Mon, 9 Oct 2023 18:39:22 +1030 Subject: [Gambas-user] How to reduce the size of PDFs generated with PDFSurface/Cairo In-Reply-To: References: Message-ID: <339544fb-c839-a85c-6953-786aaccbba4c@gmail.com> On 30/9/23 1:05 am, Claus Dietrich wrote: > > Hi > > I am using the Gambas PDFSurface and Cairo to generate and assemble > multi-page PDFs. > > When I insert a jpg-image from my scanner (A4 size, 300dpi, 90% > quality) with a size of 730 kB? the resulting single page PDF is blown > up to a size of 2.8 MB. A stripped down demo project is attached: > > https://send.vis.ee/download/62247b9c0d0529a1/#JidKAJn64IdF4G1c-4B07A > > Does anyone know a way to obtain a PDF file with a similar size (resp. > compression) like the source image by using native Gambas means > (=without installing tools like ImageMagick)? > > Best regards > > Claus > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Claus, I don't see that you ever got a reply on this, so just a bit of information from me on it. I don't know how you could reduce the size as from my "memory" pdf used to and maybe still does include all kinds of images as a dot-by-dot set of "portable" print instructions. That is for each image pixel it creates approximately 4 pdf (byte code) statements. Years ago I remember I had to tell the (ahem) "less experienced" graphics designers never to use any shade of yellow in their pictures as that blew the pdf size out by about 64 bytes per pixel i.e about 32 times the size of the image. So 4 times the original image size would be a "good outcome" in my opinion. As far as I know pdf still doesn't know fig-all about image formats. hth b -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Mon Oct 9 10:37:12 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Mon, 9 Oct 2023 10:37:12 +0200 Subject: [Gambas-user] I don't think regexp is working correctly, wrong number of fields are returned In-Reply-To: <6d2ec7ef-f126-4d68-9ba2-6c0a732870b9@gmail.com> References: <1860315791.25273.1696809368702.JavaMail.zimbra@westwoodsvcs.com> <6d2ec7ef-f126-4d68-9ba2-6c0a732870b9@gmail.com> Message-ID: Le 09/10/2023 ? 02:34, T Lee Davidson a ?crit?: > On 10/8/23 19:56, Brian G wrote: >> When Using regexp, the last field is never captured, unless I am just >> doing something wrong? > > You are. ;-)? I can't count how many times I've done similarly. > > Try this: > [code] > Sub printReg(MyReg As RegExp) > > ??? Print "Count =";; MyReg.Count > ??? For i As Integer = 0 To MyReg.Count ' Not Count - 1 > ??????? Print "Field";; i;; "=";; Quote(MyReg[i].text) > ??? Next > > End > [/code] > > https://gambaswiki.org/wiki/comp/gb.pcre/regexp/_get : > "The index of the first submatch is 1, and the index of the last one is > the Count property." > Yeah, the interface of the RegExp class is silly, but I can't change it because of backward compatibility. Usually I am happy with Gambas classes interface. But with that one I didn't initially designed, I was not careful enough. I take that as a lesson! Regards, -- Beno?t Minisini. From roberto.premoli at tiscali.it Mon Oct 9 12:21:33 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Mon, 09 Oct 2023 12:21:33 +0200 Subject: [Gambas-user] Question about tooltip: font size and duration of view Message-ID: <5634c6550f16c90e170382dbc7e6e6fc@tiscali.it> LEt say I have the follo label: label1.text = "test" label1.tooltip = "This label is a test" I can manage font size of label with label1.font.size += 3 but I wish to increase also the font in the tooltip but unfortunately does not exist command like the follow: label1.tooltip.font.size += 3 So i ask: is it possible to resize the font size of tooltip or ar they a fixed size? Second question: i place cursor on label1 and tooltip popup after about 1 second and stay visible for about 13 seconds, then disappear: it is possible to change the duration, and make it longher? some as: label1.tooltip.visibletime = 30 ? Thanks Roberto -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Mon Oct 9 12:40:21 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Mon, 9 Oct 2023 12:40:21 +0200 Subject: [Gambas-user] Question about tooltip: font size and duration of view In-Reply-To: <5634c6550f16c90e170382dbc7e6e6fc@tiscali.it> References: <5634c6550f16c90e170382dbc7e6e6fc@tiscali.it> Message-ID: <7e8b56e3-da60-470e-8f0f-923be06bd2b5@gambas-basic.org> Le 09/10/2023 ? 12:21, roberto.premoli at tiscali.it a ?crit?: > LEt say I have the follo label: > > label1.text = "test" > label1.tooltip = "This label is a test" > > I can manage font size of label with > label1.font.size += 3 > > but I wish to increase also the font in the tooltip but unfortunately does not exist command like the follow: > > label1.tooltip.font.size += 3 > > So i ask: is it possible to resize the font size of tooltip or ar they a fixed size? > > Second question: i place cursor on label1 and tooltip popup after about 1 second and stay visible for about 13 seconds, then disappear: it is possible to change the duration, and make it longher? > > some as: > > label1.tooltip.visibletime = 30 ? > > Thanks > Roberto > It's not possible in Gambas. It's possible in Qt an GTK+, both in different ways, and with some elbow grease, but it would be a bit difficult to create a common interface for that. Regards, -- Beno?t Minisini. From gambas.fr at gmail.com Mon Oct 9 12:57:00 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 9 Oct 2023 12:57:00 +0200 Subject: [Gambas-user] How to reduce the size of PDFs generated with PDFSurface/Cairo In-Reply-To: <339544fb-c839-a85c-6953-786aaccbba4c@gmail.com> References: <339544fb-c839-a85c-6953-786aaccbba4c@gmail.com> Message-ID: Pdf size is a big deal fore too. I will have a look Le lun. 9 oct. 2023 ? 10:10, BB a ?crit : > > On 30/9/23 1:05 am, Claus Dietrich wrote: > > Hi > > I am using the Gambas PDFSurface and Cairo to generate and assemble > multi-page PDFs. > > When I insert a jpg-image from my scanner (A4 size, 300dpi, 90% quality) > with a size of 730 kB the resulting single page PDF is blown up to a size > of 2.8 MB. A stripped down demo project is attached: > > https://send.vis.ee/download/62247b9c0d0529a1/#JidKAJn64IdF4G1c-4B07A > > Does anyone know a way to obtain a PDF file with a similar size (resp. > compression) like the source image by using native Gambas means (=without > installing tools like ImageMagick)? > > Best regards > Claus > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi Claus, I don't see that you ever got a reply on this, so just a bit of > information from me on it. I don't know how you could reduce the size as > from my "memory" pdf used to and maybe still does include all kinds of > images as a dot-by-dot set of "portable" print instructions. That is for > each image pixel it creates approximately 4 pdf (byte code) statements. > Years ago I remember I had to tell the (ahem) "less experienced" graphics > designers never to use any shade of yellow in their pictures as that blew > the pdf size out by about 64 bytes per pixel i.e about 32 times the size of > the image. So 4 times the original image size would be a "good outcome" in > my opinion. As far as I know pdf still doesn't know fig-all about image > formats. > > hth > > b > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Oct 9 12:58:22 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 9 Oct 2023 11:58:22 +0100 Subject: [Gambas-user] Question about tooltip: font size and duration of view In-Reply-To: <5634c6550f16c90e170382dbc7e6e6fc@tiscali.it> References: <5634c6550f16c90e170382dbc7e6e6fc@tiscali.it> Message-ID: Tooltip setting will by handled by the underlying toolkit. So change main system fonts to change tooltips. You could always make your own tooltip routine using Balloon.class Balloon gives more control. BruceS On Mon, 9 Oct 2023, 11:22 , wrote: > LEt say I have the follo label: > > label1.text = "test" > label1.tooltip = "This label is a test" > > I can manage font size of label with > label1.font.size += 3 > > but I wish to increase also the font in the tooltip but unfortunately does not exist command like the follow: > > label1.tooltip.font.size += 3 > > So i ask: is it possible to resize the font size of tooltip or ar they a fixed size? > > Second question: i place cursor on label1 and tooltip popup after about 1 second and stay visible for about 13 seconds, then disappear: it is possible to change the duration, and make it longher? > > some as: > > label1.tooltip.visibletime = 30 ? > > Thanks > Roberto > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Mon Oct 9 13:07:53 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Mon, 9 Oct 2023 13:07:53 +0200 (CEST) Subject: [Gambas-user] Question about tooltip: font size and duration of view In-Reply-To: <5634c6550f16c90e170382dbc7e6e6fc@tiscali.it> References: <5634c6550f16c90e170382dbc7e6e6fc@tiscali.it> Message-ID: ? is it possible to resize the font size of tooltip ? Yes, it's possible. ToolTip supports html protocol tags. Therefore we can use those tags. Optimal results will be obtained by using QT resources. Exemplum: ? Private Const FONTSIZE As Byte = 18 Public Sub Form_Open() ? With Label1 ??? .Font.Size = FONTSIZE ??? .Text = "test" ??? .Tooltip = "This label is a test" ? End With End ---------------------------------------- 9 ott 2023, 12:22 da roberto.premoli at tiscali.it: > LEt say I have the follo label: > > label1.text = "test" > label1.tooltip = "This label is a test" > > I can manage font size of label with > label1.font.size += 3 > > but I wish to increase also the font in the tooltip but unfortunately does not exist command like the follow: > > label1.tooltip.font.size += 3 > > So i ask: is it possible to resize the font size of tooltip or ar they a fixed size? > > Second question: i place cursor on label1 and tooltip popup after about 1 second and stay visible for about 13 seconds, then disappear: it is possible to change the duration, and make it longher? > > some as: > > label1.tooltip.visibletime = 30 ? > > Thanks > Roberto > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Mon Oct 9 13:22:22 2023 From: brian at westwoodsvcs.com (brian) Date: Mon, 9 Oct 2023 04:22:22 -0700 Subject: [Gambas-user] I don't think regexp is working correctly, wrong number of fields are returned In-Reply-To: References: <1860315791.25273.1696809368702.JavaMail.zimbra@westwoodsvcs.com> <6d2ec7ef-f126-4d68-9ba2-6c0a732870b9@gmail.com>, Message-ID: An HTML attachment was scrubbed... URL: From vuott at tutanota.com Mon Oct 9 13:30:15 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Mon, 9 Oct 2023 13:30:15 +0200 (CEST) Subject: [Gambas-user] Question about tooltip: font size and duration of view In-Reply-To: <5634c6550f16c90e170382dbc7e6e6fc@tiscali.it> References: <5634c6550f16c90e170382dbc7e6e6fc@tiscali.it> Message-ID: ??it is possible to change the duration, and make it longher? ? Yes, it's possible by using Timer. Exemplum: Private Const FONTSIZE As Byte = 18 Private b As Byte Public Sub Form_Open() ? Label1.Font.Size = FONTSIZE ? Label1.Text = "test" End Public Sub Label1_Enter() ? With Timer1?? ?? .delay = 1000 ?? .Start?? ? End With End Public Sub Label1_Leave() ? b = 0 End Public Sub Timer1_Timer() ? Label1.Tooltip = "Counting: " & CStr(b) ? If b = 20 Then ' We null the "ToolTip," assigning it string value "Null." ??? Label1.Tooltip = Null ??? b = 0 ? Endif Inc b End ---------------------------------------- 9 ott 2023, 12:22 da roberto.premoli at tiscali.it: > LEt say I have the follo label: > > label1.text = "test" > label1.tooltip = "This label is a test" > > I can manage font size of label with > label1.font.size += 3 > > but I wish to increase also the font in the tooltip but unfortunately does not exist command like the follow: > > label1.tooltip.font.size += 3 > > So i ask: is it possible to resize the font size of tooltip or ar they a fixed size? > > Second question: i place cursor on label1 and tooltip popup after about 1 second and stay visible for about 13 seconds, then disappear: it is possible to change the duration, and make it longher? > > some as: > > label1.tooltip.visibletime = 30 ? > > Thanks > Roberto > -------------- next part -------------- An HTML attachment was scrubbed... URL: From claus.dietrich at freenet.de Mon Oct 9 21:51:19 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Mon, 9 Oct 2023 21:51:19 +0200 Subject: [Gambas-user] How to reduce the size of PDFs generated with PDFSurface/Cairo Message-ID: > On 9th Oct Fabien Bodard gambas.fr at gmail.com wrote: > Pdf size is a big deal fore too. > I will have a look >> Le lun. 9 oct. 2023 ? 10:10, BB > a ?crit : >>//>>/On 30/9/23 1:05 am, Claus Dietrich wrote: />>//>>/Hi />>//>>/I am using the Gambas PDFSurface and Cairo to generate and assemble />>/multi-page PDFs. />>//>>/When I insert a jpg-image from my scanner (A4 size, 300dpi, 90% quality) />>/with a size of 730 kB the resulting single page PDF is blown up to a size />>/of 2.8 MB. A stripped down demo project is attached: />>//>>/https://send.vis.ee/download/62247b9c0d0529a1/#JidKAJn64IdF4G1c-4B07A />>//>>/Does anyone know a way to obtain a PDF file with a similar size (resp. />>/compression) like the source image by using native Gambas means (=without />>/installing tools like ImageMagick)? />>//>>/Best regards />>/Claus />>//>>//>>/----[ http://gambaswiki.org/wiki/doc/netiquette ]---- />>//>>/Hi Claus, I don't see that you ever got a reply on this, so just a bit of />>/information from me on it. I don't know how you could reduce the size as />>/from my "memory" pdf used to and maybe still does include all kinds of />>/images as a dot-by-dot set of "portable" print instructions. That is for />>/each image pixel it creates approximately 4 pdf (byte code) statements. />>/Years ago I remember I had to tell the (ahem) "less experienced" graphics />>/designers never to use any shade of yellow in their pictures as that blew />>/the pdf size out by about 64 bytes per pixel i.e about 32 times the size of />>/the image. So 4 times the original image size would be a "good outcome" in />>/my opinion. As far as I know pdf still doesn't know fig-all about image />>/formats. />>//>>/hth />>//>>/b Hi The PDF surface seems to blow up the pixel graphics as required by its dimensions. Hence the format or the source (png or jpg) doesn't play a decisive role. So I decided to go for the best quality by always using png-graphics and after the PDF is generated with the PDFSurface I now compress it with a ghostscript shell command. I simply use the parameter -dPDFSETTINGS, i.e. ///-dPDFSETTINGS/=150 to reduce the PDF to 150 dpi. A more sophisticated solution with ghostscript is described here: https://gist.github.com/ahmed-musallam/27de7d7c5ac68ecbd1ed65b6b48416f9 I am not sure whether this is the best/right way, but it works and the results fulfil my requirements. Brgds Claus / From olivier.cruilles at yahoo.fr Mon Oct 9 22:08:27 2023 From: olivier.cruilles at yahoo.fr (Linus) Date: Mon, 9 Oct 2023 16:08:27 -0400 Subject: [Gambas-user] Issue accessing C Library from Gambas In-Reply-To: <7ace51ec-1e6c-4be7-bc57-f68ef4c8036b@servinfo.it> References: <7ace51ec-1e6c-4be7-bc57-f68ef4c8036b@servinfo.it> Message-ID: <342BF787-92E2-44F7-ACD1-D07B6AA01253@yahoo.fr> Hello, I already published the code, long time ago, into the Gambas Farm as: gb.sshclient It?s not the last version and I will publish as recent version as soon I have time. Olivier > Le 8 oct. 2023 ? 04:40, Marco Ancillotti a ?crit : > > Il 07/10/23 20:23, Linus via User ha scritto: >> For long time I build Classes in Gambas to access to various C Libraries directly. >> I did it for libssh4, GeoIp and others. > > > Hello , > > why don't you share the code ? > The libssh con be usefull to make a module. > > :-D > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From gambas.fr at gmail.com Tue Oct 10 10:00:48 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Tue, 10 Oct 2023 10:00:48 +0200 Subject: [Gambas-user] How to reduce the size of PDFs generated with PDFSurface/Cairo In-Reply-To: References: Message-ID: I use this old class in my project to generate simple picture pdf. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: PdfWriterFont.class Type: application/x-java Size: 18752 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: PdfWriter.class Type: application/x-java Size: 138218 bytes Desc: not available URL: From vuott at tutanota.com Tue Oct 10 13:04:30 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Tue, 10 Oct 2023 13:04:30 +0200 (CEST) Subject: [Gambas-user] How to reduce the size of PDFs generated with PDFSurface/Cairo In-Reply-To: References: Message-ID: Ehmmm...I got this simple and short code by using GhostScript external resources: Private Const PDFPATH As String = "/path/of/original/pdf/file"????? ' INPUT pdf file Private Const OUTPUTPDFPATH As String = "/path/of/output/pdf/file"? ' OUTPUT pdf file Private pdfsettings As String[] = ["screen", "ebook", "prepress", "printer", "default"] Library "libgs:9.55" Private Enum GS_ARG_ENCODING_LOCAL = 0, GS_ARG_ENCODING_UTF8, GS_ARG_ENCODING_UTF16LE Private Enum gs_error_ok = 0, gs_error_Quit = -101 ' int gsapi_new_instance(void * * pinstance, void * caller_handle) ' Create a new instance of Ghostscript. Private Extern gsapi_new_instance(pinstance As Pointer, caller_handle As Pointer) As Integer ' int gsapi_set_arg_encoding(void *instance, int encoding) ' Set the encoding used for the args. Private Extern gsapi_set_arg_encoding(instance As Pointer, encoding As Integer) As Integer ' int gsapi_init_with_args(void *instance, int argc, char **argv) ' Initialise the interpreter. Private Extern gsapi_init_with_args(instance As Pointer, argc As Integer, argv As Pointer) As Integer ' int gsapi_exit(void *instance) Private Extern gsapi_exit(instance As Pointer) As Integer ' void gsapi_delete_instance(void *instance) ' Destroy an instance of Ghostscript. Private Extern gsapi_delete_instance(instance As Pointer) Public Sub Main() ? Dim minst As Pointer ? Dim code As Integer ? Dim gsargv As String[] = [" ", "-sDEVICE=pdfwrite", "-dCompatibilityLevel=1.4", "-dPDFSETTINGS=" &/ pdfsettings[0], "-dNOPAUSE", "-dQUIET", "-dBATCH", "-sOutputFile=" &/ OUTPUTPDFPATH, INPUTPDFPATH] ? code = gsapi_new_instance(VarPtr(minst), 0) ? If code < gs_error_ok Then Error.Raise("Error !") ? code = gsapi_set_arg_encoding(minst, GS_ARG_ENCODING_UTF8) ? If code == gs_error_ok Then code = gsapi_init_with_args(minst, gsargv.Count, gsargv.Data) ? code = gsapi_exit(minst) ? If code < gs_error_ok Then Error.Raise("Error !") ? gsapi_delete_instance(minst) End ----------------------------------- 9 ott 2023, 21:52 da claus.dietrich at freenet.de: >> On 9th Oct Fabien Bodard gambas.fr at gmail.com wrote: >> Pdf size is a big deal fore too. >> I will have a look >> >>> Le lun. 9 oct. 2023 ? 10:10, BB > a ?crit : >>> >>> //>>/On 30/9/23 1:05 am, Claus Dietrich wrote: />>//>>/Hi />>//>>/I am using the Gambas PDFSurface and Cairo to generate and assemble />>/multi-page PDFs. />>//>>/When I insert a jpg-image from my scanner (A4 size, 300dpi, 90% quality) />>/with a size of 730 kB the resulting single page PDF is blown up to a size />>/of 2.8 MB. A stripped down demo project is attached: />>//>>/https://send.vis.ee/download/62247b9c0d0529a1/#JidKAJn64IdF4G1c-4B07A />>//>>/Does anyone know a way to obtain a PDF file with a similar size (resp. />>/compression) like the source image by using native Gambas means (=without />>/installing tools like ImageMagick)? />>//>>/Best regards />>/Claus />>//>>//>>/----[ http://gambaswiki.org/wiki/doc/netiquette ]---- />>//>>/Hi Claus, I don't see that you ever got a reply on this, so just a bit of />>/information from me on it. I don't know how you could reduce the size as />>/from my "memory" pdf used to and maybe still does include all kinds of />>/images as a dot-by-dot set of "portable" print instructions. That is for />>/each image pixel it creates approximately 4 pdf (byte code) statements. />>/Years ago I remember I had to tell the (ahem) "less experienced" graphics />>/designers never to use any shade of yellow in their pictures as that blew />>/the pdf size out by about 64 bytes per pixel i.e about 32 times the >>> > size of />>/the image. So 4 times the original image size would be a "good outcome" in />>/my opinion. As far as I know pdf still doesn't know fig-all about image />>/formats. />>//>>/hth />>//>>/b Hi The PDF surface seems to blow up the pixel graphics as required by its dimensions. Hence the format or the source (png or jpg) doesn't play a decisive role. So I decided to go for the best quality by always using png-graphics and after the PDF is generated with the PDFSurface I now compress it with a ghostscript shell command. I simply use the parameter -dPDFSETTINGS, i.e. ///-dPDFSETTINGS/=150 to reduce the PDF to 150 dpi. A more sophisticated solution with ghostscript is described here: https://gist.github.com/ahmed-musallam/27de7d7c5ac68ecbd1ed65b6b48416f9 I am not sure whether this is the best/right way, but it works and the results fulfil my requirements. Brgds Claus / > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Tue Oct 10 22:45:42 2023 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 10 Oct 2023 13:45:42 -0700 (PDT) Subject: [Gambas-user] App hangs when using httpclient download Message-ID: <488148428.25950.1696970742804.JavaMail.zimbra@westwoodsvcs.com> I don't know if I am doing something wrong, I don't remember it being a problem in past but When using the httpclient the app hangs at exit as example dim hclient as new httpclient hclient.async = false dim data as string data = hclient.download("theurl") print data hclient.close() hclient = null The app never exits just hangs "Failure is the key to success; each mistake teaches us something" .. Morihei Ueshiba Brian G -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto.premoli at tiscali.it Tue Oct 10 23:07:04 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Tue, 10 Oct 2023 23:07:04 +0200 Subject: [Gambas-user] strange 2nd minimized window In-Reply-To: <2f99635a-5867-4668-99f1-5d36c9aa135d@gmail.com> References: <2a340096aa6f9f35592772f63e696935@tiscali.it> <2f99635a-5867-4668-99f1-5d36c9aa135d@gmail.com> Message-ID: <4759a584e658f1b523852466b20ab3bb@tiscali.it> Il 30.09.2023 19:10 T Lee Davidson ha scritto: > On 9/30/23 11:34, roberto.premoli at tiscali.it [1]wrote: > >> hello. since 2 days ago, when i run with F5 my code it start and >> run, >> but also a "little stick" appears on dsiplay. I try to interact with >> it >> using mouse and it reveal to be a super minimized window, that i can >> resize to enlarge and move. This window has nothin inside it (o >> btto, >> nlabe, nothing), it has only the same tittle of the FMAin.form of my >> project and no more. I caa close it without any problem and my code >> go >> on to work. Because it appear only recently, i suppose it is some >> king >> of "debug" window. I think I had click around onto men to activate >> it >> and now, i ont know how to disable even if i navicate and see almost >> all menu options of IDE. Btw, it pop up also whenn i compile the >> projent into a .deb and istall it: beside the main wondow, also this >> superminimized window appear. So, i ask how to remove this >> apparently >> unusefulaand noising wndow. > > You didn't say for sure, but it sounds like this happens with only > one > project. If so, perhaps check the project's '.settings' > file and see if [DebugWindow] Count has a value greater than zero. > I've > never seen or heard of this, so I'm just guessing as to > what to do. > > Otherwise, if it is a small project without sensitive information, > please > send it. Or strip it down so it can be sent to the list. > > -- Lee ----[ http://gambaswiki.org/wiki/doc/netiquette [2] ]---- Hello, just to update you. I sliced down my code. at the end, the "culprit" was the follow line: form.visible = true It make to popup that the minimized window. It does not popup if i eliminate that line. PROBLEM SOLVED From bsteers4 at gmail.com Wed Oct 11 00:17:55 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 10 Oct 2023 23:17:55 +0100 Subject: [Gambas-user] App hangs when using httpclient download In-Reply-To: <488148428.25950.1696970742804.JavaMail.zimbra@westwoodsvcs.com> References: <488148428.25950.1696970742804.JavaMail.zimbra@westwoodsvcs.com> Message-ID: Try not instantiating an object, just ... dara = httpclient.Download("theurl") I think Download() is not async anyway and meant to be a static method, those object flags you're using are more relevant to downloading via a process handler using "get" methods, etc. Respects BruceS On Tue, 10 Oct 2023, 21:46 Brian G, wrote: > I don't know if I am doing something wrong, I don't remember it being a > problem in past but > > When using the httpclient the app hangs at exit > > as example > > dim hclient as new httpclient > hclient.async = false > > dim data as string > data = hclient.download("theurl") > print data > hclient.close() > hclient = null > > > The app never exits just hangs > > > > "Failure is the key to success; > each mistake teaches us something" .. Morihei Ueshiba > Brian G > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Wed Oct 11 02:32:52 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 11 Oct 2023 11:02:52 +1030 Subject: [Gambas-user] jit error with gb.map Message-ID: Since recent updates. I can get around it by using Jit.Enabled = False in the main form _Init but ... gb.jit: error: unable to compile JIT code of 'gb.map': In file included from /tmp/gambas.1000/752586/jit/gb.map.c:1: /tmp/gambas.1000/752586/jit/gb.map.c: In function ?jit_geo_2_?: /tmp/gambas.1000/752586/jit/gb.map.c:57:430: error: stray ?\200? in program ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 3 | ^ /tmp/gambas.1000/752586/jit/jit.h:1589:38: note: in definition of macro ?PUSH_f? ?1589 | #define PUSH_f(_val) ({ double _v = (_val); sp->_float.value = _v; sp->type = GB_T_FLOAT; sp++; }) ????? |????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:20: note: in expansion of macro ?MATH_MUL_UNSAFE? ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 3 ????? |??????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:60: note: in expansion of macro ?MATH_SUB_UNSAFE? ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 3 ????? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:420: note: in expansion of macro ?CALL_MATH? ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 36); _a;})))))); double _b = CALL_MATH(?=? ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:431: error: expected expression before ?=? token ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 3 | ^ /tmp/gambas.1000/752586/jit/jit.h:1589:38: note: in definition of macro ?PUSH_f? ?1589 | #define PUSH_f(_val) ({ double _v = (_val); sp->_float.value = _v; sp->type = GB_T_FLOAT; sp++; }) ????? |????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:20: note: in expansion of macro ?MATH_MUL_UNSAFE? ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 3 ????? |??????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:60: note: in expansion of macro ?MATH_SUB_UNSAFE? ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 3 ????? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:420: note: in expansion of macro ?CALL_MATH? ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 36); _a;})))))); double _b = CALL_MATH(?=? ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:432: error: stray ?\206? in program ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 3 | ^ /tmp/gambas.1000/752586/jit/jit.h:1589:38: note: in definition of macro ?PUSH_f? ?1589 | #define PUSH_f(_val) ({ double _v = (_val); sp->_float.value = _v; sp->type = GB_T_FLOAT; sp++; }) ????? |????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:20: note: in expansion of macro ?MATH_MUL_UNSAFE? ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 3 ????? |??????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:60: note: in expansion of macro ?MATH_SUB_UNSAFE? ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 3 ????? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:420: note: in expansion of macro ?CALL_MATH? ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 36); _a;})))))); double _b = CALL_MATH(?=? ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:433: error: stray ?\316? in program ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 3 | ^ /tmp/gambas.1000/752586/jit/jit.h:1589:38: note: in definition of macro ?PUSH_f? ?1589 | #define PUSH_f(_val) ({ double _v = (_val); sp->_float.value = _v; sp->type = GB_T_FLOAT; sp++; }) ????? |????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:20: note: in expansion of macro ?MATH_MUL_UNSAFE? ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 3 ????? |??????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:60: note: in expansion of macro ?MATH_SUB_UNSAFE? ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 3 ????? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:57:420: note: in expansion of macro ?CALL_MATH? ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 36); _a;})))))); double _b = CALL_MATH(?=? ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c: In function ?jit_geo_3_?: /tmp/gambas.1000/752586/jit/gb.map.c:117:230: error: stray ?\200? in program ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^ /tmp/gambas.1000/752586/jit/jit.h:2028:64: note: in definition of macro ?MATH_MUL_UNSAFE? ?2028 | #define MATH_MUL_UNSAFE(_ctype, _expr1, _expr2) ({_ctype _a = (_expr1); _ctype _b = (_expr2); _a * _b;}) | ^~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:67: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:91: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:131: note: in expansion of macro ?MATH_MUL_UNSAFE? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:220: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:231: error: expected expression before ?=? token ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^ /tmp/gambas.1000/752586/jit/jit.h:2028:64: note: in definition of macro ?MATH_MUL_UNSAFE? ?2028 | #define MATH_MUL_UNSAFE(_ctype, _expr1, _expr2) ({_ctype _a = (_expr1); _ctype _b = (_expr2); _a * _b;}) | ^~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:67: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:91: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:131: note: in expansion of macro ?MATH_MUL_UNSAFE? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:220: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:232: error: stray ?\206? in program ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^ /tmp/gambas.1000/752586/jit/jit.h:2028:64: note: in definition of macro ?MATH_MUL_UNSAFE? ?2028 | #define MATH_MUL_UNSAFE(_ctype, _expr1, _expr2) ({_ctype _a = (_expr1); _ctype _b = (_expr2); _a * _b;}) | ^~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:67: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:91: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:131: note: in expansion of macro ?MATH_MUL_UNSAFE? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:220: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:233: error: stray ?\316? in program ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^ /tmp/gambas.1000/752586/jit/jit.h:2028:64: note: in definition of macro ?MATH_MUL_UNSAFEa * _b;}) | ^~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:67: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:91: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:131: note: in expansion of macro ?MATH_MUL_UNSAFE? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:220: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:380: error: stray ?\200? in program ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _a = (MATH_MUL_UNSAFE(double, (MATH_ADD_UNSAFE(double, ((double)(90)), GET_f(ADDR(p0) + 16))), CALL_MATH(?=?; double _b = (*(double *)0x | ^ /tmp/gambas.1000/752586/jit/jit.h:2028:64: note: in definition of macro ?MATH_MUL_UNSAFE? ?2028 | #define MATH_MUL_UNSAFE(_ctype, _expr1, _expr2) ({_ctype _a = (_expr1); _ctype _b = (_expr2); _a * _b;}) | ^~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:370: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:381: error: expected expression before ?=? token ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^ /tmp/gambas.1000/752586/jit/jit.h:2028:64: note: in definition of macro ?MATH_MUL_UNSAFE? ?2028 | #define MATH_MUL_UNSAFE(_ctype, _expr1, _expr2) ({_ctype _a = (_expr1); _ctype _b = (_expr2); _a * _b;}) | ^~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:370: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _a = (MATH_MUL_UNSAFE(double, (MATH_ADD_UNSAFE(double, ((double)(90)), GET_f(ADDR(p0) + 16))), CALL_MATH(?=?04ff83d82c); _a /= _b; if (! | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:382: error: stray ?\206? in program ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^ /tmp/gambas.1000/752586/jit/jit.h:2028:64: note: in definition of macro ?MATH_MUL_UNSAFE? ?2028 | #define MATH_MUL_UNSAFE(_ctype, _expr1, _expr2) ({_ctype _a = (_expr1); _ctype _b = (_expr2); _a * _b;}) | ^~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:370: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:383: error: stray ?\316? in program ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _84c); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 38); _a;})); | ^ /tmp/gambas.1000/752586/jit/jit.h:2028:64: note: in definition of macro ?MATH_MUL_UNSAFE? ?2028 | #define MATH_MUL_UNSAFE(_ctype, _expr1, _expr2) ({_ctype _a = (_expr1); _ctype _b = (_expr2); _a * _b;}) | ^~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:117:370: note: in expansion of macro ?CALL_MATH? ? 117 |?? l2 = (({double _a = (MATH_MUL_UNSAFE(double, (- ((({double _a = CALL_MATH(__builtin_log(CALL_MATH(__builtin_tan((({double _ | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c: In function ?jit_geo_4_?: /tmp/gambas.1000/752586/jit/gb.map.c:189:107: error: stray ?\200? in program | ^ /tmp/gambas.1000/752586/jit/jit.h:1751:45: note: in definition of macro ?SET_f? ?1751 | #define SET_f(_addr, _val) (GET_f(_addr) = (_val)) ????? |???????????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:29: note: in expansion of macro ?MATH_MUL_UNSAFE? ????? |???????????????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:97: note: in expansion of macro ?CALL_MATH? ? 189 |?? SET_f(ADDR(l3) + 16, (- ((MATH_MUL_UNSAFE(double, (({double _a = ((double)(180)); double _b = CALL_MATH(?=?e, (MATH_MUL_UNSAFE(double, ((double)(2)), CALL_MATH(__builtin_atan(CALL_MATH(__builtin_exp((({double _a = (MATH_MUL_UNSAFE(double, GET_f(ADDR(l3) + 16 | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:108: error: expected expression before ?=? token | ^ /tmp/gambas.1000/752586/jit/jit.h:1751:45: note: in definition of macro ?SET_f? ?1751 | #define SET_f(_addr, _val) (GET_f(_addr) = (_val)) ????? |???????????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:29: note: in expansion of macro ?MATH_MUL_UNSAFE? ????? |???????????????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:97: note: in expansion of macro ?CALL_MATH? | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:109: error: stray ?\206? in program 86/jit/jit.h:1751:45: note: in definition of macro ?SET_f? ?1751 | #define SET_f(_addr, _val) (GET_f(_addr) = (_val)) ????? |???????????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:29: note: in expansion of macro ?MATH_MUL_UNSAFE? ????? |???????????????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:97: note: in expansion of macro ?CALL_MATH? | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:110: error: stray ?\316? in program | ^ /tmp/gambas.1000/752586/jit/jit.h:1751:45: note: in definition of macro ?SET_f? ?1751 | #define SET_f(_addr, _val) (GET_f(_addr) = (_val)) ????? |???????????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:29: note: in expansion of macro ?MATH_MUL_UNSAFE? ????? |???????????????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:97: note: in expansion of macro ?CALL_MATH? ? 189 |?? SET_f(ADDR(l3) + 16, (- ((MATH_MUL_UNSAFE(double, (({double _a = ((double)(180)); double _b = CALL_MATH(?=? | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:359: error: stray ?\200? in program | ^ /tmp/gambas.1000/752586/jit/jit.h:1751:45: note: in definition of macro ?SET_f? ?1751 | #define SET_f(_addr, _val) (GET_f(_addr) = (_val)) ????? |???????????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:29: note: in expansion of macro ?MATH_MUL_UNSAFE? ????? |???????????????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:174: note: in expansion of macro ?MATH_SUB_UNSAFE? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:199: note: in expansion of macro ?MATH_MUL_UNSAFE? L74:; // [gb.map].Geo.PixelToMapPoint.52 | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:238: note: in expansion of macro ?CALL_MATH? | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:263: note: in expansion of macro ?CALL_MATH? | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:303: note: in expansion of macro ?MATH_MUL_UNSAFE? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:349: note: in expansion of macro ?CALL_MATH? ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:360: error: expected expression before ?=? token | ^ /tmp/gambas.1000/752586/jit/jit.h:1751:45: note: in definition of macro ?SET_f? ?1751 | #define SET_f(_addr, _val) (GET_f(_addr) = (_val)) ????? |???????????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:29: note: in expansion of macro ?MATH_MUL_UNSAFE? ????? |???????????????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:174: note: in expansion of macro ?MATH_SUB_UNSAFE? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:199: note: in expansion of macro ?MATH_MUL_UNSAFE? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:238: note: in expansion of macro ?CALL_MATH? | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:263: note: in expansion of macro ?CALL_MATH? | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:303: note: in expansion of macro ?MATH_MUL_UNSAFE? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:349: note: in expansion of macro ?CALL_MATH? ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:361: error: stray ?\206? in program | ^ /tmp/gambas.1000/752586/jit/jit.h:1751:45: note: in definition of macro ?SET_f? ?1751 | #define SET_f(_addr, _val) (GET_f(_addr) = (_val)) ????? |???????????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:29: note: in expansion of macro ?MATH_MUL_UNSAFE? ????? |???????????????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:174: note: in expansion of macro ?MATH_SUB_UNSAFE? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:199: note: in expansion of macro ?MATH_MUL_UNSAFE? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:238: note: in expansion of macro ?CALL_MATH? | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:263: note: in expansion of macro ?CALL_MATH? | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:303: note: in expansion of macro ?MATH_MUL_UNSAFE? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:349: note: in expansion of macro ?CALL_MATH? ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:362: error: stray ?\316? in program | ^ /tmp/gambas.1000/752586/jit/jit.h:1751:45: note: in definition of macro ?SET_f? ?1751 | #define SET_f(_addr, _val) (GET_f(_addr) = (_val)) ????? |???????????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:29: note: in expansion of macro ?MATH_MUL_UNSAFE? ????? |???????????????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:174: note: in expansion of macro ?MATH_SUB_UNSAFE? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:199: note: in expansion of macro ?MATH_MUL_UNSAFE? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:238: note: in expansion of macro ?CALL_MATH? | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:263: note: in expansion of macro ?CALL_MATH? | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:303: note: in expansion of macro ?MATH_MUL_UNSAFE? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:349: note: in expansion of macro ?CALL_MATH? ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:499: error: stray ?\200? in program | ^ /tmp/gambas.1000/752586/jit/jit.h:1751:45: note: in definition of macro ?SET_f? ?1751 | #define SET_f(_addr, _val) (GET_f(_addr) = (_val)) ????? |???????????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:29: note: in expansion of macro ?MATH_MUL_UNSAFE? ????? |???????????????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:174: note: in expansion of macro ?MATH_SUB_UNSAFE? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:489: note: in expansion of macro ?CALL_MATH? ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:500: error: expected expression before ?=? token | ^ /tmp/gambas.1000/752586/jit/jit.h:1751:45: note: in definition of macro ?SET_f? ?1751 | #define SET_f(_addr, _val) (GET_f(_addr) = (_val)) ????? |???????????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:29: note: in expansion of macro ?MATH_MUL_UNSAFE? ????? |???????????????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:174: note: in expansion of macro ?MATH_SUB_UNSAFE? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:489: note: in expansion of macro ?CALL_MATH? | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:501: error: stray ?\206? in program | ^ /tmp/gambas.1000/752586/jit/jit.h:1751:45: note: in definition of macro ?SET_f? ?1751 | #define SET_f(_addr, _val) (GET_f(_addr) = (_val)) ????? |???????????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:29: note: in expansion of macro ?MATH_MUL_UNSAFE? ????? |???????????????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:174: note: in expansion of macro ?MATH_SUB_UNSAFE? | ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:489: note: in expansion of macro ?CALL_MATH | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:502: error: stray ?\316? in program | ^ /tmp/gambas.1000/752586/jit/jit.h:1751:45: note: in definition of macro ?SET_f? ?1751 | #define SET_f(_addr, _val) (GET_f(_addr) = (_val)) ????? |???????????????????????????????????????????? ^~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:29: note: in expansion of macro ?MATH_MUL_UNSAFE? ????? |???????????????????????????? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:174: note: in expansion of macro ?MATH_SUB_UNSAFE? ^~~~~~~~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:189:489: note: in expansion of macro ?CALL_MATH? | ^~~~~~~~~ /tmp/gambas.1000/752586/jit/gb.map.c: In function ?jit_mappoint_4_?: /tmp/gambas.1000/752586/jit/gb.map.c:752:19: error: stray ?\200? in program ? 752 |?? l12 = CALL_MATH(?=??); ????? |?????????????????? ^ /tmp/gambas.1000/752586/jit/jit.h:1937:41: note: in definition of macro ?CALL_MATH? ?1937 | #define CALL_MATH(_func) ({ double _v = _func; if (!isfinite(_v)) THROW(E_MATH); _v; }) ????? |???????????????????????????????????????? ^~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:752:20: error: expected expression before ?=? token ? 752 |?? l12 = CALL_MATH(?=??); ????? |??????????????????? ^ /tmp/gambas.1000/752586/jit/jit.h:1937:41: note: in definition of macro ?CALL_MATH? ?1937 | #define CALL_MATH(_func) ({ double _v = _func; if (!isfinite(_v)) THROW(E_MATH); _v; }) ????? |???????????????????????????????????????? ^~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:752:21: error: stray ?\206? in program ? 752 |?? l12 = CALL_MATH(?=??); ????? |???????????????????? ^ /tmp/gambas.1000/752586/jit/jit.h:1937:41: note: in definition of macro ?CALL_MATH? ?1937 | #define CALL_MATH(_func) ({ double _v = _func; if (!isfinite(_v)) THROW(E_MATH); _v; }) ????? |???????????????????????????????????????? ^~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:752:22: error: stray ?\316? in program ? 752 |?? l12 = CALL_MATH(?=??); ????? |????????????????????? ^ /tmp/gambas.1000/752586/jit/jit.h:1937:41: note: in definition of macro ?CALL_MATH? ?1937 | #define CALL_MATH(_func) ({ double _v = _func; if (!isfinite(_v)) THROW(E_MATH); _v; }) ????? |???????????????????????????????????????? ^~~~~ /tmp/gambas.1000/752586/jit/gb.map.c: In function ?jit_mappoint_5_?: /tmp/gambas.1000/752586/jit/gb.map.c:922:19: error: stray ?\200? in program ? 922 |?? l16 = CALL_MATH(?=??); ????? |?????????????????? ^ /tmp/gambas.1000/752586/jit/jit.h:1937:41: note: in definition of macro ?CALL_MATH? ?1937 | #define CALL_MATH(_func) ({ double _v = _func; if (!isfinite(_v)) THROW(E_MATH); _v; }) ????? |???????????????????????????????????????? ^~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:922:20: error: expected expression before ?=? token ? 922 |?? l16 = CALL_MATH(?=??); ????? |??????????????????? ^ /tmp/gambas.1000/752586/jit/jit.h:1937:41: note: in definition of macro ?CALL_MATH? ?1937 | #define CALL_MATH(_func) ({ double _v = _func; if (!isfinite(_v)) THROW(E_MATH); _v; }) ????? |???????????????????????????????????????? ^~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:922:21: error: stray ?\206? in program ? 922 |?? l16 = CALL_MATH(?=??); ????? |???????????????????? ^ /tmp/gambas.1000/752586/jit/jit.h:1937:41: note: in definition of macro ?CALL_MATHouble _v = _func; if (!isfinite(_v)) THROW(E_MATH); _v; }) ????? |???????????????????????????????????????? ^~~~~ /tmp/gambas.1000/752586/jit/gb.map.c:922:22: error: stray ?\316? in program ? 922 |?? l16 = CALL_MATH(?=??); ????? |????????????????????? ^ /tmp/gambas.1000/752586/jit/jit.h:1937:41: note: in definition of macro ?CALL_MATH From claus.dietrich at freenet.de Wed Oct 11 19:42:13 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Wed, 11 Oct 2023 19:42:13 +0200 Subject: [Gambas-user] How to reduce the size of PDFs generated with PDFSurface/Cairo In-Reply-To: References: Message-ID: <4d99d4e8-3f45-42f2-ad2d-295267923779@freenet.de> Hi Fabien and Voutt Am 10.10.23 um 10:00 schrieb Fabien Bodard: > I use this old class in my project to generate simple picture pdf. > Am 10.10.23 um 13:04 schrieb vuott--- via User: > Ehmmm...I got this simple and short code by using GhostScript external > resources: Thanks a lot for sharing your solutions. I put both into my treasure box. They provided me with the confidence that I am not on the wrong track. The PDFWriter class is a real PDF "killer class". Its scope of capabilities is amazing and worth a very detailed look. Voutt's solution is actually doing what I needed in my program. It does the same as my single line Shell command. Here an example of my Shell command for a PDF scanned with 300 dpi (A4 size) converted to 150dpi (=/ebook): gs -dBATCH -dNOPAUSE -q -dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=842 -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -sOutputFile=outputpath.pdf inputpath.pdf All relevant parameters (width, height, resolution, input.pdf-path, output.pdf-path) can of course be inserted by a Subst command. Best regards Claus From vuott at tutanota.com Wed Oct 11 21:14:20 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Wed, 11 Oct 2023 21:14:20 +0200 (CEST) Subject: [Gambas-user] How to reduce the size of PDFs generated with PDFSurface/Cairo In-Reply-To: <4d99d4e8-3f45-42f2-ad2d-295267923779@freenet.de> References: <4d99d4e8-3f45-42f2-ad2d-295267923779@freenet.de> Message-ID: ? All relevant parameters (width, height, resolution, input.pdf-path, output.pdf-path) can of course be inserted by a Subst command. ? Hello Claus, yes, it's right, but obviously I only wanted to point out that opportunity and to present a simple and brief example. What can be added is certainly helpful. bye 11 ott 2023, 19:43 da claus.dietrich at freenet.de: > Hi Fabien and Voutt > > Am 10.10.23 um 10:00 schrieb Fabien Bodard: > >> I use this old class in my project to generate simple picture pdf. >> > > Am 10.10.23 um 13:04 schrieb vuott--- via User: > >> Ehmmm...I got this simple and short code by using GhostScript external resources: >> > > Thanks a lot for sharing your solutions. I put both into my treasure box. They provided me with the confidence that I am not on the wrong track. The PDFWriter class is a real PDF "killer class". Its scope of capabilities is amazing and worth a very detailed look. Voutt's solution is actually doing what I needed in my program. It does the same as my single line Shell command. Here an example of my Shell command for a PDF scanned with 300 dpi (A4 size) converted to 150dpi (=/ebook): > > gs -dBATCH -dNOPAUSE -q -dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=842 -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -sOutputFile=outputpath.pdf inputpath.pdf > > All relevant parameters (width, height, resolution, input.pdf-path, output.pdf-path) can of course be inserted by a Subst command. > > Best regards > > Claus > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sbungay at smartsonsite.com Thu Oct 12 01:00:31 2023 From: sbungay at smartsonsite.com (sbungay) Date: Wed, 11 Oct 2023 19:00:31 -0400 Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... Message-ID: If a text file is dragged from a file manager to a text area, the drop event of the text area is not raised. Why is that and can it be changed? -- Stephen A. Bungay From vuott at tutanota.com Thu Oct 12 05:03:25 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Thu, 12 Oct 2023 05:03:25 +0200 (CEST) Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... In-Reply-To: References: Message-ID: Maybe... ...by using "TextArea" and "FileChooser": Public Sub Form_Open() ? With TextArea1 ??? .Drop = True ??? .Wrap = True ? End With ? End Public Sub TextArea1_Drop() ? TextArea1.Text = File.Load(FileChooser1.SelectedPath) End ========================== ...now draging from an Folder: Public Sub Form_Open() ? With TextArea1 ??? .Drop = True ??? .Wrap = True ? End With End Public Sub TextArea1_Drop() ? ? Dim filepath As String ? ? filepath = Drag.Paste("text/uri-list")[0] ? TextArea1.Text = File.Load(Trim(filepath)) End ====================== 12 ott 2023, 01:19 da sbungay at smartsonsite.com: > If a text file is dragged from a file manager to a text area, the drop event of the text area is not raised. Why is that and can it be changed? > -- > Stephen A. Bungay > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Thu Oct 12 05:16:56 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 12 Oct 2023 13:46:56 +1030 Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... In-Reply-To: References: Message-ID: <54347c47-d215-d0af-36d3-8e901ff0a5f1@gmail.com> The question was "*Why is the TextArea.Drop event not fired*".** On 12/10/23 1:33 pm, vuott--- via User wrote: > Maybe... > > ...by using "TextArea" and "FileChooser": > > Public Sub Form_Open() > > ? With TextArea1 > ??? .Drop = True > ??? .Wrap = True > ? End With > > End > > Public Sub TextArea1_Drop() > > ? TextArea1.Text = File.Load(FileChooser1.SelectedPath) > > End > > ========================== > > ...now draging from an Folder: > > Public Sub Form_Open() > > ? With TextArea1 > ??? .Drop = True > ??? .Wrap = True > ? End With > > End > > Public Sub TextArea1_Drop() > > ? Dim filepath As String > > ? filepath = Drag.Paste("text/uri-list")[0] > > ? TextArea1.Text = File.Load(Trim(filepath)) > > End > > ====================== > > > > > > 12 ott 2023, 01:19 da sbungay at smartsonsite.com: > > If a text file is dragged from a file manager to a text area, the > drop event of the text area is not raised. Why is that and can it > be changed? > -- > Stephen A. Bungay > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Thu Oct 12 05:34:57 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Thu, 12 Oct 2023 05:34:57 +0200 (CEST) Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... In-Reply-To: <54347c47-d215-d0af-36d3-8e901ff0a5f1@gmail.com> References: <54347c47-d215-d0af-36d3-8e901ff0a5f1@gmail.com> Message-ID: Opss... sorry. TextArea.Drop is not an Event, rather it is a **Property** which must be assigned the boolean value "True" in order for "TextArea" to accept drops. As you can see in my two codes, I have in fact assigned the Boolean value "True" to the "TextArea1.Drop" Property. 12 ott 2023, 05:18 da adamnt42 at gmail.com: > > The question was "> Why is the TextArea.Drop event not fired> ".> ? > > > > > On 12/10/23 1:33 pm, vuott--- via User wrote: > >> Maybe... >> >> ...by using "TextArea" and "FileChooser": >> >> Public Sub Form_Open() >> >> ? With TextArea1 >> ??? .Drop = True >> ??? .Wrap = True >> ? End With >> ? >> End >> >> Public Sub TextArea1_Drop() >> >> ? TextArea1.Text = File.Load(FileChooser1.SelectedPath) >> >> End >> >> ========================== >> >> ...now draging from an Folder: >> >> Public Sub Form_Open() >> >> ? With TextArea1 >> ??? .Drop = True >> ??? .Wrap = True >> ? End With >> >> End >> >> Public Sub TextArea1_Drop() >> ? >> ? Dim filepath As String >> ? >> ? filepath = Drag.Paste("text/uri-list")[0] >> >> ? TextArea1.Text = File.Load(Trim(filepath)) >> >> End >> >> ====================== >> >> >> >> >> >> 12 ott 2023, 01:19 da >> sbungay at smartsonsite.com>> : >> >>> If a text file is dragged from a file manager to a text area, the drop event of the text area is not raised. Why is that and can it be changed? >>> -- >>> Stephen A. Bungay >>> >>> ----[ >>> http://gambaswiki.org/wiki/doc/netiquette>>> ]---- >>> >> >> >> ----[ >> http://gambaswiki.org/wiki/doc/netiquette>> ]---- >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From denisc at exemail.com.au Thu Oct 12 05:48:17 2023 From: denisc at exemail.com.au (Denis Crowther) Date: Thu, 12 Oct 2023 14:48:17 +1100 Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... In-Reply-To: References: <54347c47-d215-d0af-36d3-8e901ff0a5f1@gmail.com> Message-ID: <12045c09-2c97-4b40-a818-8e6bc365a2ed@exemail.com.au> On 10/12/23 14:34, vuott--- via User wrote: > TextArea.Drop is not an Event, rather it is a **Property** The TextArea has both. Set the property then the event will fire. -- Regards Denis From denisc at exemail.com.au Thu Oct 12 05:48:23 2023 From: denisc at exemail.com.au (Denis Crowther) Date: Thu, 12 Oct 2023 14:48:23 +1100 Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... In-Reply-To: References: Message-ID: On 10/12/23 10:00, sbungay wrote: > ? If a text file is dragged from a file manager to a text area, the > drop event of the text area is not raised. Why is that and can it be > changed? Works here. Did you set: Drop = True in the IDE or code? -- Regards Denis From adamnt42 at gmail.com Thu Oct 12 06:54:08 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 12 Oct 2023 15:24:08 +1030 Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... In-Reply-To: References: Message-ID: On 12/10/23 2:18 pm, Denis Crowther wrote: > On 10/12/23 10:00, sbungay wrote: >> ?? If a text file is dragged from a file manager to a text area, the >> drop event of the text area is not raised. Why is that and can it be >> changed? > > Works here. > > Did you set: Drop = True in the IDE or code? > Yes, it appears that the form designer Drop property is not set or saved (in the IDE) so it has to be set via code. To be more explicit, the IDE default value for the Drop property is true, so when the form is saved, this is not output to the .form file. Since the property is just a boolean, when the form is loaded at runtime that property is not set thus it is false. This is a bug. b From denisc at exemail.com.au Thu Oct 12 07:09:58 2023 From: denisc at exemail.com.au (Denis Crowther) Date: Thu, 12 Oct 2023 16:09:58 +1100 Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... In-Reply-To: References: Message-ID: <2d259ecc-884a-4708-83a2-a0017f4c878b@exemail.com.au> On 10/12/23 15:54, BB wrote: > > On 12/10/23 2:18 pm, Denis Crowther wrote: >> On 10/12/23 10:00, sbungay wrote: >>> ?? If a text file is dragged from a file manager to a text area, the >>> drop event of the text area is not raised. Why is that and can it be >>> changed? >> >> Works here. >> >> Did you set: Drop = True in the IDE or code? >> > Yes, it appears that the form designer Drop property is not set or saved > (in the IDE) so it has to be set via code. > > To be more explicit, the IDE default value for the Drop property is > true, so when the form is saved, this is not output to the .form file. > Since the property is just a boolean, when the form is loaded at runtime > that property is not set thus it is false. This is a bug. > > b > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- My Default value is False and it is saved. Here everything about the "Drop" works as expected. -- Regards Denis From adamnt42 at gmail.com Thu Oct 12 07:10:28 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 12 Oct 2023 15:40:28 +1030 Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... In-Reply-To: References: Message-ID: On 12/10/23 3:24 pm, BB wrote: > > On 12/10/23 2:18 pm, Denis Crowther wrote: >> On 10/12/23 10:00, sbungay wrote: >>> ?? If a text file is dragged from a file manager to a text area, the >>> drop event of the text area is not raised. Why is that and can it be >>> changed? >> >> Works here. >> >> Did you set: Drop = True in the IDE or code? >> > Yes, it appears that the form designer Drop property is not set or > saved (in the IDE) so it has to be set via code. > > To be more explicit, the IDE default value for the Drop property is > true, so when the form is saved, this is not output to the .form file. > Since the property is just a boolean, when the form is loaded at > runtime that property is not set thus it is false. This is a bug. > > b > > Someone with bugtracker access could raise that so Benoit sees it. ----------- So perhaps the answer to Stephen's question is "You must set the TextArea.Drop property in code, viz ' Gambas class file Public Sub Form_Open() TextArea1.Drop = True End Public Sub TextArea1_Drop() TextArea1.Text = File.Load(Drag.Paste("text/uri-list")[0]) End b -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Thu Oct 12 07:20:43 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 12 Oct 2023 15:50:43 +1030 Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... In-Reply-To: <2d259ecc-884a-4708-83a2-a0017f4c878b@exemail.com.au> References: <2d259ecc-884a-4708-83a2-a0017f4c878b@exemail.com.au> Message-ID: <544fb8d0-c69f-4069-6c6e-20a270960125@gmail.com> On 12/10/23 3:39 pm, Denis Crowther wrote: > On 10/12/23 15:54, BB wrote: >> >> On 12/10/23 2:18 pm, Denis Crowther wrote: >>> On 10/12/23 10:00, sbungay wrote: >>>> ?? If a text file is dragged from a file manager to a text area, >>>> the drop event of the text area is not raised. Why is that and can >>>> it be changed? >>> >>> Works here. >>> >>> Did you set: Drop = True in the IDE or code? >>> >> Yes, it appears that the form designer Drop property is not set or >> saved (in the IDE) so it has to be set via code. >> >> To be more explicit, the IDE default value for the Drop property is >> true, so when the form is saved, this is not output to the .form >> file. Since the property is just a boolean, when the form is loaded >> at runtime that property is not set thus it is false. This is a bug. >> >> b >> >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > My Default value is False and it is saved. Yes, It will write the value out if it is false, but how is your textarea.drop property default set to false in the IDE? (and if it is, then why is it output to the .form file?) > > Here everything about the "Drop" works as expected. > b From denisc at exemail.com.au Thu Oct 12 07:30:04 2023 From: denisc at exemail.com.au (Denis Crowther) Date: Thu, 12 Oct 2023 16:30:04 +1100 Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... In-Reply-To: <544fb8d0-c69f-4069-6c6e-20a270960125@gmail.com> References: <2d259ecc-884a-4708-83a2-a0017f4c878b@exemail.com.au> <544fb8d0-c69f-4069-6c6e-20a270960125@gmail.com> Message-ID: <4b074422-7a36-4135-ab22-d261d59414b2@exemail.com.au> On 10/12/23 16:20, BB wrote: > -- snip -- >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> My Default value is False and it is saved. > Yes, It will write the value out if it is false, but how is your > textarea.drop property default set to false in the IDE? (and if it is, > then why is it output to the .form file?) I just tested on a new form. - drag textArea to form, the IDE has Drop=False. Save and the .form file has; { TextArea1 TextArea MoveScaled(104,28,34,20) } - change the Drop value to True, save and the .form file has; { TextArea1 TextArea MoveScaled(104,28,34,20) Drop = True } >> >> Here everything about the "Drop" works as expected. >> > b > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -- Regards Denis From adamnt42 at gmail.com Thu Oct 12 07:51:02 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 12 Oct 2023 16:21:02 +1030 Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... In-Reply-To: <4b074422-7a36-4135-ab22-d261d59414b2@exemail.com.au> References: <2d259ecc-884a-4708-83a2-a0017f4c878b@exemail.com.au> <544fb8d0-c69f-4069-6c6e-20a270960125@gmail.com> <4b074422-7a36-4135-ab22-d261d59414b2@exemail.com.au> Message-ID: <4b27acdf-c15b-feb0-7f36-b46ca6cd2d72@gmail.com> On 12/10/23 4:00 pm, Denis Crowther wrote: > On 10/12/23 16:20, BB wrote: > >> > > -- snip -- > >>>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>> >>> My Default value is False and it is saved. >> Yes, It will write the value out if it is false, but how is your >> textarea.drop property default set to false in the IDE? (and if it >> is, then why is it output to the .form file?) > > I just tested on a new form. > > - drag textArea to form, the IDE has Drop=False. Save and the .form > file has; > > ? { TextArea1 TextArea > ??? MoveScaled(104,28,34,20) > ? } > > - change the Drop value to True, save and the .form file has; > ? { TextArea1 TextArea > ??? MoveScaled(104,28,34,20) > ??? Drop = True > ? } > > >>> >>> Here everything about the "Drop" works as expected. >>> >> b >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Totally weird, I do the same and i) the IDE has Drop=True ? It's the same whether I run the IDE in QT5 or GTK modes. Beats me. ? From denisc at exemail.com.au Thu Oct 12 08:08:36 2023 From: denisc at exemail.com.au (Denis Crowther) Date: Thu, 12 Oct 2023 17:08:36 +1100 Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... In-Reply-To: <4b27acdf-c15b-feb0-7f36-b46ca6cd2d72@gmail.com> References: <2d259ecc-884a-4708-83a2-a0017f4c878b@exemail.com.au> <544fb8d0-c69f-4069-6c6e-20a270960125@gmail.com> <4b074422-7a36-4135-ab22-d261d59414b2@exemail.com.au> <4b27acdf-c15b-feb0-7f36-b46ca6cd2d72@gmail.com> Message-ID: <6f3fc734-f49e-4e86-ad84-aa2afd79778d@exemail.com.au> On 10/12/23 16:51, BB wrote: > On 12/10/23 4:00 pm, Denis Crowther wrote: > >> On 10/12/23 16:20, BB wrote: >> >>> >> >> -- snip -- >> >>>>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>>> >>>> My Default value is False and it is saved. >>> Yes, It will write the value out if it is false, but how is your >>> textarea.drop property default set to false in the IDE? (and if it >>> is, then why is it output to the .form file?) >> >> I just tested on a new form. >> >> - drag textArea to form, the IDE has Drop=False. Save and the .form >> file has; >> >> ? { TextArea1 TextArea >> ??? MoveScaled(104,28,34,20) >> ? } >> >> - change the Drop value to True, save and the .form file has; >> ? { TextArea1 TextArea >> ??? MoveScaled(104,28,34,20) >> ??? Drop = True >> ? } >> >> >>>> >>>> Here everything about the "Drop" works as expected. >>>> >>> b >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > Totally weird, I do the same and i) the IDE has Drop=True ? > It's the same whether I run the IDE in QT5 or GTK modes. Beats me. ? > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- I didn't remember reading this and never thought to check... As of 3.18.2 the Drop Property is True by default. I'm running 3.18.1 I'm off now to upgrade... -- Regards Denis From denisc at exemail.com.au Fri Oct 13 02:19:23 2023 From: denisc at exemail.com.au (Denis Crowther) Date: Fri, 13 Oct 2023 11:19:23 +1100 Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... In-Reply-To: References: Message-ID: <5d7309b5-0942-492d-ad73-1c616fb33ab6@exemail.com.au> On 10/12/23 14:48, Denis Crowther wrote: >> On 10/12/23 10:00, sbungay wrote: >>> ?? If a text file is dragged from a file manager to a text area, the >>> drop event of the text area is not raised. Why is that and can it be >>> changed? >> >> Works here. >> >> Did you set: Drop = True in the IDE or code? >> > On 10/13/23 09:42, sbungay wrote: > > Thanks for the tips. I did not initialize the "drop" property to > true, doing that allowed the "drop" event to fire, and all is right with > the world, well, this little piece of it anyway. > Glad it helped... but if we'd both upgraded to 3.18.2 or better... :-D -- Regards Denis From gambas at servinfo.it Fri Oct 13 18:23:37 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Fri, 13 Oct 2023 18:23:37 +0200 Subject: [Gambas-user] WebTable ( or GridView ) detect same cell select Message-ID: Hi all, I have a WebTable with some code on the _select event. That event run when I >> change << the selection but I need to detect when someone re-click on the >> same << cell , is there a way to do that ? I've try the same on a GridView on qt and I get the same result so I understand that this is by design but is there some workaround or trick to detect when Clicking on an already selected item ? I try the _Click event but it's only raised when a embedded controlraises a Click event so don't work in my case. Thanks in advance, marco. ps: For who is asking , I have two WebTable on the same form and a button action change when I select something on a WebTable or on Another so I need to know latest selected Item between the Two. -------------- next part -------------- An HTML attachment was scrubbed... URL: From martin.fischer6 at web.de Fri Oct 13 18:47:35 2023 From: martin.fischer6 at web.de (Martin Fischer) Date: Fri, 13 Oct 2023 18:47:35 +0200 Subject: [Gambas-user] Performance figures for various ways to do reflective method calls Message-ID: <605b019e-d6c5-426e-a27a-172b79aaaa66@web.de> Hi fellow gambassians, I was interested in the performance of reflective method calls in gambas. I tested: - direct (early bound) method call - reflective via Object.Call - reflective via gb.eval - reflective via Variant Here are the numbers: Main.Main.11: Start method direct call... Main.Main.16: Done in 540ms Main.Main.18: Start method reflective call... Main.Main.23: Done in 4135ms Main.Main.30: Start method eval call... Main.Main.37: Done in 3469ms Main.Main.39: Start blind method variant call... Main.Main.46: Done in 1185ms The absolute numbers are not relevant. These figures answer the question: "how much slower is reflective call compared to direct call". Tiny Project is attached, if you want to reproduce. Regards ____________________________________ Martin Fischer -------------- next part -------------- A non-text attachment was scrubbed... Name: ReflectiveCall-0.0.1.tar.gz Type: application/gzip Size: 12326 bytes Desc: not available URL: From t.lee.davidson at gmail.com Fri Oct 13 23:30:38 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 13 Oct 2023 17:30:38 -0400 Subject: [Gambas-user] WebTable ( or GridView ) detect same cell select In-Reply-To: References: Message-ID: On 10/13/23 12:23, Marco Ancillotti wrote: > Hi all, > > I have a WebTable with some code on the _select event. > > That event run when I >> change << the selection but I need to detect when > someone re-click on the >> same << cell , is there a way to do that ? > > I've try the same on a GridView on qt and I get the same result so I understand that > this is by design but is there some workaround or trick to detect when Clicking on an > already selected item ? > > I try the _Click event but it's only raised when a embedded controlraises a Click event so > don't work in my case. > > Thanks in advance, > marco. > > ps: > For who is asking , I have two WebTable on the same form and a button action change when I > select something on a WebTable or on Another so I need to know latest selected Item between > the Two. Currently, about all you can do is embed a control in the cell that raises a Click event. For example, you could embed in each cell a WebButton with its Text property set to the data you wish to display in that cell. You could then implement a WebTable_Click event handler. This work-around came up in a mailing list discussion earlier this year: https://lists.gambas-basic.org/pipermail/user/2023-March/078722.html -- Lee From denisc at exemail.com.au Fri Oct 13 23:40:31 2023 From: denisc at exemail.com.au (Denis Crowther) Date: Sat, 14 Oct 2023 08:40:31 +1100 Subject: [Gambas-user] Mailing list problems? Message-ID: <66829e40-826f-4aa9-8c2f-a13fe6594e0c@exemail.com.au> Hey Guys, Has anybody else received an email from the list containing; "Your membership in the mailing list User has been disabled due to excessive bounces The last bounce received from you was dated 13-Oct-2023. You will not get any more messages from this list until you re-enable your membership. You will receive 3 more reminders like this before your membership in the list is deleted." Is it real? What does "The last bounce received from you" mean? AFAIK I've had no issues.. -- Regards Denis From t.lee.davidson at gmail.com Sat Oct 14 03:43:10 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 13 Oct 2023 21:43:10 -0400 Subject: [Gambas-user] Mailing list problems? In-Reply-To: <66829e40-826f-4aa9-8c2f-a13fe6594e0c@exemail.com.au> References: <66829e40-826f-4aa9-8c2f-a13fe6594e0c@exemail.com.au> Message-ID: <7164ee7c-d421-45ed-b749-1d61fd83d5c9@gmail.com> On 10/13/23 17:40, Denis Crowther wrote: > Hey Guys, > > Has anybody else received an email from the list containing; > > "Your membership in the mailing list User has been disabled due to > excessive bounces The last bounce received from you was dated > 13-Oct-2023.? You will not get any more messages from this list until > you re-enable your membership.? You will receive 3 more reminders like > this before your membership in the list is deleted." > > Is it real? > > What does "The last bounce received from you" mean? > > AFAIK I've had no issues.. > A "bounce received from you" would be a message sent to your email address that was rejected by the mail server or relay handling that address. If it truly is a Mailman message, and not a spoof hack attempt, the bounce count will be reset in the number of days set by the list's administrator. I haven't experienced this so I do not know how you would "re-enable your membership". Perhaps see what you can find out about your subscription at: https://lists.gambas-basic.org/listinfo/user -- Lee From chrisml at deganius.de Sat Oct 14 08:54:16 2023 From: chrisml at deganius.de (Christof Thalhofer) Date: Sat, 14 Oct 2023 08:54:16 +0200 Subject: [Gambas-user] Mailing list problems? In-Reply-To: <66829e40-826f-4aa9-8c2f-a13fe6594e0c@exemail.com.au> References: <66829e40-826f-4aa9-8c2f-a13fe6594e0c@exemail.com.au> Message-ID: Hi Denis, Am 13.10.23 um 23:40 schrieb Denis Crowther: > Has anybody else received an email from the list containing; > > "Your membership in the mailing list User has been disabled due to > excessive bounces The last bounce received from you was dated > 13-Oct-2023. You will not get any more messages from this list until > you re-enable your membership. You will receive 3 more reminders like > this before your membership in the list is deleted." > > Is it real? > > What does "The last bounce received from you" mean? > > AFAIK I've had no issues.. Your provider refused to accept a mail from the mailinglist and instead answered with a bounce message. As the same happened too often on different days ('bounce_score_threshold' = 5) and there was not a pause of 7 days ('bounce_info_stale_after') between bounces you got this mail. https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/model/docs/bounce.html So please ask your provider why they bounce mail from . Here the bounces: > Oct 05 10:27:01 2023 (7931) user: denisc at exemail.com.au bounce score: 1.0 > Oct 05 11:59:01 2023 (11336) user: denisc at exemail.com.au already scored a bounce for date 05-Oct-2023 > Oct 07 08:27:01 2023 (22072) user: denisc at exemail.com.au current bounce score: 2.0 > Oct 09 02:04:01 2023 (6146) user: denisc at exemail.com.au current bounce score: 3.0 > Oct 10 10:03:01 2023 (8053) user: denisc at exemail.com.au current bounce score: 4.0 > Oct 13 18:50:01 2023 (24878) user: denisc at exemail.com.au current bounce score: 5.0 > Oct 13 18:50:01 2023 (24878) user: denisc at exemail.com.au disabling due to bounce score 5.0 >= 5.0 Alles Gute Christof Thalhofer -- Dies ist keine Signatur -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 840 bytes Desc: OpenPGP digital signature URL: From gambas at servinfo.it Sat Oct 14 10:37:01 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Sat, 14 Oct 2023 10:37:01 +0200 Subject: [Gambas-user] WebTable ( or GridView ) detect same cell select In-Reply-To: References: Message-ID: <3c8134dc-9bc9-487d-b629-cab44fe971fc@servinfo.it> Il 13/10/23 23:30, T Lee Davidson ha scritto: > Currently, about all you can do is embed a control in the cell that > raises a Click event. For example, you could embed in each cell a > WebButton with its Text property set to the data you wish to display > in that cell. You could then implement a WebTable_Click event handler. > > This work-around came up in a mailing list discussion earlier this year: > https://lists.gambas-basic.org/pipermail/user/2023-March/078722.html Ok , I solved using this logic: * When someone select something on table1 I remove selection on table2 * When someone select something on table2 I remove selection on table1 So every time you have only one table with a selection and you can undestand what button will do. Thanks for the info. bye, marco. From t.lee.davidson at gmail.com Sun Oct 15 19:33:58 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 15 Oct 2023 13:33:58 -0400 Subject: [Gambas-user] Filling a text area with a Text file using drag and drop... In-Reply-To: References: Message-ID: <85133ff2-8581-4b64-853c-2fc1df6246c2@gmail.com> On 10/12/23 00:54, BB wrote: > > On 12/10/23 2:18 pm, Denis Crowther wrote: >> On 10/12/23 10:00, sbungay wrote: >>> ?? If a text file is dragged from a file manager to a text area, the drop event of the text area is not raised. Why is that >>> and can it be changed? >> >> Works here. >> >> Did you set: Drop = True in the IDE or code? >> > Yes, it appears that the form designer Drop property is not set or saved (in the IDE) so it has to be set via code. > > To be more explicit, the IDE default value for the Drop property is true, so when the form is saved, this is not output to the > .form file. Since the property is just a boolean, when the form is loaded at runtime that property is not set thus it is false. > This is a bug. > > b I just now reported it. Bug #2806. -- Lee From brian at westwoodsvcs.com Tue Oct 17 02:19:04 2023 From: brian at westwoodsvcs.com (Brian G) Date: Mon, 16 Oct 2023 17:19:04 -0700 (PDT) Subject: [Gambas-user] Performance figures for various ways to do reflective method calls In-Reply-To: <605b019e-d6c5-426e-a27a-172b79aaaa66@web.de> References: <605b019e-d6c5-426e-a27a-172b79aaaa66@web.de> Message-ID: <96368263.27457.1697501944161.JavaMail.zimbra@westwoodsvcs.com> Hi martin, There is one more method to use which is defining ckey as an object Dim key3 As Object = New Ckey Debug "Start method direct call... object" startTime = Now() For i As Long = 1 To iterations result = key3._equals(key2) Next Debug Subst("Done in &1ms", DateDiff(startTime, Now, gb.Millisecond)) the timing looks like this Main.Main.15: Start method direct call... Main.Main.20: Done in 765ms Main.Main.22: Start method direct call... object Main.Main.27: Done in 1156ms Main.Main.29: Start method reflective call... Main.Main.34: Done in 5220ms Main.Main.41: Start method eval call... Main.Main.48: Done in 4554ms Main.Main.50: Start blind method variant call... Main.Main.57: Done in 1332ms "Failure is the key to success; each mistake teaches us something" .. Morihei Ueshiba Brian G ----- On Oct 13, 2023, at 4:47 PM, Martin Fischer martin.fischer6 at web.de wrote: > Hi fellow gambassians, > > I was interested in the performance of reflective method calls in > gambas. I tested: > - direct (early bound) method call > - reflective via Object.Call > - reflective via gb.eval > - reflective via Variant > > Here are the numbers: > > Main.Main.11: Start method direct call... > Main.Main.16: Done in 540ms > Main.Main.18: Start method reflective call... > Main.Main.23: Done in 4135ms > Main.Main.30: Start method eval call... > Main.Main.37: Done in 3469ms > Main.Main.39: Start blind method variant call... > Main.Main.46: Done in 1185ms > > The absolute numbers are not relevant. These figures answer the > question: "how much slower is reflective call compared to direct call". > > Tiny Project is attached, if you want to reproduce. > > Regards > ____________________________________ > Martin Fischer > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From brian at westwoodsvcs.com Tue Oct 17 03:02:43 2023 From: brian at westwoodsvcs.com (Brian G) Date: Mon, 16 Oct 2023 18:02:43 -0700 (PDT) Subject: [Gambas-user] Performance figures for various ways to do reflective method calls In-Reply-To: <96368263.27457.1697501944161.JavaMail.zimbra@westwoodsvcs.com> References: <605b019e-d6c5-426e-a27a-172b79aaaa66@web.de> <96368263.27457.1697501944161.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <872247457.27478.1697504563429.JavaMail.zimbra@westwoodsvcs.com> I find this interesting, I ran a baseline call set as well results: Main.Main.15: Start method Local direct as baseline...integer parameter Main.Main.20: Done in 652ms Main.Main.22: Start method Local direct as baseline... object parameter Main.Main.27: Done in 603ms Main.Main.29: Start method direct class static call... Main.Main.34: Done in 736ms Main.Main.36: Start method direct module method call...module Main.Main.41: Done in 736ms Main.Main.43: Start method direct call... Main.Main.48: Done in 679ms Main.Main.50: Start method direct call... object Main.Main.55: Done in 1439ms Main.Main.57: Start method reflective call... Main.Main.62: Done in 5487ms Main.Main.69: Start method eval call... Main.Main.76: Done in 4246ms Main.Main.78: Start blind method variant call... Main.Main.85: Done in 1403ms but with fast unsafe, some types are actually slower...... Main.Main.15: Start method Local direct as baseline...integer parameter Main.Main.20: Done in 152ms Main.Main.22: Start method Local direct as baseline... object parameter Main.Main.27: Done in 163ms Main.Main.29: Start method direct class static call... Main.Main.34: Done in 964ms Main.Main.36: Start method direct module method call...module Main.Main.41: Done in 937ms Main.Main.43: Start method direct call... Main.Main.48: Done in 945ms Main.Main.50: Start method direct call... object Main.Main.55: Done in 1203ms Main.Main.57: Start method reflective call... Main.Main.62: Done in 5413ms Main.Main.69: Start method eval call... Main.Main.76: Done in 4638ms Main.Main.78: Start blind method variant call... Main.Main.85: Done in 1412ms "Failure is the key to success; each mistake teaches us something" .. Morihei Ueshiba Brian G ----- On Oct 17, 2023, at 12:19 AM, Brian G brian at westwoodsvcs.com wrote: > Hi martin, > > There is one more method to use which is defining ckey as an object > Dim key3 As Object = New Ckey > Debug "Start method direct call... object" > startTime = Now() > For i As Long = 1 To iterations > result = key3._equals(key2) > Next > Debug Subst("Done in &1ms", DateDiff(startTime, Now, gb.Millisecond)) > > the timing looks like this > Main.Main.15: Start method direct call... > Main.Main.20: Done in 765ms > Main.Main.22: Start method direct call... object > Main.Main.27: Done in 1156ms > Main.Main.29: Start method reflective call... > Main.Main.34: Done in 5220ms > Main.Main.41: Start method eval call... > Main.Main.48: Done in 4554ms > Main.Main.50: Start blind method variant call... > Main.Main.57: Done in 1332ms > > > "Failure is the key to success; > each mistake teaches us something" .. Morihei Ueshiba > Brian G > > ----- On Oct 13, 2023, at 4:47 PM, Martin Fischer martin.fischer6 at web.de wrote: > >> Hi fellow gambassians, >> >> I was interested in the performance of reflective method calls in >> gambas. I tested: >> - direct (early bound) method call >> - reflective via Object.Call >> - reflective via gb.eval >> - reflective via Variant >> >> Here are the numbers: >> >> Main.Main.11: Start method direct call... >> Main.Main.16: Done in 540ms >> Main.Main.18: Start method reflective call... >> Main.Main.23: Done in 4135ms >> Main.Main.30: Start method eval call... >> Main.Main.37: Done in 3469ms >> Main.Main.39: Start blind method variant call... >> Main.Main.46: Done in 1185ms >> >> The absolute numbers are not relevant. These figures answer the >> question: "how much slower is reflective call compared to direct call". >> >> Tiny Project is attached, if you want to reproduce. >> >> Regards >> ____________________________________ >> Martin Fischer >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From vuott at tutanota.com Tue Oct 17 16:11:35 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Tue, 17 Oct 2023 16:11:35 +0200 (CEST) Subject: [Gambas-user] Problem with gb.map Message-ID: Hello, launching any project using the "gb.map" Component, I get this error report in the console: gb.jit: error: unable to compile JIT code of 'gb.map': In file included from /tmp/gambas.1000/10572/jit/gb.map.c:1: /tmp/gambas.1000/10572/jit/gb.map.c: In function ???jit_geo_2_???: /tmp/gambas.1000/10572/jit/gb.map.c:57:430: error: stray ???\363??? in program ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 36); _a;})))))); double _b = CALL_MATH( ----------------------- [System] Gambas=3.18.90 d26f534 (master) OperatingSystem=Linux Distribution=Linux Mint 21.2 Victoria Kernel=6.2.0-34-generic Architecture=x86_64 Cores=2 Memory=5354M Language=it_IT.UTF-8 Desktop=CINNAMON DesktopResolution=96 DesktopScale=7 WidgetTheme=mint-y-aqua Font=Ubuntu,10 [Programs] gcc=gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 git=git version 2.34.1 [Libraries] Cairo=libcairo.so.2.11600.0 Curl=libcurl.so.4.7.0 DBus=libdbus-1.so.3.19.13 GDK2=libgdk-x11-2.0.so.0.2400.33 GDK3=libgdk-3.so.0.2404.29 GStreamer=libgstreamer-1.0.so.0.2003.0 GTK+2=libgtk-x11-2.0.so.0.2400.33 GTK+3=libgtk-3.so.0.2404.29 OpenGL=libGL.so.1.7.0 Poppler=libpoppler.so.118.0.0 QT5=libQt5Core.so.5.15.3 RSvg=librsvg-2.so.2.48.0 SDL=libSDL2-2.0.so.0.18.2 SQLite 3=libsqlite3.so.0.8.6 -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Tue Oct 17 16:19:34 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Tue, 17 Oct 2023 16:19:34 +0200 (CEST) Subject: [Gambas-user] Problem with gb.map In-Reply-To: References: Message-ID: In the console, further down, I found more warning lines: /tmp/gambas.1000/10792/jit/gb.map.c: In function ???jit_mappoint_4_???: /tmp/gambas.1000/10792/jit/gb.map.c:752:19: error: stray ???\363??? in program ? 752 |?? l12 = CALL_MATH(?^^??=??); ????? |?????????????????? ^ /tmp/gambas.1000/10792/jit/jit.h:1937:41: note: in definition of macro ???CALL_MATH??? 1937 | #define CALL_MATH(_func) ({ double _v = _func; if (!isfinite(_v)) THROW(E_MATH); _v; }) 17 ott 2023, 16:12 da user at lists.gambas-basic.org: > Hello, > launching any project using the "gb.map" Component, I get this error report in the console: > > gb.jit: error: unable to compile JIT code of 'gb.map': > > In file included from /tmp/gambas.1000/10572/jit/gb.map.c:1: > /tmp/gambas.1000/10572/jit/gb.map.c: In function ???jit_geo_2_???: > /tmp/gambas.1000/10572/jit/gb.map.c:57:430: error: stray ???\363??? in program > ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 36); _a;})))))); double _b = CALL_MATH( > > ----------------------- > > [System] > Gambas=3.18.90 d26f534 (master) > OperatingSystem=Linux > Distribution=Linux Mint 21.2 Victoria > Kernel=6.2.0-34-generic > Architecture=x86_64 > Cores=2 > Memory=5354M > Language=it_IT.UTF-8 > Desktop=CINNAMON > DesktopResolution=96 > DesktopScale=7 > WidgetTheme=mint-y-aqua > Font=Ubuntu,10 > > [Programs] > gcc=gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 > git=git version 2.34.1 > > [Libraries] > Cairo=libcairo.so.2.11600.0 > Curl=libcurl.so.4.7.0 > DBus=libdbus-1.so.3.19.13 > GDK2=libgdk-x11-2.0.so.0.2400.33 > GDK3=libgdk-3.so.0.2404.29 > GStreamer=libgstreamer-1.0.so.0.2003.0 > GTK+2=libgtk-x11-2.0.so.0.2400.33 > GTK+3=libgtk-3.so.0.2404.29 > OpenGL=libGL.so.1.7.0 > Poppler=libpoppler.so.118.0.0 > QT5=libQt5Core.so.5.15.3 > RSvg=librsvg-2.so.2.48.0 > SDL=libSDL2-2.0.so.0.18.2 > SQLite 3=libsqlite3.so.0.8.6 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From martin.fischer6 at web.de Tue Oct 17 20:07:26 2023 From: martin.fischer6 at web.de (Martin Fischer) Date: Tue, 17 Oct 2023 20:07:26 +0200 Subject: [Gambas-user] Performance figures for various ways to do reflective method calls In-Reply-To: <872247457.27478.1697504563429.JavaMail.zimbra@westwoodsvcs.com> References: <605b019e-d6c5-426e-a27a-172b79aaaa66@web.de> <96368263.27457.1697501944161.JavaMail.zimbra@westwoodsvcs.com> <872247457.27478.1697504563429.JavaMail.zimbra@westwoodsvcs.com> Message-ID: Hi Brian, I got the same results using my original tests with "fast" and "fast unsafe". I was quite surprised to see that mostly it's not getting faster with "fast". This raises the question: under which circumstances is "fast" faster? Benoit, can you answer this? Regards, Martin On 17.10.23 03:02, Brian G wrote: > I find this interesting, I ran a baseline call set as well results: > > Main.Main.15: Start method Local direct as baseline...integer parameter > Main.Main.20: Done in 652ms > Main.Main.22: Start method Local direct as baseline... object parameter > Main.Main.27: Done in 603ms > Main.Main.29: Start method direct class static call... > Main.Main.34: Done in 736ms > Main.Main.36: Start method direct module method call...module > Main.Main.41: Done in 736ms > Main.Main.43: Start method direct call... > Main.Main.48: Done in 679ms > Main.Main.50: Start method direct call... object > Main.Main.55: Done in 1439ms > Main.Main.57: Start method reflective call... > Main.Main.62: Done in 5487ms > Main.Main.69: Start method eval call... > Main.Main.76: Done in 4246ms > Main.Main.78: Start blind method variant call... > Main.Main.85: Done in 1403ms > > but with fast unsafe, some types are actually slower...... > > Main.Main.15: Start method Local direct as baseline...integer parameter > Main.Main.20: Done in 152ms > Main.Main.22: Start method Local direct as baseline... object parameter > Main.Main.27: Done in 163ms > Main.Main.29: Start method direct class static call... > Main.Main.34: Done in 964ms > Main.Main.36: Start method direct module method call...module > Main.Main.41: Done in 937ms > Main.Main.43: Start method direct call... > Main.Main.48: Done in 945ms > Main.Main.50: Start method direct call... object > Main.Main.55: Done in 1203ms > Main.Main.57: Start method reflective call... > Main.Main.62: Done in 5413ms > Main.Main.69: Start method eval call... > Main.Main.76: Done in 4638ms > Main.Main.78: Start blind method variant call... > Main.Main.85: Done in 1412ms > > > "Failure is the key to success; > each mistake teaches us something" .. Morihei Ueshiba > Brian G > > ----- On Oct 17, 2023, at 12:19 AM, Brian G brian at westwoodsvcs.com wrote: > >> Hi martin, >> >> There is one more method to use which is defining ckey as an object >> Dim key3 As Object = New Ckey >> Debug "Start method direct call... object" >> startTime = Now() >> For i As Long = 1 To iterations >> result = key3._equals(key2) >> Next >> Debug Subst("Done in &1ms", DateDiff(startTime, Now, gb.Millisecond)) >> >> the timing looks like this >> Main.Main.15: Start method direct call... >> Main.Main.20: Done in 765ms >> Main.Main.22: Start method direct call... object >> Main.Main.27: Done in 1156ms >> Main.Main.29: Start method reflective call... >> Main.Main.34: Done in 5220ms >> Main.Main.41: Start method eval call... >> Main.Main.48: Done in 4554ms >> Main.Main.50: Start blind method variant call... >> Main.Main.57: Done in 1332ms >> >> >> "Failure is the key to success; >> each mistake teaches us something" .. Morihei Ueshiba >> Brian G >> >> ----- On Oct 13, 2023, at 4:47 PM, Martin Fischer martin.fischer6 at web.de wrote: >> >>> Hi fellow gambassians, >>> >>> I was interested in the performance of reflective method calls in >>> gambas. I tested: >>> - direct (early bound) method call >>> - reflective via Object.Call >>> - reflective via gb.eval >>> - reflective via Variant >>> >>> Here are the numbers: >>> >>> Main.Main.11: Start method direct call... >>> Main.Main.16: Done in 540ms >>> Main.Main.18: Start method reflective call... >>> Main.Main.23: Done in 4135ms >>> Main.Main.30: Start method eval call... >>> Main.Main.37: Done in 3469ms >>> Main.Main.39: Start blind method variant call... >>> Main.Main.46: Done in 1185ms >>> >>> The absolute numbers are not relevant. These figures answer the >>> question: "how much slower is reflective call compared to direct call". >>> >>> Tiny Project is attached, if you want to reproduce. >>> >>> Regards >>> ____________________________________ >>> Martin Fischer >>> >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From benoit.minisini at gambas-basic.org Tue Oct 17 20:22:22 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 17 Oct 2023 20:22:22 +0200 Subject: [Gambas-user] Performance figures for various ways to do reflective method calls In-Reply-To: References: <605b019e-d6c5-426e-a27a-172b79aaaa66@web.de> <96368263.27457.1697501944161.JavaMail.zimbra@westwoodsvcs.com> <872247457.27478.1697504563429.JavaMail.zimbra@westwoodsvcs.com> Message-ID: Le 17/10/2023 ? 20:07, Martin Fischer a ?crit?: > Hi Brian, > > I got the same results using my original tests with "fast" and "fast > unsafe". > I was quite surprised to see that mostly it's not getting faster with > "fast". > > This raises the question: under which circumstances is "fast" faster? > Benoit, can you answer this? > > Regards, > Martin > Have you read the wiki page about JIT compiler? In a few words, a lot of things are optimized, and the others just call the interpreter indirectly. So no gain for string management, and function calls can be slower - it is only optimized when you call a class private function. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Tue Oct 17 20:27:11 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 17 Oct 2023 20:27:11 +0200 Subject: [Gambas-user] Performance figures for various ways to do reflective method calls In-Reply-To: References: <605b019e-d6c5-426e-a27a-172b79aaaa66@web.de> <96368263.27457.1697501944161.JavaMail.zimbra@westwoodsvcs.com> <872247457.27478.1697504563429.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <12463c98-8911-48df-abeb-fa12967cd507@gambas-basic.org> Le 17/10/2023 ? 20:22, Beno?t Minisini a ?crit?: > Le 17/10/2023 ? 20:07, Martin Fischer a ?crit?: >> Hi Brian, >> >> I got the same results using my original tests with "fast" and "fast >> unsafe". >> I was quite surprised to see that mostly it's not getting faster with >> "fast". >> >> This raises the question: under which circumstances is "fast" faster? >> Benoit, can you answer this? >> >> Regards, >> Martin >> > > Have you read the wiki page about JIT compiler? > > In a few words, a lot of things are optimized, and the others just call > the interpreter indirectly. So no gain for string management, and > function calls can be slower - it is only optimized when you call a > class private function. > > Regards, > Another remark: when you call a method on a object whose type may change (i.e. Object, Variant), it's slow, as the class symbol table must be browsed. When the object has a defined datatype (inheritance is taken into account), then the class symbol table is only browsed once, the first time the line of code is executed. This is called "lazy binding". The other method calls are then faster, as the class symbol table is not browsed anymore. Moreover, if the method signature is "simple", i.e. no optional argument, no use of "...", no "ByRef", then the method call is faster. Regards, -- Beno?t Minisini. From martin.fischer6 at web.de Tue Oct 17 20:39:13 2023 From: martin.fischer6 at web.de (Martin Fischer) Date: Tue, 17 Oct 2023 20:39:13 +0200 Subject: [Gambas-user] Edit Actions in IDE Message-ID: Hi all, I know that Actions can be edited in the IDE somehow (the gambas buch suggests this and I found this mentioned elsewhere in the mailing list). The problem is: I can't find a way to do it... What I have at the moment: - I assign action-strings to controls in the control's property sheet (menubuttons, toolbuttons as children of a mdi toolbar) - I manage the action's enabled, pic, text, and shortcut property in code. - a *.action file has been created automatically in the .action dir. This file is not visible within the IDE. My question is: how do I edit this action file whithin the gambas IDE? Where is the secret button? Regards, Martin Fischer From gradobag at gradobag.it Tue Oct 17 22:27:25 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 17 Oct 2023 22:27:25 +0200 Subject: [Gambas-user] Fonts: different answers from libraries Message-ID: <9d6f146d-b5f2-44d3-8e9e-d2f27a7f1fc3@gradobag.it> The font is installed but I get information only with the GTK libraries. Anyone know the reason? Code(*) System(**) Regards Gianluigi (*) Public Sub Form_Open() ? If Fonts.Exist("D050000L") Then ??? Message.Info("The D050000L font is installed") ? Else ??? Message.Warning("You have to install the D050000L font") ? Endif ? Me.Close End (**) [System] Gambas=3.18.90 d26f534 (master) OperatingSystem=Linux Distribution=Linux Mint 21.2 Victoria Kernel=5.15.0-86-generic Architecture=x86_64 Cores=16 Memory=32000M Language=it_IT.UTF-8 Desktop=CINNAMON DesktopResolution=96 DesktopScale=7 WidgetTheme=mint-y-aqua Font=Ubuntu,10 [Programs] gcc=gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 git=git version 2.34.1 [Libraries] Cairo=libcairo.so.2.11600.0 Curl=libcurl.so.4.7.0 DBus=libdbus-1.so.3.19.13 GDK2=libgdk-x11-2.0.so.0.2400.33 GDK3=libgdk-3.so.0.2404.29 GStreamer=libgstreamer-1.0.so.0.2003.0 GTK+2=libgtk-x11-2.0.so.0.2400.33 GTK+3=libgtk-3.so.0.2404.29 OpenGL=libGL.so.1.7.0 Poppler=libpoppler.so.118.0.0 QT5=libQt5Core.so.5.15.3 RSvg=librsvg-2.so.2.48.0 SDL=libSDL2-2.0.so.0.18.2 SQLite 3=libsqlite3.so.0.8.6 [Environment] CINNAMON_VERSION=5.8.4 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DESKTOP_SESSION=cinnamon DISPLAY=:0 GB_GUI=gb.gtk3 GDMSESSION=cinnamon GDM_LANG=it GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop GIO_LAUNCHED_DESKTOP_FILE_PID=12862 GJS_DEBUG_OUTPUT=stderr GJS_DEBUG_TOPICS=JS ERROR;JS LOG GNOME_DESKTOP_SESSION_ID=this-is-deprecated GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK3_MODULES=xapp-gtk3-module GTK_MODULES=gail:atk-bridge HOME=/home/ LANG=it_IT.UTF-8 LANGUAGE=it_IT.UTF-8 LC_ALL=it_IT.UTF-8 LOGNAME= PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin PWD=/home/ QT_ACCESSIBILITY=1 QT_LOGGING_RULES=*.debug=false QT_QPA_PLATFORMTHEME=qt5ct SESSION_MANAGER=local/:@/tmp/.ICE-unix/1884,unix/:/tmp/.ICE-unix/1884 SHELL=/bin/bash SHLVL=0 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh TZ=:/etc/localtime USER= XAUTHORITY=/home//.Xauthority XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg XDG_CURRENT_DESKTOP=X-Cinnamon XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:/home//.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ XDG_RUNTIME_DIR=/run/user/1000 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=cinnamon XDG_SESSION_ID=c2 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 XDG_SESSION_TYPE=x11 XDG_VTNR=7 From t.lee.davidson at gmail.com Wed Oct 18 00:31:09 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 17 Oct 2023 18:31:09 -0400 Subject: [Gambas-user] Edit Actions in IDE In-Reply-To: References: Message-ID: <7fa22951-157d-4cc3-a960-9004e4dae115@gmail.com> On 10/17/23 14:39, Martin Fischer wrote: > Hi all, > > I know that Actions can be edited in the IDE somehow (the gambas buch > suggests this and I found this mentioned elsewhere in the mailing list). > The problem is: I can't find a way to do it... > > What I have at the moment: > - I assign action-strings to controls in the control's property sheet > (menubuttons, toolbuttons as children of a mdi toolbar) > - I manage the action's enabled, pic, text, and shortcut property in code. > - a *.action file has been created automatically in the .action dir. > This file is not visible within the IDE. > > My question is: how do I edit this action file whithin the gambas IDE? > Where is the secret button? > > Regards, > Martin Fischer File -> Open file... Then in the "Select a file" dialog, right-click on the file pane, select "Show hidden files". -- Lee From t.lee.davidson at gmail.com Wed Oct 18 05:16:54 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 17 Oct 2023 23:16:54 -0400 Subject: [Gambas-user] Fonts: different answers from libraries In-Reply-To: <9d6f146d-b5f2-44d3-8e9e-d2f27a7f1fc3@gradobag.it> References: <9d6f146d-b5f2-44d3-8e9e-d2f27a7f1fc3@gradobag.it> Message-ID: <2c5e7322-7450-4c6a-a408-ffaa180cd125@gmail.com> On 10/17/23 16:27, Gianluigi wrote: > The?font?is?installed?but?I?get?information?only?with?the?GTK?libraries. > Anyone?know?the?reason? > Code(*) > System(**) > > Regards > Gianluigi > > (*) > Public?Sub?Form_Open() > > ??If?Fonts.Exist("D050000L")?Then > ????Message.Info("The?D050000L?font?is?installed") > ??Else > ????Message.Warning("You?have?to?install?the?D050000L?font") > ??Endif > ??Me.Close > > End > > (**) > [System] > Gambas=3.18.90?d26f534?(master) I do not know the reason, but I can confirm that the list of fonts enumerated by Fonts is indeed different when using GTK3 versus Qt5; not only in number (141 versus 285, respectively) but also in name. -- Lee From t.lee.davidson at gmail.com Wed Oct 18 05:21:13 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 17 Oct 2023 23:21:13 -0400 Subject: [Gambas-user] Fonts: different answers from libraries In-Reply-To: <2c5e7322-7450-4c6a-a408-ffaa180cd125@gmail.com> References: <9d6f146d-b5f2-44d3-8e9e-d2f27a7f1fc3@gradobag.it> <2c5e7322-7450-4c6a-a408-ffaa180cd125@gmail.com> Message-ID: <6efcc002-46bb-4bd3-815e-c514e21deeb8@gmail.com> On 10/17/23 23:16, T Lee Davidson wrote: > On 10/17/23 16:27, Gianluigi wrote: >> The?font?is?installed?but?I?get?information?only?with?the?GTK?libraries. >> Anyone?know?the?reason? >> Code(*) >> System(**) >> >> Regards >> Gianluigi >> >> (*) >> Public?Sub?Form_Open() >> >> ???If?Fonts.Exist("D050000L")?Then >> ?????Message.Info("The?D050000L?font?is?installed") >> ???Else >> ?????Message.Warning("You?have?to?install?the?D050000L?font") >> ???Endif >> ???Me.Close >> >> End >> >> (**) >> [System] >> Gambas=3.18.90?d26f534?(master) > > I do not know the reason, but I can confirm that the list of fonts enumerated by Fonts is indeed different when using GTK3 > versus Qt5; not only in number (141 versus 285, respectively) but also in name. I probably should have mentioned: 1) `fc-list : family` on the command-line yields 237, and 2) this is with v3.18.4 (stable) -- Lee From adamnt42 at gmail.com Wed Oct 18 06:26:16 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 18 Oct 2023 14:56:16 +1030 Subject: [Gambas-user] Fonts: different answers from libraries In-Reply-To: <9d6f146d-b5f2-44d3-8e9e-d2f27a7f1fc3@gradobag.it> References: <9d6f146d-b5f2-44d3-8e9e-d2f27a7f1fc3@gradobag.it> Message-ID: <5ee09994-b333-1a5d-eb49-aad5fb65e02a@gmail.com> Check that your D05.. font is known in qt5ct. b On 18/10/23 6:57 am, Gianluigi wrote: > The font is installed but I get information only with the GTK libraries. > Anyone know the reason? > Code(*) > System(**) > > Regards > Gianluigi > > (*) > Public Sub Form_Open() > > ? If Fonts.Exist("D050000L") Then > ??? Message.Info("The D050000L font is installed") > ? Else > ??? Message.Warning("You have to install the D050000L font") > ? Endif > ? Me.Close > > End > > (**) > [System] > Gambas=3.18.90 d26f534 (master) > OperatingSystem=Linux > Distribution=Linux Mint 21.2 Victoria > Kernel=5.15.0-86-generic > Architecture=x86_64 > Cores=16 > Memory=32000M > Language=it_IT.UTF-8 > Desktop=CINNAMON > DesktopResolution=96 > DesktopScale=7 > WidgetTheme=mint-y-aqua > Font=Ubuntu,10 > > [Programs] > gcc=gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 > git=git version 2.34.1 > > [Libraries] > Cairo=libcairo.so.2.11600.0 > Curl=libcurl.so.4.7.0 > DBus=libdbus-1.so.3.19.13 > GDK2=libgdk-x11-2.0.so.0.2400.33 > GDK3=libgdk-3.so.0.2404.29 > GStreamer=libgstreamer-1.0.so.0.2003.0 > GTK+2=libgtk-x11-2.0.so.0.2400.33 > GTK+3=libgtk-3.so.0.2404.29 > OpenGL=libGL.so.1.7.0 > Poppler=libpoppler.so.118.0.0 > QT5=libQt5Core.so.5.15.3 > RSvg=librsvg-2.so.2.48.0 > SDL=libSDL2-2.0.so.0.18.2 > SQLite 3=libsqlite3.so.0.8.6 > > [Environment] > CINNAMON_VERSION=5.8.4 > DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus > DESKTOP_SESSION=cinnamon > DISPLAY=:0 > GB_GUI=gb.gtk3 > GDMSESSION=cinnamon > GDM_LANG=it > GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop > GIO_LAUNCHED_DESKTOP_FILE_PID=12862 > GJS_DEBUG_OUTPUT=stderr > GJS_DEBUG_TOPICS=JS ERROR;JS LOG > GNOME_DESKTOP_SESSION_ID=this-is-deprecated > GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 > GTK3_MODULES=xapp-gtk3-module > GTK_MODULES=gail:atk-bridge > HOME=/home/ > LANG=it_IT.UTF-8 > LANGUAGE=it_IT.UTF-8 > LC_ALL=it_IT.UTF-8 > LOGNAME= > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin > > PWD=/home/ > QT_ACCESSIBILITY=1 > QT_LOGGING_RULES=*.debug=false > QT_QPA_PLATFORMTHEME=qt5ct > SESSION_MANAGER=local/:@/tmp/.ICE-unix/1884,unix/:/tmp/.ICE-unix/1884 > > SHELL=/bin/bash > SHLVL=0 > SSH_AUTH_SOCK=/run/user/1000/keyring/ssh > TZ=:/etc/localtime > USER= > XAUTHORITY=/home//.Xauthority > XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg > XDG_CURRENT_DESKTOP=X-Cinnamon > XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:/home//.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share > > XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ > XDG_RUNTIME_DIR=/run/user/1000 > XDG_SEAT=seat0 > XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 > XDG_SESSION_CLASS=user > XDG_SESSION_DESKTOP=cinnamon > XDG_SESSION_ID=c2 > XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 > XDG_SESSION_TYPE=x11 > XDG_VTNR=7 > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From adamnt42 at gmail.com Wed Oct 18 06:50:52 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 18 Oct 2023 15:20:52 +1030 Subject: [Gambas-user] Fonts: different answers from libraries In-Reply-To: <6efcc002-46bb-4bd3-815e-c514e21deeb8@gmail.com> References: <9d6f146d-b5f2-44d3-8e9e-d2f27a7f1fc3@gradobag.it> <2c5e7322-7450-4c6a-a408-ffaa180cd125@gmail.com> <6efcc002-46bb-4bd3-815e-c514e21deeb8@gmail.com> Message-ID: <7ea68b6e-f91a-50a7-db3d-eee7c66e35f7@gmail.com> On 18/10/23 1:51 pm, T Lee Davidson wrote: > On 10/17/23 23:16, T Lee Davidson wrote: >> On 10/17/23 16:27, Gianluigi wrote: >>> The?font?is?installed?but?I?get?information?only?with?the?GTK?libraries. >>> >>> Anyone?know?the?reason? >>> Code(*) >>> System(**) >>> >>> Regards >>> Gianluigi >>> >>> (*) >>> Public?Sub?Form_Open() >>> >>> ???If?Fonts.Exist("D050000L")?Then >>> ?????Message.Info("The?D050000L?font?is?installed") >>> ???Else >>> ?????Message.Warning("You?have?to?install?the?D050000L?font") >>> ???Endif >>> ???Me.Close >>> >>> End >>> >>> (**) >>> [System] >>> Gambas=3.18.90?d26f534?(master) >> >> I do not know the reason, but I can confirm that the list of fonts >> enumerated by Fonts is indeed different when using GTK3 versus Qt5; >> not only in number (141 versus 285, respectively) but also in name. > > I probably should have mentioned: > 1) `fc-list : family` on the command-line yields 237, and > 2) this is with v3.18.4 (stable) > In short, I believe the answer lies in how these three things "know" about fonts. QT5 has it's own internal list of what it thinks are names of installed fonts. fc (and fc-list) uses fontconfig files installed here there and everywhere by font packages and whatever GTK does it's probably a different way to the above. An important thing to know is that these three all have different ways of coming up with a font "name". I don't know for sure but Gialuigi's could be related to the fact that here D050000L is called "D050000L [URW]". b p.s. I guess that no matter how hard you try to be desktop agnostic, 4th parties (i.e. font providers) can stuff you up. From gambas.fr at gmail.com Wed Oct 18 09:27:52 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 18 Oct 2023 09:27:52 +0200 Subject: [Gambas-user] Problem with gb.map In-Reply-To: References: Message-ID: Hi, Vuott Happy to have another man with my problem ... may be we can solve it now.. Are you using the Daily ppa version ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Wed Oct 18 09:33:57 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 18 Oct 2023 18:03:57 +1030 Subject: [Gambas-user] Problem with gb.map In-Reply-To: References: Message-ID: On 18/10/23 5:57 pm, Fabien Bodard wrote: > Hi, Vuott > > Happy to have?another man with my problem ... may be we can solve it now.. > > > Are you using the Daily ppa version ? > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Did you guys see my post from 11/Oct? It has the full trace back. b -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Wed Oct 18 11:15:52 2023 From: gradobag at gradobag.it (Gianluigi) Date: Wed, 18 Oct 2023 11:15:52 +0200 Subject: [Gambas-user] Fonts: different answers from libraries In-Reply-To: <7ea68b6e-f91a-50a7-db3d-eee7c66e35f7@gmail.com> References: <9d6f146d-b5f2-44d3-8e9e-d2f27a7f1fc3@gradobag.it> <2c5e7322-7450-4c6a-a408-ffaa180cd125@gmail.com> <6efcc002-46bb-4bd3-815e-c514e21deeb8@gmail.com> <7ea68b6e-f91a-50a7-db3d-eee7c66e35f7@gmail.com> Message-ID: <19393943-1f75-4d27-86e9-e5b415b0a7d1@gradobag.it> Il 18/10/23 06:50, BB ha scritto: > > On 18/10/23 1:51 pm, T Lee Davidson wrote: >> On 10/17/23 23:16, T Lee Davidson wrote: >>> On 10/17/23 16:27, Gianluigi wrote: >>>> The?font?is?installed?but?I?get?information?only?with?the?GTK?libraries. >>>> >>>> Anyone?know?the?reason? >>>> Code(*) >>>> System(**) >>>> >>>> Regards >>>> Gianluigi >>>> >>>> (*) >>>> Public?Sub?Form_Open() >>>> >>>> ???If?Fonts.Exist("D050000L")?Then >>>> ?????Message.Info("The?D050000L?font?is?installed") >>>> ???Else >>>> ?????Message.Warning("You?have?to?install?the?D050000L?font") >>>> ???Endif >>>> ???Me.Close >>>> >>>> End >>>> >>>> (**) >>>> [System] >>>> Gambas=3.18.90?d26f534?(master) >>> >>> I do not know the reason, but I can confirm that the list of fonts >>> enumerated by Fonts is indeed different when using GTK3 versus Qt5; >>> not only in number (141 versus 285, respectively) but also in name. >> >> I probably should have mentioned: >> 1) `fc-list : family` on the command-line yields 237, and >> 2) this is with v3.18.4 (stable) >> > In short, I believe the answer lies in how these three things "know" > about fonts. QT5 has it's own internal list of what it thinks are > names of installed fonts. fc (and fc-list) uses fontconfig files > installed here there and everywhere by font packages and whatever GTK > does it's probably a different way to the above. An important thing to > know is that these three all have different ways of coming up with a > font "name". I don't know for sure but Gialuigi's could be related to > the fact that here D050000L is called "D050000L [URW]". > > b > > p.s. I guess that no matter how hard you try to be desktop agnostic, > 4th parties (i.e. font providers) can stuff you up. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Hi guys, thank you very much for your help. I found this page: https://www.kdab.com/the-qt-less-traveled/ it seems like a qt bug. With this code I saw how QT (and GTK) call the font: Public Sub Form_Open() ? Dim fontName As String ? Print "QT" ? Print "===================" ? For Each fontName In Fonts ??? Print fontName ? Next End And this code seems to solve: Public Sub Form_Open() ? If Fonts.Exist("D050000L") Or If Fonts.Exist("D050000L [urw]") Or If Fonts.Exist("D050000L [URW ]") Then ??? Message.Info("The D050000L font is installed") ? Else ??? Message.Warning("You have to install the D050000L font") ? Endif ? Me.Close End Many thanks again, regards Gianluigi From gambas.fr at gmail.com Wed Oct 18 11:55:15 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 18 Oct 2023 11:55:15 +0200 Subject: [Gambas-user] Problem with gb.map In-Reply-To: References: Message-ID: Oups sorry Bruce, I was in harvest time, and I miss your message. All of this seem to be related to the Convertion of pi function in the gb to C compiler Benoit will take a look at that now. What is stange is that affect only the ppa daily version for me, not my own compiled Version Le mer. 18 oct. 2023 ? 09:35, BB a ?crit : > > On 18/10/23 5:57 pm, Fabien Bodard wrote: > > Hi, Vuott > > Happy to have another man with my problem ... may be we can solve it now.. > > > Are you using the Daily ppa version ? > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Did you guys see my post from 11/Oct? It has the full trace back. > > b > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Wed Oct 18 12:29:30 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 18 Oct 2023 20:59:30 +1030 Subject: [Gambas-user] Fonts: different answers from libraries In-Reply-To: <19393943-1f75-4d27-86e9-e5b415b0a7d1@gradobag.it> References: <9d6f146d-b5f2-44d3-8e9e-d2f27a7f1fc3@gradobag.it> <2c5e7322-7450-4c6a-a408-ffaa180cd125@gmail.com> <6efcc002-46bb-4bd3-815e-c514e21deeb8@gmail.com> <7ea68b6e-f91a-50a7-db3d-eee7c66e35f7@gmail.com> <19393943-1f75-4d27-86e9-e5b415b0a7d1@gradobag.it> Message-ID: On 18/10/23 7:45 pm, Gianluigi wrote: > Il 18/10/23 06:50, BB ha scritto: >> >> On 18/10/23 1:51 pm, T Lee Davidson wrote: >>> On 10/17/23 23:16, T Lee Davidson wrote: >>>> On 10/17/23 16:27, Gianluigi wrote: >>>>> The?font?is?installed?but?I?get?information?only?with?the?GTK?libraries. >>>>> >>>>> Anyone?know?the?reason? >>>>> Code(*) >>>>> System(**) >>>>> >>>>> Regards >>>>> Gianluigi >>>>> >>>>> (*) >>>>> Public?Sub?Form_Open() >>>>> >>>>> ???If?Fonts.Exist("D050000L")?Then >>>>> ?????Message.Info("The?D050000L?font?is?installed") >>>>> ???Else >>>>> ?????Message.Warning("You?have?to?install?the?D050000L?font") >>>>> ???Endif >>>>> ???Me.Close >>>>> >>>>> End >>>>> >>>>> (**) >>>>> [System] >>>>> Gambas=3.18.90?d26f534?(master) >>>> >>>> I do not know the reason, but I can confirm that the list of fonts >>>> enumerated by Fonts is indeed different when using GTK3 versus Qt5; >>>> not only in number (141 versus 285, respectively) but also in name. >>> >>> I probably should have mentioned: >>> 1) `fc-list : family` on the command-line yields 237, and >>> 2) this is with v3.18.4 (stable) >>> >> In short, I believe the answer lies in how these three things "know" >> about fonts. QT5 has it's own internal list of what it thinks are >> names of installed fonts. fc (and fc-list) uses fontconfig files >> installed here there and everywhere by font packages and whatever GTK >> does it's probably a different way to the above. An important thing >> to know is that these three all have different ways of coming up with >> a font "name". I don't know for sure but Gialuigi's could be related >> to the fact that here D050000L is called "D050000L [URW]". >> >> b >> >> p.s. I guess that no matter how hard you try to be desktop agnostic, >> 4th parties (i.e. font providers) can stuff you up. >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi guys, > > thank you very much for your help. > I found this page: https://www.kdab.com/the-qt-less-traveled/ it seems > like a qt bug. > With this code I saw how QT (and GTK) call the font: > > Public Sub Form_Open() > > ? Dim fontName As String > > ? Print "QT" > ? Print "===================" > ? For Each fontName In Fonts > ??? Print fontName > ? Next > > End > > And this code seems to solve: > > Public Sub Form_Open() > > ? If Fonts.Exist("D050000L") Or If Fonts.Exist("D050000L [urw]") Or If > Fonts.Exist("D050000L [URW ]") Then > ??? Message.Info("The D050000L font is installed") > ? Else > ??? Message.Warning("You have to install the D050000L font") > ? Endif > ? Me.Close > > End > > > Many thanks again, regards > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- I guess the takeaway message here is that maybe Font.Exist() may need a bit of a relook. How does it look for a font name? Back to Benoit for an answer. From vuott at tutanota.com Wed Oct 18 13:42:35 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Wed, 18 Oct 2023 13:42:35 +0200 (CEST) Subject: [Gambas-user] Problem with gb.map In-Reply-To: References: Message-ID: Hello, I have/use? Master - commit? d26f5345 18 ott 2023, 09:29 da gambas.fr at gmail.com: > Hi, Vuott > > Happy to have?another man with my problem ... may be we can solve it now.. > > > Are you using the Daily ppa version ? > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Wed Oct 18 13:53:02 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Wed, 18 Oct 2023 13:53:02 +0200 (CEST) Subject: [Gambas-user] Problem with gb.map In-Reply-To: References: Message-ID: ...and I should add that lately there was also a problem with the zoom: not all tiles were being updated to the new zoom value. 18 ott 2023, 13:43 da user at lists.gambas-basic.org: > Hello, > I have/use? Master - commit? d26f5345 > > > > > > 18 ott 2023, 09:29 da gambas.fr at gmail.com: > >> Hi, Vuott >> >> Happy to have?another man with my problem ... may be we can solve it now.. >> >> >> Are you using the Daily ppa version ? >> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Wed Oct 18 16:52:06 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 18 Oct 2023 16:52:06 +0200 Subject: [Gambas-user] Problem with gb.map In-Reply-To: References: Message-ID: Le mer. 18 oct. 2023 ? 13:54, vuott--- via User a ?crit : > ...and I should add that lately there was also a problem with the zoom: > not all tiles were being updated to the new zoom value. > > Yes I've this problem too I will check soon > > > 18 ott 2023, 13:43 da user at lists.gambas-basic.org: > > Hello, > I have/use Master - commit d26f5345 > > > > > > 18 ott 2023, 09:29 da gambas.fr at gmail.com: > > Hi, Vuott > > Happy to have another man with my problem ... may be we can solve it now.. > > > Are you using the Daily ppa version ? > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From martin.fischer6 at web.de Wed Oct 18 18:28:03 2023 From: martin.fischer6 at web.de (Martin Fischer) Date: Wed, 18 Oct 2023 18:28:03 +0200 Subject: [Gambas-user] Edit Actions in IDE In-Reply-To: <7fa22951-157d-4cc3-a960-9004e4dae115@gmail.com> References: <7fa22951-157d-4cc3-a960-9004e4dae115@gmail.com> Message-ID: <5a4823cd-513f-439d-b4d2-967db8f91010@web.de> > > File -> Open file... Then in the "Select a file" dialog, right-click on > the file pane, select "Show hidden files". > If I do that, I get an error dialog stating "The file is located inside the project" and that's it. I can not open this file in the IDE. I hoped that the IDE allows management of all actions at a single place. Something like a form that: - enlists all actions that are in use (action-string assigned to any controls) - shows assigned controls per action - allows editing of enabled, picture, shortcut, ... properties per action Is there something like this? I'm using Gambas 3.18.4 Regards Martin From benoit.minisini at gambas-basic.org Wed Oct 18 18:33:57 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Wed, 18 Oct 2023 18:33:57 +0200 Subject: [Gambas-user] Edit Actions in IDE In-Reply-To: <5a4823cd-513f-439d-b4d2-967db8f91010@web.de> References: <7fa22951-157d-4cc3-a960-9004e4dae115@gmail.com> <5a4823cd-513f-439d-b4d2-967db8f91010@web.de> Message-ID: <2c60d9b9-e723-4e17-ab68-b0198c7709d9@gambas-basic.org> Le 18/10/2023 ? 18:28, Martin Fischer a ?crit?: >> >> File -> Open file... Then in the "Select a file" dialog, right-click on >> the file pane, select "Show hidden files". >> > > If I do that, I get an error dialog stating "The file is located inside > the project" and that's it. I can not open this file in the IDE. > > I hoped that the IDE allows management of all actions at a single place. > Something like a form that: > - enlists all actions that are in use (action-string assigned to any > controls) > - shows assigned controls per action > - allows editing of enabled, picture, shortcut, ... properties per action > > Is there something like this? > > I'm using Gambas 3.18.4 > > Regards > Martin > No. You indirectly manage your actions by setting the properties of the control associated with that action. If you have several controls or menu sharing the same action, they have supposed to use the have the same values for the same action properties (Text, Picture, Tooltip, Shortcut...). If they don't, the result is random. An action editor would be very similar to the menu editor. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Wed Oct 18 18:49:12 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Wed, 18 Oct 2023 18:49:12 +0200 Subject: [Gambas-user] Problem with gb.map In-Reply-To: References: Message-ID: <2ab7dab5-4973-4fc1-b9d0-300ac5d07846@gambas-basic.org> Le 17/10/2023 ? 16:11, vuott--- via User a ?crit?: > Hello, > launching any project using the "gb.map" Component, I get this error > report in the console: > > gb.jit: error: unable to compile JIT code of 'gb.map': > > In file included from /tmp/gambas.1000/10572/jit/gb.map.c:1: > /tmp/gambas.1000/10572/jit/gb.map.c: In function ???jit_geo_2_???: > /tmp/gambas.1000/10572/jit/gb.map.c:57:430: error: stray ???\363??? in > program > ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = > (MATH_SUB_UNSAFE(double, 1, (({double _a = > CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, > CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / > 180)))), (({double _a = ((double)(1)); double _b = > CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / > 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 36); _a;})))))); > double _b = CALL_MATH( > OK, I found the cause: The Pi() function bytecode changed, and I forgot to update the JIT compiler. It's fixed in the last commit, you have to wait for tomorrow to get an update Daily PPA. Then we will see if it really fixes the crash. Otherwise I don't understand why valgrind did not detect anything whereas an array was accessed out of its bounds. Regards, -- Beno?t Minisini. From gambas.fr at gmail.com Wed Oct 18 18:59:53 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 18 Oct 2023 18:59:53 +0200 Subject: [Gambas-user] Problem with gb.map In-Reply-To: <2ab7dab5-4973-4fc1-b9d0-300ac5d07846@gambas-basic.org> References: <2ab7dab5-4973-4fc1-b9d0-300ac5d07846@gambas-basic.org> Message-ID: Le mer. 18 oct. 2023 ? 18:50, Beno?t Minisini < benoit.minisini at gambas-basic.org> a ?crit : > Le 17/10/2023 ? 16:11, vuott--- via User a ?crit : > > Hello, > > launching any project using the "gb.map" Component, I get this error > > report in the console: > > > > gb.jit: error: unable to compile JIT code of 'gb.map': > > > > In file included from /tmp/gambas.1000/10572/jit/gb.map.c:1: > > /tmp/gambas.1000/10572/jit/gb.map.c: In function ???jit_geo_2_???: > > /tmp/gambas.1000/10572/jit/gb.map.c:57:430: error: stray ???\363??? in > > program > > 57 | ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = > > (MATH_SUB_UNSAFE(double, 1, (({double _a = > > CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, > > CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / > > 180)))), (({double _a = ((double)(1)); double _b = > > CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / > > 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 36); _a;})))))); > > double _b = CALL_MATH( > > > > OK, I found the cause: The Pi() function bytecode changed, and I forgot > to update the JIT compiler. > haa ok :) > > It's fixed in the last commit, you have to wait for tomorrow to get an > update Daily PPA. > > Then we will see if it really fixes the crash. > > Otherwise I don't understand why valgrind did not detect anything > whereas an array was accessed out of its bounds. > strange > > Regards, > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Oct 18 19:09:08 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 18 Oct 2023 18:09:08 +0100 Subject: [Gambas-user] FromURL() converts + to space Message-ID: if i use Print FromURL("AB+12.txt") i get "AB 12.txt" is that by design or a bug? the bug has been discovered when using Drag.Paste("text/uri-list") when using Drop on a control with a filename having a + in the name. it seems Drag.Paste("text/uri-list") seems to use the same FromURL() function. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Oct 18 21:17:53 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 18 Oct 2023 20:17:53 +0100 Subject: [Gambas-user] FromURL() converts + to space In-Reply-To: References: Message-ID: On Wed, 18 Oct 2023, 18:09 Bruce Steers, wrote: > if i use > > Print FromURL("AB+12.txt") > > i get "AB 12.txt" > > is that by design or a bug? > > the bug has been discovered when using Drag.Paste("text/uri-list") when > using Drop on a control with a filename having a + in the name. > it seems Drag.Paste("text/uri-list") seems to use the same FromURL() > function. > I assume this is for URL post data after ? Like Web//URL.php?search=this+string+syntax If yes could it only do that with text after the question mark? And not the actual address. (I do not think it should modify the address, only the post arguments) This would fix Drag.Paste("text/uri-list") problems. Or maybe FromUrl() could take an optional argument to not translate + to spaces? Respects BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Wed Oct 18 21:30:52 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Wed, 18 Oct 2023 21:30:52 +0200 Subject: [Gambas-user] FromURL() converts + to space In-Reply-To: References: Message-ID: <4edef8fd-8884-4831-b093-d55b3b04f316@gambas-basic.org> Le 18/10/2023 ? 19:09, Bruce Steers a ?crit?: > if i use > > Print FromURL("AB+12.txt") > > i get "AB 12.txt" > > is that by design or a bug? > > the bug has been discovered when using Drag.Paste("text/uri-list") when > using Drop on a control with a filename having a + in the name. > it seems Drag.Paste("text/uri-list") seems to use the same FromURL() > function. > > Respects > BruceS > Yes, it's my fault, it's buggy. '+' is a space only in the query part of the URL, not in the path part where it must be kept as is. Maybe FromUrl() could transform '+' in space after it has encountered a literal '?'. Note that "AB+12.txt" is not URL, so there is no reason to send it to FromURL(). And there should be no problem with Url(), as '+' is always encoded into '%2B'. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Wed Oct 18 22:30:27 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 18 Oct 2023 21:30:27 +0100 Subject: [Gambas-user] FromURL() converts + to space In-Reply-To: <4edef8fd-8884-4831-b093-d55b3b04f316@gambas-basic.org> References: <4edef8fd-8884-4831-b093-d55b3b04f316@gambas-basic.org> Message-ID: On Wed, 18 Oct 2023, 20:31 Beno?t Minisini, < benoit.minisini at gambas-basic.org> wrote: > Le 18/10/2023 ? 19:09, Bruce Steers a ?crit : > > if i use > > > > Print FromURL("AB+12.txt") > > > > i get "AB 12.txt" > > > > is that by design or a bug? > > > > the bug has been discovered when using Drag.Paste("text/uri-list") when > > using Drop on a control with a filename having a + in the name. > > it seems Drag.Paste("text/uri-list") seems to use the same FromURL() > > function. > > > > Respects > > BruceS > > > > Yes, it's my fault, it's buggy. > > '+' is a space only in the query part of the URL, not in the path part > where it must be kept as is. > > Maybe FromUrl() could transform '+' in space after it has encountered a > literal '?'. > > Note that "AB+12.txt" is not URL, so there is no reason to send it to > FromURL(). > > And there should be no problem with Url(), as '+' is always encoded into > '%2B'. > > Regards, > > -- > Beno?t Minisini. > I agree it should translate '+' only after a '?' As for the URL and using FromURL() I just wrote that as a simple example as I noticed the same problem with FromURL() and Drag.Paste("text/uri-list") Of course a Drag.Paste() of text/uri-list containing the above file would be more like.. file:///home/user/AB+12.txt The modification you suggest should fix the issue for drag-n-drop if Drag.Paste() uses FromURL() Cheers Ben ? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Oct 19 00:15:48 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 18 Oct 2023 23:15:48 +0100 Subject: [Gambas-user] FromURL() converts + to space In-Reply-To: <4edef8fd-8884-4831-b093-d55b3b04f316@gambas-basic.org> References: <4edef8fd-8884-4831-b093-d55b3b04f316@gambas-basic.org> Message-ID: On Wed, 18 Oct 2023, 20:31 Beno?t Minisini, < benoit.minisini at gambas-basic.org> wrote: > Le 18/10/2023 ? 19:09, Bruce Steers a ?crit : > > if i use > > > > Print FromURL("AB+12.txt") > > > > i get "AB 12.txt" > > > > is that by design or a bug? > > > > the bug has been discovered when using Drag.Paste("text/uri-list") when > > using Drop on a control with a filename having a + in the name. > > it seems Drag.Paste("text/uri-list") seems to use the same FromURL() > > function. > > > > Respects > > BruceS > > > > Yes, it's my fault, it's buggy. > > '+' is a space only in the query part of the URL, not in the path part > where it must be kept as is. > > Maybe FromUrl() could transform '+' in space after it has encountered a > literal '?'. > > Note that "AB+12.txt" is not URL, so there is no reason to send it to > FromURL(). > > And there should be no problem with Url(), as '+' is always encoded into > '%2B'. > > Regards, > > -- > Beno?t Minisini. > I think the latest commit fixes FromURL() (thank you) but not Drag.Paste() Maybe line 287 of gb.gui.base/.src/main.module (UrlListToPath() Sub) aPaths.Add(Main.URLUnquote(Mid$(sUri, 8))) Could use the URLUnquote() optional bool DoNotDecodePlus argument aPaths.Add(Main.URLUnquote(Mid$(sUri, 8), True)) Respects BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Thu Oct 19 01:30:46 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Thu, 19 Oct 2023 01:30:46 +0200 (CEST) Subject: [Gambas-user] Problem with gb.map In-Reply-To: <2ab7dab5-4973-4fc1-b9d0-300ac5d07846@gambas-basic.org> References: <2ab7dab5-4973-4fc1-b9d0-300ac5d07846@gambas-basic.org> Message-ID: Ok, now it works, however, the problem of zooming in remains. Try it. regards 18 ott 2023, 18:50 da benoit.minisini at gambas-basic.org: > Le 17/10/2023 ? 16:11, vuott--- via User a ?crit?: > >> Hello, >> launching any project using the "gb.map" Component, I get this error report in the console: >> >> gb.jit: error: unable to compile JIT code of 'gb.map': >> >> In file included from /tmp/gambas.1000/10572/jit/gb.map.c:1: >> /tmp/gambas.1000/10572/jit/gb.map.c: In function ???jit_geo_2_???: >> /tmp/gambas.1000/10572/jit/gb.map.c:57:430: error: stray ???\363??? in program >> ?? 57 |?? ({PUSH_f((floor((MATH_MUL_UNSAFE(double, (({double _a = (MATH_SUB_UNSAFE(double, 1, (({double _a = CALL_MATH(__builtin_log((MATH_ADD_UNSAFE(double, CALL_MATH(__builtin_tan(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))), (({double _a = ((double)(1)); double _b = CALL_MATH(__builtin_cos(CALL_MATH(((GET_f(ADDR(p0) + 16)) * M_PI / 180)))); _a /= _b; if (!isfinite(_a)) THROW_PC(E_ZERO, 36); _a;})))))); double _b = CALL_MATH( >> > > OK, I found the cause: The Pi() function bytecode changed, and I forgot to update the JIT compiler. > > It's fixed in the last commit, you have to wait for tomorrow to get an update Daily PPA. > > Then we will see if it really fixes the crash. > > Otherwise I don't understand why valgrind did not detect anything whereas an array was accessed out of its bounds. > > Regards, > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu Oct 19 01:40:24 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Thu, 19 Oct 2023 01:40:24 +0200 Subject: [Gambas-user] FromURL() converts + to space In-Reply-To: References: <4edef8fd-8884-4831-b093-d55b3b04f316@gambas-basic.org> Message-ID: Le 19/10/2023 ? 00:15, Bruce Steers a ?crit?: > > I think the latest commit fixes FromURL() (thank you) > but not Drag.Paste() > > Maybe line 287 of gb.gui.base/.src/main.module (UrlListToPath() Sub) > > |aPaths.Add(Main.URLUnquote(Mid$(sUri, 8)))| > | > | > |Could use the URLUnquote() optional bool DoNotDecodePlus argument| > | > | > |aPaths.Add(Main.URLUnquote(Mid$(sUri, 8), True)) > | > | > | > |Respects| > |BruceS| > In last commit I made Drag URI list support use 'Url()' and 'FromUrl()' instead of a native function, so it should fix the problem. Regards, -- Beno?t Minisini. From adamnt42 at gmail.com Thu Oct 19 02:18:04 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 19 Oct 2023 10:48:04 +1030 Subject: [Gambas-user] Problem with gb.map In-Reply-To: References: <2ab7dab5-4973-4fc1-b9d0-300ac5d07846@gambas-basic.org> Message-ID: I am going to start a new thread on this. On 19/10/23 10:00 am, vuott--- via User wrote: > Ok, now it works, however, the problem of zooming in remains. > Try it. > > regards > > > From adamnt42 at gmail.com Thu Oct 19 02:27:03 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 19 Oct 2023 10:57:03 +1030 Subject: [Gambas-user] gb.map zoom errors Message-ID: (Split out from the other gb.map issue thread) Both vuott and myself are having problems when zooming gb.map viewports. In my case here's the relevant info. * using the second most recent gambas. * using openstreetmap as the tile source. * the errors are repeatable * zooming using the mousewheel or the map zoom tool gives the same result The errors (or should I say symptoms) are 1. incorrect tiles are displayed (wrong zoom level and wrong tile location) 2. tiles outside the viewport limits are sometimes shown 3. there seems to be some caching involved as zooming out then back in displays the same incorrect tiles and it looks like there is no access back to OSM to get the tiles for the viewport. I attempt to add a screenshot. b -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: map0_001.png Type: image/png Size: 307826 bytes Desc: not available URL: From gambas.fr at gmail.com Thu Oct 19 08:28:07 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 19 Oct 2023 08:28:07 +0200 Subject: [Gambas-user] gb.map zoom errors In-Reply-To: References: Message-ID: I'll try to have a look today Le jeu. 19 oct. 2023 ? 02:28, BB a ?crit : > (Split out from the other gb.map issue thread) > > Both vuott and myself are having problems when zooming gb.map viewports. > > In my case here's the relevant info. > > - using the second most recent gambas. > - using openstreetmap as the tile source. > - the errors are repeatable > - zooming using the mousewheel or the map zoom tool gives the same > result > > The errors (or should I say symptoms) are > > 1. incorrect tiles are displayed (wrong zoom level and wrong tile > location) > 2. tiles outside the viewport limits are sometimes shown > 3. there seems to be some caching involved as zooming out then back in > displays the same incorrect tiles and it looks like there is no access back > to OSM to get the tiles for the viewport. > > I attempt to add a screenshot. > > b > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Thu Oct 19 10:53:11 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Thu, 19 Oct 2023 10:53:11 +0200 (CEST) Subject: [Gambas-user] gb.map zoom errors In-Reply-To: References: Message-ID: Well, me and you are not alone: a member of italian Gambas forum noticed to me about gb.map zoom error. In my case, I used googlemap as tile source. 19 ott 2023, 02:28 da adamnt42 at gmail.com: > > (Split out from the other gb.map issue thread) > > > Both vuott and myself are having problems when zooming gb.map viewports. > > > In my case here's the relevant info. > > using the second most recent gambas. > using openstreetmap as the tile source. > the errors are repeatable > zooming using the mousewheel or the map zoom tool gives the same result > > The errors (or should I say symptoms) are > > incorrect tiles are displayed (wrong zoom level and wrong tile location) > tiles outside the viewport limits are sometimes shown > there seems to be some caching involved as zooming out then back in displays the same incorrect tiles and it looks like there is no access back to OSM to get the tiles for the viewport. > > I attempt to add a screenshot. > > > b > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Thu Oct 19 10:56:46 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Thu, 19 Oct 2023 10:56:46 +0200 Subject: [Gambas-user] Dial control for GUI component ? Message-ID: Hi, ?If possible to add this control to gtk gui? Actually is only available for qt5 although its component gb.qt5.ext Thanks. From gambas.fr at gmail.com Thu Oct 19 12:02:03 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 19 Oct 2023 12:02:03 +0200 Subject: [Gambas-user] gb.map zoom errors In-Reply-To: References: Message-ID: Normally fixed in Commit 08e8a060 Le jeu. 19 oct. 2023 ? 10:54, vuott--- via User a ?crit : > Well, > me and you are not alone: a member of italian Gambas forum noticed to me > about gb.map zoom error. > In my case, I used googlemap as tile source. > > > 19 ott 2023, 02:28 da adamnt42 at gmail.com: > > (Split out from the other gb.map issue thread) > > Both vuott and myself are having problems when zooming gb.map viewports. > > In my case here's the relevant info. > > - using the second most recent gambas. > - using openstreetmap as the tile source. > - the errors are repeatable > - zooming using the mousewheel or the map zoom tool gives the same > result > > The errors (or should I say symptoms) are > > 1. incorrect tiles are displayed (wrong zoom level and wrong tile > location) > 2. tiles outside the viewport limits are sometimes shown > 3. there seems to be some caching involved as zooming out then back in > displays the same incorrect tiles and it looks like there is no access back > to OSM to get the tiles for the viewport. > > I attempt to add a screenshot. > > b > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Oct 19 14:43:34 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 19 Oct 2023 13:43:34 +0100 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: Message-ID: On Thu, 19 Oct 2023, 10:01 Mart?n, wrote: > Hi, > > ?If possible to add this control to gtk gui? > > Actually is only available for qt5 although its component gb.qt5.ext > > Thanks. > No, it's an additional control that Qt provides with qt5.ext (extra). Dial does not exist for gtk. BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Thu Oct 19 15:11:24 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Thu, 19 Oct 2023 15:11:24 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: Message-ID: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> El 19/10/23 a las 14:43, Bruce Steers escribi?: > No, it's an additional control that Qt provides with qt5.ext (extra). > Dial does not exist for gtk. > Please can someone add the "Dial" control (widget) to the gb.gtk component? In case it is not possible. Does anyone have a control that works the same as dial and looks the same as dial and can be added to a gambas project and that does not depend on qt and can be used with a gtk desktop? Thanks Martin. From bsteers4 at gmail.com Thu Oct 19 15:17:03 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 19 Oct 2023 14:17:03 +0100 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> Message-ID: On Thu, 19 Oct 2023, 14:09 Mart?n, wrote: > El 19/10/23 a las 14:43, Bruce Steers escribi?: > > No, it's an additional control that Qt provides with qt5.ext (extra). > > Dial does not exist for gtk. > > > Please can someone add the "Dial" control (widget) to the gb.gtk > component? In case it is not possible. Does anyone have a control that > works the same as dial and looks the same as dial and can be added to a > gambas project and that does not depend on qt and can be used with a gtk > desktop? > > Thanks > > Martin. > It's not a case of "add" it. It does not exist with gtk, only qt. It will need to b created from scratch by somebody who has the time to make a completely new control. It will be easier for you too just use gb.qt5.ext -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Thu Oct 19 15:18:45 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Thu, 19 Oct 2023 15:18:45 +0200 (CEST) Subject: [Gambas-user] gb.map zoom errors In-Reply-To: References: Message-ID: Yes, now it seems OK. 19 ott 2023, 12:03 da gambas.fr at gmail.com: > Normally fixed in Commit 08e8a060 > > Le?jeu. 19 oct. 2023 ??10:54, vuott--- via User <> user at lists.gambas-basic.org> > a ?crit?: > >> Well, >> me and you are not alone: a member of italian Gambas forum noticed to me about gb.map zoom error. >> In my case, I used googlemap as tile source. >> >> >> 19 ott 2023, 02:28 da >> adamnt42 at gmail.com>> : >> >>> >>> (Split out from the other gb.map issue thread) >>> >>> >>> Both vuott and myself are having problems when zooming gb.map viewports. >>> >>> >>> In my case here's the relevant info. >>> >>> using the second most recent gambas. >>> using openstreetmap as the tile source. >>> the errors are repeatable >>> zooming using the mousewheel or the map zoom tool gives the same result >>> >>> The errors (or should I say symptoms) are >>> >>> incorrect tiles are displayed (wrong zoom level and wrong tile location) >>> tiles outside the viewport limits are sometimes shown >>> there seems to be some caching involved as zooming out then back in displays the same incorrect tiles and it looks like there is no access back to OSM to get the tiles for the viewport. >>> >>> I attempt to add a screenshot. >>> >>> >>> b >>> >>> >> >> >> ----[ >> http://gambaswiki.org/wiki/doc/netiquette>> ]---- >> > > > -- > Fabien Bodard > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Thu Oct 19 15:43:10 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 19 Oct 2023 15:43:10 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> Message-ID: On the road (Not so many time I think) Le jeu. 19 oct. 2023 ? 15:18, Bruce Steers a ?crit : > > > On Thu, 19 Oct 2023, 14:09 Mart?n, wrote: > >> El 19/10/23 a las 14:43, Bruce Steers escribi?: >> > No, it's an additional control that Qt provides with qt5.ext (extra). >> > Dial does not exist for gtk. >> > >> Please can someone add the "Dial" control (widget) to the gb.gtk >> component? In case it is not possible. Does anyone have a control that >> works the same as dial and looks the same as dial and can be added to a >> gambas project and that does not depend on qt and can be used with a gtk >> desktop? >> >> Thanks >> >> Martin. >> > > It's not a case of "add" it. > It does not exist with gtk, only qt. > > It will need to b created from scratch by somebody who has the time to > make a completely new control. > > It will be easier for you too just use gb.qt5.ext > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Capture d??cran du 2023-10-19 15-42-10.png Type: image/png Size: 44584 bytes Desc: not available URL: From bsteers4 at gmail.com Thu Oct 19 19:03:37 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 19 Oct 2023 18:03:37 +0100 Subject: [Gambas-user] FromURL() converts + to space In-Reply-To: References: <4edef8fd-8884-4831-b093-d55b3b04f316@gambas-basic.org> Message-ID: On Thu, 19 Oct 2023, 00:41 Beno?t Minisini, < benoit.minisini at gambas-basic.org> wrote: > Le 19/10/2023 ? 00:15, Bruce Steers a ?crit : > > > > I think the latest commit fixes FromURL() (thank you) > > but not Drag.Paste() > > > > Maybe line 287 of gb.gui.base/.src/main.module (UrlListToPath() Sub) > > > > |aPaths.Add(Main.URLUnquote(Mid$(sUri, 8)))| > > | > > | > > |Could use the URLUnquote() optional bool DoNotDecodePlus argument| > > | > > | > > |aPaths.Add(Main.URLUnquote(Mid$(sUri, 8), True)) > > | > > | > > | > > |Respects| > > |BruceS| > > > > In last commit I made Drag URI list support use 'Url()' and 'FromUrl()' > instead of a native function, so it should fix the problem. > > Regards, > > -- > Beno?t Minisini. > It has indeed ? Many thanks kind sir ? Respects BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Oct 19 19:35:46 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 19 Oct 2023 18:35:46 +0100 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> Message-ID: On Thu, 19 Oct 2023 at 14:09, Mart?n wrote: > El 19/10/23 a las 14:43, Bruce Steers escribi?: > > No, it's an additional control that Qt provides with qt5.ext (extra). > > Dial does not exist for gtk. > > > Please can someone add the "Dial" control (widget) to the gb.gtk > component? In case it is not possible. Does anyone have a control that > works the same as dial and looks the same as dial and can be added to a > gambas project and that does not depend on qt and can be used with a gtk > desktop? > > Thanks > > Martin > aah i forgot i did make something sometime ago. i called it ImageSpinner basically a dial like control that you can load your own image (like a dial knob image) BGPicture can be used to load a background image (like notches or other dial info) Picture is used to load the dial image Circle sets how many degrees the dial can turn 360 being a ful circle Mode can be Spinner or Switch , (spinner moves smooth, switch jumps to next position) StartAngle lets you offset the image. MaxValue Value (sorry no MinValue) Maybe it helps BruceS It was wip, there are no docs so examine the code, but you may find it useful -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- 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 KI3SKI3SKP1b9D9zTv3cACADAA== From mbelmonte at belmotek.net Thu Oct 19 21:58:28 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Thu, 19 Oct 2023 21:58:28 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> Message-ID: <430a4def-a915-4250-8afc-147613d5350d@belmotek.net> El 19/10/23 a las 15:43, Fabien Bodard escribi?: > On the road (Not so many time I think) excellent, it looks good. Thanks From mbelmonte at belmotek.net Thu Oct 19 22:00:38 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Thu, 19 Oct 2023 22:00:38 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> Message-ID: <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> El 19/10/23 a las 19:35, Bruce Steers escribi?: > i called it ImageSpinner > ... > Maybe it helps ok, I'm going to study it Thanks From benoit.minisini at gambas-basic.org Fri Oct 20 02:42:29 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Fri, 20 Oct 2023 02:42:29 +0200 Subject: [Gambas-user] New experimental highlighting component Message-ID: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> Hi, I recently committed a new component named 'gb.highlight' that aims at replacing the current 'gb.eval.highlight' component. In that component, text highlighting is defined not by Gambas code, but by a definition file. The definition file is transformed in a bunch of Gambas code compiled at runtime that does the highlighting process. The definition file has a (relatively) simple syntax. For exemple, here is the HTML highlighting file: --8<-------------------------------- doctype{Preprocessor}: from comment: from entity{Operator}: match &[A-Za-z]+; match &#[0-9]+; markup{Function}: match <[a-zA-Z0-9]+ to > attribute{Datatype}: match [a-zA-Z0-9-]+ equal{Normal}: symbol = value{String}: from " to " from ' to ' string.entity{Escape}: match &[A-Za-z]+; match &#[0-9]+; value.unquoted{String}: match [^"'`=<>\s]+ markup.close{Function}: match --8<-------------------------------- Lines that ends with a ":" introduce a highlighting state. That state has a name, and an associated color written between '{' and '}'. If there is no explicit color, the state name is used, with the first letter converted to uppercase. After a state, you have a "command" that define which text is associated with that state. Here is the list of commands currently available: * from BEFORE to AFTER -> Everything between the BEFORE text and the AFTER text limits included. * from BEFORE -> Everything from the BEFORE text until the end of the line. * between ... -> Like "from ...", but the BEFORE and AFTER limits keep the state of the parent - it seems that the command does not really work at the moment. * match REGEXP -> The text that matches the Perl regular expression. * match BEFORE to AFTER -> Everything between the BEFORE and AFTER regular expressions. * symbol SYMBOL1 SYMBOL2 ... SYMBOLN -> To match symbols (usually operators in a programming language). * word WORD1 WORD2 ... WORDN -> To match words (usually keywords in a programming language). The commands must be indented with any number of spaces. After the commands, you can define other states. If these states keep the same indent (same number of initial spaces) than the commands, then these states are imbricated. They are checked only in the context of their parent state. So indentation is important, it defines the imbrication level. If you have more than one command in a state, then each command is checked with a logical 'or'. In other words, the state is identified by any of the matching commands. Here is the javascript highlighting definition file: --8<--------------------------------------------------------------- documentation: from /** to */ comment: from /* to */ from // string: from " to " from ' to ' escape: match \\[ntrbf0'"\\] sstring{String}: from ` to ` escape: match \\[ntrbf0'"{\\] subst{Preprocessor}: between { } regexp{Datatype}: match /.*/[a-z]* escape: match \\? number: match [+-]?[0-9.]* match 0x[0-9a-fA-F]* keyword: word break case catch class const continue debugger default delete do else enum export extends finally for get if import in instanceof let new return set super switch throw try typeof var void while with yield function: word function constant: word false null this true undefined NaN Infinity operator: symbol { } . >= + << ! = >>= ; == - >> ~ += >>>= ( , != * >>> && -= &= ) < === % & || *= |= [ > !== ++ | ? %= ^= -- ^ : <<= ] <= / /= identifier: match [A-Za-z_$][A-Za-z_$0-9]* --8<--------------------------------------------------------------- And that's all! Like in 'gb.eval.highlight', the API is the TextHighlighter class. At the moment, only the TextHighlighter.ToHTML() method has been implemented, and the method that creates an highlighter from a definition file. At the moment, the color names are those found in highlighting theme files located in the Gambas IDE source code. So to test, you do something like that: --8<--------------------------------------------------------------- Dim hTextHighlighter As TextHighlighter hTextHighlighter = TextHighlighter.FromFile("html.highlight") File.Save("~/test.html", hTextHighlighter.ToHTML(File.Load("page.html"))) --8<--------------------------------------------------------------- This is experimental, a lot of things must be done yet, or will change for sure. But I wanted to make it public as soon as possible to have people's comments, and because I am relatively proud of it. :-) Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Fri Oct 20 02:48:05 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Fri, 20 Oct 2023 02:48:05 +0200 Subject: [Gambas-user] New experimental highlighting component In-Reply-To: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> References: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> Message-ID: <6af44b43-32b8-4935-bedf-ce312370b2b2@gambas-basic.org> Le 20/10/2023 ? 02:42, Beno?t Minisini a ?crit?: > Hi, > > I recently committed a new component named 'gb.highlight' that aims at > replacing the current 'gb.eval.highlight' component. > > ... I forgot to say a few points: 1) Still to be done is how to imbricate different highlightings. For example, I'd like that in an HTML file, everything between '' is highlighted with the CSS syntax. This is planned, up to four possible imbrication. Because the highlighter state is defined by four bytes, one byte by state number. Which means that you cannot have more then 255 states in a definition file. This limit comes from the fact that the Gambas text editor must store the highlighting state of each line, as highlighting is done incrementally, line by line. A bigger state means a lot of memory used, and I don't like that. 2) Gambas highlighting will still be done with the old method, because it is complex, it needs speed, and spaces inside code are rewritten. Regards, -- Beno?t Minisini. From gambas.fr at gmail.com Fri Oct 20 08:24:33 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 20 Oct 2023 08:24:33 +0200 Subject: [Gambas-user] New experimental highlighting component In-Reply-To: <6af44b43-32b8-4935-bedf-ce312370b2b2@gambas-basic.org> References: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> <6af44b43-32b8-4935-bedf-ce312370b2b2@gambas-basic.org> Message-ID: Why not using yaml for the desc file ? It's quite close to your syntax. -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Fri Oct 20 08:29:05 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 20 Oct 2023 08:29:05 +0200 Subject: [Gambas-user] New experimental highlighting component In-Reply-To: References: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> <6af44b43-32b8-4935-bedf-ce312370b2b2@gambas-basic.org> Message-ID: > Why not using yaml for the desc file ? It's quite close to your syntax. > Also can you add commentary on your example desc file line by line to explain what do what. thank you :-) -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Fri Oct 20 09:57:45 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Fri, 20 Oct 2023 09:57:45 +0200 Subject: [Gambas-user] New experimental highlighting component In-Reply-To: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> References: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> Message-ID: El 20/10/23 a las 02:42, Beno?t Minisini escribi?: > In that component, text highlighting is defined not by Gambas code, > but by a definition file. Cool, very cool. > But I wanted to make it public as soon as possible to have people's > comments, and because I am relatively proud of it. ? Congratulations ! From gambas.fr at gmail.com Fri Oct 20 10:01:13 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 20 Oct 2023 10:01:13 +0200 Subject: [Gambas-user] New experimental highlighting component In-Reply-To: References: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> Message-ID: Le ven. 20 oct. 2023 ? 09:55, Mart?n a ?crit : > El 20/10/23 a las 02:42, Beno?t Minisini escribi?: > > In that component, text highlighting is defined not by Gambas code, > > but by a definition file. > > Cool, very cool. > > > But I wanted to make it public as soon as possible to have people's > > comments, and because I am relatively proud of it. ? I forgot... You can ! ... The idea is impressive > > > Congratulations ! > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas at servinfo.it Fri Oct 20 10:20:27 2023 From: gambas at servinfo.it (Marco Ancillotti) Date: Fri, 20 Oct 2023 10:20:27 +0200 Subject: [Gambas-user] New experimental highlighting component In-Reply-To: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> References: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> Message-ID: <68e039f1-870f-49d7-b713-18da4868836b@servinfo.it> Il 20/10/23 02:42, Beno?t Minisini ha scritto: > I recently committed a new component named 'gb.highlight' that aims at > replacing the current 'gb.eval.highlight' component. Really good piece of software. I have all my sql on separate file on every gambas project ( I have a function that load that at runtime ) as I found more friendly to view/edit/maintain having them on a flat file instead of a lots of "blabla" & ... on code. I dream of a day when my .sql file that I edit directly on gambas have syntax highlight :-D > But I wanted to make it public as soon as possible to have people's > comments, and because I am relatively proud of it. :-) You really have to ! bye, marco. From fabien.toniutti at free.fr Fri Oct 20 11:30:23 2023 From: fabien.toniutti at free.fr (Fabien TONIUTTI) Date: Fri, 20 Oct 2023 11:30:23 +0200 Subject: [Gambas-user] About variable name and speed cycle time... Message-ID: <1e74f3d4-8d1e-1cfb-b038-1e5b582dce51@free.fr> Hi every one Could you explain me one simple thing : if i use interger variable like this : Private myvariableforchristmas As Integer or variable like this : Private m As Integer Do you think it will have influence on speed of my program? thanks for your answer. From gambas.fr at gmail.com Fri Oct 20 12:09:35 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 20 Oct 2023 12:09:35 +0200 Subject: [Gambas-user] About variable name and speed cycle time... In-Reply-To: <1e74f3d4-8d1e-1cfb-b038-1e5b582dce51@free.fr> References: <1e74f3d4-8d1e-1cfb-b038-1e5b582dce51@free.fr> Message-ID: Le ven. 20 oct. 2023 ? 11:38, Fabien TONIUTTI a ?crit : > Hi every one > > Could you explain me one simple thing : > > if i use interger variable like this : > > Private myvariableforchristmas As Integer > > or variable like this : > > Private m As Integer > > > Do you think it will have influence on speed of my program? > > thanks for your answer. > > ... no :-). Because internally the variable names does not matter. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Fri Oct 20 14:58:38 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 20 Oct 2023 14:58:38 +0200 Subject: [Gambas-user] About variable name and speed cycle time... In-Reply-To: References: <1e74f3d4-8d1e-1cfb-b038-1e5b582dce51@free.fr> Message-ID: Il 20/10/23 12:09, Fabien Bodard ha scritto: > > > Le?ven. 20 oct. 2023 ??11:38, Fabien TONIUTTI > a ?crit?: > > Hi every one > > Could you explain me one simple thing : > > if i use interger variable like this : > > Private myvariableforchristmas As Integer > > or variable like this : > > Private m As Integer > > > Do you think it will have influence on speed of my program? > > thanks for your answer. > > > ... no :-). > > Because internally the variable names does not matter. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > -- > Fabien Bodard > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- Hi, You can verify this yourself with an empirical code like this: [code] Private $aVariables As New String[] Public Sub Main() ? Print myShortVar() ? Print myShortVar() ? Print myShortVar() ? Print myLongVar() ? Print myLongVar() ? Print myLongVar() End Private Sub myShortVar() As String ? Dim StartTime, DiffTime As Float ? Dim s As String = "test" ? StartTime = Timer ? For i As Integer = 0 To 1000000 ??? $aVariables.Push(s) ? Next ? DiffTime = Timer - StartTime ? Return Str(DiffTime * 1000) & " from short var in msec" End Private Sub myLongVar() As String ? Dim StartTime, DiffTime As Float ? Dim sVeryLongMyVariable As String = "test" ? StartTime = Timer ? For i As Integer = 0 To 1000000 ??? $aVariables.Push(sVeryLongMyVariable) ? Next ? DiffTime = Timer - StartTime ? Return Str(DiffTime * 1000) & " from long var in msec" End [code] Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Fri Oct 20 15:55:43 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 20 Oct 2023 15:55:43 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> Message-ID: This is a first try for dial Widget Le jeu. 19 oct. 2023 ? 21:58, Mart?n a ?crit : > El 19/10/23 a las 19:35, Bruce Steers escribi?: > > i called it ImageSpinner > > ... > > Maybe it helps > > ok, I'm going to study it > > Thanks > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DialWidget-0.0.1.tar.gz Type: application/gzip Size: 9310 bytes Desc: not available URL: From gambas.fr at gmail.com Fri Oct 20 15:56:25 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 20 Oct 2023 15:56:25 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> Message-ID: gmail version Le ven. 20 oct. 2023 ? 15:55, Fabien Bodard a ?crit : > This is a first try for dial Widget > > Le jeu. 19 oct. 2023 ? 21:58, Mart?n a ?crit : > >> El 19/10/23 a las 19:35, Bruce Steers escribi?: >> > i called it ImageSpinner >> > ... >> > Maybe it helps >> >> ok, I'm going to study it >> >> Thanks >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > > -- > Fabien Bodard > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- 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 q9u9M11iZ5QXdfMaf7ikbJI6KclnEnTz94oj34d/+9wHstzrap+S3Inx2RVj605s699RePJk45iJ 3a53eCD1IyvTvHf2SzwbFXVFnPbZt/PnPlOpa0q58cbend1fE+x/e/oTtv4fJkRvf75z9xkbv1r8 /idLT/80zqj3UQuuVGqDe9bMf3z9SyUJ8MriQ10eBlB/vHPm1LCS1Kb8S3uWNnSCn9Sn18/ys1+M S971cddJYp8OHYzvLX2msmFq2Iym9N7+wz4Y93yc+O/ZEcZuVRNO+NsXZzyZdu3bpJT5VXfSpHXj lgkWJicUNl/f/0pJdYcxPgK/+OJ/1j0vn35cOXj76ZKwZYK8upwB2bOnv7V5x/zR15rKAmY+G1DY +MYpPWzd1str1fanXl0c9WPZUs1z+wIWH7h96t2v3lp87oM5pdOqOwy8Wf3syQrt5Fjdytclyy/+ 3IB1CO5iggQxofW/lr/bcCf7t5oFpeLfUxMbfyj3vnR8RWWyyGv5dEHv9QPWrA21rFL1R0/5Td4S armfGP3F3Kqr3lGRPQQn6p5f9e68ksDx686fO1qOpJdXSupO3n3cr2ZL+IiL3V8/f+X0tlsDT6mb E1785jouuzZvMRAYtPH7pSvzsTm2W8XpY5otxbc7XvWu9a3VjD9R19GYOTMlo2pTysFTq38LHl48 codwYXxg4J1hw8qOZ6PvVPcVJBhvfbVgV2m1/umFu1ad/yEvs9PeqINjrg+MF93YeW3eAcnXorlr LqysStNV61PWaH3Cy0Zih16YsP/K/Mpxt/DRf19yuuLuByeHhuwwjrq6Vfv4KOzQpbVBt6qKvtoo GpLXJ6Ak3fzZ7vuG5pOxIT7bZAbkUOnlyysOfTHyul60yqsOBnKP7J21InzKoIwvixvXAPV9BQNN J6ZtSG3Ol95ZPa+gi7rHnHt15mWCuR13Fwd5dTB6Se/sE28pzwudc8/olwqIVb90mh4i6dW4pmPw l8k3PnwnenufzgfDgVPNBbJtiY2aSaXK8z4HPzSK68/vWPG31V5y49bkAzdN8Wk7hZuaxqd+n5xi H5A06PSvNXN+3TZ/2fwhG2LTL8R/LVp3vdfbIbuuenc7tmBf2u3GGTE3fz6U4FPSt7i78XJxRLPm bnitaMbSIRNmTdgoq5597tn54/ZOHSGyb1ofWT/rfM2Vb0Kjg2/FXzxpy92yML/zpbM6bNqnPzen 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 DnGIQxzivxv/A5NYQh8AeAAA From gradobag at gradobag.it Fri Oct 20 16:58:34 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 20 Oct 2023 16:58:34 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> Message-ID: <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> Il 20/10/23 15:56, Fabien Bodard ha scritto: > gmail version > > Le?ven. 20 oct. 2023 ??15:55, Fabien Bodard a > ?crit?: > > This is a first try for dial Widget > > Le?jeu. 19 oct. 2023 ??21:58, Mart?n a > ?crit?: > > El 19/10/23 a las 19:35, Bruce Steers escribi?: > > i called it ImageSpinner > > ... > > Maybe it helps > > ok, I'm going to study it > > Thanks > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > -- > Fabien Bodard > > > > -- > Fabien Bodard > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Fabien, beautiful class unfortunately Wrap doesn't seem to work (gtk) Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Fri Oct 20 17:02:28 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 20 Oct 2023 17:02:28 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> Message-ID: Le ven. 20 oct. 2023 ? 16:59, Gianluigi a ?crit : > Il 20/10/23 15:56, Fabien Bodard ha scritto: > > gmail version > > Le ven. 20 oct. 2023 ? 15:55, Fabien Bodard a > ?crit : > >> This is a first try for dial Widget >> >> Le jeu. 19 oct. 2023 ? 21:58, Mart?n a ?crit : >> >>> El 19/10/23 a las 19:35, Bruce Steers escribi?: >>> > i called it ImageSpinner >>> > ... >>> > Maybe it helps >>> >>> ok, I'm going to study it >>> >>> Thanks >>> >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>> >> >> >> -- >> Fabien Bodard >> > > > -- > Fabien Bodard > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi Fabien, > > beautiful class unfortunately Wrap doesn't seem to work (gtk) > it is the value by default the checkbox not react at the first click (feet coding) > > Regards > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Fri Oct 20 17:08:00 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 20 Oct 2023 17:08:00 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> Message-ID: <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> Il 20/10/23 17:02, Fabien Bodard ha scritto: > > > Hi Fabien, > > beautiful class unfortunately Wrap doesn't seem to work (gtk) > > > it is the value by default > > the checkbox not react at the first click (feet coding) > > Regards > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > -- > Fabien Bodard > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- I tried in a new window by acting on the properties, now I'll do another test and then send everything Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Fri Oct 20 17:11:00 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 20 Oct 2023 17:11:00 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> Message-ID: Le ven. 20 oct. 2023 ? 17:09, Gianluigi a ?crit : > Il 20/10/23 17:02, Fabien Bodard ha scritto: > > > > Hi Fabien, >> >> beautiful class unfortunately Wrap doesn't seem to work (gtk) >> > > it is the value by default > > the checkbox not react at the first click (feet coding) > >> >> > Regards >> Gianluigi >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > > -- > Fabien Bodard > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > I tried in a new window by acting on the properties, now I'll do another > test and then send everything > There is numerous bugs ... find all of them :-D > Regards > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Fri Oct 20 17:25:02 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 20 Oct 2023 17:25:02 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> Message-ID: Il 20/10/23 17:11, Fabien Bodard ha scritto: > > > Le?ven. 20 oct. 2023 ??17:09, Gianluigi a ?crit?: > > Il 20/10/23 17:02, Fabien Bodard ha scritto: >> >> >> Hi Fabien, >> >> beautiful class unfortunately Wrap doesn't seem to work (gtk) >> >> >> it is the value by default >> >> the checkbox not react at the first click (feet coding) >> >> Regards >> Gianluigi >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> >> >> -- >> Fabien Bodard >> >> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > I tried in a new window by acting on the properties, now I'll do > another test and then send everything > > There is numerous bugs ... find all of them :-D > > Regards > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > -- > Fabien Bodard > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- I tried importing the class into a new project, unfortunately Wrap doesn't seem to work well. I attended elementary school, therefore algebra... :-D I attach the test Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestFabienDial-0.0.1.tar.gz Type: application/gzip Size: 6578 bytes Desc: not available URL: From gambas.fr at gmail.com Fri Oct 20 17:36:37 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 20 Oct 2023 17:36:37 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> Message-ID: My Bad : Public Const _Properties As String = "*,MaxValue,MinValue,Value,Step,PageStep,Warp=TRUE,Notched,Mark=TRUE" Le ven. 20 oct. 2023 ? 17:26, Gianluigi a ?crit : > Il 20/10/23 17:11, Fabien Bodard ha scritto: > > > > Le ven. 20 oct. 2023 ? 17:09, Gianluigi a ?crit : > >> Il 20/10/23 17:02, Fabien Bodard ha scritto: >> >> >> >> Hi Fabien, >>> >>> beautiful class unfortunately Wrap doesn't seem to work (gtk) >>> >> >> it is the value by default >> >> the checkbox not react at the first click (feet coding) >> >>> >>> >> Regards >>> Gianluigi >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>> >> >> >> -- >> Fabien Bodard >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> I tried in a new window by acting on the properties, now I'll do another >> test and then send everything >> > There is numerous bugs ... find all of them :-D > > > >> Regards >> Gianluigi >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > > -- > Fabien Bodard > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > I tried importing the class into a new project, unfortunately Wrap doesn't > seem to work well. > I attended elementary school, therefore algebra... :-D > I attach the test > > Regards > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Fri Oct 20 17:55:04 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 20 Oct 2023 17:55:04 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> Message-ID: <0665315f-88c6-4d7b-b15e-7452f8bed2a3@gradobag.it> Il 20/10/23 17:36, Fabien Bodard ha scritto: > My Bad : > Public Const _Properties As String = > "*,MaxValue,MinValue,Value,Step,PageStep,Warp=TRUE,Notched,Mark=TRUE" Now Wrap works, but in reverse compared to Benoit's ;-D If you set an initial value, it doesn't work: [code] Public Sub Form_Open() ? dial21.Value = 40 ' <--- this do not works End Public Sub dial21_Change() ? Print dial21.Value ' <--- works well End [code] Regards Gianluigi From gambas.fr at gmail.com Fri Oct 20 18:33:04 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 20 Oct 2023 18:33:04 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: <0665315f-88c6-4d7b-b15e-7452f8bed2a3@gradobag.it> References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> <0665315f-88c6-4d7b-b15e-7452f8bed2a3@gradobag.it> Message-ID: Better ? Le ven. 20 oct. 2023 ? 17:56, Gianluigi a ?crit : > Il 20/10/23 17:36, Fabien Bodard ha scritto: > > My Bad : > > Public Const _Properties As String = > > "*,MaxValue,MinValue,Value,Step,PageStep,Warp=TRUE,Notched,Mark=TRUE" > > Now Wrap works, but in reverse compared to Benoit's ;-D If you set an > initial value, it doesn't work: > > [code] > > Public Sub Form_Open() > > dial21.Value = 40 ' <--- this do not works > > End > Public Sub dial21_Change() > > Print dial21.Value ' <--- works well > > End > [code] > > Regards > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DialWidget-0.0.1.tar.gz Type: application/gzip Size: 9350 bytes Desc: not available URL: From gambas.fr at gmail.com Fri Oct 20 18:36:22 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 20 Oct 2023 18:36:22 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> <0665315f-88c6-4d7b-b15e-7452f8bed2a3@gradobag.it> Message-ID: Warp Corrected Le ven. 20 oct. 2023 ? 18:33, Fabien Bodard a ?crit : > Better ? > > Le ven. 20 oct. 2023 ? 17:56, Gianluigi a ?crit : > >> Il 20/10/23 17:36, Fabien Bodard ha scritto: >> > My Bad : >> > Public Const _Properties As String = >> > "*,MaxValue,MinValue,Value,Step,PageStep,Warp=TRUE,Notched,Mark=TRUE" >> >> Now Wrap works, but in reverse compared to Benoit's ;-D If you set an >> initial value, it doesn't work: >> >> [code] >> >> Public Sub Form_Open() >> >> dial21.Value = 40 ' <--- this do not works >> >> End >> Public Sub dial21_Change() >> >> Print dial21.Value ' <--- works well >> >> End >> [code] >> >> Regards >> Gianluigi >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > > -- > Fabien Bodard > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DialWidget-0.0.1.tar.gz Type: application/gzip Size: 9353 bytes Desc: not available URL: From gradobag at gradobag.it Fri Oct 20 19:01:56 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 20 Oct 2023 19:01:56 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> <0665315f-88c6-4d7b-b15e-7452f8bed2a3@gradobag.it> Message-ID: Il 20/10/23 18:36, Fabien Bodard ha scritto: >Better ? > Warp Corrected Great, regards Gianluigi P.S. For me it's ok, let's hear what Martin says :-) From fabien.toniutti at free.fr Fri Oct 20 20:50:37 2023 From: fabien.toniutti at free.fr (Fabien TONIUTTI) Date: Fri, 20 Oct 2023 20:50:37 +0200 Subject: [Gambas-user] gb.xml examples Message-ID: <33458a00-eee4-eadf-2e0c-005402fd14e4@free.fr> Hi, Do you know where i could find some examples to manipulate gb.xml component to manage XML files? Regards spheris From mbelmonte at belmotek.net Fri Oct 20 21:20:33 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Fri, 20 Oct 2023 21:20:33 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> <0665315f-88c6-4d7b-b15e-7452f8bed2a3@gradobag.it> Message-ID: <158795a5-8f1c-4c7c-94f0-2725830f3c3a@belmotek.net> It works very well. I set the event mouse well to increase or decrease the value. https://imgur.com/PiKGGVB https://imgur.com/PiKGGVB https://imgur.com/PiKGGVB Thanks. Mart?n. From t.lee.davidson at gmail.com Fri Oct 20 22:54:08 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 20 Oct 2023 16:54:08 -0400 Subject: [Gambas-user] gb.xml examples In-Reply-To: <33458a00-eee4-eadf-2e0c-005402fd14e4@free.fr> References: <33458a00-eee4-eadf-2e0c-005402fd14e4@free.fr> Message-ID: <4f3cdb40-aa82-4be3-9f70-02e1527e28cf@gmail.com> On 10/20/23 14:50, Fabien TONIUTTI wrote: > Hi, > > Do you know where i could find some examples to manipulate gb.xml component to manage XML files? > > Regards > > spheris Examples for gb.xml do seem to be nearly non-existent. I looked on the Gambas Farm and in the app/examples directory of the Gambas source code; and found none. And, XmlDocument has only one small example. Are you merely trying to learn gb.xml in general, or do you have a specific purpose in mind? -- Lee From gradobag at gradobag.it Fri Oct 20 23:03:16 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 20 Oct 2023 23:03:16 +0200 Subject: [Gambas-user] gb.xml examples In-Reply-To: <4f3cdb40-aa82-4be3-9f70-02e1527e28cf@gmail.com> References: <33458a00-eee4-eadf-2e0c-005402fd14e4@free.fr> <4f3cdb40-aa82-4be3-9f70-02e1527e28cf@gmail.com> Message-ID: <81210ceb-e321-45e8-b8f3-d9224ebac6d1@gradobag.it> Il 20/10/23 22:54, T Lee Davidson ha scritto: > On 10/20/23 14:50, Fabien TONIUTTI wrote: >> Hi, >> >> Do you know where i could find some examples to manipulate gb.xml >> component to manage XML files? >> >> Regards >> >> spheris > > Examples for gb.xml do seem to be nearly non-existent. I looked on the > Gambas Farm and in the app/examples directory of the Gambas source > code; and found none. And, XmlDocument has only one small example. > > Are you merely trying to learn gb.xml in general, or do you have a > specific purpose in mind? > > Hi, don't forget Prof. Hans Lehmann :-) you can take a look here: https://gambas-buch.de/doku.php?id=k27:start Regards Gianluigi From mbelmonte at belmotek.net Fri Oct 20 23:44:33 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Fri, 20 Oct 2023 23:44:33 +0200 Subject: [Gambas-user] Shell comand + FFMPEG from gambas how to Message-ID: <4d2de415-97c8-4a64-bc11-76e469059387@belmotek.net> Hi, If I do this in the terminal it works: ffmpeg -f pulse -i alsa_output.BLABLABLA.analog-stereo.monitor -i <(arecord -f CD) -filter_complex amix -acodec libmp3lame output.mp3 But if I do the same although Shell inside the gamabs code it doesn't work. What I'm doing wrong? here is the sample code. The idea behind is record 2 audio tracks at the same time one for the micro and other for the internal audio output. Private hMicro As Process Private hSystem As Process Public Sub bRecord_Click() ? If bRecord.Value Then ??? Record() ? Else ??? Try hMicro.Kill ??? Try hSystem.Kill ? Endif End Private Sub Record() ? Dim sBase As String ? Dim sMicro As String ? Dim sSystem As String ? sBase = Format(Now(), "yyyy_mm_dd_hhnnss") ? sMicro = "ffmpeg -f pulse -i alsa_input.BLABLABLA.analog-stereo -acodec libmp3lame " & sBase & "_micro.mp3" ? sSystem = "ffmpeg -f pulse -i alsa_output.BLABLABLA.analog-stereo.monitor -i <(arecord -f CD) -filter_complex amix -acodec libmp3lame " & sBase & "_system.mp3" ? hMicro = Shell sMicro For Read As "RMicro" ? hSystem = Shell sSystem For Read As "RSystem" End I was thinking to sent the Shell command in a direct way, without start a process first, but how I can kill the process, in the good way,? later? Actually I use "killall ffmpeg" Second point: it is possible sent 2 commands with ffmpeg? because I sent the first one and then the second one never occur. From gradobag at gradobag.it Fri Oct 20 23:42:01 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 20 Oct 2023 23:42:01 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> <0665315f-88c6-4d7b-b15e-7452f8bed2a3@gradobag.it> Message-ID: Il 20/10/23 18:36, Fabien Bodard ha scritto: > Warp Corrected Hi Fabien, there seems to be no difference between the Notched property being true or false. Many thanks, goodnight Gianluigi From gambas.fr at gmail.com Sat Oct 21 00:22:57 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sat, 21 Oct 2023 00:22:57 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <4dcd2bb3-23aa-4d9c-82b5-076064190e85@belmotek.net> <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> <0665315f-88c6-4d7b-b15e-7452f8bed2a3@gradobag.it> Message-ID: Le ven. 20 oct. 2023 ? 23:43, Gianluigi a ?crit : > Il 20/10/23 18:36, Fabien Bodard ha scritto: > > Warp Corrected > > Hi Fabien, > there seems to be no difference between the Notched property being true > or false. > The notched property show its power only on big step .. try with step at 20 for 100 > Many thanks, goodnight > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Sat Oct 21 05:38:57 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 20 Oct 2023 23:38:57 -0400 Subject: [Gambas-user] gb.xml examples In-Reply-To: <81210ceb-e321-45e8-b8f3-d9224ebac6d1@gradobag.it> References: <33458a00-eee4-eadf-2e0c-005402fd14e4@free.fr> <4f3cdb40-aa82-4be3-9f70-02e1527e28cf@gmail.com> <81210ceb-e321-45e8-b8f3-d9224ebac6d1@gradobag.it> Message-ID: <32b92e17-7f56-4e74-b329-95f730c883dd@gmail.com> On 10/20/23 17:03, Gianluigi wrote: > Il 20/10/23 22:54, T Lee Davidson ha scritto: >> On 10/20/23 14:50, Fabien TONIUTTI wrote: >>> Hi, >>> >>> Do you know where i could find some examples to manipulate gb.xml component to manage XML files? >>> >>> Regards >>> >>> spheris >> >> Examples for gb.xml do seem to be nearly non-existent. I looked on the Gambas Farm and in the app/examples directory of the >> Gambas source code; and found none. And, XmlDocument has only one small example. >> >> Are you merely trying to learn gb.xml in general, or do you have a specific purpose in mind? >> >> > Hi, > > don't forget Prof. Hans Lehmann :-) you can take a look here: > https://gambas-buch.de/doku.php?id=k27:start > > Regards > Gianluigi Yes, thank you for that reminder, Gianluigi. I do tend to forget about that resource. This is perhaps because the only link to get to the English version is on the home page and not any individual pages, and so I find it a bit inconvenient. The link to the English version of that page is: https://gambas-buch.de/dwen/doku.php?id=k27:start -- Lee From t.lee.davidson at gmail.com Sat Oct 21 06:22:41 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 21 Oct 2023 00:22:41 -0400 Subject: [Gambas-user] Shell comand + FFMPEG from gambas how to In-Reply-To: <4d2de415-97c8-4a64-bc11-76e469059387@belmotek.net> References: <4d2de415-97c8-4a64-bc11-76e469059387@belmotek.net> Message-ID: <287d235d-d09e-4b19-a6be-17904b0d9802@gmail.com> On 10/20/23 17:44, Mart?n wrote: > Hi, > > If I do this in the terminal it works: > > ffmpeg -f pulse -i alsa_output.BLABLABLA.analog-stereo.monitor -i <(arecord -f CD) -filter_complex amix -acodec libmp3lame > output.mp3 > > But if I do the same although Shell inside the gamabs code it doesn't work. > > What I'm doing wrong? here is the sample code. The idea behind is record 2 audio tracks at the same time one for the micro and > other for the internal audio output. > > Private hMicro As Process > Private hSystem As Process > > Public Sub bRecord_Click() > > ? If bRecord.Value Then > ??? Record() > ? Else > ??? Try hMicro.Kill > ??? Try hSystem.Kill > ? Endif > > End > > Private Sub Record() > > ? Dim sBase As String > ? Dim sMicro As String > ? Dim sSystem As String > > ? sBase = Format(Now(), "yyyy_mm_dd_hhnnss") > ? sMicro = "ffmpeg -f pulse -i alsa_input.BLABLABLA.analog-stereo -acodec libmp3lame " & sBase & "_micro.mp3" > ? sSystem = "ffmpeg -f pulse -i alsa_output.BLABLABLA.analog-stereo.monitor -i <(arecord -f CD) -filter_complex amix -acodec > libmp3lame " & sBase & "_system.mp3" > > ? hMicro = Shell sMicro For Read As "RMicro" > ? hSystem = Shell sSystem For Read As "RSystem" > > End > > I was thinking to sent the Shell command in a direct way, without start a process first, but how I can kill the process, in the > good way, later? Actually I use "killall ffmpeg" > > Second point: it is possible sent 2 commands with ffmpeg? because I sent the first one and then the second one never occur. What, exactly, "doesn't work"? Is no MP3 file created? Is your Read event handler never triggered? Perhaps EXEC might work better. -- Lee From gradobag at gradobag.it Sat Oct 21 08:14:21 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sat, 21 Oct 2023 08:14:21 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> <0665315f-88c6-4d7b-b15e-7452f8bed2a3@gradobag.it> Message-ID: <978a9771-c4c8-415f-b21f-10a22153acd8@gradobag.it> Il 21/10/23 00:22, Fabien Bodard ha scritto: > The notched property show its power only on big step .. try with step > at 20 for 100 Cool, thanks ? Regards Gianluigi From gradobag at gradobag.it Sat Oct 21 08:31:24 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sat, 21 Oct 2023 08:31:24 +0200 Subject: [Gambas-user] gb.xml examples In-Reply-To: <32b92e17-7f56-4e74-b329-95f730c883dd@gmail.com> References: <33458a00-eee4-eadf-2e0c-005402fd14e4@free.fr> <4f3cdb40-aa82-4be3-9f70-02e1527e28cf@gmail.com> <81210ceb-e321-45e8-b8f3-d9224ebac6d1@gradobag.it> <32b92e17-7f56-4e74-b329-95f730c883dd@gmail.com> Message-ID: Il 21/10/23 05:38, T Lee Davidson ha scritto: > On 10/20/23 17:03, Gianluigi wrote: >> Il 20/10/23 22:54, T Lee Davidson ha scritto: >>> On 10/20/23 14:50, Fabien TONIUTTI wrote: >>>> Hi, >>>> >>>> Do you know where i could find some examples to manipulate gb.xml >>>> component to manage XML files? >>>> >>>> Regards >>>> >>>> spheris >>> >>> Examples for gb.xml do seem to be nearly non-existent. I looked on >>> the Gambas Farm and in the app/examples directory of the Gambas >>> source code; and found none. And, XmlDocument has only one small >>> example. >>> >>> Are you merely trying to learn gb.xml in general, or do you have a >>> specific purpose in mind? >>> >>> >> Hi, >> >> don't forget Prof. Hans Lehmann :-) you can take a look here: >> https://gambas-buch.de/doku.php?id=k27:start >> >> Regards >> Gianluigi > > Yes, thank you for that reminder, Gianluigi. I do tend to forget about > that resource. This is perhaps because the only link to get to the > English version is on the home page and not any individual pages, and > so I find it a bit inconvenient. > > The link to the English version of that page is: > https://gambas-buch.de/dwen/doku.php?id=k27:start Hi Lee, if you connect to this link: https://gambas-buch.de/dwen/doku.php on the left you will find the list of chapters. If you don't find what you want, write in the search box at the top right and press on the magnifier. Remember that the German version is more up to date, a translator like ImTranslator on Firefox is enough to easily read the text. Regards Gianluigi From isafiur at gmail.com Sat Oct 21 11:56:05 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Sat, 21 Oct 2023 15:41:05 +0545 Subject: [Gambas-user] Help in new UserControl's Click event Message-ID: Hello I am trying to learn how to create a simple user control in gambas. The new control consists of two RadioButtons arranged Horizontally. When I click any of the two RadioButton the radioButton's Text becomes the new control's value and also any of the radiobutton's click event becomes the new control's click event. However, on clicking radio button doesn't fire the new control's click event I am creating new UserControl called "TwoRadio" ''----------- TwoRadio --------------------------- Export Inherits UserControl Public Const _Properties As String = "*,Value" Property Value As String Event Click Private $hForm As FmTwoRadio Public $Value As String Public Sub _new() $hForm = New FmTwoRadio(Me) End Private Function Value_Read() As String Return $Value End Private Sub Value_Write(Value As String) $Value = Value Raise Click End ''------------------- fmTwoRadio ------------------- Private Sub GetParent() As TwoRadio Return Me.Parent End Public Sub rboptfir_Click() GetParent().$Value = rboptfir.Text End Public Sub rboptsec_Click() GetParent().$Value = rboptsec.Text End ''-------------- complete --------------------- Now when I put the new user control "TwoRadio1" and a TextBox "TextBox1" in FMain form: Public Sub TwoRadio1_Click() TextBox1.Text = TwoRadio1.Value End This does not show radiobutton's text in the textbox. Attached a project -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: newcontrol.zip Type: application/zip Size: 15922 bytes Desc: not available URL: From gambas.fr at gmail.com Sat Oct 21 12:34:08 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sat, 21 Oct 2023 12:34:08 +0200 Subject: [Gambas-user] Help in new UserControl's Click event In-Reply-To: References: Message-ID: Just change Public $Value as string by Private $Value as String and you will understand your error ;-) Le sam. 21 oct. 2023 ? 11:57, Safiur Rahman a ?crit : > Hello > > I am trying to learn how to create a simple user control in gambas. The > new control consists of two RadioButtons arranged Horizontally. When I > click any of the two RadioButton the radioButton's Text becomes the new > control's value and also any of the radiobutton's click event becomes the > new control's click event. > > However, on clicking radio button doesn't fire the new control's click > event > I am creating new UserControl called "TwoRadio" > > ''----------- TwoRadio --------------------------- > Export > Inherits UserControl > > Public Const _Properties As String = "*,Value" > Property Value As String > Event Click > > Private $hForm As FmTwoRadio > Public $Value As String > > Public Sub _new() > $hForm = New FmTwoRadio(Me) > End > > Private Function Value_Read() As String > Return $Value > End > > Private Sub Value_Write(Value As String) > $Value = Value > Raise Click > End > > ''------------------- fmTwoRadio ------------------- > Private Sub GetParent() As TwoRadio > Return Me.Parent > End > > Public Sub rboptfir_Click() > GetParent().$Value = rboptfir.Text > End > > Public Sub rboptsec_Click() > GetParent().$Value = rboptsec.Text > End > ''-------------- complete --------------------- > > Now when I put the new user control "TwoRadio1" and a TextBox "TextBox1" > in FMain form: > > Public Sub TwoRadio1_Click() > TextBox1.Text = TwoRadio1.Value > End > > This does not show radiobutton's text in the textbox. Attached a project > > -- > Regards > Safiur Rahman > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat Oct 21 12:38:49 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 21 Oct 2023 11:38:49 +0100 Subject: [Gambas-user] Help in new UserControl's Click event In-Reply-To: References: Message-ID: a Click event is not native to UserControl You must use the UserControl_MouseUp event then inside MouseUp raise the Click event if you want it. BruceS On Sat, 21 Oct 2023 at 10:57, Safiur Rahman wrote: > Hello > > I am trying to learn how to create a simple user control in gambas. The > new control consists of two RadioButtons arranged Horizontally. When I > click any of the two RadioButton the radioButton's Text becomes the new > control's value and also any of the radiobutton's click event becomes the > new control's click event. > > However, on clicking radio button doesn't fire the new control's click > event > I am creating new UserControl called "TwoRadio" > > ''----------- TwoRadio --------------------------- > Export > Inherits UserControl > > Public Const _Properties As String = "*,Value" > Property Value As String > Event Click > > Private $hForm As FmTwoRadio > Public $Value As String > > Public Sub _new() > $hForm = New FmTwoRadio(Me) > End > > Private Function Value_Read() As String > Return $Value > End > > Private Sub Value_Write(Value As String) > $Value = Value > Raise Click > End > > ''------------------- fmTwoRadio ------------------- > Private Sub GetParent() As TwoRadio > Return Me.Parent > End > > Public Sub rboptfir_Click() > GetParent().$Value = rboptfir.Text > End > > Public Sub rboptsec_Click() > GetParent().$Value = rboptsec.Text > End > ''-------------- complete --------------------- > > Now when I put the new user control "TwoRadio1" and a TextBox "TextBox1" > in FMain form: > > Public Sub TwoRadio1_Click() > TextBox1.Text = TwoRadio1.Value > End > > This does not show radiobutton's text in the textbox. Attached a project > > -- > Regards > Safiur Rahman > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From isafiur at gmail.com Sat Oct 21 13:51:04 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Sat, 21 Oct 2023 17:36:04 +0545 Subject: [Gambas-user] Help in new UserControl's Click event In-Reply-To: References: Message-ID: Hi Can you provide the updated code which works. On Sat, Oct 21, 2023 at 3:41?PM Safiur Rahman wrote: > Hello > > I am trying to learn how to create a simple user control in gambas. The > new control consists of two RadioButtons arranged Horizontally. When I > click any of the two RadioButton the radioButton's Text becomes the new > control's value and also any of the radiobutton's click event becomes the > new control's click event. > > However, on clicking radio button doesn't fire the new control's click > event > I am creating new UserControl called "TwoRadio" > > ''----------- TwoRadio --------------------------- > Export > Inherits UserControl > > Public Const _Properties As String = "*,Value" > Property Value As String > Event Click > > Private $hForm As FmTwoRadio > Public $Value As String > > Public Sub _new() > $hForm = New FmTwoRadio(Me) > End > > Private Function Value_Read() As String > Return $Value > End > > Private Sub Value_Write(Value As String) > $Value = Value > Raise Click > End > > ''------------------- fmTwoRadio ------------------- > Private Sub GetParent() As TwoRadio > Return Me.Parent > End > > Public Sub rboptfir_Click() > GetParent().$Value = rboptfir.Text > End > > Public Sub rboptsec_Click() > GetParent().$Value = rboptsec.Text > End > ''-------------- complete --------------------- > > Now when I put the new user control "TwoRadio1" and a TextBox "TextBox1" > in FMain form: > > Public Sub TwoRadio1_Click() > TextBox1.Text = TwoRadio1.Value > End > > This does not show radiobutton's text in the textbox. Attached a project > > -- > Regards > Safiur Rahman > -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat Oct 21 14:03:15 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 21 Oct 2023 13:03:15 +0100 Subject: [Gambas-user] Help in new UserControl's Click event In-Reply-To: References: Message-ID: try using GetParent().Value not GetParent.$Value this... Public Sub rboptfir_Click() GetParent().Value = rboptfir.Text End Public Sub rboptsec_Click() GetParent().Value = rboptsec.Text End that uses the proper Property not the internal variable On Sat, 21 Oct 2023 at 12:52, Safiur Rahman wrote: > Hi > > Can you provide the updated code which works. > > On Sat, Oct 21, 2023 at 3:41?PM Safiur Rahman wrote: > >> Hello >> >> I am trying to learn how to create a simple user control in gambas. The >> new control consists of two RadioButtons arranged Horizontally. When I >> click any of the two RadioButton the radioButton's Text becomes the new >> control's value and also any of the radiobutton's click event becomes the >> new control's click event. >> >> However, on clicking radio button doesn't fire the new control's click >> event >> I am creating new UserControl called "TwoRadio" >> >> ''----------- TwoRadio --------------------------- >> Export >> Inherits UserControl >> >> Public Const _Properties As String = "*,Value" >> Property Value As String >> Event Click >> >> Private $hForm As FmTwoRadio >> Public $Value As String >> >> Public Sub _new() >> $hForm = New FmTwoRadio(Me) >> End >> >> Private Function Value_Read() As String >> Return $Value >> End >> >> Private Sub Value_Write(Value As String) >> $Value = Value >> Raise Click >> End >> >> ''------------------- fmTwoRadio ------------------- >> Private Sub GetParent() As TwoRadio >> Return Me.Parent >> End >> >> Public Sub rboptfir_Click() >> GetParent().$Value = rboptfir.Text >> End >> >> Public Sub rboptsec_Click() >> GetParent().$Value = rboptsec.Text >> End >> ''-------------- complete --------------------- >> >> Now when I put the new user control "TwoRadio1" and a TextBox "TextBox1" >> in FMain form: >> >> Public Sub TwoRadio1_Click() >> TextBox1.Text = TwoRadio1.Value >> End >> >> This does not show radiobutton's text in the textbox. Attached a project >> >> -- >> Regards >> Safiur Rahman >> > > > -- > Regards > Safiur Rahman > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat Oct 21 14:06:54 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 21 Oct 2023 13:06:54 +0100 Subject: [Gambas-user] Help in new UserControl's Click event In-Reply-To: References: Message-ID: using GetParent().$Value sets the public variable (that should be private) but does not run the Value_Write() method that fires your Click event. On Sat, 21 Oct 2023 at 13:03, Bruce Steers wrote: > try using GetParent().Value not GetParent.$Value this... > > Public Sub rboptfir_Click() > > GetParent().Value = rboptfir.Text > > End > > Public Sub rboptsec_Click() > > GetParent().Value = rboptsec.Text > > End > > that uses the proper Property not the internal variable > > > On Sat, 21 Oct 2023 at 12:52, Safiur Rahman wrote: > >> Hi >> >> Can you provide the updated code which works. >> >> On Sat, Oct 21, 2023 at 3:41?PM Safiur Rahman wrote: >> >>> Hello >>> >>> I am trying to learn how to create a simple user control in gambas. The >>> new control consists of two RadioButtons arranged Horizontally. When I >>> click any of the two RadioButton the radioButton's Text becomes the new >>> control's value and also any of the radiobutton's click event becomes the >>> new control's click event. >>> >>> However, on clicking radio button doesn't fire the new control's click >>> event >>> I am creating new UserControl called "TwoRadio" >>> >>> ''----------- TwoRadio --------------------------- >>> Export >>> Inherits UserControl >>> >>> Public Const _Properties As String = "*,Value" >>> Property Value As String >>> Event Click >>> >>> Private $hForm As FmTwoRadio >>> Public $Value As String >>> >>> Public Sub _new() >>> $hForm = New FmTwoRadio(Me) >>> End >>> >>> Private Function Value_Read() As String >>> Return $Value >>> End >>> >>> Private Sub Value_Write(Value As String) >>> $Value = Value >>> Raise Click >>> End >>> >>> ''------------------- fmTwoRadio ------------------- >>> Private Sub GetParent() As TwoRadio >>> Return Me.Parent >>> End >>> >>> Public Sub rboptfir_Click() >>> GetParent().$Value = rboptfir.Text >>> End >>> >>> Public Sub rboptsec_Click() >>> GetParent().$Value = rboptsec.Text >>> End >>> ''-------------- complete --------------------- >>> >>> Now when I put the new user control "TwoRadio1" and a TextBox "TextBox1" >>> in FMain form: >>> >>> Public Sub TwoRadio1_Click() >>> TextBox1.Text = TwoRadio1.Value >>> End >>> >>> This does not show radiobutton's text in the textbox. Attached a project >>> >>> -- >>> Regards >>> Safiur Rahman >>> >> >> >> -- >> Regards >> Safiur Rahman >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Sat Oct 21 14:23:25 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sat, 21 Oct 2023 14:23:25 +0200 Subject: [Gambas-user] Help in new UserControl's Click event In-Reply-To: References: Message-ID: That 's what I was pointing Le sam. 21 oct. 2023 ? 14:08, Bruce Steers a ?crit : > using GetParent().$Value sets the public variable (that should be private) > but does not run the Value_Write() method that fires your Click event. > > > On Sat, 21 Oct 2023 at 13:03, Bruce Steers wrote: > >> try using GetParent().Value not GetParent.$Value this... >> >> Public Sub rboptfir_Click() >> >> GetParent().Value = rboptfir.Text >> >> End >> >> Public Sub rboptsec_Click() >> >> GetParent().Value = rboptsec.Text >> >> End >> >> that uses the proper Property not the internal variable >> >> >> On Sat, 21 Oct 2023 at 12:52, Safiur Rahman wrote: >> >>> Hi >>> >>> Can you provide the updated code which works. >>> >>> On Sat, Oct 21, 2023 at 3:41?PM Safiur Rahman wrote: >>> >>>> Hello >>>> >>>> I am trying to learn how to create a simple user control in gambas. The >>>> new control consists of two RadioButtons arranged Horizontally. When I >>>> click any of the two RadioButton the radioButton's Text becomes the new >>>> control's value and also any of the radiobutton's click event becomes the >>>> new control's click event. >>>> >>>> However, on clicking radio button doesn't fire the new control's click >>>> event >>>> I am creating new UserControl called "TwoRadio" >>>> >>>> ''----------- TwoRadio --------------------------- >>>> Export >>>> Inherits UserControl >>>> >>>> Public Const _Properties As String = "*,Value" >>>> Property Value As String >>>> Event Click >>>> >>>> Private $hForm As FmTwoRadio >>>> Public $Value As String >>>> >>>> Public Sub _new() >>>> $hForm = New FmTwoRadio(Me) >>>> End >>>> >>>> Private Function Value_Read() As String >>>> Return $Value >>>> End >>>> >>>> Private Sub Value_Write(Value As String) >>>> $Value = Value >>>> Raise Click >>>> End >>>> >>>> ''------------------- fmTwoRadio ------------------- >>>> Private Sub GetParent() As TwoRadio >>>> Return Me.Parent >>>> End >>>> >>>> Public Sub rboptfir_Click() >>>> GetParent().$Value = rboptfir.Text >>>> End >>>> >>>> Public Sub rboptsec_Click() >>>> GetParent().$Value = rboptsec.Text >>>> End >>>> ''-------------- complete --------------------- >>>> >>>> Now when I put the new user control "TwoRadio1" and a TextBox >>>> "TextBox1" in FMain form: >>>> >>>> Public Sub TwoRadio1_Click() >>>> TextBox1.Text = TwoRadio1.Value >>>> End >>>> >>>> This does not show radiobutton's text in the textbox. Attached a >>>> project >>>> >>>> -- >>>> Regards >>>> Safiur Rahman >>>> >>> >>> >>> -- >>> Regards >>> Safiur Rahman >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>> >> > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Sat Oct 21 15:00:29 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sat, 21 Oct 2023 15:00:29 +0200 Subject: [Gambas-user] Help in new UserControl's Click event In-Reply-To: References: Message-ID: <1b6f5ebb-bc3b-4b32-a4e7-e917a24e8958@gradobag.it> Il 21/10/23 14:23, Fabien Bodard ha scritto: > That 's what I was pointing Hi Safiur, Fabien tries to tell you that the property is Value and not $Value. You wrote the properties wrong in the class and in the form. Maybe (but I'm not sure if it works in all components) you could use the formula: Property Value As String Use $Value Regards Gianluigi From gradobag at gradobag.it Sat Oct 21 15:39:18 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sat, 21 Oct 2023 15:39:18 +0200 Subject: [Gambas-user] Help in new UserControl's Click event In-Reply-To: <1b6f5ebb-bc3b-4b32-a4e7-e917a24e8958@gradobag.it> References: <1b6f5ebb-bc3b-4b32-a4e7-e917a24e8958@gradobag.it> Message-ID: Il 21/10/23 15:00, Gianluigi ha scritto: > Maybe (but I'm not sure if it works in all components) you could use > the formula: > Property Value As String Use $Value I wrote nonsense, because the click must always be raised and Value_Write must be maintained. ? Regards Gianluigi From isafiur at gmail.com Sat Oct 21 16:40:07 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Sat, 21 Oct 2023 20:25:07 +0545 Subject: [Gambas-user] Help in new UserControl's Click event In-Reply-To: References: Message-ID: Thank you all for your help. On Sat, Oct 21, 2023 at 5:36?PM Safiur Rahman wrote: > Hi > > Can you provide the updated code which works. > > On Sat, Oct 21, 2023 at 3:41?PM Safiur Rahman wrote: > >> Hello >> >> I am trying to learn how to create a simple user control in gambas. The >> new control consists of two RadioButtons arranged Horizontally. When I >> click any of the two RadioButton the radioButton's Text becomes the new >> control's value and also any of the radiobutton's click event becomes the >> new control's click event. >> >> However, on clicking radio button doesn't fire the new control's click >> event >> I am creating new UserControl called "TwoRadio" >> >> ''----------- TwoRadio --------------------------- >> Export >> Inherits UserControl >> >> Public Const _Properties As String = "*,Value" >> Property Value As String >> Event Click >> >> Private $hForm As FmTwoRadio >> Public $Value As String >> >> Public Sub _new() >> $hForm = New FmTwoRadio(Me) >> End >> >> Private Function Value_Read() As String >> Return $Value >> End >> >> Private Sub Value_Write(Value As String) >> $Value = Value >> Raise Click >> End >> >> ''------------------- fmTwoRadio ------------------- >> Private Sub GetParent() As TwoRadio >> Return Me.Parent >> End >> >> Public Sub rboptfir_Click() >> GetParent().$Value = rboptfir.Text >> End >> >> Public Sub rboptsec_Click() >> GetParent().$Value = rboptsec.Text >> End >> ''-------------- complete --------------------- >> >> Now when I put the new user control "TwoRadio1" and a TextBox "TextBox1" >> in FMain form: >> >> Public Sub TwoRadio1_Click() >> TextBox1.Text = TwoRadio1.Value >> End >> >> This does not show radiobutton's text in the textbox. Attached a project >> >> -- >> Regards >> Safiur Rahman >> > > > -- > Regards > Safiur Rahman > -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Sat Oct 21 17:12:36 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sat, 21 Oct 2023 17:12:36 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: <978a9771-c4c8-415f-b21f-10a22153acd8@gradobag.it> References: <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> <0665315f-88c6-4d7b-b15e-7452f8bed2a3@gradobag.it> <978a9771-c4c8-415f-b21f-10a22153acd8@gradobag.it> Message-ID: This is the final candidate : Le sam. 21 oct. 2023 ? 08:15, Gianluigi a ?crit : > Il 21/10/23 00:22, Fabien Bodard ha scritto: > > The notched property show its power only on big step .. try with step > > at 20 for 100 > > Cool, thanks ? > > Regards > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DialWidget-0.0.1.tar.gz Type: application/gzip Size: 9719 bytes Desc: not available URL: From gambas.fr at gmail.com Sat Oct 21 17:22:36 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sat, 21 Oct 2023 17:22:36 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> <0665315f-88c6-4d7b-b15e-7452f8bed2a3@gradobag.it> <978a9771-c4c8-415f-b21f-10a22153acd8@gradobag.it> Message-ID: nop ... tis one ? some error on color management Le sam. 21 oct. 2023 ? 17:12, Fabien Bodard a ?crit : > This is the final candidate : > > > > Le sam. 21 oct. 2023 ? 08:15, Gianluigi a ?crit : > >> Il 21/10/23 00:22, Fabien Bodard ha scritto: >> > The notched property show its power only on big step .. try with step >> > at 20 for 100 >> >> Cool, thanks ? >> >> Regards >> Gianluigi >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > > -- > Fabien Bodard > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Sat Oct 21 17:22:47 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sat, 21 Oct 2023 17:22:47 +0200 Subject: [Gambas-user] Dial control for GUI component ? In-Reply-To: References: <31681e17-c822-4c32-b0a4-93d446880081@belmotek.net> <61bd8e89-cc9f-40c6-8a5e-cd89cb1fa7b2@gradobag.it> <4b3b67f2-cfb2-4572-9302-2a97cc26ed2c@gradobag.it> <0665315f-88c6-4d7b-b15e-7452f8bed2a3@gradobag.it> <978a9771-c4c8-415f-b21f-10a22153acd8@gradobag.it> Message-ID: Le sam. 21 oct. 2023 ? 17:22, Fabien Bodard a ?crit : > nop ... tis one ? > > some error on color management > > Le sam. 21 oct. 2023 ? 17:12, Fabien Bodard a > ?crit : > >> This is the final candidate : >> >> >> >> Le sam. 21 oct. 2023 ? 08:15, Gianluigi a ?crit : >> >>> Il 21/10/23 00:22, Fabien Bodard ha scritto: >>> > The notched property show its power only on big step .. try with step >>> > at 20 for 100 >>> >>> Cool, thanks ? >>> >>> Regards >>> Gianluigi >>> >>> >>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >>> >> >> >> -- >> Fabien Bodard >> > > > -- > Fabien Bodard > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DialWidget-0.0.1.tar.gz Type: application/gzip Size: 9729 bytes Desc: not available URL: From claus.dietrich at freenet.de Sat Oct 21 21:33:36 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Sat, 21 Oct 2023 21:33:36 +0200 Subject: [Gambas-user] Shell comand + FFMPEG from gambas how to In-Reply-To: <4d2de415-97c8-4a64-bc11-76e469059387@belmotek.net> References: <4d2de415-97c8-4a64-bc11-76e469059387@belmotek.net> Message-ID: <22de4964-b46a-4a2a-bec2-158145b0ae02@freenet.de> Hi Martin I had the same issue with parallel ffmpeg processes and finally decided to use native Gambas means (= GStreamer resources) for audio recording. I quickly put a class together for you with a little demo app which allows - to choose the recording format (mp3, ogg or wav) - to record from an alsa-device or to record a web audio stream (URL) - to select an alsa-device (i.e. mike or monitor) - to return a list of available alsa-devices as string-array - to select the output directory (default=user home directory) where the audio file shall be saved as yyyy-mm-dd-hh-nn-ss_rec. With this class it should be possible to record the mike and monitor in parallel by using 2 instances. I tested the parallel recording of a web radio station stream and the mike of my Webcam. If you didn't receive the demo project with this mail you can download it from my cloud: https://magentacloud.de/s/w45JHPTW7KJEwke Hope that it works on your platform and that you can use it. Regards Claus Am 20.10.23 um 23:44 schrieb Mart?n: > Hi, > > If I do this in the terminal it works: > > ffmpeg -f pulse -i alsa_output.BLABLABLA.analog-stereo.monitor -i > <(arecord -f CD) -filter_complex amix -acodec libmp3lame output.mp3 > > But if I do the same although Shell inside the gamabs code it doesn't > work. > > What I'm doing wrong? here is the sample code. The idea behind is > record 2 audio tracks at the same time one for the micro and other for > the internal audio output. > > Private hMicro As Process > Private hSystem As Process > > Public Sub bRecord_Click() > > ? If bRecord.Value Then > ??? Record() > ? Else > ??? Try hMicro.Kill > ??? Try hSystem.Kill > ? Endif > > End > > Private Sub Record() > > ? Dim sBase As String > ? Dim sMicro As String > ? Dim sSystem As String > > ? sBase = Format(Now(), "yyyy_mm_dd_hhnnss") > ? sMicro = "ffmpeg -f pulse -i alsa_input.BLABLABLA.analog-stereo > -acodec libmp3lame " & sBase & "_micro.mp3" > ? sSystem = "ffmpeg -f pulse -i > alsa_output.BLABLABLA.analog-stereo.monitor -i <(arecord -f CD) > -filter_complex amix -acodec libmp3lame " & sBase & "_system.mp3" > > ? hMicro = Shell sMicro For Read As "RMicro" > ? hSystem = Shell sSystem For Read As "RSystem" > > End > > I was thinking to sent the Shell command in a direct way, without > start a process first, but how I can kill the process, in the good > way,? later? Actually I use "killall ffmpeg" > > Second point: it is possible sent 2 commands with ffmpeg? because I > sent the first one and then the second one never occur. > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- A non-text attachment was scrubbed... Name: Audio_Recording_MediaControl_0.0.4.tar.gz Type: application/gzip Size: 17953 bytes Desc: not available URL: From mbelmonte at belmotek.net Sat Oct 21 22:45:31 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Sat, 21 Oct 2023 22:45:31 +0200 Subject: [Gambas-user] Shell comand + FFMPEG from gambas how to In-Reply-To: <287d235d-d09e-4b19-a6be-17904b0d9802@gmail.com> References: <4d2de415-97c8-4a64-bc11-76e469059387@belmotek.net> <287d235d-d09e-4b19-a6be-17904b0d9802@gmail.com> Message-ID: El 21/10/23 a las 06:22, T Lee Davidson escribi?: > Is no MP3 file created? Exactly, the file is not created or created with size = 0 From mbelmonte at belmotek.net Sat Oct 21 23:00:17 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Sat, 21 Oct 2023 23:00:17 +0200 Subject: [Gambas-user] Shell comand + FFMPEG from gambas how to In-Reply-To: <22de4964-b46a-4a2a-bec2-158145b0ae02@freenet.de> References: <4d2de415-97c8-4a64-bc11-76e469059387@belmotek.net> <22de4964-b46a-4a2a-bec2-158145b0ae02@freenet.de> Message-ID: <137c5b29-dc3a-4009-ba7a-ddfc4125ea8d@belmotek.net> El 21/10/23 a las 21:33, Claus Dietrich escribi?: > ... finally decided to use native Gambas means (= GStreamer resources) > for audio recording. I quickly put a class together for you with a > little demo app which allows > - to choose the recording format (mp3, ogg or wav) > - to record from an alsa-device or to record a web audio stream (URL) > - to select an alsa-device (i.e. mike or monitor) > - to return a list of available alsa-devices as string-array > - to select the output directory (default=user home directory) where > the audio file shall be saved as yyyy-mm-dd-hh-nn-ss_rec. > With this class it should be possible to record the mike and monitor > in parallel by using 2 instances. I tested the parallel recording of a > web radio station stream and the mike of my Webcam. > Hope that it works on your platform and that you can use it. It's exactly what I need. I just downloaded the program, I'll tell you the result later. Thanks. Martin. From benoit.minisini at gambas-basic.org Sat Oct 21 23:18:24 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sat, 21 Oct 2023 23:18:24 +0200 Subject: [Gambas-user] Shell comand + FFMPEG from gambas how to In-Reply-To: <4d2de415-97c8-4a64-bc11-76e469059387@belmotek.net> References: <4d2de415-97c8-4a64-bc11-76e469059387@belmotek.net> Message-ID: <35c88a31-8797-4648-b1bf-7b6d5321875a@gambas-basic.org> Le 20/10/2023 ? 23:44, Mart?n a ?crit?: > Hi, > > If I do this in the terminal it works: > > ffmpeg -f pulse -i alsa_output.BLABLABLA.analog-stereo.monitor -i > <(arecord -f CD) -filter_complex amix -acodec libmp3lame output.mp3 > > But if I do the same although Shell inside the gamabs code it doesn't work. > > What I'm doing wrong? here is the sample code. The idea behind is record > 2 audio tracks at the same time one for the micro and other for the > internal audio output. > > Private hMicro As Process > Private hSystem As Process > > Public Sub bRecord_Click() > > ? If bRecord.Value Then > ??? Record() > ? Else > ??? Try hMicro.Kill > ??? Try hSystem.Kill > ? Endif > > End > > Private Sub Record() > > ? Dim sBase As String > ? Dim sMicro As String > ? Dim sSystem As String > > ? sBase = Format(Now(), "yyyy_mm_dd_hhnnss") > ? sMicro = "ffmpeg -f pulse -i alsa_input.BLABLABLA.analog-stereo > -acodec libmp3lame " & sBase & "_micro.mp3" > ? sSystem = "ffmpeg -f pulse -i > alsa_output.BLABLABLA.analog-stereo.monitor -i <(arecord -f CD) > -filter_complex amix -acodec libmp3lame " & sBase & "_system.mp3" > > ? hMicro = Shell sMicro For Read As "RMicro" > ? hSystem = Shell sSystem For Read As "RSystem" > > End > > I was thinking to sent the Shell command in a direct way, without start > a process first, but how I can kill the process, in the good way, later? > Actually I use "killall ffmpeg" > > Second point: it is possible sent 2 commands with ffmpeg? because I sent > the first one and then the second one never occur. > I guess 'ffmpeg' expects to be run inside a terminal, so you must replace "For Read" by "For Input" in your Shell command to get that. Moreover, if you don't add the "Wait" keyword, the Shell commands are both run at the same time in the background. Have you read the documentation of the "Shell" instruction? -- Beno?t Minisini. From mbelmonte at belmotek.net Sun Oct 22 01:10:08 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Sun, 22 Oct 2023 01:10:08 +0200 Subject: [Gambas-user] Shell comand + FFMPEG from gambas how to In-Reply-To: <35c88a31-8797-4648-b1bf-7b6d5321875a@gambas-basic.org> References: <4d2de415-97c8-4a64-bc11-76e469059387@belmotek.net> <35c88a31-8797-4648-b1bf-7b6d5321875a@gambas-basic.org> Message-ID: El 21/10/23 a las 23:18, Beno?t Minisini escribi?: > Moreover, if you don't add the "Wait" keyword, the Shell commands are > both run at the same time in the background. > Have you read the documentation of the "Shell" instruction? I want both at the same time tat is the reason that no use Wait instruction. My fault, I didn't read the documentation of Shell instruction. I read it now, but seems to be not possible launch more than one process ffmpeg rigth? I solve the problem using Exec: Exec ["ffmpeg", "-f", "pulse", "-i", "alsa_output.usb-BLABLABLA.analog-stereo.monitor", "-acodec", "libmp3lame", sBase & "_system.mp3"] Then Exec ["killall", "ffmpeg"] Actually I use the Recorder.class, by Claus, with no Shell interaction. From mbelmonte at belmotek.net Sun Oct 22 01:24:04 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Sun, 22 Oct 2023 01:24:04 +0200 Subject: [Gambas-user] Shell comand + FFMPEG from gambas how to In-Reply-To: <137c5b29-dc3a-4009-ba7a-ddfc4125ea8d@belmotek.net> References: <4d2de415-97c8-4a64-bc11-76e469059387@belmotek.net> <22de4964-b46a-4a2a-bec2-158145b0ae02@freenet.de> <137c5b29-dc3a-4009-ba7a-ddfc4125ea8d@belmotek.net> Message-ID: <0c847166-fbdf-4aa0-af11-ca148ac6a760@belmotek.net> El 21/10/23 a las 23:00, Mart?n escribi?: > El 21/10/23 a las 21:33, Claus Dietrich escribi?: >> Hope that it works on your platform and that you can use it. > It's exactly what I need. I just downloaded the program, I'll tell you > the result later. Ok, it works very well. I will analyze it in more detail tomorrow. Note: I change only the file name as a Property and the encoding bit rates to 128. Thanks. Martin. From adamnt42 at gmail.com Sun Oct 22 11:01:10 2023 From: adamnt42 at gmail.com (BB) Date: Sun, 22 Oct 2023 19:31:10 +1030 Subject: [Gambas-user] combobox scrolling Message-ID: Something seems to have gone awry here with using the mousewheel to scroll the dropdown list in comboboxes. qt5ct says that the scroll lines is 1 but one little movement on the wheel is scrolling more than a "pagedown" distance. I've tried the other guis but the same thing happens. demo attached, run it, click on the combo dropdown button and scroll the list.... tia b -------------- next part -------------- H4sIAAAAAAAAA+xYB1RT2dYOPYBSBVRaaFLEkIQkqBhKhl4GlC5GSgihJkiIwFCljSBFGGIZmogi HQQZkI6igIrACNKLCIjUCApI/cM0M7Pe/2bNvxxn/e/xrXXv2ffk5O5973f2d/a5WEciCetN9PCA KQH+LkBoUEEgdlqoCgJC3/4KABSOgCKgSCgSBgVAoBAkAg4AIf62iOhAJvk4eINAAEfHfz/uz37/ fwrsJ/7BeAdPRwfS558Hf4V/OFKFxj8MqrLL/xcBPf8eDgT836ECf4V/ZcRO/kORCOVd/r8E6Pn3 8ia64bA+n93HDsFIOPx/5R+qgvyD/sOUYSoAEOSzR/Iv8F/OvxRI9yfVB5n+TD5Ix9UDB1IGQzjM aO/Fh+yF0iF6e0I5LHHeJFciAQUBQ8BQjq+Inl5EAo7gg8I7gl09HfC433fhya4c5g6OZq7f4FAw DiOarpBpY1A4gp2mBYepA9adduWNgnL800+/C/r8J3lj/5Yi8K+v/1CEMnRX/78E/sj/T9kOxno4 kEifzcef6T8EhvjEP3SHf2WEMnxX/78EZH/V/58oBznT1J9jV5b/e/Cv89+Zdv58Pv4s/1UgKn/Q f2U4BLmb/18Cv9V/O8R/Kv44An7poJ04QCBj4nmcGdbBA+ckB1GEKCIgilC4PK0/AEQr+xyJaKIf 9DeL1v27P0AVYYpwpOJP40EgI1eSDwgFspWT1PfBeYKgkvKKoF9sGJ2tTGfD6WwEnY2ks1Xo7KN0 9jE6Gwqhv6D3DKV3DaX3DaV3DqX3DqV3D6X3D6UPAEofAYw+Atjvnp0+Ahh9BDD6CGD0EcBoEWBo LzWII+j/rtj0+e/i6uSEI/yz339+3v/DoEjEbv33JfA7/f95x/fZffxp/Yf4VP8hEMo/7f+Ryrv6 /yXw8+6eQ+rTPOCAcPy8yef4bW//y45+ty78zwN9/jtgfVyJ/7D+//L9H0bbBu7q/xcAPf9Ort44 rA/R2/8z+/hT/YdDP63/Ksgd/pG7+v9lYKuFI7n7EL1A2gQfb38Mhz6WSECBlcCutBbsRcDvav5/ Nujz/1fOP7ePf5//SKQKEvHH/IfDdvP/iyDa9GvdvRwHd9J8r76e1ikAgAGwcwBZac0Z7xxnWsPu pWdDAgC4mnYOBsphLmEAAATQ19I090udrfVPFWn2H9ksnE+/Xtveh1EsYQOPDbLohYEuhrP5md0q eFpqbOO9oRA/0fvO3aY0bbWcX9x/TvoKtjmY0rSlpy8yUJrTEcFluO8RvzTDmKQGz4q+CKe9UMBI GYlcG/Kse+gF6gVKNUDv+5E3ZQ0EXwsymYyq/2Y69056GJ+BXGbEP3Sa4uHEMBwOnh8mx0GNT0Ql rxg0HmSe07PhRgMk7Fm1gOPSSWLylTf1zmlbNQnwmoEDNztyBzg3uWSSqQ8ZrZipS9xHlC5pKbzU l79qKJHCc5MDk8cBU2D5Cm21NsYRFKM+vPKhVigK8LZcUr3M/SGStyeErfFbQLd7MBMhNNAKeE5L Mt7omfns9nxn1osyueIIvmCnV3qAdsKMG6/bxhuZRakGSw2SjTNzpQSvbGTygtTRTIOJzXp1r0kY sona8RW3q6FU0LbNg+LJvHZFHh0qMunqPouPWz3DaiRnrvSTaHb15Ba+yowQF/8+I2nqOuM7f5Bp jW7ryYijcrcHi4HLCe3moms7vtvnrbd9QeqYmjfjUaEzfMEgZiXtoCdP2xdQysfs2sGZEY9Y+RkC 3ax8a7uwShdqfMXSRZnO8Y6v+ftd4X/Ad5a3BQXNDV7/yISPEioByyRDFiB8oatd8eXFek1SnJYp kdpGoJFkuQBzCnFrcwAfIFSFpg3q0eNvKBvoQV0aFRcshV0C8h0FzCYeVzrhSx3sZikyYZd5xg5j LsHO2YLm7VqeKDrWyCYG3Cqqp8aFC7WDfXA0+qx5ABmDw5ZF0XnszhUbyDcuGMvWK6JHzqipPLlN ytLKWkObv06NQMU8SA/p9Z2fQpvfiOCLYWGgzj7fK5y4lhtZZATOyRu12+60PG7ZBeBhn0lFIZqi pcJTjyIbmqydJPLIFnp18gJB7d9vCg1/ZLLm0VHIjEBLgN5GZM2wCVXB7lPHmy2pnRk2uACT6SRu cPy7rUTNeLGatg4Nl3R3NuBaBLhORmD5/drp4d5qX6LH1mEaJ8MgQPD59SoCxssx8/DriNuelA31 bVfh77MrDULmws/F171or2Zb3y927frr/j7H/a3q+trz8kuRdlsptVZCt/hkki9zR8s3/FAk2GU9 grZ6zF4tdvaJbAhh7wXviucXD5yphT/uZNqsCbiRkJhJFekCKx1KHNPOLZGd5x85fEyMUnLtMoQx mM+i+j6YsVLYUQggQDnIrd7dOH+nP7dg0f+5Ei5mD2FpvjFY51tBJ9N0zcUYntlogwlVmeYsPsGD UbgG8qbGC8aXjwQYcQrcai8fS7X7nLJ9o5SzR/5VOGeWCKq3/S5TxQFRG542UJR98WVvE3he8NJH KbxgIavlgwRwbDBg4UJlmTUL2xOEQj7cXNvBWxLtUlWJhGZklwStnEpf1ZONM55guSolc6YO8qTT l0CatVfHZnGiWav2ifAkoU7hTVrf5UR8REcBzhcNhI9jIwXNzWbeDGMMe/2sLsdPdJtb4rveu5jj R9xVPjZWFAkG3bOwaHyJMfRblHpqU1rgbYnTx3i/3divu7xy7v2oZ/ahm9p5t1WARw8lBlxejCwW r/QiaCqcfJDAEmsWqs5SN1UOsBA4sdRKObH26utA/4L3JH1mNO/g/fLoO2pVYfGU7jKwktjVVP+Q i1Lr60eDb2Xo+WVeWX1kY59QVPZGmK1dzPaGQTJVioOJoWAbd3m729DZQmDj6Ui/UU+apgl3mqEk oNcPL2USFMiS3/NS4HaN3tHn76SYRIZ7nvbxP2x6nf46bR+n1QVUDHglcG70o68ciGrALrPfoXfP vWX9iNW6q89MAn2OiQecJzdyZ7hLVmIxojv3EkaqCBY+a42W0+UenKRuqakdVY85c5R3lnKRKH88 gEApnz1CmwumwB+ZqbmeMwuX82pGZZZCVhdWzEYg69ckOnOeb/UQF39UeRMFpGUGtav5KunNy0kt p0ZJBxdQU+JmxbGN80oVBCOBYvuF/Veoopkl+HvHlxdX6kNcNRWvy2xQJY5w1VfiLhElIYi4px12 5WSGrRd2Qr5L9vDssu3yY9JhlO7A8TtWZe+ej7kyyw/WIFtfBdWKDNfbc+nKGwHHL50qkZ00s1Ok BXmZM/sdtU90pr0yruNFh/lj8RD/nlRzt6Lo0fgP5MD3eMsyN8w5D2YdPfarz+O8/ULEm7kGnd28 HSz5kq4xnNUp0QWO+G45jLQmRhYYsV/iFmS0XklokB106oJH1q8ODOVMD2oL0t7cVJ1qi26ws4Bn WpkdouQrxWzS5KYEV/1Qc3RWuJbku2P+8QPTAKKexMrFawspt6lvZUJx2yG+tl5SYWxDTl1kfRqd 08JPJ7OdQ/OAV4qLJhplB3ILl0ivp6WVlR/x39wadh0O/nAoSOWOywx8HbyPKUbSxeZ069BKOZX6 7XHr0oIYF/hz0+1n6P3cAvYUjRPhN0My86VW/ax0zeayl7OHv0OFY5fOpvAJshgxd3T3dUmOyg45 z1vbPFy0QDwqprCQjJkrvsn2m6EIx+6JfGt91tgmcsVY9+MNVw7PNAuP6noKm5h71t3c2NzW/VkP OR2VeBiPM59gCAw2C6DKVqmGNbaJxm3KfhMVJXgTLaO4x2ht3WTBeuQ2yKSqbaMB6xk4LfRSoN7S H3LVjCnD5FVj84DfNPZwTBFvr0OJejJEbL7aeKSNBaOvh04VoIaBH6W/4Ur1J2a6mz0YfKBFk+iS xuLut2aVZ9h35qfdRnjA5C1HAuSqlqnF3Gv+DJuHy2y2l04TwO/PXB9t2VKLn13AOjnAmfhvjdPE JzEJ1S561Dc06XVngkipoh9tqfIV9EIUWJm7bfRtB+b0khdj70uHlWP2bswqFWTdL7+ZMzEZ1iUj 1B7v5Wcnrsu9LBQkZXGhkmXR9lRewBpjG/GKSEIw/LIA8738I6slPJWnOWJ1yOdR/QZtzyw0wqbZ oNsSLJM/6kC6xB1pGsLQGqPqdjL5vrqJBVATSzqWMu86log/PnXGJrzo4egcT1WdfbgX4mIhuiUj P95ky8A3wGto8gf7msLq+f7bhg85q2pOol+1HAp9/hh8waucD1DiQLqMHNkbyK9CjbPTTTmAnoLe suR6ssF6AMmvGZrSc+gae1sdcbpqfOMt77Bql8nAotvBMFLFokMkbV4p5js9XRYUC85Lu3KbouU8 tocb3GKA5hBowJyi5paWLLoPzTUap/QfpKiqKFafH1ucYyEHyjUKl7LfyLrf99RAYz3m4PwUQOb4 XkYtxdjjyrHEGjYEjIHRpzDs5tropGYY0C3ma+bv+E9yzdY+mvK6Vi483Rm4lD/noha5PNE9uKJx uFrMMysT2tDVFVYofYsHUMUz9t030luR88ujtSn932/YWlZgVIPLi/dxnkuUMlSoZQUOves4tfWx 3XJMvDapRlI5W1LzAeJrl6a809EvFbV7nCvw9TzSHswVqzSl3tdW+YOTjUzG+tih0/gD4Tf2Ty2k TbaoRqPYKwKE2vSnTtorJQl1lBMpIgmCsqXAhhmDBtrk33hejzHua9Avi7O+tQXhR9cUpLtYCL+L 0alubpePMWa+AKO0b/zIOt83fCqiX4CtpziWtDpHm2L1taadcbM3wv3YWjmh2rP+wdvXZzgxmXx8 JZQGvG+BKlsBmab/N6hXt0lClAquJNSacIYTiFkjD6eVf4U3/2yMecyC33ecjw6Ffave1SirFtSc WqUdENkl88YkwdvPTqmZ64My/2lznfUs4NkOFqVA7MgxE1VTQzmwR6EPxrNxiGDFOHauNah6IKeb jffUock1Rj5Whq/QEhoxTWRmdEJWlC7VeFCjKWuqzuCarKReH1DMr0CUnba6qx2eWaNcwqaqo9A9 mLhkSpvS9WOaQM2S26lttil+42+5+lXzL2rLhG9mRsLFskv2+WnpBZdXH1k1w6TFGSLLK2JTZw/I seik4Xv5GrLjswmjDBWRBXMEexvsPhnkd8kLsTdU+dGL4uxuTowj48bJfvvf5msokBYusN1wCyNj 9nr0daK3C11ZCULBNztaRvd8OzKPnRAtX6oyGGXNU3DxzHeceS5zYtVPdW+jd/YhSU7PE0YaHcnW 5KT6riGxjfvGoo3LRcuj47npjSmcmHJxtl4+Dd8AM04xS8b+/nzrMoXQg2nSUqutKfeBjVRxxuQW 6broFLlO0zBg14MHwQHaFuUJntz3Su8VJr1Y4Oa/JCC4rSQSvzSvWmFTW5f+OPuRNqP8KpPCU6ue kplEnMdQecQTg7jETMgLs0uOMabcs4Atf98Aqp3HNLBo1o2YahMy0vFBGW9w9iKJwZaxt2M4ItTu vK0e2TP0iO1MJ/ph1ISaA+/Gswlm9v3zNqnuyS376lptczrlfewmang13QMEUiqQ5yZXabePPIJv fp3Er8tW6Ys/PEEqyc25lpO3fPc8lok7JCf8w9DeHLXIxoEXnOTpUoHuhlrQ1nUY7waFljdVRcvZ vWvTk+54VlaDeF3tsCMM8MLpg0U0LREEWzFGhLJluDSr+KuSJFD9qjxohbSG1GYNoIHPwREnJQPp iPdWkt33Mw6a96z2nd/mKwqCNJqGOJiFuWjhbyg1vUw78mzFQDfTBXjl7tt5ELf6kGZzjNsYNK1x 63rk+xPwm4yVhg13kmEfd3SjDTMXN1b0gVbn9T2466tWjR3ibej+WtzYbPXS9iZPd0UCyOfhlASo dh9or4ny6cwf81kmLRhfFLfC7+YJSpan6ZGXzwGXJMSuBk7Up46vvtoKe7q6GOJys/SHWD9/pneL 39yyHvyf9t6yK67nixpsvPHGgkvj7u40HtxdkuAEd7eGAMHdPbgFdwuBQHB3d5fgNvyemfkKM2/+ e637rldVnapd5+xdt3pdoiA8jcQIQCnS+tFuCOp3TjNxOUpjRGP6a6TXQ4dbMnKjA5SX2t5JneZ2 kRa8ha1ikFHq19VWqOAbbiTZb+4lBfbRt95K8EYRjekkiFMDLl928mXW5cimkj74nfotjhbQ+N4+ kqXhCtivuoIRvO/pbevD0Qg9JRlM/thygwXvxZOWoM5s7fWm+X8FcZjRZMq41grRKDfQDVb0Q+xg V0uZSEtFu4iuk6WP3XhETvzv2mbvSSokGO5GOJV2FqvTMO+URuCM1R/f/lKthVMgOHkMHSwXQZQt nnkEJy1xpzWanvmznBaDWMDJNW4IVhm57V4ijc5Dp4BBkEL1M9bMBX/Xob9vYrNawTTQLBjtgylO Mr6m9oNu/c+cb7k2li/FiNxK7+VUiruO/gQh7uBvRSDmcanJib2Dr6uGQa3F9vCcQUn1TSyb6+4H JmdrANHF+OqHhveEeTynUxA2KIdczY7srZ7bjB0cj7sCCk74RxUn+B790j+KKZ2cBV9upPfwedcW /7wLOy9RkNR8vos0jZ2SPJijI3Zim37SumEC1BVhPHNBAIkN3srENxj8OgFiLnw6M+3rNpVG9za0 vLgt+IkvXhAvhLUln3/cvbZK5lvcTkWwskB4IubnV4t7+QcgC9ti+zKFJYL9xtfS8FlL+6nV0odL 3yq8kqa7aHc9BUTho9UTAfqK9h0yMFGMqFqY2P++gFuKmnq7VCBVgZeuu65ChWS7zOSRp5K11X9j ef19pZscvhp+VtNw7zmggKEBwCrW2yGpBl/1l7HVchCbzLcg2tRFYFqDQ+bD3sGN4R9+skYkscXZ yRazL5bbF4fHkmK3TzjOt8xsvRL6+kz3v8S6Y6/Wdi7dGH7lSM9FBwArKmoTv+sfebc1KYdJSzQ0 Rcu5GUxq2ZQpdP3zOffmDWMo36gImAqkVT8+iWgrWV+9Xyu74+iowYUVUZWt7Ijx1HvpIBC3/N77 Cvq2dra9YdBMcMC00mpzBmZFBXczgNh87d4WJZ8JZISHraWP7THPYNtWcLlFSLcvYyspQIQSB04h MOMWZA4lYDMlYrTQ/RlQ1G4wEaEsKnr+U0UkIzMEqF1Ztl2l4+B9RKveJ2JgU1YRmejF9p32Swlp 0TJckhXQzgJ3fYel4TAfOkhDeel/3TK6xMLI6Fe5qDr+S8Wt9nJs4LcVm1w+zAJ4E79tOaS7toyq pa69kKPhrCs/hxx/sFAYfqIBxXNESx77rKs5/XGY/iN3GaxgG7wQKFhJUBZSy8VM+/bB+70TAKy8 sKoGN7is+tJle6lofyP7b8qj3iyGTFCzERaHcjKJL7WUcCRRuhQq+kZmRzI39UBiWP8Des8W4k00 sk9voYrHVGtdmKchZ0NtfHSWquTA5UFq+3LmnN2RVWTVE5aH8LASgFQJr8dy5UOTsxIpqZ3/zJ+k RcdUbY9VEOTM1Rryp30qbuFL3iha4VPF96aTD19Zv6wfNwvvIsNrNtnNJTB27a4q3iANejQlBIGA DIlLvcCuy0yrzfgdzsKmgxRCPOlaM2uau68Om/l0y9YfF1HD8LM7AQkxsj3jtKSxvG7NSHprK16n EIfzAj04FkRn7J7HXTecSE3/abtPvXucvO58eaEynKQLA477isAwbuvNWoVU+cRYEJTsFx8PAPiv 52ScvdSWfrtvUS0McWXcbnDwi/CLY2v6gfqpqdFh7XSMsxJe1HmGsUVHtMMVLyUv3OdLJTxf/9CY ZJ6Thc6kU8wmda1dSzP+jonBUgEwwBVODG+iwOTA3qGjpF3kwGDd0OdU8ZyERIdn/I88wLIaU8Wj GekNAfmGnu09bTyd8fpOIwdxGVxqvO1QwksSMVtbSAIDBblisDGx2GpUREpNgWB+//7Ob6bUjF5b mza+5dzz60uI7kykAsUoAo1wIjFE6RBUdNpilHgG6AxOBcr3P/t5BVODpMRHiy9mQsTnKFvXyIgf SjoBPUifScNjmTIef79XrzElsZ0YWS+6aKPT3lXYuRaGrzaMAzjkBqEO3vRYxIA6mTJuZyyIPgVa wDJ2sASBISgYO1smm1Ahrod576/SqHnH6+dYuu5A0jstNY10bwahm3X2KwMe6pIyiOgpxSoiQTFK Z+nmJHQ86Cj3zpS5VXUdlHdcXdRpqoXuTYL49OFHJwC7rj4Duj35H7kzedlsO7yuBlTHITojqFc4 4rLb3s1qwdsc2T4eLPkD5GMt8JbIXaiQWhQfLGSJCFk1yV8H5jwIg6QTvigi87SHnZs5/+Zrysz0 6n+ucbaTot2MlJEGRqeYzmGQoEdQHrqwJ/4TSCMSn6SiwC3ao0v8tBlXh/91ca3vrGTJ2oaBroH/ BVVdNRBdPXzcvZnPz8rFoPZ8J7qXPFJO1gvZVENWQ+Ri2h7VsLMppkmbZxP7xHTIXQnY5CWMHTxa HxpVGBoWrsWjUSpIEn1AIsa5Iejnkpgbbcv9LX79glU52G4Gw5AYu2oJRm8XhVAWXSVPCZPa3Vim 5F06niKiimldPIzcBh8RiRX+wipGcRzNoWNODFZ55zT5uT2qsajbl4sliA49/hV2TzYTkaWr0XPG MmzIKN7Xg2ppVJrVGjvZL5nHBNXL7o7twnNqCSN+mZPrUkB1yllO14BPan5w5kQOHTvGy9NBSOcs f4XXnYgCJYky7/78INUdGrcuN5WjKpKKUHyPYLLYPl9mAOtSt8+efdxSeCH/PwYd49wGV7eH3Pui SL5wSfV9d06uJu0df2dvs4P+kuvBzmjvZmh1HOmV/yzOfJhM+zKxGGafVjixiXjtS9APq3y1EPEE S4aJM293pFFaeOb5TqzguARd6cLM+WGIeXIsn0nXZtt1dMzg/cU2z15iqHP5bRivoyTI3cyUEv64 c6T+pAEOhn6ScCZdzTex0yr/k5QwyvDWwpBuagO+8JUrEimTTXjYzW/s84nIWfrnzzo+qkYmq76m Px9wWwpuzpqK6bCYPRLdvRkHtsmNQnlFkk48ePtSjyo3FIEDPr8p4RWMsb6P2BA5PqyUHvM/q/dJ Ys6obzbjWG1CGvm6LKu5WRvhvjlnpRCGkv09Mcs6ku3H/ps31Vzrg5e0MyRv4MG6+Sq7XFp2zcVL YvHZV00JixsGk8H8KnHVrlfju7X+RgxAkPgc3ik3s2GydOz2W4r6LirV1k+zko992gsuIEi1Wg3o nc4kERiVTyiZiFFoYQI+U50WHvN7NsE36Y/AY6EfTMpks2uURe4aob5LEkfeGKcUf1E1gHFD2Wnx DO9lw6y/eGgHe7vPmwpxWFO7qmy7l27pcA1bSgsBzu87bT+hOKhXbHlmrcivw/JilA+/dw1Ox8RW w8AFNTi2leVfjNsNs9GWAgk+YnF8vxCYoHqXBv6b80+Gv6olUIdAjwNsjBO3c7yFSb2xI4xRZtVi Xo5mjbYpAS0f4k0PxS8U+O2WhI1wmc4nKYQIef0WE5Bf98XeapYyIG80Tbu1AqHl/GpRcQ/O/sW6 GEYLiBMiksWHoD/gQKQwwWChebYan8ORm00EkeEhUpgGJDeG+1R7VDt99d5HdLdSrEz63o0g0ImM NKd1Byj4VJgIWk1XDIOQ1zY3+He9dc97jZB+fqFJwFSDnLhG9PipiBHNS/PpK3hUHtRajPLQALed xJKuHSGLoxCV2DwJgRuKVhgO9qIqjzS19sFbPnMwnz/7oTl7T0iWoYdm/I0Jr8y3vILF82Imuhfh mtRRGhBd0R5mu5XYDdNS8E88fbgTk1Uyk7d0cADjLAPkSDD6XRYIm63rJSmhba+lxe9emhvxM7zi X2GhU45XR9jIDEJma4D7qpKZqZ+swezaXobavd30QpyC8SnFdXsVWG1A7VdiBM1AWReUrwBgxGQA 4qSvmNDtrI5ZVWmq72qHAee9uYd7Bn3a+B5IBL5vfSdxYok9Wo5BOErL0Y1OjfEsnzu8GHXeL6XH dNWsQf/PCEv/rK4aKDKl9KBxCYhPPoQCbLBg3erjoI9F2rokb0z4Mq1OdlNaS1aa+5tIRwzXdEwZ ggxDFAExS0FBfxShpqRDLuW3iJx/5EEpnNnD9SzLa3H07wkhlNM95AA3wtEKddvhXUp+uRZREr7S RGKpwlNU+U3Ayn67zZxPeT9UfTtQX+IdNjby9svo87vQRe1157Om2uQXIteT+fFBMkIWO7vHkTnN 6x/f87kU0Gw9Ew+sK8OoSX4p3rhczP4pT6x/EecMPYhJR7u2UvrXDMbA7c+EH1ovTYZ/KUPeKS8a DOMTXEsFhwNemOFR0t1rQ01vIFbELFS6LQijC5wRDX3goSzPyLPz4lkm/8hPpKV5T0ACxMrImQ9R xw26vy++Lf5O54OoMrofYtTs7tFHNXFjLWHLN1dvJk+xiWVVckWM3DsjgfZmELqsLwOGmibiU2hP btzOKoaPHZD4ts+7PU5Eme2LJPNCvpRmJjNrGFphG/9tBxIbRCZe7E1jOBc7WSm8VzuyU3E51a1N qZ7ES+OZP+8SnI47xMtdtLxUEUH01HT0UbAIGtQVt68bhwCBEW0qK7y8GsrJT7y+FL+AALJvpuV+ N8qaKtjS2PLOFYbSJehEFYZppSW+LVgj9yUM2EvB30Ep0EKLuyuUK+uQXYLOQPQ6Xru51a3K62Kg zUtZ4gtbd6oatQP0+fdcWRIvnOoe9yft3qHpb1SfuoUaWkReP1XEQjgOarO1PBDIm+oy3zl64l+e baqAoJE4+bDwPS/Q0+KLzy9M5Ts0L1RBNQpDnJ6h419U754yQJpSF2KclGy7ct2j7ps/o4fOSzq5 8AncniigRBxlHSkOhECEVb9rdnrUiYvvnuo4YOc4nW/M1jUE7/7l/uUTWJW3N4URdXWiLfSHMpp6 73M6R0nTJ5OY2g4dwahHM5M+HLXYEZ8Zs9GSiZ8FGdntqXVulqhBztH5y2ALYV+HWFWErZ9K2VUB Plfeb1lcMXSk75lr2h7eo0WeGHnQ61/6binXNJBQ4Q6hRwZoJ+gnSJqOofEVwm44/7J70NUH+Z4r JqLY/W0jdZ8tzPNfPiK3FtFRVKufc/mc2ZnXJEYdcDLM9ar8tu+ZhC64R724sOlTwHibicSB2swF fFfZckTp0E969fT1P7Jas/5zHnRj6ie6WpIB59xfqM60A4ULlD/6bZfl9O7vFThSCWOJe8heYGyA +awtIU5knh3Rziwx2KiJq161+BOfsSCMfqwQ9pXESHIR1d292Tp2QdzLHSyC6CM5rS/bR3U71/Us L+l3/caeHTZIekfuGJzvpdlMZB3C3grsi0F736IaOvHlX4rPIConpv+U7gqVMGnHNS7GMy0opD63 X73ENv2srM9YyxkqaCdD1a0v62RwrbN0DFBDbeqhguHWAogd874sVXvr6w+rUoGnnGpPNX/h7iWC vsqMenplL+tw4VcAb7s37YbdL7dwSbNnme20uW7k4yXKq5WXJJRnibgIi6qJhygGNcE17nHXD2Ft ezMUzqDgG78rK6QIERT5UYrD0LSFTn4x3pA582ThC11iJQXGVk/3ooX4KHcHe1T/63cZ1YdZOgKn Aj/RWP4J2nLP0nyYqT+sNz0b+CGjZ2boVLBt9UCDHlzkf/dOqVicCpt+0U/2MzMIni+/yT6TkX7E 6BSSOa5jXEqxWjynRj81YzIN83DE5haCsHfm1O6M05LLcgZKN5tI9CfyhkR0QWHUjiIY+khqaIFg q+PKrbUng1Yvv+DeLaVVPAZdn3LLC4fvWnl4Ofp7M7P5h9VNG2I4sDpj1+Uqm11IyxOQ7SEHywSr 69jLJBCd2wwLWFe2RfNRGBrHr9DTTlRGH9xloFFNGhzlebfAb9MzXq4c8LmiNltcb4gi1z3uh75Q XJDsKYUSYs7/UyUlWWOWlN0FGE7FI77hGKTTPaoWbkfcY7qQYP7sMPyy/KLAwKTT6mnRoJs/ov3V xkHYv87ywJcDpb6Pi8f+yGoFo2/2ExhnWy3nPkJ5xhOeJieLSgC5ORmUNbPZSg0/G3vm0fiHQMdj /v+9CxCPMFri6GliIuE1npO5c38IIubT1NCyp6osjp+fElU2ixs+pxdOsVwwarZB+hCE6z7uWEgK zOQ8BcJKptfrWmhufWqYAC5pOvSRpre6yH6AfdcU/50Pkgj5tvOLwqtX8r9r0Yp6NnriHOS8is4y OM8+pSVPxf1qu9EZbSb6n47FAbvYK1k2vjBQ0xJlQeTgQE+9qkydv5AvGgLf1o6YFkK+fmUesPWR vdCBP7BCzSsP+6Gw/aQr1LmqCX6fvkehVHfTpH3y5BcU9bz+RCF8uifVz+Cio8zE7blglt1KY53x n5Iv9eu2FFbHZ1aep5rjEzdbM6xw4/ATq5N5wfeVy//ssmddq8tl0FU+nfY3QQEpYwIKkFr3ORIo hRnzT47SwHgJNXi8ZKJzn3Acq1B45dz0negXHHiDYWu7OdBAU51PLqQBrv22kQqOGbqRtr7tH5rV Z1t6/LUxxLWz/hw5PTzpJPNI5Z5AjvSQqSRNAzpQzDnnxuP4r8du/BbMBAWZv1ebO9wyG2tP2sDd 0b9IcPr/TBLxvNbJ8JJFz5aa4O1orYGunz2owIHpuCg00Mp/Yc6nU3ITL3gIbHQsx6Vbne/hGWNH SrnGdAgNxN8V670nU9OQDIpgZpj6ju8aywvxEtXPyoV+P2+ZCFDTjl9QCIYbKirkpISmLAYmaX3U tsCqDTtlI/WyfpKBKT+SSUTYj0PCU9fry4/GY01IWY5oEcbhHfOb+ZZWyZ7ha/uVHuV0Le++CapS TQ/VwzKTM6e27RfRjNCA6W163QFgeNs2Iv57bRO1pjRlxQHP/Q16pFjlqQlNZYXCsAILjx3m/zIV M6JkwY1AGQpz8AsKcpUpO9YUBmnZqDGTlZG2PDf2/pWXA52CAWhi+6j9Ny/ihwbRqVWyDuKFLdrT f5rch6Ciwv7oHXO6pA8woZVjR3LAOeXMtrP4d1tOpW2caYSZWlp9Wf9u/AcxbvBZHkdmNLN+yQ54 HvfwazXuciP5WZVL7o9XkAJd2kcG4qw6eNef8KA/FIWC36WMCAF2qOKAeNaRAom7kEKVqZ0OHP54 DCe36j12Pujzgdn4xncEfNOQPmBeYRnCPXLzoU5VVWFjIxqP4JcPoi4OQ8+6YllapafA3sNa1Vgo RdzB65WeV3Ija4XZQ7m+MhkxtXa/pysXl+DgGvH2Uw0aF0fhxAJBXjHnAzIpN4MsZy2ecWyYVGJT mJJXupn0ek0cY0/0hZA1kkBj9Mh3ui0CtIKwwbiM7rwFLMh/LxzN1235UGMMmcWzTgifP35qPVUj gGG2i8oHzoP7iIj+LtaWwfBwRleJL2PDpokqs0JqY/zZFSB5G9ew6lb2VaZ//VgMW7nHDhydxuOS sEXvTTPm7zBcTszCyzMASjeimqNL8WCDnj8sE7pLv+SFanE06TZfsRZrKLbUGg7BMxeeznEXTZj5 bQPjO55JFakDIrtceWWdFWcKqazo+HZ06hLwtf6DE3mcZM+UsB4seT0xskuTFsW10Y+JiSDFTtrE tQUw7jfMs2SQun7gfwv3pXWfNFlL1F2kLmr2+IiQFJ3Lc/klDNxMQPzdeWeVw9jbDeqoCCZAU9Wq jluNH7Jx+UVhuU6rvBTEEK3kv71u3BDiurhobhEvoXxK8WT0nfBe6gCroUwCBLv6hSIdz4O6IRCW Cq/itfaVr8QnTBZl6KuBKTh9LEvC3YNbFLlgWulxaBIYG1CEozQA8iYx2HSnhv8q1+tafwClSDD+ ElF/ZRFrqiBwJzIxbHTHs32N/PgUGfBYVa3AapyxNTv/TcDNPiyjjZPoSEvzd3HI/hSG+n8sv/AP deW5RnZgPaV46VO2dgZBOKuIcgBBdNgXT1rFtJ8Nu9gzxH6iww+7lHgjOuAmLSIiCMl7NPPZwbu3 yFccJ5y1h3DPPGALwSn5DUu0RGf3RDTux4GkhJU7KpcMn5nVNI4tt/coYn1LQ5rGGC0stpC7LymR sgjJIpwvLujXA9yg8cjyWslim1Hm8zmIeHwVRl+hbNl0qe6APZXt0vIvXU0EcLk7kxhJ92g/hz9I ZjwDm5J+zv/66SwjB+52KQ9nggnFEZf9Qhqu0qa0vqT9e7jRrXTTLJw9UZXotRmlWZ44TQwC4ow5 Y2Oil5MTpY/Ma2TBKvfePzPX1LZGux3HFcHIrlaoNka/nHvFMvb7Aj0shbhF52Yw8jzkuAcHbXog cdbilJJPv6BAjg666qA48Qqa2g/3G30EcAiKyHj5He51lhci44Skquww72UuB170nNdPr3VgVUhf 7Zd8AIBOC30EKl7tioAd3PiFHxQcPhiOVD4ijUu4i0fkUTnenz/tdnCezTonk8BdwDH0+7tGx+Ue u0Mnl4yhWlnVjZpWflwM7YkUsOmIT++Oky/KnGXqBeU3NzVjhiW+s1EJe41ab6+GSMhTh2WDbC+8 47s8qmwXuRfomYW38uYc+EJ+JhUhq/av5UFyFziXHqaWsp8BSuhGFcnRvU3/Jo4Dod6esLO1uEs8 5Yb/S0Aezc6rv4IHL8dMlyPANVRRg+ly0MnAnRu7pB99JT7lmVaKFWNmKgs85O6LQ/x+Maaxkfhu ZFK05TbD+s3adKXZHdqJ1TTwNxrPja6T6CLuVG7QugzlZIRGtLtXY//K9X4p/BSGZGFVfluIreSK aM1NS7jhakRwTlhDLN8P7r5psw5MDlOb0C2WyiQCnzGNVyuQCb+uOHh+dPgulCjmEh5fHzAeXROA w8MrbWAggLm2Ln43gKJ/hCdVhz51mvCa6eozrGmAUjceyI7SkkQRHfZhVbUYHC0/wbHDl0LHdVPn P6i5lBQ3rOhtDc6S8kuEUlIY6R55P4qomzM1uSll+ZtZ0eGXVl3XV9ZHEut02oFTVXUXGJFGIgHQ pKciULVkqEkX+0dHAyr20EM4iTo19Ow+YOI+NFH1yxx1pBQQMn+pFItdxXzy3PM75udsBBW5Latf IjFf8f3SvAOsqsn5dj4SUWt9e2STNnm52gEFVZy1BHsiDAEQnP2Bi5Cgm7CNi9B0NFbap5YK/hdS cl+CiYrxWFI8OERzkVMjZvV6KkMO9qPZUv35n4wb9Bxk8Z4TEk3mtGzEvEg/T93RNl//qCoh/bjI zyB3zp/i6miZHWdyQFMKhF8ivx07w6F5Y4oFT8PhT6ioRG1p+U+M09SqAWfn0/OyMgW+18t+74+q cXWdiyycQfNMbcHqNzEep4ZpDHX9FvN+vLlJkVDXduIuv0g0iuZ3KbNc4R53deoxgcHpo/2nijRc cfEj80k6QD8Vr25fipUMNrwpR6h61ZAvQqFxJ+R7IQV8255khDSnnQ2WoSxEjktEoAHaCoZf32H3 NroOzvEU0pnwS46qfOOOm4CfWUg69KfH3Z+dR/S8aYTR1HI8F7n52t4cxsP0t1SudfA9ZZ0Uo8QZ CLHP14qfimc8hWa7m2YwAtTH4ySOmlBPxfs7l21SGvALRr//lgSMi6k8L2aTSF2VZv7jq1bGRh5U 4xH7yHzEf/SRapsIuffx57tZALzds8dnFEMRr6mA2649H2EZ+rcT4L6FCTjSYyG0VrSHZd/N1r/G cB6Vo52ak4SeFqMwLFgjFU+uSgjV+rO1P8twApBOez7KDEgMSgjJiYkVkoa33LFs2JFqlZZf4PLQ V/+V6cHEpSF7qCykcW9E0kFJze/7Ab1ZRefm1ckL02gvSIDY1XUltFo0thTXLew2xqAQ+EdRJzw6 HX+Pa6Nxm7EiWM1dp7/3KDF8kGNhlJtVKbLHg6UnF95kVAkISCscHPA8TAavCfFEV5dqatloFq/E j6IrzKFIPL71uwXxZDZi6naNFiD7FniKGo/ta/B7ucZNYt0tSTKzSlo6hLEG1nwo+NJTGawysvRX evK3f1mLZe33/QHd+nwyXIQo21V3qqaI1WhI1rPxgLXkIz4mUbAbtHYaxDz+4ZLgNUKCcrY3mDso NWBPRWQ/Hb3ahHD/YtmPZDFAqLOIoOzM7GLMxLz4k592/4rvdJBhi7tdRnc7L7o4O8FG0BPxwoqW /HJCERZWnZYzneRnTnllScqNUlLdR9mtN9jGkJmaAS3AyFLQBGrir725j9XG7t0Ccmr0VJMaBvkF hFv74Oeg1rozDlt009WjPX8a1gDUVKzguNqX/B/0lztdACYc4lB+Jyq+X8vWyENB4O+9VUTBHN39 EwzOtkDIUWk8aApfXBCa5T4FEJ2+UR7bY+C1OYb7urDyp1DFw3HwEVFT61NRCab5PcrkEUbBrlLE riiqekZgwD/OjzDZPt6CY4suiSd+tmmpJuQWVoZbmFaaOmVWGVrtdYQ/XN7ZwY2x1OvrQ/1RvqMA pqZXstqQZPsK4S4IUkTt/Thw35wQwJjHHbSE9vMTStqHkQzAmCFpuGszkhgss1ui/1fqvkLyM3Gc vP7PesHHkaAszTeSPgNcCPuMFoXaL3BR+ZIgCssHWLn/527FHffln2lSZocI7HMB6dg6rNXU079a f1x7kH+m7RzNWt+SE2z+Jke77L2hh0yXls/QM7lQhDA3klZCMqWB2pzsKBfC8KIRSDbC7THrJ+lb I0+SZM5Ar8eBBTH96uSgGlJfDdBNQ7UutazHT8yiCqDEz7QxpHd+rGuhWnMFspf5VWf5sRdx/eQ1 +3ejSLacHJY0YRAletghw294pxRdINXXz2gb70Lg0pV28YB71lUT0X4eknvwRGay9MYuEq9cRL/2 PtI26J1K1OVrRH/p/Jz2WDUpuqtDqan1dxtBMspUMNafzpG02VyLT3KKRnDOSnjQMz82WbvsZtKS yDjlTxHcG2SlbWiJlr2rSXn0ItoFPldKoh7eBGWlQwKutwdHZtD6V2sLu1+ldurLJ3+TI9npVETE 6akzpIfGbEvAFKqFXPeDj5MWtKhZESwkcw1Rl5ntmBOzK981dge1A6IuZ8mpqvHcEFACifkgwncB 9ldC3QHx6w+/Kjp8vMNc+aVtfUq6yxKeldPPmULFKUfW/N+VnmYCFeRokDaao6YxF9n2Tc6QDQpg rOhkZUKdrSkX4Pbww9NcidZTJ1HDhQ2X1VKBd3zV/IwsXy7qE9TkD6SDAJ6etSG1Gkws4y6ywEiB GnD3BM3SP/igy6B+vXAxahCkrrgr1qRzX0u/4mS/gMEy/3KHc9NwU/sczeS1RufhZr1rpMujJPyY l1FAnkf4xsj8iFjvT08MKGqXYP+VALkXHM2Srvv47UxkQJJiw++DsV4OH+2iemkLEv6VURJDz7Xs 2D+R9i8v5nEVK0Xdt73wXPkE5cU0ymgfK6wXKowOj2+ZYL1K0MtsW7WJog6d0jgBDx14oWSDfDwV BzU5Ti4FMTVdbxRI9tWQVMqAMNi8J0ZCvbt6tBoXP96TSkdfAk+aaYQ172fUmPXhWf/QnXWXVhMJ uXMicb10Dyw0q4+EyAGPhroJE/DF66PJpZ6J2gxGtjBtrK2OFvBG160EP9AJs7nhS3yUH74Xg+Oq wAu6M/vYXzZRuh5fQ0g6WlGMiObXUF+GYMCg6+fEch3+hLKQwt4xQS12GySChpAiizgNocAo7Y0i UlNGQcLTYWLY3TUeQDftyhixPthRthr+NxVA2jMTMYtMhhFFnYckNvvzDAQIrqpbXMlEhYAwoHHa qKf5o4rUe5HStXhRoUz35Ofr40GZFeGWreOvVpvrL5Pm9ugHZpgAgT89H4EDZRDWZYlyEttFdzNT OQ0QDC47woVtBtKvoLYP5aR3jPhV8weXC/5sh+PZH/t5ZrRG1f6sINOkBFUAoRt7i31Za1JAgTWD zHRadl45U18AC3cMNjpxMe3Zf7P85rzDYdxV5zQ28/obuvyC5X93N3Y9ly8fUqvPjb/c2o562hOB 9gf31EqOGxRM34+o2oMrjjf1fVc1cAUaUokfDehyutjSM52wezSYp0sniM2z7dqhzzD5QxI6JUHD ZeJINkqKbP4BuhElNYjTJoU6vpFLRMM+F+vgjMuD7cwTuVDxIvY4QfM83t06dr1OSM2Kfopxuz5d 5b4xFwdc3CVqDIEF9uzrCI8T+ZVfEFRp10ADq/yqF7wLbdnwGTb7DrFclZQC+pOcmikgfxjSwpCE UPzjkXsPO6fPU4eYQKWTwK5DZNjtkPvBbxOQxCHSRIvTjUH5U4++72xrezVvOmzxaaPNyr3y99ld raua4FR302vmmuCs4aM7fnRVzXleANzMrLh215ZMB64zuXqLKMfBv0tw01cHiXIiypSGPJQp7dWo OEAfduyYtTTgj/WpitFw41Rc29lvgaHDVm2CK34BOgZvEnMLor5pOWr1m3xbf2+LjIfhQ1mv/T0b g0YTLMHYGv5RS75OaaPFLcPIDrcvkfhvl3AxZEeyS/0iHc+T51/2M77+3vz1S1FR6uHG5KynJl7p Xnnu8V8YGeehktAzew3jAj94F8WXsuhsEVxZqUgjvL3mnxcBAQLQYbNBXWYduitgKW8u+BxR0fAk eSFxbdOxmfO4R04BHviShy63opQwYYKET4ke2kTBOFnHGY1TFDiPQdixHALge/JB8o0edJ9GEy3q 5VQj45k+zNqGqgSTe1++7ie6ZezMPougeku6+xqTVgnNZl8H0ut1U/tz36UgjuhE9w0zOWZTog22 62IYKwRrQJwjPm9hKTyIWCsGttpnfcEKSqxDN8HD8lToRQMvrq/lJNSLW3APNZ3ldh4KgFmLLIz/ +HrUp3HS3hnUMnqLjpBNOmr5sPKYWnoXjW+mmeXAbFuzhdrdHBpw+WB/RNSZ25ja90Q3cF/R3Sqv 6HHPS7vZeEuloH+8jkCAHcrcDzpwQsnD/Qjwxkuh6JKmCdwfz4oAyHbsCLj5svsIqCYoAfUgCY+k U22ZtQkQLCD4Be1bx6GNICgYr3hy4OprpkcnB+mOikpAcKr9Soi9RnXwmIbd+RXxca5l65Sk6Wdo zwKgawirYUKT8mKY8lZlra4zVOy+/vRkpbNygzOGjHCz1eGWTtOhIrNay/M0fL7MhKCmlYf6gzjA HMaBywnP/IOsdnJ6Cvx+TyT12m3C48xlvzK9ERd3cDZKioffmm7oyJsAcm/SehDIOZrM3avq7tQ0 dT0MNECp9XzzgPnz7dbb9euMf359xS5ad8ve0wwCZ8wnWNVCtYZ0hudEKngZh+1cAgiqUp7UL4Ro dZcI8fRhS39rkdynrb3gv543ycsknh59G6nxRNnorCtz/uYkZifc4nSnPVYvzf+mISmwPAFdGF/C 6D1RAHlpe0a/6QC9mcYJJq3sAzNm3PkwO9icbNC4ZLHrgLXksJlrCyWgsmNqALP+b5Ps8arb86+i v/bnuuSyxZyO6hKbC8QlIn5PWkDuSwaAUegbuQRSmWSy6N9QjhpcgtrP7Bj/JOT06XR7h1bwUQX2 sknGcS8sfr1yVj+9tkbSrSb8y2T6+KN8rV+V5b+xzBC8MT626nD4fc6lLafcONsxNUrNEuEYEVk2 kOOmHZvzEPorMsDNS21q20ln95Cc9hevySvUL1sxu3dT74Pw/YuYc9chNoqgShPproutScFYLtrP M46mAux5nMuT32jQgXiIxN3DZGN/LK7N2J1u1HuO+m1ivBX75gi3a054pdwsqV+M3s8qV3o611VI rI0a9aBRAWv6J1eeCSXN3osG8NtCYFzEVcPquMAWME7eggWL4T3kcnRvCqFSWIRZ0V2PrrUB2peg 0wqkhFoDlcedofQbdCHQpYCU8aoHic8748dw8a32N9rcZ9646gVhv6xNoD33gK7Dn9CwC0lTTcVP rtwDLuN3SwQeXH79akIg1ga4T9YmtkuwDQxa1wMNocQwQf15uf4bWZ4Jcp6rCo/Tg9+w/waJhpRn qtxDd9vw7KEzbVOqQDDwm+UoDLbN2yJ0KTfj2gcsmtm2dG7NDoJYBffoBvSFsXOFhuNbkv8y3Kpq RuJ3Y+VgcbZHReIUj5uPOzATCgw+YSo/igZomvMSAUwnKPagANx+YuMplSjpFn9zYUKT8d+lxymg qIAPIaALCPB3KKVrzlexAfz2LmmD3fAf6H86KnQgtTtDlFAzYxoyWVQlrDQCWvbJWAdvNBpBLgeF GNHc5urHeZNWCD8l1zlt9Gl8CFoU1JQSDjNMKnZC2AYQrGcNME3LGUeGkZL9LQEzbXyVJcybZuVL s3h8RfRoCILMidRNe4HhNQS8gPnhqqFj1Xv1vvajf2cQ0EaP5CLDGFsyqouA3EKxVS4JGDbUUQHO WT33psFon6WRNc7Dx1/XjYC//dqVlWUW29l+bo78FCHR8kElLA6fmOXcFl4AQIWeMrhs9lIAOWIu tJQ4SN/aBp7OaWM+zjUmkQKiUD31SPls+z0oUUYqRVSgqsz0EEtLhb6hQe1Tjx80QVUA3fXZNpmz YBCUNdGM/aPpVxALtzTYdvPBcb5z9PnfeM1NkuU4Kl8a2qIdWJn2D7bxu4sZKRrKYUQ+aQgJLgZk yHJkZaMD0NRUIrtQ4rwQa6g8R+yucphw0NChQN6U/IQlfNM42qB0o2kc7b+yjYgoPPKFozZBPw2/ eLcnI1q32l/tNs/MwvjkvnqkLHM+6Ry3F//Fxe3I7U3r1RcrlCapW2aXbS1+QVOXzUyHRCvi3KXi YGqy492pbV53qaxhYIpMDhxcoLH5HZdX/Iu3yjp/M41T8f8qfxXZ0BCRzxKd4tdDYk7/0AxWejRE kXDG/AbJHzlfRGSv0AJw7X0VShe/MwPC83vXkpcBXZUkPjfzLfNDJIzRwfPACI1WAW6o4QBFs4v4 p3TeFtVf09naRCiOFaM7nNr6R8nJYiIBAytNAktajMgJ6r+m7+nCQFxcuDjkfu48y+Rf3bJfd3W8 01F+FEZ9tsf55l635mLjkVkWXLu4kYRpjCyOVU8b6EqzHwUosMOPgc0J3u70uOAVp2xqy1fCtrEM gsY1neyB4ZvLGziis1Gs6Qzd2aMqUfeqrGigvg+d2MHwJp4ob/1yEpPOWReH43am29nR1VMDBYLn JCTuHxxln+KV9Keb3SkSYRsAs4VBiX3ucEufx4r/70ME0g7kljUy35sr/kJJrpn5J7UpRt+PNwN5 7kRE+qb8dnO+q8LmckaK5nXyqT8G9hnmVUuCmXv6rnyuRH5sToZTCtLRBHSKaAw9TCKudcwOxL9q I1oOIx8z4uknpVxZn9l0jH4TYpvWFpEIETPT0NkUNq8VNtBy/cwxdKfCc6V556g2pqyq1cvm35UZ 8GbwjeBkvPvuZPnN9TuSB8LlE1qwnYjziO65oQYC+3q9Ml7PCi/r+iAq7iYPRTgeYWptawz9ZXlq v3rfz18vEaMSkZ8WfwsO6xLxd5JylYRRcJLjp4M/pJZXWaL3YtnLrpoZIYwxoZPxwJP2YnoLPrxQ Cd2PhmDW7Q8TeReXI//mcWVIi3psFTYeFDPW+1tzEhAlJupO/g0ppa20oj6MAtQxuzxmkt2Fut5P /5sThDjMI/pUYUTPqo1YTFvQ4WEjfE0mk7xm9sLXlWXuepdH6nmDOCNcDcv+ZN7DvZcEcA0l9xy9 Xuv1D4SHKRJMMLL8OwkmRe5NW/8IdHeHLmIHs4xk05xfVxLJB0FBMWW+p1uIr9uXT/wL6x+pc3xQ j8xmBm35hB5ePDwusm0rToU6vjMM/uzVfr2OsIuC/gW1xfBuW7vx02lXl+1K5upuMp42d7txOX2w 8+73uEdshV8ZczdVzOzajwbsrSPGOT1kaMDeD3S54AdWGF8ZtrEP3OvCG3FVNhbPsqDQQX31IZPI vQhf91NS9vF6DTiwde7/JnpcW56vj1rxm9pnCR9kV2+JdTVHdwu60OW37LWhf6YnOTAZqOmsz1w7 /AhrQwIqjXd0/u7sdJEfW2M6u9T2fO5km3GdWsx5+oWvbdkaycw+/fWPudw/K6QLGzhQPR9sMced xC6Uj0X8KGH72xOXskQrkW7C6kKrzBcmhhEaMD9YNjsSAjTD6burrto5Tp3fq9bBgG4Rve1P6a8d 2dXXVPxA/6y+W2Vw+tx9bkdXTvcs+GyzR30ArRGHmeMkpo/cqO9ui6+7et6rPPe/Q6TgOk08gYuB PbV6GczS1r3yydrznAVEbiDzixEBAG2eQ7YpX75hV8B4D2OYVpqzwozLAo2L0acSukEQx2C3sRNI srsSsNiZel+G6OGbwjHJblXr1wyTJcfgXGM/stytr2Xk0fD35yXnwwSXlcKWpcdra+5drp+Jm4sZ pyMYG0fkJyCxhaHfm4UXFjTHxn3djdZcLceiXK61+/Ok9ZG5kAh3pjCm5IpwyFpHo0l//UvS84Ed m8YFiE8W1sDljCm2OXonDUXQqysh9rLz8o/EgJx3ObCD3Q4nPwJ3qODp+GdmxybMWIapwFJFw3fV Hs7WlXPqcUVVzsFvnuuiXc89xCTEX/eIU+fyFCR8ZuGNbiTpU4yZsQwzS/eI8ec3uBkxZIfvh9OV nveCkFpFjOy99wYeYaaFqLdAnmIf/yLfidT+d8TnNd35fMRSH1gie90fIHPa4+7qQQmHA/b8Aoi9 igX9NujMdIG9X8pX2KbA9BwqPE749eSNA0lbIo7Tz2BABLdk8+5Qwi93DHzj79Gkk0hRJZ7GgwAR 94vWyhhj0HkNOCVcHri7ve7ahetOiExEW9OpXiJ00RSYSu497ki22M4DQlYVHBa0cuYd3NlJr+Nz /KkRNvusRAK8n8le5x9YKX7olzjLn9mT9SwN6Jd6IkoE5j4+NHrNHvo5YLJzEv2esZfZ5LFCUsfN I6UQVnHoOHGSEzVPIQoUbW6Hsdvw4tnoyewUdybKI4D+ojdThm5QU/cljKkmIfdZQOuTMnNBJHHm Tk2iVEjgHTBDhUSFQ1vCd6pFxLpVO77Wmh+pQXII5/9YlFBtqwLCeNx+zSSHLi5NWRq85DsSNhdX KLp578rQdftd+Buf6eVw41oUdsq9Ol78v3cBnIUrqj8KxxCxrNEWzDV9JPOuY7EkYtgcbUYzgzou rDFxvlC+W0LP3EqHPWxj5EA9Ypgb8aNmLzDgcBIEjOiE4atWotaGK/rx6RoLwgqG8dAP1qpFoYEy LygSqhfF1Xxpbct5cKMmoaCtT30S7dwjEUV4LGEKJ/z8LZvcekPhfPWXmHFXiJiXAyrErP5LQGlw 4i+J9x94vlgIdd/vFT5nSt5d90pVbUvQZExcMkw1VR8pOkmmiV0nVpRWD4mIv278MIBCvIurTjSf mG/If721okcYM4hfngD5DajyHPyRN1pf9mNh4YyvO+ub+SQmrGUjiiiKt3voNpNB7JZsKGDdaX5w CbrEh2RQH4bti9IuWFx1ny+2S63satWW6WG78I7yR14rs1TyuLAK5m9u446urIAAV2IT332YGDRm eTL1reerCttBK3rU5SVmeGweQ2Fs+pqJ+z/1FS7FyN+2SYQ5o7z6VdYabExbG+B+2WaWoKxRCO9h pZSKrnGMEwGQrf9VIpD4t6d6GhYIjR2TAHtLw4SwIKJaS0xg/h/NpqKdeNnKC/JGdlVZn5WyX9zR leIrq8jzl/B5jWIVQj2eUmtrHAhbTkLuuG8m9QXSjeZ32svi5dSo8M59S5NjkmcFpn3vhOYjpBOX lCInTpf+6lqWbJB/OO2pQBe/9Bdn3/U353WC2c8GxB2s32ZYOlMORxSGHIociNe9ZBPxP4CrqBJw wGlnu2D4dobAn6XMkD/RDxfazPMnVSepAzjx+X6RO3fnInI6v+KskWsh3y8n8VJbmx94v8QH2hHa 56Nkt9UB/ZcZxNVR4/I+OOmp0gfnPv8jFZiOipLi9/MXNvhb1/iaefzdrTzuB6knN2zbAZt20oNf PQUg/bXUBR+zJ7jFxE/++8GnHo1YwZa7Dx6ry9BqBvqfI01jrok/EPqrsaT1x7gO/3xQ/UKova1y 9IWRoNpAUzwTXSGG3R0k6Z2O7f6rPvRn14DOCB5+r+r5JuFT8evcLt7KT3N49KG2RzX/8zXJjun2 pEPdz/Q2zJmf7uoyfQ8725F/W8xLZ/wtWVxgNwOypXiST98lYvMQ0RgXtcAAbHl5a22MSFPHowWL vW6QOr+eVfP5Wn7vKWmUGfEDP2DQEhQAfbQOOx9hAPdJi1aAdJSxTMSL5zWuRODaRcb5zKXEwCCl nnHQHrA5ZcxhBqRoZzsLqiyM51AhQ+89nSokNVyitdiuIpjVer1rRW+KDXiQoav551qc21nunjVe KTS4z5uz52JU8jA0m+pV4oD89KSPmjFNhPU+fKOXuM1Vs6tVtEblLhWO7BBAzut9ZNadSi7ZJ1OK r/WcidDZOgfbxJ/yx3pwF0kkAKVMPJgijpp9BYWifWtxYVaBf+7DdOIcrt7O2MGHF4Yl6xr4JCXo YcJT71ykyCWHxJSFGzj8ToMGvIy5PxYrgTemCVCf7repDO6PDtENMys/Ce5JfgyNKM39/qXxefaQ 1f/8gre4oP78iwcPuioOu6I0Sbg2CuhyyxoAIOblq/PVUhrjfsL8lyk/4+Rt/iAkIl1L5eSAfepF CLqwrV/CzjoLuuZFAIQfX+Vyg1+Jbx/bqNa8Xj7EikxHaMpJGcpXJPbNRCgeCZn18f5I0J9zOwUz w2ZkwBIgsOrZl+MQnAIeFtYFZV25LfmxVGlj7QzhYei+BRuSNHq/pa87Me5td+cefT6vMv9aSl7c xTxyeoiijMY7xaWXTVXjA6RW8TDkAGphI0DVmXDJH/tRXpdzO84932Z1vL32yni5c//kWKT/AVxr 9l6QTmkgNPv1BEOKAf7SH6Td97XgPF97QjN71GoevB2UnW53HC14KOzYmzBKZBr53YYkFP5MoQgT fVASvQ9rAyoILlO6KMKgLXVUCMuggw+/O/rWRixP47Uei0M0BLlWesSMjUd1lB12hHS0Hd0Kwlr+ rYFPJ9REhob1f4k+47buCSK3/Vlo+BHRtKsVc1dCV5glyJUiWRHcsRSUSLuBHWqmMbNlBbj+CIig 88lFBHRcqcwHJqkE/pAkTF/4CBTYc7OA1OoooeONr7hSw/+Si8fEoDavExXq1GaMHR2WCiiNKnyR SAwZh4jjJajUCHwr/3Pi0ag/rQRV9RV+uUwWOO9+Xar6V6hkMFgPT8JpZgqGP9bshcOtyREPVHkB N8AAStVxpQCWa+RbFuPU6o1RBHMP9SzgIsFNZmBv27+0WFDWhsUih47gtq0eggLKAKW5ITFbDIoY MXMN2f5Y8de3AAo+8AjM2cqSVO3iGhms49EOMORlU9EIzc6WEs66zCESxGy2wUOpCiYKBBUAzoNc z0KnAV3uGyvyyKkoQ09LHjXLfzOmrWyo4ZGvPwJbTUnkDauBLTRQVU1zbvWUpwcXNDC1UOrtlDHP 7kKTwFDNwo0aPKZovE9sT1AIoqxW4UcHWUSvRjgHNk25NCkthn4/euJrZQAA+HADqSNdmx9csCIw GpqOcI5hp0QCm2rYvxsnTBmDIBzwDrGA3VR/EYQ+5UUvkwmy4WTmXCmInVswDUrrLTHzuaiqJNz/ xVS9pXOT5XbT4SuIerLSiRbQ09re/TjM8plBDGeamVP+oO+iytkaCdjRVK8OgAN+qh/6JTL1lwUV AiDyrYrz/Zk2Rsy2Ks4oj8rvqVk2NLbNbfdHFsiZi96L3Oc/vCEFtF/nWFSjiRDP0n7uC6s/seq0 Y6q139Rw1Z6PuYpP1rnfPdM4+XqqJPX4cyMi5riy/CfBm6E1rIssLF4y0d2Zs6iKqTNl3yHXl3TB H48hyWhRN+4ZjJ7QAk86Czd3jcB/bSfBoJ71c7GAHFhtOMCa/y5ifHiMZlRhcz4MqSwe8ZckI7Jm KAWzFwt0g4wVGDRT4wWUgMmdYJiuC+XExn8+myt8vp37wlyT7iiiclPhdGYwNdi95JsgFmAq9vZp Huz/Uo1zoj/3N2hZoc4XgWjY4r5MiPXTVPVU9FYwaA/Unms17vUWreNgEaDzRaT+60gKd1mRMXpt aFxY2iiueFEI51gFeSDCG+DrZYa1DeewkI/D5QSOHbIA9812UmDRG0e911EdN7DRaXGwjTf7NW8A Fm1czs2mwnEvscrVW3KQYxEUdUgyzJvyqcX4MBbnPb8y2hg/el/vceYYPcGQ63lFW6aYlAS0RRXC KZ10N0I30+tc7WzgPmnPxtT/aM29LWcgYrS4QE63D2lRZCZ9fe2tQgsbaQr7aJK03rlvZPM8OeKz 0PgJ4263tb9ujPFM12Twd/3tWW+Jcgz7BJ/kdIJz3Yp/1fnnIyFe6z2C+kxYM+5ABCoAw44LJJJN LfDD1ZFHjdNb4V9V3KDwxAcKvSoHSWBclcwyVnDCN9BUgBBWsAjnKmP82JzAkBRwCLVJyhIMz1DG hlpfbp91jJNMsOqJZDncwq3966jNSVN6Sh9vK334WLh+y7tAymhJ5VM0VQGU6mXU98GTb562XDF5 Djq2TSqyMiuc5lVNcZqVlKh5CvwUU/s05C4LG4eNQU64cYjZnHmc6Y+E5uL3S4S9eXHligAQCaqP W0XIgQUIN789swT5FsZ1hLyAb7tc4YyUyt/cGYXTan68NmhM2WnZ/E0Cr08VFrokIKR0tGYnkqD+ zOWlD24Th/LcFJZ+KNyJHmI0PteTGbkfQu9G+V2NzllD7eb5NIf9enDxYSx65tMqVW2b/X8FUkWJ wqY84W4h8lb1828nnLWOxvRhm32af83rJ9LNceVOGak/zgyioddFCECOTKoUykOGnmAsQCDzBAHw ohOflYuHUAEKK7cME3XtRgxhH5V0OvPsozAMxQ6mSjDPgK6ygPnxssDw0j3Vc6IpWunbp9JuvfOs lXs/KuxuSYlI+PiNiGq2VWJWf3d7WQq9+686qJgu2RbmuZCi5ahmMTpJVHJomLpG4W8BBXEtBAOP Bv41coK0zcfGGZ9A+Y1pP5Z3L+YV+3nzmzEcYKIc9g2p6Np/lCQtJ/KyE786z1beRVtb/BsJNO5R vBXYy5inhxV4hRWMU8csb4YahQPWDR2GAIfE5vlifra/aM+50FL5v3bftXld2ghN/ns1/IaFcZDJ uv/wnenh9OXu6vl38ki/ZmV2e5lwf81Xwd/lS5df/eto1F2w7CXLkI1kI/DoIi/8MHdEje4ngl4V 1x2XqC1mMaC1K0wftbLBaaHo4nok8BcebLlpsJdiKKNve5jeLatC0ZoI2NYgbCEtbX1/C3ngnKUu ci9WXx8MhhSPggk018AjnjGgqQdtLOnyhwff9bHDmel51Q/FQd+IOGPYLeziLyj7MkcPo37LD33L Qvff79oeTCsFbWeQSlGhD928OfuXMcSLRZZfLbZ9doSWVpAheTKfpTlwWU2MFBQqro0j/BzusBVG 4ab6siqbOR41U1h6SklHWODo6/URNT/8ZgQA1Pf/QjavN7Int5yGcrrb/3Q/V42WXiqyDZ/AKrpy J+azrAYxy4jZso34LFVLi9vlbgKOPwatMkq2MTMRpl8rKGSrn+sbfNjsFr7AeLvt0fYuGeF4HKTy x/jH65LXLOAh4iK3lxBp7f/l7xOy0i/uGr65VauDeoYpK6u/0/YMsOpfnLa6Fj2Wn8i+7i6PGzV1 8ongbU+FcszZlyo0WLadKiXzGX5E6WKnzVy2DjTlhc9jxUAHbLSG7FdT3ivnP6yLCfY8aPySQ89U 4wqSukAmRgfbxjiQRLMcThU2GaCDMSsPSXMtZ0G1M8RZ3NBopcLn4b1p7tRlLxh9Hor23K/0EGfL a1B35w1/+7K33dFnOyQhu5ELfbJlpYiByAJjh+XZjGunbxg3X25Pa6k+c/r1YWeqe05ooiAjF4/Y EDoyk6K79yIDANndaUq3+2+3lE5mFjMemoU47OT3G9x2af8dm6QeCRnsUysY58a9BfhYkpEMuq0/ jB/n4OwDCLKoJVAAyHEAZEZB+qEEUhOs3RsLvswW3p9aD1RPg2TJq1VKNkbuHbYOdr6V9dXU+nTE NRVzawt1DAZ1O1IJLHrNitjYmBcAuWBcBwC1E84dB9fLbexh+uFhek5hEDjMLKBCfMy121923Gf9 7ull7fyFjNy2ayw34ADoRSZmGbG+7h5UcyLQR6XEJ1eeNGuqkn5ZDwrGQzucnTiyg5ltFG2yr6nr CDjYQNdOSTRKjzaLq3NOnyGxhTViqlRGyGsBmpqM9whRxC77+R8MM9d0+ibT0x2JyA8AYZgtwXAo EKD2H7OS2gysU1AwILbcyeSFevzt1la4yzxc/w07XVafExdsTa+38Yu4+noEx+Gi5O5m0lC05tyf t5HH2r3BqtDrR28kaEpiXANZtiDok3aECLl9bUdzQyUHO7s5wQblZbfxOT+YOj5Q4jcz9QlOICJu LDoFzKXWhkC7Svf9CIJgu62VPaPK3OjEm8qjiNRUwKGrijVReJk7fCI62JJjjEKUKFp+gNGM8Vdx 81ZYnXTXlSObyPzRgthKz89JorD9j0Dbj/pwJhPNUra7aNm9DGcV5NtBj06ahZTvqqVkiS7B1ZJJ KEJgoRxPcZdhkx1r/Kipf/1OVUTsYU1AW3vqiaBjnWu4+oxIw2SKCau9uPmvlQfjyQp5qB+eOPVv LzYi2AUPxw3LgAu5QYkNLKHxb31E60+Z/l3/GpGcBksIvy8OsYIJ+gLNaeAV0tpliSCBmhze6B14 IuU7VMQOF+Iv8HwfnqNY7u83LBAS/xpDPuE1E4E3jIpbv8Y8TknDrpnbvPw95AP9aJiV+qwNNcX4 kTLThRYen7tGS1OZ3/qjapSP4/6Z1X2VfOdPb3zDnQ9mbN3Ft2V6BifCI/uvxJMx8TFoKCpwvMgU Ca5EipMgAADrwUHtN1atx+3iRbJAzsOTi/CD7HIha5/pkSEhsPd+NhKk6A7FhYSjt0Rl61FfKc6r MR/bJoK28JTRcrA9wlOGQSxBhLfcMUTENnK59AqfR1L7BrRH0syv6o8+ptV6uKn3SJLb11EHqupu a77BY56UqSQ5QGnl9c4MEMC7cJ+Wsej1YOlRiMXRntbEfLDv+2yuPO8awWu+p4wZKPKU7vqS2ewr XEf1FkLBEiqj79RBkfFbVbXHxtebnQ9seKwfCjNd9hOY054SNVlYiNQzdTWZo4YYrEZAlj20NNSs SY3PVcflbFajbgHX55YnQgjQWhYY+t8KAMATBsYzXkKzTuKgytu6gPJNbGErd0gQ7appuN+3hgEm LrBVK04wTWVW4ggUlIor92pPDe9SYsgCThNyovzJsL6zP8/dVID3eTe9A+99XwHfixymsM0p0YqH c8Lv33IFK2mMn6vrLl8Sv2Ruje+ZOHxaxqkNpwGQTu2mBEDN1uwRM2gfxpqVD+KhP5RhrRHRPqxX AXv5a53BUNdouO9aiJJdMsjmLMjgiidnXgg7VjIpRHdb1QaSSB8/G98jGcujt4b6jWcMfYXabgT5 0zP6v7fERzmYTz54FJr/4Hsw10V8kMGi3RnC2ik8r7dsMdPzQjHFHylZr1U+W1yi1beyQP6gKewX JZn38ryHRfjujT46UMNb/+kGQePQrZWDY85wGziijxZcVQSiiT+ynJMLfUC1R5H3g8GWsr1RRoX/ 3YUSZwbP/BEWsOBxMbIOw1ZDG6sqty20LthbY9wRlYQ9SoOOHUT4wdvx2bYLahqUZQf88GBBCfXE +YoNmzalW6TCMK4ILBrik4XUQkUnprLgWXaOmlEt1eFiyIhm7xCBv56ie02BUQqBxYIfALdagMb7 97nj7Oi4Etg4seGMkKIeF/PLcQh40f0XJQGTwTiJG4HLOYr58SqPw1ixDmJJBY+6s11FQAVfWQT/ rhYiL23lgB9CBFs7XM11QX1EoeoalEvlRWdIZD/XwC0toL3hUEJ1ufmr1YRUplrShXXUjVY7YKBl rHGWjM0bSZqenXGJivJF43j3YOu0BkAOgRuPO1UZ3jTtz0h91GZxq6QBNoT2wMv8Wpt7EQflrCsL FWxW92MBDP/JnxcOXrcMDVLHaCBuF5I7yjK3D8wRFq2en7yIke5QL/ZQGHZonqtlg1FcE4UH1Nbs rwBQVOoQtZMPM5meb3Lvrv7is4LddKbSpEBOQ6VMTieyMXiWqaDKOGtTPaxgaUvGrKc6buHM4jUG 87Rly3vm6WRLZqoc/u08+Ya+f0IER6VQHQaE/2jpu3NhtSWioPE0ahaYN/E3cKEJRrU/RvzDQnPA xu9x0ZXX3CJQQOdSB7fSFea44Ub/JkfO8/zyYkursJNKfJ4cFBeIDp38yxRGnQymvQ2ZVKPFEX1d ya1sQvagQ9vJaEDIgB5XUTAiWLH6XC+9YM5e1pPnKAi5y1azsXv7BbUNJFDT1d67b+IOVq7QAIT6 gkHuA9W6vVLx0mww/RfbOfUq4Pv6xuHzq1DCrsvfkh0XhZjY7V2uclg8H2zKP2hhqlvMG1LDMwH3 2Y5zf/soVHBSL4OSav14KFS3C6uoTL3eXN/MPjccvSnAqMsYJST+CAleBnyNWjUjB7REAwGm60FB DoH3S/q7+BFyxi+DTM/zb7W5zcaEillohVTVZKX6fVZAAezgkMbQUDVedDD9p6eQ8yBMvQqYzm+y iVrcOITiEBYmZWLxK1FAy+h/7fVyvSHc/20ccXncQxF7eNXreibHdN6osrWybsr4SNPmDDKSiTr0 TQf29i5BiprBBOfHtwmlHBNrDo7nOYKa3zeQ98eUOcTwDeyTqL9hfkAg/0e7oAZj74BMEeaHhPSq SdndOvegHMN2+es8a6/7RR7zG+aK3CxCaDUZfZtmHlGbHgqYX9dlZ7OqdMEVlb7mYmJNK/vWmJqy 1XWTtgxurbY8US1aT2jBAFHzDA0W4Lm3scgmx/BK8CslpbHv4Abh9fztaL8iNyAWR3aAeVoePGlI lFGQj4y9jydITxJVwx/SXIDNEEXEnsdGRQc0STvCogqBVADcgRRJEEDzb8ZAvJxDgevmgIuL20/Q Zw5TP0CHEppJ9vb56z4yL3fq5SRdhtfFpLdwzswdWSOMjdwqNxVl8LwYzqw6tgRNr3OF/TAjnEA5 9gDhnwuOMuH4g1TtXeQvxo+yFeaVnvRf1ZsRiHUgCdJU09fWGfH2qA2t/odXfDjBisIl0NMq4Il/ Xgp5Oy7EGi3yhY7uvnPcXqHjG8Fh/xKoRjJ/VlwIRuIMhNcT7idi6Y/hS5JGr0n4S2ff8/Eta+/7 m70Y24nQ+IzUsM8M1s3qtCaLDZNqw4H8wFSDNvn5jPXc/nYYS6EaljpimFxbekvL0gvaHssE4RWz voM0aaSSRmB3v/S8w0xRJ58w/99/Mwm993IFrD97c/d3HOiCW0SQxTtfogMPa883xGMZk78F4oQy W/rz9leIdY+kvnqKrb9UiI7ljroWy7uOBxVbTdoNfXSlKHJb48AJ9rr4QQVVHJMf+K63mjrN4kJ0 thqzFhlWcFIOeyf2uQrR96K3oYxZktAJm74SxVQF1nHVC1scTeUuS/T8hlmEerM9lFVhmrrzPPqi io1809bEMzfHo/oHHn50OCEmjxblbD9ATsyUgg/CngBBhIDCvjNA40KkEqyk3SFy1h75yL3c94oP TFg+XCdjT8GefoeDC2WJ25flsiyqxd7IPTLpD+KmdJQTrigwlbQNjpOb97uZm6+9l6nuduUiqMIY nqhGeyOjeMokZF/ejn+NKNeo6p2OEnxCDL+1pXnEP60II6NCy5YHSn0siV2nbq3PPAUeAnuf9YqS UgX/yAnVJvzltCChYkBVB1G77uo+jRxWWTwQgIs64L4YoRMemDGAJj2ykTS1Pu08wkrq7KmfjSrW XAyp2MW82g94OGQ93Kzz4ytGszldnNp6zapIsmaRZQxdC0dPECp2L5BKAzj+ocfcnduU+2FIiyL2 6acYSFYyy7Z42md4BPBImZzzx4cXVf+Eb6ZTYAOpHVIs6UHXAqKgeW+J0SDOB8odReCODJBhJzHf yRqppYysggZ6L6QgCZSiAVi7Eg1j0dCweq+15jj7WTP0hcTyqGrvgeVt5Cmv+rADk5iziTIevq3k gsBAP9Mub1lsgPj6xf3OS9VuAHlEKRnIpyX0aOzfDOfL4IDX9W4FGvrY5k0Z/PGzmQiMzAFl/Zl/ Vm2dAQ7EdcL04OkxXJcNwr5va59HCmHHUfpoVI8TDHpQeBfy/u/9D2xBjiSoo4kVFqf0kQlu4Qhm ecAF7rkkpokASEmYhfGfF2RzGG3WzJq1n/AAjmTTrZsxpUY2ioMPE75Mf+e5h27yvTBOu3uD+Go4 uOohWo2xdZEnjJC6DAoJxrBeAEMY3a/9Agr4a8XssvxFYBAz1HSMEx18UMP+vf/z8MeeZ8NwzLEi Ip9V0eSn25nj3xH3cBFbVbDjRX0YMIB8DUmu8f0cw8zQi7iHI1IlAEcWEQn5KTnJ2+vY3hJ4Qw1l gysOXUEBizUre+9U5xu/2+dgR7lCxoNf+397U6gA0kdMyAekgqsbnItY/8abgL1fh5okgdq76ci9 lfP44aCTBdhy2+eOm2HT4Zvfv4G5965clPK1UYSAwt1dZhhFZqeLKmEawIQy+uiOU1xMGnQC/Xq2 PRjw+YCc5Hy1i+bCD+EH2YFxjfdKlmHx2wK8w/PnOJeSYmAod3mIqEKFC/bWVFCUB/untKC5KNDI opn+Uh0l/PVdFHyS/il1ny4cJPwjTHGTuYR1emZQlzwtXUpCNRtLmNe/L0r3fqxfvtzUFboNLyKa hgAC5d4mRupb6XRkPpmv+N5UUwICp3Xo8B+RBgO6bL/csGEVEFoZNA/LpREYFNR4ZPEZdw0jwWlA dajfV1h4jSSAKJ8YKzRKX0CKO0ViOIqECfTSplgkTwOvjmSV8dWZEr6it10ZSlH0xwfBKNHxyqpc wfPv3EcivuSjKd0Chp+RuOqwgL4HLPF7QaniEZ1zQdjwfAerzy0Bjs+HZ+g8NQrgJsBdpaVfEfRy kkb5yMzxk2mGoxSVbuqvj7AEtOCQcsCk0fZPjAzrdLYIEPPUAg28i/T8u/5vCiQpLy/sApcjSiku R8HxGLufYBANdFyKJCyI5iA0AcVBh+QjCrAE0InKhyMjhf/2ohLaLWbMm+n+wMYycBHl87X3vPxH AmK9nZ14J+OAQ5TUsVEQimxp+eXmqCRnuDtkyzic8pA2HRmcM0iEDVmSoFMH/tF9g4CCJ/4ooDi2 4hXTprQ6T+JmqPcVkq8DwqG4phRZwdiAB+zAY2xmtmLD0eYZIbxJquGHC0vypVdk3IdcGt+Ejr2I Pgrs+H/k5CVv9/wQwjw3W5pVzLm6p1dBG2LnZvOBVPxe0PSUsLj01XDOqzStUbMgEsdoZab7D3C8 w9Q14qSAv4gMcIByyq6UMzV1K8usmqnNASCwTdXdGO9hosBbgGmcQ4U759ieBCWlLctGkForKRgr Wu1xnlcAWPxDjzY5ISYJ8J7fKycPrgN+RRieazcGyKVl6W6NDMmveZvHrd3JtAg0Bo+fF9QNZz6h pEpIKanjo73JiFVDIOxjA5eEi2NTXwSRwUgR/eHvrmxs4aESqKnprR4VlEF7uGQk6TaBNLWBmZeo tBkdOC02KuJVjk/BD28a0VWRqPESsu0grN78UGY+PywPluJRE+ptU0DgGBmD8os5Jr44oLlcjH6S cWAuaIOflRD7KPoTOeoomOyUnqNpLg40148v8Z61m5S1jwI55HOaAM2ymwtPhfLzRLxJU0tkE+vp P88+jjH2jA6ZY+AmAaZ8YIILYc1+e8SSocOMw4yLPFzENIUXvDAxPIj8zKlAsmbnaR1pr0G/PLOV fDesbWdVn+b9JNxdkRiYxreBdjDYITjfk4D/khFGi44NytFMuYVpo0Na6FmZc+leOfCTwdqYqLMU IZEFVsHhGcsUoVYttVcfMeunI4waddj6T2CxIz5J0yjptt5I2pAEEpAgU2BmCa40/gUA0EP+uwtA QpR5Qk4SUPi+CZZXDY5yELzQpQQmpLDkETdrBxp7vWJIibYbU6un1oXGdvqx7ZvLK1B4i+BoaEn7 fTHlaKBFevgJiKxhDb+3qqxwF10CC4Af9grUddAyoOu+vhrCCljLr2mxdBtSr9iBABYPZPFM+X0E YAy8KbHY483hdI/1xnH3W/4tbX5EACPoTRHlgcO+l7XfEMwztIvKZdjF/ovN3z0iQR1/2WN2ws0B XajNthRtR212YYfR7Dkgfx1ENKknFgqKIseBE3xQFN/uQnJOBW2NycsgS3SnF0IpuK/qEHx3LpU6 XqdmPeEP449RK5ltPTtQDhISxSePG9uuUeYxYuBVVf9hKo/cYkaTnxITvU2GjPKohObpSKl8Wu0X bCG1hNAXOflZ5eB8G/R8+VFBIiY80H+PXc4I1Hz6uoixhR1MuW1QXbDNEwIFfRuKyQsYk4ewW1KN PpheCoCxwtPMEr7Uv/jjJ+IoGHZyE7M1P71SBNnk5rgFjzibII6YwMbBLorxvySuqDN9qU3gbflB BVPJ0eWxccLcNrrBlSvhhu4hHG7GBjlB8BKT/gA1PxhmltSx8LrZT718MPq6ridt6RFHynHsnhMn JS/ejCiloguhhrVMQ8pwkpnLhfk1Vcg6sM8KJkiBHcUO/olGpWIFwZxKICZ7O2Uh4YbGkrdxDqY0 DVuNXbYEShdiwebTVAhhwOCCxkUV4BG9A8k2mALuTWWV5HabVRe+7zj1PCoeufVMfU778m2A351e UI/bnv6Hiwe6UXtIwxlwownLVIMRWR3wT8MFT4qat03pz953U3mg9niGL9wUKDjuoQy2Ed3f/4sK qay3TCB9BC3n92bh5pGvVORhaqSw9IjPGxM98LUqbzhvV/mnd+XlK0w/VlC3PkWe3LWICo/fbHoZ BzwwktVAfCx5sttDXM+qi5u6+mViOH6lhblKdw8KH0BxD+E69iWBFvtFwkAJq9anM7iTl2wWZNiW LBIeuQLpU0BRougU389aVRY7gPTs5hnnn9wOj2L8A4Su11YRO7yp3Udo0gneRUvH75+odZ/M9Qrf i1DX2kFY3RKimNF/XWLU2ckm28P/JecQEWhKZyhmpZ5BxEHZqUqrwa11chEwupubCPganF/hMmB1 2M+liA/rZ8R+LAf4HUPeGeCP6Gn8tu0Se7qQL93Q2WO8wUERENoRSND+849BDdrVHFNIixHKXQPS wUFlQWd9JIsBE0vs/HAYFF2CDt7vgU0wb/QW9ooKqkuECgH9vHLpL3mVRn0ZpNXVR+PiaJKrZf10 ztIAG7e/7AbccA/5lH7JlutZMGrAUyhaYL2ViH3LOBFNT/blM32l09kM9b6yEuzGZXmDG7zVeXnx e297PsPXBkbs4kch+kSIzRPzVNtFpv2M75MIaV7f5fU1aNJyfjdsMZ1iwxu7rdSwcnqRhrZy8ccR up84K2UF4R2JN1K7hbvROn68vSxantmWaa7kxMqa7UxD6MldGI67QybDk3eBJSqKjo9S/yo/BER8 r1qusDqvLC6siCzeq9M67FQnN5zi9/xSlBfwnUrF4fdKwy28/91Q1T9yUsv7YeY7UV3bGgnePAn6 5qTI3RNMDJiVFM/bg9/WaEd9Jee21og3HoYQ4TOnCJFyyqlc+1ZlXUOgy9WBrnCpjF5rpl222mHe e5Bh6D9uueYHHbNwP8/TAKn/HDjZSX0+ftEDSuDk7Yj6IB0/+/6L2NtJDjQAMJjHwIN+cgOCJQEe 8MaC3peMF0mv+4+qT3uDHzuGxRic2smuvWZYpU0HzUzYR0bDDvwcoGt3Bdr/hgNTb6vLW4bjmD8u BwWhfTb+zlpmonxPKbXqvo2GTQf1/RGo8nL2IefRpuZlaYmDYEcR0BcPOOOEYmZ1YmvgG4qamErq fFmkgzXPiU15mlk1bl5ijTzxyO1qHcl/4eNvECOqr2ubk5W1dNP8eFBeUO4dLVwhXRfP1lmd222/ dd3uucOX+R78NtvQ22wxqlAOunqc85iJt5k2TOTn+L5eliDU5xut3a6UFP032ZDdLp+/vmerZFpf i/88SRh9kTcUtDoGgkoZM6o+OFllmPmzSnk1xZ1bO1q9oXfdnb525CBL7yTvr5E/3y1qyCj/ukKo aJfmweGnp++r5Rfmaef3dXU/okiaC/5aXnPR1DyTum6gdbRkdOTi1o77w76TyWbg3XTL1LBd2IpQ qtj5IduRwjSdAWsbCxlr/siFBhcADULITT+JylqvBa7YAWKwJiQYKdkD4Fo4OOsdfc0sdpXysKwW sJnt7KsvPZCGV1b9Y9sUsAp8s48zgn/GIwzIfDjwomsLKubc+GHnE1i1DPfO74XaMrRPLotOIuxc 2YXcDuJnFQDWbwASs//+sNwDpGCN/b6xe/lwF4iId7jclN/RyKA6ZWS8tXTqUrYc2rPGrSOuuG64 ZzUOlHWbNwyIYGIEu2pONon07M2hLMfIN8OmjilZqpiFJQnUhTX+Jy82KAix9wYCOfLYIF436ZsP 3y3D9h8lXke21VaEiP42z2vdu6c+iazap1op1Hc7rP5sASk7G9x6ajY1aNW6+STh6i8xuYh55PcA v/GwZimIeDMTN2RpAbLMxZGaKD65w6YBHvPrbMxppjyfh0e4FXPhSxmvU5pmk09RtFva/3ZU26eW f9VdZywZHP4IdSkp4ffwRmmBlqPwrmr0zsUA7IRgGxqR6Fn+Un1dItraarXWTnFxO1IQn9b9A9bT fauXmvzZHLIMo5UMsodfhNdf+V5S1sa9oH58jpHU5pHcMptdXg4/X5/SCgGWOjD+cDOgqSKF0V+G m+FbI5qPeHvBp5vKEUxCx6n/O/5S7rCDlK7BcM1+Z1GMiwHDr0sTvFu7Ap8vo5qAFjbam/D+TGUn +9+NYde0VSwI43LlV64oHTcBWEhhlpq0pla0PzGRQWgNBcV+8XW7/pmrl0z8HnB9HPTTxFyZhs70 0vT/blQhKbgZWYqKPnkv0yDYXGlU4m1sGPv/tKmBVWAjwmiNxJoKcVEQsDuF0V+Ca2jSWTK+DTn4 ub3+eIVVjTm+7N11fjQ6foc5imYmz4uGSmiESwrrqEqfFNisRhfSANf5o/rrdhjR21jgev30OZ5R uSpsc1tCxftGQa5aLjCbWMLKyy/jLlFS/o76qesl+othw5cXJG6lMTEPzwuXeLmlcGREevxPZ5r/ Z7AteBdBKnRwatHS3ba2pQszmrvLhPROp//aZ7MjKRntnUR0Qqc4+ViWGa1XteUVfAJZ7PA8hSNm w1Tltv/0Yhk/HyLQDnJVj5n3P6vfb4jdGj+RL2pY3MLCv5N5xduzdz4vUQJ0LEqvT/wxk0879azy otX9sdMmVR+qLJ++4czwdUVdWS898+EB9EvH0k7vebSFXfBuVHKfDtNMhcHnkxO/Bsp7S5V0KxsO ACKJmQSBz3UL+iZtXpJK1pat67NaW2oeK8q80EYIP6WDcIDZxboZ/hvMDFka6XhSHxiA9BsW//5Y ghvgtrNRWPc+bb+KbQIszSNsv60XuuNti4Y1ypzVi/X0GfQY/p/JoJehV/0AvwicCRmxfjLRcLN2 VJiY19I7OmS+LhUyLK8r67np+JFmgEHueXnQ6LD32t/H9sdZOF4SgBFJCstYLm4LIIqKkV1U1dis +lrBtKymdXTGeNPm7qm5m/M58kcapnbfUqjOk0wXf7OV3x9Zzn7OEctLHEdgT6/dtyOUNIfwcpSy LsR01UOP1AbeFHvMFC+hvx1nrLEG1kxNG/SHtbhTY11+3ifdKqNs+1geipnBP14W1QXgNzbcw8SO bPO4zfSNG3wXCj31j4f1bZh8SXf9ddrHq5oqIumJ7syRnb39d3f5xqL8A8yl/3JZBbagXfvpaSxW ZsIh/UaM7Q3X/T4a4kAM+5oxKhHgo1VWsnru5uap9cNNpEmcrVoqJrdT9DqE61f9/ukuBcYxBzln SV1qKxySNDrex6NARJAbhR2maWx5eRU6zd2MzuPy+65375Y9dSwr+IR+TCT7vjwjzKFrQmKcTwOh xNc62vHJiKg1CeZ0/yWnjbFvk+G6mPqLNlyVZRfa9sgp9uj3q5kvZG7184Vr29qL9CC9HxjI6tM7 ZvyUg33xfxbUdYmz9YAmXf4uThvD931/bI6LqY7J3n0ErKNjcz5ux437KaL2RWl528+BdVx6p9k2 o0i2Iuu/+bWG+sjW3/+CWxtwY5hZWb+l7n2QVIjvyyGh7b1jVRzbSVh4J40H18pGDZxaTQXKMQ6e mRK4uud5KEsDv44Rg2RFBqRqDFeXU1peG7kdOYc6LDzSqYDRFoD2Th7HODLzDTvADzIpPGkx7fe1 JQdcobCr7kQ7b+TRbwQlmGoq5X0wUyOdrR5/Pk/c30B6JzZ/bYjzxVywOmoBYqYoki2cE8KeSuK3 hdx//4jmB4JC2tFRknRCKkMcWeibKcMj4GV6fDCKT0LxpjZBgXBItqhs97aFl+hSjuizocA/DBMy pg9EpmJFcTD/jUZV977XBN0GD1rx78+QTDIYlhIWCsaO8ddJkdCDTlCWft/I/lam94cGGA6H9E5f +4J2UDbyQhAc0vG3N0xEAkPe51x0rv8+9iYvrSxVDTEN/v/zg3P/w//wP/wP/8P/8D/8D//D//A/ /A//w//wP/x/jv8L9BCT9QCgAAA= From bsteers4 at gmail.com Sun Oct 22 11:30:27 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 22 Oct 2023 10:30:27 +0100 Subject: [Gambas-user] combobox scrolling In-Reply-To: References: Message-ID: On Sun, 22 Oct 2023, 10:02 BB, wrote: > Something seems to have gone awry here with using the mousewheel to > scroll the dropdown list in comboboxes. > > qt5ct says that the scroll lines is 1 but one little movement on the > wheel is scrolling more than a "pagedown" distance. > > I've tried the other guis but the same thing happens. > > demo attached, run it, click on the combo dropdown button and scroll the > list.... > > tia > > b > I have been noticing scroll seems excessive now on other things too. Just a little , but enough to notice. Last night I was scrolling the ide preview bar and it was going slightly more than 1 page each time making it harder to find stuff. Other things I've noticed scrolling going a little too far. Respects BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Sun Oct 22 11:34:57 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sun, 22 Oct 2023 11:34:57 +0200 Subject: [Gambas-user] combobox scrolling In-Reply-To: References: Message-ID: Le dim. 22 oct. 2023 ? 11:31, Bruce Steers a ?crit : > > > On Sun, 22 Oct 2023, 10:02 BB, wrote: > >> Something seems to have gone awry here with using the mousewheel to >> scroll the dropdown list in comboboxes. >> >> qt5ct says that the scroll lines is 1 but one little movement on the >> wheel is scrolling more than a "pagedown" distance. >> >> I've tried the other guis but the same thing happens. >> >> demo attached, run it, click on the combo dropdown button and scroll the >> list.... >> >> tia >> >> b >> > > I have been noticing scroll seems excessive now on other things too. > Just a little , but enough to notice. Last night I was scrolling the ide > preview bar and it was going slightly more than 1 page each time making it > harder to find stuff. > > Other things I've noticed scrolling going a little too far. > I think it comes from the new wheel management for high resolution mouse... > > Respects > BruceS > >> > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Sun Oct 22 18:13:42 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 22 Oct 2023 12:13:42 -0400 Subject: [Gambas-user] combobox scrolling In-Reply-To: References: Message-ID: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> On 10/22/23 05:01, BB wrote: > Something seems to have gone awry here with using the mousewheel to scroll the dropdown list in comboboxes. > > qt5ct says that the scroll lines is 1 but one little movement on the wheel is scrolling more than a "pagedown" distance. > > I've tried the other guis but the same thing happens. > > demo attached, run it, click on the combo dropdown button and scroll the list.... > > tia > > b It works as expected here. Scrolling one detent in the wheel changes the ComboBox value by only one list item. And, scrolling in the IDE preview bar scrolls the code by only 10 lines (other editors, eg. Kate, scroll by 3 lines). -- Lee Model: "Logitech M105 Optical Mouse" (it's probably quite old) [System] Gambas=3.18.4 07c51f51 (stable) OperatingSystem=Linux Distribution=openSUSE Leap 15.5 Kernel=5.14.21-150500.55.31-default Architecture=x86_64 Cores=6 Memory=15981M Language=en_US.UTF-8 Desktop=KDE DesktopResolution=96 DesktopScale=7 WidgetTheme=breeze Font=Noto Sans,10 From gradobag at gradobag.it Sun Oct 22 18:36:44 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sun, 22 Oct 2023 18:36:44 +0200 Subject: [Gambas-user] TextLabel malfunction? Message-ID: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> Hi, why if I use this code(*) does it only work with QT applications? (lamp.png is present in Data folder) Regards Gianluigi (*) Public Sub Form_Open() ? Dim hTextLabel As TextLabel ? With hTextLabel = New TextLabel(Me) ??? .Alignment = Align.Center ??? .H = 32 ??? .W = 32 ??? .X = 100 ??? .Y = 50 ??? .Text = "" ? End With End From bsteers4 at gmail.com Sun Oct 22 22:45:57 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 22 Oct 2023 21:45:57 +0100 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> Message-ID: Luck maybe. According to the wiki is not a valid richtext markup https://gambaswiki.org/wiki/doc/richtext BruceS On Sun, 22 Oct 2023 at 17:37, Gianluigi wrote: > Hi, > > why if I use this code(*) does it only work with QT applications? > (lamp.png is present in Data folder) > > Regards > Gianluigi > > (*) > Public Sub Form_Open() > > Dim hTextLabel As TextLabel > > With hTextLabel = New TextLabel(Me) > .Alignment = Align.Center > .H = 32 > .W = 32 > .X = 100 > .Y = 50 > .Text = "" > End With > > End > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Sun Oct 22 23:09:09 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Sun, 22 Oct 2023 23:09:09 +0200 (CEST) Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> Message-ID: The TAG works regularly using QT. Gianluigi is right. I too have always noticed that optimal results with HTML TAGs are obtained using QT. 22 ott 2023, 22:47 da bsteers4 at gmail.com: > Luck maybe. > > According to the wiki is not a valid richtext markup > > https://gambaswiki.org/wiki/doc/richtext > > BruceS > > On Sun, 22 Oct 2023 at 17:37, Gianluigi <> gradobag at gradobag.it> > wrote: > >> Hi, >> >> why if I use this code(*) does it only work with QT applications? >> (lamp.png is present in Data folder) >> >> Regards >> Gianluigi >> >> (*) >> Public Sub Form_Open() >> >> ?? Dim hTextLabel As TextLabel >> >> ?? With hTextLabel = New TextLabel(Me) >> ???? .Alignment = Align.Center >> ???? .H = 32 >> ???? .W = 32 >> ???? .X = 100 >> ???? .Y = 50 >> ???? .Text = "" >> ?? End With >> >> End >> >> >> ----[ >> http://gambaswiki.org/wiki/doc/netiquette>> ]---- >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Mon Oct 23 00:21:17 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 23 Oct 2023 00:21:17 +0200 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> Message-ID: Il 22/10/23 23:09, vuott--- via User ha scritto: > > The TAG works regularly using QT. > > Gianluigi is right. I too have always noticed that optimal results > with HTML TAGs are obtained using QT. Rich text supports images: https://en.wikipedia.org/wiki/Rich_Text_Format#Pictures Gambas3 only supports them with QT libraries, it would be nice if it also supported them with GTK Regards Gianluigi From benoit.minisini at gambas-basic.org Mon Oct 23 03:04:11 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Mon, 23 Oct 2023 03:04:11 +0200 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> Message-ID: <311a4cb5-1e56-4f1d-af3f-d2ee62f91702@gambas-basic.org> Le 23/10/2023 ? 00:21, Gianluigi a ?crit?: > Il 22/10/23 23:09, vuott--- via User ha scritto: >> >> The TAG works regularly using QT. >> >> Gianluigi is right. I too have always noticed that optimal results >> with HTML TAGs are obtained using QT. > > Rich text supports images: > https://en.wikipedia.org/wiki/Rich_Text_Format#Pictures > Gambas3 only supports them with QT libraries, it would be nice if it > also supported them with GTK > > Regards > Gianluigi > Gambas Rich Text is not "rich text". It supports only what is specified in the wiki. The fact that Qt supports more should not be taken into account. That can disappear without notice! Instead, it's better to use the HtmlView control from 'gb.form.htmlview' for complex cases. Regards, -- Beno?t Minisini. From adamnt42 at gmail.com Mon Oct 23 10:18:25 2023 From: adamnt42 at gmail.com (BB) Date: Mon, 23 Oct 2023 18:48:25 +1030 Subject: [Gambas-user] combobox scrolling In-Reply-To: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> Message-ID: On 23/10/23 2:43 am, T Lee Davidson wrote: > On 10/22/23 05:01, BB wrote: >> Something seems to have gone awry here with using the mousewheel to >> scroll the dropdown list in comboboxes. >> >> qt5ct says that the scroll lines is 1 but one little movement on the >> wheel is scrolling more than a "pagedown" distance. >> >> I've tried the other guis but the same thing happens. >> >> demo attached, run it, click on the combo dropdown button and scroll >> the list.... >> >> tia >> >> b > > It works as expected here. Scrolling one detent in the wheel changes > the ComboBox value by only one list item. And, scrolling in the IDE > preview bar scrolls the code by only 10 lines (other editors, eg. > Kate, scroll by 3 lines). > > I forgot to state, this is with the most recent commits. b From gambas.fr at gmail.com Mon Oct 23 10:24:35 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 23 Oct 2023 10:24:35 +0200 Subject: [Gambas-user] combobox scrolling In-Reply-To: References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> Message-ID: I have the same issue, But I can't find from where come the problem. If I scroll on the sidebar all go fine ... but, on the list area, the list move directly from the start to the end. Le lun. 23 oct. 2023 ? 10:19, BB a ?crit : > > On 23/10/23 2:43 am, T Lee Davidson wrote: > > On 10/22/23 05:01, BB wrote: > >> Something seems to have gone awry here with using the mousewheel to > >> scroll the dropdown list in comboboxes. > >> > >> qt5ct says that the scroll lines is 1 but one little movement on the > >> wheel is scrolling more than a "pagedown" distance. > >> > >> I've tried the other guis but the same thing happens. > >> > >> demo attached, run it, click on the combo dropdown button and scroll > >> the list.... > >> > >> tia > >> > >> b > > > > It works as expected here. Scrolling one detent in the wheel changes > > the ComboBox value by only one list item. And, scrolling in the IDE > > preview bar scrolls the code by only 10 lines (other editors, eg. > > Kate, scroll by 3 lines). > > > > > I forgot to state, this is with the most recent commits. > > b > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Mon Oct 23 10:48:59 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 23 Oct 2023 10:48:59 +0200 Subject: [Gambas-user] combobox scrolling In-Reply-To: References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> Message-ID: I think the problem come from ScrollArea D = Desktop.Scale * 60 If Mouse.Orientation = Mouse.Horizontal Or If $H <= $hDrawingArea.H Then Scroll($iScrollX - Mouse.Delta * D, $iScrollY) Else Scroll($iScrollX, $iScrollY - Mouse.Delta * D) Endif and for me Print Desktop.Scale * 60 give 420 because Scale return 7 Benoit ? :-) -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Mon Oct 23 11:03:24 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 23 Oct 2023 11:03:24 +0200 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: <311a4cb5-1e56-4f1d-af3f-d2ee62f91702@gambas-basic.org> References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> <311a4cb5-1e56-4f1d-af3f-d2ee62f91702@gambas-basic.org> Message-ID: Il 23/10/23 03:04, Beno?t Minisini ha scritto: > Le 23/10/2023 ? 00:21, Gianluigi a ?crit?: >> Il 22/10/23 23:09, vuott--- via User ha scritto: >>> >>> The TAG works regularly using QT. >>> >>> Gianluigi is right. I too have always noticed that optimal results >>> with HTML TAGs are obtained using QT. >> >> Rich text supports images: >> https://en.wikipedia.org/wiki/Rich_Text_Format#Pictures >> Gambas3 only supports them with QT libraries, it would be nice if it >> also supported them with GTK >> >> Regards >> Gianluigi >> > > Gambas Rich Text is not "rich text". It supports only what is > specified in the wiki. > > The fact that Qt supports more should not be taken into account. That > can disappear without notice! > > Instead, it's better to use the HtmlView control from > 'gb.form.htmlview' for complex cases. > > Regards, > Hi Benoit, sorry for the late response. Thank you very much for the clarification, I will change my code. Regards Gianluigi From bsteers4 at gmail.com Mon Oct 23 11:28:05 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 23 Oct 2023 10:28:05 +0100 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> Message-ID: On Sun, 22 Oct 2023, 23:22 Gianluigi, wrote: > Il 22/10/23 23:09, vuott--- via User ha scritto: > > > > The TAG works regularly using QT. > > > > Gianluigi is right. I too have always noticed that optimal results > > with HTML TAGs are obtained using QT. > > Rich text supports images: > https://en.wikipedia.org/wiki/Rich_Text_Format#Pictures > Gambas3 only supports them with QT libraries, it would be nice if it > also supported them with GTK > > Regards > Gianluigi > Gambas richtext does not support all richtext tags The link to the gambas wiki I posted tells the valid/supported gambas richtext markups. Regards Regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Mon Oct 23 14:33:30 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 23 Oct 2023 14:33:30 +0200 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> Message-ID: Il 23/10/23 11:28, Bruce Steers ha scritto: > Gambas richtext does not support all richtext tags > The link to the gambas wiki I posted tells the valid/supported gambas > richtext markups. > > Regards Hi Bruce yes, but the Gambas wiki is not always updated. Now Benoit has clarified the matter (no pictures!). Thanks and regads Gianluigi From gambas.fr at gmail.com Mon Oct 23 14:51:43 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 23 Oct 2023 14:51:43 +0200 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> Message-ID: Le lun. 23 oct. 2023 ? 14:34, Gianluigi a ?crit : > Il 23/10/23 11:28, Bruce Steers ha scritto: > > Gambas richtext does not support all richtext tags > > The link to the gambas wiki I posted tells the valid/supported gambas > > richtext markups. > > > > Regards > > Hi Bruce > > yes, but the Gambas wiki is not always updated. > > Now Benoit has clarified the matter (no pictures!). > or use the texthtml > > Thanks and regads > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Mon Oct 23 16:16:16 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 23 Oct 2023 16:16:16 +0200 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> Message-ID: <8afa763f-b324-4355-9f57-5d6d6eefe2c6@gradobag.it> Il 23/10/23 14:51, Fabien Bodard ha scritto: > or use the texthtml ??? Regards Gianluigi From gradobag at gradobag.it Mon Oct 23 16:42:03 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 23 Oct 2023 16:42:03 +0200 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: <8afa763f-b324-4355-9f57-5d6d6eefe2c6@gradobag.it> References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> <8afa763f-b324-4355-9f57-5d6d6eefe2c6@gradobag.it> Message-ID: <8c45dfb7-9893-4e38-af16-debbc245cb9a@gradobag.it> Il 23/10/23 16:16, Gianluigi ha scritto: > Il 23/10/23 14:51, Fabien Bodard ha scritto: >> or use the texthtml > > ??? > > Regards > > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Fabien, Do you mean you are creating a new label that supports html code? Let's hope! :-D Regards Gianluigi From gambas.fr at gmail.com Mon Oct 23 16:48:55 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 23 Oct 2023 16:48:55 +0200 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: <8c45dfb7-9893-4e38-af16-debbc245cb9a@gradobag.it> References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> <8afa763f-b324-4355-9f57-5d6d6eefe2c6@gradobag.it> <8c45dfb7-9893-4e38-af16-debbc245cb9a@gradobag.it> Message-ID: Le lun. 23 oct. 2023 ? 16:43, Gianluigi a ?crit : > Il 23/10/23 16:16, Gianluigi ha scritto: > > Il 23/10/23 14:51, Fabien Bodard ha scritto: > >> or use the texthtml > > > > ??? > > > > Regards > > > > Gianluigi > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi Fabien, > > Do you mean you are creating a new label that supports html code? > ?... No ... The name for that is a web broswer. And so you have it : texthtml. But it's too heavy for just displaying a label. It depend of what you need. This widget is the one used for displaying the doc in the ide > Let's hope! :-D > > Regards > > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Mon Oct 23 17:35:27 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 23 Oct 2023 17:35:27 +0200 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> <8afa763f-b324-4355-9f57-5d6d6eefe2c6@gradobag.it> <8c45dfb7-9893-4e38-af16-debbc245cb9a@gradobag.it> Message-ID: Il 23/10/23 16:48, Fabien Bodard ha scritto: > > > Le lun. 23 oct. 2023 ? 16:43, Gianluigi a ?crit?: > > Il 23/10/23 16:16, Gianluigi ha scritto: > > Il 23/10/23 14:51, Fabien Bodard ha scritto: > >> or use the texthtml > > > > ??? > > > > Regards > > > > Gianluigi > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi Fabien, > > Do you mean you are creating a new label that supports html code? > > > ?... No ... The name for that is a web broswer. And so you have it : > texthtml. > > But it's too heavy for just displaying a label. > > It depend of what you need. This widget is the one used for displaying > the doc in the ide > > > Let's hope! :-D > > Regards > > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Fabien, I'll explain the genesis. It all started from the fact that we were discussing on 'Containers' with Prof. Hans. On the Gambas-one forum I saw this post: https://forum.gambas.one/viewtopic.php?t=1618 and I got this simple and quick code (see attached project), which however only works with QTs and how says Benoit 'today it works but tomorrow who knows', would it be so difficult to make the TextLabels (gtk and qt) support images? Of course I am aware that the same thing can be done in other ways. Thanks and regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- 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 +gcfAKAAAA== From gambas.fr at gmail.com Mon Oct 23 19:45:25 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 23 Oct 2023 19:45:25 +0200 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> <8afa763f-b324-4355-9f57-5d6d6eefe2c6@gradobag.it> <8c45dfb7-9893-4e38-af16-debbc245cb9a@gradobag.it> Message-ID: Replace them by a picturebox ! Le lun. 23 oct. 2023 ? 17:36, Gianluigi a ?crit : > Il 23/10/23 16:48, Fabien Bodard ha scritto: > > > > Le lun. 23 oct. 2023 ? 16:43, Gianluigi a ?crit : > >> Il 23/10/23 16:16, Gianluigi ha scritto: >> > Il 23/10/23 14:51, Fabien Bodard ha scritto: >> >> or use the texthtml >> > >> > ??? >> > >> > Regards >> > >> > Gianluigi >> > >> > >> > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> >> Hi Fabien, >> >> Do you mean you are creating a new label that supports html code? >> > > ?... No ... The name for that is a web broswer. And so you have it : > texthtml. > > But it's too heavy for just displaying a label. > > It depend of what you need. This widget is the one used for displaying the > doc in the ide > > >> Let's hope! :-D >> >> Regards >> >> Gianluigi >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi Fabien, > I'll explain the genesis. > It all started from the fact that we were discussing on 'Containers' with > Prof. Hans. > On the Gambas-one forum I saw this post: > https://forum.gambas.one/viewtopic.php?t=1618 and I got this simple and > quick code (see attached project), which however only works with QTs and > how says Benoit 'today it works but tomorrow who knows', would it be so > difficult to make the TextLabels (gtk and qt) support images? Of course I > am aware that the same thing can be done in other ways. > > Thanks and regards > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Mon Oct 23 19:51:42 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Mon, 23 Oct 2023 19:51:42 +0200 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> <8afa763f-b324-4355-9f57-5d6d6eefe2c6@gradobag.it> <8c45dfb7-9893-4e38-af16-debbc245cb9a@gradobag.it> Message-ID: <1615964a-7615-46f8-be93-f6237a851322@gambas-basic.org> Le 23/10/2023 ? 19:45, Fabien Bodard a ?crit?: > > Hi Fabien, > I'll explain the genesis. > It all started from the fact that we were discussing on 'Containers' > with Prof. Hans. > On the Gambas-one forum I saw this post: > https://forum.gambas.one/viewtopic.php?t=1618 > and I got this > simple and quick code (see attached project), which however only > works with QTs and how says Benoit 'today it works but tomorrow who > knows', would it be so difficult to make the TextLabels (gtk and qt) > support images? Of course I am aware that the same thing can be done > in other ways. > > Thanks and regards > Gianluigi > What I already told Fabien is that as soon as you start to want to put images in a Label with HTML syntax, you actually need the HtmlView. Because there a lot of thing to do to support images with the HTML syntax. Regards, -- Beno?t Minisini. From gradobag at gradobag.it Mon Oct 23 22:34:42 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 23 Oct 2023 22:34:42 +0200 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> <8afa763f-b324-4355-9f57-5d6d6eefe2c6@gradobag.it> <8c45dfb7-9893-4e38-af16-debbc245cb9a@gradobag.it> Message-ID: <44c99d7c-4b72-4c8c-a2cc-0565f1382b21@gradobag.it> Il 23/10/23 19:45, Fabien Bodard ha scritto: > Replace them by a picturebox ! I was doing it, but my wife interrupted me to watch a movie on Netflix with her :-) I thank you Regards Gianluigi From gradobag at gradobag.it Mon Oct 23 22:38:13 2023 From: gradobag at gradobag.it (Gianluigi) Date: Mon, 23 Oct 2023 22:38:13 +0200 Subject: [Gambas-user] TextLabel malfunction? In-Reply-To: <1615964a-7615-46f8-be93-f6237a851322@gambas-basic.org> References: <14e2e4bb-b819-4cb0-ae0e-dc290760a542@gradobag.it> <8afa763f-b324-4355-9f57-5d6d6eefe2c6@gradobag.it> <8c45dfb7-9893-4e38-af16-debbc245cb9a@gradobag.it> <1615964a-7615-46f8-be93-f6237a851322@gambas-basic.org> Message-ID: Il 23/10/23 19:51, Beno?t Minisini ha scritto: > What I already told Fabien is that as soon as you start to want to put > images in a Label with HTML syntax, you actually need the HtmlView. > > Because there a lot of thing to do to support images with the HTML > syntax. Hi Benoit, thank you for the reply and i exclaim: patience! I wish you a good night Gianluigi From mbelmonte at belmotek.net Tue Oct 24 11:25:45 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Tue, 24 Oct 2023 11:25:45 +0200 Subject: [Gambas-user] Dynamic web page data extraction. Message-ID: <9e894ed9-56ca-4844-99ec-2526e00dc1eb@belmotek.net> Hi, I trying to extract information from a web page, its is a dynamic one so the "HttpClient" class not offer all the info that a browser or WebView1 control offer. The info that I want to extract (songs play list) is in the "Accesibility" tab in the Source code web viewer (please see the attached picture) I try to read the documentation for Webview control but its don't exist, I get only the text "This symbol does not exist." I'm not sure which is the optimal way to do the job (dynamic web scraping) so if someone can provide an example that would be great or also some guidance to know which components and classes to use at least. Thanks. Mart?n. -------------- next part -------------- A non-text attachment was scrubbed... Name: 23-10-24_10-38-20.png Type: image/png Size: 63941 bytes Desc: not available URL: From gambas.fr at gmail.com Tue Oct 24 11:28:11 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Tue, 24 Oct 2023 11:28:11 +0200 Subject: [Gambas-user] Dynamic web page data extraction. In-Reply-To: <9e894ed9-56ca-4844-99ec-2526e00dc1eb@belmotek.net> References: <9e894ed9-56ca-4844-99ec-2526e00dc1eb@belmotek.net> Message-ID: To be able to see you are talking about, can you send me the http adress... at least in private ? Le mar. 24 oct. 2023 ? 11:23, Mart?n a ?crit : > Hi, > > I trying to extract information from a web page, its is a dynamic one so > the "HttpClient" class not offer all the info that a browser or WebView1 > control offer. > > The info that I want to extract (songs play list) is in the > "Accesibility" tab in the Source code web viewer (please see the > attached picture) > > I try to read the documentation for Webview control but its don't exist, > I get only the text "This symbol does not exist." > > I'm not sure which is the optimal way to do the job (dynamic web > scraping) so if someone can provide an example that would be great or > also some guidance to know which components and classes to use at least. > > Thanks. > > Mart?n. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Tue Oct 24 11:48:36 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Tue, 24 Oct 2023 11:48:36 +0200 Subject: [Gambas-user] Dynamic web page data extraction. In-Reply-To: References: <9e894ed9-56ca-4844-99ec-2526e00dc1eb@belmotek.net> Message-ID: <05f2ec42-edc4-4031-a30b-f71dce768299@belmotek.net> El 24/10/23 a las 11:28, Fabien Bodard escribi?: > To be able to see you are talking about, can you send me the http > adress... at least in private ? No, is a public radio station: This is the playlist for the 2023/10/22 at 10 am https://archiv.rabe.ch/2023/10/22;time=100000 Regards From gambas.fr at gmail.com Tue Oct 24 15:10:40 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Tue, 24 Oct 2023 15:10:40 +0200 Subject: [Gambas-user] Dynamic web page data extraction. In-Reply-To: <05f2ec42-edc4-4031-a30b-f71dce768299@belmotek.net> References: <9e894ed9-56ca-4844-99ec-2526e00dc1eb@belmotek.net> <05f2ec42-edc4-4031-a30b-f71dce768299@belmotek.net> Message-ID: https://archiv.rabe.ch/api/tracks?broadcast_id=34520&sort=started_at&page%5Bsize%5D=500 https://archiv.rabe.ch/api/shows?since=2022-01-01&sort=-last_broadcast_at&page%5Bsize%5D=100 Maybe a better idea will be to use their api directly ? Le mar. 24 oct. 2023 ? 11:46, Mart?n a ?crit : > El 24/10/23 a las 11:28, Fabien Bodard escribi?: > > To be able to see you are talking about, can you send me the http > > adress... at least in private ? > > No, is a public radio station: > > This is the playlist for the 2023/10/22 at 10 am > > https://archiv.rabe.ch/2023/10/22;time=100000 > > Regards > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Tue Oct 24 15:58:07 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 24 Oct 2023 15:58:07 +0200 Subject: [Gambas-user] Dynamic web page data extraction. In-Reply-To: <9e894ed9-56ca-4844-99ec-2526e00dc1eb@belmotek.net> References: <9e894ed9-56ca-4844-99ec-2526e00dc1eb@belmotek.net> Message-ID: <5ea15483-9eb7-4092-a47b-3d7ce7317527@gambas-basic.org> Le 24/10/2023 ? 11:25, Mart?n a ?crit?: > Hi, > > I trying to extract information from a web page, its is a dynamic one so > the "HttpClient" class not offer all the info that a browser or WebView1 > control offer. > I see no reason for that. The HttpClient returns you the entire response of your request (contents and headers), so which information could display the browser that is not inside that response? -- Beno?t Minisini. From roberto.premoli at tiscali.it Tue Oct 24 15:35:31 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Tue, 24 Oct 2023 15:35:31 +0200 Subject: [Gambas-user] program return error value 1 Message-ID: Hello all igot a new conputer with he follow: distro: devuan 5.0 "Dedalus" (the current stable) linux: Linux AM 6.1.0-13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.55-1 (2023-09-29) x86_64 GNU/Linux gambas: 3.18.0 I create FROM ZERO (i choose QT) a demo program. How the programm works: there are one label and 2 buttons: press button 1 => label1.text = "hello word" press button 2 => label1.text = "happy birtday" no more, very easy demo program When I try to run it, it return "error 1" and it does not run. I tried also "compile" and "compile all" berore run, no success. Really I dont know what i did wrong: i change nothing in configuration, i change nothing in Fmain attributes, the only bold attribute are height and width (both = 448). I only created label, 2 buttons an place code into button as follow: Public Sub Button1_Click() Label1.Text = "hello world!" End Public Sub Button2_Click() Label1.Text = "happy birtday!" End I attached here the demo program if someone want to investigate and find my error. Thanks, Roberto -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: pippo.7z Type: application/x-7z-compressed Size: 12740 bytes Desc: not available URL: From brian at westwoodsvcs.com Tue Oct 24 16:26:27 2023 From: brian at westwoodsvcs.com (Brian G) Date: Tue, 24 Oct 2023 07:26:27 -0700 (PDT) Subject: [Gambas-user] New experimental highlighting component In-Reply-To: <68e039f1-870f-49d7-b713-18da4868836b@servinfo.it> References: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> <68e039f1-870f-49d7-b713-18da4868836b@servinfo.it> Message-ID: <173965883.32022.1698157587760.JavaMail.zimbra@westwoodsvcs.com> Hi Benoit, Will the toconsole function remain the same as the gambas highlight, or will it be moved to the new file based implementation. I wonder of the compilation of the highlight definition files will be cached after the initial compilation. for subsequent use. This is really a great thing, I have also wanted to create custom highlighting for some of my projects. "Failure is the key to success; each mistake teaches us something" .. Morihei Ueshiba Brian G ----- On Oct 20, 2023, at 1:20 AM, Marco Ancillotti gambas at servinfo.it wrote: > Il 20/10/23 02:42, Beno?t Minisini ha scritto: >> I recently committed a new component named 'gb.highlight' that aims at >> replacing the current 'gb.eval.highlight' component. > > Really good piece of software. > I have all my sql on separate file on every gambas project ( I have a > function that load that at runtime ) as > I found more friendly to view/edit/maintain having them on a flat file > instead of a lots of "blabla" & ... on code. > > I dream of a day when my .sql file that I edit directly on gambas have > syntax highlight :-D > >> But I wanted to make it public as soon as possible to have people's >> comments, and because I am relatively proud of it. :-) > > You really have to ! > > bye, > marco. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From benoit.minisini at gambas-basic.org Tue Oct 24 16:38:45 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 24 Oct 2023 16:38:45 +0200 Subject: [Gambas-user] New experimental highlighting component In-Reply-To: <173965883.32022.1698157587760.JavaMail.zimbra@westwoodsvcs.com> References: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> <68e039f1-870f-49d7-b713-18da4868836b@servinfo.it> <173965883.32022.1698157587760.JavaMail.zimbra@westwoodsvcs.com> Message-ID: <0fcac628-fc20-4d53-bafc-9a3c7a4941b6@gambas-basic.org> Le 24/10/2023 ? 16:26, Brian G a ?crit?: > > Hi Benoit, > > Will the toconsole function remain the same as the gambas highlight, or will it be moved to the new file based implementation. It will remain the same, except that there are some enhancements in the new highlighting that will need some code modifications. For example, there is now support for highlighting recursivity (javascript inside a string inside javascript inside HTML) up to four levels that is indicated with a gray background. > > I wonder of the compilation of the highlight definition files will be cached after the initial compilation. for subsequent use. The highlight definition is compiled once at each program start (the first time it is needed). The delay should be barely noticeable. > > This is really a great thing, I have also wanted to create custom highlighting for some of my projects. > You can already try the alpha code and create your own highlighting if you want to test. Regards, -- Beno?t Minisini. From gambas.fr at gmail.com Tue Oct 24 16:42:06 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Tue, 24 Oct 2023 16:42:06 +0200 Subject: [Gambas-user] Dynamic web page data extraction. In-Reply-To: <5ea15483-9eb7-4092-a47b-3d7ce7317527@gambas-basic.org> References: <9e894ed9-56ca-4844-99ec-2526e00dc1eb@belmotek.net> <5ea15483-9eb7-4092-a47b-3d7ce7317527@gambas-basic.org> Message-ID: Le mar. 24 oct. 2023 ? 15:59, Beno?t Minisini < benoit.minisini at gambas-basic.org> a ?crit : > Le 24/10/2023 ? 11:25, Mart?n a ?crit : > > Hi, > > > > I trying to extract information from a web page, its is a dynamic one so > > the "HttpClient" class not offer all the info that a browser or WebView1 > > control offer. > > > > I see no reason for that. The HttpClient returns you the entire response > of your request (contents and headers), so which information could > display the browser that is not inside that response? Script sub request and post filling.. that's why I suggest to directly use the provided web api in place of trying the extraction from the final webpage.. Its a wast of time.. no ? ? -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbelmonte at belmotek.net Tue Oct 24 20:46:11 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Tue, 24 Oct 2023 20:46:11 +0200 Subject: [Gambas-user] Dynamic web page data extraction. In-Reply-To: References: <9e894ed9-56ca-4844-99ec-2526e00dc1eb@belmotek.net> <05f2ec42-edc4-4031-a30b-f71dce768299@belmotek.net> Message-ID: <40c3d539-1b75-4bd3-9c06-528b0edbc2a5@belmotek.net> El 24/10/23 a las 15:10, Fabien Bodard escribi?: > Maybe a better idea will be to use their?api directly ? Yes, very good idea. With this API it will be possible to obtain the data in json format and easily manage it with gambas3. Also thanks to your help a while ago in improving the json encoder and making it easier to read it by humans. Thanks. Martin. From t.lee.davidson at gmail.com Tue Oct 24 22:15:01 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 24 Oct 2023 16:15:01 -0400 Subject: [Gambas-user] program return error value 1 In-Reply-To: References: Message-ID: <24b66723-d5e1-4dd3-8aa9-ff5558f85e70@gmail.com> On 10/24/23 09:35, roberto.premoli at tiscali.it wrote: > Hello all > igot a new conputer with he follow: > distro: devuan 5.0 "Dedalus" (the current stable) > linux: Linux AM 6.1.0-13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.55-1 (2023-09-29) x86_64 GNU/Linux > gambas: 3.18.0 > I create FROM ZERO (i choose QT) a demo program. > How the programm works: > there are one label and 2 buttons: > ?press button 1 => label1.text = "hello word" > ?press button 2 => label1.text = "happy birtday" > no more, very easy demo program > When I try to run it, it return "error 1" and it does not run. > I tried also "compile" and "compile all" berore run, no success. > Really I dont know what i did wrong: i change nothing in configuration, i change nothing in Fmain attributes, the only bold > attribute are height and width (both = 448). > I only created label, 2 buttons an place code into button as follow: > Public Sub Button1_Click() > ? Label1.Text = "hello world!" > End > > Public Sub Button2_Click() > ? Label1.Text = "happy birtday!" > End > > I attached here the demo program if someone want to investigate and find my error. > Thanks, > ?Roberto It works fine here with v3.18.4; no error. Where are you seeing "error 1"? In the IDE console, or on the command line when executing the compiled project? Perhaps your Gambas installation is corrupted. By the way, when attaching archive files, please use "zip", "tar.gz" or the "gmail.txt" formats[1]. Gambas does not recognize the "7-zip" format. You can make a "tar.gz" archive easily right within Gambas: In the menu, Project > Make source archive. -- Lee [1] https://gambaswiki.org/wiki/howto/opengmailtxt From gradobag at gradobag.it Wed Oct 25 11:01:07 2023 From: gradobag at gradobag.it (Gianluigi) Date: Wed, 25 Oct 2023 11:01:07 +0200 Subject: [Gambas-user] program return error value 1 In-Reply-To: <24b66723-d5e1-4dd3-8aa9-ff5558f85e70@gmail.com> References: <24b66723-d5e1-4dd3-8aa9-ff5558f85e70@gmail.com> Message-ID: <23f5c250-e84f-410a-a31e-2e32446c8fcf@gradobag.it> Il 24/10/23 22:15, T Lee Davidson ha scritto: > On 10/24/23 09:35, roberto.premoli at tiscali.it wrote: >> Hello all >> igot a new conputer with he follow: >> distro: devuan 5.0 "Dedalus" (the current stable) >> ... > > It works fine here with v3.18.4; no error. > > Where are you seeing "error 1"? In the IDE console, or on the command > line when executing the compiled project? > > Perhaps your Gambas installation is corrupted. > > By the way, when attaching archive files, please use "zip", "tar.gz" > or the "gmail.txt" formats[1]. Gambas does not recognize the "7-zip" > format. You can make a "tar.gz" archive easily right within Gambas: In > the menu, Project > Make source archive. +1 Why don't you compile Gambas3 stable to the latest version (3.18.4)? First you need to eliminate Gambas3.18.0 from the system. Second open a terminal and update (sudo apt upgrade). Since version 5 is based on Debian 12, continue by issuing these commands: To install the libraries (also includes git) the command is: sudo apt install -y build-essential g++ automake autoconf libbz2-dev libzstd-dev default-libmysqlclient-dev unixodbc-dev libpq-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-glib-dev libpoppler-private-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses5-dev libgmime-3.0-dev libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.0-dev git libssl-dev This command copies the stable version to the gambastable folder in your home: git clone --branch stable --depth=1 https://gitlab.com/gambas/gambas.git gambastable This is to move to the folder: cd gambastable Continue with these other commands: ./reconf-all && ./configure -C and these (the second command is given as superuser and may ask for the password again, its output is in English): make && LANG="C" sudo make install If you end up getting some error, you report it here and it responds... Benoit :-D Regards Gianluigi From t.lee.davidson at gmail.com Wed Oct 25 14:34:46 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 25 Oct 2023 08:34:46 -0400 Subject: [Gambas-user] program return error value 1 In-Reply-To: <23f5c250-e84f-410a-a31e-2e32446c8fcf@gradobag.it> References: <24b66723-d5e1-4dd3-8aa9-ff5558f85e70@gmail.com> <23f5c250-e84f-410a-a31e-2e32446c8fcf@gradobag.it> Message-ID: <87a54e06-a83f-41ac-a7e9-f1f45ba6fa27@gmail.com> Good step-by-step instructions, Gianluigi. There is one issue though. On 10/25/23 05:01, Gianluigi wrote: > ./reconf-all?&&?./configure?-C The Wiki, for Debian 12 (Bookworm) says the Configure command should be: ./configure -C --disable-keyring --disable-sqlite2 --disable-qt4 I have done this with Debian 12 in a VM, and it works well with no issues. -- Lee From roberto.premoli at tiscali.it Wed Oct 25 14:58:13 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Wed, 25 Oct 2023 14:58:13 +0200 Subject: [Gambas-user] program return error value 1 In-Reply-To: <24b66723-d5e1-4dd3-8aa9-ff5558f85e70@gmail.com> References: <24b66723-d5e1-4dd3-8aa9-ff5558f85e70@gmail.com> Message-ID: Il 24.10.2023 22:15 T Lee Davidson ha scritto: > On 10/24/23 09:35, roberto.premoli at tiscali.it [1]wrote: > >> Hello all igot a new conputer with he follow: distro: devuan 5.0 >> "Dedalus" (the current stable) linux: Linux AM 6.1.0-13-amd64 #1 SMP >> PREEMPT_DYNAMIC Debian 6.1.55-1 (2023-09-29) x86_64 GNU/Linux >> gambas: >> 3.18.0 I create FROM ZERO (i choose QT) a demo program. How the >> programm works: there are one label and 2 buttons: press button 1 => >> label1.text = "hello word" press button 2 => label1.text = "happy >> birtday" no more, very easy demo program When I try to run it, it >> return "error 1" and it does not run. I tried also "compile" and >> "compile all" berore run, no success. Really I dont know what i did >> wrong: i change nothing in configuration, i change nothing in Fmain >> attributes, the only bold attribute are height and width (both = >> 448). >> I only created label, 2 buttons an place code into button as follow: >> Public Sub Button1_Click() Label1.Text = "hello world!" End Public >> Sub >> Button2_Click() Label1.Text = "happy birtday!" End I attached here >> the >> demo program if someone want to investigate and find my error. >> Thanks, >> Roberto > > It works fine here with v3.18.4; no error. > > Where are you seeing "error 1"? In the IDE console, or on the command > line when executing the compiled project? the error appear in IDE, in low right corner. It has background blue. > Perhaps your Gambas installation is corrupted. no, it works. to verify it,I downloaded from example the program "test" and run it. it works. it is a simple window with a button, more or less the same i did. well: it works. then I open another instance of gambas with the big program i want to move on 3.18.0 and i just copy from my program all graphic elements (button, panel, label, ecc) and paste into "test" program. Then i did the same about the code (just copy-and-paste) then i run it and it works! IT seem that the "bad magic" trigger when i CREATE a new project or port the directory of old project onto the new PC. There is no problem if i download that "test" program from gambas's example and move is folder into home and modify it adding elements, code, ecc. I also thought there are some problems about rights on file, but is not, i modified all the ownership of file and all off them belongs to new owner that use it... i am so confused... for sure the problem is in something that i do, but really I don't understand where the matter is :-((( I can use this trick to download a test program and modify it as i said below, but it is just a workaround... > By the way, when attaching archive files, please use "zip", "tar.gz" > or > the "gmail.txt" formats[1]. Gambas does not recognize > the "7-zip" format. You can make a "tar.gz" archive easily right > within > Gambas: In the menu, Project > Make source archive. > Ok i will do next time. From jussi.lahtinen at gmail.com Wed Oct 25 15:06:13 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Wed, 25 Oct 2023 16:06:13 +0300 Subject: [Gambas-user] program return error value 1 In-Reply-To: References: Message-ID: IDE --> Project --> Compile All Then try again. Otherwise the problem might be in the Qt or in the Gambas installation. Successfully running something proves nothing. Try to run the unit test. Jussi On Tue, Oct 24, 2023 at 5:03?PM wrote: > Hello all > igot a new conputer with he follow: > distro: devuan 5.0 "Dedalus" (the current stable) > linux: Linux AM 6.1.0-13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.55-1 > (2023-09-29) x86_64 GNU/Linux > gambas: 3.18.0 > I create FROM ZERO (i choose QT) a demo program. > How the programm works: > there are one label and 2 buttons: > press button 1 => label1.text = "hello word" > press button 2 => label1.text = "happy birtday" > no more, very easy demo program > When I try to run it, it return "error 1" and it does not run. > I tried also "compile" and "compile all" berore run, no success. > Really I dont know what i did wrong: i change nothing in configuration, i > change nothing in Fmain attributes, the only bold attribute are height and > width (both = 448). > I only created label, 2 buttons an place code into button as follow: > Public Sub Button1_Click() > Label1.Text = "hello world!" > End > > Public Sub Button2_Click() > Label1.Text = "happy birtday!" > End > > I attached here the demo program if someone want to investigate and find > my error. > Thanks, > Roberto > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Wed Oct 25 16:47:33 2023 From: gradobag at gradobag.it (Gianluigi) Date: Wed, 25 Oct 2023 16:47:33 +0200 Subject: [Gambas-user] program return error value 1 In-Reply-To: <87a54e06-a83f-41ac-a7e9-f1f45ba6fa27@gmail.com> References: <24b66723-d5e1-4dd3-8aa9-ff5558f85e70@gmail.com> <23f5c250-e84f-410a-a31e-2e32446c8fcf@gradobag.it> <87a54e06-a83f-41ac-a7e9-f1f45ba6fa27@gmail.com> Message-ID: <80df3c2b-2dd7-483c-afc4-8ca2a034764d@gradobag.it> Il 25/10/23 14:34, T Lee Davidson ha scritto: > The Wiki, for Debian 12 (Bookworm) says the Configure command should be: > ./configure -C --disable-keyring --disable-sqlite2 --disable-qt4 > > I have done this with Debian 12 in a VM, and it works well with no > issues. You're right, that's correct, but I like seeing all the things that aren't installed :-D Regards Gianluigi From gradobag at gradobag.it Wed Oct 25 16:54:58 2023 From: gradobag at gradobag.it (Gianluigi) Date: Wed, 25 Oct 2023 16:54:58 +0200 Subject: [Gambas-user] program return error value 1 In-Reply-To: References: Message-ID: Il 25/10/23 15:06, Jussi Lahtinen ha scritto: > IDE --> Project --> Compile All > Then try again. Otherwise the problem might be in the Qt or in the > Gambas installation. Successfully running something proves nothing. > Try to run the unit test. > > Jussi +1 Right I apologize for not thinking of this right away (and wasting so much time replying). I never imagined that such a simple test could be imported. Regards Gianluigi From adamnt42 at gmail.com Thu Oct 26 08:00:09 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 26 Oct 2023 16:30:09 +1030 Subject: [Gambas-user] combobox scrolling In-Reply-To: References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> Message-ID: <991cf49c-8e15-a47a-6c42-a58acd74818f@gmail.com> On 23/10/23 7:18 pm, Fabien Bodard wrote: > I think the problem come from ScrollArea > > ? D = Desktop.Scale * 60 > ? If Mouse.Orientation = Mouse.Horizontal Or If $H <= $hDrawingArea.H Then > ? ? Scroll($iScrollX - Mouse.Delta * D, $iScrollY) > ? Else > ? ? Scroll($iScrollX, $iScrollY - Mouse.Delta * D) > ? Endif > > > > and for me > Print Desktop.Scale * 60 give 420 because Scale return?7 > > Benoit ? :-) > > > > -- > Fabien Bodard > @Fabien Where is that code, I can't find it (and I agree D is too big for vertical scrolling) b -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Oct 26 10:58:37 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 26 Oct 2023 09:58:37 +0100 Subject: [Gambas-user] combobox scrolling In-Reply-To: <991cf49c-8e15-a47a-6c42-a58acd74818f@gmail.com> References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> <991cf49c-8e15-a47a-6c42-a58acd74818f@gmail.com> Message-ID: On Thu, 26 Oct 2023 at 07:01, BB wrote: > > On 23/10/23 7:18 pm, Fabien Bodard wrote: > > I think the problem come from ScrollArea > > D = Desktop.Scale * 60 > If Mouse.Orientation = Mouse.Horizontal Or If $H <= $hDrawingArea.H Then > Scroll($iScrollX - Mouse.Delta * D, $iScrollY) > Else > Scroll($iScrollX, $iScrollY - Mouse.Delta * D) > Endif > > > > and for me > Print Desktop.Scale * 60 give 420 because Scale return 7 > > Benoit ? :-) > > > > -- > Fabien Bodard > > @Fabien > > Where is that code, I can't find it (and I agree D is too big for vertical > scrolling) > > b > I think it's in ScrollArea.class line 751 https://gitlab.com/gambas/gambas/-/blob/master/comp/src/gb.gui.base/.src/ScrollArea.class?ref_type=heads#L751 Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Oct 26 11:05:07 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 26 Oct 2023 10:05:07 +0100 Subject: [Gambas-user] combobox scrolling In-Reply-To: <991cf49c-8e15-a47a-6c42-a58acd74818f@gmail.com> References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> <991cf49c-8e15-a47a-6c42-a58acd74818f@gmail.com> Message-ID: On Thu, 26 Oct 2023 at 07:01, BB wrote: > > On 23/10/23 7:18 pm, Fabien Bodard wrote: > > I think the problem come from ScrollArea > > D = Desktop.Scale * 60 > If Mouse.Orientation = Mouse.Horizontal Or If $H <= $hDrawingArea.H Then > Scroll($iScrollX - Mouse.Delta * D, $iScrollY) > Else > Scroll($iScrollX, $iScrollY - Mouse.Delta * D) > Endif > > > > and for me > Print Desktop.Scale * 60 give 420 because Scale return 7 > > Benoit ? :-) > > > > -- > Fabien Bodard > > @Fabien > > Where is that code, I can't find it (and I agree D is too big for vertical > scrolling) > > b > I have a funny feeling the following is happening.... Scrolling scrolls a whole page but for example when scrolling the Properties list in the IDE a page is considered the whole height of the window. not taking into account the visible control or help panels. I think this is my problem when scrolling through code. if the console panel is visible the scroll goes too far as the console panel is not taken into account. when the console window is hidden the it scrolls a page just fine. but if console is visible it scrolls too much. It's just a suspicion, i could be wrong. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Thu Oct 26 11:23:43 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 26 Oct 2023 11:23:43 +0200 Subject: [Gambas-user] combobox scrolling In-Reply-To: References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> <991cf49c-8e15-a47a-6c42-a58acd74818f@gmail.com> Message-ID: > > I have a funny feeling the following is happening.... > > Scrolling scrolls a whole page but for example when scrolling the > Properties list in the IDE a page is considered the whole height of the > window. not taking into account the visible control or help panels. > > I think this is my problem when scrolling through code. if the console > panel is visible the scroll goes too far as the console panel is not taken > into account. when the console window is hidden the it scrolls a page just > fine. but if console is visible it scrolls too much. > > It's just a suspicion, i could be wrong. > You are ? wrong Just the scroll move is a static value for all elements based on scrollarea . I have put a ticket on gambas bugtracker. So now I'm waiting to Benoit answer. > Respects > BruceS > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Thu Oct 26 11:42:02 2023 From: adamnt42 at gmail.com (BB) Date: Thu, 26 Oct 2023 20:12:02 +1030 Subject: [Gambas-user] combobox scrolling In-Reply-To: References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> <991cf49c-8e15-a47a-6c42-a58acd74818f@gmail.com> Message-ID: <7580c3be-b2b8-6a8e-82da-06cdd4c7afe6@gmail.com> Aha! It was that evil Frenchman about a week ago. ListBox: Add Highlight property to highlight the listbox entry under the mouse cursor. [GB.GUI.BASE] * NEW: ListBox: Add Highlight property to highlight the listbox entry under the mouse cursor. * NEW: Helper function for the future 'Window.ShowPopupAt()' method. * NEW: ScrollArea: The mouse wheel now scroll a number of pixels proportional to 'Desktop.Scale'. On 26/10/23 7:53 pm, Fabien Bodard wrote: > > > > > I have a funny feeling the following is happening.... > > Scrolling scrolls a whole page but for example when scrolling the > Properties list in the IDE a page is considered the whole height > of the window.? not taking into account the visible control or > help panels. > > I think this is my problem when scrolling through code.? if the > console panel is visible the scroll goes too far as the console > panel is not taken into account.? when the console window is > hidden the it scrolls a page just fine. but if console is visible > it scrolls too much. > > It's just a suspicion, i could be wrong. > > > You are ? wrong > > Just the scroll move is a static value for all elements based on > scrollarea . > > I have put a ticket on gambas bugtracker. > > So now I'm waiting to Benoit answer. > > > > > Respects > BruceS > > > ----[ http://gambaswiki.org/wiki/doc/netiquette > ]---- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Selection_005.png Type: image/png Size: 106620 bytes Desc: not available URL: From gambas.fr at gmail.com Thu Oct 26 12:26:34 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 26 Oct 2023 12:26:34 +0200 Subject: [Gambas-user] combobox scrolling In-Reply-To: <7580c3be-b2b8-6a8e-82da-06cdd4c7afe6@gmail.com> References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> <991cf49c-8e15-a47a-6c42-a58acd74818f@gmail.com> <7580c3be-b2b8-6a8e-82da-06cdd4c7afe6@gmail.com> Message-ID: Yes Le jeu. 26 oct. 2023 ? 11:43, BB a ?crit : > > Aha! It was that evil Frenchman about a week ago. > ListBox: Add Highlight property to highlight the listbox entry under the > mouse cursor. > > [GB.GUI.BASE] > * NEW: ListBox: Add Highlight property to highlight the listbox entry under the mouse cursor. > * NEW: Helper function for the future 'Window.ShowPopupAt()' method.* NEW: ScrollArea: The mouse wheel now scroll a number of pixels proportional to 'Desktop.Scale'. > > > > On 26/10/23 7:53 pm, Fabien Bodard wrote: > > > > >> >> I have a funny feeling the following is happening.... >> >> Scrolling scrolls a whole page but for example when scrolling the >> Properties list in the IDE a page is considered the whole height of the >> window. not taking into account the visible control or help panels. >> >> I think this is my problem when scrolling through code. if the console >> panel is visible the scroll goes too far as the console panel is not taken >> into account. when the console window is hidden the it scrolls a page just >> fine. but if console is visible it scrolls too much. >> >> It's just a suspicion, i could be wrong. >> > > You are ? wrong > > Just the scroll move is a static value for all elements based on > scrollarea . > > I have put a ticket on gambas bugtracker. > > So now I'm waiting to Benoit answer. > > > > >> Respects >> BruceS >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Thu Oct 26 12:32:13 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 26 Oct 2023 11:32:13 +0100 Subject: [Gambas-user] combobox scrolling In-Reply-To: References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> <991cf49c-8e15-a47a-6c42-a58acd74818f@gmail.com> Message-ID: On Thu, 26 Oct 2023, 10:24 Fabien Bodard, wrote: > > > >> >> I have a funny feeling the following is happening.... >> >> Scrolling scrolls a whole page but for example when scrolling the >> Properties list in the IDE a page is considered the whole height of the >> window. not taking into account the visible control or help panels. >> >> I think this is my problem when scrolling through code. if the console >> panel is visible the scroll goes too far as the console panel is not taken >> into account. when the console window is hidden the it scrolls a page just >> fine. but if console is visible it scrolls too much. >> >> It's just a suspicion, i could be wrong. >> > > You are ? wrong > > Just the scroll move is a static value for all elements based on > scrollarea . > > I have put a ticket on gambas bugtracker. > > So now I'm waiting to Benoit answer. > Aah yes that makes sense. I think I've noticed this issue since I stopped using my 1080p monitor and am now just using my 720p laptop. A fixed scroll distance just doesn't cut the mustard on 1024x768 screen. Respects. BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Fri Oct 27 13:54:21 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 27 Oct 2023 12:54:21 +0100 Subject: [Gambas-user] combobox scrolling In-Reply-To: References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> <991cf49c-8e15-a47a-6c42-a58acd74818f@gmail.com> <7580c3be-b2b8-6a8e-82da-06cdd4c7afe6@gmail.com> Message-ID: On Thu, 26 Oct 2023 at 11:27, Fabien Bodard wrote: > Yes > > Le jeu. 26 oct. 2023 ? 11:43, BB a ?crit : > >> >> Aha! It was that evil Frenchman about a week ago. >> ListBox: Add Highlight property to highlight the listbox entry under the >> mouse cursor. >> >> [GB.GUI.BASE] >> * NEW: ListBox: Add Highlight property to highlight the listbox entry under the mouse cursor. >> * NEW: Helper function for the future 'Window.ShowPopupAt()' method.* NEW: ScrollArea: The mouse wheel now scroll a number of pixels proportional to 'Desktop.Scale'. >> >> I'm trying this code in the ScrollArea.class DrawingArea_MouseWheel() event... D = Max(Me.Font.Size, $hDrawingArea.ClientH - (Me.Font.Size * 4)) It's working a treat :) I subtracted "- (Me.Font.Size * 4)" from ClientH so it scrolls a little less than a full page. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Fri Oct 27 15:32:35 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 27 Oct 2023 15:32:35 +0200 Subject: [Gambas-user] combobox scrolling In-Reply-To: References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> <991cf49c-8e15-a47a-6c42-a58acd74818f@gmail.com> <7580c3be-b2b8-6a8e-82da-06cdd4c7afe6@gmail.com> Message-ID: Le ven. 27 oct. 2023 ? 13:55, Bruce Steers a ?crit : > > > On Thu, 26 Oct 2023 at 11:27, Fabien Bodard wrote: > >> Yes >> >> Le jeu. 26 oct. 2023 ? 11:43, BB a ?crit : >> >>> >>> Aha! It was that evil Frenchman about a week ago. >>> ListBox: Add Highlight property to highlight the listbox entry under the >>> mouse cursor. >>> >>> [GB.GUI.BASE] >>> * NEW: ListBox: Add Highlight property to highlight the listbox entry under the mouse cursor. >>> * NEW: Helper function for the future 'Window.ShowPopupAt()' method.* NEW: ScrollArea: The mouse wheel now scroll a number of pixels proportional to 'Desktop.Scale'. >>> >>> > I'm trying this code in the ScrollArea.class DrawingArea_MouseWheel() > event... > > D = Max(Me.Font.Size, $hDrawingArea.ClientH - (Me.Font.Size * 4)) > > It's working a treat :) > I subtracted "- (Me.Font.Size * 4)" from ClientH so it scrolls a little > less than a full page. > > Respects > BruceS > depend of your page :-) ... and of the desktop resolution > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Fri Oct 27 15:36:48 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Fri, 27 Oct 2023 15:36:48 +0200 Subject: [Gambas-user] combobox scrolling In-Reply-To: References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> <991cf49c-8e15-a47a-6c42-a58acd74818f@gmail.com> <7580c3be-b2b8-6a8e-82da-06cdd4c7afe6@gmail.com> Message-ID: Le 27/10/2023 ? 15:32, Fabien Bodard a ?crit?: > > > I'm trying this code in the ScrollArea.class > DrawingArea_MouseWheel() event... > > ? D = Max(Me.Font.Size, $hDrawingArea.ClientH - (Me.Font.Size * 4)) > > It's working a treat :) > I subtracted "- (Me.Font.Size * 4)" from ClientH so it scrolls a > little less than a full page. > > Respects > BruceS > > > depend of your page :-) ...? and of the desktop resolution > I think the solution is using the minimum value between Desktop.Scale * 60 and something like half of Client.Height (or Width depending on the scrolling direction). Regards, -- Beno?t Minisini. From gambas.fr at gmail.com Fri Oct 27 16:05:38 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 27 Oct 2023 16:05:38 +0200 Subject: [Gambas-user] combobox scrolling In-Reply-To: References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> <991cf49c-8e15-a47a-6c42-a58acd74818f@gmail.com> <7580c3be-b2b8-6a8e-82da-06cdd4c7afe6@gmail.com> Message-ID: Le ven. 27 oct. 2023 ? 15:37, Beno?t Minisini < benoit.minisini at gambas-basic.org> a ?crit : > Le 27/10/2023 ? 15:32, Fabien Bodard a ?crit : > > > > > > I'm trying this code in the ScrollArea.class > > DrawingArea_MouseWheel() event... > > > > D = Max(Me.Font.Size, $hDrawingArea.ClientH - (Me.Font.Size * 4)) > > > > It's working a treat :) > > I subtracted "- (Me.Font.Size * 4)" from ClientH so it scrolls a > > little less than a full page. > > > > Respects > > BruceS > > > > > > depend of your page :-) ... and of the desktop resolution > > > > I think the solution is using the minimum value between Desktop.Scale * > 60 and something like half of Client.Height (or Width depending on the > scrolling direction). > > Regards, > > I'm agree... but it not explain how it can work in mac world ... fixed 60 px ... on a list of 3 element ? > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Fri Oct 27 17:22:27 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 27 Oct 2023 17:22:27 +0200 Subject: [Gambas-user] Proof of concept Workspace Message-ID: This a small demo of what I want to see added to the workspace (well the design need some revamp) The idea is to be able to fly from one editor to another without the mouse, just like in your desktop. Feel free to say you think, and add suggestions. Best regards -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- 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 17361ksiCgeDXKIbpe/Wqk/uY9ryptcuy3C1ucT/468aq4yjE9KC/5oZ9eUX7pg25e71+yun7ge2 H4Ryoqu+rki+b7559cl3v7TnFO+fGft25Yv2v9JhK9+uL5jFpHLHYVet/Qf5tbF75Rn/CxXI3RBK q9uWcOzj3YTzkiWM0b/Mt7yW+s+5kIHDpT799+e10vUlljNXhb5bY7iDIVnz5uMfn1sPvrY4v/Nn cJ6NWZXLqufX64sn3vrbEsjAsuT/M+9vzPxbS779E3l82EKdeW2eidQVy333N5g3xj9+wxJ3esb+ T4faukM/CnsxCixoXPdte6PdgvVbiz8fnrH8RBkj346JXduW6l9au4d5AQNHTP31VRwXju1xyNRv 8DggwqDEGMzQweLDqCAE7CIhCRxnnHI/ANiAvpM843xfTzWDYiDDlJs/NLcrfW5ahq5pi+CGEqm9 GeaPp6pbTxN7PinNqJFpgcu2MpOX7Nqf52Eox20plQQ2RLznzYhofqx9axf7Y5k2Dx2Z+MQI5znJ Hb+fLfBtW1tcY/GssGPK3R+n7os8l3jE18CW0JpoyO+s4nOLjTz7ms6xldTc2GB3vNtUTnDmwo+l 6xcEv+TmYjjMJrvf/l23VEdLxh4G/mO2fHiHEDQ7/7MbTH0x5WvHyWjQQImnq5/LOqeEpgEcq6EF QIz/ZWSmpNBmHzDR+//g87/GRuaj8790AYj4T0wuycynXfyTNP9vbGw4uv+XLgBp/RdkvocGdhCa /zM0RNr/YQqOfxOz0fF/ugDI7B6XMiwdcBlwQab4uOAze9D5PNgsHvLcHfKM3eiM3CgYBaNgFIyC UTAKRsEoGAWjYBQMZgAAU4us5wBQAAA= From olivier.cruilles at yahoo.fr Fri Oct 27 21:09:12 2023 From: olivier.cruilles at yahoo.fr (Linus) Date: Fri, 27 Oct 2023 15:09:12 -0400 Subject: [Gambas-user] Proof of concept Workspace In-Reply-To: References: Message-ID: Fabien, Can you reminder me how to uncompress your attached file please ? Thank you Olivier Cruilles > Le 27 oct. 2023 ? 11:22, Fabien Bodard a ?crit : > > This a small demo of what I want to see added to the workspace (well the design need some revamp) > > The idea is to be able to fly from one editor to another without the mouse, just like in your desktop. > > Feel free to say you think, and add suggestions. > > > Best regards > > -- > Fabien Bodard -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: WSFabien-0.0.1.tar.gz.gmail.txt URL: -------------- next part -------------- > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From bsteers4 at gmail.com Fri Oct 27 21:29:58 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 27 Oct 2023 20:29:58 +0100 Subject: [Gambas-user] Proof of concept Workspace In-Reply-To: References: Message-ID: On Fri, 27 Oct 2023 at 20:10, Linus via User wrote: > Fabien, > > Can you reminder me how to uncompress your attached file please ? > > Thank you > > Olivier Cruilles > https://gambaswiki.org/wiki/howto/opengmailtxt -------------- next part -------------- An HTML attachment was scrubbed... URL: From olivier.cruilles at yahoo.fr Fri Oct 27 21:44:31 2023 From: olivier.cruilles at yahoo.fr (Linus) Date: Fri, 27 Oct 2023 15:44:31 -0400 Subject: [Gambas-user] Proof of concept Workspace In-Reply-To: References: Message-ID: Thank you Olivier Cruilles > Le 27 oct. 2023 ? 15:29, Bruce Steers a ?crit : > > > > On Fri, 27 Oct 2023 at 20:10, Linus via User > wrote: > Fabien, > > Can you reminder me how to uncompress your attached file please ? > > Thank you > > Olivier Cruilles > > https://gambaswiki.org/wiki/howto/opengmailtxt > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Fri Oct 27 23:37:01 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 27 Oct 2023 22:37:01 +0100 Subject: [Gambas-user] combobox scrolling In-Reply-To: References: <5b986ee8-8a33-484f-a897-b2de278b5d7c@gmail.com> <991cf49c-8e15-a47a-6c42-a58acd74818f@gmail.com> <7580c3be-b2b8-6a8e-82da-06cdd4c7afe6@gmail.com> Message-ID: On Fri, 27 Oct 2023 at 15:06, Fabien Bodard wrote: > > > Le ven. 27 oct. 2023 ? 15:37, Beno?t Minisini < > benoit.minisini at gambas-basic.org> a ?crit : > >> Le 27/10/2023 ? 15:32, Fabien Bodard a ?crit : >> > >> > >> > I'm trying this code in the ScrollArea.class >> > DrawingArea_MouseWheel() event... >> > >> > D = Max(Me.Font.Size, $hDrawingArea.ClientH - (Me.Font.Size * 4)) >> > >> > It's working a treat :) >> > I subtracted "- (Me.Font.Size * 4)" from ClientH so it scrolls a >> > little less than a full page. >> > >> > Respects >> > BruceS >> > >> > >> > depend of your page :-) ... and of the desktop resolution >> > >> >> I think the solution is using the minimum value between Desktop.Scale * >> 60 and something like half of Client.Height (or Width depending on the >> scrolling direction). >> >> Regards, >> >> > I'm agree... but it not explain how it can work in mac world ... fixed 60 > px ... on a list of 3 element ? > I think I'd generally just like it to scroll a little bit less than the visible page so i went with this in the end making it move 84% either way... If Mouse.Orientation = Mouse.Horizontal Or If $H <= $hDrawingArea.H Then D = Max(Desktop.Scale, $hDrawingArea.ClientW - ($hDrawingArea.ClientW / 6)) Scroll($iScrollX - Mouse.Delta * D, $iScrollY) Else D = Max(Desktop.Scale, $hDrawingArea.ClientH - ($hDrawingArea.ClientH / 6)) Scroll($iScrollX, $iScrollY - Mouse.Delta * D) Endif But that's just me ;) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sat Oct 28 04:23:12 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 28 Oct 2023 05:23:12 +0300 Subject: [Gambas-user] New experimental highlighting component In-Reply-To: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> References: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> Message-ID: It seems gb.form.editor is now compiled before gb.highlight, which creates conflict. IE gb.highlight component not found. Jussi On Fri, Oct 20, 2023 at 3:43?AM Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Hi, > > I recently committed a new component named 'gb.highlight' that aims at > replacing the current 'gb.eval.highlight' component. > > In that component, text highlighting is defined not by Gambas code, but > by a definition file. > > The definition file is transformed in a bunch of Gambas code compiled at > runtime that does the highlighting process. > > The definition file has a (relatively) simple syntax. > > For exemple, here is the HTML highlighting file: > > --8<-------------------------------- > doctype{Preprocessor}: > from > comment: > from > entity{Operator}: > match &[A-Za-z]+; > match &#[0-9]+; > markup{Function}: > match <[a-zA-Z0-9]+ to > > attribute{Datatype}: > match [a-zA-Z0-9-]+ > equal{Normal}: > symbol = > value{String}: > from " to " > from ' to ' > string.entity{Escape}: > match &[A-Za-z]+; > match &#[0-9]+; > value.unquoted{String}: > match [^"'`=<>\s]+ > markup.close{Function}: > match > --8<-------------------------------- > > Lines that ends with a ":" introduce a highlighting state. That state > has a name, and an associated color written between '{' and '}'. If > there is no explicit color, the state name is used, with the first > letter converted to uppercase. > > After a state, you have a "command" that define which text is associated > with that state. > > Here is the list of commands currently available: > > * from BEFORE to AFTER -> Everything between the BEFORE text and the > AFTER text limits included. > > * from BEFORE -> Everything from the BEFORE text until the end of the line. > > * between ... -> Like "from ...", but the BEFORE and AFTER limits keep > the state of the parent - it seems that the command does not really work > at the moment. > > * match REGEXP -> The text that matches the Perl regular expression. > > * match BEFORE to AFTER -> Everything between the BEFORE and AFTER > regular expressions. > > * symbol SYMBOL1 SYMBOL2 ... SYMBOLN -> To match symbols (usually > operators in a programming language). > > * word WORD1 WORD2 ... WORDN -> To match words (usually keywords in a > programming language). > > The commands must be indented with any number of spaces. > > After the commands, you can define other states. If these states keep > the same indent (same number of initial spaces) than the commands, then > these states are imbricated. They are checked only in the context of > their parent state. > > So indentation is important, it defines the imbrication level. > > If you have more than one command in a state, then each command is > checked with a logical 'or'. In other words, the state is identified by > any of the matching commands. > > Here is the javascript highlighting definition file: > > --8<--------------------------------------------------------------- > documentation: > from /** to */ > comment: > from /* to */ > from // > string: > from " to " > from ' to ' > escape: > match \\[ntrbf0'"\\] > sstring{String}: > from ` to ` > escape: > match \\[ntrbf0'"{\\] > subst{Preprocessor}: > between { } > regexp{Datatype}: > match /.*/[a-z]* > escape: > match \\? > number: > match [+-]?[0-9.]* > match 0x[0-9a-fA-F]* > keyword: > word break case catch class const continue debugger default delete do > else enum export extends finally for get if import in instanceof let new > return set super switch throw try typeof var void while with yield > function: > word function > constant: > word false null this true undefined NaN Infinity > operator: > symbol { } . >= + << ! = >>= ; == - >> ~ += >>>= ( , != * >>> && -= > &= ) < === % & || *= |= [ > !== ++ | ? %= ^= -- ^ : <<= ] <= / /= > identifier: > match [A-Za-z_$][A-Za-z_$0-9]* > --8<--------------------------------------------------------------- > > And that's all! > > Like in 'gb.eval.highlight', the API is the TextHighlighter class. At > the moment, only the TextHighlighter.ToHTML() method has been > implemented, and the method that creates an highlighter from a > definition file. > > At the moment, the color names are those found in highlighting theme > files located in the Gambas IDE source code. > > So to test, you do something like that: > > --8<--------------------------------------------------------------- > Dim hTextHighlighter As TextHighlighter > > hTextHighlighter = TextHighlighter.FromFile("html.highlight") > > File.Save("~/test.html", hTextHighlighter.ToHTML(File.Load("page.html"))) > --8<--------------------------------------------------------------- > > This is experimental, a lot of things must be done yet, or will change > for sure. > > But I wanted to make it public as soon as possible to have people's > comments, and because I am relatively proud of it. :-) > > Regards, > > -- > Beno?t Minisini. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sat Oct 28 10:00:03 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sat, 28 Oct 2023 10:00:03 +0200 Subject: [Gambas-user] New experimental highlighting component In-Reply-To: References: <8737686f-499f-426b-bfdc-73479643faca@gambas-basic.org> Message-ID: <48632c52-2785-4d56-86c4-41821466730c@gambas-basic.org> Le 28/10/2023 ? 04:23, Jussi Lahtinen a ?crit?: > It seems gb.form.editor is now compiled before gb.highlight, which > creates conflict. IE gb.highlight component not found. > > Jussi Indeed. It should be fixed now. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Sat Oct 28 10:06:31 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sat, 28 Oct 2023 10:06:31 +0200 Subject: [Gambas-user] New highlighting component (episode 2) Message-ID: <790d9e19-60a5-44e5-b815-1e72224c5ca1@gambas-basic.org> Hi, The old 'gb.eval.highlight' component has just been replaced by 'gb.highlight' in master, inside the 'gb.form.editor' component and in the IDE itself. As this is fresh code, you may encounter unexpected problems or crashes, so be careful, and report them as usual. - Only Gambas highlighting returns procedure limits at the moment. - The 'sh' highlighting has not been written yet. I waiting for Bruce Steers here :-). - I will write a documentation of the highlight definition file syntax as soon as possible. Enjoy it... or endure it! -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Sat Oct 28 10:09:02 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sat, 28 Oct 2023 10:09:02 +0200 Subject: [Gambas-user] New highlighting component (episode 2) In-Reply-To: <790d9e19-60a5-44e5-b815-1e72224c5ca1@gambas-basic.org> References: <790d9e19-60a5-44e5-b815-1e72224c5ca1@gambas-basic.org> Message-ID: Le 28/10/2023 ? 10:06, Beno?t Minisini a ?crit?: > Hi, > > The old 'gb.eval.highlight' component has just been replaced by > 'gb.highlight' in master, inside the 'gb.form.editor' component and in > the IDE itself. > > As this is fresh code, you may encounter unexpected problems or crashes, > so be careful, and report them as usual. > > - Only Gambas highlighting returns procedure limits at the moment. > > - The 'sh' highlighting has not been written yet. I waiting for Bruce > Steers here :-). > > - I will write a documentation of the highlight definition file syntax > as soon as possible. > ...mmm, and Webpage highlighting is still buggy. Beware with your project, the Webpage files will be corrupted. :-( -- Beno?t Minisini. From bsteers4 at gmail.com Sat Oct 28 14:19:18 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 28 Oct 2023 13:19:18 +0100 Subject: [Gambas-user] New highlighting component (episode 2) In-Reply-To: <790d9e19-60a5-44e5-b815-1e72224c5ca1@gambas-basic.org> References: <790d9e19-60a5-44e5-b815-1e72224c5ca1@gambas-basic.org> Message-ID: On Sat, 28 Oct 2023 at 09:07, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Hi, > > The old 'gb.eval.highlight' component has just been replaced by > 'gb.highlight' in master, inside the 'gb.form.editor' component and in > the IDE itself. > > As this is fresh code, you may encounter unexpected problems or crashes, > so be careful, and report them as usual. > > - Only Gambas highlighting returns procedure limits at the moment. > > - The 'sh' highlighting has not been written yet. I waiting for Bruce > Steers here :-). > I think i will have to fall on my sword here Ben. gambas i understand , regex I am clueless to, almost zero experience. I made a commit but i do not like it. it's buggy (see merge comments) And knowing so little about regex syntax i do not know if it's buggy because of me or not? Respects BruceS > - I will write a documentation of the highlight definition file syntax > as soon as possible. > > Enjoy it... or endure it! > > -- > Beno?t Minisini. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Sat Oct 28 18:00:40 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Sat, 28 Oct 2023 18:00:40 +0200 (CEST) Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library Message-ID: Hello, I have updated Gambas up to Master commit "685037ef". If I run the IDE with GTK3, the IDE editor does not open, and an error window appears warning: ? Cannot load highlighter 'c'. ? [gb.highlight].TextHighlighter.CreateCustomHighlighter.278: Cannot load ? component 'gb.highlight.c': cannot find library. ? [gb.highlight].TextHighlighter.Load.63 ? If I run the IDE with GT5, the IDE opens, the projects work, but I am not allowed to write in the editor. Regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Sat Oct 28 19:43:52 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sat, 28 Oct 2023 19:43:52 +0200 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: Message-ID: Same thing here. I've posted a ticket on bug tracker Le sam. 28 oct. 2023 ? 18:01, vuott--- via User a ?crit : > Hello, > I have updated Gambas up to Master commit "685037ef". > > If I run the IDE with GTK3, the IDE editor does not open, and an error > window appears warning: > ? Cannot load highlighter 'c'. > [gb.highlight].TextHighlighter.CreateCustomHighlighter.278: Cannot load > component 'gb.highlight.c': cannot find library. > [gb.highlight].TextHighlighter.Load.63 ? > > > If I run the IDE with GT5, the IDE opens, the projects work, but I am not > allowed to write in the editor. > > Regards > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat Oct 28 22:54:51 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 28 Oct 2023 21:54:51 +0100 Subject: [Gambas-user] New highlighting component (episode 2) In-Reply-To: References: <790d9e19-60a5-44e5-b815-1e72224c5ca1@gambas-basic.org> Message-ID: On Sat, 28 Oct 2023 at 13:19, Bruce Steers wrote: > > > On Sat, 28 Oct 2023 at 09:07, Beno?t Minisini < > benoit.minisini at gambas-basic.org> wrote: > >> Hi, >> >> The old 'gb.eval.highlight' component has just been replaced by >> 'gb.highlight' in master, inside the 'gb.form.editor' component and in >> the IDE itself. >> >> As this is fresh code, you may encounter unexpected problems or crashes, >> so be careful, and report them as usual. >> >> - Only Gambas highlighting returns procedure limits at the moment. >> >> - The 'sh' highlighting has not been written yet. I waiting for Bruce >> Steers here :-). >> > > I think i will have to fall on my sword here Ben. > gambas i understand , regex I am clueless to, almost zero experience. > I made a commit but i do not like it. it's buggy (see merge comments) > > And knowing so little about regex syntax i do not know if it's buggy > because of me or not? > > Respects > BruceS > here is my sh definition file.... https://gitlab.com/gambas/gambas/-/merge_requests/313/diffs --------------------------------------- comment: from # number: match /[+-]?[0-9]+(\.[0-9]+)?([Ee][+-]?[0-9]+)?/ match /0x[0-9a-fA-F]+/ string: from " to " from ' to ' escape: match /\\[fnrtv0'"\\]/ match /\\c[A-Za-z]/ match /\\x[0-9a-fA-F]{2}/ match /\\u[0-9a-fA-F]{4}/ match /\\u{[0-9a-fA-F]+}/ keyword: word function do else test for to in fi if elif then return exit while until done break continue select case esac operator: symbol { } $ # [ ] -gt -lt -ge -ne -le -eq <<< . + << = >> == - ~ += ( , != * -= &= ;; ) < % & ]; @ ! ; > | ? ^ : <= / ` function: keyword echo read cd which rm cp mv rmdir cat grep awk tr sed sleep clear sudo su source eval export time date pwd set unset chown chmod exec alias unalias bg bind builtin caller command compgen complete compopt declare dirs disown enable fc fg getopts hash help history jobs kill let local logout mapfile popd printf pushd readarray readonly shift shopt suspend test times trap type typeset ulimit umask wait ---------------------------------------------- i simply copied the numerical and string patterns from other files. problems... the hash # for comments gets registered at ANY # char even one in a statement. i wanted to set it to "# " (with a space) but do not know how. I have no idea what i am doing with pcre This needs people with pcre regex knowledge to examine and refine as frankly i am out of my depth. I marked it as ready to merge Ben it works but it's not perfect. you can see what i mean about the # char needing a space to define comments in the attached test pic. i think i've done all i can with my lack of regex know how. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Untitled.jpg Type: image/jpeg Size: 119988 bytes Desc: not available URL: From benoit.minisini at gambas-basic.org Sat Oct 28 23:20:11 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sat, 28 Oct 2023 23:20:11 +0200 Subject: [Gambas-user] New highlighting component (episode 2) In-Reply-To: References: <790d9e19-60a5-44e5-b815-1e72224c5ca1@gambas-basic.org> Message-ID: <021a6541-b34d-4dc5-aa01-6461508611ff@gambas-basic.org> Le 28/10/2023 ? 22:54, Bruce Steers a ?crit?: > > here is my sh definition file.... > https://gitlab.com/gambas/gambas/-/merge_requests/313/diffs > > > --------------------------------------- > comment: > from # > number: > match /[+-]?[0-9]+(\.[0-9]+)?([Ee][+-]?[0-9]+)?/ > match /0x[0-9a-fA-F]+/ > string: > from " to " > from ' to ' > escape: > match /\\[fnrtv0'"\\]/ > match /\\c[A-Za-z]/ > match /\\x[0-9a-fA-F]{2}/ > match /\\u[0-9a-fA-F]{4}/ > match /\\u{[0-9a-fA-F]+}/ > keyword: > word function do else test for to in fi if elif then return exit while > until done break continue select case esac > operator: > symbol { } $ # [ ] -gt -lt -ge -ne -le -eq <<< . + << = >> == - ~ += ( , > != * -= &= ;; ) < % & ]; @ ! ; > | ? ^ : <= / ` > function: > keyword echo read cd which rm cp mv rmdir cat grep awk tr sed sleep > clear sudo su source eval export time date pwd set unset chown chmod > exec alias unalias bg bind builtin caller command compgen complete > compopt declare dirs disown enable fc fg getopts hash help history jobs > kill let local logout mapfile popd printf pushd readarray readonly shift > shopt suspend test times trap type typeset ulimit umask wait > ---------------------------------------------- > i simply copied the numerical and string patterns from other files. > > problems... > the hash # for comments gets registered at ANY # char even one in a > statement. > i wanted to set it to "# " (with a space) but do not know how. What is the exact syntax for "#" comments? Is it at the start of the line only? Or anywhere until the end of the line? I don't think a space after is required to be a comment. > I have no idea what i am doing with pcre You can read the quick pcre syntax reference on the wiki to get an idea. > > This needs people with pcre regex knowledge to examine and refine as > frankly i am out of my depth. > Good job anyway. It's a start. :-) Can you repost your file, as the indentation has been lost in the mail servers swamp? -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Sun Oct 29 00:32:42 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 29 Oct 2023 00:32:42 +0200 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: Message-ID: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> Le 28/10/2023 ? 19:43, Fabien Bodard a ?crit?: > Same thing here. I've posted a ticket on bug tracker > > Le sam. 28 oct. 2023 ? 18:01, vuott--- via User > > a ?crit?: > > Hello, > I have updated Gambas up to Master commit "685037ef". > > If I run the IDE with GTK3, the IDE editor does not open, and an > error window appears warning: > ? Cannot load highlighter 'c'. > ? [gb.highlight].TextHighlighter.CreateCustomHighlighter.278: > Cannot load > ? component 'gb.highlight.c': cannot find library. > ? [gb.highlight].TextHighlighter.Load.63 ? > > > If I run the IDE with GT5, the IDE opens, the projects work, but I > am not allowed to write in the editor. > > Regards > Do you have a different error message with the latest commit? -- Beno?t Minisini. From bsteers4 at gmail.com Sun Oct 29 00:50:28 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 28 Oct 2023 23:50:28 +0100 Subject: [Gambas-user] New highlighting component (episode 2) In-Reply-To: <021a6541-b34d-4dc5-aa01-6461508611ff@gambas-basic.org> References: <790d9e19-60a5-44e5-b815-1e72224c5ca1@gambas-basic.org> <021a6541-b34d-4dc5-aa01-6461508611ff@gambas-basic.org> Message-ID: On Sat, 28 Oct 2023 at 22:21, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 28/10/2023 ? 22:54, Bruce Steers a ?crit : > > > > here is my sh definition file.... > > https://gitlab.com/gambas/gambas/-/merge_requests/313/diffs > > > > > > --------------------------------------- > > comment: > > from # > > number: > > match /[+-]?[0-9]+(\.[0-9]+)?([Ee][+-]?[0-9]+)?/ > > match /0x[0-9a-fA-F]+/ > > string: > > from " to " > > from ' to ' > > escape: > > match /\\[fnrtv0'"\\]/ > > match /\\c[A-Za-z]/ > > match /\\x[0-9a-fA-F]{2}/ > > match /\\u[0-9a-fA-F]{4}/ > > match /\\u{[0-9a-fA-F]+}/ > > keyword: > > word function do else test for to in fi if elif then return exit while > > until done break continue select case esac > > operator: > > symbol { } $ # [ ] -gt -lt -ge -ne -le -eq <<< . + << = >> == - ~ += ( , > > != * -= &= ;; ) < % & ]; @ ! ; > | ? ^ : <= / ` > > function: > > keyword echo read cd which rm cp mv rmdir cat grep awk tr sed sleep > > clear sudo su source eval export time date pwd set unset chown chmod > > exec alias unalias bg bind builtin caller command compgen complete > > compopt declare dirs disown enable fc fg getopts hash help history jobs > > kill let local logout mapfile popd printf pushd readarray readonly shift > > shopt suspend test times trap type typeset ulimit umask wait > > ---------------------------------------------- > > i simply copied the numerical and string patterns from other files. > > > > problems... > > the hash # for comments gets registered at ANY # char even one in a > > statement. > > i wanted to set it to "# " (with a space) but do not know how. > > What is the exact syntax for "#" comments? Is it at the start of the > line only? Or anywhere until the end of the line? I don't think a space > after is required to be a comment. > It is # anywhere in a line starts a comment just NOT if it is inside {curly braces} i changed from # to be... from /#\s/ but it's a workaround as i do not know syntax for # if it's not inside { } > I have no idea what i am doing with pcre > > You can read the quick pcre syntax reference on the wiki to get an idea. > I got some of the basics but struggling with more complex stuff > > > This needs people with pcre regex knowledge to examine and refine as > > frankly i am out of my depth. > > > > Good job anyway. It's a start. :-) > Thanks, and thank you for the component. the concept is awesome, hopefully others will make their own highlight files for various other formats and we could have a nice collection to choose from somewhere online. I may add a few more to my script editor :) > > Can you repost your file, as the indentation has been lost in the mail > servers swamp? > i've attached and have submitted a self-deleting merge request https://gitlab.com/gambas/gambas/-/merge_requests/313 like you say, it's a start, it works okay for now, for the most part, as far as i can tell. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: sh.highlight.tar.gz Type: application/gzip Size: 715 bytes Desc: not available URL: From benoit.minisini at gambas-basic.org Sun Oct 29 01:00:34 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 29 Oct 2023 01:00:34 +0200 Subject: [Gambas-user] New highlighting component (episode 2) In-Reply-To: References: <790d9e19-60a5-44e5-b815-1e72224c5ca1@gambas-basic.org> <021a6541-b34d-4dc5-aa01-6461508611ff@gambas-basic.org> Message-ID: Le 29/10/2023 ? 00:50, Bruce Steers a ?crit?: > after is required to be a comment. > > > It is # anywhere in a line starts a comment just NOT if it is inside > {curly braces} > i changed > from # > to be... > from /#\s/ > > but it's a workaround as i do not know syntax for # if it's not inside { } What does "#" mean when it is between { and }? -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Sun Oct 29 01:41:55 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 29 Oct 2023 01:41:55 +0200 Subject: [Gambas-user] New highlighting component (episode 2) In-Reply-To: References: <790d9e19-60a5-44e5-b815-1e72224c5ca1@gambas-basic.org> <021a6541-b34d-4dc5-aa01-6461508611ff@gambas-basic.org> Message-ID: Le 29/10/2023 ? 01:00, Beno?t Minisini a ?crit?: > Le 29/10/2023 ? 00:50, Bruce Steers a ?crit?: >> ??? after is required to be a comment. >> >> >> It is # anywhere in a line starts a comment just NOT if it is inside >> {curly braces} >> i changed >> from # >> to be... >> from /#\s/ >> >> but it's a workaround as i do not know syntax for # if it's not inside >> { } > > What does "#" mean when it is between { and }? > I tried to enhance 'sh' highlighting after having quickly read bash documentation. The bash is cumbersome, so it will never be perfect. Especially the definition file syntax does not allow implicit recursion, i.e. you can't say easily, for example, that inside a double quote string you have the same substitution than at top level, without writing the commands twice. But the goal of that definition file is to kept things simple, and make the file readable. Not to fully understand its syntax. If you want to see what I mean, look at the powerful XML highlight definition file of Kate and compare. I join it to the mail. 103 Ko against 1,5 Ko in Gambas. But it should handle bash syntax correctly (I guess). Regards, -- Beno?t Minisini. -------------- next part -------------- A non-text attachment was scrubbed... Name: bash.xml Type: text/xml Size: 103111 bytes Desc: not available URL: From bsteers4 at gmail.com Sun Oct 29 01:49:08 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 29 Oct 2023 00:49:08 +0100 Subject: [Gambas-user] New highlighting component (episode 2) In-Reply-To: References: <790d9e19-60a5-44e5-b815-1e72224c5ca1@gambas-basic.org> <021a6541-b34d-4dc5-aa01-6461508611ff@gambas-basic.org> Message-ID: On Sun, 29 Oct 2023 at 00:01, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 29/10/2023 ? 00:50, Bruce Steers a ?crit : > > after is required to be a comment. > > > > > > It is # anywhere in a line starts a comment just NOT if it is inside > > {curly braces} > > i changed > > from # > > to be... > > from /#\s/ > > > > but it's a workaround as i do not know syntax for # if it's not inside { > } > > What does "#" mean when it is between { and }? > pattern matching for one, # and ## will find first and last occurrence of text eg. $ PATH="file:///etc/some/dir/file" $ echo ${PATH#*/} //etc/some/dir/file $ echo ${PATH##*/} file % is used to get the left side # for the right side it's also used to get numerical data, like the below example gets the size of the $DISTLIST array eg.. $ DISTLIST=(ubuntu debian fedora suse) $ echo ${#DISTLIST[@]} 4 Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Oct 29 02:23:47 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 29 Oct 2023 01:23:47 +0100 Subject: [Gambas-user] New highlighting component (episode 2) In-Reply-To: References: <790d9e19-60a5-44e5-b815-1e72224c5ca1@gambas-basic.org> <021a6541-b34d-4dc5-aa01-6461508611ff@gambas-basic.org> Message-ID: On Sun, 29 Oct 2023 at 00:42, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 29/10/2023 ? 01:00, Beno?t Minisini a ?crit : > > Le 29/10/2023 ? 00:50, Bruce Steers a ?crit : > >> after is required to be a comment. > >> > >> > >> It is # anywhere in a line starts a comment just NOT if it is inside > >> {curly braces} > >> i changed > >> from # > >> to be... > >> from /#\s/ > >> > >> but it's a workaround as i do not know syntax for # if it's not inside > >> { } > > > > What does "#" mean when it is between { and }? > > > > I tried to enhance 'sh' highlighting after having quickly read bash > documentation. > > The bash is cumbersome, so it will never be perfect. > yep, it's all over the place. making the original sh file took a lot of tweaking and testing, it wasn't perfect but i hit an "it will do" stage when i thought it was doing a better job than pluma shell highlighting. > > Especially the definition file syntax does not allow implicit recursion, > i.e. you can't say easily, for example, that inside a double quote > string you have the same substitution than at top level, without writing > the commands twice. > yep it looks interesting when you load something really complex like a makefile > > But the goal of that definition file is to kept things simple, and make > the file readable. Not to fully understand its syntax. > yeah , i will look at improving sh. i notice your definition files have things that will need your documentation like for example you have this for operators in cplusplus operator.mul{Function}: match /\*\s/ operator: symbol { } . ; ( , ) [ :: ] -> ? : <=> ->* .* * operator.action{Function}: symbol = >= + << ! >>= == - >> ~ += != && -= &= < % & || *= |= > ++ | %= ^= -- ^ <<= <= / /= I have no idea what that's all about but i'm sure it will make sense to me some time :) > If you want to see what I mean, look at the powerful XML highlight > definition file of Kate and compare. I join it to the mail. 103 Ko > against 1,5 Ko in Gambas. But it should handle bash syntax correctly (I > guess). > wow , well one step at a time eh :) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Sun Oct 29 11:37:48 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sun, 29 Oct 2023 11:37:48 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> Message-ID: also in ppa daily Le dim. 29 oct. 2023 ? 00:33, Beno?t Minisini < benoit.minisini at gambas-basic.org> a ?crit : > Le 28/10/2023 ? 19:43, Fabien Bodard a ?crit : > > Same thing here. I've posted a ticket on bug tracker > > > > Le sam. 28 oct. 2023 ? 18:01, vuott--- via User > > > a > ?crit : > > > > Hello, > > I have updated Gambas up to Master commit "685037ef". > > > > If I run the IDE with GTK3, the IDE editor does not open, and an > > error window appears warning: > > ? Cannot load highlighter 'c'. > > [gb.highlight].TextHighlighter.CreateCustomHighlighter.278: > > Cannot load > > component 'gb.highlight.c': cannot find library. > > [gb.highlight].TextHighlighter.Load.63 ? > > > > > > If I run the IDE with GT5, the IDE opens, the projects work, but I > > am not allowed to write in the editor. > > > > Regards > > > > Do you have a different error message with the latest commit? > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Capture d??cran du 2023-10-29 11-36-39.png Type: image/png Size: 24632 bytes Desc: not available URL: From bsteers4 at gmail.com Sun Oct 29 11:50:58 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 29 Oct 2023 10:50:58 +0000 Subject: [Gambas-user] errors with new highlight class loading Message-ID: am able to type only a few letters in the IDE before this stuff pops up, Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Untitled.png Type: image/png Size: 58651 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Untitled.png Type: image/png Size: 61884 bytes Desc: not available URL: From gambas.fr at gmail.com Sun Oct 29 12:02:20 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sun, 29 Oct 2023 12:02:20 +0100 Subject: [Gambas-user] errors with new highlight class loading In-Reply-To: References: Message-ID: By chance you are able to go more far than me ? And this components have too many roots every where to allow me to repair anything quickly ... even for may own usage :-/. Le dim. 29 oct. 2023 ? 11:52, Bruce Steers a ?crit : > am able to type only a few letters in the IDE before this stuff pops up, > > Respects > BruceS > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Sun Oct 29 12:30:22 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sun, 29 Oct 2023 07:30:22 -0400 Subject: [Gambas-user] New highlighting component (episode 2) In-Reply-To: References: <790d9e19-60a5-44e5-b815-1e72224c5ca1@gambas-basic.org> <021a6541-b34d-4dc5-aa01-6461508611ff@gambas-basic.org> Message-ID: <2f73e5e2-50e5-48f0-904e-a22cfcc8c471@gmail.com> On 10/28/23 18:50, Bruce Steers wrote: > It is # anywhere in a line starts a comment just NOT if it is inside {curly braces} > i changed > from # > to be... > from /#\s/ > > but it's a workaround as i do not know syntax for # if it's not inside { } I'm not strong on regular expressions either. But, I seem to remember reading something about 'look-ahead' and 'look-behind' matching. If my recall is not faulty, perhaps if a '#' in encountered, look behind to see if there is a '{' and look ahead to see if there is a '}'. -- Lee From vuott at tutanota.com Sun Oct 29 13:01:42 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Sun, 29 Oct 2023 13:01:42 +0100 (CET) Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> Message-ID: Master Commit Update 587bc846. Unfortunately same error starting IDE with GTK3, and same inability to write in IDE editor, if started with QT5. Regards 29 ott 2023, 00:33 da benoit.minisini at gambas-basic.org: > Le 28/10/2023 ? 19:43, Fabien Bodard a ?crit?: > >> Same thing here. I've posted a ticket on bug tracker >> >> Le sam. 28 oct. 2023 ? 18:01, vuott--- via User > a ?crit?: >> >> Hello, >> I have updated Gambas up to Master commit "685037ef". >> >> If I run the IDE with GTK3, the IDE editor does not open, and an >> error window appears warning: >> ? Cannot load highlighter 'c'. >> ? [gb.highlight].TextHighlighter.CreateCustomHighlighter.278: >> Cannot load >> ? component 'gb.highlight.c': cannot find library. >> ? [gb.highlight].TextHighlighter.Load.63 ? >> >> >> If I run the IDE with GT5, the IDE opens, the projects work, but I >> am not allowed to write in the editor. >> >> Regards >> > > Do you have a different error message with the latest commit? > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Oct 29 14:17:36 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 29 Oct 2023 13:17:36 +0000 Subject: [Gambas-user] errors with new highlight class loading In-Reply-To: References: Message-ID: On Sun, 29 Oct 2023 at 11:03, Fabien Bodard wrote: > By chance you are able to go more far than me ? > > And this components have too many roots every where to allow me to repair > anything quickly ... even for may own usage :-/. > indeed, i have tried many things but cannot find the error. Will have to revert to stable till it's fixed Respects BruceS Le dim. 29 oct. 2023 ? 11:52, Bruce Steers a ?crit : > >> am able to type only a few letters in the IDE before this stuff pops up, >> >> Respects >> BruceS >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > > -- > Fabien Bodard > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sun Oct 29 16:50:21 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 29 Oct 2023 16:50:21 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> Message-ID: Le 29/10/2023 ? 13:01, vuott--- via User a ?crit?: > Master Commit Update 587bc846. > > Unfortunately same error starting IDE with GTK3, > > and same inability to write in IDE editor, if started with QT5. > > Regards > Is it better now with the last commit? -- Beno?t Minisini. From gambas.fr at gmail.com Sun Oct 29 19:10:12 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Sun, 29 Oct 2023 19:10:12 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> Message-ID: > > > > > Is it better now with the last commit? > Yes !!!!! Thank you > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Oct 29 21:32:01 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 29 Oct 2023 20:32:01 +0000 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> Message-ID: On Sun, 29 Oct 2023 at 18:11, Fabien Bodard wrote: > >> >> >> Is it better now with the last commit? >> > > Yes !!!!! > > Thank you > >> >> -- >> Beno?t Minisini. >> > The errors i was getting are also gone Thank you Ben BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sun Oct 29 21:36:41 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 29 Oct 2023 21:36:41 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> Message-ID: <1fbdf080-4ac2-45a0-925b-ecc131a8c891@gambas-basic.org> Le 29/10/2023 ? 21:32, Bruce Steers a ?crit?: > > > On Sun, 29 Oct 2023 at 18:11, Fabien Bodard > wrote: > > > > > Is it better now with the last commit? > > > Yes !!!!! > > Thank you > > > -- > Beno?t Minisini. > > > The errors i was getting are also gone > > Thank you Ben > BruceS > But I have no explanation why. I just compiled the generated highlighter component project with the "-j1" option to not run background compiler tasks. But the compiler waits for the end of all its background tasks, and 'Shell' waits for the end of the compiler process. So it should not make any difference! -- Beno?t Minisini. From bsteers4 at gmail.com Sun Oct 29 21:42:08 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 29 Oct 2023 20:42:08 +0000 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: <1fbdf080-4ac2-45a0-925b-ecc131a8c891@gambas-basic.org> References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> <1fbdf080-4ac2-45a0-925b-ecc131a8c891@gambas-basic.org> Message-ID: On Sun, 29 Oct 2023 at 20:37, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 29/10/2023 ? 21:32, Bruce Steers a ?crit : > > > > > > On Sun, 29 Oct 2023 at 18:11, Fabien Bodard > > wrote: > > > > > > > > > > Is it better now with the last commit? > > > > > > Yes !!!!! > > > > Thank you > > > > > > -- > > Beno?t Minisini. > > > > > > The errors i was getting are also gone > > > > Thank you Ben > > BruceS > > > > But I have no explanation why. > > I just compiled the generated highlighter component project with the > "-j1" option to not run background compiler tasks. > > But the compiler waits for the end of all its background tasks, and > 'Shell' waits for the end of the compiler process. So it should not make > any difference! > yep sorry I spoke too soon i tested some more and got the same class load errors Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sun Oct 29 21:43:50 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sun, 29 Oct 2023 22:43:50 +0200 Subject: [Gambas-user] Strange bugs Message-ID: See the attachment. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: GambasTestercmd-0.10.26.tar.gz Type: application/gzip Size: 24006 bytes Desc: not available URL: From benoit.minisini at gambas-basic.org Sun Oct 29 22:33:08 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 29 Oct 2023 22:33:08 +0100 Subject: [Gambas-user] Strange bugs In-Reply-To: References: Message-ID: <57ad7981-0125-42a5-8b64-4e2156ee9354@gambas-basic.org> Le 29/10/2023 ? 21:43, Jussi Lahtinen a ?crit?: > See the attachment. > > > Jussi > OK, first one is a bug in the compiler with short constants... -- Beno?t Minisini. From bsteers4 at gmail.com Sun Oct 29 22:40:04 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 29 Oct 2023 21:40:04 +0000 Subject: [Gambas-user] errors with new highlight class loading In-Reply-To: References: Message-ID: Seems it seemed fixed to me because i was using Me.Proxy Before i was using Super.Proxy there was no problem with "Me" keyword but just trying to write Super in the editor pops the error. in the attached project is a RichListBox.class that i cannot complete the word Super, after Sup it errors on keypress Respects BruceS On Sun, 29 Oct 2023 at 10:50, Bruce Steers wrote: > am able to type only a few letters in the IDE before this stuff pops up, > > Respects > BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- H4sIAAAAAAAAA+xXeTzU298fUsqWJPtWSEoMM0a2hKRSpnIjuzGMCGMZy2QZlT1UxGQvKgkJSZZp 7EyWEWXJMmRLtrHE0BjPd7r39jyv5/m97v39cbv39TxP73/OeZ3vmTnnfN7n83m/jy0CIXVARV4J 9AMBBqCmpsZsldVUwf+1/R0gZagqMKYKBjPHlZWVwaogKdUfuanf4eONQXhJSYHs0e4+3n8w78++ /y+F7W/8Kzo4ezkiMWgv7F+/xp/yD1X+jX+oGgyqCvAPUYaAQVLgv34r/xP/z/m3PO7ofQWD9pAy cMd4Ya05TiHR7tqKSorOQKvo4e7E8U9v8Cd+KL7nPwKJcUa7/xAd+PfqvzJQB1SB8g/MU1aBQlR+ 1v+/A9/5d0W4O/0gF/Dv8c/UATUVZWUok3+wGuQn/38HvvN/2dnBwfEfzH8IoP5gCBSiqvIt/1V+ 5v/fgu/8M8OA8fH4EWv8Kf8wyHf/p6LM9P8qMGXYT//3d+AE2stNmYND+rd7wAHmACuCFVWOcHA4 2Ss6uyGcHJkdJx9nZoMCJnP8dIT/l/A9/z187F2dkf+g/wNegYABhEAgv/o/6M/6/3fgv/OP8HLy Zr77/so1/pB/ZaDmw1SZ+g+BAKoPVYUB/EOVmfz/rP8/HlHnjA25OUSYRZ371MnjF0CgLUdBIBbL 7duAEX43SyGgYfPWO/XLdgCB2x0iQSAp0Knjur/4p80M+vnzv1+vXpifcYelZtxm65Ta23CMdft1 zENBFtkDZufZfuE3eBZ9nZsQ3TP07KqBLuFg9PaDAsfpbw3YEnk6A45JEfCzmkQdve78h64cbHVf sRlazzUhk2nqJhRtp/YDT58+pbcdtngRWYSsG8jAkTMUZmCJK+J6by/zLy6emaHg2/ak14GFMCB6 8QK0yPNaaKj/gy5nlzPw8/zxCfqfSyUurk3lWC/PBpRbLvGIQMXh8J1zhFWNcO7pz/SjR4PFsFiD sQmBXfxjEaZ5D+CZPFp06qUKP/hTWNsQYf4RMJBvS7yZrnmro8RJ8zXto/z163RQb8nkEZOc1zXP rA13cHOPPYhoVMEunsRD515/1fmEsUCRX1PGA7LftgatEhp6bAubKJSIhdEIKknu0Mmz1mPd60mi sBkEv8HIUEAhkkZ1b5/f80jHzHYwdrDy1p3ERHhT3AJ92na3kHKW5jnTsq7HbRPDNTrUpaWP69Nf Vdw+CClWKkSbl0wUBa6htLS1T54922RfpIyo5Z0j4rh27ap5nySnrY2nUqeTtbAym+s9bFlZeuWz L/G0jdXsM6mwcGArt1NS2t/loqlL5Mq3LqrLM8mt0rcGWi+a+dh9eNEXuNCgUVzC2THtI8R1Fdjl SEST1+YG0p+xBl9baBI/k66RIur+qSmcu1L4KP08ql2sKfvWEFe1KFoBVXP9/XGDsGLsUnB0dAzz b1uTy6hjCZIfp6Z0fX1ZcuBOu3mH6zZWb4287A8fGR83z6sQ1Nu+N5Sm+YQR9zoq+iZnrbvf86CA bYa3xjypx3h24FW9t2n7pm6Bww/n5m51XZ/l6i97lJCAzIcW1Opxbl1DZWVvKI0dfPfhjjRnb6Wf BMhv0IcbR1/YaovbmBe5keFlG1SagV2SGK+PIpOam5FzA/Og55dcrQJmR5fnKVH5+Wjz58M7HsNx EZK4gRHTCrIOMaQtdbUEtylHX2xxFVBi5BpPm6Ujm9qp70x2973yhBE3g2NkjWBeiw772Xcyajoe 7Lxzrzf+bOrQSItS5kQC3JTK+EpJwJuxVceJR5R/jG7pfb0RtB8uQXp6sf8S4aplQcvt5GQyELwd HIvZ2CWpVtQh/XCt0LeXETXXm/pezmrzSB5t22SUxVBwOo2iaHoCxEmgq8RJpccWt6cFTzxj2l2m tdxxaflqev/a3FAQF3DNBG1b9+ng5NGvsUokkjJohoKL37E7PD6lIrK5+Vx3fl9j0mH2KwR3ZqB5 cex4h2EkrL+oTyw0bO3+W5dz/GGtMXwzK8WNSgXG+pOKCMy8hC7Q0NYCvOxwPGFhSd6dpzVNQgsz JWxtN8JsYjld6LQaGZnju/j4qqkjg71l82wgy5diw8tTChIBrmISEhoVvm51T84TaItGq6z30K/X kuVNTrytwkqNjNScSU/pHHacH9KO0r2h0VW+5GjlacCKKgnLzw9krBIdMTNCZOCXlylHk/Kefa6+ r5t+yqgFsclIAL1AS7bsMZPhFZuBE4PF1X0O3gR+UrbEWO66+MIZci0ycnoH55XGjVVbcghLOhBn 0ampci6Rd8l3pAN4RUXbtVdjPvYWQWb6vKtqurXBHfi9+s8emhX6XoaK8O225BOzEnhoi3XcZ2Z1 J6Tmfg48c2VsUrDHZTCUFwgaw3hgc+pV1LmLiXURXlExy9IqT/PzTI+/2tlf5nQ7yfTMu775N8Jc Gnx815tJyvEJ1tHEzUyWuMFn8alX9j32qd5qHdHIKyLyiU6sud90GbrldlKSvocHKCNDon0KiIiY uteHAkxXl3dUDL3kpl1LUpvok3rc4oLy8Kwb6M0b95K+Igu3tCN3aoYIuQO4TdfHZ1O575ba+cwF Cu9PaCjPz3Hqg61SOxAq5s8t3NwngwZ9zDwn06XX5ipjA7/ObosTN9K/OFIfxdWK4iwkMmTRr8uF QKltxiUoxiWF7m2Wq5GRvCmqS3mYlLKy6QpzhZcWBanMQ9dTSLKCtEuHeRQENG2GcM8qcnQjau7X uT6lP4ZfvAjluAyNblnFYveL8SQO2xUuWUzcNPf3B6urb73XZupETQDO6P9qGgK+SjB8pPYeOCZQ Y9V1nJwE0yisZrzig9dtCB88ydryVgFuZO/HhbbEvCGsf0AAH0BVXqExoi58kE4b5dHARMpqVGxF INruHd04MVc5X3EQ33P5IPrul8XF+pFznkfEQPz8d3/RyDTNy1XhBm63XqQRSdbP8OHqu4+zozVR 7/QAieAXtDyCzbrdeeGQrq5jAau5+SMH1N1z5+z2y/U3vw5S73XlSdmQrZZXfGkH/tQxXRpbdFAx 31T00SPUjC+7b+WWkr5okoPnkFCmkplNXziVamfjj2AxzYttS9353IF04hmRcRC/Fh+ftfalh9Ce lOWFbFwe74KbIco0AT5aU8voVUllWf3ulSm2uMEWQAycNhm77969RxuJOJtvUZqYlla7jYzuzrc0 L3U5lGeGzg5YldHSwuRfKkpOPFRmD00BSgLvTcHN+oVR53bHfdL6J+FkWW3tHtkCmJuF5/InYeO0 5mqg/OMYp2d8A27gzZlJnpX7aoxVMmTsIW8VwUdM617LHKWEeTdv845xueYLsOcY7ynyg8Midk5m afzyoZSzgUz+op7RyZfnfSy00bdNFbKwINxY4aNpXmTPKS8PB/tTuUwLh4Jtlt5P+yiYL4pd6XaV k3HgV6PQuZSIgYJb2G1GVCj1UfpRsbH3sUtvaes2s1wKEtix/RZlPDkmOZpTlE0WIETkK9hDp09H o0jxk0wFta4YMFiakNeiVrv6zml52SyKwvIPkUgFfVVroFTYrNP7p2ZvXUoHPOoUUlQrk+7elbtU 5i5nOp3J0hojrOa1joGNNmob2Q2fzMAFs6BKEoFM7yDiDG1wG0aKxEA+nojorAPvxxSZKezpbKLY MJK/6e4CSSvl/VYHP1rhHW7e+q3fue/ab90sUkK1IbOjt/3t2Klh6W8FIPTyogx117fvelAsH+3X 73tTqm6OykIF79U9WGwi6RUXx/bm+wYGakXG8VTrVHepk4GgH1DABPWhvCrPsW5pmSi6NPNQQklK h8IWgguRK7Bk/zjVR1OCFBSoeydRWyFLpLbDD01y2BhfCndwSQ4VFN2UPQhOVvDHco/TFsLq66GD D/rDmOu2442KG+RUS0NaWy9YNLF1PLM+kLFNPGAVhYT1pS31zvLsy6Z/6s0NWyr8yHlmdbat0aH4 Tu/+e/WwmntnYSuzbe4x71mGaQvQE3GBXDrEEWABWY31ExLBNOs4SXieZx9QrT0nWu3dCT5CNTWM yUeB092zMlBomJntxsCsY2eX9/m7jAOncZiKa8cNKc36O9saXErfV3ls3Vg/y9RXF8uxq6dOYVkN psjdBezplIaGwZis5SaHYquO4u2/5uiLBjmlnuNLAkNsEf4svJPix01R8gYGAlrcjhftSzWoKyvV TU2jaeNtKE1ZWdN44NQeLxOfOOaBVuZbGu2LsntsaaaZV54ln/J4rjP/WjOdsaFZ7NwVfPr0GcEq sck6NJGgD1iomQ8+d89nSwDmKxW3cUUPKZh3wu3DC3vAomCm4psbYwOoy+96qm5/I/iIkiJJQBJ+ I4muBeGJ4DiGeCBswELhOKxhmrclQr8B5Z1WUmWco5t3sZm0Bnl+4CAUCf4kIvuJRJJ3mB/6BShT yI777aER7Anxnameo9veVvgcAeXmTsUILRxgMKS3c1SE75KWcNxYpwy2I9vTZF+4B+0eGqqLvFmZ jLexOGls/MB7/Y50DtNOsbKeGJ7VjlmZRU/eVOr2nLkkUlSklhC/yFZeHlZFrWXV0zcRUl9UDmb0 EeilFtyAimBmP4Qj6ioWW5QC0rsumHQBsb/e0cFvUVpxZzLTNuRpkluPcxdqt6RO3NnUlSXAjO0C ujSaJ/+eRFbwlW6txhjsm+RupiHhEpuKX2XauI77U60pqreASaFh1k0l5Hb2NxbxEoFU8XAubGRo qKXQEaouXqN85UMGnVqHBm7cBNmW9MrzhlUn43PeFxk5yulj1dsrfNNrgShbPSYy1vEvXHyk9+7N 9v86iz40uN+t31gG7CGz8VWnuuYG7tXFzG+5hc8yUqFG/QsLWOfxsrTJ3Xt4KlcWuPVniemIry8x Xl4x7eOlFmEtfDdIbxRGVq2TxbRuG6FQ8m4ftqm9WYdemWhyxBsU+c76MpYylXoJX4UEWjIHa/7I bpki1yWDaTittTFDKz9rSR7xFPJd+Wz/yXTAJNqp8kTc+GgvDew5hOQw0gWXlDs8ewiQJED390XF ck/2FpFpK/1Ozt2tmU0SooaATQvc3OBcnup6YDqdDDg+IBSArel2JNgjpWmjt5R6n48cPrrmsDUz uIIjRG2IJmcYp3Dfsuwl/SulzHOsmTVOzDwkM9OvYHFjHE/wDxA94uXA4tSuMBEuuq6ZU2BeEguo uRr7zuDrT2s15+nC9/2x2M5sQ5UWPBo1/qYgRqyvTn22+lrCQOAShD6pY0IircWdSgiHeI0hx8b3 pJ/10wReBhGBG1+Ia8BmrCpaE9EJThnJ5NqwzX2aATukDVfs3j1pKuqbKbVQ+zVpG2SFaffafF1h 7AjE0csvRPgN9kKy2SoJ+Y+O5XV1lBsJDVYaMptgRoZYb6Y+YiSTjBIyKviEEdFLDcg+4Hj4OCC9 scVHo7OoXXB0Z6GtIXBrTuUY+3UWjYq3Zmxwb90qm29DiF1ettrG/bm1+Y52JBDWjIATnjO9wisz 6jbIde8JhQe4TeMY4S78kyfnHsOJ12prLwAEGly9KtGStBHeYO9YHzkHnP1GCEhyrspbJl1DFtq8 zi26Am5LvbX/4GfJhw+XJ6Zy0Fvtvnx2c0BNLLw55AeksvP7p+p+lKDDmTgG8saYpaKMTEiERMUu UOyJOuAOqecMeujjAoMIHZehAJ8ZQV+NXyloug9IzZVP+mzj+hSaM5k5uJ+47qKtfVUGgvmUCDwB 5yqmRQIDuQCF5w5hOmCmOD0y2mdjk6G1UO+Px0y2mtcuT6l1FCG1NNKT2CXp7MLC2JkB7EPdHuvf FTxj4fx/Ws43O0MiPSRfoslShwvuPSmhJEKEMDIybHcSkDJylfw4nPYjWdMLJpyvqpDegUFfQiP0 S+yk2XeOAX55XGV7bRifQHdMGSWjsR8NH32Xq7AfHhzrR7GOLiwUBIzOv7SGIl1HPffdqIv4D+re Oqyqr48XRFGQVkA6VKS7G1QEpLu7u7tVBJSU7u7uLukG6e7u7pq1f+/73ph773Nn/phnZnjwwXPO Pnuv+H4/sdbaa0sdj0pxJy5O76MGCjGTkgoBvZEiGGD47Pl1KoWod/Hs9+dSvyMwB+ZqF0vNp636 4xzyy9UBG6+tqSWexg0opqWrsRg/lJYuKxQpffgacvoI/EGg0GQoDDxyzfc+OrOe/Wo0p2s+Wlo/ IESjD1vbvIHif9IL55hTQ0SrxuYUewm064KzHuNh82PjKXejprChoSfthPi/eNum5zmfYgBsQEdw 9GVy/oHJXx2GLXUhh/wv/5KoBuzNpKQGLd+jJ5NNItBstZmm8UiPcimoqCLcDnA7ro6HwpOSxG4v Sn/4sOrdnOHXHjbt5qlLFl9+UFDYZGZaB2X/mypAc7nI74tKqDukQge0KC5uLcif1DzTzI/fhdI5 yTWcnsPfjpYZ2CW5HaACrzVIXUyzkptNhg40bnf3S1SCq4yZ9fze2b6+UYMfNd+/h4lGT27vPMxF KebrAIHzrezAYh1UesjEQkys7y0PzxQnL3t1Nyctd/0fg4WtLaw5p0WHQGL+jEEDDAgkayLUbTXm z5JUGzx4OEJVv2gm/VrRRSKXwpRVNSWl6Ib5oKhIGYtLiokZ09PDVmalhcoW723YYpD+5xreOW2Y goAvQlgm1QdYZ+HgtdRxqmdXborR9y7MDjv4UAYCyiLgdfV9fLg009Vt/RmIrLP0h/ro6G+pruB0 OZlQeqzFLGqp87EUXZsGOamg3dWRSTAh9+pJQbeGk0ZbHOusSo01Cohj0EDHzY+0ersT3oAbhAK3 gv38gg36PFdvD70yS0oiXE6j6nn4MXFxP3l6MpqYcCrA4RzEsO4qanqc25WVneByHCFiCi7HGvGl VowFDhgadQW3FWjUtxnEdnf/Fq3/Wmky6k/IHSytaiqkoAAwRGXTdnxia9jjCgAl0M3P6+db6g/p MmumuoF/fILDnEXPf3eEr6JiQMtx2Fg9ZnBdf1Dnu5l0O6bS5eIi6H53jBhtVP+PomtPpqv9A/+G k/KZlRUhPNpG2e0lDeAZkGecsPj5HS25coJ78+EDy221OaiRjvufEmk5k5JUIQFtWlluJIV1e2Gg V835RRRVcPELPQNrfCHPaT95e1dIul4Xd3dvLwRmoWEj+N4fh/IUitPGTWuXfVVYzBxpgcYusZyX LJjgh034heEXlkDQ1obWHBAyxJDkvAIL8i6cDGVzWNhq43TI6z3Qarq6nUxGg+hArlHjowxNBlSa aQkXT9r00Q69wnIkLG664by9fLxuEFNXfzaaFbScHhKFQehBIuDH1w5EPbVapCkK/kRklUW6y0Gt FCPOWYH6NSK3E9Fbtguy797FBidrkxSUjHU0zHqdQeYzFclHR7u//G/gfXwMhnSDALbyecyMNt1b qHuck9hvvVTqmiluzMgwxqJxToAnco5PSTFzfrw/BP5z02SioCDfYLEp+vRqdRXyAK6XTZOcT3Vq ISKymMGxrNtevLpGydaon1UG7mczNTsV6oXP4Sk5Dvte9q9UKoxf6XWxzVdPP56N0t1cNDaUBvxL ercvKhYmHwP/Z8yiwI6pEJie55+LxzVhy0Ewtb/ZZJWda7yzS/4vkV6V55op7852544cpiBTCJuc 9z3JH60j+nHXmkOdrx4Dc9xn3tLJ5Utjbuk0gYTr/T9f+jy6jjdX46lEpEaBOPixbFAJZuxNep0C sjUBqh/zi7yrR38vlAHD8lpWmtPFcR/15gIaktRUTez39P+UzmabAs2096GXz4zF1OfR7GuZc2od kaGDwuGfbJ6t0tn9Qa++OsPpxBapjqHX0SYUhuWxI7J2A8wPErHiE0hVniDNRkbEbPuR/nWypIhm LCEZzApVFLwguCAhm2t1yfzxsStnCY0x6qNrs77gAcM2y+r6u0gvJb5792f8ZOG/0tJG4MQOdeVU XZcnimumAD8tejb8+3ShOVOJEtmjXN6EiZIBivmC+eMJKI69TeWzhIOXDGz61dWuz/nWn0i5UIcA 9T1L2/d93NQBjhcr4Hl84R5u5MmbnLf1DbhBQpsvOyRkTHK3vxdqyYQioKHhfvn4L3sUeFJkrmqh ApMxajK8y5vQEuLnh9qo6ZcX1YgllD6cQoGICm9cif1xSY7oLMLJoHzaPGbAsECRmiwcIX7At0e/ 1bSy7tnH9Y+yAlR0dGT0UocXd3l5YbEqoh+/4dYPfGtJSRdEIgbYl3BKwK/4wSR31451mPHJ1U3U gF7pFKddVgyw+apBn7R/f9sYaBzqa1MWFBQ6OfHH45nvBZgoE5F12yAvCB/90Low5NWuriw6t0Rn 3+hU0XcWRE//fvVSL8IQ+6/RBu1nrfHUUFHXh8Rp29+LC+r9Dsl8C1OCkAX8jJExbJxAy73eAkAN y/tjyLhp2/Lf1WUZrLgt+yXrCN7T0d8aCzt3RMknMFk8OaXKNDHiZDRYSKSkpMo0WGxWC3NvfDD/ bSUJf/0iQ4bjBRp+65wLqIWtcyIcZNcz10RmDiq0GLxPiaruVHyzcg8EUi5LekyxV+eTWiKSkoYn az3GlTNwlDn/dq+HQ8vWR7NWzaVGQ0To6KJHF2wJ+zNZAO1fw/FKy2BWtiSd58oFSLn80atUBeUx Elag7jBmKdNpg+sMJgzIywMF3DS2+leZXqQOG//d7SOSu14JoP8ZQt+yuAivpQULdAuQoAm0H4mI 6uyEPPLtmhw0SnQDpK614UC8ra3pyytkZmR8/k70r/T8geTXtrxHOVGkwe0fEBQRFQd8rHKhwWFx xSwhBwEK9xvVxPo6BXd+KZe+oSyJ+BgeFyYVFZXNdcHMf5XiZxYJHV3wfL1T+iR22qRbyqRbAuHI THBbKi/+HYu45jmie2/yIch+0KIpBdu9po0sQs8x/vXVMY1r4yGhdFzQMy3SbH++DRjyz+6sGpfA RXI5OFATz6XwwFARz8FYNxX/2+a/ndMpVR56mC6Z3hu0tMwT9X7Od256nDt1IvfAA3Ig3NLy04vh iFy2fqyjs4JJ7hLIgpMHdACt2WbpJG+8nfpRzX3HYTzvKgHqpepZ0qNXn342447bR0SeRtuUjb+w xEX3m5yWERjC/TQW2ttbq1XKT+bjhRoioKksLUKIACJKUVVV1NOTb3l5mcL/e15eRmbm8uFhSHGx VeIo7e6MIT/+VUTlVYSTtxmFg+Ux5WP1ygf4NxrzQCSqmsI106r3W5kImed972z7qlVurUrulGnU RdGAv0FoUZl93jo5i2TFX1ym3ekes34aZUelw1KN9jPvL71qwERq2vBu7ZrVeX4BCRAWNZivXwPf 8WpldfX49DTfjgsrwKfNDy08OTlEMpuEhSWiv188mIjXv7mZH9joltHRckmTaCcr6gDqB/cCOOO5 FpReRGvLI9iRcYkXb/PWS3TZ40rYd7tZBcKOqtZsbG+F2Ao1xH3PsTodUSwT8I09aEiM+lu1e9/y Tv6EhZ+QRcI5S8njGNp5LXlo2nFIL6IwFvryk7p+vyEzME8V5tNlmoVMro1EWlpaI6OjnK5nFD4+ PvqGhrKg6fT137s2Ng3afHAR6K39KEWCZqQh0/EN9cNT4rc/cqIQEVOuBNGjf3/4KtS3TuhN4XrD fJEsmS5v4RtigqY1pCEo2YUfM0aPHrSKvMt/k2DhCRtzF9J3/Na7cLFIX0noSYcQUp4f/YAe96jV B6N3yK+Zy22dp91oeGfClp00xPClIvuDkku0lXAow/1GVDeX1uIur02lXnhbHrZvVzetS5+xihOG flVUgIF3weffqAz6She87JT9dyJ9785yujnC6TKOYVnwizk2HPKd2QIMWXDBw/dKvxNKVm8jacz9 G+QspQRiPNb4xUcrlFkpAzlp3Y/H/mmbMbvbGdydVrteBoc9BKIEXA0N9wjBhx0/PW2cJ7M0RWm1 X6QZyL5r8enicGaCT18R+DyigHzghvvNKF1M+BihqmC2Oyl8OmJJ+LMsPdx5beAH2pQJ6SGFCRnG LvaitWze7O5yCpw71WHmdTw6KzKLT59+diocJzUWzVRbhbQtL10dr0ZERCxZc/wMCsrUqHcEL8Y4 78s+IlN1Yp1TGWbuvL6Sr9I9CQx5+Uk+/e7OmD0sOfLXsOznjRbajJnX7gLxq5l5Of5PpJ7bJxEZ qaGf4dinOLum5VDlmb57FMciTeX9so3hHVcV+3p3onyu/jnGjZCi84GQ1KdbDh7UxHckbZK6Eb/6 +93lyz8JBXvH/FZnYg6kGCY03t0UCYbDHCovxKb6+l3r1qymVBgH78zZLS/nouzE7Hs47hg5qkan omKR2tCjC7uRbnNOM8+p3huaXHyBMO9j0oB9asUSg46hHxJ1cc4aCLFdUnI4I94RZmrptDYvX1rH JWPTGNTnvub1Q3vbUvzVQiy6lL7+WXy64zmTqzx14O1kmfutlb7Qpba2KP8e/ESJexcV249q/c9p Twimza8tEZoxhYaN1gY+Y5mv3I4/dskOwXQ6WAWv5KQm5eeQqO0UF0y5xqUQTTJS9cDLVSEsvhEs Cvr0E8nydGMAEwuLi99qsYkQhp+fv85hV3H3DKBtTs7PwUTu8NhYERsbRk9PT/uDudiGhgY46svk a1ZzV5SRFblQnlWSHy9Zy5PV24QPC558GMYxHl7Gs8TB8ek0tk3vi4ArfDrzl2OGrD3NbDah9f7R wMKQTDD4i5EZHId0Gh2JUH2ynAknRxy27Q6yMWttgih9Wr4Ul5f+x/YlRWeOMuoe4RYShggsWtUU GYuYIMPeoaO6kip7cwxvslpOn9tFXQtFLMHgHESXaATRLdEfum2SBMuZ8NPVFV+/68I/S9Lw27Cp CAoRzJdhPFDpbVFHOZ5cbD26UO2fMJd0o96Tq7B0fLwt15x5354aUGV9dGnVYzaeJGnRNtyJM129 6VZ2iijNmGJIoK3l661IYqUtXUbOZvHeO7ipPUyPvHt/JmEpbqfWn6sMr2F4+Y8hm7cVAYIMF41g Rwz+Ba4GgNxyk1Eyf3//weumoo+IX1u0/xiW61TPMsYPOLu6AmHOiDNokuYUP25qcH9zDuI7ZXSb go7OcL7O4T0pKcBpmU37FtYiDmJ+LNYr5QxoRPgz62BSN+uyR8xRCGqE+VVgsWPe56pmZKvyV+WI KUmEHEvm0T+a1V/In++ls6EyA/AyLllaLkzBI+TAnDx44mjBYqFmcvWwZnISt2kru/jLMzG4ZLnd 5IRHyloIZTVvYoHjIU7Y5cqAXU5W/W7zA9y6y2zQGjZmWouqwcKU3XT5Hj4bsUj2n60P+XZL0t5D wU/PJh1g6ud9n9MuxOmWnb6WDpp6lCW73M2EQVFtYKHaznyOiemczmHvbPZmyOaiErlT1l8e3mWx uVVu8bHWQ56f2XAuZ5Nq54sJ61c1obhr13NZvpmm73/bD5D3FkNL6ngPqX/UfH4GBzcp8mbhP2sB FLkYvkZHKyV6f/0GC582uSsiJqa33hup7jCu8PnzZ+1K1Z7u7hwHV8f6xHThkLDQ0I/W1tA9PhlZ WWGRkR2hJMJfvnz5kN/o3HVrfvSny7I6ffgLvyGA8LHpgGjdo7ZJ7q+KJEXpfaUhUzf7lz8WWSKc rT6kdwnky6oqByqgtKSvPD+kv0/qs7wiTAiK7q1zV+gfyiIh48Rbf0Q9nT14OvbDbCssR+c0GPYu LUsPpd7fWYsa9VRrRL7C+PXr/PEd15ZCwYVOb/5yW2G4Qr8gI3e/N/3cWIxGkbg5+oQwEs5i7xzc OMoMkI6bep5xl/Ww5y7ZVDU7Wex2yCiyKXDe9qUW7pXbXpSvbIYUp7VY/cW0rGVK+WS9+UeXRdfh jrSxucjstUMG3sCVU1MorlLQRogWFvPhbLLyOnFLDVEqE3rSyzRRXteznIqOdtPKsEQNlXz3gV7v +BNLYyCNBpX+jvm0LX+Qwby7u/siKvoOWFJ6enrH/RkfofTardWvpyDfFw3p3v4wLus9DFHgzhpB R7SnxWFoIHTDPtBZjXqfVuz/KRuBhG3Ge96Prayz+DfFoaxkfIKUh2JNj6KGVXeueQYrdd3URYUh AnyI8/B2ljVNKlfYWfz1fo5vlADGURVHiSJOlYSCgrzFy4F4yj3ukl9BnghXaoTPSCtJRA89F3qn jWzMBbcTxAe6FPUdVCZICT8c73RXtsldO0/Tu58vC2EKeqflUHgajRY5NN5l9rUnPxdUUGDRIaxh ckfK99TsD1t5/+6e1xonYFjYiZSxO8i1KC34HaJjqWuAqPVvNNeA76h/t1ghVklThcQirYWVlVVY WNjR8XHuZO2X4snwiIg19ypyfn5iLy8vLvutr8XFxX31vPRCm6RHw9trFgufXshQGllbXxjOKAaS Gr65V93f9ONVm3ZyebZ/z2vCfoOFGEVjMBrlQGC7dYQY+IaO6qWEQSEpKzKjxXiHjSA+rHAw2Qhb q+/ATELV/tOphkpOjXCe0pmCyGfv3toT8v446+AvtZsXsfcs3MZN/JzRpXWSR2ZVvJaPG17547Va 9PE4HDxeI/u3V7+e7VBpSVZG6G5xhHqds4RFanzvzP6htZjUN+SKZp+TE8w1EXBjtCTHaG2jfLdt c0u41fyYhMI9Ub5YoP3C+GP9kmM7vKviSN35JJOSpnDLhrvk/sJA1TukrftfWwwJZm6+3mpDVkBW tp1eXGQJBmABXadTqWqmmYLIFo8iKPMCGTkjI+MZhVuqibb2G6yA9TSvNUGZ3ZcXsQOGQG0JpYem pb1DRELq6etb/ZsqgIzDsOQeIQeMdOBG6a9nM2UcnkzY1F9XRKzzjT+dCTHJPr5ZRPT3I07VeXvl 5pIi2GFZrkvXuyKuiODYEX109cU9QMrufSHOa7TvqpVk8uF9vzCmjZIx8r4EeOnTLGuSJnA6+r7z +y4VoJx2Rzt4J+3+IiCgtfgMWXgQM/WpavLL1nj4lf3Uj5WRYR43LC5YxJenijwIxsPftbVgiVSl CVHNJ9BtJbNltG93uWAibHVn6WyRB14cjUi722KrXei/4lpDLarvh+WuLMDuCPn540UDkpQNS+Mz hVUpfXcO3+/8HFEyqhO9a8sC5X9fPm3gHTaRJ2Bj9onN7qGp8sY/V1chfO3KQp7nw5/EhcJhHiN2 0tPbnXq2cv9K/sVbvPGZSjOZcYFn8LcY6OgfpH/TPzzwXV27rK5ndo3KhWQb3btF/DOBuLKSslHu tW7LltifPpa2sowt5D6pE7hH9NmkSUVVDKj4X3XS36S8L0XC+fqBHdkh+8omYJkxoNVEO8jMKmoC GUXa/2bOEQ7NvbWtDZ9L5N9WKyc6wCnF4t8vjN/81yN5ENz/9eZLiaRnfP82VmRSkCr+1ygL+X+d 9DQ7Wi7IL3e/PkGKTfy3q3zHYD5V0knX6oPiDgN8oltq+b9tq/obgOBnZ/abWjIyMnrYCL+LLP99 crGv/7vr/DeTq6y5f7r0mVIpEHNzc4M0MBWLNSWUlZX1sFetugzLwdvwqAQ5SlxA/+SPlvwCLKx3 sTfNOjjZ6Oa0MRCv5Bc2bn59st7e3p4QXfEYvNEfKyAujgx00N1p8qP53gqLv5pVYyS2lntpaYBN jzSmD6/bBYsj4+Cw9GbX6f6wMPH6hJqVxZ6uuvV5I3zo6l2r7SZHc8wBNX3EQqMbs9PBXCddp8to xtPkuprbg3qXlV/kHNZLME1NTZviWtWWGulwDOMaa3jp5qh+3u3tn/nuz0ZNN81Gs1DylYoND+Zq Awk4TxK2zylv550WJXR13+EF+aqUG9Y2zuFbNXxLo4h8cNgeyVQ0iGHUgwMut9igZx6gV3vz4/3h aZijBot+43hHBKXcFwkJg7kaGwdVPlLSDhVNIP9uLvb7qixmTSM7C1TK8wj9m7WaPSVuPtk0jckX nzvwff/BfVDjDf6lz7gAYfb5cKHxyQskJL3diUK6UbO6A/V+U65q2EA8Vv/j1S6tpbDI3D62x7NR KRFx8fZla3lOKYlZzD9tbd7VC64BS0va0Yejo6MiIiJv3717KiijDOpd2OtUyr14+e6cM3hXrSqv ysQBb4WPkpeXUFCmZNo8kJA7SknLo1JyHXuzbg2WWIYb1FuYyOUH6IdXCgr4mciEXPZLjZcL6Xpd wZWqBwtuhx3GLLoseC7LPtiA1Ww9H9ajtUwjJ0C7GI9mSRRG2SjlKxbGMOi0uojU0+GVLeD17Vcv Bo+bro/lyp1tDXsD0aDoFk7yWYHI40yG73aPWTKRa3xKsNb4HHwIVAibI+Oc46gEu075tHKDs03j yLBpJRQh7UNDQ+tugjI4bOY4Wl73Do0j2NiaCrMVXNhtHmE5qunwoMVJxePZghQLVYcbXOzIJBO+ 6Oik2tWlUTSc9FKf7YwHgE8YDXoxo9eh76tWmgp++fLCqvne0Ttyd6pUr72ri9lyjqOsvPxXSAg5 H1/SZpLbIOfQzfmuyWITL4jTOds+WvvtkfWEAylmo8H3b958vbpyBn22ducJVOaPHz9q+vNHt6dq 7cilHZd/hoTAa2/9TQVntduvnKzTqALh/LfaSuspLKzIly9Qk9r15Ge5Fg4Cb0ZJQ7NWf9hk5xZr exBBqH280gHU1980QSSojfYc6+1meC/nBBabPIZ3zyt71fLHdRlwGHCQt+y5MAVtPItiJoi97j4m 83kcXVwYLv35tra2xpE9kMAZDsqHDCeQqTHP93hnN1NhIiAt/RIgQMNRK5JlND0vbyI44N27d1T7 O1HJyUOgC18gIKSCqLffnQjif7hq2z8jdl56YhRdCujH7uJXXo2cVW1tbSA+ezBIaAxc3J77y8WQ Hn3bLJudMUo4NKLA5mZ+kBybUWqWNtuIq4Ol8omcdht/qyzUQK23F5v54dGI7GOLKBC5EoO/foXp DMIXdnXlypZKhhvcX7jaKx8C4uDpn1YfJNADmyC16PuiaO0OikGGwmmD4oO2hExAkvuJyOaZP73p 7U5+8RdJSTLQE0Ua9WU2q0KbFaD0jO5X1pb1+2zA+0rNVllQ35PWUm2echTnmrNanO5cTMbtvNbe HEwErdd0vYEPKEEYXKb2Zic/cTR/dmM8kb+vULMxjojX9SUmJuiHZ/SNZ2F9Z5Vmk2G/f39tbm4W a4zMPp8xK67ViEYprDvVc7ht7yL2End3bzjFc9ubYvzu7a3S7OkBjGhPGCkoMwYmpryJUvXORdd6 X/Qo6NWDpltL14u9HpA5g+yL7qsJfGYTNJ2BuKt3DTptcKCpEpPnpzcUQODznP0VqOTSehz/8w32 V0BAfoWa/LXr+EVXnW29436aUrEmi9lE4O/fL4vqD7iit8ctTuk06hh021/EsVsN6oXwCjV73hsP pz1vvr+It0uKG0xWsNl0TYqLExUVRUxNTa0wHfffTPZawEUeq+CfMIqvcyuWGbdBHbeSy3lw1Uq+ zbjJ234YSdwdBGkJtTMFxc/d4uaFdb6cOrvHJo/bF6iohl3BhDDKhYqdIcRDADJs+JRqHce4GGLF TT9+/BaXlFRExOeuPF9lEV/nem56nui0IHN6cpJ3p1ZjvcxpEkTMr7k/W10MHYeFjZ2v1xkoA+Xj pv2HRBaTsLy8vLjw8HS4589zdyeLlRQUFECFC2+urnLUqsxlxMTExkv1uvK+ut5d2VRPGrT5ouxM FKqN3925Oyw0uGyKPx53EY+D9Ew49QBlwcPEzBiMZRauVC3cAamW/3RHmNgjA1yiSLVS9PkYeZLz p0plmp2T9T4FNDS086PltkF7b29vjZEx08qdYEJu9SbYsfvbSyXVi7xeQ7b4cXCpfCne8wjTUuUx iXi2XMAzOyCUNEYK8zTnjzfirfIAJuTb3kRreeYm8Xmozjd7NdfpdiBW91lWqip8IORxLlFVVs4B USYfFBgoz3931Ga3sT9RGH8zJielEPcIlQ6VkKui96QRoJepre0J5+Ll/qxSUFCQAhoBR4qhkVE+ IbejPOAfL6U4p+sqOiOmWPlGzWI6tSpx0FQDAwOFColRt82Pt/ysXFw3CYfJIG0qrRabTEVEfpmW T/9T6tjYWMvs217q4hw/NGJFQlS/OpdTw/G+PrF70HhmClV5O/ugKop+KPhZWJiYOUaDCTLc9lsp fNdr4YPbsHDI0l0hxMV4QUIOgK7yQkJCuGxWPisomPFF9c47TGrsAMgf6rn1RuOTbmtrGwfFzVHM V/A4H1caBww8bloJmj8vXSjI9mAX/GeI77YAj4ioSJUGS0Ghr+oaqIH1hId+5qEc6JCe1dzsJFmr huNOqt1MUIudBE67wWvPx4f7PM1ipWh6rSLVQkUHwOOm2topcfHxu+KT2gw5AG/kFSrN8dGAJE6w B5SQ0wSwj24x8XC1IatsvGJgflorP38SKpl/Ws5qZ5AcCKvE89w8VqtT/12t6Wu724v9vBZt6ear FaRx3dIcYGN20gQD1KPqN+LMxubm1B0uD+bzqqurxRr3ZyrFzs/PFcrLyqhob4fThcczxaKhGiJh 0XAYNcUVcSvkbt9tDfIxmoy8d9ibKs2bNlcsbjgRPe/A1rLn9lIovJ4rysu76SYJ4Qg59M+bJX48 fHwYWq+hL74MJ5fKy1OtKlb3uj8frPB8uDZiffMmZYQnr85QEUiy3OXl5R00/jvp7bO4qlxwyWHj gguiDHdXhc353mA7BYXx/KI6UY+1UGH5+vmiOHEyByDEBk0AHA4mcudDITR+vjvJvWs4UaCyA5IU nOK2S9Yhry4pXpyM9e3bjx5L3+Dl04dzkjhsPkmIi8vzX69hbPIc7IU4zGeNRxbyzO+AqxS6xtfZ NRYPeciamOTePNwe5qP6CWjUOxbe3B4219f3si5oTdhbHo7nR+Ph4uYScdp+pqWikgVdVCAZw9DC 2Zhl93h3fTr+48czVnp6qcb7i9lxzUbXXLFoOgVsOnVli8CjQe7DHKtmXgmNii0Rh/OdyTGL2QUF NOIHeQmpR1VaiitN1lhF0IJ6jY94lR3ZNTUxUvz3EZOabkEABpZWV9tWQ/g9JfWdZy2qn/wtUGEG BDEEYAzmCsQ4Dqfte406+5a+vgCABWkTBlvj+diJ3E4QufzCIK9rnMtTyD86O1sDUPspe9RmM9Ep aTQEtAmD3YY4Dw8PDpc9BTh8Y9aqudAB18wMUEoCn0dcF5EbMsCTOsf93hyZ9KuTPnqNjfw8TQwM DAQEBM7N4hXtJ04LLuQARfVA/ERG6fTHMELcnyWB74uMK7vrEMPnwQW0R3tnJ5PnnXMTYCnVbBml 6jlbpF+/fj2Dh2cGaG/UOAa0YMq4Kafz0RtA0M+ePx+GSJU6Wij9LT9/soAfKlDnoCdIWVjG9teN +mM+urvz+KdZr0cqjZQbDalW0sl3LFuXOB/rErmsvbq7v0dAQ9sEUs/hwIqTk7NAoz4qltkIaI6t udpyMS9Dp+DMnf5YZr/t0ezRUj1hey5CNL6rN7i4uINa1TCQpGttbT06P18PYl/QXm71cXZ2HnOb NzsZV9ICWYHmi0roL5m9CtqxtavLTyFfkXNze76ePVrDEVd64mbt4EFxcXWOUCGyMMsC9XxR64m8 wvp2dnJnXx/Sn+nGsUQLzcTLBbeQiAjMh+MQr6Xl5Y9AxbEvOKf38aDxHMF8/PixwmwyGIjK2jE1 P1TCrdlqeijAqSX42dgmakMW3U8HNu9uVCd3JWvzBkMO9jBAAxgCGDk7mI8HYXJ01IY2SXV4kzSb P0t87tp4Op3iuD8zDJgG7rrjDkBZzlkcFjr6SoOvi6vryZI3muL0jtwoG28yCx5KtmTiSgj/w5/R 0fBUAT+u7NryAfr6PSZ0dHTgZgDirayuioiJwe540SgYne+M6xsaAmgv1mbAMR7Pe+206MGe7PVQ a5dUdxACOSnbeL7TfmbL6NK61QauA/XDXbvktfX1DkKnOWBHzg4Xky/2Z+sbJQ9ytuuYQWisrKyA Nje4OdsetIw7SLi1ql3Hurk8HEr56K1ca0s6xHOK7J/GYny9my4DmwzwJC2PCmgPZouZilTABHPW bSjOrq6y0tJLCfRv3vy59gJRGyhEIj3BSsHENMJZaNAXhV2wZ2Ji8sPPj5s9K40C/K3vx3j5cqlB Gxb8Pzw01OZjLxYBQWB2drbYwjp5nf86tVKp5mShWhcAmaHreH6vJjtPenr6LIn4ztMhfi/NiVRd Dc0cV2ql441+bQaO3UwyTU1NGo26CFaziZf4+GKysmFiSkE3cSADALnrAVv1DA6OCUj0aMtU1mvQ 9FszldSMjIzAUR710Tdrs8XvahQBSKbBQnr16tXgIdWB1fqjYoLm8eMBgdg4p83KM0AfvqcEI0CP nrnyAu4bdBEKIRoAxZtudGMHWMEyqeFECFHaLOLkJ1XVuL661touXYWuVG6TyU0OJ2GFvomKgdSH W+qI+aNKy3lAqkCn/XNmGxub8UG5UZclwJtGwPbSzePRR/wrvuC8v/WEk5cb9GEdAOGB5CkgO/+A 8/LlV8V8B09UVFQyXt7GBRegMKpGzGZAUbYBPto1gSPjG90uy3TafF03p38/XDY/po6bgs+wQdV4 gHcdNDkwtytUDJDMFvhnjl61ECt+AG7sUTlvEMAVQ/zAe3Jy7lGv0wF2Sjo6x0G5yXtGPr6mXgvX x/vLeo3OU5dG/sVLkXOZUYfl4s2YlRVdoAnnuC5h57we781nq4JApq4eHnolTaRZ4rEemYAAlb7I ByoUHjLVIK/ecXPPGqTLk/LwJIAm39zc29uDo08XSs89W644Ojqyk+z2uleXlv4AqODU7hqFKILw pWL+OGdhRkZ7ZrIjp6BMnjtHUV3Z+tpazdyYYn89GahtFoCozbt5kKF0pxKJXJGFatVloNmqRxyy 9173qUWXsVeBApwA0xEeHt4G3DawmZ+8eT8f7u72BdA3dS80uk1XWxEDaWzr9r40CJ+dyePGHsAY r6ycnIiERKbb5QHKyZJBueHA391zoB86rzU6LBQfDrWqTTidgkkpbllryvTec3HFQaLYBZUT1BSA GjIx3xxnSHQ0to6OToXlfJzbQa1fSsqbKDqNnQTFY+WCq3Sx2riLyZ3gDv/zpyjV/JOXHMUhcVWc NdXNE/LF/mkpwwnA1xnFA42icjM8PEzA6zq2f14oHkLEC/yhQHrghtL49XCixwrQnDxAWPGcdJOI J/FMr+PNTNna2WkUxQJcAZoD66tbF6V80wD/7V65aLEJoAs7BFt3D49aAIe75wVD1y+xsbuAEenP lcu+As7I+bgDe7rBhVn68vSDC2GtG41Cdt4qB6hdd/eX6IoQYv4DprxE7ls9g9kzcGUFy9FJLa/G zjLWZ05Fl+e1UnnUTof0+aeTdoHJycR8fHyWibcSZBgQ8VwuevGfbg41b2mi/M35FlJcTA+E02rT 7QEJLy+hggJIhx9izMYOwNC0AU3yQVER6+ssmtmkkL7+e8AmCTwuI+u3Ld7wekyxzoeNl9YcBO5X y36bcwWcBKiazsvPCxSpqRULtIHwCiTixaPgDoXWrqAeg8RSivW6FtA9iNoHqPmeh2cu9hLYUJUy fQSo5Gq76goBQ+TJ7itMWh8+wFzO2Ukleg7k5O2ta7rts/r7+3M47uGAYm/64ltaS5b/s8hDXqHD sFyHKdbUQzoZzcXFxf3+fBKaOho3PT47a5+crB7Br66D0BOIFKBrGxobZTA7ColfpOz5ti4uJldZ zD4tAdIXDj9UIn3YGkje4xExehll5S+qqnhWjedRpx/Xlpa04ZBx/iDRN3zt0NWZLNKgUavqr23g 7kKPQDm9B3Yq6bRvTMNpvsNuiLfrsPkRNcLCD3AITkDHSkK2uxZI3g0/Ys8l8Nabt2+fUOzyKfAt fQAklzkvQ0JCAsJdK5JWPzQ0NNIRBZfXlaX57gQJtN4fy+pTgDay6ur9AP/zCuWcxv67qFSwAfGY DfTtaTD3wVK8VdMyAFBoEiM+Xi37VaPhYEKP18NpMpwJZ2EQQDHWfQyh9FBGvc6jKb2Q45UAeibn I20y8Rjr4UAeg+pZl4frzVLVQgi6QRbbDrBOwhh0bQNIo6ClFVRQiCZ68VqhaiDf7Hh7ujy7r+Fy 3omY//GOGeSp6V8H5ljxwfuMFdZ+wgAsWtuqP1c3N2l5eadKZzdJ8HO8UXly4+fuS3++Ufi3Mg/x CJiYULLFBwG9zlHvWVvPr1glAU5be9h0a0qj5lHr9o/61Kh181JJvD7dtDvbkvEPCLge8npY5emq sTtoBqnyy99/pXJSc3XaKHk9VJjIJCLqOI/lJsfSbnMwE/Tl2dYwrJeXFxwaUT/g/DnVKuA1eB6u oFsPkwG+JEcvm6yurMSwWeABf0dCRdV7vYADjodGEhZcd2m/f/9+BdQKJJT6JBeB1ydAhX/79q04 QLPnSFgc9RY/fvw4AkECjVHAoeCt7dHfKNE33zFBA0qAZzO1rBwMRnfPaVTKfkAsiI7eOsC+2A86 Z+/iKI1Wrcre0S/vSmma/gukdfIVC/PG7WDHIxvVgdH/Ii6eYTSUNOe6W0hXKAHM2R+gZQfi2U/n 7IaW19fXT5CGrsOSkg4KAkDzMeh1Iuvq6sawmKBLY20NJvHG5+RQgMI7A3owYw3rSQ/hExUXR8Yg l1wDJm6wwfFwAeUP4ARcRt1nT548AeQyWqzFb7TAisvnzkEiHJwhly2JjMv0A2BD88dk/jheN7Zv 3761d3QM19oZFdXtUBG57TFunoEwjhnNlsLAw+uFBktFRGyIqAE5w4DrvGdjiwLpvLq7u0tgYDiS IQKN5cVb1iHw8/MDY90F5Ld6nTgEFUBP/m1wsTPsj2mBGobgrTmAGgDnvuBVAtDfjSMpayDJ31BR +W9tGaelpSmX6vr0neEyG5aYjJK1trWBELB13AaEp9vy/fmg5xpIO75Fj0vCgTjWfKdECL+L46pq uW/NJM5VXztVccp7POzN1TKLRdEsg8iBFtasrekHE3DK7nLhMOm/kJGRcT8bFq7UrOLL4+KfqJCC ehs0J5H70UeYBfdTCUmA5tq0BPc35yRkZL6cdhuQ0gY/XyQlHd2uARz3GzK3tLTwXC150yiXfAWF hhEKJhBJ5vMwXmziVdLyYCXkss9hCeqtqk1O1sqcrIiJwYk+2JKeiON0OVlTHe+pXvQUA70FHMEH leJf4NMFr0ePlL2OciCoBmW2IMUdHR09e4ihVm6IEq3lyQm6EIBrHBCAo9cNah5DsAdEYuO5O66W DDgQ3HE7HUDdAbCLTCpJXEQEYenhQXma7fzoCKhSuOfPx5Wr4sYqJMyA29v9T7553a0SQ8PUUbRq K4eHhydEqTuD9wBvjSCraQfkBSKv61lNzoJARo7DVW6XOZseWzwjXhDm69cQYGpqEgFRsZIVb5ln W7veF508GT3OWlVTw7ExmNi31OKNX0+BPeZxOS/s6fnASfspyGShwYVGteInOJTdUeYzKZlE3Gdl 5SlOgYCoevmQzDwoCypMRn2FiT0qSgPePawApDUEYULA514zwY69ItUXTb8JsK+GYiEkIipqw1yG wgq36eUah1UdXedtxumAZXU4yJU7aioqW9z3u8VYdOo/84jecUwl//4N8/27+/HlZcvQED49PW9S kisP7y4/hUx69dVdYqFqZe/0XYP5NBMiIuLWRKEaSfROqxsw3iA7Gyjq4n8FjEJys96JHgboTKPt kUy6Q/1QPZE7jSDQH9yHDaPXmhTHl9hERINuh41Og7Czn8Yi58g1eOyDNL42lwOlzggEcEqB2xTg PI/hIE2bt5+FhE6uVkPYHRnVI9AGKOlQgUgXj2XySUt7BxI6htUMC4Cyo2S0Xq4rJSUltv2V+jKf oIx63dWvrFQkoeX/shbgzt3+bY/Ngr1G4KVINNX2Dtm/56cY/lke9s8LvF//N2aL/ne34v33k11e GKBHyMnIOgtdnPamPoJohgYozSaLZlzqnQ4HG1xOd7Q+LOvujOUCBH2Jg9MN5Poa08B/pqMi6eKj o7sA171ARn7PwPCyft5zoa/e9dwUWNFBN76VFUajQQKQckenp6vJj3dGhdGHwHMCzC+UW6jkFE5E A7lTYT6NLijTPTjoGGtYPg0sGyw8qnxdQf15VFycf4u28V9b9oi4wY/Y6dAYM0AfvM38gcoRjXNe xSTnFYTOYEK17AYzuwLIjgAUGqdMDgitn1X/OWOM/k0K4POO+xNLfy6Hnc+mplRAHCgGnQ7GMHof zNdPUibvWKLSRQBgXF1dbQO0o97U/NJATiESOLzTHvLkGvdmh11FEILdAIF7hoayASfRjfLy8Djv Fla/QEUtYpkHBhwGlH1ggJSfn7hQUU1Ppay8PJZB5ymQBs5ubnYdr5WO5p0Wxz3W8aZWQ/gldXXf AWxo7+w8aUWirxHnB9ro/vayS5sBGK8+IH8PmDw6/F9XWMxiebd8qLacvwKie37wtnyIbxWILyCN oktKGKCk8/RssqsbNl6rmrVsA5Lo9++XQDz8ysuzjC4kgywtaFdjFjzDgTiHwTMlTRefoyNrd3d3 HGZDZKC3oIO2t7cp/L8PGOrtTZU23OzkD5rIZYm/ZWWNtFntHDf1wPtkMSjjtW7N8eXO6+KAm8vf 1GbpymnU7TDx9+9P0ZYwsB9fCH7YfvOUT15a89kZQhp/hy/PK0HBn7rpVHwfBDMuFxBIv/0gfYb+ 6U2j0ejFpXB/DGn8vAQJ48IQJyd5z3wsoCfLRDcj2KfK1ZaJnUMDoEsAKoaDwANyPxUdCzRHLLOR qYe5cY29WT+T6XKrDx7+zEzvGwdg6xlYWQtLyzNo1ZXOC4e8vb1dgLTZfe0Hf69xKmrBsn6vjF0X BQt4cG++PhrAvC8KfhZ6Vq77WAcI3n9m+qxtbJb3pssruX+R/X25ndXTHUoS2qNPZcKo2/5TdT+9 tPJncIi0U7pwCBkDQ0luuowRsdcdI6Bb0AGXqcRuuxOFaxsbTDYrnyMfyd+/X1pf96msrJzZPzs/ jwV5HxUVZdqGgY5uPFtF6+paZzTU3y8+Nzc3VWWBj4CAADxGrEy60CsMjPRbBNY08FnTzQ41qNXP wMA1oNz1x/MUZK9iGPVAId+SkvoAB3J8Nipld76jkJJm67qTm+287INd4/XI1+h6rnt1tAyU85b9 Xnv7Z0DjXZVmk1PlRmhAkKxnRmuGtS46r6IAHhSxt2e5vTw0Aufm6pLAhiYXATJnAfUw3lplOd/b 6oM0XWNDAoqXkZExRmX5+NnV1bU/nj2kIwB7Mg+D4k5QDTcjOCQETa8zcBmIlDy5q7aV9fUOoA1H M2xe4iVTwO9s6GSoaWu/2Z0shl/qj2XGwcVl7bXZyVOxdwes2mNW3Nj5AwEDGnIpKioCPYOdY/wM kDm6sLBwQ0ODcoVxqH2p4VBSELA90IBOYfVC69AQGlAhwIx92wkRAb7NPygoqLc0mlat8+sTWOUa 67eenp41NTVHD7eHsK9JpACsGADJenV7i4GFJQRafnDTYevvW9eLvV9BQSgWs1UGs1UWslPAA9lY W0Ozffb7M6+lpKSaHh/cKBtKSn5vJrmhurm5qVaadhyvdpnF5sXRKpdAawnFxcXHJB1mQQuBqJqa mVlZXk5l+rSYr0R/d3cHg8Ni/BKUBBhWdcShoSFoHMLZxWV5ba0diK3unp7Q1t34osiR0dHrjXir GH6vJkmbvr4+AbJwgGY4CYmJKnX2lE1NTfY7Y78CA5FTdHcWgfbbnq2mT+Ry0L27OtY3MsrnfQB2 pBuYA2JkZGQYDocdTHDF/jjWgHylYtFLvXEzbFBlEJfjkszXd6dDx6en0MDm3VEb2shFpNw8ExMT pDklJSVr6utPT/ro5eTln31tbuYPwKbPAu3GwckJIXV/fz84tXzhiD1QaMpqaqubm10gZ97fa6VK Q9J1b3//+PzcAIiAyjjJMt0OxE8CAjaOjtDk59nuZAhImKcvCQkHgAdw2Ux0Kikt1QHFB/USwQud AZaYjY2t4e6kT1lFpdR6+dPBXG0b6AsHrgvAMjjARBEREVVYLSYBHy3aBQdwgdBuo79ldDQclZCL AZRKsVizUG7OHvJBJ8AP5dLeAVvX9/MVCTTWGBwc3PBws2u+0BB7d+deaGNmni2VnCWVzAf11t5e P8hwEVFR2et+kCBQXlZVVQHVJEpKbEYNv6N3staztrbGsiM3AJh+eWPDt7ycGWgoqxLK7HNafnrN hi9fvrxwdHTk4OA4GpOTEtHhf7giAR3gDhzYHXDIsriyKsnfN5iMAUxBctxkNGu4ycMN6AB5IUto 1huUfQDIgbGk+CrrWPHOMFKxFwgI0KA3ADlRnZkdu69hYehZkon+tbWcIMSobMRERIDQQWNnZ680 kANWHjRtZ0vLE25ubtezrY+6umkzzhOKhoZkJEKBf6ancfHx8aGZTcBh8nzhgJFLdNpKKioyhEOI 1BucZRDN+huenucPfbTDl5Cbc6gltrO1/fnz55+uLnhqamrXy4MB4FcyrSUm73QiYB1SxdQEZlkn I5So2orVa9/d82r/gQHqMkvubifcEmRQOmgj++0Rn5SUN3x3RwIggBXgvvqhEQ8C2qSkptY73RhA JuKpmegyER9IW4U9Ak4KGqy3XGjoOd+dREBE/ASCyXrpg7uHh4i4+NrWcHqBSrmQqT1w6Mi16pIg z50Bnof2rXevn6gG6T4h4PckYGZmXrPl7OnpCSTkVkScrbYiVqsyf8vGhpUp2+P/mtp+xsjcnGZ5 eRkaHj87s39HQhLLYfOO3XLuNx/Qk8H19dwAEQ2A0fj8+bO0svKLP2mCARweNyxKxZrrV8er5jMV uYqbGQPg3d9966bCqa8Rn0Mjt8nuJwixsbHqTe4qrglI1ivtCKAU0ozPReii8/VTQN+hv37dAf7U uJySPX/+HFxdeB3HQWIyD7TXP5PAi02NgzawkF6ABGGyxwUuuGLHxERUIreT6DJUpq5gws+Cgm/D e5zvzyfzCd0WmzzmGlzCjZI9FG+0QFuA8oCGCQSNve0J2R2FqoDgYEU3vlevXnWv25KJx/wBYJG5 T51dd3+7+EhGQgJbqz44XW7E6XykXUmpF6mrp9czMJApFk03EyZje7jAC0hKRExsFZi2tVijpNCR EwDnK6ANPgsL252siUSe5RWCWAT2DchofBhGRkYA5MsAB+KtmiAWAagSPkIJ/FSVxWxYQkL/3fXp 8OhoW1tbeqf92MbZ9uhIqdy/hv006h3db/erzefrKmdKWTsKm4AONJ4sIgRBuQ6umQY+x8TGtru/ cSi0GQUEygp89SctrWRsTedvH73hthsKP6UuRSppvmVkDP3x41lBQYHzzXa2Ah+0FgFwlijQUrW1 tf2J3EqIo5kEOdQCAgKaHufjeIdeOTlz0KyruobGNYA6M4/ANj80DKAofmFAG2NoVFIWOigsnjC/ e/edz+Pmd1RUJ+gNiFQzShAwyN5E9/36+RNaQyKLywRCf5s5rvfNV6BJj252i+2uTwyA4uwDiJVR AvoEDgWvnTzZPc1RzWJZWoYNOPxA4EDZLOcA3gjDzO+cgkoyet45A/DfHs0OEZ1TV1cHPeoOAtw0 5HY7OzkMXH1/thq013oAfZNxCasyKSnpDx8fm/Xe1xBoczlQgbCmSqwCB52OiNEDXdkC5DYOqylm Zmbmh9WNyJuJzcixyuGKDo3oWxtg79UbXSP1uoKhA4GVyT5h0RplncwkgEYYEFBRyYCL/vnzRWTJ TUQIzHy9UzScJv/1WrgpoaWEBYpGkYuES2bTTrwlEIlQ2jk5OdEB8HN352l+fOAG6QcTExc3AmjP cX+mY7nNT+GgeiNl2t4dOF1RELhPSkpK/szPJ0KjUY8PHlE0Kt9//UIAgrc/hjF9wm6vEvDuEv/j NZr0MU4JQBHZqalSvdKSkg9SUiGgJ77I+SV5XKgQEBCMPVBgIkJjO9AYXo3N6t/JSQDnfNBgkJbn teBMNagdi1EN0ONrm5t2txcWMJ7X69iQAg4PxwDygmpUC0/NxYXz5uYGaO2w0NBvhYW0Hjdnwyaz DQ08wB52jWSKAeLqnJtLYF9w9k72elBZtwOJKwoiyv16PZpGuSRlYnMySwL/7v4eUF7H1BQO0AEH C43UPiH47Kh2dnaUfI8g4fL29YbTBEHiw8vJjaoSN9P19vVNV5hgABBs6+1FVFJSerg/9MoPUvv4 8Uk4udRG5aRmuoAfKhexAKjzcyQsbWPjbtCfWyOZSM0PN9Qw0AAdfdPVOzo6OsDJuYF8HiCFWDXL oTUQ3INAsx5fXEThmYP+UVZVDQsPb7tc9BoCbry0rOwdPb0UYjX4y8YWNZ6vFB4Xl4euiQ+dEB6V QBtY3pGmJyCJpoCKcbvYy3U0l7DJL+6147bfeonPZv6nt1f0prmqZrt1bCwCxCpJeE8eCroxMEfE QL798vF5npWVxfN4dzq+USIFJCxoRD0dnRbq4oZWAHYZV7uyqGPv37z5sH+PSURE57FRu5lEwsen uc8L9xId/VM0nUZJVZUhCE+uZKdMYEiei4mJAQKI5XFhime3KjrnMxWLth8dHSWhpPwFpGxgUJDZ vPJoltPhgiwhDh6eqkXd3vfnSEAiy6uQK8UfAYJ9om1kJHx7sW/GSlgNIOWHn5+erm4rCBbTysKk JCIVFZX2jg6Aq1sLjdxAHXBZFUPBAWCTg4srLTu763SIX8rGhrG0tJTKhpjHmcHX17c/mT8ZlAaA usJhQ5qEx85pHsisHfxLt8uDY6CXy9yvbefm5xkZGFK0mj2pLBgsJtXVOBlcz4yBvAcOWB/oICqd c0riJ6BqmZXUGOSS7S0tH0kbsqp8i7YVJxtGXq5nZ9mfgi4cJAduGUQRwAP5GZlwMgndiQIVYLFZ 6nMt4SQIv4kWqlUXXTSrVVumSlMAwVJ4xu/z6Vt1tZM30ezkJHaseBZbwQ4XCsC87V/9XcRe6qtP RfX09Czn6yDpqjAxtLa+npsQADCiIlhAS4uYl5fX5JGSkhLIP7Hk87OzgtXp8aTcXEoor5M9bygP G05RLS0t3Y9a4KHJENXqRo9bNtHMMACZoiaqmprBpaWM09PTsq4TrBrUhcql34MJuSe2O5BBhuHg 4HyRGwO0khnK/sGgpbixkdfExCQiKko0mR9Q7OZgYjieC5qAkBBcR0dHTW2tyKOdg4MCpXGKrv/a 0XLb9t9U785hAoeCwkIFLluQvCMRkfVOh3kE9TuHq10hxaXH59ptabYDvU0etwwsLM+oqIbn5tTN zc1r7DZRpRl7lWrfzLe2fgdfGWn28tp2B9omj1Z5ciOE/2FpPVrLEFwfyLPakIQEgn9GU3fG8xWC Cyktzw10dD5KSqJaNRzDQf+A2w57KKa1DNoHOgYaDwShL6euLm5jU9q7BCs/R6LgNdTXFw5nbU8J b2p7tPSxUq4vL+oJyIr+JN544NKGm70ebxLyVNGS1Ma3OYMEo+1vgd6HtAywVakNDQkQsVUveta3 rEjLTavnAq8LLcwEyXsKLfaZ1VSrqbo3k63kAZybO15V3HCC6OPjIx7HAiUENNShWKROicI2Jgyi 9vHS67ELMHCGSR7gC6rrzJ17fUNDX0Cilwfzbf39BZougvE3Y5sKuWbp4+zJSlFOcRNbpvUbQRqo Y8ISFkE3VeEVJnsn5bZY/lmO8o8P98eXl0ZzNTZUj1aocRJd2UzHeScXF53z8xq78UJnZ2djdCNM rKwKLvqqo6ooDl0TAGo57y5mrUzbDubr/aqr2YE5XoPWYJw3pab9LkhAQpR3W8+jCwwM3OGh56Wh CSwpYejt7VUu1f1HV4FIokI6MGBSqbS/PDl5SqUZoh49GFdlz8rGlpWT8xNaPgJ0+kQNsYPNaMaO UX6R3hdR0daFBc11ImgC2nk7M3pH4+24b2IioZCQ0HtycrF0HQAVCrni1Ny8CwsLBaqVeZ2D7hJl 5eWUFBR/gMee8Von2YHnVlHwWizR8T5rP/sIEp2MhgY5Z+tsb642HFBWXkElEipqVk1NTE0Nx/Zc Wnq6C9D2mUe95FKRxw12m8G9b76zed0dww/xXhIACaoUu7C9tfUzPZ1EqUg9NOu9kLCw2O0EVvUN IiqqYmw2ISFhUGrq24eHh5j4eLNANQFGJibZ27SfXve7WlfX169ev/aJjcUFurlI8SOfsxSAc11L yyI7Tmk53PF6J6vK3Yc6h93OJF63jGYt121SvpstEtDoJBJaYwrrFPoSBmuAvTPJs9A2Knv3HTxa fLkcaPkBXNAWnnLZrDwDfGF0tNRif7igcSMu4aAroFKi/QSYdx3gumRdZOKtJfCoD7CwsGg0G2KA xw+PiPjs7MwBaLXhYsaM6zA9y6xJvwcdlYDjz8P9LWDKrIoK+Z2/8nlxSoiIiN2Dg53j45ULLoLY DoVD+bKTkiOsB6wao71Pcq6unJ8+fWrPlww/nk3gPBUhatA4KyI9jFCQC7K3V8ohT1PPw8MDyAdB UVHRcrcO1/LYnSxJZWUcpthAaH3J9+9PRcXEaoE9rBS2Ozg4ANpYYZaPgeE3EjadtLT0V9ncsSnp okJoQgMIrUp+0P3QhAXwL+UWs2zgq5Q0NPrAF1KFNLFCE3PAEqcXFASGhYVxeUxKWlszsFstyKtQ 5ASAmKgyn/7k6ckHQRg+vtjoSJ6tk9Nmqw8S1WN5SYn2SIYIMAu/w8K+y+auAbbjkpIaiyqSZqzs HR2V01uV05izrzQcwAOGAPxAEl0mXUhEZ3h4eG+2OiRay7NW8raIGsBukusO5QNQChBZgy6D7hbP iHbCxMRksN+SBhJVpcmdE9HnOxDcqgoR6+vr0FRLREREidkk3WAyP30QIkDaqNfUitZAUQFFCE0x Z+x3hhBrrbLmm5cMAcqymK0qBZUXl5CgpKIKQ9wHuHDSTRJydFB/GAa8YJZE/E9//7Csb8F4rP4F BTRR9FqSoNqHjZdEAPHHNTGaXE4NDftjZPZz262a7zvLh/j6AKW/QERMy8n5ss4MLdCAnAuQf+3t 7SWu56YmphFVNQp17tdMzIb9SyfrfeMjlSBt0tLeRYiSAsqhmjQAjhrCByAiEwIDkbHoNfuBz8vM jYpbmZD+7u3NabPyuXK4HXwE3SkL8gB8y3RyuVCjPgqf3fI3KDVQ1e8KQ8YqCXJyA7mcj1Jmbrdb HNgmJiYarlYCaFQrciY2LYyM/AICxILkeKPoNEQtLemOj48LNOoVDfaNDObGM+OLdlQ9H85Gpeaa vbRuGmRzCy7GWoE6jYmJMXVJTf3h6zsCmgZvkSGHVj08buf0ZqbRrboia6y/HzlWXHG3hVrCpQM4 ZCMjo5QVNy+ivTeJXA7+QOFLq6r2rnQEHJ+eQovzzwepZ8ay+SaFJmsm7fm5uLmhlWGGA3GCtrZM BgYGBJy2P2pqalQ70vnWP8jlWHEjUM1UR9L/rbHfDhNNcsFZ31xUKT+4AmUqcbu0BEFwBMTmwkLS ZrKXpmuE+va4kha0gr+mrm5lefltI67eVIkOMFl+gKOYnY+WVAud/nYOD78iJiau5GeKFcfLfDhq Q7OxtW1taxNY/T4EDxIjBFqZX2tndHO+K2xtbV24Cgi7G9i27ZlKaoAAIzkuoqL+mJMgwY5AbK2s rrY1P5zTp6Q9aQByh4eHp6Sy0mA8T8F0c88T+E/AjDDAFkTmSgKwgFYyaza66hgYdKyG8Gvuuzma ptFqAGl3fbUaMt5k/SG6ZlsXiH+e43YMZze31aWlP16Pt1qU5kAz89zulQOJO26aDAMpXz4+vpFu xcOFRtCJw7U2JeDagOON5+tYNersU4HSl+WCggn4sBLHfdX+/n4GVtaOsbEKxdH5hMRESnr6rpaW b9Garr/OdydH8xSoYaDlB64XeyLS0i9B2hn9Tfko2wF0icoqKzMra2ZFRcTjw2Wzep09Ajs7O6Wl wuLZCVCEAAffF1ar1TsW2g/V19SUGPRhgXQJBpIGAPUGIO98NqsrEMmQsR0XwoqmUXnXCFd/MhVJ iJTj/H2yUI0doN/WaDbaEN8tDeCJBEmbfExi4iElLY/MCwtFaKwfyGugLE5b4Im1TU17s5M9EeUb 7g2XW314zsfknF1dV7a2cspeaqnN4bVGUMpB4dDTg4CEhGSScQQKCI3gQkvm3gr45njIdMYw6uEw 6j5LSkpSVlHJdUfzpVv/IGEQkZ2dDeVLNp30cYTzUBKvg6vD7aSW1wCwrQzs7JvAVMsgIKGgkL55 81WY2CMiVy5b0c3CQ2I7K78uKhloaiiwldXUTtfCpU6mjZIVbkW/l+p1gQgECpSdiIhob6YSKccL V34ciOJBYKXM3HcyaRvIWMc3Z4CGBsFInCUe+0lWNsx+SB5VCOgK71QBP10LC4nZKgsEFJTIHR6N cfuBx9Pkx9+RkR0kITyfAPkg+qSpZpt2/35boFz6FB8fH6i1gY2B+ExKgfMekGPVIMeioRz71HE2 //UrjOv5jg9wdaebQ9FZHyeFPHq/ZUknO6LLN4gvAwQjef/+R3HzQxyIThEdtPy7u/owyt0jcZVU 6RRpCgoamvfs7NFAETIxM/8KCNBr/YHAallttzkI94hOvZxscL4zDhHj1taWqsdQUBE0tAaSLpbP w7WyBDAcNC8O9EmG8PijPFBxpExMZTPUavGyX7682J+plHPBOy9pOO7Evzvpo4eGjrLpE17jKX7+ /Ax4EpSLjUrf379/f9DWTjnrvY7KAS0NjYlSWVUXSNT8LXF3d4cWMuzcZa55OQ2UElxxGxfYU1NT k5CSCt70DAwouLS0enveHQtH9HLs7RdaW5d0Tkw8paa2o6EdABnROjX1Qm91xsmfeKwg+epFqzfQ bsA0mUdIhrA5HczprPdGPnZLSpmaUgELCGnSuzv3ptsDbl9k3JGx4bC1tTVrcAicxpoGPjhAB6Rp 2ugoNLEg/OHDB2+PyeCUeEBFxuok+bTqL/HCoFH/5CjLtM/oD4pkUklz+l0HILYTNWFn0DGxscUW t3WBRfz5iiRPAsVUVFFRkbWpYU2Hw+PGPpxQLUdZ4KgT34rFgUV+amoqxyNfRQwdOMUvX74ktvn4 srpdmAPsiePCk8jijIL1gn+ssMcgJP6Yk1bb6JFRaw2YGsSdBCHKx6vZK3J79x8bBhd70xKEzz8a X7TLs398+eyfX1We4eNX//rvs9QO6AT/D3zQQHZ4BdgEuMMTLot623VR0IklFRX6wNGhEDD/l8P8 wWFjXf2xzCJfvkDqQoLw9X8+iyttdugS/veLZx+xB9JWw2NiviTzeTAwM5MA+Xx2Zk9J8/btt1AS YYAPP6OjsQOwaD/lyu9ULF6fbo4C4+OLgi8EtD+0pFepWNOiYPQ/Z0uNNcUiTJaIZzseYF/8Dc4K jBi1YgHMh//JKKyvw+7EdsMhiMlS+21ZyWS+gVEp/gEAMvYHHAjf37yAfv8ysQQED4H3JT58gLm4 uEAm5IqIicGBuTiY7wP4Bq0LIyMjc3ZxYdTrRGaznMs5bQL2GToYZjRLgoSMTGim+V9nevPiERl4 3ScwwsLC204YGBiISEhPahx2sYAcAhpGdBnR56mVlVXipYWVFf29pbl5oI/Pc+BhqW4x/1M3AzNQ tziIWg4OBkFKsngOdnf/DAtDr9QREREZOQTSbG1jY2Vvby7l+L98ycUMS27eFB0Ly1ecbBW6xy4l 5evIiCydeg0kdhX4sAkI+oHvzSAXVEjkcQmDKF9WtjVNMACa5ObguNJJ/P6fCgx8+F+QdxJIrMgh iVim51paWgkJCSUlJdIu1HMlOm1Xd6dDpZWV639TBcxnKhB4aTYZZP6zFqDR0GPmP+dmKSFL3nEE PjOyedH9VCKyWa3StANkIutBG6AQWrWqHJTysrK8cbWl/4SNsUt7Otr/PFzNTnItg0yOVzqgDPlP 0D05bv9PzP3AkrJ3/y/nOf7c9V8/OEwtPo497jlEu/39n6LxvO89sUW0ZabsHshgYA8wav0exyX6 1XmF5N+t0sr/devqxX/iZeVXcMh/2os26X/1gSZoyK3tnp8Jt8/oHLEkCCMNN/lXBbZmW+oXblVY PGAK1S3w3wjR9kUcSf5wusxndF/4sXBmunv9Uu/sMoV2XvV7lO3+rPNM+VnHRwgV/vb8/P0hC20f oJrxRJydx4Js74Cv4iKXXIbZPiuIX+7Rm1dr618WURcaWMrcvA+11DZzKbmUwuEd9U/+BOPxM5t8 gBf68WxF16jF6JFINv+ef2LYb5L8fLlvWiCW+2JY1QL/4id9qF3yG9sDDBovFworKYRMtRS3wovh ztGkEEPkAjtnvVImdsONn5Z3lz5dv0C9LHj2dyuSeTctrU8tDWG7JI1NWNbtYsU7QVlGSboFLGoa I3G1PiN3LPQWdN6rxeJjcF4inJ3pixPP+HTVVxUdlzMtFRp92sYteHCWyM2qGSC8NfZGPsqRW2TK abKRUzo0rt/g/c7jbKTqpc+kktj6pA6u5jT5+C2MO4vem4VBtq8Xt6VhVTd1fOcuEjZmFDNF1yWa T9Aa7cb/XjeQSSRGx6UNmq/qDCUwNiqzmTGAquWMV4GvfeYZD8+k9y03n9B+J3TePrAgu7lPbLHZ oSb36ZpH94WYIaquqrNRv0Sg6Wt4jYOuTtHJLNN0XmQAYadSFacVCQffDqZU41h6H8pPA65WPxN0 Fb+fMLkdK3DXVK8K4tQ6WJtMn4xhq2G2RK0zujEUQxhmP8SoPTdvdLTjO6CjxHVBwaRMzRyJGIoU Ja0f7MYdm0dzGBg7S3g62EXKXKK2j8+5Y2+8//1X6JPs4nmT3/esGRsE1X4is6z8dvuoN65MRMdO hXI1ZDMHwqk2LPZ8VkWgmjR0tKtT67PmfARyuxb7BeK1mF4hIZ48rdz5aL+VlPubk3dSbaRT89pv p93r73mQFPcNjm9IYnDwGWw+3Kp2CeAPY+U2+j08z3I4/tlMHeJw8lGKbNXZ/l0zYaNQrawIvpSb pnMadXHBFKmHY0eCjnvNAcOvXM7++L/4SKP+RI7tOUkRkZF27CQhr5uT4P7iWVrqdtc87COcOGYU FCScTh6e9IXiiIr2ffN/VU/rp7e1tfk9MZMy2mrBqG1BjCtRzlSRD9tqTu9D9MTdobZ94khHx+D3 6uwfuhY6n/b2WSb2az97yjDCyJxgwqjWz46bLMKsr4v29vXVOJP4fBKkTJKceJ+9zlSgBHOAGuV+ 7ia42TI0Hxwt5Gg0GM1tU8K2ui7Dy8jyt6t17Odl0j7an+Otz44JdUWsBH8GWsIQ7mdXl40FNXUY 64cWlroz1WBGWBftLuBCrup1TAz7D7uKbXhUq1E1Jb99b4u21DGWruZ77F74Zm+y6luYSbl7qbnS DtvFysik/fnLG0K1em1D3e7ECoKmRZtvFXtPYbhu65nuhmHMaSVEerpXveDTa0MTnsgHHlzVTP1W S/kzOw3Hy4u7eFjzp9BNhatDQq4OF2/rWLBd+iIxpAt8yIwhQKfe3Fe1WkrxONcU5McrdYHQCtqm oOFdFUFt7/qVGwo6+9c39MK+fs+WzI0+ipjg3g4t6k/i1k7U0MeMRSc8fb5Ax0ZQ746vxa6mvk+j fDyLmyhUl4W88yM0lS+/KjG8qKXGc/9Ke/+tLVIAI9uYEahF4r0GI8Nf8psND88Zr9i0FVmYpw0E ONgzqG5mcoMdZOnF2beN6bTJyf4iK780Lbb+zvgEsMvm+RxyeCQ+l7pcD8GwWcOksOcr4lqev5/y UJR0qZVdf9TRcMedmyfOlO2hFy4SdRGRItP7MsTGMzOIoScAa/ne6Gi1SUx/A2t4YTKWMaQyMycD kwTWQ7Lz/auLL9RF85Krs/ubTyqy8rNqglAsxNy0jMxpxG0qqyOEaviVnZRnHkqD+c525xDN7PTQ DzdLPA9JDwwexmFwXqF/Ka5KwsHfCZdLWYJa3/a0SdLgN9nMygT1VPhb3vvMZsKCAWcPWa131UnL rrJ1E67Co6z0SlTTHkKSzmhegx2kSgHxVdYWFfMhEgNT0skgqLKDsnmdRk+VqzffieRywpznRdc9 r2MGnQzw4u9ktMgy/oXmxs6+/Ae7aY1F19y3p9feO/HR/YEosTwlJAAvQ9+ueiryad17RvXPfUo8 CcviklOrw93aZSzS4iYyWRVKTftxatNjj2Jt1MLu5sB1+SOCBl22zHh3VX7Xvt76vqh30W1wIcUt hftCMUvWo0hk5d58+xL0ki2S//FoKW9W330OpcbsDQcjawMGyJg5wkIGtr+blxilsvXSGBp9XbEk dTb0zMTcYhiqtTO6OcVDl9x02kYGvasaauVHfrAjRt6NhCa7B7CZKG5WkwrlW1d3jnt4Pbi1+huv 8xpT73j3XG5vYZVj8I53al4eGKxty6fcXXalfxCEXz8dIM8/96/0CdldJLLDEHg4nPXAwcd7eSyP 1lp/e3p7rLzNPOiIRXO9jbNB5ttwaY6TXUz2tjk8ddQFip3JTr+S1TGHE8SAfJ/kQJG0jILAPffn /Pv16rR3oWyWNPfXHJzXiIbIh70xf6vuSk6/S3YVofA7cYOWzUAUCgfZ9nBYf19xXGF085fubtHp 1uy1ZUpxVwBJnR0T2S+DeMmVbf0OwAQ1ybFS5rp4MBtkQqBKpcb3Ok95CJ1t9NkH28nkZFUnrMk1 vLVCNFchDGdPrZ45yl1OZGQb2UxPDg6TS/mzOE/k0ej/6h02N9ID69orxTvHOLPq0Rcmmx1iUo6b A1aXMtLyTz98zYY9LObtbux3T3Jm+Zp98+x4OwtDdTVTrO5JTCzOyXGnXgwObom2rFbYqC0ndnRg eeHzR8888nwnjSX3OQ33efPYc300PmWnmLGCO9cOlD+jPXHYwo6bfonYP8OytU3NP6REew/ahEjW DA2OTro4qL9A8uL4MAnD/mnGZWfseLrkkOmU/CLLCt4qDUM2liUFNlRt6PetUVI8zsQTNWo5PnWv Z4IilHJwDobmxmoTe00/Y3+9ZfZz0jtdxgnWEsmwErYistjMHOVUAiTV19s3DfAQJPMYG4sc08lP kS8GH7C1AP6o0jZIy/TW8WLLRFFz2m5Hzdg+e/O37wm8GXMw79GzqbGpl3IksJpaldFFTywDDxcl e8VCqk7Xhh2T3G+aMfTXXzMCQZKF4vlDypMP9WtpKN9hEWd3Abnb0rJxR/ziwWo6LmxpFcNb7uIv enWmAbND8OnX19osdl18vdNmThx3RuQ1I+n7DTgjo8nrapI25LzRJYNNDRxl+IcFfF9casNgpOCJ drfa3MzQwmLVfnhX4gr53ny9YPqCb2HD/Sr8Z7IfoRT/wjdiRyFGD2Nsx+RQO15Kwr+akOLoSsfA nclH2VfltFnfuFf1I8/QLzu1F/R2Gm0xHrF7yLOrnA9JaWyawCr6lVXzpOLUYaNPS/JV7TmNgOvN aSuGhsutH+w41ynaiOPAkHp9W6yZE84ENQwImKbr1QTRGjoDJ4+dTN/ezZ0xdnofh+OOubGfk80L YiYqnJqDExEPLpJ1a6QWDllZ9vhjA2gAuBdUPGAy0Q1DdnJPXdhZiLHxbU9eA6wcN40HMdHVP/US cAh/nklXbvq+57P9bVMTQ/G7efGJw8Yf8d6kIA6W9w/Rfseq5RxPVVISu1Wf6q5PMLufdrkEoqAw sLK9ebAk07utbOvq8I33QkWuMFvvH99lR7CvHtm+w1cD+Z8Qkr+lYuQ9I+zoNjifklMTAcAGIPPw 9KLCZmhEXVgPVRaSe9N6hv0erAw77t/MStGubFsqFU8ZBKcRW+vK6s+e5N5OWeeAfktmPK0y9U+v o8Jh5kQG3tIxJnomquXulcuuG6PLy2ehceGGv2cVvUyob0GSsl/3SzznPhS9mDCExB6cqysO/nb5 tjSyk/3W1Vh0dTkKGxbZHo9HYtmJLcDHGormLhIL9Uwha9CM2cWK4r9qkyKCQ1OfOEZlUaU3SrT0 9sdIetI13N8/KTuhQuzKSwwefChqXxx4T5aq274BeB95f9oXMKmJvWJSwmBjv78ZXnSMZPLFa7sy gRmXY/nFN5Vd966znKJifZVZ+H9K+6qBmMmxA0htstpZW6PvWn25MrMvP9j5gBvCjdtOljXcM+TD a2RlHBhPd2N/tLESVD/isvEaS6xrZD1usa8fIgHRJU2hjkMgSGumVL6YPSWqeLyTeODAFQY0rvXo GaXUdUlWIUftmBgq5o3R6Qtnj3ax1Hbulxk6QZi94uzg/sLMUev9375vK2FMwZp1PugcOJF/fhM9 cCWzGw9tCtMtGloPsT1z5nzpxl2oehUsNxnLnIXNLdVHKR2R8yMyIsrmbMhM9ZyL39jayQvojeKF F3KtwXK2vb3UJ2PM3lwiLrliX/GBtBU16CcmX3U+nH5QjsOF/R0q9wU0ca7Ktf4mtXRERGh48Z+Z uZh3grmd9uOUlng8E8PxjUarInfl4jNuB3Debjer28YDQN5QRIqenZ9bV5a/Ly6pmUA5urkxeTTY kNhqy1/91E0rXXI7RB5fN2I/INbXO+1Gl3R08GDKzTbTOlqGlHEmzV4pPXufU/hPzlXVkM4NRAya TJpwCrjeOQzgh4OMkjgPE/edYELEI0ue9KFz6QFZYaRmFzZiK/LFZKpiQj7ZCXRTS0782ppSxFs/ OrKXC42O61YC1lWskOTJdxKUUdQsOnX8dWkHxJAOgUX/FtaWpLquK0mnrAIUUbphMF8k+0iPPdkI 1bjt9h3jJC/T6egWG8hRtihERWUi5JFVE0LEsoxKyNnDmUsYGFsnx321LjJ/BUtZ6G8+njvTkDf/ fGPlJ8SfVfvrLdyNq/7m/Xj90KCStoFlwUlt60ozYk6ZLakQ3Ot0/+Q7dwIHZl1RMQXmAajXABNc JDSmOiL+JOO8zrNhZmP5MyVNLChyn+wOUOBkkTgkrTjbr96bdAh577OhZqp8LiuWGZLeSYA/Je0t dWLZaYB1BWP0g2JERJq8YuBRJHUk6IrAHQ6HwrfTKrFPx6a6y9jYZWqTU1bmCmgfVB9lMq52iSio 6aOz1hKDGgX6C3eCcL7OfdflqnCciLOUHv74uHupu+1ZVc7UMTkQDDI7vDUIBQW0zjgeu8aUSlwe z02xaLRZEU1xjGuuPJXM0/X111YeDcmRQ7dmaLnzVjqRVwt9/eR0jEGOhQmcjusXWsdlTIJwd2Zf sK/sRpKRcTMN1mPw8HUNDD8peoayEErnyosmzsz8jRiizrrvYK6pb57x3QABNdcQL2JMTly1y/B6 9yMfHZszpxrGtdu5g4VPB6msoCboz7DoggGJ7iLZTvko9gmvBeZ1r40W0MrrXgfp6rmftaSkzOqw HqZLRjHZJfYK+rcef9I3ct+dnxUWFBCIlftT6tuIbJtzErT91bQ4si/bUBTFwr/Q2LB0tZSoN5cm zVwnqLUPQNDZvzY/FWHhD8mRBAbN/RgLEOWxXbUcd9sHtZqNGrMm4njZ8aoPNia4Pv4jpg62en8z 94pyNevCk/LlcBUW3TWVZk5GksqPcfC2Tvd+C5dUFihflukcZqpWK5mm5fJVVzGQ5feyFt/ctq1o W3T2pbuVXksHspyrKRmsr+tvYocmav1oaiIC4gH+8XK/STUa3kFGWZ0qclha5lItNn5L3WjnHauY h9rmVORsP8Fw0CNhjbgbsVKYrB2+O6KRxx0tF9/ERudcLo5xS+/cZ6o7YNIUNmbx8XfSsw2XY6vi xTWcAZCDHlFWi/mSPgeOHen2ZnvEJf5eK3JOzodwWXZlPiqyfXhVH/s+c/1vtTd7/SOBymRk5LWW T1FlLaNgRybKyPY3fyHD9VrDDSzb6w3eOnhXa+CDSTMNRs5oc2LoTt9kogch6ZshDg3KaVvq/vjW lDT20rPkyYS6wZo8zyfHEja52zNK7uacGaR3Ywo5O/ZI9kbyi9qVOkBDK27al1cyhOJ5VWFlrT2o 4BisYdrKeFbPGLsL9HTTtg8L3asF7LgOGHRblzEWH8s8Np0em3PLMLqOZwbhg5D5rNHcF/Ex8efd PrLoQ51hH1uiNPfzN+BSqnxF6sky+DMn1y05z+AcLYJCAoJmXo0TZhef3pUU7fFiS9nQZtujbi8P gc9zy1Pz9+7eFeRHMEauSzg2PVUTkwuaNRVT0ljNkqcapyMb7KbUfvSJH/mZxQWgx3pL9ylAc3G8 v99kPLxVHvpyqW4n1IVM5OTmYBLMB3CJ0P8UMdsmeTbABkwQKuLaw+yfh2WZFVFQrv/xif/hdKnE Sa7RVjnsyM/2epcqkQD4JPEglIyTcp0dUtIdOhOPXkuNPoocLb7JrCIXERnZXmC4gP3On1KNOzrM dh2pTg/pleu/2ciM09+klC+qPRfYWlNcB7E1xxhStu9cMKPCXplKowSizVck8htx4eyYNf9O61z7 S3Chbb6ySoa3ZG8VNm9los1UNdtG6a8TkU+QxIxne38JuxdMe665z0umhUJhFeJkIuFuS4aVJXSG fLEUzb/5J8twXc84xQ+Ikh6T2jNkxUe604K5dw0JBWbue0V06rny6KTNfSmWnnNN0UGlqU/uuSpH XFq2RpJD8vd/KBCOF1Wcjjlk+ToZgqY0bTMbYZ7y1lOyDA8v1v4QPUFlA22VUEwuIKV4DC4i7MJZ 6SquVotGjo804zwlFnAvy3TyYn/NO/QbHwg8Uy2vuEilH7W5r4A80M8xuRrD9NzVxAL+AjiVcuBC eBILtrY2+3sXB7cIrCyQUc4Y/hY7MxmlZPulfiPKzFw/J/LpoZS2PhZCXG2bOW4bpLA9fX1VNx2m lrKkacgHbJfvualASQjJpGXmq5EFJD0Bj6L7WmWZ8PLSHvXGTM8z1uwP32RzxyjniQ5n4kDuKMfi j9L+TXwkzFO29uLhCgVmyPpj0if7Vo+z87OjyxIS3vqSj1kviRrdAyY7L7PE8NnT1ihjcLYxltb/ XNfUn9dt5Ko8b2i+KJkp6c0uHazCgqKL3pNTUNaU7ZT8bPnY0nOPj0QYRMN2vhPOZDEhQLJ37Frf CiMpm4qqEoIkNmb2WUAYmazqSKnLcll4JFSw3ZilUSZjU4lmmBCEquUnO6nrcl0ynW7Nt8Tfb646 8GXFN5I+0QwumE+fFVPK4yJ2im7hveN0YP1V0PDO98Lc+07Sd0xl4rNa3Q5eNXiLhyBfKoTDdhtL wPUqPCKuLXGMoF8ceXtrtzV2ijsiKnJ12dgHdDoCpUpEZLRcFk12Tk3GTBNrpAyQeQ1MFzKR2BZb 6OwCsB6aOBORidlre5xOsMBkQvHQUZyt0ItjcR5WZea59ImHWJz4q1965Mx59Ewr6z9pQqykNlNp +25Dkcq77taGP/8DV7UvsO0VNnK4P57sKDjuygop5JnxTQpqnMqWVJNsc/rMDfWn12QgR8ib1ZiJ TdZxYUeLGwsTgzaPiI6evHGYY4pFhvWIHXvLxvJXIFd+EdXtd3ghp53Qpe5t7m7Cr0aSAeu/lYUv F+aTzarlapMjQwp9KElc4W3JWbMVYaVZ50Pq/ob34My1JVuQrwBn/zO/kTR6Ra57UG7Lnn/iMo4o RFJfeYgtAmud5eqs/+ZGzd59JWzExUiVX58Jt4tuMWrjASjJ8vVuhYd7fbRcHZXzYc1MWmFd5zKn l1LnKGScvNFD7MljlHddHkoxLyeCLx9fC6m4cGIXLRpsmsxvmJqpfVBU6C+UZzpFdKkoNKr08YtL CBCDxnWnlGOs9xXx4tHuz3s7yV2fM9T0qv6gf+dry/lApPVwvfHGAkgjFUY3nPV1USAsapxXk1jQ rcGHGk/nnM1EKS6ZT2s9yROr+IKpZrMN18sP3XmAAUlVz13bWp81536Vz9pQUZDwujnR0P3xAnlr Rczy23dav2Lbwm9Z6lvbPVfvdHPOnNqTA0j51b0+7/LYUNvpbUhtkdzz3ZRqJ229/lM5mzsSHgaZ tnfvf7tguOoZ3k2qzcMcZG2ezF8gBaJY+AX5IIBCqBzPxpqStOzIFzGPfo62DxAT3ZznXxyxPTux yH3lys4bHak2xABOYbKcKCM7jDBf8+g/UbO9ctFoDhl6UPGjs1VCCkpao0cff/9GvsmGgoaGmadb eYHIZy7Lv4r2eEiiNX8cnVfZ9cdPxV+tIa85MSk3X6K3EaP8XqgC4fl74iUWlejPOVff4VQLSmpq ctr6r2tcktEjUUOXiQGb99uwwBjJc5OabZpwYrTN2FFQfdx8EnhE9EDQbKuWPdjrHazRFFSYSWnX ddba/fcruELTbNFtd2KW/TirpdvggrapsxGfq86bdVFSyPnL2FCCsBCSItO7ARKinClTWkZUXbdO nj0GB5ehSIsbdBolNT05X61uqJXCTC+FBy8veGucr3YSsxoomJ5+at3DWn9yN3y0z8xeulatblf5 Da9F1BqfxRW7APoXplMSN5GrvlJRq2GbOejKsiZ9IApxOFuu1dEQkexbzl8c+uLgKTAmtrkS5pIR RB2QhP8BGHDW+vSfIl8KlaYLCwNdpTVOaul24qLBZWNfThCJMev5i/VyePGqGNQxjCUU1Y3Fxu1x kXR1tv7wkbuVkZbvr62pt0exHr1OgOUldHY506L/DIKDwj+MSfNBt37Cwu25m66ZSW/GE8IYlhTv s8cQdqJRk5ucyNhXQyi73ytrEXw6MrvDR64frPc1+RRG73PE6gzXX+ukFHeNYMOHApiuJ9zMJD+u mwuZOfFnI9dFx50ZDSEUXkN5OCtr0hfNjEv6joXo89Tn00cdnbe1tbVra2u/Y2NF1NUJMMjEc2zq E7mdbBmmGzqPvMqAjwzcwe9XW9xXmnUxownIQtMeJ95sj7bh0xZ1JoeGyOaGLQ6otIzuvRb3o7Hy 2X2joixRJNT4iAEOG3b6umu1zeI+Wp3o7dVbh6+isfCMQWPW+5SpwKx+gyP0sXgxwGk5EJRlZmlh 2er2uAPJaBv+clfIDAVV3coYE1T2bCpUnt00CJfAe3A7l69l60kQRsKN4jgYqhGTk6Htdd8VX7JM 8Zn1/f0QgpbtV6q/T1fU3ikXE9/BrPPxh5/fZM1ACP/DT1lcv8bG16ioE1MzqtoGBsGZmbhZWUI4 +Pg6BYaIZhas9/7WT77m7Dpxul6zsWEFnfpkfX/Dwmtx7T6Jy0kZ62Ka3fOpI7/WLE7p/g0+Egbb XuMcDTfWv8uelKjVXseLrTChO06mjm9xmf6XwzR8SI1JTI7kewNhaI8+Dv4OxsiE2H48os/GZmkw 3xomRU3s3B3XsldAruXjM1HtzW2/S7Jo0dvBrvBIcjxitDoKqdxxJ9IXrz/XmWTRJhutvza5Qx/A 78GlKq6d/OxJnj5hdeaqHGc3F4dvMdlwovDHAWXy8+w9BUvwzNppnqqqR1FxcddW1/fSShZBGfVj g51IuS9q/lGKRnF4+CfLdrDdg/QrfoTYRL34e6Zi9u4PyxesR097oz5FW3E8cFMCaOgkb2a/sVFV rUP4/uZOo6Lihoe6+OflRI7Xua3YMGh7+9Z7svgNxRwKnYsTQhiK+G05McZxif9rs5O/Em7b2/gy /jOViCaiooJLSUk5ImVpeXrFx/B/aZbzf/lBsYqTO516zdeQELTg4GDozmjVq95I6uPj45aRkTCV ckPWj8j4Q60+SLi8rvbpe2pqdabQcl4mz7srLmL+N29gpKSkABGZmJg4LEhpiMcyPScmJkZGQZmu MJGrPFpodMPAxc11VNMYpX379gkGRjhcQHlKPEiYldVVucN7aEV6rlz2hBv/pz5Fefkf4mQkb9+m Ss4+HrWhQbGI43kwx/nd27u0qsrwaKnFIdBg3jhAzeN8bzqc2PMqdfiC/sWAoN4mqcSOmhC0tU9H ADa7eUbcN8P54+25WmYEBAT34w5s0zajwQSRT5+ehpNJ5E3agOJOFmnkT/KZouPhqeoJ1DFmZmS8 Ce+hoKU1uLs6dr877pKNqbK3MC8tLU3gtMuSnJVM5kvcHs02u+sPxGV2Ph1gr3Xcx8PCwqLSyVcq Jnv79ttEodrkzdS5SHVODoU+k0oQv4uLS+VCNhcSNl2BXPZYZyccNze3f0DAP9P/rq6uZ3vT5R9X FJSgNWZWi00zj5GipFlZWXuz1VI3WtbWDIdNtwdtgUmK541aT57CwkI39oNDkfHZChS7JuVRWYxQ Qi1ZVarMcZlixUlpsyTifcXJ9DYHE7kOu/7+/U3fdPXUzc0tsTo3qHrRM/54tSs8MXEgmJAbbx2n clh6Gw5aCMdmPC2r0qQ4QAyqIEQWzuj1cAfHLSnxma84vrN/E6bNFyVfcRLaGI4qOdcscToGuktC nGwVFHzkUbXaMkicLD0n58vmPYsQ7vjv9Q9yJhOExB+d/95dn06X6MCKiIgA2FHdniol8fHxwcTC st2bYoRZ2LQ1/M9agLCwsIxHYIatkAcHB2VhzebrHJ7BwbHZBFLhwe4I5cvKylJQUcn+So+Oxh7i Oe0XCEx09Jq8rcxldayrNBn1Tfa8Qfja2vrpn/0yOr81NfGVGw60joyUMaZ9AT1NyGVvHOExqSCQ gf9nazgdP9O91uO2iiVAG7rM8+esV4xjr64bLPG456E7axCRkKC10NDNzaC0XvHkON++fSvQaib6 qtcVrGNurr7rwaKIOy4NVfMkeAjafuj2Yr+0rAzaam663GgyTzh/ANrQub6em42NDdQjLzDhfGcc iZ+fHwYOBe9HcjJxmx+aErBE3f+sQBaPYfimWKi6vLPTC1Lkm7+/CfiAg4sLuuc4TTBAmioSpj+J Fx98XTKRq0PNqtEHnMHT05NKaykiPFzg8+dnfHx8yioqw/VOVpYLDZQ+0RER0D2k/QMDCMjI8tv3 7Fn9/eJCgTjfysuh21JBvMmZFij19vVBCyyVVVVH0oXR6DQbKHzWNzeZ3S7MGxoarG1tdXsjKKEb Rb/MURUPj2SK4et77ajXOwZVWczqmpn15cikf5GSKr7kM2DCJSMji4mJ0dbXf/YVpMlZsyi1UtF7 CooX+Pj40EJMc/MCzKjIyA7Q9jbW1n8GB4OJeF1/x8S8+AORC6hMstcDp9fdsZ99s8JCfl0Mi0mY /F9oMWsgPrskqbrc3CcBgVhuJzpYeNT2xcXkkhKGSHskFBSD65P1kUVoYxUS4eAxvOyUlDcnJydf xMT07m/Ou/WZBpP5pUDvR0VF1dTXh4eFfQdXsrS0NM2uo1Wv+f1WwJfBYoYF2sBXWvq3qGYdSEZo Q5veXv/fv18ezNdnl91HUis575V2lZSWtoDrFjc/4H1lNZv4m69EX3nsaG+/ttYTjrbuWZhfpFHP ZL8lnZCQAN3YiICC0jE9HRtOLiWabOJvhnretwkQABSoMxDXG3SBWDRdx+RkNOhMkMZPvubnU1dV Vf17RwdG5yNtZOSHG75DTruNL6M53t7emWaalDQ04njfPEr0PI+WPhIQECg3ODNq1Dt2AGcLqq+5 eSUVxwLtYbOyshLDaUcGxQbJCDATCtNTUyWm41SulwdBANNBmOgbGu7YD7AOR1nO7Jw+R8Ja2tz0 +/VLpDLX8lyC/WupXtc/C0MTEsRNTfNEu2TUGt+H9yiX6SO8ffsWWuVkt9FvapPf++fPV4BtS8tj Yg7nUoObvr6+oPtTsrP9QOaBWBi5zxNLdPkf70ZX9jgZAdFjPJqFolFn/5aC4idInpdGRkZkkgkU HoZXR8vmi02JZWVME0UaahaGch69FBYOaWwzvd96q0oDApCgbZ/rD5vCZzoHPoY7uZ+dn6tUmr7e 3t5O4LD5fn97ya4ccvfnG2yBem2YXLZkKIi4i/3Z47OziFapBI5v6nTw2gDqu9dtqyznVS34F91P UZiNBtc2BuLVmz0TQfRgIj6HQgz0TXv7ZxCjvXGsZtCt2dLHHNJ00aMgSxY8LjXWbDlta9UzN3kN ejGLNBt7QaN1d3f/s395RsZnxMVKM+zVrhByXt5EPo8bBqsFnsSh+ZmZOIV8xdTi4iEk+oY/KR+9 7ReqMjJ+gEguUq/9JCQEB8pLysOjnjla5XHrqOm6TcrExATdap8uFJRWUYGZE/Md53+4+3Zz1axc u+Vp0/VGPN4kvEQSTyx5sju6kpJS091Jn+qh12iWhPl8XSSoi62dHcgfS4/0gnBAJsHQvQfEXneh FRUsvij4nT9fkWTY30P7vYuJrYIWy8jKOunA1vqSmPXf3SE6cs+m/QcmMYQYHb0VJMZUsxc/ERER Bzf3LgH7V4/bi1KDPixdPT0ZqsgC5dK0BZOVvb3AwkJaQLuAN+GsrKwAcUp8+vSdRXdvZeW7Oh3U lfk2/PCoBEvnk1qbJ+t90P3OpPSgIrhoaGgHi81DXcReNEH6TzCxsZndr6whKDE1pdqdLIYW9S6D noYWhwNW/TIKS92zbntyero9kokk/Xh7fn+5SM7BEfP3r/S7d+/spXgqomGXl5ehG+aBKIA2FQ+g b6LI1JPTOBU9l6iG9rUH4uZ42ijZ5nxHwdzCQiFLV97xDNpXclSKv7CsEEC52+UBKTm533i+EgSR qEQ8FD6Hs9UhW1tbeKtJ/5PbrnNGXYoBadSqBxcX0wM8/EwXLXaZkXV7/BG80AeM+v79e2uQI7kF f+0HHFIp5yvGN6F1jiDQcuXIK2+LpOoUOi3AceZTJd9AR+T82Jal7+jshLgzLS0NurNROJhg+Hrq XfKkhN7maZxxPrOenh4CGhrQN5wZ2dlQNdt/YdTarPpWhNysZTY08AQT80PlxKbXfM/Hl7To9Zi4 tqYPIy4hAW36yO10oH95MD+exT9RHTgiT76TlmWbYjrLARSNlue1D//DlYAF7rh8XMMqs8uJPpTa qalvi4qKQK9VtSSZb21vy6iri4uLIwsKCl7d3EyYMD7+TRWAtnaAgVbeozj9n++S9Q7CZ9+pGPqf 3m94x+/mREQ0ev745I7XjSx2L/R16bO3uuSfIlJyMiloM43l1fIi0iZG1rMronbI8sYVz9Xyxk3z TfMrc/LSxrDEBN6VkofyMtt5emUwMzGFxxYwxzZpDTGjxbod1m4m2UWfxrod1KLgs7EMYrx+7aPZ 6NrS0fFcwBe5BehP88Fy1UJosfmb0C8v8fHNLjgRxO7u7xltVj6P5cjAyuZiQnd1gWCT8Hzu7+/f KoDG+8zn0zdcZsMlwJLQDoBMzMxAaGpp94SRvnjx4mt8PD6018f57uRsxcFwunDb0NDQHjk9PRoM tEGw/cEcLkjKomkWLse9n0A7to2OYoC0L3OpR4E4G0S9QPqwNiDjq4tZK7FEIZX2ri498BLadB1g kab7sSCg5YGr/DR5KkFVVbzBRG74X5+/O+7PpAoF4b2u8gQvvsHCv6OjK5oqFps4gcN8mMkbNn4T KToMaiu7X0wKYqYrUyza+upIB9q2v/NPNsu8sq6ubmCXYjSdRqBLPcAcgAt+oIp/QDsNDw+TYccA CUPCyYkLEPTHp9QP9Y77f5u9vKDNDXPUqunu7u6sz7ZkCPjccQDjQjcvet7us69yolA8PnABinsG D0/Cw0PA63pW4hL/ZHfzG8ChtI/ecL+/vDcey3nV2tr6OyzsaYrtbgNVsF1bFUg6NKrIXv1ZmKVQ YaIWJS0PH5D2b6ioevWnQR3e0dAgo/96BmhG0A+VUNRBQ5YqslNv6xs8EbQxJJ1Wk/npSVREBf+C FVD0ORr1bDBvWFgwTSvxPvQ4WAaE9RY2TIID1IAafAID+LRJZElv14GSjg4VZml11RuAu2xim3MC 9uaLLhcVDyANobtsfZFxn8aK+wISTwU26eqg/tC/sJ6mS9bYOIexGWCNtZ2dgLZ2Ss8JaKcuuyFe P6ARsHZ3FBfsIjLN0gppEuEPrPD9fvzQ/pvyMfPmVWpZT+GQbC3Uyo+3zY9t16ebqaPbv0NDde4y Kxq4nA4CBQOwlseVtDoA3UA7N4MgSBcJJ8sU7ZrzPvr161d3Xx9Qgj+O60Ga//D1nYkw1NV9B5MC Qhtrk3Imx8HGhnKcXms9NDkZul8LN57N4hO0aWZr/QdfjNfSzvmjf8bHXwMcqwFmRl1D4+2PPyU6 bSADYGBcG4moIhEByx6dndHYzAdg01ddfXUdhvW62JuG7v4AhkNx+V4pwFJNWvolCH3Au8/Z2asR NYbu0TEwSs2nmaCtHDoPI0RJi7SaUWFimAwQbW1tGQCiq9faPgdaTcDdnQf8UNGgQTt8JPG6MQCi WZ0XUzuB+5Nh+RpR0Ge/GDQph9cDDzAK0LMH2js7AVBG7+A+EXMRk5B4Ln21G/uxULUyUIMUeIWl 3V2zskPAkriHmF3t7UvA9wi4unIBKigB7ArdqrU1lhvec0Nt50WLFisOV6uOmiuP+Osz6FDDu8xq pn9HHW6dNk6VBFn4ExhQOKhI5fMkSoWqPkC0/K0pnCzWgoTtwK6jk5OfPBVrkRJVpGL3sbaFF03v CAwd6XgtrShV9YnmEHXaXJLbAefeVGkbztkTn6GHKVsNqkPOwK5aSjeizfXImJifQHXEqBuBtpOY cV/njELeTA07Wag0U2Ixn3qZLhxCV+XuMiSzPj9J+0/UmFWqAl3+p6srW35biawejg+oS+etVL8j 6Dab9p+vfotmOu9XTpY4HWqGX4NWt+dK7LCPEM0UwS5N6wzC97NZ7XzLzIwB3EzHWK5cqcupYbjL e3SRX/doARcaLC9QUAS/fPk5PryUIZs7XYHyZARQ5jBQ++ijOTRRvQ7DaYJTQOI4Hsz9+voVxrhS Ve+DnvSZ0q+9PXNAOiQUFN3OpdOlen4i1Z/sduGkze+BDu68XPSycowFiYIrFQXgw3iiAFexQPmb yWjWdE1H1m51hdTr+aqICEwg1OOf8U5cdJUhAhEN2IsRdHb5KCseCrQ5Hkj6d5SUCI2u563+r6mh LS5xN0srmqepAJQ0P9yY5Z4aBqkWsnEKjY6OWmhWgXpCLBnHboUKtPGWPVcCjwt6o9slnZymP9Oz 2mqrRTZNa6uFBhNzdxArywB6QRIxH7hRUlJ2rgP4K/F69ARaaGW/erETKJFADHJJzN0itYX7Sirc i+TegtM8rsFDp8dSHcuzfKA+IUyeanSrLhVTBDKTMC2krvK+lMJuklZMtN5io3dgYtfFAJ/NPKan HB3GvIlOxfaxKSEy0uAC78/qHGPIaVjEmBA+gzYMcIIKJrtVVQ3iZG0ADp78ySjcptiksNv8lmah lyjpNzYmv5q9tYp+oT9ZZFlbW9vd0/MRiOu3kaI2uxO0q23jgqwmI88AbjO5HD0+bMOjEdFglRLx exLcXh4Kf/z4BATEmm3tNDcqkPQcrmfGuScLhWrsX96jQ1sKdQ8O+irmdwCSKrXbHNQ1wW40MH/5 8uXXh/vb1evN5C4AxACWSqwW+RK4nYrkrynQxNZdby8sQBx1XQUKu7u7l/45Aax/BQ5OHTeFdj76 4eOT6nK68deYBYfPnQMo/Z+gBi/eAvunXICUAlzJU1jYgMjJlY4AG6BsyokFSvQZzCZoaDTqxtYk 5U2qPEBjGkphmk0UtID+/x0b+wtQ1UppFxF1lbnIrZ4K7+1eeQy/Fx8oPT2Mj7d4gWbjzBVyD/AZ gR4FGgDJQr/47w9BlQWWOLY3g8elnIyHZ47jgxCABDbLOePTura2NhtgrFY/PJWRkbkC3U2lL0+h paVlvz3yHHouDIx6o+v42pMJcM53wNUiYdF8AA3p+Xjv5P54fwnJdJgUIOChtFBXVw8c+pLI5dC7 lwK/Pq21nwrQJC/4tKzG45YNwEigBuXj1SoaAYd1iuiERVDl/XCSeWPSrHfhJKnYzmQxdOM+FKUw gZtIds4J3IM2mtLSX+fm1LfOXUEAr21sYNWT6G3H4WJj+wH5og0kfmc9llq1Jev2iRV9sHsw0yQb n9tFQQ+M8oXh5J8uICWOj4+hEgJlDu3AVY627OfnpwecKOTCWPAkSoVGQW5LF2vyXt3eAqGBI0xQ C1KETDwG2gsM8PQqyAtDkjGgkZHKDQc+AWgY8IapqanRBkEHiZ2d8Xx40FY8p/3MnUU6kJHpSBXw e4mJ+QO4p7jAd+Wu56YspmMvQNofXVyACzMHDj2Xfy62zgXcd0ZmZiowRtBzEIB192ctAWIwaL0v uq2vDwmcH6hf/MBqSyUAFcCev+PiwgOOwxngnM3xSofurlatLWmWVDIqOzs7NNb4QeeSr43i86UX sgYmsuvZ1jdQgCjXNWIYCA0hcWPMgldhNjmoP5MewucPQjod5NrR0RFF1ZDyLHHfTm52UmuGSPjR 1WpI2/w8oUQ8G+Qfg2Y9llufA6cBD9jx58+fH0BqQftixWYcT+mFpBoOxEGICWR/qcPuBFVPPCvU AiBPoOdDBRLx1sl707FYzuF8eqHHMJwqAN+tz6SnlASUVAqQDtDONoDRAm+h3XrMRb3Od8anqq2I ZypMoEdY4SVvwiIeHniAGLtaj9aCrLpOm+9yYfXCp2rLeRiY0NDQ7oEB1oseq9kq2jg2C9MqNX2X CyW3nH6u4rzVBhrI9Td53KYZ9EVtDafDQzfVhxcF4LNbfgbxGei0g0KS/XqfSl6lYD/kQn8femaP acEqoBtoA8wcUItSO2WD0vM6/eDkZGJoi9mzg3l8YMH9NIvZNQ8PulbnbIJPgbD8VKiod3uxD+25 k6qYH9A42TPCWg6kCYS9WDTKMF5eXmMFKhhi0XSFJQ2RfiTJ6f5VQfgsxl+hTWmT+RdTPV/8/sk0 hw9tE6epSQSkgfXlgYa+vv4SULIcTgfqpaHy/jNlBgFtjRT+edVWzfdYoHCCwEl2IMkoMAdyKIa2 lYXbWbffV3JZd9oCOBgqsZzn8nPfTibZLARvAbzm0KtV2NTb7iFPZnn4q4a1UVcHmrpv5Q4wks/L TaAXnvDzSzm7mS0tL8M5OSnljIvmyIPf9WZO7csWlJ+9ekt/vnG4XdCEhYdLEBmS2n6e0+rzXRca R7icLNOplVHQXhIYj/v8rgXY8v1EFAzgb2KYjYIbyz+idr+6nNz5g9s3wOBeQmK71qAAP1jTrPjc iKZ6x50GBYchZSrALfHjeQHKO/jOP34/C0yG03w6sF1m4kk2g3K4cge7Rr4+gd1L9BHVucSOQX8F /SiwwfF9hn7WznCuXkLvhI7qLQn885ZkyDe0fw7i5P3/x0Hhs9yw/7x3thj1+/eP3cn5pe1tqA9q 6ur+jCs8jxR94vMJ1SftTgcJlvgd9FOWD4di2jo5CevpmXR0MfGnLZ0BRjY/Ujo3QjoXc10Tvr7u 1f+71ZWyPET+571hL7VPn9CLtJy8s7Px5+Y1lnd2niopvZaneo6JyInpf+JHi+z+E/rpLsJjyUHQ 0kK7unZpnVWDRQtphflSqPgpUxb8RrgR7u0I/X+u4/4/fZCU5ji1erWlhkJx2D8N/LCax3OEy2Vv /J839tplLN1L8vH/71yv/jkf+q92zXwyKAptEY0GkzpXMq1WDuXIqR146y/32kcMAkrcDotENaQM Vgj/CdY0063+6dGpyltsZEImZLeLg7yxpc2tUv7jlQyTq9MhfioLwsjC3sXVf66lT3/oaYdp5sWJ AuPc4KYnTjA2MshJFT9qJKlzmZSIc/2ZQF1jHIdVl4XvcUXuS6YsC6qV7PKu2XgZaxSd2g+2wllF 5xmFDp3DKyDKgZ6DHj6xoGLDwcjIqFyqK1g7CpwyZMOrEbtD7VxOesghdRYwOlttFQI9FmuHSV5C mZrdaInGodnt0vLq+nqaG/8zWyyzEaqWp6UPidYQ4XFD7UX0aAxbAy8ZmoWfA3eeEffpWawcVL1A 9xURikjEjMz5b7K5f3Je2Uw1GpFLJnMqLO/u3X2g0UxgQUGz35FdNlF6XQ/PB8zcVKkePGQBAEEp Ot9MfCd3e6YEZElLDKOeaIIRMEsAQFEHEzhhg4Tk8s6i6bWCgfr6lCufBngkU9Vxuszg95f34Fc6 Vx7a3XGm0kwssvNgvv4VDo7yxnYkKSvra1g45A/W1gzv0REcDxc0suyhLScBoSuZb3RvR9gn7J67 QrpEy/3YZ3r78e4UbcyU9eF6kzhgOzsr69O70A/547pbf1OVG5xLO1x8Xv4MDGyHNqrIs8hBjDqZ ACIU8fpbV8JJkndvPLvdJKGZw0MHtlaKTLrQ391zgzhUzCZOXjIyOJiXODg/+R8o9op0LbxYShwb 6YbO52QXqPwrubzWI5XyeGrytlbn0N2IxYKdB8Z2ntmeVFztrtBibtEQMwfnlbjNogbivYLPlP21 li9ytTFrZb0u+g4T8blQEEHQvJujonM1O9+qgAGTXicytJXbF1HRvIgz7+/fGQBvtnd0RJpc35zv pqekwJiYmDivBrFD5jmBR6UWrV/h+a/P3zUbXZdnrZpplbi84dGEnJ2dn6/7JyiIdNXKU3UAyQNF yIu3/hLFIHKgx0Q2nE+ovQ6LJva8euJ0uNBRotNG9b7Rf63bJV90YgfaG9QPmAf2RXe5rG3S0ip+ 2fUcUDcZzhVWuRffAgt45sT7fKtS/ixMU0ZCQb1ZtA+iuYJxa/pslAw4COz46jt5nLvudRxWW5aL +7pscSdPOnWOELSVxQ7448OVvVo3/pEYt85N9VaV1QZsuoTi3xYF4qjEV+6nA+wvUFGFPnyAMeyP eZIoCf/HXQmlVj0YWNwnMGnp6a+wsOBgtqbLyaGHRh21oeFvVrLdg1CAHMnd/f0rdPTv2JrOT4Cb 6txG//UMGobtCiaUqXe0CMRnH9ywYCqAHrOYSRPkBiLS++fPF85ubnp/Uz7WOOxG2cz8+QY7XKzF D96L5vSoVUetVA0C4hIaxhMOIXoufZU/tdTiHXR6f7NbfHRy8hRGvcH5lY6ODnRxy4WGXyUlDMAj 6TzcXbNJwH+FnpoErBc48JM3HEqJ7broKotAIr16zUuLmQpoiONoOzt5pkHiyZMnONyONKoVxjJZ TNBcJaja0sqK7kWVh5AQHGSzuBx2/rS1wYL0h/ZfsbkBWhpg2xMpKSkgglGBG2SXdAMR+LfeyQra PI6JCT0In51unD6JNFLN0pIOpA2ZVFIgNMAFbHoMu1WSCKzRUBIv9LiAhoYGcKpvQCErKC/AaIO2 +hkc7Ftdzf7d2xt6LuFMxCWbxUyKVDLf0eUltAvAcKYY9rNnz6bmMkno6FAFfJEZHxp12uAgXchu OQcDo29goDOSIQKNzUFDraZjFED/4Wwu1tqRvyMhWT44CM5OckVULZzYsKhyTAjBYXyKi4t7texH 3A8wxo5MsVgzCEi56QZJMaA4v4LyfqRj9yg4BVZOKAiPFThYbVuabXsu6CGtQK37FBfTE3le6ejB VJuMkkGDLIVq1UKrnUGl2i1PQTFjntFN9FZmNEjEsSCAjuKw33q5MZhoxiM11+g2WSPu7s6Dx26J TE9P397ZubI3XU5mMpjEiw8sJtRrzs4c0LPzYKoSvUV1aa2gCXVl5RgbNXrNhhfAJ0GbQX8935UU caAL74EmIGmUS/6YLxRIVHfOPBhbxcbGQjv8zs3PQ3tmrXaF4GdHbtZVOO6rghhZnndahLb11k9o 0utC1XMlTazvc9PI616981znjRoZGWFwPtIGwN3S1QUPnGyN7ToizGxwZlhR7EQvLT09GkgHqOrA sUGPVUsHXWtAF5C5G5IyP2r21/TMtCLwFhkxl8jEyc7mVBIr45Nf9zJx2nbJa2M29+cL6uWLrt/Z irI7wpNTOnIUjPlO9FjcVtJtizchhmvS221MIb9GbHrUIanrdGzznndNMdvzvtIZRau5szpiPvnF cVdm5ydypBuQ7PnwChae53uoVLvObTAth8ONFUwuwrLdf9YCdCQfc4L3zGcfmIX4Xvl9gyVqkeJ/ VN6xyLNNQ7a1sxN0da37IiHxGgEBYaU7lEQXRJ/u9cn6CnALWPwgClizdJTPJ7W8aIFY7wD17AAG NmgUCRHxGczxkjeaf2Agsg1wdCDp3/Fdr2G8/fGy3nEfvampiew6rEd/BVglssUnL7OlkqtqaKOy 0PDZxM92xsUysrOh7af9gd/7VWu3GUdzCTwgwtsfEAQAX4sFjGtl5QtoP0IfofRXIKgZuO9BIV5D 09pfxMQwkj0uYnsqggm5odllm4c7Fxtgcv4pD3B6WGJ6N2fbUN5jnb7Ew6NCJeIxPpmHgHlnstjq zu1wofETVaQ/CAektz+gVASO/rfNDeDOH9nZ2SJ4UAUAIGBNmpm4amom5ahVF0FHdQ8NYfuhEqLj BQntzdWO1hDAHF9vJoNTTNXaZf81ZoGer7VS19/T0/MKpr1Io75fkpjVNEK5RPtbx3p6Wlp7drKn 6t7tE1i4n4BYAzIy3stIS79xPJijBOFO/ePlCmAIwMj+tGpVP79/f1qq24G4vL5OarnYRPuDgkYJ Gxt79Q5U6bVGvWOliVtBZLyOm3AQHumPlyClBViM/35wPx9XAvwC7fSmrq7eDiz+D8X816AlXx8c HKzcXZ9m9sZn2t4CneQTEBCg3OzZCNUItO3L3YnCcspDkLVY0NTJVL1T8bGyBwCz9lEpfgu5aX0j owDgLl8RE9PTadS9v7u7awdtFTgqHIjzlsvpgEZWTk7Q0DALh8e5BIfXteLlp59ABSGhoaEdA0jx v7tzPz6oP0SEMdxdQDfruuY+bCBJS0ujoeO3XvoAPX1JZa4qhO/my9a5a6ndpuQx6ObYRCsQhq2L i4trHNOVZtG/QSBFKmm+mp6eXgFFYuWMgvYzNJ0sokVHR//s6FiFw2mbcax+shrC75+S8iY0Pp4a 1J7MFxn3HRMzMxRBoFM+/QzrG1ddQIZKvLK6GuDRbDpO9QoT830wES8VIiJi+0pHgGC6UNDnjx+/ vUw7alja36ctUq99B3qm1Qdppf0XBpmJMrewih6l1acXxyBcf6UK+Pk3NPAMV1moAWpv1T2NsNeg yh20A0klLf17qsHFLjZLq8b6493VagjoGOiJcK9n6Qv3Q6KKJqsk6UVEXOJ53aqA6tI93Rh4x8+v Be3mk+Z5f9PJVfxzd6TB5bT991sBfw+r/TmNV5OZ/hyDAxpDKL2uNAOJ3Er2B3MqAOcRChWpUQm5 3hdpNVuG+dJ2hdWaZVXauu1XTn7W18/4IiLyarJIA2MgjhUjNTWVtCj7feEK3ys7xX3sUz5eCk3N Sq1+1et8nGMvtXZYjCZ0jMVp0iy6RRJNd69qnHrneuOTrfrXVUmcxK+LzDr9btvFjt36GpNIxRbR lYrJAu7ueEDqqZQa9zy1WcnY5rNZWdPSHQ57DmKtHFRHSr0xjiaKxiN/bJfTbiMCBBuGikqs7nZZ dX+RUc+slX9/fz10GFDWee3nBRr1Ve04OhD0eKOR/XLY3fAn5I76SSLMh4mAoPVzbMxK0PWGLDS+ XuJFaf4ccf3iMS6PMwNgyFdERNACGMx4PoNeaMQ7HagwaGMrNvMp6W2Xkd1z6FmhDB439kCPvaGg eIFBJv4HxJgFU3IqdWxICBpIH5sd+eX9dsBtLUNDxVPZSsWanQbxrGa+AANXAUmwxvsBpElz2J04 Ojtrz5FJ95cgBhcAYIIWJORNKZcVUX+rKANp3qewsMur/wd7fxkUSRe1AYKFQ+Pu7u7u7u7u7u7u jUPj3kBDQ+Pu7u7QuEPj7rDF+83EbOzs7PyZ2YiN2Iyiqzors/LkzSPPc8+59+6FOmy0GQMRjtXS H+3wEsfRnf7IpJycWCD2FylUKgDa7/FWd7d0K22qDByhAB7gqgcMkYiWFvZrRdy7Dm3X87/sdust yF+VOCIiIkTp48i4uDFAuAFK9TbIxMODw+/7EKbHMFw/LQDLyclpt9W1kSEhJxfr/AE0TqzHUvUK jcyNfKCR1gCtKXsMHvA1iyAgqL2d9wtz7n0t6IS10e45DFQtopTRmd+qlF9rGWz5P+YudqyaHIyl YjEZAb4OpUL7Box+2Jd9K8mP/+8SiiGsllNadOnAtsQHFGhUfM0RZHSx3nq8XE34SzHfwS+eiJUV FcgHIL7S1EFBgJbWVuOHs1Wg4+EHbKcbBgRXVNDmBbxYA68TSyhI8PHxweHIafTOFfhyUup8vSv+ 5WTP7rTrLYwHv6MDnT4th3ylhulEBjNQiqi4OHGgfq+ybXrtwcvl8WHbNP7d9wVCcODhwsCjnq52 KIbngGAdGRMzEggJyxZtvozra32L/7JmX7BFpkRESwurr7//a9b+nh6h4uJiLXpN3RuN5Kcnr68e UHqdhiBgQ8cwdkV95VouH2RLVPaPjvaA4HpkclK80+d+psFaNXuesfpxK5AQGOKAjwEOFBT0K5WS avOc/E+vRGUHyGIavDSH/9753P/Dzu/E5rDTqjVAXXqQtF22tZ2XBWIaILb4yjcVKFF9rZOg1+Y2 qnWUOprm2lxymkx/RFVgEn9bV3OgJSMr2w8MlURJUjNV+rwLQDXsWzKcu/d7f7n3umg9AhIj6MDA T5X7cmZJTaUg3hPuFb8r0Ca8F6juN2/so+pfwpRBRUeO21eruFw+OxhTFKWiFZPVNfd2gslR+sPJ NZcD6nh8qToX92hWsE6nS/A5gvlB1d3aCXmIDxLzUVJ79ZxAvi0C/HTnV8PZ9WHBP5Wv2FOpy6lU QK/v2ZXHT9DXjNstbLJLDnycfK93rk/e4xY5XNeYgO2B6O6r+UPC64kMZyWaVCCMYul6/dC9+7fa vrCmtogXwHUK9Nkpn5id73rawGgXBwwY4FBQ2X94yckHzQSAAHvvE/0bhIuLCwBts4/dbZRWpkQl 8w1oBXZf3cjzv+RD29t9f994BbaaWViQAA3JwcGhRGY4R6fRZgdIFaioqHpGUyiZfe6sgAB5vphW 2BzoFoOrq6ulub8SVW/Pvv4SGxsbxKkYQ6csmXAqvxe0Lh5+ZGRAF1zt2ivIyHwf/QBH2yqlO1cU jUQQB2L2yV+6RRLwX15dYxwe4OfvL/+Rn5VlM/EaDAYl92JkCZSChKTPZtMuKSMjSqNSJzPXQjZ3 3Ixl5MBFqkRFigxlxIzFqvELgmrbPQG9EtbnVo2x6Fd6JJvTkQMyEOD0fGMOTcxkt8K0B5t678Ov RoM+Nz+fBLwGHjQYlR14WFjYSscGJDn+kU0jTgqFfN9XfeRXRly3CUgior5/73u97E74cro+G1+z NMfjcZs8RCIDmxL4cADh7jp3Wm2Bgew5jnCvFXIUYEor5Esz4pNKjEtjizWMqT+ak8koKExW68yf josSYreoU2VMlZZaXS2B9Ai6uuuFBugMI4CEhEhAgEA+S+1tpuqwpaVlO9Myr/fpeq/Wfq1JpfvP mk5uAj4vBiwGXU9194cN3K4saycZUOt9aXwmXd3dw0tLLUvcENvz6Y8cZJdLfsln/3WLp7l0NtBY ii8BelQiSkqor1R/Kq3mDJAMDgwPZ+938sm05W0ZXjwuC1vD+9fAdD2dcDXw4IfNiDKk/zR8bOJy PsFgyJMXMggAIQIvRoGRQLRSNT5FFhE6Ft8BtoJ+3j3fuieAw0/zCc/wMxKKqM56J2EuwtIxrbMe PJcwCuhPWKWKVeyeqq4seguCS2y7xcXYwjVKB/+62zK7jSgBrR5xb5g/wXPLFwqTQb/nd7eiyW6Y tNJvtRY/cmTDqncUxMfTBAp5kj+UDpZAGg10J1iXHF//KgYAHxOEOIHU+NgYC66dFFkyCuESG+cG kFfIlAAjqQH7x5i+28bSwMBABp+r6QwQT6QYRgOJ9uwfbdavGQ2BOl5PbR/6k3Ljf5K6mlIzYGh5 QXBFDQvl6rD+L3e9QHca3RsKhUn7eHd3ZzIuWzKHMr4+dwc0rPU2d1hvb++hCCfrsY08EVFRELQH Xweg+6g9ERYWHoSMqnFf63q7kY15HQY6eTuGZiAwNd1jpKaGAULgoQ5ELKavRQvrstLrgD5zMBwW c0KB1jYXljgxMfFr2bv6eUogrfW+PQSheju4utrp99pPkkQCOl0gkkQAkv9G22VIpac3ZSDVnjj8 mh6bYmujw7t+P469/6+zQMCb11cnCJffE9PfJvoPhzCg+96ZlSQcBPpcaE3NZZVKXyCRxxIM6JDe tokB3s1X6vCpeccPFQ3N7GzPMR6pz6b1bxan7FH0zIySXA4XMqlEbE3GQ4vzHpPDOhfQH5h89X3x uNNwOG7asdvrpjb4iYiAAulnDJDK7H2pLJAvbO/tmbIkNJ6qSLtXzVoxGfeBf81UKvh+p1prXvk/ TJJRvNobiD6lFBWbVwjKjk9VtKc3mvKKgm7wj5Z+3GvNWbF9rSn0lVUHNh+Q4Hyt6MnUGqO9aTqa /Bo6/hroxVCJTWrKZLrfSQj6794XdjOv6upqRNjBgYDhna1I70RXR1Hcdr0F5pAtT/fsVYNed+/c E6PIvcK3V20+6pcVjvJD+8ZkNroAYudhoO3VQA2lUrODv1zOFaiGH1Yg43HrG6KAYT0kouD6Fld3 Ub2vJqftV9Rt97zcBcJarXoL+K/VHAHhpAkH+/tYilJA7sXR7iclFXXd66dbCoxrX0vYflXfJyUl BQOVrONx05dj63ql05cTaO0aZ6YOVKtfkfhkrmRkfPxLGdltl7aBuHhkYmJgrkQ27gAUrQuMmpMT kycXwaeToLW1lQITQhdrjst5F9zjcjMOEh4HQIX3NWt50VdWHAnUdukPdZOdlBQ0ECyZ18JmlZx8 FRwpKSF9dTkA+c/bx+vlE/CP2WqmQOWgk+yrN6luanpaEujdw3MawEBBvyqkvlYVaPG5p3Hjwf8q 9gHyIxAqPKfdnmCwlTZ3WuDer2VmgGrwE0iDNOYJeNzKVt9PVmpNj2cKQycPmryuTdY7fTGB3Fer 3aPS2UdPDw8IG4OATlS4YpEE6IO+ZsV+6PHSjsNmhfxab7Lr48UWDQ1tG3ixoaTSMdWjCF6BQwFU SgVwQA6/L8ZXEcjfRttalwOZr+lhYzDoQZW8lAn/XzL1UUAn+g0w0+nrWVxSYgwMKIAgIOn7sXIM pATDraWllF8FLl+zgFqkn8+VwOJw2FndVPyh//h4dfyaF/RruRGZ3C2gue8BydCXSSampIR+wbBc Hve63xX5jS6N7I7ExMQWgfSBD6uWzIEffm/3msbpMbyeF0b3/xZHphnPOFzenpzPtroJgSEQGJUT xw8GQ2htj8r2982+ukb6EQXp1De/6oq8rowmcrhRYTEZBkIRBaK+6DXvsFY7g3bFbTQqpclWlz8F 4lO6hY/0V97T5XiG+O3tdnrGpvHLHoA48WvZTwC6pz6P+z+1WtMGviMH3SllSHP+KXvlJVPrr6S3 7wNdGJITMCSIkVDf16ppJPA/YH1NnHu6XP1VPouRMFiH4sO/vkDj1aZpl2jNCHTVg/uYvzSeXt2z OG2DQRAFQ6YFPuEwGfWDRAp79qUZRYCoa7cEVuv+hOYu0CtIuufgys5n7EQAnbslmDyiF/5wOp8x JCRETEgoKAPIv2ZO3Ia80xj0aWwWy8m/aOPX8tP1obhfHcAkbGxqQCwS88UvdBNKTjgdN9GAIAA9 ICCAhIpK6kv7KBBpQZm8jZqAmvJV2tLUiRRjNf8rbhDKfBKoaEVf1fdRUVFIBgYGJlfbvV/dKkMn 9ZbTGAA5AaDjpk6LL+mFhxsHQgPlCg36r/VeklJTgaRepGLxu3F/RDQQNUbn8ft+f749wvSNAurP L7lMEiDN+Coq+uqUmJwHhlkKExOTsMjIyDLD7i6tLr9W56xKMB0tk5XSi088Ab8VMwFXxJPS4uIo oI9ExsGh+SFTcnV/jw4khBSIdqUlJdHXe8MxQLWF9fT0/Eqqf4Hvvbv70+WYoTjc/3a2udvWWk4T 7LHpEkzRS0sfWGCtb39+XH5+tSE0NDSS6+EEM3eax/lfch63Y6KOzs7whIQEoKlHcrkeyv2+0Zgr QNJtskMGIt2++XlVcEjIrAlNlc0v42py3GJwWG8hNmPJBJJukFHgverQp/z5QzcLhNZfnZ843byu h7FXNzcsCGIujxf6zN43ZsqlCviFs1ZioZDwA0DoY6zCAAwvKOdrzZhActMCbG6qxW1I8VS3HMPu AH0g7YgGhv+1szvCwDdlYMCUBWL4tY6ur9aFQaXIyLU415qzaTSZyuH+CQRrfcPDkkBcKQmEQDi3 c7WmksRhSHvDCZhAFNOGJBIFJInY05T/9Wdi4/F6yLE5bq575QHjAqYIdOHyqbifX4fVXHH0V3cQ F5fW10LkWhyvD+eoQANHIyAg6Fte1rw7X9MkIydHl+0udl0okU0HB8S81pd0DA4ORm92+sJ2GjCG tXC2DL0938qnNXvoo/T55Cpmsgye9T81KTBGN77Xlk/m8et+yfj1S1+3V1ZGlXLqKK6XzsLCIlZt 0PnfY4GBQQa2ObMC7cm6/uapirI59xS8DM56wZ/huZuDcXEgbQhvb2+HhoNDmxb87HDeDv05kVrR +NV7MD45iT7Ndxt7dX2NDNQCTFaLCSQg+aV3b9VS6d7K3u2UtxwIS40UX+kv8b3aQj7/+x6jdfOg a/KYl5ua/LHT3x3zm7GTairnWdfM0jKa1fIDQ9XQRxlP4K190pprbBsShVjm09XTwIDg5ubmy3UB oxSQhIN5Xqz3AgnOV8GIrp7DeBr9EGaYdvvip+EN0K6+qiikpKSYHnKrv7n/W+gFGirexaDJw8N+ iiIJHx8eq4XaRKWjL1D0cJ1KCRGREGeqjbFtuwON2T/4R0D/LKajkzWYHguEAXiMHVegEgkE9u76 mIwGYkBs5Xw4gW26zCq5M+Ltyka++DWn+XV8yE68n/UvXVP7wOIx5ay9DirL7rxq7fqv+W+ZsGU6 +DafzDAFVr2wAFcLQU0Z3DxNInON6c1b2rGjjHKDdZ5pRnOwqjTm+IF43LGf/s8QL4++WFufT/wR fC9cf5s5t1Lnc4BNmgl3494NhEgiUa5AiwzKz6fs6GS/unICMhraBRtyNRrgS7y1uX+nve0dEw6P C+lrQv3klJTzXHSScrKl+NuvjmflIgmLfHXwoIPxdExfxATy0dHRqIQEz5GevqTbQyuZ8lsgbvqj 1zq3W4+49L/d0HrmRosz2FqzY6RBtaSGBsZX5+3dhb4zacQkDn7MrWBHGPBP7TyUYHuTVQBoXlUN 7g3WGxj9EQjDR4Z/eotCI3/QHDuTdezdEjbZrbLAEfBhASFBg6cG3hjQa+wcHWn+Q07CU1ffuHZu ciElKWfIOffJy8mJjSTwgdas0guWKBL+/HivBUZgIHlY4bX99G6+XI9IaE64x77co/L0e6rvC1wp lk45y4WIZDPqAfhaFoq0trSojSbATWk4iIkthtfrT4uKiMSGMiSaUsvO7EmdLS3Gefr+l48uK7/C /p/yBhef/7Uo4IT5ivi/XaXDPZH/7coxSE341wTEH+UG5P8lpd+H1a23VeeeNv7LVYulhutv/B+e SwD2f3wBzYPL6+f7ZUNnIHgtN6BPFdXSwgK66LNceOC32TWVyu8rf5eMNjQE4xfi/8z1DNfUD/Gz N9Foyh7cnZSjA7aZeOmRkZPI7WzVFJsa2LWaF1NIG0kr2K64Az/4IhBww4EGo3Fg8zvnRYAPOjtg ZRuJlw4ZWVl6Zaksz87atsahglLSRlLDW5MTgCSyYtqoJvGHkYSk3MHrvNxARtXwz9q/waR/FWNg hMR4FYAvyVtrKnc6tJrVCDxa9khb+jVY/zveAPh7DnbVjEv27ntS9+r3nn7bWhBCS7VdwPblMdYt eqlt7ALKlkC6qLm4dY38ELNw6+AgYfFP0wneD8+m28BjVPR+n+tLtCR1DztbJe1VLeC1bUac/50K srYIX8TlJ7kewLOdvIDFf6KBpcfzV/AhLqJPM4qJqW3UOOt1/vjVltPpoJj7gtvb+5ULqvPUoAkj VV8ONHEKDYkVTPIOoNCB54Gy37SXQu9avCgYBdp+TEyM/pL+xtj3qKiPNbxzkKeBgfmruzsg3SQk Q/ndWb+XaHfxz2K47X3ntdqZ/OSbTpNdHAI+T7Yc791rAB6vD5awMPv1VX/oeGOeMNjrzi3jUqF8 dtOBzLAy11zt8V0orpXrR2+jKZCjfXpA+3MgBC6j0GxttmS/dZvcypCxULEhK9n0gUQf/PT2GyF6 ez5CBrL9p5fnQvEYjQymHYgwTgcV6rWr3tfL7csUylq/QcnU5C72+IZ+FGRk7SOtjUI3H3qbp+ft OcGjnXN8gKZmAkuJ6uJ5QrkaPiSnlIK0xCMU795I0h4Qs0RFR0MA8LhqMNM/uCPjmc+vT6uh7Me2 RlMorzbbHfceRbuFS+cLDTpfvA5Xj2baFQ0B4Qc7Uq9O3lxzHlz+ms0/SIuQVr2Z1aq6uFptyfT4 /gEgSpWcbn9k+p04ndqRmJW3XTkSILa2Na2yVRt2x5+wWuzsfCQAga/uk8W7ptdudOHK2y3Cf91Q zcSMjFtTUEF7ZzVAq2lyKh7CAISBL4cExgH0ZDqCFmw/e9Z4ATLiJz4uau6vRTbcH75+Omy24XuB uWLD8cpcXtueQCSKGwSe/iEtNJ6WxOVxBq7D5mjLHhiJ8B4xqygQHOnz2HuDTtjfHSGokP+Bm5eX 95jm/rNnOOlvknpA9+JMUHV5QtU2Ap8NWzjHEcCG/bvYO4Y+fQBOw7/oB//SHsYRKM0AXzgf+7RV NpCeSXkwQkLCsHD2HllWC2JOSqhAPAFwYvAqfdnBsGvT2TZzVbeY8zBHTj9TPY89T9yZRlm4rLBl yfQpfCdgEKwYB4DyetiJ9tcoscHBDhZuIWg4c2vcG4gA1dZDfWOp5uFLDxVKB895OZX7pwknSUiS kpzBlqsMgzVKG7nxe1xeRSvohYCn5/DcNzt/FIpC7tQragpDBxsCf7WaQP9LADE2hP4oyggSburR C3PVv00R/LcrDOWkIaA2OwmC8YXzYPhO70PqxcUGEl/NFXBHJmIbWWi/ZlVx0vEwNn78YaRIp9MB p6x8rtxswH93MY84i8+Dc9p6/Cb4VoPc6esuOX4oz2Szz0RGlsOqQCvbPqd82kTD9Y5PaB4n/PRe SjnTdCRClscdPcDa/YOrO7sdSsftLCp2zWW944r4DUeOhTffmGvw7c3P7uXad//goHdxER5I+hjl sBA/AYFvd7ceOXzOoKiUsaJm9RbQML+jtVkN+34Ojl8JHTF89f8BAaKs3q+AdyZokAGP8wjzSz8A QIkKTV0nQr2VgYTk5/dtqeUqIAY8vvfZ3z8got9D+EGDjhPJGdxUAIj85ILz9HR8eoYQJknSkh9X ed37gKw3tujfSmc0jIiJgeWw34wAntvx8Y+v42VsXKvWRZ3cofUc6Pge/qwdH0M5bfcY4PF7gALp poiDA0P8hzdeo+gpMU9bymIHOSUlMfEO3mHHm0z0Lc6/5+YtBKOHifSroZDmmT/esH61Fuy7EvzB 9GseIjSpab/1tRfxTrQa+rchf8rAFkgUZbbcDN9ytbkikPDyBTdkHxHP8oX1UDCiT2cLEC5PdYV2 I1YLb0h8cHmbMPr1GzCllPeEPFfvVHJuCXloYADJKpAkxR4j4F8/blFeH+UHGm19iF7dVgSvVG3M dIjLnm02opJKDgpXapACZWwb8BAvkthBEvnRItfpcw8CLUWuQpU65stdNpY7EuyhBYw0tuVtlcby wNju5oN/c+NCnDJOnD6alJIC7xkHRXC2hIobuA7oNOjZElyRkUlbIxyaZF996DMgDQ+EBYZk4G4A 4Gr/uJTJ/EZsmJoS93YHyZ0WmeI5VYoMiQOhzel2CB4gZGSkNBo83b32vPiXcbbZMPBL1wBM5yWZ T963iivP4wh3Z/dK2Gup6hOb9+ph+hEYv8fWbIPAienTt/+6cyt8fjBnNTvGLYRNT07TKvcw2uFV GY6H6bgjZ3qiTJTCbrdeo173J+heTdTvzVB1MO8KvmGp/EZbrioBBbQNeojcjjixJcANX5tKOgOl GTFj8bu7tuS6Gb70KlD17eh0Y27QsY8ex3JA/rZyuVS1d1b15Z5q19jnJ4adhiUp0kVL1ITPd78B mwPIdGt22u+vbv6ACHYLZVcNp/0ljJBoMDBsgHdzRGMTXZtnmlxeRszMzJyxsb+0OaKyh/c9vO0J 7mxxJkWv1GnuAfJi57cVGDaHOWigHvYEh/pWMlw+XyIt/l5WoZsyLeMiBk9OTlFq9yhzzgJiusks 9qQffiV45zLDlWtjh3f6GwAhEvVChddUrs5TZjLDVYRMW7AY7xEFQajfepCVS/gih9bOAp6IiE+v r6brrqg1vssKfz7OUPmwH9FCQEOJUmVqLbeEvby8suhIw4TM6g+f9usZrx5HUbGgyZDAAQAEsq9a AM4HayD3+ikek0bOUKRGk5Sfb3hwoMGGCGyWxWhS/fa6ujqiJKntny7Bpe2cREH5zXYRQWg7cbrC xJqAGvppYJsAW/9rBFrAHk6f+F7fndJ+pCq06SM1YMjBnSLOnpdGnuAsdUs08mHv771ZQ4JDjL8v IlGPIHQQ+HBCvljMl2u/Ay9Gwf7bGNOUIQFElch4eCFATxvKYf9XO2daibG3t7cl5ynBOdudBz85 uYqIjKt44nys/BD6NT04t63tpMKnMZGWH3nzQHa9tQ13s1efKIzAR5/g5oKChLP+KiXXGdmaurvA /BSnJUAeMVUy7LkDI48beIzKb3DXw66QWWfSWXIODHgcDjGvPYoMVl/IvPwrUD5+vqQfOWFA8ida Or8zQhg5S/aT+s1mISihGnFufl5GDxIgIipae3ir6PwwYT2C7mLFdnH1+FhdV+dajJ8GxE84vo3s dKNjYyEyB6CEjIJvbYGEDPptYRj0f3vn53EBdtO2MOcJMzM8Vhu/6AXe903DwsKE9n4JOyjEOwdA izZzdo7yhM+IQp9OY6hz6K7hAP0UKmX8bi9BLdfVqfATVFiB/6sCICgUCiKeUDAYg5601vIRpMEe V92EZ95yom9/FLVQaeTL+r4GVAKxdYQcjahbZPyM1brzvwVpNsdZ0AQBDrS9Yf7QsoevwULcH4/d 7ICgKX2TwkWMH/95sd/4J0Ad/B6wL0O4UHYLvS+T3yczcyRK0QpTcge6vi+5U8odNFXbCw2H0Dea cgLt8BY7qJso/ukA/DGeQb6gwZhNcEDHZ+83oA3GYr+T+QgugN0aBqK3cnN/jbA28Hdn4JFoHux/ JxDJnWnDYrm7RklHFiFqsuUUa0wY+op0DgvQb+5vWqlp2aTwolJiYmawwDad8AdqpNPdCnLH6wcL NHE/GOJdUGSkJjbQPNcIRaAn8lgRUaLBRQlxw7r8fUh4KXGJidk/cwkpQvEzZKfz8ucQLO0TFI2U oJvsN6J7enSiHLZGn/xfH5jL1OsZHs75g7YTkSpO3M6X8D9fb2jJPm4RhwRYIcFeHwd/cmLu3hyI QRMDPY9p7Vvoo9PJnLiYeOOwbfX0cCRtmukMKeLe+iqr1vN1qVLFormDJo/LhgZHNNPZc0lienpk Rwff/v7+9sVG+8jISE8ur6fTxTo338fTHkb6V0E9k9OMkplZcTrtPLp4iN3I/RER5hHxcj7YjeLe UCNbDrc3NkgcBXGZck5n/TGSGw+/x+X6d8p8v7lNbSDBoEkqamQHbMcwCoikUEzO/NG2HTnw8B7r 2VmdW3IaaCM/tfu99n9KKW9v8r2GhvE6GaAgVpeTcp3xuU9+jygoijtYQPKBEQq9I/AXXNsfIj27 gdNBfVEHvJO/7H5PWHuf+NSG8cVsB30sfwzwfnedoT4dnxsCUKJhfzg0FrpVwFcXXAz+4hUhwI8A O/8PDG67d2RRy2/3t1Ua4JUBlezyuvAGFWGBM+XLbJrYywmB+g4kJMM6Gz7vvAOe6k/THu6ka7Vt QI7RBuQYPtTy7rUOFenJ5ePj47BfXYMmpqYVZIwde6Ia/zsiUvLCAs6vPsrg6Xe3blyBvYSJjKzO CCRRnE3LmKdNbdQGhuKheam0mibnfxvVk1No4P2+ChjfPU9ny+Vfy/XoU+fzA98iamqYfC1DgeLR AMWj1P37Jd7JR1un4LHzX0s/II0DoGEA1AmNjY2H2kiB/M/sf6NpqrNt7Jh3XPesAszMzHZiqEBS VmKs2+8NvANGWWFF9eQ0TpBoMZMbxv8pqReWFp4eS6UFAaBIG/MpZ9aKt4ISih4Wq1D/L9SSxZj+ mJlvjzRllChFmjhpe2vlJxNWuRS6y7AkTaoIRYq6WMD/ME+YFZQ7rI+0cfNE4GvULFGGPN59eNip OfJ/KbZGV88qgKLCeZKK6xz97uFfAW3+ze87JF9EgWShkprWr/+hzD408jOmQKUYFIf5GiIg8uF4 RUqNAlCX6xrzH5ZkSBdlSGf9H4L7kkBr/3VoKdNVknBhIvblBxYkXxnVV7fOy1pICOgeJScnJjc3 98jYWN9mpy8tnen/MiQBCSMNIk4CHhGRs6W1VahSAx0m4tsleKpmpgrT8qT8b7WvIUmrq6sjExNs kGLPz88j09ORCqWhwJdBNaPnr0vP/RHkBodz49s3TsdDIlpawoCuqsRxcqnpEVENCxCbRZdIPWLR gC4E8T3hXIVtHRuMjk797YNzF8Zc3NWRMYagyPZvDDbY+y7UaN+/By6dvD1/9XX/4JquM9/aBv4n 5XLBBp3Apwy/zcNevfweHc2K2fsGKirOPnqzs6hAo0Im1/K/KvSfxSrRznccJSoIJSrGcE7r6wtK FepKNJOenhXQB9/8zFiAl+C++y9t68aT69ym8jtMpuRrucgGHXrga8zJdZSCgICgTLl//PD5chPC ZuEqLD+fFkCkxZjodMHBhgO/zv+d8yYl5YKESSr6byN/3NZGawosJmaBMSniiNkBAV61GKdDse6G QIlKPAZ930yRJK6Y2AKEEhd4gQhxpJpO2xtQdhA0SIWurjwnV9faOvD/9M0dZbQzGO6HDIRaeV8C MQAYy4cuHCK2hy+CFWfbBVxa8WRKUESg97ZoUsdW8KecmiWhjeHiaZIrKmg7Otg4pi/3isINoLx8 2oDAm4iVlfDiogoa+i5ExdpnmIKXlzBxZLYgGHPhn+80s353GhTwIa+3qQM6EZQqDqC/LaHpdpFY sdlUrFmueHd0rCNjHava+Uznzc+Uq4uut7picjr+KtSgD+T78OJssF3GAlydN/vWBrwzAN1okXb9 CwCQKgOiqMhpxfbv29Z/IwZeHKn9FBPAWTLRWDLvthjswu21gA8kVQamRAWkVU+DOhT3R2t9jhpN OBKoy3Mn2TdOMQu4sAadSukeVe3ghOxs3I5Oe0Q/Pf3FpyMVnCr98cj2dpQTax62aOiQZs9rXtxm x9JCiyjOkNDLDefR8cU+8cqIQHhNL59WIWgidnLUZgcb5M0VMBXrwXheYEM0tfm7eO/0G5FPZufm hl7vQRWIxzDB4XFBSSZQFHjfMum1uuBXaDqKb3XNYgm8CdMZdiEL7YhaGBjgtLT/j1X9vKHGecL6 oPd5HEaCxu5iBRdEL5nw9ANkdHQPO2GWWT1yVmrAdhogEoeNdqNP/je63IFjOj9JGYCZrvcE1SJc gT6DIVVInyhS5Cw6u4x8cGgDQiy54bN5daW0qWugAojTZRA5fRKpZKATMTSE/xDwRkWh2j7Rrp0e +O+5UKaMXr1eljrvj3Dved7/gzBebwE5ni1iBxCR/GT422AdVkBEGBa5HIEEqlOJAYWQI2Zmps93 JcTKZq2Cm0IB3/dwHij0+0d/fz86AUEVehv//1i8aUuo6XEXRarMB7xT8VCVfUQgrKEZTeVM0sYY 3hNWWyMMsVxb58m9j+m2KbQHXP4YtA8A6Bf6NzaahlqRQDGnLH8GvONAw9HAUdzcunE570K6uICH hFxAYGGfZF5duYk61aSP0nNEFwOqqlaVKvS3LwywkKzZgipsKdQYZLJvTWgbdczZ5Vv1vpeVUWCx HYM0OGwgAQpUqJWLIij19L7dHl9URSQkQK1v6BeqoAeUqo0lpaXBMDLCA00yBBgw+/psPnjlQTw9 18bT/nOSZOKh2KJXql6s4jr7W77zAF4ogQi4dcI3rC7WdQganCdAWUMv/A8Zcj19e1+AoKAiVKYc pCOh5h5LVVVQqSVGMUqmNA83NzY0wg3Vg1M30DHo5AaHgEY7f5z9AW1podo5P7dwNbA72DXxfwXG gfV1PSQcHCs/iaMAl1Y4m8ZvVVUMQ1E6JSokZAOIMDCjSCI9i4sQy9Wl6Nn5/4nXAccsN9sDRRXA OYJ0prbv6zeG/rT+Gdjf/bi1So3zpgYZ/tOJDVq3TO0bUJF3dWwY9PR+JI6XtLjyYurQIyEVMP8q moexagyqztetbVCnIeJageV0NOsfl4UPF/leXEwHPKtva6sTpUnRwf0VjjfOoJozfgxye8ueDk7M nAUb6Fca4GYbVaiHt3v1mdyObbncaZD5fZv6s9jXPnINbfCsQ/8TkyQDt6bnik5x1vIgBlIIvVDP EbRNkPSRxe4FScUckh/w4Z+eeJ49R8cC+HxLiYjBZCW6A2VgcAmLfO0V3DbgbO5Y9xs5YGmx1Zv4 tVFQyPhDBpuBcjPcgHH7oETknelSxjtBcec1WGZTIFospFIX0fR0qZ9iazqb81u9pSAI4POhiA4P t9Oqeywen/T6Zpz0etMX9+ognXemQNhYs7mvXQT9to/qvwgMJnsd25pNi96koLyqLI3+NXtRBAJ8 gycHzWQe//Bsq6vrf1ABeEt/y9c5Hf9nQCE34P+iQVnvge0ecmBESODKd9/QlHZAYUZ6QH46BcHJ yOCw6VHNBMGMHHJcUj+dk4GdYAsAAEI++m49mk1tEpRvhz4XKqfIuSAAwKQMq9+hcbTC0+RmvjnO 0DEcAGCVVoELACTm7YABAMWWTwAA4H85nbFRHQOyGUKJFbgLIC2uIFYlYhQC+P9v/1dthsbGRFQs 1IwM1qaODgxODpb/N1yDCbhxcLB9vTNzsjP9P78DP7GxMDGzA5jZ2IH72Dg52NgBTMwsHGwsACKm /xtk+d9t7q5uxi5ERAATRwd31/8Px/2fff//o1u0koIk/Decb8CP8NJSYioAANBAgX/QkMA3PZcy C+AbuKuItBo0cPODNov6X8dweOWcddpOVC47EzxM6Fx+TCEz7sqTUCeTiH9v29LbyMFyxtf2MAGP O10In+mxziURjC2wCv4FA9ogFFtANYchHvOzW7dAKhhU+jsRw7+fQjqkVkSkEfNcv+25m9C168iV MahV0Eb767caLV5MDzO1X6U07J95I5GnDTjcp567OrdOdVi/pomkY2bNGfbOGT7n/mvrD3LkTHB0 /TeuHoQr4bYlbngVAPxufWjPDjC1x+ew58wBAB7QfM2FG3TLlbDmlQPfAzzTnm8Kcptvao+DwBLM ieDIGTfh/7unNy3vFgt+7OX77dI/dl5XE+AEPO3ujs0j9SwQkWS49sAhIQO6LIMbIDN6J2rwGQD1 b3hGVpUgSBnYE2iAGZ3IzJ+P8OXfl8DneB7eoYMBgIm3HIvvSziHanZrEdyUOqgTJ4KOlcJiRJW9 bn2AY7W7TWc+glnfyH+xtpCA3qZnb/oqXbEafAQsU6iJ3Re4oE+F4sHG1/sMHDhI9edFzcfTfI4R wffdesPXzPznzM9X2OY789zhU5+Ryk2s/eGAM6jNl6phwtezPUffF6fHjcftqvZLiRRIMCLQWObZ 5gvYHrhKaSxwo3ITW1wd1DIX48G4BkjW/gXscd0Zn9CeuG+YNeWgznzq4VEFg57BLHhBuORRAyHu NcU2M0xYQc/XQUwGqJXunBwkAHBIsF3WINxGZsqmTcUpQfVZsTcvkiCQaoPuCM3qzhBNgwCY6feL 9Ou4dIMB5+XPf0eBJ7Cf14wfu4wXzYdxQJG9113ArjQ/3vOfCAWuChPe2z033DkZEPA1GaqEJmf6 YtIswQGiqIZ4TEJZBc2QoYwB6qKX8BZc2onlF9q+lyfB8EIpqtOXMemQQq7X2djF7NDrUjl+mvAk 9Imh+cNWyqBJT9fWTGzwIeWF4Um28kyL8HpbHMcLTDKHEUZTb48ZqK9de5mMnwgBp/XdEemGrR/1 +a9j11tPq/nvq6fNV4tACZ2+JNz6wPwcddzy/PRP8N9rtXQ6P3A0msLvcvN3vq80PQOLjIFFUkqo FZ2c0UVsoTvxpsdoi4qEKf/Gbn5X43VxwrmOQ8fHKApPUA0hwsTaYHA3ggUWeZ6IlKu0ZRQQR8LU yEYWJCRv/E8inMnQtBeVeuLEqrQ5LV/z3rUCp8qgE0yzqgskktaxx9/RB2stlXO71TJ/sPqjuzsq 3dD7INDnePTznDLwpVT+y87w43WnQKRShgU+cbtjYypFBwCqUrctmjoDS9kF0pO2yO5M9mkRPdvM TzmoTD3bMTg/kcTO4EO1e3yFsaA//bz1EeGzsNwuEg8TDZWGenGY7qF7UUjChjlBBvD+ZstLknaK JvBeLovCAJBkqxHl7hDuELD60w6FQ6eCl3iqCA177zUNg7N2V7fe8dddt0K9niove9o3H4n9DtM/ R/Nf/x193geCbJc6HrzyJiwvtxxoB1ULfuIxVK0HnzsFzbBmgSCxnSQuhRZXfMKBBov6f6wCzQWd qVdtEI814HLrxD+04KBWHOeXDt6840Y0p1gGwOpNGsAM9nH7SsIvOF/Mi13WhNc/fQ6+cxgltAPd +0bgxuNwVVMiWjrID8okqGiLjwTOuTtUJtsPOy0QOv3+Ijj4/tiNfel19OrsfBx4Pv2pK3hzud63 7ElQXe88Dt+z4qnX6QOBianZx/pyk2bU7Xsbzn00gAWmuhiIW9PeGLHk+7bOfzZWBjYyPRcqe7v3 uEmqhxTbycWmLs+4oROZhYuG9TatFYuilI8XUu2HCCF1xWw64wslLWTwuXCyTEs/Kts9w6SX9LTN jERWBn5JTLJS3Rm29XxWvb3T3IGe0H1+3nJ0wfmWkP8yS/gWnP32d2rPnccADMwJXEfSVhfFfg6c hCC/wpphnZvyEEtr9SE29UjsFNfn1Kqy0FG35rVLqlShYdM/uNxnnZ4eWQTFS+O3xC9w8ZyM07W0 Tw31iW1kohDm4VFmvtjat/cc1mp1nfEtziQ2rPiA9afjPsYMbSwxWjyyD0LwloebGK/DmO54yjwf SgLv/Uqv/R3fz4TAW0nB6wvdR4zpvXsWh06kqNp6YtdzmGewPlw/YYe1tJOGm3/wrvFXNcIEQ303 gVC0iMUeBURt5l2b0l06dkyyRaRug0m5BcL/YCZpQ4l2CfBhM2mCcImuXY9zMkwhk46XIWBMMYb6 68Nv716eZ4WYoO3D2LafqwVCLbvfvDvecy8HszfvtlOb+dwuBZ8GKAU+rib93I+uX3Cb1wF3SwDU /DNIpg905NgdA3Z+Py8FqdpnuWVvBPwM1/1d0h+Oc6DlrJKGNW2NF8N3RYPMG2CqbOBcNlimT305 WUjrgpcSBfdpgqr3C8RBYrgdF79RWTGaLb+JmCJBKhZ7e82JfCJF9czHjFwVP0YscUaBwIdsve8e Xe3CGg7OX34QXfju8SN2HV1DfX5QClx/tDvc0PIlLM+2HED2TKj6ry0Vfmu4sOYGUIbgsQ5GDeb+ bj1Eystfe0T+zWpoFDb9+yrG1YYExPISgoAiljsF1Y4krwmVgrwbW3mCO1S0gAdZmEACsg+JJ4yJ b6fxN4VZuVOnoguIMeyez6m3WpaLSOkLbMwfGHCvw9vuYG8/CMXuV9GW0yqgJV5Qbn14CrzMJhA4 TK0BbXCt5R5SCG6tiVuW8JpHJBWKCJPmOdjsAQL2DJEUma4TEtuzSCJot5CFhoE4gqiDk7yrS2lR 79t6FuPNEm7WD7SVCScSgnK8YFRv2OcMMWI+Puu5G5ygNkMaeGPI3NqrvValRilaY+gqIrM+XU+W a9ju54oWl2Ovx9cuKE89vbfRhI7LpE+FMjGehNsnjr00xeSIQ4MW6T4fQGuQ22htCkappziKFUIk CFkspI2yNO1UgZFHAVgjHDsPsnhi6Jsewz7uVP6/7qADeREuNDnBPR9rlavcqOLRG39BAeVxAQks /n9ZtOI9PNAA4jCXUDcuPL5GKqHQXaAY4y2vF75X8Z6dhJ76nU+/BR/3BO8I9R/agU2yBXxGQiRT +KZpw3klpZ4ilXwHMGilpQl8PEFw8G+vH/X7CNtWfUmh5IVDLQEKCePqjYki0KF1VUI6DDzIhmEK kGnNhvWIamgyxyBY3aj8Uj1ZGDEbgqhhJGF8hC9Le6tiHL3fz+wqn93v8liOmQ0GHf0f8nfkEQVi m/nvEdZdlxc/b6Y/Vgg/WTkf7fOGPV+/npCfS3MT2iodmSGyW5Dv1pN+8W3Q96QS8S79J35p0aTV sKs5vQG9Dph30nXNxQXoCWajq8EqYak2fJ2kcHOOQkf+6oytJA0y4jhRxHdQW3iAJjwK/R9qJXBl LneGnN7fdu2S76GZKfE+7+h+1675vaIJAsHD+X68m289/oFHqoEvKYTd+5peBNVFQJ8YxCjxqBc2 MgXVcHXIn2OLdiW2mHO614gR+uMXo6k5kWqg3oyDXY65Y6eojuvxFriuJzlbYWOm95gCLXoZz3sW cTSKxRsdbFyDkT9skcgOkmQEpzEXeM8S590hn+gvUm8DWrLerZRLJdefzlPYdVaMyTaVe6mOfvDT /LfefO/xj7uTiPwrBH7bVZ+3UAHbvvkdz44PfF24w5WU3yeMjHrlkM0xDFJkJeoQulNFqtKVRgTJ KL/zYJ7TUfdsI1uxybGH87OhQMIGK6KjKOuJJTCq7WLVZUSF4alG/cKB/KXZpuSNYGCojvLi31oQ BS2s4xohCCesIR0S1QszxUzxwC2CjzaMADbvM3w7DUQ2go9weQHDUE5b748b93mUBE9QgneiW689 8n4VR9f6PAaoxEpjNqPlrJuQgRjWfItPjCanidC3rvIkjAQphqRFQkU9pqJIY/zy0/S1GclEC6ln MRkEadQDzJAAMy+iJAW5SWTXEDlhBmuBpbd2j4Lv0XijDT9etM1Ai6WxeVDiO1NRZm/jxOOzRI6u XtXFI7fHDZ/g9QLvyTte3wmHOoGwb6mUoOvT8nMh/4XUsSO1+oXv44CwWrp8xPaCNG85U8kndgfl b0nwkN6CM85BoxwyaC+sUrDs5GfTYG1/f70JE3qwT7KtYFw1vk0Cd51OzSO9KCwNqO+Wnk1HVOxD rSQG6R28E+LUT4JqWBQhrCEpDojrcuFBvH7uSCFmDstiaEuprCJTlUcTMrZgBhJQ1OA7SOsex8AH TUCu1/SrQGz7ZdvtnmLH84fh0/6j/3QR5+0GUNuXveBFAN/N6YwvF+bWqs30EgZFf9Oren5knoc1 lo4lnDcgRRSIu+PHRfkGyGZ0D51EC/TVvz7DWqTU/FjyE47wSXwUC9/6zpDFRkW3FgOSWrXADLid PsmI5wCg9e6oh0WdOoOg3rzoYaEN/MIeAKcXUwhw2Ibtvp52Gl6seNIUeHhv+dyE2rzffOS7Xu2+ QhW8yX+3FXyT3LrtRQy46qo32H4gaO4gHjF8HQ/sJfA9q8wY1ryaizHsX/esoSTE/LvEmRAIc34k NrgH8ukru8JQaT6LFER211T5F/+s3deyDm7xaBpzHou0DiT1Z5Hz8WyHKS/e9zdYt1lfTzQRciMn 6AoUZKK56ARxjT7398X5oMfpRItJqhU6sMOyIktHMAvm5DK4/rHTdYaq3ZPHQDge9OmPC1avw/Hu 0HRDH2TG7jeWF4+V4YC3OGMPNLa7yewkNZqlS8/2FqlalV+qwXCZsX7iWBJJeZf92bVR4rWpAORv v3UE7UTM2B+xO7Hf9R+6Ch8j/PN3iCTwEAvJ7j1ZHviPwj9993kpgvdvITJcp32tSZR64qpd4iHk IR7pOzg0cqrEGIZzIpYAyCgrI96rxcL2Jmf9Oqe2KDBKHTdj1y+MXU9jjd2P3R+X+R/c7YsxyNXC okiO7urUdUs6XgKPRuIF1HRaV2STZRCAOutfmcS+kX9kOnBVLObAM0bE95l5g8iDt8tIVZyQeeyC 2ej2Xq1uBz1Mlc+Hb8fVKDmVdSLSzgctfjxUrSIGlysabX6Wf1/4bTWUB9OBeSSiYR8cRfSS3HLN dhsYs/23gnFvOeDk6Hrq0R88gf8DjSBgvxLLdfj6JX7v+kXYvuuxBdFOuKONocgNtcnCUOlox3JF wn6Nw9FziVZMVYA0KZEJNVcqwk1MwhSvnjYlwq7tEd409k/W3ZE2sSpMSdnrSIwsPHQjCSTjpYGw okaehCpGhJn6ycmRbrv4yR2H49mtiVJN9MBvNH6dv+HBzhUm3oSucnjV3S/+jH7vz5/blAFvUJ+/ ot68Te38YoYqOQEYSxz//hEHZRS723eWqCAKMb2X5C6b3egKGDUmTYrKw8+R6nNa3oAufDquRTBD ZS0y77GV7gjd4QIStUEZ2kazgrWC4EuQipFxTB//AH5eSWcO3bb+lBBhbAPo6pnbYrnmqXFepCyj 4Mdm9irRwBUVOW+96Uwm5E8MscnhXWcavnjzXR02bwdHEvYv8l704VYZDC6054blsjaiuL6welA3 eCmCE1FyeJlbg48xVWAjRJ7v+1/zxt+Am5Bpvr9WlOapzhbZZ3nqeogKPuxMmryL4JVA2Kw05Vmr 4GhEcbNYwdvPOtaw4xWTIy4UMcdC1wXTVefmm5PqBGqQwpvbjtgt4ZHO16NsMc+LkRkMtkHA2K0k 8B7mem47HXxjYKj6WAt8UQQyArCr7rcujDnyOF0HgFzSLk6wURknSC3doXDfptlYtpqpEghc4Z0q HQlOTE0v8mDON3vIWSII0xvz2PM0qAYQCyFJeh7wXSxjsTplKboA9vutXn746XGlIQqWdaUKHwiZ cHF9UDqkDGifnlmLWW8tOP2sSOhXBJCZNsU+Zo/8ICU22yRxZSELkhC/eKQMLbmV6OqAe9mnf5rd eOD7A6m0nl4kJEri6WkxxY0XkNxZpWriFJh+9ypov9iIVxczIccJW1NK74YCEPFN4ezWIDVkfCBH Ovd2dpFy8+BMEfRaW3ZhbaaQhMUDBw3CNcTHfKgK/+nA2HCxwfESv8flBSjIg4sa7UgVUYICgjbJ vAkjoE0vkJtwcHSsNH9h5g7y2aLQ75EjybT3OPTge26GN/M9XSnu3jsAgq6ocOC6aHoE/KijokMy wololS4BeXXa5W8t0OKJsdxyBePJW22KLbv34EGH3qupGcz0xn6iXiIxLNtaxvBTnExy1ldsxpeT nXoDqTjUU9Y472Ck/qWQqGBqRtmnsBHn2gp89sWWt0yjcXkK8C8aTPYmRpBzWDslFdnOv77tUEWc zGNPH5fsLYMUhji3RcZbiopwbOEpS3sJN2lbfk+RyEJPYY2po0FjeWodWplthn91ng6/gEFxoelp tP3oIMc4XE+gjDMuQzroXjb5o+asE86Iok3+q7BE2sJnyZTskSRcznULksEMpU2WnMo7cQncl6jh GyHyThUp+w159T92PV4CELuWFpfr98CRwXsogmYCkDDNwRyE3zNMHjKOyBsuUCusBRBwZ5v884EC q5+ITEVvmA5YFsLqi/8WRGEZ2VB2rPvee+36fs1iPB+BDRHLK8RE84NVSX6KGMc4Ck7hpSIHgYii R3Y9H2SDDHkpmaggHAtFYFkEiYDc88MjrBGb2AafuDmYoGLhOYBWNJF0/FAaP45wF0RI5FOnevAf 9ljZxZ+RIkYOIyUwIpAsp3bX8RFb/JbywBwzwC6g+fdhhhGLlbgDav82nxQpG0enmYwV2wcPAYrt ZJGRBGM+p7FmAtxVzUYz3Ky4u/33GaExU3S+YrfhDR9ZEESP2q28EdY0b7Gs2vDFdBAv9rTSfUbz 7gC5SA65Q49PcfgwntXVQhUNAFVPkKBw7rKTvaJmiJ4T4FvzUQ5GQbAlr7O07WiB1g1ANnQfZTOw hVcC1FjdSJMMG36/i4cMHEFKtFf4OdyNHfqDcc8ZRA5DGQXuuxWLCYGH2b1hzXY/RZvYC/IuKh5k LiQzZRT43XaacdxWzDJkGQiGhKNCuFv+BL/L+/BGoV2oMeEmqfEAq+q9XW9s1Uhl/U6URYQoWVZ2 z0zDit3Gqo8d9aBEA0/C4LcnAcgePurgvJ0dH0emJL9I+Zx+p/49RrdYFKbotiqTY3ALNyMUT8jy LimfLaYH/lhUkkVa6bcp7tk/5EBXRB+liSjKccd2NYdDNoMUvd6amL2vx2bDEG86DDnOA4eA8RtE /CavISPBmzw46sFfUcFc8QK65Zhhg6C9NEheh49w8P50WPDs5gUsQVcRFBJk5LuA6tZ55Nm/hmgK fPptHDqtNQrhhizP/U6Qn74fhA4lvrQBQpV/A12vtYm+P8EZM9+eBnSQrxVApsLUUm2PboYoGB2K 6f/NZjcyTpuclGYTvh+FhstFrgLfIXNydN/APMVibhWBY4+ISPohhc/QFtxSzeFbLP5ItuxlF2y0 lbB61NNOwytSANkPH1XSwC051GavbG/zk46G1DrqQbkDpAI/09uYfsR5q6jZdNqy/hLs+jp2eDxo 4FXGS15+lCCEFkSuQzlWXF86zFi7WXjXGzKTu5Oft56uPGLvnn++iR7J7FIXR3Lojv/B0SiD7YH/ VGEBycwSZm0CrqWrqDnen9C45p3gwd+oGx8uSBsp0CyBO1zXdVG35ukEWQuODFpe6GD13feuDGC0 MhxPYMOnCiurB8/zZltIl8Oqrd0YFSivsrc1oxKqZFXogUeiXCYMefHreA2Eh2ImEZYuy9d4KOTB wzDAn7UPm/Xez8WxJeAdSxshvKDQHt6VUMgN3YV5Ae6BW4pXeKRY8heVucvcMCR5bwKXp7JeUBTj PjflX7M2dKvvB63oO8N5sawqbTYRlY7oqlB+nqb62ngCzXsCddbl5SawYqVkJw9JNlO1CWwccKc6 bCLBxFz4vYeMeACSHKMMNNb+McBr1N0WHhceAxEJ10XXbLKEVxYPMoClvDNn0HXrCAHLKQh853ho RpQjEPGMRp5AqLTQ856fRFcUV8Gm6+Vf/Olr5db5OTsRCD/iUEu07w5zmgYWXdMoiSZFUtZ3x34T 5/nb2I3MfWREb4X7FnWy12dlciqQZXwfXSdresonOEUqPsWBorDEqnHL55p+Q1EvElY2drjc4/Nt CYrYodjKLrmBvZkRndgWgezvhd8yp7ATa0K55gWPwsQmVprzzry2Wq5Mk4VnDtvutbGi331+PSFE skRhjAzEFYCYov3OkpHWYLFIQ1VNiuhRNbSdFpMl7ZFXmoCj70vdayEws0Z8wi+jcgMxRWjYRi9D Mb9FBxz/FeYfjm1lwYD4ZckAuVCcxytFp8orXIRA9eBnAIqTimQTDkIqrCdY8eCYck0DgOvHWiaN 06b2lxTMqzzRME5tiNhzHp6J9t98kc8zCGXbvsvgvXke6LeFyF8efiLbZ+D+1Yia6Nabw8tDksYm S05UD8JGwo9l1sUlqJkYNcsGLn1HNTF6U/M36SccY5aDJDUksxC66xmAzAODAIl1BQ/hs7QPaVDw H3F/Dmu0XG6ENTIkEgRb74w2/fTCDNaWA/+DXNT7t0O5namxOlWuPWq5W6/WRUgaMU3WObPXlZRJ jymjX8nJ4mqVqX/aYGiJ35/ByKNQoO18cO8d+FUDfIBqgLCq4s/SoSLLfrAEYZqwYLA/fZtHIlt4 3UU9deIfesFrdYY0rdkvlYREfquQetL2aYrD7UUR2QFK8gPLtKCRqMTymvZjiqKpP7xbNcyisFkE WW4gw5UrcpIbKimCouf+lHcoB2t4DQAycVWn31KWiKI/tGexS0dNJ1Wyc4WiMDbJzddp+cHyKnL3 nC3BvLPLogPgNkZPezaJIH4tIGuFuoaSGnEmHThEt+hN6H7jV5HvyhjhLGu1ZLJKTJULbxXGWU2i EgmFtGNxPsLHx4yEj6wk70BwwadVtTmJI0/Q/9b0svpSmZJUn1zzMDbKbEXkyMdJzCRKIrD84jA4 6ewG0FScjuGz+qCrXgGMLA5SLXMfpy6/yqZuwS9D02XmHeDds370qciPiOssT97mgSNE592YDvku H/DGlLM7Lh55hCR4xZZroiB/xHXfWX7UYs8Evb8EvE1wdb18dtwtVr9Pfh5efqRgOviFpzM7eNP3 GL6NEtYPb71At1HFLxtIcKxLJSsoUng6zGFf6pMGip0aqhgHrqBF9HSQJCi1HuaSC4P/Pm9e2ghG uopXWcAoxtjThmepEJ/gJWn+w0oDoovIeDApPpRxktu6Vk0DwzgYLsf3MtPZ8prne3UYufmdc/MT 6aJlj8FOs4qoErHrpHqksYsv3/GDOHL96hI3MLB/rs6xU+M2JU32ag3vcy3Wa9RsV1MYgYQOWdjH mJ3RjwRmxLfk2yVb12MvUpmCdl++40sz/dbosOYAMfxWnKuZv4LfZ5Wh8Ho+uWF/6Y/VH+wVs2Pb PeCinhO1e6mOHVHphn4fq+kGT3/z3xU/X/NfX7s/od5ecZsDXJVcId3B6+GJTIpwOaYKyDm7bBl0 PoOxjFgHGGo3NAT8XBfzH9eyS0+ytmGM1gWJvvsUG2vBWPsU+5NRGoYh1mQRIg+51fDMzOj+QIgk ++EPtwCntO3F50PDWHXQxYtD4L+PzHcd/7iHf/mKdeG/Tayn5w32soPUGsa1PKr6hgE72TV5uVRi f1p6li3Y9Nbv8LZhgq+g6PkduusEemuO4U+evs0OLqawE8pHXQ/9lqsyS1FyjNvs7jDvXMkZn63k L4YIlu8NQTlQFlWyvOdPaCemNCD4CD5U5hMsVjZUMh/4bz1uydytYWQS7y9UCnukHiIeUOAtH3Oy Xg+rlptklZ8b3Xe/L30fA9+bBd4HHe/Zuuedx+GFTnHhugoegppjEyTpfqKlzlSwxrHIOrF4aP4U TkRRTY6IelI4AogcTa7MVkriuQaX42QJ71gQYtjUe81W+tKd8uJggmse9sUlKoUE1eUodWz+JgBT UJ/47XWLy3g1sEYwHCnwEer18k44jO+5Hodp+EST9zrmuOfVEeEvaMEz9cu82XjLjw1J/MKJDkbR 8W7MbGd0DOzjD+dFVQ4ZXZ0KM2hc2J0tPyR/dX6v6bPCSZPOg3QZjbSPW3TNHy7on4LL6Iled+Ji v9kftRf0ihlWQJ1IPi04igfvVcv7y1UK9mcbdn97sDlMY7R9lr2YSolXO6jIjKKG2hTCMzOm3UTU XQjVsEslFkf2iyfn+kXw1yFJK2SBtoDZfK/A9AStNA68/6u/bOC9Iwh+ld69N/hIP2RLAkFgapLy vXpEolqcySYiz7b8psWUOJCLmZK84wqCeQ1cZEX4A0DVMh3Nl/7mUgLtX+zGpqLPyhcOkP0e+a+O 6AxuBgNJkNiA/mPP2VO6AntzhpIg8JT0aeYxAOXyOU8wAqi/CPmfR91h/oHsSDHqGSnT5eqiibGM pIOR8+E6zuW65cwSXnkzhmYwD9Z007c/ahNzTulaQJEKdUseWKriB2UDKZwvbpzQu+6Pb0eUjMTu zdXB64hlq7mD/mUNXCjRQYKaUbf8bm3sUiWJEwslqaEyPnS/6zLPbs4ipC8n6n+KLr4QvFx+YyWB x8kMWxAeaF1bMqJbjfeWrIIt5vrp6pECedqzyLke3n4RQJrHq/e+4tlyHDD9lfbJaFfswZjhmXMJ sr3XFIFhvn62vNSlCyqhwyS/MmYnxiQlLswIKs6XtUzajEwNd557UnAnI8HcLoz63OTEP+AGSUqs y9rpCcE2f5k27bDGWIuDtbvwelV17FW9fIbefA6+HGQ1fHLnezxLd7E083EfihBj/+OLlJyjYaaK zfE58fc1yFjKNjmcLQ9DfCUSskntNCZ55mduW1jRPBNfgD98ZWqhNCiGVP/JceHBZVhMNTub2GwK tg9R6P27CQu/1f9aC6DKOf1OSNWJXgDnYzobj0ufD9WoeqfzYLu16wiDXVT1UzpUpuRxgi5c2Z75 lx27ZVyc3YFbVdTBUIM0SrKVWTUk3IzQ9yRoSZzMNxfbFQRNPrqzSM934aW/l5brL1U9OeCHmz6x +KbxZRciML4i0GL+HUIu3T3/Ui6ZUpeyzNPvElmJiA3h5hUxcsD6Y91Q7hw0fqKpcvRGZSABXNHE CE3rhvPb0kvrbOHwHkkfmAsn3it2Z6EuB0ITuuAJn44Rt2kN3/DyfB9ku6xCGnReMct1MAjN47zZ sozQs8DPyFP0UNMiQmIiwqzP3IWE4ROHQgrh+4NqBLzh2RIn3Lz8BG53FrsiwqnKqh07zRn4QWNR Q6dfi5I84gRuBMoqrFReSZxm5h+7zt6lwFP+xG3BOrY1oPgFJG3Maj+aTfQlogp5exRhViPRXkIl D4mS2FEhjN2oRImsWIWr/wgaH2v3WvM+wQfVLc5MZzUAQ5kx3GWLAU0w5Xs7DkH1v3GnEYM9fLAf R9n1kbrwxmeQzK6laj6vFJb09kxfWwKXMENpuSJTc/Zf+0nROXiNZ188FEBYe8zzB9uMY/mckEdv WLm87XeAfxdmkJFcv75mkCSB83Hg+19ar48KQ7ngb9GMhl73peL4PINkH/VXSmsqzQ4EKcOGoH0R OxkKESKL6OHBsVyto3vez3a3UBaVInWjSsU+xD0kctHRp/GbRt/ckCeI9qJGwHtNw1QYs2PDjNld WTymoqO/BWO1OYFhs30vNlHRRnLvc5C65nNHfida7pwm9XEUFsLd3yU3lnMTRk5GnbzOhaDXufrG T/er2dPVJWMMuosoJoQj8OODlmMUJLVKN+FRyphbIXicPF43HhChgGk5IPqo0ArKnu/FQw35bQVL KSME4d9Yr5Ythu/pZhR5dswi5oBE0YXnm+S9L0cu4IklpBGzWNPDUTbAxCR2Y49P7CCrbTmvPGNI 3NFofp6bcgAyz+eNuOOdn3AQDFEw3jLgiNP0On0Zwq87ZJ/MRBm08I+uiR9Au8JoXOzIzKARiQ2+ Tc5lkxfbGuSRqdir/IX1SmDud58ox8C76686A6JZCVI2C3uoUQ7CRl0X9RtvjUjnm3JqoTxK3J8F fE5Lqlrc0CznAw5pQxR53KIcKD7XkoZZ08mh12chxabbrk6gNQc45I4DM5PTqNT72r4yV97kyTJ3 Pa3bxMLECeijelMt9zI9MBMb9Hzj9P7ZVcEes4U8LHmmLwhO4XoJLWOuvcoFayYsTiYRWQydRlqL S7puvjtpe4s261RvyEY2I98fvahdTUCtNqZplU9K1PBAqQk5vJDjIxGvLAqC+SIUOs4L269nihR3 3wmfNa8njgL593+SrfOQ6YWIhf64KuXurSeG6gzUPfe0Jk6EHTP2VSCo0E88cW4tMPEOy6YzN7PA is3+PdQoHonnU54yKGSVa3z7V77UbAq7HOK3pY1BOey+u5kWhvH6X5zKxByADGkEm1rYqbTSz6bg ol72H2WUnhYibwQLUXRSv4ZvqWMw021kL2UEcZVRsxNyuhjJXmzYMHq5a+i4RWOlxOnrfsniVkvL MrFWN2vAKwjBW4CySmPRkxxfjVV1effGD/ZNea1ud4PxY2M79DckIfopDFLAE5TzgpPyZhcjVtaC mlolm3wLjYtuCj9iO4wAiUsf+FFs+Q38NYqmZ0fKCG4Qd4sI5D0QetngA9Kg8yGuQ2BKUfWCrmFg 0Gh2jC6EQcCwHSNfg1eFJTsmwZkyKSg8KvovdKXD+CA/xFkcDa/P4T65VRiuqhl9Z9lRR38h5OiY rQ7m0UImXGBKRLRynd5ibLZ1CfR3eowoSiQyYjZbEA1F6hAqjX+UB50KXpDLZGzfHJxehyYkiGlk 5jELEsuiA0uRKWx233WcSMJQP+JXlYrhcAatTc8AJo4jQv0TLvoPLfcq28x4Ioqjd1IYeuDPohXT MoyBJ0F9xMViZUY7vaNTvFllK7Pa6wg9jTvG4vpCZDu/7cJyuCzPRN56MS1G0nJzXBKECqH6wR+m 5qMkH6M+h7uKYK7iKTe/e3Zc7nlt90peZ+c/Q7idFGrpFfiJLF3BgZRoVtvAJUS5BIdlj0LQTc98 dl387gnvC8d6h2ZNuGx1UpyVZqjBqBz2Fy76uIMtcxWXy3UHCbvJtI5mKtQN802t2u9sZBpwlxsV TQf/zW0io1PsBslGcipq9ASitZSGBJFkSIRzRUFBunkP90H9hF0/z8TOhRikH0KHP7fEM7NuVYvH VzLgLBl87cdgiLfrzRRmUyM0UKm5fDaO12wANcMT/9qTWmkqF16Wvt92UAVTNWtYdU/A4y/yoNWz Uyjf0YVzpeU9ES3a7oSGNBOgAOGjGAOnlh+A861vIUOUXOAbiUvCLzyMkorNlv7be1V0UpNrfzjD J2O4Xzh5PmcGfHfHKV5bkl2Ehm/rln61nOKiBZim+W1zvDOquD8JiEmVxsOFEHOuhMfAyMsUy/R1 /7R2Nmwz6rhAv3U8yvyZmtwXXuEvUzGUomYgbmToxNcEcy8/fbQtyaBGcivE8QJBHa9rjY+ua+o6 6DSjstj/kbVshPSb7XAXphd7KczjZ7MYglELhG6eqLQfxJ8Xs1du6f7OKvnIu+ucsMpFnQfOAmHS zA0cJgs1TQ7OLj8DkkH6dacsWezmdQBewuayfRgUJ5XbBfX5j6WZBvF6qcv+aUg0Vxo66ZILpXk9 tyRUkcVx6f69mqco1I3mDZJYz4EdeAFMr2+TXLzG91XYtPUuimomrMqOSQfWspMITK9YLZ9V8Al8 L9ACd5IBWFtPL64tD2MxKzyqHsEyP+yH3l9TN+vudD4Ux71mdgK9zYbyEgeLfn7k6RZjGh6ti97A lZBHDR3AlI73plPkEej//DfTRvgbnBdHqiCdGDq+N0Y40/5qumWKtA6R7mXUt5lmUFz4UgfZPNGI YApO3a520If+19U0Bv1Ws70whFTo+BAjE/zkYFhz6K2rQ2e7iNo4E1FVjP0EPuAZVDNGALNjgG0d XYMjOn7gGPvfk4+WG0w1LIKR1+B61T9QJFEZLnX4tULv0pyrXw2bZOcUtK/QpqhVmMEmr1f8YMF3 L6Y+jJ39HiMCPtJ85usTWClwXYWETXDyVGPOFYwZr1E/DBfCWTc4Ozo1Q3f1FfkjSrdendc/Z4qe zqrfimIZ6VsQkYtLyak1/rCaOnPMuNYp2R82ikpJEXcefLfAurTkYR2z0bw8MPR0NLcLSjrhCdxc 0/jTpcWOxV5QpbnUQrqrW7n5BjGfVLmNX6epWWD9zVEDZTrYKPPau8OUgSE60SQcOQe2AzH9Q4If ulwqqg3mW6caun+MAbSyVBrBGkZoFudkLOpcRT3fCjviR33jj8yjVbJYv5XgIbRK6Cesel5VPsuI mHRuB38MIfDhPeQ1DH2X3hyOunfUkjwOiwGh5Enhel+7KMdD54Sa+TfLMMfXiVFiEisK57MrB4uV JrDDFdINU2vv4SuJDJtva63U4ne/FUUqd7z4QsJScbETaIcFClC9LlURtwsl8wd8Bd/evwpL0q5L dO7RJ95YEp1SWXStjYt/mf2RQ1Egcf+xjxtyNWflg9INNuIe5hylVI4qPCrDIC1ihIMi8sl+Ln4o gEmc6iQb0LkdIK8Tc+tKgvnq4BwIrZHh0NhBdgp48kQ2mxY7XDJvFajexpPaEIRpWakwlvevwwyv toZlI9E2S1sFqbhx4/x7mnZfwm2slZQjjmPA6YBGg03HGVro3KXcNjFdYveaPGw7h+Y2Eb3EcYyF gA7SA65rVQYf8etj6Vcbk8lZPCQFDOHTg9LrChiKL+eO/alBYLdc3RKOmOWb36/mjH+wWBqpIZ33 UcT0C74LhHJUP6cCJ8o+Hy0IGM6U9Lb0SwUXrp5CPXdrmwWCEd9nBYO/2M4yxlK3TGZSYVC3kQNH bZ+u2EZvVHjrQo4qA648zwgu0ugAmNQ9HnFA37gYLkE3K+WkuCpk2FCEJlk4H9+FkA3zgtJmQKsm dfEMDmxFWtUA9lIDub7GdWBSYNrneL7ZX7qA/olemFZosqx9fkqZ3aSBrSLc1H+YvY8D/FTi5RZB W/dbr95NXRtOk7Ur1mEjSQPh5r9Cwy3G4Q81HD8/ZYEUt3p0yWiYmSRuH2OWXw49o2GJaZBwHw+M bnFC+k+WQb9ulC8NFNMEMh0d/w+pZImGOzIc40VWQFQ5szPXtMbBxGwW9i8e7JP3C4ma/oDO5erL lUf8xAioy9ae9s1nNIE3/0DQx84T+ifM7hdYSm6jXxEKUr6u5hm0+wi/GatXkWKyuI0VkMD3KW2+ QRiK2I8CdgZYXYNrHolMiLlAllHIlbS1N1cS0gZ0Bk5/RVX2ekTW9oyCin3wOsTY6iqJS4qBYNOm lDWyKQQ1wxAWeThOtab+NiYhorvaEM1ig+b0Uk1S/QjeWchBjewHKQfTrXbo7yiloG+Oj8SWIxuL pk1PYMKCA8GaymHjQgYU4p/UjkY1QNam5SQmJnUNOJ/GBJs468/DIFavg83348Lp8noldPxW9sbM pitvlvup17T29y64c5MdkxvznQ/JRMKPwLHGEdcuPnaWixkaDOQXMjkMj3UIP7j4LdbPfH8x2tvo UsJ2TMfA15SnHknB4NKtR2a/i/xP03xVEfRMRYxu8If2CohDcZkzmzWX9/qNlgKMkMyjP+88thq/ xuDYMJBPoaqF55h0MyOPwEwcxYikV/ch/3hhfEuDW6ceXsyxYM30j2DSW9Dmhu6ClWTFmNtfbMnQ OPdLjq80p4duXsrqxyzFZTnCfQPc81mDaz2px9TMRHMibSilDbvIJ08UGcHWtEFqdSjK4gdPKy7B 53AwXRu+Mov1Ma2gtLFHR9TR2xoIVUL595In6FaDZUT4P7r9dUCNDL1caEMMRx1y+Pb4nlGjt7Dd 6jeZvGC/5nT+974hPqfnzuktp3s76chyJymrUD7yBVNTxLLgR1wb6xVMPhYb/JgAWs2JNgwYA8/V zLvnrn1CNzD23IALXHXmD6AqBiIZvrxV7y5qdiWhhv6WHUoQqOXIP4ZtF4Q86P9ur48HWQM9usKA L3W5k8JqQ1Msmek2uF+pntPxbxPZB8zHIvqo1O8XtNtMOQoDrEkN3rQXPL9Oc5KbOfKSirl1BH1f CnyqQgMbVociiqMw3JxSE6RtbQb0YjoJ/sV9YmYOHDwSL1vSuBFFVFagJ3hnY8plcunsylHwekJE XgHsWkk/slKF20mUpQRCH2Psoxo/JW7TnCKb8Pw3046UW09sqKtL/3/vnhv+B3GEZ5pVXe2DDx2P G6vO9+XdQsKRUajBf3Wp1wpa5nT44CK+hfz+of3ds3/DR14jNYfpLuAj93ukOnrLNsbUYk+dpyxz QjmZX0wJQKSvq9VAmJEDDwFfExFq3fURv+Xzw/e6RzRht5ZyK6a5+5W05VIecY+2+/3Ua2eVsVQ1 mPnDXvmos+96fojArNU3URqp2pUySYyxQSYwdAwgZlI/PiefqMX26T5UW6jibGaUVkJ7qtAh8EkW XfkbjGzTxy5SXhme8tZIdGGEpQXNg4zGNMcAgkOhxjwR+VH9DTwfhRXMz7GzL9/LQ02CZYKU++gy zSx/P+fqCJmdCt86rLxfcczr+0p9yOVc1uUpVgdy2B9BURYHT8K1dd1wHTetzCWE0NwQBgNYwB+f IFk8zkHA2303g73fNdTnmKpi4JXjuvNyp8vyhqPYKa5Rj6+gHoG9eTYs4GWbY/pNf9OfgapC62Pf NyYMtSzd04T/fN/zlP0KDSTrlCvMFsTTd8vpKPdxe4pzM8GX0Asake+J6qLjlaAHLv99QrBP1jCQ wbJqAPSwlT5zi6v7KVVJ1wgZyoXJfnR0ux1vuA9kx9eACwDmuazfnb5pfc/TF5E1ohT8BqPt4aH3 04elApP0gdJRtL+iP9vFzpjp1CD2Mz9Oz7U/DjqUSrkqhCSCXozRAd3NWyLeiyTVMqZQd9NNOvE0 18mS4pLjnGowO3oiqjvJKT979s9vRa2Bh87Eo9GlPcDKO2aIHRvJeMe2q9zmDqTxX4wdx/WHEszL DTSwGcOn2c/nUcSOT1XFzlPRlk95x95F3osOYaSb84JYOtTGgMM9CdZaP1v4ra5FybPHl014QUOK ePpSXcGDtif4tUEIhDUIBEzMloBzdL8D2fzBesMPULnOVVFsDEmssPgI77oe6YtVAaOfLVx4QqvV veSza73RE5AgTWl1atFZ3j/Jli8dWwFzI2EOAo5kGLY2KH2slqdVB/GtlIBOdsREXTOI8u1gnlSf mNJpIq4R3QFuLWeohaV1h5kx5T88kBoYdQGCsMPFHb/NpFB9KTg4iDK9n+PJ6F6VzK6wsWHppsLx 063KvhsLRYhnOsRHNMSLZCzp5tWKR/0w+VUOIoSXgpnJCx8ZsbPGkH3ppNcG8nTS/UQq+BH/6H+m evnSQ9gLhsh/djP5Dj2LzL2Yyb9ejkqzO03SpWKSJUnRD2+2Xhr7uQ6WJl65TtMt6aIYYqUXBN7V aFwbu5w0HLsXbsgt8EnzsFfxVdMMbJ+DKPT3kvugwJwfF/o2s9U/M5wAIKYVjwTtuI2Hmd9jYmJq aE/FHi+pkZUJsvlEsUEcHIztrsEiQLPEcDGhX/dgdsqJBE31Bk6+7cEzO0zNLTtncUbua1Itdu4k +Z5ld4ImreIkR3ZqQlFfbtWQJNfQXyugEle9iWhkkMxCw3ROAIjqmJU/p0/tKsX1o0pC/2kMUCD/ FGE9k9nbKUZpqRahpnh/ZpHtSYzQGHH7ac9ZbfM5B9+Tvfl2bNh5FAx1fRNj2Nvo6IdulQwu0yW3 +QRqrIlCWbHQR1q7jO96FbumcSlX2icOtb3v2gqvYRDqK7PlFca+E8XVbMLsk+UOwrpp7s0sCclS rnXUlOQGqm7zboZCwqd7Ocm5YJR9fJWzNpTrLOt9uN9wECgneRAGBRjqI5lFKt6q6Qk+45MjwxlK 2nrMF6vsYpu+ZSRw3GAetqAnQI5AcXYaGq4NGhbgK8LOtm5YqldbvX/reIjq7Dd67gzXmb9fdn+/ lgNPpZ7LYNTTExkwPTMT2+ubMkLZQq7BCBquirNjs4VBySSzyx/P0WMBOMe93S5Yi6siR1v8Qu7K pCZjoezC3zwwDZJlpxe8VyXkv7N/vaLd8ppaM2smkYcm9d47q3OZs6mgzzVchtZrmXSpyGlQs8vy NjEvUgoiIArHi7rDNNV0+hlBFQrIRYUQp0ot/TMBqgxhzDBtqGuTOpDJrNc4VTc4YsydTjg+WtlU QLTlTmWq9DF8VLpIGDSdLS+HrauCBEEUTl5xZBcdu/usEy7pzZCTR3gVLXgU9YueVdb12Y7bVD9L dx1WWmPrwMqI/AglgvKlzGX/ez+t+PgRpcqjMjZY1ap4E6wn3NY6vdQYtMyGIJfpMZeKl7uol1ho 7BwZ2V82M3FCdkAAjUCgg1D/ggO6BLlROwiT/lCLGpjT0S3m2r2m4UWn591SJ16ys0LPRs4PLnU7 7ZqyP7Gh9LXKPfI6IksTt+Qj8IjqISvl0Top4M5cacjpbuq3YzbMmM9uIitaxXFZjGoRxOt7U9XS fRWLA9NKkumlBTF1jHC4oqGVjweuTceo3w7z/bqf3xPfDWWzVn+QVCw/xfZk4P1OBquRUiT9BXWT CRhhEBLzDFulpyFrJnpMptz21YhTmEwdNHokjJCF2aKWPWSVV51aMJJD+624cvPn9n3wtnDGzh4O tiZUUXY4pSY3TmhiVm7piTEiEdI2bsdaTNe2l/mpnkZMrWTN9mr0ldb0/JK18FweK90GkNd9O84x BK0lHdFOgXpaCEK2UCR5BG5V69QSyCtdPh+IyVaUJR+E6oXIxPHQzVrKX+RkZY/1t0gNCwSe+wiP uynjj702V1hm1mMyCRIGija9SwHbQdTpma5hOWq6bUPJJFfQIlMVIPE4NFgySdH2d9Uhyf0vlJ3z JwQsGqNRa90fKxTdNXyK0C71cYNIxbW2zCe+DaaIjHLVE6/G+ZFP0jhgU5gR9KuIxLfntp55895K sC7aStHtMbg/M6irO6UvOOijckuSI+f4FO4ZxT40yQfMt1dQgzbXMZY7Awwx+yc/rYy4Plfoo9Zh HKia2mKdf0Nu2zNu/f4QIef/5ltRCRuUkmbe9funjpFm3xlbZVoK4ApCbIkrSUcO/FHnjI30eXux ASO58N82ZhVRP/oMhhZB83cPErSM9XdKms6WFVCEByo+GLRT82Jlbwmp3CGJJXGvNv20fNdK6+oG C5+WuxwywOgPXRJohqC3gAl25N5Y8RPHyOnrhVdzqwWtYUUEyi7w0dtmcxJXFUuq5KG0cKGPm39e TULm11OzptPlitqbYD2VzbveVSnEBH6F3d9quRBVgzEhm/+92+5cY8MUTbsXmgpHdkxn8In9ugBg FNtmQWZPc7ETM08vLnASS5vMJT68oAyX4AQxbni6X+dyDlyXtVl8hhWTm/0bNVRLUtEuEKkuRyv7 YcFPyPeP/FqcOe3w6ldWqQF1fwhEsrPio7pp4h/fvJ6bajOHUemGzTRb2BHGiW5TbTJ6bNcIMmpN CL6J6MFe0wPoCxH525V1mezhEQMXjcdVDKmsWNY3bcdI0aHdReHhaUY01PDH5vCDH0x+MN1gEpb2 oFFmfiavHpe3ZOuzB39ZB2B/KlYmYoImSfH53TAS+cgVDWdiQShE7ydGiaS2s0FZ/kwTMzN+2fXi QrTgkLIvvfxxNObdgVP04tC1xjSxODq65UlaTnJniLdnnjAOD5IXKDM/5mmZ43/JtuzAGWw7OWhs s4WjFinrPigSi1xTfi2e3pEqj0bFc32zWndmF6E8SYxuQAr4ZO2n/nyW+Xm9FRCHYNqKHRacotLJ h10aM2u6gT3sCVbya1VjzP2lLWct4eSs7eA26VDC9pRu1n2SC1OfstUKJ4ykevVy4zI7hR5aMhCp 0WtPL+ftLFiRXvBR4WpUqg5VOdJQtxnZADe/Wm0ySNEB5acC9GG9FfzakJPwzXsreDsRZ7WxAmPf CX+XZDUNNtghr5Y4Oy32n9kxeYwi/qOoLLCw66AtWb/pTje97Jt3NFPDx0P0yjc65Gipzke4wawB diXt4zipOWf2S4QBywxjZNH5bCaGRcBbZfd7s36SQ8MZxH3Q9+V31iz6FuynRgMxuU7dZMm0FzuF f+QdNNdQTsm28lhU52J+e8uhZJNIhdCg+GZctXyeiMQYV7Tmv/ElXFFHxS2RNn81XdosTphGfwLM 6LKWJS+IobvCnqATUK85OhV184SRjZJjPMjFbtt8Bptan81xtEePEF33Gkgof0k/ByTjxUQe/v6T yE2KhJ+vWGE7DheTHJvqx2m7p/oT/OKdktnxiQBF4miL/jL3HjPH0f/0eC0LwhIgMjLdIiDSz9dc 4Khb2A/dG2WhuAnmjUKycPBO5pnKjg7HbJ7kffu6RQ7ds/WrMOWtOWTWgmrV8i2bmYN4Oo6ZiJgA XY911z0C7FmqT0RHS5cEUIDDDmqupGP5reyl67blpLDfphpPyMA4AkflcrV8mJ+41LZPVFBIF63W T66ehcU5/ix0OJE4LcXR1cDssMmeO7qFK8PaGK69fDijeuoIO8Z2jePxAtmh+C8jFwqhudYaycTo IIM7odlLK1HUwj91dSrLsoWS8YjVZ+gTKpcUxETM70UzQsOu5EdgP0Cm9JOlXpyRYVjQfmiAWyc7 MWvL5JOMs149D8xEx3DUw2HnLeBZoqpQtpDPDKOQwNbdZfkKOU0+3ca1YdWP61e3UOOGjhSzJ2jD G10znKg935AT+gxJnexXUlC8DpVIUoXjUzaWSyisYmIS2/5hJ8us11kdrKtaY6nMGxdNdgddAD/g Peu0PMt/9hhKs2hNMk92qdU6vtfk/t1b4KoWkB9OKabmvMmW5ndTWcinpE9KqWMuvm5rnqeNg1DI esxJl9aY+rC7cJNZRRCXGuLKwrsrUe/p0+YVwdZjLZerZlfpuyOHVMzaJpqkWmb5OOnENbrrNExC +/32c67lBgOjyEGIQ/Ok8uhaoUt0oOknfhFBr6LBarSMtY2dzR5k3w02mUjLDh/l42+/lVSRjgnn ExmhYCq0DXUrhpgz5YqAv/ZDxCKoYnRjOk/RTfdqarUsikZcSCrxf7WSGFcmmlNVsk8W/XHP6Qn/ IJEPVHHS9ZPfZZsW4KflcAK0pBTNqTG+jay9RPxDd5zdhBFKzDJFwJxXWOpkFbgT5xGlkSUdMq21 x3ykEkMSxXm+jYVJqfmGJXeJVd6OUSiBBgMq5IA8NDptCeVVjfyJJKjYIIEcl884OogaZoQ8x9zh mkpWjx8Q+GGnRZRiI8VhiUywnO2kovbDFxYls0dGs45DBITI6DJKVXL30TxTIX5b0C4jpRA+D56Y zDKKdTiqr8zJzqTVP0tIL86qcF/NkdAyYp+xr43MxHoSPR8DNpvkp0jJZtyY8gj4jKLI7DheugNA zo7GiWnzh7h2JFEli1A12iZDCMPJejoBYD5iklPSqhjVyj3bqx58pp6TaiLGQuhpv3GrYsrHoug7 +RGN1BN3XMpP8p2B26N7i2Zi+gwCRk0ibVaHsoj8VdiZPt7BkBkIyJuWqYJ553AuSTKdPKj2qWy0 nlgDOgcKHA+5g32XUMsLC2MIt7Qay2jmkm1WVsLoTZaG27z7lJp1zTJO+aQIZnT/lG+wQmB2NVod I1pIxkbPeJ2NnvfyUacgKqc7WdHbnH1cxt6IHRoWlFqRfZBV/qfoTYNvzM73ZM3uYEHI/NTsVd1h ph+5/meDGwP+T/UeR6FNXOVOAYCOHfsEEnIcqZZrOuHs6X70EoOHljckIeYcZIdjZENQEChMqX8Q DKSd2c1WEhgtZng4jGqk+slhuTkGPCXpKP86Ymv+wCkqeNBSbRW5sz2CbB+RY0g66A5KT923SWV6 K9pOZFxx2j7RxuOZIt5jLwboF/2vtQDf5ermCAsU6hdaUtSK/uik2BKdHYgc+LuglMots2GGAU56 FYnucSzEWtSI1RrNKywynKusECUMhE2c0x+b/Tje9H5+h0OlT1SPQSqx5OMnHWiv1UmCLVWxHtlq XGIpnrD8Y+Cr9HgsiOksEMSyjkIjPXBl3qJa5bDPY/FQpUVIKvontfi+gbCf+/PtHxbLnVyAZefW eDN4egIAUPKAj3x0cvfGq4Za98vyVwi9uADVMRYq7UFlZaGUeLiVkOMPC8PSEs47d2OAYQvxTldU QX+MOFxaOFEs5nMuhRRt3P5C2kbkOrsZM5TtKOv5sC+G2altZKuzoF6NE+Ke04+1nPRZOS4EjouC 8jkTE9awuZwFOlJyOkx7pmsufzgOEnGRj/UWkg6nw35VxSAxeIRS381IkEyJXFNGqekjiNFhWhAV mrvrRyEWLBwr0s3AwSGD9AQmnth5VgbEBtNruYLDqxwkNoFl0kmbGi/BVHqjFYDWhQT9rEcc5MB8 L7QphidXpoU4D4HoGc/gtwkm0FYCruGsnh/tMuJca3qKvNyBXRCXzth7c8hBgKqrmkUSXZ0rOnR4 R4YyEpwHe0PsU5QmokOT8fBOn/bGGQjnWHQP0fXQB/E4ycv+QVlQRzPXqJkX2RLz5J7+5Fqmwx5a C83KCPSKFXJxAmm0l1tpNRP3LRhOWA8xL5WYyAHdZAVz1O+pCGQkk6qpaH8mzHJI/ZDHKkF0N+Py h+NMXKDu7Eb/Mtrx92P8wJSFzlkOlPFBsUIb1YwJLZo3AjHvMEG+PdKOk2wkaoccfF7RDEbcSnv9 6dHXV9B0wF95RLE+rUarHLx4u/N6O7+gx4khzT7qxv6uSkLaZRZ4sN30wGm6HhtBxIrCd8W/BmMP AQnxh/zZYr4AOs6TLmyU7VvffEPJHlwGZMWvb3r7rd67dUjfAmwUfKL5Ac/b/rgsJIYuEDtMb2NG escq5u1ZTj0hnAVbWpfR/JCnPAvf4UqWJ+zL1uoETejktmiNiy1/Xe+3jsxpSv82HIabliMItbWJ wEnYCXO7xs/+PRFqtjWw+23d3Df2nzE1o3Nq+QvHCTrOU9qlbhjo/QXAA7fKDiYmCsvi6mMi8SXR r8sZARGe6k7kw9fW/sR72zUG0l8ePwu9NAhjSNfyjOzcT0i37T3sQLFoyHtyb9bbexpW2Bb353D5 ZTQ2q2iauKI6GTJtXKgwGHRrxM7jseVtJEE6IWiGvACRzT32KyDpX7ZOrb1DOPofP6/l2JOJn8P4 Y7D14uWgNDru/65D5mSRQ3BnOC032tU0Cu7AB5wBlv5gnc60UdCOqOo1Wwn9VV1ykhxsUqWekEEo HwAh0YY2CaLwqy5ySo0aWoadyru2oTuK9W02jku3kDqKCluQxCGUsCLuQpDsrrUZpWmths2ZX1uI 2VkzV0xqQlgRbOX34EXIx2k+UDFMoxPjeuroGBJT2G8G9MNaeKnnXTGKxC+st3dEr4/EBMyviMXX 2wgqwWLas1F+fHL0Nk1qj1mR0Ubo/o8/V87CcRJ6gqIX3vIqzrW/R5OAE3v/c104+mOOBVEchGSu tcLby6oWrvEsmM7tEIIAkBnrcy1f3ImQ52+afB3EbwJDYsw4qf1d2vhA/z3aCk1rMt1P+M0vNimQ pVm+LIv3iglSMtVCA6bOLGNR49geY9H7QiRawg0DZEUngYED1Z933+zXGr6r2b+kMlJeqHDNv56O 3nlmSEFLzX8Ubg1ZLtzQmIbhMtYVd83VJz9A7uK7AKAaTX20Ykh/+u5CivJIfq0LCq+jNm6mRI7q fZAcyV/mx2ixgI8pIURdQcJksz9B2ezBNxqC51NK96gnafmDbktUq48wt/arhAFGHsenOlLbwrR7 XG6w0+Kp54sr1U9YRqZzNvN9L1WleYRMu7nYcc7cSGb/wt2hIpuwjx6ScprqdYEgyQ1tNaRdEBcN ogIukwiVWNi2Sxofw9ndyQYesDgbLgvTskwTJLJBIEROtwZSNRasXltBx1IaOZc3YIN2e0PoYm6l z+Z2GT0oztxP6Bu3PhwNLBsrbsINXbSj7aK2KoJgx5WTp6BT0+h/y0NNUCBE0oexBeB3RbXUhEZb wNK4kpw71R48B0M7lvke3RrJdTSsmMCdOZeePubi4T23Ox0Z1fT7Hvz7R11Ztffk22QuTPTd6S1X ne5yucW82dIL06Ri75q/AsHJFPtjygsfg50M7sjoOV56d7E+hpsC/chXkgDRXq+V8xaHJIP6XdzU ncodWiq5WieOOP5gWQkbvB9LMlCBYx6LkAGBmbpxk7dymTwhGwmUC2YEj4X9iL8Du3AHXJWSwOm0 AQ5zCJpxC8A9kwL1e95K2nRZHVrsJ7k6jcGSKYP3S0+NdcHEbntWjrlN996fzfzK50tOm+N3iIcu 8frpmz+msevRUqWX9Ii6ndh6a0IGon4hSczVuTGT9Wi1iD3r2qIJHYwwpsN3yMipjBzlZ+u8deet RCp5Q6CEtIopiQJRlFIRaJCRbSiBD5Wa2eypSHrWHMtGvq6OBv+gBzztGfrU1QvnWeIOJ0X7aL+x gIFzZXJ6YO6LXeHd6Pt4jbOY9zwGk80xu87LciW0SMj8esfXIZn0UwQ81EaWOraWdKxOPGKkUIRJ JxP4SxyL7slHMyJj5Fdfwu7ImzIyVDnBq6daxGxEsaY6t+7d1APygiAzN2Krl1ikWOscYK6hMVHn QLCnX5etpPf4SFY9/k7M62jPrR4zs2vfmNQ3xkNR/jqMRVF0uh70hL5OX2+WirHrSxvO5FHdqnSm +7eUyXuhjH/S5rZrFAjZmbpdIl0xpxPxPtsxEKfH/rbNvNQhCH8pk1PbS06NcENqN9HLpQsWPMul nBYDzZvcH+WVWcv8KHt1FbQzhoJC95uvO49qUF8tNup0d3iubGirM9zrvGycqbpvPLXa+ACfpX6n UCYpnq9J4ql3SvyHQ0WbRwg/ntQCs1jRjw42hJGapCO9knO/TId2UH4HftG0mP7BUR6TqN6r3Zui QEJOUnCsNO4pCBlGpqSYCcpz8HGFVnINR/hIKuy447lU539XnuGrQUO/CiqJGGRd3MP3nPtBYLEV 7pZI4GqY0OygeVCyYIg99Rz7DJkxWcnX8483VPlrqKDi6MdbSjxLjcLIck9QxpBKWhabEzNAGTIp zjyleERlJnaLSqCjcGKg00fkXtnZpUTTVurQ2vNoFarI8XQjpBz0fKhOjn9752GneiaTpS3fSnIh D3voHq1DC/XGR9oh/H7nb+rqoh2fmcHMFfV2+PaPeooU+lwxTLLyIGcn5AHJcoi3Yqh6bakWf33G jvqby9PFq9jSYWVcHO9tDjpFFNe1HPQ0949L9AOrnpkw4tRZa2dcz4+Lm+EDXEC/WLEXtGCKPeWZ Q7IBYGfUNeZEame2jWR32cyTFF7SEZqoO1vHxfV41P82Noa+o7xY2lxmVDdEOalsB6ITSyrZ7yfH lu2JqDeV3R7eJkW8vbP/AsxMP3Kw2VF+UHVALmw/YRj2eEJKD+yxdcH3WnNzosfN8RwOeOc35YhS NIsUkYwR9iOJH5UYzItBMajTwrOLTfa1t3GLuzGorD9cGtDwYtn08BCQHXYiSPBIEPJUk81sK5d5 48PZHjoLeB1W2KnzsGVrVr/Fb2ThQThploWXoScHDi2nF5Je+voTnQn2cIqr7YXZd+qWs3jrW3y3 56W7XVWpF6oKIh6ZxEoPWNhnR/0b6R7/oJ1GMCFTXNvjMtTtqm0WceOSCUEUVooEOTgWz9XF2MJl gReIoKnXyrZ0I8x6UeIV4QlmzIcHHdZt7IUc8+OaBtebYrqKL933xf+IoW8k3Me5ReoiOPY+dnDA V7Yph9tPfWJnOFtZTpwjd3pi1YYs2lyLcmekyz9sryIjfM62axiOvaGDmZr5l99keT5xn0MSFNHP gtkpeaGGxGEf+Iq00GpQpLPXvERcZ8fOSIpi5ZHiZzjXKfjHB9DojVz/eGa7gjMu1eoY0lqvgpx2 pF4BD6V1s15pOYxMemLKy/DchGUKDmwHpnNcammB27/41N8y1Bj8Ow1eQBb/FlyXrPSrFUXmdwMu hvoGZU/XfWQZl8qGE7rn/7n25j5cVbx5lDc0tHXXURYu16dbtDfm6Xo49+lq2Vs+kvPDeMP8xPmm DN4j3jC3O5ACzToHC1FY8i8vmf3+DtPWQABTUAsv+RM1UucJzIVCZYjC/aBssN8Ng5IZgm51wpRb IDtMCq+aK+PvGagx9PewH3dO0Q8ii1ZGlEcrFnQ0PNw79VEUBFC2j5qmafhRugURLZxj3dYZxcz8 x8sGQ7kiDDAif+dzI+1hB3oe9UiKJmhW5i7ojmzoVSJf6EouYG9EsYQQmaV8NOgYo78/rVtlzPeS P6WIyaTzO4hAFyS5pIakUT3T7vDAg3aiKKVko8Y5IUKHQElZSfV9p+GR0bUGl2Ee6VwEjYfEm+py vd76qwQqJONjnRGUTKy5aoGkTBW+uSLpM+TObJEyt+RyynBZsDaPOyuqggTWXpiSgEZXeqfVB82y EFxbU0L54+B2d3/vehU+CuV4opBxiHVWSW4IbXrgqOzWKS8CclS9IGeg1L5l1FXMLPkEkyx2egvq SNi0hqR1faf1cR9kjqhmJWJYjFp61Wh/yFOqaE1XMWyM55uURmKxFhX5oDarMjjLfK8YWznEqfYh PXKE0mG7TJG12vLpgWn7mTNrcY/BT9MpggT/hKcat38235inhSuwH/bil3ARiH/uLEmh40zcUR2c NxjpRvG1xCAi8TZkgQoXA6SgtVKqKNQGp7JSVB2CwuWaZ7PGrbEyDjr+kE7/hXJlmdnj9VEjYyN4 HRmVcWQbimogIKK67PUJDskIm6c39RmZiCiq2JZu0ri/wEk273vNKEOjmDxJ1tKsChfGZY2F3CXo u5rMxM+bpXv6Ef/uJXa5dvNGPbSzS4N2cDLqHSJhdbXciVgnFBtBH6aCkpdXGIXqGxzasFkRcfNj qEqEiJE835lRzVMkqPWylcsbfnVVWu/Qt6VFKmwsp84zTsMuu/haJnQF2YqJBU4CzMp6QstnEq12 A5zkisIMxI4MBgJwgihrPMyGhuR9WzZ5CEZ2lzUGB7Kn7dOs6jWFOZrfvDlO1UCCeHT1K91W2spx 0S6Yt7n4G0MSOLFDyV65ac1BMdECraj5tScR78g/cNrjOduiOlRSnKJk2YJFsmSjwlFrz61dRB/b lYRXaU1DGjCQ4nSFUNIqG7x+zC3nrXQmoZDuaCZrYX22LCmXeDOy8eK9tt33M9NpCFG29HVIuvma jiO5Rnad1WQIVodDvZ3nBapXBtKh/KN3tBEw1ZaKYJORVgxB87/sec6jP1ePCqWmGtvZBjC5OSPM oWF8AscdkLDHkpTuPbWLywIv24WgjGxoasJ8ySxsVMEiBeV+2+HqWsM+vENn0NMFIiucwY40yP7e K7/9I85ZwO35B98yWooFHvVaLwKcaMGDw2srIVHpEPnXw6RuAHX7oQsKKMLia928/G34Hh0/ypTG Sx1atAMc6AUMreOpNnb7swx2Frs+5nazyKBRESu+1be/34JI8mGCSyGf9da9YJpK2ukXsz8M+NVP puN574Z20eh+Nyi9rt7d2RR386g6X697C2BSEqua0KuElfcL4jqtOtbk4W9V0xWCJkzOTM07zV4/ Fs8x9jXICeuivdco269P+0yoKblEGv8yoESIjP9NKjroR3g1XbtVMD2Z5Bp4JvmjLinZDIIWcpJi hi9Xa+jaZVh+BNRIhwljtnDKkOTpZwxmkI6b5y+d2PsbduKRCNYNDo/lF8rZvkswBM3FdSVInNNK 33WMGcf4YAITAqSbZT9GtuBDcZZ2RbHsrHChMBseGSoyitGR7HZ8oSSnbPCyAgg7S38QF+So9D3w M/OybQgB+oCp10mEgYg7jA+8wVH6uL4CJ3FXuK2O+e8HzdrGaL7/YDsyrUMxUSb9Ue4Gpt82VvUa nufeXbUDg/+N9zhB1K0nHHa+MIMiZ5qnRU6vzNsHCHQHuDAnT2eQT4X81Zzdspyoz0C0bikVHg76 jWlB/nv4yFwZkXi9TW/3aDEpw/X7rYRcebIrTJLby/pmEz2HGPymZcRPNVJwcFGp7s3a13tha1PG jefX9fY70izqnXyQ1TnYvhuVUYrv36NCycmqsD/D4OGlEoKmRRa1E01UKdEifkcU/iupsqbNhR5f 5zdxgRDmCI3NVGXWUoElu2tIsU1JLAe1P81RHG+UyKys+7OqmkQ65zplmSEYsw3is/W2csjXqLM/ Ino931SCJF6XBULhrs+q5kOC0o3a3eQU4/exKeA3flqMtli9pVBFbG/s5YFYijRssGtEcsvlGZOb pZKMC54p9jDY64BkrREhpXP7yCmRi9nlMZyzyQU5cqVAujF2NOU66fXJRpT4l6Xzw8G7E0XcwuaQ 9wqHaGNtTHiktSGDUdbbpQZelT1/ccQi/5rA2mgvQ2t/wu+IlA3KrhBDleNC/9b/tgtJ67Ju+CAl iCKlFi3oOOq7FcqoF0aQlM/+93RRcgyZLplz9Tf5uSHk3p4mfCP4qvf4ST4/E9vBcyGPTvOpLPBc zQL1HC15Oph3fEHeW/7ZXhkWRq5Ckdr7CHk9QsGhnsCPZ8XdMs7q76d1Q49bn9xvtb6BsJo6Z1lo eVz1RIeb0tslHX27lK5afIcGuxmDQi1DAWQJQWgNV/4vIY9oukm6dCPWSMcKKxcdYL7MXswYqtkS dsE2HKp+IhZ0sR2TdcEwAMYpmih/Ljtsnzrz1imevIHOlH5qg97CHozaTlJNoT8e75NIGiENdqBh 1my89gi0IXxQi0VxzT7RexRsEIvUM2hhZHoJXN/qFnxvjR8m4SEmeZQSMdSL+9Dg3UG0Y0Wgs5HQ RxVexdFFEVsaVJDOOiCD+28Uk1omiAztqMnhMzLI6yp9+f1t1QMJIk7L8CXbsaXTxvE/r2wdweCe ujgDCDwJaM7G7qwKCrlpaAuo2LMVwtllo3xbuBZ4fzDhaCAzPzUHIaEqz+Fdsj0qA5y48HoM/Oiq pwiiIAFJLPBgG0KRcyz+sioef8VixIe6wOHID7ffVcCUzLsnmn4YgJon/hp+1F1zWtePgIuZdECT TjN5aUyTEAehDUZk1XOdOI7DprKVa4AdvdyIdUb9If4Tkq796gfV0LhiM5lBmZqqh6H1Wefhlpmf 7LX073W6SnKY/AZ8FQjyWHeYTS4Y3dMVhEiyi+9uMfRFQlhy/qA3f5GPHDq3iIqFcaLnIVM/XRJO PXpKDb1A8wOuYc7qWSgbI03cps/Xx2sOfhYRHy3Z6+1R7/ySFD0Hqb1oPzIr8dVmjD0ZfIPtiY0k 7f5LmYzRAzuJsZPIEA8R+0z7HkMk7b2xmla1eFgAFyO0HzJv+tx5hxoXFO5aznESw8YVB8USqjxf echUnJXBgmSL7KET8HIzLK8E+jdIuY028992kw76shwVHs9lf7YxHD7B3s8HVdWmE5tZCr0MFpGh gZ6fRKG9u6zo0oOOA65bVnkmeKbDAvFTfVmcdrtps3LsrT1SzniSNfLPWW3Jhwud15/FWXZ+zbG2 PsH5r39Vn7rzAlGWLeimyqjUyk4BsdMb+bMCkks3016anZqLOd2ekx/fy3XsF8CvsafFlBIHjuS5 H2I7vxEnfbeDn6JefmO2vAmhdUHonc+JJ/slfjwSL0P1HtrLZG/hNVMEoD8yMKtesNhU7El1o2bD q/SVNA4/YLflghXTyu4EgMK/6hkm5+uLFCGdLFPJycYfUWQEZSvDFYPqsgCkLATpgjEDwqAasdvf hTruMWOcpDhmbSRwwq++Hf7hTsjNz0+zCzBHAyWW61+3fOP+bkxRL3hPRie1uKPmFo3QEuVGCNv8 zadlHWswLJATXnwY+DxRPq/Cm3cOTH9PZ7xzGXfukFRRXBPsfUKfLk98K3TLIRPcs2vxpDaxLBKD G/e9vRQHmb87qlbl76+bYGS5XX2cNhuFlrZAf8prSdMpQOlSjbGdcpBMgic5R9agqNcWMGylLD7M iQQZ68JI0sfKrLw6IqLgNqQTKVHxx6jue63PDllh9M7IKEeaAxcm4fyRymFE7ojE3THxeHuU1PSb BG8omO558ViIVTWe2tkhGL1wYL1OnvEeLa34pdFbARtWeq8dy5ejZ4/vIn7cdvso9gXsdwdLOOuW /V6b/vY8I1+8YuA7zFl/fimncxIZ3/smreaFRGZJRVlNbDh/Lc7bcKl+rtHZB1unHk5jhhbjbvEf k9iN8e9HUopn2pH/puZJ8i9a/T79PRR3/VjH9ZOMswaI2mGZ128XFVgUdvV947seAHBKKAO/K148 Gg4Li0l/Jh1s5ix/EvpePhZre+jDVPpPdRpq3Ff/c3CXrSR0aLfX/mBHOHPuYWINM8VKAEOigMYT gnuDuhoAY7wy8doN7g7iDEmHAaXI6A2yxGuqzZzNuGZakVpKqOEjHU8jb1zQ119UX0x93nCdOjSu bpye/DdxpkHLahda/VM9NTVzy7PbdYrf8rJxWSe7FozMe+n0cWpqXs/UZfTvo0bHxSlkOcBK4Ick CBOTJ4fdMCud+VEmVGtRLB1MGj4RSzjvn89v3vQp/QgD3Ze5dv3CmtFEt0wDIGimvPZZ82YiVMEc wblnDfPUGgJuNIbmuTgj6xz4toytH7fLAfAVjiuw4Xfaqp+A3Ahn0cFvCtNTFCutFR7Ht1frRptU 3hWlhyKt/HBe73cYAdeT3UHV+Ru9Pc8yg3vOIYbdj9I9QYEHU5pOVO3zcxTkq8NITeETmsNufjIR RRzKusi5Pzwe424FfAslsTJ9NQW0Ul5wT4q03BpdNlcRiXu9nKZa/SIkuT22Rsy0l2AusujWmI5Q UVm/lyv11k2gWRqfIFmsaHbG7jEoDpWMZc8e+t/comefko2VBK3/EmtVcIzbsGyfOqVoSiP+UZ9y lkhMQLIeIRm/6gt3cxzfFI4lGkced8AWro8doC1uiw8Y9/xTL/lMyZGU6OsSrC1OGE9Vq2lXOXj5 8qf09F60C6luKpEM8Tt7LK6MdG6IWedLbBfs1pzbTYjtNTwsB50V10IwOj7lYq2OpHi/DTw6brmj ln1B/NOrNLaXDfu6ATwtj8apVsdg/jHXysgyNzVY5Dc8mYR88bd1HR6EweuxF46AC1HDnormTVCG 7XRENb/DTdunyEeD/r0uiWObfwc9bmPwa0vSZOV62UeNKMm+vP2+k+K1WPmbOPS9OS7XwcxBm30o 7Z6z8Uc+zGh3HGUMbP8Eg3SWiRjue/PiruuTSqfdXdY5qlirOKsW332+bbcMZE7eF3xOyCS6oRWw 2B/7FzTnbmAvp11s8P8NHg0eQWZ7muVfTlRmxu6hXTZHZEna6uknZPWYTG9PENKTfmQjHSVd1zBq 16EEyVXSmK0M5zWg1FfNchAoPbYXpZcwsuBpk9h6GENCGCVb/+v8C00O1mxXK0a+nD5odWeYZN8s o4VgiQ1H3b4lTQTnlo0ZX2DmJULat8spqECthBPUmoV9Uon7CUpjQVtzYQE7+ZdVxIlSy9VAy6A4 UYxEoZEXv48ofURC/vpw9/0c5vXcy1XfGt8tWMDt+WW/Y9d7p5Bybo4QRv9Wf1tBAoapuKnq5JYI jpsVmUmOzhYRYfBqjbjuvZvSdyaBvsdiYURrejsJ644iKXySCQaI4/OM1LAoLNIS2M2osiP0Svu7 G9fYLmWpYrXkkw3o8yirDWOcIugftqlTcpH9PNxgBLe8HZa/FU+ZVGSadCz/YSk7FHcPn9PNy8/O z0fuZ1XjIoEVwm+d9I4WTT9st/mF+I8oSR/bhvmftpnw49Udrj9YIK3/P9p1y/BKei49d5uZmbnN zMzMzG1mZmZmZmZqMzMztaHNzMxus336nfkmmclJMvkxk5Nz5b1/lHYtLUm7JD1LUl0VyIzwIHmT gJElVGe+qTub8kGK5JrWAB/frEon0bCitY45cMkFh/PxRsoE5GjkTo+o0IowpkRDd/obTIMVO+zk o88r5jY9J+qM6QNKOTIzUQ2pto5aenjS1707zu+r5AuHgL89KtBNnS4Z/v1Vm9+/sUY516mMZaIU BQm3wgyCP0JGDTVRdNMnCJLl+CquqA0hIego6gc+D2ecU3HGtwMv+KNFtg9IdwSXilUPzL5YbuID gpdcsT5sQIgiXjNdhlzFuoruUrawjy+exOurvWODdEBpcNe8iBqlTupP3i5wffYwoA0JtL5dzOpr jrVkGymuNcMEUG674xKxpkbMusVA142fLSTtl295RT/UdTyHIqqVBwSkzT+h3NyvV2JHQa0toRb1 Ujf3itRdMSv3SIeU0wCJfaScqzJ9yB7yXsf5bnBxCNFsj3AGRlsoC+ExZOg7DYuLUoCdt99OT8Rf /Zjs0ndod/aPK33+P4pPJFditYtB6N/pvvO2R0kvBLzV7jI/6Q1aaI/FsesHkygKJp+gN7seC2fB c2w4i+UBqJ45qTzQbpA+MN7eaZgbSPAL4fzWy8fDIXiyfcVs+6SrgYrhGCWfqHhnXTeNnGlKiC+O TIcgy+T6IJrFfwQ2xZybkj87OMD6u/J8e/by9T1RWeRecw2OQ4JYRVzRnGuh9VQppRtwvRx10wnA AQDV+IFg0qFbZL+jXzVyMXpuP3a3ji/bNsGmUR/Y59dMHkyBmOuy6RgHoUnbBtw9L3nSGDUeJCEM zUqZETy+M7Q6uzs+77vxtj/sSMLW74ZywDH3RvViaMTk1T+Z7xffOJ3DCWwUEcPI1ruf+cBaV5eU 9lmmRwwpqxZ+wscG5NLmMHyr7uvSq2J9fiS5erHn0O+7nXvE/5xG8PnkXQjwe9hhZWHfMiqm2Kyg tbfn2S/WSUUbtQmyCmrsU2cThTRNmt0N78qR9z14KzinyPZTBWX9ZKRNmUM9jm5300VYBGOxpOFi YwRFSrSSHDGqMdLBEzPbj7SxOj7CNXFEI17DjUCSVEc+ry2ZizlahiKRBEF5IrIL0OhVM+rRvq7Q hPIVzVAchNNZ/g6GCQYn950NEHTWvTEO9qvjkuU81EWzjHGQrhisgYj3x798C2C4EzvauLI5jWys NJbVY79nrxxAAepz9wZiTDOsfwW1VOIGkJ9xVy4qEM0xcF8lGXrnEa1uJyUYTsFxyb6bmcURyajb MfViyU1WCyRnnHjPJl5EdThDCk5+M4N4P/sg6MfA7w5EkMJwA2Tp+eLz4JM/x3jlDZld+fFv2VGd Xd+Tb8/Ofphtv1X1cRwhiLWrun5vhGP37gt7fz5sJwzbhqz+Xb3RxZ6vJeZfiZpcGbt4Gwr9EeKX zsYmQtU5X3mhY8U8yGnZdDGmPw4O6DOlWiVGYJYl+0l5dCirs9wDhAphAQAzsoY12itQDEeYtI6z rgASNpGLAeXzBm2E99kx5tWPhqTdbWRNlmGIXUfv0yGeTfA666csMVyPXf3Sra3mcXQc3EdeOfHK umGyGe/IjhQPrjArK+Nod3GUO/LaPZRQsIoO6CDBQRMPHuxadtEUZpq2X6k7nho9/WyrfU7x4o+e 5XvlGIHjHD3DLud4zYvus3gILSE87UW6kt+Hn16nmWZ6dFra5KU4nOyI11lgxiBgeUbdj90WAHgP cf7IZwxRmWwygboMWG8yzzIulfTIfTpgUBMQY3O+3dgxanQE9BNoTBJJBMto2xHDtvlS3RAObjsL DUMo+OIQTuuXY5N1rorncntltYw3Klu/0+mvLO9DKL6XpGLp+p/xjYdzvvuMyRP6ynE2VwLWfjUS SSQgxxeUDcmCQv6CqHnS0JhLQ9RYOpxvt6w2waJ0h9wtJsG2XkzhXjLJedrTr2xojXLtWlB7X/sg GDEj8LkYIfjkP5WeajPRLR2v+Clj7sulfC2ZhcaXf6uMICZqeao03J46amRFi1PW146u6jO+Ca6x BCInJ4dcvGix6TnVuJJksXVGTOEgTHipbmJCEIQWcyJF2rqf1WErAId52V+WveikrzNmw6cRxOl0 wM1o/yBOcqI4gczqDVg5zDENbaCxaELS8W+HqdK2tdK+WBNING5Zqq+h7hDvbtc4SIo5HBlZfhjQ Yd85e/Ym1DcGf0jwaNVkGbphTLnG0DWp6DM3L1pIYbvy2AWpfWIQOTOSgwM1LGABLkcYsXk/4+V9 93s1Gd1+VDUmGaHPeI2I/7X2oIpbRD4nzgcs4I6OCWupl7pkzq1DIskfzQFBLZlj3Nw2gKIfDX8x D0oOP++WUMZQegMMGb3X1mw9RZyYpBqRwzMsiawHNOACYGbmV5d7owt77PgukdbfibhSqNyh2BBl X5ph/voDETRwS1PNMH0dgsuqmc/z6LJldplZJNdVLrXsbYyhjlkUMRD2qSvNHntNqR49erlf7VBo zaMhnLnO6Z5y0Q3mVhLrDixNeo6DeP6WcQAarmkam6TppilcrpUgNikOyeBLmz/4zxQFBTdd3v6i 17PhHmhLDb441mgkXlDVNXjubRUNooLCMh19p1Z54iu08ciP/MFWnvnr53qo68Z8HCAIDb60Zb2F 7LX3Z4gUpcn7lP8T+DUehNZglTMcQT0d+KXYhmKz4Cbq6+hfm2/I367El2TLZhdTMOhLio9AqvhD 8DuTmDFZug1vHC9KMeNbOKbFAJCAHvjI2NR7+O4f4OEN1NjH9qlmfbLgI2xaAZTWNpPj8UPKyMr6 MwteNjMpl80myQWy5EKDhNn+jyduipG0yV69nzviN+1utnzHXwvO43OQ4NajmmIgxF3smPBhIMp+ syx8x1DhEn2M02zMxnkVfSd4o/tIsfY2Uq81KaRI01G/Kpb2WG16Zie+I0mpMlHW3z+pNOoNxB7B Ay9cKyr1xJ6/NgNCTe1X0kWQEHNisIBmbKzQieJOBgd5GQMepq6tlTdjsY4alzAOyeBLKyHPO5Ap rCIeoqTraWCw3PvxFHr59p9MoQ1esE3BzjsoPiF+s23SSFo+YcA7cILX7SrgTWpFkIOe28E6rlmM bmrVHak1z2LHhn2w+b58Iuhi/8bB5Xc+P39+COsJ1/6coUtuuuDjTvfDXjlUL2jCOmuoK+01/uSG Y9zDM52xRvzORoE5D1IWVtwc6qJL5BfsUyKCYINZHeqzZsC70/talDd8dB6SJ1u97RJZlmWHPFFo +10qPgZ1L+ipXNhMQV/5UHKMwsB26sFaZ3YyZZhW0c1ksxNWisyRqpwSB8HVeJxzxe4MPEj7hrHJ gENQLiDQNeiF357ksp+3UIceIIaNZ2ttZ8MtoOzVf7Ln+saTExPQRVLRZ1nM0DkwAjOOOiAl2qxJ Hiuhvyb2tOQBjBEYxziWgxe9GbDfYqCL4P9UDnR9Ez7jGJfJAQjdcp2qxwt3fnn2v5t/hsvBvwpn SKzlZi96znFbi9TrKav72iTvNdiBsOuOle999uiqyw4xL1Vpu1sw7OMw1DW9BsWBY+MyNrUqMqIE fwZvNLfZIp0gdjU6ohyFuzAs4OP7tqC59qOZuAcN/xlogoo89ilOlE//l32DSnTP9MJrRFWcIJ2g qL2H4VUzfijCwz66Pg07I/OgA3diy3QuCgv0ZQz0264A2Mdb2lCNcS0+ovwwJq0HOLRMCdzK8Zvp rnAEOk8ABYKYLYHRKVZFJZ5HgXgJNlC6eKVOmrChDIjx2PeXB5/j5UcroJ1uQJ0lhSufcSKVfLt8 qow/1E58DjkLbvjaWQM+5OIQMGXzQRCf04AGpuSjiW9t7ewj2c5HuUMIFTrQyHRNM9evhgKIcAnm 3mApZ+9LrD1dPiEmdsko861e7LhgfgOTlXP3Mvrn7e0e3Et2Dj6XN5d3K3pfqNkdA+zECy86+My0 MTvBsqOt+lKKKVPsYmVl4vzVugXmRfxO765Whu1w5d68KPDS6/1sEh/T7i9VOanV6JJkmqjTPvu0 hkYGLe6h11skVCeehEzG4czXQPtwoa1aMklrXQQDlNlB85qc8M9C1leUbjRKCioZTkAxvqmv30V2 3W+8TKplxG4ENMboACu/VwcSQ8IHb8Ld+B7O3NNV4EnEXaQd5d8RCXg+YRSZNd+wglQU5wIooysU k+wuwPL98kp4gV1EdY3K8WpDl4SNvlNLexbtuvMETYjZy/8U38uTMfFfFaY3TElOHqjNrXDS8VFU pbTVSpUUvCravbz0731aitvL43nOnRz8XN/uK8v7sulSuS6iA2sWgS5YVlze97hOYoIzvwfywo/u ErcxFvSDU1bBbGB9HtJbzJHgiXtulagHeLxzb9NDU8wxeT8gTsGendB3Ru9fvq+eIKISUzWTxln2 OZQCZ7sFHbsHs7SV9Y22Xwk9o+x2eSMsmYw3UxNErbyVYUoblar9dvycW4t1Qc0FR3YW7fh5/8Qq btT0/rRSbOqUg+Pxp2PgSejELZKVFCcTub3ciydvh+cDTOqc6goQD2Pmo4UOW1ijR7CfAWAs4NGI U2NYYnIsPuceZ2bGDDzCmhzzut90o54/q4LxGypnUBqPt73O7T8tIJXHOHCiJa4Oj3szEqzo9HiX nhTrllivMUA47rX/2r4E/lkbcmHmPgMD5Dc/v/leDc/uv3hGWwIdLqf0uEgV7I2l+hp+UvYxt2PU ab6FTmgT7dpow+hbhtkPBnHXJlOV7FSjaGdswXa74MbR3pnVMQtU9AEsNZW+ec+VeHpucy2H9CmL GcOOeGbpBpRFzUXz5PB9hA0SfcaWA06cxH5ZFivSnFCpKOxtr7N0qiZjlYwyjk7TisbOeFFAPlFX F1SKNUdDrtWHZKfTqcslKJyAvJfmfmWdwKKy1V4RrV7WZJpfRAp/Se9FuS4j8+fl2ANeitJKSlMB 4HcH2o5Vw/cIW3xMs7jeuq3msqpSkvytI/j21WB7MJ51AWULhIDGZrgSue/dOCQYeL/tWVynT4v2 2/DqazH1GISwLLUYk0sOzPDSZ7ie4kL1Or+Eny/IzHv7b8e1t4dmed463Vt4JmZtmoF5SlDBJzV+ 7a5w+cB2kROCo3hEkCmXwqxuJJfiG8Fa+wz27UDx/fTRP98Fv7B3/CoiKJ4R6FarBgsTLtaphG/u Gc7GrFlUkKlgJd1GQFQ7E4/LXpehXA93UVSNMFyQRY8EF+y90k1VXIDLOGf5LK6IfLpIKF/maSFZ O+G4Qs1h+Bx1Mf2llGktOiF5BqnTTQNJwZyZktkcN+6kAH2v94mhnk1HsNPhili3bk2vuOhDPniL LBDvyi4jMPbs0yioUDxaMw49YB1Wkk05oClJF7I48gQSbVVt0kqkKWj21Vp5FAsOJKVJbE38wTEo crC86r94LKYMpZ9bFvDd+2N5+5nlm7H7bQlPl1c7zzH/i5H368vsXkgS3A0hpIHB94mWY6Ecr2vQ /vBampAPhMMgwBlTnwLLFNPyIyICHDd0hYcpSX4VvmtkUyhC09LKAPdIQyscVS/UjxBRVKI3W/Jd MY6pkHNLZ9zKeuwmRWvn6Eo5uwxuCIuyxvsFf6+pWp1E0v7hcAhNi3SWb9WsNNRZq3f953wOxRIY 4ALV4IDFFFCGPIiEShrT42ZcYNcnXoqzmosfR9UK5BR1pO7CRH3NdoAj87lXSRDFupwc2foZSO7S LS5pe2k+hW52JnAsJriUrG/LnvaMaQ1TWhVyGYyXhaGwfKy2JHJZJilkWIM8oQGrsVE7cgen9UFx cgwW7rnlnjHuuMKThNfencR1HeVDj3gx9OB8Hndw3q/Ds7uaPKGNL2NK+7uLkgvpUgHe4f3QEhVg o5eQ9PX52nGuqkzFuDnAVXP1eOw0izPc8bt1dbGXbaKXeA6eoeWU3pf7TSWEYSedaVgT0ISxX8R4 i6a+c2hPEhDfbb8LvaZ15GbdQ7YfD36XgsJilh6oxnPQQPAHkc64x8aRaOKE4YECEJsooKji8dWb spgyv6uf1j95PBfXm2WoHdxwEGIk+KR7JjcYdyTKqoF1fWoCgCAChY5FIgzyg6ADMrjk7dwZPh6e Iibmp+AqH5FpBsdeT+xdGxiDveLP2jcK9nnHACT5xHKBMnjSzagIza6k7hRlRD3XVy7kmCSApAJm oIJMlZ0sIjtMXH7386zn1WO+uONziw36TSclgWEtZ//UhLJJhcbmmBxv0K2QeMk88WZrzifcJZOn rcj5h5ciC5NzbeBa4MbFMefAWGAsr0CdVCHqLZiFvEm6nNS9YA5BEQFs/wAXTX30+5+QdEL+2UCE K26OHAc+Ihxb8yjEyzEBpwPvXfeNzO23/WMWpIgUVS8PtcaR51rnfI5ThxYM044cpgcjPyYjW/CY A3si8HbAYQW9T/rVK6zajDTVNWJ+z83LB+kcI3b/qQ/C6zEl0Wf3VW6GO0MpIU/UVlPyJM5RqfK3 5bSWb0WKTXXhUNGn38x0vywv7B5s5Aa95QbMOE2OR9Hrs2ZM/JwUVK1gVPb9t7NmoTe/P8F293Bw UKE6o19K1E2+l7PuB9VHH2Eocu3Oix28ghP/ZGzqENZkO6TwotQuioYaUu8W0wNEaWvQnTG+tbkR aekew++7InogGqt3r7h3N12Tu8f946Jgakm6h4zqPssYCofRXnk9/p60M2XDl8e5xtrCLIY8ADab JV/wsMn3GWRL48RUXuA0k+nbucxkM+Gi0nwGMDrp9wo8tqsI/WIWsLVQ2Of341oMkDYgfIHTO4M4 e0SsyMfqHCcfKLouCMqgoqrvQDMMtpYQd/mEe7hjduAoIlq76R7t0nzSvK2QHBvmENvLEOGYjeze roWb6rT+JTUMWbrutPcsk6hAg8qLTrrq/X0IW6/gfB/vZrfR/MHPyBHo2pJvTI03sxjdbVqC257Y jSPQwsH5IbRNPxzxw+tgFA5nETJV+kCq09aVr3knFnjyLTXvHqm5oU3owUKP7EmJ6Z4In04YvFV3 UN/jn7Fuj8iPBiLBlHt6piNl89+TBgGEC3y8c8J7hFGf4L+oFsTFPJrljNaRXgE+qXO819Vawwa8 xiFg+qJ9J0DmoSWLTka72eKq0k1Li4wauFE4gYAaApDyWDpEUsd74KZQxJ+8BkeCWYfWzxqFM1Ys HypXFJT1xXUpptlIpRDPyBi7jXMBVFD2WR7ljQZFogT+SxKEmujJggDyPWgaF1l7yopayD6qq+7C k0VsPKWwFCULaRfetJ+fed33HjwxEDw+QntUgpJbrUInEsSSVXQcnJwiV+MMaJIFJRi9T2NObiHu HmviPXYMefivKb/1/pxvAhsj+03zGSGkolKz2R/DL0TuYXIctNYxd3Xrayx/lqSVhFov5Rhmp0uH 9XVlPnoSHnWsFX+ZxmRy/t6a72wVY8Y2owIr93ml6JTd3P+CDTWpxuRdqire231CPG/1Eq6GWRbL 4JBN3ByTGDrQgxUPXGJ+etqIr7nv+KQSeDYfNVo00xi+DplOgLGBH+pNDty/xcQEogY4JDKzP8Qb D9CY5En0DZuPEZ4aY4qOUdcsmW+4ayAgFSInU5bU4bEwtAAgGufMKyxGRYTLOVx4ByQ0zJsPdVA1 FItZcr67pcn+8nut1xsAKpBUfxQ85AiI3y1gxzPcwZOGggscqa9LaR4VAIKt3hekUkS/oCqL9Bdt p8TQi95nKZCZ9cwdUl7r6AuOX+gUmGKdViSJE8jfacFTtBzmttn5reSYNO9Otjdbx44VlBat/QMF nD7ULcKO5RPLkzkGaslCHiQtBNlRcSBjTN8KR3k8ULA6PEFBNY214lcX1jT+4jbTqOm6QlqkGEtv gw0XIu2iaWckx6P2+VCCv8/xjgQj8E+8CH7dLxcUXwAtxXQSJsiRpj+5oOim+/5BPiwyTQGjXa2O 8zmRHC5vfiUDwyPo2FGDD9FqGdGJljCg6Qd1101ado6dOCApR6pPQyO9L1ozdWoPNQu4bA5YYn5P HQupzZuI4D1cmGjbf4zHGli1mv3HJJDZJexS0SK6d1jiST0bPrxTGwSJwuEYwbEF2lAiHwZ9/yoF O5b8tYUJnq6V9FqzLCOGbjhnS4Yl0jLjg7dNjF+47tjMD+tqNeAXtXge7526GsHfd9SOAFXdKQ47 PLVSnHqKafsyFW8+huEBbiG5vskGmU523ytgYyg5pFgZ1Vk5ecWofokpIFB4kurrJvwhMd00wj5F zCQjO/0OTdjmxJ4L6EcgrNNg7+9Dzd1Fv3vdXjB9/M/BH4r5ZL5BkOYvkq24nDcgI9gfxZ29rs8G KIi14jFHZdIQfGpZ7kGfe4ZDtIQ6nCRdcGuKl91ZVSQtTCcxD4zubJ8HI4prw0mxeCShGrHAI2WU KTwjP5kO0dKt1yr70tgJLU1w55gPEtTsHxyo8byTWQ6iqK+cjtnYcjQmWCA4Ked9I3FcGGfIzlpp aWb5BfmLtJ+eYQ8LiE5qievVW6KoCCHDeiM5dSIMdjd5wQukQyMfV1k0CFQ2hX65pAHtZZiEPHFG hQI5XLnnUl9i060XxaZdy65dshhN+/V9ATd1eztW3JJwJbJH5cdkoJSZJSOsB9vBCv1kIk4+zfEh DOa5QwYmHCpvDA3n9eWQdh6VWgqw3VlHwJI+H7jTYkeNoFRCCit5ebzkryxYAVSoBzeLKq9zjuzs fPsndZ/m1lSELKUAiscU6xlCpaklNhoXSRI5QDtjU3XBz1Rpl1sdGsKOzqcrPcvQS4ND1Bi2swal /maSFR0uMX2+FaZRUOJDJL3ChIv5FqNMRcsAEVl+fL7VUDx4cgN62pE9TIcJWssJpKFcRuwrvAD2 V+XngSKz27e4vP51H9H7wF9c33XYvbcvld9hWreHpMNC16XJC0R/cPOn2T6yYWUEVUgeh+Inag+y cfU8P4O9n1y2Cr1OOnDl5syvkoeLfkQ6LAxS3ScHJFhNSnLTuRBdAZUqwEgXr3EEv45+00rVzVgQ m3FpYseRNE6iXlyUlAgmxXHswVemFmfJozVxhCj+KFe9nx5MyEWrtslYGyEq6wmwVHziy+1GsNft pb65yZ3mbJnRGXP1+ADVXTKRjWNjfGHqeuIoWR4M0AnYtBjVcVlvMe624Ka7O7XCa0msGA7JQmiY Pkqar8rbdm/rrvJUsLTVyOiIjt0idsECocjWCWt7wphdyV3StJRQDwIbWSaN5/CEQVHOFRkAj0Rr qxBVj5ItQrUeZZbIrCzHS4d0s/aNneXtCNru+MLt8faEuITC2FFW4TmB8H58sHg/6j6+HZTn7dPr ccLI6/qAJx2ZYLusloe6PBlvuZDFsymlvr7m7QnS894neV4cvS5QgfqxhzoFMnCR7Xk1XhUD/xT/ WImSsNY6Xi6MoLLO1rRVHw2WOWOzbqoyxuDLnRuSWTu7ZFaC2XKJmQu57tCzjcnB2Z5i2/+2wMWG I6YpQ/lLpFihm4K1VEkqYPwUdrr+rIi8YtLVB07g4mK05+PSihZkSwKUkMGqAO/59JTSdrND9Ggr eTU3J0fxg+1+XCvNeQjPaIj0F9b3fjwb52RBLmq3w8rXp3BEWSlely3KPSMUfRh7eaphSu2YhfZv 5NxKMiGZuQa9ji0NUfYzsWYcnNkXmeJdb4m0bR1IJRlQb6AiEXEG38ytwORNSc94AqR0FSxXTGiL t4nP7ybk90VsbZ/5r3v99dqfDHhOruUycrtiv9+uis/uW5m13i5fecP4HYZ4OQWFXhnkvrafYlcM 2QRx34SVye9ee7+h8WDCTDTko1Pt8AC2U49oLie8lDRov5k3PVJxoncjqICsISbOWgYnDcgocCy6 swLxYC0CM59Rhy/00EnPXCazYixq2bu6Rg7uIirmYXs4bnjF+YJHoJ0+6GGwAM9gAqmBKFJlf6D+ ojV3hejwVRu31an9IhtlyPLX+HPKSwIptA6M37Wd45f3ucYNAsd08Pxxjt0gd29RYJKKUI9ptcoO p/OgkwxDWdJtRwMBZRA7jig8FZ5J0AoX5iJL2bBiKl1dLm1gDmH5ACNmF2ClMu8Px4E/e6KBQtMx eWTtjhDMg2csBMw1Zs08IbQ8ODGPcdjYDQT51bfSNFANCZmo2tQVCy3purtr5sD8PqJNv4ux/UyB //uRl+Dzw6U1Z8ev/Y3x/WwzzWGJg81eQ5GMHD8+XXqirQqoZIf6T+/1vi1Zta0jlLMxrIVeumca uCePpIvZ4+m4WoHXbXDZu/7G7EOVi/GhzBD3LeLRJNSbisj26/uJr5MGRFxmvdr8sgBWrvGqhB9X htkdgsJQtHihd8KI4aJ4UDBv7N2yUp72jgsYV5RMP683hRvrSSOEdBfO6oNTCJCOS0QHKNmylkHv LvjFcG43/LgFVLCy3dMD6THZJYPUfTc7Gp6LECNPvMTXMOvIB3J2v+mbTt+vONoU1pqCgwDAcZeO SdiyvwqEWqxYGMOmdhgPOe4ezpHI6SYC00Aj1pwEayPEW5RX4tYLXo0qAqMq5kVMPeXaCimWfb+V 3/4jOt/zwZPf/aVvJ2hfO1vSz3urYYDc3IRK2aLYfiVjfUAsPZ8n+tcgTu3eXPiCO+vo0vMqQ1G5 oJOqW/HzYQM1/wJyMbWmNxk/f4BZYMXZrH6gj+BP1iN7BMOBhEj5gJ9KB2R523hhg1AA24ZoR5gQ wd9D2VHU9SZ245k2tzvhTPst3dS6Y82VJ/fggn04hcAgRzXMeRRvfau3mLvsGfIJWczEO4F/omh/ wRUVWfNFwlPSGme4PfnhEuYekd7oyxPxb3yYGKByoJvTQOUfyPqkh41hzcrV1ATzuoPyqeOGjkLO IA3AJhRYJv1RbgBqsLKyMg5b2o9LbjxjQlW80XIJGSOwaogOAk4ORx45grzDXpCRLsVArNFlfIKb jFY9sc4bW3+zidBe3+OsZ+lZb5wwGOzgM08OKt+XK2mOdVL/yFurh3tlL6vGwG3+zqDet5HRGzHu A47sdDl9/YJfKWzvJrwiY96i2i6anc1Lu6QnfTSVqJBUIu8V7docoTBrS8emNmSrUVMUc2sSInxc asNA6EKsdUQWGj6snorlorzRNlMbQFUvmbde1FVgZMfCvdyh+w8PqNUuuHHaU1ZPXfQvIjJa9j8e a/ndb8rwQOqAEAyHq01iNmMmeoUTbYhJ5w3DgMjJW+vwZsuXslws6j+EuLC/alx1ycnJ24PAn0qM PRQLDBBZTCfJQhY0QcDlX4mX82P01YINxVz3lsTHjNbBmSkPAkVba8L0fU8fsTL1nJtbDDYD4qW0 f/PX/KR39VXSitq1d5SYdMgxnhxoCrZsi6SUdaV+zoGY3TsfXZcP/og9PkPy+5hhv414JPJ9/By9 9SqbNWzbbTcZpF2/ubxEf9+IsH7+7QrT+3gi/Hx6GAPKbUZNO1j0/Ub+mj+s9+mImkOY8ym3Fhd/ 90BAnZhaxkcECoHQXbNWSYrLpgN7Oazglc4ExLCotY+AaoF1l0fEHkCoXCX4Qyp6kTArgWCvQbCR hqBqA+tc2rpfAqNQ8sw/QxnZZ8dLVtpN1YzYhwhctLV0BMQgOsCEfkDKe8IBxaKvWRxg2t+aIm29 wpRyEAvxiqOvTglG3mpr4sPGFpzqbV5/Dd0v4vIGVCpVS9fY7Ph+QbOarHRSaYXVEmiSur+KtH7L Ie129cIVodB42NgxaT1Koj/iiLPpr2GpVN29lLlzHAIid6CtGgtKAIe1dMYL9DpdtfUD+SR9ScdU AmJbP+fxoHt7G/19a/94h8PPnEeZ7X2d/hPJ96zCbpcZgT+SPpcvLDbSLC229+WOYI//dYh/VJ7P 6atwdfiaxxtIPC6pR6FdMw2slkD9Xb7WD7PX+YmEA4T76cYR9r2v2g243CWObrrUVtG6vXtq6Rwj TjtkLZr+nEhweXA32AL7uo4C7lTzhbKZNEISQXk1wBp81X2UCkoO7DbI2096arA/NJ9GGyYffvSU 0M1mPXSJrfLjIJPnhdGBEF/o52KpESMDK5PXdlTWBLBtH0q8ZZ8/PVJ7pYZx6piHhmIKqjVAER1W UFLBLwotUhP7vmPso6WRli15aS5WfGypSiOHGG0tGi2SPnViYVjY3EEDgVJj/Bt81+WWEMx2i30F LQVWzQS3gKsJUgZh8wklfsceNgkP0gN2Q6RStzu3bYZ6jUtNzPr8v3wLAFev4uZPnFhC05cOnOGi udBiyY7k7qV989iofe35Jb/p60/gcYYkd4vac/PMaY61QQdHoE2wmzF/O66NYQPoK1K7vRxNQbdM yPTZ3XV61q7tjfw6novieO1k5w/aHX6EFdsSokwZoDwAWWlFr9gx2Tk9IdpjFOYOhZow0OQUd7Ax G0X8lCgeBinHw/mAEABCBupBVpRa1+ILJqqBtmoW4u4cdAzvfeJonw4IsSpLRQSqGGxU9C55imu2 4Y7qTBwgIujHKLcEpS5Sm4IWe1XZQES0B6HswySCaY4/YXKW/GlaoQnNCDPjPkber4xkndeNJEON 6UOCl/b45yQNO40htm88gwIWzlye5I5KnCw5stMl8AGCNj94kGbHbShBk2iS0REIak/Ttlb6lfDd +/QGUiG4vBpFQrlbb7Z+jA0kwBaBAwOp184yDe2rN4HnAJ98kUSPzhn1tcqtJ8YQ7+mt2knH386O /LmklS902Za3j37rA/SbM5f8vbjRMAFe3oATOV5t3tYAf9sXcs/7M3zLzUXPDTMOrkEwmf8SOWMF O00YZADWqF4bVBu3QmEuPUIohTi8M7BlicLSJIrvT3zvkgPXBnba5cEeN4H09FRCrGrqFjF8cFFj Ay/0/Kb0otePJRxJM3FcePJ6OcV91k0NH4rOJN7cqMM+CmWbhZyEHxgaukqWOco3yml01QjOuvxI kCXicuu7coSh5l2gKNCT2uulO0Po4f3znsK6S1Np0CFY0J3DcwiuGhfz4qEpyK/J2B484B9fpIB6 zhfqt94XxLWaTO84CVDfmsSfnoPjktnl64xSHv7zuJUjGmU9Dw3lnuVXvc1w5GFJNC6hjoyOe/2W 4ZbXFshQ8ojWLd/iIKkCa1ZI80hfTzwNOIXrA8ukhG8D4G1YwL6ed6WfRxH0Ao125DbtHyIXGPvb izDeZ4oQdmGueeLoeX1t90DVBZQJNOVvZTi55dHv+r6PYGpI6FNx6xwVOoAEMoBfJEdJ8xjLWTZj 5yRrne7/VNQ5IgH1aqU9u5EOz86W5QDxhGJY0JR0Z2IFEXg8aSK/towGznkeyCA2vNxiLrTZYhoG paneNRrMjFWrKMcD0W9yQFmGGwsYlRBEyFAdbTQqBdLl88EPTGbEDXMJ8TjonBh+ldsBhnh1jUap jQb92WIzqTQlFQRmg1jE6nx7KQgfIEFSTbaJPOhErGpaKYoXsu920Kg3hVynJC8QIFoJ0onwcOmI LyBI06dFHcIvnRqaSnYDOifuFVfX1pAgwo2PUqYAJV0iLIoobUjMvOZ+d4cfmuZ2Rsnn6RjKz+P1 xKQB8Hb2gbBrQsmOXb93M3g2M5sdwbhGifv8TIJwt+AMeutzTU5KEvRB/NX3a/SQfkV7kMHxmdGi HVOivTZubNNK92fjMomhbVgY2UZDnQw2Z5fHkITzVyRETytNfzNtB47NKMkG3rlBjv/DiYIbWdl8 c6o5SY0DG0gkjgBZxav6RAUmSXLjEZHIegvJRFKCiiPmJ6y//2Aot7wDA7nWsjBX1srV4HANBTn+ nHuGOi2rlDBDbuxxFhlX4C6ai/us58v3yo4nRWb/YpgSQGoZJSJRNnrK8/2qNuEWouVGnXgrmdQp 75pklc2zCULYRkyJdXSinn/GfDvEHQHCRAOdcxLU3uKAr4sl+Sapa/+PKKv7SqPOG/yr2DIDUw3p /tneB9auBj6hTcpbNZznubKrfeXW7ZGi201PTK7c7+DQkM4Jg4Ta1jYdFaDdB5H1kMjKZUfCOP1L bKGf6Vmchsy/d1fv53YlbxJ0Wi+k4qBaYhNkfj7WFS4GPtYl+jHc7QB/46T9FZ4dZqLrBKKFAPFp DaULY/VBV6eTDTp1pZ5gad7Yxknc91gG2PQiPruTmExVT7IW7GO9b+9nymxaUEyMBZquy6EMMKjF Nmqfag7QPjJeO2VttFBlA29KawNhuksPSR0z6+RmEDJjGJfmvQURBRcziHX8WVXDgrGaVirzctzU PaF2tiFioAgT9g5tg1xp6J2sPRs5RAmPsTXI3/FFzPd5J6zC/KcLBvye79Rvh8Vnd2GBknm12d9X Fp5upN34HejevwiXF0wGq8gRMgZEz9RoUFP6rgqUa7xWtbZr4ZJagk26TcyKM0jj686UZvk/cr0x DGvArc2Eh8igkgMT0YDiavoVREywVKnQclh2AfYHgojRfAAWVVUp7m24F51gdbDDqxBwDpfEjL1q OLtul1e+/ZonN91eAoHmOhYHPjLEFhRcBwKQoKg+lj4uMJn8gu/Wepk4nBohtSVhQjwOjAzFNNSl ELYHwgVgDBhgBAxiMBPD60uOSUpfeSsVZiiQj47LZbD5V2dU/mwFuj8Lr4eqki1gQjZo9nhHaqJJ 3fAQ9Tf5JSaV6lx22Lc+x0KebkpG3W7axel3yHPbEYL2Uwaxvn/vyUCSpAyd5YvG/fIZfUnTkU+L jau9ZsDNrVcuDuMZRiHtee/mWR7ApXs8TfqhZZjrvZLeazU4M630+NUxSO8dOXVUCbY88XCUpm9R SzA+Uo4IyeMo+4YoGQWRQikLRmKomH7sdVTBL0G2ZOoEEtAHxwA06u+R6bvUoXDK5jjPyvnqIOBi B8BCXLvajSNPMJ7xcLw7oFdds7Wo9Kmccq5cA7X4vag/yfP9+noBPKu3bAT9HSJ8xLolz30S+10V T3eWGt+NdjJqwzo+T5Uyiu2nj9umjMNeqn4oTXMHzufvPwcV7fVLmOvdevrnTrdeiF6Ha7IuDx2H DlFOBxwwtzfa9yCI2h0/73PW7O8K829ytdecHuFlUpPhDD4vcJJevwZzsvZDQMoYPDDIbgSnPoN/ WnDixRMHRvdeCu5p3u7Ormaj2HfNqsLTcBBUUpw+CavRNabwCvAuRxOjVEfx7GH6lPJkrKTe+g6h bvq1nPfU9NILsMd9Q3CMcgbG5EV6HLjbyQ8fuCswVCf82b48U/RDrq+4AXXpVBCjHf9+oBCxV5/o ChFVwUyESGuKR/GARlsSK7XOPNFxAJ36E3/TZHFOg3Z830s5xH3VWxR6Sm15Srx5N+qZSLIcvfiN 52OzbLCGDXlY9oz76deC9vPg/oJ7IqCpE6aLGf19vjtuv5Wg2/+al2eoMSzgTXtYXS5vOOsSfaSk 9y1HJ9bvtL3zWMfOlPoq0b+SMScBY3B4fyQXdgOX5CwLnKid3H76l5JC1C4FyTye+jbmOFRnAo9m mXMfJEnRzAkOITohO9YLdHSCGOVwAhpJRmPqxOqtRTC6Ra7JIqMXUHT2Pma3Pjp0a1uE7A74hP/W IJZ6tp9RelVdit818z4d2Zrb+KnJc341Sox2Dl3XgzSOLsr1bTyC5R3JfKSOfAlOHibQDxG+0QUx Je05pk431DiJwphTLpApBaXLmf6Q5U4QhavSYceQetFY4ZtpWjU/4gnlgUll5Kb+1Blc8PKIsAEh W+Oi0W7fxweLjXPya051+EH2lrLbmEuLnTmIzCvqWgRas+cxz0wxAqctzFGobX8y/q9Kr5Sn/hOQ 8jFUpmdCMT9AqsE4q4TBEZNyS7uYIV3WmCSdnNiIH8NQQYMNTpeWlBdQCrEFNAmBALN+sJRzm1Ez 2bh80WyymjdEY44F5GQPJ/xi1Ql/235KmNlyJJCOF7RClahoSEG843s3WCJ+KuRkaVYkTd1ipucB OQQTv2HMdvtkHswvAKl+2OowhMBRSDAWIbFY6F1nF2zntGASb6gM9+X4gY8v/uYkWlnZllFeapu8 rE/BS7ijz6+wGBjyy+62CjBZzawf+wZVzxO3mg9WnP38zyb275OzXQHDrU19M9enREN0H/24cVF6 s+GXP+2NyZNX1wtlZyU9uO4Ktlyux5f330BQksIHDdT8DItyTncPrKYWBS54bShe8W6Z58dEOXtv AFPpAgfNgmFlQ262dcCADUSUn5tOAtpm2kd0oM7AOsBq+vp+3ZSLp3x7z9sFfGss2VcsyA/Ga4DQ iXcPtz6sO5wBmr0N4smf+sAKfODZFaa+epzZo4N6P4xFC+/6q02w1YwRuqJCxTds83zA93/H2MyL f8pk/951RzGpyN1ydkKiUol+43+MXI5rvd0MdNu+fJy/w6zF2xK6OSOWidBOVnnybrM6PON2/Ubm ND125FXsJ0wLtkf2InFhF3ZbzoxGLcnHjX1qjG/8POxJ/SKQOZckiGAboU5fKZe+sCP8C3YXycct j9cTFnbUHjsfkzDF2JA/HWdtiMzWlKTtN2R+UTDmGOyWWZD8sS1eaTJfgiNERaLETKP74xU8hcxS Mdw20QRViiZhKQmkgGWrDeQXz0kzBGIMmWH8oX5S0kRYeeNtUKboCb4XgngR1IEopBl+RcAU9y/b 10JqbJHFg6/rdR2QneOs7YU2NBurA7iTHqvqxrkQ7kx1Htzl3lo/8rT+26BW/J3DQ5bizpYiLhgW VRZm/55m+8gOQ05LGdTuCltbyw9aXaA32DMuiHeHS1CeQ+gbpw/zHBHlhNwvNVlZueeXdNuDLQNL Z6X7xn6khm30udkTRywxNe2p56386u6rEP4izhAqFXYG9WV6cGwj460Lp22pZO2TcsYys/Tk6gzB ZP58O1f7w8ZzFQMHmYZhzBjUFYHo14uEYOjja1MYy9JvJaH0nUaxTqHm7zlAoAT+UZDD+S3GQvUQ fa77JH7X87cBZBYlMfiuq+9dObVEhsl8drjyZNfcPEBHZklqeCX6GoL3bstXeXQX/e60aUX6Oy2s yTBrLzx6szdJ8r0BzaZTYUOyHK6r3A0a3r/x9PYH3A66Djt2SpGNzOZmogCV929XhN0r+iVMLk3W wuClMZZQGDL2HzjjBunnVQ04TJhXZnkwhkiv3hRe6vqT7VTNpYO97zgid0y/SQXUqgszLH7Izrr8 3nF4W4gBijZwsI+DjDLFogttWVAUz/SxiXKpUBa3q4cD3RF/s/8pDW8QgpZ5inUFUcavsDxRmm7p XmGCiao379LJsdqphHTfG38hxrHVQkIwJdaUqRXElGE14944z3VW6flbn3kMioyBTIId+2PUlrlT LNmz1smPQFFSMXyj2Tyv7fOX2Rcmv/sd25nbXNsiw838Hbzv3Sn7DXvum9H7ymVr3Vqn3vWoXW9E HC1CRPhCHFJSGtIYJzXf1YPVT+Te58rFQH+nI8g+lRbHFJVrLLqwwzR8PPUQyuVUXC+e5QJNBvoi wWopT6SRLKC7InMbJjbdCk3aueIlC1rwsnzrmaSUugrlQ/FzuSfe9ImTGh/nmuUo0wfPGhxzBD4u nRKYyRuO5200fZiSFdBvFOndH4gNW95tGuTDAnQXkAVPNkkjPJZi2VRFcSKmg2NBeBqhM0W6Pk/Z 7mZUb3ef6WkVSXP4DgQyJKl4vzRL8TBiEQb5xCVyxdcLJr59tCKZ5ePMx3an4gbyUc4qpG9CVHLC H3F4GQ5bf7+5p38H8r2+gOe73xl8VvPy4xAc7qsKg3g+uAx7PtlFnV1W5unFvb3RuNnueaHM5u1H c6+0fp6c9Y4ipCIG/XY+r98ORXHBNKELA12zlvXt7juRnZ9bGG0Sfi75dLhym1ZOzQLV9KXApr8G 5pH6bxVjVShIHcuHgIZFY38qF8hmPSJaLA95gR8RKaGE67eYe+wQWcEAW1AYC6lMSojk+alk0sGF p/h0v5/na+z+SlN4JNX1j8fGshEu5KBoUM7hPEgzdE7zwkgmULEAPm3hN//WOsgo5PV8ITrfjlR9 I1rpw1PBHTggATTuWoGob2RgpinkQfh084Lis5t6EnYJSgl5oxeRqP4DRKpUht0jp7xAMgcWaUr7 9nlSS3lXTu55OAFAYUw31pv2SzNlQHru7zyfa07bQ/I758/jZVtD2vv+tTy+4Ho83UFhPofox+6V zl062/3keZ7BaanKPMrsND0GlGAlgEG42taym9ZtTzS3N4/aADS8r5FGP3+zSYfCjSPJ3ZgWw9z7 i+TdodPn7x+oPHD6JMPofobAxiUyXi424JNK45yQRvH9+KC5ON0XnKrL5OHrQLwBRk0HdRRSC8tJ wv7RchMNxGdPueQdDVnhqIVxATS7Rt/bC7AwWeOiFUo1zx7tgJflwfBzLBTAoBVSofmToEYSy9qC DrEuL4xhKmu/KwW3Mx/bXU7Q3/o6tJRHI0sNjpF3QsQvn3CQbLu7DS7hcM9dSLIl+bBr6rzrhzwl RC0zyysHISB+qNMPwdALH3jV4DofFZYsWjsbNg9snIozsIe5WxfWFlzNnkibmbaZwNXSFOyt590g jEL11G+OiKe6AazcK9i8n9uZ36NmvanZ1KDVszGDaZZlOe9P/FW9H59hP5db+QJqbeTzvD6AR+O2 fVHyOlzy7MFsWsO7UY+u5RAVdDcWq34CvYrrNNTg3iCHCR3zmELFaQgpTHvho57V7wyIp9uF0aSL 0MVdTUQqckHxrklAH7bPVYt33gyFS1XPSSOmrySOqzMsGSh3SMeId31z3OS2l1vCi1wlq0sc8rT9 BtzmCptf4NpHmc+gAtO6PrGkDO0AOp8eUh96PSBItH2D5XhpMxC8Z2kUDc8AaqQh6E+SY0B88S1x e89Yd6UGCz/o2keEY2YZHgI/G2ZhsVR6hl9AAHPkqe/KjB7vRunIzGHITIK8IEG/nLSHEZ45pVKt kWugyH6pCyjbfVAc4bovN7zs+gnE9ykHoaDTRNoSdlbtl0/Ub+M5QhPJUbJ93AFYPd93ms+ZrNo9 q9F7BH5Al8bszcKsD8oszQIcebgGOiihhhp18B7O4otpy2TPw947ECO5o5WttULhMltwRNTrHWcV 823GeKU1HMxmCRPaqmrOQUsx+kWRKCv1POosIi+8yWwMcxXS4Fzsuo4XYgScZrUjG0kCdbz5DLFn gN7wu2EpyLK37hu4gpRTALZD4kw8Vjrr1RbbGMr2vB6fb00Sdzyrlog5qw5tneY6/Q4lg9UdFM1d 9z4LNdQBqD7bG9xJMyii6uvo4VtSC0xg+HnHAKNCWj52UC0ZVSPQ9ZLTNX2cMtWghrIvdtzi+8fz hjTty5Ok8fxV/5d1oHEzcF7HI9v3SrPjrZbB2ywEvZHr3B5MxWhIVlC0R5dgHieakZPn3y17adc+ uH7nMdej7K3a7ne7vbps79z0vmAE3wmOfa6un+wha73NMAkKeErmuhmHfl3rctlzqjeD7pT6AoZN J9sZC5fgn7K3laI/I1Kfvq2131a4xKfKNs4uxfKclk13udqQwRH2pW0gCwPHTWo55ai2SE4eG5YT GP3MEL7bxAIgdTkn1HMSqKuk9mSdgyv5M4lYR4juULrQBBlQu+YEdPbxja7QA6eKZfN8bMC5vagn CjEFEzBnq6hxF5I1UojsSjWS7lIA8x/wTqGaAAsiScn1tJ21OXqjEegt/VIPsRrEC0HIZKDurl00 B556WGsMqJiQBFtfmtcQflKryHteuWPzvajofObH35CT6y3Yqcd4t3v6Prza2KfnfQbH95DKIZ4e P9S2pOTQS3BT4pbbb8frCaZnJw/k3vr00XgIy3+/sXzbfe4TXbOkxjwEp+W2sV0Ing4b1GgWVJdL XZfEODAkImCl4Jumw49dlU2vNDHMhXqdl4zsjxf4oDVQuIhgLznp2iJ+DBGn7DVTP0+W4XvGulm0 pzyRbEydnAamW2ES238DkHajGk/M4vdbDxCn17PDunkVFHjgW9USS/YR3D4ChtAIdEBEhBlt2/qV R+86+a0+fEDs7BLt6LRYjQW3RU/66F436IcjfEbI2WPLdV9morystXqtq7FnokydN22L8xkv/3kx up63qHZDQpRjLp3x7xh7qfnC9E+H/E3V4CjLnCv8DxSXPcmKZ/VcX7yv5SKE/V2Oa6gbe9ybp21f ND0uHyD+x8XWW59J3WwVfcoLdgU1748L0K+bfmp3J56Q5VZtllfvJzOu+tDe14fl233yWmE821Yb 4TCqbyEqRyfoxd9wsHxWvZ+L4N6HP8HqIcewm8ybiIx5VzyR7qoCrF2/QjYCefvXrcdj69ylmeU1 cuctMdSkApBgpMipbwS3KuCKrgmy6lpof6yGFvegANQRhrtB7PUJ5ayNJpaeDtq7V047aq22AVrU 8FnlPcyjbI0PB+te5WSBlv0TjgzstAubYkcIzQ16+jDUtDbHnh/J2E4OpwdTysmdJ1sbg5CEaoQY 5zcCbmjh5yw11n5wN00TMfBzquHv/o4htM+YJNGEYCzIywoHShgpBd8k0nFQSspeu9RonJbDjS3M vlPnig363eyl3W5vf5Bu4TcKQgCyX4H0uLyQ9Pi88GG8IbQSiTgRtYA7eYS9S3Fv2XM/sD/3Lu2U ZpHIrSoUYzSW0cQze8FrkPNUszSaLR5zyzbRDGqoIAIoL6MVVCqrU2PMl03I6iYNVMJ0ZWa7m2sU 8fRDhLox6vTou/Lk3KgJ8e+MbytkhuBMGYCRyqN5wrV8Q5M/5/ER0nFAkZT63LBDsjzvPHS5wevo yPx9hEMHCxxh2FSTxkYpzhj1yX0kQlXda9yYDoB9ro360ouikJYoadEy18YBF4sPVWDL9gcjgMbx IWBlVFsZj/sSUm5a+8LxLqtEQBVygDsvysJF5K0DymB0krbrEwAwskxkSXfgyTQ95niwXCfQCZFg zy5sJPuKEhb2vJz3hX2VzMwTQYgFC4ImTrPSddcLJl57okbv8wwXG1drt3+c++HzPlRtl4vzthJM so2XL/95wqkeYVdfinUa/dNWZxWfR8519sXUNNuJ0nT7Rt/WctMCNolIo63+lnWDMy/yzrsOJuli yXNGllxY2bpbPxVcupibH4QRjZOrxDIJ56x9G8Jf6edJKBqlMUsv2qQqhP/NxHlPjQ8IB45NG0Ii Pk9/tfkxLpYFZaKqGNQ3CYGWBchnnl+v4d7RX7ax3jkzbHNrYUA/hah7uPBnzdskU1WHbBvN4OKq tWBeW0oWG2+MsaqFuVQN4LBZgnRsvLrITT+/wVRE1ZSLcSyuDOF68B9BTgX5+tu/zHolV/IUkrBq R9TToLAcnBuC3lZGx/bav9H5fob4xQ6CRXcjOH4cjJ8/v3B/wfJ7CxXIRzGml1YhRWAiMNetIabE YC5oHZn15wfajdp3nSSKF95W/NIBRglKGGqz0y78LBp2B1+luHIgIwe94ozdizv5bCp9cCM8AsdX BfJhW4/xqk65D5Yh2xh0ZrnKSWBEbQcl7EBlpcXqtATWjKnh32/ssX9N4N/E7Fs7/2mLRiS/S8k6 /6rJ6urwG6hPoT3q3KBUTc9AUYmZ1hOmjlHUhPoESB7ha07bsq5kKPIR3T3A+7cIT8IFG/xnZkWA 6tXM1Y1uD8dC1MoqjmBZ99OuyfL3N0Rd35XQTJedGPj2pZRJsc4HsEnOvin3CfpzIraKqTJO06DU va3bD/KnW4Led873j1a9YYJc3hhxXz6ytjvf3Tbd2OebO0z++6nlm4hBEFT3Ce0o0dpOE92ybZJn BSVGduG9nzKYnQ8spYGqPkC10W60RfUnpCoZfESC/GHFu+lIEN/O4/KV3zfS14KEkBObiE0yNnOn TDXrb/LtIT5ewa2Hjqoei1XkauVXmEjY3Fw8W2iQhJ6kQ80TSTli2Smhej6p+jrA1Gxu9SOiQbiv Lxq/FPp/nmHtDwFjOyFxOtpPi0HzBI63mn7o+EDCSAtP4Ny7re6Kx9Y5liZcKBN+N6uq9sHEHSD2 6EYYsxJAKZ7NjrpsmITlE9G4c0LJRmB3iHi0H8NtfRz57s4odAXrI8mRMcMBnOxqBDcK8xvy68pJ b+A6b7P/Oqc7vBb/eqfaAeZ4v8yD10Tc29gjOq7Gbr85CeI54JFuSQsqdcY08wUr1Li9cd5o03Eh UaVzccDVem6WyJ3IB9mGrn0Esy8QD0WJyfDo8saJRqA6rD+orBV93r7U/5WTk7oCOt5m/TnzLVxp C8bkeP1E4dCoJiQEpwPTj0RP3fW64BaTxL6soYqt6RIyJffpNO/quKP2fBvgiWcJ9KvzRxZk4q/A yNVngWLMhZnurCnv7hyUWLmd1U+s9pVHL8sYWhmiw55QPJT4ki4ezPB3JTvC8zNIs37Ry43wUrJm gSypzzZAaR16p3NwvlZQ/B0jeMs+EnmrbUgYMPeWEEKDIlWVc6TFzw7cuwLu1oS+oJMBg2RFyccA gh4XhO3WnpjWERueG5QuX55+kt6Qo9DIWO2WXeFJrNxGZZ5Wlg1NNtRgno52lEWUPfHAlIgBWmWU jo34FM5p5qHkhx/rb5i7LSD5OorgF93942BIhtd848KrkKH34MzWo7QMwCc3T00GeqkhEJdbqGIQ s9Gl32ZQKLEZ2HNWpIGfwYp0oUJwCx4hc6RJ6nhOZwZ9bA2lH5KS+Q3E+jogMP6EyR6H4bXXmdrz VlDt1gSCWANZDUFZbupf5kndZcPn78+lR7EkeEGASS4HIyMExgqZvnV4FiDEgmS08Cy9iUTfd8t7 3Cc2po11bIyYkHjRK+EGqnPtMLTCJ5EPQUREfNLSptoec+8OI8oEOgmGhWcAqDvnzzAjXYx+/JPi ScN4JMH9qD4ZAHtEZTn9TcN+AciYMh+gOonpRsonOG4PyVc/YnkxKGkFEnMA+UKlI9HF7ajjbvTa 5gLVWeiNA6L4FBjlcTl02+sd60ouTRzQrIIbZ8aRnV0HjwBgjokKs1XnArO6E+2BIyUIOGRF7HYL hg/IRAOYa2/jfRvr6l6K3G8R7AaMxDfYR47uFJM6+QyZlf60Kl8jDCNWGs96p4FZLY41ibl9DPDu buuO+84lRnDQ4ctpX1tpM3xlxszjSrjqMR8S9KOMQwFNq/HepvB3/Tl4IU6nyznt2ekE5y43S06G Ois0JzTGAOkapPbYMsMsfpDKj1GrBl8eBmXk0yHtvM5u0hHFqy5DDQvb06uKiFprvS3xdUkdEpkU tQHY+xp3fhuWckdkDhhuUA8GuPXwJDMrcYoaaGXFUpGQIfxrivLFFdl/+RbABJBMcD1MjiTwMrU/ 6e2Oh79/xNuLX7Nkm2K0qGESsYyHn+kTz6ieFl4jVa1uCaRQuIjhHh8uWI+vP9YTqVZqo7Hm9ut5 VtDCUXBL/AdYQvRzNJarRsr9+Q2bFgKMEkdxe0VqD7gabXaZRobCr9LGAGmM80Qruf0F3rXlFJNx S9Ut7Zqb894aPRj7tax0f7nvPCT2hSXwC+uxpy3IRKoiUEG0yZYVF4QoeIFDzbPerZNSlL56vA7E IjGxjZ14xPUQlyvEoaDyOXcmEmU745xpn/6zImc4qciytDldDr/Cai9gfuJtkZCjdiKB3J8LEqWM WsyF8LiVMVItFNPdTQwhQ1IqugGF6+UvK4mbMpYt/tbhzyql8djTiNWzxJ1nNPvJCoGb9dJYcbzC yR4yhJMEmXxvOPf40t0EIFGqEtgBaTytvlyafJd/skO3OSV3YrcndIAauhy90bHqqGUpucS7XEEu UkozLam7CUftb0bWLbVR4y9vlVgqDeEbcOeHObassPI/CI/VXGCczLjfhEV0/yjNxxNP2Wwqkhqo 8Dyzv1xysLQgv+o+PFVd5FfQcTkZyt6RX1w85TwhcZMpqJWiXWRUI2+Wi1kq08u6f/gpSWC35zFB YQlVFyHBJ89083Q2EJqjDrn+Zl5gr0IvGL3THEQ7OMIjSxLNmvtOguY/KJ5tmciG4jRHmWpMvVCB oZvhFYeuSSEhnByQY0BNjTO+9IBlQKllOWXmAtw6Z0oKdtOzZ0W7utVKaYO2RVwIO8pxdH53V0Ey 0u412w4+FIB5SlV9MrzpsBHrMbtjZu/UwQVn7ZPlB71i0rQiBllk3A8fW1GIeZy54E6xhswog5Re KAohwXPG+JVdJhaEe/yqhEpeDbH/TSZo43wY8NemxgN+tLw3tlh4ADq0axZ6nAkk3xa120mxT+Ec OkfOiKMlBgfK7ZHYPoo1awscnAS+oGTEW4PCI/v7hr/OEL6MlPk5hdpCoxwhsXnDbsY58ADNgwsl jHxa+kZLc8bXd5adlBP2g6TjqbJTzjEvlIIxXVmJyw0f50DN6mYKsIYOwpRDTmvRF8pijqgN5o4d S4NEbJt+Y5pCY2bieckcvNRwftSq+EMXCQMrX/mnc1sObu47pzlqO5EHVsxfcG4PrmAI/gd0CnOc OcEwXhITRFo/RKpDJoSdxVj5xI52Ztonb9dE+akYz1fXteLOYEhg3FRR97bWlyQMo1yqICdyjFsK Wg6JmG2rG4PQ8qDizAoarfGcYF8FgAc3+X8r6/H79M7uvbXX8AO7u7eQOcFJnDShFwWAofmwqbpP ajUK03kXNyd6haklJusiSUp0IU3jmOQSrZNRricyDEILJKs9d+Y/qtOyuLgXeh8LxxEKcRBr2QZP A6OPQrJmyalQtyGDMMD0SS+ZK2uyreeLg0zQesCOeT6MJPEKyQNlvF1JZVBiIxOqLhc+cITrXulg djJ4IoFXK8sEFS7IdjkDRXt9BEVzSUcoNylApWVCKITqwnXbUdytEjCCH0Y6RJ34vyixuRUkIqNU MRKi5Zj2N86WMmRYBXp4X3RPKnH6RY90zXoEnGdDO2Edv+HwB0FpE/fH/NZvRv/UiXanrFebBw1z am7wMwFsOWypL2SP+DWwBMV19t7AqNeV8PW5XOL0hX3OX9vVdIGNvVu5m7cOXpYVpqJVwwFYJ0Jc At6sEZH82GkmieQkfemlomD8BxzTB6rya0fksDbS3emgcUNcvIMyki3J4MQ6oywtotXi9RDglVW6 z2oO0MnNDoqYhyZRDhKp76yPXpCSDCPV4leC5SKfc1bzne8w0ucS44HFP7VT9zCX5KKH78xSpMYl TKDz3J0HXWF5+Z86qE7JWvFyXR5oIM7uSVdLjUEVpGK6tsm3CsfOG6ouiHFEqSy4BqgkdYkdT7PP XXgj2i/kPO2nyo70rIrHT0L0xCdsdNzAbpBjDKVMRBT/rIkVEBzRmKqHXIxinWDdotX8S6bv30Vw DKSU/4TZDhtBbrWm3RmKjATFa7yiN5zrF4Bv2HKzHeBPV/GNYGpDOPEJ3101I8O49SvRuKkObgiq NjDCHObe1TAsqlBbA1ObZPrao9XL7B/cjnH3uVeK878YAqNZLMMm8JkSMjQRwzozR0q/rFvjci7E KqE3uXrQdS6irS/9fB2L3244dB8vatbgTZsPn4ZcAFYLGUImAFpBbV7SVDPERWmnVaYjABAUmugS 0YroY3n9+Daf1Md7ohO0A5zcMfTkTl9fL2a5j935vuVtbqTYyF2nlFL/JpP2PZVy/ARIyNXxpPEy 9dKTxZ6WhlVrWl1MjS2vDvN2pV3AXN/Wf+a34RDow71h5sh2OzaTHoFGGli3TSK3ffdoRC2bgdcX hCiUo3/sBBbyLNLV0PT7NDX4CYguuwnh11gY/zUP3ABqUx8nlGNHgrp3cEVImUb2Wbe4+7YmHAcv 96AB3L0cr/MgnglovKqBxtlE2GJ9M9xkAxMPwS7xlPLPzdV5r8pzgKajLPh3szWG097UJe3csnKS lHBvt5RHuo4RTA5OXI4C0gpEUN0ZJFGx0Hm2cGyzLZhPytsY65/xZcyILtb6a9Uhxq07baxtrZjy KV2eIEoBWJRJlmf1q6BYlMI+zL+lVmZ+bRqgYAAMoxtm9+uKeVrxyWaBJ+EUKIdKMI4FY0T7bqMc j1AWtdKmeN6JwVjEX5vKaOI2RKhJOAhJLwJqf5zQSrkwftHqqWuEdqA4zWb8grD1rY8YWe4vBC36 NnlipplWjv6zqykGjlLxelHyPWMVsEHQ+XQsrFMPBrypBd+D6KvIvxC6vqg5etdPQzbGuQAaqKSF 7YhKfSNmmjdPYlZW4DzD2jFKk2QzxqBN1w2458l9CLhW2UPfyMErN5nQkNZ1XGhAJuvqoDs1sp97 3O66ZzfL/SD34f1E8f2C2flxmUiWwUuaflfCT5Auj/MreCpPGu6rG/WXQPJ9/ToNMS0Fq5TbQNiS SYmK2ysgWRF5aN9yl2sfG53jLAAjJAgtH9L50BS3+ISC29YGpu8Xsayii+QncrfLSkGd0OLulZ8p m7/bChnuZENhTo7SFrZ5gxSZQTwmSBaeO1x9I45CGlq3TblkjQMs1wtNk+aZSgTnJHnYIJSnFUvb jiGjpjfjBGDSNTs4BBxeGUKOv9+kh0+jkqlHLiE+LEbashqTLbHTb/WXfcjpcJ5e2vcS9B8moo2p qVaRweZAESwZtGTecAs8Krxgps6l5rK6oZsBkSHPyuQnONkIzCCpFeIGJ/FIyW0oiktGr2YGZ1RT pSpQ0dFo/nBWuijMFaTsv7QUlhD9MzihX+guEL2fOkYfxdj8gXh+0/3eyN/KLKsHj4Ysx6dRhTPu IPp64ogpYu+Mf0dVYTB2ZOeLhrG6r2dKFLpwaIDgzzF4gHR+r8MPnBrU1bTp648QjFlGDFEVwwXU hdeTgaA0wmJ8vXdsVT0BaVNX0orMZbh57TxGgstqQPX5IkRDStScIeMxisYPonqHHlY8wMLTHyig Wcjifi96cy4pPN6xFy/Qp87OOVVsw8V0aKgloUFIWYxJDozcKf0hcz4lchfZcOjw4LXMW8PeCNS2 DUc8LPaTzn2RaLmaIZULHNdKd85bmqVdA6ofipid7wd5RlEV/ObrCJt0bEmN4O7h9ePSNy2blkmj BKUNAK700aIVr8AAcoLdD0Q7TCAAGoXefmkgh8UUTYq+wMHCZAcwgp2h8deXF57cEkW90i6EFjQH 7LmSJD/dj/Kf8DNF3HE/NmIQcEH8jEWB9C3mGtaQVWzimJyufxAnDJ+EdoRXEa+230AecFWSUYEi hWhlFi0aApZQPaGM6g01YEy2F8vbUqxhrTa3O64cuhPg8lt/Q1Tb8G+2wJmCTSrNrSFNNoiMyaYk OwDSOuR+b8DvKDnJ1HmTRZ4PqAiSJrrE4LEV9xWj4yjAKCxxWQ1lFytRM5R60nJAjtUMpYzEkhRF ruh3icO5J0b0S5gYIqpJBxo83wvsrNUooac/Qs3/Ctwa9HEDEKmGCvzUdMUlOeItH7vt9rkO74+c HisnAowzgneVP74ORe1M3dvc4R14zbUaQcdje4AFoHjUuJE4SMyF2kf3qVI2m3IqJJT13bG9r5H4 X1fCmqfpVMfxr7QoDIew9QIW9+gnsT+WU0MOq7E8f3UIIY/RbN46VMH2mtb2J7pOVlIFc5oeRJWI iADyODvrP21FkrhfvhjYfI2lFCaYqOFYsn6+ZajSTAa6aJJLSQ992DsGltRo1rzen7/WWOM2zucv SkGOnAUGamYgdjYukR0cTybe7w4ECOCPQH6G+XebRMxMz0GypCcypVa8QWQcqiPxRelknclYLOSL lPAmlEjJ9ghRnul0OQ06zkJHL9hQXdxir3FsrfObLTPWqIsBtnezDmZt12/j1m7DXXn2gvOzBbpc NIuu7GIHO/StaPvbLC+QjvXLVRqmiL1uCz1rpTwxNSYyPfx0zQlG1qwOLoHqaC6uztb029phFfx3 DTBKmZTIxr91Hmj0dySy65l80WBbmQ3Ot30mpX2ZOaKw0BQz4dTVN1UIKkMtFn2iL27MWSRC75GF jePjKjLBGs1/oHrkagQhyadyVAfPw0JaUYtReDUTuakB5OPjQL01n7HoRMafxKiowo7OGWddYkuO Jgmbui+2ULjlQpiDv33uA3XV4MsJ5ato5VGq+Cj6ETzExkNNKK2u1wabbRcesXhfN9QABm7u7Tmm WOQqiPnd7G6ZNSuPjhlSsHMaXAxh4PO9svjD8tWftji+RwspaOZo7e5LlB3zXS4inre0htqs3zzf nqbN8tpf33q/vtUhd9iDtO2FbC+H/my5Hb1sM+DGZ3wN7QCvO0bsVuvTvNiwUfgFhixnfJvcrJ7q oEEVjRuBKhwnS8giUn/vlr28f64iITRvTmEi2Jpe3AydQa8oV7jt/6NGlUpFS6GyAwEHFyzkpUjD 4rxhx1Xw6hUY2stO4yyyGVvMqtwqmQqmcww/zsDNxt69meWXPxpmhKr/YFS/DO+VYYJx0q854deJ afAH5vA71O4L6Ia9uTfSQhpWgfotrqXhFS5agWZ7jDONtEAlcHtIf+qTq9watjX+IGcRNXBWBJjz Y6RSr8Lf4EE4FduEGKA7gyw2uxtlEjKhxMPQ8NQEK7oRy9BV/KRpUCrwFS4iQNU2XU8UCIE9oEh7 jSmYMaJF1CryDJjITvWWaHHY3FAxDD/qkXEhOCng8mSNF5GsfqegKkqTnfxUiGb8GYujZWXW+yE+ qb61j8Xz1Mf/gqvXRPTee6krHUe7rPr5u+jMuZW7BwopCJQYGMUUFmkw+p7/GeEdIfQdgGo6TphE oSQCKlQPNpDqECybPVRvzN3+5PrW0Tlb8WFYh++Vd1bp1JHj1W//mzylo0Ou26q2edmLdwjc/iTQ 1MInsyUvGJMhBC+kxzS2pFaxgiUJE4HyQ7Z9C11Sm35Z2crjJlEfjixbwDThmynA37eL6srhJtzt THesZCmlKDh1wppp+Yx6zLpqR5x55+d25VbUY8Z3W7HYxbOOfHtroNNAw3LU/W/tmKduE0aFZnij io3PfVfERrQDLBVtFEjhzWnEbv2MAIWmEX/ENJMcZVNHIo5889daF/hc4aLq+jHXXnh/5uwPjXyX u5KjXgNG9rQpmcZ46h9wN4EhBKQ9Od28U7BNnXHV/cqo78SsL5GvazD5IZynLyVGqDFUVpa6fNB8 VsDN0SUjzAzYl+TX3fauBSlu+hW3kfc0lJgQ4xWYF32swFZ8QnAJpRdDDn/6AWrL3XAsNKvtCNa9 yuSQdIfmeK2zQQw38ZKqJPyyabBpvft2hvv6AGt6GspTrkqczN+LzZ/EMCTaj1tb5+2rbLZ0O7R0 oqYefQGVgoBQAfNwB4KsC5EYh6tcLVvwcmnAkbAYMihE9bYR0OzCHNUTnwl0Rwcd7iSdy0GKvun4 zkrmF47X33EWWBCI68JmmaBMqpntN5mhEoppviOFgkoZYdqOkbM4UyRTO1RMYV1/003Kxd8XFKQS 39dPOVAOGy2WHSGowhWqqGaIdm1lJ4peKy379gvXXc1CxIVq72NH/TSnKJx1cMFh11rYVEoJIEy8 XwwJ08aPxAij4hIGoTzz+BLBKMr7XXm4/ZVBJJSG1Se9S5aUNt7y23W4qe65pRs5NLk8FxvsMcnY PTp6O620/Yzi8mmEdgjZFe9O25egGoHPdFX84lky6XlC9JThe+oQiaRq2hGTZmRIYaiSvHKfbefw ZtPbKnK1oBJPGvlZEfIbPoh5+Lb+V/E9TAuG7RcX4HP6y9MXT4iKSHSi7LhOHlC3lRSSbIZpBBea AGu2pEF7JIGm6m8IF8nq7xJesKSW1CnDSHQYGE9cTAWjMZtmTjfeSD4XaUYmLYZ9upgpieqvYkcE Uqq+h3ob7dhrJaQm619BBSswL3SECRmpUNXYGOkZYuVkX0w0LBnfT5kWaJHp3HK3ZYQJLuFB0c4e gRK227Sgaao7NT8GGl4C/3O+LieZWbXSgKDDmBm7kNQ3T+E2ZwttOpVR1Kd17QhOlHaTIZmccBnI LGQEkSFEwYgtU3RLL+Fp5pjIVFk6B8qA25ZbzknUlHWOuGEMbqkfZt34B7nkFAcMR9ELFVPLWijT sEK1n9X4OiGYBTPOhwgTNUVdLqx3xDmYgrNh5XZOBvgmD8Y3VlRGig/oH43+JPvuQiNN67u2XmGz ehsfxiFHSyeOcpOWTXYW31X9UzK2p1KF1x+/zGZziYZO2R0welKEjRkjXScZFQxl5VjowxnjHnmR 4ODcQ8dJH1GN3eXOAHYFOq7zCyMGCrermEG4zNIoLF2OExsNFbvz4AeZDtnBJL6+8D0U1uEgQ/mQ MVfQKBiYh87iEcNuS1XG8cy/guUTuIalLr2T13BiiyGIc4mRhQs4IjSQHffMJxj635B+HCh1vwW+ vnLOVdjrebJoqZhKM0cKgpdoKH9wdvAXMXuoEigIUKVJ6ITGltmKhFyyyPqjtvGwV30DR7wqFVVT mTJxW+7r102mR/ZAT81FUBx+GbpSN6Oc0lLhOUlPnJCf181QSYZTx2/5gezPQm15TDvaEHn2IbCc wodS+FoCGiWEH4BJIawgRipeG8k7YXwSXaNEAwfakbsYr79fuIgtYwiyb8rm+IlK3LKuvbG5Zbvt fq7+BZypb5LGOZvcr5DZK917aTAOXkcKRkPbx9e6ql1K2eXQ2v2x9Ns2avoFK8V5bycruZjI8FvN aGMay4u97Y6ChDlTJGmWxK04spekTMOSwy+D+WqlisP2A0wrmlLMcigQBJ26lKVEMCgyqW/EZNvB EYavvE8F0gkQSF6g5eKbEk+XNFJT/kmFRagguz+KLFvBXzd26oyYMNEEwonRgomD6URgZGMbvjVA GyGV5vugOxM65YIhwVsBQsyupqKjobpu9KtAfpn3oZroJWILrtrLDftMbExSKML6ggPYwRmVrFNE 7Nvx3dlilP3v4RdcgQEiIqogJGHGZlDjqSwGfOLjYMNgxMZ2Kuq2g61R6Hlk4IZtdaZ0YMqQi4jB vICQH2XFQliEMiihDkXLSZ/RKiM8g0Maok7CwnkDQ1YIQozfpfsRRof1AOYHlqaU4TzKpKucRot8 ot40IDO7v7/tHR2h0/N1vvS/Efjhp3/XHsBQdI7B0jfgjmYUgw1UY8Ml+my/2n021WnkA2B6rPJ0 d7yc2nqNPs7QZreeId8N5vezKVHLQhtErs/YQ5qapuGrqpIVwi3EtnAOgooJCp+VNYPbxhcWLpbB o2OSDcQTKF4JttUfgqONcGkc74YhDXI4ZtBVwVEEa1AkDA4gkPzKMDJMruwz3EGyam5O9VkKLRqi 6UpSMUXfXCWTmpJvAKEM1oqOJ1MOxXnJG28UOj6IZjKSTKmTWzdceEOOiTObHWD87avQLFWJVoJJ SRGK1aSahj6t73vzeglbpWb5wtYsmu6u+L5jkBN8iCzsJhM9IsB9YRknAMJBR3+Ee2gCIF3jroEm 4/M6HaNepqOwBwkBGlQgzSfoaoENkojokpuWwpt9d3lH+hFaq81eByeyZZRjLjpdvZrOU2p9f5lz +IP/1Xf++3cmrhw3VDZrytkDW68ojLzuPvJer0+f0iqDgKsj51Nsru9KEL/tx2B+In/pPGnM86/h 3F773Jz2fq22fmF2bgaTE0Y5HBzAZjRbKYA7vDk0vcp9MNh7UO413M3p+8eAK7R1u36fQSBlArcd MT+/j93HAvR5lJPpDs0aHNzNtltAW/BEuW+Q1wIGGZRaCAnYtcKSSdIYSXI2NYKYcyUNvyGtvXwL in+0SEKWAs9uDY/4hfTNM4aVBXypvmresybfyjk0+W6eBQXEMJpE3fKH62SBuQ/QOc4sYPkwTZ+q PrUM1eFodhyf8PZuZIDUMHjRn8yQZz2+kyppUb86SL75OwHYEIe+MZoUFx2WVKbDlApQ0LTH5Ut+ IiBvHKvqOJKyr0+/kRNEf0fBXEzWsKpgHhd5l7wdbyTaGGOPC9QQxnGmEVYYGQkN3EWllQj8cytj wrmIEKNIN7p7xcZ93j67AptElTsygVm7RAz4Xpcf1po/HorEgRDbRx4ian0TXX1Z3f33+9kmQffL Fn8QpgB4PGFJ4BlxtgQp8Ohb85mA9PLrVyY0Q94HHJWZJrE3v/bI1/PjQlbv+0Ujwnfvzz15Pb8P Fx2d74bM8MVhDZOQNHtSI3hYKhxOUWiM6uYUioShbSsUcGmkUYooPKT9C3FmuBeGv+9egMrpoOPp KEBEYiyyi3KlA8wmsNnhOy2Iz2ufFjvldTivsvkNh4aPon2+hhh4xvTZYFn0m6pk6frGuMxnVtyv nINhrSQnpBkF7y84d4YBmb2E0QIkC8+rh9j6QkbCEQqkTIkdj0PKhanvxKu2uLR245MM9v6TXUWN bdSKkUfjyzX8v3Qh4rmILAMY0Y2+wTzrww7NYBgN1BlIIhi+gzD7IVfjsZV74LCAQ/euA1c4Wqef orKah2IyckCMRggSybx+5w3zsspH4N9fZQBe6o/DIb5AZKgjIAiF/Tmj9eiJGn/m4OogmJMgXkvK YS+MNitmL+kpTaasmDp0NUppCM2to6e7+3oGze93Pdi7aesARDiTyipG2KMWNYGo5SLQk0NZkpwK lB7y2E6xm9nrdOsHqAOyB9dHEeLwOt/U870+1/tY29bJzluAkaBpyQy0holvs/WcyJQ87iJXjxr5 jgHfc8vwg6DQeCjdQKwHL3d6HBOCWCEBfrFw0tcHQBnMFS8d/IyjPFM3TrheKilKyXOO6DDM0I8V hvkNmcTJxkLtnLDBVhd5ndjQZI7HnKnSNjs9XnmGIX8t0PcmvUUb02rnwx8ROOpUkV86pq+qeqpE ByvO0CdWBRlc3KCpXmIUNyKShVU7CUtmTwv2AQEB+BHcPgGNneFjmTiVZdA0tbzcw3xiHrDIwHjl /lOcQ7ikvZhaDnZIQBkeoH07XE5xRhgxfXEIacEv25oQqgDtStmHAw0cOZ9cZF/hkmvO1Hrb0O6L IvWN2h/dcvpHmXasIgA3TlOjqobHCG7AVmkd4t60ZAjxG7Z4eQvekkpdZ+fg5iZeTW3ufmueb6Se 38Mt/8dDNYIf/A5UuecAvIC+J+o3wsMy2FqY3UnQHlIwilgw4GpJYOIrLxZPfn+n73QAna6X33a+ t8fbn0fig6bvJEb+k7XeYEXJSWs2Fr9ncR2hi2h7JMxSc6+sIYFZVBK969AX5MIBWrAiyO4nEec7 qfGyOY8KGuL3r/l7R5aihjHndLIDCArd6L4HwLlTLKRzQXA2b7sNzmRwAkBphPttQFCLFudXcxps kIJd5KQdEL9Lx/x/9dsBMMOyA/mYcwYTO4g9oA0r5Ix5wMq9W59wJnaSgTHml6QqCRpv1UylAcaA aY9rzSTECJyze20QexFcgM/sfLRq/vYEl2qr/9lRkh2pjLKpMlyyYYViOkO1ds4tjHQyE53Ir+I4 pZjp6T7/ZIlR2kW1lIRVf1hVTZ6wmElWfYlI5AoURFazRcbmGO5iCQf82Tze4YWy3kGI3teb7uuv 58tekBuuq/PXJ1PnCxT+KPmn9L73dPoDsPjtJVh/M/1v8f5RBJ/7635fulG98Mrujh4v2CPTnKEB VVcHP0JZJ/aMRshMtYSDqlEdT+sPWK3ex/a64AGczno0SV9WmrRFv76bd8WXyzC7ojl5mBFL3X5N sioIK5+PotUvnEQLCorp7yM/fiY56iJXyXG1W8yYsEwqSEtavQPIY/2XSqAosH6mq6RrEF1PlttP XRdWojEI9YldQ/mj41Z3f/6AJ4M6jCVyfDDirT2oxRnseU1/WF13wqgvv39KdDUdAByuCb2LjYYu Ag5uzpUy/A/F8tfMF+OBOIPzlcJy4rDW20xMqChYDRO3mLdJmLXPyxHyWTiJStV/yeWDcxzKGPpK 60t2Mzz0GGXXbV7a+7jEfL0Ph329JuV1fyGsx/MsJJ58Vq/Qn5dwXmbvaHvqJgNgnQpcjz305a10 VUgIqHbtFES/nAC1rJNk/st0s2H871W9z0nX3pfjh+w9rwd3CDLTRxZ8jiH2Ix4njm+opbHZ3R8i 78oYyAREBJKHRsq1CzqYhtSEp/sr50FSUELfCwmWJIYKhwrOpx3eizYEBquoUZL1Kngx6kaznpeS BVmnGvmU3xzn3v2+8Kt89fIKmFDp8ujWtbUF3mho8JoHKzdbfa4vX6IZvVqpfN7LT2AOGpsRGLiX B6KAVH5lXPdyjBx8PpOd+BTB5wwb4YRSc7ORlMcyf+A/5krPnL4OXy4cL7Pndb1Nxn1dFsl/70LY AVdR3SvVvFJQBVKEGPrG0ArRFF2YzwSjqSBFKQ2rT3c1iyXQ2XP8OigDBmAMgFE5sg/1cQsNZ7tk PUaGRP9s0VhzNfcSHzWqG3jFaE0L6b13IRoKluoC6gMltiW6037kF+sCAEC8//oWAHFu+85xdDL2 Kee5jew0f6cnoU4/AAi3EagJArLK1ur7qGlv6j5ozxwt/1CpZup7RiLU/CtD2iL81FJay+5YS2xs 2B5iQuu51foRrIA5Oav0JMB1ep4pCO93jD/TfevQNlOaV+OHte4ck397QT6at/aeXaHkVQR2gp1S uLf10vrw7bbHe1/idEFMh0CjLXqLi3OX5VSEj5wG7fSU2eaLSIbgEE2SaWdT43twWDsQAtIXcSqp /4ugoSrqHv00Wz0X9O2sDeh9OJlmHsonT5/59HN4iI3P0bX7L45vV/SMAWQDecwBqUhNtt0vnjor fpJddjGBUYa9W4Q4DPAVgMsI/wnQYAnt5nwTRPBf6pytZLjEz7+6gHs+E20AjdtLP7GE/vQhl1HN ew/LOh1jACvjR/yuLV8n/ekD7S79R6/nNb6+VX6mI4bNVvtL9YdueAscjznU+szvLDs7KAKY4z5r bvRPw5ZtImexnw6QcWTvruuZNd0sMPTTS06hdU0+ERk/dEEajTCu/WTBNAyBL6G0xOzD3Zdp3kZb DAwI9HP8O8nz91X1Y4hw1z81TOtaLhEDapE+ssc3esdH/E7XY2BYgQ4ObIzn3oWs1N5eWoSHfMYG vkRhfXJuuL9/i5UEl36jZQz63TrKEPHye1TH6nQL1ZQIcS/et1ss22qUJzidQPrEp+X6eXvIqCTw xW4Uc7DeB79xe6sFAg1MNwF0ia5LrGk0/OXndRzrjYuzN5bDz+dQkwG/sevRWG7naS93CdWd36TS VANrw/hCYz5s1xxgPGKWHCMcPWMuag7yYCtvDrrIGhsf9Rh+w8enJ89Mu3NDL2+5ZpIHefuEIBye N/uYQ/3K3cX3zs7ven3SBuAIRDdGz92YfVUj0sYMeHhf++5YoK+VtyWmADw8vFr03890f9IvvTks AfFRqCJm/9hYFDGzP3nk0TMALi45zBwgZ+dsBi6QkxMOA2fwn3MOAyew+UX7wf8HFrjdHjf3TivT dgkC/EFSVE6kRkg/EPA3/7ehZ2BASMFESU/n5GhE/5/UBsMf2NnZ/0oZ2VkZ/nX6LwAYWVj/2FjY WRiZAAyMjOxsTABC1v+k//NvcHFyNnAkJAQY2tm6OP1P/P69/P+f8m/GX8nCyFzGwslZyM6dzsja wOk/6Hn/GmA2Npb/4fgzs7P+N+PPysTABiBk+I9p/n/O/+XjT04obmBjaOBE+E/jTWhqYW0CDS3q bm/n6AwNLWlrbuJo4exE+I9JAQ2t4GJobWFEqOxiSCjuaGGsZmHipidi4GxAoWTnRijoRChp62xi ZuJIQ0ghbGftYmNL+a+MlNDQhH9K2ps40v2/ytIQ/sP/j4uIhQ0hqflf2X8V/hdXQt6/ytIpONq5 e/xx+mcHur/K0/01bVVM3J3/uPxr81+m/8bzH17ExH+e0dYY+v/rzv8/gH+jfzE7RxvG/0jl/zP/ rv7ZGP9Z/ywsLIyMjH/0z8zOxvy3/v938N/V/7+W+V9zQk/e3sSW4p/0+6+WCEa6v378kZM2MY85 I5+5BQ/9n4SYhpDY3IKQx9TO1pnQyM7azpHX0cSYz/lPJDHhof/LykfoYedCrPvPEvzXTQm5ODvb 2TLqCf8xWP3Pm2P65+aY/nvNmTmamNj+Dxv8/7rD/w/jv6N/0z/X/9A2/j39szAx/UP/rOxs7H+t /8xszOx/6/9/ByT/ov+/xp5Q7I/8CZnpGKChvf5h+HP5I0NZO1cTZSMDaxNjCgYaBhoOBhom5n9a qh3t7P8oUsXRxeSvtd3Kwl7FwMnK8E+H/hejoKOjga2ZiY2J7V/a/ccdnZqJo7PFnwr/qtvA0czC 9r8W8Po3ov/XN38y/81fYWSkYaJhZqVhZKf8p6w/2xYDW+P/WpPPP9X2j6jyj/S/UwcjJw0TA80/ PY8PtM//ZQHiv+jf3tHO0sTI+T+jjX9P/0zsbP/Y/7MyMPxlZ2RiZf1b//9b+C/6V/jn8f+vIUD5 T784u9jz/tOiAP1HsE4Wdra8DHQMdEwc0MJ2NvZ2tn80zWtmSGdhY2Bm8m9NZi4W/9bw16ICrWJg qGzhacLLBC3zJwq4/CnFa2Krp6oMrWBgZPXnzpGXEdrRxdbQ5I/3nywjcztCUgpjA2cTSkI+UgoR SSVKcvo/2xRnI/O/gogx+f9lWv3P4L/o3+yfpsF/yiug/+X3PyzMf07+LH/pn4WJ8e/3P/87+K/j b2hE5+RsbOLo+B/exr8X///1+z8mxr/iPzMj89/nv7/5m7/5m7/5m7/5m7/5m7/5m7/5m7/5m7/5 m7/5m7/5m7/5m7/5m7/5m7/5m/9l/h9Df6hxAOABAA== From vuott at tutanota.com Sun Oct 29 22:41:34 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Sun, 29 Oct 2023 22:41:34 +0100 (CET) Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> Message-ID: Master Commit Update: 378623a5 I confirm: now it works. 29 ott 2023, 16:52 da benoit.minisini at gambas-basic.org: > Le 29/10/2023 ? 13:01, vuott--- via User a ?crit?: > >> Master Commit Update 587bc846. >> >> Unfortunately same error starting IDE with GTK3, >> >> and same inability to write in IDE editor, if started with QT5. >> >> Regards >> > > Is it better now with the last commit? > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sun Oct 29 22:48:04 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 29 Oct 2023 22:48:04 +0100 Subject: [Gambas-user] Strange bugs In-Reply-To: <57ad7981-0125-42a5-8b64-4e2156ee9354@gambas-basic.org> References: <57ad7981-0125-42a5-8b64-4e2156ee9354@gambas-basic.org> Message-ID: <4cf88ae0-5134-4b16-884a-183ef756d3e1@gambas-basic.org> Le 29/10/2023 ? 22:33, Beno?t Minisini a ?crit?: > Le 29/10/2023 ? 21:43, Jussi Lahtinen a ?crit?: >> See the attachment. >> >> >> Jussi >> > > OK, first one is a bug in the compiler with short constants... > And the second one has been fixed (a compiler bug when adding number constants to dates). Regards, -- Beno?t Minisini. From jussi.lahtinen at gmail.com Mon Oct 30 00:25:30 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Mon, 30 Oct 2023 01:25:30 +0200 Subject: [Gambas-user] Strange bugs In-Reply-To: <4cf88ae0-5134-4b16-884a-183ef756d3e1@gambas-basic.org> References: <57ad7981-0125-42a5-8b64-4e2156ee9354@gambas-basic.org> <4cf88ae0-5134-4b16-884a-183ef756d3e1@gambas-basic.org> Message-ID: Works now, thanks! Jussi On Sun, Oct 29, 2023 at 11:49?PM Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 29/10/2023 ? 22:33, Beno?t Minisini a ?crit : > > Le 29/10/2023 ? 21:43, Jussi Lahtinen a ?crit : > >> See the attachment. > >> > >> > >> Jussi > >> > > > > OK, first one is a bug in the compiler with short constants... > > > > And the second one has been fixed (a compiler bug when adding number > constants to dates). > > Regards, > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Mon Oct 30 03:54:17 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Mon, 30 Oct 2023 03:54:17 +0100 (CET) Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> Message-ID: Master Commit Update:? 0511115 Only the error similar to the previous one, starting IDE with QT:? inability to write in IDE editor. Regards 29 ott 2023, 22:44 da user at lists.gambas-basic.org: > Master Commit Update: 378623a5 > > I confirm: now it works. > > > > > > > 29 ott 2023, 16:52 da benoit.minisini at gambas-basic.org: > >> Le 29/10/2023 ? 13:01, vuott--- via User a ?crit?: >> >>> Master Commit Update 587bc846. >>> >>> Unfortunately same error starting IDE with GTK3, >>> >>> and same inability to write in IDE editor, if started with QT5. >>> >>> Regards >>> >> >> Is it better now with the last commit? >> >> -- >> Beno?t Minisini. >> >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Mon Oct 30 04:59:37 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 30 Oct 2023 04:59:37 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> Message-ID: Le lun. 30 oct. 2023 ? 03:55, vuott--- via User a ?crit : > Master Commit Update: 0511115 > > Only the error similar to the previous one, starting IDE with QT: > inability to write in IDE editor. > > Regards > About Qt. I have posted a bug report about that yesterday. Can you try to make a small project using gb.qt5 or. 4 and see if the keybords events are raised ? > > > > > 29 ott 2023, 22:44 da user at lists.gambas-basic.org: > > Master Commit Update: 378623a5 > > I confirm: now it works. > > > > > > > 29 ott 2023, 16:52 da benoit.minisini at gambas-basic.org: > > Le 29/10/2023 ? 13:01, vuott--- via User a ?crit : > > Master Commit Update 587bc846. > > Unfortunately same error starting IDE with GTK3, > > and same inability to write in IDE editor, if started with QT5. > > Regards > > > Is it better now with the last commit? > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Mon Oct 30 13:18:42 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Mon, 30 Oct 2023 13:18:42 +0100 (CET) Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> Message-ID: Project by using QT5:? keybords events are not raised ! 30 ott 2023, 05:00 da gambas.fr at gmail.com: > > > Le lun. 30 oct. 2023 ? 03:55, vuott--- via User <> user at lists.gambas-basic.org> > a ?crit?: > >> Master Commit Update:? 0511115 >> >> Only the error>> >> similar>> >> to>> >> the>> >> previous>> >> one,>> starting IDE with QT:? inability to write in IDE editor. >> >> Regards >> > > About Qt. I have posted a bug report about that yesterday. > > Can you try to make a small project using gb.qt5 or. 4 and see if the keybords events are raised ? > > >> >> >> >> >> >> >> 29 ott 2023, 22:44 da >> user at lists.gambas-basic.org>> : >> >>> Master Commit Update: 378623a5 >>> >>> I confirm: now it works. >>> >>> >>> >>> >>> >>> >>> 29 ott 2023, 16:52 da >>> benoit.minisini at gambas-basic.org>>> : >>> >>>> Le 29/10/2023 ? 13:01, vuott--- via User a ?crit?: >>>> >>>>> Master Commit Update 587bc846. >>>>> >>>>> Unfortunately same error starting IDE with GTK3, >>>>> >>>>> and same inability to write in IDE editor, if started with QT5. >>>>> >>>>> Regards >>>>> >>>> >>>> Is it better now with the last commit? >>>> >>>> -- >>>> Beno?t Minisini. >>>> >>>> >>>> ----[ >>>> http://gambaswiki.org/wiki/doc/netiquette>>>> ]---- >>>> >>> >>> >> >> >> ----[ >> http://gambaswiki.org/wiki/doc/netiquette>> ]---- >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Mon Oct 30 13:24:52 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Mon, 30 Oct 2023 13:24:52 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> Message-ID: <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> Le 30/10/2023 ? 13:18, vuott--- via User a ?crit?: > Project by using QT5:? keybords events are not raised ! > Please give some detailed information about your system, otherwise nobody can guess what happens. Thanks. -- Beno?t Minisini. From vuott at tutanota.com Mon Oct 30 14:56:31 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Mon, 30 Oct 2023 14:56:31 +0100 (CET) Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> Message-ID: [System] Gambas=3.18.90 0511115 (master) OperatingSystem=Linux Distribution=Linux Mint 21.2 Victoria Kernel=6.2.0-35-generic Architecture=x86_64 Cores=2 Memory=5354M Language=it_IT.UTF-8 Desktop=CINNAMON DesktopResolution=96 DesktopScale=7 WidgetTheme=mint-y-aqua Font=Ubuntu,10 [Programs] dpkg=Debian "dpkg", programma di gestione dei pacchetti versione 1.21.1 (amd64). gcc=gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 git=git version 2.34.1 msgmerge=msgmerge (GNU gettext-tools) 0.21 [Libraries] Cairo=libcairo.so.2.11600.0 Curl=libcurl.so.4.7.0 DBus=libdbus-1.so.3.19.13 GDK2=libgdk-x11-2.0.so.0.2400.33 GDK3=libgdk-3.so.0.2404.29 GStreamer=libgstreamer-1.0.so.0.2003.0 GTK+2=libgtk-x11-2.0.so.0.2400.33 GTK+3=libgtk-3.so.0.2404.29 OpenGL=libGL.so.1.7.0 Poppler=libpoppler.so.118.0.0 QT5=libQt5Core.so.5.15.3 RSvg=librsvg-2.so.2.48.0 SDL=libSDL2-2.0.so.0.18.2 SQLite 3=libsqlite3.so.0.8.6 [Environment] CINNAMON_VERSION=5.8.4 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DESKTOP_SESSION=cinnamon DISPLAY=:0 GB_GUI=gb.gtk3 GDMSESSION=cinnamon GDM_LANG=it GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop GIO_LAUNCHED_DESKTOP_FILE_PID=3154 GJS_DEBUG_OUTPUT=stderr GJS_DEBUG_TOPICS=JS ERROR;JS LOG GNOME_DESKTOP_SESSION_ID=this-is-deprecated GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK3_MODULES=xapp-gtk3-module GTK_MODULES=gail:atk-bridge HOME= LANG=it_IT.UTF-8 LANGUAGE=it_IT.UTF-8 LC_ALL=it_IT.UTF-8 LOGNAME= PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin PWD= QT_ACCESSIBILITY=1 QT_LOGGING_RULES=*.debug=false QT_QPA_PLATFORMTHEME=qt5ct SESSION_MANAGER=local/:@/tmp/.ICE-unix/966,unix/:/tmp/.ICE-unix/966 SHELL=/bin/bash SHLVL=0 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh TZ=:/etc/localtime USER= XAUTHORITY=/.Xauthority XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg XDG_CURRENT_DESKTOP=X-Cinnamon XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ XDG_RUNTIME_DIR=/run/user/1000 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=cinnamon XDG_SESSION_ID=c1 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 XDG_SESSION_TYPE=x11 XDG_VTNR=7 30 ott 2023, 13:25 da benoit.minisini at gambas-basic.org: > Le 30/10/2023 ? 13:18, vuott--- via User a ?crit?: > >> Project by using QT5:? keybords events are not raised ! >> > > Please give some detailed information about your system, otherwise nobody can guess what happens. > > Thanks. > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Mon Oct 30 15:44:57 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 30 Oct 2023 15:44:57 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> Message-ID: Seem there is something with Mint... or Ubuntu ? Le lun. 30 oct. 2023 ? 14:57, vuott--- via User a ?crit : > [System] > Gambas=3.18.90 0511115 (master) > OperatingSystem=Linux > Distribution=Linux Mint 21.2 Victoria > Kernel=6.2.0-35-generic > Architecture=x86_64 > Cores=2 > Memory=5354M > Language=it_IT.UTF-8 > Desktop=CINNAMON > DesktopResolution=96 > DesktopScale=7 > WidgetTheme=mint-y-aqua > Font=Ubuntu,10 > > [Programs] > dpkg=Debian "dpkg", programma di gestione dei pacchetti versione 1.21.1 > (amd64). > gcc=gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 > git=git version 2.34.1 > msgmerge=msgmerge (GNU gettext-tools) 0.21 > > [Libraries] > Cairo=libcairo.so.2.11600.0 > Curl=libcurl.so.4.7.0 > DBus=libdbus-1.so.3.19.13 > GDK2=libgdk-x11-2.0.so.0.2400.33 > GDK3=libgdk-3.so.0.2404.29 > GStreamer=libgstreamer-1.0.so.0.2003.0 > GTK+2=libgtk-x11-2.0.so.0.2400.33 > GTK+3=libgtk-3.so.0.2404.29 > OpenGL=libGL.so.1.7.0 > Poppler=libpoppler.so.118.0.0 > QT5=libQt5Core.so.5.15.3 > RSvg=librsvg-2.so.2.48.0 > SDL=libSDL2-2.0.so.0.18.2 > SQLite 3=libsqlite3.so.0.8.6 > > [Environment] > CINNAMON_VERSION=5.8.4 > DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus > DESKTOP_SESSION=cinnamon > DISPLAY=:0 > GB_GUI=gb.gtk3 > GDMSESSION=cinnamon > GDM_LANG=it > GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop > GIO_LAUNCHED_DESKTOP_FILE_PID=3154 > GJS_DEBUG_OUTPUT=stderr > GJS_DEBUG_TOPICS=JS ERROR;JS LOG > GNOME_DESKTOP_SESSION_ID=this-is-deprecated > GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 > GTK3_MODULES=xapp-gtk3-module > GTK_MODULES=gail:atk-bridge > HOME= > LANG=it_IT.UTF-8 > LANGUAGE=it_IT.UTF-8 > LC_ALL=it_IT.UTF-8 > LOGNAME= > > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin > PWD= > QT_ACCESSIBILITY=1 > QT_LOGGING_RULES=*.debug=false > QT_QPA_PLATFORMTHEME=qt5ct > > SESSION_MANAGER=local/:@/tmp/.ICE-unix/966,unix/:/tmp/.ICE-unix/966 > SHELL=/bin/bash > SHLVL=0 > SSH_AUTH_SOCK=/run/user/1000/keyring/ssh > TZ=:/etc/localtime > USER= > XAUTHORITY=/.Xauthority > XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg > XDG_CURRENT_DESKTOP=X-Cinnamon > > XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share > XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ > XDG_RUNTIME_DIR=/run/user/1000 > XDG_SEAT=seat0 > XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 > XDG_SESSION_CLASS=user > XDG_SESSION_DESKTOP=cinnamon > XDG_SESSION_ID=c1 > XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 > XDG_SESSION_TYPE=x11 > XDG_VTNR=7 > > > > > 30 ott 2023, 13:25 da benoit.minisini at gambas-basic.org: > > Le 30/10/2023 ? 13:18, vuott--- via User a ?crit : > > Project by using QT5: keybords events are not raised ! > > > Please give some detailed information about your system, otherwise nobody > can guess what happens. > > Thanks. > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Mon Oct 30 16:26:18 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Mon, 30 Oct 2023 16:26:18 +0100 (CET) Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> Message-ID: I use Linux Mint 21.2 Victoria. 30 ott 2023, 15:46 da gambas.fr at gmail.com: > Seem there is something with Mint... or Ubuntu ? > > Le?lun. 30 oct. 2023 ??14:57, vuott--- via User <> user at lists.gambas-basic.org> > a ?crit?: > >> [System] >> Gambas=3.18.90 0511115 (master) >> OperatingSystem=Linux >> Distribution=Linux Mint 21.2 Victoria >> Kernel=6.2.0-35-generic >> Architecture=x86_64 >> Cores=2 >> Memory=5354M >> Language=it_IT.UTF-8 >> Desktop=CINNAMON >> DesktopResolution=96 >> DesktopScale=7 >> WidgetTheme=mint-y-aqua >> Font=Ubuntu,10 >> >> [Programs] >> dpkg=Debian "dpkg", programma di gestione dei pacchetti versione 1.21.1 (amd64). >> gcc=gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 >> git=git version 2.34.1 >> msgmerge=msgmerge (GNU gettext-tools) 0.21 >> >> [Libraries] >> Cairo=libcairo.so.2.11600.0 >> Curl=libcurl.so.4.7.0 >> DBus=libdbus-1.so.3.19.13 >> GDK2=libgdk-x11-2.0.so.0.2400.33 >> GDK3=libgdk-3.so.0.2404.29 >> GStreamer=libgstreamer-1.0.so.0.2003.0 >> GTK+2=libgtk-x11-2.0.so.0.2400.33 >> GTK+3=libgtk-3.so.0.2404.29 >> OpenGL=libGL.so.1.7.0 >> Poppler=libpoppler.so.118.0.0 >> QT5=libQt5Core.so.5.15.3 >> RSvg=librsvg-2.so.2.48.0 >> SDL=libSDL2-2.0.so.0.18.2 >> SQLite 3=libsqlite3.so.0.8.6 >> >> [Environment] >> CINNAMON_VERSION=5.8.4 >> DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus >> DESKTOP_SESSION=cinnamon >> DISPLAY=:0 >> GB_GUI=gb.gtk3 >> GDMSESSION=cinnamon >> GDM_LANG=it >> GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop >> GIO_LAUNCHED_DESKTOP_FILE_PID=3154 >> GJS_DEBUG_OUTPUT=stderr >> GJS_DEBUG_TOPICS=JS ERROR;JS LOG >> GNOME_DESKTOP_SESSION_ID=this-is-deprecated >> GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 >> GTK3_MODULES=xapp-gtk3-module >> GTK_MODULES=gail:atk-bridge >> HOME= >> LANG=it_IT.UTF-8 >> LANGUAGE=it_IT.UTF-8 >> LC_ALL=it_IT.UTF-8 >> LOGNAME= >> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin >> PWD= >> QT_ACCESSIBILITY=1 >> QT_LOGGING_RULES=*.debug=false >> QT_QPA_PLATFORMTHEME=qt5ct >> SESSION_MANAGER=local/:@/tmp/.ICE-unix/966,unix/:/tmp/.ICE-unix/966 >> SHELL=/bin/bash >> SHLVL=0 >> SSH_AUTH_SOCK=/run/user/1000/keyring/ssh >> TZ=:/etc/localtime >> USER= >> XAUTHORITY=/.Xauthority >> XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg >> XDG_CURRENT_DESKTOP=X-Cinnamon >> XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share >> XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ >> XDG_RUNTIME_DIR=/run/user/1000 >> XDG_SEAT=seat0 >> XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 >> XDG_SESSION_CLASS=user >> XDG_SESSION_DESKTOP=cinnamon >> XDG_SESSION_ID=c1 >> XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 >> XDG_SESSION_TYPE=x11 >> XDG_VTNR=7 >> >> >> >> >> 30 ott 2023, 13:25 da >> benoit.minisini at gambas-basic.org>> : >> >>> Le 30/10/2023 ? 13:18, vuott--- via User a ?crit?: >>> >>>> Project by using QT5:? keybords events are not raised ! >>>> >>> >>> Please give some detailed information about your system, otherwise nobody can guess what happens. >>> >>> Thanks. >>> >>> -- >>> Beno?t Minisini. >>> >>> >>> ----[ >>> http://gambaswiki.org/wiki/doc/netiquette>>> ]---- >>> >> >> >> ----[ >> http://gambaswiki.org/wiki/doc/netiquette>> ]---- >> > > > -- > Fabien Bodard > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Mon Oct 30 16:35:26 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 30 Oct 2023 16:35:26 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> Message-ID: Le lun. 30 oct. 2023 ? 16:27, vuott--- via User a ?crit : > I use Linux Mint 21.2 Victoria. > and me 21.1... but I've had these problems since the 20.x > > > > > 30 ott 2023, 15:46 da gambas.fr at gmail.com: > > Seem there is something with Mint... or Ubuntu ? > > Le lun. 30 oct. 2023 ? 14:57, vuott--- via User < > user at lists.gambas-basic.org> a ?crit : > > [System] > Gambas=3.18.90 0511115 (master) > OperatingSystem=Linux > Distribution=Linux Mint 21.2 Victoria > Kernel=6.2.0-35-generic > Architecture=x86_64 > Cores=2 > Memory=5354M > Language=it_IT.UTF-8 > Desktop=CINNAMON > DesktopResolution=96 > DesktopScale=7 > WidgetTheme=mint-y-aqua > Font=Ubuntu,10 > > [Programs] > dpkg=Debian "dpkg", programma di gestione dei pacchetti versione 1.21.1 > (amd64). > gcc=gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 > git=git version 2.34.1 > msgmerge=msgmerge (GNU gettext-tools) 0.21 > > [Libraries] > Cairo=libcairo.so.2.11600.0 > Curl=libcurl.so.4.7.0 > DBus=libdbus-1.so.3.19.13 > GDK2=libgdk-x11-2.0.so.0.2400.33 > GDK3=libgdk-3.so.0.2404.29 > GStreamer=libgstreamer-1.0.so.0.2003.0 > GTK+2=libgtk-x11-2.0.so.0.2400.33 > GTK+3=libgtk-3.so.0.2404.29 > OpenGL=libGL.so.1.7.0 > Poppler=libpoppler.so.118.0.0 > QT5=libQt5Core.so.5.15.3 > RSvg=librsvg-2.so.2.48.0 > SDL=libSDL2-2.0.so.0.18.2 > SQLite 3=libsqlite3.so.0.8.6 > > [Environment] > CINNAMON_VERSION=5.8.4 > DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus > DESKTOP_SESSION=cinnamon > DISPLAY=:0 > GB_GUI=gb.gtk3 > GDMSESSION=cinnamon > GDM_LANG=it > GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop > GIO_LAUNCHED_DESKTOP_FILE_PID=3154 > GJS_DEBUG_OUTPUT=stderr > GJS_DEBUG_TOPICS=JS ERROR;JS LOG > GNOME_DESKTOP_SESSION_ID=this-is-deprecated > GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 > GTK3_MODULES=xapp-gtk3-module > GTK_MODULES=gail:atk-bridge > HOME= > LANG=it_IT.UTF-8 > LANGUAGE=it_IT.UTF-8 > LC_ALL=it_IT.UTF-8 > LOGNAME= > > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin > PWD= > QT_ACCESSIBILITY=1 > QT_LOGGING_RULES=*.debug=false > QT_QPA_PLATFORMTHEME=qt5ct > > SESSION_MANAGER=local/:@/tmp/.ICE-unix/966,unix/:/tmp/.ICE-unix/966 > SHELL=/bin/bash > SHLVL=0 > SSH_AUTH_SOCK=/run/user/1000/keyring/ssh > TZ=:/etc/localtime > USER= > XAUTHORITY=/.Xauthority > XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg > XDG_CURRENT_DESKTOP=X-Cinnamon > > XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share > XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/ > XDG_RUNTIME_DIR=/run/user/1000 > XDG_SEAT=seat0 > XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 > XDG_SESSION_CLASS=user > XDG_SESSION_DESKTOP=cinnamon > XDG_SESSION_ID=c1 > XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 > XDG_SESSION_TYPE=x11 > XDG_VTNR=7 > > > > > 30 ott 2023, 13:25 da benoit.minisini at gambas-basic.org: > > Le 30/10/2023 ? 13:18, vuott--- via User a ?crit : > > Project by using QT5: keybords events are not raised ! > > > Please give some detailed information about your system, otherwise nobody > can guess what happens. > > Thanks. > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > -- > Fabien Bodard > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Mon Oct 30 16:40:53 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Mon, 30 Oct 2023 16:40:53 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> Message-ID: <58920326-ac0c-4ea7-a3b2-b8d87d207549@gambas-basic.org> Le 30/10/2023 ? 16:35, Fabien Bodard a ?crit?: > > > Le?lun. 30 oct. 2023 ??16:27, vuott--- via User > > a ?crit?: > > I use Linux Mint 21.2 Victoria. > > and me 21.1... but I've had these problems since the 20.x > When I run a Mint 21.0 VM in VirtualBox, I have no problem at all. -- Beno?t Minisini. From gambas.fr at gmail.com Mon Oct 30 17:20:05 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 30 Oct 2023 17:20:05 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: <58920326-ac0c-4ea7-a3b2-b8d87d207549@gambas-basic.org> References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> <58920326-ac0c-4ea7-a3b2-b8d87d207549@gambas-basic.org> Message-ID: :-/... 21.1 ? Le lun. 30 oct. 2023 ? 16:41, Beno?t Minisini < benoit.minisini at gambas-basic.org> a ?crit : > Le 30/10/2023 ? 16:35, Fabien Bodard a ?crit : > > > > > > Le lun. 30 oct. 2023 ? 16:27, vuott--- via User > > > a > ?crit : > > > > I use Linux Mint 21.2 Victoria. > > > > and me 21.1... but I've had these problems since the 20.x > > > > When I run a Mint 21.0 VM in VirtualBox, I have no problem at all. > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Mon Oct 30 17:44:03 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Mon, 30 Oct 2023 17:44:03 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> <58920326-ac0c-4ea7-a3b2-b8d87d207549@gambas-basic.org> Message-ID: Le 30/10/2023 ? 17:20, Fabien Bodard a ?crit?: > :-/... 21.1 ? > I'm currently upgrading my VM to the Mint 21.2 version. -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Mon Oct 30 18:02:41 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Mon, 30 Oct 2023 18:02:41 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> <58920326-ac0c-4ea7-a3b2-b8d87d207549@gambas-basic.org> Message-ID: <0960b86f-606c-420b-aa14-7b27d55bc251@gambas-basic.org> Le 30/10/2023 ? 17:44, Beno?t Minisini a ?crit?: > Le 30/10/2023 ? 17:20, Fabien Bodard a ?crit?: >> :-/... 21.1 ? >> > > I'm currently upgrading my VM to the Mint 21.2 version. > Done. Still no problem at all when editing a project with the IDE in its QT5 version. -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Mon Oct 30 18:04:53 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Mon, 30 Oct 2023 18:04:53 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: <0960b86f-606c-420b-aa14-7b27d55bc251@gambas-basic.org> References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> <58920326-ac0c-4ea7-a3b2-b8d87d207549@gambas-basic.org> <0960b86f-606c-420b-aa14-7b27d55bc251@gambas-basic.org> Message-ID: Le 30/10/2023 ? 18:02, Beno?t Minisini a ?crit?: > Le 30/10/2023 ? 17:44, Beno?t Minisini a ?crit?: >> Le 30/10/2023 ? 17:20, Fabien Bodard a ?crit?: >>> :-/... 21.1 ? >>> >> >> I'm currently upgrading my VM to the Mint 21.2 version. >> > > Done. Still no problem at all when editing a project with the IDE in its > QT5 version. > ...but the GTK+3 version freezes when opening a project. -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Mon Oct 30 18:14:28 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Mon, 30 Oct 2023 18:14:28 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> <58920326-ac0c-4ea7-a3b2-b8d87d207549@gambas-basic.org> <0960b86f-606c-420b-aa14-7b27d55bc251@gambas-basic.org> Message-ID: Le 30/10/2023 ? 18:04, Beno?t Minisini a ?crit?: > Le 30/10/2023 ? 18:02, Beno?t Minisini a ?crit?: >> Le 30/10/2023 ? 17:44, Beno?t Minisini a ?crit?: >>> Le 30/10/2023 ? 17:20, Fabien Bodard a ?crit?: >>>> :-/... 21.1 ? >>>> >>> >>> I'm currently upgrading my VM to the Mint 21.2 version. >>> >> >> Done. Still no problem at all when editing a project with the IDE in >> its QT5 version. >> > > ...but the GTK+3 version freezes when opening a project. > Quitting the GTK+3 IDE immediately at the welcome dialog closes the window but the process does not terminate. Then if I try to take control of the process with gdb, gdb crashes! Is Mint reliable? Or is it a Virtual Box problem? Many strange behaviours... -- Beno?t Minisini. From gambas.fr at gmail.com Mon Oct 30 18:29:54 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 30 Oct 2023 18:29:54 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> <58920326-ac0c-4ea7-a3b2-b8d87d207549@gambas-basic.org> <0960b86f-606c-420b-aa14-7b27d55bc251@gambas-basic.org> Message-ID: no it's the same here sometime it freeze ... Le lun. 30 oct. 2023 ? 18:15, Beno?t Minisini < benoit.minisini at gambas-basic.org> a ?crit : > Le 30/10/2023 ? 18:04, Beno?t Minisini a ?crit : > > Le 30/10/2023 ? 18:02, Beno?t Minisini a ?crit : > >> Le 30/10/2023 ? 17:44, Beno?t Minisini a ?crit : > >>> Le 30/10/2023 ? 17:20, Fabien Bodard a ?crit : > >>>> :-/... 21.1 ? > >>>> > >>> > >>> I'm currently upgrading my VM to the Mint 21.2 version. > >>> > >> > >> Done. Still no problem at all when editing a project with the IDE in > >> its QT5 version. > >> > > > > ...but the GTK+3 version freezes when opening a project. > > > > Quitting the GTK+3 IDE immediately at the welcome dialog closes the > window but the process does not terminate. > > Then if I try to take control of the process with gdb, gdb crashes! > > Is Mint reliable? Or is it a Virtual Box problem? > > Many strange behaviours... > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Oct 30 18:33:53 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 30 Oct 2023 17:33:53 +0000 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> <58920326-ac0c-4ea7-a3b2-b8d87d207549@gambas-basic.org> <0960b86f-606c-420b-aa14-7b27d55bc251@gambas-basic.org> Message-ID: On Mon, 30 Oct 2023 at 17:15, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 30/10/2023 ? 18:04, Beno?t Minisini a ?crit : > > Le 30/10/2023 ? 18:02, Beno?t Minisini a ?crit : > >> Le 30/10/2023 ? 17:44, Beno?t Minisini a ?crit : > >>> Le 30/10/2023 ? 17:20, Fabien Bodard a ?crit : > >>>> :-/... 21.1 ? > >>>> > >>> > >>> I'm currently upgrading my VM to the Mint 21.2 version. > >>> > >> > >> Done. Still no problem at all when editing a project with the IDE in > >> its QT5 version. > >> > > > > ...but the GTK+3 version freezes when opening a project. > > > > Quitting the GTK+3 IDE immediately at the welcome dialog closes the > window but the process does not terminate. > > Then if I try to take control of the process with gdb, gdb crashes! > > Is Mint reliable? Or is it a Virtual Box problem? > > Many strange behaviours... > > -- > Beno?t Minisini. > mint always has been reliable. I use mint and am getting many strange things as you know. i just tried PPA install of daily and gb.highlight seems to install but I have no gb.highlight files in /usr/lib/gambas3/ and ide fails to load because gb.highlight missing Ps. i tried debian and i do not have the problems. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Mon Oct 30 19:26:42 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 30 Oct 2023 19:26:42 +0100 Subject: [Gambas-user] ERROR - Cannot load component 'gb.highlight.c': cannot find library In-Reply-To: References: <293ba7bd-a70a-465c-8f6b-2e89c57e40a1@gambas-basic.org> <50c8fb1e-ad3e-427f-bea1-8e5d67deb5cc@gambas-basic.org> <58920326-ac0c-4ea7-a3b2-b8d87d207549@gambas-basic.org> <0960b86f-606c-420b-aa14-7b27d55bc251@gambas-basic.org> Message-ID: Ive trying with natives qt apps and they work. Le lun. 30 oct. 2023 ? 18:35, Bruce Steers a ?crit : > > > On Mon, 30 Oct 2023 at 17:15, Beno?t Minisini < > benoit.minisini at gambas-basic.org> wrote: > >> Le 30/10/2023 ? 18:04, Beno?t Minisini a ?crit : >> > Le 30/10/2023 ? 18:02, Beno?t Minisini a ?crit : >> >> Le 30/10/2023 ? 17:44, Beno?t Minisini a ?crit : >> >>> Le 30/10/2023 ? 17:20, Fabien Bodard a ?crit : >> >>>> :-/... 21.1 ? >> >>>> >> >>> >> >>> I'm currently upgrading my VM to the Mint 21.2 version. >> >>> >> >> >> >> Done. Still no problem at all when editing a project with the IDE in >> >> its QT5 version. >> >> >> > >> > ...but the GTK+3 version freezes when opening a project. >> > >> >> Quitting the GTK+3 IDE immediately at the welcome dialog closes the >> window but the process does not terminate. >> >> Then if I try to take control of the process with gdb, gdb crashes! >> >> Is Mint reliable? Or is it a Virtual Box problem? >> >> Many strange behaviours... >> >> -- >> Beno?t Minisini. >> > > mint always has been reliable. > I use mint and am getting many strange things as you know. > i just tried PPA install of daily and gb.highlight seems to install but I > have no gb.highlight files in /usr/lib/gambas3/ and ide fails to load > because gb.highlight missing > > Ps. i tried debian and i do not have the problems. > > Respects > BruceS > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From isafiur at gmail.com Tue Oct 31 05:46:51 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Tue, 31 Oct 2023 10:31:51 +0545 Subject: [Gambas-user] Cannot assign value to MovieBox.Path Message-ID: Hi Whatever value I assign to Path variable of MovieBox eg. MovieBox1.Path = "flag.gif" I get error File of directory doesn't exist Previously it worked. Is there any change? Attached project -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gifimage.zip Type: application/zip Size: 31217 bytes Desc: not available URL: From chabotdaniel at orange.fr Tue Oct 31 07:43:36 2023 From: chabotdaniel at orange.fr (Chab) Date: Tue, 31 Oct 2023 07:43:36 +0100 Subject: [Gambas-user] gb.highlight Message-ID: <1b042438-c284-4923-bc79-78ab0f976926@orange.fr> Hello, I? work under Linux Mint 21.2 Cinnamon, noyau 5.15.0-88-generic If I run the IDE with QT 4, QT 5, GTK+3, the IDE editor does not open. Regards Daniel Chabot -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DrO3Or03RowBA0Ku.png Type: image/png Size: 22540 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: LYE0QUQeGSsQSDC5.png Type: image/png Size: 17571 bytes Desc: not available URL: From adamnt42 at gmail.com Tue Oct 31 10:56:35 2023 From: adamnt42 at gmail.com (BB) Date: Tue, 31 Oct 2023 20:26:35 +1030 Subject: [Gambas-user] gb.highlight In-Reply-To: <1b042438-c284-4923-bc79-78ab0f976926@orange.fr> References: <1b042438-c284-4923-bc79-78ab0f976926@orange.fr> Message-ID: reconf-all On 31/10/23 5:13 pm, Chab wrote: > > Hello, > > I? work under Linux Mint 21.2 Cinnamon, noyau 5.15.0-88-generic > > If I run the IDE with QT 4, QT 5, GTK+3, the IDE editor does not open. > > Regards > > Daniel Chabot > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DrO3Or03RowBA0Ku.png Type: image/png Size: 22540 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: LYE0QUQeGSsQSDC5.png Type: image/png Size: 17571 bytes Desc: not available URL: From bsteers4 at gmail.com Tue Oct 31 12:44:54 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 31 Oct 2023 11:44:54 +0000 Subject: [Gambas-user] gb.highlight In-Reply-To: <1b042438-c284-4923-bc79-78ab0f976926@orange.fr> References: <1b042438-c284-4923-bc79-78ab0f976926@orange.fr> Message-ID: On Tue, 31 Oct 2023 at 06:52, Chab wrote: > Hello, > > I work under Linux Mint 21.2 Cinnamon, noyau 5.15.0-88-generic > > If I run the IDE with QT 4, QT 5, GTK+3, the IDE editor does not open. > > Regards > > Daniel Chabot > How is it installed? using apt PPA or compiling via autotools? I found yesterday on mint using apt the gb.highlight component seemed to install but the files did not compile and get put in /usr/lib/gambas3 Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DrO3Or03RowBA0Ku.png Type: image/png Size: 22540 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: LYE0QUQeGSsQSDC5.png Type: image/png Size: 17571 bytes Desc: not available URL: From bsteers4 at gmail.com Tue Oct 31 13:25:44 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 31 Oct 2023 12:25:44 +0000 Subject: [Gambas-user] no longer able to set "gambas" theme in theme settings Message-ID: Since removing "gambas" from the TextHighlighter.List property the theme settings in the IDE are missing "gambas" also i tried setting some sh colors and when loading an sh file the colors are still the default not what i set it to (i have added sh to the extensions that show pretty in the IDE) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Tue Oct 31 13:29:05 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 31 Oct 2023 13:29:05 +0100 Subject: [Gambas-user] no longer able to set "gambas" theme in theme settings In-Reply-To: References: Message-ID: <9557f8f8-462e-43bb-afa5-05bc62d0d733@gambas-basic.org> Le 31/10/2023 ? 13:25, Bruce Steers a ?crit?: > > Since removing "gambas" from the TextHighlighter.List property the theme > settings in the IDE are missing "gambas" > > also i tried setting some sh colors and when loading an sh file the > colors are still the default not what i set it to (i have added sh to > the extensions that show pretty in the IDE) > > > Respects > BruceS > The IDE theme settings has not be redone yet. Regards, -- Beno?t Minisini. From mnaltrogge at it-mna.de Tue Oct 31 14:29:03 2023 From: mnaltrogge at it-mna.de (Michael N. Altrogge) Date: Tue, 31 Oct 2023 14:29:03 +0100 Subject: [Gambas-user] gb.highlight In-Reply-To: References: <1b042438-c284-4923-bc79-78ab0f976926@orange.fr> Message-ID: Am 31.10.23 um 12:44 schrieb Bruce Steers: > > > On Tue, 31 Oct 2023 at 06:52, Chab wrote: > > Hello, > > I? work under Linux Mint 21.2 Cinnamon, noyau 5.15.0-88-generic > > If I run the IDE with QT 4, QT 5, GTK+3, the IDE editor does not open. > > Regards > > Daniel Chabot > > > How is it installed? > using apt PPA or compiling via autotools? > > I found yesterday on mint using apt the gb.highlight component seemed > to install but the files did not compile and get put in /usr/lib/gambas3 > > Respects > BruceS > I have the same problem. Gambas is installed using ppa (zorin os based un ubuntu) and yes there is no? gb.highlight in /usr/lib/gambas3 ... so ... what to do ??? > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DrO3Or03RowBA0Ku.png Type: image/png Size: 22540 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: LYE0QUQeGSsQSDC5.png Type: image/png Size: 17571 bytes Desc: not available URL: From benoit.minisini at gambas-basic.org Tue Oct 31 14:45:48 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 31 Oct 2023 14:45:48 +0100 Subject: [Gambas-user] gb.highlight In-Reply-To: References: <1b042438-c284-4923-bc79-78ab0f976926@orange.fr> Message-ID: <1662bdfb-c519-4ab9-ada4-06d63df1d492@gambas-basic.org> Le 31/10/2023 ? 14:29, Michael N. Altrogge a ?crit?: > I have the same problem. Gambas is installed using ppa (zorin os based > un ubuntu) and yes there is no? gb.highlight in /usr/lib/gambas3 ... so > ... what to do ??? Indeed, the package is there, but there is no component inside! I look at it... -- Beno?t Minisini. From t.lee.davidson at gmail.com Tue Oct 31 14:46:59 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 31 Oct 2023 09:46:59 -0400 Subject: [Gambas-user] Cannot assign value to MovieBox.Path In-Reply-To: References: Message-ID: <3ec18c4b-9259-4b17-b6cf-24b8b3b19411@gmail.com> On 10/31/23 00:46, Safiur Rahman wrote: > Hi > > Whatever value I assign to Path variable of MovieBox > eg. > MovieBox1.Path = "flag.gif" > > I get error > File of directory doesn't exist > > Previously it worked. Is there any change? > > Attached project > > > -- > Regards > Safiur Rahman When I try that, I get this error message in the IDE console, "gb.gui.base: MovieBox.Path is deprecated. Do not use it anymore." Yet, the Wiki documentation does no mention that it is deprecated. Weird. Anyway, try this: MovieBox1.Animation = Animation.Load("images/flag.gif") -- Lee From benoit.minisini at gambas-basic.org Tue Oct 31 14:52:50 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 31 Oct 2023 14:52:50 +0100 Subject: [Gambas-user] gb.highlight In-Reply-To: <1662bdfb-c519-4ab9-ada4-06d63df1d492@gambas-basic.org> References: <1b042438-c284-4923-bc79-78ab0f976926@orange.fr> <1662bdfb-c519-4ab9-ada4-06d63df1d492@gambas-basic.org> Message-ID: Le 31/10/2023 ? 14:45, Beno?t Minisini a ?crit?: > Le 31/10/2023 ? 14:29, Michael N. Altrogge a ?crit?: >> I have the same problem. Gambas is installed using ppa (zorin os based >> un ubuntu) and yes there is no? gb.highlight in /usr/lib/gambas3 ... >> so ... what to do ??? > > Indeed, the package is there, but there is no component inside! I look > at it... > I forgot to add the PPA installation file for 'gb.highlight'. It will be fixed at the next daily build, so in less than 24 hours. Regards, -- Beno?t Minisini. From chabotdaniel at orange.fr Tue Oct 31 15:47:54 2023 From: chabotdaniel at orange.fr (Chab) Date: Tue, 31 Oct 2023 15:47:54 +0100 Subject: [Gambas-user] *** SPAM *** Re: gb.highlight In-Reply-To: References: <1b042438-c284-4923-bc79-78ab0f976926@orange.fr> Message-ID: <94c10714-49ff-4a35-ad00-9a092255138d@orange.fr> With apt, synaptic, mintinstall, aptitude, befor/after remove, purge, manually,... With .... always the same error I installed everything on another PC (linux mint, gambas):ide:ok but return error: 1 ? Le 31/10/2023 ? 12:44, Bruce Steers a ?crit?: > > > On Tue, 31 Oct 2023 at 06:52, Chab wrote: > > Hello, > > I? work under Linux Mint 21.2 Cinnamon, noyau 5.15.0-88-generic > > If I run the IDE with QT 4, QT 5, GTK+3, the IDE editor does not open. > > Regards > > Daniel Chabot > > > How is it installed? > using apt PPA or compiling via autotools? > > I found yesterday on mint using apt the gb.highlight component seemed > to install but the files did not compile and get put in /usr/lib/gambas3 > > Respects > BruceS > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DrO3Or03RowBA0Ku.png Type: image/png Size: 22540 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: LYE0QUQeGSsQSDC5.png Type: image/png Size: 17571 bytes Desc: not available URL: From bsteers4 at gmail.com Tue Oct 31 16:06:14 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 31 Oct 2023 15:06:14 +0000 Subject: [Gambas-user] *** SPAM *** Re: gb.highlight In-Reply-To: <94c10714-49ff-4a35-ad00-9a092255138d@orange.fr> References: <1b042438-c284-4923-bc79-78ab0f976926@orange.fr> <94c10714-49ff-4a35-ad00-9a092255138d@orange.fr> Message-ID: okay I assume gambas-daily launchpad PPA is added to apt repositories. If yes then the bug has been fixed but the "daily" repository will not update until tomorrow. I have attached the files that are created in /usr/lib/gambas3/ /usr/lib/gambas3/gb.highlight.component /usr/lib/gambas3/gb.highlight.gambas maybe if you copy the files to your /usr/lib/gambas3/ folder gambas will work for today. if not then it should be fixed by tommorow BruceS On Tue, 31 Oct 2023 at 14:48, Chab wrote: > With apt, synaptic, mintinstall, aptitude, befor/after remove, purge, > manually,... > > With .... always the same error > > I installed everything on another PC (linux mint, gambas):ide:ok but > return error: 1 > > ? > Le 31/10/2023 ? 12:44, Bruce Steers a ?crit : > > > > On Tue, 31 Oct 2023 at 06:52, Chab wrote: > >> Hello, >> >> I work under Linux Mint 21.2 Cinnamon, noyau 5.15.0-88-generic >> >> If I run the IDE with QT 4, QT 5, GTK+3, the IDE editor does not open. >> >> Regards >> >> Daniel Chabot >> > > How is it installed? > using apt PPA or compiling via autotools? > > I found yesterday on mint using apt the gb.highlight component seemed to > install but the files did not compile and get put in /usr/lib/gambas3 > > Respects > BruceS > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: DrO3Or03RowBA0Ku.png Type: image/png Size: 22540 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: LYE0QUQeGSsQSDC5.png Type: image/png Size: 17571 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gambas3-gb-highlight-lib.tar.gz Type: application/gzip Size: 27699 bytes Desc: not available URL: From bsteers4 at gmail.com Tue Oct 31 16:19:44 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 31 Oct 2023 15:19:44 +0000 Subject: [Gambas-user] *** SPAM *** Re: gb.highlight In-Reply-To: References: <1b042438-c284-4923-bc79-78ab0f976926@orange.fr> <94c10714-49ff-4a35-ad00-9a092255138d@orange.fr> Message-ID: On Tue, 31 Oct 2023 at 15:06, Bruce Steers wrote: > okay I assume gambas-daily launchpad PPA is added to apt repositories. > If yes then the bug has been fixed but the "daily" repository will not > update until tomorrow. > > I have attached the files that are created in /usr/lib/gambas3/ > /usr/lib/gambas3/gb.highlight.component > /usr/lib/gambas3/gb.highlight.gambas > > maybe if you copy the files to your /usr/lib/gambas3/ folder gambas will > work for today. > if not then it should be fixed by tommorow > i just tested this on Linux Mint 21.2 installed daily via apt PPA typed gambas3 unable to load, missing component gb.highlight copied the 2 files in the archive to /usr/lib/gambas3/ typed gambas3 gambas ide loaded okay :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Tue Oct 31 17:24:27 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 31 Oct 2023 17:24:27 +0100 Subject: [Gambas-user] *** SPAM *** Re: gb.highlight In-Reply-To: References: <1b042438-c284-4923-bc79-78ab0f976926@orange.fr> <94c10714-49ff-4a35-ad00-9a092255138d@orange.fr> Message-ID: <5e6d4299-fdd6-4fb2-8f0c-1eefad1633c3@gambas-basic.org> Le 31/10/2023 ? 16:06, Bruce Steers a ?crit?: > okay I assume gambas-daily launchpad PPA is added to apt repositories. > If yes then the bug has been fixed but the "daily" repository will not > update until tomorrow. > > I have attached the files that are created in /usr/lib/gambas3/ > /usr/lib/gambas3/gb.highlight.component > /usr/lib/gambas3/gb.highlight.gambas > > maybe if you copy the files to your /usr/lib/gambas3/ folder gambas will > work for today. > if not then it should be fixed by tommorow > > BruceS > Please don't post '*.tag.gz' files. They are rejected by every google e-mails. When Google dies, we will be able to use archive files again. :-) -- Beno?t Minisini. From chabotdaniel at orange.fr Tue Oct 31 19:27:03 2023 From: chabotdaniel at orange.fr (Chab) Date: Tue, 31 Oct 2023 19:27:03 +0100 Subject: [Gambas-user] gb.highlight In-Reply-To: References: <1b042438-c284-4923-bc79-78ab0f976926@orange.fr> <94c10714-49ff-4a35-ad00-9a092255138d@orange.fr> Message-ID: <55dbd9ba-4f57-434d-9d53-23826ac4c5c5@orange.fr> Tested: OK? ? Now i'm happy ? Thank's