(BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:INPUT) op:Equal rhs:{(0)} spids:[71])] spids: [71] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Number '$1')} right: {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:INPUT) op: Equal rhs: {($ VSub_Number '$1')} spids: [99] ) ] spids: [99] ) ] spids: [16777215 95] ) ] spids: [16777215 104] ) (C {(.)} {(/DietPi/dietpi/func/dietpi-globals)}) (C {(G_CHECK_ROOT_USER)}) (C {(export)} {(Lit_VarLike 'G_PROGRAM_NAME=') (SQ <DietPi-CPU_info>)}) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')}) right: (ArithWord w:{(Lit_Digits 20)}) ) spids: [139 148] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ('nNotice: CPU information is not available for VM.') (Lit_Other '\\') (n) ) } ) (ControlFlow token:<ControlFlow_Exit exit>) ] spids: [16777215 151] ) ] spids: [16777215 171] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CPU_GOV_CURRENT) op: Equal rhs: {(SQ <Unknown>)} spids: [179] ) ] spids: [179] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:aCPU_CURRENT_FREQ) op:Equal rhs:{(0)} spids:[186])] spids: [186] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:aCPU_MIN_FREQ) op:Equal rhs:{(0)} spids:[190])] spids: [190] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:aCPU_MAX_FREQ) op:Equal rhs:{(0)} spids:[194])] spids: [194] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:aCPU_SCALINGAVAILABLE_FREQ) op: Equal rhs: {(0)} spids: [198] ) ] spids: [198] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CPU_SCALINGSUPPORTED) op:Equal rhs:{(1)} spids:[202])] spids: [202] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FP_CPU_SCALINGAVAILABLE_FREQ) op: Equal rhs: {(SQ </tmp/dietpi-available_cpu_freqs>)} spids: [206] ) ] spids: [206] ) (FuncDef name: Obtain_Cpu_Freq body: (BraceGroup children: [ (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 0)}) ) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithWord w: { (CommandSubPart command_list: (CommandList children:[(C {(nproc)} {(--all)})]) left_token: <Left_CommandSub '$('> spids: [229 233] ) } ) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(/sys/devices/system/cpu/cpu) ($ VSub_Name '$i') (/cpufreq/scaling_cur_freq) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(aCPU_CURRENT_FREQ) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {(/sys/devices/system/cpu/cpu) ($ VSub_Name '$i') (/cpufreq/scaling_cur_freq) } ) ] ) left_token: <Left_CommandSub '$('> spids: [268 274] ) } ) ] spids: [16777215 259] ) ] spids: [16777215 278] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(/sys/devices/system/cpu/cpu) ($ VSub_Name '$i') (/cpufreq/scaling_min_freq) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(aCPU_MIN_FREQ) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {(/sys/devices/system/cpu/cpu) ($ VSub_Name '$i') (/cpufreq/scaling_min_freq) } ) ] ) left_token: <Left_CommandSub '$('> spids: [304 310] ) } ) ] spids: [16777215 295] ) ] spids: [16777215 314] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(/sys/devices/system/cpu/cpu) ($ VSub_Name '$i') (/cpufreq/scaling_max_freq) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(aCPU_MAX_FREQ) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {(/sys/devices/system/cpu/cpu) ($ VSub_Name '$i') (/cpufreq/scaling_max_freq) } ) ] ) left_token: <Left_CommandSub '$('> spids: [340 346] ) } ) ] spids: [16777215 331] ) ] spids: [16777215 350] ) ] spids: [242 354] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 0)}) ) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithWord w: { (CommandSubPart command_list: (CommandList children:[(C {(nproc)} {(--all)})]) left_token: <Left_CommandSub '$('> spids: [391 395] ) } ) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (C {(aCPU_SCALINGAVAILABLE_FREQ) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(cat)} {(/sys/devices/system/cpu/cpu) ($ VSub_Name '$i') (/cpufreq/scaling_available_frequencies) } ) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sed)} {(-e)} {(SQ <'s/[^0-9]//g'>)}) (C {(sed)} {(SQ <'/^$/d'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [413 449] ) } ) ] spids: [404 453] ) ) ] spids: [16777215 377] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(/sys/devices/system/cpu/cpufreq/mp-cpufreq/cpu_freq_table)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(aCPU_SCALINGAVAILABLE_FREQ) (Lit_Other '[') (0) (Lit_Other ']') (Lit_Other '=') (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(cat)} {(/sys/devices/system/cpu/cpufreq/mp-cpufreq/cpu_freq_table)} ) (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)}) (C {(sed)} {(-e)} {(SQ <'s/[^0-9]//g'>)}) (C {(sed)} {(SQ <'/^$/d'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [481 515] ) } ) ] spids: [461 472] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CPU_SCALINGSUPPORTED) op: Equal rhs: {(0)} spids: [523] ) ] spids: [523] ) ] spids: [519 528] ) ] spids: [215] ) spids: [212 215] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CPU_TEMP_CURRENT) op: Equal rhs: {(SQ <Unknown>)} spids: [536] ) ] spids: [536] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CPU_TEMP_PRINT) op: Equal rhs: {(SQ <Unknown>)} spids: [542] ) ] spids: [542] ) (FuncDef name: Obtain_Cpu_Temp body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CPU_TEMP_CURRENT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(G_OBTAIN_CPU_TEMP)})]) left_token: <Left_CommandSub '$('> spids: [558 560] ) } spids: [557] ) ] spids: [557] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:cpu_temp_current_f) op: Equal rhs: {(SQ <Unknown>)} spids: [566] ) ] spids: [564] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Name '$CPU_TEMP_CURRENT')} right: {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpu_temp_current_f) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithBinary op_id: Arith_Slash left: (ArithBinary op_id: Arith_Star left: (ArithWord w:{($ VSub_Name '$CPU_TEMP_CURRENT')}) right: (ArithWord w:{(Lit_Digits 9)}) ) right: (ArithWord w:{(Lit_Digits 5)}) ) right: (ArithWord w:{(Lit_Digits 32)}) ) spids: [597 618] ) } spids: [596] ) ] spids: [596] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_GreatEqual left: (ArithWord w:{($ VSub_Name '$CPU_TEMP_CURRENT')}) right: (ArithWord w:{(Lit_Digits 70)}) ) spids: [623 632] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CPU_TEMP_PRINT) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[91mWarning: ') ($ VSub_Name '$CPU_TEMP_CURRENT') ("'c : ") ($ VSub_Name '$cpu_temp_current_f') ("'f | Reducing the life of your device.") (Lit_Other '\\') ('e[0m') ) } spids: [639] ) ] spids: [639] ) ] spids: [16777215 635] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_GreatEqual left: (ArithWord w:{($ VSub_Name '$CPU_TEMP_CURRENT')}) right: (ArithWord w:{(Lit_Digits 60)}) ) spids: [655 664] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CPU_TEMP_PRINT) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[38;5;202m') ($ VSub_Name '$CPU_TEMP_CURRENT') ("'c : ") ($ VSub_Name '$cpu_temp_current_f') ("'f") (Lit_Other '\\') ('e[90m | Running hot, not recommended.') (Lit_Other '\\') ('e[0m') ) } spids: [671] ) ] spids: [671] ) ] spids: [653 667] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_GreatEqual left: (ArithWord w:{($ VSub_Name '$CPU_TEMP_CURRENT')}) right: (ArithWord w:{(Lit_Digits 50)}) ) spids: [689 698] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CPU_TEMP_PRINT) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[93m') ($ VSub_Name '$CPU_TEMP_CURRENT') ("'c : ") ($ VSub_Name '$cpu_temp_current_f') ("'f") (Lit_Other '\\') ('e[0m ') (Lit_Other '\\') ('e[90m | Running warm, but safe.') (Lit_Other '\\') ('e[0m') ) } spids: [705] ) ] spids: [705] ) ] spids: [687 701] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_GreatEqual left: (ArithWord w:{($ VSub_Name '$CPU_TEMP_CURRENT')}) right: (ArithWord w:{(Lit_Digits 40)}) ) spids: [725 734] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CPU_TEMP_PRINT) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[92m') ($ VSub_Name '$CPU_TEMP_CURRENT') ("'c : ") ($ VSub_Name '$cpu_temp_current_f') ("'f") (Lit_Other '\\') ('e[0m') (Lit_Other '\\') ('e[90m | Optimal temperature.') (Lit_Other '\\') ('e[0m') ) } spids: [741] ) ] spids: [741] ) ] spids: [723 737] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_GreatEqual left: (ArithWord w:{($ VSub_Name '$CPU_TEMP_CURRENT')}) right: (ArithWord w:{(Lit_Digits 30)}) ) spids: [761 770] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CPU_TEMP_PRINT) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[96m') ($ VSub_Name '$CPU_TEMP_CURRENT') ("'c : ") ($ VSub_Name '$cpu_temp_current_f') ("'f") (Lit_Other '\\') ('e[0m') (Lit_Other '\\') ('e[90m | Cool runnings.') (Lit_Other '\\') ('e[0m') ) } spids: [777] ) ] spids: [777] ) ] spids: [759 773] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CPU_TEMP_PRINT) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[96m') ($ VSub_Name '$CPU_TEMP_CURRENT') ("'c : ") ($ VSub_Name '$cpu_temp_current_f') ("'f ") (Lit_Other '\\') ('e[0m ') (Lit_Other '\\') ('e[90m| Who put me in the freezer!') (Lit_Other '\\') ('e[0m') ) } spids: [799] ) ] spids: [799] ) ] spids: [795 817] ) ] spids: [16777215 592] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CPU_TEMP_PRINT) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[91mKERNELERR: ') ($ VSub_Name '$CPU_TEMP_CURRENT') ("'c") (Lit_Other '\\') ('e[0m') ) } spids: [825] ) ] spids: [825] ) ] spids: [821 837] ) ] spids: [553] ) spids: [550 553] ) (FuncDef name: Obtain_Cpu_Gov body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CPU_GOV_CURRENT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {(/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)} ) ] ) left_token: <Left_CommandSub '$('> spids: [868 872] ) } spids: [867] ) ] spids: [867] ) ] spids: [16777215 863] ) ] spids: [16777215 876] ) ] spids: [848] ) spids: [845 848] ) (FuncDef name: Print_Stats body: (BraceGroup children: [ (C {(echo)} {(-e)} {(DQ )}) (C {(echo)} {(-e)} { (DQ (' ') (Lit_Other '\\') ( 'e[38;5;154m\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80' ) (Lit_Other '\\') ('e[0m') (Lit_Other '\\') ('n ') (Lit_Other '\\') ('e[1mDietPi CPU Info') (Lit_Other '\\') ('e[0m') (Lit_Other '\\') (n) (Lit_Other '\\') ('e[90m Use dietpi-config to change CPU / performance options') (Lit_Other '\\') ('e[0m') (Lit_Other '\\') ('n ') (Lit_Other '\\') ( 'e[38;5;154m\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80' ) (Lit_Other '\\') ('e[0m') ) } ) (C {(echo)} {(-e)} { (DQ (' Architecture ') (Lit_Other '\\') ('e[90m|') (Lit_Other '\\') ('e[0m ') (CommandSubPart command_list: (CommandList children:[(C {(uname)} {(-m)})]) left_token: <Left_CommandSub '$('> spids: [945 949] ) ) } ) (C {(echo)} {(-e)} { (DQ (' Temp ') (Lit_Other '\\') ('e[90m|') (Lit_Other '\\') ('e[0m ') ($ VSub_Name '$CPU_TEMP_PRINT') ) } ) (C {(echo)} {(-e)} { (DQ (' Governor ') (Lit_Other '\\') ('e[90m|') (Lit_Other '\\') ('e[0m ') ($ VSub_Name '$CPU_GOV_CURRENT') ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$CPU_GOV_CURRENT'))} {(Lit_Other '=')} {(DQ (ondemand))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$CPU_GOV_CURRENT'))} {(Lit_Other '=')} {(DQ (conservative))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(-e)} { (DQ (' Throttle up ') (Lit_Other '\\') ('e[90m|') (Lit_Other '\\') ('e[0m ') (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(cat)} {(/DietPi/dietpi.txt)}) (C {(grep)} {(-m1)} {(SQ <'^CONFIG_CPU_USAGE_THROTTLE_UP='>)}) (C {(sed)} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1040 1062] ) ('% CPU usage') ) } ) ] spids: [16777215 1026] ) ] spids: [16777215 1068] ) (C {(echo)} {(-e)} {(DQ )}) (C {(echo)} {(-e)} { (DQ (' ') (Lit_Other '\\') ('e[90m Current Freq Min Freq Max Freq') (Lit_Other '\\') ('e[0m') ) } ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 0)}) ) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithWord w: { (BracedVarSub token: <VSub_Name aCPU_CURRENT_FREQ> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [1107 1113] ) } ) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (C {(echo)} {(-e)} { (DQ (' ') (Lit_Other '\\') ('e[90mCPU') ($ VSub_Name '$i') (Lit_Other '\\') ('e[0m ') (Lit_Other '\\') ('e[90m|') (Lit_Other '\\') ('e[0m ') (ArithSubPart anode: (ArithBinary op_id: Arith_Slash left: (ArithWord w: { (BracedVarSub token: <VSub_Name aCPU_CURRENT_FREQ> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$i')}) ) spids: [1143 1148] ) } ) right: (ArithWord w:{(Lit_Digits 1000)}) ) spids: [1141 1155] ) (' MHz ') (Lit_Other '\\') ('e[90m') (ArithSubPart anode: (ArithBinary op_id: Arith_Slash left: (ArithWord w: { (BracedVarSub token: <VSub_Name aCPU_MIN_FREQ> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$i')}) ) spids: [1161 1166] ) } ) right: (ArithWord w:{(Lit_Digits 1000)}) ) spids: [1159 1173] ) (' MHz ') (ArithSubPart anode: (ArithBinary op_id: Arith_Slash left: (ArithWord w: { (BracedVarSub token: <VSub_Name aCPU_MAX_FREQ> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$i')}) ) spids: [1177 1182] ) } ) right: (ArithWord w:{(Lit_Digits 1000)}) ) spids: [1175 1189] ) (' MHz') (Lit_Other '\\') ('e[0m') ) } ) ] spids: [1122 1197] ) ) (C {(echo)} {(-e)} {(DQ )}) (C {(G_DIETPI-NOTIFY)} {(2)} { (SQ < 'CPU current frequency, may be affected by this script, due to the processing required to run it.\\n' > ) } ) ] spids: [887] ) spids: [884 887] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$INPUT')}) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [1251 1260] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(Obtain_Cpu_Freq)}) (SimpleCommand words: [{(rm)} {(DQ ($ VSub_Name '$FP_CPU_SCALINGAVAILABLE_FREQ'))}] redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithWord w:{($ VSub_Name '$CPU_SCALINGSUPPORTED')}) spids: [1289 1294] ) terminator: <Op_Semi ';'> ) ] action: [ (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 0)}) ) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithWord w: { (BracedVarSub token: <VSub_Name aCPU_SCALINGAVAILABLE_FREQ> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [1311 1317] ) } ) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (SimpleCommand words: [ {(echo)} {(-e)} { (DQ (BracedVarSub token: <VSub_Name aCPU_SCALINGAVAILABLE_FREQ> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')})) spids: [1335 1340] ) ) } ] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$FP_CPU_SCALINGAVAILABLE_FREQ'))} ) ] ) ] spids: [1326 1351] ) ) (C {(sort)} {(-u)} {(-n)} {(DQ ($ VSub_Name '$FP_CPU_SCALINGAVAILABLE_FREQ'))} {(-o)} {(DQ ($ VSub_Name '$FP_CPU_SCALINGAVAILABLE_FREQ'))} ) ] spids: [16777215 1297] ) ] spids: [16777215 1377] ) ] spids: [16777215 1263] ) ] else_action: [ (C {(Obtain_Cpu_Freq)}) (C {(Obtain_Cpu_Temp)}) (C {(Obtain_Cpu_Gov)}) (C {(Print_Stats)}) ] spids: [1385 1407] ) (C {(unset)} {(aCPU_CURRENT_FREQ)}) (C {(unset)} {(aCPU_MIN_FREQ)}) (C {(unset)} {(aCPU_MAX_FREQ)}) (C {(unset)} {(aCPU_SCALINGAVAILABLE_FREQ)}) (C {(unset)} {(afp_temperature)}) (ControlFlow token:<ControlFlow_Exit exit>) ] spids: [3] )