Re: [BLACKBOX] "My" subsystem

From: [at]} <Carl>
Date: Tue, 3 Jan 2012 01:52:21 -0800

----boundary-LibPST-iamunique-481509805_-_-
Content-type: text/plain

Hello Dan:

I probably should register the "Trf" subsystem already accepted by Helmut Zinn and available for download so name clashes can be better avoided.

Also the same for the upcoming Grammar Helper Tool ("Ght") subsystem but I do not know if that will definitely be the subsystem name. "Ght" would supercede and replace the older Bnf7 subsystem already available. Unfortunately the "Ght" name is similar to your existing "Gft" name although the actual subsystem Ght is totally different from Gft.

I guess this is a good example of why registration is a good idea so naming issues are avoided. Perhaps the original "Cfg" name was best afterall.

I do not know the procedure for registering a subsystem name with Oberon microsystems AG. Is it complicated?

I am looking forward to your "My" subsystem submission but I did not find it on H. Zinn's site yet. I used the link provided on the registration page for Oberon microsystems AG .

Based on your other submissions under your "Gft" subsystem, I am sure it would address the following problem in a more elegant and better way then the following solution I decided on.

I encountered the problem of opening an existing file and remembering the subdirectory from which it was opened so all subsequent files are created in that same subdirectory.

I hope Helmut Zinn does not mind me posting this WrkFiles module from the upcoming Grammar Helper Tool ("Ght") which he is evaluating for inclusion in his Component Pascal CPC site. Perhaps the subsystem will be named "Cfg" afterall. If so, replace all Ght references below by Cfg.

(*
    This program (Ght subsystem) is free software; you can redistribute it and/or modify it under the terms of the "BlackBox Component Builder Open Source License".
*)

