(CommandList children: [ (C {(set)} {(-e)}) (C {(Lit_Other ':')} { (BracedVarSub token: <VSub_Name TOP_DIR> suffix_op: (StringUnary op_id: VTest_ColonEquals arg_word: { (DQ (CommandSubPart command_list: (CommandList children: [ (AndOr children: [ (C {(cd)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(dirname)} { (DQ (BracedVarSub token: <VSub_Name BASH_SOURCE> bracket_op: (ArrayIndex expr: (ArithWord w:{(Lit_Digits 0)}) ) spids: [28 33] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [23 36] ) (/..) ) } ) (C {(pwd)}) ] op_id: Op_DAmp ) ] ) left_token: <Left_CommandSub '$('> spids: [18 44] ) ) } ) spids: [14 46] ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmp) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(mktemp)} {(--tmpdir)} {(manifest-sort-XXX)})] ) left_token: <Left_CommandSub '$('> spids: [50 56] ) } spids: [49] ) ] spids: [49] ) (FuncDef name: cleanup body: (BraceGroup children:[(C {(rm)} {(-f)} {(${ VSub_Name tmp)})] spids:[64]) spids: [59 63] ) (C {(trap)} {(cleanup)} {(EXIT)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:boards) op: Equal rhs: {(SQ <'amd64-usr arm64-usr'>)} spids: [85] ) ] spids: [85] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:flavors) op: Equal rhs: {(SQ <'usr_from_coreos usr_from_kvm'>)} spids: [90] ) ] spids: [90] ) (ForEach iter_name: board iter_words: [{(${ VSub_Name boards)}] do_arg_iter: False body: (DoGroup children: [ (ForEach iter_name: flavor iter_words: [{(${ VSub_Name flavors)}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dir) op: Equal rhs: { (DQ (${ VSub_Name TOP_DIR) (/stage1/) (${ VSub_Name flavor) (/manifest-) (${ VSub_Name board) (.d/) ) } spids: [124] ) ] spids: [124] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(find)} {(${ VSub_Name dir)} {(-type)} {(f)} {(-name)} {(SQ <'*.manifest'>)} ) ] ) left_token: <Left_CommandSub '$('> spids: [142 158] ) } spids: [141] ) ] spids: [141] ) (ForEach iter_name: f iter_words: [{(${ VSub_Name files)}] do_arg_iter: False body: (DoGroup children: [ (Pipeline children: [ (C {(cat)} {(${ VSub_Name f)}) (C {(sort)}) (C {(uniq)}) (SimpleCommand words: [{(sed)} {(SQ <'/^$/d'>)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name tmp)} spids: [197] ) ] ) ] negated: False ) (C {(cp)} {(${ VSub_Name tmp)} {(${ VSub_Name f)}) ] spids: [172 215] ) spids: [166 170] ) ] spids: [121 218] ) spids: [115 119] ) ] spids: [107 220] ) spids: [101 105] ) ] )