@@ -0,0 +1,1566 @@
+package neko;%0A%0Aimport android.util.Log;%0Aimport clojure.java.api.Clojure;%0Aimport clojure.lang.Var;%0Aimport clojure.lang.IFn;%0A%0Apublic class Application extends android.app.Application %7B%0A%0A    private static String TAG = %22neko.Application%22;%0A    public static Application instance;%0A%0A    @Override%0A    public void onCreate() %7B%0A        instance = this;%0A    %7D%0A%0A    // This method is only necessary for asynchronous loading. Clojure is%0A    // perfectly capable of loading itself the first time anything from it is%0A    // called.%0A    public static void loadClojure() %7B%0A        IFn load = Clojure.var(%22clojure.core%22, %22load%22);%0A        load.invoke(%22/neko/init%22);%0A%0A        IFn init = Clojure.var(%22neko.init%22, %22init%22);%0A        init.invoke(instance);%0A    %7D%0A%0A    public static void loadAsynchronously(final String activityClass, final Runnable callback) %7B%0A        new Thread(Thread.currentThread().getThreadGroup(),%0A                   new Runnable()%7B%0A                       @Override%0A                       public void run() %7B%0A                           loadClojure();%0A%0A                           try %7B%0A                               Class.forName(activityClass);%0A                           %7D catch (ClassNotFoundException e) %7B%0A                               Log.e(TAG, %22Failed loading activity %22 + activityClass, e);%0A                           %7D%0A%0A                           callback.run();%0A                       %7D%0A                   %7D,%0A                   %22ClojureLoadingThread%22,%0A                   1048576 // = 1MB, thread stack size in bytes%0A                   ).start();%0A    %7D%0A%0A%7D%0A

Create neko.Application class