// Path: src/com/painless/glclock/Debug.java
// public class Debug {
// 
// 	private static final String TAG = "ClockGL";
// 
// 	public static void log(Object msg) {
// 		Log.e(getTag(), msg + "");
// 	}
// 
// 	public static void log(Throwable err) {
// 		Log.e(getTag(), err.getMessage() + " ");
// 		err.printStackTrace();
// 	}
// 
// 	private static String getTag() {
// 		boolean startFound = false;
// 		String className = Debug.class.getName();
// 
// 		StackTraceElement[] trace = Thread.currentThread().getStackTrace();
// 		for(StackTraceElement item : trace){
// 			if (item.getClassName().equals(className)) {
// 				startFound = true;
// 			} else if (startFound) {
// 				return String.format(
// 						"[%s/%s/%s]", item.getFileName(), item.getMethodName(), item.getLineNumber());
// 			}
// 		}
// 
// 		return TAG;
// 	}
// }


import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import com.painless.glclock.Debug;
import com.painless.glclock.R;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Calendar;

			line = line.split("#")[0].trim();

			final String[] parts = line.split(";");

			final ArrayList<ArrayList<Rect>> ret = new ArrayList<ArrayList<Rect>>();
			for (final String part : parts) {
				final ArrayList<Rect> lst = new ArrayList<Rect>();

				String[] defs = part.split("-");
				final Rect mainIcon = iconDefs.get(Integer.parseInt(defs[0]));
				defs = defs[1].split(":");

				lst.add(mainIcon);
				for (final String def : defs) {
					final String[] points = def.split(",");
					if (points.length > 3) {
						lst.add(getRect(points));
					} else {
						final Rect pos = new Rect(mainIcon);
						pos.offsetTo(Integer.parseInt(points[0]), Integer.parseInt(points[1]));
						lst.add(pos);
					}
				}

				ret.add(lst);
			}
			return ret;

		} catch (final Exception e) {
// Path: src/com/painless/glclock/Debug.java
// public class Debug {
// 
// 	private static final String TAG = "ClockGL";
// 
// 	public static void log(Object msg) {
// 		Log.e(getTag(), msg + "");
// 	}
// 
// 	public static void log(Throwable err) {
// 		Log.e(getTag(), err.getMessage() + " ");
// 		err.printStackTrace();
// 	}
// 
// 	private static String getTag() {
// 		boolean startFound = false;
// 		String className = Debug.class.getName();
// 
// 		StackTraceElement[] trace = Thread.currentThread().getStackTrace();
// 		for(StackTraceElement item : trace){
// 			if (item.getClassName().equals(className)) {
// 				startFound = true;
// 			} else if (startFound) {
// 				return String.format(
// 						"[%s/%s/%s]", item.getFileName(), item.getMethodName(), item.getLineNumber());
// 			}
// 		}
// 
// 		return TAG;
// 	}
// }


// Path: src/com/painless/glclock/util/WeatherUtil.java
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import com.painless.glclock.Debug;
import com.painless.glclock.R;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Calendar;


			line = line.split("#")[0].trim();

			final String[] parts = line.split(";");

			final ArrayList<ArrayList<Rect>> ret = new ArrayList<ArrayList<Rect>>();
			for (final String part : parts) {
				final ArrayList<Rect> lst = new ArrayList<Rect>();

				String[] defs = part.split("-");
				final Rect mainIcon = iconDefs.get(Integer.parseInt(defs[0]));
				defs = defs[1].split(":");

				lst.add(mainIcon);
				for (final String def : defs) {
					final String[] points = def.split(",");
					if (points.length > 3) {
						lst.add(getRect(points));
					} else {
						final Rect pos = new Rect(mainIcon);
						pos.offsetTo(Integer.parseInt(points[0]), Integer.parseInt(points[1]));
						lst.add(pos);
					}
				}

				ret.add(lst);
			}
			return ret;

		} catch (final Exception e) {
			Debug.log(e);