home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / AnfyJava14 / data1.cab / Program_Files / Applet / blur / anblur.class (.txt) next >
Encoding:
Java Class File  |  1999-04-19  |  14.4 KB  |  1,213 lines

  1. import java.applet.Applet;
  2. import java.applet.AudioClip;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Dimension;
  6. import java.awt.Event;
  7. import java.awt.Frame;
  8. import java.awt.Graphics;
  9. import java.awt.Image;
  10. import java.awt.Label;
  11. import java.awt.LayoutManager;
  12. import java.awt.MediaTracker;
  13. import java.awt.Panel;
  14. import java.awt.Toolkit;
  15. import java.awt.image.DirectColorModel;
  16. import java.awt.image.ImageObserver;
  17. import java.awt.image.MemoryImageSource;
  18. import java.awt.image.PixelGrabber;
  19. import java.io.ByteArrayOutputStream;
  20. import java.io.IOException;
  21. import java.io.InputStream;
  22. import java.io.OutputStream;
  23. import java.net.MalformedURLException;
  24. import java.net.URL;
  25.  
  26. public class anblur extends Applet implements Runnable, ImageObserver {
  27.    // $FF: renamed from: a java.awt.Frame
  28.    Frame field_0;
  29.    // $FF: renamed from: b boolean
  30.    boolean field_1 = false;
  31.    // $FF: renamed from: c boolean
  32.    boolean field_2;
  33.    // $FF: renamed from: d boolean
  34.    boolean field_3;
  35.    // $FF: renamed from: e int
  36.    int field_4;
  37.    // $FF: renamed from: f int
  38.    int field_5;
  39.    // $FF: renamed from: g java.awt.Image[]
  40.    Image[] field_6;
  41.    // $FF: renamed from: h java.lang.String
  42.    String field_7;
  43.    // $FF: renamed from: i java.lang.String
  44.    String field_8;
  45.    // $FF: renamed from: j java.lang.String
  46.    final String field_9 = method_17("/<0\u007f\\\u001al\"j\u0019(-\"zVN\u000f)fZ\r%`;N\u0019;nrW\b");
  47.    // $FF: renamed from: k int
  48.    private static int field_10;
  49.    // $FF: renamed from: l java.awt.Image[]
  50.    Image[] field_11;
  51.    // $FF: renamed from: m java.awt.Image[]
  52.    Image[] field_12;
  53.    // $FF: renamed from: n int[]
  54.    int[] field_13;
  55.    // $FF: renamed from: o boolean
  56.    boolean field_14;
  57.    // $FF: renamed from: p boolean
  58.    boolean field_15 = false;
  59.    // $FF: renamed from: q java.lang.String
  60.    String field_16;
  61.    // $FF: renamed from: r boolean
  62.    boolean field_17;
  63.    // $FF: renamed from: s int
  64.    int field_18;
  65.    // $FF: renamed from: t int
  66.    int field_19;
  67.    // $FF: renamed from: u java.net.URL
  68.    URL field_20;
  69.    // $FF: renamed from: v java.awt.MediaTracker
  70.    MediaTracker field_21;
  71.    // $FF: renamed from: w boolean
  72.    boolean field_22 = false;
  73.    // $FF: renamed from: x int
  74.    int field_23;
  75.    // $FF: renamed from: y java.lang.String
  76.    String field_24;
  77.    // $FF: renamed from: z java.awt.Graphics
  78.    Graphics field_25;
  79.    // $FF: renamed from: A java.awt.Image
  80.    Image field_26;
  81.    // $FF: renamed from: B boolean
  82.    boolean field_27 = false;
  83.    // $FF: renamed from: C java.awt.Image
  84.    private Image field_28;
  85.    // $FF: renamed from: D int
  86.    int field_29;
  87.    // $FF: renamed from: E int
  88.    int field_30;
  89.    // $FF: renamed from: F int
  90.    int field_31;
  91.    // $FF: renamed from: G boolean
  92.    boolean field_32;
  93.    // $FF: renamed from: H int
  94.    int field_33;
  95.    // $FF: renamed from: I int
  96.    int field_34;
  97.    // $FF: renamed from: J boolean
  98.    boolean field_35 = false;
  99.    // $FF: renamed from: K int
  100.    int field_36;
  101.    // $FF: renamed from: L boolean
  102.    boolean field_37 = false;
  103.    // $FF: renamed from: M int[]
  104.    int[] field_38;
  105.    // $FF: renamed from: N int[]
  106.    int[] field_39;
  107.    // $FF: renamed from: O int[]
  108.    int[] field_40;
  109.    // $FF: renamed from: P java.lang.String
  110.    String field_41;
  111.    // $FF: renamed from: Q java.applet.AudioClip
  112.    AudioClip field_42;
  113.    // $FF: renamed from: R java.applet.AudioClip
  114.    AudioClip field_43;
  115.    // $FF: renamed from: S int
  116.    int field_44;
  117.    // $FF: renamed from: T java.lang.Thread
  118.    Thread field_45;
  119.    // $FF: renamed from: U java.awt.Image[]
  120.    Image[] field_46;
  121.    // $FF: renamed from: V int
  122.    int field_47;
  123.    // $FF: renamed from: W int
  124.    int field_48;
  125.    // $FF: renamed from: X Lware
  126.    Lware field_49;
  127.  
  128.    // $FF: renamed from: a () void
  129.    void method_0() {
  130.       if (++this.field_18 == this.field_23) {
  131.          this.field_18 = 0;
  132.       }
  133.  
  134.       this.field_44 = this.field_18;
  135.       if (this.field_18 > 0) {
  136.          --this.field_18;
  137.       } else {
  138.          this.field_18 = this.field_23 - 1;
  139.       }
  140.  
  141.       field_10 = 2;
  142.       ((Component)this).repaint();
  143.  
  144.       try {
  145.          Thread.sleep((long)this.field_19);
  146.       } catch (InterruptedException var3) {
  147.       }
  148.  
  149.       field_10 = 1;
  150.       ((Component)this).repaint();
  151.  
  152.       try {
  153.          Thread.sleep((long)this.field_19);
  154.       } catch (InterruptedException var2) {
  155.       }
  156.  
  157.       this.field_18 = this.field_44;
  158.       field_10 = 3;
  159.       ((Component)this).repaint();
  160.  
  161.       try {
  162.          Thread.sleep((long)this.field_19);
  163.       } catch (InterruptedException var1) {
  164.       }
  165.  
  166.       field_10 = 2;
  167.    }
  168.  
  169.    // $FF: renamed from: b () void
  170.    void method_1() {
  171.       if (field_10 == 2) {
  172.          if (++this.field_18 == this.field_23 - 1) {
  173.             this.field_44 = this.field_18--;
  174.             field_10 = 2;
  175.             ((Component)this).repaint();
  176.  
  177.             try {
  178.                Thread.sleep((long)this.field_19);
  179.             } catch (InterruptedException var12) {
  180.             }
  181.  
  182.             field_10 = 1;
  183.             ((Component)this).repaint();
  184.  
  185.             try {
  186.                Thread.sleep((long)this.field_19);
  187.             } catch (InterruptedException var11) {
  188.             }
  189.  
  190.             if (this.field_3) {
  191.                this.field_43.play();
  192.             }
  193.  
  194.             this.field_18 = this.field_44;
  195.             field_10 = 3;
  196.             ((Component)this).repaint();
  197.  
  198.             try {
  199.                Thread.sleep((long)this.field_33);
  200.             } catch (InterruptedException var10) {
  201.             }
  202.  
  203.             --this.field_18;
  204.             field_10 = 1;
  205.          }
  206.       } else if (--this.field_18 == 0) {
  207.          field_10 = 1;
  208.          ((Component)this).repaint();
  209.  
  210.          try {
  211.             Thread.sleep((long)this.field_19);
  212.          } catch (InterruptedException var9) {
  213.          }
  214.  
  215.          field_10 = 2;
  216.          ((Component)this).repaint();
  217.  
  218.          try {
  219.             Thread.sleep((long)this.field_19);
  220.          } catch (InterruptedException var8) {
  221.          }
  222.  
  223.          if (this.field_2) {
  224.             this.field_42.play();
  225.          }
  226.  
  227.          field_10 = 3;
  228.          ((Component)this).repaint();
  229.  
  230.          try {
  231.             Thread.sleep((long)this.field_31);
  232.          } catch (InterruptedException var7) {
  233.          }
  234.  
  235.          ++this.field_18;
  236.          field_10 = 2;
  237.       }
  238.  
  239.       if (field_10 == 2) {
  240.          this.field_44 = this.field_18--;
  241.          ((Component)this).repaint();
  242.  
  243.          try {
  244.             Thread.sleep((long)this.field_19);
  245.          } catch (InterruptedException var3) {
  246.          }
  247.  
  248.          field_10 = 1;
  249.          ((Component)this).repaint();
  250.  
  251.          try {
  252.             Thread.sleep((long)this.field_19);
  253.          } catch (InterruptedException var2) {
  254.          }
  255.  
  256.          this.field_18 = this.field_44;
  257.          field_10 = 3;
  258.          ((Component)this).repaint();
  259.  
  260.          try {
  261.             Thread.sleep((long)this.field_19);
  262.          } catch (InterruptedException var1) {
  263.          }
  264.  
  265.          field_10 = 2;
  266.       } else {
  267.          if (field_10 == 1) {
  268.             ((Component)this).repaint();
  269.  
  270.             try {
  271.                Thread.sleep((long)this.field_19);
  272.             } catch (InterruptedException var6) {
  273.             }
  274.  
  275.             field_10 = 2;
  276.             ((Component)this).repaint();
  277.  
  278.             try {
  279.                Thread.sleep((long)this.field_19);
  280.             } catch (InterruptedException var5) {
  281.             }
  282.  
  283.             field_10 = 3;
  284.             ((Component)this).repaint();
  285.  
  286.             try {
  287.                Thread.sleep((long)this.field_19);
  288.             } catch (InterruptedException var4) {
  289.             }
  290.  
  291.             field_10 = 1;
  292.          }
  293.  
  294.       }
  295.    }
  296.  
  297.    // $FF: renamed from: c () void
  298.    private final void method_2() {
  299.       while(true) {
  300.          ((Applet)this).showStatus(method_17("*#.4MN>%~V\u0018)`dN\u0019b!}_\u0017&!eX@//~\u0019\r>%wP\u001a?`\u007fP\u0000)`zWN\u0004\u0014^uO"));
  301.  
  302.          try {
  303.             Thread.sleep(500L);
  304.          } catch (InterruptedException var1) {
  305.          }
  306.       }
  307.    }
  308.  
  309.    // $FF: renamed from: d () boolean
  310.    public synchronized boolean method_3() {
  311.       ((Component)this).prepareImage(this.field_28, this);
  312.  
  313.       for(int var1 = 0; var1 < 3; ++var1) {
  314.          this.notifyAll();
  315.          Thread.yield();
  316.  
  317.          try {
  318.             Thread.sleep(100L);
  319.          } catch (InterruptedException var2) {
  320.          }
  321.       }
  322.  
  323.       return this.field_27;
  324.    }
  325.  
  326.    // $FF: renamed from: a (int) void
  327.    private void method_4(int var1) {
  328.       if (!this.field_35) {
  329.          this.method_16(this.field_39, this.field_40, 86);
  330.  
  331.          try {
  332.             this.field_11[var1] = ((Component)this).createImage(new MemoryImageSource(this.field_48, this.field_47, new DirectColorModel(32, 16711680, 65280, 255), this.field_13, 0, this.field_48));
  333.          } catch (Exception var3) {
  334.          }
  335.  
  336.          if (this.field_14) {
  337.             this.method_13(var1);
  338.          } else {
  339.             this.method_9(var1);
  340.          }
  341.  
  342.          this.method_16(this.field_39, this.field_40, 172);
  343.  
  344.          try {
  345.             this.field_12[var1] = ((Component)this).createImage(new MemoryImageSource(this.field_48, this.field_47, new DirectColorModel(24, 16711680, 65280, 255), this.field_13, 0, this.field_48));
  346.          } catch (Exception var2) {
  347.          }
  348.  
  349.          if (this.field_14) {
  350.             this.method_14(var1);
  351.          } else {
  352.             this.method_10(var1);
  353.          }
  354.       } else {
  355.          this.method_16(this.field_40, this.field_39, 86);
  356.  
  357.          try {
  358.             this.field_11[var1] = ((Component)this).createImage(new MemoryImageSource(this.field_48, this.field_47, new DirectColorModel(32, 16711680, 65280, 255), this.field_13, 0, this.field_48));
  359.          } catch (Exception var5) {
  360.          }
  361.  
  362.          if (this.field_14) {
  363.             this.method_13(var1);
  364.          } else {
  365.             this.method_9(var1);
  366.          }
  367.  
  368.          this.method_16(this.field_40, this.field_39, 172);
  369.  
  370.          try {
  371.             this.field_12[var1] = ((Component)this).createImage(new MemoryImageSource(this.field_48, this.field_47, new DirectColorModel(24, 16711680, 65280, 255), this.field_13, 0, this.field_48));
  372.          } catch (Exception var4) {
  373.          }
  374.  
  375.          if (this.field_14) {
  376.             this.method_14(var1);
  377.          } else {
  378.             this.method_10(var1);
  379.          }
  380.       }
  381.    }
  382.  
  383.    // $FF: renamed from: a (int, int[]) boolean
  384.    private boolean method_5(int var1, int[] var2) throws InterruptedException {
  385.       if (this.field_35) {
  386.          this.field_35 = false;
  387.       } else {
  388.          this.field_35 = true;
  389.       }
  390.  
  391.       PixelGrabber var3 = new PixelGrabber(this.field_6[var1].getSource(), 0, 0, this.field_48, this.field_47, var2, 0, this.field_48);
  392.  
  393.       try {
  394.          if (!var3.grabPixels(0L)) {
  395.             var3.grabPixels(0L);
  396.          }
  397.  
  398.          if ((var3.status() & 128) != 0) {
  399.             throw new InterruptedException(method_17("+>2|KN%.3i\u00074%\u007f~\u001c-\"q\\\u001c.%a\u0003N\r\u0002\\k:"));
  400.          }
  401.       } catch (InterruptedException var9) {
  402.          throw new InterruptedException(method_17(">%8vU)>!q[\u000b>\"vKN\t2aV\u001cv") + var9 + method_17("N\u001f4rM\u001b?z3") + var3.status());
  403.       }
  404.  
  405.       Object var10 = null;
  406.       this.field_6[var1].flush();
  407.  
  408.       try {
  409.          this.field_6[var1] = ((Component)this).createImage(new MemoryImageSource(this.field_48, this.field_47, new DirectColorModel(24, 16711680, 65280, 255), var2, 0, this.field_48));
  410.       } catch (Exception var8) {
  411.       }
  412.  
  413.       if (this.field_14) {
  414.          this.method_12(var1);
  415.       } else {
  416.          this.method_11(var1);
  417.       }
  418.  
  419.       if (var1 == 0) {
  420.          try {
  421.             System.arraycopy(var2, 0, this.field_38, 0, this.field_48 * this.field_47);
  422.          } catch (ArrayStoreException var7) {
  423.          }
  424.       } else if (var1 == this.field_23 - 1) {
  425.          this.method_4(var1 - 1);
  426.          if (this.field_35) {
  427.             this.field_35 = false;
  428.          } else {
  429.             this.field_35 = true;
  430.          }
  431.  
  432.          this.method_16(this.field_38, var2, 86);
  433.  
  434.          try {
  435.             this.field_11[this.field_23 - 1] = ((Component)this).createImage(new MemoryImageSource(this.field_48, this.field_47, new DirectColorModel(32, 16711680, 65280, 255), this.field_13, 0, this.field_48));
  436.          } catch (Exception var6) {
  437.          }
  438.  
  439.          if (this.field_14) {
  440.             this.method_13(this.field_23 - 1);
  441.          } else {
  442.             this.method_9(this.field_23 - 1);
  443.          }
  444.  
  445.          this.method_16(this.field_38, var2, 172);
  446.  
  447.          try {
  448.             this.field_12[this.field_23 - 1] = ((Component)this).createImage(new MemoryImageSource(this.field_48, this.field_47, new DirectColorModel(24, 16711680, 65280, 255), this.field_13, 0, this.field_48));
  449.          } catch (Exception var5) {
  450.          }
  451.  
  452.          if (this.field_14) {
  453.             this.method_14(this.field_23 - 1);
  454.          } else {
  455.             this.method_10(this.field_23 - 1);
  456.          }
  457.       } else {
  458.          this.method_4(var1 - 1);
  459.       }
  460.  
  461.       return true;
  462.    }
  463.  
  464.    public void destroy() {
  465.       if (this.field_28 != null) {
  466.          this.field_28.flush();
  467.       }
  468.  
  469.       this.field_28 = null;
  470.       if (this.field_26 != null) {
  471.          this.field_26.flush();
  472.       }
  473.  
  474.       this.field_26 = null;
  475.       if (this.field_25 != null) {
  476.          this.field_25.dispose();
  477.       }
  478.  
  479.       this.field_25 = null;
  480.       System.gc();
  481.    }
  482.  
  483.    // $FF: renamed from: a (java.lang.String) java.awt.Image
  484.    Image method_6(String var1) {
  485.       URL var2 = null;
  486.       Image var3 = null;
  487.  
  488.       try {
  489.          var2 = new URL(((Applet)this).getDocumentBase(), var1);
  490.       } catch (MalformedURLException var13) {
  491.       }
  492.  
  493.       try {
  494.          InputStream var4 = this.getClass().getResourceAsStream(var2.toString());
  495.          if (var4 != null) {
  496.             ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  497.             byte[] var6 = new byte[512];
  498.             boolean var8 = false;
  499.             byte[] var9 = null;
  500.  
  501.             try {
  502.                while(!var8) {
  503.                   int var7 = var4.read(var6, 0, 512);
  504.                   if (var7 != -1) {
  505.                      var5.write(var6, 0, var7);
  506.                      ((OutputStream)var5).flush();
  507.                   } else {
  508.                      var8 = true;
  509.                   }
  510.                }
  511.  
  512.                var9 = var5.toByteArray();
  513.                ((OutputStream)var5).close();
  514.                var4.close();
  515.             } catch (IOException var14) {
  516.                var3 = null;
  517.             }
  518.  
  519.             System.gc();
  520.             if (var9 != null) {
  521.                var3 = ((Component)this).getToolkit().createImage(var9);
  522.             }
  523.          }
  524.       } catch (NoSuchMethodError var15) {
  525.          var3 = null;
  526.       }
  527.  
  528.       if (var3 == null) {
  529.          int var16 = 0;
  530.  
  531.          while(var16 < 5) {
  532.             try {
  533.                var3 = Toolkit.getDefaultToolkit().getImage(var2);
  534.                MediaTracker var17 = new MediaTracker(this);
  535.  
  536.                try {
  537.                   var17.addImage(var3, 0);
  538.                   var17.waitForID(0);
  539.                } catch (InterruptedException var11) {
  540.                   var3 = null;
  541.                }
  542.  
  543.                if (var17.isErrorID(0)) {
  544.                   var3 = null;
  545.                }
  546.  
  547.                var16 = 6;
  548.             } catch (NullPointerException var12) {
  549.                ++var16;
  550.                System.gc();
  551.             }
  552.          }
  553.       }
  554.  
  555.       while(var3 == null) {
  556.          ((Applet)this).showStatus(method_17("'!!t\\N") + var1 + method_17("N\"/g\u0019\b#5}]O"));
  557.  
  558.          try {
  559.             Thread.sleep(500L);
  560.          } catch (InterruptedException var10) {
  561.          }
  562.       }
  563.  
  564.       return var3;
  565.    }
  566.  
  567.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  568.       if (var1 == this.field_28) {
  569.          if (var2 == 16) {
  570.             this.field_27 = true;
  571.          }
  572.  
  573.          return true;
  574.       } else {
  575.          return true;
  576.       }
  577.    }
  578.  
  579.    public void init() {
  580.       ((Container)this).setLayout((LayoutManager)null);
  581.       ((Panel)this).addNotify();
  582.       this.field_17 = false;
  583.       this.field_41 = ((Applet)this).getParameter(method_17("\u001d8!gL\u001d!3t"));
  584.       Object var2 = null;
  585.       String var44 = ((Applet)this).getParameter(method_17("\r>%wP\u001a?"));
  586.       if (var44 != null) {
  587.          if (!var44.startsWith(method_17("/<0\u007f\\\u001al\"j\u0019(-\"zVN\u000f)fZ\r%`;N\u0019;nrW\b"))) {
  588.             this.method_2();
  589.          }
  590.       } else {
  591.          this.method_2();
  592.       }
  593.  
  594.       Object var3 = null;
  595.       Object var4 = null;
  596.  
  597.       try {
  598.          var45 = ((Applet)this).getDocumentBase().getProtocol();
  599.       } catch (SecurityException var35) {
  600.          var45 = method_17("\b%,v");
  601.       }
  602.  
  603.       try {
  604.          var46 = ((Applet)this).getDocumentBase().getHost();
  605.       } catch (SecurityException var34) {
  606.          var46 = "";
  607.       }
  608.  
  609.       if (!var45.equalsIgnoreCase(method_17("\b%,v")) && var46.length() != 0 && !var46.equalsIgnoreCase(method_17("\u0002##rU\u0006#3g")) && !var46.equals(method_17("_~w=\t@|n\""))) {
  610.          if (var46.startsWith(method_17("\u0019;7="))) {
  611.             var46 = var46.substring(4);
  612.          }
  613.  
  614.          Object var5 = null;
  615.          String var47 = ((Applet)this).getParameter(method_17("\u001c)'pV\n)"));
  616.          if (var47 != null && !var47.equals("NO") && var47.length() > 10) {
  617.             int var6 = 1;
  618.  
  619.             try {
  620.                for(int var7 = 0; var7 < var47.length(); ++var7) {
  621.                   if (var47.charAt(var7) == '+') {
  622.                      ++var6;
  623.                   }
  624.                }
  625.             } catch (StringIndexOutOfBoundsException var37) {
  626.             }
  627.  
  628.             int[] var50 = new int[var6];
  629.             if (var6 == 1) {
  630.                var50[0] = var47.length();
  631.             } else {
  632.                int var8 = 0;
  633.  
  634.                try {
  635.                   for(int var9 = 0; var9 < var47.length(); ++var9) {
  636.                      if (var47.charAt(var9) == '+') {
  637.                         var50[var8] = var9;
  638.                         ++var8;
  639.                      }
  640.                   }
  641.                } catch (StringIndexOutOfBoundsException var36) {
  642.                }
  643.  
  644.                var50[var8] = var47.length();
  645.             }
  646.  
  647.             String[] var52 = new String[var6];
  648.             int var54 = 0;
  649.  
  650.             for(int var10 = 0; var10 < var6; ++var10) {
  651.                try {
  652.                   var52[var10] = var47.substring(var54, var50[var10]);
  653.                } catch (StringIndexOutOfBoundsException var33) {
  654.                }
  655.  
  656.                var54 = var50[var10] + 1;
  657.             }
  658.  
  659.             for(int var11 = 0; var11 < var6; ++var11) {
  660.                int var12 = var52[var11].length() - 8;
  661.                byte[] var16 = new byte[var12];
  662.                byte[] var17 = new byte[8];
  663.                var52[var11].getBytes(0, var12, var16, 0);
  664.                var52[var11].getBytes(var12, var12 + 8, var17, 0);
  665.                int var14 = var12 % 7;
  666.                int var15 = var12 % 3;
  667.  
  668.                for(int var18 = 0; var18 < var12; ++var18) {
  669.                   byte var13 = var16[var18];
  670.                   if (var13 >= 48 && var13 <= 57) {
  671.                      var16[var18] = this.method_15(var13, var14, 48, 57);
  672.                   } else if (var13 >= 65 && var13 <= 90) {
  673.                      var16[var18] = this.method_15(var13, var14, 65, 90);
  674.                   } else if (var13 >= 97 && var13 <= 122) {
  675.                      var16[var18] = this.method_15(var13, var14, 97, 122);
  676.                   } else if (var13 == 45) {
  677.                      var16[var18] = 46;
  678.                   } else if (var13 == 46) {
  679.                      var16[var18] = 45;
  680.                   }
  681.  
  682.                   if ((var14 += var15) > 7) {
  683.                      var14 = 1;
  684.                   }
  685.                }
  686.  
  687.                int var19 = 0;
  688.                int var20 = 0;
  689.  
  690.                for(int var21 = 0; var21 < 4; ++var21) {
  691.                   var17[var21] = (byte)(var17[var21] - 52);
  692.                }
  693.  
  694.                for(int var22 = 4; var22 < 8; ++var22) {
  695.                   var17[var22] = (byte)(var17[var22] - 55);
  696.                }
  697.  
  698.                for(int var23 = 0; var23 < var12; var23 += 2) {
  699.                   var19 += var16[var23];
  700.                }
  701.  
  702.                for(int var24 = 1; var24 < var12; var24 += 2) {
  703.                   var20 += var16[var24];
  704.                }
  705.  
  706.                String var25 = String.valueOf(var19);
  707.  
  708.                String var26;
  709.                for(var26 = String.valueOf(var20); var25.length() < 4; var25 = "0" + var25) {
  710.                }
  711.  
  712.                while(var26.length() < 4) {
  713.                   var26 = "0" + var26;
  714.                }
  715.  
  716.                byte[] var27 = new byte[8];
  717.                var25.getBytes(0, 4, var27, 0);
  718.                var26.getBytes(0, 4, var27, 4);
  719.                String var28 = new String(var27, 0);
  720.                if (var28.equals(new String(var17, 0))) {
  721.                   String var29 = new String(var16, 0);
  722.                   Object var30 = null;
  723.                   String var64;
  724.                   if (var29.startsWith(method_17("\u0019;7="))) {
  725.                      var64 = var29.substring(4);
  726.                   } else {
  727.                      var64 = var29;
  728.                   }
  729.  
  730.                   if (var46.equalsIgnoreCase(var64)) {
  731.                      this.field_37 = true;
  732.                   }
  733.                }
  734.             }
  735.          }
  736.       } else {
  737.          this.field_37 = true;
  738.       }
  739.  
  740.       String var48 = ((Applet)this).getParameter(method_17("\u001c)'\u007fP\u0000'"));
  741.       if (var48 != null && !var48.equalsIgnoreCase("NO")) {
  742.          try {
  743.             this.field_20 = new URL(((Applet)this).getDocumentBase(), var48);
  744.          } catch (MalformedURLException var32) {
  745.             this.field_20 = null;
  746.          }
  747.       }
  748.  
  749.       String var49 = ((Applet)this).getParameter(method_17("\u001c)'}\\\u0019*2rT\u000b"));
  750.       if (var49.equalsIgnoreCase(method_17("7\t\u0013"))) {
  751.          this.field_22 = true;
  752.       }
  753.  
  754.       Container var51;
  755.       for(var51 = ((Component)this).getParent(); !(var51 instanceof Frame); var51 = ((Component)var51).getParent()) {
  756.       }
  757.  
  758.       this.field_0 = (Frame)var51;
  759.       this.field_0.setCursor(3);
  760.       String var53 = ((Applet)this).getParameter(method_17("\u0001:%aP\u0003+"));
  761.       if (var53 != null && !var53.equalsIgnoreCase("NO")) {
  762.          this.field_28 = this.method_6(var53);
  763.          if (this.field_28 != null) {
  764.             String var55 = ((Applet)this).getParameter(method_17("\u0001:%aP\u0003+\u0018"));
  765.             if (var55 == null) {
  766.                var55 = "0";
  767.             }
  768.  
  769.             this.field_29 = Integer.valueOf(var55);
  770.             String var57 = ((Applet)this).getParameter(method_17("\u0001:%aP\u0003+\u0019"));
  771.             if (var57 == null) {
  772.                var57 = "0";
  773.             }
  774.  
  775.             this.field_30 = Integer.valueOf(var57);
  776.          }
  777.       }
  778.  
  779.       Dimension var56 = ((Component)this).size();
  780.       this.field_5 = var56.width;
  781.       this.field_4 = var56.height;
  782.       String var1 = ((Applet)this).getParameter(method_17("\u0007!'`"));
  783.       this.field_24 = var1 != null ? var1 : method_17("\u0007!!t");
  784.       var1 = ((Applet)this).getParameter(method_17("\u0000%-tJ"));
  785.       this.field_23 = var1 != null ? Integer.valueOf(var1) : 3;
  786.       var1 = ((Applet)this).getParameter(method_17("\b#2~X\u001a"));
  787.       this.field_16 = var1 != null ? var1 : method_17("@\u000b\tU");
  788.       var1 = ((Applet)this).getParameter(method_17("\u001d<%v]"));
  789.       this.field_19 = var1 != null ? Integer.valueOf(var1) : 0;
  790.       var1 = ((Applet)this).getParameter(method_17("\u001e#.tI\u000f93v"));
  791.       this.field_33 = var1 != null ? Integer.valueOf(var1) : 0;
  792.       var1 = ((Applet)this).getParameter(method_17("\u001e%.tI\u000f93v"));
  793.       this.field_31 = var1 != null ? Integer.valueOf(var1) : 0;
  794.       var1 = ((Applet)this).getParameter(method_17("\u001e%.tI\u0001\"'"));
  795.       if (var1 == null) {
  796.          this.field_32 = false;
  797.       } else if (var1.equalsIgnoreCase(method_17("7\t\u0013"))) {
  798.          this.field_32 = true;
  799.       }
  800.  
  801.       this.field_2 = true;
  802.       this.field_7 = ((Applet)this).getParameter(method_17("\u000f9$zV\u001e%.t"));
  803.       if (this.field_7 == null) {
  804.          this.field_2 = false;
  805.       } else if (this.field_7.equalsIgnoreCase("NO")) {
  806.          this.field_2 = false;
  807.       }
  808.  
  809.       this.field_3 = true;
  810.       this.field_8 = ((Applet)this).getParameter(method_17("\u000f9$zV\u001e#.t"));
  811.       if (this.field_7 == null) {
  812.          this.field_3 = false;
  813.       } else if (this.field_8.equalsIgnoreCase("NO")) {
  814.          this.field_3 = false;
  815.       }
  816.  
  817.       this.field_21 = new MediaTracker(this);
  818.       MediaTracker var58 = new MediaTracker(this);
  819.       Object var59 = null;
  820.       Image var60 = ((Applet)this).getImage(((Applet)this).getDocumentBase(), this.field_24 + 1 + this.field_16);
  821.       var58.addImage(var60, 0);
  822.  
  823.       try {
  824.          var58.waitForID(0);
  825.       } catch (InterruptedException var31) {
  826.       }
  827.  
  828.       this.field_48 = var60.getWidth(this);
  829.       this.field_47 = var60.getHeight(this);
  830.       var60.flush();
  831.       Object var61 = null;
  832.       if (this.field_48 == this.field_5 && this.field_47 == this.field_4) {
  833.          this.field_14 = false;
  834.       } else {
  835.          this.field_14 = true;
  836.       }
  837.  
  838.       String var62 = ((Applet)this).getParameter(method_17("\u001e>)|K\u000789"));
  839.       this.field_34 = Integer.valueOf(var62);
  840.       if (this.field_34 > 10) {
  841.          this.field_34 = 10;
  842.       } else if (this.field_34 < 1) {
  843.          this.field_34 = 1;
  844.       }
  845.  
  846.       this.field_26 = ((Component)this).createImage(this.field_5, this.field_4);
  847.       this.field_25 = this.field_26.getGraphics();
  848.       this.field_6 = new Image[this.field_23];
  849.       this.field_11 = new Image[this.field_23];
  850.       this.field_12 = new Image[this.field_23];
  851.       this.field_13 = new int[this.field_48 * this.field_47];
  852.       this.field_38 = new int[this.field_48 * this.field_47];
  853.       this.field_39 = new int[this.field_48 * this.field_47];
  854.       this.field_40 = new int[this.field_48 * this.field_47];
  855.       if (!this.field_37) {
  856.          Label var63 = new Label(method_17("/\"&j\u0019, 5a\u0019\u000f<0\u007f\\\u001al\"j\u0019(-\"zVN\u000f)fZ\r%`\"\u0000Wzo*\u0001@"));
  857.          this.field_49 = new Lware(((Applet)this).getAppletContext(), var63);
  858.          this.field_49.setTitle(method_17(", 5a\u0019/<0\u007f\\\u001al\"j\u0019(-\"zVN\u000f)fZ\r%"));
  859.          this.field_49.hide();
  860.       }
  861.  
  862.    }
  863.  
  864.    // $FF: renamed from: e () boolean
  865.    private boolean method_7() {
  866.       ((Applet)this).showStatus(method_17("9-)g\u0019\u0002#!wP\u0000+n=\u0017N"));
  867.       URL var1 = ((Applet)this).getDocumentBase();
  868.  
  869.       for(int var2 = 0; var2 < this.field_23; ++var2) {
  870.          this.field_36 = var2 + 1;
  871.          ((Applet)this).showStatus(method_17("\"#!wP\u0000+`uK\u000f!%3") + (var2 + 1));
  872.          if (var2 == 0) {
  873.             this.field_6[var2] = ((Applet)this).getImage(var1, this.field_24 + (var2 + 1) + this.field_16);
  874.             this.field_21.addImage(this.field_6[var2], 0);
  875.          }
  876.  
  877.          try {
  878.             this.field_21.waitForID(0);
  879.          } catch (InterruptedException var4) {
  880.             return false;
  881.          }
  882.  
  883.          if (var2 < this.field_23 - 1) {
  884.             this.field_6[var2 + 1] = ((Applet)this).getImage(var1, this.field_24 + (var2 + 2) + this.field_16);
  885.             this.field_21.addImage(this.field_6[var2 + 1], 0);
  886.          }
  887.  
  888.          try {
  889.             if (this.field_35) {
  890.                this.method_5(var2, this.field_39);
  891.             } else {
  892.                this.method_5(var2, this.field_40);
  893.             }
  894.          } catch (Exception var3) {
  895.          }
  896.  
  897.          this.field_18 = var2;
  898.          if (this.field_14) {
  899.             this.field_25.drawImage(this.field_6[var2], 0, 0, this.field_5, this.field_4, this);
  900.             this.method_12(var2);
  901.          } else {
  902.             this.field_25.drawImage(this.field_6[var2], 0, 0, this);
  903.          }
  904.  
  905.          this.field_15 = true;
  906.          ((Component)this).repaint();
  907.       }
  908.  
  909.       if (this.field_2) {
  910.          this.field_42 = ((Applet)this).getAudioClip(var1, this.field_7);
  911.       }
  912.  
  913.       if (this.field_3) {
  914.          this.field_43 = ((Applet)this).getAudioClip(var1, this.field_8);
  915.       }
  916.  
  917.       this.field_21 = null;
  918.       this.field_18 = 0;
  919.       field_10 = 3;
  920.       this.field_17 = true;
  921.       ((Component)this).repaint();
  922.       return true;
  923.    }
  924.  
  925.    public final boolean mouseDown(Event var1, int var2, int var3) {
  926.       if (!this.field_37) {
  927.          this.field_49.show();
  928.          this.field_49.toFront();
  929.          this.field_49.requestFocus();
  930.       } else if (this.field_20 != null) {
  931.          if (this.field_22) {
  932.             ((Applet)this).getAppletContext().showDocument(this.field_20, ((Applet)this).getParameter(method_17("\u001c)'uK\u000f!%}X\u0003)")));
  933.          } else {
  934.             ((Applet)this).getAppletContext().showDocument(this.field_20);
  935.          }
  936.       }
  937.  
  938.       return true;
  939.    }
  940.  
  941.    public final boolean mouseEnter(Event var1, int var2, int var3) {
  942.       ((Applet)this).showStatus(this.field_41);
  943.       return true;
  944.    }
  945.  
  946.    public final boolean mouseExit(Event var1, int var2, int var3) {
  947.       ((Applet)this).showStatus("");
  948.       return true;
  949.    }
  950.  
  951.    public void paint(Graphics var1) {
  952.       if (this.field_15 && this.field_17) {
  953.          if (this.field_14) {
  954.             if (field_10 == 3) {
  955.                this.field_25.drawImage(this.field_6[this.field_18], 0, 0, this.field_5, this.field_4, this);
  956.                this.method_12(this.field_18);
  957.             } else if (field_10 == 2) {
  958.                this.field_25.drawImage(this.field_11[this.field_18], 0, 0, this.field_5, this.field_4, this);
  959.                this.method_13(this.field_18);
  960.             } else if (field_10 == 1) {
  961.                this.field_25.drawImage(this.field_12[this.field_18], 0, 0, this.field_5, this.field_4, this);
  962.                this.method_14(this.field_18);
  963.             }
  964.          } else if (field_10 == 3) {
  965.             this.field_25.drawImage(this.field_6[this.field_18], 0, 0, this);
  966.          } else if (field_10 == 2) {
  967.             this.field_25.drawImage(this.field_11[this.field_18], 0, 0, this);
  968.          } else if (field_10 == 1) {
  969.             this.field_25.drawImage(this.field_12[this.field_18], 0, 0, this);
  970.          }
  971.       }
  972.  
  973.       if (this.field_28 != null) {
  974.          this.method_8();
  975.       }
  976.  
  977.       var1.drawImage(this.field_26, 0, 0, this);
  978.    }
  979.  
  980.    // $FF: renamed from: f () void
  981.    public synchronized void method_8() {
  982.       if (this.field_1) {
  983.          this.notifyAll();
  984.  
  985.          while(!this.field_27) {
  986.             Thread.yield();
  987.  
  988.             try {
  989.                Thread.sleep(8L);
  990.             } catch (InterruptedException var1) {
  991.             }
  992.          }
  993.  
  994.          this.field_27 = false;
  995.       }
  996.  
  997.       this.field_25.drawImage(this.field_28, this.field_29, this.field_30, this);
  998.    }
  999.  
  1000.    // $FF: renamed from: b (int) void
  1001.    public synchronized void method_9(int var1) {
  1002.       int var2 = 0;
  1003.       ((Component)this).prepareImage(this.field_11[var1], this);
  1004.       this.notifyAll();
  1005.  
  1006.       while((var2 & 240) == 0) {
  1007.          Thread.yield();
  1008.          var2 = ((Component)this).checkImage(this.field_11[var1], this);
  1009.       }
  1010.  
  1011.    }
  1012.  
  1013.    // $FF: renamed from: c (int) void
  1014.    public synchronized void method_10(int var1) {
  1015.       int var2 = 0;
  1016.       ((Component)this).prepareImage(this.field_12[var1], this);
  1017.       this.notifyAll();
  1018.  
  1019.       while((var2 & 240) == 0) {
  1020.          Thread.yield();
  1021.          var2 = ((Component)this).checkImage(this.field_12[var1], this);
  1022.       }
  1023.  
  1024.    }
  1025.  
  1026.    // $FF: renamed from: d (int) void
  1027.    public synchronized void method_11(int var1) {
  1028.       int var2 = 0;
  1029.       ((Component)this).prepareImage(this.field_6[var1], this);
  1030.       this.notifyAll();
  1031.  
  1032.       while((var2 & 240) == 0) {
  1033.          Thread.yield();
  1034.          var2 = ((Component)this).checkImage(this.field_6[var1], this);
  1035.       }
  1036.  
  1037.    }
  1038.  
  1039.    // $FF: renamed from: e (int) void
  1040.    public synchronized void method_12(int var1) {
  1041.       int var2 = 0;
  1042.       ((Component)this).prepareImage(this.field_6[var1], this.field_5, this.field_4, this);
  1043.       this.notifyAll();
  1044.  
  1045.       while((var2 & 240) == 0) {
  1046.          Thread.yield();
  1047.          var2 = ((Component)this).checkImage(this.field_6[var1], this.field_5, this.field_4, this);
  1048.       }
  1049.  
  1050.    }
  1051.  
  1052.    // $FF: renamed from: f (int) void
  1053.    public synchronized void method_13(int var1) {
  1054.       int var2 = 0;
  1055.       ((Component)this).prepareImage(this.field_11[var1], this.field_5, this.field_4, this);
  1056.       this.notifyAll();
  1057.  
  1058.       while((var2 & 240) == 0) {
  1059.          Thread.yield();
  1060.          var2 = ((Component)this).checkImage(this.field_11[var1], this.field_5, this.field_4, this);
  1061.       }
  1062.  
  1063.    }
  1064.  
  1065.    // $FF: renamed from: g (int) void
  1066.    public synchronized void method_14(int var1) {
  1067.       int var2 = 0;
  1068.       ((Component)this).prepareImage(this.field_12[var1], this.field_5, this.field_4, this);
  1069.       this.notifyAll();
  1070.  
  1071.       while((var2 & 240) == 0) {
  1072.          Thread.yield();
  1073.          var2 = ((Component)this).checkImage(this.field_12[var1], this.field_5, this.field_4, this);
  1074.       }
  1075.  
  1076.    }
  1077.  
  1078.    public void run() {
  1079.       this.field_45.setPriority(this.field_34);
  1080.       ((Applet)this).showStatus("");
  1081.       this.field_18 = 1;
  1082.       if (!this.field_17) {
  1083.          this.field_17 = this.method_7();
  1084.          if (!this.field_17) {
  1085.             ((Applet)this).showStatus(method_17("+>2|KN /r]\u0007\"'3_\u001c--vJOl") + this.field_36);
  1086.             this.stop();
  1087.             return;
  1088.          }
  1089.       }
  1090.  
  1091.       ((Applet)this).showStatus("");
  1092.       field_10 = 2;
  1093.       System.gc();
  1094.       if (this.field_28 != null && !this.field_1) {
  1095.          this.field_1 = this.method_3();
  1096.       }
  1097.  
  1098.       if (this.field_20 != null) {
  1099.          this.field_0.setCursor(12);
  1100.       } else {
  1101.          this.field_0.setCursor(0);
  1102.       }
  1103.  
  1104.       while(this.field_45 != null) {
  1105.          if (this.field_32) {
  1106.             this.method_1();
  1107.          } else {
  1108.             this.method_0();
  1109.          }
  1110.       }
  1111.  
  1112.    }
  1113.  
  1114.    // $FF: renamed from: a (int, int, int, int) byte
  1115.    byte method_15(int var1, int var2, int var3, int var4) {
  1116.       int var5 = var1 - var2;
  1117.       if (var5 >= var3) {
  1118.          return (byte)var5;
  1119.       } else {
  1120.          int var6 = var3 - var5 - 1;
  1121.          return (byte)(var4 - var6);
  1122.       }
  1123.    }
  1124.  
  1125.    public synchronized void start() {
  1126.       if (this.field_45 == null) {
  1127.          this.field_45 = new Thread(this);
  1128.          this.field_45.start();
  1129.       }
  1130.  
  1131.    }
  1132.  
  1133.    public synchronized void stop() {
  1134.       if (this.field_45 != null && this.field_45.isAlive()) {
  1135.          this.field_45.stop();
  1136.          this.field_45 = null;
  1137.       }
  1138.  
  1139.    }
  1140.  
  1141.    public void update(Graphics var1) {
  1142.       this.paint(var1);
  1143.    }
  1144.  
  1145.    // $FF: renamed from: a (int[], int[], int) void
  1146.    private void method_16(int[] var1, int[] var2, int var3) {
  1147.       int var4 = this.field_48 * this.field_47;
  1148.       int var5 = 255 - var3;
  1149.  
  1150.       for(int var6 = 0; var6 < var4; ++var6) {
  1151.          if (var1[var6] == var2[var6]) {
  1152.             this.field_13[var6] = var2[var6];
  1153.          } else {
  1154.             this.field_13[var6] = ((var1[var6] >> 16 & 255) * var3 >> 8) + ((var2[var6] >> 16 & 255) * var5 >> 8) << 16 | ((var1[var6] >> 8 & 255) * var3 >> 8) + ((var2[var6] >> 8 & 255) * var5 >> 8) << 8 | ((var1[var6] & 255) * var3 >> 8) + ((var2[var6] & 255) * var5 >> 8);
  1155.          }
  1156.       }
  1157.  
  1158.    }
  1159.  
  1160.    // $FF: renamed from: b (java.lang.String) java.lang.String
  1161.    private static String method_17(String var0) {
  1162.       char[] var1 = var0.toCharArray();
  1163.       int var2 = var1.length;
  1164.       int var3 = 0;
  1165.  
  1166.       label32:
  1167.       while(true) {
  1168.          int var4 = 0;
  1169.          byte var10000 = 110;
  1170.          char[] var10001 = var1;
  1171.          int var10002 = var3;
  1172.  
  1173.          label30:
  1174.          while(true) {
  1175.             var10001[var10002] ^= var10000;
  1176.  
  1177.             while(true) {
  1178.                ++var3;
  1179.                ++var4;
  1180.                if (var2 == var3) {
  1181.                   return new String(var1);
  1182.                }
  1183.  
  1184.                switch (var4) {
  1185.                   case 1:
  1186.                      var10000 = 76;
  1187.                      var10001 = var1;
  1188.                      var10002 = var3;
  1189.                      continue label30;
  1190.                   case 2:
  1191.                      var10000 = 64;
  1192.                      var10001 = var1;
  1193.                      var10002 = var3;
  1194.                      continue label30;
  1195.                   case 3:
  1196.                      var10000 = 19;
  1197.                      var10001 = var1;
  1198.                      var10002 = var3;
  1199.                      continue label30;
  1200.                   case 4:
  1201.                      var10000 = 57;
  1202.                      var10001 = var1;
  1203.                      var10002 = var3;
  1204.                      continue label30;
  1205.                   case 5:
  1206.                      continue label32;
  1207.                }
  1208.             }
  1209.          }
  1210.       }
  1211.    }
  1212. }
  1213.