anchor.diff:    try
       oraSession.connectString := aConnectString;
       oraSession.Open;
  +
       initStops(oraSession);
       initTimeTable(oraSession);
       initChargerTypes(oraSession);
  
positive.code:       active: Boolean;
        selectedEvent: TJSONValue;
        brush: TJSONValue;
      begin
        if aPayload.TryGetValue<boolean>('active', active) then
        begin
          // layer.live[aClient] := not active;
        end;
        if aPayload.TryGetValue<string>('selectedTime', selectedTime) then
        begin
          fTimeSliderTimer.Arm(DateTimeDelta2HRT(0.1*dtOneSecond),
            procedure (aTimer: TTimer; aTime: THighResTicks)
            begin
              fSantosLayer.handleNewTime(aClient, selectedTime);
            end);
        end;
        if aPayload.TryGetValue<TJSONValue>('selectedEvent', selectedEvent) then
        begin
            fSantosLayer.HandleSelectedEvent(aClient, selectedEvent);
        end;
        if aPayload.TryGetValue<TJSONValue>('brush', brush) then
        begin  // Time range selection
          Log.WriteLn('brush: '+brush.toJSON, llWarning);
        end;
      end);
    // Add the layer
    fProjectCurrentScenario.AddLayer(fSantosLayer);
  end;
  
  procedure TSantosProject.ReadChartBlockSoC(aSession: TOraSession; const aTablePrefix: string);
  var
    zero: TDateTime;
    minOfDay: Integer;
  
negative.code:   private
      fTimeSliderTimer: TTimer;
      fCurrentBusBlock: Integer;
      fSantosLayers: TObjectDictionary<TScenario, TSantosLayer>; // ref
      fBaseDay: Array of Word;
    protected
      function  ReadScenario(const aID: string): TScenario; override;
      procedure ReadChartBlockSoC(aSession: TOraSession; aScenario: TScenario; const aTablePrefix: string);
      procedure ReadChartChargerTotalPower(aSession: TOraSession; aScenario: TScenario; const aTablePrefix: string; aCharger: Integer);
    public
      procedure ReadBasicData(); override;
      procedure handleClientMessage(aClient: TClient; aScenario: TScenario; aJSONObject: TJSONObject); override;
    end;
  
  implementation
  
  const
    // TODO: DB Legend? Ini?
    NoChargeColor: TAlphaRGBPixel = $FFFF0000;
    LowChargeColor: TAlphaRGBPixel = $FFFFA500;
    MediumChargeColor: TAlphaRGBPixel = $FFFFFF00;
    HighChargeColor: TAlphaRGBPixel = $FF008000;
    Nothing: TAlphaRGBPixel = $AAAAAAAA;
  
  function SantosTimeToDateTime(const aTime: string; aBaseDay: Array of word): TDateTime;
  var
  