(CommandList children: [ (C {(Lit_Other ":")} {(generate)} {(Assign_Local local)} {(host)} {(info)}) (Case to_match: {($ VSub_Name "$RANDOM")} arms: [ (case_arm pat_list: [{($ VSub_Name "$RANDOM")}] action: [ (Sentence child: (C {(exec)} {(ksh)} {($ VSub_Number "$0")} {(DQ ($ VSub_At "$@"))}) terminator: <Op_Semi ";"> ) (Sentence child: (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Number "$0") (": ksh required"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[116])] ) terminator: <Op_Semi ";"> ) (C {(exit)} {(1)}) ] spids: [95 96 124 -1] ) ] spids: [89 93 126] ) (C {(integer)} {(Lit_VarLike "cluster=") (5)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:dir) op:Equal rhs:{(.)} spids:[133])] spids: [133] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:file) op:Equal rhs:{(SQ )} spids:[136])] spids: [136] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:heading) op:Equal rhs:{(1)} spids:[138])] spids: [138] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:list) op:Equal rhs:{(SQ )} spids:[141])] spids: [141] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:rsh) op:Equal rhs:{(rsh)} spids:[143])] spids: [143] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:timeout) op:Equal rhs:{(90)} spids:[146])] spids: [146] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:verbose) op:Equal rhs:{(Lit_Other ":")} spids:[149])] spids: [149] ) (While cond: [(C {(Lit_Other ":")})] body: (DoGroup children: [ (Case to_match: {($ VSub_Pound "$#")} arms: [ (case_arm pat_list: [{(0)}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [165 166 170 -1] ) ] spids: [158 162 173] ) (Case to_match: {($ VSub_Number "$1")} arms: [ (case_arm pat_list: [{(-) (Lit_Other "[") (frt) (Lit_Other "]")}] action: [ (Case to_match: {($ VSub_Pound "$#")} arms: [ (case_arm pat_list: [{(1)}] action: [ (C {(set)} {(--)} {(SQ <"-?">)}) (ControlFlow token:<ControlFlow_Break break>) ] spids: [195 196 210 -1] ) ] spids: [188 192 213] ) (Case to_match: {($ VSub_Number "$1")} arms: [ (case_arm pat_list: [{(-f)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {($ VSub_Number "$2")} spids: [226] ) ] spids: [226] ) ] spids: [223 224 229 -1] ) (case_arm pat_list: [{(-r)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rsh) op: Equal rhs: {($ VSub_Number "$2")} spids: [235] ) ] spids: [235] ) ] spids: [232 233 238 -1] ) (case_arm pat_list: [{(-t)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:timeout) op: Equal rhs: {($ VSub_Number "$2")} spids: [244] ) ] spids: [244] ) ] spids: [241 242 247 -1] ) ] spids: [216 220 250] ) (C {(shift)}) ] spids: [183 187 256 -1] ) (case_arm pat_list: [{(-h)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:heading) op: Equal rhs: {(SQ )} spids: [262] ) ] spids: [262] ) ] spids: [259 260 265 -1] ) (case_arm pat_list: [{(-n)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:list) op:Equal rhs:{(1)} spids:[271])] spids: [271] ) ] spids: [268 269 275 -1] ) (case_arm pat_list: [{(-v)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:verbose) op: Equal rhs: {(SQ <"print -u2">)} spids: [281] ) ] spids: [281] ) ] spids: [278 279 287 -1] ) (case_arm pat_list: [{(SQ <"-?">)}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [291 293 298 -1] ) (case_arm pat_list: [{(Lit_Other "[") (-) (Lit_Other "+") (Lit_Other "]") (Lit_Other "*")}] action: [ (C {(print)} {(-u2)} {(DQ ($ VSub_Number "$0") (": ") ($ VSub_Number "$1") (": invalid option"))} ) (C {(set)} {(--)} {(SQ <"-?">)}) (ControlFlow token:<ControlFlow_Break break>) ] spids: [301 306 332 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [335 336 341 -1] ) ] spids: [176 180 344] ) (C {(shift)}) ] spids: [156 349] ) ) (Case to_match: {($ VSub_Number "$1")} arms: [ (case_arm pat_list: [{(SQ <"-?">)}] action: [ (Sentence child: (C {(print)} {(-u2)} { (DQ ("Usage: ") ($ VSub_Number "$0") (" [-hnv] [-f share-file] [-r rsh-path] [-t timeout] [host ...]") ) } ) terminator: <Op_Semi ";"> ) (C {(exit)} {(1)}) ] spids: [358 360 377 -1] ) ] spids: [351 355 379] ) (Case to_match: {($ VSub_Name "$file")} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ifs) op: Equal rhs: { (BracedVarSub token: <VSub_Name IFS> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ <"\n"> <"\t ">)}) spids: [392 399] ) } spids: [391] ) ] spids: [391] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(Lit_Other ":")} spids:[402])] spids: [402] ) (C {(set)} {(DQ )} {($ VSub_Name "$PATH")} {(DQ (--))} {(DQ ($ VSub_At "$@"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {($ VSub_Name "$ifs")} spids: [422] ) ] spids: [422] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:f) op:Equal rhs:{(lib/cs/share)} spids:[426])] spids: [426] ) (While cond: [(C {(Lit_Other ":")})] body: (DoGroup children: [ (C {(shift)}) (Case to_match: {($ VSub_Number "$1")} arms: [ (case_arm pat_list: [{(DQ )}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [-1 449 453 -1] ) (case_arm pat_list: [{(--)}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [456 457 461 -1] ) ] spids: [440 444 464] ) (Case to_match: {($ VSub_Name "$file")} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (AndOr children: [ (C {(test)} {(-f)} { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(bin)}) spids: [482 486] ) ($ VSub_Name "$f") } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(bin)} ) spids: [492 496] ) ($ VSub_Name "$f") } spids: [491] ) ] spids: [491] ) ] op_id: Op_DAmp ) ] spids: [-1 476 499 -1] ) ] spids: [467 471 502] ) ] spids: [435 505] ) ) (C {(shift)}) (Case to_match: {($ VSub_Name "$file")} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Sentence child: (C {(print)} {(-u2)} {($ VSub_Number "$0") (Lit_Other ":")} {($ VSub_Name "$f") (Lit_Other ":")} {(not)} {(found)} ) terminator: <Op_Semi ";"> ) (C {(exit)} {(1)}) ] spids: [-1 520 541 -1] ) ] spids: [511 515 544] ) ] spids: [-1 389 547 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(KW_Bang "!")} {(-f)} {($ VSub_Name "$file")})] action: [ (Sentence child: (C {(print)} {(-u2)} { (DQ ($ VSub_Number "$0") (": ") ($ VSub_Name "$file") (": cannot read share file") ) } ) terminator: <Op_Semi ";"> ) (C {(exit)} {(1)}) ] spids: [-1 563] ) ] spids: [-1 582] ) ] spids: [549 550 585 -1] ) ] spids: [381 385 587] ) (C {(print)} {(-u2)} { (DQ ($ VSub_Number "$0") (": warning: ") ($ VSub_Name "$rsh") (" may hang on some hosts -- monitor the progress with the -v option or ps ") ($ VSub_Dollar "$$") ) } ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:server) op:Equal rhs:{(SQ )} spids:[601])] spids: [601] ) (ForEach iter_name: host iter_words: [ { (CommandSubPart command_list: (CommandList children: [(C {(egrep)} {(-v)} {(SQ <"^#">)} {($ VSub_Name "$file")})] ) left_token: <Left_CommandSub "$("> spids: [609 619] ) } ] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$server")} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:server) op: Equal rhs: {($ VSub_Name "$host")} spids: [634] ) ] spids: [634] ) ] spids: [-1 632 637 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:server) op: Equal rhs: {(DQ ($ VSub_Name "$server") ("|") ($ VSub_Name "$host"))} spids: [643] ) ] spids: [643] ) ] spids: [640 641 650 -1] ) ] spids: [623 627 653] ) ] spids: [621 655] ) spids: [608 -1] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:hostname) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(package)} {(host)} {(name)})]) left_token: <Left_CommandSub "$("> spids: [658 664] ) } spids: [657] ) ] spids: [657] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:hostname) op: Equal rhs: { (BracedVarSub token: <VSub_Name hostname> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(".*")}) spids: [667 671] ) } spids: [666] ) ] spids: [666] ) (Case to_match: {($ VSub_Pound "$#")} arms: [ (case_arm pat_list: [{(0)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:domain) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (BraceGroup children: [(C {(cat)} {(/etc/hosts)}) (C {(ypcat)} {(hosts)})] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [701] ) ] spids: [686] ) (C {(egrep)} { (DQ ("[^#].*[ \t]") ($ VSub_Name "$hostname") ("(") (EscapedLiteralPart token: <Lit_EscapedChar "\\$"> ) ("|[. \t])") ) } ) (C {(sed)} {(-e)} {(SQ <"1!d">)} {(-e)} {(SQ <"s/^[^ \t]*//">)} {(-e)} {(SQ <"s/[^.]*.//">)} {(-e)} {(SQ <"s/[ \t].*//">)} ) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [683 747] ) } spids: [682] ) ] spids: [682] ) (C {(set)} {(--)} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (BraceGroup children: [ (C {(print)} {(DQ ($ VSub_Name "$hostname"))}) (C {(egrep)} {(-v)} {(SQ <"^#">)} {($ VSub_Name "$file")}) (Pipeline children: [(C {(ruptime)}) (C {(fgrep)} {(-v)} {(SQ <"no hosts">)})] negated: False ) (Pipeline children: [ (BraceGroup children: [ (ForEach iter_name: i iter_words: [{(/etc/resolv.conf)} {(/usr/etc/resolv.conf)}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {($ VSub_Name "$i")})] action: [ (Pipeline children: [ (C {(echo)} { (DQ ("ls -t A ") (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-e)} {(SQ <"/^domain/!d">)} {(-e)} {(SQ <"s/.*[ ][ \t]*//">)} {($ VSub_Name "$i")} ) ] ) left_token: <Left_CommandSub "$("> spids: [822 838] ) ) } ) (C {(nslookup)}) ] negated: False ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [-1 816] ) ] spids: [-1 849] ) ] spids: [805 852] ) spids: [799 -1] ) (C {(cat)} {(/etc/hosts)}) (C {(ypcat)} {(hosts)}) ] spids: [791] ) (C {(fgrep)} {(DQ (.) ($ VSub_Name "$domain"))}) (C {(awk)} {(SQ <"{print $2}">)}) ] negated: False ) ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [889] ) ] spids: [757] ) (C {(sed)} {(-e)} {(SQ <"s/[. \t].*//">)} {(-e)} {(SQ <"/^[a-zA-Z].*[a-zA-Z0-9]$/!d">)} ) (C {(sort)} {(-u)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [754 917] ) } ) (Case to_match: {($ VSub_Name "$list")} arms: [ (case_arm pat_list: [{(Lit_Other "?") (Lit_Other "*")}] action: [(C {(print)} {(Lit_VarLike "domain=") ($ VSub_Name "$domain")})] spids: [927 929 937 -1] ) ] spids: [920 924 940] ) ] spids: [679 680 943 -1] ) ] spids: [673 677 945] ) (Case to_match: {($ VSub_Name "$list")} arms: [ (case_arm pat_list: [{(Lit_Other "?") (Lit_Other "*")}] action: [ (Sentence child: (C {(print)} {(Lit_VarLike "hosts=") (SQ <"\"">) ($ VSub_Star "$*") (SQ <"\"">)}) terminator: <Op_Semi ";"> ) (C {(exit)}) ] spids: [953 955 971 -1] ) ] spids: [947 951 973] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:hosts) op:Equal rhs:{(SQ )} spids:[975])] spids: [975] ) (Pipeline children: [ (ForEach iter_name: host do_arg_iter: True body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$host")} arms: [ (case_arm pat_list: [{(Assign_Local local)} {(localhost)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:host) op: Equal rhs: {($ VSub_Name "$hostname")} spids: [995] ) ] spids: [995] ) ] spids: [990 993 998 -1] ) ] spids: [983 987 1001] ) (Case to_match: {(DQ (" ") ($ VSub_Name "$hosts") (" "))} arms: [ (case_arm pat_list: [ {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$host") (" ")) (Lit_Other "*")} ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [1015 1022 1026 -1] ) ] spids: [1004 1012 1029] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:hosts) op: Equal rhs: {(DQ ($ VSub_Name "$hosts") (" ") ($ VSub_Name "$host"))} spids: [1032] ) ] spids: [1032] ) (C {($ VSub_Name "$verbose")} {(-n)} {(DQ ($ VSub_Name "$host") (" "))}) (Case to_match: {($ VSub_Name "$host")} arms: [ (case_arm pat_list: [{($ VSub_Name "$hostname")}] action: [(C {(package)} {(host)} {(name)} {(type)} {(cpu)} {(rating)})] spids: [1057 1058 1074 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (If arms: [ (if_arm cond: [ (SimpleCommand words: [{(ping)} {(-c)} {(1)} {(-w)} {(4)} {($ VSub_Name "$host")}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [1094] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [1097] ) ] ) ] action: [ (Sentence child: (C {($ VSub_Name "$rsh")} {($ VSub_Name "$host")} {(bin/package)} {(host)} {(name)} {(type)} {(cpu)} {(rating)} ) terminator: <Op_Amp "&"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:info) op: Equal rhs: {($ VSub_Bang "$!")} spids: [1122] ) ] spids: [1122] ) (Sentence child: (BraceGroup children: [ (C {(sleep)} {($ VSub_Name "$timeout")}) (C {(kill)} {(-9)} {($ VSub_Name "$info")}) ] spids: [1126] ) terminator: <Op_Amp "&"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:time) op: Equal rhs: {($ VSub_Bang "$!")} spids: [1146] ) ] spids: [1146] ) (C {(wait)} {($ VSub_Name "$info")}) (C {(kill)} {(-9)} {($ VSub_Name "$time")}) ] spids: [-1 1101] ) ] spids: [-1 1162] ) ] spids: [1077 1078 1165 -1] ) ] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[1170])] spids: [1050 1054 1168] ) ] spids: [981 1173] ) spids: [-1 -1] ) (While cond: [(C {(read)} {(host)} {(type)} {(cpu)} {(rating)})] body: (DoGroup children: [ (C {($ VSub_Name "$verbose")} {(Lit_VarLike "type=") ($ VSub_Name "$type")} {(Lit_VarLike "cpu=") ($ VSub_Name "$cpu")} {(Lit_VarLike "rating=") ($ VSub_Name "$rating")} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:host) op: Equal rhs: { (BracedVarSub token: <VSub_Name host> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(".*")}) spids: [1204 1208] ) } spids: [1203] ) ] spids: [1203] ) (C {(eval)} { (DQ ("case '") ($ VSub_Name "$host") ("' in\n") ("\t") ($ VSub_Name "$server") (")\tidle= ;;\n") ("\t*)\t\tidle=15m ;;\n") ("\tesac") ) } ) (C {(print)} {($ VSub_Name "$host") (DQ ("\t")) (Lit_VarLike "type=") ($ VSub_Name "$type") (DQ ("\t")) (${ VSub_Name rating) (BracedVarSub token: <VSub_Name idle> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ("\tidle=") ($ VSub_Name "$idle"))} ) spids: [1239 1246] ) (BracedVarSub token: <VSub_Name cpu> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ("\tcpu=") ($ VSub_Name "$cpu"))} ) spids: [1247 1254] ) } ) ] spids: [1189 1256] ) ) (C {(sort)} {(-b)} {(Lit_Other "+") (2n)} {(-3)}) (BraceGroup children: [ (C {(integer)} {(v)} {(c)} {(d)} {(i)} {(j)} {(k)} {(n)}) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:n) right: (ArithWord w:{(Lit_Digits 0)}) ) ) (While cond: [(C {(read)} {(host)} {(type)} {(rate)} {(attr)})] body: (DoGroup children: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:n) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:n) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) (C {(h) (Lit_Other "[") (n) (Lit_Other "]") (Lit_Other "=") ($ VSub_Name "$host")}) (C {(t) (Lit_Other "[") (n) (Lit_Other "]") (Lit_Other "=") ($ VSub_Name "$type")}) (C {(v) (Lit_Other "[") (n) (Lit_Other "]") (Lit_Other "=") ($ VSub_Name "$rate")}) (C {(a) (Lit_Other "[") (n) (Lit_Other "]") (Lit_Other "=") ($ VSub_Name "$attr")}) ] spids: [1312 1356] ) ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:c) op:Equal rhs:{(1)} spids:[1359])] spids: [1359] ) (While cond: [(DParen child:(ArithVarRef name:c))] body: (DoGroup children: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:c) right: (ArithWord w:{(Lit_Digits 0)}) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (While cond: [ (DParen child: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithVarRef name:n) ) ) ] body: (DoGroup children: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:d) right: (ArithBinary op_id: Arith_Minus left: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) right: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithVarRef name:i) ) ) ) ) (If arms: [ (if_arm cond: [ (DParen child: (ArithBinary op_id: Arith_DAmp left: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:d) right: (ArithWord w:{(Lit_Digits 1)}) ) right: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:d) right: (ArithVarRef name:cluster) ) ) ) ] action: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:d) right: (ArithBinary op_id: Arith_Slash left: (ArithVarRef name:d) right: (ArithWord w:{(Lit_Digits 2)}) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsIndexedName name:v index:(ArithVarRef name:i)) right: (ArithBinary op_id: Arith_Plus left: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithVarRef name:i) ) right: (ArithVarRef name:d) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsIndexedName name: v index: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) right: (ArithBinary op_id: Arith_Minus left: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) right: (ArithVarRef name:d) ) ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:c) op: Equal rhs: {(1)} spids: [1481] ) ] spids: [1481] ) ] spids: [-1 1433] ) ] spids: [-1 1485] ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) ] spids: [1399 1498] ) ) ] spids: [1371 1501] ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (While cond: [ (DParen child: (ArithBinary op_id: Arith_LessEqual left: (ArithVarRef name:i) right: (ArithVarRef name:n) ) ) ] body: (DoGroup children: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:c) right: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithVarRef name:i) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:j) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:k) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (While cond: [ (DParen child: (ArithBinary op_id: Arith_LessEqual left: (ArithVarRef name:j) right: (ArithVarRef name:n) ) ) ] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (DParen child: (ArithBinary op_id: Arith_DPipe left: (ArithBinary op_id: Arith_Great left: (ArithBinary op_id: Arith_Minus left: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithVarRef name:j) ) right: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:j) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) right: (ArithWord w:{(Lit_Digits 1)}) ) right: (ArithBinary op_id: Arith_Great left: (ArithBinary op_id: Arith_Minus left: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithVarRef name:j) ) right: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithVarRef name:i) ) ) right: (ArithVarRef name:cluster) ) ) ) ] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [-1 1601] ) ] spids: [-1 1606] ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:c) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:c) right: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:v) right: (ArithVarRef name:j) ) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:k) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:k) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:j) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:j) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) ] spids: [1563 1642] ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:c) right: (ArithBinary op_id: Arith_Slash left: (ArithVarRef name:c) right: (ArithVarRef name:k) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:d) right: (ArithBinary op_id: Arith_Percent left: (ArithVarRef name:c) right: (ArithWord w:{(Lit_Digits 10)}) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:c) right: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:c) right: (ArithVarRef name:d) ) ) ) (If arms: [ (if_arm cond: [ (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:d) right: (ArithWord w:{(Lit_Digits 6)}) ) ) ] action: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:c) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:c) right: (ArithWord w:{(Lit_Digits 10)}) ) ) ) ] spids: [-1 1685] ) (if_arm cond: [ (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:d) right: (ArithWord w:{(Lit_Digits 3)}) ) ) ] action: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:c) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:c) right: (ArithWord w:{(Lit_Digits 5)}) ) ) ) ] spids: [1697 1707] ) ] spids: [-1 1719] ) (While cond: [ (DParen child: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithVarRef name:j) ) ) ] body: (DoGroup children: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsIndexedName name:v index:(ArithVarRef name:i)) right: (ArithVarRef name:c) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) ] spids: [1732 1755] ) ) ] spids: [1522 1758] ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (While cond: [ (DParen child: (ArithBinary op_id: Arith_LessEqual left: (ArithVarRef name:i) right: (ArithVarRef name:n) ) ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rate) op: Equal rhs: { (BracedVarSub token: <VSub_Name v> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [1782 1787] ) } spids: [1781] ) ] spids: [1781] ) (C {(print)} { (BracedVarSub token: <VSub_Name h> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [1792 1797] ) } { (BracedVarSub token: <VSub_Name t> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [1799 1804] ) } {(Lit_VarLike "rating=") (BracedVarSub token: <VSub_Name v> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [1807 1812] ) (DQ ("\t") (BracedVarSub token: <VSub_Name a> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [1815 1820] ) ) } ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) ] spids: [1779 1834] ) ) ] spids: [1271] ) (C {(sort)} {(-b)} {(Lit_Other "+") (1)} {(-2)} {(Lit_Other "+") (2.7n)} {(-3)} {(Lit_Other "+") (0)} {(-1)} ) (While cond: [(C {(read)} {(host)} {(type)} {(attr)})] body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$heading")} arms: [ (case_arm pat_list: [{(1)}] action: [ (C {(print)} {(SQ <"#">)}) (C {(print)} {(SQ <"# local host attributes">)}) (C {(print)} {(SQ <"#">)}) (C {(print)}) (C {(print)} {(SQ <"local\t\tbusy=2m\t\tpool=9">)}) (C {(print)}) ] spids: [1880 1881 1917 -1] ) (case_arm pat_list: [{(SQ )} {($ VSub_Name "$type")}] spids: [-1 1924 1927 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(C {(print)})] spids: [1930 1931 1936 -1] ) ] spids: [1873 1877 1939] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:heading) op: Equal rhs: {($ VSub_Name "$type")} spids: [1942] ) ] spids: [1942] ) (Case to_match: {($ VSub_Name "$host")} arms: [ (case_arm pat_list: [ {(Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "*") } ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tab1) op: Equal rhs: {(DQ ("\t"))} spids: [1965] ) ] spids: [1965] ) ] spids: [1953 1962 1971 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tab1) op: Equal rhs: {(DQ ("\t\t"))} spids: [1977] ) ] spids: [1977] ) ] spids: [1974 1975 1983 -1] ) ] spids: [1946 1950 1986] ) (Case to_match: {($ VSub_Name "$type")} arms: [ (case_arm pat_list: [ {(Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "*") } ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tab2) op: Equal rhs: {(DQ ("\t"))} spids: [2008] ) ] spids: [2008] ) ] spids: [1996 2005 2014 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tab2) op: Equal rhs: {(DQ ("\t\t"))} spids: [2020] ) ] spids: [2020] ) ] spids: [2017 2018 2026 -1] ) ] spids: [1989 1993 2029] ) (C {(print)} {($ VSub_Name "$host") (DQ ($ VSub_Name "$tab1")) ($ VSub_Name "$type") (DQ ($ VSub_Name "$tab2") ($ VSub_Name "$attr")) } ) ] spids: [1871 2044] ) ) ] negated: False ) ] )