(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:INPUT) op:Equal rhs:{(0)} spids:[70])] spids: [70] ) (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: [97] ) ] spids: [97] ) ] spids: [16777215 94] ) ] spids: [16777215 101] ) (C {(.)} {(/DietPi/dietpi/func/dietpi-globals)}) (C {(export)} {(Lit_VarLike 'G_PROGRAM_NAME=') (SQ <DietPi-Banner>)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DIETPI_VERSION) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(sed)} {(-n)} {(1p)} {(/DietPi/dietpi/.version)})] ) left_token: <Left_CommandSub '$('> spids: [141 149] ) (.) (CommandSubPart command_list: (CommandList children: [(C {(sed)} {(-n)} {(2p)} {(/DietPi/dietpi/.version)})] ) left_token: <Left_CommandSub '$('> spids: [151 159] ) ) } spids: [139] ) ] spids: [139] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IMAGE_ADDITIONAL_CREDITS) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(sed)} {(-n)} {(8p)} {(/DietPi/dietpi/.hw_model)})] ) left_token: <Left_CommandSub '$('> spids: [164 172] ) } spids: [163] ) ] spids: [163] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IP_ADDRESS) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(sed)} {(-n)} {(4p)} {(/DietPi/dietpi/.network)})] ) left_token: <Left_CommandSub '$('> spids: [177 185] ) } spids: [176] ) ] spids: [176] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IP_ADAPTER) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(sed)} {(-n)} {(3p)} {(/DietPi/dietpi/.network)})] ) left_token: <Left_CommandSub '$('> spids: [189 197] ) } spids: [188] ) ] spids: [188] ) (FuncDef name: Update_Ip_Address body: (BraceGroup children: [ (C {(/DietPi/dietpi/func/obtain_network_details)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IP_ADDRESS) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(sed)} {(-n)} {(4p)} {(/DietPi/dietpi/.network)})] ) left_token: <Left_CommandSub '$('> spids: [211 219] ) } spids: [210] ) ] spids: [210] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IP_ADAPTER) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(sed)} {(-n)} {(3p)} {(/DietPi/dietpi/.network)})] ) left_token: <Left_CommandSub '$('> spids: [223 231] ) } spids: [222] ) ] spids: [222] ) ] spids: [203] ) spids: [200 203] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:UPDATE_AVAILABLE) op:Equal rhs:{(0)} spids:[239])] spids: [239] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UPDATE_AVAILABLE_VERSION) op: Equal rhs: {(SQ )} spids: [243] ) ] spids: [243] ) (FuncDef name: Obtain_Update_Available body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(/DietPi/dietpi/.update_available)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UPDATE_AVAILABLE) op: Equal rhs: {(1)} spids: [278] ) ] spids: [278] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UPDATE_AVAILABLE_VERSION) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {(/DietPi/dietpi/.update_available)})] ) left_token: <Left_CommandSub '$('> spids: [283 287] ) } spids: [282] ) ] spids: [282] ) ] spids: [16777215 274] ) ] spids: [16777215 291] ) ] spids: [255] ) spids: [252 255] ) (FuncDef name: Hardware_Model_Print body: (BraceGroup children: [ (C {(echo)} {(-e)} { (DQ (' ') (Lit_Other '\\') ('e[39;49;1mv') ($ VSub_Name '$DIETPI_VERSION') (Lit_Other '\\') ('e[0m ') (Lit_Other '\\') ('e[90m| ') ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') (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' ) (Lit_Other '\\') ('e[0m') ) } ) ] spids: [302] ) spids: [299 302] ) (FuncDef name: IPAddress_Print body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-n)} {(DQ ($ VSub_Name '$IP_ADDRESS'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(Update_Ip_Address)})] spids: [16777215 362] ) ] spids: [16777215 370] ) (C {(echo)} {(-e)} { (DQ (' ') (Lit_Other '\\') ('e[39;49;1mIP ') ($ VSub_Name '$IP_ADAPTER') (Lit_Other '\\') ('e[0m ') (Lit_Other '\\') ('e[90m| ') ($ VSub_Name '$IP_ADDRESS') (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' ) (Lit_Other '\\') ('e[0m') ) } ) ] spids: [339] ) spids: [336 339] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:TEXT_TOP) op:Equal rhs:{(SQ )} spids:[416])] spids: [416] ) (FuncDef name: Banner_TopText_Extras body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithWord w:{($ VSub_Name '$UPDATE_AVAILABLE')}) spids: [447 452] ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$UPDATE_AVAILABLE_VERSION'))} {(Lit_Other '=')} {(SQ <-1>)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TEXT_TOP) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[90m|') (Lit_Other '\\') ('e[0m ') (Lit_Other '\\') ('e[91m') (Lit_Other '\\') ('e[33;49;1mImage available') (Lit_Other '\\') ('e[0m') ) } spids: [480] ) ] spids: [480] ) ] spids: [16777215 476] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TEXT_TOP) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[90m|') (Lit_Other '\\') ('e[0m ') (Lit_Other '\\') ('e[91m') (Lit_Other '\\') ('e[33;49;1mUpdate available') (Lit_Other '\\') ('e[0m') ) } spids: [500] ) ] spids: [500] ) ] spids: [496 516] ) ] spids: [16777215 455] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TEXT_TOP) op: Equal rhs: { (DQ (Lit_Other '\\') ('e[90m| ') (CommandSubPart command_list: (CommandList children: [(C {(date)} {(Lit_Other '+') (DQ ('%R | %a %x'))})] ) left_token: <Left_CommandSub '$('> spids: [536 543] ) (Lit_Other '\\') ('e[0m') ) } spids: [532] ) ] spids: [532] ) ] spids: [524 550] ) ] spids: [437] ) spids: [434 437] ) (FuncDef name: Banner_Dietpi body: (BraceGroup children: [ (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 1)}) ) spids: [566 575] ) terminator: <Op_Semi ';'> ) ] action: [(C {(clear)})] spids: [16777215 578] ) ] spids: [16777215 586] ) (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' ) (Lit_Other '\\') ('e[0m') (Lit_Other '\\') ('n ') (Lit_Other '\\') ('e[39;49;1mDietPi ') (Lit_Other '\\') ('e[0m ') ($ VSub_Name '$TEXT_TOP') (' ') (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' ) (Lit_Other '\\') ('e[0m') ) } ) (C {(Hardware_Model_Print)}) (C {(IPAddress_Print)}) ] spids: [560] ) spids: [557 560] ) (FuncDef name: Credits_Print body: (BraceGroup children: [ (C {(echo)} {(-e)} {(SQ )}) (C {(echo)} {(-e)} {(DQ (Lit_Other '\\') ('e[90m Created by : Daniel Knight') (Lit_Other '\\') ('e[0m'))} ) (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ('e[90m Web : http://DietPi.com') (Lit_Other '\\') ('e[0m')) } ) (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ('e[90m Twitter : http://twitter.com/dietpi_') (Lit_Other '\\') ('e[0m') ) } ) (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ('e[90m Donate : http://goo.gl/pzISt9 ') (Lit_Other '\\') ('e[0m') ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$IMAGE_ADDITIONAL_CREDITS'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(-e)} {(SQ )}) (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ('e[90m Device image possible thanks to: ') ($ VSub_Name '$IMAGE_ADDITIONAL_CREDITS') (Lit_Other '\\') ('e[0m') ) } ) ] spids: [16777215 704] ) ] spids: [16777215 730] ) (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ("e[90m DietPi's web hosting is powered by: MyVirtualServer.com") (Lit_Other '\\') ('e[0m') ) } ) (C {(echo)} {(-e)} {(SQ )}) (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ('e[1m dietpi-launcher') (Lit_Other '\\') ('e[0m = All the DietPi programs in one place.') ) } ) (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ('e[1m dietpi-config') (Lit_Other '\\') ('e[0m = Feature rich configuration tool for your device.') ) } ) (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ('e[1m dietpi-software') (Lit_Other '\\') ('e[0m = Select optimized software for installation.') ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithWord w:{($ VSub_Name '$UPDATE_AVAILABLE')}) spids: [797 802] ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$UPDATE_AVAILABLE_VERSION'))} {(Lit_Other '=')} {(SQ <-1>)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') (n) (Lit_Other '\\') ('e[91m An updated DietPi image is available, please goto:') (Lit_Other '\\') ('e[0m') (Lit_Other '\\') ('n http://dietpi.com/download') (Lit_Other '\\') (n) ) } ) ] spids: [16777215 826] ) ] else_action: [ (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ('e[1m dietpi-update') (Lit_Other '\\') ('e[0m = ') (Lit_Other '\\') ('e[91mRun now to update DietPi (from v') ($ VSub_Name '$DIETPI_VERSION') (' to v') ($ VSub_Name '$UPDATE_AVAILABLE_VERSION') (').') (Lit_Other '\\') ('e[0m') ) } ) ] spids: [849 874] ) ] spids: [16777215 805] ) ] spids: [16777215 878] ) (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ('e[1m htop') (Lit_Other '\\') ('e[0m = Resource monitor.') ) } ) (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ('e[1m cpu') (Lit_Other '\\') ('e[0m = Shows CPU information and stats.') ) } ) (C {(echo)} {(-e)} {(SQ )}) ] spids: [630] ) spids: [627 630] ) (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 0)}) ) spids: [933 942] ) terminator: <Op_Semi ';'> ) ] action: [(C {(Obtain_Update_Available)}) (C {(Banner_TopText_Extras)}) (C {(Banner_Dietpi)})] spids: [16777215 945] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$INPUT')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [961 970] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(Obtain_Update_Available)}) (C {(Banner_TopText_Extras)}) (C {(Banner_Dietpi)}) (C {(Credits_Print)}) ] spids: [959 973] ) ] spids: [16777215 990] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )