(CommandList
  children: [
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (C {(set)} {(-o)} {(errexit)})
    (FuncDef
      name: replace
      body: 
        (BraceGroup
          children: [
            (C {(sed)} {(-r)} {(-i)} {(SQ <"s/Eof_([A-Z]+)/Id.Eof_\\L\\1/g">)} 
              {(Lit_Other "*") (/) (Lit_Other "*") (.py)}
            )
            (C {(sed)} {(-r)} {(-i)} {(SQ <"s/Eof_([a-zA-Z]+)/Eof_\\u\\1/g">)} 
              {(Lit_Other "*") (/) (Lit_Other "*") (.py)}
            )
          ]
          spids: [36]
        )
      spids: [32 35]
    )
    (FuncDef
      name: change-kind
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kind)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [170]
                )
              ]
              spids: [168]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kind2)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {($ VSub_Name "$kind")}
                          )
                        spids: [177 181]
                      )
                    }
                  spids: [176]
                )
              ]
              spids: [174]
            )
            (C {(sed)} {(-r)} {(-i)} 
              {
                (DQ (s/) (${ VSub_Name kind) ("_([A-Z]+)/Id.") (${ VSub_Name kind2) (_) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (L) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (1/g)
                )
              } {(Lit_Other "*") (/) (Lit_Other "*") (.py)}
            )
            (C {(sed)} {(-r)} {(-i)} 
              {
                (DQ (s/) (${ VSub_Name kind) ("_([a-zA-Z]+)/") (${ VSub_Name kind2) (_) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (u) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (1/g)
                )
              } {(Lit_Other "*") (/) (Lit_Other "*") (.py)}
            )
          ]
          spids: [165]
        )
      spids: [161 164]
    )
    (FuncDef
      name: k2
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kind)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [261]
                )
              ]
              spids: [259]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lower)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name kind>
                        suffix_op: (StringUnary op_id:VOp1_DComma arg_word:{})
                        spids: [268 271]
                      )
                    }
                  spids: [267]
                )
              ]
              spids: [265]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:title)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name lower>
                        suffix_op: (StringUnary op_id:VOp1_Caret arg_word:{})
                        spids: [278 281]
                      )
                    }
                  spids: [277]
                )
              ]
              spids: [275]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:replace)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {($ VSub_Name "$title")}
                          )
                        spids: [287 291]
                      )
                    }
                  spids: [286]
                )
              ]
              spids: [284]
            )
            (C {(sed)} {(-r)} {(-i)} 
              {(DQ (s/Id.) (${ VSub_Name kind) (_/Id.) (${ VSub_Name replace) (_/g))} {(Lit_Other "*") (/) (Lit_Other "*") (.py)}
            )
            (C {(sed)} {(-r)} {(-i)} 
              {(DQ (s/TokenKind.) (${ VSub_Name kind) (/TokenKind.) (${ VSub_Name replace) (/g))} {(Lit_Other "*") (/) (Lit_Other "*") (.py)}
            )
          ]
          spids: [256]
        )
      spids: [252 255]
    )
    (FuncDef
      name: replace
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [354]
                )
              ]
              spids: [352]
            )
            (While
              cond: [(Sentence child:(C {(read)} {(pat)} {(replace)}) terminator:<Op_Semi ";">)]
              body: 
                (DoGroup
                  children: [
                    (C {(sed)} {(-r)} {(-i)} 
                      {(DQ (s/) (${ VSub_Name pat) (/) (${ VSub_Name replace) (/g))} {(Lit_Other "*") (/) (Lit_Other "*") (.py)}
                    )
                  ]
                  spids: [368 395]
                )
              redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{($ VSub_Name "$file")} spids:[397])]
            )
          ]
          spids: [349]
        )
      spids: [345 348]
    )
    (FuncDef
      name: trailing-ws
      body: 
        (BraceGroup
          children: [(C {(sed)} {(-r)} {(-i)} {(SQ <"s/[ ]+$//g">)} {(DQ ($ VSub_At "$@"))})]
          spids: [408]
        )
      spids: [404 407]
    )
    (C {(DQ ($ VSub_At "$@"))})
  ]
)