package com.example.creation;

import a.Action;
import a.FirebaseUserActions;
import a.Actions;
import a.FirebaseAppIndex;
import a.Indexable;

import android.app.Activity;

public class MainActivity extends Activity {
  <caret>
}
