# Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

# Keep the application entry point. Get rid of everything that is not
# reachable from there.
-keep public class shaking12.Shaking {
  public static void main(...);
}

# Keep the constructors that are used via newInstance.
-keep public class shaking12.ThingClass,shaking12.PeopleClass {
  <init>(...);
}

# allow access modification to enable minifcation
-allowaccessmodification