home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / AnfyJava14 / data1.cab / Program_Files / Applet / tunnel3d / tunnel3d.jar / tunnel3d.class (.txt) < prev   
Encoding:
Java Class File  |  1998-11-29  |  25.9 KB  |  2,271 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 tunnel3d 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_25("_}\u000bP1j-\u0019EtXl\u0019U;>N\u0012I7}d[\u0014#izU]:x");
  45.    // $FF: renamed from: h boolean
  46.    boolean field_7 = false;
  47.    // $FF: renamed from: i double
  48.    double field_8;
  49.    // $FF: renamed from: j double
  50.    double field_9;
  51.    // $FF: renamed from: k boolean
  52.    boolean field_10;
  53.    // $FF: renamed from: l double
  54.    double field_11;
  55.    // $FF: renamed from: m double
  56.    double field_12;
  57.    // $FF: renamed from: n double
  58.    double field_13;
  59.    // $FF: renamed from: o double
  60.    double field_14;
  61.    // $FF: renamed from: p int
  62.    int field_15;
  63.    // $FF: renamed from: q double
  64.    double field_16;
  65.    // $FF: renamed from: r double
  66.    double field_17;
  67.    // $FF: renamed from: s double
  68.    double field_18;
  69.    // $FF: renamed from: t long
  70.    long field_19;
  71.    // $FF: renamed from: u long
  72.    long field_20;
  73.    // $FF: renamed from: v int
  74.    int field_21;
  75.    // $FF: renamed from: w int[]
  76.    int[] field_22;
  77.    // $FF: renamed from: x int
  78.    int field_23;
  79.    // $FF: renamed from: y java.awt.Font
  80.    Font field_24;
  81.    // $FF: renamed from: z int
  82.    int field_25;
  83.    // $FF: renamed from: A java.awt.Graphics
  84.    private Graphics field_26;
  85.    // $FF: renamed from: B int
  86.    int field_27;
  87.    // $FF: renamed from: C int
  88.    int field_28;
  89.    // $FF: renamed from: D int
  90.    int field_29 = 3;
  91.    // $FF: renamed from: E int
  92.    int field_30;
  93.    // $FF: renamed from: F int
  94.    int field_31 = 3;
  95.    // $FF: renamed from: G int
  96.    int field_32;
  97.    // $FF: renamed from: H int
  98.    int field_33;
  99.    // $FF: renamed from: I int
  100.    int field_34;
  101.    // $FF: renamed from: J int
  102.    int field_35;
  103.    // $FF: renamed from: K float
  104.    float field_36;
  105.    // $FF: renamed from: L float
  106.    float field_37;
  107.    // $FF: renamed from: M java.awt.Image
  108.    private Image field_38;
  109.    // $FF: renamed from: N java.awt.Image
  110.    private Image field_39;
  111.    // $FF: renamed from: O boolean
  112.    boolean field_40;
  113.    // $FF: renamed from: P int
  114.    int field_41;
  115.    // $FF: renamed from: Q boolean
  116.    boolean field_42 = false;
  117.    // $FF: renamed from: R float
  118.    float field_43;
  119.    // $FF: renamed from: S boolean
  120.    boolean field_44;
  121.    // $FF: renamed from: T int
  122.    int field_45;
  123.    // $FF: renamed from: U int
  124.    int field_46;
  125.    // $FF: renamed from: V java.lang.String[]
  126.    String[] field_47;
  127.    // $FF: renamed from: W java.net.URL
  128.    URL field_48;
  129.    // $FF: renamed from: X double
  130.    double field_49;
  131.    // $FF: renamed from: Y double
  132.    double field_50;
  133.    // $FF: renamed from: Z int
  134.    int field_51;
  135.    // $FF: renamed from: ba int
  136.    int field_52;
  137.    // $FF: renamed from: bb java.lang.String
  138.    String field_53;
  139.    // $FF: renamed from: bc java.lang.String
  140.    String field_54;
  141.    // $FF: renamed from: bd java.lang.String
  142.    String field_55;
  143.    // $FF: renamed from: be java.lang.String
  144.    String field_56;
  145.    // $FF: renamed from: bf java.lang.String
  146.    String field_57;
  147.    // $FF: renamed from: bg java.lang.String
  148.    String field_58;
  149.    // $FF: renamed from: bh java.lang.String
  150.    String field_59;
  151.    // $FF: renamed from: bi java.lang.String
  152.    String field_60;
  153.    // $FF: renamed from: bj java.lang.String
  154.    String field_61;
  155.    // $FF: renamed from: bk java.lang.String
  156.    String field_62;
  157.    // $FF: renamed from: bl java.lang.String
  158.    String field_63;
  159.    // $FF: renamed from: bm java.lang.String
  160.    String field_64;
  161.    // $FF: renamed from: bn java.lang.String
  162.    String field_65;
  163.    // $FF: renamed from: bo java.lang.String
  164.    String field_66;
  165.    // $FF: renamed from: bp java.lang.String
  166.    String field_67;
  167.    // $FF: renamed from: bq java.lang.String
  168.    String field_68;
  169.    // $FF: renamed from: br java.lang.String
  170.    String field_69;
  171.    // $FF: renamed from: bs java.lang.String
  172.    String field_70;
  173.    // $FF: renamed from: bt java.lang.String
  174.    String field_71;
  175.    // $FF: renamed from: bu java.lang.String
  176.    String field_72;
  177.    // $FF: renamed from: bv java.lang.String
  178.    String field_73;
  179.    // $FF: renamed from: bw java.lang.String
  180.    String field_74;
  181.    // $FF: renamed from: bx java.lang.String
  182.    String field_75;
  183.    // $FF: renamed from: by java.lang.String
  184.    String 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 boolean
  190.    boolean field_79 = false;
  191.    // $FF: renamed from: bC boolean
  192.    boolean field_80;
  193.    // $FF: renamed from: bD double
  194.    double field_81;
  195.    // $FF: renamed from: bE int
  196.    int field_82;
  197.    // $FF: renamed from: bF java.awt.Graphics
  198.    private Graphics field_83;
  199.    // $FF: renamed from: bG java.awt.Image
  200.    private Image field_84;
  201.    // $FF: renamed from: bH boolean
  202.    boolean field_85 = false;
  203.    // $FF: renamed from: bI int
  204.    int field_86;
  205.    // $FF: renamed from: bJ int
  206.    int field_87;
  207.    // $FF: renamed from: bK java.awt.Image
  208.    private Image 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 boolean
  214.    boolean field_91;
  215.    // $FF: renamed from: bO int
  216.    int field_92;
  217.    // $FF: renamed from: bP anfy
  218.    anfy field_93;
  219.    // $FF: renamed from: bQ java.awt.image.MemoryImageSource
  220.    MemoryImageSource 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 boolean
  226.    boolean field_97 = false;
  227.    // $FF: renamed from: bU int
  228.    int field_98 = 1;
  229.    // $FF: renamed from: bV int
  230.    int field_99;
  231.    // $FF: renamed from: bW int
  232.    int field_100;
  233.    // $FF: renamed from: bX java.lang.String
  234.    String 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 boolean
  242.    boolean field_105;
  243.    // $FF: renamed from: cc java.awt.Color
  244.    Color field_106;
  245.    // $FF: renamed from: cd int
  246.    int field_107;
  247.    // $FF: renamed from: ce int
  248.    int field_108;
  249.    // $FF: renamed from: cf int
  250.    int field_109;
  251.    // $FF: renamed from: cg int
  252.    int field_110;
  253.    // $FF: renamed from: ch int
  254.    int field_111;
  255.    // $FF: renamed from: ci int
  256.    int field_112;
  257.    // $FF: renamed from: cj int[]
  258.    int[] field_113;
  259.    // $FF: renamed from: ck int[]
  260.    int[] field_114;
  261.    // $FF: renamed from: cl int[]
  262.    int[] field_115;
  263.    // $FF: renamed from: cm double
  264.    double field_116;
  265.    // $FF: renamed from: cn double
  266.    double field_117;
  267.    // $FF: renamed from: co java.lang.String
  268.    String field_118;
  269.    // $FF: renamed from: cp double
  270.    double field_119;
  271.    // $FF: renamed from: cq double
  272.    double field_120;
  273.    // $FF: renamed from: cr double
  274.    double field_121;
  275.    // $FF: renamed from: cs java.awt.Color
  276.    Color field_122;
  277.    // $FF: renamed from: ct int
  278.    int field_123;
  279.    // $FF: renamed from: cu int
  280.    int field_124;
  281.    // $FF: renamed from: cv int
  282.    int field_125;
  283.    // $FF: renamed from: cw boolean
  284.    boolean field_126;
  285.    // $FF: renamed from: cx boolean
  286.    boolean field_127;
  287.    // $FF: renamed from: cy int
  288.    int field_128;
  289.    // $FF: renamed from: cz int
  290.    int field_129;
  291.    // $FF: renamed from: cA java.awt.Toolkit
  292.    Toolkit field_130;
  293.    // $FF: renamed from: cB java.lang.Thread
  294.    Thread field_131;
  295.    // $FF: renamed from: cC int
  296.    int field_132;
  297.    // $FF: renamed from: cD int[]
  298.    int[] field_133;
  299.    // $FF: renamed from: cE int
  300.    int field_134;
  301.    // $FF: renamed from: cF int
  302.    int field_135;
  303.    // $FF: renamed from: cG int
  304.    int field_136;
  305.    // $FF: renamed from: cH int
  306.    int field_137;
  307.    // $FF: renamed from: cI int
  308.    int field_138;
  309.    // $FF: renamed from: cJ int
  310.    int field_139;
  311.    // $FF: renamed from: cK int
  312.    int field_140;
  313.    // $FF: renamed from: cL int
  314.    int field_141;
  315.    // $FF: renamed from: cM double
  316.    double field_142;
  317.    // $FF: renamed from: cN double
  318.    double field_143;
  319.    // $FF: renamed from: cO double
  320.    double field_144;
  321.    // $FF: renamed from: cP double
  322.    double field_145;
  323.    // $FF: renamed from: cQ double
  324.    double field_146;
  325.    // $FF: renamed from: cR double
  326.    double field_147;
  327.    // $FF: renamed from: cS double
  328.    double field_148;
  329.    // $FF: renamed from: cT double
  330.    double field_149;
  331.    // $FF: renamed from: cU double
  332.    double field_150;
  333.    // $FF: renamed from: cV double
  334.    double field_151;
  335.    // $FF: renamed from: cW double
  336.    double field_152;
  337.    // $FF: renamed from: cX double
  338.    double field_153;
  339.    // $FF: renamed from: cY double
  340.    double field_154;
  341.    // $FF: renamed from: cZ double
  342.    double field_155;
  343.    // $FF: renamed from: da double
  344.    double field_156;
  345.    // $FF: renamed from: db short[]
  346.    short[] field_157;
  347.    // $FF: renamed from: dc short[]
  348.    short[] field_158;
  349.    // $FF: renamed from: dd short[]
  350.    short[] field_159;
  351.    // $FF: renamed from: de int[]
  352.    int[] field_160;
  353.    // $FF: renamed from: df int
  354.    int field_161;
  355.    // $FF: renamed from: dg Lware
  356.    Lware field_162;
  357.    // $FF: renamed from: dh double
  358.    double field_163;
  359.    // $FF: renamed from: di double
  360.    double field_164;
  361.    // $FF: renamed from: dj int
  362.    int field_165;
  363.    // $FF: renamed from: dk double
  364.    double field_166;
  365.    // $FF: renamed from: dl double
  366.    double field_167;
  367.    // $FF: renamed from: dm double
  368.    double field_168;
  369.    // $FF: renamed from: dn int
  370.    int field_169;
  371.    // $FF: renamed from: do int
  372.    int field_170;
  373.    // $FF: renamed from: dp double
  374.    double field_171;
  375.    // $FF: renamed from: dq double
  376.    double field_172;
  377.    // $FF: renamed from: dr int
  378.    int field_173;
  379.    // $FF: renamed from: ds int
  380.    int field_174;
  381.    // $FF: renamed from: dt java.awt.Font[]
  382.    Font[] field_175;
  383.    // $FF: renamed from: du double
  384.    double field_176;
  385.  
  386.    // $FF: renamed from: a () void
  387.    private final void method_0() {
  388.       while(true) {
  389.          ((Applet)this).showStatus(method_25("Zb\u0015\u001b >\u007f\u001eQ;hh[K#i#\u001aR2gg\u001aJ50n\u0014Qt}\u007f\u001eX=j~[P=ph[U:>E/q\u0018?"));
  390.  
  391.          try {
  392.             Thread.sleep(500L);
  393.          } catch (InterruptedException var1) {
  394.          }
  395.       }
  396.    }
  397.  
  398.    // $FF: renamed from: b () boolean
  399.    public synchronized boolean method_1() {
  400.       ((Component)this).prepareImage(this.field_88, this);
  401.       if (!this.field_42) {
  402.          return false;
  403.       } else {
  404.          for(int var1 = 0; var1 < 3; ++var1) {
  405.             this.notifyAll();
  406.             Thread.yield();
  407.  
  408.             try {
  409.                Thread.sleep(100L);
  410.             } catch (InterruptedException var2) {
  411.             }
  412.          }
  413.  
  414.          return this.field_85;
  415.       }
  416.    }
  417.  
  418.    public void destroy() {
  419.       if (this.field_88 != null) {
  420.          this.field_88.flush();
  421.       }
  422.  
  423.       this.field_88 = null;
  424.       if (this.field_84 != null) {
  425.          this.field_84.flush();
  426.       }
  427.  
  428.       this.field_84 = null;
  429.       if (this.field_83 != null) {
  430.          this.field_83.dispose();
  431.       }
  432.  
  433.       this.field_83 = null;
  434.       System.gc();
  435.    }
  436.  
  437.    // $FF: renamed from: a (java.lang.String) java.awt.Image
  438.    Image method_2(String var1) {
  439.       try {
  440.          return this.method_3(var1);
  441.       } catch (NoSuchMethodError var2) {
  442.          return this.method_3(var1);
  443.       }
  444.    }
  445.  
  446.    // $FF: renamed from: b (java.lang.String) java.awt.Image
  447.    synchronized Image method_3(String var1) {
  448.       URL var2 = null;
  449.       Image var3 = null;
  450.  
  451.       try {
  452.          var2 = new URL(((Applet)this).getDocumentBase(), var1);
  453.       } catch (MalformedURLException var14) {
  454.       }
  455.  
  456.       try {
  457.          try {
  458.             InputStream var4 = this.getClass().getResourceAsStream(var2.toString());
  459.             if (var4 != null) {
  460.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  461.                byte[] var6 = new byte[512];
  462.                boolean var8 = false;
  463.                Object var9 = null;
  464.  
  465.                try {
  466.                   while(!var8) {
  467.                      int var7 = var4.read(var6, 0, 512);
  468.                      if (var7 != -1) {
  469.                         var5.write(var6, 0, var7);
  470.                         ((OutputStream)var5).flush();
  471.                      } else {
  472.                         var8 = true;
  473.                      }
  474.                   }
  475.  
  476.                   var21 = var5.toByteArray();
  477.                   ((OutputStream)var5).close();
  478.                   var4.close();
  479.                } catch (IOException var15) {
  480.                   var21 = null;
  481.                }
  482.  
  483.                System.gc();
  484.                if (var21 != null) {
  485.                   var3 = ((Component)this).getToolkit().createImage(var21);
  486.                   ((Component)this).prepareImage(var3, this);
  487.                }
  488.             }
  489.          } catch (NoSuchMethodError var16) {
  490.          }
  491.       } catch (SecurityException var17) {
  492.       }
  493.  
  494.       if (var3 == null) {
  495.          int var18 = 0;
  496.  
  497.          while(var18 < 5) {
  498.             try {
  499.                if (var18 % 2 == 0) {
  500.                   var3 = Toolkit.getDefaultToolkit().getImage(var2);
  501.                } else {
  502.                   var3 = ((Applet)this).getImage(var2);
  503.                }
  504.  
  505.                ++var18;
  506.                MediaTracker var20 = new MediaTracker(this);
  507.                this.notifyAll();
  508.                Thread.currentThread();
  509.                Thread.yield();
  510.  
  511.                try {
  512.                   var20.addImage(var3, 0);
  513.                   var20.waitForID(0);
  514.                } catch (InterruptedException var12) {
  515.                   var3 = null;
  516.                }
  517.  
  518.                if (var20.isErrorID(0)) {
  519.                   var3 = null;
  520.                } else {
  521.                   var18 = 6;
  522.                }
  523.             } catch (NullPointerException var13) {
  524.                System.gc();
  525.             }
  526.          }
  527.       }
  528.  
  529.       if (var3 == null) {
  530.          for(int var19 = 0; var19 < 25; ++var19) {
  531.             ((Applet)this).showStatus(method_25("W`\u001a[1>") + var1 + method_25(">c\u0014Htxb\u000eR0?"));
  532.  
  533.             try {
  534.                Thread.currentThread();
  535.                Thread.sleep(250L);
  536.             } catch (InterruptedException var11) {
  537.             }
  538.          }
  539.       } else {
  540.          while(var3.getWidth(this) < 0) {
  541.             this.notifyAll();
  542.             Thread.currentThread();
  543.             Thread.yield();
  544.  
  545.             try {
  546.                Thread.currentThread();
  547.                Thread.sleep(100L);
  548.             } catch (InterruptedException var10) {
  549.             }
  550.          }
  551.       }
  552.  
  553.       return var3;
  554.    }
  555.  
  556.    // $FF: renamed from: a (java.lang.String, int) void
  557.    public void method_4(String var1, int var2) {
  558.       try {
  559.          this.method_5(var1, var2);
  560.       } catch (NoSuchMethodError var3) {
  561.          this.method_5(var1, var2);
  562.       }
  563.    }
  564.  
  565.    // $FF: renamed from: b (java.lang.String, int) void
  566.    public void method_5(String var1, int var2) {
  567.       try {
  568.          URL var3 = new URL(((Applet)this).getDocumentBase(), var1);
  569.  
  570.          try {
  571.             DataInputStream var4 = new DataInputStream(var3.openStream());
  572.             if (var4 != null) {
  573.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  574.                byte[] var6 = new byte[512];
  575.                int var7 = 0;
  576.                int var8 = 0;
  577.                boolean var9 = false;
  578.  
  579.                try {
  580.                   while(!var9) {
  581.                      var7 = var4.read(var6, 0, 512);
  582.                      if (var7 == -1) {
  583.                         var9 = true;
  584.                      } else {
  585.                         var5.write(var6, 0, var7);
  586.                         ((OutputStream)var5).flush();
  587.                         var8 += var7;
  588.                      }
  589.                   }
  590.  
  591.                   byte[] var10 = var5.toByteArray();
  592.                   ((OutputStream)var5).close();
  593.                   Object var26 = null;
  594.                   ((FilterInputStream)var4).close();
  595.                   System.gc();
  596.                   if (var2 != 0) {
  597.                      int var29 = 1;
  598.  
  599.                      for(int var13 = 0; var13 < var8; ++var13) {
  600.                         if (var10[var13] == 10) {
  601.                            ++var29;
  602.                         }
  603.                      }
  604.  
  605.                      this.field_47 = new String[var29 - 1];
  606.                      int[] var14 = new int[var29 + 1];
  607.                      int[] var15 = new int[var29 + 1];
  608.                      var14[0] = 0;
  609.                      int var16 = 0;
  610.                      byte var17 = 0;
  611.  
  612.                      for(int var18 = 0; var18 < var8; ++var18) {
  613.                         byte var28 = var10[var18];
  614.                         if (var28 == 10) {
  615.                            var14[var16 + 1] = var18 + 1;
  616.                            if (var17 == 13) {
  617.                               var15[var16] = var18 - var14[var16] - 1;
  618.                            } else {
  619.                               var15[var16] = var18 - var14[var16];
  620.                            }
  621.  
  622.                            ++var16;
  623.                         }
  624.  
  625.                         var17 = var28;
  626.                      }
  627.  
  628.                      var15[var16] = var8 - var14[var16 + 1] - 1;
  629.  
  630.                      try {
  631.                         for(int var19 = 0; var19 < var29 - 1; ++var19) {
  632.                            try {
  633.                               this.field_47[var19] = new String(var10, var14[var19], var15[var19]);
  634.                            } catch (NoSuchMethodError var20) {
  635.                               this.field_47[var19] = new String(var10, 0, var14[var19], var15[var19]);
  636.                            }
  637.                         }
  638.  
  639.                         return;
  640.                      } catch (StringIndexOutOfBoundsException var22) {
  641.                         this.field_47 = null;
  642.                         return;
  643.                      }
  644.                   }
  645.  
  646.                   for(int var12 = 0; var12 < var8; ++var12) {
  647.                      byte var11 = var10[var12];
  648.                      if (var11 == 13 || var11 == 10) {
  649.                         var10[var12] = 32;
  650.                      }
  651.                   }
  652.  
  653.                   try {
  654.                      this.field_101 = new String(var10);
  655.                      return;
  656.                   } catch (NoSuchMethodError var21) {
  657.                      this.field_101 = new String(var10, 0);
  658.                      return;
  659.                   }
  660.                } catch (IOException var23) {
  661.                   return;
  662.                }
  663.             }
  664.          } catch (IOException var24) {
  665.             return;
  666.          }
  667.       } catch (MalformedURLException var25) {
  668.       }
  669.  
  670.    }
  671.  
  672.    // $FF: renamed from: a (java.awt.Graphics) void
  673.    public void method_6(Graphics var1) {
  674.       var1.setFont(this.field_24);
  675.       if (this.field_0 == 0) {
  676.          this.field_169 = this.field_170;
  677.       } else {
  678.          this.field_41 += this.field_136;
  679.          this.field_169 = this.field_170 - (int)Math.abs((double)this.field_0 * Math.sin((double)this.field_41 / (double)90.0F * Math.PI));
  680.       }
  681.  
  682.       if (this.field_108 != 0) {
  683.          for(int var2 = 0; var2 < this.field_138; ++var2) {
  684.             int var3 = this.field_113[this.field_107 + var2];
  685.             var1.copyArea(var2, var3, 1, this.field_110, 0, this.field_95 - var3);
  686.          }
  687.  
  688.          if (this.field_127) {
  689.             var1.setColor(this.field_106);
  690.             var1.drawString(this.field_101, this.field_165 + 1, this.field_95 + this.field_102 + 1);
  691.          }
  692.  
  693.          var1.setColor(this.field_122);
  694.          var1.drawString(this.field_101, this.field_165, this.field_95 + this.field_102);
  695.  
  696.          for(int var4 = 0; var4 < this.field_138; ++var4) {
  697.             var1.copyArea(var4, this.field_95, 1, this.field_111, 0, this.field_114[this.field_107 + var4]);
  698.          }
  699.  
  700.          this.field_107 -= this.field_112;
  701.          if (this.field_107 < 0) {
  702.             this.field_107 += 360;
  703.          }
  704.       } else {
  705.          if (this.field_127) {
  706.             var1.setColor(this.field_106);
  707.             var1.drawString(this.field_101, this.field_165 + 1, this.field_169 + 1);
  708.          }
  709.  
  710.          var1.setColor(this.field_122);
  711.          var1.drawString(this.field_101, this.field_165, this.field_169);
  712.       }
  713.  
  714.       this.field_165 -= this.field_137;
  715.       if (this.field_165 < -this.field_103) {
  716.          this.field_165 = this.field_138;
  717.       }
  718.  
  719.    }
  720.  
  721.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  722.       if (var1 == this.field_88) {
  723.          if (var2 == 16) {
  724.             this.field_85 = true;
  725.          }
  726.  
  727.          return true;
  728.       } else {
  729.          return true;
  730.       }
  731.    }
  732.  
  733.    public void init() {
  734.       ((Container)this).setLayout((LayoutManager)null);
  735.       ((Panel)this).addNotify();
  736.       this.field_130 = ((Component)this).getToolkit();
  737.       this.field_118 = ((Applet)this).getParameter(method_25("my\u001aH!m`\b["));
  738.       Object var1 = null;
  739.       String var38 = ((Applet)this).getParameter(method_25("}\u007f\u001eX=j~"));
  740.       if (var38 != null) {
  741.          if (!var38.startsWith(method_25("_}\u000bP1j-\u0019EtXl\u0019U;>N\u0012I7}d[\u0014#izU]:x"))) {
  742.             this.method_0();
  743.          }
  744.       } else {
  745.          this.method_0();
  746.       }
  747.  
  748.       Object var2 = null;
  749.       Object var3 = null;
  750.  
  751.       try {
  752.          var39 = ((Applet)this).getDocumentBase().getProtocol();
  753.       } catch (SecurityException var35) {
  754.          var39 = method_25("xd\u0017Y");
  755.       }
  756.  
  757.       try {
  758.          var40 = ((Applet)this).getDocumentBase().getHost();
  759.       } catch (SecurityException var34) {
  760.          var40 = "";
  761.       }
  762.  
  763.       if (!var39.equalsIgnoreCase(method_25("xd\u0017Y")) && var40.length() != 0 && !var40.equalsIgnoreCase(method_25("rb\u0018]8vb\bH")) && !var40.equals(method_25("/?L\u0012d0=U\r"))) {
  764.          if (var40.startsWith(method_25("iz\f\u0012"))) {
  765.             var40 = var40.substring(4);
  766.          }
  767.  
  768.          Object var4 = null;
  769.          String var41 = ((Applet)this).getParameter(method_25("lh\u001c_;zh"));
  770.          if (var41 != null && !var41.equals("NO") && var41.length() > 10) {
  771.             int var5 = 1;
  772.  
  773.             try {
  774.                for(int var6 = 0; var6 < var41.length(); ++var6) {
  775.                   if (var41.charAt(var6) == '+') {
  776.                      ++var5;
  777.                   }
  778.                }
  779.             } catch (StringIndexOutOfBoundsException var37) {
  780.             }
  781.  
  782.             int[] var44 = new int[var5];
  783.             if (var5 == 1) {
  784.                var44[0] = var41.length();
  785.             } else {
  786.                int var7 = 0;
  787.  
  788.                try {
  789.                   for(int var8 = 0; var8 < var41.length(); ++var8) {
  790.                      if (var41.charAt(var8) == '+') {
  791.                         var44[var7] = var8;
  792.                         ++var7;
  793.                      }
  794.                   }
  795.                } catch (StringIndexOutOfBoundsException var36) {
  796.                }
  797.  
  798.                var44[var7] = var41.length();
  799.             }
  800.  
  801.             String[] var46 = new String[var5];
  802.             int var48 = 0;
  803.  
  804.             for(int var9 = 0; var9 < var5; ++var9) {
  805.                try {
  806.                   var46[var9] = var41.substring(var48, var44[var9]);
  807.                } catch (StringIndexOutOfBoundsException var33) {
  808.                }
  809.  
  810.                var48 = var44[var9] + 1;
  811.             }
  812.  
  813.             for(int var10 = 0; var10 < var5; ++var10) {
  814.                int var11 = var46[var10].length() - 8;
  815.                byte[] var15 = new byte[var11];
  816.                byte[] var16 = new byte[8];
  817.                var46[var10].getBytes(0, var11, var15, 0);
  818.                var46[var10].getBytes(var11, var11 + 8, var16, 0);
  819.                int var13 = var11 % 7;
  820.                int var14 = var11 % 3;
  821.  
  822.                for(int var17 = 0; var17 < var11; ++var17) {
  823.                   byte var12 = var15[var17];
  824.                   if (var12 >= 48 && var12 <= 57) {
  825.                      var15[var17] = this.method_12(var12, var13, 48, 57);
  826.                   } else if (var12 >= 65 && var12 <= 90) {
  827.                      var15[var17] = this.method_12(var12, var13, 65, 90);
  828.                   } else if (var12 >= 97 && var12 <= 122) {
  829.                      var15[var17] = this.method_12(var12, var13, 97, 122);
  830.                   } else if (var12 == 45) {
  831.                      var15[var17] = 46;
  832.                   } else if (var12 == 46) {
  833.                      var15[var17] = 45;
  834.                   }
  835.  
  836.                   if ((var13 += var14) > 7) {
  837.                      var13 = 1;
  838.                   }
  839.                }
  840.  
  841.                int var18 = 0;
  842.                int var19 = 0;
  843.  
  844.                for(int var20 = 0; var20 < 4; ++var20) {
  845.                   var16[var20] = (byte)(var16[var20] - 52);
  846.                }
  847.  
  848.                for(int var21 = 4; var21 < 8; ++var21) {
  849.                   var16[var21] = (byte)(var16[var21] - 55);
  850.                }
  851.  
  852.                for(int var22 = 0; var22 < var11; var22 += 2) {
  853.                   var18 += var15[var22];
  854.                }
  855.  
  856.                for(int var23 = 1; var23 < var11; var23 += 2) {
  857.                   var19 += var15[var23];
  858.                }
  859.  
  860.                String var24 = String.valueOf(var18);
  861.  
  862.                String var25;
  863.                for(var25 = String.valueOf(var19); var24.length() < 4; var24 = "0" + var24) {
  864.                }
  865.  
  866.                while(var25.length() < 4) {
  867.                   var25 = "0" + var25;
  868.                }
  869.  
  870.                byte[] var26 = new byte[8];
  871.                var24.getBytes(0, 4, var26, 0);
  872.                var25.getBytes(0, 4, var26, 4);
  873.                String var27 = new String(var26, 0);
  874.                if (var27.equals(new String(var16, 0))) {
  875.                   String var28 = new String(var15, 0);
  876.                   Object var29 = null;
  877.                   String var58;
  878.                   if (var28.startsWith(method_25("iz\f\u0012"))) {
  879.                      var58 = var28.substring(4);
  880.                   } else {
  881.                      var58 = var28;
  882.                   }
  883.  
  884.                   if (var40.equalsIgnoreCase(var58)) {
  885.                      this.field_97 = true;
  886.                   }
  887.                }
  888.             }
  889.          }
  890.       } else {
  891.          this.field_97 = true;
  892.       }
  893.  
  894.       String var43 = ((Applet)this).getParameter(method_25("lh\u001cP=pf"));
  895.       if (var43 != null && !var43.equalsIgnoreCase("NO")) {
  896.          try {
  897.             this.field_48 = new URL(((Applet)this).getDocumentBase(), var43);
  898.          } catch (MalformedURLException var32) {
  899.             this.field_48 = null;
  900.          }
  901.       }
  902.  
  903.       String var45 = ((Applet)this).getParameter(method_25("lh\u001cR1ik\t]9{"));
  904.       if (var45.equalsIgnoreCase(method_25("GH("))) {
  905.          this.field_79 = true;
  906.       }
  907.  
  908.       Container var47;
  909.       for(var47 = ((Component)this).getParent(); !(var47 instanceof Frame); var47 = ((Component)var47).getParent()) {
  910.       }
  911.  
  912.       this.field_1 = (Frame)var47;
  913.       this.field_1.setCursor(3);
  914.       String var49 = ((Applet)this).getParameter(method_25("q{\u001eN=sj"));
  915.       if (var49 != null && !var49.equalsIgnoreCase("NO")) {
  916.          this.field_88 = this.method_2(var49);
  917.          if (this.field_88 != null) {
  918.             String var50 = ((Applet)this).getParameter(method_25("q{\u001eN=sj#"));
  919.             if (var50 == null) {
  920.                var50 = "0";
  921.             }
  922.  
  923.             this.field_89 = Integer.valueOf(var50);
  924.             String var52 = ((Applet)this).getParameter(method_25("q{\u001eN=sj\""));
  925.             if (var52 == null) {
  926.                var52 = "0";
  927.             }
  928.  
  929.             this.field_90 = Integer.valueOf(var52);
  930.          }
  931.       }
  932.  
  933.       this.field_54 = ((Applet)this).getParameter(method_25("lh\b"));
  934.       if (this.field_54 == null) {
  935.          this.field_54 = "1";
  936.       }
  937.  
  938.       this.field_62 = ((Applet)this).getParameter(method_25("me\u001aX1"));
  939.       if (this.field_62.equalsIgnoreCase(method_25("GH("))) {
  940.          this.field_105 = true;
  941.       } else {
  942.          this.field_105 = false;
  943.       }
  944.  
  945.       this.field_62 = null;
  946.       this.field_62 = ((Applet)this).getParameter(method_25("rd\u001cT wc\r"));
  947.       if (this.field_62.equalsIgnoreCase(method_25("GH("))) {
  948.          this.field_44 = true;
  949.       } else {
  950.          this.field_44 = false;
  951.       }
  952.  
  953.       this.field_63 = ((Applet)this).getParameter(method_25("m|\u000e]&{i"));
  954.       if (this.field_63.equalsIgnoreCase(method_25("GH("))) {
  955.          this.field_91 = true;
  956.       } else {
  957.          this.field_91 = false;
  958.       }
  959.  
  960.       this.field_64 = ((Applet)this).getParameter(method_25("|h\u0015X'"));
  961.       if (this.field_64.equalsIgnoreCase(method_25("GH("))) {
  962.          this.field_10 = true;
  963.       } else {
  964.          this.field_10 = false;
  965.       }
  966.  
  967.       this.field_53 = ((Applet)this).getParameter(method_25("wc\u000fY&\u007fn\u000fU\"{"));
  968.       if (this.field_53.equalsIgnoreCase(method_25("GH("))) {
  969.          this.field_40 = true;
  970.       } else {
  971.          this.field_40 = false;
  972.       }
  973.  
  974.       this.field_65 = ((Applet)this).getParameter(method_25("rd\u001cT sd\u0015"));
  975.       if (this.field_65 == null) {
  976.          this.field_65 = "1";
  977.       }
  978.  
  979.       this.field_66 = ((Applet)this).getParameter(method_25("rd\u001cT sl\u0003"));
  980.       if (this.field_66 == null) {
  981.          this.field_66 = method_25("/?L");
  982.       }
  983.  
  984.       this.field_67 = ((Applet)this).getParameter(method_25("jx\u0015R1r\u007f\u001aX=k~"));
  985.       if (this.field_67 == null) {
  986.          this.field_67 = "20";
  987.       }
  988.  
  989.       this.field_68 = ((Applet)this).getParameter(method_25("jx\u0015N;j"));
  990.       if (this.field_68 == null) {
  991.          this.field_68 = "1";
  992.       }
  993.  
  994.       this.field_71 = ((Applet)this).getParameter(method_25("jx\u0015]0hl\u0015_1"));
  995.       if (this.field_71 == null) {
  996.          this.field_71 = "2";
  997.       }
  998.  
  999.       this.field_73 = ((Applet)this).getParameter(method_25("f\u007f\u0014H"));
  1000.       if (this.field_73 == null) {
  1001.          this.field_73 = "10";
  1002.       }
  1003.  
  1004.       this.field_75 = ((Applet)this).getParameter(method_25("g\u007f\u0014H"));
  1005.       if (this.field_75 == null) {
  1006.          this.field_75 = "20";
  1007.       }
  1008.  
  1009.       this.field_55 = ((Applet)this).getParameter(method_25("d\u007f\u0014H"));
  1010.       if (this.field_55 == null) {
  1011.          this.field_55 = "30";
  1012.       }
  1013.  
  1014.       this.field_135 = Integer.valueOf(this.field_68) * 65536;
  1015.       this.field_132 = Integer.valueOf(this.field_71) * 65536;
  1016.       this.field_166 = Double.valueOf(this.field_73) / (double)5000.0F;
  1017.       this.field_171 = Double.valueOf(this.field_75) / (double)5000.0F;
  1018.       this.field_176 = Double.valueOf(this.field_55) / (double)5000.0F;
  1019.       this.field_69 = ((Applet)this).getParameter(method_25("Sd\u0015o\rPN"));
  1020.       if (this.field_69 == null) {
  1021.          this.field_69 = "10";
  1022.       }
  1023.  
  1024.       this.field_52 = Integer.valueOf(this.field_69);
  1025.       this.field_70 = ((Applet)this).getParameter(method_25("px\u0016^1pi\b"));
  1026.       if (this.field_70 == null) {
  1027.          this.field_70 = "3";
  1028.       }
  1029.  
  1030.       this.field_72 = ((Applet)this).getParameter(method_25("|h\u0015X;xk\bY "));
  1031.       if (this.field_72 == null) {
  1032.          this.field_72 = "20";
  1033.       }
  1034.  
  1035.       this.field_74 = ((Applet)this).getParameter(method_25("|h\u0015X'ww\u001eQ=p"));
  1036.       if (this.field_74 == null) {
  1037.          this.field_74 = "0";
  1038.       }
  1039.  
  1040.       this.field_76 = ((Applet)this).getParameter(method_25("|h\u0015X'ww\u001eQ5f"));
  1041.       if (this.field_76 == null) {
  1042.          this.field_76 = "50";
  1043.       }
  1044.  
  1045.       this.field_56 = ((Applet)this).getParameter(method_25("|h\u0015X;xk\bY wc\u0018"));
  1046.       if (this.field_56 == null) {
  1047.          this.field_56 = "2";
  1048.       }
  1049.  
  1050.       this.field_57 = ((Applet)this).getParameter(method_25("|h\u0015X'ww\u001eU:}"));
  1051.       if (this.field_57 == null) {
  1052.          this.field_57 = "2";
  1053.       }
  1054.  
  1055.       this.field_81 = Double.valueOf(this.field_70);
  1056.       this.field_8 = Double.valueOf(this.field_72) / (double)100.0F;
  1057.       this.field_14 = Double.valueOf(this.field_74) / (double)100.0F;
  1058.       this.field_13 = Double.valueOf(this.field_76) / (double)100.0F;
  1059.       this.field_11 = this.field_14;
  1060.       this.field_9 = Double.valueOf(this.field_56) / (double)100.0F;
  1061.       this.field_12 = Double.valueOf(this.field_57) / (double)100.0F;
  1062.       this.field_46 = Integer.valueOf(this.field_65);
  1063.       this.field_45 = Integer.valueOf(this.field_66);
  1064.       this.field_134 = Integer.valueOf(this.field_67);
  1065.       if (this.field_46 > 127) {
  1066.          this.field_46 = 127;
  1067.       } else if (this.field_46 < 1) {
  1068.          this.field_46 = 1;
  1069.       }
  1070.  
  1071.       if (this.field_45 > 127) {
  1072.          this.field_45 = 127;
  1073.       } else if (this.field_45 < 1) {
  1074.          this.field_45 = 1;
  1075.       }
  1076.  
  1077.       this.field_45 <<= 16;
  1078.       this.field_46 <<= 16;
  1079.       this.field_58 = ((Applet)this).getParameter(method_25("sh\u0016X1rl\u0002"));
  1080.       this.field_60 = ((Applet)this).getParameter(method_25("n\u007f\u0012S&wy\u0002"));
  1081.       this.field_51 = Integer.valueOf(this.field_58);
  1082.       this.field_92 = Integer.valueOf(this.field_60);
  1083.       if (this.field_51 < 0) {
  1084.          this.field_51 = 0;
  1085.       }
  1086.  
  1087.       if (this.field_92 > 10) {
  1088.          this.field_92 = 10;
  1089.       } else if (this.field_92 < 1) {
  1090.          this.field_92 = 1;
  1091.       }
  1092.  
  1093.       this.field_59 = ((Applet)this).getParameter(method_25("rd\u001cT zh\u0018"));
  1094.       if (this.field_59 == null) {
  1095.          this.field_59 = "18";
  1096.       }
  1097.  
  1098.       this.field_43 = Float.valueOf(this.field_59) / 10.0F;
  1099.       this.field_98 = Integer.valueOf(this.field_54);
  1100.       this.field_129 = 256;
  1101.       this.field_123 = 256;
  1102.       this.field_128 = 65536;
  1103.       if (this.field_98 > 8) {
  1104.          this.field_98 = 8;
  1105.       } else if (this.field_98 < 1) {
  1106.          this.field_98 = 1;
  1107.       }
  1108.  
  1109.       Dimension var51 = ((Component)this).size();
  1110.       this.field_96 = var51.width;
  1111.       this.field_95 = var51.height;
  1112.       this.field_5 = var51.width / this.field_98;
  1113.       this.field_3 = var51.height / this.field_98;
  1114.       this.field_161 = var51.width / this.field_98;
  1115.       this.field_35 = var51.height / this.field_98;
  1116.       int var53 = this.field_161 - this.field_161 % 8;
  1117.       int var54 = this.field_35 - this.field_35 % 8;
  1118.       if (var53 > this.field_161) {
  1119.          var53 -= 8;
  1120.       }
  1121.  
  1122.       if (var54 > this.field_35) {
  1123.          var54 -= 8;
  1124.       }
  1125.  
  1126.       this.field_99 = this.field_5 = this.field_161 = var53;
  1127.       this.field_100 = this.field_3 = this.field_35 = var54;
  1128.       this.field_49 = Math.PI;
  1129.       this.field_50 = (Math.PI * 2D);
  1130.       this.field_33 = 1 << this.field_29;
  1131.       this.field_34 = 1 << this.field_31;
  1132.       this.field_27 = this.field_99 / this.field_33 + 1;
  1133.       this.field_28 = this.field_100 / this.field_34 + 1;
  1134.       this.field_164 = (double)45.0F * (this.field_49 / (double)360.0F);
  1135.       this.field_168 = (double)30.0F * (this.field_49 / (double)360.0F);
  1136.       this.field_143 = -Math.tan(this.field_164);
  1137.       this.field_145 = Math.tan(this.field_168);
  1138.       this.field_148 = Math.tan(this.field_164);
  1139.       this.field_150 = Math.tan(this.field_168);
  1140.       this.field_153 = -Math.tan(this.field_164);
  1141.       this.field_155 = -Math.tan(this.field_168);
  1142.       this.field_30 = this.field_29 + 8;
  1143.       this.field_32 = this.field_31 + 8;
  1144.       this.field_4 = this.field_5 * this.field_3;
  1145.       this.field_53 = ((Applet)this).getParameter(method_25("w`\u001a[1"));
  1146.       ((Applet)this).showStatus(method_25("Rb\u001aX=pj[U9\u007fj\u001e\u0012z0"));
  1147.       this.field_115 = new int[65536];
  1148.       this.field_22 = new int[this.field_5 * this.field_3];
  1149.       this.field_39 = this.method_2(this.field_53);
  1150.       PixelGrabber var55 = new PixelGrabber(this.field_39, 0, 0, this.field_129, this.field_123, this.field_115, 0, this.field_129);
  1151.  
  1152.       try {
  1153.          var55.grabPixels();
  1154.       } catch (InterruptedException var31) {
  1155.       }
  1156.  
  1157.       this.field_39.flush();
  1158.       this.field_39 = null;
  1159.  
  1160.       try {
  1161.          this.method_7();
  1162.       } catch (NoSuchMethodError var30) {
  1163.          this.method_7();
  1164.       }
  1165.  
  1166.       if (this.field_105) {
  1167.          this.field_133 = new int[this.field_27 * this.field_28 * 3];
  1168.       } else {
  1169.          this.field_133 = new int[this.field_27 * this.field_28 * 2];
  1170.       }
  1171.  
  1172.       if (this.field_105) {
  1173.          this.field_159 = new short[this.field_128];
  1174.          this.field_158 = new short[this.field_128];
  1175.          this.field_157 = new short[this.field_128];
  1176.  
  1177.          for(int var42 = 0; var42 < this.field_128; ++var42) {
  1178.             int var56 = this.field_115[var42];
  1179.             this.field_159[var42] = (short)(var56 >> 16 & 255);
  1180.             this.field_158[var42] = (short)(var56 >> 8 & 255);
  1181.             this.field_157[var42] = (short)(var56 & 255);
  1182.          }
  1183.       }
  1184.  
  1185.       this.method_13();
  1186.       this.field_84 = ((Component)this).createImage(this.field_96, this.field_95 + this.field_110);
  1187.       this.field_83 = this.field_84.getGraphics();
  1188.       if (!this.field_97) {
  1189.          Label var57 = new Label(method_25("Jx\u0015R1r>\u001f\u001c5n}\u0017Y >o\u0002\u001c\u0012\u007fo\u0012St]d\u000e_7w-J\u0005m(\"B\u0004z"));
  1190.          this.field_162 = new Lware(((Applet)this).getAppletContext(), var57);
  1191.          this.field_162.setTitle(method_25("Jx\u0015R1r>\u001f\u001c\u0015n}\u0017Y >o\u0002\u001c\u0012\u007fo\u0012St]d\u000e_7w"));
  1192.          this.field_162.hide();
  1193.       }
  1194.  
  1195.    }
  1196.  
  1197.    // $FF: renamed from: c () void
  1198.    void method_7() {
  1199.       this.field_94 = new MemoryImageSource(this.field_161, this.field_35, new DirectColorModel(24, 16711680, 65280, 255), this.field_22, 0, this.field_161);
  1200.  
  1201.       String var1;
  1202.       try {
  1203.          var1 = System.getProperty(method_25("tl\r]zhh\tO=qc"));
  1204.       } catch (SecurityException var3) {
  1205.          var1 = method_25("kc\u0010");
  1206.       }
  1207.  
  1208.       if (!var1.startsWith(method_25("/#K"))) {
  1209.          try {
  1210.             this.field_94.setAnimated(true);
  1211.             this.field_94.setFullBufferUpdates(true);
  1212.             this.field_38 = ((Component)this).createImage(this.field_94);
  1213.             this.field_94.newPixels();
  1214.             this.field_42 = true;
  1215.          } catch (NoSuchMethodError var2) {
  1216.             this.field_42 = false;
  1217.          }
  1218.       }
  1219.  
  1220.       if (!this.field_42) {
  1221.          this.field_94 = null;
  1222.          this.field_93 = new anfy(this.field_161, this.field_35, new DirectColorModel(24, 16711680, 65280, 255), this.field_22, 0, this.field_161);
  1223.          this.field_38 = ((Component)this).createImage(this.field_93);
  1224.       }
  1225.  
  1226.    }
  1227.  
  1228.    public final boolean mouseDown(Event var1, int var2, int var3) {
  1229.       if (!this.field_97) {
  1230.          this.field_162.show();
  1231.          this.field_162.toFront();
  1232.          this.field_162.requestFocus();
  1233.       } else if (this.field_48 != null) {
  1234.          if (this.field_79) {
  1235.             ((Applet)this).getAppletContext().showDocument(this.field_48, ((Applet)this).getParameter(method_25("lh\u001cZ&\u007f`\u001eR5sh")));
  1236.          } else {
  1237.             ((Applet)this).getAppletContext().showDocument(this.field_48);
  1238.          }
  1239.       }
  1240.  
  1241.       return true;
  1242.    }
  1243.  
  1244.    public final boolean mouseEnter(Event var1, int var2, int var3) {
  1245.       this.field_86 = var2;
  1246.       this.field_87 = var3;
  1247.       ((Applet)this).showStatus(this.field_118);
  1248.       return true;
  1249.    }
  1250.  
  1251.    public final boolean mouseExit(Event var1, int var2, int var3) {
  1252.       ((Applet)this).showStatus("");
  1253.       return true;
  1254.    }
  1255.  
  1256.    public synchronized boolean mouseMove(Event var1, int var2, int var3) {
  1257.       if (this.field_40) {
  1258.          this.field_20 = System.currentTimeMillis();
  1259.          this.field_80 = true;
  1260.          if (var3 > this.field_87) {
  1261.             this.field_163 -= (double)(var3 - this.field_87) / (double)400.0F;
  1262.          } else if (var3 < this.field_87) {
  1263.             this.field_163 += (double)(this.field_87 - var3) / (double)400.0F;
  1264.          }
  1265.  
  1266.          if (var2 > this.field_86) {
  1267.             this.field_167 += (double)(var2 - this.field_86) / (double)400.0F;
  1268.          } else if (var2 < this.field_86) {
  1269.             this.field_167 -= (double)(this.field_86 - var2) / (double)400.0F;
  1270.          }
  1271.  
  1272.          this.field_86 = var2;
  1273.          this.field_87 = var3;
  1274.       }
  1275.  
  1276.       return true;
  1277.    }
  1278.  
  1279.    public final void paint(Graphics var1) {
  1280.       if (this.field_38 != null) {
  1281.          if (this.field_98 == 1) {
  1282.             this.field_83.drawImage(this.field_38, 0, 0, this);
  1283.          } else {
  1284.             this.method_9();
  1285.             this.field_83.drawImage(this.field_38, 0, 0, this.field_96, this.field_95, this);
  1286.          }
  1287.  
  1288.          if (this.field_88 != null) {
  1289.             this.method_8();
  1290.          }
  1291.  
  1292.          if (this.field_126) {
  1293.             this.method_14(this.field_83);
  1294.          }
  1295.  
  1296.          var1.drawImage(this.field_84, 0, 0, this);
  1297.       }
  1298.  
  1299.    }
  1300.  
  1301.    // $FF: renamed from: d () void
  1302.    public synchronized void method_8() {
  1303.       if (this.field_2) {
  1304.          this.notifyAll();
  1305.  
  1306.          while(!this.field_85) {
  1307.             Thread.yield();
  1308.  
  1309.             try {
  1310.                Thread.sleep(8L);
  1311.             } catch (InterruptedException var1) {
  1312.             }
  1313.          }
  1314.  
  1315.          this.field_85 = false;
  1316.       }
  1317.  
  1318.       this.field_83.drawImage(this.field_88, this.field_89, this.field_90, this);
  1319.    }
  1320.  
  1321.    // $FF: renamed from: e () void
  1322.    public synchronized void method_9() {
  1323.       int var1 = 0;
  1324.       ((Component)this).prepareImage(this.field_38, this.field_96, this.field_95, this);
  1325.       this.notifyAll();
  1326.  
  1327.       while((var1 & 240) == 0) {
  1328.          Thread.yield();
  1329.          var1 = ((Component)this).checkImage(this.field_38, this.field_96, this.field_95, this);
  1330.       }
  1331.  
  1332.    }
  1333.  
  1334.    // $FF: renamed from: f () void
  1335.    public final void method_10() {
  1336.       try {
  1337.          if (this.field_42) {
  1338.             this.field_94.newPixels();
  1339.          } else {
  1340.             this.field_93.startProduction(this.field_93.getConsumer());
  1341.          }
  1342.       } catch (NoSuchMethodError var1) {
  1343.       }
  1344.    }
  1345.  
  1346.    // $FF: renamed from: a (double, double, double) void
  1347.    public final void method_11(double var1, double var3, double var5) {
  1348.       this.field_119 = Math.sin(var1);
  1349.       this.field_120 = Math.sin(var3);
  1350.       this.field_121 = Math.sin(var5);
  1351.       this.field_16 = Math.cos(var1);
  1352.       this.field_17 = Math.cos(var3);
  1353.       this.field_18 = Math.cos(var5);
  1354.       double var7 = this.field_144 * this.field_16 - this.field_146 * this.field_119;
  1355.       this.field_146 = this.field_144 * this.field_119 + this.field_146 * this.field_16;
  1356.       this.field_144 = var7;
  1357.       double var13 = this.field_142 * this.field_17 - this.field_146 * this.field_120;
  1358.       this.field_146 = this.field_142 * this.field_120 + this.field_146 * this.field_17;
  1359.       this.field_142 = var13;
  1360.       double var19 = this.field_142 * this.field_18 - this.field_144 * this.field_121;
  1361.       this.field_144 = this.field_142 * this.field_121 + this.field_144 * this.field_18;
  1362.       this.field_142 = var19;
  1363.       double var9 = this.field_149 * this.field_16 - this.field_151 * this.field_119;
  1364.       this.field_151 = this.field_149 * this.field_119 + this.field_151 * this.field_16;
  1365.       this.field_149 = var9;
  1366.       double var15 = this.field_147 * this.field_17 - this.field_151 * this.field_120;
  1367.       this.field_151 = this.field_147 * this.field_120 + this.field_151 * this.field_17;
  1368.       this.field_147 = var15;
  1369.       double var21 = this.field_147 * this.field_18 - this.field_149 * this.field_121;
  1370.       this.field_149 = this.field_147 * this.field_121 + this.field_149 * this.field_18;
  1371.       this.field_147 = var21;
  1372.       double var11 = this.field_154 * this.field_16 - this.field_156 * this.field_119;
  1373.       this.field_156 = this.field_154 * this.field_119 + this.field_156 * this.field_16;
  1374.       this.field_154 = var11;
  1375.       double var17 = this.field_152 * this.field_17 - this.field_156 * this.field_120;
  1376.       this.field_156 = this.field_152 * this.field_120 + this.field_156 * this.field_17;
  1377.       this.field_152 = var17;
  1378.       double var23 = this.field_152 * this.field_18 - this.field_154 * this.field_121;
  1379.       this.field_154 = this.field_152 * this.field_121 + this.field_154 * this.field_18;
  1380.       this.field_152 = var23;
  1381.    }
  1382.  
  1383.    public void run() {
  1384.       this.field_131.setPriority(this.field_92);
  1385.       ((Applet)this).showStatus("");
  1386.       System.gc();
  1387.       this.field_19 = System.currentTimeMillis();
  1388.       Graphics var1 = ((Component)this).getGraphics();
  1389.       if (this.field_88 != null && !this.field_2) {
  1390.          this.field_2 = this.method_1();
  1391.       }
  1392.  
  1393.       if (this.field_48 != null) {
  1394.          this.field_1.setCursor(12);
  1395.       } else {
  1396.          this.field_1.setCursor(0);
  1397.       }
  1398.  
  1399.       while(this.field_131 != null) {
  1400.          if (this.field_105) {
  1401.             this.method_21();
  1402.          } else {
  1403.             this.method_15();
  1404.          }
  1405.  
  1406.          if (this.field_80) {
  1407.             if (System.currentTimeMillis() - this.field_20 > 2000L) {
  1408.                this.field_80 = false;
  1409.             }
  1410.          } else {
  1411.             if (this.field_167 > (double)0.5F) {
  1412.                this.field_167 = (double)0.5F;
  1413.                this.field_171 = -this.field_171;
  1414.             } else if (this.field_167 < (double)-0.5F) {
  1415.                this.field_167 = (double)-0.5F;
  1416.                this.field_171 = -this.field_171;
  1417.             }
  1418.  
  1419.             if (this.field_163 > 0.4) {
  1420.                this.field_163 = 0.4;
  1421.                this.field_166 = -this.field_166;
  1422.             } else if (this.field_163 < -0.4) {
  1423.                this.field_163 = -0.4;
  1424.                this.field_166 = -this.field_166;
  1425.             }
  1426.  
  1427.             this.field_163 += this.field_166;
  1428.             this.field_167 += this.field_171;
  1429.             this.field_172 += this.field_176;
  1430.          }
  1431.  
  1432.          this.field_8 += this.field_9;
  1433.          if (!this.field_7) {
  1434.             this.field_11 += this.field_12;
  1435.          } else {
  1436.             this.field_11 -= this.field_12;
  1437.          }
  1438.  
  1439.          if (this.field_11 >= this.field_13) {
  1440.             this.field_7 = true;
  1441.          } else if (this.field_11 <= this.field_14) {
  1442.             this.field_7 = false;
  1443.          }
  1444.  
  1445.          this.field_140 += this.field_135;
  1446.          this.field_141 += this.field_132;
  1447.          if (++this.field_15 == this.field_51) {
  1448.             System.gc();
  1449.             this.field_15 = 0;
  1450.          }
  1451.  
  1452.          try {
  1453.             this.method_10();
  1454.          } catch (NoSuchMethodError var2) {
  1455.          }
  1456.  
  1457.          if (this.field_98 == 1) {
  1458.             this.field_83.drawImage(this.field_38, 0, 0, this);
  1459.          } else {
  1460.             this.method_9();
  1461.             this.field_83.drawImage(this.field_38, 0, 0, this.field_96, this.field_95, this);
  1462.          }
  1463.  
  1464.          if (this.field_88 != null) {
  1465.             this.method_8();
  1466.          }
  1467.  
  1468.          if (this.field_126) {
  1469.             this.method_14(this.field_83);
  1470.          }
  1471.  
  1472.          var1.drawImage(this.field_84, 0, 0, this);
  1473.          this.method_23();
  1474.       }
  1475.  
  1476.    }
  1477.  
  1478.    // $FF: renamed from: a (int, int, int, int) byte
  1479.    byte method_12(int var1, int var2, int var3, int var4) {
  1480.       int var5 = var1 - var2;
  1481.       if (var5 >= var3) {
  1482.          return (byte)var5;
  1483.       } else {
  1484.          int var6 = var3 - var5 - 1;
  1485.          return (byte)(var4 - var6);
  1486.       }
  1487.    }
  1488.  
  1489.    // $FF: renamed from: g () void
  1490.    public void method_13() {
  1491.       Object var2 = null;
  1492.       this.field_126 = false;
  1493.       String var20 = ((Applet)this).getParameter(method_25("jh\u0003H'}\u007f\u0014P8"));
  1494.       if (var20 != null && !var20.equalsIgnoreCase("NO")) {
  1495.          Object var3 = null;
  1496.          String var21 = ((Applet)this).getParameter(method_25("jh\u0003H g}\u001e"));
  1497.          if (var21 == null) {
  1498.             var21 = method_25("vb\tU.qc\u000f]8");
  1499.          }
  1500.  
  1501.          if (var21.equals(method_25("vb\tU.qc\u000f]8"))) {
  1502.             this.field_104 = 0;
  1503.          } else if (var21.equals(method_25("hh\tH=}l\u0017"))) {
  1504.             this.field_104 = 1;
  1505.          } else if (var21.equals(method_25("db\u0014Q=pj"))) {
  1506.             this.field_104 = 2;
  1507.          } else if (var21.equals(method_25("wc\rF;q`\u0012R3"))) {
  1508.             this.field_104 = 3;
  1509.          }
  1510.  
  1511.          if (this.field_104 == 0) {
  1512.             this.method_4(var20, 0);
  1513.             if (this.field_101 != null) {
  1514.                this.field_126 = true;
  1515.             }
  1516.          } else {
  1517.             this.method_4(var20, 1);
  1518.             if (this.field_47 != null) {
  1519.                this.field_126 = true;
  1520.             }
  1521.          }
  1522.       }
  1523.  
  1524.       if (this.field_126) {
  1525.          Object var22 = null;
  1526.          String var23 = ((Applet)this).getParameter(method_25("jh\u0003H'nh\u001eX"));
  1527.          if (var23 == null) {
  1528.             var23 = "0";
  1529.          }
  1530.  
  1531.          this.field_137 = Integer.valueOf(var23);
  1532.          Object var4 = null;
  1533.          String var24 = ((Applet)this).getParameter(method_25("jh\u0003H2qc\u000f"));
  1534.          if (var24 == null) {
  1535.             var24 = method_25("_\u007f\u0012]8");
  1536.          }
  1537.  
  1538.          int var5 = 0;
  1539.          Object var6 = null;
  1540.          String var25 = ((Applet)this).getParameter(method_25("jh\u0003H6qa\u001f"));
  1541.          if (var25.equalsIgnoreCase(method_25("GH("))) {
  1542.             ++var5;
  1543.          }
  1544.  
  1545.          Object var7 = null;
  1546.          String var26 = ((Applet)this).getParameter(method_25("jh\u0003H=jl\u0017U7"));
  1547.          if (var26 == null) {
  1548.             var26 = "NO";
  1549.          }
  1550.  
  1551.          if (var26.equalsIgnoreCase(method_25("GH("))) {
  1552.             var5 += 2;
  1553.          }
  1554.  
  1555.          Object var8 = null;
  1556.          String var27 = ((Applet)this).getParameter(method_25("jh\u0003H'ww\u001e"));
  1557.          if (var27 == null) {
  1558.             var27 = "12";
  1559.          }
  1560.  
  1561.          int var9 = Integer.valueOf(var27);
  1562.          this.field_24 = new Font(var24, var5, var9);
  1563.          Object var10 = null;
  1564.          String var28 = ((Applet)this).getParameter(method_25("jh\u0003H'vl\u001fS#"));
  1565.          if (var28.equalsIgnoreCase(method_25("GH("))) {
  1566.             this.field_127 = true;
  1567.          } else {
  1568.             this.field_127 = false;
  1569.          }
  1570.  
  1571.          this.field_122 = new Color(Integer.valueOf(((Applet)this).getParameter(method_25("Jh\u0003H\u0017qa)"))), Integer.valueOf(((Applet)this).getParameter(method_25("Jh\u0003H\u0017qa<"))), Integer.valueOf(((Applet)this).getParameter(method_25("Jh\u0003H\u0017qa9"))));
  1572.          this.field_106 = new Color(Integer.valueOf(((Applet)this).getParameter(method_25("Jh\u0003H\u0007]b\u0017n"))), Integer.valueOf(((Applet)this).getParameter(method_25("Jh\u0003H\u0007]b\u0017{"))), Integer.valueOf(((Applet)this).getParameter(method_25("Jh\u0003H\u0007]b\u0017~"))));
  1573.          this.field_138 = ((Component)this).size().width;
  1574.          this.field_139 = ((Component)this).size().height;
  1575.          if (this.field_104 == 0) {
  1576.             Object var11 = null;
  1577.             String var29 = ((Applet)this).getParameter(method_25("jh\u0003H;xk\bY "));
  1578.             if (var29 == null) {
  1579.                var29 = "0";
  1580.             }
  1581.  
  1582.             this.field_170 = Integer.valueOf(var29);
  1583.             if (this.field_170 < 0) {
  1584.                this.field_170 = 0;
  1585.             }
  1586.  
  1587.             Object var12 = null;
  1588.             String var34 = ((Applet)this).getParameter(method_25("Jh\u0003H\u001ek`\u000b}9n"));
  1589.             if (var34 == null) {
  1590.                var34 = "0";
  1591.             }
  1592.  
  1593.             this.field_0 = Integer.valueOf(var34);
  1594.             Object var13 = null;
  1595.             String var38 = ((Applet)this).getParameter(method_25("Jh\u0003H\u001ek`\u000bo$z"));
  1596.             if (var38 == null) {
  1597.                var38 = "0";
  1598.             }
  1599.  
  1600.             this.field_136 = Integer.valueOf(var38);
  1601.             Object var14 = null;
  1602.             String var41 = ((Applet)this).getParameter(method_25("Jh\u0003H\u0007wc\u001e}9n"));
  1603.             if (var41 == null) {
  1604.                var41 = "0";
  1605.             }
  1606.  
  1607.             this.field_108 = Integer.valueOf(var41);
  1608.             Object var15 = null;
  1609.             String var42 = ((Applet)this).getParameter(method_25("Jh\u0003H\u0007wc\u001eo$z"));
  1610.             if (var42 == null) {
  1611.                var42 = "0";
  1612.             }
  1613.  
  1614.             this.field_112 = Integer.valueOf(var42);
  1615.             Object var16 = null;
  1616.             String var43 = ((Applet)this).getParameter(method_25("Jh\u0003H\u0007wc\u001e}:ya\u001e"));
  1617.             if (var43 == null) {
  1618.                var43 = "0";
  1619.             }
  1620.  
  1621.             this.field_109 = Integer.valueOf(var43);
  1622.             FontMetrics var17 = ((Component)this).getGraphics().getFontMetrics(this.field_24);
  1623.             this.field_103 = var17.stringWidth(this.field_101);
  1624.             this.field_102 = var17.getHeight();
  1625.             this.field_21 = var17.getMaxDescent();
  1626.             this.field_165 = this.field_138;
  1627.             if (this.field_170 < this.field_102 - this.field_21) {
  1628.                this.field_170 = this.field_102 - this.field_21;
  1629.             } else if (this.field_170 > this.field_139 - this.field_21) {
  1630.                this.field_170 = this.field_139 - this.field_21;
  1631.             }
  1632.  
  1633.             if (this.field_108 != 0) {
  1634.                this.field_113 = new int[this.field_138 + 360];
  1635.                this.field_114 = new int[this.field_138 + 360];
  1636.  
  1637.                for(int var1 = 0; var1 < this.field_138 + 360; ++var1) {
  1638.                   this.field_113[var1] = (int)((double)this.field_108 * Math.sin((double)this.field_109 * (double)var1 * Math.PI / (double)180.0F)) - this.field_102 - this.field_21 + this.field_170;
  1639.                   this.field_114[var1] = this.field_113[var1] - this.field_95;
  1640.                }
  1641.  
  1642.                this.field_107 = 360;
  1643.                this.field_110 = this.field_102 + this.field_21 + 1;
  1644.                this.field_111 = this.field_110 - 1;
  1645.                return;
  1646.             }
  1647.          } else {
  1648.             if (this.field_104 == 1) {
  1649.                Object var32 = null;
  1650.                String var33 = ((Applet)this).getParameter(method_25("jh\u0003H\"m}\u001a_1"));
  1651.                if (var33 == null) {
  1652.                   var33 = "10";
  1653.                }
  1654.  
  1655.                int var37 = Integer.valueOf(var33);
  1656.                FontMetrics var40 = ((Component)this).getGraphics().getFontMetrics(this.field_24);
  1657.                this.field_25 = var40.getHeight() + var37;
  1658.                this.field_160 = new int[this.field_47.length];
  1659.  
  1660.                for(int var19 = 0; var19 < this.field_47.length; ++var19) {
  1661.                   this.field_160[var19] = (this.field_138 - var40.stringWidth(this.field_47[var19])) / 2;
  1662.                }
  1663.  
  1664.                this.field_78 = -this.field_25;
  1665.                return;
  1666.             }
  1667.  
  1668.             if (this.field_104 >= 2) {
  1669.                Object var30 = null;
  1670.                String var31 = ((Applet)this).getParameter(method_25("jh\u0003H9wc\u001dS:j"));
  1671.                if (var31 == null) {
  1672.                   var31 = "2";
  1673.                }
  1674.  
  1675.                this.field_125 = Integer.valueOf(var31);
  1676.                Object var35 = null;
  1677.                String var36 = ((Applet)this).getParameter(method_25("jh\u0003H9\u007fu\u001dS:j"));
  1678.                if (var36 == null) {
  1679.                   var36 = "72";
  1680.                }
  1681.  
  1682.                this.field_124 = Integer.valueOf(var36);
  1683.                this.field_82 = this.field_124 - this.field_125;
  1684.                this.field_24 = null;
  1685.                this.field_175 = new Font[this.field_82];
  1686.                int var39 = this.field_125;
  1687.  
  1688.                for(int var18 = 0; var18 < this.field_82; ++var18) {
  1689.                   this.field_175[var18] = new Font(var24, var5, var39++);
  1690.                }
  1691.  
  1692.                this.field_37 = (float)this.field_138 / 2.0F;
  1693.                this.field_36 = (float)this.field_139 / 2.0F;
  1694.                if (this.field_104 == 3) {
  1695.                   this.field_174 = this.field_82 - 1;
  1696.                   return;
  1697.                }
  1698.  
  1699.                this.field_174 = 0;
  1700.             }
  1701.          }
  1702.       }
  1703.  
  1704.    }
  1705.  
  1706.    // $FF: renamed from: b (java.awt.Graphics) void
  1707.    public void method_14(Graphics var1) {
  1708.       switch (this.field_104) {
  1709.          case 0:
  1710.             this.method_6(var1);
  1711.             return;
  1712.          case 1:
  1713.             this.method_22(var1);
  1714.             return;
  1715.          default:
  1716.             this.method_24(var1);
  1717.       }
  1718.    }
  1719.  
  1720.    public void start() {
  1721.       if (this.field_131 == null) {
  1722.          this.field_131 = new Thread(this);
  1723.          this.field_131.start();
  1724.       }
  1725.  
  1726.    }
  1727.  
  1728.    public void stop() {
  1729.       if (this.field_131 != null && this.field_131.isAlive()) {
  1730.          this.field_131.stop();
  1731.       }
  1732.  
  1733.       this.field_131 = null;
  1734.    }
  1735.  
  1736.    // $FF: renamed from: h () void
  1737.    void method_15() {
  1738.       this.method_19(this.field_163, this.field_167, this.field_172, this.field_140, this.field_141);
  1739.       this.method_16();
  1740.    }
  1741.  
  1742.    // $FF: renamed from: i () void
  1743.    void method_16() {
  1744.       int var19 = this.field_28 - 1;
  1745.       int var20 = this.field_27 - 1;
  1746.       int var21 = var20 << 1;
  1747.       int var22 = var21 + 1;
  1748.       int var23 = var21 + 2;
  1749.       int var24 = var21 + 3;
  1750.       int var25 = this.field_99 * this.field_34;
  1751.       int var26 = this.field_99 - this.field_33;
  1752.       int var3 = 0;
  1753.  
  1754.       for(int var2 = 0; var2 < var19; ++var2) {
  1755.          for(int var1 = 0; var1 < var20; ++var1) {
  1756.             int var4 = var2 * var25 + var1 * this.field_33;
  1757.             var3 = var2 * this.field_27 + var1 << 1;
  1758.             int var5 = this.field_133[var3++];
  1759.             int var6 = this.field_133[var3++];
  1760.             int var7 = this.field_133[var3];
  1761.             int var8 = this.field_133[var3 + 1];
  1762.             int var9 = this.field_133[var3 + var21] - var5 >> this.field_31;
  1763.             int var10 = this.field_133[var3 + var22] - var6 >> this.field_31;
  1764.             int var11 = this.field_133[var3 + var23] - var7 >> this.field_31;
  1765.             int var12 = this.field_133[var3 + var24] - var8 >> this.field_31;
  1766.  
  1767.             for(int var18 = 0; var18 < this.field_34; ++var18) {
  1768.                int var13 = var5 >> 8;
  1769.                int var14 = var6 >> 8;
  1770.                int var15 = var7 - var5 >> this.field_30;
  1771.                int var16 = var8 - var6 >> this.field_30;
  1772.  
  1773.                for(int var17 = 0; var17 < this.field_33; ++var17) {
  1774.                   this.field_22[var4++] = this.field_115[((var14 & 16711680) >> 8) + ((var13 & 16711680) >> 16)];
  1775.                   var13 += var15;
  1776.                   var14 += var16;
  1777.                }
  1778.  
  1779.                var5 += var9;
  1780.                var6 += var10;
  1781.                var7 += var11;
  1782.                var8 += var12;
  1783.                var4 += var26;
  1784.             }
  1785.          }
  1786.       }
  1787.  
  1788.    }
  1789.  
  1790.    // $FF: renamed from: j () void
  1791.    void method_17() {
  1792.       int var25 = this.field_28 - 1;
  1793.       int var26 = this.field_27 - 1;
  1794.       int var27 = var26 * 3;
  1795.       int var28 = var27 + 1;
  1796.       int var29 = var27 + 2;
  1797.       int var30 = var27 + 3;
  1798.       int var31 = var27 + 4;
  1799.       int var32 = var27 + 5;
  1800.       int var33 = this.field_99 * this.field_34;
  1801.       int var34 = this.field_99 - this.field_33;
  1802.       int var3 = 0;
  1803.  
  1804.       for(int var2 = 0; var2 < var25; ++var2) {
  1805.          for(int var1 = 0; var1 < var26; ++var1) {
  1806.             int var4 = var2 * var33 + var1 * this.field_33;
  1807.             var3 = (var2 * this.field_27 + var1) * 3;
  1808.             int var5 = this.field_133[var3++];
  1809.             int var6 = this.field_133[var3++];
  1810.             int var7 = this.field_133[var3++];
  1811.             int var8 = this.field_133[var3];
  1812.             int var9 = this.field_133[var3 + 1];
  1813.             int var10 = this.field_133[var3 + 2];
  1814.             int var11 = this.field_133[var3 + var27] - var5 >> this.field_31;
  1815.             int var12 = this.field_133[var3 + var28] - var6 >> this.field_31;
  1816.             int var13 = this.field_133[var3 + var29] - var7 >> this.field_31;
  1817.             int var14 = this.field_133[var3 + var30] - var8 >> this.field_31;
  1818.             int var15 = this.field_133[var3 + var31] - var9 >> this.field_31;
  1819.             int var16 = this.field_133[var3 + var32] - var10 >> this.field_31;
  1820.  
  1821.             for(int var24 = 0; var24 < this.field_34; ++var24) {
  1822.                int var17 = var5 >> 8;
  1823.                int var18 = var6 >> 8;
  1824.                int var19 = var7 >> 8;
  1825.                int var20 = var8 - var5 >> this.field_30;
  1826.                int var21 = var9 - var6 >> this.field_30;
  1827.                int var22 = var10 - var7 >> this.field_30;
  1828.  
  1829.                for(int var23 = 0; var23 < this.field_33; ++var23) {
  1830.                   int var35 = ((var18 & 16711680) >> 8) + ((var17 & 16711680) >> 16);
  1831.                   int var36 = (var19 & 16711680) >> 15;
  1832.                   this.field_22[var4++] = this.field_159[var35] * var36 >> 8 << 16 | this.field_158[var35] * var36 & '\uff00' | this.field_157[var35] * var36 >> 8;
  1833.                   var17 += var20;
  1834.                   var18 += var21;
  1835.                   var19 += var22;
  1836.                }
  1837.  
  1838.                var5 += var11;
  1839.                var6 += var12;
  1840.                var7 += var13;
  1841.                var8 += var14;
  1842.                var9 += var15;
  1843.                var10 += var16;
  1844.                var4 += var34;
  1845.             }
  1846.          }
  1847.       }
  1848.  
  1849.    }
  1850.  
  1851.    // $FF: renamed from: k () void
  1852.    void method_18() {
  1853.       int var25 = this.field_28 - 1;
  1854.       int var26 = this.field_27 - 1;
  1855.       int var27 = var26 * 3;
  1856.       int var28 = var27 + 1;
  1857.       int var29 = var27 + 2;
  1858.       int var30 = var27 + 3;
  1859.       int var31 = var27 + 4;
  1860.       int var32 = var27 + 5;
  1861.       int var33 = this.field_99 * this.field_34;
  1862.       int var34 = this.field_99 - this.field_33;
  1863.       int var3 = 0;
  1864.  
  1865.       for(int var2 = 0; var2 < var25; ++var2) {
  1866.          for(int var1 = 0; var1 < var26; ++var1) {
  1867.             int var4 = var2 * var33 + var1 * this.field_33;
  1868.             var3 = (var2 * this.field_27 + var1) * 3;
  1869.             int var5 = this.field_133[var3++];
  1870.             int var6 = this.field_133[var3++];
  1871.             int var7 = this.field_133[var3++];
  1872.             int var8 = this.field_133[var3];
  1873.             int var9 = this.field_133[var3 + 1];
  1874.             int var10 = this.field_133[var3 + 2];
  1875.             int var11 = this.field_133[var3 + var27] - var5 >> this.field_31;
  1876.             int var12 = this.field_133[var3 + var28] - var6 >> this.field_31;
  1877.             int var13 = this.field_133[var3 + var29] - var7 >> this.field_31;
  1878.             int var14 = this.field_133[var3 + var30] - var8 >> this.field_31;
  1879.             int var15 = this.field_133[var3 + var31] - var9 >> this.field_31;
  1880.             int var16 = this.field_133[var3 + var32] - var10 >> this.field_31;
  1881.  
  1882.             for(int var24 = 0; var24 < this.field_34; ++var24) {
  1883.                int var17 = var5 >> 8;
  1884.                int var18 = var6 >> 8;
  1885.                int var19 = var7 >> 8;
  1886.                int var20 = var8 - var5 >> this.field_30;
  1887.                int var21 = var9 - var6 >> this.field_30;
  1888.                int var22 = var10 - var7 >> this.field_30;
  1889.  
  1890.                for(int var23 = 0; var23 < this.field_33; ++var23) {
  1891.                   int var35 = ((var18 & 16711680) >> 8) + ((var17 & 16711680) >> 16);
  1892.                   int var36 = (var19 & 16711680) >> 15;
  1893.                   var36 = 255 - var36;
  1894.                   int var37 = this.field_159[var35] + var36;
  1895.                   int var38 = this.field_158[var35] + var36;
  1896.                   int var39 = this.field_158[var35] + var36;
  1897.                   if (var37 > 255) {
  1898.                      var37 = 255;
  1899.                   }
  1900.  
  1901.                   if (var38 > 255) {
  1902.                      var38 = 255;
  1903.                   }
  1904.  
  1905.                   if (var39 > 255) {
  1906.                      var39 = 255;
  1907.                   }
  1908.  
  1909.                   this.field_22[var4++] = var37 << 16 | var38 << 8 | var39;
  1910.                   var17 += var20;
  1911.                   var18 += var21;
  1912.                   var19 += var22;
  1913.                }
  1914.  
  1915.                var5 += var11;
  1916.                var6 += var12;
  1917.                var7 += var13;
  1918.                var8 += var14;
  1919.                var9 += var15;
  1920.                var10 += var16;
  1921.                var4 += var34;
  1922.             }
  1923.          }
  1924.       }
  1925.  
  1926.    }
  1927.  
  1928.    // $FF: renamed from: a (double, double, double, int, int) void
  1929.    void method_19(double var1, double var3, double var5, int var7, int var8) {
  1930.       int var11 = 0;
  1931.       this.field_142 = this.field_143;
  1932.       this.field_144 = this.field_145;
  1933.       this.field_146 = (double)1.0F;
  1934.       this.field_147 = this.field_148;
  1935.       this.field_149 = this.field_150;
  1936.       this.field_151 = (double)1.0F;
  1937.       this.field_152 = this.field_153;
  1938.       this.field_154 = this.field_155;
  1939.       this.field_156 = (double)1.0F;
  1940.       this.method_11(var1, var3, var5);
  1941.       double var12 = (this.field_147 - this.field_142) / (double)this.field_27;
  1942.       double var14 = (this.field_149 - this.field_144) / (double)this.field_27;
  1943.       double var16 = (this.field_151 - this.field_146) / (double)this.field_27;
  1944.       double var18 = (this.field_152 - this.field_142) / (double)this.field_28;
  1945.       double var20 = (this.field_154 - this.field_144) / (double)this.field_28;
  1946.       double var22 = (this.field_156 - this.field_146) / (double)this.field_28;
  1947.       if (this.field_91) {
  1948.          double var45 = Math.sqrt((double)2.0F);
  1949.  
  1950.          for(int var35 = 0; var35 < this.field_28; ++var35) {
  1951.             double var40 = this.field_142;
  1952.             double var42 = this.field_144;
  1953.             double var44 = this.field_146;
  1954.  
  1955.             for(int var33 = 0; var33 < this.field_27; ++var33) {
  1956.                this.field_133[var11++] = (int)(Math.atan2(var42, var40) / this.field_50 * (double)1.6777216E7F) + var7 << 8;
  1957.                this.field_133[var11++] = (int)(var44 * (double)this.field_134 / (var40 * var45) * (double)65536.0F) + var8 << 8;
  1958.                var40 += var12;
  1959.                var42 += var14;
  1960.                var44 += var16;
  1961.             }
  1962.  
  1963.             this.field_142 += var18;
  1964.             this.field_144 += var20;
  1965.             this.field_146 += var22;
  1966.          }
  1967.  
  1968.       } else if (this.field_10) {
  1969.          for(int var34 = 0; var34 < this.field_28; ++var34) {
  1970.             double var39 = this.field_142;
  1971.             double var41 = this.field_144;
  1972.             double var43 = this.field_146;
  1973.  
  1974.             for(int var32 = 0; var32 < this.field_27; ++var32) {
  1975.                double var30 = Math.atan2(var41, var39);
  1976.                this.field_133[var11++] = (int)(var30 / this.field_50 * (double)1.6777216E7F) + var8 << 8;
  1977.                this.field_133[var11++] = (int)(var43 * (double)this.field_134 / Math.sqrt(var39 * var39 + var41 * var41) * ((double)1.0F + Math.sin(var30 * this.field_81 + this.field_8) * this.field_11) * (double)65536.0F) + var8 << 8;
  1978.                var39 += var12;
  1979.                var41 += var14;
  1980.                var43 += var16;
  1981.             }
  1982.  
  1983.             this.field_142 += var18;
  1984.             this.field_144 += var20;
  1985.             this.field_146 += var22;
  1986.          }
  1987.  
  1988.       } else {
  1989.          for(int var10 = 0; var10 < this.field_28; ++var10) {
  1990.             double var24 = this.field_142;
  1991.             double var26 = this.field_144;
  1992.             double var28 = this.field_146;
  1993.  
  1994.             for(int var9 = 0; var9 < this.field_27; ++var9) {
  1995.                this.field_133[var11++] = (int)(Math.atan2(var26, var24) / this.field_50 * (double)1.6777216E7F) + var7 << 8;
  1996.                this.field_133[var11++] = (int)(var28 * ((double)this.field_134 / Math.sqrt(var24 * var24 + var26 * var26)) * (double)65536.0F) + var8 << 8;
  1997.                var24 += var12;
  1998.                var26 += var14;
  1999.                var28 += var16;
  2000.             }
  2001.  
  2002.             this.field_142 += var18;
  2003.             this.field_144 += var20;
  2004.             this.field_146 += var22;
  2005.          }
  2006.  
  2007.       }
  2008.    }
  2009.  
  2010.    // $FF: renamed from: b (double, double, double, int, int) void
  2011.    void method_20(double var1, double var3, double var5, int var7, int var8) {
  2012.       int var11 = 0;
  2013.       this.field_142 = this.field_143;
  2014.       this.field_144 = this.field_145;
  2015.       this.field_146 = (double)1.0F;
  2016.       this.field_147 = this.field_148;
  2017.       this.field_149 = this.field_150;
  2018.       this.field_151 = (double)1.0F;
  2019.       this.field_152 = this.field_153;
  2020.       this.field_154 = this.field_155;
  2021.       this.field_156 = (double)1.0F;
  2022.       this.method_11(var1, var3, var5);
  2023.       double var12 = (this.field_147 - this.field_142) / (double)this.field_27;
  2024.       double var14 = (this.field_149 - this.field_144) / (double)this.field_27;
  2025.       double var16 = (this.field_151 - this.field_146) / (double)this.field_27;
  2026.       double var18 = (this.field_152 - this.field_142) / (double)this.field_28;
  2027.       double var20 = (this.field_154 - this.field_144) / (double)this.field_28;
  2028.       double var22 = (this.field_156 - this.field_146) / (double)this.field_28;
  2029.       if (this.field_91) {
  2030.          double var54 = Math.sqrt((double)2.0F);
  2031.  
  2032.          for(int var36 = 0; var36 < this.field_28; ++var36) {
  2033.             double var44 = this.field_142;
  2034.             double var46 = this.field_144;
  2035.             double var48 = this.field_146;
  2036.  
  2037.             for(int var34 = 0; var34 < this.field_27; ++var34) {
  2038.                int var52 = (int)(var48 * (double)this.field_134 / (var44 * var54) * (double)65536.0F);
  2039.                this.field_133[var11++] = (int)(Math.atan2(var46, var44) / this.field_50 * (double)1.6777216E7F) + var7 << 8;
  2040.                this.field_133[var11++] = var52 + var8 << 8;
  2041.                var52 = this.field_45 - Math.abs((int)((float)var52 / this.field_43));
  2042.                if (var52 < this.field_46) {
  2043.                   var52 = this.field_46;
  2044.                }
  2045.  
  2046.                this.field_133[var11++] = var52 << 8;
  2047.                var44 += var12;
  2048.                var46 += var14;
  2049.                var48 += var16;
  2050.             }
  2051.  
  2052.             this.field_142 += var18;
  2053.             this.field_144 += var20;
  2054.             this.field_146 += var22;
  2055.          }
  2056.  
  2057.       } else if (this.field_10) {
  2058.          for(int var35 = 0; var35 < this.field_28; ++var35) {
  2059.             double var43 = this.field_142;
  2060.             double var45 = this.field_144;
  2061.             double var47 = this.field_146;
  2062.  
  2063.             for(int var33 = 0; var33 < this.field_27; ++var33) {
  2064.                double var31 = Math.atan2(var45, var43);
  2065.                int var50 = (int)(var47 * (double)this.field_134 / Math.sqrt(var43 * var43 + var45 * var45) * ((double)1.0F + Math.sin(var31 * this.field_81 + this.field_8) * this.field_11) * (double)65536.0F);
  2066.                this.field_133[var11++] = (int)(var31 / this.field_50 * (double)1.6777216E7F) + var8 << 8;
  2067.                this.field_133[var11++] = var50 + var8 << 8;
  2068.                var50 = this.field_45 - Math.abs((int)((float)var50 / this.field_43));
  2069.                if (var50 < this.field_46) {
  2070.                   var50 = this.field_46;
  2071.                }
  2072.  
  2073.                this.field_133[var11++] = var50 << 8;
  2074.                var43 += var12;
  2075.                var45 += var14;
  2076.                var47 += var16;
  2077.             }
  2078.  
  2079.             this.field_142 += var18;
  2080.             this.field_144 += var20;
  2081.             this.field_146 += var22;
  2082.          }
  2083.  
  2084.       } else {
  2085.          for(int var10 = 0; var10 < this.field_28; ++var10) {
  2086.             double var24 = this.field_142;
  2087.             double var26 = this.field_144;
  2088.             double var28 = this.field_146;
  2089.  
  2090.             for(int var9 = 0; var9 < this.field_27; ++var9) {
  2091.                int var30 = (int)(var28 * (double)this.field_134 / Math.sqrt(var24 * var24 + var26 * var26) * (double)65536.0F);
  2092.                this.field_133[var11++] = (int)(Math.atan2(var26, var24) / this.field_50 * (double)1.6777216E7F) + var7 << 8;
  2093.                this.field_133[var11++] = var30 + var8 << 8;
  2094.                var30 = this.field_45 - Math.abs((int)((float)var30 / this.field_43));
  2095.                if (var30 < this.field_46) {
  2096.                   var30 = this.field_46;
  2097.                }
  2098.  
  2099.                this.field_133[var11++] = var30 << 8;
  2100.                var24 += var12;
  2101.                var26 += var14;
  2102.                var28 += var16;
  2103.             }
  2104.  
  2105.             this.field_142 += var18;
  2106.             this.field_144 += var20;
  2107.             this.field_146 += var22;
  2108.          }
  2109.  
  2110.       }
  2111.    }
  2112.  
  2113.    // $FF: renamed from: l () void
  2114.    void method_21() {
  2115.       this.method_20(this.field_163, this.field_167, this.field_172, this.field_140, this.field_141);
  2116.       if (this.field_44) {
  2117.          this.method_18();
  2118.       } else {
  2119.          this.method_17();
  2120.       }
  2121.    }
  2122.  
  2123.    public final void update(Graphics var1) {
  2124.       this.paint(var1);
  2125.    }
  2126.  
  2127.    // $FF: renamed from: c (java.awt.Graphics) void
  2128.    public void method_22(Graphics var1) {
  2129.       var1.setFont(this.field_24);
  2130.       this.field_78 += this.field_137;
  2131.       if (this.field_78 > this.field_139 + this.field_47.length * this.field_25) {
  2132.          this.field_78 = -this.field_25;
  2133.       }
  2134.  
  2135.       if (this.field_127) {
  2136.          for(int var6 = 0; var6 < this.field_47.length; ++var6) {
  2137.             String var5 = this.field_47[var6];
  2138.             int var3 = this.field_160[var6];
  2139.             int var4 = this.field_139 - this.field_78 + var6 * this.field_25;
  2140.             var1.setColor(this.field_106);
  2141.             var1.drawString(var5, var3 + 1, var4 + 1);
  2142.             var1.setColor(this.field_122);
  2143.             var1.drawString(var5, var3, var4);
  2144.          }
  2145.  
  2146.       } else {
  2147.          var1.setColor(this.field_122);
  2148.  
  2149.          for(int var2 = 0; var2 < this.field_47.length; ++var2) {
  2150.             var1.drawString(this.field_47[var2], this.field_160[var2], this.field_139 - this.field_78 + var2 * this.field_25);
  2151.          }
  2152.  
  2153.       }
  2154.    }
  2155.  
  2156.    // $FF: renamed from: m () void
  2157.    public synchronized void method_23() {
  2158.       Thread.yield();
  2159.       this.field_130.sync();
  2160.       long var1 = 10L - (System.currentTimeMillis() - this.field_19);
  2161.       if (var1 > 0L) {
  2162.          try {
  2163.             Thread.sleep(var1);
  2164.          } catch (InterruptedException var5) {
  2165.          }
  2166.       } else {
  2167.          try {
  2168.             Thread.sleep(1L);
  2169.          } catch (InterruptedException var4) {
  2170.          }
  2171.       }
  2172.  
  2173.       this.field_19 = System.currentTimeMillis();
  2174.  
  2175.       try {
  2176.          Thread.sleep((long)this.field_52);
  2177.       } catch (InterruptedException var3) {
  2178.       }
  2179.    }
  2180.  
  2181.    // $FF: renamed from: d (java.awt.Graphics) void
  2182.    public void method_24(Graphics var1) {
  2183.       String var2 = this.field_47[this.field_173];
  2184.       var1.setFont(this.field_175[this.field_174]);
  2185.       FontMetrics var3 = var1.getFontMetrics(this.field_175[this.field_174]);
  2186.       int var4 = (int)(this.field_37 - (float)var3.stringWidth(var2) / 2.0F);
  2187.       int var5 = (int)(this.field_36 + (float)var3.getHeight() / 4.0F);
  2188.       if (this.field_127) {
  2189.          var1.setColor(this.field_106);
  2190.          var1.drawString(var2, var4 + 1, var5 + 1);
  2191.       }
  2192.  
  2193.       var1.setColor(this.field_122);
  2194.       var1.drawString(var2, var4, var5);
  2195.       if (this.field_104 == 3) {
  2196.          this.field_174 -= this.field_137;
  2197.          if (this.field_174 <= 1) {
  2198.             this.field_174 = this.field_82 - 1;
  2199.             ++this.field_173;
  2200.             if (this.field_173 >= this.field_47.length) {
  2201.                this.field_173 = 0;
  2202.                return;
  2203.             }
  2204.          }
  2205.       } else {
  2206.          this.field_174 += this.field_137;
  2207.          if (this.field_174 >= this.field_82) {
  2208.             this.field_174 = 0;
  2209.             ++this.field_173;
  2210.             if (this.field_173 >= this.field_47.length) {
  2211.                this.field_173 = 0;
  2212.             }
  2213.          }
  2214.       }
  2215.  
  2216.    }
  2217.  
  2218.    // $FF: renamed from: c (java.lang.String) java.lang.String
  2219.    private static String method_25(String var0) {
  2220.       char[] var1 = var0.toCharArray();
  2221.       int var2 = var1.length;
  2222.       int var3 = 0;
  2223.  
  2224.       label32:
  2225.       while(true) {
  2226.          int var4 = 0;
  2227.          byte var10000 = 30;
  2228.          char[] var10001 = var1;
  2229.          int var10002 = var3;
  2230.  
  2231.          label30:
  2232.          while(true) {
  2233.             var10001[var10002] ^= var10000;
  2234.  
  2235.             while(true) {
  2236.                ++var3;
  2237.                ++var4;
  2238.                if (var2 == var3) {
  2239.                   return new String(var1);
  2240.                }
  2241.  
  2242.                switch (var4) {
  2243.                   case 1:
  2244.                      var10000 = 13;
  2245.                      var10001 = var1;
  2246.                      var10002 = var3;
  2247.                      continue label30;
  2248.                   case 2:
  2249.                      var10000 = 123;
  2250.                      var10001 = var1;
  2251.                      var10002 = var3;
  2252.                      continue label30;
  2253.                   case 3:
  2254.                      var10000 = 60;
  2255.                      var10001 = var1;
  2256.                      var10002 = var3;
  2257.                      continue label30;
  2258.                   case 4:
  2259.                      var10000 = 84;
  2260.                      var10001 = var1;
  2261.                      var10002 = var3;
  2262.                      continue label30;
  2263.                   case 5:
  2264.                      continue label32;
  2265.                }
  2266.             }
  2267.          }
  2268.       }
  2269.    }
  2270. }
  2271.