public class org.eclipse.jgit.util.LfsFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jgit.util.LfsFactory
  super_class: java.lang.Object
{
  private static org.eclipse.jgit.util.LfsFactory instance;
    descriptor: Lorg/eclipse/jgit/util/LfsFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 37
            new org.eclipse.jgit.util.LfsFactory
            dup
            invokespecial org.eclipse.jgit.util.LfsFactory.<init>:()V
            putstatic org.eclipse.jgit.util.LfsFactory.instance:Lorg/eclipse/jgit/util/LfsFactory;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.util.LfsFactory this
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 43
            return
        end local 0 // org.eclipse.jgit.util.LfsFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/util/LfsFactory;

  public static org.eclipse.jgit.util.LfsFactory getInstance();
    descriptor: ()Lorg/eclipse/jgit/util/LfsFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 49
            getstatic org.eclipse.jgit.util.LfsFactory.instance:Lorg/eclipse/jgit/util/LfsFactory;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void setInstance(org.eclipse.jgit.util.LfsFactory);
    descriptor: (Lorg/eclipse/jgit/util/LfsFactory;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.util.LfsFactory instance
         0: .line 58
            aload 0 /* instance */
            putstatic org.eclipse.jgit.util.LfsFactory.instance:Lorg/eclipse/jgit/util/LfsFactory;
         1: .line 59
            return
        end local 0 // org.eclipse.jgit.util.LfsFactory instance
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  instance  Lorg/eclipse/jgit/util/LfsFactory;
    MethodParameters:
          Name  Flags
      instance  

  public boolean isAvailable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.util.LfsFactory this
         0: .line 65
            iconst_0
            ireturn
        end local 0 // org.eclipse.jgit.util.LfsFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/util/LfsFactory;

  public org.eclipse.jgit.util.LfsFactory$LfsInputStream applyCleanFilter(org.eclipse.jgit.lib.Repository, java.io.InputStream, long, org.eclipse.jgit.attributes.Attribute);
    descriptor: (Lorg/eclipse/jgit/lib/Repository;Ljava/io/InputStream;JLorg/eclipse/jgit/attributes/Attribute;)Lorg/eclipse/jgit/util/LfsFactory$LfsInputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.eclipse.jgit.util.LfsFactory this
        start local 1 // org.eclipse.jgit.lib.Repository db
        start local 2 // java.io.InputStream input
        start local 3 // long length
        start local 5 // org.eclipse.jgit.attributes.Attribute attribute
         0: .line 91
            new org.eclipse.jgit.util.LfsFactory$LfsInputStream
            dup
            aload 2 /* input */
            lload 3 /* length */
            invokespecial org.eclipse.jgit.util.LfsFactory$LfsInputStream.<init>:(Ljava/io/InputStream;J)V
            areturn
        end local 5 // org.eclipse.jgit.attributes.Attribute attribute
        end local 3 // long length
        end local 2 // java.io.InputStream input
        end local 1 // org.eclipse.jgit.lib.Repository db
        end local 0 // org.eclipse.jgit.util.LfsFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/eclipse/jgit/util/LfsFactory;
            0    1     1         db  Lorg/eclipse/jgit/lib/Repository;
            0    1     2      input  Ljava/io/InputStream;
            0    1     3     length  J
            0    1     5  attribute  Lorg/eclipse/jgit/attributes/Attribute;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      db         
      input      
      length     
      attribute  

  public org.eclipse.jgit.lib.ObjectLoader applySmudgeFilter(org.eclipse.jgit.lib.Repository, org.eclipse.jgit.lib.ObjectLoader, org.eclipse.jgit.attributes.Attribute);
    descriptor: (Lorg/eclipse/jgit/lib/Repository;Lorg/eclipse/jgit/lib/ObjectLoader;Lorg/eclipse/jgit/attributes/Attribute;)Lorg/eclipse/jgit/lib/ObjectLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.eclipse.jgit.util.LfsFactory this
        start local 1 // org.eclipse.jgit.lib.Repository db
        start local 2 // org.eclipse.jgit.lib.ObjectLoader loader
        start local 3 // org.eclipse.jgit.attributes.Attribute attribute
         0: .line 111
            aload 2 /* loader */
            areturn
        end local 3 // org.eclipse.jgit.attributes.Attribute attribute
        end local 2 // org.eclipse.jgit.lib.ObjectLoader loader
        end local 1 // org.eclipse.jgit.lib.Repository db
        end local 0 // org.eclipse.jgit.util.LfsFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/eclipse/jgit/util/LfsFactory;
            0    1     1         db  Lorg/eclipse/jgit/lib/Repository;
            0    1     2     loader  Lorg/eclipse/jgit/lib/ObjectLoader;
            0    1     3  attribute  Lorg/eclipse/jgit/attributes/Attribute;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      db         
      loader     
      attribute  

  public org.eclipse.jgit.hooks.PrePushHook getPrePushHook(org.eclipse.jgit.lib.Repository, java.io.PrintStream);
    descriptor: (Lorg/eclipse/jgit/lib/Repository;Ljava/io/PrintStream;)Lorg/eclipse/jgit/hooks/PrePushHook;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.eclipse.jgit.util.LfsFactory this
        start local 1 // org.eclipse.jgit.lib.Repository repo
        start local 2 // java.io.PrintStream outputStream
         0: .line 125
            aconst_null
            areturn
        end local 2 // java.io.PrintStream outputStream
        end local 1 // org.eclipse.jgit.lib.Repository repo
        end local 0 // org.eclipse.jgit.util.LfsFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/eclipse/jgit/util/LfsFactory;
            0    1     1          repo  Lorg/eclipse/jgit/lib/Repository;
            0    1     2  outputStream  Ljava/io/PrintStream;
    RuntimeVisibleAnnotations: 
      org.eclipse.jgit.annotations.Nullable()
    MethodParameters:
              Name  Flags
      repo          
      outputStream  

  public org.eclipse.jgit.hooks.PrePushHook getPrePushHook(org.eclipse.jgit.lib.Repository, java.io.PrintStream, java.io.PrintStream);
    descriptor: (Lorg/eclipse/jgit/lib/Repository;Ljava/io/PrintStream;Ljava/io/PrintStream;)Lorg/eclipse/jgit/hooks/PrePushHook;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jgit.util.LfsFactory this
        start local 1 // org.eclipse.jgit.lib.Repository repo
        start local 2 // java.io.PrintStream outputStream
        start local 3 // java.io.PrintStream errorStream
         0: .line 141
            aload 0 /* this */
            aload 1 /* repo */
            aload 2 /* outputStream */
            invokevirtual org.eclipse.jgit.util.LfsFactory.getPrePushHook:(Lorg/eclipse/jgit/lib/Repository;Ljava/io/PrintStream;)Lorg/eclipse/jgit/hooks/PrePushHook;
            areturn
        end local 3 // java.io.PrintStream errorStream
        end local 2 // java.io.PrintStream outputStream
        end local 1 // org.eclipse.jgit.lib.Repository repo
        end local 0 // org.eclipse.jgit.util.LfsFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/eclipse/jgit/util/LfsFactory;
            0    1     1          repo  Lorg/eclipse/jgit/lib/Repository;
            0    1     2  outputStream  Ljava/io/PrintStream;
            0    1     3   errorStream  Ljava/io/PrintStream;
    RuntimeVisibleAnnotations: 
      org.eclipse.jgit.annotations.Nullable()
    MethodParameters:
              Name  Flags
      repo          
      outputStream  
      errorStream   

  public org.eclipse.jgit.util.LfsFactory$LfsInstallCommand getInstallCommand();
    descriptor: ()Lorg/eclipse/jgit/util/LfsFactory$LfsInstallCommand;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.util.LfsFactory this
         0: .line 152
            aconst_null
            areturn
        end local 0 // org.eclipse.jgit.util.LfsFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/util/LfsFactory;
    RuntimeVisibleAnnotations: 
      org.eclipse.jgit.annotations.Nullable()

  public boolean isEnabled(org.eclipse.jgit.lib.Repository);
    descriptor: (Lorg/eclipse/jgit/lib/Repository;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.util.LfsFactory this
        start local 1 // org.eclipse.jgit.lib.Repository db
         0: .line 162
            iconst_0
            ireturn
        end local 1 // org.eclipse.jgit.lib.Repository db
        end local 0 // org.eclipse.jgit.util.LfsFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/util/LfsFactory;
            0    1     1    db  Lorg/eclipse/jgit/lib/Repository;
    MethodParameters:
      Name  Flags
      db    

  public static org.eclipse.jgit.attributes.Attributes getAttributesForPath(org.eclipse.jgit.lib.Repository, java.lang.String);
    descriptor: (Lorg/eclipse/jgit/lib/Repository;Ljava/lang/String;)Lorg/eclipse/jgit/attributes/Attributes;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.eclipse.jgit.lib.Repository db
        start local 1 // java.lang.String path
         0: .line 176
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: new org.eclipse.jgit.treewalk.TreeWalk
            dup
            aload 0 /* db */
            invokespecial org.eclipse.jgit.treewalk.TreeWalk.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
            astore 4 /* walk */
        start local 4 // org.eclipse.jgit.treewalk.TreeWalk walk
         2: .line 177
            aload 4 /* walk */
            new org.eclipse.jgit.treewalk.FileTreeIterator
            dup
            aload 0 /* db */
            invokespecial org.eclipse.jgit.treewalk.FileTreeIterator.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.addTree:(Lorg/eclipse/jgit/treewalk/AbstractTreeIterator;)I
            pop
         3: .line 178
            aload 1 /* path */
            invokestatic org.eclipse.jgit.treewalk.filter.PathFilter.create:(Ljava/lang/String;)Lorg/eclipse/jgit/treewalk/filter/PathFilter;
            astore 5 /* f */
        start local 5 // org.eclipse.jgit.treewalk.filter.PathFilter f
         4: .line 179
            aload 4 /* walk */
            aload 5 /* f */
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.setFilter:(Lorg/eclipse/jgit/treewalk/filter/TreeFilter;)V
         5: .line 180
            aload 4 /* walk */
            iconst_0
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.setRecursive:(Z)V
         6: .line 181
            aconst_null
            astore 6 /* attr */
        start local 6 // org.eclipse.jgit.attributes.Attributes attr
         7: .line 182
            goto 13
         8: .line 183
      StackMap locals: org.eclipse.jgit.lib.Repository java.lang.String java.lang.Throwable java.lang.Throwable org.eclipse.jgit.treewalk.TreeWalk org.eclipse.jgit.treewalk.filter.PathFilter org.eclipse.jgit.attributes.Attributes
      StackMap stack:
            aload 5 /* f */
            aload 4 /* walk */
            invokevirtual org.eclipse.jgit.treewalk.filter.PathFilter.isDone:(Lorg/eclipse/jgit/treewalk/TreeWalk;)Z
            ifeq 11
         9: .line 184
            aload 4 /* walk */
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.getAttributes:()Lorg/eclipse/jgit/attributes/Attributes;
            astore 6 /* attr */
        10: .line 185
            goto 14
        11: .line 186
      StackMap locals:
      StackMap stack:
            aload 4 /* walk */
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.isSubtree:()Z
            ifeq 13
        12: .line 187
            aload 4 /* walk */
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.enterSubtree:()V
        13: .line 182
      StackMap locals:
      StackMap stack:
            aload 4 /* walk */
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.next:()Z
            ifne 8
        14: .line 190
      StackMap locals:
      StackMap stack:
            aload 6 /* attr */
            ifnonnull 18
        15: .line 191
            new java.io.IOException
            dup
        16: .line 192
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.noPathAttributesFound:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* path */
            aastore
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        17: .line 191
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 195
      StackMap locals:
      StackMap stack:
            aload 6 /* attr */
        19: .line 196
            aload 4 /* walk */
            ifnull 20
            aload 4 /* walk */
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.close:()V
        20: .line 195
      StackMap locals:
      StackMap stack: org.eclipse.jgit.attributes.Attributes
            areturn
        end local 6 // org.eclipse.jgit.attributes.Attributes attr
        end local 5 // org.eclipse.jgit.treewalk.filter.PathFilter f
      StackMap locals: org.eclipse.jgit.lib.Repository java.lang.String java.lang.Throwable java.lang.Throwable org.eclipse.jgit.treewalk.TreeWalk
      StackMap stack: java.lang.Throwable
        21: astore 2
        22: .line 196
            aload 4 /* walk */
            ifnull 23
            aload 4 /* walk */
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.close:()V
        end local 4 // org.eclipse.jgit.treewalk.TreeWalk walk
      StackMap locals:
      StackMap stack:
        23: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 3
            aload 2
            ifnonnull 25
            aload 3
            astore 2
            goto 26
      StackMap locals:
      StackMap stack:
        25: aload 2
            aload 3
            if_acmpeq 26
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        26: aload 2
            athrow
        end local 1 // java.lang.String path
        end local 0 // org.eclipse.jgit.lib.Repository db
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0    db  Lorg/eclipse/jgit/lib/Repository;
            0   27     1  path  Ljava/lang/String;
            2   23     4  walk  Lorg/eclipse/jgit/treewalk/TreeWalk;
            4   21     5     f  Lorg/eclipse/jgit/treewalk/filter/PathFilter;
            7   21     6  attr  Lorg/eclipse/jgit/attributes/Attributes;
      Exception table:
        from    to  target  type
           2    19      21  any
           1    20      24  any
          21    24      24  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      db    
      path  

  public static org.eclipse.jgit.attributes.Attributes getAttributesForPath(org.eclipse.jgit.lib.Repository, java.lang.String, org.eclipse.jgit.revwalk.RevCommit);
    descriptor: (Lorg/eclipse/jgit/lib/Repository;Ljava/lang/String;Lorg/eclipse/jgit/revwalk/RevCommit;)Lorg/eclipse/jgit/attributes/Attributes;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // org.eclipse.jgit.lib.Repository db
        start local 1 // java.lang.String path
        start local 2 // org.eclipse.jgit.revwalk.RevCommit commit
         0: .line 214
            aload 2 /* commit */
            ifnonnull 2
         1: .line 215
            aload 0 /* db */
            aload 1 /* path */
            invokestatic org.eclipse.jgit.util.LfsFactory.getAttributesForPath:(Lorg/eclipse/jgit/lib/Repository;Ljava/lang/String;)Lorg/eclipse/jgit/attributes/Attributes;
            areturn
         2: .line 218
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: aload 0 /* db */
            aload 1 /* path */
            aload 2 /* commit */
            invokevirtual org.eclipse.jgit.revwalk.RevCommit.getTree:()Lorg/eclipse/jgit/revwalk/RevTree;
            invokestatic org.eclipse.jgit.treewalk.TreeWalk.forPath:(Lorg/eclipse/jgit/lib/Repository;Ljava/lang/String;Lorg/eclipse/jgit/revwalk/RevTree;)Lorg/eclipse/jgit/treewalk/TreeWalk;
            astore 5 /* walk */
        start local 5 // org.eclipse.jgit.treewalk.TreeWalk walk
         4: .line 219
            aload 5 /* walk */
            ifnonnull 5
            aconst_null
            goto 6
      StackMap locals: java.lang.Throwable java.lang.Throwable org.eclipse.jgit.treewalk.TreeWalk
      StackMap stack:
         5: aload 5 /* walk */
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.getAttributes:()Lorg/eclipse/jgit/attributes/Attributes;
      StackMap locals:
      StackMap stack: org.eclipse.jgit.attributes.Attributes
         6: astore 6 /* attr */
        start local 6 // org.eclipse.jgit.attributes.Attributes attr
         7: .line 220
            aload 6 /* attr */
            ifnonnull 11
         8: .line 221
            new java.io.IOException
            dup
         9: .line 222
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.noPathAttributesFound:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* path */
            aastore
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        10: .line 221
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 225
      StackMap locals: org.eclipse.jgit.attributes.Attributes
      StackMap stack:
            aload 6 /* attr */
        12: .line 226
            aload 5 /* walk */
            ifnull 13
            aload 5 /* walk */
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.close:()V
        13: .line 225
      StackMap locals:
      StackMap stack: org.eclipse.jgit.attributes.Attributes
            areturn
        end local 6 // org.eclipse.jgit.attributes.Attributes attr
      StackMap locals: org.eclipse.jgit.lib.Repository java.lang.String org.eclipse.jgit.revwalk.RevCommit java.lang.Throwable java.lang.Throwable org.eclipse.jgit.treewalk.TreeWalk
      StackMap stack: java.lang.Throwable
        14: astore 3
        15: .line 226
            aload 5 /* walk */
            ifnull 16
            aload 5 /* walk */
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.close:()V
        end local 5 // org.eclipse.jgit.treewalk.TreeWalk walk
      StackMap locals:
      StackMap stack:
        16: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 4
            aload 3
            ifnonnull 18
            aload 4
            astore 3
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 3
            aload 4
            if_acmpeq 19
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 3
            athrow
        end local 2 // org.eclipse.jgit.revwalk.RevCommit commit
        end local 1 // java.lang.String path
        end local 0 // org.eclipse.jgit.lib.Repository db
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0      db  Lorg/eclipse/jgit/lib/Repository;
            0   20     1    path  Ljava/lang/String;
            0   20     2  commit  Lorg/eclipse/jgit/revwalk/RevCommit;
            4   16     5    walk  Lorg/eclipse/jgit/treewalk/TreeWalk;
            7   14     6    attr  Lorg/eclipse/jgit/attributes/Attributes;
      Exception table:
        from    to  target  type
           4    12      14  any
           3    13      17  any
          14    17      17  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      db      
      path    
      commit  
}
SourceFile: "LfsFactory.java"
NestMembers:
  org.eclipse.jgit.util.LfsFactory$LfsInputStream  org.eclipse.jgit.util.LfsFactory$LfsInstallCommand
InnerClasses:
  public final LfsInputStream = org.eclipse.jgit.util.LfsFactory$LfsInputStream of org.eclipse.jgit.util.LfsFactory
  public abstract LfsInstallCommand = org.eclipse.jgit.util.LfsFactory$LfsInstallCommand of org.eclipse.jgit.util.LfsFactory