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