public class org.apache.xmlgraphics.util.uri.DataURIResolver implements javax.xml.transform.URIResolver
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.xmlgraphics.util.uri.DataURIResolver
  super_class: java.lang.Object
{
  private static final org.apache.commons.logging.Log LOG;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 45
            ldc Ljavax/xml/transform/URIResolver;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putstatic org.apache.xmlgraphics.util.uri.DataURIResolver.LOG:Lorg/apache/commons/logging/Log;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.xmlgraphics.util.uri.DataURIResolver this
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.xmlgraphics.util.uri.DataURIResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/xmlgraphics/util/uri/DataURIResolver;

  public javax.xml.transform.Source resolve(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljavax/xml/transform/Source;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.xmlgraphics.util.uri.DataURIResolver this
        start local 1 // java.lang.String href
        start local 2 // java.lang.String base
         0: .line 52
            aload 1 /* href */
            ldc "data:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 53
            aload 0 /* this */
            aload 1 /* href */
            invokevirtual org.apache.xmlgraphics.util.uri.DataURIResolver.parseDataURI:(Ljava/lang/String;)Ljavax/xml/transform/Source;
            areturn
         2: .line 55
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String base
        end local 1 // java.lang.String href
        end local 0 // org.apache.xmlgraphics.util.uri.DataURIResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/xmlgraphics/util/uri/DataURIResolver;
            0    3     1  href  Ljava/lang/String;
            0    3     2  base  Ljava/lang/String;
    Exceptions:
      throws javax.xml.transform.TransformerException
    MethodParameters:
      Name  Flags
      href  
      base  

  private javax.xml.transform.Source parseDataURI(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/xml/transform/Source;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.apache.xmlgraphics.util.uri.DataURIResolver this
        start local 1 // java.lang.String href
         0: .line 66
            aload 1 /* href */
            bipush 44
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* commaPos */
        start local 2 // int commaPos
         1: .line 68
            aload 1 /* href */
            iconst_0
            iload 2 /* commaPos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* header */
        start local 3 // java.lang.String header
         2: .line 69
            aload 1 /* href */
            iload 2 /* commaPos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* data */
        start local 4 // java.lang.String data
         3: .line 70
            aload 3 /* header */
            ldc ";base64"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 14
         4: .line 71
            iconst_0
            newarray 8
            astore 5 /* bytes */
        start local 5 // byte[] bytes
         5: .line 73
            aload 4 /* data */
            ldc "UTF-8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 5 /* bytes */
         6: .line 74
            goto 9
      StackMap locals: org.apache.xmlgraphics.util.uri.DataURIResolver java.lang.String int java.lang.String java.lang.String byte[]
      StackMap stack: java.io.UnsupportedEncodingException
         7: astore 6 /* e */
        start local 6 // java.io.UnsupportedEncodingException e
         8: .line 75
            aload 6 /* e */
            invokevirtual java.io.UnsupportedEncodingException.printStackTrace:()V
        end local 6 // java.io.UnsupportedEncodingException e
         9: .line 77
      StackMap locals:
      StackMap stack:
            new java.io.ByteArrayInputStream
            dup
            aload 5 /* bytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 6 /* encodedStream */
        start local 6 // java.io.ByteArrayInputStream encodedStream
        10: .line 78
            new org.apache.xmlgraphics.util.io.Base64DecodeStream
            dup
        11: .line 79
            aload 6 /* encodedStream */
        12: .line 78
            invokespecial org.apache.xmlgraphics.util.io.Base64DecodeStream.<init>:(Ljava/io/InputStream;)V
            astore 7 /* decodedStream */
        start local 7 // org.apache.xmlgraphics.util.io.Base64DecodeStream decodedStream
        13: .line 80
            new javax.xml.transform.stream.StreamSource
            dup
            aload 7 /* decodedStream */
            aload 1 /* href */
            invokespecial javax.xml.transform.stream.StreamSource.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            areturn
        end local 7 // org.apache.xmlgraphics.util.io.Base64DecodeStream decodedStream
        end local 6 // java.io.ByteArrayInputStream encodedStream
        end local 5 // byte[] bytes
        14: .line 82
      StackMap locals:
      StackMap stack:
            ldc "UTF-8"
            astore 5 /* encoding */
        start local 5 // java.lang.String encoding
        15: .line 83
            aload 3 /* header */
            ldc ";charset="
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 6 /* charsetpos */
        start local 6 // int charsetpos
        16: .line 84
            iload 6 /* charsetpos */
            ifle 18
        17: .line 85
            aload 3 /* header */
            iload 6 /* charsetpos */
            bipush 9
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* encoding */
        18: .line 89
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 4 /* data */
            aload 5 /* encoding */
            invokestatic java.net.URLDecoder.decode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        19: .line 88
            astore 7 /* unescapedString */
        start local 7 // java.lang.String unescapedString
        20: .line 90
            new javax.xml.transform.stream.StreamSource
            dup
            new java.io.StringReader
            dup
        21: .line 91
            aload 7 /* unescapedString */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            aload 1 /* href */
        22: .line 90
            invokespecial javax.xml.transform.stream.StreamSource.<init>:(Ljava/io/Reader;Ljava/lang/String;)V
        23: areturn
        end local 7 // java.lang.String unescapedString
        24: .line 92
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 7 /* e */
        start local 7 // java.lang.IllegalArgumentException e
        25: .line 93
            getstatic org.apache.xmlgraphics.util.uri.DataURIResolver.LOG:Lorg/apache/commons/logging/Log;
            aload 7 /* e */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
        end local 7 // java.lang.IllegalArgumentException e
        26: goto 29
        27: .line 94
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            astore 7 /* e */
        start local 7 // java.io.UnsupportedEncodingException e
        28: .line 95
            getstatic org.apache.xmlgraphics.util.uri.DataURIResolver.LOG:Lorg/apache/commons/logging/Log;
            aload 7 /* e */
            invokevirtual java.io.UnsupportedEncodingException.getMessage:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
        end local 7 // java.io.UnsupportedEncodingException e
        end local 6 // int charsetpos
        end local 5 // java.lang.String encoding
        29: .line 98
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.lang.String data
        end local 3 // java.lang.String header
        end local 2 // int commaPos
        end local 1 // java.lang.String href
        end local 0 // org.apache.xmlgraphics.util.uri.DataURIResolver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   30     0             this  Lorg/apache/xmlgraphics/util/uri/DataURIResolver;
            0   30     1             href  Ljava/lang/String;
            1   30     2         commaPos  I
            2   30     3           header  Ljava/lang/String;
            3   30     4             data  Ljava/lang/String;
            5   14     5            bytes  [B
            8    9     6                e  Ljava/io/UnsupportedEncodingException;
           10   14     6    encodedStream  Ljava/io/ByteArrayInputStream;
           13   14     7    decodedStream  Lorg/apache/xmlgraphics/util/io/Base64DecodeStream;
           15   29     5         encoding  Ljava/lang/String;
           16   29     6       charsetpos  I
           20   24     7  unescapedString  Ljava/lang/String;
           25   26     7                e  Ljava/lang/IllegalArgumentException;
           28   29     7                e  Ljava/io/UnsupportedEncodingException;
      Exception table:
        from    to  target  type
           5     6       7  Class java.io.UnsupportedEncodingException
          18    23      24  Class java.lang.IllegalArgumentException
          18    23      27  Class java.io.UnsupportedEncodingException
    MethodParameters:
      Name  Flags
      href  
}
SourceFile: "DataURIResolver.java"