public class sun.print.UnixPrintServiceLookup extends javax.print.PrintServiceLookup implements sun.print.BackgroundServiceLookup, java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.print.UnixPrintServiceLookup
  super_class: javax.print.PrintServiceLookup
{
  private java.lang.String defaultPrinter;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private javax.print.PrintService defaultPrintService;
    descriptor: Ljavax/print/PrintService;
    flags: (0x0002) ACC_PRIVATE

  private javax.print.PrintService[] printServices;
    descriptor: [Ljavax/print/PrintService;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Vector lookupListeners;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE

  private static java.lang.String debugPrefix;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean pollServices;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final int DEFAULT_MINREFRESH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 120

  private static int minRefreshTime;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static java.lang.String osname;
    descriptor: Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static final int UNINITIALIZED;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  static final int BSD_LPD;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int BSD_LPD_NG;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static int cmdIndex;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  java.lang.String[] lpcFirstCom;
    descriptor: [Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String[] lpcAllCom;
    descriptor: [Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String[] lpcNameCom;
    descriptor: [Ljava/lang/String;
    flags: (0x0000) 

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 71
            ldc "UnixPrintServiceLookup>> "
            putstatic sun.print.UnixPrintServiceLookup.debugPrefix:Ljava/lang/String;
         1: .line 72
            iconst_1
            putstatic sun.print.UnixPrintServiceLookup.pollServices:Z
         2: .line 74
            bipush 120
            putstatic sun.print.UnixPrintServiceLookup.minRefreshTime:I
         3: .line 85
            new sun.security.action.GetPropertyAction
            dup
            ldc "sun.java2d.print.polling"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         4: .line 84
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 0 /* pollStr */
        start local 0 // java.lang.String pollStr
         5: .line 87
            aload 0 /* pollStr */
            ifnull 11
         6: .line 88
            aload 0 /* pollStr */
            ldc "true"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 9
         7: .line 89
            iconst_1
            putstatic sun.print.UnixPrintServiceLookup.pollServices:Z
         8: .line 90
            goto 11
      StackMap locals: java.lang.String
      StackMap stack:
         9: aload 0 /* pollStr */
            ldc "false"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 11
        10: .line 91
            iconst_0
            putstatic sun.print.UnixPrintServiceLookup.pollServices:Z
        11: .line 100
      StackMap locals:
      StackMap stack:
            new sun.security.action.GetPropertyAction
            dup
        12: .line 101
            ldc "sun.java2d.print.minRefreshTime"
        13: .line 100
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
        14: .line 99
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* refreshTimeStr */
        start local 1 // java.lang.String refreshTimeStr
        15: .line 103
            aload 1 /* refreshTimeStr */
            ifnull 21
        16: .line 105
            new java.lang.Integer
            dup
            aload 1 /* refreshTimeStr */
            invokespecial java.lang.Integer.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.Integer.intValue:()I
            putstatic sun.print.UnixPrintServiceLookup.minRefreshTime:I
        17: .line 106
            goto 19
      StackMap locals: java.lang.String java.lang.String
      StackMap stack: java.lang.NumberFormatException
        18: pop
        19: .line 108
      StackMap locals:
      StackMap stack:
            getstatic sun.print.UnixPrintServiceLookup.minRefreshTime:I
            bipush 120
            if_icmpge 21
        20: .line 109
            bipush 120
            putstatic sun.print.UnixPrintServiceLookup.minRefreshTime:I
        21: .line 114
      StackMap locals:
      StackMap stack:
            new sun.security.action.GetPropertyAction
            dup
            ldc "os.name"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
        22: .line 113
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            putstatic sun.print.UnixPrintServiceLookup.osname:Ljava/lang/String;
        end local 1 // java.lang.String refreshTimeStr
        end local 0 // java.lang.String pollStr
        23: .line 129
            iconst_m1
            putstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
            return
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            5   23     0         pollStr  Ljava/lang/String;
           15   23     1  refreshTimeStr  Ljava/lang/String;
      Exception table:
        from    to  target  type
          16    17      18  Class java.lang.NumberFormatException

  static boolean isSysV();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 118
            getstatic sun.print.UnixPrintServiceLookup.osname:Ljava/lang/String;
            ldc "SunOS"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static boolean isBSD();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 122
            getstatic sun.print.UnixPrintServiceLookup.osname:Ljava/lang/String;
            ldc "Linux"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int getBSDCommandIndex();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=0
         0: .line 148
            ldc "/usr/sbin/lpc status"
            astore 0 /* command */
        start local 0 // java.lang.String command
         1: .line 149
            aload 0 /* command */
            invokestatic sun.print.UnixPrintServiceLookup.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* names */
        start local 1 // java.lang.String[] names
         2: .line 151
            aload 1 /* names */
            ifnull 3
            aload 1 /* names */
            arraylength
            ifne 4
         3: .line 152
      StackMap locals: java.lang.String java.lang.String[]
      StackMap stack:
            iconst_1
            ireturn
         4: .line 155
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         5: goto 9
         6: .line 156
      StackMap locals: int
      StackMap stack:
            aload 1 /* names */
            iload 2 /* i */
            aaload
            bipush 64
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 8
         7: .line 157
            iconst_1
            ireturn
         8: .line 155
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 1 /* names */
            arraylength
            if_icmplt 6
        end local 2 // int i
        10: .line 161
            iconst_0
            ireturn
        end local 1 // java.lang.String[] names
        end local 0 // java.lang.String command
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1   11     0  command  Ljava/lang/String;
            2   11     1    names  [Ljava/lang/String;
            5   10     2        i  I

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // sun.print.UnixPrintServiceLookup this
         0: .line 165
            aload 0 /* this */
            invokespecial javax.print.PrintServiceLookup.<init>:()V
         1: .line 70
            aload 0 /* this */
            aconst_null
            putfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
         2: .line 131
            aload 0 /* this */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 132
            ldc "/usr/sbin/lpc status | grep : | sed -ne '1,1 s/://p'"
            aastore
            dup
            iconst_1
         4: .line 133
            ldc "/usr/sbin/lpc status | grep -E '^[ 0-9a-zA-Z_-]*@' | awk -F'@' '{print $1}'"
            aastore
            putfield sun.print.UnixPrintServiceLookup.lpcFirstCom:[Ljava/lang/String;
         5: .line 136
            aload 0 /* this */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         6: .line 137
            ldc "/usr/sbin/lpc status | grep : | sed -e 's/://'"
            aastore
            dup
            iconst_1
         7: .line 138
            ldc "/usr/sbin/lpc -a status | grep -E '^[ 0-9a-zA-Z_-]*@' | awk -F'@' '{print $1}' | sort"
            aastore
            putfield sun.print.UnixPrintServiceLookup.lpcAllCom:[Ljava/lang/String;
         8: .line 141
            aload 0 /* this */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         9: .line 142
            ldc "| grep : | sed -ne 's/://p'"
            aastore
            dup
            iconst_1
        10: .line 143
            ldc "| grep -E '^[ 0-9a-zA-Z_-]*@' | awk -F'@' '{print $1}'"
            aastore
            putfield sun.print.UnixPrintServiceLookup.lpcNameCom:[Ljava/lang/String;
        11: .line 167
            getstatic sun.print.UnixPrintServiceLookup.pollServices:Z
            ifeq 16
        12: .line 168
            new sun.print.UnixPrintServiceLookup$PrinterChangeListener
            dup
            aload 0 /* this */
            invokespecial sun.print.UnixPrintServiceLookup$PrinterChangeListener.<init>:(Lsun/print/UnixPrintServiceLookup;)V
            astore 1 /* thr */
        start local 1 // sun.print.UnixPrintServiceLookup$PrinterChangeListener thr
        13: .line 169
            aload 1 /* thr */
            iconst_1
            invokevirtual sun.print.UnixPrintServiceLookup$PrinterChangeListener.setDaemon:(Z)V
        14: .line 170
            aload 1 /* thr */
            invokevirtual sun.print.UnixPrintServiceLookup$PrinterChangeListener.start:()V
        15: .line 171
            new java.lang.StringBuilder
            dup
            getstatic sun.print.UnixPrintServiceLookup.debugPrefix:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "polling turned on"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
        end local 1 // sun.print.UnixPrintServiceLookup$PrinterChangeListener thr
        16: .line 173
      StackMap locals: sun.print.UnixPrintServiceLookup
      StackMap stack:
            return
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lsun/print/UnixPrintServiceLookup;
           13   16     1   thr  Lsun/print/UnixPrintServiceLookup$PrinterChangeListener;

  public synchronized javax.print.PrintService[] getPrintServices();
    descriptor: ()[Ljavax/print/PrintService;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // sun.print.UnixPrintServiceLookup this
         0: .line 181
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* security */
        start local 1 // java.lang.SecurityManager security
         1: .line 182
            aload 1 /* security */
            ifnull 3
         2: .line 183
            aload 1 /* security */
            invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
         3: .line 186
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            ifnull 4
            getstatic sun.print.UnixPrintServiceLookup.pollServices:Z
            ifne 5
         4: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.print.UnixPrintServiceLookup.refreshServices:()V
         5: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            ifnonnull 7
         6: .line 190
            iconst_0
            anewarray javax.print.PrintService
            areturn
         7: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            areturn
        end local 1 // java.lang.SecurityManager security
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lsun/print/UnixPrintServiceLookup;
            1    8     1  security  Ljava/lang/SecurityManager;

  public synchronized void refreshServices();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=8, args_size=1
        start local 0 // sun.print.UnixPrintServiceLookup this
         0: .line 200
            aconst_null
            astore 1 /* printers */
        start local 1 // java.lang.String[] printers
         1: .line 201
            aconst_null
            astore 2 /* printerURIs */
        start local 2 // java.lang.String[] printerURIs
         2: .line 203
            aload 0 /* this */
            invokevirtual sun.print.UnixPrintServiceLookup.getDefaultPrintService:()Ljavax/print/PrintService;
            pop
         3: .line 204
            invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
            ifeq 14
         4: .line 205
            invokestatic sun.print.CUPSPrinter.getAllPrinters:()[Ljava/lang/String;
            astore 2 /* printerURIs */
         5: .line 206
            aload 2 /* printerURIs */
            ifnull 18
            aload 2 /* printerURIs */
            arraylength
            ifle 18
         6: .line 207
            aload 2 /* printerURIs */
            arraylength
            anewarray java.lang.String
            astore 1 /* printers */
         7: .line 208
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 209
      StackMap locals: java.lang.String[] java.lang.String[] int
      StackMap stack:
            aload 2 /* printerURIs */
            iload 3 /* i */
            aaload
            ldc "/"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 4 /* lastIndex */
        start local 4 // int lastIndex
        10: .line 210
            aload 1 /* printers */
            iload 3 /* i */
            aload 2 /* printerURIs */
            iload 3 /* i */
            aaload
            iload 4 /* lastIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            aastore
        end local 4 // int lastIndex
        11: .line 208
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 2 /* printerURIs */
            arraylength
            if_icmplt 9
        end local 3 // int i
        13: .line 213
            goto 18
        14: .line 214
      StackMap locals:
      StackMap stack:
            invokestatic sun.print.UnixPrintServiceLookup.isSysV:()Z
            ifeq 17
        15: .line 215
            aload 0 /* this */
            invokevirtual sun.print.UnixPrintServiceLookup.getAllPrinterNamesSysV:()[Ljava/lang/String;
            astore 1 /* printers */
        16: .line 216
            goto 18
        17: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.print.UnixPrintServiceLookup.getAllPrinterNamesBSD:()[Ljava/lang/String;
            astore 1 /* printers */
        18: .line 221
      StackMap locals:
      StackMap stack:
            aload 1 /* printers */
            ifnonnull 25
        19: .line 222
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            ifnull 23
        20: .line 223
            aload 0 /* this */
            iconst_1
            anewarray javax.print.PrintService
            putfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
        21: .line 224
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iconst_0
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            aastore
        22: .line 225
            goto 24
        23: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
        24: .line 228
      StackMap locals:
      StackMap stack:
            return
        25: .line 231
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* printerList */
        start local 3 // java.util.ArrayList printerList
        26: .line 232
            iconst_m1
            istore 4 /* defaultIndex */
        start local 4 // int defaultIndex
        27: .line 233
            iconst_0
            istore 5 /* p */
        start local 5 // int p
        28: goto 78
        29: .line 234
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 1 /* printers */
            iload 5 /* p */
            aaload
            ifnonnull 31
        30: .line 235
            goto 77
        31: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            ifnull 36
        32: .line 238
            aload 1 /* printers */
            iload 5 /* p */
            aaload
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            invokeinterface javax.print.PrintService.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 36
        33: .line 239
            aload 3 /* printerList */
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        34: .line 240
            aload 3 /* printerList */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 4 /* defaultIndex */
        35: .line 241
            goto 77
        36: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            ifnonnull 54
        37: .line 243
            new java.lang.StringBuilder
            dup
            getstatic sun.print.UnixPrintServiceLookup.debugPrefix:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        38: .line 244
            ldc "total# of printers = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* printers */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        39: .line 243
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
        40: .line 246
            invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
            ifeq 52
        41: .line 248
            aload 3 /* printerList */
            new sun.print.IPPPrintService
            dup
            aload 1 /* printers */
            iload 5 /* p */
            aaload
        42: .line 249
            aload 2 /* printerURIs */
            iload 5 /* p */
            aaload
        43: .line 250
            iconst_1
            invokespecial sun.print.IPPPrintService.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
        44: .line 248
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        45: .line 251
            goto 77
      StackMap locals:
      StackMap stack: java.lang.Exception
        46: astore 6 /* e */
        start local 6 // java.lang.Exception e
        47: .line 252
            new java.lang.StringBuilder
            dup
            getstatic sun.print.UnixPrintServiceLookup.debugPrefix:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        48: .line 253
            ldc " getAllPrinters Exception "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        49: .line 254
            aload 6 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        50: .line 252
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
        end local 6 // java.lang.Exception e
        51: .line 257
            goto 77
        52: .line 258
      StackMap locals:
      StackMap stack:
            aload 3 /* printerList */
            new sun.print.UnixPrintService
            dup
            aload 1 /* printers */
            iload 5 /* p */
            aaload
            invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        53: .line 260
            goto 77
        54: .line 262
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        55: goto 62
        56: .line 263
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 6 /* j */
            aaload
            ifnull 61
        57: .line 264
            aload 1 /* printers */
            iload 5 /* p */
            aaload
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 6 /* j */
            aaload
            invokeinterface javax.print.PrintService.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 61
        58: .line 265
            aload 3 /* printerList */
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 6 /* j */
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        59: .line 266
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 6 /* j */
            aconst_null
            aastore
        60: .line 267
            goto 63
        61: .line 262
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        62: iload 6 /* j */
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            arraylength
            if_icmplt 56
        63: .line 271
      StackMap locals:
      StackMap stack:
            iload 6 /* j */
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            arraylength
            if_icmpne 77
        64: .line 272
            invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
            ifeq 76
        65: .line 274
            aload 3 /* printerList */
            new sun.print.IPPPrintService
            dup
            aload 1 /* printers */
            iload 5 /* p */
            aaload
        66: .line 275
            aload 2 /* printerURIs */
            iload 5 /* p */
            aaload
        67: .line 276
            iconst_1
            invokespecial sun.print.IPPPrintService.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
        68: .line 274
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        69: .line 277
            goto 77
      StackMap locals:
      StackMap stack: java.lang.Exception
        70: astore 7 /* e */
        start local 7 // java.lang.Exception e
        71: .line 278
            new java.lang.StringBuilder
            dup
            getstatic sun.print.UnixPrintServiceLookup.debugPrefix:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        72: .line 279
            ldc " getAllPrinters Exception "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        73: .line 280
            aload 7 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        74: .line 278
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
        end local 7 // java.lang.Exception e
        75: .line 283
            goto 77
        76: .line 284
      StackMap locals:
      StackMap stack:
            aload 3 /* printerList */
            new sun.print.UnixPrintService
            dup
            aload 1 /* printers */
            iload 5 /* p */
            aaload
            invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // int j
        77: .line 233
      StackMap locals:
      StackMap stack:
            iinc 5 /* p */ 1
      StackMap locals:
      StackMap stack:
        78: iload 5 /* p */
            aload 1 /* printers */
            arraylength
            if_icmplt 29
        end local 5 // int p
        79: .line 292
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            ifnull 87
        80: .line 293
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        81: goto 86
        82: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 5 /* j */
            aaload
            instanceof sun.print.UnixPrintService
            ifeq 85
        83: .line 295
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 5 /* j */
            aaload
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            invokeinterface javax.print.PrintService.equals:(Ljava/lang/Object;)Z
            ifne 85
        84: .line 296
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 5 /* j */
            aaload
            checkcast sun.print.UnixPrintService
            invokevirtual sun.print.UnixPrintService.invalidateService:()V
        85: .line 293
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        86: iload 5 /* j */
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            arraylength
            if_icmplt 82
        end local 5 // int j
        87: .line 302
      StackMap locals:
      StackMap stack:
            iload 4 /* defaultIndex */
            iconst_m1
            if_icmpne 90
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            ifnull 90
        88: .line 304
            aload 3 /* printerList */
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        89: .line 305
            aload 3 /* printerList */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 4 /* defaultIndex */
        90: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* printerList */
        91: .line 309
            iconst_0
            anewarray javax.print.PrintService
        92: .line 308
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast javax.print.PrintService[]
            putfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
        93: .line 312
            iload 4 /* defaultIndex */
            ifle 97
        94: .line 313
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iconst_0
            aaload
            astore 5 /* saveService */
        start local 5 // javax.print.PrintService saveService
        95: .line 314
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iconst_0
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 4 /* defaultIndex */
            aaload
            aastore
        96: .line 315
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 4 /* defaultIndex */
            aload 5 /* saveService */
            aastore
        end local 5 // javax.print.PrintService saveService
        97: .line 317
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int defaultIndex
        end local 3 // java.util.ArrayList printerList
        end local 2 // java.lang.String[] printerURIs
        end local 1 // java.lang.String[] printers
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   98     0          this  Lsun/print/UnixPrintServiceLookup;
            1   98     1      printers  [Ljava/lang/String;
            2   98     2   printerURIs  [Ljava/lang/String;
            8   13     3             i  I
           10   11     4     lastIndex  I
           26   98     3   printerList  Ljava/util/ArrayList;
           27   98     4  defaultIndex  I
           28   79     5             p  I
           47   51     6             e  Ljava/lang/Exception;
           55   77     6             j  I
           71   75     7             e  Ljava/lang/Exception;
           81   87     5             j  I
           95   97     5   saveService  Ljavax/print/PrintService;
      Exception table:
        from    to  target  type
          41    45      46  Class java.lang.Exception
          65    69      70  Class java.lang.Exception

  private boolean matchesAttributes(javax.print.PrintService, javax.print.attribute.PrintServiceAttributeSet);
    descriptor: (Ljavax/print/PrintService;Ljavax/print/attribute/PrintServiceAttributeSet;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // sun.print.UnixPrintServiceLookup this
        start local 1 // javax.print.PrintService service
        start local 2 // javax.print.attribute.PrintServiceAttributeSet attributes
         0: .line 322
            aload 2 /* attributes */
            invokeinterface javax.print.attribute.PrintServiceAttributeSet.toArray:()[Ljavax/print/attribute/Attribute;
            astore 3 /* attrs */
        start local 3 // javax.print.attribute.Attribute[] attrs
         1: .line 324
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 8
         3: .line 326
      StackMap locals: sun.print.UnixPrintServiceLookup javax.print.PrintService javax.print.attribute.PrintServiceAttributeSet javax.print.attribute.Attribute[] top int
      StackMap stack:
            aload 1 /* service */
            aload 3 /* attrs */
            iload 5 /* i */
            aaload
            invokeinterface javax.print.attribute.Attribute.getCategory:()Ljava/lang/Class;
            invokeinterface javax.print.PrintService.getAttribute:(Ljava/lang/Class;)Ljavax/print/attribute/PrintServiceAttribute;
         4: .line 325
            astore 4 /* serviceAttr */
        start local 4 // javax.print.attribute.Attribute serviceAttr
         5: .line 327
            aload 4 /* serviceAttr */
            ifnull 6
            aload 4 /* serviceAttr */
            aload 3 /* attrs */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 328
      StackMap locals: sun.print.UnixPrintServiceLookup javax.print.PrintService javax.print.attribute.PrintServiceAttributeSet javax.print.attribute.Attribute[] javax.print.attribute.Attribute int
      StackMap stack:
            iconst_0
            ireturn
         7: .line 324
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
        end local 4 // javax.print.attribute.Attribute serviceAttr
      StackMap locals: sun.print.UnixPrintServiceLookup javax.print.PrintService javax.print.attribute.PrintServiceAttributeSet javax.print.attribute.Attribute[] top int
      StackMap stack:
         8: iload 5 /* i */
            aload 3 /* attrs */
            arraylength
            if_icmplt 3
        end local 5 // int i
         9: .line 331
            iconst_1
            ireturn
        end local 3 // javax.print.attribute.Attribute[] attrs
        end local 2 // javax.print.attribute.PrintServiceAttributeSet attributes
        end local 1 // javax.print.PrintService service
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lsun/print/UnixPrintServiceLookup;
            0   10     1      service  Ljavax/print/PrintService;
            0   10     2   attributes  Ljavax/print/attribute/PrintServiceAttributeSet;
            1   10     3        attrs  [Ljavax/print/attribute/Attribute;
            5    8     4  serviceAttr  Ljavax/print/attribute/Attribute;
            2    9     5            i  I
    MethodParameters:
            Name  Flags
      service     
      attributes  

  private boolean checkPrinterName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.print.UnixPrintServiceLookup this
        start local 1 // java.lang.String s
         0: .line 340
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 8
         2: .line 341
      StackMap locals: sun.print.UnixPrintServiceLookup java.lang.String top int
      StackMap stack:
            aload 1 /* s */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* c */
        start local 2 // char c
         3: .line 342
            iload 2 /* c */
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifne 7
         4: .line 343
            iload 2 /* c */
            bipush 45
            if_icmpeq 7
            iload 2 /* c */
            bipush 95
            if_icmpeq 7
            iload 2 /* c */
            bipush 46
            if_icmpeq 7
            iload 2 /* c */
            bipush 47
            if_icmpne 6
         5: .line 344
            goto 7
         6: .line 346
      StackMap locals: sun.print.UnixPrintServiceLookup java.lang.String int int
      StackMap stack:
            iconst_0
            ireturn
         7: .line 340
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 2 // char c
      StackMap locals: sun.print.UnixPrintServiceLookup java.lang.String top int
      StackMap stack:
         8: iload 3 /* i */
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
        end local 3 // int i
         9: .line 349
            iconst_1
            ireturn
        end local 1 // java.lang.String s
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/print/UnixPrintServiceLookup;
            0   10     1     s  Ljava/lang/String;
            3    8     2     c  C
            1    9     3     i  I
    MethodParameters:
      Name  Flags
      s     

  private javax.print.PrintService getServiceByName(javax.print.attribute.standard.PrinterName);
    descriptor: (Ljavax/print/attribute/standard/PrinterName;)Ljavax/print/PrintService;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.print.UnixPrintServiceLookup this
        start local 1 // javax.print.attribute.standard.PrinterName nameAttr
         0: .line 357
            aload 1 /* nameAttr */
            invokevirtual javax.print.attribute.standard.PrinterName.getValue:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 358
            aconst_null
            astore 3 /* printer */
        start local 3 // javax.print.PrintService printer
         2: .line 359
            aload 2 /* name */
            ifnull 3
            aload 2 /* name */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual sun.print.UnixPrintServiceLookup.checkPrinterName:(Ljava/lang/String;)Z
            ifne 4
         3: .line 360
      StackMap locals: java.lang.String javax.print.PrintService
      StackMap stack:
            aconst_null
            areturn
         4: .line 362
      StackMap locals:
      StackMap stack:
            invokestatic sun.print.UnixPrintServiceLookup.isSysV:()Z
            ifeq 7
         5: .line 363
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual sun.print.UnixPrintServiceLookup.getNamedPrinterNameSysV:(Ljava/lang/String;)Ljavax/print/PrintService;
            astore 3 /* printer */
         6: .line 364
            goto 8
         7: .line 365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual sun.print.UnixPrintServiceLookup.getNamedPrinterNameBSD:(Ljava/lang/String;)Ljavax/print/PrintService;
            astore 3 /* printer */
         8: .line 367
      StackMap locals:
      StackMap stack:
            aload 3 /* printer */
            areturn
        end local 3 // javax.print.PrintService printer
        end local 2 // java.lang.String name
        end local 1 // javax.print.attribute.standard.PrinterName nameAttr
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lsun/print/UnixPrintServiceLookup;
            0    9     1  nameAttr  Ljavax/print/attribute/standard/PrinterName;
            1    9     2      name  Ljava/lang/String;
            2    9     3   printer  Ljavax/print/PrintService;
    MethodParameters:
          Name  Flags
      nameAttr  

  private javax.print.PrintService[] getPrintServices(javax.print.attribute.PrintServiceAttributeSet);
    descriptor: (Ljavax/print/attribute/PrintServiceAttributeSet;)[Ljavax/print/PrintService;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // sun.print.UnixPrintServiceLookup this
        start local 1 // javax.print.attribute.PrintServiceAttributeSet serviceSet
         0: .line 373
            aload 1 /* serviceSet */
            ifnull 1
            aload 1 /* serviceSet */
            invokeinterface javax.print.attribute.PrintServiceAttributeSet.isEmpty:()Z
            ifeq 2
         1: .line 374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.print.UnixPrintServiceLookup.getPrintServices:()[Ljavax/print/PrintService;
            areturn
         2: .line 385
      StackMap locals:
      StackMap stack:
            aload 1 /* serviceSet */
            ldc Ljavax/print/attribute/standard/PrinterName;
            invokeinterface javax.print.attribute.PrintServiceAttributeSet.get:(Ljava/lang/Class;)Ljavax/print/attribute/Attribute;
            checkcast javax.print.attribute.standard.PrinterName
            astore 3 /* name */
        start local 3 // javax.print.attribute.standard.PrinterName name
         3: .line 387
            aload 3 /* name */
            ifnull 20
            aload 0 /* this */
            invokevirtual sun.print.UnixPrintServiceLookup.getDefaultPrintService:()Ljavax/print/PrintService;
            dup
            astore 4 /* defService */
        start local 4 // javax.print.PrintService defService
         4: ifnull 20
         5: .line 394
            aload 4 /* defService */
            ldc Ljavax/print/attribute/standard/PrinterName;
            invokeinterface javax.print.PrintService.getAttribute:(Ljava/lang/Class;)Ljavax/print/attribute/PrintServiceAttribute;
            checkcast javax.print.attribute.standard.PrinterName
         6: .line 393
            astore 5 /* defName */
        start local 5 // javax.print.attribute.standard.PrinterName defName
         7: .line 396
            aload 5 /* defName */
            ifnull 13
            aload 3 /* name */
            aload 5 /* defName */
            invokevirtual javax.print.attribute.standard.PrinterName.equals:(Ljava/lang/Object;)Z
            ifeq 13
         8: .line 397
            aload 0 /* this */
            aload 4 /* defService */
            aload 1 /* serviceSet */
            invokevirtual sun.print.UnixPrintServiceLookup.matchesAttributes:(Ljavax/print/PrintService;Ljavax/print/attribute/PrintServiceAttributeSet;)Z
            ifeq 12
         9: .line 398
            iconst_1
            anewarray javax.print.PrintService
            astore 2 /* services */
        start local 2 // javax.print.PrintService[] services
        10: .line 399
            aload 2 /* services */
            iconst_0
            aload 4 /* defService */
            aastore
        11: .line 400
            aload 2 /* services */
            areturn
        end local 2 // javax.print.PrintService[] services
        12: .line 402
      StackMap locals: sun.print.UnixPrintServiceLookup javax.print.attribute.PrintServiceAttributeSet top javax.print.attribute.standard.PrinterName javax.print.PrintService javax.print.attribute.standard.PrinterName
      StackMap stack:
            iconst_0
            anewarray javax.print.PrintService
            areturn
        13: .line 406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual sun.print.UnixPrintServiceLookup.getServiceByName:(Ljavax/print/attribute/standard/PrinterName;)Ljavax/print/PrintService;
            astore 6 /* service */
        start local 6 // javax.print.PrintService service
        14: .line 407
            aload 6 /* service */
            ifnull 19
        15: .line 408
            aload 0 /* this */
            aload 6 /* service */
            aload 1 /* serviceSet */
            invokevirtual sun.print.UnixPrintServiceLookup.matchesAttributes:(Ljavax/print/PrintService;Ljavax/print/attribute/PrintServiceAttributeSet;)Z
            ifeq 19
        16: .line 409
            iconst_1
            anewarray javax.print.PrintService
            astore 2 /* services */
        start local 2 // javax.print.PrintService[] services
        17: .line 410
            aload 2 /* services */
            iconst_0
            aload 6 /* service */
            aastore
        18: .line 411
            aload 2 /* services */
            areturn
        end local 2 // javax.print.PrintService[] services
        19: .line 413
      StackMap locals: javax.print.PrintService
      StackMap stack:
            iconst_0
            anewarray javax.print.PrintService
            areturn
        end local 6 // javax.print.PrintService service
        end local 5 // javax.print.attribute.standard.PrinterName defName
        end local 4 // javax.print.PrintService defService
        20: .line 418
      StackMap locals:
      StackMap stack:
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 5 /* matchedServices */
        start local 5 // java.util.Vector matchedServices
        21: .line 419
            aload 0 /* this */
            invokevirtual sun.print.UnixPrintServiceLookup.getPrintServices:()[Ljavax/print/PrintService;
            astore 2 /* services */
        start local 2 // javax.print.PrintService[] services
        22: .line 420
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        23: goto 27
        24: .line 421
      StackMap locals: sun.print.UnixPrintServiceLookup javax.print.attribute.PrintServiceAttributeSet javax.print.PrintService[] javax.print.attribute.standard.PrinterName top java.util.Vector int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* services */
            iload 6 /* i */
            aaload
            aload 1 /* serviceSet */
            invokevirtual sun.print.UnixPrintServiceLookup.matchesAttributes:(Ljavax/print/PrintService;Ljavax/print/attribute/PrintServiceAttributeSet;)Z
            ifeq 26
        25: .line 422
            aload 5 /* matchedServices */
            aload 2 /* services */
            iload 6 /* i */
            aaload
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        26: .line 420
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 6 /* i */
            aload 2 /* services */
            arraylength
            if_icmplt 24
        end local 6 // int i
        28: .line 425
            aload 5 /* matchedServices */
            invokevirtual java.util.Vector.size:()I
            anewarray javax.print.PrintService
            astore 2 /* services */
        29: .line 426
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        30: goto 33
        31: .line 427
      StackMap locals:
      StackMap stack:
            aload 2 /* services */
            iload 6 /* i */
            aload 5 /* matchedServices */
            iload 6 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast javax.print.PrintService
            aastore
        32: .line 426
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 6 /* i */
            aload 2 /* services */
            arraylength
            if_icmplt 31
        end local 6 // int i
        34: .line 429
            aload 2 /* services */
            areturn
        end local 5 // java.util.Vector matchedServices
        end local 3 // javax.print.attribute.standard.PrinterName name
        end local 2 // javax.print.PrintService[] services
        end local 1 // javax.print.attribute.PrintServiceAttributeSet serviceSet
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   35     0             this  Lsun/print/UnixPrintServiceLookup;
            0   35     1       serviceSet  Ljavax/print/attribute/PrintServiceAttributeSet;
           10   12     2         services  [Ljavax/print/PrintService;
           17   19     2         services  [Ljavax/print/PrintService;
           22   35     2         services  [Ljavax/print/PrintService;
            3   35     3             name  Ljavax/print/attribute/standard/PrinterName;
            4   20     4       defService  Ljavax/print/PrintService;
            7   20     5          defName  Ljavax/print/attribute/standard/PrinterName;
           14   20     6          service  Ljavax/print/PrintService;
           21   35     5  matchedServices  Ljava/util/Vector;
           23   28     6                i  I
           30   34     6                i  I
    MethodParameters:
            Name  Flags
      serviceSet  

  public javax.print.PrintService[] getPrintServices(javax.print.DocFlavor, javax.print.attribute.AttributeSet);
    descriptor: (Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)[Ljavax/print/PrintService;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // sun.print.UnixPrintServiceLookup this
        start local 1 // javax.print.DocFlavor flavor
        start local 2 // javax.print.attribute.AttributeSet attributes
         0: .line 439
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* security */
        start local 3 // java.lang.SecurityManager security
         1: .line 440
            aload 3 /* security */
            ifnull 3
         2: .line 441
            aload 3 /* security */
            invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
         3: .line 443
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aconst_null
            astore 4 /* requestSet */
        start local 4 // javax.print.attribute.PrintRequestAttributeSet requestSet
         4: .line 444
            aconst_null
            astore 5 /* serviceSet */
        start local 5 // javax.print.attribute.PrintServiceAttributeSet serviceSet
         5: .line 446
            aload 2 /* attributes */
            ifnull 18
            aload 2 /* attributes */
            invokeinterface javax.print.attribute.AttributeSet.isEmpty:()Z
            ifne 18
         6: .line 448
            new javax.print.attribute.HashPrintRequestAttributeSet
            dup
            invokespecial javax.print.attribute.HashPrintRequestAttributeSet.<init>:()V
            astore 4 /* requestSet */
         7: .line 449
            new javax.print.attribute.HashPrintServiceAttributeSet
            dup
            invokespecial javax.print.attribute.HashPrintServiceAttributeSet.<init>:()V
            astore 5 /* serviceSet */
         8: .line 451
            aload 2 /* attributes */
            invokeinterface javax.print.attribute.AttributeSet.toArray:()[Ljavax/print/attribute/Attribute;
            astore 6 /* attrs */
        start local 6 // javax.print.attribute.Attribute[] attrs
         9: .line 452
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        10: goto 17
        11: .line 453
      StackMap locals: sun.print.UnixPrintServiceLookup javax.print.DocFlavor javax.print.attribute.AttributeSet java.lang.SecurityManager javax.print.attribute.PrintRequestAttributeSet javax.print.attribute.PrintServiceAttributeSet javax.print.attribute.Attribute[] int
      StackMap stack:
            aload 6 /* attrs */
            iload 7 /* i */
            aaload
            instanceof javax.print.attribute.PrintRequestAttribute
            ifeq 14
        12: .line 454
            aload 4 /* requestSet */
            aload 6 /* attrs */
            iload 7 /* i */
            aaload
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.add:(Ljavax/print/attribute/Attribute;)Z
            pop
        13: .line 455
            goto 16
      StackMap locals:
      StackMap stack:
        14: aload 6 /* attrs */
            iload 7 /* i */
            aaload
            instanceof javax.print.attribute.PrintServiceAttribute
            ifeq 16
        15: .line 456
            aload 5 /* serviceSet */
            aload 6 /* attrs */
            iload 7 /* i */
            aaload
            invokeinterface javax.print.attribute.PrintServiceAttributeSet.add:(Ljavax/print/attribute/Attribute;)Z
            pop
        16: .line 452
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            aload 6 /* attrs */
            arraylength
            if_icmplt 11
        end local 7 // int i
        end local 6 // javax.print.attribute.Attribute[] attrs
        18: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* serviceSet */
            invokevirtual sun.print.UnixPrintServiceLookup.getPrintServices:(Ljavax/print/attribute/PrintServiceAttributeSet;)[Ljavax/print/PrintService;
            astore 6 /* services */
        start local 6 // javax.print.PrintService[] services
        19: .line 462
            aload 6 /* services */
            arraylength
            ifne 21
        20: .line 463
            aload 6 /* services */
            areturn
        21: .line 466
      StackMap locals: javax.print.PrintService[]
      StackMap stack:
            invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
            ifeq 35
        22: .line 467
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* matchingServices */
        start local 7 // java.util.ArrayList matchingServices
        23: .line 468
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        24: goto 32
        25: .line 470
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            aload 6 /* services */
            iload 8 /* i */
            aaload
        26: .line 471
            aload 1 /* flavor */
            aload 4 /* requestSet */
            invokeinterface javax.print.PrintService.getUnsupportedAttributes:(Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)Ljavax/print/attribute/AttributeSet;
        27: .line 470
            ifnonnull 31
        28: .line 472
            aload 7 /* matchingServices */
            aload 6 /* services */
            iload 8 /* i */
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        29: .line 474
            goto 31
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        30: pop
        31: .line 468
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 8 /* i */
            aload 6 /* services */
            arraylength
            if_icmplt 25
        end local 8 // int i
        33: .line 477
            aload 7 /* matchingServices */
            invokevirtual java.util.ArrayList.size:()I
            anewarray javax.print.PrintService
            astore 6 /* services */
        34: .line 478
            aload 7 /* matchingServices */
            aload 6 /* services */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast javax.print.PrintService[]
            areturn
        end local 7 // java.util.ArrayList matchingServices
        35: .line 484
      StackMap locals:
      StackMap stack:
            aload 6 /* services */
            iconst_0
            aaload
            astore 7 /* service */
        start local 7 // javax.print.PrintService service
        36: .line 485
            aload 1 /* flavor */
            ifnull 38
        37: .line 486
            aload 7 /* service */
            aload 1 /* flavor */
            invokeinterface javax.print.PrintService.isDocFlavorSupported:(Ljavax/print/DocFlavor;)Z
            ifeq 40
        38: .line 487
      StackMap locals: javax.print.PrintService
      StackMap stack:
            aload 7 /* service */
            aload 1 /* flavor */
            aload 4 /* requestSet */
            invokeinterface javax.print.PrintService.getUnsupportedAttributes:(Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)Ljavax/print/attribute/AttributeSet;
            ifnonnull 40
        39: .line 489
            aload 6 /* services */
            areturn
        40: .line 491
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray javax.print.PrintService
            areturn
        end local 7 // javax.print.PrintService service
        end local 6 // javax.print.PrintService[] services
        end local 5 // javax.print.attribute.PrintServiceAttributeSet serviceSet
        end local 4 // javax.print.attribute.PrintRequestAttributeSet requestSet
        end local 3 // java.lang.SecurityManager security
        end local 2 // javax.print.attribute.AttributeSet attributes
        end local 1 // javax.print.DocFlavor flavor
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   41     0              this  Lsun/print/UnixPrintServiceLookup;
            0   41     1            flavor  Ljavax/print/DocFlavor;
            0   41     2        attributes  Ljavax/print/attribute/AttributeSet;
            1   41     3          security  Ljava/lang/SecurityManager;
            4   41     4        requestSet  Ljavax/print/attribute/PrintRequestAttributeSet;
            5   41     5        serviceSet  Ljavax/print/attribute/PrintServiceAttributeSet;
            9   18     6             attrs  [Ljavax/print/attribute/Attribute;
           10   18     7                 i  I
           19   41     6          services  [Ljavax/print/PrintService;
           23   35     7  matchingServices  Ljava/util/ArrayList;
           24   33     8                 i  I
           36   41     7           service  Ljavax/print/PrintService;
      Exception table:
        from    to  target  type
          25    29      30  Class java.lang.IllegalArgumentException
    MethodParameters:
            Name  Flags
      flavor      
      attributes  

  public javax.print.MultiDocPrintService[] getMultiDocPrintServices(javax.print.DocFlavor[], javax.print.attribute.AttributeSet);
    descriptor: ([Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)[Ljavax/print/MultiDocPrintService;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=3
        start local 0 // sun.print.UnixPrintServiceLookup this
        start local 1 // javax.print.DocFlavor[] flavors
        start local 2 // javax.print.attribute.AttributeSet attributes
         0: .line 502
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* security */
        start local 3 // java.lang.SecurityManager security
         1: .line 503
            aload 3 /* security */
            ifnull 3
         2: .line 504
            aload 3 /* security */
            invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
         3: .line 506
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            iconst_0
            anewarray javax.print.MultiDocPrintService
            areturn
        end local 3 // java.lang.SecurityManager security
        end local 2 // javax.print.attribute.AttributeSet attributes
        end local 1 // javax.print.DocFlavor[] flavors
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lsun/print/UnixPrintServiceLookup;
            0    4     1     flavors  [Ljavax/print/DocFlavor;
            0    4     2  attributes  Ljavax/print/attribute/AttributeSet;
            1    4     3    security  Ljava/lang/SecurityManager;
    MethodParameters:
            Name  Flags
      flavors     
      attributes  

  public synchronized javax.print.PrintService getDefaultPrintService();
    descriptor: ()Ljavax/print/PrintService;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=8, locals=3, args_size=1
        start local 0 // sun.print.UnixPrintServiceLookup this
         0: .line 511
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* security */
        start local 1 // java.lang.SecurityManager security
         1: .line 512
            aload 1 /* security */
            ifnull 3
         2: .line 513
            aload 1 /* security */
            invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
         3: .line 517
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
         4: .line 519
            new java.lang.StringBuilder
            dup
            ldc "isRunning ? "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 520
            invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
         6: .line 519
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
         7: .line 521
            invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
            ifeq 10
         8: .line 522
            aload 0 /* this */
            invokestatic sun.print.CUPSPrinter.getDefaultPrinter:()Ljava/lang/String;
            putfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
         9: .line 523
            goto 14
        10: .line 524
      StackMap locals:
      StackMap stack:
            invokestatic sun.print.UnixPrintServiceLookup.isSysV:()Z
            ifeq 13
        11: .line 525
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.print.UnixPrintServiceLookup.getDefaultPrinterNameSysV:()Ljava/lang/String;
            putfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
        12: .line 526
            goto 14
        13: .line 527
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.print.UnixPrintServiceLookup.getDefaultPrinterNameBSD:()Ljava/lang/String;
            putfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
        14: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
            ifnonnull 16
        15: .line 531
            aconst_null
            areturn
        16: .line 533
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
        17: .line 534
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            ifnull 25
        18: .line 535
            iconst_0
            istore 2 /* j */
        start local 2 // int j
        19: goto 24
        20: .line 536
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 2 /* j */
            aaload
            invokeinterface javax.print.PrintService.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        21: .line 537
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 2 /* j */
            aaload
            putfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
        22: .line 538
            goto 25
        23: .line 535
      StackMap locals:
      StackMap stack:
            iinc 2 /* j */ 1
      StackMap locals:
      StackMap stack:
        24: iload 2 /* j */
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            arraylength
            if_icmplt 20
        end local 2 // int j
        25: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            ifnonnull 40
        26: .line 543
            invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
            ifeq 39
        27: .line 546
            new sun.print.IPPPrintService
            dup
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
        28: .line 547
            new java.net.URL
            dup
            new java.lang.StringBuilder
            dup
            ldc "http://"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        29: .line 548
            invokestatic sun.print.CUPSPrinter.getServer:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 549
            invokestatic sun.print.CUPSPrinter.getPort:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 550
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 547
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
        33: .line 546
            invokespecial sun.print.IPPPrintService.<init>:(Ljava/lang/String;Ljava/net/URL;)V
        34: .line 545
            astore 2 /* defaultPS */
        start local 2 // javax.print.PrintService defaultPS
        35: .line 551
            aload 0 /* this */
            aload 2 /* defaultPS */
            putfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
        end local 2 // javax.print.PrintService defaultPS
        36: .line 552
            goto 40
      StackMap locals:
      StackMap stack: java.lang.Exception
        37: pop
        38: .line 554
            goto 40
        39: .line 555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.print.UnixPrintService
            dup
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
            invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
            putfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
        40: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            areturn
        end local 1 // java.lang.SecurityManager security
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   41     0       this  Lsun/print/UnixPrintServiceLookup;
            1   41     1   security  Ljava/lang/SecurityManager;
           19   25     2          j  I
           35   36     2  defaultPS  Ljavax/print/PrintService;
      Exception table:
        from    to  target  type
          27    36      37  Class java.lang.Exception

  public synchronized void getServicesInbackground(sun.print.BackgroundLookupListener);
    descriptor: (Lsun/print/BackgroundLookupListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.print.UnixPrintServiceLookup this
        start local 1 // sun.print.BackgroundLookupListener listener
         0: .line 564
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            ifnull 3
         1: .line 565
            aload 1 /* listener */
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
            invokeinterface sun.print.BackgroundLookupListener.notifyServices:([Ljavax/print/PrintService;)V
         2: .line 566
            goto 10
         3: .line 567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
            ifnonnull 9
         4: .line 568
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
         5: .line 569
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
            aload 1 /* listener */
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
         6: .line 570
            new java.lang.Thread
            dup
            aload 0 /* this */
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
            astore 2 /* lookupThread */
        start local 2 // java.lang.Thread lookupThread
         7: .line 571
            aload 2 /* lookupThread */
            invokevirtual java.lang.Thread.start:()V
        end local 2 // java.lang.Thread lookupThread
         8: .line 572
            goto 10
         9: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
            aload 1 /* listener */
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        10: .line 576
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.print.BackgroundLookupListener listener
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lsun/print/UnixPrintServiceLookup;
            0   11     1      listener  Lsun/print/BackgroundLookupListener;
            7    8     2  lookupThread  Ljava/lang/Thread;
    MethodParameters:
          Name  Flags
      listener  

  private javax.print.PrintService[] copyOf(javax.print.PrintService[]);
    descriptor: ([Ljavax/print/PrintService;)[Ljavax/print/PrintService;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.print.UnixPrintServiceLookup this
        start local 1 // javax.print.PrintService[] inArr
         0: .line 583
            aload 1 /* inArr */
            ifnull 1
            aload 1 /* inArr */
            arraylength
            ifne 2
         1: .line 584
      StackMap locals:
      StackMap stack:
            aload 1 /* inArr */
            areturn
         2: .line 586
      StackMap locals:
      StackMap stack:
            aload 1 /* inArr */
            arraylength
            anewarray javax.print.PrintService
            astore 2 /* outArr */
        start local 2 // javax.print.PrintService[] outArr
         3: .line 587
            aload 1 /* inArr */
            iconst_0
            aload 2 /* outArr */
            iconst_0
            aload 1 /* inArr */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 588
            aload 2 /* outArr */
            areturn
        end local 2 // javax.print.PrintService[] outArr
        end local 1 // javax.print.PrintService[] inArr
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/print/UnixPrintServiceLookup;
            0    5     1   inArr  [Ljavax/print/PrintService;
            3    5     2  outArr  [Ljavax/print/PrintService;
    MethodParameters:
       Name  Flags
      inArr  

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // sun.print.UnixPrintServiceLookup this
         0: .line 593
            aload 0 /* this */
            invokevirtual sun.print.UnixPrintServiceLookup.getPrintServices:()[Ljavax/print/PrintService;
            astore 1 /* services */
        start local 1 // javax.print.PrintService[] services
         1: .line 594
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 596
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 598
      StackMap locals: sun.print.UnixPrintServiceLookup javax.print.PrintService[] sun.print.UnixPrintServiceLookup top int
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
            iload 4 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast sun.print.BackgroundLookupListener
         5: .line 597
            astore 3 /* listener */
        start local 3 // sun.print.BackgroundLookupListener listener
         6: .line 599
            aload 3 /* listener */
            aload 0 /* this */
            aload 1 /* services */
            invokevirtual sun.print.UnixPrintServiceLookup.copyOf:([Ljavax/print/PrintService;)[Ljavax/print/PrintService;
            invokeinterface sun.print.BackgroundLookupListener.notifyServices:([Ljavax/print/PrintService;)V
         7: .line 596
            iinc 4 /* i */ 1
        end local 3 // sun.print.BackgroundLookupListener listener
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 4
        end local 4 // int i
         9: .line 601
            aload 0 /* this */
            aconst_null
            putfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
        10: .line 594
            aload 2
            monitorexit
        11: goto 14
      StackMap locals: sun.print.UnixPrintServiceLookup javax.print.PrintService[] sun.print.UnixPrintServiceLookup
      StackMap stack: java.lang.Throwable
        12: aload 2
            monitorexit
        13: athrow
        14: .line 603
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.print.PrintService[] services
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lsun/print/UnixPrintServiceLookup;
            1   15     1  services  [Ljavax/print/PrintService;
            6    8     3  listener  Lsun/print/BackgroundLookupListener;
            3    9     4         i  I
      Exception table:
        from    to  target  type
           2    11      12  any
          12    13      12  any

  private java.lang.String getDefaultPrinterNameBSD();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.print.UnixPrintServiceLookup this
         0: .line 606
            getstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
            iconst_m1
            if_icmpne 2
         1: .line 607
            invokestatic sun.print.UnixPrintServiceLookup.getBSDCommandIndex:()I
            putstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
         2: .line 609
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.lpcFirstCom:[Ljava/lang/String;
            getstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
            aaload
            invokestatic sun.print.UnixPrintServiceLookup.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* names */
        start local 1 // java.lang.String[] names
         3: .line 610
            aload 1 /* names */
            ifnull 4
            aload 1 /* names */
            arraylength
            ifne 5
         4: .line 611
      StackMap locals: java.lang.String[]
      StackMap stack:
            aconst_null
            areturn
         5: .line 614
      StackMap locals:
      StackMap stack:
            getstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
            iconst_1
            if_icmpne 8
         6: .line 615
            aload 1 /* names */
            iconst_0
            aaload
            ldc "missingprinter"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 616
            aconst_null
            areturn
         8: .line 618
      StackMap locals:
      StackMap stack:
            aload 1 /* names */
            iconst_0
            aaload
            areturn
        end local 1 // java.lang.String[] names
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lsun/print/UnixPrintServiceLookup;
            3    9     1  names  [Ljava/lang/String;

  private javax.print.PrintService getNamedPrinterNameBSD(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/print/PrintService;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.print.UnixPrintServiceLookup this
        start local 1 // java.lang.String name
         0: .line 622
            getstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
            iconst_m1
            if_icmpne 2
         1: .line 623
            invokestatic sun.print.UnixPrintServiceLookup.getBSDCommandIndex:()I
            putstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
         2: .line 625
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "/usr/sbin/lpc status "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.lpcNameCom:[Ljava/lang/String;
            getstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* command */
        start local 2 // java.lang.String command
         3: .line 626
            aload 2 /* command */
            invokestatic sun.print.UnixPrintServiceLookup.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* result */
        start local 3 // java.lang.String[] result
         4: .line 628
            aload 3 /* result */
            ifnull 5
            aload 3 /* result */
            iconst_0
            aaload
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 629
      StackMap locals: java.lang.String java.lang.String[]
      StackMap stack:
            aconst_null
            areturn
         6: .line 631
      StackMap locals:
      StackMap stack:
            new sun.print.UnixPrintService
            dup
            aload 1 /* name */
            invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
            areturn
        end local 3 // java.lang.String[] result
        end local 2 // java.lang.String command
        end local 1 // java.lang.String name
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lsun/print/UnixPrintServiceLookup;
            0    7     1     name  Ljava/lang/String;
            3    7     2  command  Ljava/lang/String;
            4    7     3   result  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private java.lang.String[] getAllPrinterNamesBSD();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.print.UnixPrintServiceLookup this
         0: .line 635
            getstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
            iconst_m1
            if_icmpne 2
         1: .line 636
            invokestatic sun.print.UnixPrintServiceLookup.getBSDCommandIndex:()I
            putstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
         2: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintServiceLookup.lpcAllCom:[Ljava/lang/String;
            getstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
            aaload
            invokestatic sun.print.UnixPrintServiceLookup.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* names */
        start local 1 // java.lang.String[] names
         3: .line 639
            aload 1 /* names */
            ifnull 4
            aload 1 /* names */
            arraylength
            ifne 5
         4: .line 640
      StackMap locals: java.lang.String[]
      StackMap stack:
            aconst_null
            areturn
         5: .line 642
      StackMap locals:
      StackMap stack:
            aload 1 /* names */
            areturn
        end local 1 // java.lang.String[] names
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lsun/print/UnixPrintServiceLookup;
            3    6     1  names  [Ljava/lang/String;

  private java.lang.String getDefaultPrinterNameSysV();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // sun.print.UnixPrintServiceLookup this
         0: .line 646
            ldc "lp"
            astore 1 /* defaultPrinter */
        start local 1 // java.lang.String defaultPrinter
         1: .line 647
            ldc "/usr/bin/lpstat -d"
            astore 2 /* command */
        start local 2 // java.lang.String command
         2: .line 649
            aload 2 /* command */
            invokestatic sun.print.UnixPrintServiceLookup.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* names */
        start local 3 // java.lang.String[] names
         3: .line 650
            aload 3 /* names */
            ifnull 4
            aload 3 /* names */
            arraylength
            ifne 5
         4: .line 651
      StackMap locals: java.lang.String java.lang.String java.lang.String[]
      StackMap stack:
            aload 1 /* defaultPrinter */
            areturn
         5: .line 653
      StackMap locals:
      StackMap stack:
            aload 3 /* names */
            iconst_0
            aaload
            ldc ":"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 4 /* index */
        start local 4 // int index
         6: .line 654
            iload 4 /* index */
            iconst_m1
            if_icmpeq 7
            aload 3 /* names */
            iconst_0
            aaload
            invokevirtual java.lang.String.length:()I
            iload 4 /* index */
            iconst_1
            iadd
            if_icmpgt 8
         7: .line 655
      StackMap locals: int
      StackMap stack:
            aconst_null
            areturn
         8: .line 657
      StackMap locals:
      StackMap stack:
            aload 3 /* names */
            iconst_0
            aaload
            iload 4 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         9: .line 658
            aload 5 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 11
        10: .line 659
            aconst_null
            areturn
        11: .line 661
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* name */
            areturn
        end local 5 // java.lang.String name
        end local 4 // int index
        end local 3 // java.lang.String[] names
        end local 2 // java.lang.String command
        end local 1 // java.lang.String defaultPrinter
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lsun/print/UnixPrintServiceLookup;
            1   12     1  defaultPrinter  Ljava/lang/String;
            2   12     2         command  Ljava/lang/String;
            3   12     3           names  [Ljava/lang/String;
            6   12     4           index  I
            9   12     5            name  Ljava/lang/String;

  private javax.print.PrintService getNamedPrinterNameSysV(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/print/PrintService;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.print.UnixPrintServiceLookup this
        start local 1 // java.lang.String name
         0: .line 669
            new java.lang.StringBuilder
            dup
            ldc "/usr/bin/lpstat -v "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* command */
        start local 2 // java.lang.String command
         1: .line 670
            aload 2 /* command */
            invokestatic sun.print.UnixPrintServiceLookup.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* result */
        start local 3 // java.lang.String[] result
         2: .line 672
            aload 3 /* result */
            ifnull 3
            aload 3 /* result */
            iconst_0
            aaload
            ldc "unknown printer"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            ifle 4
         3: .line 673
      StackMap locals: java.lang.String java.lang.String[]
      StackMap stack:
            aconst_null
            areturn
         4: .line 675
      StackMap locals:
      StackMap stack:
            new sun.print.UnixPrintService
            dup
            aload 1 /* name */
            invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
            areturn
        end local 3 // java.lang.String[] result
        end local 2 // java.lang.String command
        end local 1 // java.lang.String name
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lsun/print/UnixPrintServiceLookup;
            0    5     1     name  Ljava/lang/String;
            1    5     2  command  Ljava/lang/String;
            2    5     3   result  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private java.lang.String[] getAllPrinterNamesSysV();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // sun.print.UnixPrintServiceLookup this
         0: .line 680
            ldc "lp"
            astore 1 /* defaultPrinter */
        start local 1 // java.lang.String defaultPrinter
         1: .line 681
            ldc "/usr/bin/lpstat -v|/usr/bin/expand|/usr/bin/cut -f3 -d' ' |/usr/bin/cut -f1 -d':' | /usr/bin/sort"
            astore 2 /* command */
        start local 2 // java.lang.String command
         2: .line 683
            aload 2 /* command */
            invokestatic sun.print.UnixPrintServiceLookup.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* names */
        start local 3 // java.lang.String[] names
         3: .line 684
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* printerNames */
        start local 4 // java.util.ArrayList printerNames
         4: .line 685
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 11
         6: .line 686
      StackMap locals: sun.print.UnixPrintServiceLookup java.lang.String java.lang.String java.lang.String[] java.util.ArrayList int
      StackMap stack:
            aload 3 /* names */
            iload 5 /* i */
            aaload
            ldc "_default"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
         7: .line 687
            aload 3 /* names */
            iload 5 /* i */
            aaload
            aload 1 /* defaultPrinter */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
         8: .line 688
            aload 3 /* names */
            iload 5 /* i */
            aaload
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
         9: .line 689
            aload 4 /* printerNames */
            aload 3 /* names */
            iload 5 /* i */
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 685
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            aload 3 /* names */
            arraylength
            if_icmplt 6
        end local 5 // int i
        12: .line 692
            aload 4 /* printerNames */
            aload 4 /* printerNames */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 4 // java.util.ArrayList printerNames
        end local 3 // java.lang.String[] names
        end local 2 // java.lang.String command
        end local 1 // java.lang.String defaultPrinter
        end local 0 // sun.print.UnixPrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lsun/print/UnixPrintServiceLookup;
            1   13     1  defaultPrinter  Ljava/lang/String;
            2   13     2         command  Ljava/lang/String;
            3   13     3           names  [Ljava/lang/String;
            4   13     4    printerNames  Ljava/util/ArrayList;
            5   12     5               i  I

  static java.lang.String[] execCmd(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.String command
         0: .line 696
            aconst_null
            astore 1 /* results */
        start local 1 // java.util.ArrayList results
         1: .line 698
            iconst_3
            anewarray java.lang.String
            astore 2 /* cmd */
        start local 2 // java.lang.String[] cmd
         2: .line 699
            invokestatic sun.print.UnixPrintServiceLookup.isSysV:()Z
            ifeq 7
         3: .line 700
            aload 2 /* cmd */
            iconst_0
            ldc "/usr/bin/sh"
            aastore
         4: .line 701
            aload 2 /* cmd */
            iconst_1
            ldc "-c"
            aastore
         5: .line 702
            aload 2 /* cmd */
            iconst_2
            new java.lang.StringBuilder
            dup
            ldc "env LC_ALL=C "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* command */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
         6: .line 703
            goto 10
         7: .line 704
      StackMap locals: java.util.ArrayList java.lang.String[]
      StackMap stack:
            aload 2 /* cmd */
            iconst_0
            ldc "/bin/sh"
            aastore
         8: .line 705
            aload 2 /* cmd */
            iconst_1
            ldc "-c"
            aastore
         9: .line 706
            aload 2 /* cmd */
            iconst_2
            new java.lang.StringBuilder
            dup
            ldc "LC_ALL=C "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* command */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        10: .line 710
      StackMap locals:
      StackMap stack:
            new sun.print.UnixPrintServiceLookup$1
            dup
            aload 2 /* cmd */
            invokespecial sun.print.UnixPrintServiceLookup$1.<init>:([Ljava/lang/String;)V
        11: .line 709
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 1 /* results */
        end local 2 // java.lang.String[] cmd
        12: .line 753
            goto 14
      StackMap locals: java.lang.String java.util.ArrayList
      StackMap stack: java.security.PrivilegedActionException
        13: pop
        14: .line 755
      StackMap locals:
      StackMap stack:
            aload 1 /* results */
            ifnonnull 16
        15: .line 756
            iconst_0
            anewarray java.lang.String
            areturn
        16: .line 758
      StackMap locals:
      StackMap stack:
            aload 1 /* results */
            aload 1 /* results */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // java.util.ArrayList results
        end local 0 // java.lang.String command
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0  command  Ljava/lang/String;
            1   17     1  results  Ljava/util/ArrayList;
            2   12     2      cmd  [Ljava/lang/String;
      Exception table:
        from    to  target  type
           1    12      13  Class java.security.PrivilegedActionException
    MethodParameters:
         Name  Flags
      command  final
}
SourceFile: "UnixPrintServiceLookup.java"
NestMembers:
  sun.print.UnixPrintServiceLookup$1  sun.print.UnixPrintServiceLookup$PrinterChangeListener
InnerClasses:
  sun.print.UnixPrintServiceLookup$1
  private PrinterChangeListener = sun.print.UnixPrintServiceLookup$PrinterChangeListener of sun.print.UnixPrintServiceLookup