home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / AnfyJava14 / data1.cab / Program_Files / Applet / tunnel / tunnel.jar / tunnel.class (.txt) < prev   
Encoding:
Java Class File  |  1998-11-29  |  19.4 KB  |  1,728 lines

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Dimension;
  6. import java.awt.Event;
  7. import java.awt.Font;
  8. import java.awt.FontMetrics;
  9. import java.awt.Frame;
  10. import java.awt.Graphics;
  11. import java.awt.Image;
  12. import java.awt.Label;
  13. import java.awt.LayoutManager;
  14. import java.awt.MediaTracker;
  15. import java.awt.Panel;
  16. import java.awt.Toolkit;
  17. import java.awt.image.DirectColorModel;
  18. import java.awt.image.ImageObserver;
  19. import java.awt.image.MemoryImageSource;
  20. import java.awt.image.PixelGrabber;
  21. import java.io.ByteArrayOutputStream;
  22. import java.io.DataInputStream;
  23. import java.io.FilterInputStream;
  24. import java.io.IOException;
  25. import java.io.InputStream;
  26. import java.io.OutputStream;
  27. import java.net.MalformedURLException;
  28. import java.net.URL;
  29.  
  30. public class tunnel extends Applet implements Runnable, ImageObserver {
  31.    // $FF: renamed from: a int
  32.    private int field_0;
  33.    // $FF: renamed from: b java.awt.Frame
  34.    Frame field_1;
  35.    // $FF: renamed from: c boolean
  36.    boolean field_2 = false;
  37.    // $FF: renamed from: d int
  38.    int field_3;
  39.    // $FF: renamed from: e int
  40.    int field_4;
  41.    // $FF: renamed from: f int
  42.    int field_5;
  43.    // $FF: renamed from: g java.lang.String
  44.    final String field_6 = method_21("\u000fB\u0017OZ:\u0012\u0005Z\u001f\bS\u0005JPnq\u000eV\\-[G\u000bH9EIBQ(");
  45.    // $FF: renamed from: h int
  46.    int field_7;
  47.    // $FF: renamed from: i boolean
  48.    boolean field_8;
  49.    // $FF: renamed from: j float
  50.    float field_9;
  51.    // $FF: renamed from: k float
  52.    float field_10;
  53.    // $FF: renamed from: l float
  54.    float field_11;
  55.    // $FF: renamed from: m long
  56.    long field_12;
  57.    // $FF: renamed from: n int
  58.    int field_13;
  59.    // $FF: renamed from: o int[]
  60.    int[] field_14;
  61.    // $FF: renamed from: p int
  62.    int field_15;
  63.    // $FF: renamed from: q java.awt.Font
  64.    Font field_16;
  65.    // $FF: renamed from: r float
  66.    final float field_17 = 6.2831845F;
  67.    // $FF: renamed from: s int
  68.    int field_18;
  69.    // $FF: renamed from: t java.awt.Graphics
  70.    private Graphics field_19;
  71.    // $FF: renamed from: u int
  72.    int field_20;
  73.    // $FF: renamed from: v float
  74.    float field_21;
  75.    // $FF: renamed from: w float
  76.    float field_22;
  77.    // $FF: renamed from: x java.awt.Image
  78.    private Image field_23;
  79.    // $FF: renamed from: y java.awt.Image
  80.    private Image field_24;
  81.    // $FF: renamed from: z int
  82.    int field_25;
  83.    // $FF: renamed from: A boolean
  84.    boolean field_26 = false;
  85.    // $FF: renamed from: B java.lang.String[]
  86.    String[] field_27;
  87.    // $FF: renamed from: C java.net.URL
  88.    URL field_28;
  89.    // $FF: renamed from: D boolean
  90.    boolean field_29 = true;
  91.    // $FF: renamed from: E int
  92.    int field_30;
  93.    // $FF: renamed from: F int
  94.    int field_31;
  95.    // $FF: renamed from: G java.lang.String
  96.    String field_32;
  97.    // $FF: renamed from: H java.lang.String
  98.    String field_33;
  99.    // $FF: renamed from: I java.lang.String
  100.    String field_34;
  101.    // $FF: renamed from: J java.lang.String
  102.    String field_35;
  103.    // $FF: renamed from: K java.lang.String
  104.    String field_36;
  105.    // $FF: renamed from: L java.lang.String
  106.    String field_37;
  107.    // $FF: renamed from: M java.lang.String
  108.    String field_38;
  109.    // $FF: renamed from: N java.lang.String
  110.    String field_39;
  111.    // $FF: renamed from: O java.lang.String
  112.    String field_40;
  113.    // $FF: renamed from: P java.lang.String
  114.    String field_41;
  115.    // $FF: renamed from: Q java.lang.String
  116.    String field_42;
  117.    // $FF: renamed from: R java.lang.String
  118.    String field_43;
  119.    // $FF: renamed from: S java.lang.String
  120.    String field_44;
  121.    // $FF: renamed from: T java.lang.String
  122.    String field_45;
  123.    // $FF: renamed from: U int
  124.    int field_46;
  125.    // $FF: renamed from: V int
  126.    int field_47;
  127.    // $FF: renamed from: W boolean
  128.    boolean field_48 = false;
  129.    // $FF: renamed from: X int
  130.    int field_49;
  131.    // $FF: renamed from: Y int
  132.    int field_50;
  133.    // $FF: renamed from: Z java.awt.Graphics
  134.    private Graphics field_51;
  135.    // $FF: renamed from: ba java.awt.Image
  136.    private Image field_52;
  137.    // $FF: renamed from: bb boolean
  138.    boolean field_53 = false;
  139.    // $FF: renamed from: bc java.awt.Image
  140.    private Image field_54;
  141.    // $FF: renamed from: bd int
  142.    int field_55;
  143.    // $FF: renamed from: be int
  144.    int field_56;
  145.    // $FF: renamed from: bf int
  146.    int field_57;
  147.    // $FF: renamed from: bg anfy
  148.    anfy field_58;
  149.    // $FF: renamed from: bh java.awt.image.MemoryImageSource
  150.    MemoryImageSource field_59;
  151.    // $FF: renamed from: bi float
  152.    final float field_60 = 0.01745329F;
  153.    // $FF: renamed from: bj int
  154.    int field_61;
  155.    // $FF: renamed from: bk int
  156.    int field_62;
  157.    // $FF: renamed from: bl boolean
  158.    boolean field_63 = false;
  159.    // $FF: renamed from: bm int
  160.    int field_64 = 1;
  161.    // $FF: renamed from: bn java.lang.String
  162.    String field_65;
  163.    // $FF: renamed from: bo int
  164.    int field_66;
  165.    // $FF: renamed from: bp int
  166.    int field_67;
  167.    // $FF: renamed from: bq int
  168.    int field_68;
  169.    // $FF: renamed from: br java.awt.Color
  170.    Color field_69;
  171.    // $FF: renamed from: bs int
  172.    int field_70;
  173.    // $FF: renamed from: bt int
  174.    int field_71;
  175.    // $FF: renamed from: bu int
  176.    int field_72;
  177.    // $FF: renamed from: bv int
  178.    int field_73;
  179.    // $FF: renamed from: bw int
  180.    int field_74;
  181.    // $FF: renamed from: bx int
  182.    int field_75;
  183.    // $FF: renamed from: by int[]
  184.    int[] field_76;
  185.    // $FF: renamed from: bz int[]
  186.    int[] field_77;
  187.    // $FF: renamed from: bA int[]
  188.    int[] field_78;
  189.    // $FF: renamed from: bB float
  190.    float field_79;
  191.    // $FF: renamed from: bC float
  192.    float field_80;
  193.    // $FF: renamed from: bD java.lang.String
  194.    String field_81;
  195.    // $FF: renamed from: bE java.awt.Color
  196.    Color field_82;
  197.    // $FF: renamed from: bF int
  198.    int field_83;
  199.    // $FF: renamed from: bG int
  200.    int field_84;
  201.    // $FF: renamed from: bH int
  202.    int field_85;
  203.    // $FF: renamed from: bI boolean
  204.    boolean field_86;
  205.    // $FF: renamed from: bJ boolean
  206.    boolean field_87;
  207.    // $FF: renamed from: bK int[]
  208.    int[] field_88;
  209.    // $FF: renamed from: bL int
  210.    int field_89;
  211.    // $FF: renamed from: bM int
  212.    int field_90;
  213.    // $FF: renamed from: bN java.awt.Toolkit
  214.    Toolkit field_91;
  215.    // $FF: renamed from: bO java.lang.Thread
  216.    Thread field_92;
  217.    // $FF: renamed from: bP int
  218.    int field_93;
  219.    // $FF: renamed from: bQ int
  220.    int field_94;
  221.    // $FF: renamed from: bR int
  222.    int field_95;
  223.    // $FF: renamed from: bS int
  224.    int field_96;
  225.    // $FF: renamed from: bT int[]
  226.    int[] field_97;
  227.    // $FF: renamed from: bU int
  228.    int field_98;
  229.    // $FF: renamed from: bV Lware
  230.    Lware field_99;
  231.    // $FF: renamed from: bW int
  232.    int field_100;
  233.    // $FF: renamed from: bX int
  234.    int field_101;
  235.    // $FF: renamed from: bY int
  236.    int field_102;
  237.    // $FF: renamed from: bZ int
  238.    int field_103;
  239.    // $FF: renamed from: ca int
  240.    int field_104;
  241.    // $FF: renamed from: cb java.awt.Font[]
  242.    Font[] field_105;
  243.  
  244.    // $FF: renamed from: a () void
  245.    private final void method_0() {
  246.       while(true) {
  247.          ((Applet)this).showStatus(method_21("\n]\t\u0004Kn@\u0002NP8WGTH9\u001c\u0006MY7X\u0006U^`Q\bN\u001f-@\u0002GV:AGOV WGJQnz3nso"));
  248.  
  249.          try {
  250.             Thread.sleep(500L);
  251.          } catch (InterruptedException var1) {
  252.          }
  253.       }
  254.    }
  255.  
  256.    // $FF: renamed from: a (int) float
  257.    final float method_1(int var1) {
  258.       float var2 = 0.0F;
  259.       if (var1 <= 50) {
  260.          var2 = 4.0F;
  261.       }
  262.  
  263.       if (var1 >= 50) {
  264.          var2 = 3.0F;
  265.       }
  266.  
  267.       if (var1 >= 70) {
  268.          var2 = 2.5F;
  269.       }
  270.  
  271.       if (var1 >= 100) {
  272.          var2 = 2.4F;
  273.       }
  274.  
  275.       if (var1 >= 120) {
  276.          var2 = 2.2F;
  277.       }
  278.  
  279.       if (var1 >= 150) {
  280.          var2 = 2.1F;
  281.       }
  282.  
  283.       if (var1 >= 170) {
  284.          var2 = 2.0F;
  285.       }
  286.  
  287.       if (var1 >= 190) {
  288.          var2 = 1.8F;
  289.       }
  290.  
  291.       if (var1 >= 200) {
  292.          var2 = 1.5F;
  293.       }
  294.  
  295.       if (var1 >= 220) {
  296.          var2 = 1.2F;
  297.       }
  298.  
  299.       if (var1 >= 230) {
  300.          var2 = 1.0F;
  301.       }
  302.  
  303.       if (var1 >= 240) {
  304.          var2 = 0.7F;
  305.       }
  306.  
  307.       if (var1 >= 250) {
  308.          var2 = 0.5F;
  309.       }
  310.  
  311.       if (var1 >= 280) {
  312.          var2 = 0.2F;
  313.       }
  314.  
  315.       if (var1 >= 300) {
  316.          var2 = 0.1F;
  317.       }
  318.  
  319.       if (var1 >= 310) {
  320.          var2 = 0.08F;
  321.       }
  322.  
  323.       if (var1 >= 320) {
  324.          var2 = 0.07F;
  325.       }
  326.  
  327.       if (var1 >= 330) {
  328.          var2 = 0.06F;
  329.       }
  330.  
  331.       if (var1 >= 350) {
  332.          var2 = 0.05F;
  333.       }
  334.  
  335.       if (var1 >= 370) {
  336.          var2 = 0.04F;
  337.       }
  338.  
  339.       return var2;
  340.    }
  341.  
  342.    // $FF: renamed from: b () boolean
  343.    public synchronized boolean method_2() {
  344.       ((Component)this).prepareImage(this.field_54, this);
  345.       if (!this.field_26) {
  346.          return false;
  347.       } else {
  348.          for(int var1 = 0; var1 < 3; ++var1) {
  349.             this.notifyAll();
  350.             Thread.yield();
  351.  
  352.             try {
  353.                Thread.sleep(100L);
  354.             } catch (InterruptedException var2) {
  355.             }
  356.          }
  357.  
  358.          return this.field_53;
  359.       }
  360.    }
  361.  
  362.    public void destroy() {
  363.       if (this.field_54 != null) {
  364.          this.field_54.flush();
  365.       }
  366.  
  367.       this.field_54 = null;
  368.       if (this.field_52 != null) {
  369.          this.field_52.flush();
  370.       }
  371.  
  372.       this.field_52 = null;
  373.       if (this.field_51 != null) {
  374.          this.field_51.dispose();
  375.       }
  376.  
  377.       this.field_51 = null;
  378.       System.gc();
  379.    }
  380.  
  381.    // $FF: renamed from: c () void
  382.    final void method_3() {
  383.       switch (this.field_46) {
  384.          case 1:
  385.             this.field_49 = (this.field_49 + this.field_90) % this.field_89;
  386.             break;
  387.          case 2:
  388.             this.field_49 = (this.field_49 - this.field_90) % this.field_89;
  389.             break;
  390.          case 3:
  391.             this.field_49 = (this.field_49 + 1) % this.field_89;
  392.             break;
  393.          case 4:
  394.             this.field_49 = (this.field_49 - 1) % this.field_89;
  395.             break;
  396.          case 5:
  397.             this.field_49 = (this.field_49 + this.field_90 + 1) % this.field_89;
  398.             break;
  399.          case 6:
  400.             this.field_49 = (this.field_49 + this.field_90 - 1) % this.field_89;
  401.             break;
  402.          case 7:
  403.             this.field_49 = (this.field_49 - this.field_90 + 1) % this.field_89;
  404.             break;
  405.          case 8:
  406.             this.field_49 = (this.field_49 - this.field_90 - 1) % this.field_89;
  407.       }
  408.  
  409.       if (this.field_49 < 0) {
  410.          this.field_49 += this.field_89;
  411.       }
  412.  
  413.       int var1 = this.field_49;
  414.       int var2 = this.field_4;
  415.       int[] var3 = this.field_14;
  416.       int[] var4 = this.field_78;
  417.       int[] var5 = this.field_88;
  418.       int var6 = this.field_89;
  419.  
  420.       for(int var7 = 0; var7 < var2; ++var7) {
  421.          var3[var7] = var4[(var5[var7] + var1) % var6];
  422.       }
  423.  
  424.    }
  425.  
  426.    // $FF: renamed from: a (java.lang.String) java.awt.Image
  427.    Image method_4(String var1) {
  428.       try {
  429.          return this.method_5(var1);
  430.       } catch (NoSuchMethodError var2) {
  431.          return this.method_5(var1);
  432.       }
  433.    }
  434.  
  435.    // $FF: renamed from: b (java.lang.String) java.awt.Image
  436.    synchronized Image method_5(String var1) {
  437.       URL var2 = null;
  438.       Image var3 = null;
  439.  
  440.       try {
  441.          var2 = new URL(((Applet)this).getDocumentBase(), var1);
  442.       } catch (MalformedURLException var14) {
  443.       }
  444.  
  445.       try {
  446.          try {
  447.             InputStream var4 = this.getClass().getResourceAsStream(var2.toString());
  448.             if (var4 != null) {
  449.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  450.                byte[] var6 = new byte[512];
  451.                boolean var8 = false;
  452.                Object var9 = null;
  453.  
  454.                try {
  455.                   while(!var8) {
  456.                      int var7 = var4.read(var6, 0, 512);
  457.                      if (var7 != -1) {
  458.                         var5.write(var6, 0, var7);
  459.                         ((OutputStream)var5).flush();
  460.                      } else {
  461.                         var8 = true;
  462.                      }
  463.                   }
  464.  
  465.                   var21 = var5.toByteArray();
  466.                   ((OutputStream)var5).close();
  467.                   var4.close();
  468.                } catch (IOException var15) {
  469.                   var21 = null;
  470.                }
  471.  
  472.                System.gc();
  473.                if (var21 != null) {
  474.                   var3 = ((Component)this).getToolkit().createImage(var21);
  475.                   ((Component)this).prepareImage(var3, this);
  476.                }
  477.             }
  478.          } catch (NoSuchMethodError var16) {
  479.          }
  480.       } catch (SecurityException var17) {
  481.       }
  482.  
  483.       if (var3 == null) {
  484.          int var18 = 0;
  485.  
  486.          while(var18 < 5) {
  487.             try {
  488.                if (var18 % 2 == 0) {
  489.                   var3 = Toolkit.getDefaultToolkit().getImage(var2);
  490.                } else {
  491.                   var3 = ((Applet)this).getImage(var2);
  492.                }
  493.  
  494.                ++var18;
  495.                MediaTracker var20 = new MediaTracker(this);
  496.                this.notifyAll();
  497.                Thread.currentThread();
  498.                Thread.yield();
  499.  
  500.                try {
  501.                   var20.addImage(var3, 0);
  502.                   var20.waitForID(0);
  503.                } catch (InterruptedException var12) {
  504.                   var3 = null;
  505.                }
  506.  
  507.                if (var20.isErrorID(0)) {
  508.                   var3 = null;
  509.                } else {
  510.                   var18 = 6;
  511.                }
  512.             } catch (NullPointerException var13) {
  513.                System.gc();
  514.             }
  515.          }
  516.       }
  517.  
  518.       if (var3 == null) {
  519.          for(int var19 = 0; var19 < 25; ++var19) {
  520.             ((Applet)this).showStatus(method_21("\u0007_\u0006DZn") + var1 + method_21("n\\\bW\u001f(]\u0012M[o"));
  521.  
  522.             try {
  523.                Thread.currentThread();
  524.                Thread.sleep(250L);
  525.             } catch (InterruptedException var11) {
  526.             }
  527.          }
  528.       } else {
  529.          while(var3.getWidth(this) < 0) {
  530.             this.notifyAll();
  531.             Thread.currentThread();
  532.             Thread.yield();
  533.  
  534.             try {
  535.                Thread.currentThread();
  536.                Thread.sleep(100L);
  537.             } catch (InterruptedException var10) {
  538.             }
  539.          }
  540.       }
  541.  
  542.       return var3;
  543.    }
  544.  
  545.    // $FF: renamed from: a (java.lang.String, int) void
  546.    public void method_6(String var1, int var2) {
  547.       try {
  548.          this.method_7(var1, var2);
  549.       } catch (NoSuchMethodError var3) {
  550.          this.method_7(var1, var2);
  551.       }
  552.    }
  553.  
  554.    // $FF: renamed from: b (java.lang.String, int) void
  555.    public void method_7(String var1, int var2) {
  556.       try {
  557.          URL var3 = new URL(((Applet)this).getDocumentBase(), var1);
  558.  
  559.          try {
  560.             DataInputStream var4 = new DataInputStream(var3.openStream());
  561.             if (var4 != null) {
  562.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  563.                byte[] var6 = new byte[512];
  564.                int var7 = 0;
  565.                int var8 = 0;
  566.                boolean var9 = false;
  567.  
  568.                try {
  569.                   while(!var9) {
  570.                      var7 = var4.read(var6, 0, 512);
  571.                      if (var7 == -1) {
  572.                         var9 = true;
  573.                      } else {
  574.                         var5.write(var6, 0, var7);
  575.                         ((OutputStream)var5).flush();
  576.                         var8 += var7;
  577.                      }
  578.                   }
  579.  
  580.                   byte[] var10 = var5.toByteArray();
  581.                   ((OutputStream)var5).close();
  582.                   Object var26 = null;
  583.                   ((FilterInputStream)var4).close();
  584.                   System.gc();
  585.                   if (var2 != 0) {
  586.                      int var29 = 1;
  587.  
  588.                      for(int var13 = 0; var13 < var8; ++var13) {
  589.                         if (var10[var13] == 10) {
  590.                            ++var29;
  591.                         }
  592.                      }
  593.  
  594.                      this.field_27 = new String[var29 - 1];
  595.                      int[] var14 = new int[var29 + 1];
  596.                      int[] var15 = new int[var29 + 1];
  597.                      var14[0] = 0;
  598.                      int var16 = 0;
  599.                      byte var17 = 0;
  600.  
  601.                      for(int var18 = 0; var18 < var8; ++var18) {
  602.                         byte var28 = var10[var18];
  603.                         if (var28 == 10) {
  604.                            var14[var16 + 1] = var18 + 1;
  605.                            if (var17 == 13) {
  606.                               var15[var16] = var18 - var14[var16] - 1;
  607.                            } else {
  608.                               var15[var16] = var18 - var14[var16];
  609.                            }
  610.  
  611.                            ++var16;
  612.                         }
  613.  
  614.                         var17 = var28;
  615.                      }
  616.  
  617.                      var15[var16] = var8 - var14[var16 + 1] - 1;
  618.  
  619.                      try {
  620.                         for(int var19 = 0; var19 < var29 - 1; ++var19) {
  621.                            try {
  622.                               this.field_27[var19] = new String(var10, var14[var19], var15[var19]);
  623.                            } catch (NoSuchMethodError var20) {
  624.                               this.field_27[var19] = new String(var10, 0, var14[var19], var15[var19]);
  625.                            }
  626.                         }
  627.  
  628.                         return;
  629.                      } catch (StringIndexOutOfBoundsException var22) {
  630.                         this.field_27 = null;
  631.                         return;
  632.                      }
  633.                   }
  634.  
  635.                   for(int var12 = 0; var12 < var8; ++var12) {
  636.                      byte var11 = var10[var12];
  637.                      if (var11 == 13 || var11 == 10) {
  638.                         var10[var12] = 32;
  639.                      }
  640.                   }
  641.  
  642.                   try {
  643.                      this.field_65 = new String(var10);
  644.                      return;
  645.                   } catch (NoSuchMethodError var21) {
  646.                      this.field_65 = new String(var10, 0);
  647.                      return;
  648.                   }
  649.                } catch (IOException var23) {
  650.                   return;
  651.                }
  652.             }
  653.          } catch (IOException var24) {
  654.             return;
  655.          }
  656.       } catch (MalformedURLException var25) {
  657.       }
  658.  
  659.    }
  660.  
  661.    // $FF: renamed from: a (java.awt.Graphics) void
  662.    public void method_8(Graphics var1) {
  663.       var1.setFont(this.field_16);
  664.       if (this.field_0 == 0) {
  665.          this.field_101 = this.field_102;
  666.       } else {
  667.          this.field_25 += this.field_93;
  668.          this.field_101 = this.field_102 - (int)Math.abs((double)this.field_0 * Math.sin((double)this.field_25 / (double)90.0F * Math.PI));
  669.       }
  670.  
  671.       if (this.field_71 != 0) {
  672.          for(int var2 = 0; var2 < this.field_95; ++var2) {
  673.             int var3 = this.field_76[this.field_70 + var2];
  674.             var1.copyArea(var2, var3, 1, this.field_73, 0, this.field_61 - var3);
  675.          }
  676.  
  677.          if (this.field_87) {
  678.             var1.setColor(this.field_69);
  679.             var1.drawString(this.field_65, this.field_100 + 1, this.field_61 + this.field_66 + 1);
  680.          }
  681.  
  682.          var1.setColor(this.field_82);
  683.          var1.drawString(this.field_65, this.field_100, this.field_61 + this.field_66);
  684.  
  685.          for(int var4 = 0; var4 < this.field_95; ++var4) {
  686.             var1.copyArea(var4, this.field_61, 1, this.field_74, 0, this.field_77[this.field_70 + var4]);
  687.          }
  688.  
  689.          this.field_70 -= this.field_75;
  690.          if (this.field_70 < 0) {
  691.             this.field_70 += 360;
  692.          }
  693.       } else {
  694.          if (this.field_87) {
  695.             var1.setColor(this.field_69);
  696.             var1.drawString(this.field_65, this.field_100 + 1, this.field_101 + 1);
  697.          }
  698.  
  699.          var1.setColor(this.field_82);
  700.          var1.drawString(this.field_65, this.field_100, this.field_101);
  701.       }
  702.  
  703.       this.field_100 -= this.field_94;
  704.       if (this.field_100 < -this.field_67) {
  705.          this.field_100 = this.field_95;
  706.       }
  707.  
  708.    }
  709.  
  710.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  711.       if (var1 == this.field_54) {
  712.          if (var2 == 16) {
  713.             this.field_53 = true;
  714.          }
  715.  
  716.          return true;
  717.       } else {
  718.          return true;
  719.       }
  720.    }
  721.  
  722.    public void init() {
  723.       ((Container)this).setLayout((LayoutManager)null);
  724.       ((Panel)this).addNotify();
  725.       this.field_91 = ((Component)this).getToolkit();
  726.       this.field_81 = ((Applet)this).getParameter(method_21("=F\u0006WJ=_\u0014D"));
  727.       Object var1 = null;
  728.       String var38 = ((Applet)this).getParameter(method_21("-@\u0002GV:A"));
  729.       if (var38 != null) {
  730.          if (!var38.startsWith(method_21("\u000fB\u0017OZ:\u0012\u0005Z\u001f\bS\u0005JPnq\u000eV\\-[G\u000bH9EIBQ("))) {
  731.             this.method_0();
  732.          }
  733.       } else {
  734.          this.method_0();
  735.       }
  736.  
  737.       Object var2 = null;
  738.       Object var3 = null;
  739.  
  740.       try {
  741.          var39 = ((Applet)this).getDocumentBase().getProtocol();
  742.       } catch (SecurityException var35) {
  743.          var39 = method_21("([\u000bF");
  744.       }
  745.  
  746.       try {
  747.          var40 = ((Applet)this).getDocumentBase().getHost();
  748.       } catch (SecurityException var34) {
  749.          var40 = "";
  750.       }
  751.  
  752.       if (!var39.equalsIgnoreCase(method_21("([\u000bF")) && var40.length() != 0 && !var40.equalsIgnoreCase(method_21("\"]\u0004BS&]\u0014W")) && !var40.equals(method_21("\u007f\u0000P\r\u000f`\u0002I\u0012"))) {
  753.          if (var40.startsWith(method_21("9E\u0010\r"))) {
  754.             var40 = var40.substring(4);
  755.          }
  756.  
  757.          Object var4 = null;
  758.          String var41 = ((Applet)this).getParameter(method_21("<W\u0000@P*W"));
  759.          if (var41 != null && !var41.equals("NO") && var41.length() > 10) {
  760.             int var5 = 1;
  761.  
  762.             try {
  763.                for(int var6 = 0; var6 < var41.length(); ++var6) {
  764.                   if (var41.charAt(var6) == '+') {
  765.                      ++var5;
  766.                   }
  767.                }
  768.             } catch (StringIndexOutOfBoundsException var37) {
  769.             }
  770.  
  771.             int[] var44 = new int[var5];
  772.             if (var5 == 1) {
  773.                var44[0] = var41.length();
  774.             } else {
  775.                int var7 = 0;
  776.  
  777.                try {
  778.                   for(int var8 = 0; var8 < var41.length(); ++var8) {
  779.                      if (var41.charAt(var8) == '+') {
  780.                         var44[var7] = var8;
  781.                         ++var7;
  782.                      }
  783.                   }
  784.                } catch (StringIndexOutOfBoundsException var36) {
  785.                }
  786.  
  787.                var44[var7] = var41.length();
  788.             }
  789.  
  790.             String[] var46 = new String[var5];
  791.             int var48 = 0;
  792.  
  793.             for(int var9 = 0; var9 < var5; ++var9) {
  794.                try {
  795.                   var46[var9] = var41.substring(var48, var44[var9]);
  796.                } catch (StringIndexOutOfBoundsException var33) {
  797.                }
  798.  
  799.                var48 = var44[var9] + 1;
  800.             }
  801.  
  802.             for(int var10 = 0; var10 < var5; ++var10) {
  803.                int var11 = var46[var10].length() - 8;
  804.                byte[] var15 = new byte[var11];
  805.                byte[] var16 = new byte[8];
  806.                var46[var10].getBytes(0, var11, var15, 0);
  807.                var46[var10].getBytes(var11, var11 + 8, var16, 0);
  808.                int var13 = var11 % 7;
  809.                int var14 = var11 % 3;
  810.  
  811.                for(int var17 = 0; var17 < var11; ++var17) {
  812.                   byte var12 = var15[var17];
  813.                   if (var12 >= 48 && var12 <= 57) {
  814.                      var15[var17] = this.method_15(var12, var13, 48, 57);
  815.                   } else if (var12 >= 65 && var12 <= 90) {
  816.                      var15[var17] = this.method_15(var12, var13, 65, 90);
  817.                   } else if (var12 >= 97 && var12 <= 122) {
  818.                      var15[var17] = this.method_15(var12, var13, 97, 122);
  819.                   } else if (var12 == 45) {
  820.                      var15[var17] = 46;
  821.                   } else if (var12 == 46) {
  822.                      var15[var17] = 45;
  823.                   }
  824.  
  825.                   if ((var13 += var14) > 7) {
  826.                      var13 = 1;
  827.                   }
  828.                }
  829.  
  830.                int var18 = 0;
  831.                int var19 = 0;
  832.  
  833.                for(int var20 = 0; var20 < 4; ++var20) {
  834.                   var16[var20] = (byte)(var16[var20] - 52);
  835.                }
  836.  
  837.                for(int var21 = 4; var21 < 8; ++var21) {
  838.                   var16[var21] = (byte)(var16[var21] - 55);
  839.                }
  840.  
  841.                for(int var22 = 0; var22 < var11; var22 += 2) {
  842.                   var18 += var15[var22];
  843.                }
  844.  
  845.                for(int var23 = 1; var23 < var11; var23 += 2) {
  846.                   var19 += var15[var23];
  847.                }
  848.  
  849.                String var24 = String.valueOf(var18);
  850.  
  851.                String var25;
  852.                for(var25 = String.valueOf(var19); var24.length() < 4; var24 = "0" + var24) {
  853.                }
  854.  
  855.                while(var25.length() < 4) {
  856.                   var25 = "0" + var25;
  857.                }
  858.  
  859.                byte[] var26 = new byte[8];
  860.                var24.getBytes(0, 4, var26, 0);
  861.                var25.getBytes(0, 4, var26, 4);
  862.                String var27 = new String(var26, 0);
  863.                if (var27.equals(new String(var16, 0))) {
  864.                   String var28 = new String(var15, 0);
  865.                   Object var29 = null;
  866.                   String var54;
  867.                   if (var28.startsWith(method_21("9E\u0010\r"))) {
  868.                      var54 = var28.substring(4);
  869.                   } else {
  870.                      var54 = var28;
  871.                   }
  872.  
  873.                   if (var40.equalsIgnoreCase(var54)) {
  874.                      this.field_63 = true;
  875.                   }
  876.                }
  877.             }
  878.          }
  879.       } else {
  880.          this.field_63 = true;
  881.       }
  882.  
  883.       String var42 = ((Applet)this).getParameter(method_21("<W\u0000OV Y"));
  884.       if (var42 != null && !var42.equalsIgnoreCase("NO")) {
  885.          try {
  886.             this.field_28 = new URL(((Applet)this).getDocumentBase(), var42);
  887.          } catch (MalformedURLException var32) {
  888.             this.field_28 = null;
  889.          }
  890.       }
  891.  
  892.       String var43 = ((Applet)this).getParameter(method_21("<W\u0000MZ9T\u0015BR+"));
  893.       if (var43.equalsIgnoreCase(method_21("\u0017w4"))) {
  894.          this.field_48 = true;
  895.       }
  896.  
  897.       Container var45;
  898.       for(var45 = ((Component)this).getParent(); !(var45 instanceof Frame); var45 = ((Component)var45).getParent()) {
  899.       }
  900.  
  901.       this.field_1 = (Frame)var45;
  902.       this.field_1.setCursor(3);
  903.       String var47 = ((Applet)this).getParameter(method_21("!D\u0002QV#U"));
  904.       if (var47 != null && !var47.equalsIgnoreCase("NO")) {
  905.          this.field_54 = this.method_4(var47);
  906.          if (this.field_54 != null) {
  907.             String var49 = ((Applet)this).getParameter(method_21("!D\u0002QV#U?"));
  908.             if (var49 == null) {
  909.                var49 = "0";
  910.             }
  911.  
  912.             this.field_55 = Integer.valueOf(var49);
  913.             String var51 = ((Applet)this).getParameter(method_21("!D\u0002QV#U>"));
  914.             if (var51 == null) {
  915.                var51 = "0";
  916.             }
  917.  
  918.             this.field_56 = Integer.valueOf(var51);
  919.          }
  920.       }
  921.  
  922.       this.field_42 = ((Applet)this).getParameter(method_21("\u0003[\tpf\u0000q"));
  923.       if (this.field_42 == null) {
  924.          this.field_42 = "10";
  925.       }
  926.  
  927.       this.field_31 = Integer.valueOf(this.field_42);
  928.       this.field_29 = true;
  929.       this.field_33 = ((Applet)this).getParameter(method_21("<W\u0014"));
  930.       if (this.field_33 == null) {
  931.          this.field_33 = "1";
  932.       }
  933.  
  934.       this.field_37 = ((Applet)this).getParameter(method_21("=F\u0006QK6"));
  935.       if (this.field_37 == null) {
  936.          this.field_37 = method_21("\u007f\u0002W");
  937.       }
  938.  
  939.       this.field_38 = ((Applet)this).getParameter(method_21("=F\u0006QK7"));
  940.       if (this.field_38 == null) {
  941.          this.field_38 = "1";
  942.       }
  943.  
  944.       this.field_41 = ((Applet)this).getParameter(method_21("-]\tFG"));
  945.       if (this.field_41 == null) {
  946.          this.field_41 = method_21("\u007f\u0007W");
  947.       }
  948.  
  949.       this.field_43 = ((Applet)this).getParameter(method_21("-]\tFF"));
  950.       if (this.field_43 == null) {
  951.          this.field_43 = method_21("|\u0003R");
  952.       }
  953.  
  954.       this.field_44 = ((Applet)this).getParameter(method_21("-]\tFE"));
  955.       if (this.field_44 == null) {
  956.          this.field_44 = method_21("\u007f\u0002W\u0013");
  957.       }
  958.  
  959.       this.field_45 = ((Applet)this).getParameter(method_21("+T\u0001F\\:"));
  960.       if (this.field_45 == null) {
  961.          this.field_45 = "1";
  962.       }
  963.  
  964.       this.field_34 = ((Applet)this).getParameter(method_21("#]\u0011FR+\\\u0013"));
  965.       if (this.field_34 == null) {
  966.          this.field_34 = "1";
  967.       }
  968.  
  969.       this.field_35 = ((Applet)this).getParameter(method_21("#W\nGZ\"S\u001e"));
  970.       this.field_36 = ((Applet)this).getParameter(method_21(">@\u000eLM'F\u001e"));
  971.       this.field_30 = Integer.valueOf(this.field_35);
  972.       this.field_57 = Integer.valueOf(this.field_36);
  973.       if (this.field_30 < 0) {
  974.          this.field_30 = 0;
  975.       }
  976.  
  977.       if (this.field_57 > 10) {
  978.          this.field_57 = 10;
  979.       } else if (this.field_57 < 1) {
  980.          this.field_57 = 1;
  981.       }
  982.  
  983.       this.field_64 = Integer.valueOf(this.field_33);
  984.       this.field_46 = Integer.valueOf(this.field_34);
  985.       this.field_79 = Float.valueOf(this.field_37);
  986.       this.field_80 = Float.valueOf(this.field_38);
  987.       this.field_9 = Float.valueOf(this.field_41);
  988.       this.field_10 = Float.valueOf(this.field_43);
  989.       this.field_11 = Float.valueOf(this.field_44);
  990.       this.field_15 = Integer.valueOf(this.field_45);
  991.       if (this.field_46 > 8) {
  992.          this.field_46 = 8;
  993.       } else if (this.field_46 < 1) {
  994.          this.field_46 = 1;
  995.       }
  996.  
  997.       if (this.field_64 > 8) {
  998.          this.field_64 = 8;
  999.       } else if (this.field_64 < 1) {
  1000.          this.field_64 = 1;
  1001.       }
  1002.  
  1003.       if (this.field_15 > 2) {
  1004.          this.field_15 = 2;
  1005.       } else if (this.field_15 < 1) {
  1006.          this.field_15 = 1;
  1007.       }
  1008.  
  1009.       Dimension var50 = ((Component)this).size();
  1010.       this.field_5 = var50.width / this.field_64;
  1011.       this.field_3 = var50.height / this.field_64;
  1012.       this.field_32 = ((Applet)this).getParameter(method_21("'_\u0006DZ"));
  1013.       this.field_24 = this.method_4(this.field_32);
  1014.       this.field_90 = this.field_24.getWidth(this);
  1015.       this.field_83 = this.field_24.getHeight(this);
  1016.       this.field_89 = this.field_90 * this.field_83;
  1017.       this.field_49 = this.field_89;
  1018.       this.field_88 = new int[5 * this.field_5 * this.field_3];
  1019.       this.field_78 = new int[this.field_89];
  1020.       this.field_14 = new int[this.field_5 * this.field_3];
  1021.       PixelGrabber var52 = new PixelGrabber(this.field_24, 0, 0, this.field_90, this.field_83, this.field_78, 0, this.field_90);
  1022.  
  1023.       try {
  1024.          var52.grabPixels();
  1025.       } catch (InterruptedException var31) {
  1026.       }
  1027.  
  1028.       this.field_98 = this.field_5;
  1029.       this.field_20 = this.field_3;
  1030.       this.field_62 = this.field_5 * this.field_64;
  1031.       this.field_61 = this.field_3 * this.field_64;
  1032.       this.field_4 = this.field_5 * this.field_3;
  1033.  
  1034.       try {
  1035.          this.method_9();
  1036.       } catch (NoSuchMethodError var30) {
  1037.          this.method_9();
  1038.       }
  1039.  
  1040.       this.method_16();
  1041.       this.field_52 = ((Component)this).createImage(this.field_62, this.field_61 + this.field_73);
  1042.       this.field_51 = this.field_52.getGraphics();
  1043.       if (!this.field_63) {
  1044.          Label var53 = new Label(method_21("\u001aG\tMZ\"\u0012\u0006SO\"W\u0013\u0003]7\u0012!B]']G`V;Q\u0004J\u001f\u007f\u000b^\u0015\u0010w\nI"));
  1045.          this.field_99 = new Lware(((Applet)this).getAppletContext(), var53);
  1046.          this.field_99.setTitle(method_21("\u001aG\tMZ\"\u0012&SO\"W\u0013\u0003]7\u0012!B]']G`V;Q\u0004J"));
  1047.          this.field_99.hide();
  1048.       }
  1049.  
  1050.    }
  1051.  
  1052.    // $FF: renamed from: d () void
  1053.    void method_9() {
  1054.       this.field_59 = new MemoryImageSource(this.field_98, this.field_20, new DirectColorModel(24, 16711680, 65280, 255), this.field_14, 0, this.field_98);
  1055.  
  1056.       String var1;
  1057.       try {
  1058.          var1 = System.getProperty(method_21("$S\u0011B\u00118W\u0015PV!\\"));
  1059.       } catch (SecurityException var3) {
  1060.          var1 = method_21(";\\\f");
  1061.       }
  1062.  
  1063.       if (!var1.startsWith(method_21("\u007f\u001cW"))) {
  1064.          try {
  1065.             this.field_59.setAnimated(true);
  1066.             this.field_59.setFullBufferUpdates(true);
  1067.             this.field_23 = ((Component)this).createImage(this.field_59);
  1068.             this.field_59.newPixels();
  1069.             this.field_26 = true;
  1070.          } catch (NoSuchMethodError var2) {
  1071.             this.field_26 = false;
  1072.          }
  1073.       }
  1074.  
  1075.       if (!this.field_26) {
  1076.          this.field_59 = null;
  1077.          this.field_58 = new anfy(this.field_98, this.field_20, new DirectColorModel(24, 16711680, 65280, 255), this.field_14, 0, this.field_98);
  1078.          this.field_23 = ((Component)this).createImage(this.field_58);
  1079.       }
  1080.  
  1081.    }
  1082.  
  1083.    // $FF: renamed from: e () void
  1084.    final void method_10() {
  1085.       float var1 = 0.0F;
  1086.       float var2 = 0.0F;
  1087.       float var14 = (float)((int)((float)this.field_5 / 2.0F));
  1088.       float var15 = (float)((int)((float)this.field_3 / 2.0F));
  1089.       float var16 = (float)((int)((float)this.field_3 / 1.3F));
  1090.       float var17 = this.field_9 * var14;
  1091.       float var18 = this.method_1(this.field_5);
  1092.       float var19 = this.method_1(this.field_3);
  1093.  
  1094.       for(float var4 = 0.0F; var4 < this.field_80; var4 += var1) {
  1095.          for(float var3 = 0.0F; var3 < this.field_79; var3 += var2) {
  1096.             float var9 = var3 / this.field_79;
  1097.             float var10 = var4 / this.field_80;
  1098.             var2 = 0.065F + 0.4F * var10 * var18;
  1099.             var1 = 0.065F + 0.4F * var10 * var19;
  1100.             float var8 = var9 * 6.2831845F;
  1101.             float var13 = this.field_11 * var10;
  1102.             float var20 = var13 + 150.0F;
  1103.             int var6 = (int)(var17 * (float)Math.cos((double)var8) / var20 + var14);
  1104.             if (var6 >= 0 && var6 < this.field_5) {
  1105.                int var7 = (int)((this.field_10 * (float)Math.sin((double)var8) * (float)Math.cos((double)var10) + var13 * (float)Math.sin((double)var10)) * var16 / var20 + var15);
  1106.                if (var7 < this.field_3 && var7 >= 0) {
  1107.                   int var5 = (int)(var10 * (float)this.field_83) * this.field_90;
  1108.                   this.field_88[var7 * this.field_5 + var6] = (var5 + (int)(var9 * (float)this.field_90)) % this.field_89;
  1109.                }
  1110.             }
  1111.          }
  1112.       }
  1113.  
  1114.    }
  1115.  
  1116.    // $FF: renamed from: f () void
  1117.    final void method_11() {
  1118.       float var1 = 0.0F;
  1119.       float var2 = 0.0F;
  1120.       float var14 = (float)((int)((float)this.field_5 / 2.0F));
  1121.       float var15 = (float)((int)((float)this.field_3 / 2.0F));
  1122.       float var16 = (float)((int)((float)this.field_3 / 1.3F));
  1123.       float var17 = this.field_9 * var14;
  1124.       short[][] var18 = new short[this.field_5][this.field_3];
  1125.       Object var19 = null;
  1126.       float var20 = this.method_1(this.field_5);
  1127.       float var21 = this.method_1(this.field_3);
  1128.  
  1129.       for(float var4 = 0.0F; var4 < this.field_80; var4 += var1) {
  1130.          for(float var3 = 0.0F; var3 < this.field_79; var3 += var2) {
  1131.             float var9 = var3 / this.field_79;
  1132.             float var10 = var4 / this.field_80;
  1133.             var2 = 0.065F + 0.4F * var10 * var20;
  1134.             var1 = 0.065F + 0.4F * var10 * var21;
  1135.             float var8 = var9 * 6.2831845F;
  1136.             float var13 = this.field_11 * var10;
  1137.             float var22 = var13 + 150.0F;
  1138.             int var6 = (int)(var17 * (float)Math.cos((double)var8) / var22 + var14);
  1139.             if (var6 >= 0 && var6 < this.field_5) {
  1140.                short[] var24 = var18[var6];
  1141.                int var7 = (int)((this.field_10 * (float)Math.sin((double)var8) * (float)Math.cos((double)var10) + var13 * (float)Math.sin((double)var10)) * var16 / var22 + var15);
  1142.                if (var7 < this.field_3 && var7 >= 0 && var24[var7] == 0) {
  1143.                   int var5 = (int)(var10 * (float)this.field_83) * this.field_90;
  1144.                   this.field_88[var7 * this.field_5 + var6] = (var5 + (int)(var9 * (float)this.field_90)) % this.field_89;
  1145.                   var24[var7] = 1;
  1146.                }
  1147.             }
  1148.          }
  1149.       }
  1150.  
  1151.    }
  1152.  
  1153.    public final boolean mouseDown(Event var1, int var2, int var3) {
  1154.       if (!this.field_63) {
  1155.          this.field_99.show();
  1156.          this.field_99.toFront();
  1157.          this.field_99.requestFocus();
  1158.       } else if (this.field_28 != null) {
  1159.          if (this.field_48) {
  1160.             ((Applet)this).getAppletContext().showDocument(this.field_28, ((Applet)this).getParameter(method_21("<W\u0000EM/_\u0002M^#W")));
  1161.          } else {
  1162.             ((Applet)this).getAppletContext().showDocument(this.field_28);
  1163.          }
  1164.       }
  1165.  
  1166.       return true;
  1167.    }
  1168.  
  1169.    public final boolean mouseEnter(Event var1, int var2, int var3) {
  1170.       ((Applet)this).showStatus(this.field_81);
  1171.       return true;
  1172.    }
  1173.  
  1174.    public final boolean mouseExit(Event var1, int var2, int var3) {
  1175.       ((Applet)this).showStatus("");
  1176.       return true;
  1177.    }
  1178.  
  1179.    public final void paint(Graphics var1) {
  1180.       if (this.field_29) {
  1181.          if (this.field_24 == null) {
  1182.             var1.setColor(Color.black);
  1183.             var1.fillRect(0, 0, this.field_62, this.field_61);
  1184.          } else {
  1185.             var1.drawImage(this.field_24, 0, 0, this.field_62, this.field_61, this);
  1186.          }
  1187.  
  1188.          var1.setColor(Color.gray);
  1189.          var1.drawString(method_21("\u0019S\u000eW"), this.field_62 / 2 - 16 + 1, this.field_61 / 2 - 4 - 6 + 1);
  1190.          var1.drawString(method_21("\u0002]\u0006GV U"), this.field_62 / 2 - 25 + 1, this.field_61 / 2 + 2 + 1);
  1191.          var1.setColor(Color.white);
  1192.          var1.drawString(method_21("\u0019S\u000eW"), this.field_62 / 2 - 16, this.field_61 / 2 - 4 - 6);
  1193.          var1.drawString(method_21("\u0002]\u0006GV U"), this.field_62 / 2 - 25, this.field_61 / 2 + 2);
  1194.       } else {
  1195.          if (this.field_23 != null) {
  1196.             if (this.field_64 == 1) {
  1197.                this.field_51.drawImage(this.field_23, 0, 0, this);
  1198.             } else {
  1199.                this.method_13();
  1200.                this.field_51.drawImage(this.field_23, 0, 0, this.field_62, this.field_61, this);
  1201.             }
  1202.  
  1203.             if (this.field_54 != null) {
  1204.                this.method_12();
  1205.             }
  1206.  
  1207.             if (this.field_86) {
  1208.                this.method_17(this.field_51);
  1209.             }
  1210.  
  1211.             var1.drawImage(this.field_52, 0, 0, this);
  1212.          }
  1213.  
  1214.       }
  1215.    }
  1216.  
  1217.    // $FF: renamed from: g () void
  1218.    public synchronized void method_12() {
  1219.       if (this.field_2) {
  1220.          this.notifyAll();
  1221.  
  1222.          while(!this.field_53) {
  1223.             Thread.yield();
  1224.  
  1225.             try {
  1226.                Thread.sleep(8L);
  1227.             } catch (InterruptedException var1) {
  1228.             }
  1229.          }
  1230.  
  1231.          this.field_53 = false;
  1232.       }
  1233.  
  1234.       this.field_51.drawImage(this.field_54, this.field_55, this.field_56, this);
  1235.    }
  1236.  
  1237.    // $FF: renamed from: h () void
  1238.    public synchronized void method_13() {
  1239.       int var1 = 0;
  1240.       ((Component)this).prepareImage(this.field_23, this.field_62, this.field_61, this);
  1241.       this.notifyAll();
  1242.  
  1243.       while((var1 & 240) == 0) {
  1244.          Thread.yield();
  1245.          var1 = ((Component)this).checkImage(this.field_23, this.field_62, this.field_61, this);
  1246.       }
  1247.  
  1248.    }
  1249.  
  1250.    // $FF: renamed from: i () void
  1251.    public final void method_14() {
  1252.       try {
  1253.          if (this.field_26) {
  1254.             this.field_59.newPixels();
  1255.          } else {
  1256.             this.field_58.startProduction(this.field_58.getConsumer());
  1257.          }
  1258.       } catch (NoSuchMethodError var1) {
  1259.       }
  1260.    }
  1261.  
  1262.    public void run() {
  1263.       this.field_92.setPriority(this.field_57);
  1264.       if (this.field_29) {
  1265.          ((Component)this).repaint();
  1266.          if (this.field_15 == 1) {
  1267.             this.method_11();
  1268.          } else if (this.field_15 == 2) {
  1269.             this.method_10();
  1270.          }
  1271.       }
  1272.  
  1273.       this.field_29 = false;
  1274.       ((Applet)this).showStatus("");
  1275.       ((Component)this).repaint();
  1276.       System.gc();
  1277.       this.field_12 = System.currentTimeMillis();
  1278.       Graphics var1 = ((Component)this).getGraphics();
  1279.       if (this.field_54 != null && !this.field_2) {
  1280.          this.field_2 = this.method_2();
  1281.       }
  1282.  
  1283.       if (this.field_28 != null) {
  1284.          this.field_1.setCursor(12);
  1285.       } else {
  1286.          this.field_1.setCursor(0);
  1287.       }
  1288.  
  1289.       while(this.field_92 != null) {
  1290.          this.method_3();
  1291.          if (++this.field_7 == this.field_30) {
  1292.             System.gc();
  1293.             this.field_7 = 0;
  1294.          }
  1295.  
  1296.          try {
  1297.             this.method_14();
  1298.          } catch (NoSuchMethodError var2) {
  1299.          }
  1300.  
  1301.          if (this.field_64 == 1) {
  1302.             this.field_51.drawImage(this.field_23, 0, 0, this);
  1303.          } else {
  1304.             this.method_13();
  1305.             this.field_51.drawImage(this.field_23, 0, 0, this.field_62, this.field_61, this);
  1306.          }
  1307.  
  1308.          if (this.field_54 != null) {
  1309.             this.method_12();
  1310.          }
  1311.  
  1312.          if (this.field_86) {
  1313.             this.method_17(this.field_51);
  1314.          }
  1315.  
  1316.          var1.drawImage(this.field_52, 0, 0, this);
  1317.          this.method_19();
  1318.       }
  1319.  
  1320.    }
  1321.  
  1322.    // $FF: renamed from: a (int, int, int, int) byte
  1323.    byte method_15(int var1, int var2, int var3, int var4) {
  1324.       int var5 = var1 - var2;
  1325.       if (var5 >= var3) {
  1326.          return (byte)var5;
  1327.       } else {
  1328.          int var6 = var3 - var5 - 1;
  1329.          return (byte)(var4 - var6);
  1330.       }
  1331.    }
  1332.  
  1333.    // $FF: renamed from: j () void
  1334.    public void method_16() {
  1335.       Object var2 = null;
  1336.       this.field_86 = false;
  1337.       String var20 = ((Applet)this).getParameter(method_21(":W\u001fWL-@\bOS"));
  1338.       if (var20 != null && !var20.equalsIgnoreCase("NO")) {
  1339.          Object var3 = null;
  1340.          String var21 = ((Applet)this).getParameter(method_21(":W\u001fWK7B\u0002"));
  1341.          if (var21 == null) {
  1342.             var21 = method_21("&]\u0015JE!\\\u0013BS");
  1343.          }
  1344.  
  1345.          if (var21.equals(method_21("&]\u0015JE!\\\u0013BS"))) {
  1346.             this.field_68 = 0;
  1347.          } else if (var21.equals(method_21("8W\u0015WV-S\u000b"))) {
  1348.             this.field_68 = 1;
  1349.          } else if (var21.equals(method_21("4]\bNV U"))) {
  1350.             this.field_68 = 2;
  1351.          } else if (var21.equals(method_21("'\\\u0011YP!_\u000eMX"))) {
  1352.             this.field_68 = 3;
  1353.          }
  1354.  
  1355.          if (this.field_68 == 0) {
  1356.             this.method_6(var20, 0);
  1357.             if (this.field_65 != null) {
  1358.                this.field_86 = true;
  1359.             }
  1360.          } else {
  1361.             this.method_6(var20, 1);
  1362.             if (this.field_27 != null) {
  1363.                this.field_86 = true;
  1364.             }
  1365.          }
  1366.       }
  1367.  
  1368.       if (this.field_86) {
  1369.          Object var22 = null;
  1370.          String var23 = ((Applet)this).getParameter(method_21(":W\u001fWL>W\u0002G"));
  1371.          if (var23 == null) {
  1372.             var23 = "0";
  1373.          }
  1374.  
  1375.          this.field_94 = Integer.valueOf(var23);
  1376.          Object var4 = null;
  1377.          String var24 = ((Applet)this).getParameter(method_21(":W\u001fWY!\\\u0013"));
  1378.          if (var24 == null) {
  1379.             var24 = method_21("\u000f@\u000eBS");
  1380.          }
  1381.  
  1382.          int var5 = 0;
  1383.          Object var6 = null;
  1384.          String var25 = ((Applet)this).getParameter(method_21(":W\u001fW]!^\u0003"));
  1385.          if (var25.equalsIgnoreCase(method_21("\u0017w4"))) {
  1386.             ++var5;
  1387.          }
  1388.  
  1389.          Object var7 = null;
  1390.          String var26 = ((Applet)this).getParameter(method_21(":W\u001fWV:S\u000bJ\\"));
  1391.          if (var26 == null) {
  1392.             var26 = "NO";
  1393.          }
  1394.  
  1395.          if (var26.equalsIgnoreCase(method_21("\u0017w4"))) {
  1396.             var5 += 2;
  1397.          }
  1398.  
  1399.          Object var8 = null;
  1400.          String var27 = ((Applet)this).getParameter(method_21(":W\u001fWL'H\u0002"));
  1401.          if (var27 == null) {
  1402.             var27 = "12";
  1403.          }
  1404.  
  1405.          int var9 = Integer.valueOf(var27);
  1406.          this.field_16 = new Font(var24, var5, var9);
  1407.          Object var10 = null;
  1408.          String var28 = ((Applet)this).getParameter(method_21(":W\u001fWL&S\u0003LH"));
  1409.          if (var28.equalsIgnoreCase(method_21("\u0017w4"))) {
  1410.             this.field_87 = true;
  1411.          } else {
  1412.             this.field_87 = false;
  1413.          }
  1414.  
  1415.          this.field_82 = new Color(Integer.valueOf(((Applet)this).getParameter(method_21("\u001aW\u001fW|!^5"))), Integer.valueOf(((Applet)this).getParameter(method_21("\u001aW\u001fW|!^ "))), Integer.valueOf(((Applet)this).getParameter(method_21("\u001aW\u001fW|!^%"))));
  1416.          this.field_69 = new Color(Integer.valueOf(((Applet)this).getParameter(method_21("\u001aW\u001fWl\r]\u000bq"))), Integer.valueOf(((Applet)this).getParameter(method_21("\u001aW\u001fWl\r]\u000bd"))), Integer.valueOf(((Applet)this).getParameter(method_21("\u001aW\u001fWl\r]\u000ba"))));
  1417.          this.field_95 = ((Component)this).size().width;
  1418.          this.field_96 = ((Component)this).size().height;
  1419.          if (this.field_68 == 0) {
  1420.             Object var11 = null;
  1421.             String var29 = ((Applet)this).getParameter(method_21(":W\u001fWP(T\u0014FK"));
  1422.             if (var29 == null) {
  1423.                var29 = "0";
  1424.             }
  1425.  
  1426.             this.field_102 = Integer.valueOf(var29);
  1427.             if (this.field_102 < 0) {
  1428.                this.field_102 = 0;
  1429.             }
  1430.  
  1431.             Object var12 = null;
  1432.             String var34 = ((Applet)this).getParameter(method_21("\u001aW\u001fWu;_\u0017bR>"));
  1433.             if (var34 == null) {
  1434.                var34 = "0";
  1435.             }
  1436.  
  1437.             this.field_0 = Integer.valueOf(var34);
  1438.             Object var13 = null;
  1439.             String var38 = ((Applet)this).getParameter(method_21("\u001aW\u001fWu;_\u0017pO*"));
  1440.             if (var38 == null) {
  1441.                var38 = "0";
  1442.             }
  1443.  
  1444.             this.field_93 = Integer.valueOf(var38);
  1445.             Object var14 = null;
  1446.             String var41 = ((Applet)this).getParameter(method_21("\u001aW\u001fWl'\\\u0002bR>"));
  1447.             if (var41 == null) {
  1448.                var41 = "0";
  1449.             }
  1450.  
  1451.             this.field_71 = Integer.valueOf(var41);
  1452.             Object var15 = null;
  1453.             String var42 = ((Applet)this).getParameter(method_21("\u001aW\u001fWl'\\\u0002pO*"));
  1454.             if (var42 == null) {
  1455.                var42 = "0";
  1456.             }
  1457.  
  1458.             this.field_75 = Integer.valueOf(var42);
  1459.             Object var16 = null;
  1460.             String var43 = ((Applet)this).getParameter(method_21("\u001aW\u001fWl'\\\u0002bQ)^\u0002"));
  1461.             if (var43 == null) {
  1462.                var43 = "0";
  1463.             }
  1464.  
  1465.             this.field_72 = Integer.valueOf(var43);
  1466.             FontMetrics var17 = ((Component)this).getGraphics().getFontMetrics(this.field_16);
  1467.             this.field_67 = var17.stringWidth(this.field_65);
  1468.             this.field_66 = var17.getHeight();
  1469.             this.field_13 = var17.getMaxDescent();
  1470.             this.field_100 = this.field_95;
  1471.             if (this.field_102 < this.field_66 - this.field_13) {
  1472.                this.field_102 = this.field_66 - this.field_13;
  1473.             } else if (this.field_102 > this.field_96 - this.field_13) {
  1474.                this.field_102 = this.field_96 - this.field_13;
  1475.             }
  1476.  
  1477.             if (this.field_71 != 0) {
  1478.                this.field_76 = new int[this.field_95 + 360];
  1479.                this.field_77 = new int[this.field_95 + 360];
  1480.  
  1481.                for(int var1 = 0; var1 < this.field_95 + 360; ++var1) {
  1482.                   this.field_76[var1] = (int)((double)this.field_71 * Math.sin((double)this.field_72 * (double)var1 * Math.PI / (double)180.0F)) - this.field_66 - this.field_13 + this.field_102;
  1483.                   this.field_77[var1] = this.field_76[var1] - this.field_61;
  1484.                }
  1485.  
  1486.                this.field_70 = 360;
  1487.                this.field_73 = this.field_66 + this.field_13 + 1;
  1488.                this.field_74 = this.field_73 - 1;
  1489.                return;
  1490.             }
  1491.          } else {
  1492.             if (this.field_68 == 1) {
  1493.                Object var32 = null;
  1494.                String var33 = ((Applet)this).getParameter(method_21(":W\u001fWI=B\u0006@Z"));
  1495.                if (var33 == null) {
  1496.                   var33 = "10";
  1497.                }
  1498.  
  1499.                int var37 = Integer.valueOf(var33);
  1500.                FontMetrics var40 = ((Component)this).getGraphics().getFontMetrics(this.field_16);
  1501.                this.field_18 = var40.getHeight() + var37;
  1502.                this.field_97 = new int[this.field_27.length];
  1503.  
  1504.                for(int var19 = 0; var19 < this.field_27.length; ++var19) {
  1505.                   this.field_97[var19] = (this.field_95 - var40.stringWidth(this.field_27[var19])) / 2;
  1506.                }
  1507.  
  1508.                this.field_47 = -this.field_18;
  1509.                return;
  1510.             }
  1511.  
  1512.             if (this.field_68 >= 2) {
  1513.                Object var30 = null;
  1514.                String var31 = ((Applet)this).getParameter(method_21(":W\u001fWR'\\\u0001LQ:"));
  1515.                if (var31 == null) {
  1516.                   var31 = "2";
  1517.                }
  1518.  
  1519.                this.field_85 = Integer.valueOf(var31);
  1520.                Object var35 = null;
  1521.                String var36 = ((Applet)this).getParameter(method_21(":W\u001fWR/J\u0001LQ:"));
  1522.                if (var36 == null) {
  1523.                   var36 = "72";
  1524.                }
  1525.  
  1526.                this.field_84 = Integer.valueOf(var36);
  1527.                this.field_50 = this.field_84 - this.field_85;
  1528.                this.field_16 = null;
  1529.                this.field_105 = new Font[this.field_50];
  1530.                int var39 = this.field_85;
  1531.  
  1532.                for(int var18 = 0; var18 < this.field_50; ++var18) {
  1533.                   this.field_105[var18] = new Font(var24, var5, var39++);
  1534.                }
  1535.  
  1536.                this.field_22 = (float)this.field_95 / 2.0F;
  1537.                this.field_21 = (float)this.field_96 / 2.0F;
  1538.                if (this.field_68 == 3) {
  1539.                   this.field_104 = this.field_50 - 1;
  1540.                   return;
  1541.                }
  1542.  
  1543.                this.field_104 = 0;
  1544.             }
  1545.          }
  1546.       }
  1547.  
  1548.    }
  1549.  
  1550.    // $FF: renamed from: b (java.awt.Graphics) void
  1551.    public void method_17(Graphics var1) {
  1552.       switch (this.field_68) {
  1553.          case 0:
  1554.             this.method_8(var1);
  1555.             return;
  1556.          case 1:
  1557.             this.method_18(var1);
  1558.             return;
  1559.          default:
  1560.             this.method_20(var1);
  1561.       }
  1562.    }
  1563.  
  1564.    public void start() {
  1565.       if (this.field_92 == null) {
  1566.          this.field_92 = new Thread(this);
  1567.          this.field_92.start();
  1568.       }
  1569.  
  1570.    }
  1571.  
  1572.    public void stop() {
  1573.       if (this.field_92 != null && this.field_92.isAlive()) {
  1574.          this.field_92.stop();
  1575.       }
  1576.  
  1577.       this.field_92 = null;
  1578.    }
  1579.  
  1580.    public final void update(Graphics var1) {
  1581.       this.paint(var1);
  1582.    }
  1583.  
  1584.    // $FF: renamed from: c (java.awt.Graphics) void
  1585.    public void method_18(Graphics var1) {
  1586.       var1.setFont(this.field_16);
  1587.       this.field_47 += this.field_94;
  1588.       if (this.field_47 > this.field_96 + this.field_27.length * this.field_18) {
  1589.          this.field_47 = -this.field_18;
  1590.       }
  1591.  
  1592.       if (this.field_87) {
  1593.          for(int var6 = 0; var6 < this.field_27.length; ++var6) {
  1594.             String var5 = this.field_27[var6];
  1595.             int var3 = this.field_97[var6];
  1596.             int var4 = this.field_96 - this.field_47 + var6 * this.field_18;
  1597.             var1.setColor(this.field_69);
  1598.             var1.drawString(var5, var3 + 1, var4 + 1);
  1599.             var1.setColor(this.field_82);
  1600.             var1.drawString(var5, var3, var4);
  1601.          }
  1602.  
  1603.       } else {
  1604.          var1.setColor(this.field_82);
  1605.  
  1606.          for(int var2 = 0; var2 < this.field_27.length; ++var2) {
  1607.             var1.drawString(this.field_27[var2], this.field_97[var2], this.field_96 - this.field_47 + var2 * this.field_18);
  1608.          }
  1609.  
  1610.       }
  1611.    }
  1612.  
  1613.    // $FF: renamed from: k () void
  1614.    public synchronized void method_19() {
  1615.       Thread.yield();
  1616.       this.field_91.sync();
  1617.       long var1 = 10L - (System.currentTimeMillis() - this.field_12);
  1618.       if (var1 > 0L) {
  1619.          try {
  1620.             Thread.sleep(var1);
  1621.          } catch (InterruptedException var5) {
  1622.          }
  1623.       } else {
  1624.          try {
  1625.             Thread.sleep(1L);
  1626.          } catch (InterruptedException var4) {
  1627.          }
  1628.       }
  1629.  
  1630.       this.field_12 = System.currentTimeMillis();
  1631.  
  1632.       try {
  1633.          Thread.sleep((long)this.field_31);
  1634.       } catch (InterruptedException var3) {
  1635.       }
  1636.    }
  1637.  
  1638.    // $FF: renamed from: d (java.awt.Graphics) void
  1639.    public void method_20(Graphics var1) {
  1640.       String var2 = this.field_27[this.field_103];
  1641.       var1.setFont(this.field_105[this.field_104]);
  1642.       FontMetrics var3 = var1.getFontMetrics(this.field_105[this.field_104]);
  1643.       int var4 = (int)(this.field_22 - (float)var3.stringWidth(var2) / 2.0F);
  1644.       int var5 = (int)(this.field_21 + (float)var3.getHeight() / 4.0F);
  1645.       if (this.field_87) {
  1646.          var1.setColor(this.field_69);
  1647.          var1.drawString(var2, var4 + 1, var5 + 1);
  1648.       }
  1649.  
  1650.       var1.setColor(this.field_82);
  1651.       var1.drawString(var2, var4, var5);
  1652.       if (this.field_68 == 3) {
  1653.          this.field_104 -= this.field_94;
  1654.          if (this.field_104 <= 1) {
  1655.             this.field_104 = this.field_50 - 1;
  1656.             ++this.field_103;
  1657.             if (this.field_103 >= this.field_27.length) {
  1658.                this.field_103 = 0;
  1659.                return;
  1660.             }
  1661.          }
  1662.       } else {
  1663.          this.field_104 += this.field_94;
  1664.          if (this.field_104 >= this.field_50) {
  1665.             this.field_104 = 0;
  1666.             ++this.field_103;
  1667.             if (this.field_103 >= this.field_27.length) {
  1668.                this.field_103 = 0;
  1669.             }
  1670.          }
  1671.       }
  1672.  
  1673.    }
  1674.  
  1675.    // $FF: renamed from: c (java.lang.String) java.lang.String
  1676.    private static String method_21(String var0) {
  1677.       char[] var1 = var0.toCharArray();
  1678.       int var2 = var1.length;
  1679.       int var3 = 0;
  1680.  
  1681.       label32:
  1682.       while(true) {
  1683.          int var4 = 0;
  1684.          byte var10000 = 78;
  1685.          char[] var10001 = var1;
  1686.          int var10002 = var3;
  1687.  
  1688.          label30:
  1689.          while(true) {
  1690.             var10001[var10002] ^= var10000;
  1691.  
  1692.             while(true) {
  1693.                ++var3;
  1694.                ++var4;
  1695.                if (var2 == var3) {
  1696.                   return new String(var1);
  1697.                }
  1698.  
  1699.                switch (var4) {
  1700.                   case 1:
  1701.                      var10000 = 50;
  1702.                      var10001 = var1;
  1703.                      var10002 = var3;
  1704.                      continue label30;
  1705.                   case 2:
  1706.                      var10000 = 103;
  1707.                      var10001 = var1;
  1708.                      var10002 = var3;
  1709.                      continue label30;
  1710.                   case 3:
  1711.                      var10000 = 35;
  1712.                      var10001 = var1;
  1713.                      var10002 = var3;
  1714.                      continue label30;
  1715.                   case 4:
  1716.                      var10000 = 63;
  1717.                      var10001 = var1;
  1718.                      var10002 = var3;
  1719.                      continue label30;
  1720.                   case 5:
  1721.                      continue label32;
  1722.                }
  1723.             }
  1724.          }
  1725.       }
  1726.    }
  1727. }
  1728.