From t.lee.davidson at gmail.com Fri Dec 1 02:14:19 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 30 Nov 2023 20:14:19 -0500 Subject: [Gambas-user] qt does not compile on debian 10 (Astra linux) In-Reply-To: References: Message-ID: On 11/30/23 17:13, Bruce Steers wrote: > Aah, I searched the web for info as I didn't think to check other commands for versions I just st couldn't find the Debian > version through usual ways so I googled it ? > > I guess this could be the problem? Perhaps. Unfortunately, it appears the Debian 9 (Stretch) repo is EOL since last year. -- Lee From gambas.fr at gmail.com Fri Dec 1 08:36:21 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 1 Dec 2023 08:36:21 +0100 Subject: [Gambas-user] gb JIT Message-ID: Hi, Is it me or the JIT compilation is recently damned slower than before ? Regards, -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Fri Dec 1 10:57:55 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Fri, 1 Dec 2023 10:57:55 +0100 Subject: [Gambas-user] gb JIT In-Reply-To: References: Message-ID: <8d39af06-9d9a-44f4-87e0-b96f95de55af@gambas-basic.org> Le 01/12/2023 ? 08:36, Fabien Bodard a ?crit?: > Hi, > > Is it me or the JIT compilation is recently damned slower than before ? > > Regards, > > -- > Fabien Bodard > > The "speed" of the JIT compiler is the speed of gcc (or clang if you use clang). If you want the actual timings, just set GB_JIT_DEBUG=1 and run your program in a terminal. On my computer, clang seems to be twice faster than gcc when compiling JIT translation. Regards, -- Beno?t Minisini. From gambas.fr at gmail.com Fri Dec 1 11:59:55 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 1 Dec 2023 11:59:55 +0100 Subject: [Gambas-user] Gambas swap Message-ID: this is a tiny demo of what i want to achieve. https://youtu.be/ofZVkgQRo50 -- Fabien Bodard -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Fri Dec 1 12:11:02 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Fri, 1 Dec 2023 12:11:02 +0100 Subject: [Gambas-user] Gambas swap In-Reply-To: References: Message-ID: <4e1b1025-ae8e-4c55-bedd-085683f4ac17@gambas-basic.org> Le 01/12/2023 ? 11:59, Fabien Bodard a ?crit?: > this is a tiny demo of what i want to achieve. > > https://youtu.be/ofZVkgQRo50 > > -- > Fabien Bodard > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Which shortcut do you use finally? -- Beno?t Minisini. From gambas.fr at gmail.com Fri Dec 1 12:18:31 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Fri, 1 Dec 2023 12:18:31 +0100 Subject: [Gambas-user] Gambas swap In-Reply-To: <4e1b1025-ae8e-4c55-bedd-085683f4ac17@gambas-basic.org> References: <4e1b1025-ae8e-4c55-bedd-085683f4ac17@gambas-basic.org> Message-ID: Not the one you want :-) Ctrl + tab is the most practical unfortunally I catch it with an observer on the Window containing the WorkSpace. And sadly stop the event :-P Only if the AllowStackSwap property is true Le ven. 1 d?c. 2023 ? 12:12, Beno?t Minisini < benoit.minisini at gambas-basic.org> a ?crit : > Le 01/12/2023 ? 11:59, Fabien Bodard a ?crit : > > this is a tiny demo of what i want to achieve. > > > > https://youtu.be/ofZVkgQRo50 > > > > -- > > Fabien Bodard > > > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > Which shortcut do you use finally? > > -- > 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 Tue Dec 5 12:10:43 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Tue, 5 Dec 2023 12:10:43 +0100 Subject: [Gambas-user] Swapper Message-ID: This is a screenshot of the fast tab swapper for mdi -- Fabien Bodard -------------- next part -------------- A non-text attachment was scrubbed... Name: Capture d??cran du 2023-12-05 12-10-22.png Type: image/png Size: 311390 bytes Desc: not available URL: From james at lixce.com Tue Dec 5 07:03:27 2023 From: james at lixce.com (james at lixce.com) Date: Tue, 05 Dec 2023 06:03:27 GMT Subject: [Gambas-user] Gambas on Alpine Message-ID: Hello All, Has anyone actually gotten Gambas3 to run on Alpine Linux? It installed without error using the information on the Wiki but I get a segfualt when trying to start any Gambas3 program. /usr/bin/gambas3.gambas is 6.1MB I'm not enamored with Alpine, just looking for a very light distribution to run my Gambas based Desktop on. Thanks, -j From mbelmonte at belmotek.net Wed Dec 6 00:55:52 2023 From: mbelmonte at belmotek.net (=?UTF-8?Q?Mart=C3=ADn?=) Date: Wed, 6 Dec 2023 00:55:52 +0100 Subject: [Gambas-user] Gambas on Alpine In-Reply-To: <20231205224103.458BF2033B30@h08.hostsharing.net> References: <20231205224103.458BF2033B30@h08.hostsharing.net> Message-ID: <091c3260-db78-4843-bb98-38a587ef0d37@belmotek.net> El 5/12/23 a las 07:03, james at lixce.com escribi?: > Has anyone actually gotten Gambas3 to run on Alpine Linux? Sorry, I didn't try that distro, couldn't help you. Martin From bsteers4 at gmail.com Wed Dec 6 01:41:59 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 6 Dec 2023 00:41:59 +0000 Subject: [Gambas-user] Gambas on Alpine In-Reply-To: <20231205224103.474F72033B32@h08.hostsharing.net> References: <20231205224103.474F72033B32@h08.hostsharing.net> Message-ID: what desktop are you using? BruceS On Tue, 5 Dec 2023 at 22:41, wrote: > Hello All, > > Has anyone actually gotten Gambas3 to run on Alpine Linux? > > It installed without error using the information on the Wiki but I get a > segfualt when trying to start any Gambas3 program. > > /usr/bin/gambas3.gambas is 6.1MB > > I'm not enamored with Alpine, just looking for a very light distribution > to run my Gambas based Desktop on. > > Thanks, > -j > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Wed Dec 6 04:09:37 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 5 Dec 2023 22:09:37 -0500 Subject: [Gambas-user] Gambas on Alpine In-Reply-To: <20231205224103.474F72033B32@h08.hostsharing.net> References: <20231205224103.474F72033B32@h08.hostsharing.net> Message-ID: <14f0e4fb-86b4-459a-8570-c72c96b4e583@gmail.com> On 12/5/23 01:03, james at lixce.com wrote: > Hello All, > > Has anyone actually gotten Gambas3 to run on Alpine Linux? > > It installed without error using the information on the Wiki but I get a segfualt when trying to start any Gambas3 program. > > /usr/bin/gambas3.gambas is 6.1MB > > I'm not enamored with Alpine, just looking for a very light distribution to run my Gambas based Desktop on. > > Thanks, > -j I can see why you may not like it. I installed it in a VM just to see if I could produce the same or different results as you. Thinking it would be a good idea to compile as a normal user, I tried to add one with `useradd`. Nope, no such utility; the system uses Busybox, uggh. That's as far as I got. Have you considered or tried more popular lightweight distros such as antiX or Puppy linux? Puppy wouldn't install properly. But, at least these two use the standard GNU core utils and don't Busy-box you in (heh, see what I did there). -- Lee From bsteers4 at gmail.com Wed Dec 6 04:36:43 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 6 Dec 2023 03:36:43 +0000 Subject: [Gambas-user] Gambas on Alpine In-Reply-To: <14f0e4fb-86b4-459a-8570-c72c96b4e583@gmail.com> References: <20231205224103.474F72033B32@h08.hostsharing.net> <14f0e4fb-86b4-459a-8570-c72c96b4e583@gmail.com> Message-ID: On Wed, 6 Dec 2023 at 03:10, T Lee Davidson wrote: > On 12/5/23 01:03, james at lixce.com wrote: > > Hello All, > > > > Has anyone actually gotten Gambas3 to run on Alpine Linux? > > > > It installed without error using the information on the Wiki but I get a > segfualt when trying to start any Gambas3 program. > > > > /usr/bin/gambas3.gambas is 6.1MB > > > > I'm not enamored with Alpine, just looking for a very light distribution > to run my Gambas based Desktop on. > > > > Thanks, > > -j > > I can see why you may not like it. I installed it in a VM just to see if I > could produce the same or different results as you. > Thinking it would be a good idea to compile as a normal user, I tried to > add one with `useradd`. Nope, no such utility; the > system uses Busybox, uggh. That's as far as I got. > > Have you considered or tried more popular lightweight distros such as > antiX or Puppy linux? > > Puppy wouldn't install properly. But, at least these two use the standard > GNU core utils and don't Busy-box you in (heh, see > what I did there). > I have also been trying. try setup-user I found this page quite helpful... https://linuxiac.com/how-to-install-alpine-linux/#_Start_the_Alpine_Linux_Installation I had problems with latest alpine 3.18.5 with MATE, segfault trying to run gambas3 ./configure put out a lot of warnings when compiling looks like qt5 webkit dissapeared with V3.15 so i am trying V3.14 that has webkit Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Dec 6 13:19:10 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 6 Dec 2023 12:19:10 +0000 Subject: [Gambas-user] TextEditor ShowPreview problem Message-ID: Attached is a simple test/demo of a problem i found. The project has 2 TextEditor controls TextEditor1 loads ~/.bash_history on start just as a test file. There are 2 buttons, button 1 does this... TextEditor2.Text = TextEditor1.Text Button2 does this... TextEditor2.Text = "" TextEditor2.Insert(TextEditor1.Text) TextEditor2.Goto(0, 0) Press button1 to make TextEditor2.Text = TextEditor1.Text and the preview bar in texteditor2 just shows blank. (sometimes shows line[0]) press button2 and the preview shows okay , and also if you then press button1 the preview remains to be okay. I tried TextEditor2.Reset and various other methods. Only thing i found to work is using Insert() instead. problem exists with gtk and qt Is it a bug or am i doing something wrong? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- H4sIAAAAAAAAA+xXd1DT27YOLXSpYmghFA9HhZBAIIBA6MJRFAtyBCQgICAlVOklgoC0iAoCokHl SPHQRASlhCLGgkSRIoIECVKkhgCBBJIbztzjvHnvzTv3j6vnvXl+M3vWb3577dlr9re/tdZGu7tD ftbeowX4hoBxgEQity0cqQv7j/ZPAOAIXR0ETE8bDtcGwOBwOAwOgOh+y6D+RHhomHsIBAI4gwkM D/0f/P5q/v8o0P/kH+rpG+LlEYYJifr37/GX/CPgf/IP19Xm/IfrwGF6AAjs3x/Kf8X/c/6dLb1C /cIwQRCrwLCQqNNCth6YQGOoFtSXY6FBgd5Cf3eAP/BN8VX/7h5hvpjAb1IH/rX8D+fkAV2YLozj B9dG6Gj/yP/fA1/593cP9P5GXcC/xv92HUBy6j9im38YUucH/98DX/n38fX09Pob9a+D1EXAdBA6 utp/6F/7h/6/C77yv30MYeFB32KPv+Kfw/3X/h+G2O7/tPXgsB/93/eANSYkAC4kpPrPeyAEE4JB YVBtfSEh7zNQ3wB3b6/tD+9w321zluO8bcPDfP23bZBHyB/TPr7ePv6cEfanE9TL05fzlhD60T3+ b8dX/QeFn/H39fgb+78/9M+p+/A/8j/iR/7/LvjK/58Pvm+wxzbBenqI/55/OEIbBtf9T+9/bU4h +JH/vwcu2R8+ICokt52oRW1tLI8BAFyA7SEA5BiXkLKzHMMbam57QoCDWAHPNAAAArC1NDsRWTTX 4tddORgMXut2WmT1SGiN26nsuaJilf6E7PKxCBSseOr8Gd6s2b6Lb9p8b6qgMot9sPcEuR+aZhb/ 3CtjlXGH4Fxsg+W2TYdAv9wxdVL1gaimvNMvDzB4tPPUg91HZfYck37RWUeuP8vwmCw4xbQ5GbCx P1WC5KoX3rPR2kKeddIhGdG6NeA6RcSoIuK8wQe/OK6pYPAU9UNWHZc+jtaYRRwCcOZGnlH8AT0U o0BKsB6A49BA1ZdPpOnjhiOLRNs4KwOMeoBjRj0UPbA3TxB4Klge932XPxocL0GxKPjYcU16C7Ua LBe/Pj7+8p14Wx9EJT+0TURcAtDqjX0IzG/vrlGEAuo2Fdx8KrnE82W7pQFvnFIL7tBFK9IHeHsN 17YEsABA92bR2fQBuckT/sMpBupOUt0zKEylmSWksj2sAzB9YmU02Aj8Nib1S6YfEND+aCNKs8rZ skZxB8iDv3ucIZLIPlzSVc9czZcTATps9DvSZ/F6z1Fb43VoZgF+o4DNFG5Y8bpJnI1+XjkKmiDG z/GPMqqISsw5CiaGEUT/SB+ralq0vgrkgXBnwt82LAi3iVTagnjdKs74yTtJlYW4d2U9BOp09sm+ cn4TndSWJbSrpoI72MjhYlpxVwRWWyFRfnfa0wvhNSXn3sBAiRvURJirVGU4Uk8FwAvkGddJlK+H qz8aPdKDcnhruRmpkshV7UpIcaxuueDoGi9I2lq4Ts267vo0eJD9ZSphRphN1WKNay00TGZxQo4a CeFZcmRt4deVTJZu47aaIj6GI6E7FB2hVaav33Rk5HnzAiyk0Aow08LiBmCSVryDxaLoWf1TlysW TsUszmBFTa8eJy1mXAeahlJvyJboCozYFMU6iqpoXk7CE32OcuesU31hCNELFbcv5vjZwfpFXch6 032wXyZT3Ho26flSzFZKgRZ7R/xsHSHlOvoxqw7PfEklrw/ht4ZmG5b6OREGbUdIZu1iv8CQI9hx uDjKY++g+c8Ytx7F1rC44NVKjzme1AxhcXtcrcXrN85ijRozUZoyT9JSBSuEdL1WaiIXZpAjchpG Whai4Go+c5jOQ9eV5yCe1PnL4jftyW7xWSqweoRaoqmd+xfrizC0R7vUnu4Zn9KGPLzjauh9uSrX Fh7Hqlau1H2YtjhMNGg4Fzn22BvfVc0iENKuo6M+J0RPv2DPqycwSu22daaY7dzDZXOVaMKWJ2Rm VFo8BRy3oTU6Oj0duFFs+9pPIhwWkJfSNgZfL5KCtY1lyN0Rt5wTTTrVFmMGEmDHRp0WEy0EhS1c nryMtn/WLgdbFWiXVEkmIrmeKny4YXdAtcUCt39x0EIQIH6wWuzQyo6VHaDOvEmzpB7sgGGVErp9 1RGNLRwfIm8pjoSSkyLXKxfbmkbpyrGT19kv8MwvU+zVBK6xUsxn5n7c4GDj51OJ1Si2ArRqBDsf lPhGp5BLHDFzeSCp5D5bhBtrEcca4shlJ6z9RJeCTvwieSYuqfhzrZXcPSeFd5iPl5CW+QCfTVsA nIdFY6oYo96V7Jcte6TQSZrn/TSZZvpJoH0THGYYuFTzm0VplzE3DHXET1GcFzn+rOxgpzDJJIm0 xUB1bdEJsouRU8zg4OmEeRLbGbW8ONIxGAGurgt+Jdr2PsKlJZpv1y7HDh3Gcp4bIYZ20WDqKYjn eH+CfE1TfcpAzOaI8dzLMp7npN6kgzQKfVTVRTyzRR/hYKf10Sm1UF4atEn6NVPSHq9woTpWjM9m Ce7xJobf1tSV3TczuE/zxUHCG5hLzvoYXFytjHdRWeV9dUsyeWOueuxTQ/NOHGF+vnFqAbmJwzPe Km1ib2x+6KGEG7ry8ATxOh3wc5YM6OVVAePv+0JHDNQnQb8OrWXmTlnOykfP+lTexjjXMFttSg8/ HI3DVkSPaGpKmEtGniy3vsdrVZQ/O5zHPunQPSYBuQAnvoAbZdZubhXpVDs4vSIjcxCg7PiR9ekO rfxTIMt9CmosJd7GteWMyMkMQrb6rWh1cNREZeTEpxg2LoF2AEVdcKbLkCir2oEt4mm1dcqh84Ib PB3ysWaBw3kzD5e/iIZmL9WYgZ91LCfw7xMrOV8MeeLVOmrb6uQPO3hXNawr52ax2RfB1/uSIONg ReGCvYnyEGrodFG+BzBnepBP0EPmWWfdRdoKY+OtKUwgIBkxtlFtkuRN2Ixq3rq52HVjdGUst8Eo bBG1/lTdhLX0OjZ8isqQbxgBrAwApPBzQBhrp0TmJ1dd49jIwza1G4cGo3Yo5odOjKtew/RyV+gc QNc8qV8grtztgn/kOY7g1T8H8ljvKCoUH0EtWhev5qGOr/YpJ1rKNy+US+nINHgLmXuIA4+UREX2 mrPF09reZTxfKqGnDCDTuEQvkLfGp5bGhdFd7xZZkIUYirFY6xSVn81SN6GymgKX9xnhBt82fga2 dR+PGx64LfRwwdcAoH5BQacrretm+eNJ8Vv4YbpEuQ7aLZlUvpQRek6Fy3uRD/xTpsFVKX+VW4+k ftpNkD3abZBkUWwoYQa2BnaIGybDjD7Vl//kWRHUciSEy12YEj0bdaIwxLyUIZzxuyBv5CSNgI2K 5TtCYFo0zlZxlLigTmZFmDDe4sCBPcMcDQ43rgJNRYYfGRxUohqa5/JDdu3dwHqu8QnPialKaLQA ZSPuWieO39beC1VOgTQjd7e22ve7CI0Uai0PyBdek37fHaQCrlDASkUJb+RbKhsZ+fYuyyU+Qe8V dQferF2iPLavt9nnLlAF8exwjtCmChM27jeGTEfSma38ES4umy9wzYs57MNlloY42roeJe/IlZRJ 10bbjmjA48SwF7VXZUojrCR9dqRyqWUCzx213ddT7Ha+mKdeRNdQwupy0qYLdEK+B/+FkPjZzlxf +hCKEu17bOlmWsmL5TiUydFXJtYg4y+F+6zaDAUAyskhSWH6Ckb1P5smjXPCeNXIXIhZyo5oUYo4 3bJejqJTUCtKp9eaOEdC5nBkqtKj6JFHvPVbaYR5pdFnQenSUpyRYaKI6CaTVTexY8ynIydp9+1n jfGHca8c6i+bCyQ9qDJ1ghpKoJMPA/Ma0HViJ6R/meYCEaSMbdoKZTI+oqSSVZKNlBgDlCFLvfb0 Of/KjfCVW9rTcNcuTNwa/pOdmElmg/HqjpHQwX72Mon1Xomtg6QH3CJGMLcZig1peCQ9pKGGlghL jCGvny6hJabn/GbVenrd2NYiZyh5qdflqUuz4JbqiGN/n0A33G2pq8rM5omiU85FL73bGOPqfHLO STXlLAuxLW4/UYCjqKTm73vseY/qh0OL2sv9mw5sJRVczY7e2hlLDcW3W+BMsER87P7Rzba4hKnj CYyrSoQJx0hw9V1OTkzUsqa7JD/v4X+4NGlc5Ce9ZNlfNEupl0m6dk/LwwtyPMHlTaB/kRemxcIp dJrM6xyxG3G7viDq5eF9O8sMtwqVL0me3dQQznroFid81/yT+IEUpLs+b9sAcmXSyOKeapTrPrV2 8tVF+9A7wT2yD3y0rpyrpORiYkVJxrQoo61s+vhrMeP34NixKjaNP34sBt+8gVkzapUnVqqnd7u5 tR+S8JJxvXrQ+sEOQq551XX75yg19XTDXfMae9rGJHwQh3QvGiMkgcLYIzslj7pY4rROjIMe5Kcl KxxPuycHvOf4xD5qhyvaQZIR97g4TcDMKTQFJWJ20vZCWrtgD/ynNQNzRWniDp530UQaidPZoOgi t+KJ/EHkLfrH1Vvq4HV+1IoFmdlmF3t/inra0FVK2f7luRcVOqPABBlfo/51rTOzlwVooXYqWuCr aNW7pnfbPCzEXxrbkTRr869A+nLnMvLBeXuewoEAz0hIzuFDryVCLxwyg/qaDGw2nS9Ov6Tw4uE1 xilP7hJbWUPJ7JZcybe0LKvsQvOpJaaDVerYK/S6qEvC6u5m5pbSsxZO2zdQCm5le7P78AxVTHNu NcOI9Vmp2rbiud+C6q3BAvvozE+SH37DPnPpC5b7XH9Igrtd2B578DX7UVdtZ2fdGdhObPQVP1RW teI5nMEDpxq6poXwXu4Yssu55rTMtdoDMqorokFiPXfA1cKSpqBnNnp81AqzLoVOg1RTuJ53iYC3 TeFdj2P0M2oILFSFWwq7AvRtwySsOQJuRpKYJplNi09olCPNGyz0+gQ9jnQXSfvIue2DkaLmgHQv DffFvt7hak8XXJdFuebxCFbBfHJ96Uvc/EPxlGKrcMWstJj4g/mEZzOXTDrqmBvCZ6/WXBuINUuJ vky3vEhOhxYiftYYzuDKreqDA2ikmfxsPYB0+yeH5LTZYC6pZYYLSPrpPdmnvJqWh+MDx4QJVFIQ sf/+uqPJ2lYje5R/dHWUbkQdIixJoZbxW36ozQNkWrtY/FJrnevYGrihWfk5mvkqoR0cM1eZT3Rc 6s1Ad45E1Kgr7fowgMQlCM5PWXZRuNgxB99DK73eiieqrTyq/KA41xTj/UCkf4q06x1I9QFX7p27 wdNvmz32K6RvCoe9jYmQNt/tFiRwX1IC0nsJZ3WyI3yr/10inXT57Ouf32vwTJbd9cbwnIVfKRPp fDk7Aq0an6EniBjuJLEWdCInXxGSrqOjJbQIm9qM8++J8ZtZ7uelESuvb+Sc2DuwGNHUaFN77N5x rEhBZqwVyDrn1mLnjdo0q9pcgIRQuRPK39xTly7bIrt1eq31Nj0lDv8JYq0gdlttNUJ7zXjqIjtm Yv9P2AkaX34oKcZXxb4tqzokm8+Oj67ZrHeyqMoSSixKGQBISL5/HjVUYhZwZq7TadZPUtC+efkl laHVuv6ynkAnsBbxLIOm/gyJajMLcUy4w54HA06RJnQ3q+I9Gr8uqb0u4wM88L1XoByT+vsvzfLH zvby5j+3moDvT9yNHStTPRYkYeiPRWhQmD60rvMeR+eJtFcn1JFHnVLy5rvOXlurGhLDVhxxG2VX pPeV+zy7Jdi8a8r8ZAA2DcK40khF0BIyxj7c16IMxs9MUXvocbw4Y5Y0OH6iEhRKpDKyKVSGWcA/ AFeAqH++97gPbEG8ui6jdBO2Zl9Q5+Fn2EZt2zZvd9YrRFM+I5GQMBOdSIZ0REZjHLMrk4ZsuvcN Y4ysmvTnWSFTCaWo+8iLSw0ItSIGL+9eQU9WnkZTFoZkVenp51u7Ren0Nm/s82JQsInEqRQ9WtqF gXGrYnkfc0wcr7/6fS98/fn/4Cd+/Af/poj8eWNsfIvGrTcAFtY26uohgJikdW29pVIPQDD9pZ3X ZPJbPmC1kc1DTQ3SI103Z/IC1P9v24YxB5rVMeM0p+FA9BsAkFkCLrrJmoFYgA2lEKQRGmP3rACi 8EmZxvO5okZCL7oAW1xlaxhznlQ37pPXEh2MmcFQKgyjo3Hf/FrNj5/MxjRMHPGZX/p5PPDmt+CB hx/D1TvuwhuuXsXUu52EnTO1EnP6M3YptHhPBCAnNnhlaQTKMKsZDoft5H3xO47yBGIkV/37q6ee U9GjbZp3W3ZDP/bhzWL9QhylBWrYtp5pUhpWiDkyaA1t0W+wNRykJQ/UozGMCLKBLK+dn2UjWn9W Iw1la8hs1hwj07MS3zHTRCRexboFCWzYjzvmnXfgcOUKLi6u/tt/+k9+798D8L/8vhbSJY1bbgBM keIagWCoNwGxLOZBwt5kyptUY1ABDKH0UywiGouwwRHFnAptBtEgBWPyZYztlge0AWZARy06BOIY YUSyUUgsfjX138E9Dc/LUMYmMtxQq3oFSoVFXQIsEJgIesDRZtF5WAxdmocI+w4B0LpPwjF2n4BQ NGuRRVFAZiKCfI4QmFhM2ImvfvVL+OpXvxwE5MSVK3d4IiJQRZeWi6S17gY5mqdURSYXfPVSFKY0 IdnVmQbLH7mTp/TGfg8dYwxs2wZWSnoGyL3j4eIQnZ4MYw5cubjiC2rOEEFFf8VehVZFynoooepa CWo4NAw7If2Nnn5OTQRDYOFIoycCAIDeJHkfhghj7hG2GhpaaFemF53FPGsSLeMlEEq7wG7AHXfe hbc8+PBP4vVuAIDwKBoMvirAPnwpiImCmIUgK1DvAJ6yWar8uAhFkIw5TKDLkt+6T7ji9QSA5nnZ lZgxLWF8Q3hCizLgWGENzjcwTGnwNGHvzb1cxJUaKc5pGv0DI32nBhMDVGCb6wuG7VlOPG2kZ/Mw yY2eTg36VjBtYmAG0hjhpaubcaYK4SiG6dMZz+il49cBoYJxuoeOZ0NCNt8cUUl4QbZZZ4qTRpoV kzOLsioUMvi5xtjRtw37cc+F7gkScirAtWv+vCUW5tyPJ41hqBDlv9dirFRxWoUvElklpqGlSWZ6 1mMk9yKFTHPfBi5kErpLJSh5kNYEeyC0Ch8R4a4jNfIlr+o1XDseAWy4uHLx/X/IxfUHHrceAYRX xZwOqdAwdkpvEd1yB9gzoAUM7N49038+2f8PMKP8F24YZkFV1erUQwsvNBLhacL9wWzCptEW+ecD xiFNTouJPQOuR/9CYYtvP84clRGAAUMVh7755ZsBxnhQYlIO6ECGGGaAQgH1PQ0O2yFia4HpdG5i ExgcbgKrtiK8lFDL6IZ1Pw6QPFUo9n3HdtjiHdBIIRGEIx5gHkeqKXVaekTVCpP2MYvENT5X2vbQ LxgzIbwH5POfIxCbGlq3JDMZehwOBzTp1S8iFtOctbDMBHNUaleFZKS/u6nsH2EwiZ9Pv1/yPCSA BcBU801gGM87pEtUx+7PgDsZz1D1mLfixCVCnCVuwHqkhcccaPDUrioAE1w/HqHS7701q7DGLTcA e7D+qgMmHt9NWtbgb2YUvwARX3XJNF5rDVAAsGjySSLHX4r0jgZ/yBCQbU6ix78Zg5Qv43EBTBZR EgyKaDJiHnZk9V+w4MMmukT6EeITHAadBjEniAT04JZhjd+L1waoARZGb06FdJ/MPXL9x92hbINh H94jYcQzU/VswYyuyK2z4YhmhkMkmpvA0LTYbN3ZemwpxUa0Oo/FCvg+BsA8KYGe4eF6bzCRfIdN nMNww+MvdIwSMIm6rmLoBGZ0YBJ3Bqq+SHrfMPY9jBMi1StJ/M450awlati2LYhXD0M29DTw0hok 0BCJ3LmQm+RcNGoujmPHBss6DA4WqQFF8p60mI95JYGI9n1PTmVP7gi46C7dHrungE1aPB/F9evH P+zy+gOPW08CBgHIij5T3+2H7Oq0iSYdLeAaLFjbJkG0mnfkvQGie/4fbqV7K35Ardp/c/FZIIr4 DGEx8+t+vCXboAaVCbEo4Mnegk5g5kRd2ps1YGGWzc1JNEH1yQgMnRGuBOEkcG913RfrGDG5Qgw1 hoaRlEgdLrqBuK82e6RF9yTXeGyBYN+P2efAuyo7QqAGww2IpbQ5R8a6bVFtaqIsKiNpiPZRvAGr HZl5YS3Icd+jt2PPZ7PvA/HxjMfLgMT7SnhNTckegisBTLxRjEVdSYRhWbdB4nkGmTm9PTuzLKqG 4/U907YtEGTvWxpHxvQ99m9gmDT2PetO1BBkZwnbzAy4vqO3jn0fYbD9HvZ9YL8dDIBZEH9kjzmF W3PVW7D46RFYDCQITUDl2f179KgAYNjHjh5qPFMLS1wNOvxroSycM1lZtYh/TVLj39BSg1BooXYc IlGoQQbupujbATom0JALLJp7YcaC9nZffn0zwhkz9Xxyb7h+/RhZDoWgoW0Ncx9AdBVyMdQM9jlI O0HIpEemKGVy0scGJcGPOHdRXICIL+Q5J9pkuhVoiuW5FeHHnowzUrpqhq1vFVMHfHdjXVkcPrfj PrJpqqpiC0SnJOn2kWrOsY80NgzrWjRCgSE4HcHmLxwAIpxgmBQzw8oA+4j03xw4HC4gIjjuvtGS RniaOhEAMqq9nMVz3+cOGHCABOHoxtBDNn8P7CpNHkCnoXf1PSJbQxtOar766o7r+63f7e01IAE9 D8a4iXvhMZZWGCy2ySJXJpGaim/DYnHT84zdmeQRD3lO9bhVJPv5USUoAdcdeltwaS0n+AxPKDxP xKOEkK7LZ/mww19DeCIzNDUMnejt4EYmjMaMrb5MxOPQyFqMuD6biqEKmc4ZkLCDONM/54REzNi3 nux437jwY5JB0Oa69VkYif16pvgOhzKIFsjEjaABYxSpmkpJVjJmlhNTkYbAU19rz0RLI8BNUMwM LcKV47geZGkP+B2oKHQBYw604BWoEmXzFQDo2kE9x4y5MhYFpmcuBtSknjtILFM7QaMOKPZ8XgIa lRBqhQEjQVw/q/Zvk/EqAAzDGNcjjVkpfUc/nq3pVmGVtIbjccfQiX3e+k2eXoM04PSYO/L5xMNr BZ/Xx/gk5C45prUTkHTBnDs6IpY0SyUgswE0Ij0YZL44P1eQiNE0BEn0KMzJ8rDakaIML5puRykG MUAVc+wAJHYWHhAz2BwO/6fCEMU/6iHDnDOJTJ2GaREGEAU0wdBZLc/U0Bjfbj32TIj9CuZM4c7K slM44ylM83i51QYqRFcz0mT72JPNds5gppKSRVStlay6CSsh/fkDJYgSCGx6G/VuPVN+ehw4HA7Z Un0yvFJLNeXWBWOP1F7kz/OeIkuh8b4pzul9g+47aOwQz1fDSJEQJfNOlem6/2MaOXgmh7wCIpQY Y6C1IKVn8Sv+zia2w4W/U4RmobdCEUzEmHM4h805B5GGJsD16zvGnBjH2wABzPCyXbiokBJdxuNm 4iwpLEil4fASTsrNOTy9Z/4y+0L0+ZtGMeHiMloAOWEVlvlihiH7oCS5B/EHSMhxI8TmFWbBj7/8 PVJNvpjIN6i5ZzBokJVMhblBGtmRKEKDBmwycecdHReHDYetJbwOch0rU2rpjSWPXQq2+tn6rZOR s5Kw9srJMWggbzw3ITBDIj7X+m7FzXF0AFdPz4s8aP4sr9gAyNXFKNc56JXX+0uV3w3XCCyZnuUc 9TP+wlJNyEVa183zngQOiZ7yY8Z71+U7i6o1b9XndoKPeIyqVxIR/o2/9Gf+sRnQgP36fvzMOL76 /7z01a/9zf/m7/6TF258hZcxbnktwF/8yR+zx9/6CLoojtdeRjbcSJJOTyZ3btIZ710jf0TrX1Jh f9gUhsC8Io9QueadJUEEqe231t2BEPCOUtQWpBbjWQ0yq0XMOyK3rDMqAVsPL+XNRcaY6Z25268q CS/FhUw8+tC9uPuee/Dmh96KN97/EO644y5sV64grQ++6a/Itb48n2/+IYfc8O8bf3/D0rJvvVbz k5ZL8Nsc/9uMeMlk4ldBDiIsEUF6YTUvfCIJyHulCu80vvfBEKhOWcKfb/q3Ld/Jx1fEIQ3fjXNk fU58/65fQdyfJV/Dp5TZlDWr0crgwARDd8yx45VvvIiXX3z+2Zde+Nqf/U//+5/7+7//B/z7G7d+ c1BzBnUEsw0gYqMbNs6gJTe+ay5a/4EYYDPELrHdVj58c9Wf99ubp+ma4Alg3D8ginqkYVgJaXqk fSQnX4QPsJofEcZ0sDrQ0FuUDocklH0M1AxQ4Hg8eiovruW+OxoefeQRPPGO9+Md7/sY7n3gIVxc eQP64RC5hDjXyVP8FgvNvs3v1qVt66fsmz+2/MNu/N1iHU5Pd4oIvukI39IurJ5dauEbF0FwEv6y wC3fc1Eyo5KLdNHixzvSpew8a0emLoYyirSAnAdmrks77fgU6WMqAR0OeihlzDJoaihK/h38wHSS ObmEJEb9+ihO4yN2QnYHBLj+0kt49tln3iSt/92/9Knve/d//bc+/cVv9TS/03HLDUDrGwy+oPaA t4yPRyyiFJXQqzONMktwMnZXokGQElOShoj4TucAQufN2NGtRxxzgaoamkHhZh8WarN40a17LOs7 GhcEV+bCjZBQgoCynFC83qkeA05VzKl48xsv8MTbHseHPv6DePr9H8cdd9yNF1/4Kp77ym/jeLyG fT9mOs6mZbdh33w0EEXucCwJT2/0ymThycoD/qw37q6cJCyyUjECjYT0az0GPa+fwWP5Tum2WvZJ qCpJenSJsKw4CKI/1xWQePRFRKk191nUXKQu2AJwIv9mNqTF9VOqw6pSoOTRtOKpdjRuzxa6/6j6 Y0hFr25SSskTg2qhDTEvlvKGsu5AsDVIkKSHw0WSnXyGPbIQSU6aArgDaoqrF3cCrWF/9dpd1155 4T8E8Je/48X3LcZrIgUeY2KTiq/IRq9FMGqGnmuq8rhjIX84MSclvPAFMdsEQthB/gAouM+JPJf8 cqUIfaR0NFJdMzyFAEuKh+qyIOwM0BYQPyFeLf7jcXdJqxne0Ccef+sj+ND3fhLv+Z4/hpdffA6f /+e/hH1/NRCLVZiTz6pVQ5CMLyPFh9OFWnGqW6oxRnie0F9kCfZpLM/zlLGQnOssuAIQoVul9jKu jsVLfyZx7vJwFb716PPIUGBE9WVVBLIhS685gOqaxO5QLAYCZCm4qbm1vlMijUSDIrAoYeZ19L5l m7eaHy2qIMP4iaTuP+/X/DMiDRqZhNRBxLnb1mAs2Y55R64LpDiic3aTBuvA1TfchbvufiOeO1z9 2He46H7PccsNwJi7T8AW0DrScoBr9VdCCTHx+WfvWyyApSwXJfBhNSEXIyGhmICkn0tnkd6HlYVx 0vhOdSQiF+ChiP/eNx3lOQGRkLKa4cCCGWX6z2O8aRbbjQts7nj7U2/BU+/5CN75ge/FM1/4dTz3 7JdyZ2R6dcaGRDWsexCSnFZkUxk2/8za+4BhSGuShTSeFkXYhwa2VOuLktCinbqEo9MwPH59Da2V oUkCFkjD6eih5e+Ei681NETRkxl6IIP1/WIyPWgAACAASURBVFM3z/0fKL0VoAx6Y9GOGy2fB7VT 9Fr2a9/ibwkZo66iSYNKpffMLIVRbTGmbDVnjY1s5XSuiOXGtEkSkmhkrwYM0ECKkQhHGpn8cmvY Dlc8LOyHd/1B1trvZ9z6rsCcBObeeowdY46o7kIJe0IIRH28QHK/wOqT7zCV1ppll/SQMyAhXwzT TxacA8OMdBL0blaiFFM2wYiYEABzFEQfY7LHn7qXp7JrDBz3I/Yxocz9q+LRB+/Eg4++DR/46A/g K1/8HJ579ku+aIK0WvsXqloWH2WNeTSaYBWaBOwlk1wTloaCi4aEaex1QEENkMaCoQ3DgLA+eQ00 kMx0eHw+8+HVvoaFKKivb71lLj0CjBODz/ujkXaNPvI+qKtoUvsicNDT977s/UgEk6yN3wtvurQS fH6R3dFZ92TMwpATQHl2oxevECvvB5LGQyJsKA7K8lKIQthohVWUgMvKu3jbeekdAlukmZczXgMS 0F/iNIsCj2M8/OiCE33ydSpEC+b2bcsS4npI7nkdLkebsSi37a1BR3l3l9vWBEZkErjwJFRxfdui Jr3F8RxtpMZ+H7HoOqwZZDbX7R86XMdRqrqpfn2+F4BgTMNdV4BHHnHof/3aK3j+q19MgQqJL194 9adFHTrFJP6z8FDbUrduHpPHXwLChuGYToZC1RWFgYw4ucnjefls8wdmrUKyyVCkeiHAIkyJieuO 3mAKdBHMIOOIyATBY4RSL5uMhGE1czJ2zomJCoEYunADGTSKpGJSWRB1wm5I8Tx1Ef0g173PI3pv QUAb5OIlYUx0QRGSE83xnQUtWvAKPSymt3dzcpjKCL4gi4I2f/7+KzbJAZWuW4/3SGE5ToHLJY5b jgCGThdnxEP3TrkCNZ94OikGCtgYUJiCDurKwVhrFnvr3oglm4vVF8RGo+53/Ef1ezadAPgygrUX pFd2b0t+YmKM3eM8ROWauteeqpjGRW9g09M5J8QGnnr8Ibz9PR/FAw8/jmd+5zdj8ZfXBXy/guQk YlECoaxbYnwAWatgy0TnZF61EDQNukxy3jsZaQH3MKR4qvoz8D7SqcJDNsT9c6ayXiDRRiM0Zm0H yTYftVtyVfJ5Vodx8qopQJ4nG6KgPHDWU1g5CDLtxG6WxiaeOUM2EnrxR1+az5KD8eyCpGPgc3AC sOUaJW/E0M3PEynkWXtK8Hklkkr0wLngIUEhjxXJXM649UrACczdLTzLLX2broF20aE6Mp5j+g5w hVyPuMpzwVGg22IycGKGmi69YFjV1lt0e+GW49Vq3Cj8EWBqyIr3eClzYgJo3c8rUemlVBwCKR82 eBGOhw/wZqCBPIZOvO2hu/HQo0/i/R/5V/HM53895KIk3DokXIJEg5TwpznBsyEHvX9b7XdpIZAL ymF7Th6rXZDpcbmgYnmEmyxlZGYYjJupxrVFhxx6qpPFQGidYfPaTadkzhmqBalnal6qC+R1ZFgW YdzaGq2QnABKI4Y0VITrSVCitoGjwTWUqCd3ZkL8HtSILEimx/MpixeXakvvSj8bURObj5y+LyT6 ajQWwTmwLDlDjEhFLbKmSxuvSUswM6+3Vg1OQA1mAjNJGC0i6PDKrr55wY7Fws542eC/Az0ZGW7D tJEPfE7FJg0eqjsEIzubpA+tsQJjaJJiCoONibaF5zTmhgGNl8SUpGcKBPuIKsDhSGAMxRvfIAH9 fwjXXv4GXr32jbw+zk9T7iy0xMVg0cosgi4+X7sWn1Y7UjKbi49xJ5GAhYiJ2gitbsvFPQXsjSo7 eubkJWiEG1NkLb2o57zDoQbJymtaF+fUmQx/k4aJUbJc1YybaaUIii0WiCcQJCE0awFWTymCKFbq J+W9TngG1yQ0Cm5w+8bMRiEqStMXoJCoiX+nESZq4v1acCKEE/6O2VCkDBrFaWPsAGJvyEDDzHJd 9rj1UuAxHEJPyfRIFlwE+UOrz0ovf+mAwiGkRKhg4cHJzjuaqNjRWdwOwLXhYUVdQCThqWyEnDhn 7EL8wRdmyJadnHKPQKEHwwT2ztOIR/eI/8e+ownwjifeine87+N44MFH8Zuf+QV06aFYXKB8Qtbw DAGlV69qDI+IcoGEm8kFLM/Q/77uqcCFwoUY/Qgzj++5cE/RSS6wFq3HfUGj/vQLqHNFTJ11AYTy mWmJMKFbhHuVruS9tTDEdUzJQ5cEqTliSlqkdAY0IutDYPgBWNaWEAWRXyAa8CYmI971DP4p+Bmz 0zA1OA+AXYIsHdLWOtDcaLEcPKXEcUeB8XwuXxzieTCEarBAxK1X1+zLHLdeB9A6jvvAla1jTIWo l+S65a4JrtFfrvUeOn1C9ljA4aFNvL4a8Fh5zIlDu3AUENB+TgV6T4sMVJ9+GgrC1JhDJT4KInKP phwWpaveuMPz9VMVI2LxfQxf+GEMphqeeuxePPTok3jfR74fX/zcZ3yxN0VDoBdjn7rSO9BTG6Ie ISNQy4VAD5zwQcoDJahPqF1brLm9tOAvWnII/Lz3SqzOzeRB2D2oUl9IKS4htS69HVcDdarr92ul mCkQdKEaeAETy7K5jomytr7lvWQoZuSUmtdgEKk05uIJwRnWhHait0QOYLgFW55DSXwFrPpk+zlJ w72uTYf08ZyErdVa9jegQSOZ3RowZlRXNje+fF4ixS3ccJpLGbfcAByP3tdthAc3KHTuKe2U1tC0 RbNI78PPBhRzKixJpe5Q01x0kRNC1ctJw+Ow+IgT3bfdIox3xOENPhd4Cs04O2H1rhkrs3JPVGIz UW+R5WlLzQ4w+xi4/64Njzz6CD70R34Y3/j6c7j2yovYOlN2gUqUbcb9+5XesvRa/k/LeNDhf3lk xp6QxaOi/p5bpBdf59xD8gylJYjG5Qmny8GXJp4eXaLq0LofqQQ7GkiglyEIjsGLQZlt8M+4ziOy Dyz6yXu3KsVFQe9aEWWQYB7ODFVsscV6LabwzxYt37dtQQVIg8vGLzANzcWEt4Pzc269u0JUyzAg rottzB0A+QJXiz4XvMQ03BVWNomOxOgZ6vh6WHQJrwsOYHjF3K7qAhBDSjhVDduheaec8Ka03iTt Jiv7CGMTrheBYvvwPQOB9Ppjei+9w3bIPnpJPGXczBiTDL6hH7YMTSjKcasvmPuIlF/UhTPdN7y9 V4PiXU89hqff+3Hc/9Cj+Oyv/KOMLy24DxGkpyUpVqwzY3E20HOyUG3mtUNISCG95YpmGO9nOjPK alfv5V93b2VsgJHpOn/e21asvlg1GDWgrlfWuCPiW63e/AXTka3gHbJXV6BpCm9WEs+BYJnxebxj Li6JkGKFEZwLvA+X/kY9CKpIiLoJCr1UFX2LXghRSJYe2xaDmjfNjBPSq7M82DUP/rO1lJnn2SSM fNiBxhStCPgYsztTPGeGi5c5bn0WQATH4xHbFl1ywZw2sv0TpZ42ZsRAks1Bs3tsiG/mcY+w0/xn hG/7zMkhImgmcezwbmbYtgPm2CPdY2l5x/BGmGoK27kpRfSpT0Kt4Xg8goSVGxmPK8c+oBN471MP 4KFHn8R7P/z9eObzv5bxpVr1Fcz8MpBwlTJbaWGkpmSsTBJOInWU5BuC8NJoehK/A8h1hHGIUKoT QclKLklCYBoSQv817UXmPhchlXBLfr3gfk1ai/NzIhf7bnF/CFaYbrW8JOsA+HcRZM9E5tZluT6v 4BxI3T8JuNirYU19sheFr2kLNCJZZJbZAavydDfa65b1pTlhWJGcRRpeN24UKhksN4Ohcb5RuszP pWz7ksdr0hR0zInWNugYDhUBwARbaKgNhqb+1qa6MGLsjgYmCR/49lD72AMSezfhbetef79MstYa RGf8fKa3mOoLGFaVgr31iCEt1HvUH0woos5/zKj/92YeLuxQXN9dpz/U8PiDd+Kxtz6BD/3RP4GX X3wO1xbWv0qZkaGAv2BuNrHCW0TdwYiFudScUy4bTTrIGxDJxANI9RwhfsLLRBsevzMnzUVTBoTG hlckhTw87kBqMdRQ3n65Vymk0BoLq5auxBnWtCVdVvF/kX+W/8ufZNosfsPMwQm5CCSa5D0nSuKR xN+jG5XqF8H3xD0oRapmgN/13/t5tr7dcM2x2GmEyJHEhWWmg4Vmyw3mVm///0vrOxqvydZgxzEi jeQW0T1MFZi01jDFH+QcAyzVzEmsml7DW4h7KgcwzBEsLD2USJJGtPQkGmHVMwCIqjFxOM9W5czR mhmmOhnp/e5GsMN+vdev79j3HZCGB++5wLve+RQ+/H1/Ave96S34F7/6Cyc5YKaGTkh7c2WYK+QO qS+v2RCLmjlhThAE5CdqCgVfQm3JAOHEM3OBsPcgYiE4AdcSJVBZWd7Yj5bEWsTrpoitwXaHscDJ AkT+O26La1tQRUdEARkrk6i1NE6Atwkfo3ZvzrmVqWEiICzw3UOaNAg3eFORU/6B4dScE4fDAaoD W69uw7ynJi23jocZTCTKiSuXjzAYDAEYzpw0OBEAoR3pscmItAaxlpyQkJG+xHHri4FicV3TCQ+v 3APTwxsMWzt4j7ypUXkXmyyqt0yiXLbb2vSBvd41FzkX/TwQYkZ8Hm+wbxtsjozRODEIAwGmESUJ OmmCPQRF8xiin31EK/OJpx+7F29/+5P4wEc/gaff9zF87p//Y59TQhWZTxa/BPa7qwXmRUrsatty /bPduKAWgpnnrP06a1amygw0FhHrB69B0jBbmYfnA2JvRCBJ2eQGrHgWCpYM3CnH1ZxmM5l9hjBc 1Fk5CL4LRzMW0uTVuJhW7XySjq1lLQi31prDF6cbMucb/AD1PGkEWPhVi7DQiTcQ3VCWx3JNksyj YAuwugZYvE9LHYHPT9YNnDYw8V/7MUTCMNgSujWJhrIta15ArQd9wSWPW68DmIZ993TabhOHg+/U ug+FE8ZuCvf9mLBc1OC5fM2S1G3bcO3a9bSOnMD0cPycv+CR52fhkZqhTYf6F1dCZ6CUjboz8Amf GDQNyj4UsOlZCQMuOvDQ/XfibY+/DY888gQ+8L2fxBNPfxBf+vyv4tVXvpETg6lLxo8+sTaf6Au7 Pwblw4ptXRwGsAjJ2C4dSO/hkzNqKqRHmXTF5K1VnLzq3hF6A3pmieenfKYIdNCqEi4LYrAcz3gN PVq3kXRlEdZSZWmGLcKTDZVOtDQYvE8Sb0EM0lC2BmuxmAjVlyId7vWQmZwMDRA7NJHLYCaImn93 BL21k++Sp9HY54Hcj4aeoAvbpcMRUKt06YhnRg7CL4z3VD0nG7bSTzRB0wpjvJPzdxkH8O996v13 3X3ljR/sV66+u8X2vPfd2XH1qr9AQYeIE4HaWynboLjSWjwMhgqCqZRZinfD3XpNVpWcMPR+/p2K h1UVuOAWztXAsndLMY+qJHyLpQBCwr65XkEvNhwOHVcPB9xz9x24//578cBDj+KxJ9+Lt7/7I7jv TQ/jK7/963jh2S+nU4Ex/m1R573C8dPGHmS5e5BJEK9zJ5FEL7RKf4PKAERis8vSTZBYNP91xrGh UnFkYJalK+tOvD7/JImtqQMk3npsh01RDSfzYEPUyDK4FHYkKmOcXgU2TrBlkBH3VfwEnxIzA3xv vcKfeHZURjLMIznn75Zkn+Sc8OcRNSgdaYSqw0/KeIrYs4Lv0prv6xi8EYSsP0Mybncf29xbhVp0 WJnWDoOdgi5eCwCseoBLHDfFAPz1vy5tfPEH/8pTT3/wb9xx171y191vROsbYMB7P1webWWbCwD6 4DbP/F3efS4oq1j+5HuLhBOol3diPe3kd+s18BQBmus4hGsBd3vfcOed9+DON96Pex94CA88+Cju vPsewAyf/cw/wktffy5nrsQC5rktmd84v/iVUFtgEQdyMG3JyeC7HMfCAeF7XjgAA3fXXb+X3mn1 OsKGmshQgfwJWXZ2XKJ6MqsXI/Ynb0PDq8ObcmxhMOtejP+fjVxzw40IgyhRroIihi1EL24VdHlG jngilWeLoVvedEmQ651wZybvNu0oxZuJzIi/kXCfm9GsqU9YxPa9kOfJ1uMA2P0Xgmw0Isu84HNM 3uEGYdoW4W/c9qUX790UA9Bf+NH/+ckPvP9TT73rQ7j/TW/B1TvuvEEQ8u2gjCwTtX7m40YzsXxr Dd++1Ufs9/reDT9fJo4tp1s/5br4DdvFBQ7bBQ4XF7h+7RV85UufxbNf/gJMvdlDGRZHGISOhnmy wEnu2T5gorg4HEDZr8El0dvBicwGAbaWslSJmnmiJNfvb7kA0siEbj5vJBZrahLCM2frruWOuScA vTUPkFtkBarggTqVeounzyA4yFvEOVhxB9TW3G7QylGsOgZWFrJ+PwvHpLypZEgTeyY2NiCZefmO JCz7UGTwGRkLLM6FHZdoqIphQIZFmW6OhrSOQpjWW56xRYiUYqaqAUAckxeZOw2HhuHbLpvvcFy6 Afjpv/gjP/6O933sU+/6wB/BAw897PLN/QjRETnVmT3cqhMq4s8ivlJimkcmww1k3KeM/9wDlkWt 3Cq/R3JPgmhcgAS+tWGxjNeRx4zjhV85Pv8q9uOruPbyi7h+7eWIFf2l9YB/nJTuXWrRr6KYcAAB Y6v3HrsbteaZiouLi7Ar60T37ykRUR6bPEMZAW5uYWzxA4YCmkQbFwj74wnhqiA/Y1zE6QrjDTFu ztLXcZo3h+RXKNW94ZF77Ju9ApHZGpKHvVcHKe/fsCKSsC3xThMhrvxCVpgi0QgJvcwAILIxUf/P 62ytRV2IpYPqVsQmEaJCM+xK4+GkErivQikm/fkyS8CQhlbIdKJtN69q/9INwJve/OhfveeBB/Hy i1/BtW98FWiSBEq+TN74AmFXEier1MIjsdcdc/CM21bvTKfCRQfg5HO5DVZeg3tK33iENeGIOLdi MXqadQEz3mV5MUcGMqpY57aRdAJVav1kEiI8W+/NN9Rgm+jwnNvGnXFLeebktOV/TEflhAcAxsIi 0RCk37DAgew8TCQaxpHf959Erb40z/MvHm/dMcdmLR4RhhJxcMbHsYDHPjyjGZtptNazVNn1/Lz2 iL3DYPm9hVrT9dd1/fFMBJUp0pgvXFxCxGPsZETjws5gEt8RsBaAx66NbDRrCRKZJGyfy5xcMgBx jfzz1GlFUxGJZqYRvpkpJDInvh3e5WOASzUtP/VTHz30bfvwK994zttktyJNCCN54+yyctJqqy2d X9cIXLjNcquctFRsmnliZaNQgB4ghRyI9BdjV3CihiiDAJ0TBUUolaeszAJRBWEuz19bapXEmTFc tc6yxchhOZcfy8mttqAg33UoY1D+x+en1R+Az5tNTBlbUhAFIIUlq+dsiYzi+VqFR3kunJ4f8Ik/ 54imLTNLc/lsOWNdmlvcC0lW3+VoYCXnEoYn+qhy5IrDK0XL5ydS91EZA67ZRbYLdwzf3C1IyghK 3T84Y+g4Unh1Q3hEg4zSJCTaNGRFHzUAfio+f25Aw9RuFUYlYLsBMF3GuFQDcOfzF9v1V1/uvXf0 1r0cknFOwN2clDhVbFmwqKyMgy2xUcBNWkLWzPMlyA0PVYLYqolakwRxOJYRl3RV88pqMRf5dELY WKSNmi9UhiHc486vScKr1cTPUEeXp6CLsi8MG0ODrfflc7boEwrmn3y/+f2Q/V9LmtmUIqvX+IzA mBypkgOwSE8jpgfymQDILkBEd4TZLSoktyD3kifge1aNTs2VxWD3H4ZLCd8pS+YzTVPO1GBMFKlP 2PKs8/3F86HQbG0MC7CDT0vHk7CdjUDM0UzW+C+GkAZrjeFpRFtrwTH4sypEVKXba/DJ+ytj7e8z oe1NGJdqAJ6/88s2xghYSYa7JhProQEk1KNH5wRosXC4fztJqtN/FzSjmk2AE3gPMDb2vzOnPaNw aG0Y2qNUGAENOeccObaYrG1ZOISZmveSIhAWElktcqA05Yjr7FtfqhOXa7SlzTiA1TCuAJDog4FH kU9rqa7mIvWmEuHt+A4YKmDJaVuU2Ca/sDxPCHKzjcUQpLFrMel7tGMPL0yvzPthn4f4SRoDzheG LdkPIfPta3ee03lQC3JZUIm7ixuimCmvvUnuNi2InaWSh9I8TvUvRP5XJcRl4NgTgN7cFte9fl8X w83/aGA4/9gtiNwJbii2uoxxqQbgbS/fqf5CJT0Ke6utC4CTlmW+qaJaYFfC7DStlpMA8AVE1jiR WkwE91rsNCP54NW0FpKh6uAXriDDFdAWWB63inYiFJjc/ScqvbjYAg72KDwJFOtlpFF5RkidxkbW RXi6XZafc61pr7Rmerj0nCQAyZRbIggugPx+zDURwYxF6W+Hz/HU+2Vo1FjHTw4nvgTJ87dlInNS ZyiSxpaFQP7y6ni2QGXxztFjz6pPWd4DwK234nmukyEefKG/CrE4D1OBFwa36v1r4fEZCaPPdaFj QYe8z5g8RKbuABaka5oGm884NSExz9XUNyFJYtKQ9voSx6UagC/dd3XxnTfE8ai6Zv+EpCVk6slf VJFSWaBCr6oUqJRmPR886iXxRTGW5vCmmqdeKcOCBZJxT/dVY5Cse57A8q9kbslJtN6WawvIL8y/ Y1kkLRlzhiQpVwU8zInFwWPlCO5CTfPY3Eqbx8heclb32RZImowz/Flvh0PG4tVBx88vFBOF97eF 5ZQwfAm/A0ZnbQKIZHxi+3bv8yTc0eXaM8QLok+tkBcCkUg8fPIvIHpMo8eZGAVOieSQiEKVuzQH Z6KWRGRh+uJ4OA9mNkhtp++U58p5vBqj+m6+2zDM1cnJ33cjqiL0XxzjZY/LDQGef0rTyndnnH3v NNduN4FrzcVhat8aVIdLdcVCjBGwqvFFl7yVTRQoOvHy2bLsbIZRzSEVXiMA/zPDKf/5SqLx336N DmO5GYSBk1K9PBmni9Fj3RnHdwOlptlWynX6upzbj+nsuuXzkeZGa+ss0XXNOBddJ7loGoQir9nv 3e+bky0IR38QtXjjXJz87IFPLT/3TvDJSLITUYdfW7cRXhufr1TNgE9uEqJOCOazaA3bxnBB8v25 BLsgN69hTi/C6T2+R68qGQPmO1hFNSsZrNHKTRajPeeImgOE8YDfS3zPvXRcm/L9FGNf9+YVrfws EYlIvfcMxZrENVBZ6I1I0nE17w7EZ5hhEUPTmzAu1QD8rb/9t12RbrTsBfWAitf9M5otuBn4tV5E TL1bkkeW+mxO6iW8KvEHcJJrTRgo7UR849eDJM0QoQgCHWQ4sTx3DyEW8CtlqR1GcxPJRWcQ3qa2 72rVzGOJ/wBkLJrXR+4hCL6E+AiPE/E2vU9bnkERYJKLdiVE87p6xba5+WUaWcnnD3PjtCInpkn5 fpIci4fmqayQOSMQHZ9Pq2vLDIuSjJV8N2vjU6IE7v0nMW/4HhJG598t7531F5xvfevo25oFZwBC yM+4PkLDPLegb1uhwwjBiGZP3gN5EiLU5f0kd5U1FQwxZZF58/vfJQjA36ahk/y3gtFmKNln/Jsx NiHPjTEgIR4VXDPidYYD+UjCQlpYWyIAoBo1AmVQWmcKqPq+87jpocNqrxxAXmGGGlLv2arHPSGn a8JDP0BbFLF8TLMyMnGO7IPHkCGWk29zXmTmtm05ibg4mGlhDLuqx5ivzucZi2vbNvfuEW6k2i84 Eh9lWNsizMnFLnUfZPq5IIjU6lVVKGeo1KXLhtn5COkocpMPkBeKo9BAx3Ml5wOUAc5dkkj6cREJ MhSUVgRpknAxWUqfIssz8PnE0ImLNrMMGZ7UHGcTUie4JdDHEiILsvSae0BwzfjzjboYs8tdr7gp G4PIpDWPWQ1g8S7pVPnyJR96xkjp5K0mJvvGpUcohR0ntapGTtkXFyFrrDUkmbNa2cWyrtsyrZ7L Q5J1AtQE5TvsvWfsn/l2xpZmuZFlknKxWOj1VzmpwaBzVH6fhSdEVHHeNJZ88q2hPFBdIydaZUXc a2WeWRoOoTPoNyyWtZX24tTyma4ejZWCczI74kazd3q6eIY0wGlMnVRsrXvhTBCkM7pDkVOoZ/fN cDjJ4nDHIiuK8//SuPIWFqNuQDZX6a3n8U6+Q8S2oh2jHsFPXtmJSmlqbGrjBsLyGSRCuOE8J/ep fNiVQrzMcelKQIEoFN1VaC6L7FGrftptxiFCE0Qsylr4ibb1VFSxMk9gOBBSjtpYkS/YzLeVUpvp 1X0b7S0frBAlxK43LMMl9JtjoB2WnDcAWEhPZSkWCsjb+obqFW/R3glAkJpjDhfTTta9Mz70RTpD KksjxmOxbRf3KEQQQxr584wJk7AKGEzvGKq7FqFGFAkCQG4RxsnPZwd4rxH/ED9PtEYRjZ8vycUT hGAR0jG8c5Uksx1+f/5sWCCTakg2ZxEe15twUlSUewsSmcBKV7I2QgEgYO+IU0fi92WZTo7gP2yY k6ENng0hJGeIM8eIwqhwbGK5fZpAXI1ooeRUbx9nhuQvwrokYmnNFZ8WC5siokKl3o3KUcgE0E9C 0cscl24ATGwqcDDelEVZhyCtMkCvFN4ugi7p3JceANOGzTdHaKQTaHWbeLME0LM3KMyLZkD45LXf q856ZqOKJecqSPg5jZOiJeHE8+f1ZrchLZgeL1cgWTNuqIaf2QvQwjvFgtAFBvK4zqDTcYU4RyRa nge7zpsUwIxeLG4mGnZM5eRyg2fuZmEFdJawZ4kxpeAzMx+J3jK08571k7DcV6g3TZGGMRV9kwoL QANssFi8yFgQYWD5HL21d/VNiOsBUuvhmongN8I4YXkPvFZmJ1iHwgaufesVtsX8MXH1JLd1A4AR PSk1rr+EY/6dfezF3cR9+LN254O2OKpwfgC84W2PIiUaSLjxLEGbz8MVpV72uPwQQDGcEW7oEV8C AQcXSOoFLiO9m7doRha4ZBwaL1QjXZKEnZxeOqWXEuq8jLCsDE9Odiso36N1NPcB4OclFkduW8VJ zvW6SJl5T2vMmPA3a/grjhxjD/UZ1X5dowAAIABJREFUikyy0h+gTrPUuJNUo6xak2sg7OVC5X1y EqdM1zQXhADpwU8g9RpmRLhUIVS1ZatmmHGuaA9GXkFicZf3t3w2/FyiigwTLZBVixClZzw9I8S7 sVqRC6dSacjftdYypMxnrF57UPfoPxdxPoAy3BIqScTwZbhTrm7kOmb2rlgfI0OslaT1tB/DOf/8 6hgy9Ex+Z73fy7cEl48AAKX2HRHn6fT8O1QTsqZnpoItRT4o6BgTK+WtraFIRYVoQG+UZl+npTf0 dWEAX7gh4b6IoMOLRQyWhSCMF/mdJkgrjeTUlt2H3DVkMQdryTPtx3sWZOtrh7lxP1ywcA/jcJTb nJfRTDgONu6gqtJiYjOE0pzULCMlLBdtMPE4fQw2IkVC/ty4Irxw5sNTT4BEDQ6ne96HAZlGnWMv SM/nBcnHKwFSKvTx90AyGBpoI95/xcZel48wOozTMy4PtGPxTKDm8JwQND7XI81qsHg/lS1g2ABY 7kYt0XaNBsTTwQhjFnc4mWZFOh5D7DrFCswwArkeOMeawJS7SkU421xPOzl/vgXvcRnj0hGAAK7w sNUiW1rwLBUNby6oIhr2bV8Z6xK2IOZiy4W9eru10AVxjBV2Q9yD9kWNR+/DxUsCb2RziND6S6Vl ksDDkrEw5sArZlethhWr2CVFHkkU+vNJVGJ13wk3C3ZEeFKLh8Rbkk5lE4qVDiQizVOVFKzMZJwj fBHKrQFb3o2fx41icgf0bMnaL2w9wxaUF0sInNd/SnoSaBTJV4uDo9NgAWW8YhHz51mNR7UguwbF +dhXgQ/flvuidsLCoLblPa3nJtzPVCtRgdXz4fvz09RcNxZJNcl0Nf1TIiO+ZH/l4Lb2N2PcjIYg MxI88D3bCW0FBgWsJflm06AIjXcshMk0CsLTtKXjDJgGq6YKXOS5eeKyEAp+ak56iT0A+eB9GzIi X3IF4TD8ymBc6FJlu5pwwII3oN9Y74k9Bus61IoMpdfMbajbsj9iLEzfK2GkZ6bx5LnI0ldJqV/H DM9MHoNraoYaj+GEdPEdm6nMg2TfxOIK3GV7jOphKS9xlar6NukVGviW71uEAvXuAHYbrmwJi4gY ZvD+zJD6kHy+cQ4PDSj0Qv57a23peeBziwZ9TR2aFaeAFsZbZ+wk7XxAW7r9hOVPo8Z5zePReXnP C0FrG6LHqu+JGTNDlkVPVSQRK42DQQMIuYbh9+hn84celx8CmE0+IGr1GfsAkeqbWrFtboUVrHx4 14zpzKLHHcoLs0WqAipaderxgtJLEYIb0Ddn3btUVqD0BMRxAGd9A71xK4gIbxNVsN+Pw66+TEc2 NEindwaAEv4AQEO0ukYghfC+JSdWsCsu4a30usb0JtzgNDbvdIKyJqtrAZDGEoSjOaEBm77b0FDP WLTe0KbfD5ua0PAwVEAYhjSq9QSjEeiWegeLMMnMy1xVFRZGzhn8Xi3HWByV7b6LTyH6M/P0IPv3 IR4x+w+k8eAOUoFEWdGIfDxMLWq2VPeah4lgFX33otjshRqPwICJ1Pyeq+1ZiokiBCF56nPU56xl GAWkgBBlWNg7wTNUhVb5P5c5boIOAErKwnOq1eGGTT22zfvFHbYDEC+Y6bGpp7X2LYqJaBRYzZd8 Qfx8jJF/MrdNqJo78DAGR5VmVgmyZJjVVuhtFtV57kKJRnQWAdhajy42E3075GSm2x1zZOqRqCM7 B4VX2ndveZ5kEIDWt6xO818y7nQUMMcMmNxP4mVVzf4B9I6+AAJWtsIrRBCswvSCo54iptw/QdwT td6Th8lc/iLnTe+fi1gyBMpQDojwBgmbNfgHauMNtV8EnydJwFWRWH0C4EavVcgxucNShADI98vO vJW6hFnAcvIZlo4p06StVekyyM+c3p9771NJOkBjvzg1Gux0ItHaDPQTEWI1yeYjN2NcvgEQTMbf tJbuIaPFEwDvkR9QMjTgpbX3hTV1JMT2GDe076GWmmOPRpsBBULr38SVVtRo+7kCypO1N9fdC4Di wYIsi/NJ7NLiL3Ym7HXpLbXf/m9eZ7Wr8oVfclmJbIjfq4ALy1GSzgiVli2pTQfMJg6HLYQ0fh2+ iLiwg4lmCypzIu1wseX5gQhvqHvn82BMvLTYYgzscafr950cHPm7cOdgsMN75erqKa2u4/h7tmVB IIpw/J1VLO/XuGW3Z3gXYqvj8T2rDnBjGf7OeB0WNSQM52D5jkni1bOLOSYV53tHHg9tXLk38xoi mCn9RWN1KHUISJKvWo0hjuXXUBkEwxhHf0420xgfLg4xKbXeO63XJY+bEAI4CcgcMjXnPbwZoeEE UycecOu0DBfGCC/fADnQkwep02hJY9dVCESiJVUqXtZjLnn6wLBpoMziu5qcZWq/46zen6357zdq 6P0F9r5Fs8/yrGOM3IlIp+8tD1u9GVzbQF5DfIKRMa+di82zFLEPwNxZQ4+8Lwljx/QREZUvNqrs 3Duy7bkgUp7GAh8rT5OQPognSIYUBoe6En/2rVebNZUQXGk212B7c29e6gjEd20uwlVVodMyjebN Q8IrCjIDBDiZN3YX5ETwHPJdenjLMmXA94Ek0jFz00s4j7hGSqb9HVoizXxPAPaxh6dvuaW82cz3 FpMmhEmSHn1G6EPjTYkvERafr+8L4U1jLy6ucA1VlWaL3YgzlXG54/KzAJ6ABpndjK/WMkgzsm4J 8QgXE9IBGc/712hJ4zwi2XbazNNaWdLZ6DE1WfJis7WOByem5owST3DxxXcI8Zfct0iLbMKWx5k6 U9+tcSzq1pk77lEd6bp04mB/Br2V4KVJq9Jahv3RvMSNXDX84DHWvD8N70qcscElKQ7yI2zMwThb A4HROFGWiwg7ksOIeJmxMfdL8PCA4coSEiypPL+eKMVdVIyI6+LH0qjG372FeO2oyzCvwsuVr2Hl HTKz4aFKkY48tkb4wc5FlG6runaCPRxI1DFEo5S8NA7IsJHnXKXtfJluuwI9bj1DlovDxck6YojB 8OLyo38fNyMEGJY5zgVKLzCRi8wn7QTLTrklVm8NhygZjejSlXHq8HeF2YDGpqCtIC5LcnWF43HD AQsZTvTWIgywMBRsCDoSmgkhd1xvwl8xFzMl3J/o3VM9sCgHjS3LuKV3p2CEJJ3pEsoQpbjVt5CY Ai6ZJux3SDpDSszio6UIiBqLCJfITPs1NUhDltiyFLueK06uJRxbhkhuXHoo6eipeZ4ZlXeSJJbX 80c4Ecd2W+fcCEDBjodsDqn9Pba+vivL0NAXnUN5bgrqKc4jCO1PhEet5ZzhgvYQZ8Y7q8av29ax HdzQbCkKcvju+0TW5q2NjTvznBUmiDjxTAjPOZTvFeVowNCEIZXRaXEbd/7u8sflGwDDRKR4CD+T bSfsbpJeAOHJc4vpSOHRuiLi12R3Iw1Hbwggv5tacnPoyX3zjIstvKqkSWVKyVuCUZGo4QW9GEiS fKI232vpQ3kobOMc3iaObXF91AnQwxGBZOefgK9+nQvDH4QZy4+TwAvoaaCKsWVlIPfey5w2DXH8 UYanFGaTQpjINedGlK0WMdWAixPPQdHVtm2x843V4osTM5RytBQcjDRcHA4RbuGGIhwiDp5TkmRr rdc7joU09r2gO27YNSmeGUuw2QqO3ZocBXBXqIWoFZJ/xteXoSPve30g7D/AN0VU44RtvVuqMnld ZoptOyzz2VKzQK6AIcjNGJd+1OQ1E9qHdY72WZYezEqkscByxr9zWWSG8nKZBSCEpxAGxcqOOL4v uDhmHH8OV1y5NNbyQTPupXiGdwNhPBwIhL9heBGLlPEqG3kmz648l3v6fecuwsiFenG4SO6BjPWM xcR7S7acOXxVzOHHm1FMRTadz8zZaiSJZVgn4ci+fYTjq5iF0mu+xww1tLwxKTGmfM2qnyHCbpEH IKKg0c5NQLSQx3oNq5aDrwIQ7PuekBtxb72HJqRRyKT5DHPODff2AondnX2OMWyg7DhTr4sjsXig nLsQwT52UNxkwUlMFpktISfvhZ2P1yY2GW4w7RspST7z2h0pCphULn29XvoB1dqg8aXYw1Sjh5+/ AO7GwsVL69x6Sy/WqMePv9Pqc8Gd9vCr/HaqtLS6v7Inodezl2a7tZ5bdnHCW1htZ/clPQl5CaIa ClEEwEW00uLEkwgz0gsFoaXqnpI19fQXa14+Fz9YHJL/E4da+ANyJlLGJnXlqMXDdBYnMQUs2cxj OT6bhEgcrziY2uwCYQiKhJT0cIn2QtVoYCfn2GYsKjo54bOIJh4Ha/dXY5YdiFughrg3yr9pmKQx PejXXsadQi4JQtrTnYdtC8TA91wio8wq2NLuLOdqLVKH+iyl7gvyQxhADzFIelYsL4mK+NxomNPB JfiTREqXPW5CCKCRcpWClij5K+E6DQK9ElCTmxONcA8IggdIaEjCiio6SltpBEoxyL3VAo4GHM6+ c/Hf2lACQEp6aZiAkiFX2WYQUSiF3thHesZ1MWaT0tZy6y7voNvTG9FDUhADu6GTjxQsp/RYwggy 1IGxsKUnlOXz4uTj8dkNiBLozKEvxjPRUEzGFM/E56jzcJ6GBslVoJzEp224yXNEZJLpFySMz98H 50FjsCK53OG59+QB0iCw2IbHRClJ2WDkxndIo9tbT4TKOgpIVpCkWCglxVkzUQQy08FENKoF61nm LRGGUOa7SqNpVNfr5WO77HEzpMBeomPOHo99j/iwdOpqCjHPQasZ9uOO1hsOIaLh1kgVGsz0KOXt tGBbiDy4iw8QO7SaAkGkAEgIWJOuJlTFzpqTU26AhUy30ZrLaRiY5bysI8/aB3My0OM7elQkNB77 yMlKbzTGiLQeICjvwXqBgpiE0y1jesjMhqOr4Em2VvXuGpJlwvuYqBQmzemSWFeuhUEbM4wG4h7C 8M2ZHZ7RLPiUjv14RO/b8vwpxuHiKhTl6cl5gkZo8Ne9D7JAjIYthFISnp6hiBN7gYO03quG8pTG rkIgLyWfcS9Ud0KAue+5OHkN2dlJXOZ7uLhIhMqcsneNVmybpPFKg9gRaDAyDEYDaGnMWHrNFLHd BCLwJmQBbCQJBQDpD0thxzQUEHnzqM3mAyT0msoMAeNZerdTeM4XyZ+33ssotCIP5/Cml2tJaG/V bIE7t6QKLpEEIW6l46pjsOWkINQrQ2XxdyA7yOoEK+jSa6OyEyMao5JLoNUkkmChyWl33+IPemvY j/tJV18qAwGkl06DI65qHMMX33HflzBAgr+JMGlBXTSaSHKOZCTLpOO64v3sY88FQzSX3AYs07C8 50y1NVrZkgUzbuZc4fnUKPsuI8af5/0UyANTuKuBYsi5Fj9l2jWeccmi2eehSM61uzTEFzk3hmUI CXp/y24QGcqRUPV3WaSof++7QAdgaiqwhHskZmpTA4c/TKlsG1tpC/b9CJgtLH8RTuwLyLRLqeOq 86xFN6A5d6wdZ4lIMg0T8VyGBCDUdjZ434+QUOYRpvbNW34pu+ZyEgIO1fuy003zheMsPRLOVvqy FIluDALuCStv61kZu/lKGZo1XRfgt0LFYKMzHWgK2gqAIp8JgacG+VzceAm2pbst1Zv+Xj1V6c+O O/TG4hQsqbRQ+9n09GqkvzpTcfHceT4XJyFTYi1ShKrDPxtw2W+wnh3fryyhAo/N0M7TcNHx96TS L8K0TEFbFP2wUW3cz3rMVFByh2GmXicOh46pI0PFfB/wz7HfoM/NkXN/7EeUspGSZAUrBs0m0Dyd WMbxcsdNyAJgWjAW0aHOXyL4oosXgFp0d6ZajPXyNSHIhjPdNnbX+ifRwu8DDlfV3FAGGuute9wW 0G+OgR5iHhDy13wvNIHmRTK7T0SbmoVAhGo6SigkJsnIm7sdQJFwmwSooAVsZ30BchGIl+ME7GWo 4AU+LX7O+80OxIb0Fv4cxcktjcKgcEVzDN+804rlt1lhFHvqC7yZaYMXEs19EvTEz/zd2Vy0+dL9 c1l/gerLwHAFstyP5r36MQIRmWWWh8/Y021+Pr9+cjGSz5glzoLaV9HfZ8yzmA9puKdBx4CpF2Yl qcfnZVEPIdy6XOLn1ZGYc4rzRkyqknMJkXT63N62LTZEDd5nhqJUIwQEQ0i/3rH79UFpYy/d+fvc u/QjminhnwHZ0gvC8lLJJoqKiIMlJK4Z/4QNDUiPgM9C1VmQYlMnFIaphqHqpa5pK50Iy9w9YnIF QTaDjJlTMVhSCyT0tJNrk5CqAm3rnE/LtUaZrbKs2VORI9JzzmeYP4vgAXrf/NjmPLVa5MhD8dO2 pRBFspoBJnVdM1R6IhK/E7+2cIt8/t4+fMvrpBTVr99OriFtYXh2D6cQx17iYCLzOHeLnZpSkhsE mUT2xcFuEGlWhkha8/c3Rp0XvnbHnN44BsjwTiPdyufOc814/zQgkNoyvf5ueb0SRWZq5jvwGiDd 28pByLm0mC9LeXKwDVM1n9XIZp/xHmlg45hY5Mx85yM0B2yhFlM27l3zffO+EFjvssflk4Amk7EU gOiIimgSyXgWgEh65IqXQyUWSr5K7VX8TdLGEcHAth1gDa79js08fGJrxe1Adr1lzpoEnVegVZxY TSwJ/R0/O/M90cFKMi84oUKx9YZNXB8/xsB//vlP4qg3r4rrssb33/85/LF7fwtXWuyaFJ44syDm 3kngpbzC4idzWDzmXuKYxUC4xn4kj4AUtPB9+oL3FFuRWyzIaRDoTtjuvAN7MXgxFlObRmyBajZT fEJmLIy8zbKBCQAvziqIfThsGXqyZbnOOp7EvZPDKV7BocAWsb0jV0Csdv3NEFaCtGwChGk0O20O K4I8B9Wjjbd6ieMmNAXVKdAUhCRcjzgKstR782H2zQ0FzTpQkBZVpMIUDXUBWYxCCJsQFclO+0UV Qw+4tFIQ7LwGgcPyT5G4zCBfbCklDZiYJbKtez19a1V/HobrqB1HuxlJlssd//BrbwMM+L43fh53 HirsyvRooKE5KiugKDWbToU1S4h7uDjUO5QwGlYRMfi3gBATUdIc7zT3UQBwOBzAXnwsr84eiAYA kTINA91Ah9IyfUtSdtpEi0XGvgQMJebg/VIDUGW/zLaUXgJlkKbH91vbcNxdhgyLzW4USZZi+rWW RkUBK4EPM1xzzOiNGShrTLQLye/djHETlEWiBiy78JQoxstPtyReqFRTdl9p7L3m32R8S/FJqdws rSUJn7QdUgUljHUJ3jgJW+vYDock7op0iy2jQBhMfQLy2hHnbr3fIKRBGonTBpX/co/rdsCnX3gC n37xCeyzMie1h2J0z+3cy7DloqMh59ZtXOMp4aZHQ+0Bse6752Sle1kvjOnF/AvAjIcjv9onkhbA C80W4ZAujgWM+Sv9iyBJed3Zlq7V5qAMi0DkgtNj+b30E42AhXOqNumLNDiNBzKDUdOt5jCkmpgy EGsRdlp++vLHTVAC2oBRuiuZ6uC2WhXXTCgcOu/Dm2EMHR7jovZTU7bpatEmXJgyQsbEwKIgg8Hi MxVJxW/Ec99onmIcY8c+js7Cmjds4pbRTDW5wEhxHEewTfmaupLm1L3x/6SabHy3jGt6gZ/72lP4 v55/EtdmLM6oKFSo6wCMz92f0T5H1vLPeFe9V9Wcv3fN/oqqWm3UBPEZz0RQkMTnTTn2jL0KIZGK bA3OKdf8MWfygityDsHTnI4kpkXoyI5KKP2DwTBtZnjQowAt515kr9Rm3k/AlXQpNByte0dhheU1 azgLRFibvQACDftcX5KfXUKjEOnXKExLjucmmICbUQykAlsyAEhmPyyBF36EB7UZu/1AvPUXi3BI NtFqRhqF8ArmrDmPnZ+flmx+ZRQCIUzD3Gf8OYphJrM/9SQsSNXhVHSJDriIdB8Ltwp6uNwYxYR/ Nw1Fx6dfeBL/8IW34eVjqc+Y/ThhveEiribxHuP/COvXzAqhdJwkP+NsuHcpYmejRAzLe/PvRQHT 9OevUz3DsswvMvPZ989kyQhJZhX4nriWWqASvlOLa85uR5ENIu0RViazWT5fuSek5pyHAcq+FpFd GJmt8OcgJjlfLEKlUn0Wr8L7s5uC2C95mJiqENIEQSI3lJU2YCVvEDm8zPfz55G2qSIcxoEs+dXo QDNTjilxboEVocTcsk0v9RSWpPq1eU4ZC0njuxh7NsDjPO6Oy2vg54z6A6m8MoUz323jul3g0y88 jk9//Qnsw5+nN3GRJDz93itX7kaZpauosIyFPbEa/MenXZ1g7P40vVwatZhYL+KkrGKM3cuK50hP 7FmH6s7TIp/uuXz/fXZP4nwzy12RYZrEILsLMdzz1U4yTuJde46+9gAMUBLEqav6drTmoaQjopHl 3pzX/x977/ekWXZdCa19zr1fVvWv6m51S60fbrttWf41DuxxwDAzhGMYjwMQJggcQAz8B/DEAy/w Ynjigb+AN4KXCQImmMGAZxy2sZnRmPEw2EjWj7A8I8uWJbXUXV3VVdWV+d1zzuZhr7XPzerM7FYr M2yDr6JVlZWZ33e/c849Z++111qbsQMkedbr987O01xjcsna91a87usGqgBoPpRHATAwdzZsxzMs ZeeZB7mjjCwJlh0gMoU7rP8KeS2Tww7Ev++dbMNBV4kg8zDEARRjO22a02RCKIE2gZ3stNMpVj50 Kl9lnRrI3DYday+5/vPXfg2rb9gLhfRZU/8AnYZxQ8UKTs/OJti5q3bo8/DcYN4oeaun5kK5PQx4 /fQWfvHNv4Cvn93BwPlKxeNxgl+/90nAgH/lzldwKLvT0iYl2ccQtoXMV8d0fEqGozZRWxGdlHb3 jfM+e6FHGJl7Vz5Yk/ob6aNYdLVy3tkPIcF4cM65fIZHOXbfyGRZ1gnumizbMOcTEzOKqlDBsswU Z2HpEGbYV72M4y5PxqXKm9HmffLzFZvrJMqlgNymRLlOb43dZ7vO6ya2liGUs5PskCEeItyGR47Z ewzy6I62hRhDjSWN5TSFXRl+WUVrHQDLd6yzR/knNpGQe3KBWUUfjiixV2ytxe/6rKfr9UO+ELLO kCQPijWMG0pJnYJkvfqMvgvf0nTygmvxDQs2LGg41IEVHSfVsVpHRcNqDRUbqm9YbaCO+PtJGXhq NdxeDSs6VutYvMWf6DjYyNc5KQOHChxKj59F/NxaOg7F8cr6Nn7uQ1/Aq7feAi7glw9UfObea/iH 917D475G6Grq5cB0yg3b1kkkqlyb57USkns7w3vNRbEYn94aLcGccvGBMYDewhK7d9GO53oxFPQ2 qC406j+AWtcgLvXBno3xs5Gnz3Vy3DauM643rtX9egrguMSZzfWg/8xKkHQUoDJt6H2gt53dGdeW 7t092oHJgcgRNPjRPdeQUTEZwCvXZQ8ykd/Awx8zds2Xu49AXEn3NCPJI9xWYLtaJwGdUFbRrYU7 XiddU5puPqfobUMtRmBmOrpG3/bKEA7JJNzacaYUTAtk4liLTaotgNnhxyLkZJi4HtY0GlVtuJZC GvM0MR0+0PqGSXu+cICgVKU3AmkyNc1QOfgHVtRZV9TUGZKmaIbpULjwxLjFRSCLRqFgeD16Qy2G j5/cx7/10hfx0vrwwts88wN+8+3vw2++/b1AUZ2cQBbD38O6oI8WY0VjU83fQhp0aCRinFrfIB+B 2bBFW/V0UIowPsL3pEEPaS1sRmm8o0gdIswuBejtmJWEiBgjpQveiKjnFa1t9PJzjL5RSKRUkund CO2IaN1hGqMIlGuVzkyHwzo5Ax7zO7xnqU/rMFJKtlpn6hhRbqS/x+0s003R09OH5JqvGxADoQ3f 6cHJo8/24Lp8gn3IUEnoa4R967piPRyy5tz2ZhDcgjMP9EnwkRebQrBo3V3Plf0kEXaXsg6QtVUu SLLYWtsYwu06DRv9+yQyAXJjeC8QULcPyFIsLun2BVg1Gofo/cB7jfGYnYvqMv0JU4qaklYRr7Ar S8XLfni9j3//pf8bHz+5i4J3Vy6UDvz6Wz+As65TnnOnNMqmExEcqWcHP4lMVhSSRd19gwg05+6P o7gPkYPmi6wePDmPc6SZJuR7DubUNv0IeA91qdl5GMCOOyLkH/meRsAaAIVRHbUumU6p21Rd1pxD fX4dSPr6cHKyS4GmhLzSRFYpXJbQPbwGYDeHAdxIFcDhGK3vONqUbUo62mKRBDtv56VGtLMYsNSC dtzQtiO57fufo6xXXHrEia1TwkBLaP4Jd3jv2I7HBGxqCdRflt3io1d2GKriJMRTlwCSwCQ52UzA EnlPe+egdw2PD4w29Q1hY94T04iNJRbgstTUSgDg+/Zz9yL/wRg3S/IV8nD12MCArKToSdiOW6QD L/wuXj25i0vTgfuv4TP3X8NpW8iPN2CEI1FBlOgWtXbnQ5sOONx0Rp8AKvg5KnkV8BH9F/v8LDOy Ix6iDX/bqMmIBzycfkZuwEutAaQNMUn3Kj3Pdt1jdCylIuzmZsQIp07AB7VHrIK0jetmJ/hxcQyA djwm+Ht+fuhU1DvadoSPEQfZENhZ0bYtelSmLsJ27cd3XIEbAAGufwMYLhZpnPwW7rM6MXrf9b23 yddutAyXK+RwoK7L5MwDaF02XGSDFUtugfL41nosY7Pkkw/Ez0pnH/X8MLd0eHL443c9ufTgSQyx 4YY4DTO/i78XWI2fsfdo46Twc+sNQNyjIgtNsXjqfQxsraWmwGqYicRTVaL+Do6Bni2dMCatwLxf qzX49SPu+XA4YMDx0fUe/s0Pff4904F/9OA1NDfeY6Qo3aktcHA846RclhXHbYNrg7PAVzZFCGaT z+GIvJ1PfuT7oesonH9VBDX+MS2V0RTnjLl3XQ/UBTRqLDo2MQQRkmtJxmOuY1wdRmfjim1r5+Yc ZXIVItociRFJVxLrr6XRjebXCSNJAxP3IW+BWL9WY75b76lZCX5FmVHDDVzXXgUYBQ1OXjYAg+q9 3MkF1brtNOuGdVmnMcMupAWyIT2sAAAgAElEQVRi4I7Hs9jdzRJkUsibvnDicFOBKAR98vsDZCzF YO4J1qV3AE/OeFOjoUWdYXjZI8T8PEWtuSQfxZUbdZzyzs8bRJmw4GZ7NJ6UVoInMcr8nCLUFHHq EYSU+2cH/Or9H8EXHr2CD0oXdwCbX34ePB4n+I17n8Rn7n8/3m8q6u/zJ9/Pz/1n3/urwDjmD0a5 VXZesw03fMCH/PjluSCH3wit9q3cvDegWkaAqhSUqo7U8YYK/YV/mDY2RCq70qrsXGszwzlqtOzI YMkGAMBmKtkiDzNNJdAp5uVNXNe+ARQHaQAFY2wMY+KhUYgPy2yPbKkBQ2VOjQQ+fASzDn3gZD1g jAgt4bM1lEwwjtsWwFwiz5F76sEppWLbjtn/Xa+tPHJyw+MS2Oh7m/Aybcm6nIpHhKlnp6c4uXVy TuZ74eVIUGuMgbojGxVHhMO813VZQzLNcNiw58zH6f64r/iVez+Mzz76OMYNOcfqGqg4+p+MwGn0 hqUg6b8R7k/jDs3bLM0y9XPW3T0o5cu6kFzTMxcfNPgU447fQAB8xDmsoDGFVMu0ZQntgdu0aJtk pkl5nvfkMFZARjZ08dzgY7NyAMEfWMshSIRMW28iDLh+KvAgw990QsUHUH4bIM1gqBolu9lHnjt7 m7bJs1Ns/C5g2NfjB1H8pZYZXYDqPsmIOfx9yE8gfk45taoA2tWzIUiREpChp8RNBAjVB673WFjR lxBY1uXSuWqtZRkpeAjhpCMabNSVO9ZlnffiYKqyt4t2vNNW/Nr9H8ZnH33sxh/+P+lLzLhlXabJ qdBMaH46U+9JmxU+oPFTD0ZFaulSxbmWx2NrLRunwLkWVX3J3QZY1gNOTk4SpNRp3XrMs9iTad7q IihxQyDtV2VlH4MVjehKJLfjm7puQA0Y7cGnnNRzYFzIbT5Ygzlz5DsxcPRHI+hRyhI1fADY5Z1m hrIsabQRXIC5C6tbbmtb7NpAkmS21rGuK7pHvblY5JON5cbG1/TCXDfg6vh8IGBkBvSRebdZNMTw MZXvF11lqcBoaKPTlTbueeEDr/cwROpjTg0EYqE0AqgPxm386j09/H/6Zcff9VVkI8YvmfqJkNXa 9FUcoyfRRz4CQHgWGAxqX5bWaDtcI0k/jDgHK0mdZLW4whNgjA7s0gQnDtJ3kacwpvACCIziuLVs zCKSk1WJnTzFSRJfAcJ1ADMzP1dO+y6H9bpeSJfBuxDYolO6UbKLcKaZaPqsEASC3llWYpjbBzpr tT565u22z9czRJ52Tpan+8gwsDNFEIIM97yXcBraUrEWjNfBVuVC2nmyiDOwc/Mp1HcL8UkZ8gWX S9E4ItLxMcIKDbTNGiO08LSITrcfjpOPEWH/Wz+Ezz76BAZm19//L19tO8K4loTs51izItNVXWH4 v7dFgyoJGWbH/CtU9z6ibXmgiqw2qJrV0NuGdtzSjwCDFQ6mttu2Jfq/0IVKKWX8zID3Bu8dB1rD q3QNH7EuBu1G3FG1Qd0U+sfrBqoACPZ2Iu0l12fszAsW1lH1AVUexA7gyxiNm12y+zj5Uo3J3htm pAADgb4Oio6W8w69rAaIsisa53CWZ8BNBsY2WoEpbG3LyZDEUxJTYM7Te23Ole21ZZShTSdCwyCc gPXod1GKLZR7v/7gR/C5d24+5//TdMnRCAZsx1lGAyK8NxgOhwNTf880PucJiEjAMc02M2SfqcDo HcfjEY5wbUr6rpUkEc2L1anW4jVtvs/KXhFKVTIpsfP3VLNfwo7mDgLT71FSvo7r+rUAhmZw2JhE ERCdjRkBzm1rFiGP6MPDPTGB9MzvbFPdjhnms9YX5SUOpqoI67oSKGuJ9ItLsSwLGXjBHVC/PuP3 Zgph+RpmBeu6KP4H9jbdLElq9xcOcTkGsOFQHctaiScE628Mctppx91asOZWtc8ajof9Nn75/g9d GvYbHD906+v49Ie+iFv+zi6UtOw+O5h/GtjlV6G0GeqysKa/ZP47DTHiHWbObBBeNigY0gOnh6S1 hnVdIX+EfaVED20YrYZ92mE94L/6o5/F5uuFn02t33WKp5tvEsqibl5KkI0U4oP3qENnUGBT5UnI KGFuzPRsXM/LlcUtUXdl3bsMSiVyKqgpGw92ZMk52G/qBoNb8DG0YThBToGCdoP5P3Aj7cE9olwv AEYaHW5sb207QFN7wejidvs8nY2BvCOpwGqkMLvCxgvJFMJKRbVZJ45IYNpG99Z5AheCjzHInR2M 3YHjtmFdD4D3qAHv8IjOco+aOACG3nbMsR2IdPn4gPLS+A2dHu6IMJKvOzej+J132opfvqew/90n v2HgB2+9jk+/+Hm8sJyFaKZUuPLTYsA4Yl1m7wQbDTY6ZGZro2MpBvgGs2ht3iTKInZj5inHDexi oT4+JtNZ2qy1Ir4VHvgByionjvePRT5g1XCyVIy+zdP6iauPQS5BRXB5Yu61HoYP9OMWYCw3MTPD cTuSts2eEzQK7Y0K++FABf37l8SuZK8eEE/FGC15BgpMpQ3Y5/tm4UOJFjyBKA9Gbh9j6Rmpqh15 oUelGgGYR6pcl0NiTANkyF759H3n1/VrAeC9ALBqKHY+ZJIqT7lPlkyACeCQnSc0HIja6rIeCNTE Aim15IM+c8JYGEn1ZX6vr8/1JeD9qHGFKhYBxs2utTrVsqEHiEgzv4RKdHztGeJdPkIyN0mLaN6/ Go+EP2Fl2Ot4py/439++HO03OD51+3X8ay9+Cc/gYRqS7HsuDpqXyG9Bp+besaYozGYapFNTIqDZ sNMz1B67fLy3MN+IU7+fiwam7+OcI31mvf9VTkrZjKWULIvpwHCXsrMwWjvE+vERFHM8kZoxxZr6 gnCIQt6vJUlsXQ9hE8/DaK6diP6iNfoTvRUpKCpMOQCkHmZ+f+ycsPYdmirXEL0PFTGMgWt/+nEj YiD0fCDhkL45nunZAssQ4RHgU/aJkR19hyiariYZg1RR0YEpjKlRk2/sBaB/n6U9AnVFXWOoHa+G 1kNjXitLeqPheDyDykZwT9BH4p9MZYDZQy9ilZSUwq+eqXNcfVFVKW5alklB7qPh7e2Av/fWj+Kf PPiey8P+29/Ap5//bbxU76MuBbVECqHXUdfjee+TMg1o8wF7Hoy8R21kQX8NU1QYsjX4xF/UnUg8 j/i3SLEAefw73y8KKNEyfPQQzAzq6C+7jOPt/NnoEBQiKrUkj2rAcaYCnHeD53iENLinwMe57kL4 E+G8fA/WZcm1Kx+L2PunGEtjplb2cv7R2o51FJ4GEnRFutDz9zVHY7T899ikZnOdG3n6cSMOIy5H aZRSUcuSO3t4pMvxxdKBZbBzsKEQ5Y3SjELltjWMxhr4AAU0BowQzMgZRk40fet56mdkMDxDWTjS XSZdi/j+q4QesqrOE7Pn33vrcP5pCFPIOBuMSO7l57+ZkWsuXz3W91Gw1jXvFwM481v4lXs/gs8+ +p4L0f6CgU/d/iZ+7sXP4/l6jGoB5deVvnVKoeLIln5i/inAM7kXsFn7hspbIeFtWwtgaodww4M7 r5QqpeCtE1uZ3gy9dRyPLfJnsDNAqcAAallSJnzRpXp63zrXhcBTRmQMxnqbXYGni9GMPJ0+/YfD If6OqADoc0bVaqRRLOgqVFDi39s0u1WUGaXHMcfNLUWOznsoCPcrraGqRrWMCNqxhZyYLldOkVDo A/ymnv+b6AwUNq/uIdntrppo7IpD/0vii3bXEj+fnXAA+aOXpaaWAAby5Ftyq8XzD94+Ms8cfF23 aE1VSkk/t8YecK0F4gt6sIGn0yAAs7UNpU5evRsjFx32cDR2zemj47gdsa8YXzBCGWpaMZSl5Gcd mM4694+GX7v/Q/jsJWi/wfHJW9/Ezzz7u3i2PMrPbbUCPKUUBstY1eHYOn0MvCcgBhN5iSVTpgvZ 3JSmHmMMbH3DwOAJPtB9YOvhBuxwcv+jH6TOQL1WrQWHQ6Rcqg61vsWcGK7UUEypNSTfDxBW6keP nNtMKduIdVFViWLTTRaKBkG/7l2WUdMNmes0/qSpivfskajXPLYj2ug47hSdMP7HdWbVUppsRcpJ 6ghcvSwIKDOalZq1j8lzUArzX/4XV5wuH+C6dhCw22wvUdR9J8PxEkCQdjdMQMj4fbNBUKTHrskK wmyHpZwpwllJLoXUxvcDjGutZbchWUFn/7eq5o4GAUpZImwi/TjDROTX2YDU50ZTCWCep4FefP3X 3/g0JmR48aU8vHu5POc/+WN8+vnP4oWTDfAgCGFhXsq250Kde+8EwYivLIX9D+WDAOoywFA0zDLX 9RAPDTsKqXlmI6CrHnaKtIYPtNbYwjvGsrcNKr8JrIVFFCH7bifhRjjMhetqdByqsRq0UWx0jKpO b5k7B2mns/PTgHvMr1ySJMHFiAdZaZg0Jq01LCub2fLB6z5xpEgXBkCtBgDUlQQwnweRqixm57Uc Anb3PSjqruys5q1QJyiwJHhDIcC1bwDmaNH6SQNRsJ2dTbHOCDum3jpLcEs+UL03MgYZMg2VmybX enAxl7LMWqlOmTHtooYMPjVuI06bZZUlGcM8hoHZjovgTuTpsYOPTjBpeJ6oeo14HEPLIO98uyKw uqjE9R2NLwY+efINfPrFz+FZPIaz+chS4+HUSdOYSoF8iMEKSKkFx+0IL7GgW492VTKkHJ0Cq9Gx HTcs1M47kOGwsI7tuEXtHXF6hqgpfO3jtKUgh+i7lxnKCiCO/yId1GZ+0RX3SAdebl5C+pe6npvz CLnnw15KCRkzS8KtHXFYD4ADS5nzGhtItDkLPAkAImVQE1UdPrFmNGYz/Ffpsfd5+KSxZ5lW5PA4 IBeRfZh6lLJkupJNVgW8/lkAAQeCQudEiWGggwqBmTpPb3gw/fT3icrSzA2q9RIsw8j66HB2sjGE e5Dqudyh4z3IACOgIk6CTB1LtRQPtXYkeCinIb7v7nUnGCMAk6EzAaGaVOCbIW8YHD9465v42ec+ j+fradwv3XNSQMVadICWkafLULO1jZ18BN6FkEmfR7VsOfcc1mX33orS9PmjaWXrWwKvArPUyHSC jgIZe4JclkIr3gvTn8sunZbihDhBREAagIF1WWAW89AILkKAnAEg2HdyOOR9RDje0hMi142B6cL8 vPOzM7nxwchpJBAoq/n0r2SK61rrPnLM5WkwzXI4ZuTGrMuKth0zgr6JHeAGDEF86MFXqWu4Y1lX WI320dJPg1znEL1EON4He/WVkn3h+k7OO5lSkZ9FbllJ6I9yUqr2as1afqmVba2ixKP+f87NwU09 DOIMitwvatwLySydeaP6+FmNkNFKCa9Bi5zzJuq1Qvt/7sXP4eXDw1CtmcFKRXdPvzmwrCr9wCCG Eq/g+W8OUHM/y46WxBnLuQhD1ErhE1hWEb/eMvQHpreD8mQebGhjJKbiMPbyoy8BLGv8e4/8d11l 8vXj56OEK0ku9JmtwGqNKHHHv09fP76X6lNi+fXRs6+imzCfABo2aj6ExWVezhJqZJKWPQKXZc3x 0ZqUZ0OjpqAwBS5L/KkdNu6JYKQ0BdqGDPj8568XA7gBHkDp8mGPcBAZivWtnXN9CS68BymDo6te Ac4wbmoH8qAg4hzIbwYTRFrhmHm5Sz5LPbcIONxoB9/XB4gYszd8dqLdVy2Apa4wm114LfM0yxQB w1PUc11XwcAP3voGPv38Z/GMP4T4EokWW0n7MrPwzxe9uFpB33oas8YKQ4SghS20rHIeiLALUOXP D5pUwAOtl9tT7z3K0zygalny9Ss7CmUvBYbmcCQiLvcg9+gwfFXgFPyQ+Bnx5ifmwooFU76+zYpN oPyTwwAg0z490UPiIIv+BtUq00dGebVOY9sR+gB9ltE9761axWE9ZIUFYEXA6AFohqXUc2PhnEdV S7TW1DFYHIsbggCuHwOoji4QJHLzArSGENA9YeZBm+Vs+Fiizms0/VTuKCmxpLCVZpwRpgf4Ehfh s9GBKglwm3mos2GjRR+A1kggWRaUQQAn4gosdU1wKamvCMAq7r2i6NQaHVKHlVJpS3U9l9D+n73z eTyNBzx9QuIqQUnet0LoSCJJqy44OTlE7skwFUmhpRe/98hzd4V4edpHvm8wnx76lfZfjnBtgrOK wWagMQdKi5acN/WI7ETzC51xWtsY4V2xrmrQpZelhmzWnWKcmEuHwLya9Xog5rrapP9mjZo59t7S u7dGMxpnKgWoffoou03d4/8MhmWtGD3Wq6Ti4fcQ67d7Q60L10aZOE2S3chIxORfDEeC1jP399yQ rvO6/ipA+GjHY9RnWMXvhc2RC20OxL+UguPxGBgBKwBxkjM39JBkwixln0jAxWjIIOlkGEXIK67W aNx4WA8RohKUKaWwHTQwtgAHs9FoqWnHREOoOHU9wkhYaLXlXBRYUaQ0nV53l03Vf/qxX8IBoUlX 9UHlOIGQ4aE3HWLgHUsJDYLGsbCVtcdAAQyt40EqURbsKqeKgEW5KRdfjOM0oUzPep7EU9q6wISQ 07tAzDXNUSOPQKDgth1RasU7beD2UnKT0ngl4s+wNxmDl4xbrBMGL4Z3iW80/hl6M40J1mlPA5eF EnJRwpnIYGsbU8mCQa2IkVBVlzWp1bwZzR7U3zLHZttQl4pGNL+ybToQLdRmu4o49VvrxJGAfefg SDEC0B2JP13/dRN+AC0ozZMYA+ZZgCdBRd144+SgDBIsoTFvr1x06yFOHD2gqjAw9QTI5rJ9Idmn IehaQwC0rCu88JecnW9HAJOdSsBYWJjAjFmWzOIUmwKn0QJI0uJXGRG4fCEf/IhDId+AyDxsAlWt N6zLAWftDNaj1BZ8h5LosTYeDnO4ByNQ5cgf52kVxJI+Fy/B2Sg3GU/vaWUdXWtL2rVNMRddiDm2 mWoR1zH0fG2Nf4hdyM6sbK1WAvlWkDx84LCuQfbyK3IAVV3MOG8dVqYbsSjNcKdUfD4wxcI7Qk7A y7JMuzd+7gJkCU4RjkxVz05PUYvBSMwBBA4jre+0HsRGXZcgwFEYk2NvYLpZDLWSvuwK9QEZ6YR8 XsS1vaP2v3f5GH2A6wb0pD5MJgckoNQl2HXrshIPcOaP6vrbz4FQRrcdM4uaLB/+WmriCut6iAe2 hnHok+w7WUen8mupk9PNkzPCx+Df64QQR1sNSjR5kxRjNA4RmadQ+BL3ZsQtLtuvU34sb0LWyjud aMMfruPk5FY8/CVqwxNX2OnIbW44s5FpD3NTnyYjctPJMJyb2La1NNUI1STBLzDiGQEuStY6+nxI o6MPmWzclJbKhwzhlNN7A7pYoBxTRYMETZUv16WyFfnFIyeSzlQoEohTvu1gSN13vxNtuVpvuUmk FVv6/NMclt/fjkdqINiKvlSsy4JKZ2oxDHk25Ngvy5IboCzn5QsY63GZGA0UPY0sOe/txFufKlaV Am/quoHWYD4Gc9S6rkFKkZU1J6iQSdWbDEAUCfR3aat76zicnKBw91d9tbeWD5tSgSj1lWzOIFLM 1jYsdUkjTgC5MbStodCWS3XxXCwgurv37l9qhu1h5RSNNuqyUsG1I9hcOkZgPtgyxwQi5RFfopHs 0rZjmlFqgURNPx4+2YYdDidhLy3G4hhxyi1qyhHEnjEa7h2BN/pT+MKjZ/H7j5/B231F84LVOl5c N3zf7VP8C7ffxEuHhttLJ6FFrDs/l271NhmZg6lJ54YeklvDNjq++PgF/Ojtt0L6y3E6np3S2SeI Rf2KcdPDKvOUgZFry0k7LnUh7gGmUAtLpNo4hPrHJlqWXZnTRs51tDcbSWSTK9TUSUiEJBtyvh5T K0c0ny1lcgek/ahV883DkZ4VrW2Z2sYhp76BalH3Pp69D3Bdvyvw8J7NObbOXMh2ef0EXdZlTY82 MfkyvPc4pdfDgVyB3WnHXHXbtmS9aTsu8ulrHbaSqcWFmw+yzeaT0quf33i4vat6UGpuWJm6jI7e InUZAyicXIe49xfP2J7WWWpIV4MFxtckkDh6CxNTnkTCBooVuKlFV4tNoxRsxzNImqqoHZgId2x+ js89uoPfuv8cvnx6B+0JF+BTVDzoB3z19Gn85r3n8cNPPcBfvnMXn7z9DiTGyjbtrU8J7ejJtuxN HW2mK+/vPb6DX3zjI/jUx++hVAms4hTMA8LsnHruyauNDveQ9aoTkdq3yahDD1TbNrTesYwFms5t 22ZUyDB+O56Fmq/P1melGLbtGJ4I23G+3xg4ObmVbsH70zo2G0ZZTCnVRKRQvSg1plJKgcnpDM2x 6qMnqct2fQ1A7OzHvv3tay0D3kgEIDBroR346ekpbt26RebelNmenZ1R/TbzyVqXdMQdY8Qk1Rle wR1tdJRBOit35ar694gQTUo9dd4p4mMTYAtwTyrFKVuN07kmJztSTIWanmG/crayi3DOjmc4OZzs mke8+5ItuLoRpZkJ+wREiY9hJmhrBU9mJOo8gUpdUGrYZS2k3yLr8spP40Rubvg/77+AX7n3YTzo 706ZnryOXvHZR8/ja2e38dfufAt/5YV7c4OG7mGe+rnpGqnEbYM78IenT+HvfPsVPBgLyrKgFirg PADfluYs7cp7UlgtJmi09So5Fr0PVAPaEJLPaoSTwkxQONR4NQE8GdQCM+oriNO+LkvO7ZQ1F9Ra cHZ2isPhEFGfGnly3HuPfgaJFen0Xxc0As4YAVYDUSqc/RTVLWh2B7p+VsluXK//Jccwm4BYrQWH kwOibIKQ4W7RP0997xyDBhhxeqzrGrJO82mhZZYPsRhr2TcNXPRclAsppb1vLAcJYY7JEEPMiJof tw2HdU0psthmS62oS2FoB2r0C0ZvgWtU0oANOB7P6FgTLLrL5mx4D4Q8HWRCAjrIbDPKQtfDytIX 5bO9AQj/wNi0wq0ICJJVtLyOCkl24eFncTP8xlsv4Rff+Cge9vU9H/79dbed4H+5+zH86t2XcdY4 NnBYUSUnHpCYS8q4qwGl4CunT+G/+9ZruNsPqDYw2obteJpheJTGmEZwHVx2awaw3DpwdvYYwBRO jX0pmUd+ozxZIF/MiZx/wNAeXJcBIqds2bX50wWoWPpSHo+nGL2FEzCj1Oxf6DEXdVHkodJkfLbY qJf8HADJUUmY67FmDci+lyAIeEObwA1QgUuPkhYAUm41pwrh03+NOd+yrPEAqTU28y8BXzJvlAOw XmfmxdGJRieS7R5YZ7qgAXR48MDNmOOp5t1DWswNBwANO6bISG43+kCGadhpZAyWumTEcuHl0SNO XZICLAoQruiEWw+QaaiqHLFB7sdRAhRRn4nM955uQlGnXvFP376DX37rw+j2wab76BX/4N5L+OLZ hwCenpGqTaOOwVJkYACOLz56Fv/DG6/i0YjTeDXH1vjZMKOoQXNVd6T45bIrP9MSpCtZfCU/P4Fn gqnqz2CCfUHQNeZwD2LCkYpPgdBS5CWf3x2HwwkAbrKMcguFQfbEnIsrsWVvyZpt8eCIMuO2vStd yLWq6PMGQcAbogID5q4znyj7wNnxGOE3mU+RmzMi4II6np3Boe4qJbXskfeT2jmIcCfl1hjiIV/H +fci9h4LjQGoAfDpglOsEmAk5bOHtVOtKx/SXcNPlslickJ0A7ICZSgZZcGLdwArBaenpzhuLf3t Ox1kIFUdx6hITGMFrQe6Hzk4cjxOH5/lvwPGvFGCGcfXHh/wmbdfRrvwboBnyoa/fueb+EvPfBuH CxqE6no4Kn757ks42ySAivFr9PNTe2uzgt8/u4O/+8bH8EY75DicmE5gYKHVlTb8ZT1EyHxFW3VZ u7XW4STowCyqFAgqRPypuVs4hgva1udmbSXZi8wo0dpIRD46VsUBFkI1sCFpWH01elGoRT2Mbczc Aav5mvF7K6sFJedDvzuG4/T0FK11HI9bzGv3vC/5RExacKz1rz948KcdA7ABD2LFrWWN3Y3Kv0OS bSIk0mKHAScnt7Adz6jWm3Vpsf1COhr/rnZdJycnuYMG96VkeVGhYRA0ZsslhdNZAwZP+iLXoI1g VoRiRnbi1kfIY9sGMynkgkW3rodgfun1GZpfdLW2Yd2BkEpb9j+u0C92flJai+FwckjLcZ1ky8K0 hGq4iilNdiv4nQfP4uvH20+E/Y7n6hF//c438Yn1IX71/sfxe6fPYrjhuWXDLdvw7e0W/NyJbPj2 dgu/9ehD+OnljQQ7Zystw6Ne8E/vP4e/9+YrOEM5956vHB7h5EBXIitMfUQJDyB4Wa9SSjptuhrX h6H6LmUDYqO3wB8q0zXhPERwACBTq0GsSozUIJuRH+KyQbMsH6vcGetLbMFIF6JJ6oCZUxJ94HtN S3dVZyJ9IQZFt6bGA2GMgWUvwkp8ynETacC1RwBmwbeVS2zYMpXkjgf6G2BXKQUnt25lfTY2hJZ8 aLHvCsFEdfsBpkqvLrO1cvzsLNmUUuiqaxm2gmWW49kR2/E4S3fu+TqJULPls7rLbMcjYMZyG92A WGpSrb3WmuDnhQNO5FtVjgQfDRnW6j0B+s2r3qwS6JjWXGZIB99gnfXkvd/fFvze4+fgOH9oPFM2 /Nsv/hF+6qlv4TMPP4ovnj6Hjopnl46/+fIf4j/6xD/HTz5z/6LZxe88fAFHj5O+ULlZlwWvH1f8 T69/GL909yM4Azv38HIM/MCtdwKodY8uzaZuUWy5vczW6xePW4XajC/rIUHXw+GEaRrvsCgN6Vn5 KbUkiUkPU9mBbAbZeMcqCU4F8YN8f0vMw8GGoCxbC6AOx+kgd23bhtY2qv3kmjz5MXEgHkLQ1KZj MTA1Mnvfi5vKAm7AE5BqwIAvEbmqWGSWyHlYUZUUbABRFgxBSVB/ixWKWRrzusj9trMtNpTW0Y5H yNarWJ0iFdqMFYovlsrTxUNocVgPKVjJJg687d5CC9+2cKktKBmuyjtAdmURmSC16CkeuuIaIzwR 9BqyilK9eDtumVeuda6N29IAACAASURBVA2xVHeAIpKlLMCYApl1WdO2ajcReHtb8PWzW+96/0/d foAfeeoRTvEUvvD4OWgZ3C4NH1sf4ZnS8clbF20AwKNW8e3HlRZqkZp94eFz+Fuvv4r/59GLOPq7 Nz+D4cX1DEbeQimVwinkA9i3FqngZeDp6CHiMUM7hgnKYVk5R3FtZ8cQ/kikxQOoHRv9B0ABEgG+ ElFK21o+hCGuCmu1Qju7w3KIv/c4uc2BhWunlhABqcOzUXyl94+1bTuLu5LCIR/BF6hqBCujVswK RvpU3BAQcAMpwBghC7WQ6DJ0SdBmqVkKMQvOeMgnwVMRbJ+9EUwrGH0jHZf14ipBDM0XRuNkzhMF iDOok3gUIpRJxuC8QP0DFdLD5JdvO2JILJJlmbqCBHAsuNqm/5FefOnwCFCEqK0TSFO9X8+xyDYD gW4POBcRv29qlxX/v5E85B4n1CNfLnQU+qt3vo1iHff7rXNcgG9vJ/iltz6G1249wC/e/QQmdDpP 80djxR8dn8JzJx2vn97CP7j/Er78+A628Oy+8DMbHGGEJYDWJzGpNyyHCIEZx1+4Cbg7UKKeLw+G KEcOdAJqpVDWyxN+0B58peR2sjct18O+d0CYmJYgGa0rtkYeBkVkYXsWoLSYo/r91htJZ0ccDiex TlHjNd1YfSi7kz2ei+XAKFNt052RrBdYXVJqnVPwU5curQ90XT8RCKVHTtvhTiCGaLwEEwrLW9um 4MQWiMHSekNd1syXCoUZCrvF0Q92WOzSR4aVEvqUGnk8Bv3/JACxOfkr+7/5ENqumnyPSAR+rpLQ esPJSZyo2zFKeYDSHKrGWKe+9LKoeqjuv7UNJ4eTLHWGcjFy4sFqiGrvaRIJTxBstiaPCCqCrtgk nyT66HphOUOxgqdKQ/GBDm00Bf/44Uv4xw9fgmPgTt1w9IrTMcG5oxf8zqMP4QvvPI8vPX5u4gRX QFMfWU/xTDk7TxbywF7GGFhIYCo7XOaicQOCMAbslItLPGROarUanZRa6ePQUVzmIwR7ty3q8EuI nJxNOAN6CTDTWUl4MjUDQPXotCfvaowCnfjCmSJi7d4zom3eMsUELK3hY8OajlapqB0DYLRxE9cN yIHHSEEPmVXHs2OmAV0+fR6ClDEch3WFeeS7ysX6TuACB/p2jBOvjATQtm3LUsxKgwVtEKM1dPHt QQ6BSCOtJd0Sw3MiVWaqRR2F43fks1/MErBST0CBRaoDuw/07XIeQEEswForhT9LloaWJfAE0Ud7 j7C4spFEOx4Tp1AJS6VDRRBLYiIz2njy8h6Gl3fqKT56coY/PHv3MlgAfHR9B2+0E5yO2/N3Yfhn Z8/GF+8Tj/7+kwd4aTmD+8B2lJOTQX0Q1cDVx+Uv2FvDMHL4MWm5GEi5r4/I3Wtd0LPXI2Juh4cl 3LKwTBo5vHnESHT/ige+tyzBtS26G23HI9wd62GdgPToUHclp9K1lmgjrnE2A4obQCWp+lfKqRgj lLPmIUTbtiPKk5FUchj+DICAw4Y7T3EwJ1rXQzqb2O7Dxa4oJx7ReJlXLTVKQzCejuebJTqC4RV1 eM96+V6quvdRM4CkC6UAlqcpECGcFpX489lbIN4QatywR7clSuk92kmrbfhlD4fcjaVsjJJfgJnS uQfyHw/Ksi50kwni1MJ+dWon3SR2wayLa/OqY7vwHu6Op2FmWEvBz7/0NbyyPkLdKfFWG/jRp+7j U7ffxqPx3XoYOp5eBgoIdJHDIFtsbbqpBL3kirEIElOn5kMbwdY2hv6YmzliM/bh2fPR4UnwkVy3 7EqPCbaOkUzQ9bCi1IL1sJJ/MPLgAiY5LdWInIdlXXMDWg8H/mwJXQtr/S6wXJwEzO5XkWpos7g5 IsD1pwDdeyLq8kjLlleTbEHANfO5wTKatNNRko4BzbCdKYFhrxpjucy1gVvmZNrpNbNpVTYGtJe4 AzLymIWWyGe7OzBCZzDJSz3xA0UGRmGOctCrrjQX2ZemTPnntL3KVurcRGFRC4f8Cm0SqmJ8lFvP isQpDhfewz+6/yI+/vJDVDO8sj7Cf/jyV/HFR8/hDAGUPVs3/NjT9/BLdz9xLvz/INfTZcOrJw+Z wkXqViwUlcDuoVOue9la368Nk7aEZb1lZ6SZJJCw6lLPP/2efBdirgZsZ0PEJQmUgpIVAY+uwVBE ZRlVKhWdNOEAcORBEIw+ADRVVUo73w35XIRXBeXuhQY4dZKZ4q0Nb711+j7jrvd3Xb8fQLWwNHE+ JRC2ExxxHwODi8A0wDoFTKChXmxfmhs5WIWvpYdCPHExMKQsK6YHbuRDoQUwFwUfMEYLysXb1nKT Uv+f2KlnEwj1ctenDKDu6iqANqFd0KLvxKuUaQuF3CziPcaujCR3HRBg3T9Iy1KwdeA33v7Ihffw pcd38LlHL+AnnrkPg+OVwxleXr6ZEUkphs8+jBz/fcf5l1xPl46Pr+8wHJ6xU6SHPMUTJL78vTzX whwu9emTrFpinnzYmL9rw87NUvX/usMvfIrM5qoF18r05pdgaa8fycaoEAg8ck37EEmLB5UpTQUj YlGY53vmqT9IJdZmcwOBwA0wAceAeZp+1rpQ6TZy0jU5+nFAdW8AGRDa7uGPJ5Fkznly8uQvVdpu aap9qsx0qtoEafbUYMs8Xu/v0wabv6fGFvwHiMZstp94yxr8VR1dzysedy3Li9xskJ9VKYs20H13 3Uxx4pZghiy1uhv+9huv4lvb7Qvv4bEv+Lt3vwe/ce8lvHlccbpFOXEbBXf7LfyDB6/gf3zrNZxe UNL7Tq/vOXmIp0rLiDB9+Q1Je9XDnZvjhQOnMHkXJfBBzP6E0Gk5HZAigoy/7UHiWfHhz9mcE3C8 z1UOLDgfqijp90NWLrOVPUA914wiE62LPOIYfaY8mdiW8X7EFN1/tuu+rr8vQDePJg9yi3QCGD0R 9cLy4KCIwvKhYlcg0LnXzqOsTsCkshTW6UEXuR7zwqIQv2Ah7hAUUGdEIVrMPFHkLFtJGZawaJJy whYr/h7dZdTRWC3J43tThXjZfEUKzFbXzEe14Yv4IUmoFqT7PP3dp8OuNhLFTeo799XTW/jD49N4 kgC0uwu8Mxb80r2P47cfvYDvPTzEs4eB+1vFV06fxZvtFsalv/udXI5/6bm751xvZivukoCqMZ2R F8PF48aeDNwcI+qbBiG5J3DN1VJQi+EoI9IdV98YyQm7kTxZp3TACCOjzugbIBYgNxn5CoyRRinF kRUjmbOWytnxaYQWaZ5l1DF7AYyc4xi9YBYKt7iJTeAGyoDewxlXnH9jmKuwlX/vM+MuJdp3yell +KCtE41bnS689EsbXRPv8ZAPavIj0opcT6UbnxgBrEQ+x9NGUlvRMrt3FI9Ioo3pOgPMUFLtzsGF 17sDUO6mxXKFsUWOQ/DNLVZ/IspTwstTErTBls4cBqiJh8JCbmSjx71+9fRp3Osn7zlXDsM3tqfx je1p4NEHmu4rrw8tZ/jIeppGH3PeGMcJ34AlP/+qe5X3wegDqMgUMvggRn8AlmHJNUhh5jJTtrlG Yi6byEkuTkbGfzDEobJtG7xaSnsBlSJpCiMfQDNghEp0uGO1JclPo8+UVnwHs51pCMu+OQ7Uq+g/ uOOVh2fXigFcewpQq0VFhaGQcvy9BZIelgjLppuKLLDUmnrkJwcyP2KN37nLnwvVACRgh9nFB0Dm hYQZICJGhvK7vAy7zUGTPYZMO+3J5H1+Ht3LFaen3mOflrhPTX2h+YhyfdWHjQsn7b24qQVNWZus 42Gr+MrxWfRrOcE/+GVw/MvPvIHFt7TAzu/pIcQu/cEcj4tfz4jt0HBkJ5TZ26JNz0l5OvKh3nXv ydfj+wMTk4jDYVZ/YqOd6eHka8zUQOw9bSj6HfEz0shFOb/wAMyYQOS1QYenxHdusAIA3BAT0N1z QFtnW+YuBHQCXAJWYGB/vSnU6T7i+N+hPto0nO40EvRk2gCGyvx5d8AZ8hvCLOLcIsvQYAJQPgac qWZ+Xzmcx8NfrGRFovLBrWUaVmQPvIuGR9xun30G4/aNbdJH/kyc9uF4E2Wpnt50cxEqVIz7P/WK 14+38d2Cd9/t9dLyGK8d3kLw6iJMiVuUVPd8uGvl6jt2JiVzzcjme6R/Qy0F4iX5SOxvh/GoMxUr ST47GulkHmT4xXor+UCa0ZNBD26JVy+qTpjT4EPVDOERfXefPXoMDMdwGqAYIJVkYj+YG9rEJW5m I7j2CKCjhBjIDN5ng0/nbh2mlD6RcgepkkjOs3j17g4oTNakDd8hyiqVWSCmIwhAardtCP886LUH EI0lYpDlYJOTyoeos/GDmkXoHnsPR6MJ5EUIZx6pgcw71W76oisaRNTk/+/bXAPg55vf07gVbWvk Dei+a62z0YU7mlc8HNe/r38nl8Hxg7ce4OXlNKS7tqM6CzRVNDOAvrVwirpiOWpMFL2pbm5q/S1d AfsM6joH/HHtBDzlCvBz/WidRFORnv9WTU1O+PmYbuTeYWp0UvOzwRGy3xbRz+hyGUZWW8z43qCt ve6FP6M5hSpUNzBX1y8GGmNk3uxz30qUW+ioMadnmJStmUGUP6BvdnDls+tUYXFMssUYjRTYQIz6 7JGECufvZgtqpialhi+7Y45zhmj8nQEEH4CLCMWgtmRCsQfAduMjf+/S8YElaaWNHnbZ/LydryFi lD5vHE8l7zs8AeZnk1YdpWBYQfN31+6fLuzBeC2Xo2DgtjWUC9r5PF/P8JNPv4G1ZsyHxE04dtk7 slh89h1f48J35LzluuCmEmNn0c6LAKrz++4gvdhgpTJ1tGxDBqaNagkXTHD9G8lhmOurshsyGO5n nwtiEfp8KHtXYMu5KrWmw7/8G0TyMvYkQFatoplprE3PdfbgcfvTjQGMYXFwjwiLZhkuhrbTUUea fW2LdalTR2+xDQTgR/tw0EsOYYUVmukZ7genP1DXyqaYanipZRgUX9J1uzjZu1IR87+Q7EY43rYj H8xGtJpagzKZa854s9I66qp69mAzyAklMCVINxr9x24zu0aUeq9zfx9RSVGI3LVon7j+1Wf/GD94 8jbqd9G41DDw0vIOfvLpN/A3nvtj/Njtt7Dau1/vx2+/iY8tD4mI048Rk5cRyDkrPu70a9ASv/iq 1IKAc+YIwFS2cpVU7xkuh+WXHh1XhSnXlhx7PNehWTAvo0GtSnoRxpsB8qNobTI2XalZLdGk1mkt BqegbM6TlbCpU+VH6073PZjK6K59dK7Xi2b0eu26BVRdS7YuvHF3Cc7GnbBx9+AhuLs7G3eCuzsJ 7oTg7u4WPMHdnRAcfs655/bt7nPl/WPcvu+98XqOsVetmrVq1ldz1vyq1h6rgtACTZBXpxBp9Jz7 dg3HAKnwOzQ1bVr7E3rNqneTBk2/MPMxfO6NbeIAv5VEBn1+rLhZ71AgsUbIRL6uz02Guzn9w+Vz Wmpp4hSJA6kcRQrxnGYR8ZsYtF5BSaksyaXcEeqnRgzzHMLpmPYUogBBukmFtBW4Lzyou9xeRv02 eudXbx8hfM+OUQWv1ntv1bw+cov0d5WFwt1un4Te7m9gTy4o83cSXZxrnK913NFlCHTjuH+xuR2d 9I4E0pNDUx9NGzQj0B6zjugiIVYsfqa+1COz/+gWypRIkkUzHqbcpJVZMUM/fiK84qeBt6v+S8VE FQFex+qnf82siR+9C3y9PhkTvscH4a/hySHApQu8TS64z0EAO2gkS5lPdHBJ02NJlL0zN3FpH78d LXL5KY0RU5RXX++ZvA93oYHGQXAO48eYYHaaFsMwRYgBCGqLPfg1VsFHYi7liDL7tqQYGDPJ7hyI rKNACOPwVQpHUlPBmCXTBJIwT4tITq7oS9nHK8VnDx5HYPv1kKnSG7UPHAhAyG1bpiptgbNl5rNP ndyzCf0hQlnPbVbA8xPFEPruj/zPi05rfR/Wj26Hi1f7tLf8Kvl9YfX52wNDfXZw99y/OLfprHXT ZHsGpaYo8ytzMXYY0sEUAnpRKhuLzxvXPHHcHjwq/XGIXwZqP/qZjzrkLe9Kb0Q3GGVdHSdt9B3c 6j1h86MYUPTjfjSCNCmU83KxhR1VGuaBN47rJoHOImw/5lFdoAlbghDwN67brqKVmVlIFPOLkh+p IT+8yaJpqfkchp0X68+4YazXnIuPxxEbpVCkeXhtD7nwAYYk01IBBlEhBVEoEWEgobgpcAf/5NgE 6UulnlJQM9ue/cnI2wtfh4aSKEyZ3iGaVri4hX1uijV3t955Qr6pY2nORB8uTZ1Hg+Cb+MgFtg/K gWjoT+pv+5Deim17VRA57+YVzto4G9X3LB9IsnCFutvkVeaeTu7Lmps1maJUMuZuLmWfow0idFSv DEimuAGs3Us5vW+b2R4jJ70ZONUQ1TPwghgX3vNc7fupel/fIj8vNAr6V9p+yPZ6ghyMXfPFym5x yQbD2DaGtWPvnsmjK+guz5Z9g7iX1KmpIDrHDBXd4zdDiNUQVRj3IsE+rF7vkUyzD2VME2eOPR2J UORFEFiUQtxpniqXbD3vC5Mpn5JFT/ueMKzOMm+o3CIbLdlG7bjCB5afJ474QVWV0OdpRw3Z5Iqc k+vaRZfDooLUuDQyr4zoAD2dFlwdctYjQrZ2ju94YtsTtGllHIXKAm2sIeJHkWlIfkydsLZpovu9 Ap8k8MxHnHtiARWOJANpZrZIdkJIWBhv4Kbr1Pwt8bnSrrlDn7kUTW68QQllBwiVLfmLWi1vTz54 vg0iw71XEu2sKyus+OwGyvcmEy231VTWCnlSbc4n8pfJFNBUepBqi6gHWd/3kfF54nPlpvXgFZoQ oE1j8nxm0gdrknEGhSZMAxcaqKHGELRJOHtn1jDa8XPzEQJE42htZ6OQt8AZFB55f8lTxnaRPvzF BgVppZAV54dq5nZDAe5x/jsOhmnsSXQBVNPJaLYyjN6pmCUdL/RwFM1yR06KeIY4iwlyT3/9/kej IqgFb90HWAUZJ38Ch4SJOPw0jtNVziGstWl9Qd+KRL44Di1xCw4dpirNpbfrdCzWlwiMl+1b7AwI 29AGnA8o+/XQ6Kr3gzsPiQ1IAWFHLT0ghdQcgsBKKvpaiLN5p7O3scr0vRrKvgSxs49Pt8uyTHc3 0ibTp90vNgEm9ZDZLdecel/M91Ybei8+o+kPnGV14ClGwXNA41y7BPE7MQ7s3/5q2Ew98yH6eBR9 NsjVqO1+udGpy/nI99YXhlSPdM/n9OwGDF/pbY5HmstfONUO6ps70+UF86jXQ68X+QL6zUabQXnz qDcZa0pRz+EpN9SLzRelLnEp72sn52P4D4rH21xtqVCAXanLmGKQsaNaTpmqDdKje0YlpMbf0sUu V/ABGG3O8dU8pOoqKR2fj2CV/FjFbcLfrdO5MAYaMrhm+rd2CQ5+fwuZIpHB/7SM4nanniDKGkTK lqGixpdHVUsrviFTS7lBCym0LTCGbQopgiEj39F02OTojUOqPz+nHmzdSxyM9omFob1y1gJy7Odi rX/piDTM0vy0htiNWmn27fdLTt/j0tZbIZJlefnO3PXqN4/2N3r9P2q79L0PUQR/pnBLpsX1Nc0r OXSSnhe6ZXXbC3jC6Nt/gHBvvHmq3UEWulpeuGg/8omqmFdj60PRcltey4NNQw6sNQ+symKoSgT1 9IkLWyv4puoIEZRlvFUa6efFPstOwvQjDvip1ZM3iwaWHnVtkNyDi1X2mqiepkr3PeRYyd9UHkky YUhKhdEtNY3pPgfIutEPJ3wW+rjkL/lW3x7//F5E+KfgDy2JJB+RtV1IOI0AB3R0pMGm1bnst66j 1NVhPRKHJzi7BwVq7EQN+rK7V7qBXx1R04MPrxvOuj4lfHhvo17pauKZIFflzdTgfCggdFSAq+/9 TrsmPtIxi9nkVzRYZjov7dkhZ0U1KNIq85TkCctlU7r0Vj3Ll/hlIR9ta4P7DOEcTHR+s+aLo8/r AyF0Pdt44TOqm6FiQHfMpaDm/XQM/XLezeDuxB+80KjNfu99Y85bHdJ5/3PhYoumUozYrtFWLJSe Olhldx+3gJoQ3+eH920+ymP/M0w1/BBBnUUdmYnAd0+MyzJ/G9eX4OUAge4lm+GYKndZtg8aWdNW b9Rk/DGQZGgYzkVWS1Hyz0g/VzUwff0RUtCBBVBH62+HAhsA5W2MR+Zvtpvbvx+0VFqvAbQYUD+X dLANctb+3F7yKqEKsOoecWThYppZkdhFq6/RN0BiYLLd83xKInByONgeU05q3V9d7oUHqgHfHJ0L u+GEHbFX2HxEOa8biUadUg179HMMZrrFo4gCwrBjLihsK71JzqWWSiPEKiy+b1NjdFoIM7E012PI kuj9eL6ZerG29kS5SlIrAgfIuIfQ5/XC0Bf0IkHyhtNKIONB14Js5RfzLiK64Mp6InjePLFXmsSg sS5VjNZYwJH81AlbgZmt+lmj3vI6q3gFx7CCHs6f7iRKQeVLeUq0xYIpVdWooUqortxke32FIrFB sGj7myr9t23Z8m4MQJJLk4tSuT4UMxZIjJIo/jAt35Ck52kStDRCaAylLjeC4M+elx66fLBVzFR+ PmIhvbmOSJyqiUODtIcgAxofqRBV9wo31m1InzPjrrT8SIx5OiacT4vDgOPZn2UwC+DtAUDtcB+k MradnMdVISUfEzhvuM06AVCG6e8ugDVzHHHhgNUblajtegMADCyQWTFve7KODzluL1QJt8LFg7nE jN/fY4WG3i5kvxCcJrHxhwPxkaFwJBm/t112wkhW7qu99blFiYmttN/ay3ryeewrt88ifPgeRLFG nPPheZ9HPdy+ugj/IOqbnc4PEn5518k7M7MMJzqztXMDO6sVS+REMo2m6guOZZ7siEvvKqTE43nP ifc0Yso27QYpsLIFfEJQIBwe3kKrRMLD5jU4P6Vv+yE4dCbsnTijqnB+5yNHHRU+UNyEtk1oCST8 3eUWe0T4lnQJqhII1FLCDTPwt/xz92HeUS92Md6ZE5xTi6EQ30QZOnhJJi2apFNU++xqzVFiy7WQ 7hsKZ2vPTfDLxXhVDVEI2AN1bL3aaMyeqZFKIytKJLhnv/cReQjtwo8F+vqB7ya9kr7w51FwaIdX M2Kxbx8ZQV98iYrpBD8w+z4Hf4zphYlqR3N82h4+ur3je0EW8hbN/RAJSisqwwjHQ2OrWkRPjsab 0do1784JsB8Et+0nSOZdlM7pQGIFxvc12WvnPef3u8P+oD11oKKBPuWJ2Yzdf64r+ukG3IUlUYXw 4VyK9ipPvgqSo1rudWY/zYwHYTdDA1uwOZjwW60gNaMrhLZqO8D38UIreF2LR9/scMg+bNBxTN9r crg6/ILoUmiOPDIsUtM3VFRiY/JEqgK9M2XYh/iA9jKlbVVV2Bdxjevu7/1LnD/+mBP1+VOpv+rp xOm5bgf3TOT3H4Qixe03G6YLeg/our7fQz65rEejNs8nj0q0/oQZ5ekacx95e0TGWTpWzGMWmLK5 evFEc3NB2vnI8/jUqN9PmiUQLekrSNV06bvRpBtze36JJ3Q1tnAe3guF7T6iHfmustVUt3iN4lZB CcQltvlNDq/1J3tRgKoPRGWUG1N+9T6lSrogmYhQaMFGGgYc9VFsjvLjctpioChmQh25afpK1piZ ZvV5Dhju6R7Wpm+37LpARb7yw3dWCk43F88GRgzRG9kQiwRK7hguOoSOZ/quFhg12wuD8CgovrPj 2heF7m+H+Ft9kAROGDyO4HEJRP6A4UazJx0feCRZsRHCK7cfG5IxVY5F8cfKQD3zsnIfPKIeco92 tCFrYayCyYzIk5pRZEFxjUsnrAw0Lofwa/AQUeP1gJ47SPQU2UeaO32CGzLJ1RhlEOkX/Mupk37P WfZK91lme1glydl6uQPS3laxh4CppLeJR1Rshf1WfSLcrf8187wWQsqE2ac7/BCT5tpp4xXHmQSV 1tkeV5upSTJ3Mh9MW+bmAbyuAGIsJVaj3ZNzJ0bh8tDuwOJG3Glwkd89Dw9DKWKc7dLtp4cwpVUk 072lfYUd44rgYMIWvI8U+uquZ7kXeBTg4poyzroT+OSsm4Ps072WyqM1gCexFcRc69fP8AlzARE/ boUL8GYm2j+PebdnYsXIr/94xm/+fu1lFc0kR7bTEUKMFVfYxo8X9qhkDzw6hDfvfneyHFZEVS/8 Wea5CVBUhdvqHJSjFRh3CYJt2MKgabQLDoXkWxVFq1GkL3OOsPzWQnSZy9cY3xW432OYpCh97U/a 4YK21tgR3Thgy3+O1ebL303RGbwbEhGj3bAhNoqfVavM38i+rMmJHcTf0ow1i7UpGZAc3sOkjNWy HJfMM87Wl/Tz69ID3kYDVI6OIuxxe/cwDIbRmeCw2A/4kCtYNptBJhbI/fObOkP9lGC4k1VsCbjJ qCLqCSw6AhauzO+ykLcw+boIwUS51/CZshRV/AcTvT52RrI/E5OEDCW6WuDevNJkh0P/4v1E5VEj tHZjPGmM4XsNkfd8DHMWie3F/UePt0W7MRTEgYBRXgdjYzRQqVzXEio7BHpuEk7YZ/2RBN9Hqyui G07W5SWCN9HBce9OxWroj7RDcfJuxJ9E0NFJKIvqKjssvFuM6eKZpVhmbgHQ7jzfQo1133ST7BeM GsVhiGxFdskBuMK/lLw9r9nKhRpSFgSUJ7Key/gExW5i+BqEL8wGJn6Hx+vBPFZpSXBx2225HDyz PcZ2Fn3ghis4gMS6XghZ83rEP5VPlQTUqxDFmnNnZFShogHYoiND7dR5Yawv33WgUJL673Cgt7sF ofp/wgFYaK8RUw+1tc9HbDWItAMG4mrAEYPrBZROPn3mRd+sSxaBoeRKw58fGZF+FMSYRl9c+3u3 N7XH6vFKkG63+PKAK7/Y9p+as/G7An94TAcHfi3mVsDRqr2yzftVfQSbR9jqcsR0eDDCs8HHnpmu zoHIg/imh3IRXntogWWSJFDl66B1jS8/izLmQZ92dms75YDiaZuRhqXdwWlpeKWN/qrkkrQOhVyy Wg/yVYW7kC17iSMmNxIftAcLylJYorm1JG0ForJikXhwH8kZbcns9/f/+i2AKSCJ9KyfBkP4bmxr 1NudmGRrV6CTpGLeLtl4VsM0fIGY5JNPHEg9NaxCplzdCkIhb/aNe1yYSDWJwVBHhFqRrcai29zt pIilo8iq5FeY+KjbKHxXjeSro3NOLTQkJe6C5tKUDlg1poxijXSFuaJaf9k3RwnW8lszAosLyabD Vqqr2hXnR50V+kjgxc9pfvJ6/BTgvELUmaWYgwZMMlVxhECmJKvSYyAWcUBf/aR346gMna++gAO5 eHRMbSsxeTXcyXfyEOgPmZemUsXrwzypz36T4oeEKZjvmTLbHOZCK4+RvhGvUtBgt2JAXR2JkCUP Wk4F87sVg+hnCpgvR/ow4ekU3SDC9HMWlCTNQMWzv3SEPhcxemxqxOhbEU2DzL9xwBF9vqst3fvO wxXcR5gIn3RlNHV9114HoFAqE16Hqj0oP5kfffxwY49re0DjxAUGOiD0nQye61i3VLIXnhCffMfM V0o1K6w6D8PursfULbJVEypplJovChbscRdC2rMqtfbbDovRnAGNpl+tIKO7PxXlEEsmr9Tly/SU eh6CT+YdrCxpTtt3DlRnhRR0XPb7MtY/zM4e8OxTuMnlVsowzYLUaOrlo+eL9T9f/fwmTWq/6TFC a4VQFS4l+IH1/OawJyRTHX7pwSIXrPJWJGq9PpCpd4D/PUUUR9YjBY5fr2SGVQInltMUXYoJw0zp G910r1hcTVopsST/TEMGBsLh+Z/4hnRaVmPmLpCNU2aUMOcdm9ZMP1Yb6WxxVsnzkAe5d48uL0sp Bpq9Jpth+/zxDujL9/tXHJZjPCbXzcFOLbwoNj6fPyJ+N637LgGfb9KNGlOah7f3acaddhETJIeR lvcOTor/EPSSUSwRSLR3r4RNUw63RS0XuHzUD/jtUOOBOljSGVMg1oMY0jaJOMwKlWOH3e6k2KVw hJgpb8zdEE2I4HZNDo7k+LwKC0uBmls44K1B65Ght+yn00ciJ2NxRKs2UysPJLeo2Ug/guxh/OlC h/QhNW25oT79RY99PXmfaztxb6z4gGfICyt3SPe91Mmyj3OAZnk9LUxNCzB5h8fm3R1dAXfkMlvL upVhAoFttwljngkb+bR0JnFKmBB2WdyOi5Shte+HmyM7bj6+S6cpBnvxnxx4cyhuP11h0Py2mRWm eDKDkLykRsi0voqXB4+IOUtwCErsrk80j14svhOiBx39WNKKPUSiQHJTxd5cXZqXMop0KYMfyTRp yG3YIWOzK68NxMlGiDXPrbUhdkK+F4bsXRH6pawv5NM5ufnQXCEE6e7eQOWEIrVfh5vvD4Pjw6nq PqpVK8bsXVCf4BWqlpCkiyEt1YYxTmiaRbZERbeUwNKLKJykdtuac63OxO7inue9JxYLFOUm17IL GofEHYTn+CyvwtCECcWC1CU7b6GsybmUIwk1wuSBPOT5cyBRQPQDRPrDqUw6HQEmUHUh7yd3mO6p Dl4riycGbLmyXGDezPs2Z4gor6fAKF7ZcOU6BYTUT3AKIboo7fa0lz9IQbA7EQ6R+353SpxuuQmY WGUgIE6mWXftZBFLunWAh/dx+6gSz8eogbZJD/+jDEQn/L0HQqFABG3y7uhfBvW4zzpR7nTVatPQ oU71NR9NAasOq+ozGQMfa9gDY1s7z5HUqwoFu1xOCLtCn6fP7CvaYIYerd0tGntPivNScMpRABwj wS7+DzboGB+5GEfJ5KV938pEIvn1OKb1lOVUDsjjL6e5MyMSBbt4B6YnWVGhSLRGWllGqcXpo6Eq q7QfVmzj0phv57P1jWJtJzBc2uzeYSQaRajFfQ+Sj7jN/JHjfPkmbSohDlLyWTtlE29ePqr/0jxZ ZljKFDHb3bnXFVlA6KaF/oCqkTjL5Scj3OEV5Y8iE2gFmei2NZrVvKGjmrJjcsJ39Ja8PfTSuuSO BxlHLgLhzcfynuCx4l1964Lh/WB9yRFbHTeYc8xoIxlTccXXPbEUjjsKT3WHFyTRCtP+rlxo3uxR T5zQUEb5lWZbbEX41Oo2JmjT4xXPiPMfCM/uAL6hC/X2gFdXCQ7gacM5CYpdntZjIrl1KzG6qfYu i6jWgJB2si4rWGZVGGwgGUw/+YJxquW2ti+G+Lrcv0gK3RlB4lguIMcLmgFZ6siRndkiZO+WbIh4 ZmKUcOtcPZhbZ3GW5r/dD8Wt1ey4D+fXawikToeNw89AqgX3YZJCfMeun9dUMyLCamZSZiYFkOaZ 6pIxiRvge32lnk7sEtjXCVyHTGrpu3F/W10tYbVF0Pq46m1hrFjLV6WUXP0gl6qXQje8DyHq6rhf e5Jy4skOZmLk0BpXl1DjzK7Cu/jeLGxhYOc38cuoD/rnldGngbVmAlZ9Uo1UmHbbBD5w+2B4Jaeh 1wvcOwRHv5gRfMxJjNO+8cdxBth9KF0uU+DLUKjQGT9KD3ZdFw+CY0u8undQaXCxRsZhu6T7miYK twBfryHKlbyAcy+xKXScqqHG4UjobHU9ymgNKz/pBvmY8reVH9NeX44Amo7vYfXMF1kOOlPmtbOK SyiSw7zdkq+ZWwbwuHmIuHMpS9GhdScw3kmETHOGEZivIj3TXUTbfIsrZkN3sTFYLA82aVxv4mhq xPuQ3OYJpeSPT5dodVj9AxqfTsyH7ZfM94m5FUOsNwCjqJrJraoC/kYSqknIURQFur7CN3si0e+6 LiIdd7FmtVLH+B/JYdgl7+uKGWOXxRkouIGUx/6VX/eZZFxAL0z66hohLVhOk+lzcHa+1eEDC915 0PnUo/vmmqkluN/a6qJR6BTPZqUf038Alklbb/bEdKphIFe0UDvQfRWFZkKWZjUHL7sZqYZ4ZqAD lLQIHLEZziXMsqcpzItznSc4WgYZE22HWLSZ2wFX/Fk//c9UNnGXM4lLTEc0ZHUdZ2owqdpamA+M wVPXa21XXOZZTzQ+As9Yvi9I619PEqjSBSjTLguFSNM+EM4FjWXLory0Y88JJ11VLzGSM9FyyLj1 hM6bFqq43QOSFDH7tqw2eLcIcLkP/d8EB+LkwDvvmBEV7NPy2dkidc2Rv1d0kX7GbHf5nlslOrtx +tGM08/tOxXRaE1eZqbSKoFFjQyVYRwe1Gdid5TqWkKFVJx22xLpCgdk3jvGOs1DlXCeUZrQXgRP a/amdSOQpjdoBDDqmhEUDIuqDCcv1G3aIajxhbVDPj4uNFrWqhyPM6H14485cPBBf7Z+ql4h7lfT d7UpKdYRQRYQ4ezpTFTeKDP8KgIwZs5FFu91Q1b8I4JvlWn2CTPQ2KBSSiUN9+MwkpqwFOeN780N D+nHilQQoqJw/FCsdbHYSim55rQU5tH90nkQ75iP0b1vWgavJTj9IPh/Mf9azln9VFwNGwVfQsKo imLSQvZywx2dz9Ua94itwmLiyCUYhWR9Vc2aIHrsUAMnlGn4E975sYokYKxXV9O2qztcJHoBPVhV gghQFVZNBYVVi/zm5bFltewGQpvhC5P4VLqb1/p1BOx7DYQuX7QoeKmKQ0xi0Lu4XmzvkJ3Sn8io b7cVcCzfE+nlPzgX5u2tgyVzDRgyMg8Um4jwHGoqKRjRkmejkwIi1ou+yh2NiV9G1Ow4/PRaEKjg qoVoWkMh75f4xuw+S7ZQzpLCC0tkrTvlLcverIHQjUDOJfiVJj2/DHXlfoBTNqawQmRj5+x6nlrL tmHUOF5pGUAkuztrLSDcgxlv/xXdHg8CgEOrv1UUwG05xphsILw9M9oCiWZvZPLy4kUsP09brbQB p4XIjXykJC3E/LXkG+pEPl/s1+VoNCKojybvIAwsp2oWMVVsY1mdzr6Sx/fvh7SElZH/aD6H3+b9 QkUPjRGs9Sl/1ggwj+2JYFxtpIFkujZb0pRsg2y9stZy6tAej5LT+Auu3FZopQHFDGZUaWoRY7RG fOh9cpIDILVF/tcy6rqSk1yVN1XEUY+KCGWCSzQxZ0FXAS6hApLCPK91X0aBEgNLkScTN/xQRV/y QAxFfsR3gzZJFPeE8G4pUyN0NdkAw9sr4fXFCiXctGuE6bmA1V4fNwCZaojwN01XIopdgZKhi3af s7DuiPGhEjLAMAi2reT6vi9yfezK9pJ422uq0RgxjsADxh/Lo8KNwkFqKgQc1aVKV2/GoxBf3HXJ +bhI4Xf2BdkiVac8Vuh7g0J/MGcnYHbz7SjB00JK8E45vudciyjmEOPKhUMZcqdZZXeC6+gX+iAe s+3IQnFxQDZPa/WznXgi390LC6eviYzCCCsDCvvnbw/pqoyjAS6aNDKyfU9gx4DCCs2K+6uj+wob otrpnFkZ+IHDgADNdPTW2nmq7b3RhKuNHn9hkgH451C/dtPwifEpePa0BNaU0ge49B11DMFInc+H cpYzOeKFAvGFMu87ROkOddqceh0nEaNmbOmPLwgWuVeXhMwXQBXqEoC1jc/bk3ZLF7GLF2Gu/JtB ORnCbS6a+af2Mb0tBtZM3U1Wxxh7BiUqNWPkXhd5npUynngaI588PupakA4sWm+fQFQxHp8eLho0 NSMr+G0YviliVaIapm7d1uhuSeDSN31hJLA2751uek5MfTF3xGJnLGAlrKquKxVRRpjNf8adXZ6y TEDcpAodJiFSZEU2nn7C9sjSCMT4kMJdHjSNDG/NIEHrVU/mpgb4EBcL7a15i88sPnwjQU8funsE mnSJKdwdBda1H69i8ckHswVRP29BtFWQyIvmqGhl06n4KH4k/RkThzCi9GOpMsh8LW+X3fuspgLQ c34F5h5jly8lF3Kzv2DT/LK7x5JMkFnjYoSEmuP1WSg0R/1mlVsvSlRBM1NrY0uqeE/wZBb9qKEx xHbp/PbiIHVSAHx24X3/UIXZAoZq2gxeWwj51nAxeNJkyEcCug9pga3aQ29X69I8XrZVmIPBlDe5 SKpXT3HQoI8iCscWi30PZBevvnLLWNg6UpESnbagNRVpTCuoR0x/qyift+b3tUKVXkVL4UsLGiER TPBdvoblUc26q8jpPSSil73GYUQ9gYR1iXUSPVLrEEmsoZst2L2efc4PBy9c1a83sltO4NQo3iRx bkrsfmQc9idb2CV2+zFizebUA2UeI4dw9SrvfP93XibhevCbQ43UACVYMLwfw/5pVgXnolCgs7ga LAca0tEeRpFX3i/YQMLSNeAb6PVedtuN5WIpuRDyfkRUBtLvuuELiGVClKkIKqilLuIQ5bZtN7Ro AR3QGJu1yXjR7/IZVD6w4GE6VVvhxBLwIUSzfK3GJILjoUXJfm8yi2H9KxlbUZZq/5tCFOhbDKGW tXnnk+So+uoWPv9Nl9AdkX4d2WPnia5sLNOC6vOv/EPnRr4OBIxAaHJILDNkjN6oK6FbtEe0kEcA ttkwMJFWSRxatBqmJ8Uh6H1GX7UJX/ON60NL62Tpk1EViVf24RenlkyvbvAvmuSWFvl268r6BS+B PljwfoCZpc+nhuwgPJZg4uAOs5jCSsVS9kQ8NLqn982ruNLabxeUrT3OEwxQqDKEzeKpzQB+vm30 pw7nYW6HukOF88n5QSkjNqwLhwxDNmXrkmzr39a+rEZep+vZScTMHrbkgG0gDgKMSrC3qJvxDtxG jPPMiQcVa2+7TsmNmXrYS5toMcLqU8ndukEAhboBP/RU00xlM0cy7hyL+0oX1Cyx/PLqIddOVD+2 jCeNHJfLwt1OQxBX6phcbRzDV5TzgGBSyo7MdoEx5LrW2PJuZexHco67iPtFpJxgnoO7QmPsaHpr K11BREFryPqowgE2FoITmrN2sGtusptB6UXEFSMdHtxwKd5xFwektaAoSnzRcZ/Dqx8QVt2NhkI+ N+0iu5eZ7lCuM+4tttZIECWc0BeGndT11i21X0zwnW3jj48jeMqXSVL5eXH6URgFR33k09Z5eCme LFoLKRqpqMadwaYlBSrg7azDUbWhkxPylqhliJzM9zgCC+ADg1UvagH1LmyRHXGfIC6ZEcOcZLO4 KXFXHB85qD6GEXe3HAbkBhC5cFrFK1NqZnwcTVcJwbNYl8HCpgs3a36TOTuRL1fZV0BrU33eTskr 1BUYqBLX1U3XU4IcJZERLqLCG6KoZoRzZm3/DrdS9v3DHJG7mqW4C/3m07r6QWZ+GEfvjMOGjZiZ jBJAjHyrAB6pSQgDhKTiEgqnPHF9Fw56J6Cn3N98zyIewsjhk9b2npIpzor6LMxM98jKjQaR5gMv J/IexdAVLm4zkyx4QnHhIFw7mOpUYL3pRUSN1Ge8LG72MInyKD5qzOgxpY9CWjV1l1UzIjgvROmD cpdda/9K3cMPzHIRJf5UmsN8zAcSKIuwNYOXgiukhjd2L7yA5/EXT19iUXqydyPFe1UfAFWricFJ 5njGKCHxyObzGky7UjiqfkYoERx+LmG582qJrXIgsp2AOPICeiSNyVQL5uFamqkIcypZCYKD2U/S 2H4q9mRQReqb2BdRjp3Womrv/UrpkYWnRXfx4CMUymprIzyDrZ3ABWT90nHddKkBlp+cGy5XjfFg pTxom7nCsUI36mY0zXTHpoegwwpRv01XZSaxqX4xJG0xYSPIo/TNVrjIXMUZTwG982lc3EV5x7TC kkQDXIAwDx5AZwlWMOb89G5VP/5mYo/MTFk2E8GQz45P3umdGccUec0Qynw30pLJVxrpMW4k7vw7 etaGxRDWfoXyj9bDS0AYSzbCJ3FWBtqqLGTv8CMYBWejL2uZ6bAr/G+oObBBtE+IX2v9KLbcRQfq ljbsvEIn9ZefTIJ35/cd5Uet6uwt9VT9ktPXxlLElq5fzCezyPoOuBzedCSLmYAiXEdBCkbv5dnf hoFirwUwUFDcQ4Ypr7FN3OUPAfa5Oq7TMwOGChc/8AKJ2GSx2NscR5ZrSjemYbc/OWQEUfj6onbQ 2oRB9eXAR58iYr3B23GWDO93my8ziWObC/oQz9svc+KdtEgYUwBHnkWOKZbLHa6B6bhpMcLS/YDx dVup/SHg/p5nqhSs78mupWImyxYhAluoofzE0yKUz+ahSqogTJ8qpRMSU2wnHnzC/t4Pu4mfq4wa Fv206J2aypip20JXt27SW0wP3JQsNMX+u75TdXO6MS0V/v20hJEP07rpKkko6iQNXzH92Bms9pgG ayIOn4QXkgWx8u4LoSNFSfzxaMUUJCglKyMERkz2oyqUGFGgW7Jm4wy28mYJ5Iygtsw4HZ+xyRuW tJdXVu3W3I/UXyA/GZim8kwmdSt86pTtPDEchq2ihGFk6hJs/KFdRNfm0Nj+NP/LLnL8Dj/ZeXP9 c1IBmRF1xWBtKvsd2G5dQcqCNYLys9SFJKaXtFzNvMOc4XS5UulO8zaeNWMRXgkCFJpOVfJ8AgwC lQw1OdVaULjRvcBNrmw8HIYXdInkitTNCaPMmF9iXj421MbXfKtG2Pvl9SpjVjwc4TBynCDyIGZx pPcxNdQ1iMYYRTk+uM5ApywYDFRrQLD56VhUFELbuUEZ1JxFF7apfgKByA+wfL/PyPIorSKyLyyA CxakZJMsDm4mceeMVva7Qp1xhQSIi6tCUYSamCMMp7AbCkoOw/TDkJvYq6jb9TZG4mZTwRo1VZkx wyjDz6IHCQCCvxYXiOID5bBCHPIXEp+jVAb4e/s03jmJiWX39FmjiYL0ZLvRBvv1ARbbVmZ0YfzK lD94jGcF33kzQk1s/KLe3N3FfSvYetf9QPqRJE1Pu+eNonM0voEhXxRIAjlAjZOI7Ln5dOPWTKdW EIDn8YO/veXuwM5r8HqCKaPxEPOyN6ebU4nhPaJhxNIEGN7MLJVEVZUqD2UmpoGnF1pCROywuB7W Li4vb7YYFRePqieOVPFUpKl6BxZngFdjbyMUo5fbMZ25DIU2SIM2vrcHjWIu3dgo6UuX0TqGdX19 is98SH4fY1uiihnuyg8qmbEPNVB0QVpRcVTKIYR32cO1onvbUazG0slV8ktGMw+Y0bHmkz2gX74K 9TJfcArx6GhD8OtUU3HHDXzP70+Qy9Ss7jjr36W5Kz6uG2YG7WCKuclFDQjzHVvFCkNxM7/dJdox BVAu8lUgUgl6HQwxLDDTgqGCIXoVKHNI2xqQA6XC2+THZYgnH10eMb6GVGpzVaGIrxpnWrwbL/+R xl9kc3WSufNV6N53Wk+PlTfTDZvThm5y284r8k12exdNp9ezT1GZof/prvMBAa+eEtwv8BDSN8wX nRuNaaFFwoszn/ODzpcfjS94rStBNMBIh+1t5PR6awVYhweHunv5JxawB91mzeWUgV80rEJTu6ve BBolK6zdgMXRVcwWPqDLo4RKt2/ScPtystkS0ZI/0n2ZphLQy6LUACTl0gpNokgFUWSuaASyZUkb UWMs3lEHxl1bJmLKwGY0hoXPYVB7RnOww85Xl017VuRYO4ckXU6zY0EZRVGoW311Hc218IE4IpwE LOykGtBXpxRjO+xODpMALy4HeiiNgmb9qIz4l+Ja6RNnDcoDP9TrkcL0cRuY4MjwMuPLfHIYU4EI HPc4uctJAGQP45ftRdB1dRnU8kAZrCtYSLw3KsudJsLcoGkmHogyebPJC22E5DhRiyyGiYED66LS SAb7vJo+4pwPfJOvG9X+3dZ9GpxRSkChyhcRz6ZdKAF5pSuEbCMUh0DhACTw+QAXubSCq76g7v7r 8XCFtP1uVSgQTxg2DlgYcEieIUUJOfhQfygsu3D/8gmRJfsJhd5ck9xbSHvg5fZ65nPn43Etmp73 8+YH/Y9PLjo6ekZsqAWhNaPwjJsyA8T4KtxOkTggdQtaRWBI03dalFTKSEUsfsrumVhzomOjX5d3 ECXMiHHMtFDi0ZYZ+Vmy/uYjBFyorZbkR5U3s60fdHhOM4SM+vp3o3xe+lj4hww4kdkN6sreM3cN 8VpMfHc/dQ5CtpYekQWJXB3zrPcDPnUCo4QpZm5/7BAYiBqLhStQsia0XPcp56U8kv+wI2KyHx5l AfuNtuXXNjEoRuwOL1QIzenCxfGSWfmDcI2pkW4NkPsm3hj3VBlKoxk9QrF9xCwn5izxIGSHRexc gix1tEk7wOawCMEDccMNhouQyd3rCYR6WeegCW39YIGc744lJD9GZ6kiJQ1B/jahde2JHXfo4Oog khkvWUnJDRbDmZQAS3vKUikrpvSdDtIZIfLp6Otu3B8iCn086+1csXOAAE6kcEgAO9QiR9C1XIQ7 MukKk1Ig0oKvm2k3PnU6XXwEVEGAYQ2wRLm9jlb0fc+O9J8W13QysmeQpBgbPgXYIMU12XmOfJLe a6NRjxzQe4PaccHylTTPpC/NUKKDOGt8GA+OXCEedTZv1NcHQBfEGycbdEuoPFE1DFwqkn5Hx3+E 7tDP0o0fikeNSeFka6l2BKyx08VcIjcyneK3YP1il5EWpzzBkrMY4Hue1qCNZ73+5IcOGXmgKCQb 3VVWPlaogx9r5BOjggkraVhXLTVIFB7BzqGdiC+3qYX8Ew0N8hoWHI/DxfK0QJ7C3muWUlLiYTEy DZhlAZ26f5PkFitsLmCQR+4TVkYFaF/0l9AeAsPHj3fgLYXeN8aHKCC60nURIkJGTCflg0tdsixY Gy9qmn2xZKgZ/HCtxr8Wa8coAohiNTXKKviNUXrslJbgrswK+9CpCSRLGojnVapaW3tXVogrKrO2 GrN9I/Q//rwQevpZjvYRdR2hxLMHVdjAE5sauFOMXIm0MQrdQQlDGwMDWS4NSX7qxe4p5OekxwzQ abv7Ze97sbf2vCvZa/ZIYew3WukNk5+UuGhr+WuSyBExn6lDyjwl69QGHpJdJcG7CndGPgyghSyO 6b4ffrSeEvc+81pBQ/LqPmdz1+qdUfQR8/seNIV2XN9tyKwxdsqpQBTbh40aZyoUYYhU4FYTBMKs 5dHplAYnvEgbDWUL3K+iIb+5bnsAXmhGgCBbZm9CC7kHolGpvAk/TIl34w3hyHoS5JvpeZkvpLUX amayABPAuMeZZiJ6OOHhlTYUWJwI4DM5HaWaszbCq9rod7ibaE8pp2ymjJJkVKqYxlKunXmBJJvE yiw+VxCrFD0+3uWXJDXINKuWHP/DD1lVkz80epTDQCoCsxQLncN8FlQfzVcg5UAymS3QP1Pc2QvX eX/efvZye9IJdc57enR/Y+Z8jCUU+eEmresx7e02TNzaPLKfuQF1nF8k6fPW0scX3chOVGV3R487 goFxnhD/stPtryEcI5vGA1RmWmKB5diOB9XbHNaPQ5ttqAAeZ33GxBdrTab8OT2LtrgSOTZXHCcP c3KZi5dRDgUx5aNBnOqZ/SgREQmDLczr50RHXcwyed5mywlT9lEFWWnrRwBNjN98IQIt/rc0lTQN srPREvDYWd4XHBbRLokzBD9covL256+oVAg7MWSOP40FKrcrCXs77tN+/lhyelNdcnWT4GrWA9hZ FH2UGAyZBWyfHyml++1I5CxazMZB8ATlKIVmxuIvNZma0tNyGCWssq1RsGkflaDlsPOQFanPyefA cu/IGfnKGki3s/zsMM6oWjkB+7hEvzz2h77cJ2a3v6AtxfHPJOw/l39/e1TIc5Kxru2pmwRAdsp1 3fMw+GCtq0JBSr9hr/DuxQlQyTFK5bfAPBkq9FjWeZt45n0yvMPVcb99iSY3vmsp6BgMHvDYd3zA LorJaH8Sf1R+g0lKRiq9Y6xcOaODZ8QAPNj6fhQogyCql0c6L9WX15d7NO7wmL8s3FvGgJWkXyrw pmrw8+18kgjHWK2g8oPj1OPHF5IyX/3sXFZs5mzmJW1t4QdGRuL63i8rjT5nJ3dRIK9Gep/Hkn2k 7dp6NBa+hZ5ICJW59LNO7oHt51uqfZ981Mx+Y8IQBj5OipIYtieS6yzZiYP7/pOZvQWu7LaH0diX k/wPem1o67AqqptFmqcKqhCKcH3ULI1wdVF5OaxImgoydLLIBsynk/jCrR17971yMACQP5LKLjjE xy0kjPOEYw8THve5QWPR1cJLctC4quf+TWNqcOeVC1lfkEwbRBc0uR3Zpfa1kEQbAADl/du3AOhT a5eOg6MxN5m3TVQHOesd8VUG/hBEtRB1cPBldtZ6g2adKVvQHVNMQn1FmimP6QkI0/csqbOoY/Op DRtDDTExoZvo8Y1H1ku7yMIWNByyowDX8WnWQOJf0X6sV419a6ypXrVPNrpTrH7NuTk43tqb9nnS p+EE8fZKYd4280v9F2sej10J47nRLcK1drgNLs5tVmPhPvIaTONj5it34ukifYyJZq11tY9Boc0Q aBgv5CmUfnciRqrYm2/HOat5ES8mbaGvwqg0s7Ge+bssxm/Dgm19ds/c57ipT9+C/Kl6stn8UzDq 7NrvPHW+f5Rus48OiDTqXAUSsqCWAk7C/Uagg6S063NM0WHn1HkaqYjIb+faIDueE2wBtWvz3/BF X33Ia1zx2MG+xAzy5wA9xW3YCba+PfjJtPH2qdPzjMTAOueT4xvb1ea78ifdsAYUfguEpYlfn+3t EUiR9rps+HCfjRrWyJwlvjnAx1I9ui59qmhnR3o7Pu8UUlXnE57+VReq1vjN2cf3MBpGkCcIWhLg MPcFxofBBkNDUoNMv1aanC1Vg2gyoqVnDbOqhhN0/0qMp4zh5c7hgY8HS9FIHBDb27YmU4+i1moP dw1ifT5DPS/vkH0yz/n0qGOkYWUfmECBvxoHWcLvfg3qWB+sYpuRoW/G+bZLZFgP8gelkcru+zSc 3a71GRcG3NkP4vVW+5DUrq02wOHA6MZDzzO3SdQNht19O4vlOHdx9sZ3+HYbYtrzcehsMIbPedzL XUp1/RelLH3PYj+J6JAP5xk3DL+EFfcAd8eQi5rDB5jvDw66mBrLT9VvPvbvHezfsm5M9d09ZJlL b2dvAaG4Pc+38Pq6ldsLrpydH/W7ZA1h0cjOjW/b8brKBmRNWIiJX7bc8aHvv1wUmgGIiYkrcX/d Mr+WL/pT+MKSgwj5bH4xMVgS5q9tNFETAF5eebxMCGfnDBZeqP19bkNn2G9TDj37yDn5W0H/B3a4 WBu28E4t1nYJBLyK9Dt58QpRgwDAP+X/NdE3NATSstK9ZXZyNH77DxqD5VW4uLh+K0FcHCx/Xf6r AEDsHGzsLJysLOyvehCIi50TAOT4B+H5G3FxcjZ0BAIBRvZ2Lk7/yXP/Vfv/pfI38Zewd7QFMRvb GDr9t870twBzcrL/h/HnZOX4t/iDOF/jz8bFyQEAsvx3gviP5P/x+NMAJQ1tjQydgL9HHWhmaWOK iIio4GJkY2kMVHYxAoq6ODvb24H0xV4V1rR0iIg0QKCzhaUT0NbU2cLeBGhraG3qBAQ7mrpamroB TQydDYF29s5AJwt7N6CLnY3pq1EPexegswfYFOhkb2sKdDZ1dwZa2r0aMQWamlg62zsyIwKBKq/a d7/XWJl/uwcK/JUK9LsKEfGdncm/g431r7GpvFr9A5mRqc0rBjd7R2snoL21ocffjSJmY2ro+Hc6 aTsnU0dn2r8fme7vHpO0d7anZWEEstD9GdNvOaT/AWxq9xse4J8m8ToviVcfM8vZG5rQkvu+ZX71 vYX+qz9fn/Ag/8Pe/2D8/538N3u9/reO8V/kP4iTlfPv+J+Nk5X1n/n/PyEU/5r/v8X+96UJZGNm QUT0+kPxenldxe/tXU2VjQ1tTE1elz0LIwjEzsjF9ltWiDvag39LVUcX09easrUlWMXQydro1aN/ UYo4OhramZvamtr9tvj/qDGrveaZ5avF33qBDY0t7cz/rcd7Q0fzV4L4S90LqGBoZ2oDAkqJ2ru/ 1v8GDzcjKyMniJGD7veGP9n6rfcfFPZH+bvyT1NiZWFkp/uj6Z072NDO5K9t/Esev2poyd+/8t3v NdP/nK2ATEyCguT/YtLnb4Cw/odA2ECMoP91JP8rxAVkAP5BVix0fwXG53evKoNtLJ2dTR1Bf7n7 e+dyMoLYGDm4GUF/uPfPeP5dh/8VjL+6//N82V9jB3odA/SfzVf5dSdR+GN7+VODnKWdqbyLrZGp 45/bRB0NjV+3pr/S+/wJH+t/io+N438DQB9En//BDeAv/A92tLcyNXb+R4zxX53/2F/J/l/5HwRi feV/Vg529n/y//+E/IX/Ff4l/v+2BSi/+sXZBSzw+6EA8ZWvnSzt7QRYmFmYWbkRxextwfZ2r5Qu YG7EbGlraG76typzF8u/Vfx2qPhbjYuzpc3fasDGjn9nxsLS3MLm9ef8Z2PM/8K/iCqGRsqWnqYC rIhyrxuLyysSAVM7fVVlRAVDY+vXmqMACNHRxc7I9LXTa5OxhT2Qkvb1mGpKBxSkpBWXVqKjeft6 9HU2tvhtXzKh+Z88fP0fIH/Jf/Pfl8E/5C+A/x/v/yxsbL/nPzuI7Z/v//+Uf8o/5Z/yj5T/D7gU leYA8AAA From bsteers4 at gmail.com Wed Dec 6 13:23:10 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 6 Dec 2023 12:23:10 +0000 Subject: [Gambas-user] TextEditor ShowPreview problem In-Reply-To: References: Message-ID: On Wed, 6 Dec 2023 at 12:19, Bruce Steers wrote: > Attached is a simple test/demo of a problem i found. > > The project has 2 TextEditor controls > TextEditor1 loads ~/.bash_history on start just as a test file. > > There are 2 buttons, button 1 does this... > TextEditor2.Text = TextEditor1.Text > > Button2 does this... > TextEditor2.Text = "" > TextEditor2.Insert(TextEditor1.Text) > TextEditor2.Goto(0, 0) > > Press button1 to make TextEditor2.Text = TextEditor1.Text and the preview > bar in texteditor2 just shows blank. (sometimes shows line[0]) > > press button2 and the preview shows okay , and also if you then press > button1 the preview remains to be okay. > > I tried TextEditor2.Reset and various other methods. > Only thing i found to work is using Insert() instead. > problem exists with gtk and qt > > Is it a bug or am i doing something wrong? > I wondered if possibly related to bug 2837 that also has to do with TextEditor.ShowPreview ? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From james at lixce.com Wed Dec 6 00:51:21 2023 From: james at lixce.com (james at lixce.com) Date: Tue, 05 Dec 2023 23:51:21 GMT Subject: [Gambas-user] Gambas on Alpine Message-ID: Thank you for the replies and suggestions. Lee: Busybox does not bother me as most of the Gnu-Utils I use are covered or can be handled in Gambas code. AntiX is a little too political for my purpose and I ran Puppy years ago, I think there was even a Pup that used Gambas for many desktop functions. Might have to look for that. The BusyBox command is "adduser" BruceS: The desktop I'm using is my own called LiXCE completely written in Gambas and using JWM window manager but I hope to get rid of JWM soon. I have converted all my webkit stuff over to webengine so that was not a problem. All of my systems are currently running Artix, except an OctoPi, I have been an Arch user for many years. Artix does not use SystemD. I'm not militantly anti-SystemD it just uses more memory and automates too many things for my taste. Artix and Arch are rolling releases and I find myself spending too much time maintaining the system instead of working on my Desktop which is now into its 6th year of verrrry slow development. On A Side Note: I am going to SCALE 21x in Los Angeles March 14-17 If anyone makes it there I'll buy you a beer. Thanks All, -j From gambas.fr at gmail.com Wed Dec 6 20:30:23 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Wed, 6 Dec 2023 20:30:23 +0100 Subject: [Gambas-user] Gambas on Alpine In-Reply-To: <20231206155603.422AC20A9C50@h08.hostsharing.net> References: <20231206155603.422AC20A9C50@h08.hostsharing.net> Message-ID: Le mer. 6 d?c. 2023 ? 16:56, a ?crit : > Thank you for the replies and suggestions. > > Lee: Busybox does not bother me as most of the Gnu-Utils I use are covered > or can be handled in Gambas code. AntiX is a little too political for my > purpose and I ran Puppy years ago, I think there was even a Pup that used > Gambas for many desktop functions. Might have to look for that. The > BusyBox command is "adduser" > > BruceS: The desktop I'm using is my own called LiXCE completely written > in Gambas and using JWM window manager but I hope to get rid of JWM soon. I > have converted all my webkit stuff over to webengine so that was not a > problem. > > All of my systems are currently running Artix, except an OctoPi, I have > been an Arch user for many years. Artix does not use SystemD. I'm not > militantly anti-SystemD it just uses more memory and automates too many > things for my taste. Artix and Arch are rolling releases and I find myself > spending too much time maintaining the system instead of working on my > Desktop which is now into its 6th year of verrrry slow development. > > On A Side Note: I am going to SCALE 21x in Los Angeles March 14-17 If > anyone makes it there I'll buy you a beer. > > Thanks All, > -j > Interesting Have you any screenshot of your desktop ? I'm curious ? Regards, Fabien > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Wed Dec 6 20:39:49 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Wed, 6 Dec 2023 20:39:49 +0100 Subject: [Gambas-user] TextEditor ShowPreview problem In-Reply-To: References: Message-ID: Le 06/12/2023 ? 13:19, Bruce Steers a ?crit?: > Attached is a simple test/demo of a problem i found. > > The project has 2 TextEditor controls > TextEditor1 loads ~/.bash_history on start just as a test file. > > There are 2 buttons,? button 1 does this... > TextEditor2.Text = TextEditor1.Text > > Button2 does this... > TextEditor2.Text = "" > TextEditor2.Insert(TextEditor1.Text) > TextEditor2.Goto(0, 0) > > Press button1 to make TextEditor2.Text = TextEditor1.Text and the > preview bar in texteditor2 just shows blank. (sometimes shows line[0]) > > press button2 and the preview shows okay , and also if you then press > button1 the preview remains to be okay. > > I tried TextEditor2.Reset and various other methods. > Only thing i found to work is using Insert() instead. > problem exists with gtk and qt > > Is it a bug or am i doing something wrong? > > Respects > BruceS > I can't reproduce. Both buttons work as expected... -- Beno?t Minisini. From bsteers4 at gmail.com Wed Dec 6 22:14:40 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 6 Dec 2023 21:14:40 +0000 Subject: [Gambas-user] TextEditor ShowPreview problem In-Reply-To: References: Message-ID: On Wed, 6 Dec 2023, 19:40 Beno?t Minisini, wrote: > Le 06/12/2023 ? 13:19, Bruce Steers a ?crit : > > Attached is a simple test/demo of a problem i found. > > > > The project has 2 TextEditor controls > > TextEditor1 loads ~/.bash_history on start just as a test file. > > > > There are 2 buttons, button 1 does this... > > TextEditor2.Text = TextEditor1.Text > > > > Button2 does this... > > TextEditor2.Text = "" > > TextEditor2.Insert(TextEditor1.Text) > > TextEditor2.Goto(0, 0) > > > > Press button1 to make TextEditor2.Text = TextEditor1.Text and the > > preview bar in texteditor2 just shows blank. (sometimes shows line[0]) > > > > press button2 and the preview shows okay , and also if you then press > > button1 the preview remains to be okay. > > > > I tried TextEditor2.Reset and various other methods. > > Only thing i found to work is using Insert() instead. > > problem exists with gtk and qt > > > > Is it a bug or am i doing something wrong? > > > > Respects > > BruceS > > > > I can't reproduce. Both buttons work as expected... > Then hovering over the preview bar on the newly filled editor to the right shows the preview popup correctly? Odd it does not in mine. Respects BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Dec 6 22:17:09 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Wed, 6 Dec 2023 21:17:09 +0000 Subject: [Gambas-user] TextEditor ShowPreview problem In-Reply-To: References: Message-ID: On Wed, 6 Dec 2023, 21:14 Bruce Steers, wrote: > > > On Wed, 6 Dec 2023, 19:40 Beno?t Minisini, < > benoit.minisini at gambas-basic.org> wrote: > >> Le 06/12/2023 ? 13:19, Bruce Steers a ?crit : >> > Attached is a simple test/demo of a problem i found. >> > >> > The project has 2 TextEditor controls >> > TextEditor1 loads ~/.bash_history on start just as a test file. >> > >> > There are 2 buttons, button 1 does this... >> > TextEditor2.Text = TextEditor1.Text >> > >> > Button2 does this... >> > TextEditor2.Text = "" >> > TextEditor2.Insert(TextEditor1.Text) >> > TextEditor2.Goto(0, 0) >> > >> > Press button1 to make TextEditor2.Text = TextEditor1.Text and the >> > preview bar in texteditor2 just shows blank. (sometimes shows line[0]) >> > >> > press button2 and the preview shows okay , and also if you then press >> > button1 the preview remains to be okay. >> > >> > I tried TextEditor2.Reset and various other methods. >> > Only thing i found to work is using Insert() instead. >> > problem exists with gtk and qt >> > >> > Is it a bug or am i doing something wrong? >> > >> > Respects >> > BruceS >> > >> >> I can't reproduce. Both buttons work as expected... >> > > Then hovering over the preview bar on the newly filled editor to the right > shows the preview popup correctly? > > Odd it does not in mine. > Sorry I guess I was not so clear about it being the preview bars popup that's blank not the preview bar itself. Respects BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu Dec 7 01:57:04 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Thu, 7 Dec 2023 01:57:04 +0100 Subject: [Gambas-user] TextEditor ShowPreview problem In-Reply-To: References: Message-ID: <8a0ef828-f6a3-4828-88b5-f6e0a478e8b4@gambas-basic.org> Le 06/12/2023 ? 22:17, Bruce Steers a ?crit?: > > > Sorry I guess I was not so clear about it being the preview bars popup > that's blank not the preview bar itself. > > Respects > BruceS > Indeed. It's fixed in commit https://gitlab.com/gambas/gambas/-/commit/94304a76cd0baaf611d80c85e0a956f88f9cfeac. Regards, -- Beno?t Minisini. From james at lixce.com Wed Dec 6 10:36:32 2023 From: james at lixce.com (james at lixce.com) Date: Wed, 06 Dec 2023 09:36:32 GMT Subject: [Gambas-user] LiXCE Desktop screenshots Message-ID: Fabian, et. al. I can never remember the size limits to upload pics to the mailing list. I put a few on my homepage: https://lixce.com I also linked to the Gambas site, hope that is OK. Beno?t please let me know if you would prefer that I remove the link. I will try to get a few more screenshots posted and maybe a little explanation this evening or tomorrow. Many of the programs use code from the Farm or other sources, I do my best to give credit where due. If anyone recognizes parts of their program, and I didn't cite them please let me know or if you do NOT want your name associated with it please let me know. Regards, -j From fabien.toniutti at free.fr Thu Dec 7 09:37:30 2023 From: fabien.toniutti at free.fr (Fabien TONIUTTI) Date: Thu, 7 Dec 2023 09:37:30 +0100 Subject: [Gambas-user] problem with picture size in tabstrip... Message-ID: <24963a65-f71c-a8de-7d35-b393e92ce9c4@free.fr> Hello every one With gb.gtk3 i create on my graphic project one tabstrip with 3 tabs. On every tab, in IDE, i define picture from stock with size 32 and text on 3 lines. When i compile i works fine. If i change to gb.qt component, picture size is very small and not 32px. Why? Informations: Fresh install of xubuntu last LTS version with official Gambas in repository. From bsteers4 at gmail.com Thu Dec 7 11:39:38 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 7 Dec 2023 10:39:38 +0000 Subject: [Gambas-user] TextEditor ShowPreview problem In-Reply-To: <8a0ef828-f6a3-4828-88b5-f6e0a478e8b4@gambas-basic.org> References: <8a0ef828-f6a3-4828-88b5-f6e0a478e8b4@gambas-basic.org> Message-ID: On Thu, 7 Dec 2023 at 00:58, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 06/12/2023 ? 22:17, Bruce Steers a ?crit : > > > > > > Sorry I guess I was not so clear about it being the preview bars popup > > that's blank not the preview bar itself. > > > > Respects > > BruceS > > > > Indeed. It's fixed in commit > > https://gitlab.com/gambas/gambas/-/commit/94304a76cd0baaf611d80c85e0a956f88f9cfeac > . > > Regards, > > -- > Beno?t Minisini. > Thank you kind sir :) Yep all working here now :) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Thu Dec 7 11:43:36 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 7 Dec 2023 11:43:36 +0100 Subject: [Gambas-user] problem with picture size in tabstrip... In-Reply-To: <24963a65-f71c-a8de-7d35-b393e92ce9c4@free.fr> References: <24963a65-f71c-a8de-7d35-b393e92ce9c4@free.fr> Message-ID: TabStrips are native toolkits elements and act different way in qt and gtk and Gambas layer can't take care on each small differences. And the way of display depend also on the theme of each toolkits... That's why I prefer the use of gambas native one... TabPanel.... simple is beautiful. Le jeu. 7 d?c. 2023 ? 09:38, Fabien TONIUTTI a ?crit : > > Hello every one > > With gb.gtk3 i create on my graphic project one tabstrip with 3 tabs. > > On every tab, in IDE, i define picture from stock with size 32 and text > on 3 lines. > > When i compile i works fine. > > If i change to gb.qt component, picture size is very small and not 32px. > > Why? > > Informations: > > Fresh install of xubuntu last LTS version with official Gambas in > repository. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -- Fabien Bodard From bsteers4 at gmail.com Thu Dec 7 11:53:36 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 7 Dec 2023 10:53:36 +0000 Subject: [Gambas-user] problem with picture size in tabstrip... In-Reply-To: <24963a65-f71c-a8de-7d35-b393e92ce9c4@free.fr> References: <24963a65-f71c-a8de-7d35-b393e92ce9c4@free.fr> Message-ID: On Thu, 7 Dec 2023 at 08:38, Fabien TONIUTTI wrote: > Hello every one > > With gb.gtk3 i create on my graphic project one tabstrip with 3 tabs. > > On every tab, in IDE, i define picture from stock with size 32 and text > on 3 lines. > > When i compile i works fine. > > If i change to gb.qt component, picture size is very small and not 32px. > > Why? > > Informations: > > Fresh install of xubuntu last LTS version with official Gambas in > repository. > Someone may have a large font size set on their desktop so the actual size you set a button may have to be larger to see the text. Hence there is "Scaling" , it makes GUI's scale relevant to the toolkit/desktop font sizes. Maybe you can disable scaling by using the objects Control.Scaled properties. MyButton.Scaled = False Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gambas.fr at gmail.com Thu Dec 7 11:53:58 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Thu, 7 Dec 2023 11:53:58 +0100 Subject: [Gambas-user] LiXCE Desktop screenshots In-Reply-To: <20231207014102.A93FD205790F@h08.hostsharing.net> References: <20231207014102.A93FD205790F@h08.hostsharing.net> Message-ID: This is an impressive amount of applications. I like the windows single bar ... but not the colors :-D (this is just a esthetic taste) I like the fact you've done what you taste :-) Le jeu. 7 d?c. 2023 ? 02:41, a ?crit : > > Fabian, et. al. > > I can never remember the size limits to upload pics to the mailing list. I put a few on my homepage: > > https://lixce.com > > I also linked to the Gambas site, hope that is OK. Beno?t please let me know if you would prefer that I remove the link. > > I will try to get a few more screenshots posted and maybe a little explanation this evening or tomorrow. Many of the programs use code from the Farm or other sources, I do my best to give credit where due. If anyone recognizes parts of their program, and I didn't cite them please let me know or if you do NOT want your name associated with it please let me know. > > Regards, > -j > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -- Fabien Bodard From benoit.minisini at gambas-basic.org Thu Dec 7 15:03:22 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Thu, 7 Dec 2023 15:03:22 +0100 Subject: [Gambas-user] LiXCE Desktop screenshots In-Reply-To: References: <20231207014102.A93FD205790F@h08.hostsharing.net> Message-ID: <664509ff-8a20-4fe1-857b-c4f2ab74c66a@gambas-basic.org> Le 07/12/2023 ? 11:53, Fabien Bodard a ?crit?: > Le jeu. 7 d?c. 2023 ? 02:41, a ?crit : >> >> Fabian, et. al. >> >> I can never remember the size limits to upload pics to the mailing list. I put a few on my homepage: >> >> https://lixce.com >> >> I also linked to the Gambas site, hope that is OK. Beno?t please let me know if you would prefer that I remove the link. >> >> I will try to get a few more screenshots posted and maybe a little explanation this evening or tomorrow. Many of the programs use code from the Farm or other sources, I do my best to give credit where due. If anyone recognizes parts of their program, and I didn't cite them please let me know or if you do NOT want your name associated with it please let me know. >> >> Regards, >> -j >> Impressive job! Especially because the desktop-agnostic Gambas component ('gb.desktop') has many holes, as now you have X11 / Wayland, systemD / not systemD, xdg-utils scripts / desktop portal... which create a lot of different and badly documented ways to do the same thing. :-/ -- Beno?t Minisini. From joe1962 at gmail.com Thu Dec 7 18:26:51 2023 From: joe1962 at gmail.com (Jose J. Rodriguez) Date: Thu, 7 Dec 2023 12:26:51 -0500 Subject: [Gambas-user] LiXCE Desktop screenshots In-Reply-To: <20231207014102.A93FD205790F@h08.hostsharing.net> References: <20231207014102.A93FD205790F@h08.hostsharing.net> Message-ID: On Wed, Dec 6, 2023 at 8:41?PM wrote: > Fabian, et. al. > > I can never remember the size limits to upload pics to the mailing list. > I put a few on my homepage: > > https://lixce.com > > Now that is impressive...! Regards, Joe1962 -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.lee.davidson at gmail.com Thu Dec 7 18:36:26 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 7 Dec 2023 12:36:26 -0500 Subject: [Gambas-user] Gambas on Alpine Message-ID: Ref: https://lists.gambas-basic.org/pipermail/user/2023-December/080934.html James, In a forum I was reading yesterday, someone mentioned SparkyLinux. I took a look at it. It is based on Debian. They follow two Debian branches, 'stable' and 'testing' (semi-rolling), and have three different image versions for each: Full GUI (LXQt, MATE, Xfce. KDE), Minimal GUI (w/ Openbox), and Minimal CLI. Although it does use 'systemd', perhaps it might fit your need. If not, it's no matter; I just thought I'd mention it. -- Lee From vuott at tutanota.com Fri Dec 8 02:13:23 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Fri, 8 Dec 2023 02:13:23 +0100 (CET) Subject: [Gambas-user] Does ListBox ''_MouseDown()" Event work ? Message-ID: Hello, the ListBox ''_MouseDown()" Event does not work for me. [System] Gambas=3.18.90 38b49c0 (master) OperatingSystem=Linux Distribution=Linux Mint 21.2 Victoria Kernel=6.2.0-37-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=19587 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/979,unix/:/tmp/.ICE-unix/979 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Fri Dec 8 09:07:12 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 8 Dec 2023 09:07:12 +0100 Subject: [Gambas-user] Does ListBox ''_MouseDown()" Event work ? In-Reply-To: References: Message-ID: Il 08/12/23 02:13, vuott--- via User ha scritto: > Hello, > the ListBox ''_MouseDown()" Event does not work for me. > > > [System] > Gambas=3.18.90 38b49c0 (master) I confirm, with my current version 957a8f4 (master) it doesn't work. With Click and MouseUP events, however, it works well. Regards Gianluigi From t.lee.davidson at gmail.com Fri Dec 8 14:06:32 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 8 Dec 2023 08:06:32 -0500 Subject: [Gambas-user] Does ListBox ''_MouseDown()" Event work ? In-Reply-To: References: Message-ID: On 12/7/23 20:13, vuott--- via User wrote: > Hello, > the ListBox ''_MouseDown()" Event does not work for me. > > > [System] > Gambas=3.18.90 38b49c0 (master) [snip] The issue exists with v3.18.4 as well. Interestingly, a double-click triggers the MouseDown event with both Qt5 and GTK3. -- Lee From benoit.minisini at gambas-basic.org Fri Dec 8 14:12:06 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Fri, 8 Dec 2023 14:12:06 +0100 Subject: [Gambas-user] Does ListBox ''_MouseDown()" Event work ? In-Reply-To: References: Message-ID: <23fff736-91fd-4ba6-b8f0-56b7eef4d3d9@gambas-basic.org> Le 08/12/2023 ? 14:06, T Lee Davidson a ?crit?: > On 12/7/23 20:13, vuott--- via User wrote: >> Hello, >> the ListBox ''_MouseDown()" Event does not work for me. >> >> >> [System] >> Gambas=3.18.90 38b49c0 (master) > [snip] > > The issue exists with v3.18.4 as well. Interestingly, a double-click > triggers the MouseDown event with both Qt5 and GTK3. > Compound non-native controls usually eat some of the low-level events. You should normally never try to handle low-level events on complex controls. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Fri Dec 8 14:28:18 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 8 Dec 2023 13:28:18 +0000 Subject: [Gambas-user] Does ListBox ''_MouseDown()" Event work ? In-Reply-To: <23fff736-91fd-4ba6-b8f0-56b7eef4d3d9@gambas-basic.org> References: <23fff736-91fd-4ba6-b8f0-56b7eef4d3d9@gambas-basic.org> Message-ID: On Fri, 8 Dec 2023 at 13:13, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 08/12/2023 ? 14:06, T Lee Davidson a ?crit : > > On 12/7/23 20:13, vuott--- via User wrote: > >> Hello, > >> the ListBox ''_MouseDown()" Event does not work for me. > >> > >> > >> [System] > >> Gambas=3.18.90 38b49c0 (master) > > [snip] > > > > The issue exists with v3.18.4 as well. Interestingly, a double-click > > triggers the MouseDown event with both Qt5 and GTK3. > > > > Compound non-native controls usually eat some of the low-level events. > > You should normally never try to handle low-level events on complex > controls. > > Regards, > > -- > Beno?t Minisini. > We can always access the inner parts of complex controls, something like this... ' Gambas class file Public Sub Form_Open() Dim hobs As Observer = New Observer(ListBox1.Children[0]) As "ListBox1Inner" End Public Sub ListBox1Inner_MouseDown() Object.Raise(ListBox1, "MouseDown") Stop Event ' stop further triggers End ' Now ListBox1_MouseDown works Public Sub ListBox1_MouseDown() Debug "got mousedown" End Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From james at lixce.com Fri Dec 8 01:04:40 2023 From: james at lixce.com (james at lixce.com) Date: Fri, 08 Dec 2023 00:04:40 GMT Subject: [Gambas-user] LiXCE Desktop And Gambas on Alpine Message-ID: Beno?t, Joe1962, Thank you for the kind words! I must admit using xdotool for most X11 interaction. Would love to use gb.desktop more but get frustrated. I have avoided Wayland so far but the future looks bad. Hopefully someone much smarter than me will fork Wayland and provide an alternative that permits at least some control of your own computer. Lee, > SparkyLinux Thank you, Sparky looks interesting! I may throw it on a laptop and check it out. Right now I am slimming down Artix, BruceS just sent me his MPlay-lib Gambas class which should allow me to at least minimize GStreamer. Regards, -j From roberto.premoli at tiscali.it Fri Dec 8 23:31:59 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Fri, 08 Dec 2023 23:31:59 +0100 Subject: [Gambas-user] my wrong use of hash.md5 Message-ID: <7ffad484b13dfbbe0565b229a842c4ac@tiscali.it> here the code: Public Sub Button3_Click() Dim var As String var = "a" Print Hash.md5(var) End i run the code, push the button3 and get printed in debug console the follow value: 0CC175B9C0F1B6A831C399E269772661 To check it, I go to command line and type: echo "a" | md5sum and i get: 60b725f10c9c85c70d97880dfe8191b3 - The 2 value are not the same. so, what I am doing wrong? Roberto -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sat Dec 9 03:12:29 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 9 Dec 2023 04:12:29 +0200 Subject: [Gambas-user] my wrong use of hash.md5 In-Reply-To: <7ffad484b13dfbbe0565b229a842c4ac@tiscali.it> References: <7ffad484b13dfbbe0565b229a842c4ac@tiscali.it> Message-ID: Wrong command. Use: echo -n "a" | md5sum Jussi On Sat, Dec 9, 2023 at 12:46?AM wrote: > > here the code: > > Public Sub Button3_Click() > Dim var As String > var = "a" > Print Hash.md5(var) > End > > > i run the code, push the button3 and get printed in debug console the follow value: > > 0CC175B9C0F1B6A831C399E269772661 > > To check it, I go to command line and type: > > echo "a" | md5sum > > and i get: > > 60b725f10c9c85c70d97880dfe8191b3 - > > > The 2 value are not the same. so, what I am doing wrong? > > > Roberto > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto.premoli at tiscali.it Sat Dec 9 04:30:17 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Sat, 09 Dec 2023 04:30:17 +0100 Subject: [Gambas-user] my wrong use of hash.md5 In-Reply-To: References: <7ffad484b13dfbbe0565b229a842c4ac@tiscali.it> Message-ID: <902933350679219b58fe4b2b7026088a@tiscali.it> Il 09.12.2023 03:12 Jussi Lahtinen ha scritto: > Wrong command. Use: echo -n "a" | md5sum > Jussi > thanks. From claus.dietrich at freenet.de Sat Dec 9 10:45:36 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Sat, 9 Dec 2023 10:45:36 +0100 Subject: [Gambas-user] Does ListBox ''_MouseDown()" Event work ? In-Reply-To: References: Message-ID: <589d4195-55c6-4c0f-88b4-6410685339da@freenet.de> >/Le 08/12/2023 ? 14:06, T Lee Davidson a ?crit : />/> On 12/7/23 20:13, vuott--- via User wrote: />/>> Hello, />/>> the ListBox ''_MouseDown()" Event does not work for me. />/>> />/>> />/>> [System] />/>> Gambas=3.18.90 38b49c0 (master) />/> [snip] />/> />/> The issue exists with v3.18.4 as well. Interestingly, a double-click />/> triggers the MouseDown event with both Qt5 and GTK3. />/> />//>/Compound non-native controls usually eat some of the low-level events. />//>/You should normally never try to handle low-level events on complex />/controls. />//>/Regards, />//>/-- />/Beno?t Minisini. This reply made me curious and I would be grateful if somebody can provide some background and help me to understand: What are possible reasons that non-native controls "eat some of the low evel events"? Why should I never try to use events which are a documented capability of a control? Shall I regard it as normal that I can only access an event if I add additional code as proposed by Bruce? I am asking this, because I program controls myself (beginner level) and so far didn't have the experience, that events fail - unless I forgot to raise them. Best regards Claus / -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Sat Dec 9 11:50:35 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sat, 9 Dec 2023 11:50:35 +0100 Subject: [Gambas-user] Does ListBox ''_MouseDown()" Event work ? In-Reply-To: <589d4195-55c6-4c0f-88b4-6410685339da@freenet.de> References: <589d4195-55c6-4c0f-88b4-6410685339da@freenet.de> Message-ID: Il 09/12/23 10:45, Claus Dietrich ha scritto: > >/Le 08/12/2023 ? 14:06, T Lee Davidson a ?crit : />/> On 12/7/23 20:13, vuott--- via User wrote: />/>> Hello, />/>> the ListBox ''_MouseDown()" Event does not work for me. />/>> />/>> />/>> [System] />/>> Gambas=3.18.90 38b49c0 (master) />/> [snip] />/> />/> The issue exists with v3.18.4 as well. Interestingly, a double-click />/> triggers the MouseDown event with both Qt5 and GTK3. />/> />//>/Compound non-native controls usually eat some of the low-level events. />//>/You should normally never try to handle low-level events on complex />/controls. />//>/Regards, />//>/-- />/Beno?t Minisini. This reply made me curious and I would be grateful > if somebody can provide some background and help me to understand: > What are possible reasons that non-native controls "eat some of the > low evel events"? Why should I never try to use events which are a > documented capability of a control? Shall I regard it as normal that I > can only access an event if I add additional code as proposed by > Bruce? I am asking this, because I program controls myself (beginner > level) and so far didn't have the experience, that events fail - > unless I forgot to raise them. Best regards Claus / > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Claus, you're not the only one who was baffled by Benoit's response. We discussed this with other users of the Italian forum and like you we are all curious. With best regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sat Dec 9 13:36:42 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sat, 9 Dec 2023 13:36:42 +0100 Subject: [Gambas-user] Does ListBox ''_MouseDown()" Event work ? In-Reply-To: References: <589d4195-55c6-4c0f-88b4-6410685339da@freenet.de> Message-ID: <1cb11cd2-89d4-4262-bf8a-ec8c33e856da@gambas-basic.org> Le 09/12/2023 ? 11:50, Gianluigi a ?crit?: > Il 09/12/23 10:45, Claus Dietrich ha scritto: >> >/Le 08/12/2023 ? 14:06, T Lee Davidson a ?crit : />/> On 12/7/23 20:13, vuott--- via User wrote: />/>> Hello, />/>> the ListBox ''_MouseDown()" Event does not work for me. />/>> />/>> />/>> [System] />/>> Gambas=3.18.90 38b49c0 (master) />/> [snip] />/> />/> The issue exists with v3.18.4 as well. Interestingly, a double-click />/> triggers the MouseDown event with both Qt5 and GTK3. />/> />//>/Compound non-native controls usually eat some of the low-level events. />//>/You should normally never try to handle low-level events on complex />/controls. />//>/Regards, />//>/-- />/Beno?t Minisini. This reply made me curious and I would be grateful >> if somebody can provide some background and help me to understand: >> What are possible reasons that non-native controls "eat some of the >> low evel events"? Why should I never try to use events which are a >> documented capability of a control? Shall I regard it as normal that I >> can only access an event if I add additional code as proposed by >> Bruce? I am asking this, because I program controls myself (beginner >> level) and so far didn't have the experience, that events fail - >> unless I forgot to raise them. Best regards Claus / >> >> ----[http://gambaswiki.org/wiki/doc/netiquette ]---- > > Hi Claus, > > you're not the only one who was baffled by Benoit's response. > > We discussed this with other users of the Italian forum and like you we > are all curious. > > With best regards > > Gianluigi > Controls written in Gambas are usually made with a container and other controls inside. So the low-level events are the one from that container, and you usually do not see them, because the inner controls cover the container. Controls written in Gambas that are not a container, but based on a UserControl, usually use the low-level events for their own use, so you do not see them too. Is it clearer now? I don't have a good general solution for this problem at the moment. I said you should not generally use these events for logical reasons. For example, if you need the 'MouseDown' event for a ListBox, you may doing something weird. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Sat Dec 9 14:46:25 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sat, 9 Dec 2023 14:46:25 +0100 Subject: [Gambas-user] A new componet named [gb.fuzzy] now can do fuzzy logic in Gambas In-Reply-To: <6f9c0ef6.706.18c4eb9fdde.Coremail.kk667788@yeah.net> References: <6f9c0ef6.706.18c4eb9fdde.Coremail.kk667788@yeah.net> Message-ID: <14d5a41e-e9b3-4d68-b70c-9e9ceff1661c@gambas-basic.org> Le 09/12/2023 ? 14:17, kk a ?crit?: > Good night! > > recently, I find > The FuzzyLite Libraries for Fuzzy Logic Control > can be used in gambas. and I make a component for it . > the fuzzy model is complicated, professional designe is needed. > > With a model file , one can set? InputVariable, process, and get > OutputVariable. > the same result just like the basic example did. > > Public Sub Main() > > ? Dim ae As FuzzyLite > ? ae = New FuzzyLite("/home/deuser/fuzzy/ObstacleAvoidance.fll") > ? Dim ai As New FuzzInputVariable > ? ai.GetInputVariable(ae, "obstacle") > > ? Dim ap As New FuzzOutputVariable > ? ap.GetOntputVariable(ae, "mSteer") > > ? Dim i As Integer > ? Dim k, j As Float > ? For i = 0 To 50 > ??? k = ai.GetMinimum() + i * (ai.Range() / 50) > ??? ai.SetIutputValue(k) > ??? ae.ProcessEngin() > ??? j = ap.GetOutputValue() > ??? Print "obstacle.input = " & k & " => " > ????????? "steer.output = " & j > ? Next > > End Thanks. You should post announces on the mailing-list. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Sat Dec 9 14:49:45 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 9 Dec 2023 13:49:45 +0000 Subject: [Gambas-user] Does ListBox ''_MouseDown()" Event work ? In-Reply-To: References: <589d4195-55c6-4c0f-88b4-6410685339da@freenet.de> Message-ID: On Sat, 9 Dec 2023 at 10:51, Gianluigi wrote: > Il 09/12/23 10:45, Claus Dietrich ha scritto: > > >* Le 08/12/2023 ? 14:06, T Lee Davidson a ?crit : > *>* > On 12/7/23 20:13, vuott--- via User wrote: > *>* >> Hello, > *>* >> the ListBox ''_MouseDown()" Event does not work for me. > *>* >> > *>* >> > *>* >> [System] > *>* >> Gambas=3.18.90 38b49c0 (master) > *>* > [snip] > *>* > > *>* > The issue exists with v3.18.4 as well. Interestingly, a double-click > *>* > triggers the MouseDown event with both Qt5 and GTK3. > *>* > > *>>* Compound non-native controls usually eat some of the low-level events. > *>>* You should normally never try to handle low-level events on complex > *>* controls. > *>>* Regards, > *>>* -- > *>* Beno?t Minisini. > > This reply made me curious and I would be grateful if somebody > can provide some background and help me to understand: > What are possible reasons that non-native controls "eat some of the low > evel events"? > Why should I never try to use events which are a documented capability > of a control? > Shall I regard it as normal that I can only access an event if I add > additional code as proposed by Bruce? > I am asking this, because I program controls myself (beginner level) and > so far didn't have the experience, that events fail - unless I forgot > to raise them. > > Best regards > Claus > * > > Hi Claus, > > you're not the only one who was baffled by Benoit's response. > > We discussed this with other users of the Italian forum and like you we > are all curious. > > With best regards > > Gianluigi > It made perfect sense to me as I myself have written many compound controls. There is much excessive code needs to be added to make all compound controls trigger all standard control events. Like Benoit explained gambas unique controls (from gb.gui.base, and some gb.form) are made by using a container, maybe a panel, then various other controls placed inside. In order to make something like MouseDown trigger no matter where you click you have to make a MouseUp event for every added control inside the container. a ListBox for example is actually a gridview inside it's own container. internally the gridview gets its events inside the listbox. The listbox itself only has 3 events.. Event Click Event Activate Event Select The Click event for example is not just the gridviews click event. the listbox creates a timer on the gridviews Change event and then triggers it's own Click event. Things to consider about you bafflement... there are many different gambas compound controls made with many different combinations of objects. the code would have to be filled with many lines like this.. Public Sub IntrnalTextBox_MouseDown() Raise MouseDown End Public Sub IntrnalLabel_MouseDown() Raise MouseDown End Public Sub IntrnalPanel_MouseDown() Raise MouseDown End So imagine having that (and having to do that) for every gambas controls internal objects and for every standard event. that's going to be a lot of bloating. Possible solutions for you Ben.... some sort of event , er , upstreamer, for want of a better word. a new property for controls, something like ContainerTriggers or something So if i set InternalLabel.ContainerTrigger = True it will auto try to.. Object.Raise(Me._Container, sEventName) (you know what i mean) or.. A way to hide all the events of Control.class from UserControl.class as they are not all really supported by the control. Because in the IDE if i type Public Sub ListBox1_ then i get a list of all Control.class events. even though only some of the events will actually do anything. and can be unexpected like the ListBox_MouseDown example that does actually fire for some reason with a double click. That might at least make things clearer for the programmer. Possible solutions for us.. Understand there is a difference with a toolkit control and a gambas compound control. (i guess it should be documented better) As i previously mentioned all gambas compound controls have a way to access and Observe the events of the internal object should you want to do anything fancy. see Observer.class and Watcher.class (definately avoid using Object.Attach() as this will break stuff for sure) As Benoit mentioned there are risks with doing this as the control is using it's internal events as it needs to and if you have not studied the controls code you may interfere with it's internal workings. But if you study the controls code in gb.gui.base or gb.form or whatever then you can probably modify. auto-inheritance can be a good way to modify compound control events. Some food for thought. :) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Sat Dec 9 15:30:29 2023 From: adamnt42 at gmail.com (BB) Date: Sun, 10 Dec 2023 01:00:29 +1030 Subject: [Gambas-user] Does ListBox ''_MouseDown()" Event work ? In-Reply-To: References: <589d4195-55c6-4c0f-88b4-6410685339da@freenet.de> Message-ID: <307a9207-4355-874d-a2c2-7fa1ab9acdb6@gmail.com> On 10/12/23 12:19 am, Bruce Steers wrote: > > > On Sat, 9 Dec 2023 at 10:51, Gianluigi > wrote: > > Il 09/12/23 10:45, Claus Dietrich ha scritto: >> >/Le 08/12/2023 ? 14:06, T Lee Davidson a ?crit : />/> On 12/7/23 20:13, vuott--- via User wrote: />/>> Hello, />/>> the ListBox ''_MouseDown()" Event does not work for me. />/>> />/>> />/>> [System] />/>> Gambas=3.18.90 38b49c0 (master) />/> [snip] />/> />/> The issue exists with v3.18.4 as well. Interestingly, a >> double-click />/> triggers the MouseDown event with both Qt5 and GTK3. />/> />//>/Compound non-native controls usually eat some of the low-level >> events. />//>/You should normally never try to handle low-level events on complex />/controls. />//>/Regards, />//>/-- />/Beno?t Minisini. This reply made me curious and I would be >> grateful if somebody can provide some background and help me to >> understand: What are possible reasons that non-native controls >> "eat some of the low evel events"? Why should I never try to use >> events which are a documented capability of a control? Shall I >> regard it as normal that I can only access an event if I add >> additional code as proposed by Bruce? I am asking this, because I >> program controls myself (beginner level) and so far didn't have >> the experience, that events fail - unless I forgot to raise them. >> Best regards Claus / > > Hi Claus, > > you're not the only one who was baffled by Benoit's response. > > We discussed this with other users of the Italian forum and like > you we are all curious. > > With best regards > > Gianluigi > > > It made perfect sense to me as I myself have written many compound > controls.? There is much excessive code needs to be added to make all > compound controls trigger all standard control events. > > Like Benoit explained gambas unique controls (from gb.gui.base, and > some gb.form) are made by using a container, maybe a panel, then > various other controls placed inside. > > In order to make something like MouseDown trigger no matter where you > click you have to make a MouseUp event for every added control inside > the container. > > a ListBox for example is actually a gridview inside it's own container. > > internally the gridview gets its events inside the listbox. > The listbox itself only has 3 events.. > Event Click > Event Activate > Event Select > > The Click event for example is not just the gridviews click event. > the listbox creates a timer on the gridviews Change event and then > triggers it's own Click event. > > Things to consider about you bafflement... > there are many different gambas compound controls made with many > different combinations of objects. > > the code would have to be filled with many lines like this.. > > Public Sub IntrnalTextBox_MouseDown() > > ? Raise MouseDown > > End > > Public Sub IntrnalLabel_MouseDown() > > ? Raise MouseDown > > End > > Public Sub IntrnalPanel_MouseDown() > > ? Raise MouseDown > > End > > So imagine having that (and having to do that) for every gambas > controls internal objects and for every standard event. > that's going to be a lot of bloating. > > > Possible solutions for you Ben.... > > some sort of event , er , upstreamer, for want of a better word. > a new property for controls, something like ContainerTriggers or something > So if i set InternalLabel.ContainerTrigger = True it will auto try to.. > Object.Raise(Me._Container, sEventName) > (you know what i mean) > > or.. > A way to hide all the events of Control.class from UserControl.class > as they are not all really supported by the control. > Because in the IDE if i type Public Sub ListBox1_? then i get a list > of all Control.class events.? even though only some of the events will > actually do anything. and can be unexpected like the ListBox_MouseDown > example that does actually fire for some reason with a double click. > > That might at least make things clearer for the programmer. > > > Possible solutions for us.. > Understand there is a difference with a toolkit control and a gambas > compound control.? (i guess it should be documented better) > > As i previously mentioned all gambas compound controls have a way to > access and Observe the events of the internal object should you want > to do anything fancy. > see Observer.class and Watcher.class? (definately avoid using > Object.Attach() as this will break stuff for sure) > > As Benoit mentioned there are risks with doing this as the control is > using it's internal events as it needs to and if you have not studied > the controls code you may interfere with it's internal workings. > But if you study the controls code in gb.gui.base or gb.form or > whatever then you can probably modify.? auto-inheritance can be a good > way to modify compound control events. > > > Some food for thought. :) > > Respects > BruceS > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Apart from all the above, may I respectfully add the following. As BruceS uses, the term "*compound controls*" are (fairly simple) controls that are constructed using toolkit controls inside a container of some sort. Further, as he states, the exposed aspects of those are entirely up to the designer of that control as the "visible" control is the container. However, this can be complicated by the use of the Proxy property which thereby exposes the events of one of the contained controls _or not_. Notwithstanding that, compound controls can have valid reasons for not exposing certain aspects of the inner controls. Here we have built many custom controls that vary from simple to extremely complex in design and structure. One in particular comes to mind is a specific data bound combobox. The List and the data need to be protected from the inner combobox Text property so that selections can be made using the drop down list or by typing in a "part" of the list texts. Allowing access to the inner control aspects could/would be dangerous to the valid use of the control, so we have taken steps to ensure that they are not available to inadvertent misuse by other coders. ymmv and cheers b -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat Dec 9 15:55:32 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 9 Dec 2023 14:55:32 +0000 Subject: [Gambas-user] Does ListBox ''_MouseDown()" Event work ? In-Reply-To: References: <589d4195-55c6-4c0f-88b4-6410685339da@freenet.de> Message-ID: [trimmed] On Sat, 9 Dec 2023 at 13:49, Bruce Steers wrote: > > > On Sat, 9 Dec 2023 at 10:51, Gianluigi wrote: > >> Il 09/12/23 10:45, Claus Dietrich ha scritto: >> >> >* Le 08/12/2023 ? 14:06, T Lee Davidson a ?crit : >> *>* > On 12/7/23 20:13, vuott--- via User wrote: >> *>* >> Hello, >> *>* >> the ListBox ''_MouseDown()" Event does not work for me. >> *>* >> >> *>* >> >> *>* > triggers the MouseDown event with both Qt5 and GTK3. >> *>* > >> *>>* Compound non-native controls usually eat some of the low-level events. >> *>>* You should normally never try to handle low-level events on complex >> *>* controls. >> *>>* Regards, >> *>>* -- >> *>* Beno?t Minisini. >> >> This reply made me curious and I would be grateful if somebody >> can provide some background and help me to understand: >> What are possible reasons that non-native controls "eat some of the low >> evel events"? >> Why should I never try to use events which are a documented capability >> of a control? >> * >> >> > Like Benoit explained gambas unique controls (from gb.gui.base, and some > gb.form) are made by using a container, maybe a panel, then various other > controls placed inside. > > > Possible solutions for us.. > Understand there is a difference with a toolkit control and a gambas > compound control. (i guess it should be documented better) > I added a warning to UserControl in the wiki.. https://gambaswiki.org/edit/comp/gb.qt4/usercontrol. *Warning about events:* Currently a UserControl may not emit all the same events as a Control or a Container does, even though the IDE offers the events in the editor. The UserControl may be a combination of other controls and some internal events may or may not be triggered by the overlaying container. So only the non-inherited events listed for each UserControl can be truly relied on. The Events (inherited) part below does not mean those events will trigger. The control is a container so it technically does have these events but the part of the control you interact with might not. feel free to make it make better sense if you feel you can :) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Sat Dec 9 16:57:21 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sat, 9 Dec 2023 16:57:21 +0100 Subject: [Gambas-user] Does ListBox ''_MouseDown()" Event work ? In-Reply-To: References: <589d4195-55c6-4c0f-88b4-6410685339da@freenet.de> Message-ID: <886ec215-1331-4d74-9f06-eea159def88a@gradobag.it> Il 09/12/23 15:55, Bruce Steers ha scritto: > [trimmed] > > On Sat, 9 Dec 2023 at 13:49, Bruce Steers wrote: > > > > On Sat, 9 Dec 2023 at 10:51, Gianluigi wrote: > > Il 09/12/23 10:45, Claus Dietrich ha scritto: >> >/Le 08/12/2023 ? 14:06, T Lee Davidson a ?crit : />/> On 12/7/23 20:13, vuott--- via User wrote: />/>> Hello, />/>> the ListBox ''_MouseDown()" Event does not work for me. />/>> />/>> />/> triggers the MouseDown event with both Qt5 and GTK3. />/> />//>/Compound non-native controls usually eat some of the >> low-level events. />//>/You should normally never try to handle low-level events on >> complex />/controls. />//>/Regards, />//>/-- />/Beno?t Minisini. This reply made me curious and I would be >> grateful if somebody can provide some background and help me >> to understand: What are possible reasons that non-native >> controls "eat some of the low evel events"? Why should I >> never try to use events which are a documented capability of >> a control? / > > > Like Benoit explained gambas unique controls (from gb.gui.base, > and some gb.form) are made by using a container, maybe a panel, > then various other controls placed inside. > > > > I added a warning to UserControl in the wiki.. > https://gambaswiki.org/edit/comp/gb.qt4/usercontrol. > ... > Hi, I thank everyone for the explanations (Benoit and the two Bruces), a refresher on how things work in Gambas is always useful. I agree that it would be just as useful to find a way to avoid exposing events that don't work. I may be a trivial person, but if I enter a room that has a switch, I expect the light to turn on when I act on it. With best regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat Dec 9 19:16:06 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 9 Dec 2023 18:16:06 +0000 Subject: [Gambas-user] Does ListBox ''_MouseDown()" Event work ? In-Reply-To: <886ec215-1331-4d74-9f06-eea159def88a@gradobag.it> References: <589d4195-55c6-4c0f-88b4-6410685339da@freenet.de> <886ec215-1331-4d74-9f06-eea159def88a@gradobag.it> Message-ID: On Sat, 9 Dec 2023 at 15:58, Gianluigi wrote: > Il 09/12/23 15:55, Bruce Steers ha scritto: > > [trimmed] > > On Sat, 9 Dec 2023 at 13:49, Bruce Steers wrote: > >> >> >> On Sat, 9 Dec 2023 at 10:51, Gianluigi wrote: >> >>> Il 09/12/23 10:45, Claus Dietrich ha scritto: >>> >>> >* Le 08/12/2023 ? 14:06, T Lee Davidson a ?crit : >>> *>* > On 12/7/23 20:13, vuott--- via User wrote: >>> *>* >> Hello, >>> *>* >> the ListBox ''_MouseDown()" Event does not work for me. >>> *>* >> >>> *>* >> >>> *>* > triggers the MouseDown event with both Qt5 and GTK3. >>> *>* > >>> *>>* Compound non-native controls usually eat some of the low-level events. >>> *>>* You should normally never try to handle low-level events on complex >>> *>* controls. >>> *>>* Regards, >>> *>>* -- >>> *>* Beno?t Minisini. >>> >>> This reply made me curious and I would be grateful if somebody >>> can provide some background and help me to understand: >>> What are possible reasons that non-native controls "eat some of the low >>> evel events"? >>> Why should I never try to use events which are a documented capability >>> of a control? >>> * >>> >>> >> Like Benoit explained gambas unique controls (from gb.gui.base, and some >> gb.form) are made by using a container, maybe a panel, then various other >> controls placed inside. >> >> >> > I added a warning to UserControl in the wiki.. > https://gambaswiki.org/edit/comp/gb.qt4/usercontrol. > ... > > Hi, > > I thank everyone for the explanations (Benoit and the two Bruces), a > refresher on how things work in Gambas is always useful. > I agree that it would be just as useful to find a way to avoid exposing > events that don't work. > I may be a trivial person, but if I enter a room that has a switch, I > expect the light to turn on when I act on it. > > With best regards > Gianluigi > But if you enter a room with many additional private cubicles inside and hit the main light switch would you want all the lights to come on? ;) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Sat Dec 9 19:59:57 2023 From: brian at westwoodsvcs.com (Brian G) Date: Sat, 9 Dec 2023 10:59:57 -0800 Subject: [Gambas-user] Question about highlight.styles[] list from original eval.highlight class Message-ID: <794d8661-6534-4480-99e3-4d8f6ca5a26f@westwoodsvcs.com> Is it possible to add the styles[] list of text names for the eval.highlight.analyze output types back to the eval.highlight class I have a number of program analyzers which used it to produce readable output, Or is there a replacement for this somewhere. I hate to hard code in my program something depending on the numbers of the types coded inside Gambas. Maybe all highlighters should provide an analyze() and styles[] elements... umm -- ~~~~ Brian -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_0x78BFB26402F48419.asc Type: application/pgp-keys Size: 2428 bytes Desc: OpenPGP public key URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 665 bytes Desc: OpenPGP digital signature URL: From gradobag at gradobag.it Sat Dec 9 23:07:40 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sat, 9 Dec 2023 23:07:40 +0100 Subject: [Gambas-user] Does ListBox ''_MouseDown()" Event work ? In-Reply-To: References: <589d4195-55c6-4c0f-88b4-6410685339da@freenet.de> <886ec215-1331-4d74-9f06-eea159def88a@gradobag.it> Message-ID: <67d9948b-5b5b-4dec-be1b-ec7970f2adc6@gradobag.it> Il 09/12/23 19:16, Bruce Steers ha scritto: > But if you enter a room with many additional private cubicles inside > and hit the main light switch would you want all the lights to come on? ;) But there's only one switch in the room! Patience, I'll stay in the dark :-) With best regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sat Dec 9 23:39:17 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sat, 9 Dec 2023 23:39:17 +0100 Subject: [Gambas-user] Question about highlight.styles[] list from original eval.highlight class In-Reply-To: <794d8661-6534-4480-99e3-4d8f6ca5a26f@westwoodsvcs.com> References: <794d8661-6534-4480-99e3-4d8f6ca5a26f@westwoodsvcs.com> Message-ID: Le 09/12/2023 ? 19:59, Brian G a ?crit?: > Is it possible to add the styles[] list of text names for the > eval.highlight.analyze output types back to the eval.highlight class > What are you talking about exactly? -- Beno?t Minisini. From brian at westwoodsvcs.com Sun Dec 10 06:33:14 2023 From: brian at westwoodsvcs.com (brian) Date: Sat, 9 Dec 2023 21:33:14 -0800 Subject: [Gambas-user] Question about highlight.styles[] list from original eval.highlight class In-Reply-To: References: <794d8661-6534-4480-99e3-4d8f6ca5a26f@westwoodsvcs.com>, Message-ID: An HTML attachment was scrubbed... URL: From claus.dietrich at freenet.de Sun Dec 10 11:50:45 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Sun, 10 Dec 2023 11:50:45 +0100 Subject: [Gambas-user] Fwd: Does ListBox ''_MouseDown()" Event work ? In-Reply-To: <886ec215-1331-4d74-9f06-eea159def88a@gradobag.it> References: <886ec215-1331-4d74-9f06-eea159def88a@gradobag.it> Message-ID: Hi Bruce Thanks a lot for all your good explanations. Without even realizing it, I recently went through this subject when I redesigned a self-made advanced slider control. The reason: I didn't obtain all mouse events which are typically offered for such a control. The wording of your "warning" in the documentation is well selected. With best regards Claus -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From bsteers4 at gmail.com Sun Dec 10 14:06:24 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 10 Dec 2023 13:06:24 +0000 Subject: [Gambas-user] Question about highlight.styles[] list from original eval.highlight class In-Reply-To: References: <794d8661-6534-4480-99e3-4d8f6ca5a26f@westwoodsvcs.com> Message-ID: Do you mean the TextEditor.Styles property? If yes that changed to a hidden method TextEditor._GetStyles() Respects BruceS On Sun, 10 Dec 2023 at 05:40, brian wrote: > There was a styles string[] array that contained the text names that > matched all possible values provided by the types array created by the > analyze () call > This allowed the Integer values in the types array to be mapped to a text > name of the type. > > ~~~~~ Brian > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sun Dec 10 18:04:34 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 10 Dec 2023 18:04:34 +0100 Subject: [Gambas-user] Question about highlight.styles[] list from original eval.highlight class In-Reply-To: References: <794d8661-6534-4480-99e3-4d8f6ca5a26f@westwoodsvcs.com> Message-ID: <08ddc0c3-fe0c-42a1-aae9-663f2088655c@gambas-basic.org> Le 10/12/2023 ? 06:33, brian a ?crit?: > There was a styles string[] array that contained the text names that > matched all possible values provided by the types array created by the > analyze () call > This allowed the Integer values in the types array to be mapped to a > text name of the type. > > ~~~~~ Brian Why do you need that information exactly? -- Beno?t Minisini. From brian at westwoodsvcs.com Sun Dec 10 18:55:16 2023 From: brian at westwoodsvcs.com (Brian G) Date: Sun, 10 Dec 2023 09:55:16 -0800 Subject: [Gambas-user] Question about highlight.styles[] list from original eval.highlight class In-Reply-To: References: <794d8661-6534-4480-99e3-4d8f6ca5a26f@westwoodsvcs.com> Message-ID: I have a number of programs that analyze the source code, and produce output, they use this to identify the types of elements found and print in human readable names.?? They no longer work! Is there a reason it was removed? On 12/10/23 05:06, Bruce Steers wrote: > Do you mean the TextEditor.Styles property? > > If yes that changed to a hidden method? TextEditor._GetStyles() > > Respects > BruceS > > > On Sun, 10 Dec 2023 at 05:40, brian wrote: > > There was a styles string[] array that contained the text names > that matched all possible values provided by the types array > created by the analyze () call > This allowed the Integer values in the types array to be mapped to > a text name of the type. > > ~~~~~ Brian > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -- ~~~~ Brian -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_0x78BFB26402F48419.asc Type: application/pgp-keys Size: 2428 bytes Desc: OpenPGP public key URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 665 bytes Desc: OpenPGP digital signature URL: From bsteers4 at gmail.com Sun Dec 10 20:17:19 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 10 Dec 2023 19:17:19 +0000 Subject: [Gambas-user] Question about highlight.styles[] list from original eval.highlight class In-Reply-To: References: <794d8661-6534-4480-99e3-4d8f6ca5a26f@westwoodsvcs.com> Message-ID: I think TextHighlighterTheme.Colors is the new way.. Print TextHighlighterTheme.Colors.Join(";") *Selection;Highlight;Added;Removed;Error;Comment;Documentation;Keyword;Function;Operator;Symbol;Number;String;Current;Datatype;Preprocessor;Escape;Label;Constant* Respects BruceS On Sun, 10 Dec 2023 at 18:02, Brian G wrote: > I have a number of programs that analyze the source code, and produce > output, they use this to identify the types of elements found > > and print in human readable names. They no longer work! > > Is there a reason it was removed? > On 12/10/23 05:06, Bruce Steers wrote: > > Do you mean the TextEditor.Styles property? > > If yes that changed to a hidden method TextEditor._GetStyles() > > Respects > BruceS > > > On Sun, 10 Dec 2023 at 05:40, brian wrote: > >> There was a styles string[] array that contained the text names that >> matched all possible values provided by the types array created by the >> analyze () call >> This allowed the Integer values in the types array to be mapped to a text >> name of the type. >> >> ~~~~~ Brian >> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- >> > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > -- > ~~~~ Brian > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sun Dec 10 21:00:04 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 10 Dec 2023 21:00:04 +0100 Subject: [Gambas-user] Question about highlight.styles[] list from original eval.highlight class In-Reply-To: References: <794d8661-6534-4480-99e3-4d8f6ca5a26f@westwoodsvcs.com> Message-ID: <4150b8f1-4f2d-4cd8-999f-25cf6155c9d9@gambas-basic.org> Le 10/12/2023 ? 18:55, Brian G a ?crit?: > I have a number of programs that analyze the source code, and produce > output, they use this to identify the types of elements found > > and print in human readable names.?? They no longer work! > If you use 'Highlight.Analyze()', the values of the 'Highlight.Types' array are the constants of the 'Highlight' class. It should be enough for what you need, isn't it? Or did I miss something? -- Beno?t Minisini. From bsteers4 at gmail.com Sun Dec 10 22:07:12 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 10 Dec 2023 21:07:12 +0000 Subject: [Gambas-user] Desktop.Open, new portal method breaks computer:/// and trash:// Message-ID: new Portal method for Desktop.Open breaks compputer:/// and trash:/// it works the old xdg way. I modified Desktop.Open to look like this... Static Public Sub {Open}(Url As String, Optional {Wait} As Boolean) Dim XDGOnly As Boolean = Url = "computer:///" Or Url = "trash:///" Url = File.RealPath(Url) If DesktopPortal.Enabled And If Not XDGOnly Then DesktopPortal.OpenURI(Url) Else Main.RunXdgUtil("xdg-open", [Url], {Wait}) Endif End Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sun Dec 10 22:09:55 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 10 Dec 2023 22:09:55 +0100 Subject: [Gambas-user] Desktop.Open, new portal method breaks computer:/// and trash:// In-Reply-To: References: Message-ID: Le 10/12/2023 ? 22:07, Bruce Steers a ?crit?: > new Portal method for Desktop.Open breaks compputer:/// and trash:/// > > it works the old xdg way. > I modified Desktop.Open to look like this... > > Static Public Sub {Open}(Url As String, Optional {Wait} As Boolean) > > ?Dim XDGOnly As Boolean = Url = "computer:///" Or Url = "trash:///" > > ? Url = File.RealPath(Url) > > ? If DesktopPortal.Enabled And If Not XDGOnly Then > ? ? DesktopPortal.OpenURI(Url) > ? Else > ? ? Main.RunXdgUtil("xdg-open", [Url], {Wait}) > ? Endif > > End > > > Respects > BruceS > It's not a solution as: - 'xdg-utils' scripts are deprecated. - AFAIK, no standard says something about "computer://" and "trash://". -- Beno?t Minisini. From bsteers4 at gmail.com Sun Dec 10 22:32:56 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 10 Dec 2023 21:32:56 +0000 Subject: [Gambas-user] Desktop.Open, new portal method breaks computer:/// and trash:// In-Reply-To: References: Message-ID: On Sun, 10 Dec 2023 at 21:10, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 10/12/2023 ? 22:07, Bruce Steers a ?crit : > > new Portal method for Desktop.Open breaks compputer:/// and trash:/// > > > > it works the old xdg way. > > I modified Desktop.Open to look like this... > > > > Static Public Sub {Open}(Url As String, Optional {Wait} As Boolean) > > > > Dim XDGOnly As Boolean = Url = "computer:///" Or Url = "trash:///" > > > > Url = File.RealPath(Url) > > > > If DesktopPortal.Enabled And If Not XDGOnly Then > > DesktopPortal.OpenURI(Url) > > Else > > Main.RunXdgUtil("xdg-open", [Url], {Wait}) > > Endif > > > > End > > > > > > Respects > > BruceS > > > > It's not a solution as: > > - 'xdg-utils' scripts are deprecated. > > - AFAIK, no standard says something about "computer://" and "trash://". > > -- > Beno?t Minisini. > That's a shame, because xdg-open computer:/// and trash:/// work on all the systems i've tried. I guess i'll just have to keep the xdg scripts in my application Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Dec 10 22:51:44 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 10 Dec 2023 21:51:44 +0000 Subject: [Gambas-user] Desktop.Open, new portal method breaks computer:/// and trash:// In-Reply-To: References: Message-ID: On Sun, 10 Dec 2023 at 21:10, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 10/12/2023 ? 22:07, Bruce Steers a ?crit : > > new Portal method for Desktop.Open breaks compputer:/// and trash:/// > > > > it works the old xdg way. > > I modified Desktop.Open to look like this... > > > > Static Public Sub {Open}(Url As String, Optional {Wait} As Boolean) > > > > Dim XDGOnly As Boolean = Url = "computer:///" Or Url = "trash:///" > > > > Url = File.RealPath(Url) > > > > If DesktopPortal.Enabled And If Not XDGOnly Then > > DesktopPortal.OpenURI(Url) > > Else > > Main.RunXdgUtil("xdg-open", [Url], {Wait}) > > Endif > > > > End > > > > > > Respects > > BruceS > > > > It's not a solution as: > > - 'xdg-utils' scripts are deprecated. > > - AFAIK, no standard says something about "computer://" and "trash://". > > -- > Beno?t Minisini. > from what i can tell it's gio that supports the standard... (not that i know anything about gio it's just xdg will report a gio error for a non existent name) $ gio info computer:/// display name: Computer name: / type: directory uri: computer:/// attributes: standard::type: 2 standard::name: / standard::display-name: Computer standard::icon: computer, computer-symbolic standard::content-type: inode/directory standard::symbolic-icon: computer-symbolic, computer id::filesystem: computer: access::can-write: FALSE access::can-delete: FALSE access::can-trash: FALSE metadata::annotation: metadata::caja-icon-view-auto-layout: true metadata::caja-icon-view-tighter-layout: false metadata::nemo-icon-view-auto-layout: true also seems to be a recent:/// Cannot seem to find any specification/standard list of others though :( Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sun Dec 10 23:08:50 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 10 Dec 2023 23:08:50 +0100 Subject: [Gambas-user] Desktop.Open, new portal method breaks computer:/// and trash:// In-Reply-To: References: Message-ID: Le 10/12/2023 ? 22:51, Bruce Steers a ?crit?: > > > On Sun, 10 Dec 2023 at 21:10, Beno?t Minisini > > wrote: > > Le 10/12/2023 ? 22:07, Bruce Steers a ?crit?: > > new Portal method for Desktop.Open breaks compputer:/// and trash:/// > > > > it works the old xdg way. > > I modified Desktop.Open to look like this... > > > > Static Public Sub {Open}(Url As String, Optional {Wait} As Boolean) > > > >? ?Dim XDGOnly As Boolean = Url = "computer:///" Or Url = "trash:///" > > > >? ? Url = File.RealPath(Url) > > > >? ? If DesktopPortal.Enabled And If Not XDGOnly Then > >? ? ? DesktopPortal.OpenURI(Url) > >? ? Else > >? ? ? Main.RunXdgUtil("xdg-open", [Url], {Wait}) > >? ? Endif > > > > End > > > > > > Respects > > BruceS > > > > It's not a solution as: > > - 'xdg-utils' scripts are deprecated. > > - AFAIK, no standard says something about "computer://" and "trash://". > > -- > Beno?t Minisini. > > > from what i can tell it's gio that supports the standard... (not that i > know anything about gio it's just xdg will report a gio error for a non > existent name) > > $ gio info computer:/// > display name: Computer > name: / > type: directory > uri: computer:/// > attributes: > ? standard::type: 2 > ? standard::name: / > ? standard::display-name: Computer > ? standard::icon: computer, computer-symbolic > ? standard::content-type: inode/directory > ? standard::symbolic-icon: computer-symbolic, computer > ? id::filesystem: computer: > ? access::can-write: FALSE > ? access::can-delete: FALSE > ? access::can-trash: FALSE > ? metadata::annotation: > ? metadata::caja-icon-view-auto-layout: true > ? metadata::caja-icon-view-tighter-layout: false > ? metadata::nemo-icon-view-auto-layout: true > > also seems to be a recent:/// > Cannot seem to find any specification/standard list of others though :( > > Respects > BruceS > It's what I wanted to say. 'xdg-utils' just sends the URL to a command-line tool associated with the current desktop. Then that command-line tool interpretes that URL in its own way. I don't know what the desktop portal documentation says about the URLs, bug I guess there is no desktop portal implementation that implements it the same way. :-/ And I don't want to write my own abstraction of that stuff now - like you started to do by adding your two tests at the beginning of 'Desktop.Open()'. Regards, -- Beno?t Minisini. From brian at westwoodsvcs.com Mon Dec 11 00:56:03 2023 From: brian at westwoodsvcs.com (Brian G) Date: Sun, 10 Dec 2023 15:56:03 -0800 Subject: [Gambas-user] highlight with indentation Message-ID: Is there some way other that writing it myself, to correctly indent a gambas program file? Maybe I am missing something. -- ~~~~ Brian -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_0x78BFB26402F48419.asc Type: application/pgp-keys Size: 2428 bytes Desc: OpenPGP public key URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 665 bytes Desc: OpenPGP digital signature URL: From brian at westwoodsvcs.com Mon Dec 11 01:41:07 2023 From: brian at westwoodsvcs.com (Brian G) Date: Sun, 10 Dec 2023 16:41:07 -0800 Subject: [Gambas-user] Question about highlight.styles[] list from original eval.highlight class In-Reply-To: <4150b8f1-4f2d-4cd8-999f-25cf6155c9d9@gambas-basic.org> References: <794d8661-6534-4480-99e3-4d8f6ca5a26f@westwoodsvcs.com> <4150b8f1-4f2d-4cd8-999f-25cf6155c9d9@gambas-basic.org> Message-ID: On 12/10/23 12:00, Beno?t Minisini wrote: > Le 10/12/2023 ? 18:55, Brian G a ?crit?: >> I have a number of programs that analyze the source code, and produce >> output, they use this to identify the types of elements found >> >> and print in human readable names.?? They no longer work! >> > > If you use 'Highlight.Analyze()', the values of the 'Highlight.Types' > array are the constants of the 'Highlight' class. > > It should be enough for what you need, isn't it? Or did I miss something? > It is not enough, the styles array contained the text value for each of the types[] entry values. the types entry values were an index into the array styles looked like this Styles As String[] = ["Background", "Normal", "Selection", "Alternate", "Highlight", "CurrentLine", "Added", "Removed", "Error", "Comment", "Documentation", "Keyword", ? "Function", "Operator", "Symbol", "Number", "String", "Breakpoint", "Current", "Datatype", "Preprocessor", "Escape", "Label", "Constant", "Class", "Id", "Element", ? "Property", "Pseudo", "Rule", "Important", "File", "Header", "Position", "Markup", "Attribute", "Value", "Entity", "WebMarkup", "WebComment", "WebArgument"] There is nothing equivalent now. I have code that does this print highlight.styles[types[9]] which prints 'comment' My? programs analyze other programs and produce reports using this information. And rely on the text from the styles array that was part of the original eval.highlight class -- ~~~~ Brian -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_0x78BFB26402F48419.asc Type: application/pgp-keys Size: 2428 bytes Desc: OpenPGP public key URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 665 bytes Desc: OpenPGP digital signature URL: From benoit.minisini at gambas-basic.org Mon Dec 11 02:08:53 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Mon, 11 Dec 2023 02:08:53 +0100 Subject: [Gambas-user] Question about highlight.styles[] list from original eval.highlight class In-Reply-To: References: <794d8661-6534-4480-99e3-4d8f6ca5a26f@westwoodsvcs.com> <4150b8f1-4f2d-4cd8-999f-25cf6155c9d9@gambas-basic.org> Message-ID: Le 11/12/2023 ? 01:41, Brian G a ?crit?: > > On 12/10/23 12:00, Beno?t Minisini wrote: >> Le 10/12/2023 ? 18:55, Brian G a ?crit?: >>> I have a number of programs that analyze the source code, and produce >>> output, they use this to identify the types of elements found >>> >>> and print in human readable names.?? They no longer work! >>> >> >> If you use 'Highlight.Analyze()', the values of the 'Highlight.Types' >> array are the constants of the 'Highlight' class. >> >> It should be enough for what you need, isn't it? Or did I miss something? >> > It is not enough, the styles array contained the text value for each of > the types[] entry values. the types entry values were an index into the > array > > styles looked like this > > Styles As String[] = ["Background", "Normal", "Selection", "Alternate", > "Highlight", "CurrentLine", "Added", "Removed", "Error", "Comment", > "Documentation", "Keyword", > ? "Function", "Operator", "Symbol", "Number", "String", "Breakpoint", > "Current", "Datatype", "Preprocessor", "Escape", "Label", "Constant", > "Class", "Id", "Element", > ? "Property", "Pseudo", "Rule", "Important", "File", "Header", > "Position", "Markup", "Attribute", "Value", "Entity", "WebMarkup", > "WebComment", "WebArgument"] > > There is nothing equivalent now. > > I have code that does this print highlight.styles[types[9]] > > which prints 'comment' > > My? programs analyze other programs and produce reports using this > information. > > And rely on the text from the styles array that was part of the original > eval.highlight class > The style names are now managed by 'gb.highlight'. Either you use 'gb.eval.highlight', and then you can use the Highlight.Styles property (I -did not- remove it). Either you use 'gb.highlight', which replaces 'gb.eval.highlight', and then the array of style names is now dynamically managed by the TextHighlighterTheme class (any highlighter register its style names dynamically). It's that class that will return that array. At the moment, it's an hidden public method, but I can make a public property. Regards, -- Beno?t Minisini. From jussi.lahtinen at gmail.com Mon Dec 11 03:36:48 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Mon, 11 Dec 2023 04:36:48 +0200 Subject: [Gambas-user] highlight with indentation In-Reply-To: References: Message-ID: Maybe I don't understand the question... Edit --> Advanced --> Format code ? Jussi On Mon, Dec 11, 2023 at 1:57?AM Brian G wrote: > Is there some way other that writing it myself, to correctly indent a > gambas program file? > > Maybe I am missing something. > > -- > ~~~~ Brian > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Mon Dec 11 05:06:54 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Mon, 11 Dec 2023 04:06:54 +0000 Subject: [Gambas-user] highlight with indentation In-Reply-To: References: Message-ID: On Sun, 10 Dec 2023 at 23:57, Brian G wrote: > Is there some way other that writing it myself, to correctly indent a > gambas program file? > > Maybe I am missing something. > code formatting is private to gambas ide https://gitlab.com/gambas/gambas/-/blob/master/app/src/gambas3/.src/Editor/Code/MPrettyCode.module?ref_type=heads Unless you import Benoits wonderful module into your own program.. :) https://gitlab.com/bsteers4/scripted/-/blob/V2-highlight/.src/imported/FormatCode.module?ref_type=heads Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Tue Dec 12 00:34:50 2023 From: brian at westwoodsvcs.com (Brian G) Date: Mon, 11 Dec 2023 15:34:50 -0800 Subject: [Gambas-user] highlight with indentation In-Reply-To: References: Message-ID: <37bcbe42-7a1c-41d2-be27-f1076071d881@westwoodsvcs.com> Thanks Bruce, ? I will check it out On 12/10/23 20:06, Bruce Steers wrote: > > > On Sun, 10 Dec 2023 at 23:57, Brian G wrote: > > Is there some way other that writing it myself, to correctly indent a > gambas program file? > > Maybe I am missing something. > > > code formatting is private to gambas ide > https://gitlab.com/gambas/gambas/-/blob/master/app/src/gambas3/.src/Editor/Code/MPrettyCode.module?ref_type=heads > > Unless you import Benoits wonderful module into your own program.. :) > https://gitlab.com/bsteers4/scripted/-/blob/V2-highlight/.src/imported/FormatCode.module?ref_type=heads > > Respects > BruceS > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- -- ~~~~ Brian -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_0x78BFB26402F48419.asc Type: application/pgp-keys Size: 2428 bytes Desc: OpenPGP public key URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 665 bytes Desc: OpenPGP digital signature URL: From benoit.minisini at gambas-basic.org Tue Dec 12 00:43:25 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 12 Dec 2023 00:43:25 +0100 Subject: [Gambas-user] New highlighting definition files documentation Message-ID: <4ed560f2-d276-47cc-8cb2-271fd50f8a13@gambas-basic.org> Hi, I have finished the first version of the wiki page that documents how to write definition files for the new 'gb.highlight' component. Read it at https://gambaswiki.org/wiki/doc/highlight, and tell me. For bigger exemples, just check the definition files located into the source code project of 'gb.highlight'. My next goal is to find a good mechanisme that allows to add new definition file dynamically to the IDE. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Tue Dec 12 02:30:04 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 12 Dec 2023 01:30:04 +0000 Subject: [Gambas-user] New highlighting definition files documentation In-Reply-To: <4ed560f2-d276-47cc-8cb2-271fd50f8a13@gambas-basic.org> References: <4ed560f2-d276-47cc-8cb2-271fd50f8a13@gambas-basic.org> Message-ID: On Mon, 11 Dec 2023 at 23:44, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Hi, > > I have finished the first version of the wiki page that documents how to > write definition files for the new 'gb.highlight' component. > > Read it at https://gambaswiki.org/wiki/doc/highlight, and tell me. > > For bigger exemples, just check the definition files located into the > source code project of 'gb.highlight'. > Awesome stuff Benoit. We should be able to do some interesting things now. the documentation is great. thank you > > My next goal is to find a good mechanisme that allows to add new > definition file dynamically to the IDE. > Also sounds great, Maybe the same mechanism could be used to also dynamically add plugins/menus/other stuff some kind of file type/ext recognition enabler would also be good. i added a bit of sh recognition to my ide so sh highlighting also works now. but only for .sh extensions, no mime test yet but would be better. https://gitlab.com/bsteers4/gambas/-/commit/dc1d72c81a7c8c005aa1aff0d96bb651f78315da but to be able to do that dynamically with settings would allow us to make our own highlighting work in the ide too :) Respects BruceS > > Regards, > > -- > Beno?t Minisini. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Dec 12 15:33:22 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 12 Dec 2023 14:33:22 +0000 Subject: [Gambas-user] TextHighlighter["gambas"].CanRewrite = False Message-ID: I cannot seem to disable CanRewrite in a texteditor :( I try this.... TextHighlighter["gambas"].CanRewrite = False $hEditor.Highlight = "gambas" but the text gets re-written still? The editor has a highlight selector to try different highlights on text files that might have not been recognized. If gambas is selected I only want to enable CanRewrite if the file is known to be gambas code. I also only want to disable rewrite for gambas highlight in the loaded editor not everywhere and TextHighlighter["gambas"].CanRewrite = False seems kinda global not local to current editor. I guess i am doing it wrong :( any advice ? Thanks in advance BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Tue Dec 12 15:42:37 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 12 Dec 2023 15:42:37 +0100 Subject: [Gambas-user] TextHighlighter["gambas"].CanRewrite = False In-Reply-To: References: Message-ID: Le 12/12/2023 ? 15:33, Bruce Steers a ?crit?: > > I cannot seem to disable CanRewrite in a texteditor :( > > I try this.... > > TextHighlighter["gambas"].CanRewrite = False > $hEditor.Highlight = "gambas" > > but the text gets re-written still? > > The editor has a highlight selector to try different highlights on text > files that might have not been recognized. > If gambas is selected I only want to enable CanRewrite if the file is > known to be gambas code. > > I also only want to disable rewrite for gambas highlight in the loaded > editor not everywhere and TextHighlighter["gambas"].CanRewrite = False > seems kinda global not local to current editor. > > I guess i am doing it wrong :( > > any advice ? > > Thanks in advance > BruceS > The CanRewrite property is not static, and the TextEditor always set it to TRUE before doing its highlight. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Tue Dec 12 15:59:22 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 12 Dec 2023 14:59:22 +0000 Subject: [Gambas-user] TextHighlighter["gambas"].CanRewrite = False In-Reply-To: References: Message-ID: On Tue, 12 Dec 2023 at 14:43, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 12/12/2023 ? 15:33, Bruce Steers a ?crit : > > > > I cannot seem to disable CanRewrite in a texteditor :( > > > > I try this.... > > > > TextHighlighter["gambas"].CanRewrite = False > > $hEditor.Highlight = "gambas" > > > > but the text gets re-written still? > > > > The editor has a highlight selector to try different highlights on text > > files that might have not been recognized. > > If gambas is selected I only want to enable CanRewrite if the file is > > known to be gambas code. > > > > I also only want to disable rewrite for gambas highlight in the loaded > > editor not everywhere and TextHighlighter["gambas"].CanRewrite = False > > seems kinda global not local to current editor. > > > > I guess i am doing it wrong :( > > > > any advice ? > > > > Thanks in advance > > BruceS > > > > The CanRewrite property is not static, and the TextEditor always set it > to TRUE before doing its highlight. > > Regards, > But we had this issue many many moons ago so you made it possible to set gambas highlight without Rewrite enabled I think gambas highlight Rewriting should ONLY happen if Mode = "gambas" too. by definition a "Highlight" alone should not modify anything. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Dec 12 16:08:10 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 12 Dec 2023 15:08:10 +0000 Subject: [Gambas-user] TextHighlighter["gambas"].CanRewrite = False In-Reply-To: References: Message-ID: this was the previous conversation where i was livid because i had to spend 4.5 hours fixing a darn script..... :-\ https://lists.gambas-basic.org/pipermail/user/2020-October/070368.html Respects BruceS On Tue, 12 Dec 2023 at 14:43, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 12/12/2023 ? 15:33, Bruce Steers a ?crit : > > > > I cannot seem to disable CanRewrite in a texteditor :( > > > > I try this.... > > > > TextHighlighter["gambas"].CanRewrite = False > > $hEditor.Highlight = "gambas" > > > > but the text gets re-written still? > > > > The editor has a highlight selector to try different highlights on text > > files that might have not been recognized. > > If gambas is selected I only want to enable CanRewrite if the file is > > known to be gambas code. > > > > I also only want to disable rewrite for gambas highlight in the loaded > > editor not everywhere and TextHighlighter["gambas"].CanRewrite = False > > seems kinda global not local to current editor. > > > > I guess i am doing it wrong :( > > > > any advice ? > > > > Thanks in advance > > BruceS > > > > The CanRewrite property is not static, and the TextEditor always set it > to TRUE before doing its highlight. > > 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 Tue Dec 12 16:11:05 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 12 Dec 2023 16:11:05 +0100 Subject: [Gambas-user] TextHighlighter["gambas"].CanRewrite = False In-Reply-To: References: Message-ID: <23dfd889-b2c6-4310-8137-096eca0fe6aa@gambas-basic.org> Le 12/12/2023 ? 15:59, Bruce Steers a ?crit?: > > But we had this issue many many moons ago so you made it possible to set > gambas highlight without Rewrite enabled > > I think gambas highlight Rewriting should ONLY happen if Mode = "gambas" > too. > > by definition a "Highlight" alone should not modify anything. > > Respects > BruceS > Maybe, it's logical, but I never specified that. I will see what I can do. -- Beno?t Minisini. From bsteers4 at gmail.com Tue Dec 12 16:15:51 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 12 Dec 2023 15:15:51 +0000 Subject: [Gambas-user] TextHighlighter["gambas"].CanRewrite = False In-Reply-To: <23dfd889-b2c6-4310-8137-096eca0fe6aa@gambas-basic.org> References: <23dfd889-b2c6-4310-8137-096eca0fe6aa@gambas-basic.org> Message-ID: On Tue, 12 Dec 2023 at 15:12, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 12/12/2023 ? 15:59, Bruce Steers a ?crit : > > > > But we had this issue many many moons ago so you made it possible to set > > gambas highlight without Rewrite enabled > > > > I think gambas highlight Rewriting should ONLY happen if Mode = "gambas" > > too. > > > > by definition a "Highlight" alone should not modify anything. > > > > Respects > > BruceS > > > > Maybe, it's logical, but I never specified that. > > I will see what I can do. > > -- > Beno?t Minisini. > Last time you did this... https://gitlab.com/gambas/gambas/-/commit/4792ca1a7e8d6c9c30a67495b4bb5b6ceba3a92c :) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Dec 12 16:24:13 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 12 Dec 2023 15:24:13 +0000 Subject: [Gambas-user] TextHighlighter["gambas"].CanRewrite = False In-Reply-To: <23dfd889-b2c6-4310-8137-096eca0fe6aa@gambas-basic.org> References: <23dfd889-b2c6-4310-8137-096eca0fe6aa@gambas-basic.org> Message-ID: On Tue, 12 Dec 2023 at 15:12, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 12/12/2023 ? 15:59, Bruce Steers a ?crit : > > > > But we had this issue many many moons ago so you made it possible to set > > gambas highlight without Rewrite enabled > > > > I think gambas highlight Rewriting should ONLY happen if Mode = "gambas" > > too. > > > > by definition a "Highlight" alone should not modify anything. > > > > Respects > > BruceS > > > > Maybe, it's logical, but I never specified that. > It IS very logical. Highlighting is a theatrical term from colored lights set up out of sight that shined on things giving them a different "appearance". Turn off the highlights and it's all back to normal. Your Highlighting is like super x-ray highlighting that burns a permanent change ;) lol > > I will see what I can do. > Thank you kind sir , you're a star :) Respects BruceS > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Tue Dec 12 16:26:01 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 12 Dec 2023 16:26:01 +0100 Subject: [Gambas-user] TextHighlighter["gambas"].CanRewrite = False In-Reply-To: References: <23dfd889-b2c6-4310-8137-096eca0fe6aa@gambas-basic.org> Message-ID: <517c84ea-b2c7-4941-aa17-c666a72310b6@gambas-basic.org> Le 12/12/2023 ? 16:15, Bruce Steers a ?crit?: > > Last time you did this... > https://gitlab.com/gambas/gambas/-/commit/4792ca1a7e8d6c9c30a67495b4bb5b6ceba3a92c > :) > > Respects > BruceS > It was not a good idea. I prefer an explicit property. Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Tue Dec 12 16:47:04 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 12 Dec 2023 15:47:04 +0000 Subject: [Gambas-user] TextHighlighter["gambas"].CanRewrite = False In-Reply-To: <517c84ea-b2c7-4941-aa17-c666a72310b6@gambas-basic.org> References: <23dfd889-b2c6-4310-8137-096eca0fe6aa@gambas-basic.org> <517c84ea-b2c7-4941-aa17-c666a72310b6@gambas-basic.org> Message-ID: On Tue, 12 Dec 2023 at 15:27, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 12/12/2023 ? 16:15, Bruce Steers a ?crit : > > > > Last time you did this... > > > https://gitlab.com/gambas/gambas/-/commit/4792ca1a7e8d6c9c30a67495b4bb5b6ceba3a92c > < > https://gitlab.com/gambas/gambas/-/commit/4792ca1a7e8d6c9c30a67495b4bb5b6ceba3a92c > > > > :) > > > > Respects > > BruceS > > > > It was not a good idea. I prefer an explicit property. > It would be ideal to set something like... TextEditor1.Theme.CanRewrite = False Respects > > Regards, > > -- > Beno?t Minisini. > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Dec 12 16:56:32 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 12 Dec 2023 15:56:32 +0000 Subject: [Gambas-user] TextHighlighter["gambas"].CanRewrite = False In-Reply-To: References: <23dfd889-b2c6-4310-8137-096eca0fe6aa@gambas-basic.org> <517c84ea-b2c7-4941-aa17-c666a72310b6@gambas-basic.org> Message-ID: On Tue, 12 Dec 2023 at 15:47, Bruce Steers wrote: > > > On Tue, 12 Dec 2023 at 15:27, Beno?t Minisini < > benoit.minisini at gambas-basic.org> wrote: > >> Le 12/12/2023 ? 16:15, Bruce Steers a ?crit : >> > >> > Last time you did this... >> > >> https://gitlab.com/gambas/gambas/-/commit/4792ca1a7e8d6c9c30a67495b4bb5b6ceba3a92c >> < >> https://gitlab.com/gambas/gambas/-/commit/4792ca1a7e8d6c9c30a67495b4bb5b6ceba3a92c >> > >> > :) >> > >> > Respects >> > BruceS >> > >> >> It was not a good idea. I prefer an explicit property. >> > > It would be ideal to set something like... > > TextEditor1.Theme.CanRewrite = False > > Respects > I will then simply be able get what i want by doing something like this... TextEditor1.Theme.CanRewrite = TextEditor1.Mode = TextEditor1.Highlight So if the mode does not match the highlight then no modification will occur. (apologies for so many messages, I leave it in your hands now and thanks in advance for anything you may do) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Dec 12 17:08:49 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 12 Dec 2023 16:08:49 +0000 Subject: [Gambas-user] TextHighlighter["gambas"].CanRewrite = False In-Reply-To: References: <23dfd889-b2c6-4310-8137-096eca0fe6aa@gambas-basic.org> <517c84ea-b2c7-4941-aa17-c666a72310b6@gambas-basic.org> Message-ID: On Tue, 12 Dec 2023 at 15:56, Bruce Steers wrote: > > > On Tue, 12 Dec 2023 at 15:47, Bruce Steers wrote: > >> >> >> On Tue, 12 Dec 2023 at 15:27, Beno?t Minisini < >> benoit.minisini at gambas-basic.org> wrote: >> >>> Le 12/12/2023 ? 16:15, Bruce Steers a ?crit : >>> > >>> > Last time you did this... >>> > >>> https://gitlab.com/gambas/gambas/-/commit/4792ca1a7e8d6c9c30a67495b4bb5b6ceba3a92c >>> < >>> https://gitlab.com/gambas/gambas/-/commit/4792ca1a7e8d6c9c30a67495b4bb5b6ceba3a92c >>> > >>> > :) >>> > >>> > Respects >>> > BruceS >>> > >>> >>> It was not a good idea. I prefer an explicit property. >>> >> >> It would be ideal to set something like... >> >> TextEditor1.Theme.CanRewrite = False >> >> Respects >> > > I will then simply be able get what i want by doing something like this... > > TextEditor1.Theme.CanRewrite = TextEditor1.Mode = TextEditor1.Highlight > So if the mode does not match the highlight then no modification will > occur. > > (apologies for so many messages, I leave it in your hands now and thanks > in advance for anything you may do) > > Respects > BruceS > Aah i missed you already did a commit. That will do nicely thank you :) TextEditor1.Rewrite = TextEditor1.Mode = TextEditor1.Highlight should do the job :) Much respect BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Tue Dec 12 21:36:44 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 12 Dec 2023 21:36:44 +0100 Subject: [Gambas-user] Possible intrusive change but normally painless Message-ID: <7adfa229-68d7-4e5e-8b8f-995552678bdb@gambas-basic.org> Hi, There are some project data that are automatically updated by the IDE : project version, project icon, and gitignore file. When your project is under version control, this is annoying as it introduces new changes as soon as you open a project without modifying it, and may prevent you from switching from branch to branch without manually reverting that automatic changes. Here is what I done in the last commits: - Project version is now stored in its own little hidden file, unexpectedly named ".version". - The old version stored in the ".project" file is kept for backward-compatibility, but is not updated anymore. - As soon as you close a project, or change the current branch, the ".version", ".icon.png" and ".gitignore" files are automatically reverted if they were modified. Normally that change should be painless. Otherwise tell me, before all Gambas projects broke everywhere. :-) Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Tue Dec 12 21:57:04 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 12 Dec 2023 20:57:04 +0000 Subject: [Gambas-user] Possible intrusive change but normally painless In-Reply-To: <7adfa229-68d7-4e5e-8b8f-995552678bdb@gambas-basic.org> References: <7adfa229-68d7-4e5e-8b8f-995552678bdb@gambas-basic.org> Message-ID: Yes this was quite annoying hence my complaining https://lists.gambas-basic.org/pipermail/user/2023-November/080814.html Thank you Benoit. Respects BruceS On Tue, 12 Dec 2023 at 20:37, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Hi, > > There are some project data that are automatically updated by the IDE : > project version, project icon, and gitignore file. > > When your project is under version control, this is annoying as it > introduces new changes as soon as you open a project without modifying > it, and may prevent you from switching from branch to branch without > manually reverting that automatic changes. > > Here is what I done in the last commits: > > - Project version is now stored in its own little hidden file, > unexpectedly named ".version". > > - The old version stored in the ".project" file is kept for > backward-compatibility, but is not updated anymore. > > - As soon as you close a project, or change the current branch, the > ".version", ".icon.png" and ".gitignore" files are automatically > reverted if they were modified. > > Normally that change should be painless. Otherwise tell me, before all > Gambas projects broke everywhere. :-) > > Regards, > > -- > Beno?t Minisini. > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Wed Dec 13 00:50:08 2023 From: brian at westwoodsvcs.com (brian) Date: Tue, 12 Dec 2023 15:50:08 -0800 Subject: [Gambas-user] Question about highlight.styles[] list from original eval.highlight class In-Reply-To: References: <794d8661-6534-4480-99e3-4d8f6ca5a26f@westwoodsvcs.com> <4150b8f1-4f2d-4cd8-999f-25cf6155c9d9@gambas-basic.org> , Message-ID: <56D97302-D52C-814A-B6E3-C450C5B06DD3@hxcore.ol> An HTML attachment was scrubbed... URL: From isafiur at gmail.com Wed Dec 13 15:13:30 2023 From: isafiur at gmail.com (Safiur Rahman) Date: Wed, 13 Dec 2023 19:58:30 +0545 Subject: [Gambas-user] Using WebExpander control from gb.web.form in current gb.web.gui Message-ID: Hi Has anybody used WebExpander control present in gb.web.form into gb.web.gui project. I couldn't use it by copying class, JS and css into gb.web.gui project in an attempt to migrate gb.web.form project to faster gb.web.gui -- Regards Safiur Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Fri Dec 15 17:11:19 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 15 Dec 2023 16:11:19 +0000 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr Message-ID: That would be useful. To have a "View Image" option ii the expression viewer. for example if i right clicg a Picture or Image item then View Image appears in the menu and if i double click a Picture then a "View Image" icon appears. both would display the current selected image in question. that would be super useful i think. I got as far as adding it to my IDE to the point i had a working button that appeared for an image but i do not know how to get the actual image object to show from FDebugExpr.class. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Fri Dec 15 17:28:27 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 15 Dec 2023 16:28:27 +0000 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr In-Reply-To: References: Message-ID: On Fri, 15 Dec 2023 at 16:11, Bruce Steers wrote: > That would be useful. > > To have a "View Image" option ii the expression viewer. > > for example if i right clicg a Picture or Image item then View Image > appears in the menu > and if i double click a Picture then a "View Image" icon appears. > > both would display the current selected image in question. > > that would be super useful i think. > > I got as far as adding it to my IDE to the point i had a working button > that appeared for an image but i do not know how to get the actual image > object to show from FDebugExpr.class. > Can i use the information like ... (Picture 0x559a968a1078) to get the picture ? or is there a better way to get the current value of the object in question? Project.class maybe?. Or do you think you could quite quickly add this feature Ben? :) Thanks in advance Happy Yule tide :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Fri Dec 15 21:52:42 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Fri, 15 Dec 2023 21:52:42 +0100 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr In-Reply-To: References: Message-ID: <7536373a-2ab5-40cf-bf28-a032960d0c81@gambas-basic.org> Le 15/12/2023 ? 17:28, Bruce Steers a ?crit?: > > > On Fri, 15 Dec 2023 at 16:11, Bruce Steers > wrote: > > That would be useful. > > To have a "View Image" option ii the expression viewer. > > for example if i right clicg a Picture or Image item then View Image > appears in the menu > and if i double click a Picture then a "View Image" icon appears. > > both would display the current selected image in question. > > that would be super useful i think. > > I got as far as adding it to my IDE to the point i had a working > button that appeared for an image but i do not know how to get the > actual image object to show from FDebugExpr.class. > > > Can i use the information like ... > (Picture 0x559a968a1078)? to get the picture ? > or is there a better way to get the current value of the object in > question? > Project.class maybe?. > > Or do you think you could quite quickly add this feature Ben? :) > > Thanks in advance > Happy Yule tide :) > BruceS > Do you understand how the debugger works? -- Beno?t Minisini. From bsteers4 at gmail.com Fri Dec 15 23:15:09 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 15 Dec 2023 22:15:09 +0000 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr In-Reply-To: <7536373a-2ab5-40cf-bf28-a032960d0c81@gambas-basic.org> References: <7536373a-2ab5-40cf-bf28-a032960d0c81@gambas-basic.org> Message-ID: On Fri, 15 Dec 2023 at 20:53, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 15/12/2023 ? 17:28, Bruce Steers a ?crit : > > > > > > On Fri, 15 Dec 2023 at 16:11, Bruce Steers > > wrote: > > > > That would be useful. > > > > To have a "View Image" option ii the expression viewer. > > > > for example if i right clicg a Picture or Image item then View Image > > appears in the menu > > and if i double click a Picture then a "View Image" icon appears. > > > > both would display the current selected image in question. > > > > that would be super useful i think. > > > > I got as far as adding it to my IDE to the point i had a working > > button that appeared for an image but i do not know how to get the > > actual image object to show from FDebugExpr.class. > > > > > > Can i use the information like ... > > (Picture 0x559a968a1078) to get the picture ? > > or is there a better way to get the current value of the object in > > question? > > Project.class maybe?. > > > > Or do you think you could quite quickly add this feature Ben? :) > > > > Thanks in advance > > Happy Yule tide :) > > BruceS > > > > Do you understand how the debugger works? > not a clue my friend. I assume by that response that it is is really not as simple as i may think. My assumption is that as it can get various datatype values like integers / strings /etc that getting Picture data may also be possible. Sigh , i wish it was that simple. can we not use the id given by Print to get a pointer to the data? eg with Print i get... Picture 0x559a968a1078 is the 0x559a968a1078 part usable? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto.premoli at tiscali.it Fri Dec 15 23:27:26 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Fri, 15 Dec 2023 23:27:26 +0100 Subject: [Gambas-user] =?utf-8?q?how_to_destroy_and_array_of_ojects=3F?= Message-ID: <6d6ae686076b7c056ebac336054d8553@tiscali.it> hello, i have a panel, i create an array of button inside as follow. Private mbl_button As New Button[40] row = 4 col = 10 quantity = 39 For b As Integer = 0 To quantity With mbl_button[b] = New Button(tastiera_panel) As "tastiera_array" mbl_button[b].x = (b % col) * (tastiera_pannello.Width / col) mbl_button[b].w = tastiera_panel.width / col mbl_button[b].h = tastiera_panel.Height / row mbl_button[b].y = Int(b / col) * mbl_button[b].h mbl_button[b].name = b mbl_button[b].Border = 1 mbl_button[b].text = b End With Next it create a matrix 4x10 of buttons, it works ok. now my need: along the program, I need to recreate another matrix (let say 2x5), so is enough to chage parameters (row = 2, col = 5, quantity = 19) and recall the code. But if i do, i create new buttons over the existing buttons: what i need is fist destroy the existing 4x10 buttons and then create on same place my new matryx 2x5. i need something as For b As Integer = 0 To quantity destroy(mbl_button[b]) Next how can I do it? thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Fri Dec 15 23:57:58 2023 From: adamnt42 at gmail.com (BB) Date: Sat, 16 Dec 2023 09:27:58 +1030 Subject: [Gambas-user] how to destroy and array of ojects? In-Reply-To: <6d6ae686076b7c056ebac336054d8553@tiscali.it> References: <6d6ae686076b7c056ebac336054d8553@tiscali.it> Message-ID: tastiera_panel.Children.Clear On 16/12/23 8:57 am, roberto.premoli at tiscali.it wrote: > hello, i have a panel, i create an array of button inside as follow. > > Private mbl_button As New Button[40] > > row = 4 > col = 10 > quantity = 39 > > For b As Integer = 0 To quantity > With mbl_button[b] = New Button(tastiera_panel) As "tastiera_array" > mbl_button[b].x = (b % col) * (tastiera_pannello.Width / col) > mbl_button[b].w = tastiera_panel.width / col > mbl_button[b].h = tastiera_panel.Height / row > mbl_button[b].y = Int(b / col) * mbl_button[b].h > mbl_button[b].name = b > mbl_button[b].Border = 1 > mbl_button[b].text = b > End With > Next > > it create a matrix 4x10 of buttons, it works ok. > > now my need: along the program, I need to recreate another matrix (let say 2x5), so is enough to > chage parameters (row = 2, col = 5, quantity = 19) and recall the code. But if i do, > i create new buttons over the existing buttons: what i need is fist destroy the existing 4x10 buttons and > then create on same place my new matryx 2x5. > > i need something as > > For b As Integer = 0 To quantity > destroy(mbl_button[b]) > Next > > how can I do it? > thanks > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat Dec 16 00:11:44 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Fri, 15 Dec 2023 23:11:44 +0000 Subject: [Gambas-user] how to destroy and array of ojects? In-Reply-To: <6d6ae686076b7c056ebac336054d8553@tiscali.it> References: <6d6ae686076b7c056ebac336054d8553@tiscali.it> Message-ID: On Fri, 15 Dec 2023 at 22:28, wrote: > > hello, i have a panel, i create an array of button inside as follow. > > Private mbl_button As New Button[40] > > row = 4 > col = 10 > quantity = 39 > > For b As Integer = 0 To quantity > With mbl_button[b] = New Button(tastiera_panel) As "tastiera_array" > mbl_button[b].x = (b % col) * (tastiera_pannello.Width / col) > mbl_button[b].w = tastiera_panel.width / col > mbl_button[b].h = tastiera_panel.Height / row > mbl_button[b].y = Int(b / col) * mbl_button[b].h > mbl_button[b].name = b > mbl_button[b].Border = 1 > mbl_button[b].text = b > End With > Next > > it create a matrix 4x10 of buttons, it works ok. > > now my need: along the program, I need to recreate another matrix (let say 2x5), so is enough to > chage parameters (row = 2, col = 5, quantity = 19) and recall the code. But if i do, > i create new buttons over the existing buttons: what i need is fist destroy the existing 4x10 buttons and > then create on same place my new matryx 2x5. > > i need something as > > For b As Integer = 0 To quantity > destroy(mbl_button[b]) > Next > > > how can I do it? > thanks > Like the other Bruce says to clear all panel objects in one go use tastiera_panel.Children.Clear for an amout of buttons but not all you can use Control.Delete For b As Integer = 0 To quantity mbl_button[b].Delete Next BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto.premoli at tiscali.it Sat Dec 16 00:32:32 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Sat, 16 Dec 2023 00:32:32 +0100 Subject: [Gambas-user] =?utf-8?q?how_to_destroy_and_array_of_ojects=3F?= In-Reply-To: References: <6d6ae686076b7c056ebac336054d8553@tiscali.it> Message-ID: > Like the other Bruce says to clear all panel objects in one go use > > tastiera_panel.Children.Clear > > for an amout of buttons but not all you can use Control.Delete > > For b As Integer = 0 To quantity > mbl_button[b].Delete > Next > > BruceS thanks both Bruce and BB! Roberto. From jussi.lahtinen at gmail.com Sat Dec 16 01:01:17 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 16 Dec 2023 02:01:17 +0200 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr In-Reply-To: References: <7536373a-2ab5-40cf-bf28-a032960d0c81@gambas-basic.org> Message-ID: > > is the 0x559a968a1078 part usable? > That is the memory address of the object, which should contain an address to the image data. So I don't see why it would not be possible. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat Dec 16 01:27:32 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 16 Dec 2023 00:27:32 +0000 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr In-Reply-To: References: <7536373a-2ab5-40cf-bf28-a032960d0c81@gambas-basic.org> Message-ID: On Sat, 16 Dec 2023 at 00:02, Jussi Lahtinen wrote: > is the 0x559a968a1078 part usable? >> > > That is the memory address of the object, which should contain an address > to the image data. So I don't see why it would not be possible. > > > Jussi > I guess the address would be the result of Object.Address(TheObject) Is there a reverse of this? TheObject = Object.FromAdress(hAddress) something like that, or some method similar? Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sat Dec 16 03:08:12 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 16 Dec 2023 04:08:12 +0200 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr In-Reply-To: References: <7536373a-2ab5-40cf-bf28-a032960d0c81@gambas-basic.org> Message-ID: > > I guess the address would be the result of Object.Address(TheObject) > > Is there a reverse of this? > TheObject = Object.FromAdress(hAddress) > > something like that, or some method similar? > I think this exists only for integer, short, float, etc simple types (or constant size types). Right now the problem is to get the size of the object as an image can take just about any amount of memory. I don't know enough about the object implementation details to say how this could be done. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Sat Dec 16 05:22:53 2023 From: adamnt42 at gmail.com (BB) Date: Sat, 16 Dec 2023 14:52:53 +1030 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr In-Reply-To: References: <7536373a-2ab5-40cf-bf28-a032960d0c81@gambas-basic.org> Message-ID: On 16/12/23 12:38 pm, Jussi Lahtinen wrote: > > I guess the address would be the result of Object.Address(TheObject) > > Is there a reverse of this? > TheObject = Object.FromAdress(hAddress) > > something like that, or some method similar? > > > I think this exists only for integer, short, float, etc simple types > (or constant size types). Right now the problem is to get the size of > the object as an image can take just about any amount of memory. I > don't know enough about the object implementation details to say how > this could be done. > > Jussi > It might work but the sheer idea of using a random address and creating a possibly writeable object there gives me the heebeegeebees. Surely something would prevent this. b -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto.premoli at tiscali.it Sat Dec 16 05:38:52 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Sat, 16 Dec 2023 05:38:52 +0100 Subject: [Gambas-user] vertical autoresize of a label Message-ID: <8388ed3ce5e65921243a9bbe831e4f55@tiscali.it> hello, i have some texts (different size) to display. i put them into the same label as soon as i need to display them, and i set label.autoresize = true to make it resize to allow the label to show all the text. the problem is that resize change the .width, but i need orizontal size to be fixed: what I wanto to change is the it the vertical size, the .height. Is it possible and if yes, how? Roberto -------------- next part -------------- An HTML attachment was scrubbed... URL: From jussi.lahtinen at gmail.com Sat Dec 16 14:19:25 2023 From: jussi.lahtinen at gmail.com (Jussi Lahtinen) Date: Sat, 16 Dec 2023 15:19:25 +0200 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr In-Reply-To: References: <7536373a-2ab5-40cf-bf28-a032960d0c81@gambas-basic.org> Message-ID: > > It might work but the sheer idea of using a random address and creating a > possibly writeable object there gives me the heebeegeebees. Surely > something would prevent this. > The address is surely right. This would be quite a routine task in language where you do memory management by yourself. Jussi -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Sat Dec 16 14:30:32 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sat, 16 Dec 2023 14:30:32 +0100 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr In-Reply-To: References: <7536373a-2ab5-40cf-bf28-a032960d0c81@gambas-basic.org> Message-ID: <915158a6-62f8-46be-ba41-cc2a393e4c63@gambas-basic.org> Le 15/12/2023 ? 23:15, Bruce Steers a ?crit?: > > Do you understand how the debugger works? > > > not a clue my friend. > I assume by that response that it is is really not as simple as i may think. > > My assumption is that as it can get various datatype values like > integers / strings /etc that getting Picture data may also be possible. > > Sigh , i wish it was that simple. > can we not use the id given by Print to get a pointer to the data? > eg with Print i get... > > Picture 0x559a968a1078 > > is the 0x559a968a1078 part usable? > > Respects > BruceS > The debugger is a special mode of the interpreter that you run with the '-g' option. In that mode, the interpreter read debugger commands on its standard input and print the result on its standard output. Some options allows to use some fifo instead of the standard input / output. This is used by the IDE to debug a project. It should be possible to implement what you want by letting the IDE ask the debugger to eval an expression that saves the image in a specific format (PNG or JPEG) inside a temporary file, and then load that file to display it. Maybe it's time to revamp a little the interface of the debugger expression window. You can notice that this window has already two modes for collection and arrays: display the object properties, or display the object contents. The same distinction would be added for Image and Picture. Regards, -- Beno?t Minisini. From t.lee.davidson at gmail.com Sat Dec 16 15:49:45 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Sat, 16 Dec 2023 09:49:45 -0500 Subject: [Gambas-user] vertical autoresize of a label In-Reply-To: <8388ed3ce5e65921243a9bbe831e4f55@tiscali.it> References: <8388ed3ce5e65921243a9bbe831e4f55@tiscali.it> Message-ID: <27eb858a-4324-4f25-9703-b121270a01e9@gmail.com> On 12/15/23 23:38, roberto.premoli at tiscali.it wrote: > hello, > i have some texts (different size) to display. > i put them into the same label as soon as i need to display them, and i set label.autoresize = true > to make it resize to allow the label to show all the text. > > the problem is that resize change the .width, but i need orizontal size to be fixed: what I wanto to change is the > it the vertical size, the .height. AutoResize will adjust both the height and the width. If you need the width fixed, then set AutoResize to false and change the height in your code. Perhaps with something like this: Label1.Height = Label1.Font.Size + 10 -- Lee From bsteers4 at gmail.com Sat Dec 16 17:45:45 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 16 Dec 2023 16:45:45 +0000 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr In-Reply-To: <915158a6-62f8-46be-ba41-cc2a393e4c63@gambas-basic.org> References: <7536373a-2ab5-40cf-bf28-a032960d0c81@gambas-basic.org> <915158a6-62f8-46be-ba41-cc2a393e4c63@gambas-basic.org> Message-ID: On Sat, 16 Dec 2023 at 13:31, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 15/12/2023 ? 23:15, Bruce Steers a ?crit : > > > > Do you understand how the debugger works? > > > > > > not a clue my friend. > > I assume by that response that it is is really not as simple as i may > think. > > > > My assumption is that as it can get various datatype values like > > integers / strings /etc that getting Picture data may also be possible. > > > > Sigh , i wish it was that simple. > > can we not use the id given by Print to get a pointer to the data? > > eg with Print i get... > > > > Picture 0x559a968a1078 > > > > is the 0x559a968a1078 part usable? > > > > Respects > > BruceS > > > > The debugger is a special mode of the interpreter that you run with the > '-g' option. > > In that mode, the interpreter read debugger commands on its standard > input and print the result on its standard output. > > Some options allows to use some fifo instead of the standard input / > output. This is used by the IDE to debug a project. > > It should be possible to implement what you want by letting the IDE ask > the debugger to eval an expression that saves the image in a specific > format (PNG or JPEG) inside a temporary file, and then load that file to > display it. > Maybe Image.FromString Picture.FromString could be used here by the debugger to not even need a temp file and just get the data as string? > Maybe it's time to revamp a little the interface of the debugger > expression window. > > You can notice that this window has already two modes for collection and > arrays: display the object properties, or display the object contents. > The same distinction would be added for Image and Picture. > That would be amazing. I could implement it in many ways if there was a way. My current train of thought was to open a popup window to display the image. another idea was a hidden panel in the expression viewer that shows upon request for an image object. i have been using Paint.class a bit recently to paint direct to picture objects , being able to see the picture was a case of using Picture.Save() in the code, i though darn it would be useful if the expression viewer supported images. :) Many thanks Much respect BruceS > 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 Dec 16 18:10:39 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sat, 16 Dec 2023 18:10:39 +0100 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr In-Reply-To: References: <7536373a-2ab5-40cf-bf28-a032960d0c81@gambas-basic.org> <915158a6-62f8-46be-ba41-cc2a393e4c63@gambas-basic.org> Message-ID: <5fab7652-904d-43b0-a6ea-b3d991d9adbe@gambas-basic.org> Le 16/12/2023 ? 17:45, Bruce Steers a ?crit?: > > Maybe Image.FromString Picture.FromString could be used here by the > debugger to not even need a temp file and just get the data as string? I prefer a compressed format like PNG. > > Maybe it's time to revamp a little the interface of the debugger > expression window. > > You can notice that this window has already two modes for collection > and > arrays: display the object properties, or display the object contents. > The same distinction would be added for Image and Picture. > > > That would be amazing. > > I could implement it in many ways if there was a way. > My current train of thought was to open a popup window to display the > image. another idea was a hidden panel in the expression viewer that > shows upon request for an image object. > > i have been using Paint.class a bit recently to paint direct to picture > objects , being able to see the picture was a case of using > Picture.Save() in the code, i though darn it would be useful if the > expression viewer supported images. :) > That's it. The debugger will do what you are currently doing manually. I'm currently modify the debugger expression window so that it has one part for the properties, and one part for the contents. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Sun Dec 17 01:30:49 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sun, 17 Dec 2023 01:30:49 +0100 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr In-Reply-To: <5fab7652-904d-43b0-a6ea-b3d991d9adbe@gambas-basic.org> References: <7536373a-2ab5-40cf-bf28-a032960d0c81@gambas-basic.org> <915158a6-62f8-46be-ba41-cc2a393e4c63@gambas-basic.org> <5fab7652-904d-43b0-a6ea-b3d991d9adbe@gambas-basic.org> Message-ID: <6f779df2-056f-43a8-b2ca-087c3caa3c83@gambas-basic.org> Le 16/12/2023 ? 18:10, Beno?t Minisini a ?crit?: > > That's it. The debugger will do what you are currently doing manually. > > I'm currently modify the debugger expression window so that it has one > part for the properties, and one part for the contents. > > Regards, > It's done in the last commits. Not very well tested, so tell me if you have any problem! Regards, -- Beno?t Minisini. From bsteers4 at gmail.com Sun Dec 17 13:04:35 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 17 Dec 2023 12:04:35 +0000 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr In-Reply-To: <6f779df2-056f-43a8-b2ca-087c3caa3c83@gambas-basic.org> References: <7536373a-2ab5-40cf-bf28-a032960d0c81@gambas-basic.org> <915158a6-62f8-46be-ba41-cc2a393e4c63@gambas-basic.org> <5fab7652-904d-43b0-a6ea-b3d991d9adbe@gambas-basic.org> <6f779df2-056f-43a8-b2ca-087c3caa3c83@gambas-basic.org> Message-ID: On Sun, 17 Dec 2023 at 00:32, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 16/12/2023 ? 18:10, Beno?t Minisini a ?crit : > > > > That's it. The debugger will do what you are currently doing manually. > > > > I'm currently modify the debugger expression window so that it has one > > part for the properties, and one part for the contents. > > > > Regards, > > > > It's done in the last commits. Not very well tested, so tell me if you > have any problem! > > Regards, > > -- > Beno?t Minisini. > It's fantastic Ben :) thank you. It seems to work well. It just could now do with a refresh button or something to reload the image if it's already being viewed, it's otherwise perfect :) Many thanks again, Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Dec 17 15:24:33 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 17 Dec 2023 14:24:33 +0000 Subject: [Gambas-user] Viewing Picture/Image objects in the IDE debugger FDebugExpr In-Reply-To: References: <7536373a-2ab5-40cf-bf28-a032960d0c81@gambas-basic.org> <915158a6-62f8-46be-ba41-cc2a393e4c63@gambas-basic.org> <5fab7652-904d-43b0-a6ea-b3d991d9adbe@gambas-basic.org> <6f779df2-056f-43a8-b2ca-087c3caa3c83@gambas-basic.org> Message-ID: On Sun, 17 Dec 2023 at 12:04, Bruce Steers wrote: > > > On Sun, 17 Dec 2023 at 00:32, Beno?t Minisini < > benoit.minisini at gambas-basic.org> wrote: > >> Le 16/12/2023 ? 18:10, Beno?t Minisini a ?crit : >> > >> > That's it. The debugger will do what you are currently doing manually. >> > >> > I'm currently modify the debugger expression window so that it has one >> > part for the properties, and one part for the contents. >> > >> > Regards, >> > >> >> It's done in the last commits. Not very well tested, so tell me if you >> have any problem! >> >> Regards, >> >> -- >> Beno?t Minisini. >> > > It's fantastic Ben :) thank you. > It seems to work well. > It just could now do with a refresh button or something to reload the > image if it's already being viewed, it's otherwise perfect :) > i just popped the following in the init method line 588... If tabExpr.Index = 1 And $iType = TYPE_IMAGE Then tabExpr_Click https://gitlab.com/bsteers4/gambas/-/commit/1b8a6c88bdf4c96afe0468851563d98e79b66c09 Auto-refreshes the image now if you are viewing it :) Much respect BruceS > > Many thanks again, > > Respects > BruceS > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Dec 19 14:19:47 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 19 Dec 2023 13:19:47 +0000 Subject: [Gambas-user] glitch with gtk ListView.ShowCheck checkbox's rendering Message-ID: I had this somewhere else (cannot remember where) but i noticed ListView suffers the same glitch when rendering check box's. the right seems to be chopped. i tried modifying the gtk theme but it's still the same.. (see pic) Respects BruceS [System] Gambas=3.18.90 1229a02a4 (bruces-patched) OperatingSystem=Linux Distribution=Linux Mint 21.2 Victoria Kernel=6.2.0-39-generic Architecture=x86_64 Cores=4 Memory=7853M Language=en_GB.UTF-8 Desktop=MATE DesktopResolution=96 DesktopScale=8 WidgetTheme=raleigh Font=FreeSans,11 [Programs] dpkg=Debian 'dpkg' package management program version 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] CLUTTER_BACKEND=x11 CLUTTER_IM_MODULE=ibus COMPIZ_CONFIG_PROFILE=mint DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DEFAULTS_PATH=/usr/share/gconf/mate.default.path DESKTOP_SESSION=mate DISPLAY=:0 GB_GUI=gb.gtk3 GDMSESSION=mate GDM_LANG=en_GB GIO_LAUNCHED_DESKTOP_FILE_PID=312812 GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK3_MODULES=xapp-gtk3-module GTK_IM_MODULE=ibus GTK_MODULES=gail:atk-bridge GTK_OVERLAY_SCROLLING=0 HOME= LANG=en_GB.UTF-8 LANGUAGE=en_GB.UTF-8 LC_ADDRESS=en_GB.UTF-8 LC_ALL=en_GB.UTF-8 LC_IDENTIFICATION=en_GB.UTF-8 LC_MEASUREMENT=en_GB.UTF-8 LC_MONETARY=en_GB.UTF-8 LC_NAME=en_GB.UTF-8 LC_NUMERIC=en_GB.UTF-8 LC_PAPER=en_GB.UTF-8 LC_TELEPHONE=en_GB.UTF-8 LC_TIME=en_GB.UTF-8 LIBVIRT_DEFAULT_URI=qemu:///system LOGNAME= MANDATORY_PATH=/usr/share/gconf/mate.mandatory.path MATE_DESKTOP_SESSION_ID=this-is-deprecated PAPERSIZE=a4 PATH=/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin PWD= QT_ACCESSIBILITY=1 QT_FONT_DPI=96 QT_IM_MODULE=ibus QT_QPA_PLATFORMTHEME=qt5ct QT_SCALE_FACTOR=1 SESSION_MANAGER=local/:@/tmp/.ICE-unix/2989,unix/:/tmp/.ICE-unix/2989 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-mate:/etc/xdg XDG_CURRENT_DESKTOP=MATE XDG_DATA_DIRS=/usr/share/mate:/usr/share/mate:/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=mate XDG_SESSION_ID=c1 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 XDG_SESSION_TYPE=x11 XDG_VTNR=7 XMODIFIERS=@im=ibus -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Untitled.jpg Type: image/jpeg Size: 75170 bytes Desc: not available URL: From benoit.minisini at gambas-basic.org Tue Dec 19 14:37:28 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 19 Dec 2023 14:37:28 +0100 Subject: [Gambas-user] glitch with gtk ListView.ShowCheck checkbox's rendering In-Reply-To: References: Message-ID: <917b7137-524a-4fce-bb09-cf1aaa4331d7@gambas-basic.org> Le 19/12/2023 ? 14:19, Bruce Steers a ?crit?: > I had this somewhere else (cannot remember where) but i noticed ListView > suffers the same glitch when rendering check box's.? the right seems to > be chopped. > > i tried modifying the gtk theme but it's still the same.. > > (see pic) > > Respects > BruceS > To render a checkbox with GTK+, you give a rectangle that normally should define the size of the checkbox. Alas, most of GTK+ themes use fixed size images to draw checkboxes (and radiobuttons), so the result is either a cropped checkbox, either a too small one. Regards, -- Beno?t Minisini. From claus.dietrich at freenet.de Tue Dec 19 16:13:19 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Tue, 19 Dec 2023 16:13:19 +0100 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method Message-ID: We are currently working on a Gambas-Buch-chapter about the printer class (documented for gb.qt4) and prepared an according demo application. During tests with the app we noticed, that the usefulness of the printer dialog, which is started with the Printer.Configure-method is limited. It seems that parameters offered under the "Options" button are considered but all parameters found under the button "Properties" (like margins) are not considered. There also seems to be no interface between the dialog-options and the application which would allow to communicate parameters like margins. Loading gb.form.print also didn't help. We also found, that the margins shown in the dialog are always 3.53mm - no matter what printer has been selected - . Are there ways to get more out of this standard-dialog or shall we recommend alternatives? Best regards Claus From bsteers4 at gmail.com Tue Dec 19 20:15:55 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 19 Dec 2023 19:15:55 +0000 Subject: [Gambas-user] glitch with gtk ListView.ShowCheck checkbox's rendering In-Reply-To: <917b7137-524a-4fce-bb09-cf1aaa4331d7@gambas-basic.org> References: <917b7137-524a-4fce-bb09-cf1aaa4331d7@gambas-basic.org> Message-ID: On Tue, 19 Dec 2023 at 13:38, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 19/12/2023 ? 14:19, Bruce Steers a ?crit : > > I had this somewhere else (cannot remember where) but i noticed ListView > > suffers the same glitch when rendering check box's. the right seems to > > be chopped. > > > > i tried modifying the gtk theme but it's still the same.. > > > > (see pic) > > > > Respects > > BruceS > > > > To render a checkbox with GTK+, you give a rectangle that normally > should define the size of the checkbox. > > Alas, most of GTK+ themes use fixed size images to draw checkboxes (and > radiobuttons), so the result is either a cropped checkbox, either a too > small one. > > Regards, > > -- > Beno?t Minisini. > Yeah gtk does it terribly. Style.PaintCheck() with gtk pays no attention to the size arguments when rendering. I did a little test with qt and gtk that starts at 5px and increments the size by 5px and paints some checkbox's (see 1st pic) like you say gtk seems to render a fixed size. That's nasty. :( So i guess the solution is going to be to force the controls with boxes to have a size that can fit the gtk box? could Style.class not do a sneaky resize for the gtk image? hmm,, I guess I could do a sneaky resize myself if i paint the box to a temp image and stretch it......... <<< has a little play... Right, so i figured a simple workaround, i saved the following as Style.class in my test project... ' Gambas class file Export Create Static Static Public Sub PaintCheck(X As Integer, Y As Integer, W As Integer, H As Integer, Value As Integer, Optional Flags As Integer) If Component.IsLoaded("gb.gtk3") Then Dim p As Picture = New Picture(20, 20, True) Dim d As Object = Paint.Device Paint.End Paint.Begin(p) Super.PaintCheck(0, 0, 20, 20, Value, Flags) Paint.End Paint.Begin(d) Paint.DrawPicture(p.Stretch(W, H), X, Y, W, H) Else Super.PaintCheck(X, Y, W, H, Value, Flags) Endif End The result in the second pic. 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: 21840 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Untitled.jpg Type: image/jpeg Size: 97659 bytes Desc: not available URL: From t.lee.davidson at gmail.com Wed Dec 20 03:45:58 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Tue, 19 Dec 2023 21:45:58 -0500 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: References: Message-ID: On 12/19/23 10:13, Claus Dietrich wrote: > We are currently working on a Gambas-Buch-chapter about the printer class (documented for gb.qt4) and prepared an according demo > application. During tests with the app we noticed, that the usefulness of the printer dialog, which is started with the > Printer.Configure-method is limited. It seems that parameters offered under the "Options" button are considered but all > parameters found under the button "Properties" (like margins) are not considered. There also seems to be no interface between > the dialog-options and the application which would allow to communicate parameters like margins. Loading gb.form.print also > didn't help. > > We also found, that the margins shown in the dialog are always 3.53mm - no matter what printer has been selected - . > > Are there ways to get more out of this standard-dialog or shall we recommend alternatives? > > Best regards > > Claus That dialog looks to me like the standard Qt printer configure dialog. You must be using the Qt GUI toolkit for your app. It looks different for GTK3. Try opening other applications that uses Qt/GTK (such as KWrite, Kate / Firefox, Chromium, Geany), and you'll see they are the same depending on the GUI toolkit. -- Lee From adamnt42 at gmail.com Wed Dec 20 07:58:45 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 20 Dec 2023 17:28:45 +1030 Subject: [Gambas-user] How to pause/defer an event handler if a popup is open? Message-ID: <60257f03-1fdf-86dd-8c43-1b99886ffcd0@gmail.com> The form in my FMain has an event handler that responds to DBus events that are raised in another process. There is also a button handler in my FMain that needs user input and an "OK" button that updates database data. That button handler needs to take precedence over the DBUS event, but I don't want to lose the updates that are caused by the other process. So how can I make the button event handler "block" the DBus event handler until it has finished? merry festive seasons and tia bruce From adamnt42 at gmail.com Wed Dec 20 09:38:12 2023 From: adamnt42 at gmail.com (BB) Date: Wed, 20 Dec 2023 19:08:12 +1030 Subject: [Gambas-user] How to pause/defer an event handler if a popup is open? In-Reply-To: <60257f03-1fdf-86dd-8c43-1b99886ffcd0@gmail.com> References: <60257f03-1fdf-86dd-8c43-1b99886ffcd0@gmail.com> Message-ID: <8c412678-04e5-6db4-5904-44d0abe99ac7@gmail.com> On 20/12/23 5:28 pm, BB wrote: > The form in my FMain has an event handler that responds to DBus events > that are raised in another process. There is also a button handler in > my FMain that needs user input and an "OK" button that updates > database data. That button handler needs to take precedence over the > DBUS event, but I don't want to lose the updates that are caused by > the other process. So how can I make the button event handler "block" > the DBus event handler until it has finished? > > merry festive seasons and tia > > bruce > Okay, I turned this upside down and check for whether the FMain button form is active in the DBus event handler. In the button event handler I set a global flag "UserActive=True" before the popup opens and reset it after the popup is closed. In the DBus event handler I check if UserActive is true then wait 10 seconds. It seems to work but I'm not really happy, is there a better way? b From claus.dietrich at freenet.de Wed Dec 20 15:44:57 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Wed, 20 Dec 2023 15:44:57 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs In-Reply-To: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> References: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> Message-ID: Hi Someone in the German Gambas Club raised the question, why the reading of a PdfDocument in portrait format is OK, but not if it is a PDF in landscape format. Please find attached a small demo which confirms his observation. I used the PdfDocument class of the gb.poppler component and the render-method to read the PDF. The text appears to be horizontally stretched while its vertical dimensions seem to be correct. After I changed to the gb.pdf component and adapted the code the result was OK. Is this possibly a bug of the gb.poppler component (couldn't find anything relevant in the bugtracker) or a wrong use of the PdfDocument? Best regards Claus -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: pdfDocument_demo-0.0.1.tar.gz Type: application/gzip Size: 40229 bytes Desc: not available URL: From t.lee.davidson at gmail.com Wed Dec 20 16:19:43 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 20 Dec 2023 10:19:43 -0500 Subject: [Gambas-user] How to pause/defer an event handler if a popup is open? In-Reply-To: <8c412678-04e5-6db4-5904-44d0abe99ac7@gmail.com> References: <60257f03-1fdf-86dd-8c43-1b99886ffcd0@gmail.com> <8c412678-04e5-6db4-5904-44d0abe99ac7@gmail.com> Message-ID: <99ea1d5f-8b41-43e7-b2ce-d911d626126f@gmail.com> On 12/20/23 03:38, BB wrote: > > On 20/12/23 5:28 pm, BB wrote: >> The form in my FMain has an event handler that responds to DBus events that are raised in another process. There is also a >> button handler in my FMain that needs user input and an "OK" button that updates database data. That button handler needs to >> take precedence over the DBUS event, but I don't want to lose the updates that are caused by the other process. So how can I >> make the button event handler "block" the DBus event handler until it has finished? >> >> merry festive seasons and tia >> >> bruce >> > Okay, I turned this upside down and check for whether the FMain button form is active in the DBus event handler. In the button > event handler I set a global flag "UserActive=True" before the popup opens and reset it after the popup is closed. In the DBus > event handler I check if UserActive is true then wait 10 seconds. It seems to work but I'm not really happy, is there a better way? > > b The only thing I can think to do is to use two semaphores so the two events can be aware of each other's state. If UserActive=True then perhaps the DBUS event could process the updates to temporary storage. Then, when the Button event handler is about to finish, if TempStorageDirty=True, process the temporary storage to primary storage. I'm assuming that the DBUS updates are database updates. And, if the two event handlers could modify the same database fields, that can raise an issue with data integrity; which would open a whole other can of worms. -- Lee From claus.dietrich at freenet.de Wed Dec 20 16:47:44 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Wed, 20 Dec 2023 16:47:44 +0100 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: References: Message-ID: Hi Sorry, I forgot to mention that the described issues relate to the QT based print dialog. Changing to gb.gtk3 provided a very different dialog, which made more sense, but the printing result was useless. We are slowly thinking of a self-made print dialog, because the one induced by the Configure method of the Printer class is irritating. Can someone confirm this view? With best regards Claus Am 20.12.23 um 03:45 schrieb T Lee Davidson: > On 12/19/23 10:13, Claus Dietrich wrote: >> We are currently working on a Gambas-Buch-chapter about the printer >> class (documented for gb.qt4) and prepared an according demo >> application. During tests with the app we noticed, that the >> usefulness of the printer dialog, which is started with the >> Printer.Configure-method is limited. It seems that parameters offered >> under the "Options" button are considered but all parameters found >> under the button "Properties" (like margins) are not considered. >> There also seems to be no interface between the dialog-options and >> the application which would allow to communicate parameters like >> margins. Loading gb.form.print also didn't help. >> >> We also found, that the margins shown in the dialog are always 3.53mm >> - no matter what printer has been selected - . >> >> Are there ways to get more out of this standard-dialog or shall we >> recommend alternatives? >> >> Best regards >> >> Claus > > That dialog looks to me like the standard Qt printer configure dialog. > You must be using the Qt GUI toolkit for your app. It looks different > for GTK3. > > Try opening other applications that uses Qt/GTK (such as KWrite, Kate > / Firefox, Chromium, Geany), and you'll see they are the same > depending on the GUI toolkit. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From claus.dietrich at freenet.de Wed Dec 20 17:53:46 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Wed, 20 Dec 2023 17:53:46 +0100 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: References: Message-ID: <59301820-e921-47c1-9ee8-912b21458834@freenet.de> Ooops! The mentioned landscape PDF wasn't a real landscape PDF (just turned), but the problem persists. Attached you wil find the demo with a true landscape PDF. Regards Claus Am 20.12.23 um 16:47 schrieb Claus Dietrich: > > Hi > > Sorry, I forgot to mention that the described issues relate to the QT > based print dialog. Changing to gb.gtk3 provided a very different > dialog, which made more sense, but the printing result was useless. > > We are slowly thinking of a self-made print dialog, because the one > induced by the Configure method of the Printer class is irritating. > Can someone confirm this view? > > With best regards > > Claus > -------------- next part -------------- A non-text attachment was scrubbed... Name: pdfDocument_demo-0.0.2.tar.gz Type: application/gzip Size: 48561 bytes Desc: not available URL: From t.lee.davidson at gmail.com Wed Dec 20 17:55:49 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 20 Dec 2023 11:55:49 -0500 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: <59301820-e921-47c1-9ee8-912b21458834@freenet.de> References: <59301820-e921-47c1-9ee8-912b21458834@freenet.de> Message-ID: <83f7d2e0-a616-47c2-a6b7-28d597233253@gmail.com> On 12/20/23 11:53, Claus Dietrich wrote: > Ooops! The mentioned landscape PDF wasn't a real landscape PDF (just turned), but the problem persists. > > Attached you wil find the demo with a true landscape PDF. > > Regards > > Claus > > > Am 20.12.23 um 16:47 schrieb Claus Dietrich: >> >> Hi >> >> Sorry, I forgot to mention that the described issues relate to the QT based print dialog. Changing to gb.gtk3 provided a very >> different dialog, which made more sense, but the printing result was useless. >> >> We are slowly thinking of a self-made print dialog, because the one induced by the Configure method of the Printer class is >> irritating. Can someone confirm this view? >> >> With best regards >> >> Claus >> I think you replied to the wrong thread. -- Lee From t.lee.davidson at gmail.com Wed Dec 20 17:57:46 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 20 Dec 2023 11:57:46 -0500 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: References: Message-ID: On 12/20/23 10:47, Claus Dietrich wrote: > Hi > > Sorry, I forgot to mention that the described issues relate to the QT based print dialog. Changing to gb.gtk3 provided a very > different dialog, which made more sense, but the printing result was useless. > > We are slowly thinking of a self-made print dialog, because the one induced by the Configure method of the Printer class is > irritating. Can someone confirm this view? > > With best regards > > Claus > Will you also be hacking every Qt-based (and GTK-based) application on your system so it uses your self-made print dialog instead of the respective GUI toolkit's standard dialog which most applications likely use? Did you try, as I suggested, printing from another Qt-based application to see the behavior is the same? I just printed from KWrite with margins set to 1 inch top and bottom & 2 inches left and right. I printed exactly as expected to both a printer and a file. Perhaps it is the printer you are using that is not respecting your Properties (margins) settings. One way to test things might be to shell out to the /usr/bin/lp* line printer utilities. -- Lee From gradobag at gradobag.it Wed Dec 20 22:45:15 2023 From: gradobag at gradobag.it (Gianluigi) Date: Wed, 20 Dec 2023 22:45:15 +0100 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: References: Message-ID: <5a88ead8-71a1-459b-9f39-7d167a104497@gradobag.it> Il 20/12/23 17:57, T Lee Davidson ha scritto: > On 12/20/23 10:47, Claus Dietrich wrote: >> Hi >> >> Sorry, I forgot to mention that the described issues relate to the QT >> based print dialog. Changing to gb.gtk3 provided a very different >> dialog, which made more sense, but the printing result was useless. >> >> We are slowly thinking of a self-made print dialog, because the one >> induced by the Configure method of the Printer class is irritating. >> Can someone confirm this view? >> >> With best regards >> >> Claus >> > > Will you also be hacking every Qt-based (and GTK-based) application on > your system so it uses your self-made print dialog instead of the > respective GUI toolkit's standard dialog which most applications > likely use? Did you try, as I suggested, printing from another > Qt-based application to see the behavior is the same? > > I just printed from KWrite with margins set to 1 inch top and bottom & > 2 inches left and right. I printed exactly as expected to both a > printer and a file. Perhaps it is the printer you are using that is > not respecting your Properties (margins) settings. > > One way to test things might be to shell out to the /usr/bin/lp* line > printer utilities. > > Hi Claus and Lee, have you tried to use the project I put in the Farm? With the first pdf it didn't work but with the second one it did. It works with qt and gtk. The name is DocumentViewPdfZoomDialog is in the Examples Greetings Gianluigi From gradobag at gradobag.it Wed Dec 20 22:56:16 2023 From: gradobag at gradobag.it (Gianluigi) Date: Wed, 20 Dec 2023 22:56:16 +0100 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: <59301820-e921-47c1-9ee8-912b21458834@freenet.de> References: <59301820-e921-47c1-9ee8-912b21458834@freenet.de> Message-ID: Il 20/12/23 17:53, Claus Dietrich ha scritto: > Ooops! The mentioned landscape PDF wasn't a real landscape PDF (just > turned), but the problem persists. > > Attached you wil find the demo with a true landscape PDF. > > Regards > > Claus > > > Am 20.12.23 um 16:47 schrieb Claus Dietrich: >> >> Hi >> >> Sorry, I forgot to mention that the described issues relate to the QT >> based print dialog. Changing to gb.gtk3 provided a very different >> dialog, which made more sense, but the printing result was useless. >> >> We are slowly thinking of a self-made print dialog, because the one >> induced by the Configure method of the Printer class is irritating. >> Can someone confirm this view? >> >> With best regards >> >> Claus >> > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Sorry, I was replying to this and I quoted it wrong. Regards Gianluigi From kicking177 at gmail.com Thu Dec 21 00:49:34 2023 From: kicking177 at gmail.com (KKing) Date: Thu, 21 Dec 2023 10:19:34 +1030 Subject: [Gambas-user] JAVA not Javascript integration Message-ID: Would there be potential to integrate with a pure Java library such as iText via a component, or would essentially EXEC/SHELL be the only option? From t.lee.davidson at gmail.com Thu Dec 21 02:21:07 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Wed, 20 Dec 2023 20:21:07 -0500 Subject: [Gambas-user] JAVA not Javascript integration In-Reply-To: References: Message-ID: <7f250992-aa4d-40a6-b50e-8d1e754883ef@gmail.com> On 12/20/23 18:49, KKing wrote: > Would there be potential to integrate with a pure Java library such as iText via a component, or would essentially EXEC/SHELL be > the only option? iText is a Java library. It is incompatible with Gambas just as Python or Ruby libraries are. I don't know how one would even use it from the command line. But then, I may have missed mention of a command-line interface in my cursory glance at the documentation. -- Lee From bsteers4 at gmail.com Thu Dec 21 04:07:04 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 21 Dec 2023 03:07:04 +0000 Subject: [Gambas-user] Procedure list sticking to a position if window moved Message-ID: Seems to be a problem with Window.ShowPopup() here. (unless it's only me) does it cache it's position at sometime or something? I've found if i pop open the procedure list,then move the IDE window then use the pop up list again, after a couple of window moves the procedure list sticks to a screen position and stays there each time it opens when i have moved the window more. I used the debugger to find FProcedureList.Popup() gets and sends the correct screen positions with FProcedureList.ShowPopup() command each time so the error must be in Window.ShowPopup() Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu Dec 21 10:56:07 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Thu, 21 Dec 2023 10:56:07 +0100 Subject: [Gambas-user] Procedure list sticking to a position if window moved In-Reply-To: References: Message-ID: <02b15ab1-c86a-4013-91d4-593f47927287@gambas-basic.org> Le 21/12/2023 ? 04:07, Bruce Steers a ?crit?: > Seems to be a problem with Window.ShowPopup() here. > (unless it's only me) > > does it cache it's position at sometime or something? > > I've found if i pop open the procedure list,then move the IDE window > then use the pop up list again, after a couple of window moves the > procedure list sticks to a screen position and stays there each time it > opens when i have moved the window more. > > I used the debugger to find FProcedureList.Popup() gets and sends the > correct screen positions with FProcedureList.ShowPopup() command each > time so the error must be in Window.ShowPopup() > > Respects > BruceS > I can't reproduce the problem on KDE/X11 with both QT and GTK+ ide. I guess you use GTK+3 ide on wayland? -- Beno?t Minisini. From claus.dietrich at freenet.de Thu Dec 21 11:59:14 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Thu, 21 Dec 2023 11:59:14 +0100 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: References: Message-ID: >on /Wed Dec 20 17:57:46 CET 2023 /*T Lee Davidson wrote:* >Will you also be hacking every Qt-based (and GTK-based) application on your system so it uses your self-made print dialog >instead of the respective GUI toolkit's standard dialog which most applications likely use? Did you try, as I suggested, >printing from another Qt-based application to see the behavior is the same? > >I just printed from KWrite with margins set to 1 inch top and bottom & 2 inches left and right. I printed exactly as expected to >both a printer and a file. Perhaps it is the printer you are using that is not respecting your Properties (margins) settings.> > >One way to test things might be to shell out to the /usr/bin/lp* line printer utilities. > > >-- >Lee Hi Lee I think, that there is a misunderstanding. I fully believe that the dialog works in other applications. I only wanted to explain, that it doesn't in conjunction with the Gambas Printer class. Using the Printer dialog in Gambas doesn't mean, that it takes care of all print formatting. The formatting of pages including its separation and margins has to be done by Gambas code in the event handlers of the Printer class. In other words: If you want to consider the settings of the print dialog - like margins - , you have know what margins have been set in the print dialog. But there is no interface between the print dialog and the Gambas Printer class for this. Correct me if I am wrong, but this is my present experience in a demo project for the Printer class. Best regards Claus From bsteers4 at gmail.com Thu Dec 21 12:13:07 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Thu, 21 Dec 2023 11:13:07 +0000 Subject: [Gambas-user] Procedure list sticking to a position if window moved In-Reply-To: <02b15ab1-c86a-4013-91d4-593f47927287@gambas-basic.org> References: <02b15ab1-c86a-4013-91d4-593f47927287@gambas-basic.org> Message-ID: On Thu, 21 Dec 2023 at 09:57, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 21/12/2023 ? 04:07, Bruce Steers a ?crit : > > Seems to be a problem with Window.ShowPopup() here. > > (unless it's only me) > > > > does it cache it's position at sometime or something? > > > > I've found if i pop open the procedure list,then move the IDE window > > then use the pop up list again, after a couple of window moves the > > procedure list sticks to a screen position and stays there each time it > > opens when i have moved the window more. > > > > I used the debugger to find FProcedureList.Popup() gets and sends the > > correct screen positions with FProcedureList.ShowPopup() command each > > time so the error must be in Window.ShowPopup() > > > > Respects > > BruceS > > > > I can't reproduce the problem on KDE/X11 with both QT and GTK+ ide. I > guess you use GTK+3 ide on wayland? > > -- > Beno?t Minisini. > Thank you for looking. seems to be MATE only. I just tried cinnamon and gnome with no problem. and i'm using X , never wayout-land ;) I guess it's a MATE bug Respects BruceS [System] Gambas=3.18.90 a8b35249c (master) OperatingSystem=Linux Distribution=Linux Mint 21.2 Victoria Kernel=6.2.0-39-generic Architecture=x86_64 Cores=4 Memory=7853M Language=en_GB.UTF-8 Desktop=MATE DesktopResolution=96 DesktopScale=8 WidgetTheme=breeze Font=FreeSans,11 [Programs] dpkg=Debian 'dpkg' package management program version 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] CLUTTER_BACKEND=x11 CLUTTER_IM_MODULE=ibus COMPIZ_CONFIG_PROFILE=mint DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DEFAULTS_PATH=/usr/share/gconf/mate.default.path DESKTOP_AUTOSTART_ID=10c8dd39af4b4d9c3717031563682755100000470540001 DESKTOP_SESSION=mate DISPLAY=:0 GB_GUI=gb.gtk3 GDMSESSION=mate GDM_LANG=en_GB GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GTK3_MODULES=xapp-gtk3-module GTK_IM_MODULE=ibus GTK_MODULES=gail:atk-bridge GTK_OVERLAY_SCROLLING=0 HOME= LANG=en_GB.UTF-8 LANGUAGE=en_GB.UTF-8 LC_ADDRESS=en_GB.UTF-8 LC_ALL=en_GB.UTF-8 LC_IDENTIFICATION=en_GB.UTF-8 LC_MEASUREMENT=en_GB.UTF-8 LC_MONETARY=en_GB.UTF-8 LC_NAME=en_GB.UTF-8 LC_NUMERIC=en_GB.UTF-8 LC_PAPER=en_GB.UTF-8 LC_TELEPHONE=en_GB.UTF-8 LC_TIME=en_GB.UTF-8 LIBVIRT_DEFAULT_URI=qemu:///system LOGNAME= MANDATORY_PATH=/usr/share/gconf/mate.mandatory.path MATE_DESKTOP_SESSION_ID=this-is-deprecated PAM_KWALLET5_LOGIN=/run/user/1000/kwallet5.socket PAPERSIZE=a4 PATH=/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin PWD= QT_ACCESSIBILITY=1 QT_FONT_DPI=96 QT_IM_MODULE=ibus QT_QPA_PLATFORMTHEME=qt5ct QT_SCALE_FACTOR=1 SESSION_MANAGER=local/:@/tmp/.ICE-unix/47054,unix/:/tmp/.ICE-unix/47054 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-mate:/etc/xdg XDG_CURRENT_DESKTOP=MATE XDG_DATA_DIRS=/usr/share/mate:/usr/share/mate:/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=mate XDG_SESSION_ID=c8 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session3 XDG_SESSION_TYPE=x11 XDG_VTNR=7 XMODIFIERS=@im=ibus -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu Dec 21 12:14:58 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Thu, 21 Dec 2023 12:14:58 +0100 Subject: [Gambas-user] Question about highlight.styles[] list from original eval.highlight class In-Reply-To: <56D97302-D52C-814A-B6E3-C450C5B06DD3@hxcore.ol> References: <794d8661-6534-4480-99e3-4d8f6ca5a26f@westwoodsvcs.com> <4150b8f1-4f2d-4cd8-999f-25cf6155c9d9@gambas-basic.org> <56D97302-D52C-814A-B6E3-C450C5B06DD3@hxcore.ol> Message-ID: <24ad06c2-6568-4417-bb4a-0a14ec67f3cc@gambas-basic.org> Le 13/12/2023 ? 00:50, brian a ?crit?: > That would be great > > ~~~~~ Brian In the last commits, I added the 'TextHighlighterTheme.Styles' that returns the list of all styles associated with a specific theme. I replaced "color" by "state" in the name of the API properties and methods of 'gb.highlight' too, as "state" is the accurate name, not "color". I added a 'TextHighlighterTheme.AllStates' static property too, that returns the list of all states registered by all highlighters. Regards, -- Beno?t Minisini. From tercoide at hotmail.com Thu Dec 21 13:13:17 2023 From: tercoide at hotmail.com (martin cristia) Date: Thu, 21 Dec 2023 09:13:17 -0300 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: References: Message-ID: In our CAD , we use a self-made print dialog by force because plotting plans involve a lot of options that exceed those provided by the system. It can be done with some work. Check it here if you want: https://github.com/tercoide/GambasCAD Attached is a screen capture of it. El 20/12/23 a las 22:22, user-request at lists.gambas-basic.org escribi?: > We are slowly thinking of a self-made print dialog, because the one induced by the Configure method of the Printer class is > irritating. Can someone confirm this view? -- Saludos cordiales Martin -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gambascad print preview.png Type: image/png Size: 277852 bytes Desc: not available URL: From t.lee.davidson at gmail.com Thu Dec 21 16:49:07 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 21 Dec 2023 10:49:07 -0500 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: References: Message-ID: <811d6e6d-67c4-4922-b5ab-58265458293b@gmail.com> On 12/21/23 05:59, Claus Dietrich wrote: > Hi?Lee > I think, that there is a misunderstanding. I fully believe that the dialog?works?in?other?applications.?I?only?wanted > to?explain,?that?it?doesn't?in?conjunction?with?the?Gambas?Printer?class. > Using the Printer dialog in Gambas doesn't mean, that it takes care of all?print?formatting.?The?formatting?of?pages > including its separation and margins has to be done by Gambas code in the?event?handlers?of?the?Printer?class. > In other words: If you want to consider the settings of the print dialog -?like?margins?-?,?you?have?know?what > margins have been set in the print dialog. But there is no interface between?the?print?dialog?and?the?Gambas > Printer?class?for?this. > Correct me if I am wrong, but this is my present experience in a demo project?for?the?Printer?class. > Best?regards > Claus You are right, Claus. There is (was) a misunderstanding. It was a misunderstanding (actually a gross ignorance) on my part of how the printer configure dialog actually works. My apologies. I tried the Printing example in the source code at /app/examples/Printing/. And, with Qt5 (I did not try with GTK), margin settings are NOT respected. -- Lee From t.lee.davidson at gmail.com Thu Dec 21 19:28:23 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Thu, 21 Dec 2023 13:28:23 -0500 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: <811d6e6d-67c4-4922-b5ab-58265458293b@gmail.com> References: <811d6e6d-67c4-4922-b5ab-58265458293b@gmail.com> Message-ID: <577cf439-efc7-4fe2-b1ab-f21446f9ba40@gmail.com> On 12/21/23 10:49, T Lee Davidson wrote: > On 12/21/23 05:59, Claus Dietrich wrote: >> Hi?Lee >> I think, that there is a misunderstanding. I fully believe that the dialog?works?in?other?applications.?I?only?wanted >> to?explain,?that?it?doesn't?in?conjunction?with?the?Gambas?Printer?class. >> Using the Printer dialog in Gambas doesn't mean, that it takes care of all?print?formatting.?The?formatting?of?pages >> including its separation and margins has to be done by Gambas code in the?event?handlers?of?the?Printer?class. >> In other words: If you want to consider the settings of the print dialog -?like?margins?-?,?you?have?know?what >> margins have been set in the print dialog. But there is no interface between?the?print?dialog?and?the?Gambas >> Printer?class?for?this. >> Correct me if I am wrong, but this is my present experience in a demo project?for?the?Printer?class. >> Best?regards >> Claus > > You are right, Claus. There is (was) a misunderstanding. It was a misunderstanding (actually a gross ignorance) on my part of > how the printer configure dialog actually works. My apologies. > > I tried the Printing example in the source code at /app/examples/Printing/. And, with Qt5 (I did not try with GTK), margin > settings are NOT respected. This printer configure dialog issue looks like quite a mess. This: [code] Debug "Device Resolution:" & Paint.Device.Resolution Debug "Paint width: " & Paint.Width Debug Subst("Resolution: X=&1, Y=&2", Paint.ResolutionX, Paint.ResolutionY) Debug "PaperWidth: " & prtText.PaperWidth Debug "print margin: " & PRINT_MARGIN With hExtents Debug Subst("hExtents: W=&1, H=&2, X=&3, X2=&4, Y=&5, Y2=&6", .W, .H, .X, .X2, .Y, .Y2) End With [/code] inserted into the Printer_Begin() event handler, of the Gambas source code Printer example, yields the following no matter what print device is selected (printer or file) in the printer configure dialog: With GTK3: FMain.prtText_Begin.104: Device Resolution: 300 FMain.prtText_Begin.105: Paint width: 595.275590551181 FMain.prtText_Begin.106: Resolution: X=72, Y=72 FMain.prtText_Begin.107: PaperWidth: 210 FMain.prtText_Begin.108: print margin: 28.3464566929134 FMain.prtText_Begin.110: hExtents: W=152, H=398, X=0, X2=152, Y=-6, Y2=392 (The Paint resolution isn't even close to the Device resolution.) With Qt5: FMain.prtText_Begin.104: Device Resolution: 1200 FMain.prtText_Begin.105: Paint width: 9917 FMain.prtText_Begin.106: Resolution: X=1200, Y=1200 FMain.prtText_Begin.107: PaperWidth: 210 FMain.prtText_Begin.108: print margin: 472.238095238095 FMain.prtText_Begin.110: hExtents: W=4218, H=8704, X=0, X2=4218, Y=-90, Y2=8614 I agree that the GTK dialog, being non-/dis-funcitonal, is virtually useless. I find no way whatsoever to change the margins in that dialog. And, it provides a third, "Preview", button for which Printer.Configure() cannot provide since it returns a boolean. In that example, the print margin is calculated based on the ratio of Printer.PaperWidth to Paint.Width. It seems that calculation cannot use any margin properties as I find no Margin (or even PrintWidth or similar) property in Printer. Having something like that might make Printer.Configure() more useful. But, I don't know if that is even possible especially given that the GTK dialog wouldn't provide any margin settings at all AFAICT. Maybe someday someone will create a GUI toolkit that does everything right. :-\ -- Lee From claus.dietrich at freenet.de Thu Dec 21 20:41:46 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Thu, 21 Dec 2023 20:41:46 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs Message-ID: >>On Dec 20. 15:44:57 Claus wrote: >>Hi >>Someone in the German Gambas Club raised the question, why the reading >>of a PdfDocument in portrait format is OK, but not if it is a PDF in >>landscape format. >> >>Please find attached a small demo which confirms his observation. I used >>the PdfDocument class of the gb.poppler component and the render-method >>to read the PDF. The text appears to be horizontally stretched while its >>vertical dimensions seem to be correct. After I changed to the gb.pdf >>component and adapted the code the result was OK. >> >>Is this possibly a bug of the gb.poppler component (couldn't find >>anything relevant in the bugtracker) or a wrong use of the PdfDocument? >> >>Best regards >> >>Claus >On 20 Dec 2023 22:45:15 Gianluigi wrote: >Hi Claus and Lee, > >have you tried to use the project I put in the Farm? >With the first pdf it didn't work but with the second one it did. >It works with qt and gtk. >The name is DocumentViewPdfZoomDialog is in the Examples > >Greetings >Gianluigi Dear Gianluigi A very good example! It helped me to find the bug between my ears. Rendering the PDF into a portrait format target is the solution - no matter whether it is a portrait or landscape PDF. It seems that the interpretation of the term "landscape PDF document" was wrong. With a little modification the demo app is now also doing what it was supposed to do. I dropped an according note and code snippet in the German Gambas Club. Thanks a lot for your attention in this matter and with best regards Claus From kicking177 at gmail.com Fri Dec 22 00:33:14 2023 From: kicking177 at gmail.com (KKing) Date: Fri, 22 Dec 2023 10:03:14 +1030 Subject: [Gambas-user] JAVA not Javascript integration Message-ID: > I don't know how one would even > use it from the command line. you can invoke a java program (or class) by simply invoking from command line e.g. ??? java HelloWorld.java where HelloWorld.java contains your main module. So I could just do that with potentially lots of sleeps and waits ... But I was recently spoilt by having to use the iText lib under C# and less clunky, and far easier (for me) to code than Java. ?- - - From benoit.minisini at gambas-basic.org Fri Dec 22 01:37:42 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Fri, 22 Dec 2023 01:37:42 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs In-Reply-To: References: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> Message-ID: <10525a92-875d-4bfb-b7e5-c21d56032b23@gambas-basic.org> Le 20/12/2023 ? 15:44, Claus Dietrich a ?crit?: > Hi > > Someone in the German Gambas Club raised the question, why the reading > of a PdfDocument in portrait format is OK, but not if it is a PDF in > landscape format. > > Please find attached a small demo which confirms his observation. I used > the PdfDocument class of the gb.poppler component and the render-method > to read the PDF. The text appears to be horizontally stretched while its > vertical dimensions seem to be correct. After I changed to the gb.pdf > component and adapted the code the result was OK. > > Is this possibly a bug of the gb.poppler component (couldn't find > anything relevant in the bugtracker) or a wrong use of the PdfDocument? > > Best regards > > Claus > The last commit should fix the poppler component. Regards, -- Beno?t Minisini. From claus.dietrich at freenet.de Fri Dec 22 11:52:28 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Fri, 22 Dec 2023 11:52:28 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs In-Reply-To: <10525a92-875d-4bfb-b7e5-c21d56032b23@gambas-basic.org> References: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> <10525a92-875d-4bfb-b7e5-c21d56032b23@gambas-basic.org> Message-ID: Hi Benoit Thanks as lot! Your comment to the commit ("It's indicative, it's not something to apply.") is however irritating. I hope that my initial impression was right and apparently I confused myself with different interpretations of the term "landscape PDF document". Hi Gianluigi: I returned to my original understanding of a "landscape PDF document" (as in my first post of this thread) and confirm your experience. Your demo app in the farm also doesn't work with a landscape PDF. Sorry if I cause any irritation. I will test the fixed gb.poppler in the Master when the commit arrived in the ppa and will report. With best regards Claus Am 22.12.23 um 01:37 schrieb Beno?t Minisini: > Le 20/12/2023 ? 15:44, Claus Dietrich a ?crit?: >> Hi >> >> Someone in the German Gambas Club raised the question, why the >> reading of a PdfDocument in portrait format is OK, but not if it is a >> PDF in landscape format. >> >> Please find attached a small demo which confirms his observation. I >> used the PdfDocument class of the gb.poppler component and the >> render-method to read the PDF. The text appears to be horizontally >> stretched while its vertical dimensions seem to be correct. After I >> changed to the gb.pdf component and adapted the code the result was OK. >> >> Is this possibly a bug of the gb.poppler component (couldn't find >> anything relevant in the bugtracker) or a wrong use of the PdfDocument? >> >> Best regards >> >> Claus >> > > The last commit should fix the poppler component. > > Regards, > -------------- next part -------------- An HTML attachment was scrubbed... URL: From antonio.j.teixeira at gmail.com Fri Dec 22 13:29:29 2023 From: antonio.j.teixeira at gmail.com (Antonio Teixeira) Date: Fri, 22 Dec 2023 12:29:29 +0000 Subject: [Gambas-user] Problem savins settings Message-ID: Hi everyone, I am using gb.settings to set the network configuration to an application. I can read the conf file without any kind of problem but later when I change the values the write or save don't do anything. I am posting the code and asking for some help. Thank you in advance. 'Declarations Private ConfFile As Settings Private NetworkConfig As New Collection ' Reading the file Private Sub LoadNetWorkConfig() Dim sSlot, sKey As String Dim dummb As String ConfFile = New Settings("/home/pi/Documents/network.conf", "network") For Each sSlot In ConfFile.Keys For Each sKey In ConfFile.Keys[sSlot] NetworkConfig.Add(ConfFile[sSlot & "/" & sKey, dummb], sSlot & "/" & sKey) Next Next End 'trying to save Public Sub Apply_Click() NetworkConfig["WLAN0/PASSWORD"] = "6934" ConfFile.Write(NetworkConfig) End Atentamente / Regards Ant?nio Teixeira -------------- next part -------------- An HTML attachment was scrubbed... URL: From antonio.j.teixeira at gmail.com Fri Dec 22 13:33:07 2023 From: antonio.j.teixeira at gmail.com (Antonio Teixeira) Date: Fri, 22 Dec 2023 12:33:07 +0000 Subject: [Gambas-user] Problem savins settings Message-ID: Thank you for any help but I already found the problem and it is working fine now. Atentamente / Regards Ant?nio Teixeira -------------- next part -------------- An HTML attachment was scrubbed... URL: From claus.dietrich at freenet.de Fri Dec 22 14:49:20 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Fri, 22 Dec 2023 14:49:20 +0100 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: <577cf439-efc7-4fe2-b1ab-f21446f9ba40@gmail.com> References: <811d6e6d-67c4-4922-b5ab-58265458293b@gmail.com> <577cf439-efc7-4fe2-b1ab-f21446f9ba40@gmail.com> Message-ID: Hi Lee Am 21.12.23 um 19:28 schrieb T Lee Davidson: > This printer configure dialog issue looks like quite a mess. This: > [code] > ? Debug "Device Resolution:" & Paint.Device.Resolution > ? Debug "Paint width: " & Paint.Width > ? Debug Subst("Resolution: X=&1, Y=&2", Paint.ResolutionX, > Paint.ResolutionY) > ? Debug "PaperWidth: " & prtText.PaperWidth > ? Debug "print margin: " & PRINT_MARGIN > ? With hExtents > ??? Debug Subst("hExtents: W=&1, H=&2, X=&3, X2=&4, Y=&5, Y2=&6", .W, > .H, .X, .X2, .Y, .Y2) > ? End With > [/code] > > inserted into the Printer_Begin() event handler, of the Gambas source > code Printer example, yields the following no matter what print device > is selected (printer or file) in the printer configure dialog: > > With GTK3: > FMain.prtText_Begin.104: Device Resolution: 300 > FMain.prtText_Begin.105: Paint width: 595.275590551181 > FMain.prtText_Begin.106: Resolution: X=72, Y=72 > FMain.prtText_Begin.107: PaperWidth: 210 > FMain.prtText_Begin.108: print margin: 28.3464566929134 > FMain.prtText_Begin.110: hExtents: W=152, H=398, X=0, X2=152, Y=-6, > Y2=392 > > (The Paint resolution isn't even close to the Device resolution.) > > With Qt5: > FMain.prtText_Begin.104: Device Resolution: 1200 > FMain.prtText_Begin.105: Paint width: 9917 > FMain.prtText_Begin.106: Resolution: X=1200, Y=1200 > FMain.prtText_Begin.107: PaperWidth: 210 > FMain.prtText_Begin.108: print margin: 472.238095238095 > FMain.prtText_Begin.110: hExtents: W=4218, H=8704, X=0, X2=4218, > Y=-90, Y2=8614 > > I agree that the GTK dialog, being non-/dis-funcitonal, is virtually > useless. I find no way whatsoever to change the margins in that > dialog. And, it provides a third, "Preview", button for which > Printer.Configure() cannot provide since it returns a boolean. > > In that example, the print margin is calculated based on the ratio of > Printer.PaperWidth to Paint.Width. It seems that calculation cannot > use any margin properties as I find no Margin (or even PrintWidth or > similar) property in Printer. Having something like that might make > Printer.Configure() more useful. But, I don't know if that is even > possible especially given that the GTK dialog wouldn't provide any > margin settings at all AFAICT. > > Maybe someday someone will create a GUI toolkit that does everything > right. ? > > > -- > Lee Thanks for all these details! This fully confirms my observations. When you add the gb.form.print component you will find four additional properties in the Printer class ... MarginLeft, MarginRight, MarginTop, MarginBottom, but I also didn't find any use for them in conjunction with the print dialog invoked by the Configure method. They also seem to have no communication with the dialog. I hope for someone, who can bring some light into this. Is there a way to get around an own print dialog for the printer class? Best regards Claus From gradobag at gradobag.it Fri Dec 22 15:04:48 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 22 Dec 2023 15:04:48 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs In-Reply-To: References: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> <10525a92-875d-4bfb-b7e5-c21d56032b23@gambas-basic.org> Message-ID: <1faaddb4-2c3e-4dc5-b782-464482bca6ef@gradobag.it> Il 22/12/23 11:52, Claus Dietrich ha scritto: > > Hi Benoit > > Thanks as lot! Your comment to the commit ("It's indicative, it's not > something to apply.") is however irritating. > > I hope that my initial impression was right and apparently I confused > myself with different interpretations of the term "landscape PDF > document". > > Hi Gianluigi: > > I returned to my original understanding of a "landscape PDF document" > (as in my first post of this thread) and confirm your experience. Your > demo app in the farm also doesn't work with a landscape PDF. Sorry if > I cause any irritation. > > I will test the fixed gb.poppler in the Master when the commit arrived > in the ppa and will report. > > With best regards > > Claus > Hi Benoit and Claus, either there is an error in my code, or not all horizontal files can be read by gb.poppler. See the file named '... old2.pdf' which is instead seen correctly by the PDF reader of the system. Due to the weight the project is here: https://paste.c-net.org/BedsideAbsurd With best regards Gianluigi From t.lee.davidson at gmail.com Fri Dec 22 15:19:48 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 22 Dec 2023 09:19:48 -0500 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: References: <811d6e6d-67c4-4922-b5ab-58265458293b@gmail.com> <577cf439-efc7-4fe2-b1ab-f21446f9ba40@gmail.com> Message-ID: <09cfe0ed-3f2f-4961-b3b6-6354d94f667f@gmail.com> On 12/22/23 08:49, Claus Dietrich wrote: > Thanks for all these details! This fully confirms my observations. When you add the gb.form.print component you will find four > additional properties in the Printer class ... MarginLeft, MarginRight, MarginTop, MarginBottom, but I also didn't find any use > for them in conjunction with the print dialog invoked by the Configure method. They also seem to have no communication with the > dialog. I hope for someone, who can bring some light into this. Is there a way to get around an own print dialog > for?the?printer?class? > > Best?regards > > Claus > Yes, Claus, including the gb.form.print component does add those four margin properties. And I confirm that, as you found, those properties are not responsive to any margin setting changes in either the printer configure dialog or the print preview dialog. -- Lee P.S. I don't know how to document properties of a component. Maybe someone else does? From gradobag at gradobag.it Fri Dec 22 16:32:23 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 22 Dec 2023 16:32:23 +0100 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: <09cfe0ed-3f2f-4961-b3b6-6354d94f667f@gmail.com> References: <811d6e6d-67c4-4922-b5ab-58265458293b@gmail.com> <577cf439-efc7-4fe2-b1ab-f21446f9ba40@gmail.com> <09cfe0ed-3f2f-4961-b3b6-6354d94f667f@gmail.com> Message-ID: <1403d55b-1375-4f9d-a5ff-bd0859856ac5@gradobag.it> Il 22/12/23 15:19, T Lee Davidson ha scritto: > P.S. I don't know how to document properties of a component. Maybe > someone else does? Hi Lee, I've never done this. I think we need to fork Gambas as per the wiki instructions: https://gambaswiki.org/wiki/howto/contribute Open the component in the Gambas IDE, add comments as per the instructions: https://gambaswiki.org/ edit/doc/helpcomments Make a merge request Regards, Gianluigi From gradobag at gradobag.it Fri Dec 22 17:26:54 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 22 Dec 2023 17:26:54 +0100 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: <1403d55b-1375-4f9d-a5ff-bd0859856ac5@gradobag.it> References: <811d6e6d-67c4-4922-b5ab-58265458293b@gmail.com> <577cf439-efc7-4fe2-b1ab-f21446f9ba40@gmail.com> <09cfe0ed-3f2f-4961-b3b6-6354d94f667f@gmail.com> <1403d55b-1375-4f9d-a5ff-bd0859856ac5@gradobag.it> Message-ID: <8e2b5594-3986-4edb-9e1f-fbe143de912f@gradobag.it> Il 22/12/23 16:32, Gianluigi ha scritto: > Il 22/12/23 15:19, T Lee Davidson ha scritto: >> P.S. I don't know how to document properties of a component. Maybe >> someone else does? > > Hi Lee, > > I've never done this. > I think we need to fork Gambas as per the wiki instructions: > https://gambaswiki.org/wiki/howto/contribute > Open the component in the Gambas IDE, add comments as per the > instructions: > https://gambaswiki.org/ edit/doc/helpcomments > Make a merge request > > Regards, > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Lee, I think that when we don't know the answer, the most sensible thing is to remain silent and let the experts speak. I really have to remember it. Good evening from Gianluigi From t.lee.davidson at gmail.com Fri Dec 22 17:27:15 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 22 Dec 2023 11:27:15 -0500 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: <1403d55b-1375-4f9d-a5ff-bd0859856ac5@gradobag.it> References: <811d6e6d-67c4-4922-b5ab-58265458293b@gmail.com> <577cf439-efc7-4fe2-b1ab-f21446f9ba40@gmail.com> <09cfe0ed-3f2f-4961-b3b6-6354d94f667f@gmail.com> <1403d55b-1375-4f9d-a5ff-bd0859856ac5@gradobag.it> Message-ID: <0470923c-1af4-451c-ab74-c79fe07642e7@gmail.com> On 12/22/23 10:32, Gianluigi wrote: > Il 22/12/23 15:19, T Lee Davidson ha scritto: >> P.S. I don't know how to document properties of a component. Maybe someone else does? > > Hi Lee, > > I've never done this. > I think we need to fork Gambas as per the wiki instructions: > https://gambaswiki.org/wiki/howto/contribute > Open the component in the Gambas IDE, add comments as per the instructions: > https://gambaswiki.org/ edit/doc/helpcomments > Make a merge request > > Regards, > Gianluigi Thanks, Gianluigi. I thought perhaps that would need to be done in conjunction with inserting Special Commands [https://gambaswiki.org/wiki/doc/wiki#t2] in the Wiki page for the component. But, I see now that the properties added to the Printer class by gb.form.print actually are documented in the Printer class doc linked on that component's page. -- Lee From t.lee.davidson at gmail.com Fri Dec 22 17:28:22 2023 From: t.lee.davidson at gmail.com (T Lee Davidson) Date: Fri, 22 Dec 2023 11:28:22 -0500 Subject: [Gambas-user] Print Dialog following the Printer.Configure - Method In-Reply-To: <8e2b5594-3986-4edb-9e1f-fbe143de912f@gradobag.it> References: <811d6e6d-67c4-4922-b5ab-58265458293b@gmail.com> <577cf439-efc7-4fe2-b1ab-f21446f9ba40@gmail.com> <09cfe0ed-3f2f-4961-b3b6-6354d94f667f@gmail.com> <1403d55b-1375-4f9d-a5ff-bd0859856ac5@gradobag.it> <8e2b5594-3986-4edb-9e1f-fbe143de912f@gradobag.it> Message-ID: <307ceed0-3365-4cbc-858d-01adfece2353@gmail.com> On 12/22/23 11:26, Gianluigi wrote: > Hi?Lee, > > I think that when we don't know the answer, the most sensible thing is to?remain?silent?and?let?the?experts?speak. > > I?really?have?to?remember?it. Me too :-) -- Lee From claus.dietrich at freenet.de Fri Dec 22 21:22:44 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Fri, 22 Dec 2023 21:22:44 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs In-Reply-To: References: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> <10525a92-875d-4bfb-b7e5-c21d56032b23@gambas-basic.org> Message-ID: Hi Beno?t I just tested my app with the up to date master (3.18.90+git202312220812.63d9a99e8+build36~ubuntu20.04.1). Landscape PDFs are still not read as expected. The PDF used for testing is attached as reference. ? Claus Am 22.12.23 um 11:52 schrieb Claus Dietrich: > > Hi Benoit > > Thanks as lot! Your comment to the commit ("It's indicative, it's not > something to apply.") is however irritating. > > I hope that my initial impression was right and apparently I confused > myself with different interpretations of the term "landscape PDF > document". > > Hi Gianluigi: > > I returned to my original understanding of a "landscape PDF document" > (as in my first post of this thread) and confirm your experience. Your > demo app in the farm also doesn't work with a landscape PDF. Sorry if > I cause any irritation. > > I will test the fixed gb.poppler in the Master when the commit arrived > in the ppa and will report. > > With best regards > > Claus > > > Am 22.12.23 um 01:37 schrieb Beno?t Minisini: >> Le 20/12/2023 ? 15:44, Claus Dietrich a ?crit?: >>> Hi >>> >>> Someone in the German Gambas Club raised the question, why the >>> reading of a PdfDocument in portrait format is OK, but not if it is >>> a PDF in landscape format. >>> >>> Please find attached a small demo which confirms his observation. I >>> used the PdfDocument class of the gb.poppler component and the >>> render-method to read the PDF. The text appears to be horizontally >>> stretched while its vertical dimensions seem to be correct. After I >>> changed to the gb.pdf component and adapted the code the result was OK. >>> >>> Is this possibly a bug of the gb.poppler component (couldn't find >>> anything relevant in the bugtracker) or a wrong use of the PdfDocument? >>> >>> Best regards >>> >>> Claus >>> >> >> The last commit should fix the poppler component. >> >> Regards, -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: PDF-job_411_landscape3.pdf Type: application/pdf Size: 21838 bytes Desc: not available URL: From benoit.minisini at gambas-basic.org Fri Dec 22 21:41:01 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Fri, 22 Dec 2023 21:41:01 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs In-Reply-To: References: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> <10525a92-875d-4bfb-b7e5-c21d56032b23@gambas-basic.org> Message-ID: Le 22/12/2023 ? 21:22, Claus Dietrich a ?crit?: > Hi Beno?t > > I just tested my app with the up to date master > (3.18.90+git202312220812.63d9a99e8+build36~ubuntu20.04.1). > > Landscape PDFs are still not read as expected. The PDF used for testing > is attached as reference. > > ? > > Claus > I have no problem with it. -- Beno?t Minisini. From gradobag at gradobag.it Fri Dec 22 22:39:12 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 22 Dec 2023 22:39:12 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs In-Reply-To: References: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> <10525a92-875d-4bfb-b7e5-c21d56032b23@gambas-basic.org> Message-ID: <2eb1251b-a902-492a-80c2-299841baa22c@gradobag.it> Il 22/12/23 21:41, Beno?t Minisini ha scritto: > Le 22/12/2023 ? 21:22, Claus Dietrich a ?crit?: >> Hi Beno?t >> >> I just tested my app with the up to date master >> (3.18.90+git202312220812.63d9a99e8+build36~ubuntu20.04.1). >> >> Landscape PDFs are still not read as expected. The PDF used for >> testing is attached as reference. >> >> ? >> >> Claus >> > > I have no problem with it. > Hi Benoit and Claus, with my program I don't see page numbers. The code does not recognize the horizontal file. Can Benoit kindly point out where the error is? Goodnight and greetings Gianluigi From claus.dietrich at freenet.de Fri Dec 22 22:42:47 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Fri, 22 Dec 2023 22:42:47 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs In-Reply-To: <1faaddb4-2c3e-4dc5-b782-464482bca6ef@gradobag.it> References: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> <10525a92-875d-4bfb-b7e5-c21d56032b23@gambas-basic.org> <1faaddb4-2c3e-4dc5-b782-464482bca6ef@gradobag.it> Message-ID: <9fca462f-9e95-4523-9146-8439b1d2c42f@freenet.de> Hi Gianluigi ..old2.pdf is a landscape PDF document and as you can see, it is also not displayed correctly in your app. The reference PDF (...landscape3.pdf) which I attached to my last post is also a landscape PDF and is also not displayed correctly in my and your app (tested!). The contents of the reference PDF just looks more familiar because the text was rendered in landscape direction. What I (and the client in the German Gambas Club) are looking for is a solution for correct reading and displaying of a landscape PDF out of a pdfDocument class. Since the pdfDocument class in the old gb.pdf component doesn't have this problem I was assuming that the gb.poppler component might have a bug but the gb.poppler-fix of last night didn't change anything. I hope that Beno?t can give an advice. Best regards Claus Am 22.12.23 um 15:04 schrieb Gianluigi: > Il 22/12/23 11:52, Claus Dietrich ha scritto: >> >> Hi Benoit >> >> Thanks as lot! Your comment to the commit ("It's indicative, it's not >> something to apply.") is however irritating. >> >> I hope that my initial impression was right and apparently I confused >> myself with different interpretations of the term "landscape PDF >> document". >> >> Hi Gianluigi: >> >> I returned to my original understanding of a "landscape PDF document" >> (as in my first post of this thread) and confirm your experience. >> Your demo app in the farm also doesn't work with a landscape PDF. >> Sorry if I cause any irritation. >> >> I will test the fixed gb.poppler in the Master when the commit >> arrived in the ppa and will report. >> >> With best regards >> >> Claus >> > Hi Benoit and Claus, > > either there is an error in my code, or not all horizontal files can > be read by gb.poppler. > > See the file named '... old2.pdf' which is instead seen correctly by > the PDF reader of the system. > > Due to the weight the project is here: > > https://paste.c-net.org/BedsideAbsurd > > With best regards > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From claus.dietrich at freenet.de Fri Dec 22 23:06:41 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Fri, 22 Dec 2023 23:06:41 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs In-Reply-To: References: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> <10525a92-875d-4bfb-b7e5-c21d56032b23@gambas-basic.org> Message-ID: <544cb61b-b731-464a-afdb-b5a1676c217c@freenet.de> Hi Benoit Did you compare the result with the true contents of the landscape PDF as display i.e. in Firefox? Gianluigi and I have the problem, that the page numbers on the right side are not displayed. The horizontal scaling is wrong while the vertical is correct. See attached screenshot. This is how it looks on my side. Please compare it with your result. Best regards Claus Am 22.12.23 um 21:41 schrieb Beno?t Minisini: > Le 22/12/2023 ? 21:22, Claus Dietrich a ?crit?: >> Hi Beno?t >> >> I just tested my app with the up to date master >> (3.18.90+git202312220812.63d9a99e8+build36~ubuntu20.04.1). >> >> Landscape PDFs are still not read as expected. The PDF used for >> testing is attached as reference. >> >> ? >> >> Claus >> > > I have no problem with it. > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: how_it_actually_looks_like.png Type: image/png Size: 48779 bytes Desc: not available URL: From gradobag at gradobag.it Fri Dec 22 23:11:33 2023 From: gradobag at gradobag.it (Gianluigi) Date: Fri, 22 Dec 2023 23:11:33 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs In-Reply-To: <2eb1251b-a902-492a-80c2-299841baa22c@gradobag.it> References: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> <10525a92-875d-4bfb-b7e5-c21d56032b23@gambas-basic.org> <2eb1251b-a902-492a-80c2-299841baa22c@gradobag.it> Message-ID: Il 22/12/23 22:39, Gianluigi ha scritto: > Il 22/12/23 21:41, Beno?t Minisini ha scritto: >> Le 22/12/2023 ? 21:22, Claus Dietrich a ?crit?: >>> Hi Beno?t >>> >>> I just tested my app with the up to date master >>> (3.18.90+git202312220812.63d9a99e8+build36~ubuntu20.04.1). >>> >>> Landscape PDFs are still not read as expected. The PDF used for >>> testing is attached as reference. >>> >>> ? >>> >>> Claus >>> >> >> I have no problem with it. >> > Hi Benoit and Claus, > > with my program I don't see page numbers. > > The code does not recognize the horizontal file. > > Can Benoit kindly point out where the error is? > > Goodnight and greetings > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Hi Benoit, this attachment is the same test, but essential. Can you tell where the error is? Thanks, goodnight Gianluigi -------------- next part -------------- H4sIAAAAAAAAA+xaCVxTx9a/LAoNRUERqAtGRVmEQEhCVIiA7KUsZZc9hEgikEBI2NdaC4qKFUGF sIiVTVZBFLSAAlJQlEVIUJQqOwjIvpPvBlT0vfb5+l6xX7+P/y/5zb1n7pwzM+eeM2fmHiMNLSre k6ogB6wc5EGgUSh2CUej5D8s3wGAI1FIOFIegZZXBOThcHk0AoCiVrBP70HzpGIpUCjgTMSS/tVz n6r/m8Lonf5h7Hmg0txXQAZbwYqKyN/XP1rxvf6RKDiofwVF8JWAyq9AX/4J/8/1r6WPJZIgkF3v 3gOIPEQeJg+DQyDOjjCiG9YZz75wphHZxREyxY1dupPd3V3xFAjkr+79Kv5bLNu/M9bNEeu5EuvA oomj/z3/D0ci2PaPZNv/qv9feSzrH4ujEsmk/y36V1hd/z8LPlj/KbgVCgL/SPyHZNPhcDQCuar/ z4GP9b8YDSwu83+mjD8W/7H1j1BUWI3/Pgt2QbUX132oFqh0qBbRFQ9FwOQhEP+3BHbEB4Xqk73w JjisK95JUl5GXkYRCf6kIIGr8d/fHr9l/zhXrKfnnyjjE/YPh6MQ7+1fQQHJtn80SnHV/j8HJN7Z /6LSoUdABwCBGFGIXlgqHqpBxtHc8CSqORHvDYeqeX5EeP+UExnHrjNyOvKuGgKyoDm6EnFQE5rj og+xN3THkySlIFAI1IJIJUD18aBXgcJ08ERnAhWKgWrgPV2oZHeYziLZgugEPrNMtVikqlEoWJIz ni0ArHt7BzPHU6hE0DVBoJokp0XmbCHsPmGgBnjvD7sluRMmB77vskfJjvZIONzeFUty8sRh3fEI mLvTkZ3Lvft43Et8PqRJ6uOl2EPe+dGDOxd7iSO70txIYCP44q06mbbYXbBDS9eLVE0fd1A2SDal 0PAf9hwKAa8/nr6PZNhrULDekkbgtpwtX5dExTvjKTLQpQn7kPJ2ZpdJi6MzAs2bCmPz0GVv7SXB XlmzmdnCjPEkJzwF9O5Q+XfspKEK7/ksXoM17GEY4z3BMbI3CyAZKbVIB39LvBebvrtZaiz1dlh/ 9au+it/Asv/3wlM8QZ2ugIxPxn/yqH84/1VArfr/z4PFw76/uhOr+MuwbP/gaui8MgcA/8H5j7wi enX//zmwrH8ijkyCuZOc/3wZn/D/aAQKvRz/I5e+/8DRq/7/c+CEkYE2P2QzeyfPr6ujYQwAHAD7 z7sWLGwoaUfAgtvzkK4pL4gAXqdwAFiXoquhZupDH3h+mGzTHVg13IaYPYso36H5tVD6cavM3V84 Vv6wV10ziklsfKJ6NkJR9rvkNHvVUBuhoI2DZtkRwloh9wgRnIVRe3QgSlnWOgZblM59MxCj+fVP t3TEnW/V+j3qXbO7Skj3xz37lenTwSohJEnilAC9W+lxy+7fHsPt889qghdexnkf4FzDZQArteW6 9+gLISF6a11kkPtPohOWAmeY5gujV6pZR5N+fejFz6tUVW37pdCdHb3GTJzavkIhQOLCeiG6B6Wt NWXYgWcNpKKvtlCHyQUIiHEColoAUM4LOIhyAF/uAkKw3ID8KQD4QRAok/+zKp81NIbWt4qpPJ8O I7/4wl+S+b2q2t1q/vkeHu2TcYH8nA7PQqL8UUZGvP7QqVf01krVu1vOwdwmULwhbr66znQbZnvZ Hm5IR8eItS//BMcfEm+ZZsF1f6dBr4bGsKTFlbsJsSJppuNmk8fq7gscBRpOhK+j7jmvr1m+da3A yaLrqT9eyuiqsSPgeFHAcJqJ4qamhC9v7g7Rx+YEtfB8jon6zysjjmNCzMe9hx5l9K3BrsfZdp8R pw3qGFdf5POX5OXgIJzNEEnrO445OW4rKq13zm6rjuQ2ZzUCf6lHuzQt1X69xdhdI7OE0lkLGaZd JpBkrO/Hmmj4OqSWw5oXENcN+pW5VT68TeFgeVcIJhPwYrrIOUeH/3C7IsFqbDxqb8TmvX4jxzpx WM8yYc7c8g3fpmr8EpWB3lK/N7VxpvP09R9S+8/FRIbVcihN1W7uoJsEa5vmBEhlDT7sI3Mo8rhC Aa393U/iTvfNOj9tSoyUfGVuMFIVxzXUlp1mLMGZFQ6I3pTLL9jvnovYQ+wUD76z333BQPNqbOko l4a6INDO3Jp7Oj5E1qHwdf/zOLxtXJoUs2PuS/GmO6qGgwIBr4e7yqaVOlEs/V0/T1BgY/GpIENk UWVGjjc5hjodZGvNcg+a4R7lYggx0A7tTG6CY4SZfWmxWXNn3lPFb4IsKyBJurKys3p6UW3OxFO1 OwB9wvT1xOrIWtzGpOrc11VejmvqNJqtJ5R0JSbvj8U3St2QiM0fyCm1MK3FmeWb8KpGWZJbtns0 DCek2U1TrLald9HnznUc2ldBODxaYvLlYXLLUAFyujTwepGEipfY3hBb0pUHC0dYHdr7eMtgR/At kW/eZLdctZzASeRyMrEg39a6M9mqocr214JG8kHxOwAl1/awW+Ysb5nZvHgfHpRgzDyTlAnEcj8I QnJyEDhlZusl78R57Y+ZJ4ibgw8jHq8J3yclPJLPrXjNePL8Kc1ysbXNqqBSST6wMoMRtH+kwmve 5vMEye7XFdlf5XHKE0qMG6dcdS3uQ4rHHcwrjc1ockbKXU+aYp6UJWQmqNzSth3QvSFROCF8Yl/1 KBf/i8R6i5mRk1pTD1v0eUN2BAkQ3gSpsdBzqgyJkxkqHmc8imC10f2bE+zqjhtK0Ipvqnefed00 /PN+TcVp3cEOqtudJO+1Q72m5LDkhyzb44Dot5MBtrdGVVke7SVHHtygGWpl+5XATj8i/JSbdsFw kFG0yx89HqgN4fPrb7Ctjb4WN8MiyHA6hHTPzjTVesy/6ktTXmPfE7PFhG/Tz4HT2cLStMD2S3a7 FacEB3lCf0jpGo8UIREvW1lIi700335bgE+B6+AddJa9jXXsXNy3WbN+rOZbB8XiX9TZBarwUmmZ SehgT22+pmJxKcFOo19JGoBVKwH7LWu++lbf3b7H4w/EHWfKowIPeP+kfeKXp4n1o03FQb6BpjTy fDfXC7pkX9YD73GHy2MtjA154RWCobZh+iHCXdMlsDPfEAtyb73a0HGGatN2sCknNPtUkBdegyEB GZlXLaIe6vUxjfK8umkLX5TnpvhSRDr5YH5w09BNo6x+tPf2vu5juzJ8Fq4PtbTVp6SOrdmBXVN3 78gD1POLdNu8N4/Fk2fyEVx+wzqRL27DU/a2I0Y4peIMeuTs96WUTt8nYrxz/ZsYcwO/FEiPRz/m ibu4tzcronymJdo/Qznva16hHoK3V6P2hrp93EnHN+mhTguLWATMm5LtUv2UkNbZvTUaapFDmLqY 8F7VEv1LTjYSk7TMmVi+ztgUYekHJYo+wVqssdKb4/W/FGSMR8/y0unFz0y4HUQcNyYdlzV1GbEo SmQyIielhU8QCk1tC/VV9ts3G/JoUwuUrtyErXugu9d8PTiHg7UykhdOugQU/sSacbJB33c2G51D Jcr20YXw86V7BUOEza1xYbYW/sYNDRIL3RdCSrb33IvXtb2FSFcNHUn/XjohhzLgrbdw9DkjrHz9 +HBPQfaZTULKC6bBNXMvEl1MYJva+iKPrXXYWJb7qPD7ie5n5vO3L0akySWa78mbe2ML7W0u32/7 ldwCaSSn3dJb6/mlJ+ZhEWuhgKxrFm4oylMvrDv5x/CFsYchMxSipsqkoFik1lh0iUF8axxj7kr7 VFyn+A2JVyc9173JrtijymdtiRtJYFGNww4gTmrR13kV9uc8EmtsykuuiZwYdDbxwDxjpHvD2kyK Chc8WKnV4rjNzKiWBpckD17VCKsD896uTaW3/YK1Lviljt/gsqU8SkczUl60juiHPrjSGHlGwFXf f2f2sfgB66BtyLUcBLUggZ5Ela0NU67EplL7zNmZmxHl0jLmY69DYXiTLyp3GZg9ZtgUpdzN+y4o CK/RxE8fv5lQbjtw9Nmr3ZWErUEIWYKPn526yaghZjQ4z4oB6mYM1OXaYoUa8fZYWQva7Eu62COL wgGDg848foWdtDpR7qQ1/Ia1Ln551wdL+QqoWWUEbGf1oWeXb2PS57dd244vGyzLbhFG2Kf3Tjyh 3zk7VNktHq9U7N27E/raas7L6pv0PmJm7kwhy6Cveg/Nkc97w71H4FSndM3GXms+tO1YFJVib4dp oaa1l82AMzI859DkMoGoHnj+fKOH8QEx6/GNJfmyl0XW0chTg2q865U4rI2SVA0T6Czt1BnQgNMM xR7VWHdyXj7tDgoQp6UhrgS2nE8RzrhmJxbQpSpStRDHzUGA14eb7NxsdrUkYJPRtdmZiG4eqlty 2qTKV4wKV9/yHHRddD0Cc3i881lTS4yRhbXxaHTswsJc1qaoUoxg4/atz266qazfHAEUXPRBJttI X+YZfSAxVTXpPJZlEujnkaT9eHvrlUuVV3ELjPt80jFiz/MYupc0bGYpxG39j46SFa+6KmRrIJN1 KqRe0eegdZYe37JG6s+KHRzGvPoxvGSy6VjN1Y1K4+2OEeD4iXoVTxj1hTsBz+jiQRGRJkZ9ipNM xgsbq5+LCoJYPQ0DJcegzDqTALarm+i8XayUn/u6X1AicMDhgsFkV8tomwZTr9GxYThtRumpeWtw vlFGX8MvBcrB443+jLg5NYGeGQ011kx9/KYo+3MTBaljDSfma8SLBksvCYQIb/QwkJjofDLak7I9 0jc0h1WESY/YcufGZDeGLtfflnOqp6q0JCvPLFuOoFcx1v2YPw1dhS09Ug7awIHW6Pp8nuKxwdNw zIuXQx0Fltf6B/QmTa/x+L18k0BLbLSQNKOBS8Fo4sE6HWxQr1mCpVSHMXx+uJfrwNN4tzrDY1o7 Adm+/ir/8bt16rXRFxKFkBbpvfF3b2/eGlffEkqKZz677IMcaVlXUtzd/zLgMMvXxSZqFH+6NsY0 a9ZqIME+3dJUDpNv/3j703Kv4CiQmXTUqf6m/Krx9vWkdMvDQbizxk2Nv1qqMfZATlYHDjbbhdLp AW32fu49Jntoil8xEgPS7Z0jx+Sn40RnASvmy2yvwMlrYecNc1rh3eLTJabjXE3KrPpEVbPHFpi6 2Kg23QNPmrKHVNBlHWSOTMDKErmhPn9eDz03FTaKvtm5dnup9y1ruXhmToLM5DR5DXdSZWWyYDwz rrEtqP/BTHXVJBKJSZ2uqZGYzazUPaqndUOFkTJEH2S8xHxV2dziG96lBpxixun35zwWY4yfSM4+ I0KbvZuZIrzXxU7krO79J2CVg8XtMzTn/XdTNQUBdcdI0mTgHYnU9OPXIRFm+g+jUdbp6YPToENS OHFxwsm4JnVjzdVXNTd3T1WQsdxlSabKGQsBt2dGBw5s47Y6IEfohRzqjomZ37JfVrQ2EhAV8VVu T5xwlSuQafb6vSi1m+N1LqNtb43Hw0D9ptP2KSFuYNRhWYsbwU06bPyoxX2DsrW+A502THWC1AlR JcMtoQCSl2yJ5FLkWOk4mm+8JQQlV2fTwufJq0roqkk4aifQJ3qIXzW9z8UpJcPnPA/x3tImQn2b ehpH2mwmECKft/6PySqkohySkn7tgK2FTMYeKUvW9szJjWYwjQF6q1HSr/wSF9pq+oGpV2KBwPrj mHW/vSfkH2blNKf7NDRbEti3upoGGtmHHL5biS303xrL5z/uFPJRPI66AjI+df6vgFT4p/N/kLR6 /vMZ8D7/w2hJ/cspICZL+eCYpQxh86WvQ5il5GB1sps7mYQnUTHvs4Q/IrHzhT8iLGYOf0R5l0Ns inU0IfrhMQqQb7AkZxrICkOkQoywOBfwkoKBr+aYrCiW7Z9AdHLCr1z+57+Z//f2/B+BXj3//yxY 1r8TkQLaP5ni+6fL+OT3XyT8H87/EYvff1b9/8rD+m2ODVSTRKX42kJ0caCThy1/DVp1v/+38d7+ fz8x6r+W8a/tH6WAgi/n/8LZ34nhKCQSuWr/nwO72XqHwxCQ3aWTyQsQOFQeSnY8ClFWhsrp46lY JywVC0WARGOoHDtRzBOKXLox9XXHQ+XUwWpXsjP04EEInuTEbqjwAQM1GpVApkAlbSRxrliap42U FNiCgseyU8c02JmD/9PeW0fVtSzro7i7Q/AAwWXh7u7u7u7uwT1AsOAQ3IK7BXcI7u7uDo9k73Pv vmfv+875jfPeG++PXYw111w1u6u+7q6q7rlmrYYcQA9gZAAA3syBkZGenYqe4QM9/Yd/lPpZ1VDf 3MGWkIGWgYWWnlCL3MzJyc6Rg47uF9vUQd/OzNzQkdbWwfSXbGlbo/97sW9rXCNnQ+M3uaJyUoSi ZraOTo6GDuZ2ToTstMz0bwWUzJ3eVr9vgH/K++9GMf6hUYrOBk6/2q4mLfWPbvivnqKTMrYxdTIj ZHgD8LO+o9NbQ6xhuHjd7N4WtMZOhAbGpuY23MSnze3EhOZG3MSqzNL00naCxmbmYh4OxooeMkqG HpaG7EbEvDwwXG4cbtZ21m+yCd2srWwcOdy4ifXf8BhzvJ3/ZNMRE/4q4mTJTWxnbmn8M4mRB4aQ y8HIhENBSOT3Wm+fuIl/dtxbv7m6utK6Mv7sMDoGdnZ2OnoAHQBA81aCxtHdxknfjcbG8f1/iXib GX51zs9Ev5+f9Q1snZ24iYl5uIwMOQx/H6HfdBgZ/pcKO2cHq18KjAzpjK1+ZWs60r0NIN1bvZ9S FI3tfzuxMuf5zS4ouOh+//zbya8SdP+t43f2H+Dw/Gt8Tr9G8v8YHb+V0z/Q/azM8TMphpvYjcbI 2ETf2cqJmIf8n9H+qkH3D43/DtbfQNn9YVhsHGl/DSytoa013duFN0SMb4P7x0YRvrE5/mG/3MR/ Zb/EdP+brjcb+Wtdbvp2b7ro/1nXW3mOXy5o/NOfuIl/+hMNA4AGQK/EwMrByMjxy6k46P/fUGnr oGRra8VN/D88/393fIr/ZyG8hRBzE/d/o9V0vzvZm5vS/Zef8sD8wdXfYgc3setPR/4ZRn6PBL8H FKY/BJTfMoRZCOkkzY0cCTUJmX8FWJZfR9ZfR7ZfR/ZfRwb6X2/a/wg9vwXl/w5VzP9Dso3TTwMn ZGD4LWhLGxuZ6wvYur1p+SmGmZ2ZkI0J8FOYnL7Dz7Tq34P7zwxfZwfDN8E/xYi8iSFkAPw+CTjY Giq+tU6T8OeK4Q2FsZvTmwAenrdatk4/oy87/R+x/QEay19CY/zPoTH9x9BY/xIa838OjeU/hsb2 l9BY/3NobP8xNPa/hMb+H0MD0P/H0H65yZ+wAf5zPwD8537A8MdFloi5ldPbgoROxOpntDU2tDUy /u9VBMv/WEW4pbWqrTousCH57FacXW0PS9PXMbBcbQcHjjugLjDdmdkMSovMgThdVwwCPvEsrfrE AZsf88XdmNgAUjrVFp5dbhdlqdrM8/U5v1C8RBN8bDgv03f37nLw/LK8j5UeXTafaPxOu8wwJV+k 8kZdEie/bgMWr23YudXhwxNu90LeqtmqOw6rkeVLXEV9TWKPrrN0m8xhU/Chmc/SeMUMufo6uTa2 Vd+Xl1X42ZvIDKDNkCi6h0D6OukA5+rtL/n6C4krCgTWk2YucJNOrRmjyAv5y+Yv268rDTfvMnHq js9UiaGSQmZPF1UqCpyHfZJCxtVecN0qTNm4wTO6mqPG3+fD/NCqh3NcodZXWyrbZNMYqpMQJMbH mbOdPmAFDec11IWo7EV7DZu3tZ2KiwGWxPwuWH+Knb+9twIu5bePp+2sPdJuftfus46VX41ogdzz Li5eiUPcwW9NHGjKhavZ/N2zTf3krPWaFVM4YwsIFY3NKOe7Ep4nN2ZvKkpK+ufiG3DzuAJkHqGt PYZRx5rvjRr+cXLcS7I2Wz/o4cOxPsAxxJGhRwCa4PPhAo6plTNfz0TLdKDrIfbL+x0/xiU90Yfz YeQuLJKKi7XttOmuE4roGfbmVrBRWEfgXFFXV7QvDEx/IWHre62Iz5RQHpVTz0O9CYH0RMGm3oGp dqF9wR7lM4srZxpxu4feQgG2AX+ft8zS1dk0km1tR8ENMuTfwprWwiYmKOVe8qRgTQvknEaP669C KdSNt7i/zw7N1xtIxHdCTOIXnw1GxxUHxjQXTHjdYQ9RcMEsHl9xJ8+N+LW1OLNp8Ucq2FOXjSia MeHQO80vFra4ZlTdsi3FJt4TlhG8qXgVQ9uuumDZ2aJY0SVjNzfNzzyzvW1tAvYDw/izj9G0lFhQ lVTtdtzLjZmFIQAizJDW6FxdUTY9Jmmh/W6cSYdrYOPGKlasFR3p6FEPWTg4+89hO3P1IqvHB6qb iBK4niqkoRrccsSoWDM/XOWNcUeIScThYNohVSlY59hJ1UzSFT4dzBu5rWTSDQgFlp74tR7KxmFc a2ei5zn6uBUQZp0bARV6DH/ARMko49h6BGbrruOH7FD6ZnEPXC50oa8HeIrH9uZ6N9LqBHEOlyF7 y0iR7IOlMR1V9WX8O9SmMBiapxBxmuQ03gpiRtHCoyb2iOzEEcIHraq6cBM0oPNzbqo1TEGUb89u lUkoQgRjqW3dVmVfuRGBUQv246yR6726ed7NFhahXOfY9LtvBdpwTeehx50ZIqWgfWL8/Dl1lEoH fOXj2ZaYScdKayM7aRWyemjsUKIxXRVSerqNVIBsZcEw9QDCSbZauqK50pTMDo0+sCpDigXhxNP0 A1gDKv69FIHAhcI4wq5WsT1wg1Y+2g8U4doNseb7AcFilkoV51wX6k5GDqBcjTibMcjgi8hMHIOy ocuePGU4jg4Z90b2MGv6RkXEvJiA9taIM7ggtxn50h08OVwfQtPp1P4vlUfWmju1rcs2UXAfSj6S iJy10kg+yXa6WKNNdpHrgnLgdaESjyQziRlctOIeXTCCRzAO1CBAluugiZMuBwyMO2fA6dlXepoD RVRDXerLiyjsR3FX4LP0IWcP22xb2KvFTjgJx0pZaDWqbQUipkJH8NXboEfpCeKWHqPXO3wAwWHa NdLMITZAQc5cWZuGpDxMhbRDpo4loPN/WUMJpewhhR8Ijsnt2+AaTYXYA1PDqAtmBUYp0ffxpwLd 42GoNOpx3ODjQzIHmQxiCRUyI4rtfPGfbOQNwgQLl0/LtA0Ht0OCKe7/wvVtCUrvHQlFPHLozTxU NP77UORUVn7KekuQc/6LM+TtZD9G+1zyJHkQdDfoliXFI/w76LrAM+HpmLUhNoJxEe2FyA63afvb B4q1ffFvHMGnyqnN33M6rbTKQrobSix+UHyocpoexvBi2mzFzEjMc92csOSKS453ey/0cRuTMs4r HQM51Dv1R8V1wEkhlrzSOcwBjdEjWE1Lf9XnYoSKr9Yu0yCbBFuvWzcP2pI7IC6CwjWDxvVrxwra m8Rul+mHSV0Rt13u1cxp8L5Yu9dHhmVdQvY6+nkJX0mWpuOhx+ic4RxjWoAtfdzuO2Lclm3uYTN6 NLs3VQtf70B1Zvffle/Mc5+/N7qHXUFDhQiFs6j2FwwvoQ9r9wVm3hHT//PqlOGPN/EKrISA39Zo f5jBGP/dGYyREfA/ZrA8tUWHVDEk71lVOXdoCXCwLuG1Yu9PqJxJ4VXRPRya6KegwbFclmBYImwv j0xiX/b1+bcHE3WYvug3PaZNYp4XqpPZM5c847aTLA5sdmeE5B9D4tjjTtqHililJmfszCXmKSs9 lm+jSi528GNG37+0eKL4ytYtuDOlaI8xN4SaTeCMLn7R70o07WQfuZRenc45FvJ1Jdh99wX9Xfzr 1uTeapjsjsk4B2pePMFDnP2LEsmtYlc99SRxnU1/RTegINpc/YVrvFPQANn0QfbK3QFZuk0ayl6/ BP57yNn3T3P8Wewqe/xQ8den7ASB+dsWlx1XUFoQJ6/jq2KuB9rqGOiZODpsIY4PTYVbJiD2O0zx vFv2XSyKBsEZu4Eew+qxQyMfeuX7VVlnHTovWExCGvx1TtwwK6xTMiqEdckm3vUQyQArbK2k80Uw ZkzgHC9jNlMLj6LLhtBbqfpSFocwzAJcMFkt1+XlrQ2NAHmLy7IazjI3XpIAnF0mdL1jiUbMylSD O5Q+Fv4kpKK2DfSoeurVNGndGBCk0zvuEXZLfQQrqql4/FEY4VkmkSctWJucaXSB4mpNxKDPkw2A wXAJy9L8PXEJgg7dIHHsr99mvppWY8MQidZ8lYapYkdl+t4J+pp92JQ1wY1gvbEU3iVqe1aG7r1U CUMFFCr1bl3okUSgiLLOoZbmlMC2IF3fsB8wGhr3A+09YWDcxNcCN0KJ8kFqH4xoqqw8bq8br1DP w3qxFzGhxTtg+ViV0mzI/fsMBDU5HupJH5kKmzb291teTGGnxUce2YgMYA+rvfViJ2jwPcWg7q3o t65hIfVbFvKJ2OHr/J+EMy8/GtI2B+JhikB0emZ8OPMmSinZLqCDERQIHsMuuTfz+lB1AO5XX8gB UUltOdVhlxPOhrh+fVQ6Lwt2vJFOtHZXFZpY0K8gBbWeXjUdY17Z4lMJTCbXCwE3V5/WyNqfcGgY AfzEF71xJbCn50JvVsONEzzq68dpDIPvk/AjmPQqIVRGPFy1ci7RDGr8JLyqDESsKfzlNsq0MFVA PSmCdbfk1sEZP+wQlJVPejs/6TXg3of8C6M6s6iXpLn4JZq7Du7lcsrhEFWhbo1HVN2sBCrNTBWb U0I9VQPoi92XCe93vB2EyXhW+l7d15qt9vIYlGidCPwZYVaD1bv67Kr2g+H8PLKNLnF52cDrbPR4 oLILzs7EZ/N2GbtilF5JEV4KC4NDtJx7IhvkHQvnxOA5cf7nG2uve3kdvjL1cu3C7YqMji546/e5 m7p+fSE2LXeXKLAJuWFbU3eXVQsiRzaUK2MaSUmLcTYmSAKucyDsfdIgciSmHz5MyrL3VZ8pSBSa QP8AWgpcX6H4Hs+IukyA67dRFS75OQgeOdgE3mIGXrII4BCtM3d4UYRrvoYsrLB8Bmp43EFaAieR Y48Jq2PBRZZgj26K3VvATDnaxM2LnlvfFNsjTQl5EbdJjDb7FLna1f05nOktznGk7bAPD8IPpleA nLQTH3334cDkPRpk2kFBR8PM6ANK27qNin4puVvgJP3gCxfHoVgPXNg9UHqCXhPcY7FyAnF5+uhA hMkkC7PeE1r4Wd/o/v5AgOusk01Vc/j8EW8Ra9xPzcuKkzBn98vkejuZ+vlXqcdNIkrSbNq60IiY DSJmyJnSZzp2vWvvmi+tvvWf4vnpfPuqrTpLsKaBd1nL1XS0veiPsGPhjTJjmH2E19yXH4HfOejj z73eXvvtBudXjIiPt23srSCUkm9C8U+ZvpPKp/O24G0HysEXAPxFeGb6V+GZ+d8Oz0z/8wYjT3U1 JvXXDcZa2VfKwFX/hBP95uNiz4XCWe2p8qkMSki4c5rOUoaBk+drU8JKSImFyfQLlM2Ucy/G1eE5 2SbrxjYb1/bJTKcCbvNRyro0+h/aY9VcY9PaffZlfLe4izPYM+17CSaHQUhXQWpY5R7Sd7zL+7ao 1u71P4KIVGUdiE738t/XgWj27/ObBbVlHDFtWkQUgyTVfLtj1CXxNc9ursoZTSGZbMOx/H7vn78Y hL1QZ9wcrV/cXm5NwzVU16VsBIWovXiN4UvWbnmKehy/09Q2d8AXCKKD2yyDtp+BBwnyMfGVdTd3 rsrbG13dnyoS+rYdpyKB0/UqXuNowbTFrozN4WhOz3aqN8MouZi0GPDNjJE4wQ+pXOGL/kyAoxUV 1PWWiqROjMzr56XlthBKbTOu2Ri4PE75xhYAd+2gHWWuu4xhFFvuyHuNZP4WlMo9/VHJHwfI7S0W X7fyOkTWzQMooQKd2N6xO48mHaLk5SJFtWbGnA2sDJTk97JZHpqwcB2OGfoaW2SMLZwCxJKI+9Kt 1qBN6dNFNzm4m22Yc0lStaNgbw3OD6xcBpKuH/xTxZo+5Td0w9nDIfi6JjxRZnAOQpdNceRt7BXL u/QtsoPz0Z3OWMgzUm6mb+Rnl6Z0NJGR9pXeY1M2mZuFsSfu908gBEx6wlqMnEVLiN6C3Ev9uLm/ BeEtcp78QHxmkDtU4042LXAIbkySFI0GZ4gFyWIPh3Zb+k4A5Cvxq46kPdgwft3Zpx0+tyZSZfsr Yi14JxCUNP2ad0jJG/HHZSATKcF7Jlnv7rP9q0qrUdUrq1C7c/zZY+U30uiwKeq8kPbbrOXCitGo 0nHfrwDO/DOp73wQxQn3cWN9cBUzzXsfnse/0TYF84QN+yMjCLBjwQvbCS3Xtdjcx9hth9gGD5ss AIKpdNqAWJTtElAHXlF0qZNMYermrZtG4vfqe7RYUuvKKTbj8EwyJhPzsp5DpzqxhWWlHLxyhR69 Rs36dqK7P+TajkAPIYQqc78zOpe4ylmT8x9DQqwLlKbKRif85BXBl4ZYQ+MvQxn+orRQWua/hvE+ VlkvBOjBYX8Zwy85spkor++zZ4k4eM0IFB0mDa2y+VGAPa5/5enj+52YOA35hBIcezfvtfHGrQcc oXIhFBeGcIguc9GatoOt+fBjXygLJkeldpQR56kVG0pgaJlJp0EG6MQx0lvQdTEnKPPTtjKGR6DD zZeAD+RcgGJaNKuZPU0GUYJL2njRkpodI9EXkWXyZJZr18gj34kpOttTOlFQeRH0uirzMtUroKVe LUpmUwfVicG0mr4oI0LgxD7GI5glN4spJr/ayDpwPZiVzQPq5SZ5hkMVqmPm5JQNj9i4tLUJeJKk OTlNh4bqDxRCc64Bhgps77GCQTpkJCOBhIi511AHR+HCCTgh5G8hGLyowO4e7neWR7q8zleHBM3D sMwTx+ShaFsLrQoDP2rISGtlS7PzfsfmkbuBKiS23j07Uz9dKTQHGKCBuC2ijIYFv6eVDPT7iDYL CMb6hOvxhNydj56EiuVvVRjJzmedDo9Zm3tCEp00MNIOcFz9uInPs5ryw/qcnnPRXjbI5aChCzi+ 6oWc7emyeGUi3G5QiRW5lEK+z/YlFfQHCJsGhQyuyNOpmS2wFhaa/xf7Lv++9095BRLAWVRZJ4VI 5inpZSvwKznc2QfYZ9ZK43Q14IyIx33aoioV81y1of4jTRHiji0CuATZ/OPtfHjZ1eFpr49A8E9z MNcJ75xj9l6e3WNEZynGl2/OiAkoM5tWeTtrLoT+IlKz/KtIzfpvR2p61n+K1Jq2iyxoPrMVSA+A xkL0sCoSzg78qqsqjFarqFl4sxB+TMod4lhKYQp732eE7WQuhwSQ4zXMCZKx+1HX8qcjCB71Rv8X PN7w3vujwP1exPhayZz+GOKNOHoSnyMRfaSGuCbfpiXoJUu2ho+G4nHRrOeuEw3tVunVt0WwH0Ob y9a89mgF58JB2XZ7wzJLl6w33ZKaI3UnNbQeD2Ro6l45oMWfayGqadJjVt7lT5WRu0QYo4D58AnY mvOKr9ER80LFOR0DC6B8Mju/vUm4tDp8OkGq+khjLQSyY81ColWxTD7XrfdR8Rnr7roXUcWm6cYQ 5DvQi+hpZZBidQvuYI4mkm81QkDU7HxrGw2jsORjCMrNY/EYpGPYYDS0Dauvt8v5VZi2g32zWm8q mp+b9oxcc7z0lLPEj1IG0RDPyi8Z9Geb3cttLnUxsuesNGp6WUv0xq7Ndb2SvZXgzJPRof0Wx+YI fMwA5s3tzyS5fNXTUckyWaEtqMzKU2uvlnpiYoF619ZUJCBktVds0X4DInB895F3GmeHxuKaoEI/ DA4ytgk1wAqUh9N6RmMRD4E60BimKLrGOxlMNhOLDPrurtOQ1uJMu+5T5H1Mbl0+woYhmTIboZgs k3e7OG8WYSsH93v2UlG3oHnrTOaY9MD/0Es+sdOq4b6AwCNXdTxI7BDQPk3qrRrjzt3bKPvEuuxl N8lpqC4ZEbbo5DI8LwLMhaLzbot6DOJbzcC4jXjqS7SG63y67EpV8CVpN+j33BSORCKkq8uCHlwI MSxKd5V3H9/1qj8Le+FJ9YHCgWskwM8R5FStjmWy0jBDZEPpSWtOQtyNfZZ5zuWWjRbWq9YoyyrH K/anrfMOGYQmsbBOuxT+VNQ6g92CtM3gkeSogAzZo3Z0/BDk/9wnOewr6Q798VasAC1xE7ofA/K5 hszfNgqETzyCvd2IPeB7HWupIXKBWzOPqtQ0BPSKge548RFpV8MCB2PSjTuE+lW6mBKdPNOUgUL6 XQp9RnGxbc74IHycOhomjVCUdlt92DgU8/qGHN3OIBUnEzAojGuArYsAFEHAqCwiAzgn/+feaoZa CcLNO7F5HA8vMBsbDRVFd0L7+O4Va7L7/u9uJOKt4csTCEGWnxqGyK/0V7CFh4iVHAjSNeUqPHh2 z7Gc30yWghaVO0nOYbisNHfbW5keW+C7fRM53mk4xhp5Le/s5pj5tgI2baMB/UpWVfE1td4hbFue 5zCviK98YqNulhUIzGB85HM4yEdyNwnrqXGygkIgofXPIUbfA/w5US42uba8lfXLvpPcnNEQV5XH ltnyeWGC9z+JJslxN0jrc7nsN406+08fD2/ZSFNNyTuYNbHGHD1oZwvZ7KIZYRIVWOFfHsa7Xq/T 2GCABoSN8m3gfX/cYe13olZBESPKRTrEaoYsRgaIx1/pE3B7u7oz72ZionmQE7cxDQpNLOIbxet8 N2f8MPuhGb2m14aVV7X1tDnaXPlWKgmRkm8pjXLvpqWDuT8a4KYyciDidICWONIB2ubpoAPKHrfP /uh1PhnAeDOEuIhoFjh0tCUnkJ0zFzSmQ0jiPdCdMuEF0BQwDbjrnp+geq8aY+ho/HI93SPU1tjR LYS0JBrrbB9mcsrCGNokc/x1r2JCMGrza4swI0rG4ZVXqMzxmcRx9KUvlE2wGx0Sr1a797ghXXRf kg4Uxw/nO18Cj3OLzQ82EjMPlRxtl+XkXcu2QRDeuGphPV99X4FrqEec/yIKs/2rKMz+70ZhZiaG f/o647cofFsxvriVk+hcr6QHusQkXk1agmk56meCWCO0qOVUIjYw4PMsNk8WY8VOoQKGIBTL9fQW g6dYR5isVBl7VteJRiFWIWZImKh5x636GHD7ZqyGquBlHaknpyhLuc3uO6ZmvLKHku5fvi5DZ25K PWLB996iRsFW1Zr1zGou9G8oZgzMmmfY3pVjGIM+GwRcMMtE1HZmzNM/mK4tor5H0ssxOlNufx9p HeHGiHufb55clxczlWuNI9hHL+2Lsoebbb0wena6N9tpzHRnqLdIm4kicafVSl9TRjiOy3jVABMw /QpKEBi8H/560l0J9lThUangNgdRwg+oiRq/TJP7YPldrtgk/EsCs+JmVeFXnLVrCHlmNYO0EuQe veULY7YLgVWogKyIrPwGi3ss9TSgWWfm87V7TpNVYGiS8nvZ0BQ78Gs60tEK2057BgnxNhW6uiCg ozmbLFVZoO1Eer0ic6dcCIZiDRGQITjnhe8LAY14QqccdlXduc4Q0UlSDvfnEB/8zjfgHilioZIK i7CBn1a9L6b8jIzDt4GxR7ENvvZr+ok2mGk7KDKIT4YvwuM2RMpHTsEO0U9nyY8CJXYLq1xMJpKQ HgmHS08MrdjUTXOsHfO9Bm4Sd6I/0z/tU1vjAl9Y6fm4m6QQukQzTyZjlePwHDhgSg94dP3AZG4U +Lx+YD8nOurlA83VYiSEw/n+te4zCO8+fVJCtJNvuWDmGYyp8HumOUUSmgmqb2o/iBMs9CCWQLb9 glv6RUtgDClYiEaqF4lqBNA7r7qx1J+fghnk0pE6AMaUevQf25abnD40iJVv3Nu4uHOH72zOP3Gf 6XZTDtjwZ8qptnubpYNxGW+YeUgRO0VuS86mb1HAf2ATPGquGkAsbOt2oFl0YVwB5hJj/mHJNyre bxFEhd9DP4hCjR5mnukLrR0UPmiKjPTp6AgezxT2R81VDTEdpZ9doILOwkN0BGuhkcBaJwoWb3oD UI0LPynd+AJV3Em6Y7du8mj3YW3Y4WXCWPPZOvgwzLS/DtaZe/MIlAHgShAv7KxonodaYHVRWJoT z8MjrKRh+/ZbPTW5uaLJIxlcujZTHagvcaM1BfcRuxzlt3aIdKr7x0z5WbQfYnipUzVdhLzMFeoE 95w84FGeN7vW0HfJGOeKrLMlWCVz8jANA+7gvszA43EfnD/Fq1AWurbBfauD1lWvpfxqaooXVVW1 XcYbu0u5aR2zucNWIG7rsW9oVtcQUq5G2TtmvARPd6Kp5C/kyRpvqqVTMstme4gV6ibEr4MpDeKN WAbEyTuH6J24QGxDoVRxPt9yy3dhBlwb338immgabf3ieDfGOMKNdFI7uZpvMTQCAqP2fQU+TwkH FivXqvgLLT/DCVrGnboAFIi5v2gGQfv01+9Z0nGaNuII8K9DY1mwLF5dMJ89udcp+yj07IOQS6ji JBsJZRx0vrzTqw/ytGw379k/MlkFa1GGje5ZlawWvlSfHQAqilnKviDpiVOHIapFRxZSAX3e54kL NcU1bG8ut4+mmjhtA464HdNys+1xq8XkGtill2kUJUCqU/YTwOHLt4xD3DxfKR79esjnBRCV5vTN H775WC5XD5h1GJLnvG7QHEScW1Q34SE6P6CkOveg9mCuXN3iCcFBnj0PUX186Onpx+FdovlKwGGA 9pE2hQRrbRMEtpFlXjXCMEW4lsRPwPkQBc+xD6qmm61o6PaHSTogYw29WNGFRJ25S1ttd3zJuXpN oPb5w5d05HNSyPP6ZPf8wMVzv57h+nZJHQ25wWaw6Ru8WtOwFnVcDK4sk+CND5/4csxgRC6jimVb vI9aKbWlMC9HsSnFMzrdn2fRG1DOdvg02nC6bNYbvnRZf1jmHwsuVVRw21dtOirHCikqWdzvsV9X IJqhavKre7WaU6g5xUf2OUgO+bEJLQUS3hD+XUMt/+IKx23zUDU71qkDjRm6PbFTEqt95LoI2dpO 3p+2+p1CukyQawKaj/15y40jbPvDl/iOh4kKmox3OG0slaDnPYXPc4A+sJWdDuY2Cr6TK3Sy81sC dbT8v0juAND/i/kG8G8/AGYEMP3Tqn8xepHl59fne2ULWT8ObNjBYb5ao5CoGU4uiMN8FeYXrxmh FqZE2x7y8aaYJxPVcJdnaqaLoxhNw85gZ3wyedTBWvS59XUnpzxMRR/e0flk4oIlrIMW5IIFlp00 J7/2WNdxY5qq3tYqT9B7UM2Ufs257ig/315aushrUgdAWyipfeD5tsxHQ9r2MCqjQBd1rGzM3m6D vKg3yJrB1Z86rUoFb6oz46+eMINpyv916dLAczO/7fRef61hh+GqNbX/8tkpkR1Gfy9kYmS15Hbm MOG6GT24UuPgo5iy26U7llEK3v2lUJBe2SvBndXJfSX3UAuJUi/aE90oLGgBRnJc+LfU8VRTf17X T2xfpmW1tr4ynCajt3TjvZBHMope9YOuSip4OpuW6cBJ0alkDkuGlag8sq1NjtLvda6ojy7GnOqs PNlNT5l+l2hT5Yu7lxLePPpmBmW6A6qU2HBkHe2SCGKt1S1xvEgDXjHCMU9PO6XyDCocxUNg7qOD Gl5wxGoWAgy3vRfIEIo3iPxNM8sAts3q2+evoAkkE0v6786IMEEw4/ALlo4b3QiXZ3eFsupIcNUS QHJhPOQL6WIxHT5VMWPubPtUN6L0gIh3pkIySQkzgiMQ2E1IfLaMQQMblgsCjid3B4pILZ4RL9gL 7eFN+7ikr+5GCCmE+klhze9Un/gTUEHBnjGxAFAvPhUqanZDauJSU+Sh3FSz+rZz0uAALi5UF4iy WOb4F1y7y030ZPaVnHQT4GHZ3PA4YjsBFNzLDdDp/YMqcMf39S14wjzUtayBEso8YwmLBucFiz2F uRX97zmCuKQJXOtZ7rlz4koLHC69TQiEr2t7U1e+lcw8myXOnbCX/3DAqPC0R6Hj5J853EUayj5g tta+jCbcFdywtPuojxODhqiyFE3Yv4F7zFHRo9QCcgoeq2brzDmZ3qnBIgjYj+wAKYs1O0OHqIli oMouh+vIdIOhtii+zvdt6r/lit7kL246+JqFuOWR+yMJEogHZRvoG1jq15VudnBPvWf4b6yiZLEr TkD2fpvmbkGZQm4ToHrusMto3l08zFCulGudRcpeIZLpOiMJ4uEXLetTSt9wWUEVb4a1Ya1kykia Bbn04vg+pgVNKx1Cbj/MaxzHySBNu6wyhPlT0sqdf77BPAaq2moiNZeTqWz+QA0jPZ8SVBxNPuHp OC7In4/dq8px7h01v8hpRxYcCbcD3W+YPQfBWJxl/lrgvlZ1wQilcPy9w0AQ/5pMr8SYlLp8KJAB GFcehr+M/7Ezt3ymHq8QIx0/dbt9ahUd37mUETxg/X6QRgmW5Xvp7VHfVKNqz3XLKF1ShY0uTZLf QSMJiou1fzNTel+tfYySJTOr4LyaNcR5UWIex7SZA+47rhgeExVP4s+DL929MSWsNhA98o/+8ct2 a+ovLnkKqSqnPMagLqfZD1vdUwpBFnvh/FueACylSNqPD7sSWXrvVQNWlN3bIkM55PuoKhsOhGD9 SizeTV5drLN5kMrvwTjtRFf5kMUU1e7wDljn9dquldHUAn/XptBQyUIu69c/MhQKaaOqzyr5CEWZ QEDC3rIF5178/ggaVgVGZ9qCRFGPiZdsgA0ulF4wNlEMxBaWlnZfT21I2r+w8dOZS5PUVJQwiDLr LFRhl1yVRIsIDXg0DuFXcCEmei6zbG1M8toCPIUyjwBI3BCJD1Ik4CYdl6AYcJMQOu7xX9tPIWDG qGHbbptSux3pak31Z7TnHxdPUFDnhBQuGwJaJODzT151owcQPv1FWP5XTzUBf3yqKaDvaPwr4YdO VEGBX0KGSsrcwNjhV+qytK2N7c+47eDoJGim70DIyPRbbtA/MhBtHQgBvycQSen/XoYBwPKH1OGf u37+lhqkZKtsY/4r5gOY/5hY/ZvqX5tp/swJZKGnJ/zH38/zP77+zPk/ff0/Le/f0/nP7/9faP3v fvx5pv3Hwf/jQxV+R8OfWWCsb0w6QX273/dAZWFhI6T7Ocg/r9EA6Fl/Tdqmjj9zN3+Ol8BvGWU0 DL9dZKEH/JKg/dvVn7+rBBACfk8I/MmR0bc2/l/NS9xJ38rckN/G1Mr4rQadtLmjo7mN6W8bs/7E TqfoZGytQsjAwPRHk/mDCdKp/Q6bmZH9j+3847Oh35cZLG8Lkr9ch/xx6aE91WqDI48GtpZRMMe6 tvukP9AUtdwghkbq7m/cqIamM46D6f44DOcSjgZpbvVpZ1LM9fnq4gmQadv10OeQ4nO9aMcx1pfX rsuTWIQY8uKRobq4bMclWz/2dWzfuqV8Rna19/CUd5ZnDfbZaWy1r77txVzz2djzdcSJ/eb2kO3a OE338cC+2jymQFHz+v5utd3C97Vn/ep+erl8n+WdF7HKJBHGZts+0m0konTIXQcbC95GPxsz3ka3 mxVH93tDW47uUTcLDiE0byamHWuWO6GltwKJyODSpFGkI18QJrBa95HSGb4gMGBV7yPFI7OhjkMx rUnxvR/3YwSO4gMdBWMCOR53CoUU+ScmHk5SP4WDmRZxQX+2fVgacUgvqUM47r/D7PMoB0+H5bCj zULd62j0k8kC3QXh8Pe/FoCFwIRTE1zJYtWDdw9Y8WPegvcAnfnEugf/vzOzoMM+5vCtyu3q7Qp1 Kg0YDfyfHrsJi+TjckkgxKPicEnleYXFUFACvoqIR8dhkTBLOHwGowWXAoEN+CxCEa3wLbFF2LZT 4wKjFdxyQPMKo5TUdkLzXzCDHkhBeO5NvLllvNruEHy4PbuuKqm92/Yrpwz7Rc+4bn1P968dtisg lg7owJxlsv8idrP8yWoZ3myf/adH/m7EbPRs7P/aikc8XNPebTeeeDG+N89TThJpvV0ZslBt/iFR ctzqMWs9e7NwuDKDZhgeZR0ZJc2IFEoBTKtn50cyBWalKIMCykM0IH7SSNLO972V/RaMLQm2yI25 7bSwdPbwk+Nrs2tvHHM145dTz6FLnrFHaEGs4PNvqfQgjNfw4O/VzC+fYVuiyle4asu8jtgj9Pdi Dlm0m+u8Ir2j9U/Gh6+mvkwTuOwxUNtBjZKarAlZY77gevGA0y0O78xbDiY9etv5ekzOTCsmnDJ2 Lr5PLSifD4bXf1y/fDwDWKcscGm7v8AOn9eVcZoO9flj72AFVFbJYpz20V/o0r1c9rwS+g6mNVoJ 5jF6z43QZ16cb8D3aaxZw1uCla/pqSkZJM6NoDjC2uRY7727grPcKjHV6L+0272JyIxTrST7ZnKH 06jQeTQhBpBfSLCSMa/XSEMwiekb9A0VGcSkZI++IChNvAgq1KG99HCY304xmzueOkRDPNQ+eQg+ WakVnR3dghGpHkgek65gr8ovaKbdr7HMQClhZhGl/0GfYe7SaOzwtPXCbKm5WMqSMLgfKYI6Yj1C MxE4gQZPp9tkeyooe9Rq78W0N3vw3Omk6OjYsVurQT5oMFJbmmFSekY5JzXigQjK25+Dwh5J/qVQ Ko/DIEwZpdlr2O5gGhN6Toksty8hlAVxpwq4XcJfB03SGSKJcw4pajEdhtTD/xq/lRMnGgJEplmG BoMw6AeB1aGaItwG3W3PezLQzAo5D6+oFP+NiSpEm5Y7aPfQox6ObwlYJqalEp2g6eiWHGXol4AP G9GDfPHnwpubbKhJpTLiHaI3xb4bCVRzEmySN6FCxNnTRrWi1ghBcWMf5jyqpw8lp125lmZjlqJ3 hsc7zgpAslVOb8je08bI0CVU62we1Mbayc72EpRpC8r3IEKk4izTNsKll0t+bfFJx79v1bQXsikh Uhfrn7VcLhdaOp7G7kZh4nBYDZ5pGSJC3jAS5MGi3xMCkYmSsqkTIZkXGt6WUxhS5ZGFfNC2qRvA gmGZ6usTT9POVbgP0BZcF2N3aO+7g7P63E1/uWofRYLh+vmGHDXtLAej+XMckiWGJ0zfeYF94Gao XEoUjyxXIoHV6EOLRE9CBnEwNULqdKnCzDc0iTJ+08/a6ytxdDEThl/9j0B0y0P0q6lopWilkhqc 5dtI8GAvSDXEM4w+S3eWB87zBw5iSKcU72TleDG32Zi3IUVjST2pdl8PbDvzt8+To77XKmds4hpo qqs9PvbP0gr7FAcD7tFUb/UOGw6J3lmI8AmbHtRr4dsEyP4WQp8BTXboBJg8MQCbOFuLGsOek5nS AzpuyCpRjK3sxKGR1KCAOx3fe9La9WN8nomipI/HSLb34UwdOu6NmpeEMWCv1gF7IO+zR8DIevLj eh+nSdht/fWtsIBEkAB29NWN7eL0IibU4NZwskDr8rbWHCLbJIxPtJ57r0/S2AXM18Zhh8h4CqXG j4blegiDnQ14Nw9GqoA91zkmixdBlFx2jNMTdVbOylIKwzpiqIfEpbu5rTZj1KLPItKLAeuFswWM SG6cqmW1nF3IV0kTMzdmWiWi3zVIjQFzTz6+4wdyhVZ1dTPS76J9HDeDd0p1ds+drktX3XJhnuGg hVxEFS+nwqV69ZNChxi8kAzcsNcQMKuWpFI2/WrsGV+QFxh3+WXHCXJ0cTldIr1e1AYQPIFROToQ JMg2YlsAxxJcpOcOWqjThXp04eEShbF4JpaKJgbzNzSGqFHYsMNX+YevzzGqutc4eTXNBudWjlWj 6/mfKYMWsWPyqooCF8ErbRu8TQyz4Y8MmOvRWcrb8Shi8PlFbXJfjx+y/cWw4nREgt4HCDbbYgUe fR7Y/iHmZoYEEZaFsNEuoJO/kEwqD/3whLqV5yuf8bgfkYnqawhvqNKx5IamhwlHqE9nR1PbUWs/ sF9wWME/Nvncv6uzfdW4LFMinFcDJAW8wMtBz5fGEcx0dRqDbvp4jNBNrEYSMtKU0FW0DgSEfnG7 hsg4pgV8syI1Y1hLjx+odzPxg3fD/gHu+SF1T99jN+YTovvoBOfE5h5zE/jtuoAHxQNdDy+Gb+9S O+bJqQH6NyxGAtE48eELQmgq+TDauW0gVgcYQnJKqtnoCy+98G5xCE27IjXyRBj89mtoloLgkW07 dgXsaN6L+RItnhhdKjQoNxCe2+lVFMuc82RelKII8O/ynMthOijygFqBXAXSyexkXoyY0XQ9dLO8 wZOqx+/Amcv741m8XtegoQmL+mmTeQ0o1JHUplwS6686YeWs40m8LwzdmPpsN9XVpkM82Wttqh08 w0/FjF8y9ZxZYIo5MgfDLMDjhMMqVppbg1U1FYe2zxtaNE7OXXVfThw+SjuIYQxsdu1/0VyZ6yve /r6KFGHUJSLFG/NSMmPBAEyiJo2RGnsTf91jW8TVpkeONHW/DFTlcIXGLaJ+hOHasXYbAsITA6Gr jkMXj+r8CZUiNPuAHEMh8t6jQ+cTxOUn+YF07/5da8v0ZDX26cV0CQ2a79VxUpflEw81PWRxhCTI 89T7U3v5dSr75uU9GkkHh7rebj1K3holPfAx1gtzadPFsRqb57MFl9/zzpNVCKSdbstTTo5lZ/av zucwfCQNIfJzRHlkZXeHNcjoPCYeu+HvWMjo5JaksnW4Ald8t2J/pJ0AEXz1V83z9+4pIYW9qaA5 vbyW0ik7gJuTd3XjXAiGCIbQcMCPiayaE4h9ECI0qqT8fKTaQGZIyT7ebv98psdhDPDwbkzszM5Y sapGfr0vH8j2H73RKmefjDuUemzxSJcjRMGOXOFr/VpCSgD/zkksDwYMtkxS5Qa+xtUotXokZWem mT55BL/jgAerGXkIwIVCA7JLCS+lAlI0CJIeMU6p7u/HBguSeCToYlpu7GVwPBwXZjV6Yjfn2Bh2 HmVJlrjlgPAoKUbm2hRXdJOhFACaTEjqyKnonF527WyzhnwVJ3vWt7Lga6fXb1CtHvyAiO922BoA CfEgJRIYmd/mDwq56mm2GSwlkisiVjZiNGPrtZfKeFg94ncoVmE9Wp55v8Ps+6g5QNfXSfeO8FY5 UheoiBKNWodmA86PO1QnEbIran6mTktU1DKfAfcHl3/+CUm4TYR2mb8ZBy1yKhy+7JbAbfqw6wrY zQGIZxQdn9MQSDA9QXUl5WXEWNd7x8Gq0G1tDAilbdh+2lyK5Rojg92RTdRreA7u20fcvCX9kghX /INjEQxLppVxNPVmSoUkqIfO+sZEb1VXpwvdrUZt6f2XtvMSkRBU6CgNynoOlKLoTqnc2bKv49HG 1unroSqWLGSGZfcy4tqEZgDJvJT85Xs/3ZKdy3HowkiPstXU5U/lolHSmoFDsDT87QrZk5CC8zvR TWJLm6AK/A7wEHR+6kW93DAsOtAsiYzK+jwew0B5Oxb9HTVlfqXoVJ+oYkc/2XxRq0t9qWfca+Wm SmRl/hJpChmC/8jIPT615tJv3O0q0uQ5aZ5aJlYNY+dMPTFRayBLq/kE5499NAF1RwSJe6zSwU23 tvI9OUr1ODMQII/tD2BAdL17h1DAiWYudqvhDJErlRd3VYcuoLDgiDF9RmIQGzr2HopHlvpz6J1j ger1zQcFDtBoCxvg6Gm5djopiAhWs/SO5Mh8nIyBtW/+V523393agDjl/Cx9vn3M3dilLCsTEqjh SKMso0knLNJjWmFLsz2HTMC5AnkHQ5g05AMxKAUfIoxCXTaw5sj6NThuIDCkIamLqPO1KHhlhZQp rD3DSqwn1yZJw5gppdSkpJwBp049qymeGkFvBopbRAuSucdL/JSiLHpIHVNu6kLMHpr00lPzUrEg aRtWh1d5I8XHlqj96EqpbfowSb7hqr+22XXUZtlnuq4s1cR15dvuKGd5u43LY6L0YsVKk/fuUe0s A9s84tiSsrcJaWlZxJndCko3rcT69Tas5JgMBgwPnRwvGzUa2RgtzVaKoJbPbsY7l1Gbhabj4mNN U9eTtpv+7MPy9OVG78PpRVbreR7P5WvSNvUdaiRY0uehbxg5w1o8FPaYAkom9Gw5ofgbpFia+xxg 27HuyPV4jt5CiqLLBMjcd1E9rXdReQ3BUV6IG18CzNc4oRn1jc36iK82kUziXBvcXmbqkZ9XxzPD X9/ZJX1Ys+t80sLPpNtaDfH5aJN1Wwmj++x317YMDidWgHFWyxExvV8zuWnMrOshY8P/rHMXOHRw l7cA0B0Y2vMs+tLO20UZJAMvSpkYNpRp0Q9/+vp0PYLEaRVHGke/u9az8rRkorL/vhnCLpocmf5m +HDPJEXEeiolKlhAVrak02wGewoH25u7hP7Wo7ySIi28rmZPCiJAp0I5Z3H/WKJMx5Q+2YkG3KhW 6L10FDSx7g4ZIWR/qgRLNxIolBzruS+HNGY/lvvF97dXd9iFM0vDCUVDeb6XdtjGum27yOFobsn4 kXtL6x3MSjRmBOJGiWSbPpt+w1QfOXUo4CbHLLXiewQOpmoHnYGEiholazKuTdLiPksy3xhXCHnR wF4go0yzPF0Sccr3E6mpbc04iiTNMv12hcNvpl96++pscXTjzKs0wuvbhZ+ykSKal0wiRgsZ1Uqz 5i/kxWSqJ6A+lGLEUMVeuV1xxIqR1c91VYq8uMmqEtsA+MwRtmExdThdEXZY4K+NaYalhwgX0afn 7KHZoOzZJUjcsM/6a4HgGp/CByxtNNihazrAVsxGZcoaXugebzMPD9tPhWzpDk6bXytHEZ62qh9t dADr15CgkklHq7dbRd6eoqJeOk4H6g/mJEvtiNnej/t0e3QIBG3HYgMrq6CjiQEt5wba9GQt37tK 9e5Q1ut74/K4EdQ/mF7ZqNfTTbFEoNsqL26Nf6mtGIuOhJCEwRcd+xgJLiwLIRri2lprcaAc22+G EOhwr7a0A5RA7Di3UbkjRW4EkOhpCHo5FY0BQdXKmzhAl6gMLJVXgAgY2SHhze275mgVKFEjgMnq qp9oX2QZx4wxUwJqPc+eOCw/OUQMNKJPVDMyA9o4JQr94FsUPKKZVqVyjpyTeCUbHcnAtcO85QKg dFSeEFuS8Xk9W+57a3lnCL7H2TrkaftrOSfiCvSd6PjtGl3iNWqcvwHwc0feWOeAZ8S7ZLVT0NdR P98CzPOQoYauj4XaDXRkhpfc7LvEj7RLA9i5RUXuDtf+vEfN8zeUunkXDak/co/3PTJF8wREJKkz LAdEcyr5xsFj6RLnrFKG9/qvRrOBg9WHdEvyPiOVTXj5EuvXQQlpOI/PfqYlOYw7L1y1ZOCvnAdu 4sCY3U+i8R7V2YXF8leCAvfQ7sg0N24oRAuMF+MbqLEo4MaxSaHeetZpgEUZ3JZhvU55b5OkQoVG WClU4MrxbN4sCN4iSYzGT89QlmGEZ8iKf7cnfRb7uXPg/ocOC2RWTyPBjzRHcioMaDAQIqAKMXJ+ 6V2gKpdHQWRXtjXERuJ1QvtvgaxwpucdrvKR+Wmn6CJDe6NCDBMKT1SdxFCBGS/wtCax1EJpxKx3 XjIVq+yuacoNdsPYTkLf5Q1Qat4ZyIW2gB/EbFRVan+0xFptbs96XOH3QqjIT+zbtlMjbHCrbcEh 4YVcoChhSqZWCQjLkRKpnjeS27BN7L0n6Q6POvreWy70kWrDOMOWtvQ0YrPbInsuIqcr2KnXaLlj fHhwNKPJo1nxgZ4A1zgiUPE69tuIyICfkaf3fv7MTj7cZKrA2+Tu6B0EAlYofWcWJWBe18Ttzwus aseBGrZjZdnGs/8t2022aeBYkTzIK54If59hBpvGgAJ6UJ2oGqtLP94/R0igMfljrlnD7Uk2fyAY cS4FLkW/t0e60LDJKubUgbFDmxh1LBX1jBDe2nhTnAgtHzVUMTq4MKk8DBGj/UXQBsJTE0GryCr/ 5QSBPES3ww6Lwe1StqFQ25xyOaOechXyyS7AlbEV9g4C5riHgI6WU1BLNONrHiI6rwm6DP2sQB7R LFDmu4cxz4TtHX4nfeUwWkqGCI+Jz2BJlfMgRHlMGll1g421eySEq9xn38EVikSsa8GS7rgctHI+ HzqzaH6b2JwoBOe6Utoub1kO413EjFGPJPbXQIUydgTtsdW2sK0yhqlVKUhit8ZIFyGGCZoBw1WJ kiBvmOotX+HmelI6Jw847yhwNOKdCaVpR7MetTidpFQFhLdMEadkutfWf2uQHFKPfDgaEkSX0yVD BONsZp0Neq+TOVCsxzAX0w5V7YuQwEOsYA1oIDJmTG3mDABuPFJu4zOFEl54Z7BdV6FlEaAgZxbj V4d+YT+U4cyorY1PIFCrlQdiBkUbR67EERCNb4osE7KcpSinJUCpagkn4jysP1vId9KwdJx+aHJT un8s3Q2Uv9XZ379HU8393Bma9sPyMA4UVC/JkwhyEbji8Bupqok+wOV+mO5QT+61nyQCVp+zP02p 62wvkVsyiZllf6jHc7uqZJFR+rxwsogrT5YV3il/Ej9GABtfF9Bc1V5Pa07fQp2wcFTpZkmCq68W prVT02d4b8VlUQ2Iet5fr+wt7cGBi4w+arx52bXlrrEyZ/MTImbcUsy0L1o0rtzRzFc51YYx/mFW XHJ6uJpcIQmAF6qcMkMQrTqeN/kU6ZH3/dhCbOSwdR8FgU7vLusWo7j1h9RQeEyaS2OzB4stpwCB 4ABkRbOL2fgue8nk7HRM5EnTzUTmWGlXJq/75kolqU5he/8JLtaS43ORJpkqS951E6xuTgCkhPuj qlf0HeZMczISwpFEYpwg0uhX7gHinLuuwl7Z15fpklNu++vDq9erXI0Xootz50fONgvRO+HS5wo8 SFZiVsaTLsxXUfPWwm79owSdOCEruvpDfzUGOr8XheQunor44kEKdZrhiIfa7nCx147a03K1MARt xikCiolkzGSs3nNFN9IvEe3o0FLBct/yPoWylzpQkDueaWSzYwEEerxdBAkDbTgjp9xw3b0VvwqU y1Oha13NgYvppXbyUViKFQnlzhzWmE3etL2o4QbmSKDHwCPqVle3s6LlkJOzT+x1yAVJZoK9TgEM qDUOkgHSil40B+yyt1m6mQWIk6KjubqT3LthGFjzGQYQttRtQe3+p3TzD4wN7e9OTBmowqQCtqoZ 797LnfdSaj0rr30UKXSWEtWsIg/fTJqPAYb+tvokIA4uuYFSkzI2WeSdIUWGbz+3VYU5NOPR1BLI bxZJlgRp4GFeN78ZO5DNg3DThyJSzVf4dS2/l99rd6m+jCVkvljJXiwPZCokGmY+3SKdD8yYfO/U KrXXdzDyGisyodPzEUSoBLD/Q46uIiuOfB7KXC0zQ83l+GhOrZi/gDcgsFauw+A5oChwmhgla3IP sV6mTIJ1/0qsRKZAhbY9aI7r9liZJpIPwgfnzKVmBKms4wWho1pTEscYve5UIV8J2TljUNl95cnD El0Z8zawWMvDftfa565KmEO0EctF0/nhITjM2LOcQFclc2Y/BT3AjG0eCQrAXzg7TRoCWX+EhVcu aVFrEDaBBsWSTzR3LHHACkKk+IVzQQC5F76WK4AW45ggTPhKgxbyuyRhjdohjsgDqjNGSfJ+e3hZ 4sMU37RJc8gi5yZ0MEcyXJia6aOcpWB4kSmXgh7AgyvWjjjTGi7kiuPrZIhAihUPfrQbF4QijXrJ jEfLgAcXxllDJEQRFlHllJ6TOwhCUqp5BCU6S8SiMd3K7q3nMYaJ9KDFJSTIvt3UySdFtK+yXAqd pY9ECJ+lXJJjE4oelbvLv2AjMzBmqfWodB9eab/aQzyffAkjjboWwZuiimFdbEFbPld98H5w/IpT KrswjIKcQdHWSVnInC0mqV9aVEmBU88p1GMaeknwA79x2OLmUZLdsaEG4lxHfCLB+Qy95HDKYFc+ K0FTJ6vdIHGMeN2/DY9DLp82VRg4aGy/bsGokb66A3LmJZCNmVUqjSNfZ3IC5woUYw2MvyqUM8XZ RohQp0wEE8rlPDrh0hVyqvpcARFMEYTniHBjNf0xLO16QjX/YnXVvzIH4NOPFa6kHuYWIvbDNvdq if1z/ipEuNP6EOoHMWCtV3Pj5Zwani59MyfxdlTXCddj33Xwq5LMSby9zImkkr2y0tudfDtgPOoV 1e21ksExior3CboxKLfo2ndhGzggEPYfM9z8ojPIp9PNPRAb8S4oAo0xzXyEjc/3q2pvhPHK2+kS p3HWvlijlic+1YwaKbE/dY6b5bOjVarVLoaIxFGInfkSZp2uOF/3m+VENxElCBAiIjjMM4vlIoBr wBq2uDl5DcB7yjwJKnuLB9C7xCdLulA5l7NgvHrtwI1yBtjSrAxQoq12ohIydGjGqHhQYFBXfTvs VFrp0d6C0csaeiy3n88b1IJ3vCCLqa+17hl0roFNn6u1MnfstcCQHFb55Pm+sXS1RGH8taRkdwXR l/OTxLwVyjlfiuXNCJGOaD7D3mzhREZKnYuvnEwlDKCxazkZWzwolzZmlHzt4ArfFxDUzAL2fEUS F5pMgCYULmvipQPaz73wfXffuRMIFda1a8lLTrFBKhOfwZrYKP+kVxbDlqQpIvdO1oYUV9Qm/XEN yvGYbElYBkWGGgpyeqvIpbM41g7abNeTZ7gKbmHfgTPdpWAEGDxxPiEo32npKyuWlElJ9fjKfJtr 2KQZC5aThzZb5vu0IxwbGrMBBdgoPaKzb7v4eXIKikO45Og4vKldmwE8jcvlIPshtDoNZu99Pex5 4zVxk8EinrYrPnzQH16ktKSOMt45d8ZLp8Im8QlzIcGeI/Q88pfzFmwb97S7/mI1aiZAZujo4jFS VuLZdBCH0HyALZptPSREtukUkWfmtLdIFDNk8YM86KpiPARSSaNMgAKlx3Ao6bT13P/DzTIbz84t 48Vopo1F0eLSZ5O5tYP91qukEFtBrWi/D1uO8q/vt5mfu7IQmYw+YBijTbR8f+bkdfomkTwcQYr5 siFMDHHoK12Ro5FhJ06LY88pBYGucy/d5WgsIJcNiQM6/tGOGlbKcpqEFlSsjjMnzEqSPIcVWkjA fwIJBv0gW4+df9qFGF83u2YOxKJVJTcuXDxDyqYymLgRFvqqaiFr8uBavkCyDB1qYuK9mL+SKy6V j5Oyry59B5SONPUEa4O74Skfdfn0oHHs2R6Ui/lxwVTJswe3jnS9MFOsofHaZ7XxVqJmP0dTwJDq yQoH22eJlLKPSW6fh03Cgjk1FCnq4+9JhcxTqPVcP0pNUWQgouxsAHsXtnpfP6yvB3tUI7eycHMN PpHzKR4M1sjbpCqags1SbcPpn1qFiuLJtSOHUCFJbAOedE+/9h1pMAuIOAKmF/vkunlRue/ohq79 9oM3Cyij7Hp3q82g2UW8NE6ShpJrAmepz8/TMu6S1Rye2KLweEfntu8jMpEI/LSvYN1GNzJU0sJ0 N0BrWXCPDzI8TI45hhDd0PJm2a1OnMOwvBGeobl5lnmVZoG49L0G3vWa+I7roYUuaMYgLaHSJ+bq PQ7P7n/7EV8s+WmgJ9CRv6ysOL6HX20EAOhiknekIqvAGWYRzWVJ3fhMq91emlvZuTtDbj+4cxZi MLCl5GpLXMSYHLkffF5ZlnnUtmNtUkaTaGYd3ZPNNJRnkAo+Zc6Gf93gZPE07GrTaLxfxfdpXbjI qN0lZbEPLUnLZnqqjXDy5CN9zZe3W6CuyUORkEnz6vuwD5mH/caSsPUwCUPxFuRbCvD4mRpddlSO TJEjt5UrZVOfgmpvUTWesdBir2z3cVr8Vu3ibgRI1cN8S+5ulnSTH00qIfsZLswjo/QH2ATswWTS kz0/3t35P06o1GwDe/TcK4ye5oiGYYTCc0KghNf2l+Yl1AXVSar4VvDVEEa0tmXX23ZvXvAdfVGG Ceg0ceZcGhArnFLImd3U5n2ptJE0lfVDpqP+OFK+bmcbIApkr09E9D4RhKabN8Fnxy9X/AFfQEN7 lX+YOmX0YDdzHFJiZPoCZCwoYBuDatj2Q/egEHu+uh7SxnljpldS6Fg8rlT0ce+KUNceRQueL7Rv jB0SgwGsfeQdHn987pbrQDU16CHLjOQR2Y3NTSouT0GCI+ou2675qK1FkyWZZXnRPTdrt3fgo+AJ nTun2+pa+ra3BqemZ8uNeVvQaykh0RxZg2Q/Bkcg9Lr1d1ch19AVTKpuBPt4N4EWwSf/O9iBr1uU A4txt3nI+7CAgOEPQ4Mu/TtblI2ybdI+Yi9Rcdvyxml5q17E8Kjnqk8nl6dWGjtlynkI+iwMrKQJ 4lsZAh1f9sav9Ky1yaSS+DtrWFeVVlewtzlHlAx/2IRyXiG/D7428LMIFEYzma2043cF7ROdudP8 bKMzTFqqDLRt4MP08OrxvhJR4pTEMHPMtsENeYVmmBM3Xs34Ia8MXVHfYi0ci96H4SwcjazHKBmM +gD4Bq2jVA3ksINJDVFrIthZn+xON8R4zfOjGo6bB77l94NKl8giV6/hsBQGmGJXFECnXw8DJKE2 GGNixpSmR0g4UFuVHjE1nLoy5AF2H5ga6wwQ8mFA5bSeTyn4Vci7TX2G4SBoIlN0uHga65E8bLF1 fJPl2JEr9qbZii8rDMzNPoeJGWWadYBLYVf6L0+vDiWNT2eOR5cRSemFT+HJXIi5C9Gt4cuB3ojN eJx+eN032WOVk3MwVnS4inZTEcv+x53RXegx36nb+XILCbyjC38cL+sto89pNNwSCel509eLdjbJ Ghx+Y62ctrvhYXuhKiR4d4PNtYnl9ZprVwPK1FtwZk7Tgg9+Ur+/gRu5Tu+C+sBIOHk5J8/GGXEs ED83+lrhusF7DkzZ3nb55LiqSyHxug9T0OFyDsIt8YL2CUb/8v7ZF0iseX3rz0/83RyMTWDoCQGs MP+9STQhCzMzIzOhCeF/8X7+0vnXFZv/5rHR/4kHYGf8Zx4DIzvbn3hMbH/msTD9uS7rX9RlZ/5T OQAD/Z/KAQAsfy7H9PMXKP+Tx8Tw88eD/8xj+lM55jf6M+/P7WB9Y/+Zx/incmx/gYWNiRnwTzwG enoW1j/xGOj/ue8Z3iD/s46f/++d4Z95AHqmP9UFAFj/pBfAzvKHfnFy0De3Mnb4tT2XuI2JLeHv u3Mp2No6Ef6+2dfP3eXf7OitgBChJtfPfmU1ZDOhN2FmBjDRG7Cw0RubMBkzsLMxGBuyGTDw/OsS 2r9llOg7OP0yUsBbG5lgSEmFZUX+3iz5b/qb/qa/6W/6m/6mv+lv+pv+pr/pb/qb/qb/H9L/BR1V OjAAoAAA From benoit.minisini at gambas-basic.org Sat Dec 23 00:55:37 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sat, 23 Dec 2023 00:55:37 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs In-Reply-To: <544cb61b-b731-464a-afdb-b5a1676c217c@freenet.de> References: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> <10525a92-875d-4bfb-b7e5-c21d56032b23@gambas-basic.org> <544cb61b-b731-464a-afdb-b5a1676c217c@freenet.de> Message-ID: <5fcf3bd3-478a-495e-bdc3-734627f0129c@gambas-basic.org> Le 22/12/2023 ? 23:06, Claus Dietrich a ?crit?: > Hi Benoit > > Did you compare the result with the true contents of the landscape PDF > as display i.e. in Firefox? Gianluigi and I have the problem, that the > page numbers on the right side are not displayed. The horizontal scaling > is wrong while the vertical is correct. See attached screenshot. This is > how it looks on my side. Please compare it with your result. > > Best regards > > Claus > 'PDF-job-old2.pdf' is truncated. The three other PDF are displayed correctly. I modified Gian's example so that I call the Render() method with no argument at all. It's Render() that truncates the result, but I have no idea why, as the other work fine for the same code. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Sat Dec 23 01:20:03 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Sat, 23 Dec 2023 01:20:03 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs In-Reply-To: <5fcf3bd3-478a-495e-bdc3-734627f0129c@gambas-basic.org> References: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> <10525a92-875d-4bfb-b7e5-c21d56032b23@gambas-basic.org> <544cb61b-b731-464a-afdb-b5a1676c217c@freenet.de> <5fcf3bd3-478a-495e-bdc3-734627f0129c@gambas-basic.org> Message-ID: <7e7bc551-70d4-495d-813c-76569d5988e7@gambas-basic.org> Le 23/12/2023 ? 00:55, Beno?t Minisini a ?crit?: > Le 22/12/2023 ? 23:06, Claus Dietrich a ?crit?: >> Hi Benoit >> >> Did you compare the result with the true contents of the landscape PDF >> as display i.e. in Firefox? Gianluigi and I have the problem, that the >> page numbers on the right side are not displayed. The horizontal >> scaling is wrong while the vertical is correct. See attached >> screenshot. This is how it looks on my side. Please compare it with >> your result. >> >> Best regards >> >> Claus >> > > 'PDF-job-old2.pdf' is truncated. The three other PDF are displayed > correctly. > > I modified Gian's example so that I call the Render() method with no > argument at all. It's Render() that truncates the result, but I have no > idea why, as the other work fine for the same code. > > Regards, > Last commit should fix the problem. Regards, -- Beno?t Minisini. From brian at westwoodsvcs.com Sat Dec 23 01:15:37 2023 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 22 Dec 2023 16:15:37 -0800 Subject: [Gambas-user] Question about highlight.styles[] list from original eval.highlight class In-Reply-To: <24ad06c2-6568-4417-bb4a-0a14ec67f3cc@gambas-basic.org> References: <794d8661-6534-4480-99e3-4d8f6ca5a26f@westwoodsvcs.com> <4150b8f1-4f2d-4cd8-999f-25cf6155c9d9@gambas-basic.org> <56D97302-D52C-814A-B6E3-C450C5B06DD3@hxcore.ol> <24ad06c2-6568-4417-bb4a-0a14ec67f3cc@gambas-basic.org> Message-ID: <8e5413db-725d-43fb-b3fb-cac300d54334@westwoodsvcs.com> On 12/21/23 03:14, Beno?t Minisini wrote: > Le 13/12/2023 ? 00:50, brian a ?crit?: >> That would be great >> >> ~~~~~ Brian > > In the last commits, I added the 'TextHighlighterTheme.Styles' that > returns the list of all styles associated with a specific theme. > > I replaced "color" by "state" in the name of the API properties and > methods of 'gb.highlight' too, as "state" is the accurate name, not > "color". > > I added a 'TextHighlighterTheme.AllStates' static property too, that > returns the list of all states registered by all highlighters. > > Regards, > Thanks Ben! -- ~~~~ Brian -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_0x78BFB26402F48419.asc Type: application/pgp-keys Size: 2428 bytes Desc: OpenPGP public key URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 665 bytes Desc: OpenPGP digital signature URL: From gradobag at gradobag.it Sat Dec 23 08:19:38 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sat, 23 Dec 2023 08:19:38 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs In-Reply-To: <7e7bc551-70d4-495d-813c-76569d5988e7@gambas-basic.org> References: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> <10525a92-875d-4bfb-b7e5-c21d56032b23@gambas-basic.org> <544cb61b-b731-464a-afdb-b5a1676c217c@freenet.de> <5fcf3bd3-478a-495e-bdc3-734627f0129c@gambas-basic.org> <7e7bc551-70d4-495d-813c-76569d5988e7@gambas-basic.org> Message-ID: <8bed2556-a30d-444f-84eb-f6e65026d680@gradobag.it> Il 23/12/23 01:20, Beno?t Minisini ha scritto: > Le 23/12/2023 ? 00:55, Beno?t Minisini a ?crit?: >> Le 22/12/2023 ? 23:06, Claus Dietrich a ?crit?: >>> Hi Benoit >>> >>> Did you compare the result with the true contents of the landscape >>> PDF as display i.e. in Firefox? Gianluigi and I have the problem, >>> that the page numbers on the right side are not displayed. The >>> horizontal scaling is wrong while the vertical is correct. See >>> attached screenshot. This is how it looks on my side. Please compare >>> it with your result. >>> >>> Best regards >>> >>> Claus >>> >> >> 'PDF-job-old2.pdf' is truncated. The three other PDF are displayed >> correctly. >> >> I modified Gian's example so that I call the Render() method with no >> argument at all. It's Render() that truncates the result, but I have >> no idea why, as the other work fine for the same code. >> >> Regards, >> > > Last commit should fix the problem. > > Regards, > Hi Benoit, perfect. Works great Thank you very much. Greetings Gianluigi From claus.dietrich at freenet.de Sat Dec 23 16:46:14 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Sat, 23 Dec 2023 16:46:14 +0100 Subject: [Gambas-user] PdfDocument class - problem with landscape PDFs In-Reply-To: <7e7bc551-70d4-495d-813c-76569d5988e7@gambas-basic.org> References: <757ba8ef-a75a-4760-9658-984f7c3dc34a@t-online.de> <10525a92-875d-4bfb-b7e5-c21d56032b23@gambas-basic.org> <544cb61b-b731-464a-afdb-b5a1676c217c@freenet.de> <5fcf3bd3-478a-495e-bdc3-734627f0129c@gambas-basic.org> <7e7bc551-70d4-495d-813c-76569d5988e7@gambas-basic.org> Message-ID: <9d2294d6-476d-4ce2-b3d7-eb4aadfe4879@freenet.de> Hi Beno?t I also checked it with my demo app - works! Thanks a lot! Claus Am 23.12.23 um 01:20 schrieb Beno?t Minisini: > Le 23/12/2023 ? 00:55, Beno?t Minisini a ?crit?: >> Le 22/12/2023 ? 23:06, Claus Dietrich a ?crit?: >>> Hi Benoit >>> >>> Did you compare the result with the true contents of the landscape >>> PDF as display i.e. in Firefox? Gianluigi and I have the problem, >>> that the page numbers on the right side are not displayed. The >>> horizontal scaling is wrong while the vertical is correct. See >>> attached screenshot. This is how it looks on my side. Please compare >>> it with your result. >>> >>> Best regards >>> >>> Claus >>> >> >> 'PDF-job-old2.pdf' is truncated. The three other PDF are displayed >> correctly. >> >> I modified Gian's example so that I call the Render() method with no >> argument at all. It's Render() that truncates the result, but I have >> no idea why, as the other work fine for the same code. >> >> Regards, >> > > Last commit should fix the problem. > > Regards, > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Sat Dec 23 22:46:33 2023 From: brian at westwoodsvcs.com (Brian G) Date: Sat, 23 Dec 2023 13:46:33 -0800 Subject: [Gambas-user] Back-port of gb.highlight to all distributions with 3.18 Message-ID: <97fa138a-296d-4b28-a547-013c338e7ff2@westwoodsvcs.com> I have run into an annoying issue many times, after updating to use the new gb.highlight, Debian, and other distributions of course fail, but more so even if I build the new version of gambas for those distributions, when I install my app the distro still complains about gb.highlight not found. I know its normal but is there any chance that the component can be back ported to 3.18. and pushed to the supporting distros? It is difficult to test it on different platforms and beta the app when it is difficult to get it installed properly. When will we switch to having gambas providing? a gblib manager so we have a gambas repository to pull the components from instead of having every one of them have to be part of the general repository for each distro. Maybe never, but it would be nice. The distro only having the runtime, compiler etc install as part of the distros repository, and gblib just builds the components as they are installed on each platform.... Dreaming Thanks -- ~~~~ Brian -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_0x78BFB26402F48419.asc Type: application/pgp-keys Size: 2428 bytes Desc: OpenPGP public key URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 665 bytes Desc: OpenPGP digital signature URL: From gradobag at gradobag.it Sun Dec 24 09:43:02 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sun, 24 Dec 2023 09:43:02 +0100 Subject: [Gambas-user] Christmas 2023 Message-ID: <0c2ee32b-401b-4ab9-ae4b-5eba03974364@gradobag.it> Hi, it's started snowing on Gambas, Merry Christmas and Happy New Year to everyone! Gianluigi From bsteers4 at gmail.com Sun Dec 24 14:06:32 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 24 Dec 2023 13:06:32 +0000 Subject: [Gambas-user] Back-port of gb.highlight to all distributions with 3.18 In-Reply-To: <97fa138a-296d-4b28-a547-013c338e7ff2@westwoodsvcs.com> References: <97fa138a-296d-4b28-a547-013c338e7ff2@westwoodsvcs.com> Message-ID: On Sat, 23 Dec 2023 at 21:53, Brian G wrote: > > I have run into an annoying issue many times, after updating to use the > new gb.highlight, > > Debian, and other distributions of course fail, but more so even if I > build the new version of gambas > > for those distributions, when I install my app the distro still > complains about gb.highlight not found. > > I know its normal but is there any chance that the component can be back > ported to 3.18. and > > pushed to the supporting distros? It is difficult to test it on > different platforms and beta the app when it is > > difficult to get it installed properly. > I agree that has been a bit problematic. What i would have liked to see was gb.highlight being made to have all the very same calls/methods/properties as gb.eval.highlight. and for it to be compatible, ie, either texteditor could use gb.highlight or gb.eval.highlight for me there are 2 problems with gb.highlight 1. it's not compatible with gb.eval.highlight so some of my code (mostly that involves TextEditor) needed some adjustment. thus making my program now only work on gambas dev branch. 2. it's not so easy to import gb.highlight code into your own project. This was always my solution for compatibility. For example a few of my programs have imported components like gb.form.editor gb.form.teminal, gb.settings, etc Really easy to import, just drag the component .src files into my project and remove the component from the list. Then i can modify the components or even better include the newer version in my program so it works on older gambas versions. (A possible solution for you there Brian is to import into your project an older version of gb.form.editor that uses gb.eval.highlight) My editor has an imported and customized gb.form.editor that just started failing "again" because you removed the new TextEditor._GetStyles() method that replaced TextEditor.Styles that i adapted to and restored it back to TextEditor.Styles again. It's a little annoying for me but i accept there's some risks using the gambas development branch. but the worst thing is my program will now ONLY work if you install the relevant compatible latest gambas version from what ever week it was compiled to work on. Ie. The editor downloaded over the last month will only work if gambas TextEditor has the _GetStyles() method. The only solution i could think of for us who want our software to work on older gambas versions as well is to stop using gambas dev branch and stick to stable. But i don't want to do that. I like that tag that someone has "Don't change anything EVER!" And yes i know you're now using words like "API" because many of us are monkeying around with the way you make things work then run into problems when you change things but that's just how it is :) My request for gb.highlight would be to make texteditor be able to use either gb.highlight or gb.eval.highlight api depending on what the user has installed. or to be able to drag-n-drop the gb.highlight/.src folder into my project and it work. Or just stop blummin changing things ;) lol or rather, yes change how they work but not how you (and we) make them work. > When will we switch to having gambas providing a gblib manager so we > have a gambas repository to > > pull the components from instead of having every one of them have to be > part of the general repository for each > > distro. Maybe never, but it would be nice. The distro only having the > runtime, compiler etc install as part of > > the distros repository, and gblib just builds the components as they are > installed on each platform.... > interesting idea > > > Dreaming > Never stop dreaming dude :) > Thanks > > -- > ~~~~ Brian > > Merry Christmas to all :) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Dec 24 14:07:28 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 24 Dec 2023 13:07:28 +0000 Subject: [Gambas-user] Christmas 2023 In-Reply-To: <0c2ee32b-401b-4ab9-ae4b-5eba03974364@gradobag.it> References: <0c2ee32b-401b-4ab9-ae4b-5eba03974364@gradobag.it> Message-ID: On Sun, 24 Dec 2023 at 08:44, Gianluigi wrote: > Hi, > > it's started snowing on Gambas, Merry Christmas and Happy New Year to > everyone! > > Gianluigi > Likewise Gian , much respect and love to all :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Sun Dec 24 14:09:54 2023 From: adamnt42 at gmail.com (BB) Date: Sun, 24 Dec 2023 23:39:54 +1030 Subject: [Gambas-user] Christmas 2023 In-Reply-To: References: <0c2ee32b-401b-4ab9-ae4b-5eba03974364@gradobag.it> Message-ID: <671ca120-256a-5e95-649d-ada134cfe09b@gmail.com> On 24/12/23 11:37 pm, Bruce Steers wrote: > > > On Sun, 24 Dec 2023 at 08:44, Gianluigi > wrote: > > Hi, > > it's started snowing on Gambas, Merry Christmas and Happy New Year to > everyone! > > Gianluigi > > > Likewise Gian , much respect and love to all? :) > > BruceS 25 minutes to go here. But I don't think I'll wait to see the FOB trying to get down the 6 inch flue. Best of the best to you all b -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sun Dec 24 14:29:39 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 24 Dec 2023 13:29:39 +0000 Subject: [Gambas-user] Merry Christmas to all (have a TurboSnake) Message-ID: Merry Christmas to all. I have made my first gambas game that you all can have some fun with if you like. I called it *TurboSnake* So as you've guessed it's a Snake game (eat the dots and grow, don't eat your tail) This one is pretty customizable though and i always found snake games to be too slow so this one has a turbo button :) Features... - * Set 2 speeds, one normal and one turbo speed. - * Multiple players, Currently 3 key sets can be used. (I plan to add custom key editor) - * Fully customizable, Load custom images for all objects and main map, change Start length, growth length, number of Pills, Rocks, Money It's still very WIP but could be fun, i have not tried multiple players yet (apart from 2 handed playing/testing) but essentially you could have 3 players in one game. >From a gambas coders perspective you may find the games ImageGrid.class/Block.class interesting it allows you to have a background image and easily paint/remove smaller image blocks on it. All a simple Snake game needs but it could have many other uses, See the post/snapshots and get the game here https://forum.gambas.one/viewtopic.php?t=1671 Merry Christmas to all. BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at allunix.ru Sun Dec 24 17:04:22 2023 From: admin at allunix.ru (Admin) Date: Sun, 24 Dec 2023 23:04:22 +0700 Subject: [Gambas-user] Christmas 2023 In-Reply-To: <0c2ee32b-401b-4ab9-ae4b-5eba03974364@gradobag.it> References: <0c2ee32b-401b-4ab9-ae4b-5eba03974364@gradobag.it> Message-ID: <5b35f24b-fb19-46ff-aed5-f1e069937143@allunix.ru> Merry Christmas to all of Gambas family! Happy New Year, guys! 24.12.2023 15:43, Gianluigi ?????: > Hi, > > it's started snowing on Gambas, Merry Christmas and Happy New Year to > everyone! > > Gianluigi > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > From brian at westwoodsvcs.com Mon Dec 25 16:51:53 2023 From: brian at westwoodsvcs.com (Brian G) Date: Mon, 25 Dec 2023 07:51:53 -0800 Subject: [Gambas-user] Christmas 2023 In-Reply-To: <0c2ee32b-401b-4ab9-ae4b-5eba03974364@gradobag.it> References: <0c2ee32b-401b-4ab9-ae4b-5eba03974364@gradobag.it> Message-ID: <4eae5d24-5919-4bad-9556-a16b58b70d30@westwoodsvcs.com> Merry Christmas to all Thank you all so much for all you contribute. And Ben of course the joy your project/devotion has brought to me over the years. The best to everyone! -- ~~~~ Brian -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_0x78BFB26402F48419.asc Type: application/pgp-keys Size: 2428 bytes Desc: OpenPGP public key URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 665 bytes Desc: OpenPGP digital signature URL: From olivier.cruilles at yahoo.fr Mon Dec 25 17:32:56 2023 From: olivier.cruilles at yahoo.fr (Yahoo) Date: Mon, 25 Dec 2023 11:32:56 -0500 Subject: [Gambas-user] Christmas 2023 In-Reply-To: <4eae5d24-5919-4bad-9556-a16b58b70d30@westwoodsvcs.com> References: <4eae5d24-5919-4bad-9556-a16b58b70d30@westwoodsvcs.com> Message-ID: <5F3D1384-1AFA-426D-BA64-15F87D4E1811@yahoo.fr> Merry Christmas to all The best to all Gambas users/discovers Olivier Cruilles > Le 25 d?c. 2023 ? 10:59, Brian G a ?crit : > > ?Merry Christmas to all > > Thank you all so much for all you contribute. > > And Ben of course the joy your project/devotion has brought to me over the years. > > The best to everyone! > > -- > ~~~~ Brian > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From gambas.fr at gmail.com Mon Dec 25 22:11:14 2023 From: gambas.fr at gmail.com (Fabien Bodard) Date: Mon, 25 Dec 2023 22:11:14 +0100 Subject: [Gambas-user] Christmas 2023 In-Reply-To: <5F3D1384-1AFA-426D-BA64-15F87D4E1811@yahoo.fr> References: <4eae5d24-5919-4bad-9556-a16b58b70d30@westwoodsvcs.com> <5F3D1384-1AFA-426D-BA64-15F87D4E1811@yahoo.fr> Message-ID: Merry Christmas to all :-) -- Fabien Bodard -------------- next part -------------- A non-text attachment was scrubbed... Name: Capture d??cran du 2023-12-25 22-09-52.png Type: image/png Size: 132062 bytes Desc: not available URL: From chrisml at deganius.de Tue Dec 26 01:48:55 2023 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 26 Dec 2023 01:48:55 +0100 Subject: [Gambas-user] Christmas 2023 In-Reply-To: References: <4eae5d24-5919-4bad-9556-a16b58b70d30@westwoodsvcs.com> <5F3D1384-1AFA-426D-BA64-15F87D4E1811@yahoo.fr> Message-ID: <7a84df2f-0afa-42c0-9199-ea6a0bfb2d72@deganius.de> Am 25.12.23 um 22:11 schrieb Fabien Bodard: > Merry Christmas to all :-) Thanks for this wonderful Gambas community and also Merry Christmas to all of you! 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 benoit.minisini at gambas-basic.org Tue Dec 26 16:53:11 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 26 Dec 2023 16:53:11 +0100 Subject: [Gambas-user] Back-port of gb.highlight to all distributions with 3.18 In-Reply-To: References: <97fa138a-296d-4b28-a547-013c338e7ff2@westwoodsvcs.com> Message-ID: Le 24/12/2023 ? 14:06, Bruce Steers a ?crit?: > > I like that tag that someone has "Don't change anything EVER!" > And yes i know you're now using words like "API" because many of us are > monkeying around with the way you make things work then run into > problems when you change things but that's just how it is :) I never change anything, unless I have to. :-) > > My request for gb.highlight would be to make texteditor be able to use > either gb.highlight or gb.eval.highlight api depending on what the user > has installed. or to be able to drag-n-drop the gb.highlight/.src folder > into my project and it work. Maybe it's possible, I didn't think about that. So I will think about that, and I will tell. Regards, -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Tue Dec 26 16:55:38 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 26 Dec 2023 16:55:38 +0100 Subject: [Gambas-user] Christmas 2023 In-Reply-To: <7a84df2f-0afa-42c0-9199-ea6a0bfb2d72@deganius.de> References: <4eae5d24-5919-4bad-9556-a16b58b70d30@westwoodsvcs.com> <5F3D1384-1AFA-426D-BA64-15F87D4E1811@yahoo.fr> <7a84df2f-0afa-42c0-9199-ea6a0bfb2d72@deganius.de> Message-ID: Le 26/12/2023 ? 01:48, Christof Thalhofer a ?crit?: > Am 25.12.23 um 22:11 schrieb Fabien Bodard: > >> Merry Christmas to all :-) > > Thanks for this wonderful Gambas community and also Merry Christmas to > all of you! > > Alles Gute > > Christof Thalhofer > Merry Christmas (even if I am a bit late). I'd like to release Gambas 3.19 for the new year (as often), but maybe I will have to delay it to solve Bruce's suggestion about 'gb.form.editor' and 'gb.highlight'. -- Beno?t Minisini. From benoit.minisini at gambas-basic.org Tue Dec 26 17:20:56 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Tue, 26 Dec 2023 17:20:56 +0100 Subject: [Gambas-user] Back-port of gb.highlight to all distributions with 3.18 In-Reply-To: References: <97fa138a-296d-4b28-a547-013c338e7ff2@westwoodsvcs.com> Message-ID: <693bbe63-d739-46f5-aa5e-c00be2620916@gambas-basic.org> Le 26/12/2023 ? 16:53, Beno?t Minisini a ?crit?: > Le 24/12/2023 ? 14:06, Bruce Steers a ?crit?: >> >> I like that tag that someone has "Don't change anything EVER!" >> And yes i know you're now using words like "API" because many of us >> are monkeying around with the way you make things work then run into >> problems when you change things but that's just how it is :) > > I never change anything, unless I have to. :-) > >> >> My request for gb.highlight would be to make texteditor be able to use >> either gb.highlight or gb.eval.highlight api depending on what the >> user has installed. or to be able to drag-n-drop the gb.highlight/.src >> folder into my project and it work. > > Maybe it's possible, I didn't think about that. So I will think about > that, and I will tell. > > Regards, > After a bit of think, I still don't understand what you are doing exactly. If you rewrite the TextEditor control, or adapt it, it's up to you to adapt your code so that it works with both TextEditor 3.18 and TextEditor 3.19. TextEditor 3.19 internals are not compatible with TextEditor 3.18 internals because it has more features, based on the new 'gb.highlight' component. Mainly now highlighters can be embeded with different background colors. For example: Gambas code inside CSS inside HTML. So please explain me again what your problem is exactly. :-) Regards, -- Beno?t Minisini. From roberto.premoli at tiscali.it Tue Dec 26 18:24:55 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Tue, 26 Dec 2023 18:24:55 +0100 Subject: [Gambas-user] Christmas 2023 In-Reply-To: <0c2ee32b-401b-4ab9-ae4b-5eba03974364@gradobag.it> References: <0c2ee32b-401b-4ab9-ae4b-5eba03974364@gradobag.it> Message-ID: Il 24.12.2023 09:43 Gianluigi ha scritto: > Hi, > > it's started snowing on Gambas, Merry Christmas and Happy New Year to > everyone! > > Gianluigi > > ----[ http://gambaswiki.org/wiki/doc/netiquette [1] ]---- Links: ------ [1] http://gambaswiki.org/wiki/doc/netiquette on my laptop, asto stat the bells. Im not so happy about those "extra code"... From roberto.premoli at tiscali.it Tue Dec 26 18:39:42 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Tue, 26 Dec 2023 18:39:42 +0100 Subject: [Gambas-user] Merry Christmas to all (have a TurboSnake) In-Reply-To: References: Message-ID: Il 24.12.2023 14:29 Bruce Steers ha scritto: > Merry Christmas to all. > I have made my first gambas game that you all can have some fun with > if > you like. > I called it TURBOSNAKE i download but cannot run, error: gb.form.htmlview missed. what package have I to install to got it? i run gambas 3.15 on Debian 11... maybe i must move to 3.18? From bsteers4 at gmail.com Tue Dec 26 18:39:53 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 26 Dec 2023 17:39:53 +0000 Subject: [Gambas-user] Back-port of gb.highlight to all distributions with 3.18 In-Reply-To: <693bbe63-d739-46f5-aa5e-c00be2620916@gambas-basic.org> References: <97fa138a-296d-4b28-a547-013c338e7ff2@westwoodsvcs.com> <693bbe63-d739-46f5-aa5e-c00be2620916@gambas-basic.org> Message-ID: On Tue, 26 Dec 2023 at 16:21, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 26/12/2023 ? 16:53, Beno?t Minisini a ?crit : > > Le 24/12/2023 ? 14:06, Bruce Steers a ?crit : > >> > >> I like that tag that someone has "Don't change anything EVER!" > >> And yes i know you're now using words like "API" because many of us > >> are monkeying around with the way you make things work then run into > >> problems when you change things but that's just how it is :) > > > > I never change anything, unless I have to. :-) > > > >> > >> My request for gb.highlight would be to make texteditor be able to use > >> either gb.highlight or gb.eval.highlight api depending on what the > >> user has installed. or to be able to drag-n-drop the gb.highlight/.src > >> folder into my project and it work. > > > > Maybe it's possible, I didn't think about that. So I will think about > > that, and I will tell. > > > > Regards, > > > > After a bit of think, I still don't understand what you are doing exactly. > > If you rewrite the TextEditor control, or adapt it, it's up to you to > adapt your code so that it works with both TextEditor 3.18 and > TextEditor 3.19. > > TextEditor 3.19 internals are not compatible with TextEditor 3.18 > internals because it has more features, based on the new 'gb.highlight' > component. Mainly now highlighters can be embeded with different > background colors. For example: Gambas code inside CSS inside HTML. > > So please explain me again what your problem is exactly. :-) > > Regards, > > -- > Beno?t Minisini. > I'm not entirely sure ;) lol Don't worry about it though, I think the new gb.highlight is awesome and the benefit of it may just outway the quirks of me having to adapt my one piece of software with new changes. (all my other programs only suffered suddenly needing to remove gb.eval.highlight and add gb.highlight) I should probably think more about creating branches for my programs that match gambas versions. Although that won't really help with rolling dev branch changes. I guess that is just what "Development branch, use at your own risk" means :) For you Ben for for the benefits of the development of gambas by sticking with master branch I'll get over it :) Merry Christmas kind sir, wishing well BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Tue Dec 26 19:03:37 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 26 Dec 2023 18:03:37 +0000 Subject: [Gambas-user] Merry Christmas to all (have a TurboSnake) In-Reply-To: References: Message-ID: On Tue, 26 Dec 2023 at 17:40, wrote: > Il 24.12.2023 14:29 Bruce Steers ha scritto: > > > Merry Christmas to all. > > I have made my first gambas game that you all can have some fun with > > if > > you like. > > I called it TURBOSNAKE > > > i download but cannot run, error: gb.form.htmlview missed. what package > have I to install to got it? i run gambas 3.15 on Debian 11... maybe i > must move to 3.18? > I would :) 3.15 was 3 years ago ! Sorry i have not checked it for backward compatibility.yet, gb.form.htmlview is since gambas 3.17 it has been made on dev branch, i do not imagine it would have any problems with stable but older gambas versions may not work. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrisml at deganius.de Tue Dec 26 22:26:32 2023 From: chrisml at deganius.de (Christof Thalhofer) Date: Tue, 26 Dec 2023 22:26:32 +0100 Subject: [Gambas-user] Christmas 2023 In-Reply-To: References: <4eae5d24-5919-4bad-9556-a16b58b70d30@westwoodsvcs.com> <5F3D1384-1AFA-426D-BA64-15F87D4E1811@yahoo.fr> <7a84df2f-0afa-42c0-9199-ea6a0bfb2d72@deganius.de> Message-ID: Hello Beno?t, Am 26.12.23 um 16:55 schrieb Beno?t Minisini: > I'd like to release Gambas 3.19 for the new year (as often), but maybe I > will have to delay it to solve Bruce's suggestion about 'gb.form.editor' > and 'gb.highlight'. Maybe I can report a bug which annoys me since 3.18 but I wasn't able to create an example project and I have no time to do so until the first week of the new year. So if you give yourself some more time, I would find that quite usefull. ;-) 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 gradobag at gradobag.it Tue Dec 26 23:04:51 2023 From: gradobag at gradobag.it (Gianluigi) Date: Tue, 26 Dec 2023 23:04:51 +0100 Subject: [Gambas-user] Christmas 2023 In-Reply-To: References: <0c2ee32b-401b-4ab9-ae4b-5eba03974364@gradobag.it> Message-ID: <2c5f9a26-30f8-46ce-ae0e-933f64e6a7d1@gradobag.it> Il 26/12/23 18:24, roberto.premoli at tiscali.it ha scritto: > on my laptop, asto stat the bells. > Im not so happy about those "extra code"... I find that 'extra code' nice, funny, instructive. In addition to all the sound is discreet and only on the day of the Christian Event. Greetings Gianluigi From bsteers4 at gmail.com Tue Dec 26 23:53:54 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 26 Dec 2023 22:53:54 +0000 Subject: [Gambas-user] Christmas 2023 In-Reply-To: References: <4eae5d24-5919-4bad-9556-a16b58b70d30@westwoodsvcs.com> <5F3D1384-1AFA-426D-BA64-15F87D4E1811@yahoo.fr> <7a84df2f-0afa-42c0-9199-ea6a0bfb2d72@deganius.de> Message-ID: On Tue, 26 Dec 2023 at 15:56, Beno?t Minisini < benoit.minisini at gambas-basic.org> wrote: > Le 26/12/2023 ? 01:48, Christof Thalhofer a ?crit : > > Am 25.12.23 um 22:11 schrieb Fabien Bodard: > > > >> Merry Christmas to all :-) > > > > Thanks for this wonderful Gambas community and also Merry Christmas to > > all of you! > > > > Alles Gute > > > > Christof Thalhofer > > > > Merry Christmas (even if I am a bit late). > > I'd like to release Gambas 3.19 for the new year (as often), but maybe I > will have to delay it to solve Bruce's suggestion about 'gb.form.editor' > and 'gb.highlight'. > > -- > Beno?t Minisini. > aaw thank you Ben :) My issue would have easily resolved if i was able to import gb.highlight source, i found when trying i had problems like the gambas file was a link i had to find the ../../../app/src/gambas3/theme/gambas file and copy it. plus then there was issues with the Highlight and Custom folder paths and the included files. If i could have imported gb.highlight then i could have just updated both component sources in my program at the same time after some rolling changes and thus retain compatibility. (that i think is good for you as in the future if someone wants to modify gb.highlight in a way you do not want to then we can tell them to just import the component.) Or better for me would be the discussion a while ago we had about faking a Key event with TextEditor, this would also have negated this issue for me. If i could fake a key event to TextEditor then I could simply use auto-inheritance for my .Settings property and MacroKeypress event and not need to import either component ever again :) Possibly like i did by making an alternative TextEditor/View_KeyPress() event that works from a simple Key.Shortcut string so i can mostly operate texteditor like using a keyboard with a collection of saved strings.. Eg. Dim KeyShortcut As String = Key.Shortcut ' this string can be saved with a collection of others. ' Then later.... TextEditor1.FakeKeyPress(KeyShortCut) ' Make TextEditor function from a simple shortcut string, using the simple Key.Shortcut syntax my keystroke recorder now works on all tool kits including wayland. Although for my projects (and my patched IDE) i made a MacroKey.class that mirrors Key.class as it made easier to copy and adapt the View_Keypress event to _MacroKeyPress https://gitlab.com/bsteers4/gambas/-/tree/bruces-patched/comp/src/gb.form.editor/.src?ref_type=heads Much Respect Merry Christmas :) BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Wed Dec 27 00:15:18 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Tue, 26 Dec 2023 23:15:18 +0000 Subject: [Gambas-user] Christmas 2023 In-Reply-To: References: <0c2ee32b-401b-4ab9-ae4b-5eba03974364@gradobag.it> Message-ID: On Tue, 26 Dec 2023 at 17:25, wrote: > Il 24.12.2023 09:43 Gianluigi ha scritto: > > > Hi, > > > > it's started snowing on Gambas, Merry Christmas and Happy New Year to > > everyone! > > > > Gianluigi > Likewise Gian, all the best to ya fella :) on my laptop, asto stat the bells. > Im not so happy about those "extra code"... > It's only about 30 lines :) That's not many when you think how many lines of code make gambas :) I actually added a couple of lines of extra code to my ide so it plays the sound only once on the day because I like it but i also use my computer as my hifi/tv so although i didn't want to remove it I also didn't want it playing sound every time i loaded gambas. That's the beauty of compiling latest gambas from source roberto , you are free to modify things to your own liking before you compile :) Wishing well BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From roberto.premoli at tiscali.it Wed Dec 27 18:42:29 2023 From: roberto.premoli at tiscali.it (roberto.premoli at tiscali.it) Date: Wed, 27 Dec 2023 18:42:29 +0100 Subject: [Gambas-user] Merry Christmas to all (have a TurboSnake) In-Reply-To: References: Message-ID: I mved on gambas 3.18.0. It works but block on: line 439 isctruction : HtmlView1.Html = PlayerInfo(pl) error: no current device. Distro: Devuan stable gambas: 3.18.0 Il 26.12.2023 19:03 Bruce Steers ha scritto: > On Tue, 26 Dec 2023 at 17:40, wrote: > >> Il 24.12.2023 14:29 Bruce Steers ha scritto: >> >> > Merry Christmas to all. >> > I have made my first gambas game that you all can have some fun with >> > if >> > you like. >> > I called it TURBOSNAKE >> >> i download but cannot run, error: gb.form.htmlview missed. what package >> have I to install to got it? i run gambas 3.15 on Debian 11... maybe i >> must move to 3.18? > > I would :) 3.15 was 3 years ago ! > Sorry i have not checked it for backward compatibility.yet, gb.form.htmlview is since gambas 3.17 > it has been made on dev branch, i do not imagine it would have any problems with stable but older gambas versions may not work. > Respects > BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Wed Dec 27 21:06:45 2023 From: brian at westwoodsvcs.com (Brian G) Date: Wed, 27 Dec 2023 12:06:45 -0800 Subject: [Gambas-user] Possible to add a release file to ppa's Message-ID: <5ab7d68d-a31e-4960-9238-2e558d0f8acb@westwoodsvcs.com> Benoit, ? Would it be possible to build a 'Release' file for for the daily and current release ppa repositories, this would allow us to ?add the ppa as a repository to Debian, and have it be trusted. ?To use with Mint Debian edition for example. ?Or maybe there is a better way to do this? -- ~~~~ Brian -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_0x78BFB26402F48419.asc Type: application/pgp-keys Size: 2428 bytes Desc: OpenPGP public key URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature.asc Type: application/pgp-signature Size: 665 bytes Desc: OpenPGP digital signature URL: From benoit.minisini at gambas-basic.org Wed Dec 27 21:39:42 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Wed, 27 Dec 2023 21:39:42 +0100 Subject: [Gambas-user] Possible to add a release file to ppa's In-Reply-To: <5ab7d68d-a31e-4960-9238-2e558d0f8acb@westwoodsvcs.com> References: <5ab7d68d-a31e-4960-9238-2e558d0f8acb@westwoodsvcs.com> Message-ID: <3c984979-90a6-45b9-be62-4f7b7721ca6a@gambas-basic.org> Le 27/12/2023 ? 21:06, Brian G a ?crit?: > Benoit, > > ? Would it be possible to build a 'Release' file for for the daily and > current release ppa repositories, this would allow us to > > ?add the ppa as a repository to Debian, and have it be trusted. > > ?To use with Mint Debian edition for example. > > ?Or maybe there is a better way to do this? > What should I do exactly? -- Beno?t Minisini. From gradobag at gradobag.it Wed Dec 27 22:42:29 2023 From: gradobag at gradobag.it (Gianluigi) Date: Wed, 27 Dec 2023 22:42:29 +0100 Subject: [Gambas-user] Christmas 2023 In-Reply-To: References: <0c2ee32b-401b-4ab9-ae4b-5eba03974364@gradobag.it> Message-ID: <4df8449d-3a62-4865-8d72-6dbb0d0ccd30@gradobag.it> Il 27/12/23 00:15, Bruce Steers ha scritto: > > > On Tue, 26 Dec 2023 at 17:25, wrote: > > Il 24.12.2023 09:43 Gianluigi ha scritto: > > > Hi, > > > > it's started snowing on Gambas, Merry Christmas and Happy New > Year to > > everyone! > > > > Gianluigi > > > Likewise Gian, all the best to ya fella :) > > on my laptop, asto stat the bells. > Im not so happy about those "extra code"... > > > It's only about 30 lines :) > That's not many when you think how many lines of code make gambas :) > > I actually added a couple of lines of extra code to my ide so it plays > the sound only once on the day because I like it but i also use my > computer as my hifi/tv so although i didn't want to remove it I also > didn't want it playing sound every time i loaded gambas. > > That's the beauty of compiling latest gambas from source roberto , you > are free to modify things to your own liking before you compile :) > > Wishing well > BruceS > > > ----[http://gambaswiki.org/wiki/doc/netiquette ]---- Thanks :-) The code Bruce is referring to is this: '-------------------------------- ? If dNow = Date(iYear, 12, 25) Then ??? sPlay = "bells.mp3" ? Else If dNow = Date(iYear, 8, 15) Or If dNow = dEaster Or If dNow = dEaster + 39 Then ??? sPlay = "spiritus.mp3" ??? bHasTear = True ? Else ??? Return ? Endif '--------------------------------- (1) Christmas (the bells are ringing) (2) Mid-August, Easter and, Ascension of Jesus (there is the very beautiful initial part of Veni Creator Spiritus) If you wish to compile Gambas (since you are Italian and registered on the forum) there is a pdf file that you can download here: https://www.gambas-it.org/smf/index.php?topic=8049.0 Regards Gianluigi -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Thu Dec 28 18:13:46 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Thu, 28 Dec 2023 18:13:46 +0100 Subject: [Gambas-user] DBus sending event problem (was: Re: another highlighter problem in the IDE) In-Reply-To: References: <7b6439e0-66a4-241c-df47-fd34774d2b68@gmail.com> Message-ID: <46f18034-b982-448e-9078-44d55b29add3@gambas-basic.org> Le 06/11/2023 ? 05:06, Bruce Steers a ?crit?: > > It's got a problem though. Then you should have create a new thread, otherwise I may forget the mail. > > I set it up to have all the same address name > DBus.Name org.gambas.dbsend > Object Path /org/gambas/dbsend > Interface org.gambas.dbsend > Event org_gambas_dbsend_MyEvent() > > I was having trouble getting the signal so i used dbus-monitor to find > the signal details. > > seems the interface i needed to use was this... > ? dbs = New DBusSignal(DBus.Session, "org.gamba.dbsend", True) As "DBS" > > Notice the word gamba? , the s is missing! > > using org.gambas.dbsend did not work > > Respects > BruceS > DBus.Raise() second argument is the DBus signal name, not the Gambas function name: ' This is false DBus.Raise(dbo, "org_gambas_dbsend_MyEvent", ["Test message " & Count]) ' This is correct DBus.Raise(dbo, "org.gambas.dbsend.MyEvent", ["Test message " & Count]) Regards, -- Beno?t Minisini. From brian at westwoodsvcs.com Fri Dec 29 21:21:45 2023 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 29 Dec 2023 12:21:45 -0800 Subject: [Gambas-user] Possible to add a release file to ppa's In-Reply-To: <3c984979-90a6-45b9-be62-4f7b7721ca6a@gambas-basic.org> References: <5ab7d68d-a31e-4960-9238-2e558d0f8acb@westwoodsvcs.com> <3c984979-90a6-45b9-be62-4f7b7721ca6a@gambas-basic.org> Message-ID: <8e6c19de-dc15-4e64-803f-5500790a2e38@westwoodsvcs.com> Good question, ? I am not sure how the auto builds work, ? can you add your own scripts to the process? On 12/27/23 12:39, Beno?t Minisini wrote: > Le 27/12/2023 ? 21:06, Brian G a ?crit?: >> Benoit, >> >> ?? Would it be possible to build a 'Release' file for for the daily >> and current release ppa repositories, this would allow us to >> >> ??add the ppa as a repository to Debian, and have it be trusted. >> >> ??To use with Mint Debian edition for example. >> >> ??Or maybe there is a better way to do this? >> > > What should I do exactly? > From brian at westwoodsvcs.com Fri Dec 29 21:27:27 2023 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 29 Dec 2023 12:27:27 -0800 Subject: [Gambas-user] Arch Version 3.18.4 issue with bytecode version Message-ID: Today I was trying to install an app onto an Arch based distro, I build my app with the code limited to 3.18. But still receive a bytecode to new error when I try to run the app. Do I need to do anything else other than select force byte code version 3.18 to be compatible with 3.18.4 version of gambas? From brian at westwoodsvcs.com Fri Dec 29 21:45:42 2023 From: brian at westwoodsvcs.com (Brian G) Date: Fri, 29 Dec 2023 12:45:42 -0800 Subject: [Gambas-user] Possible to add a release file to ppa's In-Reply-To: <8e6c19de-dc15-4e64-803f-5500790a2e38@westwoodsvcs.com> References: <5ab7d68d-a31e-4960-9238-2e558d0f8acb@westwoodsvcs.com> <3c984979-90a6-45b9-be62-4f7b7721ca6a@gambas-basic.org> <8e6c19de-dc15-4e64-803f-5500790a2e38@westwoodsvcs.com> Message-ID: <329af794-ba3f-41bd-88f2-1d288cac9caf@westwoodsvcs.com> On 12/29/23 12:21, Brian G wrote: > Good question, > > ? I am not sure how the auto builds work, > > ? can you add your own scripts to the process? > > On 12/27/23 12:39, Beno?t Minisini wrote: >> Le 27/12/2023 ? 21:06, Brian G a ?crit?: >>> Benoit, >>> >>> ?? Would it be possible to build a 'Release' file for for the daily >>> and current release ppa repositories, this would allow us to >>> >>> ??add the ppa as a repository to Debian, and have it be trusted. >>> >>> ??To use with Mint Debian edition for example. >>> >>> ??Or maybe there is a better way to do this? >>> >> >> What should I do exactly? >> > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- This is how I build my own repository I use with Ubuntu and Debian distributions, maybe the part where it generates the Release can be adapted, or maybe I just don't understand how the PPA process works. ++++++++++++++++++++++++++++++ #!/bin/bash cd ~/Projects/MyAppDirectory echo In directory $PWD # Packages & Packages.gz dpkg-scanpackages --multiversion . > Packages gzip -k -f Packages # Release, Release.gpg & InRelease apt-ftparchive release . > Release gpg --default-key "MyRepositoryKeyEmail" -abs -o - Release > Release.gpg gpg --default-key "MyRepositoryKeyEmail" --clearsign -o - Release > InRelease # Make list file echo "deb https://raw.githubusercontent.com/justlostintime/ppa/main/ubuntu ./" > Packaged.list # Commit & push git add -A git commit -m update git push ++++++++++++++++++++++++++++++++++++++++++++++++ Email Key name changed to protect the innocent, Not really a ppa.. I install the repository like this on the Ubuntu/Debian systems that are using my APPs +++++++++++++++++++++++++++++++++++++++++++++++++ |sudo -i curl -s --compressed "https://raw.githubusercontent.com/justlostintime/ppa/main/ubuntu/KEY.gpg" | gpg --dearmor > /etc/apt/trusted.gpg.d/westwood-archive-key.gpg sudo curl -s --compressed -o /etc/apt/sources.list.d/Packaged.list "https://raw.githubusercontent.com/justlostintime/ppa/main/ubuntu/Packaged.list" sudo apt update ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | -------------- next part -------------- An HTML attachment was scrubbed... URL: From benoit.minisini at gambas-basic.org Fri Dec 29 23:18:28 2023 From: benoit.minisini at gambas-basic.org (=?UTF-8?Q?Beno=C3=AEt_Minisini?=) Date: Fri, 29 Dec 2023 23:18:28 +0100 Subject: [Gambas-user] Arch Version 3.18.4 issue with bytecode version In-Reply-To: References: Message-ID: Le 29/12/2023 ? 21:27, Brian G a ?crit?: > Today I was trying to install an app onto an Arch based distro, I build > my app with the code limited to 3.18. But still receive a bytecode to > new error when I try to run the app. > > Do I need to do anything else other than select force byte code version > 3.18 > > to be compatible with 3.18.4 version of gambas? > No. You should have done something wrong somewhere. -- Beno?t Minisini. From bsteers4 at gmail.com Sat Dec 30 01:45:05 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 30 Dec 2023 00:45:05 +0000 Subject: [Gambas-user] Picture.ToString() ? Message-ID: If there any simpler (non-file) way to get the opposite of Picture.FromString() I wanted a way to transmit image data using Print in Task.class. This works for me but wondered if there was a faster way than a physical file? Public Sub PictureToString(Pic As Picture) As String Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "png") Pic.Save(sTmp) Return File.Load(sTmp) End Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From adamnt42 at gmail.com Sat Dec 30 02:00:52 2023 From: adamnt42 at gmail.com (BB) Date: Sat, 30 Dec 2023 11:30:52 +1030 Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: Message-ID: On 30/12/23 11:15 am, Bruce Steers wrote: > If there any simpler (non-file) way to get the opposite of > Picture.FromString() > I wanted a way to transmit image data using Print in Task.class. > > This works for me but wondered if there was a faster way than a > physical file? > > Public Sub PictureToString(Pic As Picture) As String > > ? Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "png") > ? Pic.Save(sTmp) > ? Return File.Load(sTmp) > > End > > Respects > BruceS > What is the origin of the picture? I do a similar thing but I have the path of the picture and just load it as a string via sPicString = File.Load(picPath) when I originally load the picture. As you have already seen, the File.Load does load it as a string (as .png is just a flat file). I haven't tried just assigning the picture to a string variable but I guess it does not work. Otherwise I can't see any faster way. b -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat Dec 30 13:15:29 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 30 Dec 2023 12:15:29 +0000 Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: Message-ID: On Sat, 30 Dec 2023 at 01:01, BB wrote: > > On 30/12/23 11:15 am, Bruce Steers wrote: > > If there any simpler (non-file) way to get the opposite of > Picture.FromString() > I wanted a way to transmit image data using Print in Task.class. > > This works for me but wondered if there was a faster way than a physical > file? > > Public Sub PictureToString(Pic As Picture) As String > > Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "png") > Pic.Save(sTmp) > Return File.Load(sTmp) > > End > > Respects > BruceS > > What is the origin of the picture? > > I do a similar thing but I have the path of the picture and just load it > as a string via > > sPicString = File.Load(picPath) > > when I originally load the picture. > > As you have already seen, the File.Load does load it as a string (as .png > is just a flat file). > > I haven't tried just assigning the picture to a string variable but I > guess it does not work. > > Otherwise I can't see any faster way. > The Task reads /usr/share/applications dir to get it's own list of all applications with all their icons. It's something that happens at program start and is kinda cpu greedy as it has to search for the theme icons. if not a background task the program freezes for a bit while it's processing all the files and getting all their icons/building a menu. So my aim was to get as much of the process away from the application and into the background task as possible. I found using the task to just send the image paths then loading the images in the application was more work for the application and the task sends a list of paths so fast that the application still freezes for a bit. Now the background task is also sending the image data it's a bit slower, and that's better as the foreground application works better. I just wondered if there was already a function that compliments/mirrors Picture.FromString as I see uses for that. Or could I do it better using Stream.class but in memory, not using a physical file so it would be faster. I'm not that experienced at opening/writing/reading memory streams. Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Sat Dec 30 13:14:22 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Sat, 30 Dec 2023 13:14:22 +0100 (CET) Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: Message-ID: Hello, if you want to send "pure" image data, "perhaps" you could do this: - To send blocks of "Integer" data converted to memory representation as a 4-character string: ? Public Sub PictureToString(Pic As Picture) As String ???? ??? Dim s As String ?? ??? For Each i As Integer In pc.Image.Pixels ????? s &= MkInt(i) ??? Next ? ??? Return s ? ? End - To send blocks of individual "Byte "data converted to memory representation as a 1-character string: ? Public Sub PictureToString(Pic As Picture) As String ???? ??? Dim s As String ?? ??? For i As Integer = 0 To (pc.Image.Pixels.Max * (pc.Depth / 8)) ????? s &= MkByte(Byte@(pc.Image.Data + i)) ??? Next ? ??? Return s ? ? End 30 dic 2023, 01:46 da bsteers4 at gmail.com: > If there any simpler (non-file) way to get the opposite of Picture.FromString() > I wanted a way to transmit image data using Print in Task.class. > > This works for me but wondered if there was a faster way than a physical file? > > > Public Sub PictureToString(Pic As Picture) As String > ? > ? Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "png") > ? Pic.Save(sTmp) > ? Return File.Load(sTmp) > ? > End > Respects > BruceS > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsteers4 at gmail.com Sat Dec 30 14:01:52 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 30 Dec 2023 13:01:52 +0000 Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: Message-ID: aah yes i guess that could work. at the other end i'd just need size info, say width, then the image height is String.Len / 4 / width Public Sub PictureToString(Pic As Picture) As String Dim s As String = Str(Pic.W) & "\n" For Each i As Integer In pc.Image.Pixels s &= MkInt(i) Next Return s End How do you convert a 4 char string block back to integer though? CInt didn't work (i tried a few different things) Dim s As String = MkInt(Color.Red) Print CInt(s) Type mismatch: wanted Integer, got String instead Respects BruceS On Sat, 30 Dec 2023 at 12:20, vuott--- via User wrote: > Hello, > if you want to send "pure" image data, "perhaps" you could do this: > > - To send blocks of "Integer" data converted to memory representation as a > 4-character string: > > Public Sub PictureToString(Pic As Picture) As String > > Dim s As String > > For Each i As Integer In pc.Image.Pixels > s &= MkInt(i) > Next > > Return s > > End > > > - To send blocks of individual "Byte "data converted to memory > representation as a 1-character string: > > Public Sub PictureToString(Pic As Picture) As String > > Dim s As String > > For i As Integer = 0 To (pc.Image.Pixels.Max * (pc.Depth / 8)) > s &= MkByte(Byte@(pc.Image.Data + i)) > Next > > Return s > > End > > > > > > > 30 dic 2023, 01:46 da bsteers4 at gmail.com: > > If there any simpler (non-file) way to get the opposite of > Picture.FromString() > I wanted a way to transmit image data using Print in Task.class. > > This works for me but wondered if there was a faster way than a physical > file? > > > Public Sub PictureToString(Pic As Picture) As String > > Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "png") > Pic.Save(sTmp) > Return File.Load(sTmp) > > End > Respects > BruceS > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Sat Dec 30 14:10:27 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Sat, 30 Dec 2023 14:10:27 +0100 (CET) Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: Message-ID: To convert a 4 char string block back to integer though, you can use: ?? dim i As Integer ?? i = Int@(s) Example: ?? Dim s As String ?? Dim i As Integer = 99 ???? ??? s = MkInt(i) ??? Print s ??? Print Int@(s) 30 dic 2023, 14:03 da bsteers4 at gmail.com: > aah yes i guess that could work.? at the other end i'd just need size info, say width, then the image height is String.Len / 4 / width > > ? Public Sub PictureToString(Pic As Picture) As String > ???? > ??? Dim s As String = Str(Pic.W) & "\n" > ?? > ??? For Each i As Integer In pc.Image.Pixels > ????? s &= MkInt(i) > ??? Next > ? > ??? Return s > ? > ? End > > How do you convert a 4 char string block back to integer though? > CInt didn't work (i tried a few different things) > > Dim s As String = MkInt(Color.Red) > Print CInt(s) > > > Type mismatch: wanted Integer, got String instead > > Respects > BruceS > > > On Sat, 30 Dec 2023 at 12:20, vuott--- via User <> user at lists.gambas-basic.org> > wrote: > >> Hello, >> if you want to send "pure" image data, "perhaps" you could do this: >> >> - To send blocks of "Integer" data converted to memory representation as a 4-character string: >> >> ? Public Sub PictureToString(Pic As Picture) As String >> ???? >> ??? Dim s As String >> ?? >> ??? For Each i As Integer In pc.Image.Pixels >> ????? s &= MkInt(i) >> ??? Next >> ? >> ??? Return s >> ? >> ? End >> >> >> - To send blocks of individual "Byte "data converted to memory representation as a 1-character string: >> >> ? Public Sub PictureToString(Pic As Picture) As String >> ???? >> ??? Dim s As String >> ?? >> ??? For i As Integer = 0 To (pc.Image.Pixels.Max * (pc.Depth / 8)) >> ????? s &= MkByte(Byte@(pc.Image.Data + i)) >> ??? Next >> ? >> ??? Return s >> ? >> ? End >> >> >> >> >> >> >> 30 dic 2023, 01:46 da >> bsteers4 at gmail.com>> : >> >>> If there any simpler (non-file) way to get the opposite of Picture.FromString() >>> I wanted a way to transmit image data using Print in Task.class. >>> >>> This works for me but wondered if there was a faster way than a physical file? >>> >>> >>> Public Sub PictureToString(Pic As Picture) As String >>> ? >>> ? Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "png") >>> ? Pic.Save(sTmp) >>> ? Return File.Load(sTmp) >>> ? >>> End >>> Respects >>> BruceS >>> >>> >> >> >> ----[ >> http://gambaswiki.org/wiki/doc/netiquette>> ]---- >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Sat Dec 30 14:24:07 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Sat, 30 Dec 2023 14:24:07 +0100 (CET) Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: Message-ID: Uhmmm... for? individual "Byte "data you could also use? Chr() function. 30 dic 2023, 14:03 da bsteers4 at gmail.com: > aah yes i guess that could work.? at the other end i'd just need size info, say width, then the image height is String.Len / 4 / width > > ? Public Sub PictureToString(Pic As Picture) As String > ???? > ??? Dim s As String = Str(Pic.W) & "\n" > ?? > ??? For Each i As Integer In pc.Image.Pixels > ????? s &= MkInt(i) > ??? Next > ? > ??? Return s > ? > ? End > > How do you convert a 4 char string block back to integer though? > CInt didn't work (i tried a few different things) > > Dim s As String = MkInt(Color.Red) > Print CInt(s) > > > Type mismatch: wanted Integer, got String instead > > Respects > BruceS > > > On Sat, 30 Dec 2023 at 12:20, vuott--- via User <> user at lists.gambas-basic.org> > wrote: > >> Hello, >> if you want to send "pure" image data, "perhaps" you could do this: >> >> - To send blocks of "Integer" data converted to memory representation as a 4-character string: >> >> ? Public Sub PictureToString(Pic As Picture) As String >> ???? >> ??? Dim s As String >> ?? >> ??? For Each i As Integer In pc.Image.Pixels >> ????? s &= MkInt(i) >> ??? Next >> ? >> ??? Return s >> ? >> ? End >> >> >> - To send blocks of individual "Byte "data converted to memory representation as a 1-character string: >> >> ? Public Sub PictureToString(Pic As Picture) As String >> ???? >> ??? Dim s As String >> ?? >> ??? For i As Integer = 0 To (pc.Image.Pixels.Max * (pc.Depth / 8)) >> ????? s &= MkByte(Byte@(pc.Image.Data + i)) >> ??? Next >> ? >> ??? Return s >> ? >> ? End >> >> >> >> >> >> >> 30 dic 2023, 01:46 da >> bsteers4 at gmail.com>> : >> >>> If there any simpler (non-file) way to get the opposite of Picture.FromString() >>> I wanted a way to transmit image data using Print in Task.class. >>> >>> This works for me but wondered if there was a faster way than a physical file? >>> >>> >>> Public Sub PictureToString(Pic As Picture) As String >>> ? >>> ? Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "png") >>> ? Pic.Save(sTmp) >>> ? Return File.Load(sTmp) >>> ? >>> End >>> Respects >>> BruceS >>> >>> >> >> >> ----[ >> http://gambaswiki.org/wiki/doc/netiquette>> ]---- >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From claus.dietrich at freenet.de Sat Dec 30 15:21:03 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Sat, 30 Dec 2023 15:21:03 +0100 Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: Message-ID: Hi Why don't we have this function? I would have needed it many times already and someone else recently asked me for that. Could the Data-property of the image class help to get a fast solution? If so, how can it be used? Regards Claus >If there any simpler (non-file) way to get the opposite of >Picture.FromString() >I wanted a way to transmit image data using Print in Task.class. > >This works for me but wondered if there was a faster way than a physical >file? > >Public Sub PictureToString(Pic As Picture) As String > > Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "png") > Pic.Save(sTmp) > Return File.Load(sTmp) > >End > >Respects >BruceS From vuott at tutanota.com Sat Dec 30 15:40:57 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Sat, 30 Dec 2023 15:40:57 +0100 (CET) Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: Message-ID: ...in order to achieve what ? ciao ! 30 dic 2023, 15:22 da claus.dietrich at freenet.de: > Hi > > Why don't we have this function? I would have needed it many times already and someone else recently asked me for that. > > Could the Data-property of the image class help to get a fast solution? If so, how can it be used? > > Regards > > Claus > > >> If there any simpler (non-file) way to get the opposite of >> Picture.FromString() >> I wanted a way to transmit image data using Print in Task.class. >> >> This works for me but wondered if there was a faster way than a physical >> file? >> >> Public Sub PictureToString(Pic As Picture) As String >> >> Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "png") >> Pic.Save(sTmp) >> Return File.Load(sTmp) >> >> End >> >> Respects >> BruceS >> > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From claus.dietrich at freenet.de Sat Dec 30 16:02:59 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Sat, 30 Dec 2023 16:02:59 +0100 Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: Message-ID: Sorry, I just found a number of posts as spam at my email provider - incl. the image-data solution of Vuott: ? Public Sub PictureToString(Pic As Picture) As String ??? Dim s As String ??? For i As Integer = 0 To (pic.Image.Pixels.Max * (pic.Depth / 8)) ????? s &= MkByte(Byte@(pic.Image.Data + i)) ??? Next ??? Return s ? End I get the error "wrong argument" (@ i=0) in the line s &= MkByte(Byte@(pic.Image.Data + i)) With a PictureToString-function I just would like achieve the same as with ??? Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "jpg") ??? Pic.Save(sTmp) ??? Return File.Load(sTmp) This means that I would have to pass the bitmap format (jpg, png, pnm) and possibly the depth. Regards Claus Am 30.12.23 um 15:21 schrieb Claus Dietrich: > Hi > > Why don't we have this function? I would have needed it many times > already and someone else recently asked me for that. > > Could the Data-property of the image class help to get a fast > solution? If so, how can it be used? > > Regards > > Claus > > >> If there any simpler (non-file) way to get the opposite of >> Picture.FromString() >> I wanted a way to transmit image data using Print in Task.class. >> >> This works for me but wondered if there was a faster way than a physical >> file? >> >> Public Sub PictureToString(Pic As Picture) As String >> >> ?Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "png") >> ?Pic.Save(sTmp) >> ?Return File.Load(sTmp) >> >> End >> >> Respects >> BruceS > From gradobag at gradobag.it Sat Dec 30 18:46:24 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sat, 30 Dec 2023 18:46:24 +0100 Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: Message-ID: <8b9cb047-628f-4e2b-b3af-9bacd0f4bb66@gradobag.it> HI, sorry, I'm back now and I gave it a quick read, I didn't understand why you can't use File.Load() Regards Gianluigi Il 30/12/23 16:02, Claus Dietrich ha scritto: > Sorry, I just found a number of posts as spam at my email provider - > incl. the image-data solution of Vuott: > > ? Public Sub PictureToString(Pic As Picture) As String > > ??? Dim s As String > > ??? For i As Integer = 0 To (pic.Image.Pixels.Max * (pic.Depth / 8)) > ????? s &= MkByte(Byte@(pic.Image.Data + i)) > ??? Next > > ??? Return s > > ? End > > I get the error "wrong argument" (@ i=0) in the line > > s &= MkByte(Byte@(pic.Image.Data + i)) > > With a PictureToString-function I just would like achieve the same as > with > > ??? Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "jpg") > ??? Pic.Save(sTmp) > ??? Return File.Load(sTmp) > > This means that I would have to pass the bitmap format (jpg, png, pnm) > and possibly the depth. > > Regards > > Claus > > Am 30.12.23 um 15:21 schrieb Claus Dietrich: >> Hi >> >> Why don't we have this function? I would have needed it many times >> already and someone else recently asked me for that. >> >> Could the Data-property of the image class help to get a fast >> solution? If so, how can it be used? >> >> Regards >> >> Claus >> >> >>> If there any simpler (non-file) way to get the opposite of >>> Picture.FromString() >>> I wanted a way to transmit image data using Print in Task.class. >>> >>> This works for me but wondered if there was a faster way than a >>> physical >>> file? >>> >>> Public Sub PictureToString(Pic As Picture) As String >>> >>> ?Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "png") >>> ?Pic.Save(sTmp) >>> ?Return File.Load(sTmp) >>> >>> End >>> >>> Respects >>> BruceS >> > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- From bsteers4 at gmail.com Sat Dec 30 19:40:50 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sat, 30 Dec 2023 18:40:50 +0000 Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: <8b9cb047-628f-4e2b-b3af-9bacd0f4bb66@gradobag.it> References: <8b9cb047-628f-4e2b-b3af-9bacd0f4bb66@gradobag.it> Message-ID: On Sat, 30 Dec 2023 at 17:47, Gianluigi wrote: > > HI, > > sorry, I'm back now and I gave it a quick read, I didn't understand why > you can't use File.Load() > Maybe have a longer read then ;) The initial objective was to avoid having to use a real file for speed. Just send picture data as a string, without having to save to a physical file then re-read it with File.Load. For me it was to send image data using Task.class that is limited to only String datatype. It seems logical that if there is Picture.FromString then there may be a ToString alternative. Welcome back :) BruceS > Regards > Gianluigi > > Il 30/12/23 16:02, Claus Dietrich ha scritto: > > Sorry, I just found a number of posts as spam at my email provider - > > incl. the image-data solution of Vuott: > > > > Public Sub PictureToString(Pic As Picture) As String > > > > Dim s As String > > > > For i As Integer = 0 To (pic.Image.Pixels.Max * (pic.Depth / 8)) > > s &= MkByte(Byte@(pic.Image.Data + i)) > > Next > > > > Return s > > > > End > > > > I get the error "wrong argument" (@ i=0) in the line > > > > s &= MkByte(Byte@(pic.Image.Data + i)) > > > > With a PictureToString-function I just would like achieve the same as > > with > > > > Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "jpg") > > Pic.Save(sTmp) > > Return File.Load(sTmp) > > > > This means that I would have to pass the bitmap format (jpg, png, pnm) > > and possibly the depth. > > > > Regards > > > > Claus > > > > Am 30.12.23 um 15:21 schrieb Claus Dietrich: > >> Hi > >> > >> Why don't we have this function? I would have needed it many times > >> already and someone else recently asked me for that. > >> > >> Could the Data-property of the image class help to get a fast > >> solution? If so, how can it be used? > >> > >> Regards > >> > >> Claus > >> > >> > >>> If there any simpler (non-file) way to get the opposite of > >>> Picture.FromString() > >>> I wanted a way to transmit image data using Print in Task.class. > >>> > >>> This works for me but wondered if there was a faster way than a > >>> physical > >>> file? > >>> > >>> Public Sub PictureToString(Pic As Picture) As String > >>> > >>> Dim sTmp As String = File.SetExt(Temp("tmp-pic"), "png") > >>> Pic.Save(sTmp) > >>> Return File.Load(sTmp) > >>> > >>> End > >>> > >>> Respects > >>> BruceS > >> > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From claus.dietrich at freenet.de Sat Dec 30 19:43:49 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Sat, 30 Dec 2023 19:43:49 +0100 Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: <8b9cb047-628f-4e2b-b3af-9bacd0f4bb66@gradobag.it> References: <8b9cb047-628f-4e2b-b3af-9bacd0f4bb66@gradobag.it> Message-ID: <7ed38609-fe4c-46a9-821f-c211ad8b3708@freenet.de> Hi Gianluigi We didn't say that we can't use it. We are just looking for something which is quick and less laborious. In one of my apps I was reading about 10 images per second from a webcam for which I needed a string representation. Imagine that you use a file on the hard drive to accomplish this and the app runs 24/7 ... no good. So I used a virtual temporary drive/directory instead which runs in the RAM. This is why I would prefer a handy and quick conversion function. Best regards Claus ?Am 30.12.23 um 18:46 schrieb Gianluigi: > > HI, > > sorry, I'm back now and I gave it a quick read, I didn't understand > why you can't use File.Load() > > Regards > Gianluigi > From gradobag at gradobag.it Sat Dec 30 23:27:54 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sat, 30 Dec 2023 23:27:54 +0100 Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: <7ed38609-fe4c-46a9-821f-c211ad8b3708@freenet.de> References: <8b9cb047-628f-4e2b-b3af-9bacd0f4bb66@gradobag.it> <7ed38609-fe4c-46a9-821f-c211ad8b3708@freenet.de> Message-ID: Il 30/12/23 19:43, Claus Dietrich ha scritto: > Hi Gianluigi > > We didn't say that we can't use it. We are just looking for something > which is quick and less laborious. > > In one of my apps I was reading about 10 images per second from a > webcam for which I needed a string representation. Imagine that you > use a file on the hard drive to accomplish this and the app runs 24/7 > ... no good. So I used a virtual temporary drive/directory instead > which runs in the RAM. This is why I would prefer a handy and quick > conversion function. > > Best regards > > Claus Hi Claus and Bruce, it's a delirium here, you can't stay more than 10 minutes at the computer. I'll follow Bruce's advice even though I had read his premise that I don't want to use File.Load(). I was replying to Claus and his explanation made me understand the problem. Could Bruce svg files be useful? Greetings and best wishes Gianluigi From brian at westwoodsvcs.com Sun Dec 31 09:39:51 2023 From: brian at westwoodsvcs.com (Brian G) Date: Sun, 31 Dec 2023 00:39:51 -0800 Subject: [Gambas-user] Arch Version 3.18.4 issue with bytecode version In-Reply-To: References: Message-ID: <29cdec3e-0097-4d44-8a76-6a71374d5599@westwoodsvcs.com> On 12/29/23 14:18, Beno?t Minisini wrote: > Le 29/12/2023 ? 21:27, Brian G a ?crit?: >> Today I was trying to install an app onto an Arch based distro, I >> build my app with the code limited to 3.18. But still receive a >> bytecode to new error when I try to run the app. >> >> Do I need to do anything else other than select force byte code >> version 3.18 >> >> to be compatible with 3.18.4 version of gambas? >> > > No. You should have done something wrong somewhere. Beno?t, I have spent the day ensuring that the packages I generated were in fact limited to 3.18, fresh install of arch with 3.18.4 gambas And continue to get bytecode to new errors. I think somewhere something is not working. I am not sure what information to get you. I could setup a ssh to the arch machine if that helps... From claus.dietrich at freenet.de Sun Dec 31 13:06:25 2023 From: claus.dietrich at freenet.de (Claus Dietrich) Date: Sun, 31 Dec 2023 13:06:25 +0100 Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: <8b9cb047-628f-4e2b-b3af-9bacd0f4bb66@gradobag.it> Message-ID: Am 30.12.23 um 19:40 schrieb Bruce Steers: > The initial objective was to avoid having to use a real file for speed. > Just send picture data as a string, without having to save to a > physical file then re-read it with File.Load. > > It seems logical that if there is Picture.FromString then there may be > a ToString alternative. Hi I agree and also think of a Picture.ToString-method which provides a string representation of a bitmap file. The conversion routines proposed so far do something different. The following function is based on the one used by Bruce, but it utilizes a virtual file system located in the RAM instead of the physical hard-drive: Public Sub PictureToString(Pic As Picture, sFormat as String, Optional iQuality as Integer = 100) As String ???? Dim sPath As String ???? Shell "echo $XDG_RUNTIME_DIR" Wait To sPath ???? sPath = Trim(sPath) & "/tmppic." & sFormat ???? Pic.Save(sPath, iQuality) ???? Return File.Load(sPath) End I can imagine that an according picture/image-method for this would be useful particularly if it would be quicker. Regards Claus From bsteers4 at gmail.com Sun Dec 31 13:49:41 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 31 Dec 2023 12:49:41 +0000 Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: <8b9cb047-628f-4e2b-b3af-9bacd0f4bb66@gradobag.it> Message-ID: On Sun, 31 Dec 2023 at 12:07, Claus Dietrich wrote: > Am 30.12.23 um 19:40 schrieb Bruce Steers: > > The initial objective was to avoid having to use a real file for speed. > > Just send picture data as a string, without having to save to a > > physical file then re-read it with File.Load. > > > > It seems logical that if there is Picture.FromString then there may be > > a ToString alternative. > > Hi > > I agree and also think of a Picture.ToString-method which provides a > string representation of a bitmap file. The conversion routines proposed > so far do something different. The following function is based on the > one used by Bruce, but it utilizes a virtual file system located in the > RAM instead of the physical hard-drive: > > Public Sub PictureToString(Pic As Picture, sFormat as String, Optional > iQuality as Integer = 100) As String > > Dim sPath As String > > Shell "echo $XDG_RUNTIME_DIR" Wait To sPath > sPath = Trim(sPath) & "/tmppic." & sFormat > Pic.Save(sPath, iQuality) > Return File.Load(sPath) > > End > > I can imagine that an according picture/image-method for this would be > useful particularly if it would be quicker. > > Regards > > Claus > After a little research I found a possible solution, I just tried adding this line to my /etc/fstab file... tmpfs /tmp tmpfs defaults,noatime,nosuid,nodev,noexec,mode=1777,size=4G 0 0 That made my /tmp folder a 4gb tmpfs ram disk thus technically negating this problem as using memory not hd is accomplished. But then everything on my computer worked except ALL of my gambas applications. It seemed to break gb.jit I could use my programs only by using env GB_NO_JIT=true ./appname.gambas Otherwise they all reported jit errors :( I agree a tmpfs location or any other ramdisk like you suggest should speed things up. Using the XDG_RUNTIME_DIR seems like a pretty good solution :) I still think it should be possible to fake the disk access using Open Memory or something to save and reload the picture. (I just don't know how) Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From gradobag at gradobag.it Sun Dec 31 14:07:36 2023 From: gradobag at gradobag.it (Gianluigi) Date: Sun, 31 Dec 2023 14:07:36 +0100 Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: <8b9cb047-628f-4e2b-b3af-9bacd0f4bb66@gradobag.it> <7ed38609-fe4c-46a9-821f-c211ad8b3708@freenet.de> Message-ID: Il 30/12/23 23:27, Gianluigi ha scritto: > it's a delirium here, you can't stay more than 10 minutes at the > computer. Maybe this sentence can be misinterpreted, I meant that here (in my house) there is a delirium, not on the email. Sorry Gianluigi From bsteers4 at gmail.com Sun Dec 31 14:46:03 2023 From: bsteers4 at gmail.com (Bruce Steers) Date: Sun, 31 Dec 2023 13:46:03 +0000 Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: <8b9cb047-628f-4e2b-b3af-9bacd0f4bb66@gradobag.it> Message-ID: On Sun, 31 Dec 2023 at 12:49, Bruce Steers wrote: > > > On Sun, 31 Dec 2023 at 12:07, Claus Dietrich > wrote: > >> Am 30.12.23 um 19:40 schrieb Bruce Steers: >> > The initial objective was to avoid having to use a real file for speed. >> > Just send picture data as a string, without having to save to a >> > physical file then re-read it with File.Load. >> > >> > It seems logical that if there is Picture.FromString then there may be >> > a ToString alternative. >> >> Hi >> >> I agree and also think of a Picture.ToString-method which provides a >> string representation of a bitmap file. The conversion routines proposed >> so far do something different. The following function is based on the >> one used by Bruce, but it utilizes a virtual file system located in the >> RAM instead of the physical hard-drive: >> >> Public Sub PictureToString(Pic As Picture, sFormat as String, Optional >> iQuality as Integer = 100) As String >> >> Dim sPath As String >> >> Shell "echo $XDG_RUNTIME_DIR" Wait To sPath >> sPath = Trim(sPath) & "/tmppic." & sFormat >> Pic.Save(sPath, iQuality) >> Return File.Load(sPath) >> >> End >> > I like this, great idea Claus , It can be shortened a bit by using Env[] instead of the first Shell call to get XDG_RUNTIME_DIR It's gotta be better than using Temp() Public Sub PictureToString(Pic As Picture,Optional sFormat as String = "png", iQuality as Integer = 100) As String Dim sPath As String = Env["XDG_RUNTIME_DIR"] &/ "tmp-pic." & sFormat Pic.Save(sPath, iQuality) Return File.Load(sPath) End Respects BruceS -------------- next part -------------- An HTML attachment was scrubbed... URL: From vuott at tutanota.com Sun Dec 31 16:23:27 2023 From: vuott at tutanota.com (vuott at tutanota.com) Date: Sun, 31 Dec 2023 16:23:27 +0100 (CET) Subject: [Gambas-user] Picture.ToString() ? In-Reply-To: References: <8b9cb047-628f-4e2b-b3af-9bacd0f4bb66@gradobag.it> Message-ID: The use of the "Memory Stream" resource in "Read" mode would not be of added value compared to the use of Gambas' native "Byte@()" function for dereferencing Pointers. 31 dic 2023, 13:50 da bsteers4 at gmail.com: > > > On Sun, 31 Dec 2023 at 12:07, Claus Dietrich <> claus.dietrich at freenet.de> > wrote: > >> Am 30.12.23 um 19:40 schrieb Bruce Steers: >> > The initial objective was to avoid having to use a real file for speed. >> > Just send picture data as a string, without having to save to a >> > physical file then re-read it with File.Load. >> > >> > It seems logical that if there is Picture.FromString then there may be >> > a ToString alternative. >> >> Hi >> >> I agree and also think of a Picture.ToString-method which provides a >> string representation of a bitmap file. The conversion routines proposed >> so far do something different. The following function is based on the >> one used by Bruce, but it utilizes a virtual file system located in the >> RAM instead of the physical hard-drive: >> >> Public Sub PictureToString(Pic As Picture, sFormat as String, Optional >> iQuality as Integer = 100) As String >> >> ????? Dim sPath As String >> >> ????? Shell "echo $XDG_RUNTIME_DIR" Wait To sPath >> ????? sPath = Trim(sPath) & "/tmppic." & sFormat >> ????? Pic.Save(sPath, iQuality) >> ????? Return File.Load(sPath) >> >> End >> >> I can imagine that an according picture/image-method for this would be >> useful particularly if it would be quicker. >> >> Regards >> >> Claus >> > > After a little research I found a possible solution, I just tried adding this line to my /etc/fstab file... > tmpfs /tmp tmpfs defaults,noatime,nosuid,nodev,noexec,mode=1777,size=4G 0 0 > > That made my /tmp folder a 4gb tmpfs ram disk thus technically negating this problem as using memory not hd is accomplished. > > But then everything on my computer worked except ALL of my gambas applications. > It seemed to break gb.jit > I could use my programs only by using env GB_NO_JIT=true ./appname.gambas > Otherwise they all reported jit errors :( > > I agree a tmpfs location or any other ramdisk like you suggest should speed things up.? Using the XDG_RUNTIME_DIR seems like a pretty good solution :) > > I still think it should be possible to fake the disk access using Open Memory or something to save and reload the picture. (I just don't know how) > > Respects > BruceS > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian at westwoodsvcs.com Sun Dec 31 21:45:27 2023 From: brian at westwoodsvcs.com (Brian G) Date: Sun, 31 Dec 2023 12:45:27 -0800 Subject: [Gambas-user] Arch Version 3.18.4 issue with bytecode version In-Reply-To: <29cdec3e-0097-4d44-8a76-6a71374d5599@westwoodsvcs.com> References: <29cdec3e-0097-4d44-8a76-6a71374d5599@westwoodsvcs.com> Message-ID: <3cc4b36b-a353-4cd8-adac-d5436cdffec2@westwoodsvcs.com> On 12/31/23 00:39, Brian G wrote: > > On 12/29/23 14:18, Beno?t Minisini wrote: >> Le 29/12/2023 ? 21:27, Brian G a ?crit?: >>> Today I was trying to install an app onto an Arch based distro, I >>> build my app with the code limited to 3.18. But still receive a >>> bytecode to new error when I try to run the app. >>> >>> Do I need to do anything else other than select force byte code >>> version 3.18 >>> >>> to be compatible with 3.18.4 version of gambas? >>> >> >> No. You should have done something wrong somewhere. > > Beno?t, > > I have spent the day ensuring that the packages I generated were in > fact limited to 3.18, fresh install of arch with 3.18.4 gambas > > And continue to get bytecode to new errors. I think somewhere > something is not working. I am not sure what information to get you. > > I could setup a ssh to the arch machine if that helps... > > > ----[ http://gambaswiki.org/wiki/doc/netiquette ]---- Still not sure if it is me but : A few more details, I am building the packages on Linux Mint 21.2, using the development version of the IDE. Force bytecode is set to 3.18. I have installed makepkg and pacman and bsdtar, on my mint machine and build the arch install package there. I then transfer the install package to the arch machine and run pacman -F mypackage.tar.gz. The Package is console only no gui. The package is correctly installed, no errors. Arch has installed gambus dev and runtime, and a few other packages. no ide is installed. After installing the package I run the APP and get Error: #2: Cannot load class 'CreateCmdProgram' : Bytecode too recent. Please upgrade Gambas Here is a picture of the config: -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: eT4JNVzalvraPoku.png Type: image/png Size: 239282 bytes Desc: not available URL: