Congrats :)
Help and contribution are always welcome :)
Hope to see more fixes from you :)


On Sat, Sep 28, 2013 at 12:06 PM, Andun Sameera <andun...@gmail.com> wrote:

> Hi All,
>
> Today I got the Congratulations mail from Google saying I have
> successfully passed the final evaluation of GSOC 2013!
>
> It has been a great pleasure and experience for me to work with OM
> community.  Since the ideas are published in Apache Jira, I worked with the
> pretty dynamic and active community of OM. I learned lot of things which
> were new to me. But ultimately I got the opportunity to contribute to many
> public projects. All these successful things has happen because of the
> guidance and help given by all the devs. Specially my mentor Maxim, I have
> never seen such active person in my life. He was always there to guide me!
> So thank you very much all! For everything!
>
> Also I am not planning to leave with the completion of GSOC. I am
> completing my degree in this December. If you allow me to work with OM
> community if you think I have the potential to work with the community, I
> would like to be there.
>
> Thanks!
>
>
> On Sun, Sep 22, 2013 at 11:34 PM, Andun Sameera <andun...@gmail.com>wrote:
>
>> Thanks Andrey!
>>
>> I think all the things which need to be added to the Whiteboard under
>> GSOC is done now. I have successfully committed all these to Wicket-Stuff
>> repo. I have added it to main-build of Wicket-Stuff. Sooner it will be
>> released in public. Also I have added a wiki page for the Whiteboard in
>> https://github.com/wicketstuff/core/wiki/Whiteboard.
>>
>> Tomorrow the firm pencil down of GSOC will happen. I will update all
>> these code samples there and will finish the GSOC task.
>>
>> After the release of Wicket-Stuf we can use the whoteboard inside OM.
>>
>> Thanks!
>>
>>
>> On Sun, Sep 22, 2013 at 11:06 PM, Bogdanov Andrey <ba...@mail.ru> wrote:
>>
>>> I think this will work. The only requirements - lang should be set
>>> before including of whiteboard.js
>>>
>>>
>>>
>>> Воскресенье, 22 сентября 2013, 1:41 +05:30 от Andun Sameera <
>>> andun...@gmail.com>:
>>>
>>>   I have no deep idea about the OM translation logic. I know only how
>>> to get the values. I think Maxim can help to get  inside out idea.
>>>
>>> While that is like that I have succeed in th hack. Now the translation
>>> works fine in this manner. There is a global variable called lang. That is
>>> initialized via query params. Also there are array like ru, en, sp, etc.
>>> which contains text in different languages. All these code lies in
>>> translate.js.
>>>
>>> function getParameterByName(name) {
>>>     name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
>>>     var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
>>>         results = regex.exec(location.search);
>>>     return results == null ? "" :
>>> decodeURIComponent(results[1].replace(/\+/g, " "));
>>> }
>>>
>>> var lang=getParameterByName('lang');
>>> var ru =
>>> {
>>> // Tooltips for buttons
>>>     "Common tools":                                       "Общие
>>> инструменты",
>>>     "Zoom in":                                            "Увеличить",
>>>     "Zoom out":                                           "Уменьшить",
>>>     "Show coordinates":                                   "Показывать
>>> координаты",
>>>     "Clear all":                                          "Очистить все",
>>>     "Clear traces":                                       "Очистить
>>> следы",
>>>     "Show information about selected element":            "Информация об
>>> элементе",
>>>
>>>     "Ruler-and-compass constructions":                    "Построения
>>> циркулем и линейкой",
>>>     "Single point":                                       "Точка",
>>>     "Line through two points":                            "Прямая,
>>> проходящая через две точки",
>>>     "Line segment connecting two points":                 "Отрезок,
>>> соединяющий две точки",
>>>     "Circle with radius equals to the given segment":     "Окружность с
>>> заданным радиусом",
>>>     "Circle with given center":                           "Окружность с
>>> заданным центром",
>>>
>>>     "Free hand drawing":                                  "Рисование",
>>>     "Insert picture":                                     "Вставить
>>> картинку",
>>>     "Change whiteboard background":                       "Изменить
>>> обои",
>>>     "Curve":                                              "Кривая линяя",
>>>     "Polyline":                                           "Ломаная
>>> линия",
>>>     "Rectangle":
>>> "Прямоугольник",
>>>     "Circle":                                             "Окружность",
>>>     "Text box":                                           "Текст",
>>>     "Highlight board area":                               "Выделить
>>> участок доски",
>>>     "Draw an arrow":                                      "Стрелка",
>>>     "Highlight a point at whiteboard":                    "Отметить
>>> точку на доске",
>>>
>>> // Controls at the info dialog
>>>     "Click to select other element":                      "Нажмите для
>>> выбора следующего элемента",
>>>     "Hide":                                               "Скрыть",
>>>     "Click to hide element":                              "Нажмите,
>>> чтобы скрыть элемент",
>>>     "Trace":                                              "След",
>>>     "Color":                                              "Цвет",
>>>     "Click to select color":                              "Нажмите для
>>> выбора цвета",
>>>     "JSON code for drawing":                              "JSON-код для
>>> рисунка",
>>>
>>> // Element Labels in the info dialog
>>>     "ClipArt does not exist":                             "Картинка
>>> отсутствует",
>>>     "ClipArt from [{$label}]":                            "Картинка,
>>> источник {$label}",
>>>     "Point does not exist":                               "Точка не
>>> сушествует",
>>>     "Point: [{$x},{$y}]":                                 "Точка
>>> [{$x},{$y}]",
>>>     "Line does not exist":                                "Линия не
>>> существует",
>>>     "Line [{$fromx},{$fromy}] - [{$tox},{$toy}]":         "Линия от
>>> [{$fromx},{$fromy}] до [{$tox},{$toy}]",
>>>     "Circle does not exist":                              "Окружность не
>>> существует",
>>>     "Circle [{$x},{$y}] -> {$r}":                         "Окружность
>>> [{$x},{$y}] -> {$r}",
>>>     "Curve does not exists":                              "Кривая не
>>> существует",
>>>     "Rectangle does not exist":                           "Прямоугольник
>>> не существует",
>>>     "Text does not exist":                                "Текст не
>>> существует",
>>>     "Text [{$label}]":                                    "Текст
>>> [{$label}]",
>>>     "Underline does not exists":                          "Выделение не
>>> существует",
>>>     "Underline":                                          "Выделение",
>>>     "Arrow does not exists":                              "Стрелка не
>>> существует",
>>>     "Arrow":                                              "Стрелка",
>>>     "Pointer does not exists":                            "Указатель не
>>> существует",
>>>     "Pointer [{$x},{$y}]":
>>> "Указатель на [{$x},{$y}]",
>>>
>>> // Messages
>>>     "This browser doesn''t support graphics. Please use another web
>>> browser.":
>>>         "Ваш браузер не поддерживает графику. Пожалуйста, используйте
>>> другой браузер"
>>> };
>>>
>>> in whiteboard.js we have this getMsg implementation,
>>>
>>> goog.getMsg = function(str, opt_values) {
>>>
>>>     console.log("--------------------------------------");
>>>     console.log(goog.LOCALE);
>>>     console.log(lang);
>>>     var translation = window[lang] || {};
>>>     console.log(translation);
>>>     console.log("######################################");
>>>     str = translation[str] || str;
>>>     var values = opt_values || {};
>>>     for (var key in values) {
>>>         var value = ('' + values[key]).replace(/\$/g, '$$$$');
>>>         str = str.replace(new RegExp('\\{\\$' + key + '\\}', 'gi'),
>>> value);
>>>     }
>>>     return str;
>>> };
>>>
>>> So we can pass lang via query params and do the dynamic language
>>> translation well. I think this method is OK. WDYT?
>>>
>>> Thanks!
>>>
>>>
>>>
>>> On Sun, Sep 22, 2013 at 1:12 AM, Bogdanov Andrey 
>>> <ba...@mail.ru<https://e.mail.ru/sentmsg?mailto=mailto%3aba...@mail.ru>
>>> > wrote:
>>>
>>> goog.LOCALE should be set before including of whiteboard.js script, but
>>> in compiled version "goog" variable is defined inside this script, so
>>> LOCALE couldn't be set.
>>> In the current committed versiion I didn't use goog.LOCALE and used
>>> independent variable current_LOCALE.
>>> Also I put goog.getMsg inside the script, but left transaltion strings
>>> outside - this allows to use different transllation files.
>>>
>>> Which translation approach is using in other parts of OM project? I
>>> think whitboard translation should be synchronized with them.
>>>
>>> Regards,
>>> Andrey
>>>
>>>
>>>
>>> Воскресенье, 22 сентября 2013, 0:58 +05:30 от Andun Sameera <
>>> andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com>
>>> >:
>>>
>>>   I did this kind of a hack. I put all this code in to the
>>> whiteboard.js. Just after the line of 299
>>> https://github.com/wicketstuff/core/blob/master/jdk-1.6-parent/whiteboard-parent/whiteboard/src/main/resources/org/wicketstuff/whiteboard/resource/whiteboard.js.
>>> When I did that I see the getMsg function executes each and every time
>>> which is referred. But the thing is the goog.LOCALE return en instead of
>>> ru. I put
>>>
>>> goog.LOCALE = 'ru';
>>>
>>> this code in to the wicket head. But I think it is not set when the
>>> getMsg is run. I am searching for place to put this initialization which
>>> will pick up by getMsg. Will this work ?
>>>
>>> Thanks!
>>>
>>> Inserted code ,
>>>
>>> var ru =
>>> {
>>> // Tooltips for buttons
>>>     "Common tools":                                       "Общие
>>> инструменты",
>>>     "Zoom in":                                            "Увеличить",
>>>     "Zoom out":                                           "Уменьшить",
>>>     "Show coordinates":                                   "Показывать
>>> координаты",
>>>     "Clear all":                                          "Очистить все",
>>>     "Clear traces":                                       "Очистить
>>> следы",
>>>     "Show information about selected element":            "Информация об
>>> элементе",
>>>
>>>     "Ruler-and-compass constructions":                    "Построения
>>> циркулем и линейкой",
>>>     "Single point":                                       "Точка",
>>>     "Line through two points":                            "Прямая,
>>> проходящая через две точки",
>>>     "Line segment connecting two points":                 "Отрезок,
>>> соединяющий две точки",
>>>     "Circle with radius equals to the given segment":     "Окружность с
>>> заданным радиусом",
>>>     "Circle with given center":                           "Окружность с
>>> заданным центром",
>>>
>>>     "Free hand drawing":                                  "Рисование",
>>>     "Insert picture":                                     "Вставить
>>> картинку",
>>>     "Change whiteboard background":                       "Изменить
>>> обои",
>>>     "Curve":                                              "Кривая линяя",
>>>     "Polyline":                                           "Ломаная
>>> линия",
>>>     "Rectangle":
>>> "Прямоугольник",
>>>     "Circle":                                             "Окружность",
>>>     "Text box":                                           "Текст",
>>>     "Highlight board area":                               "Выделить
>>> участок доски",
>>>     "Draw an arrow":                                      "Стрелка",
>>>     "Highlight a point at whiteboard":                    "Отметить
>>> точку на доске",
>>>
>>> // Controls at the info dialog
>>>     "Click to select other element":                      "Нажмите для
>>> выбора следующего элемента",
>>>     "Hide":                                               "Скрыть",
>>>     "Click to hide element":                              "Нажмите,
>>> чтобы скрыть элемент",
>>>     "Trace":                                              "След",
>>>     "Color":                                              "Цвет",
>>>     "Click to select color":                              "Нажмите для
>>> выбора цвета",
>>>     "JSON code for drawing":                              "JSON-код для
>>> рисунка",
>>>
>>> // Element Labels in the info dialog
>>>     "ClipArt does not exist":                             "Картинка
>>> отсутствует",
>>>     "ClipArt from [{$label}]":                            "Картинка,
>>> источник {$label}",
>>>     "Point does not exist":                               "Точка не
>>> сушествует",
>>>     "Point: [{$x},{$y}]":                                 "Точка
>>> [{$x},{$y}]",
>>>     "Line does not exist":                                "Линия не
>>> существует",
>>>     "Line [{$fromx},{$fromy}] - [{$tox},{$toy}]":         "Линия от
>>> [{$fromx},{$fromy}] до [{$tox},{$toy}]",
>>>     "Circle does not exist":                              "Окружность не
>>> существует",
>>>     "Circle [{$x},{$y}] -> {$r}":                         "Окружность
>>> [{$x},{$y}] -> {$r}",
>>>     "Curve does not exists":                              "Кривая не
>>> существует",
>>>     "Rectangle does not exist":                           "Прямоугольник
>>> не существует",
>>>     "Text does not exist":                                "Текст не
>>> существует",
>>>     "Text [{$label}]":                                    "Текст
>>> [{$label}]",
>>>     "Underline does not exists":                          "Выделение не
>>> существует",
>>>     "Underline":                                          "Выделение",
>>>     "Arrow does not exists":                              "Стрелка не
>>> существует",
>>>     "Arrow":                                              "Стрелка",
>>>     "Pointer does not exists":                            "Указатель не
>>> существует",
>>>     "Pointer [{$x},{$y}]":
>>> "Указатель на [{$x},{$y}]",
>>>
>>> // Messages
>>>     "This browser doesn''t support graphics. Please use another web
>>> browser.":
>>>         "Ваш браузер не поддерживает графику. Пожалуйста, используйте
>>> другой браузер"
>>> };
>>>
>>> goog.getMsg = function(str, opt_values) {
>>>
>>>     console.log("--------------------------------------");
>>>     console.log(goog.LOCALE);
>>>     var translation = window[goog.LOCALE] || {};
>>>     console.log(translation);
>>>     console.log("######################################");
>>>     str = translation[str] || str;
>>>     var values = opt_values || {};
>>>     for (var key in values) {
>>>         var value = ('' + values[key]).replace(/\$/g, '$$$$');
>>>         str = str.replace(new RegExp('\\{\\$' + key + '\\}', 'gi'),
>>> value);
>>>     }
>>>     return str;
>>> };
>>>
>>>
>>> On Sun, Sep 22, 2013 at 12:48 AM, Bogdanov Andrey 
>>> <ba...@mail.ru<https://e.mail.ru/sentmsg?mailto=mailto%3aba...@mail.ru>
>>> > wrote:
>>>
>>> Hi Andun,
>>>
>>> Unfortunately I didn't find good solution for the issue. I made some
>>> hack which allows to fix it right now but I think it requires other
>>> approach.
>>> Now you could get the latest version from github and use the next code:
>>>
>>> <script>
>>> current_LOCALE = 'ru';
>>>
>>> </script>
>>> <script src="translate.js"></script>
>>> <script src="whiteboard.js"></script>
>>>
>>>
>>> It seems goog.getMsg approach works when locale set at  "compilation"
>>> time, but didn't work when locale set in runtime after compilation.
>>> I will think on the problem and try to find better solution and will be
>>> gratefull if somebody has any suggestions.
>>>
>>> Regards,
>>> Andrey Bogdanov
>>>
>>>
>>> Суббота, 21 сентября 2013, 22:56 +05:30 от Andun Sameera <
>>> andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com>
>>> >:
>>>
>>>   Hi Andrey,
>>>
>>> I tried to add your translate.js base logic to whiteboard. The thing is
>>> when I add the dependency to translate.js, it gives following error.
>>>
>>> ReferenceError: goog is not defined
>>> [Break On This Error]
>>>
>>> goog.provide('bay.whiteboard.translation');
>>>
>>> When I looked at your
>>> https://github.com/bay73/whiteboard/blob/master/src/index_t.htmlimplementation,
>>>  I found that there is a special dependency to,
>>>
>>> <script src="../../closure-library/closure/goog/base.js"></script>
>>>
>>> solve the problem. AFAIK in the OM whiteboard code we cant add all these
>>> Closure dependencies. So what is the resolution to this issue?
>>>
>>> Quick help will be highly appropriated since I have to finish this
>>> before day after tomorrow!
>>>
>>> Thanks!
>>>
>>>
>>>
>>>
>>>
>>> On Wed, Sep 18, 2013 at 9:43 PM, Andun Sameera 
>>> <andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com>
>>> > wrote:
>>>
>>> Here is another suggestion which came from Closure forum.
>>>
>>> "In Chrome apps and extensions, localization is done at runtime using
>>> chrome.i18n.getMessage() -- you pass it a message id and Chrome pulls the
>>> correct translation from the messages.json file for the user's current
>>> locale. http://developer.chrome.com/apps/i18n.html has all the details.
>>>
>>> I assume you're not writing a Chrome extension, but I bring it up
>>> because we added pass to the JS compiler, which is activated by the
>>> --replace_messages_with_
>>> chrome_i18n flag, to replace goog.getMsg() calls with
>>> chrome.i18n.getMessage() calls. You could probably hack together another
>>> compiler pass to do something similar, along the lines of what Ilia Mirkin
>>> suggested, if you were in the mood to hack on the Closure Compiler. I'm not
>>> sure if there are any good "How to write a new pass for the Closure
>>> Compiler" tutorials around, but hopefully you can find one or just follow
>>> the example of the existing ones."
>>>
>>> I am looking in to feasible solution! Comment needed to find a good
>>> approach!
>>>
>>> Thanks!
>>>
>>>
>>>
>>> On Fri, Sep 6, 2013 at 11:56 AM, Andun Sameera 
>>> <andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com>
>>> > wrote:
>>>
>>> I got your point! We can add these kind of arrays to add many languages.
>>> But in OM we are using files to give the localized words like this. Using
>>> keys to load values,
>>>
>>> <input type="submit" value="" wicket:id="ajax-cancel-button"
>>> wicket:ommessage="title:157" />
>>>
>>> I think Maxim can give me a clue to load suitable values from those file
>>> to this javascript arrays(
>>> https://github.com/bay73/whiteboard/blob/master/src/translate.js)!
>>>
>>> Thanks!
>>>
>>>
>>> On Fri, Sep 6, 2013 at 11:43 AM, Bogdanov Andrey 
>>> <ba...@mail.ru<https://e.mail.ru/sentmsg?mailto=mailto%3aba...@mail.ru>
>>> > wrote:
>>>
>>> Yes, you are righ - documentation about this topic is very poor.
>>>
>>> Now I've made some translation to Russian - you could see translate.js
>>> script which I've commited to the
>>> https://github.com/bay73/whiteboard.git.
>>> This is simple dictionary - any language could be added there.
>>>
>>> Now I could set locale like this:
>>>
>>> <script>
>>> goog.LOCALE = 'ru';
>>> </script>
>>> <script src="translate.js"></script>
>>> <script src="whiteboard.js"></script>
>>>
>>> Regards,
>>> Andrey Bogdanov
>>>
>>>
>>> Пятница, 6 сентября 2013, 0:49 +05:30 от Andun Sameera <
>>> andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com>
>>> >:
>>>
>>>   I tried to find some material related to localization. But finding
>>> help for Closure is a tough task. Cant we use a normal Javascript way to
>>> handle run-time change of languages?
>>>
>>>
>>> On Thu, Sep 5, 2013 at 6:19 PM, Bogdanov Andrey 
>>> <ba...@mail.ru<https://e.mail.ru/sentmsg?mailto=mailto%3aba...@mail.ru>
>>> > wrote:
>>>
>>> Hi Andun,
>>>
>>> I've push a version which allows to clear background.
>>> You could call board.setBackground() or  board.setBackground('')  - it
>>> will work
>>>
>>> Also I've surrounded all nessages with goog.getMsg call, so we could add
>>> internationalization.
>>>
>>> Regards,
>>> Andrey
>>>
>>>
>>>
>>>
>>> Среда, 4 сентября 2013, 22:51 +05:30 от Andun Sameera <
>>> andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com>
>>> >:
>>>
>>>   I have re-factored the code and committed. Also I have added undo for
>>> DOC
>>> addition, page navigation. Also there is another small problem which
>>> Andrey
>>> can answer me. How can we go to a empty background from? I tired to set a
>>> "" as the url. But didn't work.
>>>
>>> Thanks!
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Regards
>>> Andun S.L. Gunawardana
>>> Undergraduate
>>> Department of Computer Science And Engineering
>>> University of Moratuwa
>>> Sri Lanka
>>>
>>> Blog - http://www.insightforfuture.blogspot.com/
>>> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
>>> Twitter -http://twitter.com/AndunSLG
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Андрей Богданов
>>>
>>>
>>>
>>>
>>> --
>>> Regards
>>> Andun S.L. Gunawardana
>>> Undergraduate
>>> Department of Computer Science And Engineering
>>> University of Moratuwa
>>> Sri Lanka
>>>
>>> Blog - http://www.insightforfuture.blogspot.com/
>>> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
>>> Twitter -http://twitter.com/AndunSLG
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Regards
>>> Andun S.L. Gunawardana
>>> Undergraduate
>>> Department of Computer Science And Engineering
>>> University of Moratuwa
>>> Sri Lanka
>>>
>>> Blog - http://www.insightforfuture.blogspot.com/
>>> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
>>> Twitter -http://twitter.com/AndunSLG
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Regards
>>> Andun S.L. Gunawardana
>>> Undergraduate
>>> Department of Computer Science And Engineering
>>> University of Moratuwa
>>> Sri Lanka
>>>
>>> Blog - http://www.insightforfuture.blogspot.com/
>>> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
>>> Twitter -http://twitter.com/AndunSLG
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Андрей Богданов
>>>
>>>
>>>
>>>
>>> --
>>> Regards
>>> Andun S.L. Gunawardana
>>> Undergraduate
>>> Department of Computer Science And Engineering
>>> University of Moratuwa
>>> Sri Lanka
>>>
>>> Blog - http://www.insightforfuture.blogspot.com/
>>> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
>>> Twitter -http://twitter.com/AndunSLG
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Андрей Богданов
>>>
>>>
>>>
>>>
>>> --
>>> Regards
>>> Andun S.L. Gunawardana
>>> Undergraduate
>>> Department of Computer Science And Engineering
>>> University of Moratuwa
>>> Sri Lanka
>>>
>>> Blog - http://www.insightforfuture.blogspot.com/
>>> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
>>> Twitter -http://twitter.com/AndunSLG
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Андрей Богданов
>>>
>>
>>
>>
>> --
>> Regards
>> Andun S.L. Gunawardana
>> Undergraduate
>> Department of Computer Science And Engineering
>> University of Moratuwa
>> Sri Lanka
>>
>> Blog - http://www.insightforfuture.blogspot.com/
>> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
>> Twitter -http://twitter.com/AndunSLG
>>
>>
>>
>>
>>
>
>
>
> --
> Regards
> Andun S.L. Gunawardana
> Undergraduate
> Department of Computer Science And Engineering
> University of Moratuwa
> Sri Lanka
>
> Blog - http://www.insightforfuture.blogspot.com/
> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
> Twitter -http://twitter.com/AndunSLG
>
>
>
>
>



-- 
WBR
Maxim aka solomax

Reply via email to