// Path: prismoji/src/main/java/com/apradanas/prismoji/emoji/Emoji.java
// public final class Emoji implements Serializable {
//     private static final long serialVersionUID = 3L;
// 
//     @NonNull
//     private final String unicode;
//     @DrawableRes
//     private final int resource;
//     @NonNull
//     private List<Emoji> variants;
//     @SuppressWarnings("PMD.ImmutableField")
//     @Nullable
//     private Emoji base;
// 
//     public Emoji(@NonNull final int[] codePoints, @DrawableRes final int resource) {
//         this(codePoints, resource, new Emoji[0]);
//     }
// 
//     public Emoji(final int codePoint, @DrawableRes final int resource) {
//         this(codePoint, resource, new Emoji[0]);
//     }
// 
//     public Emoji(@NonNull final int[] codePoints, @DrawableRes final int resource, final Emoji... variants) {
//         this.unicode = new String(codePoints, 0, codePoints.length);
//         this.resource = resource;
//         this.variants = Arrays.asList(variants);
// 
//         for (final Emoji variant : variants) {
//             variant.base = this;
//         }
//     }
// 
//     public Emoji(final int codePoint, @DrawableRes final int resource, final Emoji... variants) {
//         this(new int[]{codePoint}, resource, variants);
//     }
// 
//     @NonNull
//     public String getUnicode() {
//         return unicode;
//     }
// 
//     @DrawableRes
//     public int getResource() {
//         return resource;
//     }
// 
//     @NonNull
//     public List<Emoji> getVariants() {
//         return new ArrayList<>(variants);
//     }
// 
//     @NonNull
//     public Emoji getBase() {
//         Emoji result = this;
// 
//         while (result.base != null) {
//             result = result.base;
//         }
// 
//         return result;
//     }
// 
//     public int getLength() {
//         return unicode.length();
//     }
// 
//     public boolean hasVariants() {
//         return !variants.isEmpty();
//     }
// 
//     @Override
//     public boolean equals(final Object o) {
//         if (this == o) {
//             return true;
//         }
// 
//         if (o == null || getClass() != o.getClass()) {
//             return false;
//         }
// 
//         final Emoji emoji = (Emoji) o;
// 
//         return resource == emoji.resource
//                 && unicode.equals(emoji.unicode)
//                 && variants.equals(emoji.variants);
//     }
// 
//     @Override
//     public int hashCode() {
//         int result = unicode.hashCode();
//         result = 31 * result + resource;
//         result = 31 * result + variants.hashCode();
//         return result;
//     }
// }
// 
// Path: prismoji/src/main/java/com/apradanas/prismoji/emoji/EmojiCategory.java
// public interface EmojiCategory {
//     /**
//      * returns all of the emojis it can display
//      *
//      * @since 0.4.0
//      */
//     @NonNull
//     Emoji[] getEmojis();
// 
//     /**
//      * returns the icon of the category that should be displayed
//      *
//      * @since 0.4.0
//      */
//     @DrawableRes
//     int getIcon();
// }


import android.support.annotation.DrawableRes;
import android.support.annotation.NonNull;
import com.apradanas.prismoji.R;
import com.apradanas.prismoji.emoji.Emoji;
import com.apradanas.prismoji.emoji.EmojiCategory;
            new Emoji(0x1f697, R.drawable.emoji_one_1f697),
            new Emoji(0x1f695, R.drawable.emoji_one_1f695),
            new Emoji(0x1f699, R.drawable.emoji_one_1f699),
            new Emoji(0x1f68c, R.drawable.emoji_one_1f68c),
            new Emoji(0x1f68e, R.drawable.emoji_one_1f68e),
            new Emoji(0x1f3ce, R.drawable.emoji_one_1f3ce),
            new Emoji(0x1f693, R.drawable.emoji_one_1f693),
            new Emoji(0x1f691, R.drawable.emoji_one_1f691),
            new Emoji(0x1f692, R.drawable.emoji_one_1f692),
            new Emoji(0x1f690, R.drawable.emoji_one_1f690),
            new Emoji(0x1f69a, R.drawable.emoji_one_1f69a),
            new Emoji(0x1f69b, R.drawable.emoji_one_1f69b),
            new Emoji(0x1f69c, R.drawable.emoji_one_1f69c),
            new Emoji(0x1f6f4, R.drawable.emoji_one_1f6f4),
            new Emoji(0x1f6b2, R.drawable.emoji_one_1f6b2),
            new Emoji(0x1f6f5, R.drawable.emoji_one_1f6f5),
            new Emoji(0x1f3cd, R.drawable.emoji_one_1f3cd),
            new Emoji(0x1f6a8, R.drawable.emoji_one_1f6a8),
            new Emoji(0x1f694, R.drawable.emoji_one_1f694),
            new Emoji(0x1f68d, R.drawable.emoji_one_1f68d),
            new Emoji(0x1f698, R.drawable.emoji_one_1f698),
            new Emoji(0x1f696, R.drawable.emoji_one_1f696),
            new Emoji(0x1f6a1, R.drawable.emoji_one_1f6a1),
            new Emoji(0x1f6a0, R.drawable.emoji_one_1f6a0),
            new Emoji(0x1f69f, R.drawable.emoji_one_1f69f),
            new Emoji(0x1f683, R.drawable.emoji_one_1f683),
            new Emoji(0x1f68b, R.drawable.emoji_one_1f68b),
            new Emoji(0x1f69e, R.drawable.emoji_one_1f69e),
            new Emoji(0x1f69d, R.drawable.emoji_one_1f69d),
            new Emoji(0x1f684, R.drawable.emoji_one_1f684),
