(CommandList
  children: [
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:PATH)
              op: Equal
              rhs: {(/bin) (Lit_Other ':') (/usr/bin) (Lit_Other ':') ($ VSub_Name '$PATH')}
              spids: [109]
            )
          ]
          spids: [109]
        )
      terminator: <Op_Semi ';'>
    )
    (C {(export)} {(PATH)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair lhs:(LhsName name:opt) op:Equal rhs:{(EmptyPart)} spids:[121])
        (assign_pair lhs:(LhsName name:dirs) op:Equal rhs:{(EmptyPart)} spids:[123])
        (assign_pair lhs:(LhsName name:localdirs) op:Equal rhs:{(EmptyPart)} spids:[125])
      ]
      spids: [121]
    )
    (ForEach
      iter_name: arg
      do_arg_iter: T
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {(DQ ($ VSub_Name '$arg'))}
              arms: [
                (case_arm
                  pat_list: [{(-) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:opt)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$opt') (' ') ($ VSub_Name '$arg'))}
                          spids: [148]
                        )
                      ]
                      spids: [148]
                    )
                  ]
                  spids: [144 146 154 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dirs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$dirs') (' ') ($ VSub_Name '$arg'))}
                          spids: [160]
                        )
                      ]
                      spids: [160]
                    )
                  ]
                  spids: [157 158 166 16777215]
                )
              ]
              spids: [135 141 169]
            )
          ]
          spids: [132 171]
        )
      spids: [16777215 16777215]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:dirs)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [(C {(echo)} {($ VSub_Name '$dirs')}) (C {(sed)} {(SQ <'s/:/ /g'>)})]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [175 187]
              )
            }
          spids: [174]
        )
      ]
      spids: [174]
    )
    (Case
      to_match: {(X) (DQ ($ VSub_Name '$dirs'))}
      arms: [
        (case_arm
          pat_list: [{(X)}]
          action: [
            (Sentence
              child: (C {(echo)} {(DQ ('usage: ') ($ VSub_Number '$0') (' [options] directories ...'))})
              terminator: <Op_Semi ';'>
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [198 199 213 16777215]
        )
      ]
      spids: [189 196 215]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:localdirs)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(find)} {(-H)} {($ VSub_Name '$dirs')} {(-fstype)} {(Assign_Local local)} 
                        {(-type)} {(d)} {(-prune)} {(-print)}
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [219 237]
              )
            }
          spids: [218]
        )
      ]
      spids: [218]
    )
    (Case
      to_match: {(X) (DQ ($ VSub_Name '$localdirs'))}
      arms: [
        (case_arm
          pat_list: [{(X)}]
          action: [
            (C {(echo)} 
              {
                (DQ ($ VSub_Number '$0') (': no local-mounted manual directories found: ') 
                  ($ VSub_Name '$dirs')
                )
              }
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [250 251 265 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (C {(exec)} 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [(C {(basename)} {($ VSub_Number '$0')} {(.local)})]
                    )
                  left_token: <Left_Backtick '`'>
                  spids: [273 279]
                )
              } {($ VSub_Name '$opt')} {($ VSub_Name '$localdirs')}
            )
          ]
          spids: [268 269 284 16777215]
        )
      ]
      spids: [240 247 286]
    )
  ]
)