anchor.diff:      fSourceProjection: TGIS_CSProjectedCoordinateSystem; // ref
       fTablePrefix: String;
       fBlockID: Integer;
  -    fSoCPalette: TRampPalette;
  +    fSoCPalette: TWDPalette;
       fTimeSliderTimer: TTimer;
       fBaseDay: array of word; // [d,m,y]
       fChargerTypes: TStrings;
  
positive.code:   fBusData := TBusData.Create;
    fSliderData := TSliderData.Create;
  
    setlength(entries, 7);
    entries[0] := TRampPaletteEntry.Create(NoChargeColor, 0, '0');
    entries[1] := TRampPaletteEntry.Create(NoChargeColor, 10, '10');
  
negative.code:   entries[5] := TRampPaletteEntry.Create(HighChargeColor, 90, '');
    entries[6] := TRampPaletteEntry.Create(HighChargeColor, 100, '100');
    fSoCPalette := TRampPalette.Create('State of Charge', entries, Nothing, Nothing, HighChargeColor);
    legendJSON := BuildRamplLegendJSON(fSoCPalette);
    }
  
    setlength(entries, 3);
    entries[0] := TDiscretePaletteEntry.Create(TGeoColors.Create(RGBToAlphaColor(255, 0, 0)), 0, 25, '0-25%');
    entries[1] := TDiscretePaletteEntry.Create(TGeoColors.Create(RGBToAlphaColor(255, 204, 0)), 25, 35, '25-35%');
    entries[2] := TDiscretePaletteEntry.Create(TGeoColors.Create(RGBToAlphaColor(51, 204, 51)), 35, 100, '35-100%');
  
    fSoCPalette := TDiscretePalette.Create('State of Charge', entries, TGeoColors.Create($AAAAAAAA));
    legendJSON := BuildDiscreteLegendJSON(fSoCPalette as TDiscretePalette, TLegendFormat.lfVertical);
  
    oraSession := TOraSession.Create(nil);
    try
  