(command.CommandList
  children: [
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {(test)} {(-z)} {(DQ ($ Id.VSub_DollarName '$VERBOSE'))})
        (C {(Id.KW_Set set)} {(-x)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {(test)} {(DQ ($ Id.VSub_DollarName '$USE_ACL'))} {(Id.Lit_Equals '=')} {(0)})
        (command.BraceGroup
          children: [
            (C {(echo)} {(DQ ('Skipping test: insufficient ACL support'))})
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:45)
              arg_word: {(77)}
            )
          ]
        )
      ]
    )
    (command.ShFunction
      name: func_tmpdir
      body: 
        (command.BraceGroup
          children: [
            (C {(Id.Lit_Other ':')} 
              {
                (braced_var_sub
                  token: (Token id:Id.VSub_Name val:TMPDIR span_id:88)
                  suffix_op: (suffix_op.Unary op_id:Id.VTest_Equals arg_word:{(Id.Lit_Slash /) (tmp)})
                )
              }
            )
            (command.AndOr
              ops: [Id.Op_DPipe Id.Op_DPipe]
              children: [
                (command.BraceGroup
                  children: [
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DAmp]
                      children: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:tmp)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (command_sub
                                    left_token: (Token id:Id.Left_Backtick val:'`' span_id:107)
                                    command_list: 
                                      (command.CommandList
                                        children: [
                                          (command.Subshell
                                            command_list: 
                                              (command.CommandList
                                                children: [
                                                  (command.AndOr
                                                    ops: [Id.Op_DAmp]
                                                    children: [
                                                      (C {(umask)} {(077)})
                                                      (C {(mktemp)} {(-d)} 
                                                        {
                                                          (DQ ($ Id.VSub_DollarName '$TMPDIR') 
                                                            (/glXXXXXX)
                                                          )
                                                        }
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            redirects: [
                                              (redir.Redir
                                                op: (Token id:Id.Redir_Great val:'2>' span_id:127)
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                  )
                                }
                              spids: [106]
                            )
                          ]
                        )
                        (C {(test)} {(-n)} {(DQ ($ Id.VSub_DollarName '$tmp'))})
                        (C {(test)} {(-d)} {(DQ ($ Id.VSub_DollarName '$tmp'))})
                      ]
                    )
                  ]
                )
                (command.BraceGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:tmp)
                          op: assign_op.Equal
                          rhs: 
                            {($ Id.VSub_DollarName '$TMPDIR') (/gl) ($ Id.VSub_Dollar '$$') (-) 
                              ($ Id.VSub_DollarName '$RANDOM')
                            }
                          spids: [181]
                        )
                      ]
                    )
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {(umask)} {(077)})
                                (C {(mkdir)} {(DQ ($ Id.VSub_DollarName '$tmp'))})
                              ]
                            )
                          ]
                        )
                    )
                  ]
                )
                (command.BraceGroup
                  children: [
                    (command.Simple
                      words: [
                        {(echo)}
                        {
                          (DQ ($ Id.VSub_Number '$0') (': cannot create a temporary directory in ') 
                            ($ Id.VSub_DollarName '$TMPDIR')
                          )
                        }
                      ]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:220)
                          fd: -1
                          arg_word: {(2)}
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Exit val:exit span_id:224)
                      arg_word: {(1)}
                    )
                  ]
                )
              ]
            )
          ]
        )
    )
    (C {(func_tmpdir)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:builddir)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:237)
                command_list: (command.CommandList children:[(C {(pwd)})])
              )
            }
          spids: [236]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {(cd)} {(DQ ($ Id.VSub_DollarName '$builddir'))})
        (command.BraceGroup
          children: [
            (command.Simple
              words: [
                {(echo)}
                {
                  (DQ ($ Id.VSub_Number '$0') 
                    (': cannot determine build directory (unreadable parent dir?)')
                  )
                }
              ]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:262)
                  fd: -1
                  arg_word: {(2)}
                )
              ]
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:266)
              arg_word: {(1)}
            )
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.Subshell
          command_list: 
            (command.CommandList
              children: [
                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$tmp'))})
                (C {(rm)} {(-f)} {(Id.Lit_ArrayLhsOpen 'tmpfile[') (0-9) (Id.Lit_RBracket ']')} 
                  {(Id.Lit_ArrayLhsOpen 'tmpaclout[') (0-2) (Id.Lit_RBracket ']')}
                )
                (command.Simple
                  words: [{(echo)} {(DQ ('Simple contents'))}]
                  redirects: [
                    (redir.Redir
                      op: (Token id:Id.Redir_Great val:'>' span_id:315)
                      fd: -1
                      arg_word: {(tmpfile0)}
                    )
                  ]
                )
                (C {(chmod)} {(600)} {(tmpfile0)})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:acl_flavor)
                      op: assign_op.Equal
                      rhs: {(none)}
                      spids: [348]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.Subshell
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (command.Simple
                                      words: [{(getfacl)} {(tmpfile0)}]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:359)
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                  ]
                                )
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_Great val:'2>' span_id:363)
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:365)
                        )
                      ]
                      action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (command.Subshell
                                      command_list: 
                                        (command.CommandList
                                          children: [
                                            (command.Simple
                                              words: [{(setfacl)} {(--help)}]
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Great val:'>' span_id:385)
                                                  fd: -1
                                                  arg_word: {(/dev/null)}
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'2>' span_id:389)
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:391)
                                )
                              ]
                              action: [
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (command.Sentence
                                          child: 
                                            (command.Subshell
                                              command_list: 
                                                (command.CommandList
                                                  children: [
                                                    (command.Pipeline
                                                      children: [
                                                        (command.Simple
                                                          words: [{(setfacl)} {(--help)}]
                                                          more_env: [
                                                            (env_pair
                                                              name: LC_ALL
                                                              val: {(C)}
                                                              spids: [403]
                                                            )
                                                          ]
                                                        )
                                                        (command.Simple
                                                          words: [
                                                            {(grep)}
                                                            {
                                                              (SQ 
                                                                (Token
                                                                  id: Id.Lit_Chars
                                                                  val: ' --set-file'
                                                                  span_id: 415
                                                                )
                                                              )
                                                            }
                                                          ]
                                                          redirects: [
                                                            (redir.Redir
                                                              op: 
                                                                (Token
                                                                  id: Id.Redir_Great
                                                                  val: '>'
                                                                  span_id: 418
                                                                )
                                                              fd: -1
                                                              arg_word: {(/dev/null)}
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                      negated: F
                                                    )
                                                  ]
                                                )
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Great val:'2>' span_id:422)
                                                  fd: 2
                                                  arg_word: {(/dev/null)}
                                                )
                                              ]
                                            )
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:424)
                                        )
                                      ]
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:acl_flavor)
                                              op: assign_op.Equal
                                              rhs: {(linux)}
                                              spids: [433]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [400 426]
                                    )
                                  ]
                                  else_action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:acl_flavor)
                                          op: assign_op.Equal
                                          rhs: {(cygwin)}
                                          spids: [440]
                                        )
                                      ]
                                    )
                                  ]
                                )
                              ]
                              spids: [378 393]
                            )
                          ]
                          else_action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (command.Subshell
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (command.Pipeline
                                                  children: [
                                                    (command.Simple
                                                      words: [{(setfacl)}]
                                                      redirects: [
                                                        (redir.Redir
                                                          op: 
                                                            (Token
                                                              id: Id.Redir_GreatAnd
                                                              val: '2>&'
                                                              span_id: 462
                                                            )
                                                          fd: 2
                                                          arg_word: {(1)}
                                                        )
                                                      ]
                                                      more_env: [
                                                        (env_pair
                                                          name: LC_ALL
                                                          val: {(C)}
                                                          spids: [457]
                                                        )
                                                      ]
                                                    )
                                                    (command.Simple
                                                      words: [
                                                        {(grep)}
                                                        {
                                                          (SQ 
                                                            (Token
                                                              id: Id.Lit_Chars
                                                              val: '\\-x entries'
                                                              span_id: 470
                                                            )
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (redir.Redir
                                                          op: 
                                                            (Token
                                                              id: Id.Redir_Great
                                                              val: '>'
                                                              span_id: 473
                                                            )
                                                          fd: -1
                                                          arg_word: {(/dev/null)}
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: F
                                                )
                                              ]
                                            )
                                          redirects: [
                                            (redir.Redir
                                              op: (Token id:Id.Redir_Great val:'2>' span_id:477)
                                              fd: 2
                                              arg_word: {(/dev/null)}
                                            )
                                          ]
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:479)
                                    )
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:acl_flavor)
                                          op: assign_op.Equal
                                          rhs: {(freebsd)}
                                          spids: [488]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [454 481]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:acl_flavor)
                                      op: assign_op.Equal
                                      rhs: {(solaris)}
                                      spids: [499]
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                        )
                      ]
                      spids: [352 367]
                    )
                  ]
                  else_action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.Subshell
                                  command_list: 
                                    (command.CommandList
                                      children: [
                                        (command.Simple
                                          words: [{(lsacl)} {(/)}]
                                          redirects: [
                                            (redir.Redir
                                              op: (Token id:Id.Redir_Great val:'>' span_id:519)
                                              fd: -1
                                              arg_word: {(/dev/null)}
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'2>' span_id:523)
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:525)
                            )
                          ]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (command.Subshell
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (command.Simple
                                                  words: [{(getacl)} {(tmpfile0)}]
                                                  redirects: [
                                                    (redir.Redir
                                                      op: 
                                                        (Token
                                                          id: Id.Redir_Great
                                                          val: '>'
                                                          span_id: 545
                                                        )
                                                      fd: -1
                                                      arg_word: {(/dev/null)}
                                                    )
                                                  ]
                                                )
                                              ]
                                            )
                                          redirects: [
                                            (redir.Redir
                                              op: (Token id:Id.Redir_Great val:'2>' span_id:549)
                                              fd: 2
                                              arg_word: {(/dev/null)}
                                            )
                                          ]
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:551)
                                    )
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:acl_flavor)
                                          op: assign_op.Equal
                                          rhs: {(hpuxjfs)}
                                          spids: [560]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [538 553]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:acl_flavor)
                                      op: assign_op.Equal
                                      rhs: {(hpux)}
                                      spids: [571]
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                          spids: [512 527]
                        )
                      ]
                      else_action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (command.Subshell
                                      command_list: 
                                        (command.CommandList
                                          children: [
                                            (command.Simple
                                              words: [{(getacl)} {(tmpfile0)}]
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Great val:'>' span_id:588)
                                                  fd: -1
                                                  arg_word: {(/dev/null)}
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'2>' span_id:592)
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:594)
                                )
                              ]
                              action: [
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (command.Sentence
                                          child: 
                                            (command.Subshell
                                              command_list: 
                                                (command.CommandList
                                                  children: [
                                                    (command.Simple
                                                      words: [{(getacl)} {(-m)} {(tmpfile0)}]
                                                      redirects: [
                                                        (redir.Redir
                                                          op: 
                                                            (Token
                                                              id: Id.Redir_Great
                                                              val: '>'
                                                              span_id: 612
                                                            )
                                                          fd: -1
                                                          arg_word: {(/dev/null)}
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Great val:'2>' span_id:616)
                                                  fd: 2
                                                  arg_word: {(/dev/null)}
                                                )
                                              ]
                                            )
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:618)
                                        )
                                      ]
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:acl_flavor)
                                              op: assign_op.Equal
                                              rhs: {(osf1)}
                                              spids: [627]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [603 620]
                                    )
                                  ]
                                  else_action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:acl_flavor)
                                          op: assign_op.Equal
                                          rhs: {(nsk)}
                                          spids: [638]
                                        )
                                      ]
                                    )
                                  ]
                                )
                              ]
                              spids: [581 596]
                            )
                          ]
                          else_action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (command.Subshell
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (command.Simple
                                                  words: [{(aclget)} {(tmpfile0)}]
                                                  redirects: [
                                                    (redir.Redir
                                                      op: 
                                                        (Token
                                                          id: Id.Redir_Great
                                                          val: '>'
                                                          span_id: 655
                                                        )
                                                      fd: -1
                                                      arg_word: {(/dev/null)}
                                                    )
                                                  ]
                                                )
                                              ]
                                            )
                                          redirects: [
                                            (redir.Redir
                                              op: (Token id:Id.Redir_Great val:'2>' span_id:659)
                                              fd: 2
                                              arg_word: {(/dev/null)}
                                            )
                                          ]
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:661)
                                    )
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:acl_flavor)
                                          op: assign_op.Equal
                                          rhs: {(aix)}
                                          spids: [670]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [648 663]
                                )
                              ]
                              else_action: [
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (command.Sentence
                                          child: 
                                            (command.Subshell
                                              command_list: 
                                                (command.CommandList
                                                  children: [
                                                    (command.Simple
                                                      words: [{(fsaclctl)} {(-v)}]
                                                      redirects: [
                                                        (redir.Redir
                                                          op: 
                                                            (Token
                                                              id: Id.Redir_Great
                                                              val: '>'
                                                              span_id: 684
                                                            )
                                                          fd: -1
                                                          arg_word: {(/dev/null)}
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Great val:'2>' span_id:688)
                                                  fd: 2
                                                  arg_word: {(/dev/null)}
                                                )
                                              ]
                                            )
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:690)
                                        )
                                      ]
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:acl_flavor)
                                              op: assign_op.Equal
                                              rhs: {(macosx)}
                                              spids: [699]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [677 692]
                                    )
                                  ]
                                  else_action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (command.Sentence
                                              child: (C {(test)} {(-f)} {(/sbin/chacl)})
                                              terminator: (Token id:Id.Op_Semi val:';' span_id:713)
                                            )
                                          ]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:acl_flavor)
                                                  op: assign_op.Equal
                                                  rhs: {(irix)}
                                                  spids: [722]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [706 715]
                                        )
                                      ]
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$acl_flavor')}
                  arms: [
                    (case_arm
                      pat_list: [{(linux)} {(cygwin)} {(freebsd)} {(solaris)}]
                      action: [
                        (command.ShFunction
                          name: func_test_same_acls
                          body: 
                            (command.BraceGroup
                              children: [
                                (command.Pipeline
                                  children: [
                                    (C {(getfacl)} {(DQ ($ Id.VSub_Number '$1'))})
                                    (command.Simple
                                      words: [
                                        {(sed)}
                                        {(-e)}
                                        {(DQ (s/) ($ Id.VSub_Number '$1') (/FILENAME/g))}
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:807)
                                          fd: -1
                                          arg_word: {(tmpaclout1)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                                (command.Pipeline
                                  children: [
                                    (C {(getfacl)} {(DQ ($ Id.VSub_Number '$2'))})
                                    (command.Simple
                                      words: [
                                        {(sed)}
                                        {(-e)}
                                        {(DQ (s/) ($ Id.VSub_Number '$2') (/FILENAME/g))}
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:830)
                                          fd: -1
                                          arg_word: {(tmpaclout2)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                                (command.Simple
                                  words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:841)
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              ]
                            )
                        )
                      ]
                      spids: [764 777 849 -1]
                    )
                    (case_arm
                      pat_list: [{(hpux)}]
                      action: [
                        (command.ShFunction
                          name: func_test_same_acls
                          body: 
                            (command.BraceGroup
                              children: [
                                (command.Pipeline
                                  children: [
                                    (C {(lsacl)} {(DQ ($ Id.VSub_Number '$1'))})
                                    (command.Simple
                                      words: [
                                        {(sed)}
                                        {(-e)}
                                        {(DQ (s/) ($ Id.VSub_Number '$1') (/FILENAME/g))}
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:883)
                                          fd: -1
                                          arg_word: {(tmpaclout1)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                                (command.Pipeline
                                  children: [
                                    (C {(lsacl)} {(DQ ($ Id.VSub_Number '$2'))})
                                    (command.Simple
                                      words: [
                                        {(sed)}
                                        {(-e)}
                                        {(DQ (s/) ($ Id.VSub_Number '$2') (/FILENAME/g))}
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:906)
                                          fd: -1
                                          arg_word: {(tmpaclout2)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                                (command.Simple
                                  words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:917)
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              ]
                            )
                        )
                      ]
                      spids: [852 853 925 -1]
                    )
                    (case_arm
                      pat_list: [{(hpuxjfs)}]
                      action: [
                        (command.ShFunction
                          name: func_test_same_acls
                          body: 
                            (command.BraceGroup
                              children: [
                                (command.AndOr
                                  ops: [Id.Op_DAmp]
                                  children: [
                                    (command.BraceGroup
                                      children: [
                                        (command.Pipeline
                                          children: [
                                            (C {(lsacl)} {(DQ ($ Id.VSub_Number '$1'))})
                                            (command.Simple
                                              words: [
                                                {(sed)}
                                                {(-e)}
                                                {(DQ (s/) ($ Id.VSub_Number '$1') (/FILENAME/g))}
                                              ]
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Great val:'>' span_id:961)
                                                  fd: -1
                                                  arg_word: {(tmpaclout1)}
                                                )
                                              ]
                                            )
                                          ]
                                          negated: F
                                        )
                                        (command.Pipeline
                                          children: [
                                            (C {(lsacl)} {(DQ ($ Id.VSub_Number '$2'))})
                                            (command.Simple
                                              words: [
                                                {(sed)}
                                                {(-e)}
                                                {(DQ (s/) ($ Id.VSub_Number '$2') (/FILENAME/g))}
                                              ]
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Great val:'>' span_id:984)
                                                  fd: -1
                                                  arg_word: {(tmpaclout2)}
                                                )
                                              ]
                                            )
                                          ]
                                          negated: F
                                        )
                                        (command.Simple
                                          words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}]
                                          redirects: [
                                            (redir.Redir
                                              op: (Token id:Id.Redir_Great val:'>' span_id:995)
                                              fd: -1
                                              arg_word: {(/dev/null)}
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (command.BraceGroup
                                      children: [
                                        (command.Pipeline
                                          children: [
                                            (C {(getacl)} {(DQ ($ Id.VSub_Number '$1'))})
                                            (command.Simple
                                              words: [
                                                {(sed)}
                                                {(-e)}
                                                {(DQ (s/) ($ Id.VSub_Number '$1') (/FILENAME/g))}
                                              ]
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Great val:'>' span_id:1025)
                                                  fd: -1
                                                  arg_word: {(tmpaclout1)}
                                                )
                                              ]
                                            )
                                          ]
                                          negated: F
                                        )
                                        (command.Pipeline
                                          children: [
                                            (C {(getacl)} {(DQ ($ Id.VSub_Number '$2'))})
                                            (command.Simple
                                              words: [
                                                {(sed)}
                                                {(-e)}
                                                {(DQ (s/) ($ Id.VSub_Number '$2') (/FILENAME/g))}
                                              ]
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Great val:'>' span_id:1048)
                                                  fd: -1
                                                  arg_word: {(tmpaclout2)}
                                                )
                                              ]
                                            )
                                          ]
                                          negated: F
                                        )
                                        (command.Simple
                                          words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}]
                                          redirects: [
                                            (redir.Redir
                                              op: (Token id:Id.Redir_Great val:'>' span_id:1059)
                                              fd: -1
                                              arg_word: {(/dev/null)}
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                  ]
                                )
                              ]
                            )
                        )
                      ]
                      spids: [928 929 1070 -1]
                    )
                    (case_arm
                      pat_list: [{(osf1)} {(nsk)}]
                      action: [
                        (command.ShFunction
                          name: func_test_same_acls
                          body: 
                            (command.BraceGroup
                              children: [
                                (command.Pipeline
                                  children: [
                                    (C {(getacl)} {(DQ ($ Id.VSub_Number '$1'))})
                                    (command.Simple
                                      words: [
                                        {(sed)}
                                        {(-e)}
                                        {(DQ (s/) ($ Id.VSub_Number '$1') (/FILENAME/g))}
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:1108)
                                          fd: -1
                                          arg_word: {(tmpaclout1)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                                (command.Pipeline
                                  children: [
                                    (C {(getacl)} {(DQ ($ Id.VSub_Number '$2'))})
                                    (command.Simple
                                      words: [
                                        {(sed)}
                                        {(-e)}
                                        {(DQ (s/) ($ Id.VSub_Number '$2') (/FILENAME/g))}
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:1131)
                                          fd: -1
                                          arg_word: {(tmpaclout2)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                                (command.Simple
                                  words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:1142)
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              ]
                            )
                        )
                      ]
                      spids: [1073 1078 1150 -1]
                    )
                    (case_arm
                      pat_list: [{(aix)}]
                      action: [
                        (command.ShFunction
                          name: func_test_same_acls
                          body: 
                            (command.BraceGroup
                              children: [
                                (command.Simple
                                  words: [{(aclget)} {(DQ ($ Id.VSub_Number '$1'))}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:1172)
                                      fd: -1
                                      arg_word: {(tmpaclout1)}
                                    )
                                  ]
                                )
                                (command.Simple
                                  words: [{(aclget)} {(DQ ($ Id.VSub_Number '$2'))}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:1183)
                                      fd: -1
                                      arg_word: {(tmpaclout2)}
                                    )
                                  ]
                                )
                                (command.Simple
                                  words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:1194)
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              ]
                            )
                        )
                      ]
                      spids: [1153 1154 1202 -1]
                    )
                    (case_arm
                      pat_list: [{(macosx)}]
                      action: [
                        (command.ShFunction
                          name: func_test_same_acls
                          body: 
                            (command.BraceGroup
                              children: [
                                (command.Pipeline
                                  children: [
                                    (C {(/bin/ls)} {(-le)} {(DQ ($ Id.VSub_Number '$1'))})
                                    (command.Simple
                                      words: [
                                        {(sed)}
                                        {(-e)}
                                        {(DQ (s/) ($ Id.VSub_Number '$1') (/FILENAME/g))}
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:1238)
                                          fd: -1
                                          arg_word: {(tmpaclout1)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                                (command.Pipeline
                                  children: [
                                    (C {(/bin/ls)} {(-le)} {(DQ ($ Id.VSub_Number '$2'))})
                                    (command.Simple
                                      words: [
                                        {(sed)}
                                        {(-e)}
                                        {(DQ (s/) ($ Id.VSub_Number '$2') (/FILENAME/g))}
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:1263)
                                          fd: -1
                                          arg_word: {(tmpaclout2)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                                (command.Simple
                                  words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:1274)
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              ]
                            )
                        )
                      ]
                      spids: [1205 1206 1282 -1]
                    )
                    (case_arm
                      pat_list: [{(irix)}]
                      action: [
                        (command.ShFunction
                          name: func_test_same_acls
                          body: 
                            (command.BraceGroup
                              children: [
                                (command.Pipeline
                                  children: [
                                    (C {(/bin/ls)} {(-lD)} {(DQ ($ Id.VSub_Number '$1'))})
                                    (command.Simple
                                      words: [
                                        {(sed)}
                                        {(-e)}
                                        {(DQ (s/) ($ Id.VSub_Number '$1') (/FILENAME/g))}
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:1318)
                                          fd: -1
                                          arg_word: {(tmpaclout1)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                                (command.Pipeline
                                  children: [
                                    (C {(/bin/ls)} {(-lD)} {(DQ ($ Id.VSub_Number '$2'))})
                                    (command.Simple
                                      words: [
                                        {(sed)}
                                        {(-e)}
                                        {(DQ (s/) ($ Id.VSub_Number '$2') (/FILENAME/g))}
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:1343)
                                          fd: -1
                                          arg_word: {(tmpaclout2)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                                (command.Simple
                                  words: [{(cmp)} {(tmpaclout1)} {(tmpaclout2)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:1354)
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              ]
                            )
                        )
                      ]
                      spids: [1285 1286 1362 -1]
                    )
                    (case_arm
                      pat_list: [{(none)}]
                      action: [
                        (command.ShFunction
                          name: func_test_same_acls
                          body: (command.BraceGroup children:[(C {(Id.Lit_Other ':')})])
                        )
                      ]
                      spids: [1365 1366 1384 -1]
                    )
                  ]
                )
                (command.ShFunction
                  name: func_test_copy
                  body: 
                    (command.BraceGroup
                      children: [
                        (command.Simple
                          words: [{(echo)} {(DQ ('Simple contents'))}]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_Great val:'>' span_id:1418)
                              fd: -1
                              arg_word: {(DQ ($ Id.VSub_Number '$2'))}
                            )
                          ]
                        )
                        (C {(chmod)} {(600)} {(DQ ($ Id.VSub_Number '$2'))})
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C 
                              {(DQ ($ Id.VSub_DollarName '$builddir')) (/test-copy-acl) 
                                (${ Id.VSub_Name EXEEXT)
                              } {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_Number '$2'))}
                            )
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Exit val:exit span_id:1452)
                              arg_word: {(1)}
                            )
                          ]
                        )
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C 
                              {(DQ ($ Id.VSub_DollarName '$builddir')) (/test-sameacls) 
                                (${ Id.VSub_Name EXEEXT)
                              } {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_Number '$2'))}
                            )
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Exit val:exit span_id:1475)
                              arg_word: {(1)}
                            )
                          ]
                        )
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {(func_test_same_acls)} {(DQ ($ Id.VSub_Number '$1'))} 
                              {(DQ ($ Id.VSub_Number '$2'))}
                            )
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Exit val:exit span_id:1492)
                              arg_word: {(1)}
                            )
                          ]
                        )
                      ]
                    )
                )
                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile1)})
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {($ Id.VSub_DollarName '$acl_flavor')} 
                              {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(none)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1519)
                        )
                      ]
                      action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: (C {(test)} {(-f)} {(/usr/xpg4/bin/id)})
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:1535)
                                )
                              ]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:ID)
                                      op: assign_op.Equal
                                      rhs: {(/usr/xpg4/bin/id)}
                                      spids: [1540]
                                    )
                                  ]
                                )
                              ]
                              spids: [1528 1537]
                            )
                          ]
                          else_action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:ID)
                                  op: assign_op.Equal
                                  rhs: {(id)}
                                  spids: [1547]
                                )
                              ]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:myuid)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (command_sub
                                    left_token: (Token id:Id.Left_Backtick val:'`' span_id:1563)
                                    command_list: 
                                      (command.CommandList
                                        children: [(C {($ Id.VSub_DollarName '$ID')} {(-u)})]
                                      )
                                  )
                                }
                              spids: [1562]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:mygid)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (command_sub
                                    left_token: (Token id:Id.Left_Backtick val:'`' span_id:1573)
                                    command_list: 
                                      (command.CommandList
                                        children: [(C {($ Id.VSub_DollarName '$ID')} {(-g)})]
                                      )
                                  )
                                }
                              spids: [1572]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:auid)
                              op: assign_op.Equal
                              rhs: {(1)}
                              spids: [1582]
                            )
                          ]
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$auid'))} 
                                      {(Id.Lit_Equals '=')} {(DQ ($ Id.VSub_DollarName '$myuid'))}
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:1599)
                                )
                              ]
                              action: [
                                (command.Sentence
                                  child: 
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:auid)
                                          op: assign_op.Equal
                                          rhs: {(2)}
                                          spids: [1603]
                                        )
                                      ]
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:1605)
                                )
                              ]
                              spids: [1586 1601]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:agid)
                              op: assign_op.Equal
                              rhs: {(1)}
                              spids: [1610]
                            )
                          ]
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$agid'))} 
                                      {(Id.Lit_Equals '=')} {(DQ ($ Id.VSub_DollarName '$mygid'))}
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:1627)
                                )
                              ]
                              action: [
                                (command.Sentence
                                  child: 
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:agid)
                                          op: assign_op.Equal
                                          rhs: {(2)}
                                          spids: [1631]
                                        )
                                      ]
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:1633)
                                )
                              ]
                              spids: [1614 1629]
                            )
                          ]
                        )
                        (command.Case
                          to_match: {($ Id.VSub_DollarName '$acl_flavor')}
                          arms: [
                            (case_arm
                              pat_list: [{(linux)} {(freebsd)} {(solaris)}]
                              action: [
                                (C {(setfacl)} {(-m)} 
                                  {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') 
                                    (Id.Lit_Other ':') (1)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)})
                                (C {(setfacl)} {(-m)} 
                                  {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') 
                                    (Id.Lit_Other ':') (4)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)})
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$acl_flavor')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(freebsd)}]
                                      action: [
                                        (C {(setfacl)} {(-m)} 
                                          {(other) (Id.Lit_Other ':') (Id.Lit_Other ':') (4)} {(tmpfile0)}
                                        )
                                      ]
                                      spids: [1722 1723 1736 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(solaris)}]
                                      action: [(C {(chmod)} {(o) (Id.Lit_Other '+') (r)} {(tmpfile0)})]
                                      spids: [1739 1740 1750 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Id.Lit_Star '*')}]
                                      action: [
                                        (C {(setfacl)} {(-m)} {(other) (Id.Lit_Other ':') (4)} 
                                          {(tmpfile0)}
                                        )
                                      ]
                                      spids: [1753 1754 1766 -1]
                                    )
                                  ]
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)})
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$acl_flavor')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(linux)}]
                                      action: [
                                        (C {(setfacl)} {(-x)} 
                                          {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid')} {(tmpfile0)}
                                        )
                                      ]
                                      spids: [1792 1793 1805 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(freebsd)}]
                                      action: [
                                        (C {(setfacl)} {(-x)} 
                                          {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') 
                                            (Id.Lit_Other ':') (1)
                                          } {(tmpfile0)}
                                        )
                                      ]
                                      spids: [1808 1809 1823 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Id.Lit_Star '*')}]
                                      action: [
                                        (C {(setfacl)} {(-d)} 
                                          {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') 
                                            (Id.Lit_Other ':') (1)
                                          } {(tmpfile0)}
                                        )
                                      ]
                                      spids: [1826 1827 1841 -1]
                                    )
                                  ]
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)})
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$acl_flavor')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(linux)} {(solaris)}]
                                      spids: [1867 1872 1874 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(freebsd)}]
                                      action: [
                                        (C {(setfacl)} {(-x)} 
                                          {(other) (Id.Lit_Other ':') (Id.Lit_Other ':') (4)} {(tmpfile0)}
                                        )
                                      ]
                                      spids: [1880 1881 1894 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Id.Lit_Star '*')}]
                                      action: [
                                        (C {(setfacl)} {(-d)} {(other) (Id.Lit_Other ':') (4)} 
                                          {(tmpfile0)}
                                        )
                                      ]
                                      spids: [1897 1898 1910 -1]
                                    )
                                  ]
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile6)})
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$acl_flavor')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(linux)}]
                                      action: [
                                        (C {(setfacl)} {(-x)} 
                                          {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid')} {(tmpfile0)}
                                        )
                                      ]
                                      spids: [1936 1937 1949 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(freebsd)}]
                                      action: [
                                        (C {(setfacl)} {(-x)} 
                                          {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') 
                                            (Id.Lit_Other ':') (4)
                                          } {(tmpfile0)}
                                        )
                                      ]
                                      spids: [1952 1953 1967 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Id.Lit_Star '*')}]
                                      action: [
                                        (C {(setfacl)} {(-d)} 
                                          {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') 
                                            (Id.Lit_Other ':') (4)
                                          } {(tmpfile0)}
                                        )
                                      ]
                                      spids: [1970 1971 1985 -1]
                                    )
                                  ]
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile7)})
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$acl_flavor')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(linux)} {(freebsd)}]
                                      action: [
                                        (C {(setfacl)} {(-m)} 
                                          {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') 
                                            (Id.Lit_Other ':') (1)
                                          } {(tmpfile0)}
                                        )
                                        (C {(setfacl)} {(-b)} {(tmpfile0)})
                                      ]
                                      spids: [2011 2016 2039 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Id.Lit_Star '*')}]
                                      action: [
                                        (C {(setfacl)} {(-s)} 
                                          {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (6) 
                                            (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (0) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (0)
                                          } {(tmpfile0)}
                                        )
                                      ]
                                      spids: [2042 2043 2066 -1]
                                    )
                                  ]
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)})
                                (command.Simple
                                  words: [{(echo)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:2087)
                                      fd: -1
                                      arg_word: {(tmpfile9)}
                                    )
                                  ]
                                )
                                (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)})
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$acl_flavor')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(linux)}]
                                      action: [
                                        (command.Pipeline
                                          children: [
                                            (C {(getfacl)} {(tmpfile9)})
                                            (C {(setfacl)} {(--set-file) (Id.Lit_Equals '=') (-)} 
                                              {(tmpfile0)}
                                            )
                                          ]
                                          negated: F
                                        )
                                      ]
                                      spids: [2108 2109 2125 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(freebsd)}]
                                      spids: [2128 2129 2131 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Id.Lit_Star '*')}]
                                      action: [
                                        (command.Pipeline
                                          children: [
                                            (C {(getfacl)} {(tmpfile9)})
                                            (C {(setfacl)} {(-f)} {(-)} {(tmpfile0)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                      spids: [2134 2135 2151 -1]
                                    )
                                  ]
                                )
                                (C {(rm)} {(-f)} {(tmpfile9)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)})
                              ]
                              spids: [1646 1655 2173 -1]
                            )
                            (case_arm
                              pat_list: [{(cygwin)}]
                              action: [
                                (C {(setfacl)} {(-m)} 
                                  {(group) (Id.Lit_Other ':') (0) (Id.Lit_Other ':') (1)} {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)})
                                (C {(setfacl)} {(-m)} {(other) (Id.Lit_Other ':') (4)} {(tmpfile0)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)})
                                (C {(setfacl)} {(-d)} {(group) (Id.Lit_Other ':') (0)} {(tmpfile0)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)})
                                (C {(setfacl)} {(-d)} {(other) (Id.Lit_Other ':') (4)} {(tmpfile0)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile6)})
                                (C {(setfacl)} {(-s)} 
                                  {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (6) (Id.Lit_Comma ',') 
                                    (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (0) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (0)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)})
                                (command.Simple
                                  words: [{(echo)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:2320)
                                      fd: -1
                                      arg_word: {(tmpfile9)}
                                    )
                                  ]
                                )
                                (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)})
                                (command.Pipeline
                                  children: [
                                    (C {(getfacl)} {(tmpfile9)})
                                    (C {(setfacl)} {(-f)} {(-)} {(tmpfile0)})
                                  ]
                                  negated: F
                                )
                                (C {(rm)} {(-f)} {(tmpfile9)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)})
                              ]
                              spids: [2177 2178 2365 -1]
                            )
                            (case_arm
                              pat_list: [{(hpux)}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:orig)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: 
                                              (Token
                                                id: Id.Left_Backtick
                                                val: '`'
                                                span_id: 2379
                                              )
                                            command_list: 
                                              (command.CommandList
                                                children: [
                                                  (command.Pipeline
                                                    children: [
                                                      (C {(lsacl)} {(tmpfile0)})
                                                      (C {(sed)} {(-e)} 
                                                        {
                                                          (SQ 
                                                            (Token
                                                              id: Id.Lit_Chars
                                                              val: 's/ tmpfile0$//'
                                                              span_id: 2393
                                                            )
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                          )
                                        }
                                      spids: [2378]
                                    )
                                  ]
                                )
                                (C {(chacl)} {(-r)} 
                                  {
                                    (DQ (${ Id.VSub_Name orig) ('(') ($ Id.VSub_DollarName '$auid') 
                                      ('.%,--x)')
                                    )
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)})
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:orig)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: 
                                              (Token
                                                id: Id.Left_Backtick
                                                val: '`'
                                                span_id: 2428
                                              )
                                            command_list: 
                                              (command.CommandList
                                                children: [
                                                  (command.Pipeline
                                                    children: [
                                                      (C {(lsacl)} {(tmpfile0)})
                                                      (C {(sed)} {(-e)} 
                                                        {
                                                          (SQ 
                                                            (Token
                                                              id: Id.Lit_Chars
                                                              val: 's/ tmpfile0$//'
                                                              span_id: 2442
                                                            )
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                          )
                                        }
                                      spids: [2427]
                                    )
                                  ]
                                )
                                (C {(chacl)} {(-r)} 
                                  {
                                    (DQ (${ Id.VSub_Name orig) ('(%.') ($ Id.VSub_DollarName '$agid') 
                                      (',r--)')
                                    )
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)})
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:orig)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: 
                                              (Token
                                                id: Id.Left_Backtick
                                                val: '`'
                                                span_id: 2477
                                              )
                                            command_list: 
                                              (command.CommandList
                                                children: [
                                                  (command.Pipeline
                                                    children: [
                                                      (C {(lsacl)} {(tmpfile0)})
                                                      (C {(sed)} {(-e)} 
                                                        {
                                                          (SQ 
                                                            (Token
                                                              id: Id.Lit_Chars
                                                              val: 's/ tmpfile0$//'
                                                              span_id: 2491
                                                            )
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                          )
                                        }
                                      spids: [2476]
                                    )
                                  ]
                                )
                                (C {(chacl)} {(-r)} {(DQ (${ Id.VSub_Name orig) ('(%.%,r--)'))} 
                                  {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)})
                                (C {(chacl)} {(-d)} 
                                  {(DQ ('(') ($ Id.VSub_DollarName '$auid') ('.%,--x)'))} {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)})
                                (C {(chacl)} {(-d)} 
                                  {(DQ ('(%.') ($ Id.VSub_DollarName '$agid') (',r--)'))} {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile6)})
                                (C {(chacl)} {(-z)} {(tmpfile0)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)})
                                (command.Simple
                                  words: [{(echo)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:2597)
                                      fd: -1
                                      arg_word: {(tmpfile9)}
                                    )
                                  ]
                                )
                                (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)})
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:orig)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: 
                                              (Token
                                                id: Id.Left_Backtick
                                                val: '`'
                                                span_id: 2612
                                              )
                                            command_list: 
                                              (command.CommandList
                                                children: [
                                                  (command.Pipeline
                                                    children: [
                                                      (C {(lsacl)} {(tmpfile9)})
                                                      (C {(sed)} {(-e)} 
                                                        {
                                                          (SQ 
                                                            (Token
                                                              id: Id.Lit_Chars
                                                              val: 's/ tmpfile9$//'
                                                              span_id: 2626
                                                            )
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                          )
                                        }
                                      spids: [2611]
                                    )
                                  ]
                                )
                                (C {(rm)} {(-f)} {(tmpfile9)})
                                (C {(chacl)} {(-r)} {(DQ (${ Id.VSub_Name orig))} {(tmpfile0)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)})
                              ]
                              spids: [2369 2370 2660 -1]
                            )
                            (case_arm
                              pat_list: [{(hpuxjfs)}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:orig)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: 
                                              (Token
                                                id: Id.Left_Backtick
                                                val: '`'
                                                span_id: 2674
                                              )
                                            command_list: 
                                              (command.CommandList
                                                children: [
                                                  (command.Pipeline
                                                    children: [
                                                      (C {(lsacl)} {(tmpfile0)})
                                                      (C {(sed)} {(-e)} 
                                                        {
                                                          (SQ 
                                                            (Token
                                                              id: Id.Lit_Chars
                                                              val: 's/ tmpfile0$//'
                                                              span_id: 2688
                                                            )
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                          )
                                        }
                                      spids: [2673]
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(chacl)} {(-r)} 
                                      {
                                        (DQ (${ Id.VSub_Name orig) ('(') ($ Id.VSub_DollarName '$auid') 
                                          ('.%,--x)')
                                        )
                                      } {(tmpfile0)}
                                    )
                                    (C {(setacl)} {(-m)} 
                                      {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') 
                                        (Id.Lit_Other ':') (1)
                                      } {(tmpfile0)}
                                    )
                                  ]
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)})
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:orig)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: 
                                              (Token
                                                id: Id.Left_Backtick
                                                val: '`'
                                                span_id: 2739
                                              )
                                            command_list: 
                                              (command.CommandList
                                                children: [
                                                  (command.Pipeline
                                                    children: [
                                                      (C {(lsacl)} {(tmpfile0)})
                                                      (C {(sed)} {(-e)} 
                                                        {
                                                          (SQ 
                                                            (Token
                                                              id: Id.Lit_Chars
                                                              val: 's/ tmpfile0$//'
                                                              span_id: 2753
                                                            )
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                          )
                                        }
                                      spids: [2738]
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(chacl)} {(-r)} 
                                      {
                                        (DQ (${ Id.VSub_Name orig) ('(%.') 
                                          ($ Id.VSub_DollarName '$agid') (',r--)')
                                        )
                                      } {(tmpfile0)}
                                    )
                                    (C {(setacl)} {(-m)} 
                                      {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') 
                                        (Id.Lit_Other ':') (4)
                                      } {(tmpfile0)}
                                    )
                                  ]
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)})
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:orig)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: 
                                              (Token
                                                id: Id.Left_Backtick
                                                val: '`'
                                                span_id: 2804
                                              )
                                            command_list: 
                                              (command.CommandList
                                                children: [
                                                  (command.Pipeline
                                                    children: [
                                                      (C {(lsacl)} {(tmpfile0)})
                                                      (C {(sed)} {(-e)} 
                                                        {
                                                          (SQ 
                                                            (Token
                                                              id: Id.Lit_Chars
                                                              val: 's/ tmpfile0$//'
                                                              span_id: 2818
                                                            )
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                          )
                                        }
                                      spids: [2803]
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(chacl)} {(-r)} {(DQ (${ Id.VSub_Name orig) ('(%.%,r--)'))} 
                                      {(tmpfile0)}
                                    )
                                    (C {(setacl)} {(-m)} {(other) (Id.Lit_Other ':') (4)} {(tmpfile0)})
                                  ]
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)})
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(chacl)} {(-d)} 
                                      {(DQ ('(') ($ Id.VSub_DollarName '$auid') ('.%,--x)'))} {(tmpfile0)}
                                    )
                                    (C {(setacl)} {(-d)} 
                                      {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid')} {(tmpfile0)}
                                    )
                                  ]
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)})
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(chacl)} {(-d)} 
                                      {(DQ ('(%.') ($ Id.VSub_DollarName '$agid') (',r--)'))} {(tmpfile0)}
                                    )
                                    (C {(setacl)} {(-d)} 
                                      {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid')} {(tmpfile0)}
                                    )
                                  ]
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile6)})
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(chacl)} {(-z)} {(tmpfile0)})
                                    (command.BraceGroup
                                      children: [
                                        (C {(setacl)} {(-m)} 
                                          {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') 
                                            (Id.Lit_Other ':') (1)
                                          } {(tmpfile0)}
                                        )
                                        (C {(setacl)} {(-s)} 
                                          {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (6) 
                                            (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (0) (Id.Lit_Comma ',') (class) (Id.Lit_Other ':') (7) 
                                            (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (0)
                                          } {(tmpfile0)}
                                        )
                                      ]
                                    )
                                  ]
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)})
                                (command.Simple
                                  words: [{(echo)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:3012)
                                      fd: -1
                                      arg_word: {(tmpfile9)}
                                    )
                                  ]
                                )
                                (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)})
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:orig)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: 
                                              (Token
                                                id: Id.Left_Backtick
                                                val: '`'
                                                span_id: 3027
                                              )
                                            command_list: 
                                              (command.CommandList
                                                children: [
                                                  (command.Pipeline
                                                    children: [
                                                      (C {(lsacl)} {(tmpfile9)})
                                                      (C {(sed)} {(-e)} 
                                                        {
                                                          (SQ 
                                                            (Token
                                                              id: Id.Lit_Chars
                                                              val: 's/ tmpfile9$//'
                                                              span_id: 3041
                                                            )
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                          )
                                        }
                                      spids: [3026]
                                    )
                                  ]
                                )
                                (command.Simple
                                  words: [{(getacl)} {(tmpfile9)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:3050)
                                      fd: -1
                                      arg_word: {(tmpaclout0)}
                                    )
                                  ]
                                )
                                (C {(rm)} {(-f)} {(tmpfile9)})
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(chacl)} {(-r)} {(DQ (${ Id.VSub_Name orig))} {(tmpfile0)})
                                    (C {(setacl)} {(-f)} {(tmpaclout0)} {(tmpfile0)})
                                  ]
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)})
                              ]
                              spids: [2664 2665 3096 -1]
                            )
                            (case_arm
                              pat_list: [{(osf1)}]
                              action: [
                                (C {(setacl)} {(-u)} 
                                  {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') 
                                    (Id.Lit_Other ':') (1)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)})
                                (C {(setacl)} {(-u)} 
                                  {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') 
                                    (Id.Lit_Other ':') (4)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)})
                                (C {(setacl)} {(-u)} {(other) (Id.Lit_Other ':') (Id.Lit_Other ':') (4)} 
                                  {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)})
                                (C {(setacl)} {(-x)} 
                                  {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') 
                                    (Id.Lit_Other ':') (1)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)})
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (command.Sentence
                                          child: (C {(false)})
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:3211)
                                        )
                                      ]
                                      action: [
                                        (C {(setacl)} {(-x)} 
                                          {(other) (Id.Lit_Other ':') (Id.Lit_Other ':') (4)} {(tmpfile0)}
                                        )
                                        (C {(func_test_copy)} {(tmpfile0)} {(tmpfile6)})
                                      ]
                                      spids: [3208 3213]
                                    )
                                  ]
                                )
                                (C {(setacl)} {(-x)} 
                                  {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') 
                                    (Id.Lit_Other ':') (4)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile7)})
                                (C {(setacl)} {(-u)} 
                                  {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') 
                                    (Id.Lit_Other ':') (1)
                                  } {(tmpfile0)}
                                )
                                (C {(setacl)} {(-b)} {(tmpfile0)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)})
                                (command.Simple
                                  words: [{(echo)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:3312)
                                      fd: -1
                                      arg_word: {(tmpfile9)}
                                    )
                                  ]
                                )
                                (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)})
                                (command.Simple
                                  words: [{(getacl)} {(tmpfile9)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:3330)
                                      fd: -1
                                      arg_word: {(tmpaclout0)}
                                    )
                                  ]
                                )
                                (C {(setacl)} {(-b)} {(-U)} {(tmpaclout0)} {(tmpfile0)})
                                (C {(rm)} {(-f)} {(tmpfile9)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)})
                              ]
                              spids: [3100 3101 3362 -1]
                            )
                            (case_arm
                              pat_list: [{(nsk)}]
                              action: [
                                (C {(setacl)} {(-m)} 
                                  {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') 
                                    (Id.Lit_Other ':') (1)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)})
                                (C {(setacl)} {(-m)} 
                                  {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') 
                                    (Id.Lit_Other ':') (4)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)})
                                (C {(setacl)} {(-m)} {(other) (Id.Lit_Other ':') (4)} {(tmpfile0)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)})
                                (C {(setacl)} {(-d)} 
                                  {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid')} {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)})
                                (C {(setacl)} {(-d)} 
                                  {(group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid')} {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile6)})
                                (C {(setacl)} {(-m)} 
                                  {(user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') 
                                    (Id.Lit_Other ':') (1)
                                  } {(tmpfile0)}
                                )
                                (C {(setacl)} {(-s)} 
                                  {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (6) (Id.Lit_Comma ',') 
                                    (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (0) (Id.Lit_Comma ',') (class) (Id.Lit_Other ':') (7) 
                                    (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (0)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)})
                                (command.Simple
                                  words: [{(echo)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:3552)
                                      fd: -1
                                      arg_word: {(tmpfile9)}
                                    )
                                  ]
                                )
                                (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)})
                                (command.Simple
                                  words: [{(getacl)} {(tmpfile9)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:3570)
                                      fd: -1
                                      arg_word: {(tmpaclout0)}
                                    )
                                  ]
                                )
                                (C {(setacl)} {(-f)} {(tmpaclout0)} {(tmpfile0)})
                                (C {(rm)} {(-f)} {(tmpfile9)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)})
                              ]
                              spids: [3366 3367 3600 -1]
                            )
                            (case_arm
                              pat_list: [{(aix)}]
                              action: [
                                (command.Pipeline
                                  children: [
                                    (command.BraceGroup
                                      children: [
                                        (command.Sentence
                                          child: 
                                            (command.Pipeline
                                              children: [
                                                (C {(aclget)} {(tmpfile0)})
                                                (C {(sed)} {(-e)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 's/disabled$/enabled/'
                                                        span_id: 3626
                                                      )
                                                    )
                                                  }
                                                )
                                              ]
                                              negated: F
                                            )
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:3628)
                                        )
                                        (command.Sentence
                                          child: 
                                            (C {(echo)} 
                                              {
                                                (DQ ('        permit --x u:') 
                                                  ($ Id.VSub_DollarName '$auid')
                                                )
                                              }
                                            )
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:3636)
                                        )
                                      ]
                                    )
                                    (C {(aclput)} {(tmpfile0)})
                                  ]
                                  negated: F
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)})
                                (command.Pipeline
                                  children: [
                                    (command.BraceGroup
                                      children: [
                                        (command.Sentence
                                          child: 
                                            (command.Pipeline
                                              children: [
                                                (C {(aclget)} {(tmpfile0)})
                                                (C {(sed)} {(-e)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 's/disabled$/enabled/'
                                                        span_id: 3673
                                                      )
                                                    )
                                                  }
                                                )
                                              ]
                                              negated: F
                                            )
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:3675)
                                        )
                                        (command.Sentence
                                          child: 
                                            (C {(echo)} 
                                              {
                                                (DQ ('        permit r-- g:') 
                                                  ($ Id.VSub_DollarName '$agid')
                                                )
                                              }
                                            )
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:3683)
                                        )
                                      ]
                                    )
                                    (C {(aclput)} {(tmpfile0)})
                                  ]
                                  negated: F
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)})
                                (C {(chmod)} {(o) (Id.Lit_Other '+') (r)} {(tmpfile0)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)})
                                (command.Pipeline
                                  children: [
                                    (C {(aclget)} {(tmpfile0)})
                                    (C {(grep)} {(-v)} 
                                      {(SQ (Token id:Id.Lit_Chars val:' u:[^ ]*$' span_id:3740))}
                                    )
                                    (C {(aclput)} {(tmpfile0)})
                                  ]
                                  negated: F
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)})
                                (command.Pipeline
                                  children: [
                                    (C {(aclget)} {(tmpfile0)})
                                    (C {(grep)} {(-v)} 
                                      {(SQ (Token id:Id.Lit_Chars val:' g:[^ ]*$' span_id:3774))}
                                    )
                                    (C {(aclput)} {(tmpfile0)})
                                  ]
                                  negated: F
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile7)})
                                (command.Pipeline
                                  children: [
                                    (C {(aclget)} {(tmpfile0)})
                                    (C {(sed)} {(-e)} 
                                      {
                                        (SQ 
                                          (Token
                                            id: Id.Lit_Chars
                                            val: 's/enabled$/disabled/'
                                            span_id: 3808
                                          )
                                        )
                                      }
                                    )
                                    (C {(sed)} {(-e)} 
                                      {(SQ (Token id:Id.Lit_Chars val:'/disabled$/q' span_id:3818))}
                                    )
                                    (C {(aclput)} {(tmpfile0)})
                                  ]
                                  negated: F
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)})
                                (command.Simple
                                  words: [{(echo)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:3843)
                                      fd: -1
                                      arg_word: {(tmpfile9)}
                                    )
                                  ]
                                )
                                (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)})
                                (command.Pipeline
                                  children: [(C {(aclget)} {(tmpfile9)}) (C {(aclput)} {(tmpfile0)})]
                                  negated: F
                                )
                                (C {(rm)} {(-f)} {(tmpfile9)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)})
                              ]
                              spids: [3604 3605 3884 -1]
                            )
                            (case_arm
                              pat_list: [{(macosx)}]
                              action: [
                                (C {(/bin/chmod)} {(Id.Lit_Other '+') (a)} 
                                  {(DQ ('user:daemon allow execute'))} {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)})
                                (C {(/bin/chmod)} {(Id.Lit_Other '+') (a)} 
                                  {(DQ ('group:daemon allow read'))} {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)})
                                (C {(chmod)} {(o) (Id.Lit_Other '+') (r)} {(tmpfile0)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)})
                                (C {(/bin/chmod)} {(-a)} {(DQ ('user:daemon allow execute'))} 
                                  {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)})
                                (C {(/bin/chmod)} {(-a)} {(DQ ('group:daemon allow read'))} {(tmpfile0)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile7)})
                                (C {(/bin/chmod)} {(-N)} {(tmpfile0)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile8)})
                                (command.Simple
                                  words: [{(echo)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:4039)
                                      fd: -1
                                      arg_word: {(tmpfile9)}
                                    )
                                  ]
                                )
                                (C {(chmod)} {(a) (Id.Lit_Other '+') (x)} {(tmpfile9)})
                                (command.Pipeline
                                  children: [
                                    (command.BraceGroup
                                      children: [
                                        (command.Sentence
                                          child: 
                                            (command.Pipeline
                                              children: [
                                                (C {(/bin/ls)} {(-le)} {(tmpfile9)})
                                                (C {(sed)} {(-n)} {(-e)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 's/^ [0-9][0-9]*: //p'
                                                        span_id: 4070
                                                      )
                                                    )
                                                  }
                                                )
                                              ]
                                              negated: F
                                            )
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:4072)
                                        )
                                        (command.Sentence
                                          child: (C {(echo)})
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:4075)
                                        )
                                      ]
                                    )
                                    (C {(/bin/chmod)} {(-E)} {(tmpfile0)})
                                  ]
                                  negated: F
                                )
                                (C {(rm)} {(-f)} {(tmpfile9)})
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile9)})
                              ]
                              spids: [3888 3889 4104 -1]
                            )
                            (case_arm
                              pat_list: [{(irix)}]
                              action: [
                                (C {(/sbin/chacl)} 
                                  {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (rw-) (Id.Lit_Comma ',') 
                                    (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (---) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') 
                                    (Id.Lit_Other ':') (---) (Id.Lit_Comma ',') (user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (--x)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile2)})
                                (C {(/sbin/chacl)} 
                                  {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (rw-) (Id.Lit_Comma ',') 
                                    (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (---) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') 
                                    (Id.Lit_Other ':') (---) (Id.Lit_Comma ',') (user) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (--x) 
                                    (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') (Id.Lit_Other ':') (r--)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile3)})
                                (C {(/sbin/chacl)} 
                                  {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (rw-) (Id.Lit_Comma ',') 
                                    (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (---) (Id.Lit_Comma ',') (user) (Id.Lit_Other ':') 
                                    ($ Id.VSub_DollarName '$auid') (Id.Lit_Other ':') (--x) (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$agid') 
                                    (Id.Lit_Other ':') (r--) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (Id.Lit_Other ':') (r--)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile4)})
                                (C {(/sbin/chacl)} 
                                  {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (rw-) (Id.Lit_Comma ',') 
                                    (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (---) (Id.Lit_Comma ',') (group) (Id.Lit_Other ':') 
                                    ($ Id.VSub_DollarName '$agid') (Id.Lit_Other ':') (r--) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') (Id.Lit_Other ':') (r--)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile5)})
                                (C {(/sbin/chacl)} 
                                  {(user) (Id.Lit_Other ':') (Id.Lit_Other ':') (rw-) (Id.Lit_Comma ',') 
                                    (group) (Id.Lit_Other ':') (Id.Lit_Other ':') (---) (Id.Lit_Comma ',') (other) (Id.Lit_Other ':') 
                                    (Id.Lit_Other ':') (r--)
                                  } {(tmpfile0)}
                                )
                                (C {(func_test_copy)} {(tmpfile0)} {(tmpfile7)})
                              ]
                              spids: [4108 4109 4314 -1]
                            )
                          ]
                        )
                      ]
                      spids: [1509 1521]
                    )
                  ]
                )
                (C {(rm)} {(-f)} {(Id.Lit_ArrayLhsOpen 'tmpfile[') (0-9) (Id.Lit_RBracket ']')} 
                  {(Id.Lit_ArrayLhsOpen 'tmpaclout[') (0-2) (Id.Lit_RBracket ']')}
                )
              ]
            )
        )
        (command.ControlFlow
          token: (Token id:Id.ControlFlow_Exit val:exit span_id:4341)
          arg_word: {(1)}
        )
      ]
    )
    (C {(rm)} {(-rf)} {(DQ ($ Id.VSub_DollarName '$tmp'))})
    (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:4354) arg_word:{(0)})
  ]
)