(List (= scope= flags=1 words=[] bindings=[('KCONFIG_NOTIMESTAMP', {[LIT_CHARS 1]})]) (If (Com {[LIT_OTHER "["]} {[VarSub #]} {[LIT_CHARS -ne]} {[LIT_CHARS 1]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: miniconfig.sh configfile"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[DQ [VarSub 1]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Couldn't find "]] [SQ ] [DQ [VarSub 1]] [SQ ]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub 1]]} {[LIT_OTHER "="] [LIT_OTHER "="]} {[DQ [LIT_CHARS .config]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "It overwrites .config, rename it and try again."]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS make]} {[LIT_CHARS allnoconfig]} {[LIT_VAR_LIKE "KCONFIG_ALLCONFIG="] [DQ [VarSub 1]] =} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (Pipeline (Com {[LIT_CHARS yes]} {[DQ ]}) (Com {[LIT_CHARS make]} {[LIT_CHARS oldconfig]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (If (Pipeline! (Com {[LIT_CHARS cmp]} {[LIT_CHARS .config]} {[DQ [VarSub 1]]}) ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS Sanity]} {[LIT_CHARS test]} {[LIT_CHARS failed] [LIT_COMMA ","]} {[LIT_CHARS normalizing]} {[LIT_CHARS starting]} {[LIT_CHARS configuration...]}) (Com {[LIT_CHARS diff]} {[LIT_CHARS -u]} {[DQ [VarSub 1]]} {[LIT_CHARS .config]}) ) ) (Com {[LIT_CHARS cp]} {[LIT_CHARS .config]} {[LIT_CHARS .big.config]}) (Pipeline (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[SQ ]} {[LIT_CHARS .config]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS mini.config]} "> 1), > ) ) (Com {[LIT_CHARS make]} {[LIT_CHARS allnoconfig]} {[LIT_VAR_LIKE "KCONFIG_ALLCONFIG="] [LIT_CHARS mini.config] =} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (If (Pipeline! (Com {[LIT_CHARS cmp]} {[LIT_CHARS .config]} {[DQ [VarSub 1]]}) ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS Insanity]} {[LIT_CHARS test]} {[LIT_CHARS failed] [LIT_OTHER ":"]} {[LIT_CHARS reversing]} {[LIT_CHARS blank]} {[LIT_CHARS line]} {[LIT_CHARS removal]} {[LIT_CHARS heuristic.]}) (Com {[LIT_CHARS cp]} {[LIT_CHARS .big.config]} {[LIT_CHARS mini.config]}) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Calculating mini.config..."]]}) (= scope= flags=0 words=[] bindings=[('LENGTH', {[ComSub (Pipeline (Com {[LIT_CHARS cat]} {[LIT_CHARS mini.config]}) (Com {[LIT_CHARS wc]} {[LIT_CHARS -l]}) )]})]) (= scope= flags=0 words=[] bindings=[('OLDLENGTH', {[VarSub LENGTH]})]) (= scope= flags=0 words=[] bindings=[('I', {[LIT_CHARS 1]})]) (While (Com {[LIT_CHARS true]}) (List (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[VarSub I]} {[LIT_CHARS -gt]} {[VarSub LENGTH]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[DQ [VarSub I][LIT_CHARS ","][ArithSub {A2 AS_OP_MINUS {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub I]}} {A Atom NODE_ARITH_WORD {[VarSub STRIDE test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 1]}]}}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}][LIT_CHARS "!p"]]} {[LIT_CHARS mini.config]} < (FilenameRedirectNode filename={[LIT_CHARS .config.test]} "> 1), > ) (Com {[LIT_CHARS rm]} {[LIT_CHARS .config]}) (Pipeline (Com {[LIT_CHARS make]} {[LIT_CHARS allnoconfig]} {[LIT_VAR_LIKE "KCONFIG_ALLCONFIG="] [LIT_CHARS .config.test] =} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_CHARS head]} {[LIT_CHARS -n]} {[LIT_CHARS 1000000]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (If (Com {[LIT_CHARS cmp]} {[LIT_CHARS -s]} {[LIT_CHARS .config]} {[LIT_CHARS .big.config]}) (List (Com {[LIT_CHARS mv]} {[LIT_CHARS .config.test]} {[LIT_CHARS mini.config]}) (= scope= flags=0 words=[] bindings=[('LENGTH', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub LENGTH]}} {A Atom NODE_ARITH_WORD {[VarSub STRIDE test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 1]}]}}}]})]) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[VarSub I]} {[LIT_CHARS -gt]} {[VarSub LENGTH]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('LENGTH', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub I]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub STRIDE]]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[VarSub OLDSTRIDE test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 1]}]} {[LIT_CHARS -eq]} {[LIT_CHARS 2]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('I', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub I]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) (= scope= flags=0 words=[] bindings=[('STRIDE', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub STRIDE]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (= scope= flags=0 words=[] bindings=[('OLDSTRIDE', {[VarSub STRIDE]})]) ) (ElseTrue) (List (If (Com {[LIT_OTHER "["]} {[VarSub STRIDE test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 1]}]} {[LIT_CHARS -le]} {[LIT_CHARS 1]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('I', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub I]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (= scope= flags=0 words=[] bindings=[('OLDSTRIDE', {[SQ ]})]) ) ) (= scope= flags=0 words=[] bindings=[('STRIDE', {[SQ ]})]) ) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[LIT_CHARS -e]} {[DQ [\ LIT_ESCAPED_CHAR "\\r"][LIT_CHARS "["][VarSub STRIDE test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 1]}][LIT_CHARS "] "][ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub I]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}][LIT_CHARS /][VarSub LENGTH][LIT_CHARS " lines "][ComSub (Pipeline (Com {[LIT_CHARS cat]} {[LIT_CHARS mini.config]}) (Com {[LIT_CHARS wc]} {[LIT_CHARS -c]}) )][LIT_CHARS " bytes "][ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 100]}} {A2 AS_OP_SLASH {A2 AS_OP_STAR {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub LENGTH]}} {A Atom NODE_ARITH_WORD {[VarSub I]}}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 100]}}} {A Atom NODE_ARITH_WORD {[VarSub OLDLENGTH]}}}}][LIT_CHARS "% "]]}) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS .big.config]}) (Com {[LIT_CHARS echo]}) )