package org.auie.utils;

import java.lang.reflect.InvocationTargetException;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.Paint.FontMetricsInt;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.text.Html;
import android.text.TextPaint;
import android.util.Log;
import android.view.View;
import android.view.ViewTreeObserver.OnPreDrawListener;

public class UEFontAwesome {

	private static UEFontAwesome instance;
	private static Typeface typeface;
	private static Context context;
	
	private UEFontAwesome(Context context){
		UEFontAwesome.context = context;
	}
	
	public static UEFontAwesome getInstance(Context context){
		if (instance == null) {
			instance = new UEFontAwesome(context);
			typeface = Typeface.createFromAsset(context.getAssets(), "fonts/fontawesome.ttf");
		}
		return instance;
	}
	
	public void setText(View view, String text){
		try {
			view.getClass().getMethod("setTypeface", Typeface.class).invoke(view, typeface);
			view.getClass().getMethod("setText", CharSequence.class).invoke(view, Html.fromHtml(text));
		} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException e) {
			Log.w(UE.TAG, "此view不存在setText或setTypeface方法");
		}
	}
	
	public void setDrawable(View view, String icon){
		try {
			view.getClass().getMethod("setImageDrawable", Drawable.class).invoke(view, new UEFontAwesomeDrawable(context, view, icon));
		} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException e) {
			Log.w(UE.TAG, "此view不存在setImageDrawable方法");
		}
	}
	
	public void setDrawable(View view, String icon, int color){
		try {
			view.getClass().getMethod("setImageDrawable", Drawable.class).invoke(view, new UEFontAwesomeDrawable(context, view, icon));
		} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException e) {
			Log.w(UE.TAG, "此view不存在setImageDrawable方法");
		}
	}
	
	class UEFontAwesomeDrawable extends Drawable{

		private FontMetricsInt mFontMetrics;
		private TextPaint mTextPaint;
		private String text;
		private int width;
		private int height;
		
		public UEFontAwesomeDrawable(Context context, final View view, String text, int color) {
			this.text = Html.fromHtml(text).toString();
			mTextPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
			mTextPaint.setTypeface(typeface);
			mTextPaint.setDither(true);
			mTextPaint.setColor(color);
			mTextPaint.setTextAlign(Paint.Align.CENTER);
			mTextPaint.measureText(text);
			view.getViewTreeObserver().addOnPreDrawListener(new OnPreDrawListener() {
				@Override
				public boolean onPreDraw() {
					width = view.getWidth();
					height = view.getHeight();
					mTextPaint.setTextSize(Math.min(width, height));
					view.getViewTreeObserver().removeOnPreDrawListener(this);
					return false;
				}
			});
		}
		
		public UEFontAwesomeDrawable(Context context, final View view, String text) {
			this(context, view, text, Color.BLACK);
		}
		
		@Override
		public void draw(Canvas canvas) {
			mFontMetrics = mTextPaint.getFontMetricsInt();
			int baseline = (mFontMetrics.bottom - mFontMetrics.top + height) / 2 - mFontMetrics.bottom;
			canvas.drawText(text, width/2, baseline, mTextPaint);
		}

		@Override
		public void setAlpha(int alpha) {
			mTextPaint.setAlpha(alpha);
		}

		@Override
		public void setColorFilter(ColorFilter cf) {
			mTextPaint.setColorFilter(cf);
		}
		
		public void setColor(int color) {
			mTextPaint.setColor(color);
		}

		@Override
		public int getOpacity() {
			return 0;
		}

	}
	
	public static final String FA_ADJUST = "";
	public static final String FA_ADN = "";
	public static final String FA_ALIGN_CENTER = "";
	public static final String FA_ALIGN_JUSTIFY = "";
	public static final String FA_ALIGN_LEFT = "";
	public static final String FA_ALIGN_RIGHT = "";
	public static final String FA_AMBULANCE = "";
	public static final String FA_ANCHOR = "";
	public static final String FA_ANDROID = "";
	public static final String FA_ANGELLIST = "";
	public static final String FA_ANGLE_DOUBLE_DOWN = "";
	public static final String FA_ANGLE_DOUBLE_LEFT = "";
	public static final String FA_ANGLE_DOUBLE_RIGHT = "";
	public static final String FA_ANGLE_DOUBLE_UP = "";
	public static final String FA_ANGLE_DOWN = "";
	public static final String FA_ANGLE_LEFT = "";
	public static final String FA_ANGLE_RIGHT = "";
	public static final String FA_ANGLE_UP = "";
	public static final String FA_APPLE = "";
	public static final String FA_ARCHIVE = "";
	public static final String FA_AREA_CHART = "";
	public static final String FA_ARROW_CIRCLE_DOWN = "";
	public static final String FA_ARROW_CIRCLE_LEFT = "";
	public static final String FA_ARROW_CIRCLE_O_DOWN = "";
	public static final String FA_ARROW_CIRCLE_O_LEFT = "";
	public static final String FA_ARROW_CIRCLE_O_RIGHT = "";
	public static final String FA_ARROW_CIRCLE_O_UP = "";
	public static final String FA_ARROW_CIRCLE_RIGHT = "";
	public static final String FA_ARROW_CIRCLE_UP = "";
	public static final String FA_ARROW_DOWN = "";
	public static final String FA_ARROW_LEFT = "";
	public static final String FA_ARROW_RIGHT = "";
	public static final String FA_ARROW_UP = "";
	public static final String FA_ARROWS = "";
	public static final String FA_ARROWS_ALT = "";
	public static final String FA_ARROWS_H = "";
	public static final String FA_ARROWS_V = "";
	public static final String FA_ASTERISK = "";
	public static final String FA_AT = "";
	public static final String FA_AUTOMOBILE = "";
	public static final String FA_BACKWARD = "";
	public static final String FA_BAN = "";
	public static final String FA_BANK = "";
	public static final String FA_BAR_CHART = "";
	public static final String FA_BAR_CHART_O = "";
	public static final String FA_BARCODE = "";
	public static final String FA_BARS = "";
	public static final String FA_BEER = "";
	public static final String FA_BEHANCE = "";
	public static final String FA_BEHANCE_SQUARE = "";
	public static final String FA_BELL = "";
	public static final String FA_BELL_O = "";
	public static final String FA_BELL_SLASH = "";
	public static final String FA_BELL_SLASH_O = "";
	public static final String FA_BICYCLE = "";
	public static final String FA_BINOCULARS = "";
	public static final String FA_BIRTHDAY_CAKE = "";
	public static final String FA_BITBUCKET = "";
	public static final String FA_BITBUCKET_SQUARE = "";
	public static final String FA_BITCOIN = "";
	public static final String FA_BOLD = "";
	public static final String FA_BOLT = "";
	public static final String FA_BOMB = "";
	public static final String FA_BOOK = "";
	public static final String FA_BOOKMARK = "";
	public static final String FA_BOOKMARK_O = "";
	public static final String FA_BRIEFCASE = "";
	public static final String FA_BTC = "";
	public static final String FA_BUG = "";
	public static final String FA_BUILDING = "";
	public static final String FA_BUILDING_O = "";
	public static final String FA_BULLHORN = "";
	public static final String FA_BULLSEYE = "";
	public static final String FA_BUS = "";
	public static final String FA_CAB = "";
	public static final String FA_CALCULATOR = "";
	public static final String FA_CALENDAR = "";
	public static final String FA_CALENDAR_O = "";
	public static final String FA_CAMERA = "";
	public static final String FA_CAMERA_RETRO = "";
	public static final String FA_CAR = "";
	public static final String FA_CARET_DOWN = "";
	public static final String FA_CARET_LEFT = "";
	public static final String FA_CARET_RIGHT = "";
	public static final String FA_CARET_SQUARE_O_DOWN = "";
	public static final String FA_CARET_SQUARE_O_LEFT = "";
	public static final String FA_CARET_SQUARE_O_RIGHT = "";
	public static final String FA_CARET_SQUARE_O_UP = "";
	public static final String FA_CARET_UP = "";
	public static final String FA_CC = "";
	public static final String FA_CC_AMEX = "";
	public static final String FA_CC_DISCOVER = "";
	public static final String FA_CC_MASTERCARD = "";
	public static final String FA_CC_PAYPAL = "";
	public static final String FA_CC_STRIPE = "";
	public static final String FA_CC_VISA = "";
	public static final String FA_CERTIFICATE = "";
	public static final String FA_CHAIN = "";
	public static final String FA_CHAIN_BROKEN = "";
	public static final String FA_CHECK = "";
	public static final String FA_CHECK_CIRCLE = "";
	public static final String FA_CHECK_CIRCLE_O = "";
	public static final String FA_CHECK_SQUARE = "";
	public static final String FA_CHECK_SQUARE_O = "";
	public static final String FA_CHEVRON_CIRCLE_DOWN = "";
	public static final String FA_CHEVRON_CIRCLE_LEFT = "";
	public static final String FA_CHEVRON_CIRCLE_RIGHT = "";
	public static final String FA_CHEVRON_CIRCLE_UP = "";
	public static final String FA_CHEVRON_DOWN = "";
	public static final String FA_CHEVRON_LEFT = "";
	public static final String FA_CHEVRON_RIGHT = "";
	public static final String FA_CHEVRON_UP = "";
	public static final String FA_CHILD = "";
	public static final String FA_CIRCLE = "";
	public static final String FA_CIRCLE_O = "";
	public static final String FA_CIRCLE_O_NOTCH = "";
	public static final String FA_CIRCLE_THIN = "";
	public static final String FA_CLIPBOARD = "";
	public static final String FA_CLOCK_O = "";
	public static final String FA_CLOSE = "";
	public static final String FA_CLOUD = "";
	public static final String FA_CLOUD_DOWNLOAD = "";
	public static final String FA_CLOUD_UPLOAD = "";
	public static final String FA_CNY = "";
	public static final String FA_CODE = "";
	public static final String FA_CODE_FORK = "";
	public static final String FA_CODEPEN = "";
	public static final String FA_COFFEE = "";
	public static final String FA_COG = "";
	public static final String FA_COGS = "";
	public static final String FA_COLUMNS = "";
	public static final String FA_COMMENT = "";
	public static final String FA_COMMENT_O = "";
	public static final String FA_COMMENTS = "";
	public static final String FA_COMMENTS_O = "";
	public static final String FA_COMPASS = "";
	public static final String FA_COMPRESS = "";
	public static final String FA_COPY = "";
	public static final String FA_COPYRIGHT = "";
	public static final String FA_CREDIT_CARD = "";
	public static final String FA_CROP = "";
	public static final String FA_CROSSHAIRS = "";
	public static final String FA_CSS3 = "";
	public static final String FA_CUBE = "";
	public static final String FA_CUBES = "";
	public static final String FA_CUT = "";
	public static final String FA_CUTLERY = "";
	public static final String FA_DASHBOARD = "";
	public static final String FA_DATABASE = "";
	public static final String FA_DEDENT = "";
	public static final String FA_DELICIOUS = "";
	public static final String FA_DESKTOP = "";
	public static final String FA_DEVIANTART = "";
	public static final String FA_DIGG = "";
	public static final String FA_DOLLAR = "";
	public static final String FA_DOT_CIRCLE_O = "";
	public static final String FA_DOWNLOAD = "";
	public static final String FA_DRIBBBLE = "";
	public static final String FA_DROPBOX = "";
	public static final String FA_DRUPAL = "";
	public static final String FA_EDIT = "";
	public static final String FA_EJECT = "";
	public static final String FA_ELLIPSIS_H = "";
	public static final String FA_ELLIPSIS_V = "";
	public static final String FA_EMPIRE = "";
	public static final String FA_ENVELOPE = "";
	public static final String FA_ENVELOPE_O = "";
	public static final String FA_ENVELOPE_SQUARE = "";
	public static final String FA_ERASER = "";
	public static final String FA_EUR = "";
	public static final String FA_EURO = "";
	public static final String FA_EXCHANGE = "";
	public static final String FA_EXCLAMATION = "";
	public static final String FA_EXCLAMATION_CIRCLE = "";
	public static final String FA_EXCLAMATION_TRIANGLE = "";
	public static final String FA_EXPAND = "";
	public static final String FA_EXTERNAL_LINK = "";
	public static final String FA_EXTERNAL_LINK_SQUARE = "";
	public static final String FA_EYE = "";
	public static final String FA_EYE_SLASH = "";
	public static final String FA_EYEDROPPER = "";
	public static final String FA_FACEBOOK = "";
	public static final String FA_FACEBOOK_SQUARE = "";
	public static final String FA_FAST_BACKWARD = "";
	public static final String FA_FAST_FORWARD = "";
	public static final String FA_FAX = "";
	public static final String FA_FEMALE = "";
	public static final String FA_FIGHTER_JET = "";
	public static final String FA_FILE = "";
	public static final String FA_FILE_ARCHIVE_O = "";
	public static final String FA_FILE_AUDIO_O = "";
	public static final String FA_FILE_CODE_O = "";
	public static final String FA_FILE_EXCEL_O = "";
	public static final String FA_FILE_IMAGE_O = "";
	public static final String FA_FILE_MOVIE_O = "";
	public static final String FA_FILE_O = "";
	public static final String FA_FILE_PDF_O = "";
	public static final String FA_FILE_PHOTO_O = "";
	public static final String FA_FILE_PICTURE_O = "";
	public static final String FA_FILE_POWERPOINT_O = "";
	public static final String FA_FILE_SOUND_O = "";
	public static final String FA_FILE_TEXT = "";
	public static final String FA_FILE_TEXT_O = "";
	public static final String FA_FILE_VIDEO_O = "";
	public static final String FA_FILE_WORD_O = "";
	public static final String FA_FILE_ZIP_O = "";
	public static final String FA_FILES_O = "";
	public static final String FA_FILM = "";
	public static final String FA_FILTER = "";
	public static final String FA_FIRE = "";
	public static final String FA_FIRE_EXTINGUISHER = "";
	public static final String FA_FLAG = "";
	public static final String FA_FLAG_CHECKERED = "";
	public static final String FA_FLAG_O = "";
	public static final String FA_FLASH = "";
	public static final String FA_FLASK = "";
	public static final String FA_FLICKR = "";
	public static final String FA_FLOPPY_O = "";
	public static final String FA_FOLDER = "";
	public static final String FA_FOLDER_O = "";
	public static final String FA_FOLDER_OPEN = "";
	public static final String FA_FOLDER_OPEN_O = "";
	public static final String FA_FONT = "";
	public static final String FA_FORWARD = "";
	public static final String FA_FOURSQUARE = "";
	public static final String FA_FROWN_O = "";
	public static final String FA_FUTBOL_O = "";
	public static final String FA_GAMEPAD = "";
	public static final String FA_GAVEL = "";
	public static final String FA_GBP = "";
	public static final String FA_GE = "";
	public static final String FA_GEAR = "";
	public static final String FA_GEARS = "";
	public static final String FA_GIFT = "";
	public static final String FA_GIT = "";
	public static final String FA_GIT_SQUARE = "";
	public static final String FA_GITHUB = "";
	public static final String FA_GITHUB_ALT = "";
	public static final String FA_GITHUB_SQUARE = "";
	public static final String FA_GITTIP = "";
	public static final String FA_GLASS = "";
	public static final String FA_GLOBE = "";
	public static final String FA_GOOGLE = "";
	public static final String FA_GOOGLE_PLUS = "";
	public static final String FA_GOOGLE_PLUS_SQUARE = "";
	public static final String FA_GOOGLE_WALLET = "";
	public static final String FA_GRADUATION_CAP = "";
	public static final String FA_GROUP = "";
	public static final String FA_H_SQUARE = "";
	public static final String FA_HACKER_NEWS = "";
	public static final String FA_HAND_O_DOWN = "";
	public static final String FA_HAND_O_LEFT = "";
	public static final String FA_HAND_O_RIGHT = "";
	public static final String FA_HAND_O_UP = "";
	public static final String FA_HDD_O = "";
	public static final String FA_HEADER = "";
	public static final String FA_HEADPHONES = "";
	public static final String FA_HEART = "";
	public static final String FA_HEART_O = "";
	public static final String FA_HISTORY = "";
	public static final String FA_HOME = "";
	public static final String FA_HOSPITAL_O = "";
	public static final String FA_HTML5 = "";
	public static final String FA_ILS = "";
	public static final String FA_IMAGE = "";
	public static final String FA_INBOX = "";
	public static final String FA_INDENT = "";
	public static final String FA_INFO = "";
	public static final String FA_INFO_CIRCLE = "";
	public static final String FA_INR = "";
	public static final String FA_INSTAGRAM = "";
	public static final String FA_INSTITUTION = "";
	public static final String FA_IOXHOST = "";
	public static final String FA_ITALIC = "";
	public static final String FA_JOOMLA = "";
	public static final String FA_JPY = "";
	public static final String FA_JSFIDDLE = "";
	public static final String FA_KEY = "";
	public static final String FA_KEYBOARD_O = "";
	public static final String FA_KRW = "";
	public static final String FA_LANGUAGE = "";
	public static final String FA_LAPTOP = "";
	public static final String FA_LASTFM = "";
	public static final String FA_LASTFM_SQUARE = "";
	public static final String FA_LEAF = "";
	public static final String FA_LEGAL = "";
	public static final String FA_LEMON_O = "";
	public static final String FA_LEVEL_DOWN = "";
	public static final String FA_LEVEL_UP = "";
	public static final String FA_LIFE_BOUY = "";
	public static final String FA_LIFE_BUOY = "";
	public static final String FA_LIFE_RING = "";
	public static final String FA_LIFE_SAVER = "";
	public static final String FA_LIGHTBULB_O = "";
	public static final String FA_LINE_CHART = "";
	public static final String FA_LINK = "";
	public static final String FA_LINKEDIN = "";
	public static final String FA_LINKEDIN_SQUARE = "";
	public static final String FA_LINUX = "";
	public static final String FA_LIST = "";
	public static final String FA_LIST_ALT = "";
	public static final String FA_LIST_OL = "";
	public static final String FA_LIST_UL = "";
	public static final String FA_LOCATION_ARROW = "";
	public static final String FA_LOCK = "";
	public static final String FA_LONG_ARROW_DOWN = "";
	public static final String FA_LONG_ARROW_LEFT = "";
	public static final String FA_LONG_ARROW_RIGHT = "";
	public static final String FA_LONG_ARROW_UP = "";
	public static final String FA_MAGIC = "";
	public static final String FA_MAGNET = "";
	public static final String FA_MAIL_FORWARD = "";
	public static final String FA_MAIL_REPLY = "";
	public static final String FA_MAIL_REPLY_ALL = "";
	public static final String FA_MALE = "";
	public static final String FA_MAP_MARKER = "";
	public static final String FA_MAXCDN = "";
	public static final String FA_MEANPATH = "";
	public static final String FA_MEDKIT = "";
	public static final String FA_MEH_O = "";
	public static final String FA_MICROPHONE = "";
	public static final String FA_MICROPHONE_SLASH = "";
	public static final String FA_MINUS = "";
	public static final String FA_MINUS_CIRCLE = "";
	public static final String FA_MINUS_SQUARE = "";
	public static final String FA_MINUS_SQUARE_O = "";
	public static final String FA_MOBILE = "";
	public static final String FA_MOBILE_PHONE = "";
	public static final String FA_MONEY = "";
	public static final String FA_MOON_O = "";
	public static final String FA_MORTAR_BOARD = "";
	public static final String FA_MUSIC = "";
	public static final String FA_NAVICON = "";
	public static final String FA_NEWSPAPER_O = "";
	public static final String FA_OPENID = "";
	public static final String FA_OUTDENT = "";
	public static final String FA_PAGELINES = "";
	public static final String FA_PAINT_BRUSH = "";
	public static final String FA_PAPER_PLANE = "";
	public static final String FA_PAPER_PLANE_O = "";
	public static final String FA_PAPERCLIP = "";
	public static final String FA_PARAGRAPH = "";
	public static final String FA_PASTE = "";
	public static final String FA_PAUSE = "";
	public static final String FA_PAW = "";
	public static final String FA_PAYPAL = "";
	public static final String FA_PENCIL = "";
	public static final String FA_PENCIL_SQUARE = "";
	public static final String FA_PENCIL_SQUARE_O = "";
	public static final String FA_PHONE = "";
	public static final String FA_PHONE_SQUARE = "";
	public static final String FA_PHOTO = "";
	public static final String FA_PICTURE_O = "";
	public static final String FA_PIE_CHART = "";
	public static final String FA_PIED_PIPER = "";
	public static final String FA_PIED_PIPER_ALT = "";
	public static final String FA_PINTEREST = "";
	public static final String FA_PINTEREST_SQUARE = "";
	public static final String FA_PLANE = "";
	public static final String FA_PLAY = "";
	public static final String FA_PLAY_CIRCLE = "";
	public static final String FA_PLAY_CIRCLE_O = "";
	public static final String FA_PLUG = "";
	public static final String FA_PLUS = "";
	public static final String FA_PLUS_CIRCLE = "";
	public static final String FA_PLUS_SQUARE = "";
	public static final String FA_PLUS_SQUARE_O = "";
	public static final String FA_POWER_OFF = "";
	public static final String FA_PRINT = "";
	public static final String FA_PUZZLE_PIECE = "";
	public static final String FA_QQ = "";
	public static final String FA_QRCODE = "";
	public static final String FA_QUESTION = "";
	public static final String FA_QUESTION_CIRCLE = "";
	public static final String FA_QUOTE_LEFT = "";
	public static final String FA_QUOTE_RIGHT = "";
	public static final String FA_RA = "";
	public static final String FA_RANDOM = "";
	public static final String FA_REBEL = "";
	public static final String FA_RECYCLE = "";
	public static final String FA_REDDIT = "";
	public static final String FA_REDDIT_SQUARE = "";
	public static final String FA_REFRESH = "";
	public static final String FA_REMOVE = "";
	public static final String FA_RENREN = "";
	public static final String FA_REORDER = "";
	public static final String FA_REPEAT = "";
	public static final String FA_REPLY = "";
	public static final String FA_REPLY_ALL = "";
	public static final String FA_RETWEET = "";
	public static final String FA_RMB = "";
	public static final String FA_ROAD = "";
	public static final String FA_ROCKET = "";
	public static final String FA_ROTATE_LEFT = "";
	public static final String FA_ROTATE_RIGHT = "";
	public static final String FA_ROUBLE = "";
	public static final String FA_RSS = "";
	public static final String FA_RSS_SQUARE = "";
	public static final String FA_RUB = "";
	public static final String FA_RUBLE = "";
	public static final String FA_RUPEE = "";
	public static final String FA_SAVE = "";
	public static final String FA_SCISSORS = "";
	public static final String FA_SEARCH = "";
	public static final String FA_SEARCH_MINUS = "";
	public static final String FA_SEARCH_PLUS = "";
	public static final String FA_SEND = "";
	public static final String FA_SEND_O = "";
	public static final String FA_SHARE = "";
	public static final String FA_SHARE_ALT = "";
	public static final String FA_SHARE_ALT_SQUARE = "";
	public static final String FA_SHARE_SQUARE = "";
	public static final String FA_SHARE_SQUARE_O = "";
	public static final String FA_SHEKEL = "";
	public static final String FA_SHEQEL = "";
	public static final String FA_SHIELD = "";
	public static final String FA_SHOPPING_CART = "";
	public static final String FA_SIGN_IN = "";
	public static final String FA_SIGN_OUT = "";
	public static final String FA_SIGNAL = "";
	public static final String FA_SITEMAP = "";
	public static final String FA_SKYPE = "";
	public static final String FA_SLACK = "";
	public static final String FA_SLIDERS = "";
	public static final String FA_SLIDESHARE = "";
	public static final String FA_SMILE_O = "";
	public static final String FA_SOCCER_BALL_O = "";
	public static final String FA_SORT = "";
	public static final String FA_SORT_ALPHA_ASC = "";
	public static final String FA_SORT_ALPHA_DESC = "";
	public static final String FA_SORT_AMOUNT_ASC = "";
	public static final String FA_SORT_AMOUNT_DESC = "";
	public static final String FA_SORT_ASC = "";
	public static final String FA_SORT_DESC = "";
	public static final String FA_SORT_DOWN = "";
	public static final String FA_SORT_NUMERIC_ASC = "";
	public static final String FA_SORT_NUMERIC_DESC = "";
	public static final String FA_SORT_UP = "";
	public static final String FA_SOUNDCLOUD = "";
	public static final String FA_SPACE_SHUTTLE = "";
	public static final String FA_SPINNER = "";
	public static final String FA_SPOON = "";
	public static final String FA_SPOTIFY = "";
	public static final String FA_SQUARE = "";
	public static final String FA_SQUARE_O = "";
	public static final String FA_STACK_EXCHANGE = "";
	public static final String FA_STACK_OVERFLOW = "";
	public static final String FA_STAR = "";
	public static final String FA_STAR_HALF = "";
	public static final String FA_STAR_HALF_EMPTY = "";
	public static final String FA_STAR_HALF_FULL = "";
	public static final String FA_STAR_HALF_O = "";
	public static final String FA_STAR_O = "";
	public static final String FA_STEAM = "";
	public static final String FA_STEAM_SQUARE = "";
	public static final String FA_STEP_BACKWARD = "";
	public static final String FA_STEP_FORWARD = "";
	public static final String FA_STETHOSCOPE = "";
	public static final String FA_STOP = "";
	public static final String FA_STRIKETHROUGH = "";
	public static final String FA_STUMBLEUPON = "";
	public static final String FA_STUMBLEUPON_CIRCLE = "";
	public static final String FA_SUBSCRIPT = "";
	public static final String FA_SUITCASE = "";
	public static final String FA_SUN_O = "";
	public static final String FA_SUPERSCRIPT = "";
	public static final String FA_SUPPORT = "";
	public static final String FA_TABLE = "";
	public static final String FA_TABLET = "";
	public static final String FA_TACHOMETER = "";
	public static final String FA_TAG = "";
	public static final String FA_TAGS = "";
	public static final String FA_TASKS = "";
	public static final String FA_TAXI = "";
	public static final String FA_TENCENT_WEIBO = "";
	public static final String FA_TERMINAL = "";
	public static final String FA_TEXT_HEIGHT = "";
	public static final String FA_TEXT_WIDTH = "";
	public static final String FA_TH = "";
	public static final String FA_TH_LARGE = "";
	public static final String FA_TH_LIST = "";
	public static final String FA_THUMB_TACK = "";
	public static final String FA_THUMBS_DOWN = "";
	public static final String FA_THUMBS_O_DOWN = "";
	public static final String FA_THUMBS_O_UP = "";
	public static final String FA_THUMBS_UP = "";
	public static final String FA_TICKET = "";
	public static final String FA_TIMES = "";
	public static final String FA_TIMES_CIRCLE = "";
	public static final String FA_TIMES_CIRCLE_O = "";
	public static final String FA_TINT = "";
	public static final String FA_TOGGLE_DOWN = "";
	public static final String FA_TOGGLE_LEFT = "";
	public static final String FA_TOGGLE_OFF = "";
	public static final String FA_TOGGLE_ON = "";
	public static final String FA_TOGGLE_RIGHT = "";
	public static final String FA_TOGGLE_UP = "";
	public static final String FA_TRASH = "";
	public static final String FA_TRASH_O = "";
	public static final String FA_TREE = "";
	public static final String FA_TRELLO = "";
	public static final String FA_TROPHY = "";
	public static final String FA_TRUCK = "";
	public static final String FA_TRY = "";
	public static final String FA_TTY = "";
	public static final String FA_TUMBLR = "";
	public static final String FA_TUMBLR_SQUARE = "";
	public static final String FA_TURKISH_LIRA = "";
	public static final String FA_TWITCH = "";
	public static final String FA_TWITTER = "";
	public static final String FA_TWITTER_SQUARE = "";
	public static final String FA_UMBRELLA = "";
	public static final String FA_UNDERLINE = "";
	public static final String FA_UNDO = "";
	public static final String FA_UNIVERSITY = "";
	public static final String FA_UNLINK = "";
	public static final String FA_UNLOCK = "";
	public static final String FA_UNLOCK_ALT = "";
	public static final String FA_UNSORTED = "";
	public static final String FA_UPLOAD = "";
	public static final String FA_USD = "";
	public static final String FA_USER = "";
	public static final String FA_USER_MD = "";
	public static final String FA_USERS = "";
	public static final String FA_VIDEO_CAMERA = "";
	public static final String FA_VIMEO_SQUARE = "";
	public static final String FA_VINE = "";
	public static final String FA_VK = "";
	public static final String FA_VOLUME_DOWN = "";
	public static final String FA_VOLUME_OFF = "";
	public static final String FA_VOLUME_UP = "";
	public static final String FA_WARNING = "";
	public static final String FA_WECHAT = "";
	public static final String FA_WEIBO = "";
	public static final String FA_WEIXIN = "";
	public static final String FA_WHEELCHAIR = "";
	public static final String FA_WIFI = "";
	public static final String FA_WINDOWS = "";
	public static final String FA_WON = "";
	public static final String FA_WORDPRESS = "";
	public static final String FA_WRENCH = "";
	public static final String FA_XING = "";
	public static final String FA_XING_SQUARE = "";
	public static final String FA_YAHOO = "";
	public static final String FA_YELP = "";
	public static final String FA_YEN = "";
	public static final String FA_YOUTUBE = "";
	public static final String FA_YOUTUBE_PLAY = "";
	public static final String FA_YOUTUBE_SQUARE = "";

}