(command.AndOr ops: [Op_DAmp] children: [ (command.FuncDef name: _iwconfig body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[13]) op: Equal spids: [13] ) (assign_pair lhs: (lhs_expr.LhsName name:prev spids:[15]) op: Equal spids: [15] ) (assign_pair lhs: (lhs_expr.LhsName name:words spids:[17]) op: Equal spids: [17] ) (assign_pair lhs: (lhs_expr.LhsName name:cword spids:[19]) op: Equal spids: [19] ) ] spids: [11] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (command.Case to_match: {($ VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(mode)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[41]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ <'managed ad-hoc master repeater secondary\n'> <' monitor'> ) } {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [44 61] ) } ] ) } spids: [41] ) ] spids: [41] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [37 38 71 16777215] ) (case_arm pat_list: [{(essid)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[78]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'on off any'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [81 97] ) } ] ) } spids: [78] ) ] spids: [78] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_n child: { (word_part.BracedVarSub token: <VSub_Name COMP_IWLIST_SCAN> suffix_op: (suffix_op.StringUnary op_id: VTest_ColonHyphen arg_word: {} ) spids: [108 111] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[119]) op: PlusEqual rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(iwlist)} { (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ( Lit_Digits 1 ) } ) ) spids: [135 140] ) } {(scan)} ) (C {(awk)} {(-F) (SQ <'\\"'>)} {(SQ <'/ESSID/ {print $2}'>)} ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [131 159] ) ) } {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [122 168] ) } ] ) } spids: [119] ) ] spids: [119] ) ] spids: [16777215 116] ) ] spids: [16777215 173] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [74 75 181 16777215] ) (case_arm pat_list: [{(nwid)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[188]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'on off'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [191 207] ) } ] ) } spids: [188] ) ] spids: [188] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [184 185 217 16777215] ) (case_arm pat_list: [{(channel)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[224]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(iwlist)} { (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {(Lit_Digits 1)} ) ) spids: [238 243] ) } {(channel)} ) (C {(awk)} { (SQ < '/^[ \\t]*Channel/ {print $2}' > ) } ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [234 257] ) ) } {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [227 266] ) } ] ) } spids: [224] ) ] spids: [224] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [220 221 276 16777215] ) (case_arm pat_list: [{(freq)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[284]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(iwlist)} { (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {(Lit_Digits 1)} ) ) spids: [298 303] ) } {(channel)} ) (C {(awk)} { (SQ < '/^[ \\t]*Channel/ {print $4"G"}' > ) } ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [294 316] ) ) } {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [287 325] ) } ] ) } spids: [284] ) ] spids: [284] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [280 281 335 16777215] ) (case_arm pat_list: [{(ap)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[342]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'on off any'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [345 361] ) } ] ) } spids: [342] ) ] spids: [342] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_n child: { (word_part.BracedVarSub token: <VSub_Name COMP_IWLIST_SCAN> suffix_op: (suffix_op.StringUnary op_id: VTest_ColonHyphen arg_word: {} ) spids: [372 375] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[383]) op: PlusEqual rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(iwlist)} { (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ( Lit_Digits 1 ) } ) ) spids: [399 404] ) } {(scan)} ) (C {(awk)} {(-F)} {(SQ <': '>)} { (SQ < '/Address/ {print $2}' > ) } ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [395 424] ) ) } {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [386 433] ) } ] ) } spids: [383] ) ] spids: [383] ) ] spids: [16777215 380] ) ] spids: [16777215 438] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [338 339 446 16777215] ) (case_arm pat_list: [{(rate)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[453]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'auto fixed'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [456 472] ) } ] ) } spids: [453] ) ] spids: [453] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[477]) op: PlusEqual rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(iwlist)} { (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {(Lit_Digits 1)} ) ) spids: [493 498] ) } {(rate)} ) (C {(awk)} { (SQ < '/^[ \\t]*[0-9]/ {print $1"M"}' > ) } ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [489 512] ) ) } {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [480 521] ) } ] ) } spids: [477] ) ] spids: [477] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [449 450 531 16777215] ) (case_arm pat_list: [{(rts)} {(frag)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[540]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'auto fixed off'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [543 559] ) } ] ) } spids: [540] ) ] spids: [540] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [534 537 569 16777215] ) (case_arm pat_list: [{(key)} {(enc)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[578]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'off on open restricted'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [581 597] ) } ] ) } spids: [578] ) ] spids: [578] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [572 575 607 16777215] ) (case_arm pat_list: [{(power)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[614]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'period timeout off on'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [617 633] ) } ] ) } spids: [614] ) ] spids: [614] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [610 611 643 16777215] ) (case_arm pat_list: [{(txpower)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[650]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'off on auto'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [653 669] ) } ] ) } spids: [650] ) ] spids: [650] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [646 647 679 16777215] ) (case_arm pat_list: [{(retry)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[686]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'limit lifetime'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [689 705] ) } ] ) } spids: [686] ) ] spids: [686] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [682 683 715 16777215] ) ] spids: [30 34 718] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_eq left: {($ VSub_DollarName '$cword')} right: {(1)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$cur'))} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[757]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'--help --version'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [760 776] ) } ] ) } spids: [757] ) ] spids: [757] ) ] spids: [16777215 754] ) ] else_action: [(C {(_available_interfaces)} {(-w)})] spids: [781 789] ) ] spids: [16777215 735] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[795]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ <'essid nwid mode freq channel sens mode ap\n'> < ' nick rate rts frag enc key power txpower commit' > ) } {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [798 815] ) } ] ) } spids: [795] ) ] spids: [795] ) ] spids: [792 820] ) ] spids: [8] ) spids: [4 7] ) (C {(complete)} {(-F)} {(_iwconfig)} {(iwconfig)}) ] )