(CommandList children: [ (FuncDef name: "kube::version::get_version_vars" body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_GIT_VERSION_FILE> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [109 112] ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (version) (Lit_Other ":") (Lit_Other ":") (load_version_vars) } {(DQ (${ VSub_Name KUBE_GIT_VERSION_FILE))} ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [-1 117] ) ] spids: [-1 138] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:git) op: Equal rhs: { (ArrayLiteralPart words: [{(git)} {(--work-tree)} {(DQ (${ VSub_Name KUBE_ROOT))}] ) } spids: [144] ) ] spids: [142] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_GIT_COMMIT> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [165 168] ) } ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_COMMIT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ { (DQ (BracedVarSub token: <VSub_Name git> bracket_op: (WholeArray op_id:Lit_At) spids: [177 182] ) ) } {(rev-parse)} {(DQ ("HEAD^{commit}"))} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [191] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [175 193] ) } spids: [174] ) ] spids: [174] ) ] op_id: Op_DPipe ) terminator: <Op_Semi ";"> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (BracedVarSub token: <VSub_Name KUBE_GIT_TREE_STATE> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [205 208] ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:git_status) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ { (DQ (BracedVarSub token: <VSub_Name git> bracket_op: (WholeArray op_id: Lit_At ) spids: [225 230] ) ) } {(status)} {(--porcelain)} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [237] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [223 239] ) } spids: [222] ) ] spids: [222] ) (DBracket expr: (BoolUnary op_id: BoolUnary_z child: {(${ VSub_Name git_status)} ) ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_TREE_STATE) op: Equal rhs: {(DQ (clean))} spids: [257] ) ] spids: [257] ) ] spids: [-1 254] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_TREE_STATE) op: Equal rhs: {(DQ (dirty))} spids: [266] ) ] spids: [266] ) ] spids: [263 272] ) ] spids: [-1 213] ) ] spids: [-1 275] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_GIT_VERSION> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [289 292] ) } ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_VERSION) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ { (DQ (BracedVarSub token: <VSub_Name git> bracket_op: (WholeArray op_id:Lit_At) spids: [301 306] ) ) } {(describe)} {(--tags)} {(--abbrev) (Lit_Other "=") (14)} { (DQ (${ VSub_Name KUBE_GIT_COMMIT) ("^{commit}") ) } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [324] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [299 326] ) } spids: [298] ) ] spids: [298] ) ] op_id: Op_DPipe ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DASHES_IN_VERSION) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name KUBE_GIT_VERSION))}) (C {(sed)} {(DQ ("s/[^-]//g"))}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [357 373] ) } spids: [356] ) ] spids: [356] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name DASHES_IN_VERSION))} right: {(DQ (---))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_VERSION) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name KUBE_GIT_VERSION))} ) (C {(sed)} { (DQ (s/-) (EscapedLiteralPart token: <Lit_EscapedChar "\\("> ) ("[0-9]") (EscapedLiteralPart token:<Lit_EscapedChar "\\{">) ("1,") (EscapedLiteralPart token: <Lit_EscapedChar "\\}"> ) (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) (-g) (EscapedLiteralPart token: <Lit_EscapedChar "\\("> ) ("[0-9a-f]") (EscapedLiteralPart token:<Lit_EscapedChar "\\{">) (14) (EscapedLiteralPart token: <Lit_EscapedChar "\\}"> ) (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) (Lit_Other "$") (/.) (EscapedLiteralPart token: <Lit_EscapedChar "\\1"> ) (EscapedLiteralPart token:<Lit_EscapedChar "\\+">) (EscapedLiteralPart token:<Lit_EscapedChar "\\2">) (/) ) } ) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [404 439] ) } spids: [403] ) ] spids: [403] ) ] spids: [-1 396] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name DASHES_IN_VERSION))} right: {(DQ (--))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_VERSION) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name KUBE_GIT_VERSION))} ) (C {(sed)} { (DQ (s/-g) (EscapedLiteralPart token: <Lit_EscapedChar "\\("> ) ("[0-9a-f]") (EscapedLiteralPart token:<Lit_EscapedChar "\\{">) (14) (EscapedLiteralPart token: <Lit_EscapedChar "\\}"> ) (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) (Lit_Other "$") ("/+") (EscapedLiteralPart token: <Lit_EscapedChar "\\1"> ) (/) ) } ) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [470 496] ) } spids: [469] ) ] spids: [469] ) ] spids: [442 462] ) ] spids: [-1 499] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name KUBE_GIT_TREE_STATE))} right: {(DQ (dirty))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_VERSION) op: PlusEqual rhs: {(DQ (-dirty))} spids: [536] ) ] spids: [536] ) ] spids: [-1 521] ) ] spids: [-1 542] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name KUBE_GIT_VERSION))} right: {(Lit_Other "^") (v) ("(") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "+") (")") (EscapedLiteralPart token:<Lit_EscapedChar "\\.">) ("(") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "+") (")") ("(") (EscapedLiteralPart token:<Lit_EscapedChar "\\.">) (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "+") (")") (Lit_Other "?") ("(") (Lit_Other "[") (-) (Lit_Other "]") (.) (Lit_Other "*") (")") (Lit_Other "?") (Lit_Other "$") } ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_MAJOR) op: Equal rhs: { (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr: (ArithWord w:{(Lit_Digits 1)}) ) spids: [611 616] ) } spids: [610] ) ] spids: [610] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_MINOR) op: Equal rhs: { (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr: (ArithWord w:{(Lit_Digits 2)}) ) spids: [620 625] ) } spids: [619] ) ] spids: [619] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr: (ArithWord w:{(Lit_Digits 4)}) ) spids: [635 640] ) ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_MINOR) op: PlusEqual rhs: {(DQ ("+"))} spids: [649] ) ] spids: [649] ) ] spids: [-1 646] ) ] spids: [-1 655] ) ] spids: [-1 607] ) ] spids: [-1 658] ) ] spids: [-1 329] ) ] spids: [-1 661] ) ] spids: [-1 196] ) ] spids: [-1 664] ) ] spids: [100] ) spids: [90 99] ) (FuncDef name: "kube::version::save_version_vars" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:version_file) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [688 691] ) } spids: [687] ) ] spids: [685] ) (AndOr children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name version_file)}) ) (BraceGroup children: [ (C {(echo)} { (DQ ( "!!! Internal error. No file specified in kube::version::save_version_vars" ) ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [706] ) ] op_id: Op_DPipe ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ("KUBE_GIT_COMMIT='") (BracedVarSub token: <VSub_Name KUBE_GIT_COMMIT> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [738 741] ) ("'\n") ("KUBE_GIT_TREE_STATE='") (BracedVarSub token: <VSub_Name KUBE_GIT_TREE_STATE> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [744 747] ) ("'\n") ("KUBE_GIT_VERSION='") (BracedVarSub token: <VSub_Name KUBE_GIT_VERSION> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [750 753] ) ("'\n") ("KUBE_GIT_MAJOR='") (BracedVarSub token: <VSub_Name KUBE_GIT_MAJOR> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [756 759] ) ("'\n") ("KUBE_GIT_MINOR='") (BracedVarSub token: <VSub_Name KUBE_GIT_MINOR> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [762 765] ) ("'\n") ) } do_expansion: True here_end: EOF was_filled: True spids: [727] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ (${ VSub_Name version_file))} spids: [730] ) ] ) ] spids: [682] ) spids: [672 681] ) (FuncDef name: "kube::version::load_version_vars" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:version_file) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [789 792] ) } spids: [788] ) ] spids: [786] ) (AndOr children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name version_file)}) ) (BraceGroup children: [ (C {(echo)} { (DQ ( "!!! Internal error. No file specified in kube::version::load_version_vars" ) ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [807] ) ] op_id: Op_DPipe ) (C {(source)} {(DQ (${ VSub_Name version_file))}) ] spids: [783] ) spids: [773 782] ) (FuncDef name: "kube::version::ldflag" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:key) op: Equal rhs: {(${ VSub_Number 1)} spids: [852] ) ] spids: [850] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:val) op: Equal rhs: {(${ VSub_Number 2)} spids: [860] ) ] spids: [858] ) (C {(echo)} { (DQ ("-X ") (${ VSub_Name KUBE_GO_PACKAGE) (/pkg/version.) (${ VSub_Name key) ("=") (${ VSub_Name val) ) } ) (C {(echo)} { (DQ ("-X ") (${ VSub_Name KUBE_GO_PACKAGE) (/vendor/k8s.io/client-go/pkg/version.) (${ VSub_Name key) ("=") (${ VSub_Name val) ) } ) ] spids: [847] ) spids: [837 846] ) (FuncDef name: "kube::version::ldflags" body: (BraceGroup children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (version) (Lit_Other ":") (Lit_Other ":") (get_version_vars) } ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:buildDate) op:Equal rhs:{(SQ )} spids:[946])] spids: [944] ) (AndOr children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (BracedVarSub token: <VSub_Name SOURCE_DATE_EPOCH> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [953 956] ) } ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:buildDate) op: Equal rhs: {(DQ ("--date=@") (${ VSub_Name SOURCE_DATE_EPOCH))} spids: [962] ) ] spids: [962] ) ] op_id: Op_DPipe ) (Assignment keyword: Assign_Local flags: ["'-a'"] pairs: [ (assign_pair lhs: (LhsName name:ldflags) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (version) (Lit_Other ":") (Lit_Other ":") (ldflag) } {(DQ (buildDate))} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(date)} {(${ VSub_Name buildDate)} {(-u)} {(Lit_Other "+") (SQ <"%Y-%m-%dT%H:%M:%SZ">)} ) ] ) left_token: <Left_CommandSub "$("> spids: [991 1004] ) ) } ) ] ) left_token: <Left_CommandSub "$("> spids: [977 1006] ) } ] ) } spids: [975] ) ] spids: [971] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_GIT_COMMIT> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [1016 1019] ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ldflags) op: PlusEqual rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (version) (Lit_Other ":") (Lit_Other ":") (ldflag) } {(DQ (gitCommit))} {(DQ (${ VSub_Name KUBE_GIT_COMMIT))} ) ] ) left_token: <Left_CommandSub "$("> spids: [1029 1047] ) } ] ) } spids: [1027] ) ] spids: [1027] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ldflags) op: PlusEqual rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (version) (Lit_Other ":") (Lit_Other ":") (ldflag) } {(DQ (gitTreeState))} {(DQ (${ VSub_Name KUBE_GIT_TREE_STATE))} ) ] ) left_token: <Left_CommandSub "$("> spids: [1053 1071] ) } ] ) } spids: [1051] ) ] spids: [1051] ) ] spids: [-1 1024] ) ] spids: [-1 1075] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_GIT_VERSION> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [1085 1088] ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ldflags) op: PlusEqual rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (version) (Lit_Other ":") (Lit_Other ":") (ldflag) } {(DQ (gitVersion))} {(DQ (${ VSub_Name KUBE_GIT_VERSION))} ) ] ) left_token: <Left_CommandSub "$("> spids: [1098 1116] ) } ] ) } spids: [1096] ) ] spids: [1096] ) ] spids: [-1 1093] ) ] spids: [-1 1120] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_GIT_MAJOR> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [1130 1133] ) } ) right: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_GIT_MINOR> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [1139 1142] ) } ) ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ldflags) op: PlusEqual rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (version) (Lit_Other ":") (Lit_Other ":") (ldflag) } {(DQ (gitMajor))} {(DQ (${ VSub_Name KUBE_GIT_MAJOR))} ) ] ) left_token: <Left_CommandSub "$("> spids: [1154 1172] ) } { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (version) (Lit_Other ":") (Lit_Other ":") (ldflag) } {(DQ (gitMinor))} {(DQ (${ VSub_Name KUBE_GIT_MINOR))} ) ] ) left_token: <Left_CommandSub "$("> spids: [1175 1193] ) } ] ) } spids: [1150] ) ] spids: [1150] ) ] spids: [-1 1147] ) ] spids: [-1 1199] ) (C {(echo)} { (DQ (BracedVarSub token: <VSub_Name ldflags> bracket_op: (WholeArray op_id:Arith_Star) suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [1210 1216] ) ) } ) ] spids: [931] ) spids: [921 930] ) ] )