anchor.diff:  type
     TFslTimeSpan = Double;
   
  -  TFSLTimeZone = class (TFslObject)
  +  TFslTimeZone = record
     private
       FZone : String;
       FDetails : TBundledTimeZone;
  +    constructor Create(zone : String);
     public
  -    constructor Create(zone : String);
  -    class function Local: TFslTimeZone;
  +    class function other(zone : String) : TFslTimeZone; overload; static;
  +    class function local : TFslTimeZone; overload; static;
   
       function GetUtcOffset(const ADateTime: TDateTime): TFslTimeSpan; inline;
       function ToLocalTime(const ADateTime: TDateTime): TDateTime;
  
positive.code:   result := FDetails.ToUniversalTime(ADateTime);
  end;
  
  class function TFslTimeZone.Local: TFslTimeZone;
  begin
    result := TFslTimeZone.create('');
  end;
  
  Initialization
  
negative.code: end;
  
  Function TimeZoneBias(where : String) : TDateTime;
  begin
    result := TFslTimeZone.other(where).GetUtcOffset(now);
  end;
  
  Function TimeZoneBias(where : String; when : TDateTime) : TDateTime; Overload;
  begin
    result := TFslTimeZone.other(where).GetUtcOffset(when);
  end;
  
  
  