// Path: sherlock/src/main/java/com/singhajit/sherlock/core/investigation/AppInfo.java
// public class AppInfo {
//   private List<Pair> appDetails = new ArrayList<>();
// 
//   private AppInfo(List<Pair> appDetails) {
//     this.appDetails = appDetails;
//   }
// 
//   public Map<String, String> getAppDetails() {
//     TreeMap<String, String> details = new TreeMap<>();
//     for (Pair pair : appDetails) {
//       details.put(pair.getKey(), pair.getVal());
//     }
//     return details.descendingMap();
//   }
// 
//   public static class Builder {
//     List<Pair> appDetails = new ArrayList<>();
// 
//     public Builder with(String key, String value) {
//       appDetails.add(new Pair(key, value));
//       return this;
//     }
// 
//     public AppInfo build() {
//       return new AppInfo(appDetails);
//     }
//   }
// }
// 
// Path: sherlock/src/main/java/com/singhajit/sherlock/core/investigation/AppInfoProvider.java
// public interface AppInfoProvider {
//   AppInfo getAppInfo();
// }
// 
// Path: sherlock-no-op/src/main/java/com/singhajit/sherlock/core/investigation/Crash.java
// public class Crash {
//   public static final String DATE_FORMAT = "EEE MMM dd kk:mm:ss z yyyy";
// 
//   public Crash(String place, String reason, String stackTrace) {
//   }
// 
//   public Crash(int id, String placeOfCrash, String reasonOfCrash, String stacktrace, String date) {
//   }
// 
//   public DeviceInfo getDeviceInfo() {
//     return new DeviceInfo.Builder().build();
//   }
// 
//   public AppInfo getAppInfo() {
//     return new AppInfo();
//   }
// 
//   public void setId(int id) {
//   }
// 
//   public Class<Crash> getType() {
//     return Crash.class;
//   }
// 
//   public String getReason() {
//     return "";
//   }
// 
//   public String getStackTrace() {
//     return "";
//   }
// 
//   public String getPlace() {
//     return "";
//   }
// 
//   public int getId() {
//     return 0;
//   }
// 
//   public Date getDate() {
//     return new Date();
//   }
// }


import android.content.Context;
import com.singhajit.sherlock.core.investigation.AppInfo;
import com.singhajit.sherlock.core.investigation.AppInfoProvider;
import com.singhajit.sherlock.core.investigation.Crash;
import java.util.ArrayList;
import java.util.List;
package com.singhajit.sherlock.core;




public class Sherlock {
  public static void init(final Context context) {
  }

  public static boolean isInitialized() {
    return false;
  }

  public static Sherlock getInstance() {
    return new Sherlock();
  }

  public List<Crash> getAllCrashes() {
    return new ArrayList<>();
  }

  public static void setAppInfoProvider(AppInfoProvider appInfoProvider) {
  }

  public AppInfoProvider getAppInfoProvider() {
    return new AppInfoProvider() {
      @Override
// Path: sherlock/src/main/java/com/singhajit/sherlock/core/investigation/AppInfo.java
// public class AppInfo {
//   private List<Pair> appDetails = new ArrayList<>();
// 
//   private AppInfo(List<Pair> appDetails) {
//     this.appDetails = appDetails;
//   }
// 
//   public Map<String, String> getAppDetails() {
//     TreeMap<String, String> details = new TreeMap<>();
//     for (Pair pair : appDetails) {
//       details.put(pair.getKey(), pair.getVal());
//     }
//     return details.descendingMap();
//   }
// 
//   public static class Builder {
//     List<Pair> appDetails = new ArrayList<>();
// 
//     public Builder with(String key, String value) {
//       appDetails.add(new Pair(key, value));
//       return this;
//     }
// 
//     public AppInfo build() {
//       return new AppInfo(appDetails);
//     }
//   }
// }
// 
// Path: sherlock/src/main/java/com/singhajit/sherlock/core/investigation/AppInfoProvider.java
// public interface AppInfoProvider {
//   AppInfo getAppInfo();
// }
// 
// Path: sherlock-no-op/src/main/java/com/singhajit/sherlock/core/investigation/Crash.java
// public class Crash {
//   public static final String DATE_FORMAT = "EEE MMM dd kk:mm:ss z yyyy";
// 
//   public Crash(String place, String reason, String stackTrace) {
//   }
// 
//   public Crash(int id, String placeOfCrash, String reasonOfCrash, String stacktrace, String date) {
//   }
// 
//   public DeviceInfo getDeviceInfo() {
//     return new DeviceInfo.Builder().build();
//   }
// 
//   public AppInfo getAppInfo() {
//     return new AppInfo();
//   }
// 
//   public void setId(int id) {
//   }
// 
//   public Class<Crash> getType() {
//     return Crash.class;
//   }
// 
//   public String getReason() {
//     return "";
//   }
// 
//   public String getStackTrace() {
//     return "";
//   }
// 
//   public String getPlace() {
//     return "";
//   }
// 
//   public int getId() {
//     return 0;
//   }
// 
//   public Date getDate() {
//     return new Date();
//   }
// }


// Path: sherlock-no-op/src/main/java/com/singhajit/sherlock/core/Sherlock.java
import android.content.Context;
import com.singhajit.sherlock.core.investigation.AppInfo;
import com.singhajit.sherlock.core.investigation.AppInfoProvider;
import com.singhajit.sherlock.core.investigation.Crash;
import java.util.ArrayList;
import java.util.List;

package com.singhajit.sherlock.core;




public class Sherlock {
  public static void init(final Context context) {
  }

  public static boolean isInitialized() {
    return false;
  }

  public static Sherlock getInstance() {
    return new Sherlock();
  }

  public List<Crash> getAllCrashes() {
    return new ArrayList<>();
  }

  public static void setAppInfoProvider(AppInfoProvider appInfoProvider) {
  }

  public AppInfoProvider getAppInfoProvider() {
    return new AppInfoProvider() {
      @Override
      public AppInfo getAppInfo() {