MODULE GhtWrkFiles;
    (* Copyright © 2011 Carl Glassberg, Helmut Zinn *)

    IMPORT Converters, Files, TextViews, Views;

    VAR loc0: Files.Locator;
         name0: Files.Name;
         conv0: Converters.Converter;


    PROCEDURE OpenFile*
        (VAR loc: Files.Locator;
         VAR name: Files.Name;
         VAR conv: Converters.Converter);

      VAR v: Views.View;

    BEGIN
      v := Views.Old(Views.ask, loc, name, conv);
      IF (v # NIL) & (v IS TextViews.View) THEN
        Views.Open(v, loc, name, conv);
        loc0 := loc;
        name0 := name$;
        conv0 := conv
      END
    END OpenFile;


    PROCEDURE Do*;
      VAR
        loc: Files.Locator;
        name: Files.Name;
        conv: Converters.Converter;

    BEGIN
      loc := NIL; name := ""; conv := NIL;
      OpenFile(loc, name, conv)
    END Do;


    PROCEDURE Get*
    (VAR loc: Files.Locator;
     VAR name: Files.Name;
     VAR conv: Converters.Converter);
   
(* Get returns current loc, name, conv values (from the most recent call to OpenFile) or NIL, "", NIL resp. if OpenFile was not called or the file open failed or the opened view was not a text view. *)

    BEGIN
      loc := loc0;
      name := name0$;
      conv := conv0
    END Get;

BEGIN
  loc0 := NIL;
  name0 := "";
  conv0 := NIL
END GhtWrkFiles .


An example of it's use, assuming some input file was previously opened with GhtWrkFiles.Do
The following file is created from the current focus view in that same location:
...
        VAR v: Views.View;
            loc: Files.Locator;
            name: Files.Name;
            conv: Converters.Converter;
            res: INTEGER; done: BOOLEAN;
            fn: ARRAY 64 OF CHAR;
            ext: ARRAY 8 OF CHAR;


    BEGIN
      ...
      GhtWrkFiles.Get(loc, name, conv)
      IF loc # NIL THEN
        T.GetFNExt(name, fn, ext, done);
        IF done & (ext$ = "odc") THEN
          name := fn$ + "somethinghere" + "." + ext$;
          v := Controllers.FocusView();
          Views.Register(v, Views.dontAsk, loc, name, conv, res)
        END (* if *)
      END (* if *)
    ...   
       
Sincerely
Carl Glassberg


--- On Sun, 1/1/12, Douglas G. Danforth <danforth{([at]})nowhere.xy

From: "Douglas G. Danforth" <danforth{([at]})nowhere.xy
To: BLACKBOX{([at]})nowhere.xy
Date: Sunday, January 1, 2012 4:16 PM

> Folks,

> I have registered a new subsystem called "My" whose intent
> is to simplify the interaction with the BlackBox framework.

> The first module is "MyFiles" which combines (and hides)
> files and locators.  MyFiles makes symmetric the opening and
> closing of old and new files.  The close of a new file automatically
> registers the file.  If one really needs access to a file or locator
> they are exported read only.

> I have found MyFiles to greatly simplify my programming of
> file handling.

> I will eventually release "MyProject" which builds systems based
> on a single root (main) module.  Compilation, unloading, and
> executable generation is handled automatically via scanning
> of imports, menus, and forms.

> More later.

> Happy New Year everyone!

> -Doug Danforth




> To unsubscribe, send a message with body "SIGNOFF
> BLACKBOX" to LISTSERV{([at]})nowhere.xy
>


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-481509805_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCBIZWxsbyBEYW46XHBhcg0KXHBh
cg0KSSBwcm9iYWJseSBzaG91bGQgcmVnaXN0ZXIgdGhlICJUcmYiIHN1YnN5c3RlbSBhbHJlYWR5
IGFjY2VwdGVkIGJ5IEhlbG11dCBaaW5uIGFuZCBhdmFpbGFibGUgZm9yIGRvd25sb2FkIHNvIG5h
bWUgY2xhc2hlcyBjYW4gYmUgYmV0dGVyIGF2b2lkZWQuXHBhcg0KXHBhcg0KQWxzbyB0aGUgc2Ft
ZSBmb3IgdGhlIHVwY29taW5nIEdyYW1tYXIgSGVscGVyIFRvb2wgKCJHaHQiKSBzdWJzeXN0ZW0g
YnV0IEkgZG8gbm90IGtub3cgaWYgdGhhdCB3aWxsIGRlZmluaXRlbHkgYmUgdGhlIHN1YnN5c3Rl
bSBuYW1lLiAiR2h0IiB3b3VsZCBzdXBlcmNlZGUgYW5kIHJlcGxhY2UgdGhlIG9sZGVyIEJuZjcg
c3Vic3lzdGVtIGFscmVhZHkgYXZhaWxhYmxlLiBVbmZvcnR1bmF0ZWx5IHRoZSAiR2h0IiBuYW1l
IGlzIHNpbWlsYXIgdG8geW91ciBleGlzdGluZyAiR2Z0IiBuYW1lIGFsdGhvdWdoIHRoZSBhY3R1
YWwgc3Vic3lzdGVtIEdodCBpcyB0b3RhbGx5IGRpZmZlcmVudCBmcm9tIEdmdC4gXHBhcg0KXHBh
cg0KSSBndWVzcyB0aGlzIGlzIGEgZ29vZCBleGFtcGxlIG9mIHdoeSByZWdpc3RyYXRpb24gaXMg
YSBnb29kIGlkZWEgc28gbmFtaW5nIGlzc3VlcyBhcmUgYXZvaWRlZC4gUGVyaGFwcyB0aGUgb3Jp
Z2luYWwgIkNmZyIgbmFtZSB3YXMgYmVzdCBhZnRlcmFsbC5ccGFyDQpccGFyDQpJIGRvIG5vdCBr
bm93IHRoZSBwcm9jZWR1cmUgZm9yIHJlZ2lzdGVyaW5nIGEgc3Vic3lzdGVtIG5hbWUgd2l0aCBP
YmVyb24gbWljcm9zeXN0ZW1zIEFHLiBJcyBpdCBjb21wbGljYXRlZD9ccGFyDQpccGFyDQpJIGFt
IGxvb2tpbmcgZm9yd2FyZCB0byB5b3VyICJNeSIgc3Vic3lzdGVtIHN1Ym1pc3Npb24gYnV0IEkg
ZGlkIG5vdCBmaW5kIGl0IG9uIEguIFppbm4ncyBzaXRlIHlldC4gSSB1c2VkIHRoZSBsaW5rIHBy
b3ZpZGVkIG9uIHRoZSByZWdpc3RyYXRpb24gcGFnZSBmb3IgT2Jlcm9uIG1pY3Jvc3lzdGVtcyBB
RyAuXHBhcg0KXHBhcg0KQmFzZWQgb24geW91ciBvdGhlciBzdWJtaXNzaW9ucyB1bmRlciB5b3Vy
ICJHZnQiIHN1YnN5c3RlbSwgSSBhbSBzdXJlIGl0IHdvdWxkIGFkZHJlc3MgdGhlIGZvbGxvd2lu
ZyBwcm9ibGVtIGluIGEgbW9yZSBlbGVnYW50IGFuZCBiZXR0ZXIgd2F5IHRoZW4gdGhlIGZvbGxv
d2luZyBzb2x1dGlvbiBJIGRlY2lkZWQgb24uXHBhcg0KXHBhcg0KSSBlbmNvdW50ZXJlZCB0aGUg
cHJvYmxlbSBvZiBvcGVuaW5nIGFuIGV4aXN0aW5nIGZpbGUgYW5kIHJlbWVtYmVyaW5nIHRoZSBz
dWJkaXJlY3RvcnkgZnJvbSB3aGljaCBpdCB3YXMgb3BlbmVkIHNvIGFsbCBzdWJzZXF1ZW50IGZp
bGVzIGFyZSBjcmVhdGVkIGluIHRoYXQgc2FtZSBzdWJkaXJlY3RvcnkuXHBhcg0KXHBhcg0KSSBo
b3BlIEhlbG11dCBaaW5uIGRvZXMgbm90IG1pbmQgbWUgcG9zdGluZyB0aGlzIFdya0ZpbGVzIG1v
ZHVsZSBmcm9tIHRoZSB1cGNvbWluZyBHcmFtbWFyIEhlbHBlciBUb29sICgiR2h0Iikgd2hpY2gg
aGUgaXMgZXZhbHVhdGluZyBmb3IgaW5jbHVzaW9uIGluIGhpcyBDb21wb25lbnQgUGFzY2FsIENQ
QyBzaXRlLiBQZXJoYXBzIHRoZSBzdWJzeXN0ZW0gd2lsbCBiZSBuYW1lZCAiQ2ZnIiBhZnRlcmFs
bC4gSWYgc28sIHJlcGxhY2UgYWxsIEdodCByZWZlcmVuY2VzIGJlbG93IGJ5IENmZy4gXHBhcg0K
XHBhcg0KKCpccGFyDQpcJ2EwXCdhMFwnYTAgVGhpcyBwcm9ncmFtIChHaHQgc3Vic3lzdGVtKSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkJsYWNrQm94IENvbXBvbmVudCBCdWlsZGVyIE9wZW4g
U291cmNlIExpY2Vuc2UiLlxwYXINCiopXHBhcg0KXHBhcg0KTU9EVUxFIEdodFdya0ZpbGVzO1xw
YXINClwnYTBcJ2EwXCdhMCAoKiBDb3B5cmlnaHQgXCdhOSAyMDExIENhcmwgR2xhc3NiZXJnLCBI
ZWxtdXQgWmlubiAqKVxwYXINClxwYXINClwnYTBcJ2EwXCdhMCBJTVBPUlQgQ29udmVydGVycywg
RmlsZXMsIFRleHRWaWV3cywgVmlld3M7XHBhcg0KXHBhcg0KXCdhMFwnYTBcJ2EwIFZBUiBsb2Mw
OiBGaWxlcy5Mb2NhdG9yO1xwYXINClwnYTBcJ2EwXCdhMCBcJ2EwIFwnYTBcJ2EwXCdhMG5hbWUw
OiBGaWxlcy5OYW1lO1xwYXINClwnYTBcJ2EwXCdhMCBcJ2EwIFwnYTBcJ2EwXCdhMGNvbnYwOiBD
b252ZXJ0ZXJzLkNvbnZlcnRlcjtccGFyDQpccGFyDQpccGFyDQpcJ2EwXCdhMFwnYTAgUFJPQ0VE
VVJFIE9wZW5GaWxlKlxwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgKFZBUiBsb2M6IEZp
bGVzLkxvY2F0b3I7XHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMFwnYTBcJ2EwVkFSIG5h
bWU6IEZpbGVzLk5hbWU7XHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTAgXCdhMCBcJ2EwVkFSIGNvbnY6
IENvbnZlcnRlcnMuQ29udmVydGVyKTtccGFyDQpccGFyDQpcJ2EwXCdhMFwnYTBcJ2EwXCdhMFwn
YTBWQVIgdjogVmlld3MuVmlldztccGFyDQpccGFyDQpcJ2EwXCdhMFwnYTAgQkVHSU5ccGFyDQpc
J2EwXCdhMFwnYTAgXCdhMCB2IDo9IFZpZXdzLk9sZChWaWV3cy5hc2ssIGxvYywgbmFtZSwgY29u
dik7XHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTAgSUYgKHYgIyBOSUwpICYgKHYgSVMgVGV4dFZpZXdz
LlZpZXcpIFRIRU5ccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMCBcJ2EwIFZpZXdzLk9wZW4odiwgbG9j
LCBuYW1lLCBjb252KTtccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMCBcJ2EwIGxvYzAgOj0gbG9jO1xw
YXINClwnYTBcJ2EwXCdhMCBcJ2EwIFwnYTAgbmFtZTAgOj0gbmFtZSQ7XHBhcg0KXCdhMFwnYTBc
J2EwIFwnYTAgXCdhMCBjb252MCA6PSBjb252XHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTAgRU5EXHBh
cg0KXCdhMFwnYTBcJ2EwIEVORCBPcGVuRmlsZTtccGFyDQpccGFyDQpccGFyDQpcJ2EwXCdhMFwn
YTAgUFJPQ0VEVVJFIERvKjtccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMCBWQVJccGFyDQpcJ2EwXCdh
MFwnYTAgXCdhMCBcJ2EwIGxvYzogRmlsZXMuTG9jYXRvcjtccGFyDQpcJ2EwXCdhMFwnYTAgXCdh
MCBcJ2EwIG5hbWU6IEZpbGVzLk5hbWU7XHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTAgXCdhMCBjb252
OiBDb252ZXJ0ZXJzLkNvbnZlcnRlcjtccGFyDQpccGFyDQpcJ2EwXCdhMFwnYTAgQkVHSU5ccGFy
DQpcJ2EwXCdhMFwnYTAgXCdhMCBsb2MgOj0gTklMOyBuYW1lIDo9ICIiOyBjb252IDo9IE5JTDtc
cGFyDQpcJ2EwXCdhMFwnYTAgXCdhMCBPcGVuRmlsZShsb2MsIG5hbWUsIGNvbnYpXHBhcg0KXCdh
MFwnYTBcJ2EwIEVORCBEbztccGFyDQpccGFyDQpccGFyDQpcJ2EwXCdhMFwnYTAgUFJPQ0VEVVJF
IEdldCpccGFyDQpcJ2EwXCdhMFwnYTAgKFZBUiBsb2M6IEZpbGVzLkxvY2F0b3I7XHBhcg0KXCdh
MFwnYTBcJ2EwXCdhMFwnYTBWQVIgbmFtZTogRmlsZXMuTmFtZTtccGFyDQpcJ2EwXCdhMFwnYTBc
J2EwXCdhMFZBUiBjb252OiBDb252ZXJ0ZXJzLkNvbnZlcnRlcik7XHBhcg0KXCdhMFwnYTBcJ2Ew
IFxwYXINCigqIEdldCByZXR1cm5zIGN1cnJlbnQgbG9jLCBuYW1lLCBjb252IHZhbHVlcyAoZnJv
bSB0aGUgbW9zdCByZWNlbnQgY2FsbCB0byBPcGVuRmlsZSkgb3IgTklMLCAiIiwgTklMIHJlc3Au
IGlmIE9wZW5GaWxlIHdhcyBub3QgY2FsbGVkIG9yIHRoZSBmaWxlIG9wZW4gZmFpbGVkIG9yIHRo
ZSBvcGVuZWQgdmlldyB3YXMgbm90IGEgdGV4dCB2aWV3LiAqKVxwYXINClxwYXINClwnYTBcJ2Ew
XCdhMCBCRUdJTlxwYXINClwnYTBcJ2EwXCdhMCBcJ2EwIGxvYyA6PSBsb2MwO1xwYXINClwnYTBc
J2EwXCdhMCBcJ2EwIG5hbWUgOj0gbmFtZTAkO1xwYXINClwnYTBcJ2EwXCdhMCBcJ2EwIGNvbnYg
Oj0gY29udjBccGFyDQpcJ2EwXCdhMFwnYTAgRU5EIEdldDtccGFyDQpccGFyDQpCRUdJTlxwYXIN
ClwnYTAgbG9jMCA6PSBOSUw7XHBhcg0KXCdhMCBuYW1lMCA6PSAiIjtccGFyDQpcJ2EwIGNvbnYw
IDo9IE5JTFxwYXINCkVORCBHaHRXcmtGaWxlcyAuXHBhcg0KXHBhcg0KXHBhcg0KQW4gZXhhbXBs
ZSBvZiBpdCdzIHVzZSwgYXNzdW1pbmcgc29tZSBpbnB1dCBmaWxlIHdhcyBwcmV2aW91c2x5IG9w
ZW5lZCB3aXRoIEdodFdya0ZpbGVzLkRvXHBhcg0KVGhlIGZvbGxvd2luZyBmaWxlIGlzIGNyZWF0
ZWQgZnJvbSB0aGUgY3VycmVudCBmb2N1cyB2aWV3IGluIHRoYXQgc2FtZSBsb2NhdGlvbjpccGFy
DQouLi5ccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2EwIFZBUiB2OiBWaWV3cy5WaWV3O1xw
YXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2EwIGxvYzogRmlsZXMuTG9j
YXRvcjtccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBuYW1lOiBG
aWxlcy5OYW1lO1xwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2EwIGNv
bnY6IENvbnZlcnRlcnMuQ29udmVydGVyO1xwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAg
XCdhMFwnYTBcJ2EwIHJlczogSU5URUdFUjsgZG9uZTogQk9PTEVBTjtccGFyDQpcJ2EwXCdhMFwn
YTAgXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBmbjogQVJSQVkgNjQgT0YgQ0hBUjtccGFyDQpc
J2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBleHQ6IEFSUkFZIDggT0YgQ0hB
UjtccGFyDQpccGFyDQpccGFyDQpcJ2EwXCdhMFwnYTAgQkVHSU5ccGFyDQpcJ2EwXCdhMFwnYTAg
XCdhMCAuLi5ccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMCBHaHRXcmtGaWxlcy5HZXQobG9jLCBuYW1l
LCBjb252KVxwYXINClwnYTAgXCdhMCBcJ2EwIElGIGxvYyAjIE5JTCBUSEVOXHBhcg0KXCdhMFwn
YTBcJ2EwIFwnYTAgXCdhMCBULkdldEZORXh0KG5hbWUsIGZuLCBleHQsIGRvbmUpO1xwYXINClwn
YTBcJ2EwXCdhMCBcJ2EwIFwnYTAgSUYgZG9uZSAmIChleHQkID0gIm9kYyIpIFRIRU5ccGFyDQpc
J2EwXCdhMFwnYTAgXCdhMCBcJ2EwIFwnYTAgbmFtZSA6PSBmbiQgKyAic29tZXRoaW5naGVyZSIg
KyAiLiIgKyBleHQkO1xwYXINClwnYTBcJ2EwXCdhMCBcJ2EwIFwnYTAgXCdhMCB2IDo9IENvbnRy
b2xsZXJzLkZvY3VzVmlldygpO1xwYXINClwnYTBcJ2EwXCdhMCBcJ2EwIFwnYTAgXCdhMCBWaWV3
cy5SZWdpc3Rlcih2LCBWaWV3cy5kb250QXNrLCBsb2MsIG5hbWUsIGNvbnYsIHJlcylccGFyDQpc
J2EwXCdhMFwnYTAgXCdhMCBcJ2EwIEVORCAoKiBpZiAqKVxwYXINClwnYTBcJ2EwXCdhMCBcJ2Ew
IEVORCAoKiBpZiAqKVxwYXINClwnYTBcJ2EwXCdhMCAuLi5cJ2EwXCdhMFwnYTAgXHBhcg0KXCdh
MFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBccGFyDQpTaW5jZXJlbHlccGFyDQpDYXJsIEdsYXNzYmVy
Z1xwYXINClxwYXINClxwYXINCi0tLSBPbiBTdW4sIDEvMS8xMiwgRG91Z2xhcyBHLiBEYW5mb3J0
aCA8ZGFuZm9ydGhAR1JFRU5XT09ERkFSTS5DT00+IHdyb3RlOlxwYXINClxwYXINCkZyb206ICJE
b3VnbGFzIEcuIERhbmZvcnRoIiA8ZGFuZm9ydGhAR1JFRU5XT09ERkFSTS5DT00+XHBhcg0KVG86
IEJMQUNLQk9YQExJU1RTLk9CRVJPTi5DSFxwYXINCkRhdGU6IFN1bmRheSwgSmFudWFyeSAxLCAy
MDEyIDQ6MTYgUE1ccGFyDQpccGFyDQo+IEZvbGtzLFxwYXINClxwYXINCj4gSSBoYXZlIHJlZ2lz
dGVyZWQgYSBuZXcgc3Vic3lzdGVtIGNhbGxlZCAiTXkiIHdob3NlIGludGVudFxwYXINCj4gaXMg
dG8gc2ltcGxpZnkgdGhlIGludGVyYWN0aW9uIHdpdGggdGhlIEJsYWNrQm94IGZyYW1ld29yay5c
cGFyDQpccGFyDQo+IFRoZSBmaXJzdCBtb2R1bGUgaXMgIk15RmlsZXMiIHdoaWNoIGNvbWJpbmVz
IChhbmQgaGlkZXMpXHBhcg0KPiBmaWxlcyBhbmQgbG9jYXRvcnMuXCdhMCBNeUZpbGVzIG1ha2Vz
IHN5bW1ldHJpYyB0aGUgb3BlbmluZyBhbmRccGFyDQo+IGNsb3Npbmcgb2Ygb2xkIGFuZCBuZXcg
ZmlsZXMuXCdhMCBUaGUgY2xvc2Ugb2YgYSBuZXcgZmlsZSBhdXRvbWF0aWNhbGx5XHBhcg0KPiBy
ZWdpc3RlcnMgdGhlIGZpbGUuXCdhMCBJZiBvbmUgcmVhbGx5IG5lZWRzIGFjY2VzcyB0byBhIGZp
bGUgb3IgbG9jYXRvclxwYXINCj4gdGhleSBhcmUgZXhwb3J0ZWQgcmVhZCBvbmx5LlxwYXINClxw
YXINCj4gSSBoYXZlIGZvdW5kIE15RmlsZXMgdG8gZ3JlYXRseSBzaW1wbGlmeSBteSBwcm9ncmFt
bWluZyBvZlxwYXINCj4gZmlsZSBoYW5kbGluZy5ccGFyDQpccGFyDQo+IEkgd2lsbCBldmVudHVh
bGx5IHJlbGVhc2UgIk15UHJvamVjdCIgd2hpY2ggYnVpbGRzIHN5c3RlbXMgYmFzZWRccGFyDQo+
IG9uIGEgc2luZ2xlIHJvb3QgKG1haW4pIG1vZHVsZS5cJ2EwIENvbXBpbGF0aW9uLCB1bmxvYWRp
bmcsIGFuZFxwYXINCj4gZXhlY3V0YWJsZSBnZW5lcmF0aW9uIGlzIGhhbmRsZWQgYXV0b21hdGlj
YWxseSB2aWEgc2Nhbm5pbmdccGFyDQo+IG9mIGltcG9ydHMsIG1lbnVzLCBhbmQgZm9ybXMuXHBh
cg0KXHBhcg0KPiBNb3JlIGxhdGVyLlxwYXINClxwYXINCj4gSGFwcHkgTmV3IFllYXIgZXZlcnlv
bmUhXHBhcg0KXHBhcg0KPiAtRG91ZyBEYW5mb3J0aFxwYXINClxwYXINClxwYXINClxwYXINClxw
YXINCj4gVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNzYWdlIHdpdGggYm9keSAiU0lHTk9GRlxw
YXINCj4gQkxBQ0tCT1giIHRvIExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSFxwYXINCj4gXHBhcg0K
XHBhcg0KXHBhcg0KLS0tLVxwYXINClRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRo
IGJvZHkgIlNJR05PRkYgQkxBQ0tCT1giIHRvIExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSFxwYXIN
Cn0
----boundary-LibPST-iamunique-481509805_-_---
Received on Tue Jan 03 2012 - 10:52:21 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:09 UTC