home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / AnfyJava14 / data1.cab / Program_Files / Applet / anfypaint / anfypaintc.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-19  |  12.4 KB  |  906 lines

  1. import java.awt.Frame;
  2. import java.awt.Image;
  3. import java.awt.MediaTracker;
  4. import java.io.BufferedOutputStream;
  5. import java.io.IOException;
  6. import java.io.OutputStream;
  7. import java.util.Vector;
  8.  
  9. class anfypaintc extends Frame {
  10.    // $FF: renamed from: a java.lang.Object[]
  11.    public Object[] field_0;
  12.    // $FF: renamed from: b int[][]
  13.    public int[][] field_1;
  14.    // $FF: renamed from: c int[][]
  15.    public int[][] field_2;
  16.    // $FF: renamed from: d java.util.Vector
  17.    public Vector field_3;
  18.    // $FF: renamed from: e int[]
  19.    public int[] field_4;
  20.    // $FF: renamed from: f int[]
  21.    public int[] field_5;
  22.    // $FF: renamed from: g int[]
  23.    public int[] field_6;
  24.    // $FF: renamed from: h int[]
  25.    public int[] field_7;
  26.    // $FF: renamed from: i int
  27.    int field_8;
  28.    // $FF: renamed from: j int
  29.    int field_9;
  30.    // $FF: renamed from: k int
  31.    int field_10;
  32.    // $FF: renamed from: l java.lang.Object[]
  33.    public Object[] field_11;
  34.    // $FF: renamed from: m int[][]
  35.    public int[][] field_12;
  36.    // $FF: renamed from: n int[][]
  37.    public int[][] field_13;
  38.    // $FF: renamed from: o java.lang.Object[]
  39.    public Object[] field_14 = new Object[2];
  40.    // $FF: renamed from: p double[]
  41.    public double[] field_15;
  42.    // $FF: renamed from: q double[]
  43.    public double[] field_16;
  44.    // $FF: renamed from: r java.awt.Image
  45.    Image field_17;
  46.    // $FF: renamed from: s int
  47.    int field_18;
  48.    // $FF: renamed from: t int
  49.    public int field_19;
  50.    // $FF: renamed from: u int
  51.    int field_20;
  52.    // $FF: renamed from: v int
  53.    public int field_21;
  54.    // $FF: renamed from: w int[]
  55.    public static int[] field_22 = new int[]{0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63};
  56.    // $FF: renamed from: x anfypaintd
  57.    anfypaintd field_23;
  58.    // $FF: renamed from: y int
  59.    public int field_24 = 8;
  60.    // $FF: renamed from: z int
  61.    public int field_25;
  62.    // $FF: renamed from: A int
  63.    public int field_26;
  64.    // $FF: renamed from: B java.io.BufferedOutputStream
  65.    BufferedOutputStream field_27;
  66.    // $FF: renamed from: C int
  67.    int field_28;
  68.    // $FF: renamed from: D int
  69.    public int field_29 = 80;
  70.    // $FF: renamed from: E java.lang.Object[]
  71.    public Object[] field_30 = new Object[2];
  72.    // $FF: renamed from: F int[]
  73.    public int[] field_31;
  74.    // $FF: renamed from: G int[]
  75.    public int[] field_32;
  76.    // $FF: renamed from: H java.lang.Thread
  77.    Thread field_33;
  78.    // $FF: renamed from: I java.util.Vector
  79.    public Vector field_34;
  80.    // $FF: renamed from: J int[]
  81.    public int[] field_35;
  82.    // $FF: renamed from: K int[]
  83.    public int[] field_36;
  84.    // $FF: renamed from: L int[]
  85.    public int[] field_37;
  86.    // $FF: renamed from: M int[]
  87.    public int[] field_38;
  88.  
  89.    public anfypaintc(Image var1, int var2, OutputStream var3) {
  90.       this.field_32 = new int[this.field_24 * this.field_24];
  91.       this.field_16 = new double[this.field_24 * this.field_24];
  92.       this.field_31 = new int[this.field_24 * this.field_24];
  93.       this.field_15 = new double[this.field_24 * this.field_24];
  94.       this.field_7 = new int[]{0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0};
  95.       this.field_38 = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
  96.       this.field_6 = new int[]{1, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0};
  97.       this.field_37 = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
  98.       this.field_5 = new int[]{16, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125};
  99.       this.field_36 = new int[]{1, 2, 3, 0, 4, 17, 5, 18, 33, 49, 65, 6, 19, 81, 97, 7, 34, 113, 20, 50, 129, 145, 161, 8, 35, 66, 177, 193, 21, 82, 209, 240, 36, 51, 98, 114, 130, 9, 10, 22, 23, 24, 25, 26, 37, 38, 39, 40, 41, 42, 52, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250};
  100.       this.field_4 = new int[]{17, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119};
  101.       this.field_35 = new int[]{0, 1, 2, 3, 17, 4, 5, 33, 49, 6, 18, 65, 81, 7, 97, 113, 19, 34, 50, 129, 8, 20, 66, 145, 161, 177, 193, 9, 35, 51, 82, 240, 21, 98, 114, 209, 10, 22, 36, 52, 225, 37, 241, 23, 24, 25, 26, 38, 39, 40, 41, 42, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 130, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 226, 227, 228, 229, 230, 231, 232, 233, 234, 242, 243, 244, 245, 246, 247, 248, 249, 250};
  102.       MediaTracker var4 = new MediaTracker(this);
  103.       var4.addImage(var1, 0);
  104.  
  105.       try {
  106.          var4.waitForID(0);
  107.       } catch (InterruptedException var5) {
  108.       }
  109.  
  110.       this.field_28 = var2;
  111.       this.field_23 = new anfypaintd(var1);
  112.       this.field_18 = this.field_23.m;
  113.       this.field_20 = this.field_23.o;
  114.       this.field_27 = new BufferedOutputStream(var3);
  115.       this.method_2(this.field_28);
  116.       this.method_7(this.field_20, this.field_18);
  117.    }
  118.  
  119.    // $FF: renamed from: a (java.io.BufferedOutputStream, int, int) void
  120.    void method_0(BufferedOutputStream var1, int var2, int var3) {
  121.       int var5 = this.field_8;
  122.       int var4 = var2 & (1 << var3) - 1;
  123.       var5 += var3;
  124.       var4 <<= 24 - var5;
  125.  
  126.       for(var4 |= this.field_9; var5 >= 8; var5 -= 8) {
  127.          int var6 = var4 >> 16 & 255;
  128.  
  129.          try {
  130.             var1.write(var6);
  131.          } catch (IOException var8) {
  132.          }
  133.  
  134.          if (var6 == 255) {
  135.             try {
  136.                var1.write(0);
  137.             } catch (IOException var7) {
  138.             }
  139.          }
  140.  
  141.          var4 <<= 8;
  142.       }
  143.  
  144.       this.field_9 = var4;
  145.       this.field_8 = var5;
  146.    }
  147.  
  148.    // $FF: renamed from: a () void
  149.    public void method_1() {
  150.       this.method_17(this.field_27);
  151.       this.method_15(this.field_27);
  152.       this.method_16(this.field_27);
  153.  
  154.       try {
  155.          this.field_27.flush();
  156.       } catch (IOException var1) {
  157.       }
  158.    }
  159.  
  160.    // $FF: renamed from: a (int) void
  161.    public void method_2(int var1) {
  162.       this.method_10(var1);
  163.    }
  164.  
  165.    // $FF: renamed from: a (float[][]) double[][]
  166.    public double[][] method_3(float[][] var1) {
  167.       double[][] var2 = new double[this.field_24][this.field_24];
  168.  
  169.       for(int var41 = 0; var41 < 8; ++var41) {
  170.          for(int var42 = 0; var42 < 8; ++var42) {
  171.             var2[var41][var42] = (double)var1[var41][var42] - (double)128.0F;
  172.          }
  173.       }
  174.  
  175.       for(int var68 = 0; var68 < 8; ++var68) {
  176.          double var3 = var2[var68][0] + var2[var68][7];
  177.          double var17 = var2[var68][0] - var2[var68][7];
  178.          double var5 = var2[var68][1] + var2[var68][6];
  179.          double var15 = var2[var68][1] - var2[var68][6];
  180.          double var7 = var2[var68][2] + var2[var68][5];
  181.          double var13 = var2[var68][2] - var2[var68][5];
  182.          double var9 = var2[var68][3] + var2[var68][4];
  183.          double var11 = var2[var68][3] - var2[var68][4];
  184.          double var19 = var3 + var9;
  185.          double var25 = var3 - var9;
  186.          double var21 = var5 + var7;
  187.          double var23 = var5 - var7;
  188.          var2[var68][0] = var19 + var21;
  189.          var2[var68][4] = var19 - var21;
  190.          double var27 = (var23 + var25) * 0.707106781;
  191.          var2[var68][2] = var25 + var27;
  192.          var2[var68][6] = var25 - var27;
  193.          var19 = var11 + var13;
  194.          var21 = var13 + var15;
  195.          var23 = var15 + var17;
  196.          double var35 = (var19 - var23) * 0.382683433;
  197.          double var29 = 0.5411961 * var19 + var35;
  198.          double var33 = 1.306562965 * var23 + var35;
  199.          double var31 = var21 * 0.707106781;
  200.          double var37 = var17 + var31;
  201.          double var39 = var17 - var31;
  202.          var2[var68][5] = var39 + var29;
  203.          var2[var68][3] = var39 - var29;
  204.          var2[var68][1] = var37 + var33;
  205.          var2[var68][7] = var37 - var33;
  206.       }
  207.  
  208.       for(int var69 = 0; var69 < 8; ++var69) {
  209.          double var43 = var2[0][var69] + var2[7][var69];
  210.          double var50 = var2[0][var69] - var2[7][var69];
  211.          double var44 = var2[1][var69] + var2[6][var69];
  212.          double var49 = var2[1][var69] - var2[6][var69];
  213.          double var45 = var2[2][var69] + var2[5][var69];
  214.          double var48 = var2[2][var69] - var2[5][var69];
  215.          double var46 = var2[3][var69] + var2[4][var69];
  216.          double var47 = var2[3][var69] - var2[4][var69];
  217.          double var52 = var43 + var46;
  218.          double var60 = var43 - var46;
  219.          double var55 = var44 + var45;
  220.          double var58 = var44 - var45;
  221.          var2[0][var69] = var52 + var55;
  222.          var2[4][var69] = var52 - var55;
  223.          double var61 = (var58 + var60) * 0.707106781;
  224.          var2[2][var69] = var60 + var61;
  225.          var2[6][var69] = var60 - var61;
  226.          var52 = var47 + var48;
  227.          var55 = var48 + var49;
  228.          var58 = var49 + var50;
  229.          double var65 = (var52 - var58) * 0.382683433;
  230.          double var62 = 0.5411961 * var52 + var65;
  231.          double var64 = 1.306562965 * var58 + var65;
  232.          double var63 = var55 * 0.707106781;
  233.          double var66 = var50 + var63;
  234.          double var67 = var50 - var63;
  235.          var2[5][var69] = var67 + var62;
  236.          var2[3][var69] = var67 - var62;
  237.          var2[1][var69] = var66 + var64;
  238.          var2[7][var69] = var66 - var64;
  239.       }
  240.  
  241.       return var2;
  242.    }
  243.  
  244.    // $FF: renamed from: b (float[][]) double[][]
  245.    public double[][] method_4(float[][] var1) {
  246.       double[][] var2 = new double[this.field_24][this.field_24];
  247.  
  248.       for(int var3 = 0; var3 < 8; ++var3) {
  249.          for(int var4 = 0; var4 < 8; ++var4) {
  250.             for(int var5 = 0; var5 < 8; ++var5) {
  251.                for(int var6 = 0; var6 < 8; ++var6) {
  252.                   var2[var3][var4] += (double)var1[var5][var6] * Math.cos((double)(2 * var5 + 1) * (double)var4 * Math.PI / (double)16.0F) * Math.cos((double)(2 * var6 + 1) * (double)var3 * Math.PI / (double)16.0F);
  253.                }
  254.             }
  255.  
  256.             var2[var3][var4] *= (double)0.25F * (var4 == 0 ? (double)1.0F / Math.sqrt((double)2.0F) : (double)1.0F) * (var3 == 0 ? (double)1.0F / Math.sqrt((double)2.0F) : (double)1.0F);
  257.          }
  258.       }
  259.  
  260.       return var2;
  261.    }
  262.  
  263.    // $FF: renamed from: b () int
  264.    public int method_5() {
  265.       return this.field_28;
  266.    }
  267.  
  268.    // $FF: renamed from: a (java.io.BufferedOutputStream) void
  269.    void method_6(BufferedOutputStream var1) {
  270.       int var2 = this.field_9;
  271.  
  272.       int var3;
  273.       for(var3 = this.field_8; var3 >= 8; var3 -= 8) {
  274.          int var4 = var2 >> 16 & 255;
  275.  
  276.          try {
  277.             var1.write(var4);
  278.          } catch (IOException var7) {
  279.          }
  280.  
  281.          if (var4 == 255) {
  282.             try {
  283.                var1.write(0);
  284.             } catch (IOException var6) {
  285.             }
  286.          }
  287.  
  288.          var2 <<= 8;
  289.       }
  290.  
  291.       if (var3 > 0) {
  292.          int var8 = var2 >> 16 & 255;
  293.  
  294.          try {
  295.             var1.write(var8);
  296.          } catch (IOException var5) {
  297.          }
  298.       }
  299.    }
  300.  
  301.    // $FF: renamed from: a (int, int) void
  302.    public void method_7(int var1, int var2) {
  303.       this.field_3 = new Vector();
  304.       this.field_3.addElement(this.field_7);
  305.       this.field_3.addElement(this.field_5);
  306.       this.field_3.addElement(this.field_6);
  307.       this.field_3.addElement(this.field_4);
  308.       this.field_34 = new Vector();
  309.       this.field_34.addElement(this.field_38);
  310.       this.field_34.addElement(this.field_36);
  311.       this.field_34.addElement(this.field_37);
  312.       this.field_34.addElement(this.field_35);
  313.       this.method_9();
  314.       this.field_21 = var1;
  315.       this.field_19 = var2;
  316.    }
  317.  
  318.    // $FF: renamed from: a (java.io.BufferedOutputStream, int[], int, int, int) void
  319.    public void method_8(BufferedOutputStream var1, int[] var2, int var3, int var4, int var5) {
  320.       this.field_26 = 2;
  321.       this.field_25 = 2;
  322.       int var7;
  323.       int var6 = var7 = var2[0] - var3;
  324.       if (var6 < 0) {
  325.          var6 = -var6;
  326.          --var7;
  327.       }
  328.  
  329.       int var8;
  330.       for(var8 = 0; var6 != 0; var6 >>= 1) {
  331.          ++var8;
  332.       }
  333.  
  334.       this.method_0(var1, ((int[][])this.field_11[var4])[var8][0], ((int[][])this.field_11[var4])[var8][1]);
  335.       if (var8 != 0) {
  336.          this.method_0(var1, var7, var8);
  337.       }
  338.  
  339.       int var10 = 0;
  340.  
  341.       for(int var9 = 1; var9 < 64; ++var9) {
  342.          if ((var6 = var2[field_22[var9]]) == 0) {
  343.             ++var10;
  344.          } else {
  345.             while(var10 > 15) {
  346.                this.method_0(var1, ((int[][])this.field_0[var5])[240][0], ((int[][])this.field_0[var5])[240][1]);
  347.                var10 -= 16;
  348.             }
  349.  
  350.             var7 = var6;
  351.             if (var6 < 0) {
  352.                var6 = -var6;
  353.                --var7;
  354.             }
  355.  
  356.             for(var8 = 1; (var6 >>= 1) != 0; ++var8) {
  357.             }
  358.  
  359.             int var11 = (var10 << 4) + var8;
  360.             this.method_0(var1, ((int[][])this.field_0[var5])[var11][0], ((int[][])this.field_0[var5])[var11][1]);
  361.             this.method_0(var1, var7, var8);
  362.             var10 = 0;
  363.          }
  364.       }
  365.  
  366.       if (var10 > 0) {
  367.          this.method_0(var1, ((int[][])this.field_0[var5])[0][0], ((int[][])this.field_0[var5])[0][1]);
  368.       }
  369.  
  370.    }
  371.  
  372.    // $FF: renamed from: c () void
  373.    public void method_9() {
  374.       this.field_12 = new int[12][2];
  375.       this.field_13 = new int[12][2];
  376.       this.field_1 = new int[255][2];
  377.       this.field_2 = new int[255][2];
  378.       this.field_11 = new Object[2];
  379.       this.field_0 = new Object[2];
  380.       int[] var7 = new int[257];
  381.       int[] var8 = new int[257];
  382.       int var1 = 0;
  383.  
  384.       for(int var2 = 1; var2 <= 16; ++var2) {
  385.          for(int var3 = 1; var3 <= this.field_6[var2]; ++var3) {
  386.             var7[var1++] = var2;
  387.          }
  388.       }
  389.  
  390.       var7[var1] = 0;
  391.       int var4 = var1;
  392.       int var6 = 0;
  393.       int var5 = var7[0];
  394.  
  395.       for(int var10 = 0; var7[var10] != 0; ++var5) {
  396.          while(var7[var10] == var5) {
  397.             var8[var10++] = var6++;
  398.          }
  399.  
  400.          var6 <<= 1;
  401.       }
  402.  
  403.       for(int var11 = 0; var11 < var4; ++var11) {
  404.          this.field_13[this.field_37[var11]][0] = var8[var11];
  405.          this.field_13[this.field_37[var11]][1] = var7[var11];
  406.       }
  407.  
  408.       var1 = 0;
  409.  
  410.       for(int var20 = 1; var20 <= 16; ++var20) {
  411.          for(int var23 = 1; var23 <= this.field_4[var20]; ++var23) {
  412.             var7[var1++] = var20;
  413.          }
  414.       }
  415.  
  416.       var7[var1] = 0;
  417.       var4 = var1;
  418.       var6 = 0;
  419.       var5 = var7[0];
  420.  
  421.       for(int var13 = 0; var7[var13] != 0; ++var5) {
  422.          while(var7[var13] == var5) {
  423.             var8[var13++] = var6++;
  424.          }
  425.  
  426.          var6 <<= 1;
  427.       }
  428.  
  429.       for(int var14 = 0; var14 < var4; ++var14) {
  430.          this.field_2[this.field_35[var14]][0] = var8[var14];
  431.          this.field_2[this.field_35[var14]][1] = var7[var14];
  432.       }
  433.  
  434.       var1 = 0;
  435.  
  436.       for(int var21 = 1; var21 <= 16; ++var21) {
  437.          for(int var24 = 1; var24 <= this.field_7[var21]; ++var24) {
  438.             var7[var1++] = var21;
  439.          }
  440.       }
  441.  
  442.       var7[var1] = 0;
  443.       var4 = var1;
  444.       var6 = 0;
  445.       var5 = var7[0];
  446.  
  447.       for(int var16 = 0; var7[var16] != 0; ++var5) {
  448.          while(var7[var16] == var5) {
  449.             var8[var16++] = var6++;
  450.          }
  451.  
  452.          var6 <<= 1;
  453.       }
  454.  
  455.       for(int var17 = 0; var17 < var4; ++var17) {
  456.          this.field_12[this.field_38[var17]][0] = var8[var17];
  457.          this.field_12[this.field_38[var17]][1] = var7[var17];
  458.       }
  459.  
  460.       var1 = 0;
  461.  
  462.       for(int var22 = 1; var22 <= 16; ++var22) {
  463.          for(int var25 = 1; var25 <= this.field_5[var22]; ++var25) {
  464.             var7[var1++] = var22;
  465.          }
  466.       }
  467.  
  468.       var7[var1] = 0;
  469.       var4 = var1;
  470.       var6 = 0;
  471.       var5 = var7[0];
  472.  
  473.       for(int var19 = 0; var7[var19] != 0; ++var5) {
  474.          while(var7[var19] == var5) {
  475.             var8[var19++] = var6++;
  476.          }
  477.  
  478.          var6 <<= 1;
  479.       }
  480.  
  481.       for(int var9 = 0; var9 < var4; ++var9) {
  482.          this.field_1[this.field_36[var9]][0] = var8[var9];
  483.          this.field_1[this.field_36[var9]][1] = var7[var9];
  484.       }
  485.  
  486.       this.field_11[0] = this.field_12;
  487.       this.field_11[1] = this.field_13;
  488.       this.field_0[0] = this.field_1;
  489.       this.field_0[1] = this.field_2;
  490.    }
  491.  
  492.    // $FF: renamed from: b (int) void
  493.    private void method_10(int var1) {
  494.       double[] var2 = new double[]{(double)1.0F, 1.387039845, 1.306562965, 1.175875602, (double)1.0F, 0.785694958, 0.5411961, 0.275899379};
  495.       int var6 = var1;
  496.       if (var1 <= 0) {
  497.          var6 = 1;
  498.       }
  499.  
  500.       if (var6 > 100) {
  501.          var6 = 100;
  502.       }
  503.  
  504.       if (var6 < 50) {
  505.          var6 = 5000 / var6;
  506.       } else {
  507.          var6 = 200 - var6 * 2;
  508.       }
  509.  
  510.       this.field_32[0] = 16;
  511.       this.field_32[1] = 11;
  512.       this.field_32[2] = 10;
  513.       this.field_32[3] = 16;
  514.       this.field_32[4] = 24;
  515.       this.field_32[5] = 40;
  516.       this.field_32[6] = 51;
  517.       this.field_32[7] = 61;
  518.       this.field_32[8] = 12;
  519.       this.field_32[9] = 12;
  520.       this.field_32[10] = 14;
  521.       this.field_32[11] = 19;
  522.       this.field_32[12] = 26;
  523.       this.field_32[13] = 58;
  524.       this.field_32[14] = 60;
  525.       this.field_32[15] = 55;
  526.       this.field_32[16] = 14;
  527.       this.field_32[17] = 13;
  528.       this.field_32[18] = 16;
  529.       this.field_32[19] = 24;
  530.       this.field_32[20] = 40;
  531.       this.field_32[21] = 57;
  532.       this.field_32[22] = 69;
  533.       this.field_32[23] = 56;
  534.       this.field_32[24] = 14;
  535.       this.field_32[25] = 17;
  536.       this.field_32[26] = 22;
  537.       this.field_32[27] = 29;
  538.       this.field_32[28] = 51;
  539.       this.field_32[29] = 87;
  540.       this.field_32[30] = 80;
  541.       this.field_32[31] = 62;
  542.       this.field_32[32] = 18;
  543.       this.field_32[33] = 22;
  544.       this.field_32[34] = 37;
  545.       this.field_32[35] = 56;
  546.       this.field_32[36] = 68;
  547.       this.field_32[37] = 109;
  548.       this.field_32[38] = 103;
  549.       this.field_32[39] = 77;
  550.       this.field_32[40] = 24;
  551.       this.field_32[41] = 35;
  552.       this.field_32[42] = 55;
  553.       this.field_32[43] = 64;
  554.       this.field_32[44] = 81;
  555.       this.field_32[45] = 104;
  556.       this.field_32[46] = 113;
  557.       this.field_32[47] = 92;
  558.       this.field_32[48] = 49;
  559.       this.field_32[49] = 64;
  560.       this.field_32[50] = 78;
  561.       this.field_32[51] = 87;
  562.       this.field_32[52] = 103;
  563.       this.field_32[53] = 121;
  564.       this.field_32[54] = 120;
  565.       this.field_32[55] = 101;
  566.       this.field_32[56] = 72;
  567.       this.field_32[57] = 92;
  568.       this.field_32[58] = 95;
  569.       this.field_32[59] = 98;
  570.       this.field_32[60] = 112;
  571.       this.field_32[61] = 100;
  572.       this.field_32[62] = 103;
  573.       this.field_32[63] = 99;
  574.  
  575.       for(int var4 = 0; var4 < 64; ++var4) {
  576.          int var7 = (this.field_32[var4] * var6 + 50) / 100;
  577.          if (var7 <= 0) {
  578.             var7 = 1;
  579.          }
  580.  
  581.          if (var7 > 255) {
  582.             var7 = 255;
  583.          }
  584.  
  585.          this.field_32[var4] = var7;
  586.       }
  587.  
  588.       int var5 = 0;
  589.  
  590.       for(int var3 = 0; var3 < 8; ++var3) {
  591.          for(int var9 = 0; var9 < 8; ++var9) {
  592.             this.field_16[var5] = (double)1.0F / ((double)this.field_32[var5] * var2[var3] * var2[var9] * (double)8.0F);
  593.             ++var5;
  594.          }
  595.       }
  596.  
  597.       this.field_31[0] = 17;
  598.       this.field_31[1] = 18;
  599.       this.field_31[2] = 24;
  600.       this.field_31[3] = 47;
  601.       this.field_31[4] = 99;
  602.       this.field_31[5] = 99;
  603.       this.field_31[6] = 99;
  604.       this.field_31[7] = 99;
  605.       this.field_31[8] = 18;
  606.       this.field_31[9] = 21;
  607.       this.field_31[10] = 26;
  608.       this.field_31[11] = 66;
  609.       this.field_31[12] = 99;
  610.       this.field_31[13] = 99;
  611.       this.field_31[14] = 99;
  612.       this.field_31[15] = 99;
  613.       this.field_31[16] = 24;
  614.       this.field_31[17] = 26;
  615.       this.field_31[18] = 56;
  616.       this.field_31[19] = 99;
  617.       this.field_31[20] = 99;
  618.       this.field_31[21] = 99;
  619.       this.field_31[22] = 99;
  620.       this.field_31[23] = 99;
  621.       this.field_31[24] = 47;
  622.       this.field_31[25] = 66;
  623.       this.field_31[26] = 99;
  624.       this.field_31[27] = 99;
  625.       this.field_31[28] = 99;
  626.       this.field_31[29] = 99;
  627.       this.field_31[30] = 99;
  628.       this.field_31[31] = 99;
  629.       this.field_31[32] = 99;
  630.       this.field_31[33] = 99;
  631.       this.field_31[34] = 99;
  632.       this.field_31[35] = 99;
  633.       this.field_31[36] = 99;
  634.       this.field_31[37] = 99;
  635.       this.field_31[38] = 99;
  636.       this.field_31[39] = 99;
  637.       this.field_31[40] = 99;
  638.       this.field_31[41] = 99;
  639.       this.field_31[42] = 99;
  640.       this.field_31[43] = 99;
  641.       this.field_31[44] = 99;
  642.       this.field_31[45] = 99;
  643.       this.field_31[46] = 99;
  644.       this.field_31[47] = 99;
  645.       this.field_31[48] = 99;
  646.       this.field_31[49] = 99;
  647.       this.field_31[50] = 99;
  648.       this.field_31[51] = 99;
  649.       this.field_31[52] = 99;
  650.       this.field_31[53] = 99;
  651.       this.field_31[54] = 99;
  652.       this.field_31[55] = 99;
  653.       this.field_31[56] = 99;
  654.       this.field_31[57] = 99;
  655.       this.field_31[58] = 99;
  656.       this.field_31[59] = 99;
  657.       this.field_31[60] = 99;
  658.       this.field_31[61] = 99;
  659.       this.field_31[62] = 99;
  660.       this.field_31[63] = 99;
  661.  
  662.       for(int var10 = 0; var10 < 64; ++var10) {
  663.          int var14 = (this.field_31[var10] * var6 + 50) / 100;
  664.          if (var14 <= 0) {
  665.             var14 = 1;
  666.          }
  667.  
  668.          if (var14 >= 255) {
  669.             var14 = 255;
  670.          }
  671.  
  672.          this.field_31[var10] = var14;
  673.       }
  674.  
  675.       var5 = 0;
  676.  
  677.       for(int var8 = 0; var8 < 8; ++var8) {
  678.          for(int var11 = 0; var11 < 8; ++var11) {
  679.             this.field_15[var5] = (double)1.0F / ((double)this.field_31[var5] * var2[var8] * var2[var11] * (double)8.0F);
  680.             ++var5;
  681.          }
  682.       }
  683.  
  684.       this.field_30[0] = this.field_32;
  685.       this.field_14[0] = this.field_16;
  686.       this.field_30[1] = this.field_31;
  687.       this.field_14[1] = this.field_15;
  688.    }
  689.  
  690.    // $FF: renamed from: a (double[][], int) int[]
  691.    public int[] method_11(double[][] var1, int var2) {
  692.       int[] var3 = new int[this.field_24 * this.field_24];
  693.       int var6 = 0;
  694.  
  695.       for(int var4 = 0; var4 < 8; ++var4) {
  696.          for(int var5 = 0; var5 < 8; ++var5) {
  697.             var3[var6] = (int)Math.round(var1[var4][var5] * ((double[])this.field_14[var2])[var6]);
  698.             ++var6;
  699.          }
  700.       }
  701.  
  702.       return var3;
  703.    }
  704.  
  705.    // $FF: renamed from: b (double[][], int) int[]
  706.    public int[] method_12(double[][] var1, int var2) {
  707.       int[] var3 = new int[this.field_24 * this.field_24];
  708.       int var6 = 0;
  709.  
  710.       for(int var4 = 0; var4 < 8; ++var4) {
  711.          for(int var5 = 0; var5 < 8; ++var5) {
  712.             var3[var6] = (int)Math.round(var1[var4][var5] / (double)((int[])this.field_30[var2])[var6]);
  713.             ++var6;
  714.          }
  715.       }
  716.  
  717.       return var3;
  718.    }
  719.  
  720.    // $FF: renamed from: c (int) void
  721.    public void method_13(int var1) {
  722.       this.method_2(var1);
  723.    }
  724.  
  725.    // $FF: renamed from: a (byte[], java.io.BufferedOutputStream) void
  726.    void method_14(byte[] var1, BufferedOutputStream var2) {
  727.       try {
  728.          int var3 = ((var1[2] & 255) << 8) + (var1[3] & 255) + 2;
  729.          var2.write(var1, 0, var3);
  730.       } catch (IOException var4) {
  731.       }
  732.    }
  733.  
  734.    // $FF: renamed from: b (java.io.BufferedOutputStream) void
  735.    public void method_15(BufferedOutputStream var1) {
  736.       float[][] var14 = new float[8][8];
  737.       double[][] var15 = new double[8][8];
  738.       int[] var16 = new int[64];
  739.       int[] var17 = new int[this.field_23.t];
  740.       boolean var18 = false;
  741.       boolean var19 = false;
  742.       int var20 = this.field_20 % 8 != 0 ? (int)(Math.floor((double)this.field_20 / (double)8.0F) + (double)1.0F) * 8 : this.field_20;
  743.       int var21 = this.field_18 % 8 != 0 ? (int)(Math.floor((double)this.field_18 / (double)8.0F) + (double)1.0F) * 8 : this.field_18;
  744.  
  745.       for(int var8 = 0; var8 < this.field_23.t; ++var8) {
  746.          var20 = Math.min(var20, this.field_23.e[var8]);
  747.          var21 = Math.min(var21, this.field_23.d[var8]);
  748.       }
  749.  
  750.       int var9 = 0;
  751.  
  752.       for(int var4 = 0; var4 < var21; ++var4) {
  753.          for(int var5 = 0; var5 < var20; ++var5) {
  754.             var9 = var5 * 8;
  755.             int var10 = var4 * 8;
  756.  
  757.             for(int var22 = 0; var22 < this.field_23.t; ++var22) {
  758.                int var10000 = this.field_23.e[var22];
  759.                var10000 = this.field_23.d[var22];
  760.                float[][] var13 = (float[][])this.field_23.i[var22];
  761.  
  762.                for(int var2 = 0; var2 < this.field_23.y[var22]; ++var2) {
  763.                   for(int var3 = 0; var3 < this.field_23.l[var22]; ++var3) {
  764.                      int var11 = var3 * 8;
  765.                      int var12 = var2 * 8;
  766.  
  767.                      for(int var6 = 0; var6 < 8; ++var6) {
  768.                         for(int var7 = 0; var7 < 8; ++var7) {
  769.                            var14[var6][var7] = var13[var10 + var12 + var6][var9 + var11 + var7];
  770.                         }
  771.                      }
  772.  
  773.                      var15 = this.method_3(var14);
  774.                      var16 = this.method_11(var15, this.field_23.v[var22]);
  775.                      this.method_8(var1, var16, var17[var22], this.field_23.k[var22], this.field_23.a[var22]);
  776.                      var17[var22] = var16[0];
  777.                   }
  778.                }
  779.             }
  780.          }
  781.       }
  782.  
  783.       this.method_6(var1);
  784.    }
  785.  
  786.    // $FF: renamed from: c (java.io.BufferedOutputStream) void
  787.    public void method_16(BufferedOutputStream var1) {
  788.       byte[] var2 = new byte[]{-1, -39};
  789.       this.method_18(var2, var1);
  790.    }
  791.  
  792.    // $FF: renamed from: d (java.io.BufferedOutputStream) void
  793.    public void method_17(BufferedOutputStream var1) {
  794.       byte[] var8 = new byte[]{-1, -40};
  795.       this.method_18(var8, var1);
  796.       byte[] var9 = new byte[]{-1, -32, 0, 16, 74, 70, 73, 70, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0};
  797.       this.method_14(var9, var1);
  798.       new String();
  799.       String var10 = this.field_23.a();
  800.       int var6 = var10.length();
  801.       byte[] var11 = new byte[var6 + 4];
  802.       var11[0] = -1;
  803.       var11[1] = -2;
  804.       var11[2] = (byte)(var6 >> 8 & 255);
  805.       var11[3] = (byte)(var6 & 255);
  806.       System.arraycopy(this.field_23.f.getBytes(), 0, var11, 4, this.field_23.f.length());
  807.       this.method_14(var11, var1);
  808.       byte[] var12 = new byte[134];
  809.       var12[0] = -1;
  810.       var12[1] = -37;
  811.       var12[2] = 0;
  812.       var12[3] = -124;
  813.       int var5 = 4;
  814.  
  815.       for(int var2 = 0; var2 < 2; ++var2) {
  816.          var12[var5++] = (byte)var2;
  817.          int[] var7 = (int[])this.field_30[var2];
  818.  
  819.          for(int var3 = 0; var3 < 64; ++var3) {
  820.             var12[var5++] = (byte)var7[field_22[var3]];
  821.          }
  822.       }
  823.  
  824.       this.method_14(var12, var1);
  825.       byte[] var13 = new byte[19];
  826.       var13[0] = -1;
  827.       var13[1] = -64;
  828.       var13[2] = 0;
  829.       var13[3] = 17;
  830.       var13[4] = (byte)this.field_23.u;
  831.       var13[5] = (byte)(this.field_23.m >> 8 & 255);
  832.       var13[6] = (byte)(this.field_23.m & 255);
  833.       var13[7] = (byte)(this.field_23.o >> 8 & 255);
  834.       var13[8] = (byte)(this.field_23.o & 255);
  835.       var13[9] = (byte)this.field_23.t;
  836.       int var4 = 10;
  837.  
  838.       for(int var23 = 0; var23 < var13[9]; ++var23) {
  839.          var13[var4++] = (byte)this.field_23.h[var23];
  840.          var13[var4++] = (byte)((this.field_23.l[var23] << 4) + this.field_23.y[var23]);
  841.          var13[var4++] = (byte)this.field_23.v[var23];
  842.       }
  843.  
  844.       this.method_14(var13, var1);
  845.       var6 = 2;
  846.       var4 = 4;
  847.       int var20 = 4;
  848.       byte[] var14 = new byte[17];
  849.       byte[] var17 = new byte[]{-1, -60, 0, 0};
  850.  
  851.       for(int var24 = 0; var24 < 4; ++var24) {
  852.          int var18 = 0;
  853.          var14[var4++ - var20] = (byte)((int[])this.field_3.elementAt(var24))[0];
  854.  
  855.          for(int var26 = 1; var26 < 17; ++var26) {
  856.             int var19 = ((int[])this.field_3.elementAt(var24))[var26];
  857.             var14[var4++ - var20] = (byte)var19;
  858.             var18 += var19;
  859.          }
  860.  
  861.          int var21 = var4;
  862.          byte[] var15 = new byte[var18];
  863.  
  864.          for(int var27 = 0; var27 < var18; ++var27) {
  865.             var15[var4++ - var21] = (byte)((int[])this.field_34.elementAt(var24))[var27];
  866.          }
  867.  
  868.          byte[] var16 = new byte[var4];
  869.          System.arraycopy(var17, 0, var16, 0, var20);
  870.          System.arraycopy(var14, 0, var16, var20, 17);
  871.          System.arraycopy(var15, 0, var16, var20 + 17, var18);
  872.          var17 = var16;
  873.          var20 = var4;
  874.       }
  875.  
  876.       var17[2] = (byte)(var4 - 2 >> 8 & 255);
  877.       var17[3] = (byte)(var4 - 2 & 255);
  878.       this.method_14(var17, var1);
  879.       byte[] var22 = new byte[14];
  880.       var22[0] = -1;
  881.       var22[1] = -38;
  882.       var22[2] = 0;
  883.       var22[3] = 12;
  884.       var22[4] = (byte)this.field_23.t;
  885.       var4 = 5;
  886.  
  887.       for(int var25 = 0; var25 < var22[4]; ++var25) {
  888.          var22[var4++] = (byte)this.field_23.h[var25];
  889.          var22[var4++] = (byte)((this.field_23.k[var25] << 4) + this.field_23.a[var25]);
  890.       }
  891.  
  892.       var22[var4++] = (byte)this.field_23.x;
  893.       var22[var4++] = (byte)this.field_23.w;
  894.       var22[var4++] = (byte)((this.field_23.b << 4) + this.field_23.c);
  895.       this.method_14(var22, var1);
  896.    }
  897.  
  898.    // $FF: renamed from: b (byte[], java.io.BufferedOutputStream) void
  899.    void method_18(byte[] var1, BufferedOutputStream var2) {
  900.       try {
  901.          var2.write(var1, 0, 2);
  902.       } catch (IOException var3) {
  903.       }
  904.    }
  905. }
  906.