// Path: prismoji/src/main/java/com/apradanas/prismoji/emoji/Emoji.java
// public final class Emoji implements Serializable {
//     private static final long serialVersionUID = 3L;
// 
//     @NonNull
//     private final String unicode;
//     @DrawableRes
//     private final int resource;
//     @NonNull
//     private List<Emoji> variants;
//     @SuppressWarnings("PMD.ImmutableField")
//     @Nullable
//     private Emoji base;
// 
//     public Emoji(@NonNull final int[] codePoints, @DrawableRes final int resource) {
//         this(codePoints, resource, new Emoji[0]);
//     }
// 
//     public Emoji(final int codePoint, @DrawableRes final int resource) {
//         this(codePoint, resource, new Emoji[0]);
//     }
// 
//     public Emoji(@NonNull final int[] codePoints, @DrawableRes final int resource, final Emoji... variants) {
//         this.unicode = new String(codePoints, 0, codePoints.length);
//         this.resource = resource;
//         this.variants = Arrays.asList(variants);
// 
//         for (final Emoji variant : variants) {
//             variant.base = this;
//         }
//     }
// 
//     public Emoji(final int codePoint, @DrawableRes final int resource, final Emoji... variants) {
//         this(new int[]{codePoint}, resource, variants);
//     }
// 
//     @NonNull
//     public String getUnicode() {
//         return unicode;
//     }
// 
//     @DrawableRes
//     public int getResource() {
//         return resource;
//     }
// 
//     @NonNull
//     public List<Emoji> getVariants() {
//         return new ArrayList<>(variants);
//     }
// 
//     @NonNull
//     public Emoji getBase() {
//         Emoji result = this;
// 
//         while (result.base != null) {
//             result = result.base;
//         }
// 
//         return result;
//     }
// 
//     public int getLength() {
//         return unicode.length();
//     }
// 
//     public boolean hasVariants() {
//         return !variants.isEmpty();
//     }
// 
//     @Override
//     public boolean equals(final Object o) {
//         if (this == o) {
//             return true;
//         }
// 
//         if (o == null || getClass() != o.getClass()) {
//             return false;
//         }
// 
//         final Emoji emoji = (Emoji) o;
// 
//         return resource == emoji.resource
//                 && unicode.equals(emoji.unicode)
//                 && variants.equals(emoji.variants);
//     }
// 
//     @Override
//     public int hashCode() {
//         int result = unicode.hashCode();
//         result = 31 * result + resource;
//         result = 31 * result + variants.hashCode();
//         return result;
//     }
// }
// 
// Path: prismoji/src/main/java/com/apradanas/prismoji/emoji/EmojiCategory.java
// public interface EmojiCategory {
//     /**
//      * returns all of the emojis it can display
//      *
//      * @since 0.4.0
//      */
//     @NonNull
//     Emoji[] getEmojis();
// 
//     /**
//      * returns the icon of the category that should be displayed
//      *
//      * @since 0.4.0
//      */
//     @DrawableRes
//     int getIcon();
// }


// Path: prismoji/src/main/java/com/apradanas/prismoji/one/category/TravelCategory.java
import android.support.annotation.DrawableRes;
import android.support.annotation.NonNull;
import com.apradanas.prismoji.R;
import com.apradanas.prismoji.emoji.Emoji;
import com.apradanas.prismoji.emoji.EmojiCategory;

            new Emoji(0x1f697, R.drawable.emoji_one_1f697),
            new Emoji(0x1f695, R.drawable.emoji_one_1f695),
            new Emoji(0x1f699, R.drawable.emoji_one_1f699),
            new Emoji(0x1f68c, R.drawable.emoji_one_1f68c),
            new Emoji(0x1f68e, R.drawable.emoji_one_1f68e),
            new Emoji(0x1f3ce, R.drawable.emoji_one_1f3ce),
            new Emoji(0x1f693, R.drawable.emoji_one_1f693),
            new Emoji(0x1f691, R.drawable.emoji_one_1f691),
            new Emoji(0x1f692, R.drawable.emoji_one_1f692),
            new Emoji(0x1f690, R.drawable.emoji_one_1f690),
            new Emoji(0x1f69a, R.drawable.emoji_one_1f69a),
            new Emoji(0x1f69b, R.drawable.emoji_one_1f69b),
            new Emoji(0x1f69c, R.drawable.emoji_one_1f69c),
            new Emoji(0x1f6f4, R.drawable.emoji_one_1f6f4),
            new Emoji(0x1f6b2, R.drawable.emoji_one_1f6b2),
            new Emoji(0x1f6f5, R.drawable.emoji_one_1f6f5),
            new Emoji(0x1f3cd, R.drawable.emoji_one_1f3cd),
            new Emoji(0x1f6a8, R.drawable.emoji_one_1f6a8),
            new Emoji(0x1f694, R.drawable.emoji_one_1f694),
            new Emoji(0x1f68d, R.drawable.emoji_one_1f68d),
            new Emoji(0x1f698, R.drawable.emoji_one_1f698),
            new Emoji(0x1f696, R.drawable.emoji_one_1f696),
            new Emoji(0x1f6a1, R.drawable.emoji_one_1f6a1),
            new Emoji(0x1f6a0, R.drawable.emoji_one_1f6a0),
            new Emoji(0x1f69f, R.drawable.emoji_one_1f69f),
            new Emoji(0x1f683, R.drawable.emoji_one_1f683),
            new Emoji(0x1f68b, R.drawable.emoji_one_1f68b),
            new Emoji(0x1f69e, R.drawable.emoji_one_1f69e),
            new Emoji(0x1f69d, R.drawable.emoji_one_1f69d),
            new Emoji(0x1f684, R.drawable.emoji_one_1f684),
            new Emoji(0x1f685, R.drawable.emoji_one_1f685),