// This source code was automatically generated by The Image Sourcerer
// For further information, see www.catalysoft.com
//package TBD;

import java.awt.Toolkit;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.lang.reflect.Method;

import com.catalysoft.sourcerer.ByteDecoder;

public class Ernie {
private static byte[] getSegment0() {
  return new byte[] {
      9,-48,-50,-57,-115,-118,-102,-118,-128,-128,
      -128,-115,-55,-56,-60,-46,-128,-128,-128,-96,
      -128,-128,-128,-96,-120,-126,-128,-128,-128,124,
      -104,109,35,-128,-128,-127,120,-55,-60,-63,
      -44,-8,28,45,21,81,-19,68,-96,-116,
      6,-51,84,119,-10,6,94,-120,105,-52,
      100,33,-109,17,25,-82,-93,92,-114,109,
      -13,-85,37,-122,3,-79,14,-55,-72,41,
      22,-107,-91,-124,-66,127,-74,-50,0,61,
      -17,16,12,-18,100,-43,-66,-34,26,-67,
      -55,-46,-58,108,105,-128,99,104,75,-68,
      26,87,99,80,113,-80,122,69,63,71,
      -8,-70,3,93,-57,-97,15,-127,23,-12,
      -94,30,120,9,-4,52,-55,-123,63,-106,
      -101,118,106,-30,26,-13,-114,111,-35,-79,
      -69,-87,-61,56,-76,-81,62,3,31,47,
      -70,-88,-46,-23,110,-43,-122,-100,15,102,
      -27,49,-59,-44,-4,-36,103,-70,111,101,
      85,-84,38,-37,69,-3,-38,85,-124,-72,
      89,9,-108,-28,35,-75,-11,90,98,84,
      -76,-103,3,-52,-25,0,8,-38,119,95,
      -17,70,-67,4,103,4,-114,-12,83,26,
      -128,-115,-99,109,115,45,59,46,-49,-41,
      -55,-52,12,-18,54,-34,2,70,20,-26,
      -114,35,75,6,-51,-96,4,31,-4,-63,
      -105,54,78,8,22,66,-15,67,40,54,
      19,-82,11,-27,-72,97,-122,85,107,124,
      66,-59,-100,112,-121,17,66,-16,-93,104,
      -51,-66,9,17,-99,-118,-76,-15,113,17,
      28,-61,-62,91,13,7,-82,-38,65,-74,
      -95,-10,-113,-31,119,-95,2,-118,-73,-114,
      -10,74,-32,-28,-48,-123,-54,-49,92,-120,
      69,-85,86,-29,-66,46,-53,-94,-54,105,
      -21,-128,-4,14,42,75,38,87,-113,61,
      100,-50,-78,-77,-105,13,104,27,-112,84,
      23,31,-77,8,-79,82,10,-18,-3,-118,
      -73,-42,-26,-122,-69,-125,-53,-66,-16,9,
      84,79,-82,-74,3,-112,25,-74,-10,41,
      90,-25,-16,75,-62,25,-27,121,-99,-70,
      -100,127,-59,42,23,-43,-116,100,82,53,
      33,31,27,-15,-122,21,-92,100,-30,57,
      -91,92,-68,92,56,-90,-57,31,-24,-86,
      6,122,69,-21,-39,-2,8,-18,-121,-48,
      82,-116,40,-121,29,-54,95,122,-33,-14,
      90,-73,73,77,93,28,-68,30,-115,73,
      119,112,100,-98,104,74,-6,-69,27,-69,
      14,4,104,-9,95,-59,-35,-27,96,-59,
      7,-48,-105,6,76,69,107,-68,67,22,
      -38,108,-29,77,39,-112,112,-63,84,90,
      64,79,46,84,74,-83,77,-80,34,-15,
      100,-95,-58,-98,-42,-116,-3,34,-99,121,
      84,108,100,-124,-27,-76,81,95,-61,116,
      -34,12,-102,-128,-33,-56,-71,-20,50,-48,
      -96,-50,-26,-58,-81,91,-99,61,23,71,
      -97,-48,-97,-47,54,-19,2,30,91,-128,
      -128,-128,-128,-55,-59,-50,-60,46,-62,-32,
      2
  };
}

  private static byte[] concat(byte[] array1, byte[] array2) {
      byte[] result = new byte[array1.length + array2.length];
      for (int i=0; i<array1.length; i++) {
          result[i] = array1[i];
      }
      for (int j=0; j<array2.length; j++) {
          result[array1.length+j] = array2[j];
      }
      return result;
  }

  public static final Image getImage() {
      Class c = Ernie.class;
      byte[] imageBytes = new byte[] {};
      Method[] methods = c.getDeclaredMethods();
      for (int i=0; i<methods.length; i++) {
          String methodName = methods[i].getName();
          if (methodName.startsWith("getSegment")) {
              try {
                  byte[] segment = (byte[]) methods[i].invoke(Ernie.class, new Object[] {});
                   for(int j=0; j<segment.length; j++) {
                       segment[j] = ByteDecoder.decode(segment[j]);
                   }
                  imageBytes = concat(imageBytes, segment);
              } catch (Exception e) {
                  e.printStackTrace(System.err);
              }
          }
      }
      return Toolkit.getDefaultToolkit().createImage(imageBytes);
  }

  public static void main(String[] args) {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    ImageIcon icon = new ImageIcon(getImage());
    JLabel label = new JLabel(icon);
    frame.getContentPane().add(label);
    frame.setTitle("Image Preview");
    frame.setSize(200, 200);
  frame.setVisible(true);
  }

}