home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / EmailViewer / EmailViewer.jar / u.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-10-08  |  32.6 KB  |  1,508 lines

  1. import java.io.ByteArrayOutputStream;
  2. import java.io.DataOutputStream;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.InputStreamReader;
  6. import java.io.OutputStreamWriter;
  7. import java.io.Writer;
  8. import java.util.EmptyStackException;
  9. import java.util.Enumeration;
  10. import java.util.Hashtable;
  11. import java.util.Stack;
  12. import java.util.Vector;
  13. import javax.microedition.io.ConnectionNotFoundException;
  14. import javax.microedition.io.Connector;
  15. import javax.microedition.io.HttpConnection;
  16. import javax.microedition.lcdui.Font;
  17. import javax.microedition.lcdui.Image;
  18. import javax.microedition.rms.InvalidRecordIDException;
  19. import javax.microedition.rms.RecordStore;
  20.  
  21. // $FF: renamed from: u
  22. class class_0 implements Runnable {
  23.    // $FF: renamed from: try java.lang.String
  24.    private static final String field_0 = "/p/br/div/form/center/li/ul/ol/h1/h2/h3/h4/h5/h6/blockquote/dt/dd/pre/address/";
  25.    // $FF: renamed from: long int
  26.    private static final int field_1 = 2;
  27.    // $FF: renamed from: p java.lang.String
  28.    private String field_2;
  29.    // $FF: renamed from: e java.lang.String
  30.    private String field_3;
  31.    // $FF: renamed from: q boolean
  32.    private boolean field_4;
  33.    // $FF: renamed from: g int
  34.    private int field_5;
  35.    // $FF: renamed from: d int
  36.    private int field_6;
  37.    // $FF: renamed from: else m
  38.    private m field_7;
  39.    // $FF: renamed from: null java.lang.String
  40.    private String field_8;
  41.    // $FF: renamed from: do java.lang.String
  42.    private String field_9;
  43.    // $FF: renamed from: new java.lang.String
  44.    private String field_10;
  45.    // $FF: renamed from: k q[]
  46.    private q[] field_11;
  47.    // $FF: renamed from: int java.lang.String
  48.    private String field_12;
  49.    // $FF: renamed from: goto java.lang.String
  50.    private String field_13;
  51.    // $FF: renamed from: m boolean
  52.    private volatile boolean field_14 = false;
  53.    // $FF: renamed from: i int
  54.    private int field_15 = 0;
  55.    // $FF: renamed from: f int
  56.    private int field_16 = 0;
  57.    // $FF: renamed from: l int
  58.    private int field_17 = 1;
  59.    // $FF: renamed from: a java.util.Vector
  60.    private Vector field_18;
  61.    // $FF: renamed from: r java.util.Vector
  62.    private Vector field_19;
  63.    // $FF: renamed from: for java.util.Vector
  64.    private Vector field_20;
  65.    // $FF: renamed from: c java.util.Hashtable
  66.    private Hashtable field_21;
  67.    // $FF: renamed from: o byte
  68.    private static final byte field_22 = 0;
  69.    // $FF: renamed from: n byte
  70.    private static final byte field_23 = 1;
  71.    // $FF: renamed from: b byte
  72.    private static final byte field_24 = 2;
  73.    // $FF: renamed from: char int
  74.    private int field_25 = 0;
  75.    // $FF: renamed from: case int
  76.    private int field_26 = 0;
  77.    // $FF: renamed from: h java.util.Stack
  78.    private Stack field_27;
  79.    // $FF: renamed from: void javax.microedition.lcdui.Font
  80.    private Font field_28;
  81.    // $FF: renamed from: j int
  82.    private int field_29 = 0;
  83.    // $FF: renamed from: if int
  84.    private int field_30;
  85.    // $FF: renamed from: byte byte
  86.    private byte field_31 = 0;
  87.  
  88.    class_0(m var1, String var2, String var3, String var4, q[] var5, String var6, String var7, Vector var8, Vector var9, Vector var10, Hashtable var11) {
  89.       this.field_7 = var1;
  90.       this.field_8 = var2;
  91.       this.field_9 = var3;
  92.       this.field_10 = var4;
  93.       this.field_11 = var5;
  94.       this.field_12 = var6;
  95.       this.field_13 = var7;
  96.       this.field_18 = var8;
  97.       this.field_19 = var9;
  98.       this.field_20 = var10;
  99.       this.field_21 = var11;
  100.       this.field_2 = var1.int;
  101.       this.field_3 = var1.U;
  102.       this.field_4 = var1.ab;
  103.       this.field_5 = var1.af;
  104.       this.field_6 = var1.D;
  105.       this.field_28 = var1.am;
  106.       this.field_30 = this.field_28.getHeight();
  107.    }
  108.  
  109.    // $FF: renamed from: if () void
  110.    void method_0() {
  111.       this.field_14 = true;
  112.    }
  113.  
  114.    // $FF: renamed from: a (java.io.Writer) void
  115.    private void method_1(Writer var1) throws IOException {
  116.       var1.write("<req vid=\"18\" ver=\"1.7E\">");
  117.       var1.write("<uri");
  118.       if (this.field_13 != null) {
  119.          var1.write(" ref=\"" + this.method_20(this.field_13, true) + '"');
  120.       }
  121.  
  122.       var1.write('>' + this.method_20(this.field_8, false) + "</uri>" + "<display width=\"" + this.field_5 + "\" height=\"" + this.field_6 + "\" images=\"" + this.field_4 + "\" cookies=\"1\" isColor=\"" + this.field_7.L + "\" numColors=\"" + this.field_7.H + "\"/>");
  123.       if (this.field_11 != null) {
  124.          var1.write("<f");
  125.          if (this.field_9 != null) {
  126.             var1.write(" method=\"" + this.method_20(this.field_9, true) + '"');
  127.          }
  128.  
  129.          if (this.field_10 != null) {
  130.             var1.write(" enctype=\"" + this.method_20(this.field_10, true) + '"');
  131.          }
  132.  
  133.          if (this.field_12 != null) {
  134.             var1.write(" charset=\"" + this.method_20(this.field_12, true) + '"');
  135.          }
  136.  
  137.          var1.write(62);
  138.  
  139.          for(int var2 = 0; var2 < this.field_11.length; ++var2) {
  140.             var1.write("<nv n=\"");
  141.             var1.write(this.method_20(this.field_11[var2].a, true));
  142.             var1.write("\" v=\"");
  143.             var1.write(this.method_20(this.field_11[var2].if, true));
  144.             var1.write("\"/>");
  145.          }
  146.  
  147.          this.field_11 = null;
  148.          var1.write("</f>");
  149.       }
  150.  
  151.       var1.write("</req>");
  152.    }
  153.  
  154.    // $FF: renamed from: for (java.lang.String) java.lang.String
  155.    static String method_2(String var0) {
  156.       int var1 = var0.indexOf(37);
  157.       if (var1 < 0) {
  158.          return var0;
  159.       } else {
  160.          StringBuffer var2 = new StringBuffer();
  161.  
  162.          for(int var3 = 0; var3 < var0.length(); ++var3) {
  163.             char var4 = var0.charAt(var3);
  164.             if (var4 == '%' && var3 + 2 < var0.length()) {
  165.                try {
  166.                   var2.append((char)Integer.parseInt(var0.substring(var3 + 1, var3 + 3), 16));
  167.                   var3 += 2;
  168.                   continue;
  169.                } catch (NumberFormatException var6) {
  170.                }
  171.             }
  172.  
  173.             var2.append(var4);
  174.          }
  175.  
  176.          return var2.toString();
  177.       }
  178.    }
  179.  
  180.    // $FF: renamed from: int (java.lang.String) java.lang.String
  181.    private String method_3(String var1) {
  182.       int var2 = var1.indexOf("JSESSIONID=");
  183.       if (var2 == -1) {
  184.          return null;
  185.       } else {
  186.          int var3 = var1.indexOf(59, var2);
  187.          return var3 == -1 ? var1.substring(var2 + 11) : var1.substring(var2 + 11, var3);
  188.       }
  189.    }
  190.  
  191.    // $FF: renamed from: do (java.lang.String) boolean
  192.    private boolean method_4(String var1) {
  193.       var1 = var1.toLowerCase();
  194.       return var1.startsWith("https:") || var1.startsWith("fullsize:https:");
  195.    }
  196.  
  197.    public void run() {
  198.       HttpConnection var1 = null;
  199.       InputStream var2 = null;
  200.       OutputStreamWriter var3 = null;
  201.  
  202.       try {
  203.          String var4 = null;
  204.          int var5 = this.field_8.indexOf(35);
  205.          if (var5 >= 0) {
  206.             var4 = this.field_8.substring(var5 + 1);
  207.             this.field_8 = this.field_8.substring(0, var5);
  208.          }
  209.  
  210.          this.method_8(1, 0, (Throwable)null);
  211.          boolean var6 = this.method_4(this.field_8);
  212.          String var7 = var6 ? this.field_7.t : this.field_7.y;
  213.          if (var7 == null) {
  214.             throw new IOException((var6 ? "Secure " : "") + "ReqwirelessWeb server not set");
  215.          }
  216.  
  217.          boolean var8 = var7.toLowerCase().startsWith("https:");
  218.  
  219.          try {
  220.             var1 = (HttpConnection)Connector.open(var7);
  221.          } catch (ConnectionNotFoundException var58) {
  222.             if (var6) {
  223.                throw new ConnectionNotFoundException("This resource requires a secure (HTTPS) connection, which is not supported by your device.");
  224.             }
  225.  
  226.             throw var58;
  227.          }
  228.  
  229.          var1.setRequestMethod("POST");
  230.          if (this.field_7.S) {
  231.             var1.setRequestProperty("Connection", "close");
  232.          }
  233.  
  234.          String var9 = this.field_7.Y;
  235.          if (var9 != null) {
  236.             var1.setRequestProperty("Cookie", "JSESSIONID=" + var9);
  237.          }
  238.  
  239.          if (var8) {
  240.             String var10 = this.field_7.aj;
  241.             if (var10 != null) {
  242.                var1.setRequestProperty("X-RW-SID", var10);
  243.             }
  244.          }
  245.  
  246.          var1.setRequestProperty("Content-Type", "text/xml");
  247.          if (this.field_2 != null) {
  248.             var1.setRequestProperty("User-Agent", this.field_2);
  249.          }
  250.  
  251.          if (this.field_3 != null) {
  252.             var1.setRequestProperty("Accept-Language", this.field_3);
  253.          }
  254.  
  255.          String var62 = this.field_7.n;
  256.          if (var62 != null) {
  257.             var1.setRequestProperty("X-RW-ClientID", var62);
  258.          }
  259.  
  260.          Thread.yield();
  261.          if (!this.field_14) {
  262.             var3 = new OutputStreamWriter(var1.openOutputStream());
  263.             this.method_1(var3);
  264.             var3.close();
  265.             Thread.yield();
  266.             if (this.field_14) {
  267.                return;
  268.             }
  269.  
  270.             this.method_8(1, 100, (Throwable)null);
  271.             this.method_8(2, 0, (Throwable)null);
  272.             var2 = var1.openInputStream();
  273.             Thread.yield();
  274.             if (this.field_14) {
  275.                return;
  276.             }
  277.  
  278.             String var11 = var1.getHeaderField("Set-Cookie");
  279.             if (var11 != null) {
  280.                this.field_7.Y = this.method_3(var11);
  281.             }
  282.  
  283.             String var12 = var1.getHeaderField("X-RW-ClientID");
  284.             if (var12 != null) {
  285.                RecordStore var13 = null;
  286.                Object var14 = null;
  287.                DataOutputStream var15 = null;
  288.  
  289.                try {
  290.                   var13 = RecordStore.openRecordStore("clientID", true);
  291.                   ByteArrayOutputStream var65 = new ByteArrayOutputStream();
  292.                   var15 = new DataOutputStream(var65);
  293.                   var15.writeUTF(var12);
  294.                   var15.flush();
  295.                   byte[] var16 = var65.toByteArray();
  296.  
  297.                   try {
  298.                      var13.setRecord(1, var16, 0, var16.length);
  299.                   } catch (InvalidRecordIDException var55) {
  300.                      var13.addRecord(var16, 0, var16.length);
  301.                   }
  302.  
  303.                   this.field_7.n = var12;
  304.                } catch (Exception var56) {
  305.                } finally {
  306.                   if (var15 != null) {
  307.                      var15.close();
  308.                   }
  309.  
  310.                   if (var13 != null) {
  311.                      try {
  312.                         var13.closeRecordStore();
  313.                      } catch (Exception var54) {
  314.                      }
  315.                   }
  316.  
  317.                }
  318.             }
  319.  
  320.             if (var8) {
  321.                String var63 = var1.getHeaderField("X-RW-SID");
  322.                if (var63 != null) {
  323.                   this.field_7.aj = var63;
  324.                }
  325.             }
  326.  
  327.             String var64 = var1.getHeaderField("Content-Location");
  328.             if (var4 != null) {
  329.                var64 = var64 + '#' + var4;
  330.             }
  331.  
  332.             this.field_7.if(var64);
  333.             this.method_8(2, 100, (Throwable)null);
  334.             String var66 = var1.getType();
  335.             if (var66 == null) {
  336.                throw new IOException("Unexpected server response");
  337.             }
  338.  
  339.             if (var66.startsWith("multipart/related")) {
  340.                this.method_5(var1, var2);
  341.                if (this.field_17 != 64 || this.field_16 != 100) {
  342.                   this.method_8(64, 100, (Throwable)null);
  343.                }
  344.             } else if (var66.startsWith("text/xml")) {
  345.                this.method_10(var2, (int)var1.getLength());
  346.                this.method_8(64, 100, (Throwable)null);
  347.             } else if (var66.startsWith("image/")) {
  348.                var4 = null;
  349.                this.method_8(16, 100, (Throwable)null);
  350.                this.method_8(64, 0, (Throwable)null);
  351.                this.method_19(var2, var64, (int)var1.getLength(), true);
  352.                this.method_8(64, 100, (Throwable)null);
  353.             } else {
  354.                var4 = null;
  355.                f var67 = this.field_7.c();
  356.                if (var67 == null) {
  357.                   throw new IOException("Unexpected server response");
  358.                }
  359.  
  360.                var67.a(var66, var2, (int)var1.getLength());
  361.             }
  362.  
  363.             Thread.yield();
  364.             if (this.field_14) {
  365.                return;
  366.             }
  367.  
  368.             if (var4 != null) {
  369.                this.field_7.int(method_2(var4));
  370.                this.field_7.repaint(0, 0, this.field_5, this.field_6);
  371.             }
  372.  
  373.             return;
  374.          }
  375.       } catch (OutOfMemoryError var59) {
  376.          this.field_2 = null;
  377.          this.field_3 = null;
  378.          this.field_8 = null;
  379.          this.field_9 = null;
  380.          this.field_10 = null;
  381.          this.field_12 = null;
  382.          this.field_13 = null;
  383.          System.gc();
  384.          this.method_8(this.field_17, this.field_16, var59);
  385.          return;
  386.       } catch (Exception var60) {
  387.          Thread.yield();
  388.          this.method_8(this.field_17, this.field_16, var60);
  389.          return;
  390.       } finally {
  391.          try {
  392.             if (var2 != null) {
  393.                var2.close();
  394.             }
  395.  
  396.             if (var3 != null) {
  397.                var3.close();
  398.             }
  399.  
  400.             if (var1 != null) {
  401.                var1.close();
  402.             }
  403.          } catch (IOException var53) {
  404.          }
  405.  
  406.       }
  407.  
  408.    }
  409.  
  410.    // $FF: renamed from: a (javax.microedition.io.HttpConnection, java.io.InputStream) void
  411.    private void method_5(HttpConnection var1, InputStream var2) throws IOException {
  412.       while(this.method_7(var2)) {
  413.          int var3 = -1;
  414.          String var4 = null;
  415.          String var5 = null;
  416.  
  417.          while(true) {
  418.             String var6 = this.method_6(var2);
  419.             Thread.yield();
  420.             if (this.field_14) {
  421.                return;
  422.             }
  423.  
  424.             int var7 = var6.indexOf(58);
  425.             if (var7 <= 0) {
  426.                if (var5 != null) {
  427.                   if (var5.startsWith("image/")) {
  428.                      this.method_19(var2, var4, var3, false);
  429.                      if (this.field_15 > 0) {
  430.                         this.method_8(64, this.field_7.long.size() * 100 / this.field_15, (Throwable)null);
  431.                      }
  432.                   } else if (var5.startsWith("text/xml")) {
  433.                      this.method_10(new z(var2, var3), var3);
  434.                      this.method_8(64, this.field_15 == 0 ? 100 : 0, (Throwable)null);
  435.                   }
  436.                }
  437.  
  438.                Thread.yield();
  439.                if (this.field_14) {
  440.                   return;
  441.                }
  442.  
  443.                if (var2.read() != -1) {
  444.                   break;
  445.                }
  446.  
  447.                return;
  448.             }
  449.  
  450.             String var8 = var6.substring(0, var7);
  451.             String var9 = var6.substring(var7 + 1).trim();
  452.             if (var8.equals("Content-Type")) {
  453.                var5 = var9;
  454.             } else if (var8.equals("Content-Length")) {
  455.                var3 = Integer.parseInt(var9);
  456.             } else if (var8.equals("Content-Location")) {
  457.                var4 = var9;
  458.             } else if (var8.equals("X-Images")) {
  459.                this.field_15 = Integer.parseInt(var9);
  460.             }
  461.          }
  462.       }
  463.  
  464.    }
  465.  
  466.    // $FF: renamed from: a (java.io.InputStream) java.lang.String
  467.    private String method_6(InputStream var1) throws IOException {
  468.       StringBuffer var2 = new StringBuffer();
  469.  
  470.       while(true) {
  471.          int var3 = var1.read();
  472.          if (this.field_14 || var3 == -1 || var3 == 10) {
  473.             return var2.toString();
  474.          }
  475.  
  476.          var2.append((char)var3);
  477.       }
  478.    }
  479.  
  480.    // $FF: renamed from: if (java.io.InputStream) boolean
  481.    private boolean method_7(InputStream var1) throws IOException {
  482.       while(true) {
  483.          int var2 = var1.read();
  484.          if (!this.field_14 && var2 != -1) {
  485.             if (var2 != 10) {
  486.                continue;
  487.             }
  488.  
  489.             return true;
  490.          }
  491.  
  492.          return false;
  493.       }
  494.    }
  495.  
  496.    // $FF: renamed from: a (int, int, java.lang.Throwable) void
  497.    private void method_8(int var1, int var2, Throwable var3) {
  498.       if (!this.field_14) {
  499.          String var4 = null;
  500.          switch (var1) {
  501.             case 1:
  502.                var4 = "Contacting server";
  503.                break;
  504.             case 2:
  505.                var4 = "Waiting for reply";
  506.                break;
  507.             case 16:
  508.                var4 = "Loading text";
  509.                break;
  510.             case 64:
  511.                if (var2 == 100) {
  512.                   var4 = "Done loading";
  513.                } else {
  514.                   var4 = "Loading images";
  515.                }
  516.          }
  517.  
  518.          this.field_7.a(var4, var2, var3);
  519.          this.field_17 = var1;
  520.          n var5 = this.field_7.try();
  521.          if (var5 != null && (var2 != this.field_16 || var2 == 100 || var3 != null || var1 == 1)) {
  522.             var5.a(var1, var2, var3);
  523.             this.field_16 = var2;
  524.          }
  525.  
  526.       }
  527.    }
  528.  
  529.    // $FF: renamed from: a (java.io.InputStream, int, int) byte[]
  530.    private byte[] method_9(InputStream var1, int var2, int var3) throws IOException {
  531.       byte[] var4 = new byte[var2];
  532.       int var6 = 0;
  533.  
  534.       while(var6 < var2) {
  535.          if (!this.field_7.byte) {
  536.             int var7 = var1.read(var4, var6, var2 - var6 < 256 ? var2 - var6 : 256);
  537.             Thread.yield();
  538.             if (this.field_14 || var7 == -1) {
  539.                break;
  540.             }
  541.  
  542.             var6 += var7;
  543.          } else {
  544.             int var5;
  545.             do {
  546.                var5 = var1.read();
  547.                if (var5 == -1) {
  548.                   break;
  549.                }
  550.  
  551.                var4[var6++] = (byte)var5;
  552.             } while(var6 % 128 != 0 && var6 < var2);
  553.  
  554.             Thread.yield();
  555.             if (this.field_14 || var5 == -1) {
  556.                break;
  557.             }
  558.          }
  559.  
  560.          if (var3 >= 0) {
  561.             this.method_8(var3, var6 * 95 / var2, (Throwable)null);
  562.          }
  563.       }
  564.  
  565.       return var4;
  566.    }
  567.  
  568.    // $FF: renamed from: a (java.io.InputStream, int) void
  569.    private void method_10(InputStream var1, int var2) throws IOException {
  570.       if (this.field_15 > 0) {
  571.          this.field_7.long = new Hashtable();
  572.       } else {
  573.          this.field_7.long = null;
  574.       }
  575.  
  576.       try {
  577.          r var3 = new r(new InputStreamReader(var1));
  578.          this.field_27 = new Stack();
  579.          o var4 = null;
  580.          k var5 = null;
  581.          x var6 = null;
  582.          v var7 = null;
  583.          g var8 = null;
  584.          String var9 = null;
  585.          String var10 = null;
  586.          a var11 = null;
  587.          a var12 = null;
  588.          boolean var13 = false;
  589.          boolean var14 = false;
  590.          boolean var15 = false;
  591.          boolean var16 = false;
  592.          int var17 = -1;
  593.          Stack var18 = null;
  594.  
  595.          while(true) {
  596.             Thread.yield();
  597.             if (this.field_14) {
  598.                return;
  599.             }
  600.  
  601.             Object var19 = null;
  602.             switch (var3.new()) {
  603.                case 1:
  604.                   this.method_8(16, 100, (Throwable)null);
  605.                   return;
  606.                case 2:
  607.                   if (var2 > 0) {
  608.                      this.method_8(16, var3.try() * 100 / var2, (Throwable)null);
  609.                   } else {
  610.                      this.method_8(16, 69, (Throwable)null);
  611.                   }
  612.  
  613.                   String var39 = var3.for();
  614.                   if (var14) {
  615.                      if (var39.equals("title")) {
  616.                         var15 = true;
  617.                      }
  618.                   } else if (var39.equals("head")) {
  619.                      var14 = true;
  620.                   } else if (this.method_14(var39)) {
  621.                      if (this.field_25 > 0 || var16) {
  622.                         if (!var39.equals("br")) {
  623.                            this.field_26 += this.field_28.getHeight() / 3;
  624.                         }
  625.  
  626.                         this.method_22(this.field_28.getHeight());
  627.                      }
  628.  
  629.                      if (var39.equals("li")) {
  630.                         StringBuffer var48 = new StringBuffer(2);
  631.                         if (var18 != null) {
  632.                            for(int var61 = 0; var61 < ((Vector)var18).size() && var61 < 4; ++var61) {
  633.                               var48.append('┬á').append('┬á');
  634.                            }
  635.                         }
  636.  
  637.                         if (var17 > 0) {
  638.                            var48.append(String.valueOf(var17++));
  639.                            var48.append('.');
  640.                         } else {
  641.                            var48.append('*');
  642.                         }
  643.  
  644.                         this.method_18(var48.toString(), (e)null);
  645.                         this.field_25 += this.field_28.charWidth(' ');
  646.                      } else {
  647.                         if (!var39.equals("ul") && !var39.equals("ol")) {
  648.                            if (var39.charAt(0) == 'h') {
  649.                               char var47 = var39.charAt(1);
  650.                               this.field_28 = Font.getFont(this.field_28.getFace(), this.field_7.byte ? 0 : 1, var47 != '1' && var47 != '2' ? 0 : 16);
  651.                               break;
  652.                            }
  653.  
  654.                            if (var39.equals("form")) {
  655.                               var6 = new x(var3.if("action"), var3.if("method"), var3.if("enctype"), var3.if("accept-charset"));
  656.                               if (this.field_20 != null) {
  657.                                  this.field_20.addElement(var6);
  658.                               }
  659.                            } else if (var39.equals("pre")) {
  660.                               var16 = true;
  661.                               this.method_11();
  662.                            } else if (var39.equals("address")) {
  663.                               this.method_12();
  664.                            }
  665.                            break;
  666.                         }
  667.  
  668.                         if (var17 >= 0) {
  669.                            if (var18 == null) {
  670.                               var18 = new Stack();
  671.                            }
  672.  
  673.                            var18.push(new Integer(var17));
  674.                         }
  675.  
  676.                         var17 = var39.equals("ol") ? 1 : 0;
  677.                      }
  678.                   } else if (var39.equals("a")) {
  679.                      String var46 = var3.if("href");
  680.                      if (var46 != null) {
  681.                         if (var4 != null) {
  682.                            this.method_13(var4);
  683.                         }
  684.  
  685.                         var4 = new o(var46);
  686.                         this.field_27.push(this.field_28);
  687.                         this.field_28 = Font.getFont(this.field_28.getFace(), this.field_28.getStyle() | 4, this.field_28.getSize());
  688.                         this.field_29 = 255;
  689.                      }
  690.  
  691.                      String var60 = var3.if("name");
  692.                      if (var60 != null && this.field_21 != null) {
  693.                         this.field_21.put(var60, new Integer(this.field_26));
  694.                      }
  695.                   } else if (this.field_4 && var39.equals("img")) {
  696.                      if (this.method_16(var3, (e)(var4 != null ? var4 : var5)) && var3.if("usemap") == null && var4 != null && var3.if("ismap") != null) {
  697.                         var4.a(true);
  698.                      }
  699.                   } else if (var39.equals("b")) {
  700.                      this.field_27.push(this.field_28);
  701.                      if (!this.field_7.byte) {
  702.                         this.field_28 = Font.getFont(this.field_28.getFace(), this.field_28.getStyle() | 1, this.field_28.getSize());
  703.                      }
  704.                   } else if (var39.equals("i")) {
  705.                      this.method_12();
  706.                   } else if (var39.equals("input")) {
  707.                      String var45 = var3.if("type");
  708.                      if (var45 != null && !var45.equals("text") && !var45.equals("password")) {
  709.                         if (var45.equals("checkbox")) {
  710.                            String var59 = var3.if("value");
  711.                            if (var59 == null) {
  712.                               var59 = "on";
  713.                            }
  714.  
  715.                            w var70 = new w(var3.if("name"), var59, var3.if("checked") != null);
  716.                            if (var6 != null) {
  717.                               var6.a(var70);
  718.                            }
  719.  
  720.                            this.field_19.addElement(new d(var70, this.field_18.size()));
  721.                            int var77 = this.field_28.getHeight() - 2;
  722.                            if (var77 > this.field_5 - this.field_25) {
  723.                               this.method_22(var77 + 2);
  724.                            } else {
  725.                               this.method_25(var77 + 2);
  726.                            }
  727.  
  728.                            this.field_18.addElement(new s(var70, this.field_25, this.method_23(var77), var77, var77, 0, (Font)null));
  729.                            this.field_25 += var77 + 1;
  730.                            break;
  731.                         }
  732.  
  733.                         if (var45.equals("radio")) {
  734.                            String var58 = var3.if("value");
  735.                            if (var58 == null) {
  736.                               var58 = "on";
  737.                            }
  738.  
  739.                            ad var69 = new ad(var6, var3.if("name"), var58, var3.if("checked") != null);
  740.                            if (var6 != null) {
  741.                               var6.if(var69);
  742.                            }
  743.  
  744.                            this.field_19.addElement(new d(var69, this.field_18.size()));
  745.                            int var76 = this.field_28.getHeight();
  746.                            if (var76 > this.field_5 - this.field_25) {
  747.                               this.method_22(var76 + 2);
  748.                            } else {
  749.                               this.method_25(var76 + 2);
  750.                            }
  751.  
  752.                            this.field_18.addElement(new s(var69, this.field_25, this.method_23(var76), var76, var76, 0, (Font)null));
  753.                            this.field_25 += var76 + 1;
  754.                            break;
  755.                         }
  756.  
  757.                         if (!var45.equals("submit") && !var45.equals("reset")) {
  758.                            if (var45.equals("hidden")) {
  759.                               if (var6 != null) {
  760.                                  String var57 = var3.if("name");
  761.                                  if (var57 != null) {
  762.                                     String var68 = var3.if("value");
  763.                                     if (var68 == null) {
  764.                                        var68 = "";
  765.                                     }
  766.  
  767.                                     var6.a(new v(var57, var68, true));
  768.                                  }
  769.                               }
  770.                               break;
  771.                            }
  772.  
  773.                            if (!var45.equals("image")) {
  774.                               break;
  775.                            }
  776.  
  777.                            String var56 = var3.if("name");
  778.                            if (var56 == null) {
  779.                               var56 = "";
  780.                            }
  781.  
  782.                            if (var56.length() > 0) {
  783.                               var56 = var56 + '.';
  784.                            }
  785.  
  786.                            v var67 = new v(var56 + 'x', (String)null, false);
  787.                            v var75 = new v(var56 + 'y', (String)null, false);
  788.                            if (var6 != null) {
  789.                               var6.a(var67);
  790.                               var6.a(var75);
  791.                            }
  792.  
  793.                            var5 = new k(var6, var67, var75);
  794.                            if (!this.field_4 || !this.method_16(var3, var5)) {
  795.                               String var79 = var3.if("alt");
  796.                               if (var79 != null) {
  797.                                  this.field_25 += this.method_18(var79, var5) + 1;
  798.                               }
  799.                            }
  800.  
  801.                            this.field_19.addElement(var5);
  802.                            var5 = null;
  803.                            break;
  804.                         }
  805.  
  806.                         String var54 = var3.if("value");
  807.                         v var66 = null;
  808.                         if (var45.equals("reset")) {
  809.                            if (var54 == null || var54.length() == 0) {
  810.                               var54 = new String("Reset");
  811.                            }
  812.                         } else {
  813.                            if (var54 == null || var54.length() == 0) {
  814.                               var54 = new String("Submit");
  815.                            }
  816.  
  817.                            var66 = new v(var3.if("name"), var54, false);
  818.                            if (var6 != null) {
  819.                               var6.a(var66);
  820.                            }
  821.                         }
  822.  
  823.                         var54 = '┬á' + var54 + '┬á';
  824.                         var5 = new k(var6, var66, (v)null);
  825.                         int var74 = this.field_28.stringWidth(var54);
  826.                         if (var74 > this.field_5 - this.field_25 && this.field_25 > 0) {
  827.                            this.method_22(this.field_28.getHeight() + 1);
  828.                         }
  829.  
  830.                         this.field_25 = this.method_18(var54, var5) + 1;
  831.                         this.field_19.addElement(var5);
  832.                         var5 = null;
  833.                         break;
  834.                      }
  835.  
  836.                      int var53 = -1;
  837.                      int var65 = 20;
  838.  
  839.                      try {
  840.                         String var72 = var3.if("maxlength");
  841.                         if (var72 != null) {
  842.                            var53 = Integer.parseInt(var72);
  843.                         }
  844.  
  845.                         String var78 = var3.if("size");
  846.                         if (var78 != null) {
  847.                            var65 = Integer.parseInt(var78);
  848.                         }
  849.                      } catch (NumberFormatException var34) {
  850.                      }
  851.  
  852.                      String var73 = var3.if("value");
  853.                      if (var73 == null) {
  854.                         var73 = "";
  855.                      }
  856.  
  857.                      this.method_17(var3.if("name"), var73, 1, var65, var53, "password".equals(var45) ? 65536 : 0, var6);
  858.                   } else if (var39.equals("select")) {
  859.                      var8 = new g(var3.if("name"), var3.if("multiple") != null);
  860.                   } else if (var39.equals("option")) {
  861.                      var9 = var3.if("value");
  862.                      var13 = var3.if("selected") != null;
  863.                   } else if (var39.equals("textarea")) {
  864.                      int var44 = 3;
  865.                      int var52 = 30;
  866.  
  867.                      try {
  868.                         String var64 = var3.if("rows");
  869.                         if (var64 != null) {
  870.                            var44 = Integer.parseInt(var64);
  871.                         }
  872.  
  873.                         String var71 = var3.if("cols");
  874.                         if (var71 != null) {
  875.                            var52 = Integer.parseInt(var71);
  876.                         }
  877.                      } catch (NumberFormatException var33) {
  878.                      }
  879.  
  880.                      var7 = this.method_17(var3.if("name"), (String)null, var44, var52, -1, 0, var6);
  881.                   } else if (var39.equals("tt")) {
  882.                      this.method_11();
  883.                   } else if (var39.equals("button")) {
  884.                      String var43 = var3.if("type");
  885.                      v var51 = null;
  886.                      if (var43 == null || var43.equals("submit")) {
  887.                         String var63 = var3.if("value");
  888.                         if (var63 == null) {
  889.                            var63 = "";
  890.                         }
  891.  
  892.                         var51 = new v(var3.if("name"), var63, false);
  893.                         if (var6 != null) {
  894.                            var6.a(var51);
  895.                         }
  896.                      }
  897.  
  898.                      var5 = new k(var6, var51, (v)null);
  899.                      if (this.field_25 > 0) {
  900.                         this.method_22(this.field_28.getHeight() + 1);
  901.                      }
  902.                   } else {
  903.                      if (!this.field_4 || !var39.equals("area")) {
  904.                         break;
  905.                      }
  906.  
  907.                      String var42 = var3.if("href");
  908.                      String var50 = var3.if("shape");
  909.                      byte var62 = -1;
  910.                      if (var50 != null && !var50.equals("rect")) {
  911.                         if (var50.equals("circle")) {
  912.                            var62 = 1;
  913.                         } else if (var50.equals("poly")) {
  914.                            var62 = 2;
  915.                         } else if (var50.equals("default")) {
  916.                            var62 = 4;
  917.                         }
  918.                      } else {
  919.                         var62 = 0;
  920.                      }
  921.  
  922.                      String var23 = var3.if("coords");
  923.                      int[] var24 = this.method_15(var23);
  924.                      a var25 = new a(var11, var42, var62, var24);
  925.                      if (var11 == null) {
  926.                         var11 = var25;
  927.                      }
  928.  
  929.                      if (var12 != null) {
  930.                         var12.a(var25);
  931.                      }
  932.  
  933.                      var12 = var25;
  934.                      var25.a(this.field_18.size());
  935.                      if (var42 != null) {
  936.                         this.field_19.addElement(var25);
  937.                      }
  938.                   }
  939.                   break;
  940.                case 3:
  941.                   String var38 = var3.for();
  942.                   if (var14) {
  943.                      if (var15 && var38.equals("title")) {
  944.                         var15 = false;
  945.                      } else if (var38.equals("head")) {
  946.                         var14 = false;
  947.                      }
  948.                   } else if (this.method_14(var38)) {
  949.                      if (var38.charAt(0) == 'h') {
  950.                         this.field_28 = this.field_7.am;
  951.                      } else if (!var38.equals("ul") && !var38.equals("ol")) {
  952.                         if (var38.equals("pre")) {
  953.                            this.method_21();
  954.                            var16 = false;
  955.                         } else if (var38.equals("address")) {
  956.                            this.method_21();
  957.                         }
  958.                      } else if (var18 != null) {
  959.                         try {
  960.                            var17 = (Integer)var18.pop();
  961.                         } catch (EmptyStackException var32) {
  962.                         }
  963.  
  964.                         if (var18.empty()) {
  965.                            var18 = null;
  966.                         }
  967.                      } else {
  968.                         var17 = -1;
  969.                      }
  970.  
  971.                      if (this.field_25 > 0) {
  972.                         if (!var38.equals("br")) {
  973.                            this.field_26 += this.field_28.getHeight() / 3;
  974.                         }
  975.  
  976.                         this.method_22(this.field_28.getHeight());
  977.                      }
  978.                   } else if (var38.equals("a")) {
  979.                      if (var4 != null) {
  980.                         this.method_13(var4);
  981.                         var4 = null;
  982.                      }
  983.                   } else {
  984.                      if (!var38.equals("b") && !var38.equals("i") && !var38.equals("tt")) {
  985.                         if (var38.equals("option")) {
  986.                            if (var8 != null) {
  987.                               if (var10 == null) {
  988.                                  var10 = new String("");
  989.                               }
  990.  
  991.                               var8.byte().addElement(new p(var8, var10, var9 == null ? var10 : var9, var13));
  992.                            }
  993.  
  994.                            var9 = null;
  995.                            var10 = null;
  996.                            continue;
  997.                         }
  998.  
  999.                         if (!var38.equals("select")) {
  1000.                            if (var38.equals("textarea")) {
  1001.                               if (var7 != null) {
  1002.                                  if (var7.a() == null) {
  1003.                                     var7.a("");
  1004.                                  }
  1005.  
  1006.                                  var7 = null;
  1007.                               }
  1008.                            } else if (var38.equals("button")) {
  1009.                               if (var5 != null) {
  1010.                                  if (var5.if() > 0) {
  1011.                                     this.field_19.addElement(var5);
  1012.                                  }
  1013.  
  1014.                                  var5 = null;
  1015.                                  if (this.field_25 > 0) {
  1016.                                     this.method_22(this.field_28.getHeight());
  1017.                                  }
  1018.                               }
  1019.                            } else if (this.field_4 && var38.equals("map")) {
  1020.                               var11 = null;
  1021.                               var12 = null;
  1022.                            }
  1023.                            continue;
  1024.                         }
  1025.  
  1026.                         var8.byte().trimToSize();
  1027.                         if (var6 != null) {
  1028.                            var6.a(var8);
  1029.                         }
  1030.  
  1031.                         this.field_19.addElement(new i(var8, this.field_18.size(), this.field_28));
  1032.                         int var40 = 0;
  1033.                         Enumeration var49 = var8.byte().elements();
  1034.  
  1035.                         while(var49.hasMoreElements()) {
  1036.                            int var22 = this.field_28.stringWidth(((p)var49.nextElement()).do());
  1037.                            if (var22 > var40) {
  1038.                               var40 = var22;
  1039.                               if (var22 > this.field_5 - this.field_28.getHeight()) {
  1040.                                  var40 = this.field_5 - this.field_28.getHeight();
  1041.                                  break;
  1042.                               }
  1043.                            }
  1044.                         }
  1045.  
  1046.                         var40 += this.field_28.getHeight();
  1047.                         if (var40 > this.field_5 - this.field_25) {
  1048.                            this.method_22(this.field_28.getHeight() + 2);
  1049.                         } else {
  1050.                            this.method_25(this.field_28.getHeight() + 2);
  1051.                         }
  1052.  
  1053.                         this.field_18.addElement(new s(var8, this.field_25, this.method_23(this.field_28.getHeight()), var40, this.field_28.getHeight(), 0, (Font)null));
  1054.                         this.field_25 += var40 + 1;
  1055.                         var8 = null;
  1056.                         continue;
  1057.                      }
  1058.  
  1059.                      this.method_21();
  1060.                   }
  1061.                   break;
  1062.                case 4:
  1063.                   if (var14) {
  1064.                      if (var15) {
  1065.                         this.field_7.void = var3.char();
  1066.                      }
  1067.                   } else {
  1068.                      String var20 = var3.char();
  1069.                      if (var20 == null) {
  1070.                         var20 = "";
  1071.                      }
  1072.  
  1073.                      if (var8 != null) {
  1074.                         var10 = var20;
  1075.                      } else if (var7 != null) {
  1076.                         var7.a(var20);
  1077.                      } else {
  1078.                         if (this.field_25 <= 0 && !var16) {
  1079.                            int var21;
  1080.                            for(var21 = 0; var21 < var20.length() && var20.charAt(var21) <= ' '; ++var21) {
  1081.                            }
  1082.  
  1083.                            if (var21 > 0) {
  1084.                               var20 = var20.substring(var21);
  1085.                            }
  1086.                         }
  1087.  
  1088.                         this.method_18(var20, (e)(var4 != null ? var4 : var5));
  1089.                      }
  1090.                   }
  1091.             }
  1092.          }
  1093.       } finally {
  1094.          this.field_19.trimToSize();
  1095.          this.field_18.trimToSize();
  1096.       }
  1097.    }
  1098.  
  1099.    // $FF: renamed from: int () void
  1100.    private void method_11() {
  1101.       this.field_27.push(this.field_28);
  1102.       this.field_28 = Font.getFont(32, this.field_28.getStyle(), this.field_28.getSize());
  1103.    }
  1104.  
  1105.    // $FF: renamed from: do () void
  1106.    private void method_12() {
  1107.       this.field_27.push(this.field_28);
  1108.       this.field_28 = Font.getFont(this.field_28.getFace(), this.field_28.getStyle() | 2, this.field_28.getSize());
  1109.    }
  1110.  
  1111.    // $FF: renamed from: a (o) void
  1112.    private void method_13(o var1) {
  1113.       if (var1.if() > 0) {
  1114.          this.field_19.addElement(var1);
  1115.       }
  1116.  
  1117.       this.field_29 = 0;
  1118.       this.method_21();
  1119.    }
  1120.  
  1121.    // $FF: renamed from: a (java.lang.String) boolean
  1122.    private boolean method_14(String var1) {
  1123.       return "/p/br/div/form/center/li/ul/ol/h1/h2/h3/h4/h5/h6/blockquote/dt/dd/pre/address/".indexOf('/' + var1 + '/') != -1;
  1124.    }
  1125.  
  1126.    // $FF: renamed from: if (java.lang.String) int[]
  1127.    private int[] method_15(String var1) {
  1128.       if (var1 == null) {
  1129.          return null;
  1130.       } else {
  1131.          int var2 = 1;
  1132.  
  1133.          for(int var12 = 0; var12 < var1.length() && (var12 = var1.indexOf(44, var12)) != -1; ++var12) {
  1134.             ++var2;
  1135.          }
  1136.  
  1137.          int[] var4 = new int[var2];
  1138.          int var5 = 0;
  1139.  
  1140.          for(int var6 = 0; var5 < var2; ++var5) {
  1141.             int var7 = var1.indexOf(44, var6);
  1142.  
  1143.             try {
  1144.                Object var8 = null;
  1145.                String var13;
  1146.                if (var7 >= 0) {
  1147.                   var13 = var1.substring(var6, var7);
  1148.                } else {
  1149.                   var13 = var1.substring(var6);
  1150.                }
  1151.  
  1152.                var4[var5] = Integer.parseInt(var13);
  1153.             } catch (IndexOutOfBoundsException var10) {
  1154.                return null;
  1155.             } catch (NumberFormatException var11) {
  1156.                return null;
  1157.             }
  1158.  
  1159.             var6 = var7 + 1;
  1160.          }
  1161.  
  1162.          return var4;
  1163.       }
  1164.    }
  1165.  
  1166.    // $FF: renamed from: a (r, e) boolean
  1167.    private boolean method_16(r var1, e var2) {
  1168.       String var3 = var1.if("src");
  1169.       if (var3 != null) {
  1170.          try {
  1171.             int var4 = 0;
  1172.             int var5 = 0;
  1173.             String var6 = var1.if("width");
  1174.             if (var6 != null) {
  1175.                var4 = Integer.parseInt(var6);
  1176.             }
  1177.  
  1178.             String var7 = var1.if("height");
  1179.             if (var7 != null) {
  1180.                var5 = Integer.parseInt(var7);
  1181.             }
  1182.  
  1183.             if (var4 > 0 && var5 > 0) {
  1184.                var3 = var3 + '#' + var4 + ',' + var5;
  1185.                int var8 = 100;
  1186.                if (var4 > this.field_5) {
  1187.                   var8 = 100 * this.field_5 / var4;
  1188.                   var5 = this.field_5 * var5 / var4;
  1189.                   var4 = this.field_5;
  1190.                   if (var5 == 0) {
  1191.                      var5 = 1;
  1192.                   }
  1193.                }
  1194.  
  1195.                if (var4 > this.field_5 - this.field_25) {
  1196.                   this.method_22(var5 + 2);
  1197.                } else {
  1198.                   this.method_25(var5 + 2);
  1199.                }
  1200.  
  1201.                String var9 = var1.if("align");
  1202.                if (var9 != null) {
  1203.                   if (var9.equals("top")) {
  1204.                      this.method_26((byte)1);
  1205.                   } else if (var9.equals("middle")) {
  1206.                      this.method_26((byte)2);
  1207.                   } else {
  1208.                      this.method_26((byte)0);
  1209.                   }
  1210.                } else {
  1211.                   this.method_26((byte)0);
  1212.                }
  1213.  
  1214.                if (var2 != null) {
  1215.                   var2.if(var8);
  1216.                   var2.a(this.field_18.size());
  1217.                }
  1218.  
  1219.                aa var10 = new aa(this.field_7.long, var3, this.field_25, this.method_23(var5), var4, var5);
  1220.                this.field_18.addElement(var10);
  1221.                this.field_25 += var4 + 2;
  1222.                return true;
  1223.             }
  1224.          } catch (NumberFormatException var11) {
  1225.          }
  1226.       }
  1227.  
  1228.       return false;
  1229.    }
  1230.  
  1231.    // $FF: renamed from: a (java.lang.String, java.lang.String, int, int, int, int, x) v
  1232.    private v method_17(String var1, String var2, int var3, int var4, int var5, int var6, x var7) {
  1233.       if (this.field_25 > 0) {
  1234.          this.method_22(var3 * this.field_28.getHeight() + 2);
  1235.       } else {
  1236.          this.method_25(var3 * this.field_28.getHeight() + 2);
  1237.       }
  1238.  
  1239.       int var8 = var4 * this.field_28.charWidth(' ');
  1240.       if (var8 >= this.field_5) {
  1241.          var8 = this.field_5;
  1242.       }
  1243.  
  1244.       v var9 = new v(var1, var2, true);
  1245.       this.field_19.addElement(new y(var9, this.field_18.size(), var5, var6));
  1246.       this.field_18.addElement(new s(var9, this.field_25, this.field_26 + 1, var8, var3 * this.field_28.getHeight(), var6, this.field_28));
  1247.       if (var7 != null) {
  1248.          var7.a(var9);
  1249.       }
  1250.  
  1251.       this.field_25 += var8 + 1;
  1252.       if (this.field_7.b) {
  1253.          this.field_7.repaint(0, 0, this.field_5, this.field_6);
  1254.       }
  1255.  
  1256.       return var9;
  1257.    }
  1258.  
  1259.    // $FF: renamed from: a (java.lang.String, e) int
  1260.    private int method_18(String var1, e var2) {
  1261.       int var3 = var1.length();
  1262.       int var4 = 0;
  1263.       int var5 = 0;
  1264.       int var6 = 0;
  1265.       int var7 = this.field_25;
  1266.  
  1267.       while(var5 < var3) {
  1268.          int var8 = var1.indexOf(32, var5);
  1269.          if (var8 < 0) {
  1270.             var8 = var3;
  1271.          }
  1272.  
  1273.          if (var8 > 0) {
  1274.             int var9 = this.field_28.substringWidth(var1, var5, var8 - var5);
  1275.             if (var9 >= this.field_5 - this.field_25) {
  1276.                int var10 = var5 - 1;
  1277.                if (var6 == var5 && this.field_25 == 0) {
  1278.                   int var11 = 1;
  1279.  
  1280.                   while(true) {
  1281.                      Thread.yield();
  1282.                      if (this.field_14) {
  1283.                         return var4;
  1284.                      }
  1285.  
  1286.                      var9 = this.field_28.substringWidth(var1, var5, var8 - var5 - var11);
  1287.                      if (var9 <= this.field_5 - this.field_25) {
  1288.                         var5 = var10 = var8 - var11;
  1289.                         break;
  1290.                      }
  1291.  
  1292.                      ++var11;
  1293.                   }
  1294.                }
  1295.  
  1296.                if (var10 > var6) {
  1297.                   if (var2 != null) {
  1298.                      var2.a(this.field_18.size());
  1299.                   }
  1300.  
  1301.                   this.method_25(this.field_28.getHeight());
  1302.                   this.field_18.addElement(new j(var1.substring(var6, var10), var7, this.method_24(this.field_28.getHeight(), true), this.field_28, this.field_29));
  1303.                   if (this.field_25 + var9 > var4) {
  1304.                      var4 = this.field_25 + var9;
  1305.                   }
  1306.                }
  1307.  
  1308.                this.method_22(this.field_28.getHeight());
  1309.                var7 = 0;
  1310.                var6 = var5;
  1311.                continue;
  1312.             }
  1313.  
  1314.             if (var8 + 1 >= var3) {
  1315.                if (var2 != null) {
  1316.                   var2.a(this.field_18.size());
  1317.                }
  1318.  
  1319.                this.method_25(this.field_28.getHeight());
  1320.                this.field_18.addElement(new j(var1.substring(var6, var8), var7, this.method_24(this.field_28.getHeight(), true), this.field_28, this.field_29));
  1321.                this.field_25 += var9;
  1322.                if (this.field_25 > var4) {
  1323.                   var4 = this.field_25;
  1324.                }
  1325.             } else {
  1326.                this.field_25 += var9;
  1327.             }
  1328.          }
  1329.  
  1330.          if (var8 < var3) {
  1331.             this.field_25 += this.field_28.charWidth(' ');
  1332.          }
  1333.  
  1334.          var5 = var8 + 1;
  1335.       }
  1336.  
  1337.       if (this.field_7.b) {
  1338.          this.field_7.repaint(0, 0, this.field_5, this.field_6);
  1339.       }
  1340.  
  1341.       return var4;
  1342.    }
  1343.  
  1344.    // $FF: renamed from: a (java.io.InputStream, java.lang.String, int, boolean) void
  1345.    private void method_19(InputStream var1, String var2, int var3, boolean var4) throws IOException {
  1346.       if (var3 != 0) {
  1347.          Object var5 = null;
  1348.          byte[] var10;
  1349.          if (var3 > 0) {
  1350.             var10 = this.method_9(var1, var3, var4 ? 64 : -1);
  1351.          } else {
  1352.             ByteArrayOutputStream var6 = new ByteArrayOutputStream();
  1353.             byte[] var7 = new byte[256];
  1354.  
  1355.             while(true) {
  1356.                Thread.yield();
  1357.                if (this.field_14) {
  1358.                   return;
  1359.                }
  1360.  
  1361.                int var8 = var1.read(var7);
  1362.                if (var8 == -1) {
  1363.                   var10 = var6.toByteArray();
  1364.                   var6.close();
  1365.                   break;
  1366.                }
  1367.  
  1368.                var6.write(var7, 0, var8);
  1369.             }
  1370.          }
  1371.  
  1372.          if (var10 != null && var10.length > 0) {
  1373.             Thread.yield();
  1374.             if (this.field_14) {
  1375.                return;
  1376.             }
  1377.  
  1378.             try {
  1379.                Image var12 = Image.createImage(var10, 0, var10.length);
  1380.                Object var11 = null;
  1381.                Thread.yield();
  1382.                if (this.field_14) {
  1383.                   return;
  1384.                }
  1385.  
  1386.                if (this.field_7.long == null) {
  1387.                   this.field_7.long = new Hashtable();
  1388.                   this.field_7.s = var12.getHeight();
  1389.                   aa var13 = new aa(this.field_7.long, var2, 0, 0, var12.getWidth(), var12.getHeight());
  1390.                   this.field_18.addElement(var13);
  1391.                }
  1392.  
  1393.                this.field_7.long.put(var2, var12);
  1394.                this.field_7.repaint(0, 0, this.field_5, this.field_6);
  1395.             } catch (IllegalArgumentException var9) {
  1396.                if (this.field_7.long == null) {
  1397.                   throw var9;
  1398.                }
  1399.             }
  1400.          }
  1401.  
  1402.       }
  1403.    }
  1404.  
  1405.    // $FF: renamed from: a (java.lang.String, boolean) java.lang.String
  1406.    private final String method_20(String var1, boolean var2) {
  1407.       int var3 = var1.length();
  1408.       StringBuffer var4 = new StringBuffer(var3);
  1409.  
  1410.       for(int var5 = 0; var5 < var3; ++var5) {
  1411.          char var6 = var1.charAt(var5);
  1412.          switch (var6) {
  1413.             case '"':
  1414.                if (var2) {
  1415.                   var4.append(""");
  1416.                   break;
  1417.                }
  1418.             default:
  1419.                if (var6 > 127) {
  1420.                   var4.append("&#" + var6 + ';');
  1421.                } else {
  1422.                   var4.append(var6);
  1423.                }
  1424.                break;
  1425.             case '&':
  1426.                var4.append("&");
  1427.                break;
  1428.             case '<':
  1429.                var4.append("<");
  1430.                break;
  1431.             case '>':
  1432.                var4.append(">");
  1433.          }
  1434.       }
  1435.  
  1436.       return var4.toString();
  1437.    }
  1438.  
  1439.    // $FF: renamed from: a () void
  1440.    private void method_21() {
  1441.       try {
  1442.          this.field_28 = (Font)this.field_27.pop();
  1443.       } catch (EmptyStackException var2) {
  1444.       }
  1445.  
  1446.    }
  1447.  
  1448.    // $FF: renamed from: a (int) void
  1449.    private void method_22(int var1) {
  1450.       this.field_25 = 0;
  1451.       this.field_26 += this.field_30;
  1452.       this.field_30 = var1;
  1453.       this.field_31 = 0;
  1454.       this.field_7.s = this.field_26 + this.field_30;
  1455.    }
  1456.  
  1457.    // $FF: renamed from: do (int) int
  1458.    private int method_23(int var1) {
  1459.       return this.method_24(var1, false);
  1460.    }
  1461.  
  1462.    // $FF: renamed from: a (int, boolean) int
  1463.    private int method_24(int var1, boolean var2) {
  1464.       switch (this.field_31) {
  1465.          case 1:
  1466.             return this.field_26 + (var2 ? 0 : 1);
  1467.          case 2:
  1468.             return this.field_26 + this.field_30 / 2 - var1 / 2;
  1469.          default:
  1470.             return this.field_26 + this.field_30 - var1 - (var2 ? 0 : 1);
  1471.       }
  1472.    }
  1473.  
  1474.    // $FF: renamed from: if (int) void
  1475.    private void method_25(int var1) {
  1476.       if (var1 > this.field_30) {
  1477.          this.field_30 = var1;
  1478.          this.field_7.s = this.field_26 + this.field_30;
  1479.          if (this.field_25 > 0) {
  1480.             this.method_27();
  1481.          }
  1482.       }
  1483.  
  1484.    }
  1485.  
  1486.    // $FF: renamed from: a (byte) void
  1487.    private void method_26(byte var1) {
  1488.       if (this.field_31 != var1) {
  1489.          this.field_31 = var1;
  1490.          this.method_27();
  1491.       }
  1492.  
  1493.    }
  1494.  
  1495.    // $FF: renamed from: for () void
  1496.    private void method_27() {
  1497.       for(int var1 = this.field_18.size() - 1; var1 >= 0; --var1) {
  1498.          c var2 = (c)this.field_18.elementAt(var1);
  1499.          if (var2.if < this.field_26) {
  1500.             break;
  1501.          }
  1502.  
  1503.          var2.if = this.method_24(var2.if(), var2 instanceof j);
  1504.       }
  1505.  
  1506.    }
  1507. }
  1508.