(BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<.>} {<'/DietPi/dietpi/func/dietpi-globals'>}) (C {<G_CHECK_ROOT_USER>}) (C {<G_CHECK_ROOTFS_RW>}) (C {<export>} {<Id.Lit_VarLike 'G_PROGRAM_NAME='> (SQ <DietPi-Software>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FP_INSTALLED_FILE='> name:FP_INSTALLED_FILE) op: assign_op.Equal rhs: {(SQ <'/DietPi/dietpi/.installed'>)} spids: [135] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'FP_INSTALLED_FILE_TEMP='> name: FP_INSTALLED_FILE_TEMP ) op: assign_op.Equal rhs: {(SQ <'/tmp/dietpi-software.installed'>)} spids: [141] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'FP_DIETPIAUTOMATION_LOG='> name: FP_DIETPIAUTOMATION_LOG ) op: assign_op.Equal rhs: {(SQ <'/root/DietPi-Automation.log'>)} spids: [148] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'FP_DIETPI_DEDICATED_USBDRIVE='> name: FP_DIETPI_DEDICATED_USBDRIVE ) op: assign_op.Equal rhs: {(SQ )} spids: [159] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'UNINSTALL_FILE='> name:UNINSTALL_FILE) op: assign_op.Equal rhs: {(SQ <'/tmp/dietpi_uninstall_list'>)} spids: [169] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FOLDER_MUSIC='> name:FOLDER_MUSIC) op: assign_op.Equal rhs: {(SQ <Music>)} spids: [180] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FOLDER_PICTURES='> name:FOLDER_PICTURES) op: assign_op.Equal rhs: {(SQ <Pictures>)} spids: [186] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FOLDER_VIDEO='> name:FOLDER_VIDEO) op: assign_op.Equal rhs: {(SQ <Video>)} spids: [192] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FOLDER_DOWNLOADS='> name:FOLDER_DOWNLOADS) op: assign_op.Equal rhs: {(SQ <downloads>)} spids: [198] ) ] redirects: [] ) (command.ShFunction name: Write_InstallFileList body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<local>} {<Id.Lit_VarLike 'write_software_in_pending_state='> <0>}) (C {<local>} {<Id.Lit_VarLike 'fp_target='> (DQ ($ Id.VSub_DollarName FP_INSTALLED_FILE))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <temp>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName FP_INSTALLED_FILE_TEMP))} spids: [249] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'write_software_in_pending_state='> name: write_software_in_pending_state ) op: assign_op.Equal rhs: {<1>} spids: [255] ) ] redirects: [] ) ] spids: [228 245] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<rm>} {(DQ ($ Id.VSub_DollarName fp_target))}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: { ($ Id.VSub_DollarName write_software_in_pending_state ) } ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {<-e>} {(DQ <'aSOFTWARE_INSTALL_STATE['> ($ Id.VSub_DollarName i) <']=0'>)} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) ] spids: [307 332] ) ] else_action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'aSOFTWARE_INSTALL_STATE['> ($ Id.VSub_DollarName i) <']='> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName i)}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) ] redirects: [] ) ] ) redirects: [] ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 440 stdin_parts: [ <'\n'> <'#DietPi Choice System: SSH Server\n'> <'INDEX_SSHSERVER_CURRENT='> ($ Id.VSub_DollarName INDEX_SSHSERVER_CURRENT) <'\n'> <'INDEX_SSHSERVER_TARGET='> ($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET) <'\n'> <'\n'> <'#DietPi Choice System: File Server\n'> <'INDEX_FILESERVER_CURRENT='> ($ Id.VSub_DollarName INDEX_FILESERVER_CURRENT) <'\n'> <'INDEX_FILESERVER_TARGET='> ($ Id.VSub_DollarName INDEX_FILESERVER_TARGET) <'\n'> <'\n'> <'#DietPi Choice System: Logging\n'> <'INDEX_LOGGING_CURRENT='> ($ Id.VSub_DollarName INDEX_LOGGING_CURRENT) <'\n'> <'INDEX_LOGGING_TARGET='> ($ Id.VSub_DollarName INDEX_LOGGING_TARGET) <'\n'> <'\n'> <'#DietPi Preference System: Webserver base\n'> <'INDEX_WEBSERVER_CURRENT='> ($ Id.VSub_DollarName INDEX_WEBSERVER_CURRENT) <'\n'> <'INDEX_WEBSERVER_TARGET='> ($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET) <'\n'> <'\n'> ] ) ) (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Read_InstallFileList body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<local>} {<Id.Lit_VarLike 'fp_target='> (DQ ($ Id.VSub_DollarName FP_INSTALLED_FILE))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <temp>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName FP_INSTALLED_FILE_TEMP))} spids: [484] ) ] redirects: [] ) ] spids: [463 480] ) ] else_action: [] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Reading database, please wait...'>)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName fp_target))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<.>} {(DQ ($ Id.VSub_DollarName fp_target))})] spids: [513 526] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_SSHSERVER_CURRENT='> name: INDEX_SSHSERVER_CURRENT ) op: assign_op.Equal rhs: {<-1>} spids: [564] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='> name: INDEX_SSHSERVER_TARGET ) op: assign_op.Equal rhs: {<-1>} spids: [568] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_FILESERVER_CURRENT='> name: INDEX_FILESERVER_CURRENT ) op: assign_op.Equal rhs: {<0>} spids: [573] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='> name: INDEX_FILESERVER_TARGET ) op: assign_op.Equal rhs: {<0>} spids: [577] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_LOGGING_CURRENT='> name: INDEX_LOGGING_CURRENT ) op: assign_op.Equal rhs: {<-1>} spids: [582] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='> name: INDEX_LOGGING_TARGET ) op: assign_op.Equal rhs: {<-1>} spids: [586] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_WEBSERVER_CURRENT='> name: INDEX_WEBSERVER_CURRENT ) op: assign_op.Equal rhs: {<-2>} spids: [591] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='> name: INDEX_WEBSERVER_TARGET ) op: assign_op.Equal rhs: {<-2>} spids: [595] ) ] redirects: [] ) ] spids: [546 560] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Reset_NTPD body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple words: [{<killall>} {<-w>} {<'/DietPi/dietpi/func/run_ntpd'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<killall>} {<-w>} {<ntpd>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<'/var/lib/dietpi/.ntpd_exit_status'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Check_NTPD_Status body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<route>}) (C {<awk>} {(SQ <'{print $4}'>)}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <UG>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<true>})]) body: (command.DoGroup children: [ (C {<'/DietPi/dietpi/func/run_ntpd'>} {<status>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: {($ Id.VSub_DollarName G_USER_INPUTS)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Reset_NTPD>})] spids: [730 742] ) ] else_action: [ (C {<whiptail>} {<--title>} {(DQ <'NTPD update failed'>)} {<--yesno>} { (DQ < 'NTPD timesync has not yet completed, or, failed to update. To prevent issues with outdated system time during installations, you must either:' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - Retry NTPD update (recommended)'> <Id.Lit_BadBackslash '\\'> < 'nThis will kill the current NTPD process and retry NTPD update. If this fails again, please use option below.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - Override (last resort)'> <Id.Lit_BadBackslash '\\'> < 'nThis will override NTPD update checks, however, your system time will be out of sync and may cause issues during installations.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> < 'nYou can check the NTPD logs for debugging purposes with:' > <Id.Lit_BadBackslash '\\'> <'n cat /var/log/ntpd.log'> ) } {<--yes-button>} {(DQ <Override>)} {<--no-button>} {(DQ <Retry>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<20>} {<80>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Reset_NTPD>})] spids: [815 829] ) ] else_action: [ (C {<Reset_NTPD>}) (command.Simple words: [{<echo>} {<0>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/lib/dietpi/.ntpd_exit_status'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {<1>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/lib/dietpi/.ntpd_override'>} ) ] more_env: [] do_fork: T ) ] redirects: [] ) ] redirects: [] ) ] spids: [708 722] ) ] else_action: [(command.ControlFlow token:<Id.ControlFlow_Break break>)] redirects: [] ) ] ) redirects: [] ) ] spids: [658 690] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DISABLE_REBOOT='> name:DISABLE_REBOOT) op: assign_op.Equal rhs: {<0>} spids: [911] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'GLOBAL_PW='> name:GLOBAL_PW) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_GLOBAL_PASSWORD='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [920] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-n>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'GLOBAL_PW='> name:GLOBAL_PW) op: assign_op.Equal rhs: {(SQ <dietpi>)} spids: [965] ) ] redirects: [] ) ] spids: [946 961] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RAM_TOTAL='> name:RAM_TOTAL) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<free>} {<-m>}) (C {<grep>} {<-m1>} {(SQ <'Mem:'>)}) (C {<awk>} {(SQ <'{print $2}'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [980] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'GOSTARTINSTALL='> name:GOSTARTINSTALL) op: assign_op.Equal rhs: {<0>} spids: [1011] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ )} spids: [1015] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_DESCRIPTION='> name: INSTALL_DESCRIPTION ) op: assign_op.Equal rhs: {(SQ <DietPi>)} spids: [1020] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'USER_EMONHUB_APIKEY_COMPLETED='> name: USER_EMONHUB_APIKEY_COMPLETED ) op: assign_op.Equal rhs: {<0>} spids: [1031] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'USER_EMONHUB_APIKEY_CURRENT='> name: USER_EMONHUB_APIKEY_CURRENT ) op: assign_op.Equal rhs: {<0>} spids: [1035] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WIFIHOTSPOT_RTL8188C_DEVICE='> name: WIFIHOTSPOT_RTL8188C_DEVICE ) op: assign_op.Equal rhs: {<0>} spids: [1039] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'USER_LINUX_AUTOINSTALL_PROMPT_DISPLAYED='> name: USER_LINUX_AUTOINSTALL_PROMPT_DISPLAYED ) op: assign_op.Equal rhs: {<0>} spids: [1043] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FP_PHP_BASE_DIR='> name:FP_PHP_BASE_DIR) op: assign_op.Equal rhs: {(SQ <'/etc/php/7.0'>)} spids: [1052] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'PHP_APT_PACKAGE_NAME='> name: PHP_APT_PACKAGE_NAME ) op: assign_op.Equal rhs: {(SQ <php>)} spids: [1058] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'FP_PHP_BASE_DIR='> name: FP_PHP_BASE_DIR ) op: assign_op.Equal rhs: {(SQ <'/etc/php5'>)} spids: [1082] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'PHP_APT_PACKAGE_NAME='> name: PHP_APT_PACKAGE_NAME ) op: assign_op.Equal rhs: {(SQ <php5>)} spids: [1088] ) ] redirects: [] ) ] spids: [1064 1078] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USBDRIVE='> name:USBDRIVE) op: assign_op.Equal rhs: {<0>} spids: [1103] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_DIETPI_CHOICESMADE='> name: INSTALL_DIETPI_CHOICESMADE ) op: assign_op.Equal rhs: {<0>} spids: [1112] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_LINUX_CHOICESMADE='> name: INSTALL_LINUX_CHOICESMADE ) op: assign_op.Equal rhs: {<0>} spids: [1116] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_SSHSERVER_CHOICESMADE='> name: INSTALL_SSHSERVER_CHOICESMADE ) op: assign_op.Equal rhs: {<0>} spids: [1129] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_SSHSERVER_CURRENT='> name: INDEX_SSHSERVER_CURRENT ) op: assign_op.Equal rhs: {<-1>} spids: [1133] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='> name: INDEX_SSHSERVER_TARGET ) op: assign_op.Equal rhs: {<-1>} spids: [1137] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_FILESERVER_CHOICESMADE='> name: INSTALL_FILESERVER_CHOICESMADE ) op: assign_op.Equal rhs: {<0>} spids: [1150] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_FILESERVER_CURRENT='> name: INDEX_FILESERVER_CURRENT ) op: assign_op.Equal rhs: {<0>} spids: [1154] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='> name: INDEX_FILESERVER_TARGET ) op: assign_op.Equal rhs: {<0>} spids: [1158] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_LOGGING_CHOICESMADE='> name: INSTALL_LOGGING_CHOICESMADE ) op: assign_op.Equal rhs: {<0>} spids: [1171] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_LOGGING_CURRENT='> name: INDEX_LOGGING_CURRENT ) op: assign_op.Equal rhs: {<-1>} spids: [1175] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='> name: INDEX_LOGGING_TARGET ) op: assign_op.Equal rhs: {<-1>} spids: [1179] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_WEBSERVER_CURRENT='> name: INDEX_WEBSERVER_CURRENT ) op: assign_op.Equal rhs: {<-2>} spids: [1192] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='> name: INDEX_WEBSERVER_TARGET ) op: assign_op.Equal rhs: {<-2>} spids: [1196] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_CATEGORIES_DIETPI='> name: aSOFTWARE_CATEGORIES_DIETPI ) op: assign_op.Equal rhs: {<0>} spids: [1209] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'MAX_SOFTWARE_CATEGORIES_DIETPI='> name: MAX_SOFTWARE_CATEGORIES_DIETPI ) op: assign_op.Equal rhs: {<0>} spids: [1216] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_CATEGORIES_LINUX='> name: aSOFTWARE_CATEGORIES_LINUX ) op: assign_op.Equal rhs: {<0>} spids: [1221] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'MAX_SOFTWARE_CATEGORIES_LINUX='> name: MAX_SOFTWARE_CATEGORIES_LINUX ) op: assign_op.Equal rhs: {<0>} spids: [1225] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TOTAL_SOFTWARE_INDEXS='> name: TOTAL_SOFTWARE_INDEXS ) op: assign_op.Equal rhs: {<0>} spids: [1238] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TOTAL_SOFTWARE_INDEXS_HARDLIMIT='> name: TOTAL_SOFTWARE_INDEXS_HARDLIMIT ) op: assign_op.Equal rhs: {<171>} spids: [1242] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INSTALLING_INDEX='> name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<0>} spids: [1250] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_CATEGORY_INDEX='> name: aSOFTWARE_CATEGORY_INDEX ) op: assign_op.Equal rhs: {<0>} spids: [1258] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'aSOFTWARE_TYPE='> name:aSOFTWARE_TYPE) op: assign_op.Equal rhs: {<0>} spids: [1265] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_INSTALL_STATE='> name: aSOFTWARE_INSTALL_STATE ) op: assign_op.Equal rhs: {<0>} spids: [1273] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_WHIP_NAME='> name: aSOFTWARE_WHIP_NAME ) op: assign_op.Equal rhs: {<0>} spids: [1281] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_WHIP_DESC='> name: aSOFTWARE_WHIP_DESC ) op: assign_op.Equal rhs: {<0>} spids: [1288] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FP_ONLINEDOC_URL='> name:FP_ONLINEDOC_URL) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/phpbb/viewtopic.php?'>)} spids: [1296] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_ONLINEDOC_URL='> name: aSOFTWARE_ONLINEDOC_URL ) op: assign_op.Equal rhs: {<0>} spids: [1302] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_USERINPUT='> name: aSOFTWARE_REQUIRES_USERINPUT ) op: assign_op.Equal rhs: {<0>} spids: [1311] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_ALSA='> name: aSOFTWARE_REQUIRES_ALSA ) op: assign_op.Equal rhs: {<0>} spids: [1320] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_XSERVERXORG='> name: aSOFTWARE_REQUIRES_XSERVERXORG ) op: assign_op.Equal rhs: {<0>} spids: [1324] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_MYSQL='> name: aSOFTWARE_REQUIRES_MYSQL ) op: assign_op.Equal rhs: {<0>} spids: [1328] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_SQLITE='> name: aSOFTWARE_REQUIRES_SQLITE ) op: assign_op.Equal rhs: {<0>} spids: [1332] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_WEBSERVER='> name: aSOFTWARE_REQUIRES_WEBSERVER ) op: assign_op.Equal rhs: {<0>} spids: [1336] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_DESKTOP='> name: aSOFTWARE_REQUIRES_DESKTOP ) op: assign_op.Equal rhs: {<0>} spids: [1340] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_GIT='> name: aSOFTWARE_REQUIRES_GIT ) op: assign_op.Equal rhs: {<0>} spids: [1344] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_BUILDESSENTIAL='> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL ) op: assign_op.Equal rhs: {<0>} spids: [1348] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_RSYSLOG='> name: aSOFTWARE_REQUIRES_RSYSLOG ) op: assign_op.Equal rhs: {<0>} spids: [1352] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_FFMPEG='> name: aSOFTWARE_REQUIRES_FFMPEG ) op: assign_op.Equal rhs: {<0>} spids: [1356] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_ORACLEJAVA='> name: aSOFTWARE_REQUIRES_ORACLEJAVA ) op: assign_op.Equal rhs: {<0>} spids: [1360] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_NODEJS='> name: aSOFTWARE_REQUIRES_NODEJS ) op: assign_op.Equal rhs: {<0>} spids: [1364] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAX_G_HW_MODEL='> name:MAX_G_HW_MODEL) op: assign_op.Equal rhs: {<71>} spids: [1373] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAX_G_HW_ARCH='> name:MAX_G_HW_ARCH) op: assign_op.Equal rhs: {<10>} spids: [1380] ) ] redirects: [] ) (C {<declare>} {<-A>} {<aSOFTWARE_AVAIL_G_HW_MODEL>}) (C {<declare>} {<-A>} {<aSOFTWARE_AVAIL_G_HW_ARCH>}) (command.ShFunction name: Software_Arrays_Init body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_CATEGORIES_DIETPI='> name: aSOFTWARE_CATEGORIES_DIETPI ) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (DQ < '────Desktops──────────────────────────────────────────────' > ) } { (DQ < '────Remote Desktop Access─────────────────────────────────' > ) } { (DQ < '────Media Systems─────────────────────────────────────────' > ) } { (DQ < '────BitTorrent / Download Tools───────────────────────────' > ) } { (DQ < '────Cloud / Backups───────────────────────────────────────' > ) } { (DQ < '────Emulation & Gaming────────────────────────────────────' > ) } { (DQ < '────Social / Search───────────────────────────────────────' > ) } { (DQ < '────Camera / Surveillance─────────────────────────────────' > ) } { (DQ < '────WiFi Hotspot──────────────────────────────────────────' > ) } { (DQ < '────System Stats / Management─────────────────────────────' > ) } { (DQ < '────Remote Access─────────────────────────────────────────' > ) } { (DQ < '────Hardware Projects─────────────────────────────────────' > ) } { (DQ < '────System Security───────────────────────────────────────' > ) } { (DQ < '────Webserver Stacks──────────────────────────────────────' > ) } { (DQ < '────Pi-hole───────────────────────────────────────────────' > ) } { (DQ < '────File Servers──────────────────────────────────────────' > ) } { (DQ < '────VPN Servers───────────────────────────────────────────' > ) } { (DQ < '────Advanced Networking───────────────────────────────────' > ) } { (DQ < '────Home Automation───────────────────────────────────────' > ) } { (DQ < '────Printing──────────────────────────────────────────────' > ) } ] ) } spids: [1685] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'MAX_SOFTWARE_CATEGORIES_DIETPI='> name: MAX_SOFTWARE_CATEGORIES_DIETPI ) op: assign_op.Equal rhs: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_CATEGORIES_DIETPI> var_name: aSOFTWARE_CATEGORIES_DIETPI prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } spids: [1855] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aSOFTWARE_CATEGORIES_LINUX='> name: aSOFTWARE_CATEGORIES_LINUX ) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (DQ < '────SSH Clients───────────────────────────────────────────' > ) } { (DQ < '────Fileserver Clients────────────────────────────────────' > ) } { (DQ < '────File Managers─────────────────────────────────────────' > ) } { (DQ < '────System────────────────────────────────────────────────' > ) } { (DQ < '────Shared Libraries──────────────────────────────────────' > ) } { (DQ < '────Networking / Tools────────────────────────────────────' > ) } { (DQ < '────Development / Programming─────────────────────────────' > ) } { (DQ < '────Text Editors──────────────────────────────────────────' > ) } { (DQ < '────Desktop Utilities─────────────────────────────────────' > ) } ] ) } spids: [1870] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'MAX_SOFTWARE_CATEGORIES_LINUX='> name: MAX_SOFTWARE_CATEGORIES_LINUX ) op: assign_op.Equal rhs: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_CATEGORIES_LINUX> var_name: aSOFTWARE_CATEGORIES_LINUX prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } spids: [1952] ) ] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'debug_array_count='> <0>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS_HARDLIMIT)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike j) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike j) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike j) ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName i)} right: {($ Id.VSub_DollarName j)} ) ) op: assign_op.Equal rhs: {<1>} spids: [2032] ) ] redirects: [] ) ] ) redirects: [] ) ] ) redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS_HARDLIMIT)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike j) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike j) right: {($ Id.VSub_DollarName MAX_G_HW_ARCH)} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike j) ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName i)} right: {($ Id.VSub_DollarName j)} ) ) op: assign_op.Equal rhs: {<1>} spids: [2107] ) ] redirects: [] ) ] ) redirects: [] ) ] ) redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS_HARDLIMIT)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {(SQ )} spids: [2171] ) ] redirects: [] ) ] ) redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS_HARDLIMIT)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_USERINPUT['> name: aSOFTWARE_REQUIRES_USERINPUT index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [2224] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [2233] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['> name: aSOFTWARE_REQUIRES_XSERVERXORG index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [2241] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['> name: aSOFTWARE_REQUIRES_MYSQL index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [2249] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_SQLITE['> name: aSOFTWARE_REQUIRES_SQLITE index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [2257] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [2265] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['> name: aSOFTWARE_REQUIRES_DESKTOP index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [2273] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['> name: aSOFTWARE_REQUIRES_GIT index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [2281] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [2289] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_RSYSLOG['> name: aSOFTWARE_REQUIRES_RSYSLOG index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [2297] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['> name: aSOFTWARE_REQUIRES_FFMPEG index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [2305] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['> name: aSOFTWARE_REQUIRES_ORACLEJAVA index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [2313] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_NODEJS['> name: aSOFTWARE_REQUIRES_NODEJS index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [2321] ) ] redirects: [] ) ] ) redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'index_current='> <0>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<23>} spids: [2366] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <LXDE>)} spids: [2371] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'ultra lightweight desktop'>)} spids: [2381] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [2391] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [2399] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [2407] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['> name: aSOFTWARE_REQUIRES_XSERVERXORG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [2415] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p42'>)} spids: [2423] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<24>} spids: [2438] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <MATE>)} spids: [2442] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'desktop enviroment'>)} spids: [2452] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [2462] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [2470] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [2478] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['> name: aSOFTWARE_REQUIRES_XSERVERXORG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [2486] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=60#p2073'>)} spids: [2494] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<25>} spids: [2509] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <XFCE>)} spids: [2514] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'lightweight desktop environment'>)} spids: [2524] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [2534] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [2542] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [2550] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['> name: aSOFTWARE_REQUIRES_XSERVERXORG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [2558] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=70#p2203'>)} spids: [2566] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<26>} spids: [2581] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <GNUStep>)} spids: [2586] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'lightweight based on OpenStep'>)} spids: [2596] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [2606] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [2614] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [2622] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['> name: aSOFTWARE_REQUIRES_XSERVERXORG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [2630] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=60#p2072'>)} spids: [2638] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<113>} spids: [2653] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Chromium>)} spids: [2658] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'(Optional) web browser'>)} spids: [2668] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [2678] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [2686] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['> name: aSOFTWARE_REQUIRES_DESKTOP index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [2694] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=3011#p3011'>)} spids: [2702] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 1>} ) ) op: assign_op.Equal rhs: {<0>} spids: [2717] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 20>} ) ) op: assign_op.Equal rhs: {<0>} spids: [2734] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<27>} spids: [2755] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'TightVNC Server'>)} spids: [2760] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'desktop for remote connection'>)} spids: [2770] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [2780] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [2788] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['> name: aSOFTWARE_REQUIRES_DESKTOP index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [2796] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p408'>)} spids: [2804] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 3>} ) ) op: assign_op.Equal rhs: {<0>} spids: [2819] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [2877] ) ] redirects: [] ) ] ) redirects: [] ) ] spids: [2836 2850] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<28>} spids: [2902] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'VNC4 Server'>)} spids: [2907] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'desktop for remote connection'>)} spids: [2917] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [2927] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [2935] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['> name: aSOFTWARE_REQUIRES_DESKTOP index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [2943] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p408'>)} spids: [2951] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<29>} spids: [2966] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <XRDP>)} spids: [2971] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'remote desktop protocol (rdp) server'>)} spids: [2981] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [2991] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [2999] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['> name: aSOFTWARE_REQUIRES_DESKTOP index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3007] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=70#p2074'>)} spids: [3015] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<30>} spids: [3030] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <NoMachine>)} spids: [3035] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'multi-platform server and client access'>)} spids: [3045] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3055] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [3063] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['> name: aSOFTWARE_REQUIRES_DESKTOP index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3071] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=60#p2071'>)} spids: [3079] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 3>} ) ) op: assign_op.Equal rhs: {<0>} spids: [3094] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<120>} spids: [3111] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'RealVNC Server'>)} spids: [3116] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'desktop for remote connection'>)} spids: [3126] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3136] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [3144] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['> name: aSOFTWARE_REQUIRES_DESKTOP index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3152] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=4149#p4149'>)} spids: [3160] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [3198] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<31>} spids: [3223] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Kodi>)} spids: [3228] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'the media centre for linux'>)} spids: [3238] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [3248] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [3256] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3264] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['> name: aSOFTWARE_REQUIRES_XSERVERXORG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3272] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p43'>)} spids: [3280] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 20>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [3318] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<32>} spids: [3339] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <YMPD>)} spids: [3344] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'lightweight web interface music player for mpd'>)} spids: [3354] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [3364] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [3372] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3380] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p50'>)} spids: [3388] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<119>} spids: [3403] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <CAVA>)} spids: [3408] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'optional: console audio vis for mpd'>)} spids: [3418] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [3428] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [3436] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3444] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=3928#p3928'>)} spids: [3452] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 10>} ) ) op: assign_op.Equal rhs: {<0>} spids: [3467] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<33>} spids: [3484] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'SubSonic 5'>)} spids: [3489] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface media streaming server'>)} spids: [3499] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [3509] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [3517] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3525] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['> name: aSOFTWARE_REQUIRES_FFMPEG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3533] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['> name: aSOFTWARE_REQUIRES_ORACLEJAVA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3541] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3549] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p213'>)} spids: [3557] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<34>} spids: [3572] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'SubSonic 6'>)} spids: [3577] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface media streaming server'>)} spids: [3587] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [3597] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [3605] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3613] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['> name: aSOFTWARE_REQUIRES_FFMPEG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3621] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['> name: aSOFTWARE_REQUIRES_ORACLEJAVA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3629] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3637] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p213'>)} spids: [3645] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<35>} spids: [3660] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <SqueezeBox>)} spids: [3665] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'logitech media server (lms)'>)} spids: [3675] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [3685] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [3693] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1009#p1009'>)} spids: [3701] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<36>} spids: [3716] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <SqueezeLite>)} spids: [3721] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'audio player for lms & squeezebox'>)} spids: [3731] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [3741] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [3749] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3757] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1009#p1009'>)} spids: [3765] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<37>} spids: [3780] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Shairport Sync'>)} spids: [3785] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'airplay audio player with multiroom sync'>)} spids: [3795] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [3805] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [3813] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3821] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1221#p1221'>)} spids: [3829] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 10>} ) ) op: assign_op.Equal rhs: {<0>} spids: [3844] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<38>} spids: [3861] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <BruteFIR>)} spids: [3866] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'eq and digital room correction via alsa'>)} spids: [3876] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [3886] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [3894] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [3902] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=57#p57'>)} spids: [3910] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [3948] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<39>} spids: [3969] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <ReadyMedia>)} spids: [3974] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'(MiniDLNA) media streaming server (dlna, upnp)'>)} spids: [3984] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [3994] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [4002] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4010] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p49'>)} spids: [4018] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<40>} spids: [4033] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Ampache>)} spids: [4038] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface media streaming server'>)} spids: [4048] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [4058] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [4066] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4074] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['> name: aSOFTWARE_REQUIRES_GIT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4082] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['> name: aSOFTWARE_REQUIRES_FFMPEG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4090] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4098] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['> name: aSOFTWARE_REQUIRES_MYSQL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4106] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=40#p554'>)} spids: [4114] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<41>} spids: [4129] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Emby Server'>)} spids: [4134] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface media streaming server'>)} spids: [4144] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [4154] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [4162] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['> name: aSOFTWARE_REQUIRES_FFMPEG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4170] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1789#p1789'>)} spids: [4178] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 1>} ) ) op: assign_op.Equal rhs: {<0>} spids: [4193] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 3>} ) ) op: assign_op.Equal rhs: {<0>} spids: [4210] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<42>} spids: [4227] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Plex Media Server'>)} spids: [4232] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface media streaming server'>)} spids: [4242] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [4252] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [4260] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1949#p1949'>)} spids: [4268] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 1>} ) ) op: assign_op.Equal rhs: {<0>} spids: [4283] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<43>} spids: [4300] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Murmur>)} spids: [4305] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'mumble voip server'>)} spids: [4315] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [4325] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [4333] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1691#p1691'>)} spids: [4341] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<118>} spids: [4356] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Mopidy>)} spids: [4361] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface music & radio player'>)} spids: [4371] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [4381] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [4389] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=80#p3611'>)} spids: [4397] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4407] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<121>} spids: [4420] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Roon Bridge'>)} spids: [4425] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Turns device into Roon capable audio player'>)} spids: [4435] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [4445] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [4453] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=80#p4153'>)} spids: [4461] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4471] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_ARCH)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [4507] ) ] redirects: [] ) ] ) redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 2>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<1>} spids: [4551] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<124>} spids: [4572] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'NAA daemon'>)} spids: [4577] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'signalyst network audio adaptor (naa)'>)} spids: [4587] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [4597] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [4605] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=90#p4294'>)} spids: [4613] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4623] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_ARCH)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [4659] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 2>} ) ) op: assign_op.Equal rhs: {<1>} spids: [4680] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<128>} spids: [4697] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <MPD>)} spids: [4702] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'music player daemon'>)} spids: [4712] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [4722] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [4730] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4738] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ )} spids: [4746] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<129>} spids: [4760] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'O!MPD'>)} spids: [4765] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'feature-rich, web interface audio player for mpd'>)} spids: [4775] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [4785] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [4793] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=5171#p5171'>)} spids: [4801] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4811] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4819] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['> name: aSOFTWARE_REQUIRES_MYSQL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4827] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 20>} ) ) op: assign_op.Equal rhs: {<0>} spids: [4840] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<135>} spids: [4857] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <IceCast>)} spids: [4862] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Shoutcast streaming server (+DarkIce)'>)} spids: [4872] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [4882] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [4890] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4898] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6526#p6526'>)} spids: [4906] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 20>} ) ) op: assign_op.Equal rhs: {<0>} spids: [4921] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<141>} spids: [4938] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Spotify Connect Web'>)} spids: [4943] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface for spotify premium'>)} spids: [4953] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [4963] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [4971] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7013#p7013'>)} spids: [4979] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [4989] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_ARCH)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [5025] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 2>} ) ) op: assign_op.Equal rhs: {<1>} spids: [5046] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<143>} spids: [5063] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Koel>)} spids: [5068] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface audio streamer'>)} spids: [5078] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [5088] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [5096] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7305#p7305'>)} spids: [5104] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5114] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['> name: aSOFTWARE_REQUIRES_MYSQL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5122] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_NODEJS['> name: aSOFTWARE_REQUIRES_NODEJS index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5130] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5138] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['> name: aSOFTWARE_REQUIRES_FFMPEG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5146] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<146>} spids: [5159] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <PlexPy>)} spids: [5164] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'monitoring and tracking tool for Plex'>)} spids: [5174] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [5184] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [5192] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7463#p7463'>)} spids: [5200] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['> name: aSOFTWARE_REQUIRES_GIT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5210] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 3>} ) ) op: assign_op.Equal rhs: {<0>} spids: [5223] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<148>} spids: [5241] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'JRiver MC'>)} spids: [5246] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'media centre'>)} spids: [5256] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [5266] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [5274] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5282] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['> name: aSOFTWARE_REQUIRES_XSERVERXORG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5290] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=110#p7536'>)} spids: [5298] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [5336] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<154>} spids: [5357] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Roon Server'>)} spids: [5362] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Roon capable audio player and core'>)} spids: [5372] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [5382] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [5390] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7966#p7966'>)} spids: [5398] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5408] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['> name: aSOFTWARE_REQUIRES_FFMPEG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5416] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_ARCH)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [5452] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 10>} ) ) op: assign_op.Equal rhs: {<1>} spids: [5469] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<159>} spids: [5486] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Allo>)} spids: [5491] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface'>)} spids: [5501] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [5511] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [5519] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ )} spids: [5527] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5536] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5544] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['> name: aSOFTWARE_REQUIRES_MYSQL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5552] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<160>} spids: [5565] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Allo_update>)} spids: [5570] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'quick reinstall/update web only'>)} spids: [5580] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [5590] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [5598] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ )} spids: [5606] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<163>} spids: [5620] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Gmediarender>)} spids: [5625] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'DLNA audio render/endpoint'>)} spids: [5635] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [5645] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [5653] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5661] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=9012#p9012'>)} spids: [5669] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<167>} spids: [5684] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Raspotify>)} spids: [5689] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'spotify connect client'>)} spids: [5699] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [5709] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [5717] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5725] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=9368#p9368'>)} spids: [5733] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 3>} ) ) op: assign_op.Equal rhs: {<0>} spids: [5748] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 10>} ) ) op: assign_op.Equal rhs: {<0>} spids: [5765] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<168>} spids: [5782] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <moOde>)} spids: [5787] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'audiophile-quality music playback'>)} spids: [5797] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [5807] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [5815] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5823] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_SQLITE['> name: aSOFTWARE_REQUIRES_SQLITE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5831] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5839] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['> name: aSOFTWARE_REQUIRES_GIT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5847] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [5855] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <xxxxxxxxxxxxxxxxx>)} spids: [5863] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [5901] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<44>} spids: [5926] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Transmission>)} spids: [5931] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'bittorrent server with web interface (c)'>)} spids: [5941] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [5951] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [5959] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p46'>)} spids: [5967] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<45>} spids: [5982] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Deluge>)} spids: [5987] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'bittorrent server with web interface (python)'>)} spids: [5997] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [6007] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6015] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p61'>)} spids: [6023] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<46>} spids: [6038] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <qBitTorrent>)} spids: [6043] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'bittorrent server with web interface (c++)'>)} spids: [6053] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [6063] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6071] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=70#p2272'>)} spids: [6079] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<107>} spids: [6094] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <rTorrent>)} spids: [6099] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'bittorrent server with rutorrent web interface'>)} spids: [6109] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [6119] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6127] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [6135] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=2603#p2603'>)} spids: [6147] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<116>} spids: [6162] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <SickRage>)} spids: [6167] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'automatically download TV shows'>)} spids: [6177] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [6187] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6195] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=3327#p3327'>)} spids: [6203] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<132>} spids: [6219] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Aria2>)} spids: [6224] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'download manager with web interface'>)} spids: [6234] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [6244] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6252] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6177#p6177'>)} spids: [6260] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [6270] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_SQLITE['> name: aSOFTWARE_REQUIRES_SQLITE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [6278] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<139>} spids: [6291] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <SABnzbd>)} spids: [6296] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'nzb download manager'>)} spids: [6306] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [6316] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6324] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6747#p6747'>)} spids: [6332] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [6342] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<142>} spids: [6355] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <CouchPotato>)} spids: [6360] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'automatically download movies'>)} spids: [6370] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [6380] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6388] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6747#p6747'>)} spids: [6396] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [6406] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['> name: aSOFTWARE_REQUIRES_GIT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [6414] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<144>} spids: [6427] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Sonarr>)} spids: [6432] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'automatically download TV shows'>)} spids: [6442] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [6452] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6460] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7455#p7455'>)} spids: [6468] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<145>} spids: [6483] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Radarr>)} spids: [6488] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'automatically download movies'>)} spids: [6498] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [6508] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6516] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7457#p7457'>)} spids: [6524] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<147>} spids: [6539] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Jackett>)} spids: [6544] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'api Support for your torrent trackers.'>)} spids: [6554] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [6564] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6572] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7503#p7503'>)} spids: [6580] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<149>} spids: [6595] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <NZBget>)} spids: [6600] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'nzb download manager'>)} spids: [6610] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [6620] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6628] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7575#p7575'>)} spids: [6636] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<155>} spids: [6651] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'HTPC Manager'>)} spids: [6656] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'manage your HTPC from anywhere'>)} spids: [6666] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['> name: aSOFTWARE_REQUIRES_GIT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [6676] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [6684] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6692] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=8043#p8043'>)} spids: [6700] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<47>} spids: [6719] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <ownCloud>)} spids: [6724] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'your very own cloud (eg: dropbox)'>)} spids: [6734] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [6744] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6752] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [6760] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['> name: aSOFTWARE_REQUIRES_MYSQL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [6768] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p47'>)} spids: [6776] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<114>} spids: [6791] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Nextcloud>)} spids: [6796] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'A safe home for all your data'>)} spids: [6806] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [6816] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6824] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [6832] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['> name: aSOFTWARE_REQUIRES_MYSQL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [6840] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=3026#p3026'>)} spids: [6848] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<48>} spids: [6863] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Pydio>)} spids: [6868] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'feature-rich backup and sync server'>)} spids: [6878] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [6888] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6896] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [6904] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['> name: aSOFTWARE_REQUIRES_MYSQL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [6912] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1064#p1064'>)} spids: [6920] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<111>} spids: [6935] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'UrBackup server'>)} spids: [6940] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'full system backup server'>)} spids: [6950] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [6960] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [6968] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=65#p65'>)} spids: [6976] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 1>} ) ) op: assign_op.Equal rhs: {<0>} spids: [6991] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<49>} spids: [7008] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Gogs>)} spids: [7013] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'personal github server with web interface'>)} spids: [7023] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [7033] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [7041] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['> name: aSOFTWARE_REQUIRES_GIT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7049] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['> name: aSOFTWARE_REQUIRES_MYSQL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7057] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=70#p2187'>)} spids: [7065] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 3>} ) ) op: assign_op.Equal rhs: {<0>} spids: [7080] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<50>} spids: [7097] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Syncthing>)} spids: [7102] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'backup and sync server with web interface'>)} spids: [7112] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [7122] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [7130] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=70#p2363'>)} spids: [7138] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<134>} spids: [7153] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Tonido>)} spids: [7158] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'lightweight cloud based backup system'>)} spids: [7168] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [7178] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [7186] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6476#p6476'>)} spids: [7194] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 1>} ) ) op: assign_op.Equal rhs: {<0>} spids: [7209] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 3>} ) ) op: assign_op.Equal rhs: {<0>} spids: [7226] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<158>} spids: [7243] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Minio>)} spids: [7247] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'S3 compatible distributed object server'>)} spids: [7257] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [7267] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [7275] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<161>} spids: [7288] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <FuguHub>)} spids: [7292] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Lightweight WebDAV cloud (eg: dropbox) with a CMS'>)} spids: [7302] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [7312] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [7320] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 3>} ) ) op: assign_op.Equal rhs: {<0>} spids: [7342] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<165>} spids: [7359] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Gitea>)} spids: [7364] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Git with a cup of tea'>)} spids: [7374] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [7384] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [7392] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['> name: aSOFTWARE_REQUIRES_GIT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7400] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['> name: aSOFTWARE_REQUIRES_MYSQL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7408] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=9863#p9863'>)} spids: [7416] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<108>} spids: [7436] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <AmiBerry>)} spids: [7441] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'amiga emulator'>)} spids: [7451] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<5>} spids: [7461] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [7469] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7477] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=64#p64'>)} spids: [7485] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['> name: aSOFTWARE_REQUIRES_XSERVERXORG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7495] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [7531] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<51>} spids: [7552] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <OpenTyrian>)} spids: [7557] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'a classic retro game, addictive'>)} spids: [7567] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<5>} spids: [7577] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [7585] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7593] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['> name: aSOFTWARE_REQUIRES_XSERVERXORG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7601] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p45'>)} spids: [7609] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [7647] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<112>} spids: [7668] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <DXX-Rebirth>)} spids: [7673] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Descent 1/2'>)} spids: [7683] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<5>} spids: [7693] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [7701] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7709] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=2963#p2963'>)} spids: [7717] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [7755] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<52>} spids: [7776] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Cuberite>)} spids: [7781] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'minecraft server with web interface (c++)'>)} spids: [7791] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<5>} spids: [7801] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [7809] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=60#p2068'>)} spids: [7817] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 3>} ) ) op: assign_op.Equal rhs: {<0>} spids: [7832] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<53>} spids: [7849] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <MineOS>)} spids: [7854] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'minecraft servers with web interface (java)'>)} spids: [7864] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<5>} spids: [7874] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [7882] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7890] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['> name: aSOFTWARE_REQUIRES_GIT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7898] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['> name: aSOFTWARE_REQUIRES_ORACLEJAVA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7906] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_NODEJS['> name: aSOFTWARE_REQUIRES_NODEJS index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7914] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=60#p2069'>)} spids: [7922] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<156>} spids: [7937] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Steam>)} spids: [7942] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <client>)} spids: [7952] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<5>} spids: [7962] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [7970] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=8016#p8016'>)} spids: [7978] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7988] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['> name: aSOFTWARE_REQUIRES_XSERVERXORG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [7996] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['> name: aSOFTWARE_REQUIRES_DESKTOP index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [8004] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [8040] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 21>} ) ) op: assign_op.Equal rhs: {<1>} spids: [8057] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<164>} spids: [8074] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Nukkit>)} spids: [8078] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'A nuclear-powered server for Minecraft Pocket Edition'>)} spids: [8088] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<5>} spids: [8098] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [8106] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['> name: aSOFTWARE_REQUIRES_ORACLEJAVA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [8114] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<54>} spids: [8131] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Forums>)} spids: [8136] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'phpbb forums'>)} spids: [8146] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<6>} spids: [8156] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [8164] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [8172] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['> name: aSOFTWARE_REQUIRES_MYSQL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [8180] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=5#p51'>)} spids: [8188] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<55>} spids: [8203] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Wordpress>)} spids: [8208] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'website blog and publishing platform'>)} spids: [8218] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<6>} spids: [8228] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [8236] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [8244] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['> name: aSOFTWARE_REQUIRES_MYSQL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [8252] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p395'>)} spids: [8260] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<56>} spids: [8275] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Image Gallery'>)} spids: [8280] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'website to host / browse your images'>)} spids: [8290] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<6>} spids: [8300] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [8308] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [8316] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=40#p480'>)} spids: [8324] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<57>} spids: [8339] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <BaiKal>)} spids: [8344] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'lightweight caldav + carddav server'>)} spids: [8354] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<6>} spids: [8364] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [8372] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [8380] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['> name: aSOFTWARE_REQUIRES_MYSQL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [8388] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=50#p1502'>)} spids: [8396] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<58>} spids: [8411] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <OpenBazaar>)} spids: [8416] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'decentralized peer to peer bitcoin market'>)} spids: [8426] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<6>} spids: [8436] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [8444] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [8452] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['> name: aSOFTWARE_REQUIRES_GIT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [8460] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1796#p1796'>)} spids: [8468] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<133>} spids: [8483] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <YaCy>)} spids: [8488] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'decentralized open source search engine'>)} spids: [8498] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<6>} spids: [8508] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [8516] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['> name: aSOFTWARE_REQUIRES_ORACLEJAVA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [8524] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6202#p6202'>)} spids: [8532] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<59>} spids: [8556] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'DietPi Cam'>)} spids: [8561] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface & controls for your rpi camera'>)} spids: [8571] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<7>} spids: [8581] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [8589] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [8597] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p48'>)} spids: [8605] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [8643] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<136>} spids: [8664] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <MotionEye>)} spids: [8669] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface & surveillance for your camera'>)} spids: [8679] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<7>} spids: [8689] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [8697] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6610#p6610'>)} spids: [8705] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['> name: aSOFTWARE_REQUIRES_FFMPEG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [8715] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [8751] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<60>} spids: [8781] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'WiFi Hotspot'>)} spids: [8786] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'turn your device into a wifi hotspot'>)} spids: [8796] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<8>} spids: [8806] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [8814] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1207#p1207'>)} spids: [8822] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 20>} ) ) op: assign_op.Equal rhs: {<0>} spids: [8837] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<61>} spids: [8854] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Tor Hotspot'>)} spids: [8859] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'optional: route hotspot traffic through tor'>)} spids: [8869] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<8>} spids: [8879] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [8887] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1529#p1529'>)} spids: [8895] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 20>} ) ) op: assign_op.Equal rhs: {<0>} spids: [8910] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<62>} spids: [8936] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <DietPi-Cloudshell>)} spids: [8941] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'system stats displayed on lcd/panel'>)} spids: [8951] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<9>} spids: [8961] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [8969] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p204'>)} spids: [8977] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<63>} spids: [8992] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <LinuxDash>)} spids: [8997] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface system stats'>)} spids: [9007] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<9>} spids: [9017] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [9025] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [9033] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p108'>)} spids: [9041] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<64>} spids: [9056] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <PhpSysInfo>)} spids: [9061] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface system stats'>)} spids: [9071] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<9>} spids: [9081] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [9089] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [9097] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p451'>)} spids: [9105] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<65>} spids: [9120] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <NetData>)} spids: [9125] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'real-time performance monitoring'>)} spids: [9135] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<9>} spids: [9145] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [9153] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_NODEJS['> name: aSOFTWARE_REQUIRES_NODEJS index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [9161] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=60#p1611'>)} spids: [9169] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<66>} spids: [9184] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <RPi-Monitor>)} spids: [9189] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface system stats'>)} spids: [9199] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<9>} spids: [9209] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [9217] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=50#p1503'>)} spids: [9225] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [9263] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<106>} spids: [9284] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Raspcontrol>)} spids: [9289] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface system stats'>)} spids: [9299] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<9>} spids: [9309] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [9317] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p89'>)} spids: [9325] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [9363] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<115>} spids: [9384] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Webmin>)} spids: [9389] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface system management'>)} spids: [9399] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<9>} spids: [9409] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [9417] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=80#p3047'>)} spids: [9425] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_RSYSLOG['> name: aSOFTWARE_REQUIRES_RSYSLOG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [9435] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<126>} spids: [9448] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <OpenMediaVault>)} spids: [9453] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'nas solution with web interface'>)} spids: [9463] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<9>} spids: [9473] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [9481] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=4859#p4859'>)} spids: [9492] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [9502] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_USERINPUT['> name: aSOFTWARE_REQUIRES_USERINPUT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [9510] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<162>} spids: [9523] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Docker>)} spids: [9528] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Build, ship, and run distributed applications'>)} spids: [9538] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<9>} spids: [9548] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [9556] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 3>} ) ) op: assign_op.Equal rhs: {<0>} spids: [9569] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<67>} spids: [9590] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <NoIp>)} spids: [9595] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'url website address for your device'>)} spids: [9605] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<10>} spids: [9615] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [9623] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p58'>)} spids: [9631] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<68>} spids: [9646] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Remot3.it>)} spids: [9651] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'(Weaved) access your device over the internet'>)} spids: [9661] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<10>} spids: [9671] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [9679] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p188'>)} spids: [9687] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_ARCH)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [9725] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 1>} ) ) op: assign_op.Equal rhs: {<1>} spids: [9746] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 2>} ) ) op: assign_op.Equal rhs: {<1>} spids: [9758] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<138>} spids: [9775] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <VirtualHere>)} spids: [9780] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'server: share USB devices over the network'>)} spids: [9790] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<10>} spids: [9800] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [9808] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6709#p6709'>)} spids: [9816] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<69>} spids: [9840] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <RPi.GPIO>)} spids: [9845] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'gpio interface library for rpi (python)'>)} spids: [9855] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<11>} spids: [9865] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [9873] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=40#p1065'>)} spids: [9881] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [9919] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<70>} spids: [9940] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <WiringPi>)} spids: [9945] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'gpio interface library (c)'>)} spids: [9955] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<11>} spids: [9965] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [9973] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [9981] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1066#p1066'>)} spids: [9989] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 20>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [10027] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 51>} ) ) op: assign_op.Equal rhs: {<1>} spids: [10048] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<71>} spids: [10065] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <WebIOPi>)} spids: [10070] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface to control rpi.gpio'>)} spids: [10080] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<11>} spids: [10090] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [10098] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [10106] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p189'>)} spids: [10114] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 3>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [10152] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<72>} spids: [10173] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <I2c>)} spids: [10178] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'enables support for i2c based hardware'>)} spids: [10188] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<11>} spids: [10198] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [10206] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [10242] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<122>} spids: [10263] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Node-Red>)} spids: [10268] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'tool for wiring devices, APIs and online services'>)} spids: [10278] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<11>} spids: [10288] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [10296] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_NODEJS['> name: aSOFTWARE_REQUIRES_NODEJS index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [10304] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [10312] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=80#p4292'>)} spids: [10320] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<123>} spids: [10335] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Mosquitto '>)} spids: [10340] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'MQTT messaging broker'>)} spids: [10350] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<11>} spids: [10360] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [10368] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=90#p4293'>)} spids: [10376] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<131>} spids: [10391] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Blynk Server'>)} spids: [10396] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'msg controller for blynk mobile app and sbcs'>)} spids: [10406] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<11>} spids: [10416] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [10424] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=5901#p5901'>)} spids: [10432] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['> name: aSOFTWARE_REQUIRES_ORACLEJAVA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [10442] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_NODEJS['> name: aSOFTWARE_REQUIRES_NODEJS index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [10450] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [10458] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<166>} spids: [10471] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <PI-SPC>)} spids: [10476] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'audiophonics pi-spc power control module'>)} spids: [10486] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<11>} spids: [10496] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [10504] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=9359#p9359'>)} spids: [10512] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [10550] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<169>} spids: [10571] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Google AIY'>)} spids: [10576] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'voice kit'>)} spids: [10586] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<11>} spids: [10596] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [10604] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['> name: aSOFTWARE_REQUIRES_ALSA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [10612] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['> name: aSOFTWARE_REQUIRES_GIT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [10620] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=9486#p9486'>)} spids: [10628] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [10666] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<73>} spids: [10691] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Fail2Ban>)} spids: [10696] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'prevents brute-force attacks with ip ban'>)} spids: [10706] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<12>} spids: [10716] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [10724] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_RSYSLOG['> name: aSOFTWARE_REQUIRES_RSYSLOG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [10732] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p452'>)} spids: [10740] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<75>} spids: [10763] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <LASP>)} spids: [10768] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'apache2 | sqlite | php'>)} spids: [10778] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [10788] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [10796] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p52'>)} spids: [10804] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<76>} spids: [10819] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <LAAP>)} spids: [10824] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'apache2 | mariadb | php'>)} spids: [10834] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [10844] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [10852] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p52'>)} spids: [10860] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<78>} spids: [10875] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <LESP>)} spids: [10880] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'nginx | sqlite | php'>)} spids: [10890] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [10900] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [10908] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p5'>)} spids: [10916] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<79>} spids: [10931] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <LEAP>)} spids: [10936] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'nginx | mariadb | php'>)} spids: [10946] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [10956] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [10964] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p5'>)} spids: [10972] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<81>} spids: [10987] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <LLSP>)} spids: [10992] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'lighttpd | sqlite | php'>)} spids: [11002] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [11012] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [11020] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)} spids: [11028] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<82>} spids: [11043] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <LLAP>)} spids: [11048] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'lighttpd | mariadb | php'>)} spids: [11058] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [11068] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [11076] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)} spids: [11084] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<83>} spids: [11099] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Apache2>)} spids: [11104] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <webserver>)} spids: [11114] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [11124] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [11132] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p52'>)} spids: [11140] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<84>} spids: [11155] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Lighttpd>)} spids: [11160] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <webserver>)} spids: [11170] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [11180] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [11188] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)} spids: [11196] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<85>} spids: [11211] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Nginx>)} spids: [11216] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <webserver>)} spids: [11226] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [11236] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [11244] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p5'>)} spids: [11252] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<87>} spids: [11267] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <SQlite>)} spids: [11272] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <database>)} spids: [11282] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [11292] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [11300] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)} spids: [11308] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<88>} spids: [11323] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <MariaDB>)} spids: [11328] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <database>)} spids: [11338] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [11348] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [11356] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)} spids: [11364] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<89>} spids: [11379] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <PHP>)} spids: [11384] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <webserver>)} spids: [11394] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [11404] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [11412] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)} spids: [11420] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<90>} spids: [11435] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <phpMyAdmin>)} spids: [11440] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'optional mysql admin tools'>)} spids: [11450] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [11460] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [11468] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [11476] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['> name: aSOFTWARE_REQUIRES_MYSQL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [11484] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p54'>)} spids: [11492] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<91>} spids: [11507] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Redis>)} spids: [11512] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'optional non-sql database store'>)} spids: [11522] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [11532] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [11540] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<92>} spids: [11553] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <CertBot>)} spids: [11558] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'free, ssl cert install allowing https://'>)} spids: [11568] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [11578] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [11586] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1061#p1062'>)} spids: [11594] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<125>} spids: [11609] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Tomcat8>)} spids: [11614] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'apache tomcat server'>)} spids: [11624] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<13>} spids: [11634] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [11642] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=4316#p4316'>)} spids: [11650] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['> name: aSOFTWARE_REQUIRES_ORACLEJAVA index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [11660] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<93>} spids: [11677] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Pi-hole>)} spids: [11682] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'block adverts for any device on your network'>)} spids: [11692] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<14>} spids: [11702] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [11710] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['> name: aSOFTWARE_REQUIRES_GIT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [11718] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [11726] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p174'>)} spids: [11734] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_USERINPUT['> name: aSOFTWARE_REQUIRES_USERINPUT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [11744] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<94>} spids: [11766] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <ProFTP>)} spids: [11771] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'lightweight ftp server'>)} spids: [11781] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<15>} spids: [11791] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [11799] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p55'>)} spids: [11807] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<95>} spids: [11822] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <vsFTPD>)} spids: [11827] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'alternative ftp server'>)} spids: [11837] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<15>} spids: [11847] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [11855] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'?f=8&t=5&p=2820#p2820'>)} spids: [11863] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<96>} spids: [11878] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Samba>)} spids: [11883] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'feature-rich file server'>)} spids: [11893] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<15>} spids: [11903] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [11911] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p56'>)} spids: [11919] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<109>} spids: [11934] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <NFS>)} spids: [11939] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'network file system server'>)} spids: [11949] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<15>} spids: [11959] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [11967] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p56'>)} spids: [11975] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<97>} spids: [11999] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <OpenVPN>)} spids: [12004] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'vpn server'>)} spids: [12014] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<16>} spids: [12024] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [12032] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_RSYSLOG['> name: aSOFTWARE_REQUIRES_RSYSLOG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12040] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=613#p613'>)} spids: [12048] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<117>} spids: [12063] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <PiVPN>)} spids: [12068] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'openvpn installer & management tool'>)} spids: [12078] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<16>} spids: [12088] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [12096] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_RSYSLOG['> name: aSOFTWARE_REQUIRES_RSYSLOG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12104] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=3469#p3469'>)} spids: [12112] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_USERINPUT['> name: aSOFTWARE_REQUIRES_USERINPUT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12122] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<98>} spids: [12145] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <HaProxy>)} spids: [12150] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'high performance tcp/http load balancer'>)} spids: [12160] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<17>} spids: [12170] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [12178] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12186] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p221'>)} spids: [12194] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<99>} spids: [12213] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <EmonPi>)} spids: [12218] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'energy usage addon board with web interface'>)} spids: [12228] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<18>} spids: [12238] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [12246] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1529#p1525'>)} spids: [12254] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [12292] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<100>} spids: [12313] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Grasshopper>)} spids: [12318] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web app to control bticino myhome'>)} spids: [12328] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<18>} spids: [12338] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [12346] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['> name: aSOFTWARE_REQUIRES_WEBSERVER index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12354] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_SQLITE['> name: aSOFTWARE_REQUIRES_SQLITE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12362] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p70'>)} spids: [12370] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [12408] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<157>} spids: [12429] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Home Assistant'>)} spids: [12434] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'open-source home automation platform'>)} spids: [12444] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<18>} spids: [12454] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [12462] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['> name: aSOFTWARE_REQUIRES_GIT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12470] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12478] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_SQLITE['> name: aSOFTWARE_REQUIRES_SQLITE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12486] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['> name: aSOFTWARE_REQUIRES_FFMPEG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12494] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p70'>)} spids: [12502] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<137>} spids: [12526] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <CloudPrint>)} spids: [12531] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'print server for google cloud print'>)} spids: [12541] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<19>} spids: [12551] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [12559] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6630#p6630'>)} spids: [12567] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_RSYSLOG['> name: aSOFTWARE_REQUIRES_RSYSLOG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12577] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['> name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 3>} ) ) op: assign_op.Equal rhs: {<0>} spids: [12611] ) ] redirects: [] ) ] spids: [12593 12607] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<153>} spids: [12632] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <OctoPrint>)} spids: [12637] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'web interface for controlling 3d printers'>)} spids: [12647] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<19>} spids: [12657] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [12665] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7958#p7958'>)} spids: [12673] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['> name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12683] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['> name: aSOFTWARE_REQUIRES_GIT index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12691] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<0>} spids: [12724] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'OpenSSH Client'>)} spids: [12729] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ )} spids: [12739] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [12748] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12756] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<1>} spids: [12777] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Samba Client'>)} spids: [12782] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'access network shares'>)} spids: [12792] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12802] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12810] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <' dietpi-config > Network Options: NAS/Misc'>)} spids: [12818] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<2>} spids: [12832] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Curlftpfs>)} spids: [12837] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'ftp client with filesystem mount'>)} spids: [12847] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12857] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12865] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <' dietpi-config > Network Options: NAS/Misc'>)} spids: [12873] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<110>} spids: [12887] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'NFS Client'>)} spids: [12892] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'network file system client'>)} spids: [12902] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12912] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12920] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <' dietpi-config > Network Options: NAS/Misc'>)} spids: [12928] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<3>} spids: [12951] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <MC>)} spids: [12956] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'midnight commander, powerful file manager'>)} spids: [12966] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [12976] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [12984] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<4>} spids: [12996] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <ViFM>)} spids: [13001] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'file manager with vi bindings'>)} spids: [13011] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<2>} spids: [13021] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13029] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<5>} spids: [13050] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <ALSA>)} spids: [13055] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'linux sound system'>)} spids: [13065] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [13075] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13083] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<6>} spids: [13095] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Xserver>)} spids: [13100] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'linux display system'>)} spids: [13110] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [13120] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13128] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<151>} spids: [13141] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Nvidia>)} spids: [13146] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'display driver'>)} spids: [13156] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [13166] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13174] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['> name: aSOFTWARE_REQUIRES_XSERVERXORG index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13182] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [13214] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {<Id.Lit_Digits 21>} ) ) op: assign_op.Equal rhs: {<1>} spids: [13231] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<170>} spids: [13248] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <NTP>)} spids: [13253] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'date and time sync'>)} spids: [13263] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<3>} spids: [13273] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [13281] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<7>} spids: [13301] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <FFmpeg>)} spids: [13306] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'audio & visual libary'>)} spids: [13316] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [13326] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13334] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<8>} spids: [13346] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Java>)} spids: [13351] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'OpenJDK 8 + JRE libary'>)} spids: [13361] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [13371] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13379] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<9>} spids: [13391] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Node.js>)} spids: [13396] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'javascript runtime'>)} spids: [13406] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [13416] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13424] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<130>} spids: [13436] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Python Pip'>)} spids: [13441] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'python pip package installer'>)} spids: [13451] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [13461] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13469] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<140>} spids: [13481] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <SDL2>)} spids: [13486] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'simple direct layer 2'>)} spids: [13496] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [13506] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13514] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 10>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName i)} ) ) op: assign_op.Equal rhs: {<0>} spids: [13550] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<150>} spids: [13571] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Mono>)} spids: [13576] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'runtime libraries and repo'>)} spids: [13586] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<4>} spids: [13596] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13604] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<10>} spids: [13622] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <iftop>)} spids: [13627] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'displays bandwidth usage information'>)} spids: [13637] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<5>} spids: [13647] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13655] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<11>} spids: [13667] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <IPTraf>)} spids: [13672] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'interactive colorful ip lan monitor'>)} spids: [13682] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<5>} spids: [13692] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13700] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<12>} spids: [13712] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Iperf>)} spids: [13717] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'internet protocol bandwidth measuring tool'>)} spids: [13727] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<5>} spids: [13737] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13745] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<13>} spids: [13757] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <MTR-Tiny>)} spids: [13762] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'full screen ncurses traceroute tool'>)} spids: [13772] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<5>} spids: [13782] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13790] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<14>} spids: [13802] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <nLoad>)} spids: [13807] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'realtime console network usage monitor'>)} spids: [13817] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<5>} spids: [13827] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13835] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<15>} spids: [13847] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <tcpdump>)} spids: [13852] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'command-line network traffic analyzer'>)} spids: [13862] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<5>} spids: [13872] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13880] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<152>} spids: [13892] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Avahi-Daemon>)} spids: [13897] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'hostname broadcast (mac, pc bonjour)'>)} spids: [13907] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<5>} spids: [13917] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13925] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<16>} spids: [13943] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Build-Essentials>)} spids: [13948] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'common packages for compile'>)} spids: [13958] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<6>} spids: [13968] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [13976] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<17>} spids: [13988] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Git Client'>)} spids: [13993] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'git clone etc'>)} spids: [14003] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<6>} spids: [14013] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [14021] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<18>} spids: [14042] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Emacs>)} spids: [14047] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'gnu emacs editor'>)} spids: [14057] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<7>} spids: [14067] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [14075] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<19>} spids: [14087] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Jed>)} spids: [14092] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'editor for programmers'>)} spids: [14102] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<7>} spids: [14112] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [14120] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<20>} spids: [14132] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Vim>)} spids: [14137] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'vi enhanced text editor'>)} spids: [14147] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<7>} spids: [14157] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [14165] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<21>} spids: [14177] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Vim-Tiny>)} spids: [14182] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'compact release of vim'>)} spids: [14192] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<7>} spids: [14202] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [14210] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<127>} spids: [14222] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <NeoVim>)} spids: [14227] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'heavily refactored vim fork'>)} spids: [14237] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<7>} spids: [14247] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [14255] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['> name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName index_current)} right: {($ Id.VSub_DollarName G_HW_MODEL)} ) ) op: assign_op.Equal rhs: {<0>} spids: [14286] ) ] redirects: [] ) ] spids: [14268 14282] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<22>} spids: [14316] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <QuiteRSS>)} spids: [14321] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'cross-platform, free rss reader'>)} spids: [14331] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<8>} spids: [14341] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [14349] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['> name: aSOFTWARE_REQUIRES_DESKTOP index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<1>} spids: [14357] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<101>} spids: [14383] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'Log Rotate'>)} spids: [14388] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'rotates log files'>)} spids: [14398] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [14408] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [14416] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p68'>)} spids: [14424] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<102>} spids: [14438] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Rsyslog>)} spids: [14443] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'system logging'>)} spids: [14453] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [14463] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [14471] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p68'>)} spids: [14479] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<103>} spids: [14493] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <DietPi-Ramlog>)} spids: [14498] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'minimal, optimized logging'>)} spids: [14508] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [14518] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [14526] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p68'>)} spids: [14534] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<104>} spids: [14561] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <Dropbear>)} spids: [14566] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'ssh server'>)} spids: [14576] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [14586] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [14594] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p62'>)} spids: [14602] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<105>} spids: [14616] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'OpenSSH Server'>)} spids: [14621] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ )} spids: [14631] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [14640] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [14648] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['> name: aSOFTWARE_ONLINEDOC_URL index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p63'>)} spids: [14656] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<74>} spids: [14683] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'free index'>)} spids: [14687] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ )} spids: [14697] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [14706] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [14714] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<77>} spids: [14722] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'free index'>)} spids: [14726] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ )} spids: [14736] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [14745] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [14753] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<80>} spids: [14761] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'free index'>)} spids: [14765] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ )} spids: [14775] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [14784] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [14792] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current) op: assign_op.Equal rhs: {<86>} spids: [14800] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['> name: aSOFTWARE_WHIP_NAME index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ <'free index'>)} spids: [14804] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['> name: aSOFTWARE_WHIP_DESC index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {(SQ )} spids: [14814] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['> name: aSOFTWARE_CATEGORY_INDEX index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<0>} spids: [14823] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['> name: aSOFTWARE_TYPE index: {($ Id.VSub_DollarName index_current)} ) op: assign_op.Equal rhs: {<-1>} spids: [14831] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TOTAL_SOFTWARE_INDEXS='> name: TOTAL_SOFTWARE_INDEXS ) op: assign_op.Equal rhs: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_TYPE> var_name: aSOFTWARE_TYPE prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } spids: [14848] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [14889] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 103>} ) op: assign_op.Equal rhs: {<2>} spids: [14906] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 104>} ) op: assign_op.Equal rhs: {<2>} spids: [14914] ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Software_Arrays_Destroy body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<unset>} {<aSOFTWARE_CATEGORIES_DIETPI>}) (C {<unset>} {<aSOFTWARE_CATEGORIES_LINUX>}) (C {<unset>} {<aSOFTWARE_CATEGORY_INDEX>}) (C {<unset>} {<aSOFTWARE_TYPE>}) (C {<unset>} {<aSOFTWARE_WHIP_NAME>}) (C {<unset>} {<aSOFTWARE_WHIP_DESC>}) (C {<unset>} {<aSOFTWARE_ONLINEDOC_URL>}) (C {<unset>} {<aSOFTWARE_INSTALL_STATE>}) (C {<unset>} {<aSOFTWARE_REQUIRES_USERINPUT>}) (C {<unset>} {<aSOFTWARE_REQUIRES_ALSA>}) (C {<unset>} {<aSOFTWARE_REQUIRES_XSERVERXORG>}) (C {<unset>} {<aSOFTWARE_REQUIRES_MYSQL>}) (C {<unset>} {<aSOFTWARE_REQUIRES_SQLITE>}) (C {<unset>} {<aSOFTWARE_REQUIRES_WEBSERVER>}) (C {<unset>} {<aSOFTWARE_REQUIRES_DESKTOP>}) (C {<unset>} {<aSOFTWARE_REQUIRES_GIT>}) (C {<unset>} {<aSOFTWARE_REQUIRES_BUILDESSENTIAL>}) (C {<unset>} {<aSOFTWARE_REQUIRES_RSYSLOG>}) (C {<unset>} {<aSOFTWARE_REQUIRES_FFMPEG>}) (C {<unset>} {<aSOFTWARE_REQUIRES_ORACLEJAVA>}) (C {<unset>} {<aSOFTWARE_REQUIRES_NODEJS>}) (C {<unset>} {<aSOFTWARE_AVAIL_G_HW_MODEL>}) (C {<unset>} {<aSOFTWARE_AVAIL_G_HW_ARCH>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Install_Disable_Requires_UserInput body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: {($ Id.VSub_DollarName G_USER_INPUTS)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_USERINPUT> var_name: aSOFTWARE_REQUIRES_USERINPUT bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<0>} spids: [15149] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <': Requires user input and can not be automated.'> ) } ) (C {<G_DIETPI-NOTIFY>} {<1>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <': Will not be installed. Please run \'dietpi-software\' to install.'> ) } ) ] spids: [15112 15141] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] spids: [15073 15085] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Install_Flag_Prereq_Software body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Checking for prerequisite software'>)}) (C {<local>} {<Id.Lit_VarLike 'index='> <0>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 166>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 70>} ) op: assign_op.Equal rhs: {<1>} spids: [15274] ) ] redirects: [] ) ] spids: [15251 15270] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 159>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 36>} ) op: assign_op.Equal rhs: {<1>} spids: [15314] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 37>} ) op: assign_op.Equal rhs: {<1>} spids: [15325] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 65>} ) op: assign_op.Equal rhs: {<1>} spids: [15352] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 96>} ) op: assign_op.Equal rhs: {<1>} spids: [15363] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 121>} ) op: assign_op.Equal rhs: {<1>} spids: [15375] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 124>} ) op: assign_op.Equal rhs: {<1>} spids: [15386] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 129>} ) op: assign_op.Equal rhs: {<1>} spids: [15401] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 163>} ) op: assign_op.Equal rhs: {<1>} spids: [15416] ) ] redirects: [] ) ] spids: [15291 15310] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 168>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 128>}) right: <Id.Right_DollarBrace '}'> ) <' will be installed'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 128>} ) op: assign_op.Equal rhs: {<1>} spids: [15487] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 78>}) right: <Id.Right_DollarBrace '}'> ) <' will be installed'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 78>} ) op: assign_op.Equal rhs: {<1>} spids: [15514] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 1>}) right: <Id.Right_DollarBrace '}'> ) <' will be installed'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 1>} ) op: assign_op.Equal rhs: {<1>} spids: [15541] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 96>}) right: <Id.Right_DollarBrace '}'> ) <' will be installed'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 96>} ) op: assign_op.Equal rhs: {<1>} spids: [15568] ) ] redirects: [] ) ] spids: [15436 15455] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 169>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 69>} ) op: assign_op.Equal rhs: {<1>} spids: [15611] ) ] redirects: [] ) ] spids: [15588 15607] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index='> name:index) op: assign_op.Equal rhs: {<152>} spids: [15635] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 31>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 37>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 128>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 138>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 163>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 168>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName index)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {($ Id.VSub_DollarName index)} ) op: assign_op.Equal rhs: {<1>} spids: [15755] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName index)} ) right: <Id.Right_DollarBrace '}'> ) <' will be installed'> ) } ) ] spids: [15732 15751] ) ] else_action: [] redirects: [] ) ] spids: [15639 15728] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 41>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 144>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 145>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 147>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 150>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 150>} ) op: assign_op.Equal rhs: {<1>} spids: [15884] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Mono runtime libary will be installed'>)}) ] spids: [15861 15880] ) ] else_action: [] redirects: [] ) ] spids: [15796 15857] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 108>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 140>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 140>} ) op: assign_op.Equal rhs: {<1>} spids: [15961] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'SDL2 will be installed'>)}) ] spids: [15938 15957] ) ] else_action: [] redirects: [] ) ] spids: [15915 15934] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 58>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 99>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 118>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 136>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 139>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 142>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 153>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 169>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 130>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 130>} ) op: assign_op.Equal rhs: {<1>} spids: [16136] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Python-Pip will be installed'>)}) ] spids: [16113 16132] ) ] else_action: [] redirects: [] ) ] spids: [15992 16109] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 32>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 119>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 129>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 128>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 128>} ) op: assign_op.Equal rhs: {<1>} spids: [16257] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'MPD will be installed'>)}) ] spids: [16230 16249] ) ] else_action: [] redirects: [] ) ] spids: [16179 16226] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 126>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 94>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 94>} ) op: assign_op.Equal rhs: {<1>} spids: [16338] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'ProFTP will be installed'>)}) ] spids: [16315 16334] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 96>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 96>} ) op: assign_op.Equal rhs: {<1>} spids: [16388] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Samba Server will be installed'>)}) ] spids: [16365 16384] ) ] else_action: [] redirects: [] ) ] spids: [16288 16307] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 47>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 114>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 91>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 91>} ) op: assign_op.Equal rhs: {<1>} spids: [16479] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Redis will be installed'>)}) ] spids: [16456 16475] ) ] else_action: [] redirects: [] ) ] spids: [16419 16452] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 82>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 84>} ) op: assign_op.Equal rhs: {<1>} spids: [16548] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 88>} ) op: assign_op.Equal rhs: {<1>} spids: [16556] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 89>} ) op: assign_op.Equal rhs: {<1>} spids: [16564] ) ] redirects: [] ) ] spids: [16526 16545] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 81>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 84>} ) op: assign_op.Equal rhs: {<1>} spids: [16602] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 87>} ) op: assign_op.Equal rhs: {<1>} spids: [16610] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 89>} ) op: assign_op.Equal rhs: {<1>} spids: [16618] ) ] redirects: [] ) ] spids: [16580 16599] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 79>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 85>} ) op: assign_op.Equal rhs: {<1>} spids: [16656] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 88>} ) op: assign_op.Equal rhs: {<1>} spids: [16664] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 89>} ) op: assign_op.Equal rhs: {<1>} spids: [16672] ) ] redirects: [] ) ] spids: [16634 16653] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 78>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 85>} ) op: assign_op.Equal rhs: {<1>} spids: [16710] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 87>} ) op: assign_op.Equal rhs: {<1>} spids: [16718] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 89>} ) op: assign_op.Equal rhs: {<1>} spids: [16726] ) ] redirects: [] ) ] spids: [16688 16707] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 76>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 83>} ) op: assign_op.Equal rhs: {<1>} spids: [16764] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 88>} ) op: assign_op.Equal rhs: {<1>} spids: [16772] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 89>} ) op: assign_op.Equal rhs: {<1>} spids: [16780] ) ] redirects: [] ) ] spids: [16742 16761] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 75>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 83>} ) op: assign_op.Equal rhs: {<1>} spids: [16818] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 87>} ) op: assign_op.Equal rhs: {<1>} spids: [16826] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 89>} ) op: assign_op.Equal rhs: {<1>} spids: [16834] ) ] redirects: [] ) ] spids: [16796 16815] ) ] else_action: [] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_WEBSERVER> var_name: aSOFTWARE_REQUIRES_WEBSERVER bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Unary op_id: Id.Arith_Bang child: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 83>} ) right: <Id.Right_DollarBrace '}'> ) } ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 84>} ) right: <Id.Right_DollarBrace '}'> ) } ) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 85>} ) right: <Id.Right_DollarBrace '}'> ) } ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { ($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE[' > name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 83>} ) op: assign_op.Equal rhs: {<1>} spids: [16985] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Apache2 will be installed'>)} ) ] spids: [16963 16977] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { ($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET ) } right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE[' > name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 85>} ) op: assign_op.Equal rhs: {<1>} spids: [17026] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Nginx will be installed'>)} ) ] spids: [17003 17018] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { ($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET ) } right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE[' > name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 84>} ) op: assign_op.Equal rhs: {<1>} spids: [17067] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Lighttpd will be installed'>)} ) ] spids: [17044 17059] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 89>} ) op: assign_op.Equal rhs: {<1>} spids: [17093] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'PHP will be installed'>)}) ] spids: [16914 16955] ) ] else_action: [] redirects: [] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [16873 16902] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_MYSQL> var_name: aSOFTWARE_REQUIRES_MYSQL bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 88>} ) right: <Id.Right_DollarBrace '}'> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 88>} ) op: assign_op.Equal rhs: {<1>} spids: [17216] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'MariaDB will be installed'>)}) ] spids: [17191 17208] ) ] else_action: [] redirects: [] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [17154 17183] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_SQLITE> var_name: aSOFTWARE_REQUIRES_SQLITE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 87>} ) op: assign_op.Equal rhs: {<1>} spids: [17315] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'SQlite will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [17278 17307] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 83>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 87>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 75>} ) op: assign_op.Equal rhs: {<1>} spids: [17408] ) ] redirects: [] ) ] spids: [17381 17400] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 88>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 76>} ) op: assign_op.Equal rhs: {<1>} spids: [17452] ) ] redirects: [] ) ] spids: [17425 17444] ) ] else_action: [] redirects: [] ) ] spids: [17354 17373] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 85>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 87>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 78>} ) op: assign_op.Equal rhs: {<1>} spids: [17524] ) ] redirects: [] ) ] spids: [17497 17516] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 88>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 79>} ) op: assign_op.Equal rhs: {<1>} spids: [17568] ) ] redirects: [] ) ] spids: [17541 17560] ) ] else_action: [] redirects: [] ) ] spids: [17470 17489] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 84>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 87>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 81>} ) op: assign_op.Equal rhs: {<1>} spids: [17639] ) ] redirects: [] ) ] spids: [17612 17631] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 88>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 82>} ) op: assign_op.Equal rhs: {<1>} spids: [17683] ) ] redirects: [] ) ] spids: [17656 17675] ) ] else_action: [] redirects: [] ) ] spids: [17585 17604] ) ] else_action: [] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_DESKTOP> var_name: aSOFTWARE_REQUIRES_DESKTOP bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Unary op_id: Id.Arith_Bang child: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 23>} ) right: <Id.Right_DollarBrace '}'> ) } ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 24>} ) right: <Id.Right_DollarBrace '}'> ) } ) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 25>} ) right: <Id.Right_DollarBrace '}'> ) } ) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 26>} ) right: <Id.Right_DollarBrace '}'> ) } ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 23>} ) op: assign_op.Equal rhs: {<1>} spids: [17822] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'LXDE desktop will be installed'>)} ) ] spids: [17765 17818] ) ] else_action: [] redirects: [] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [17728 17757] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_GIT> var_name: aSOFTWARE_REQUIRES_GIT bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 17>} ) op: assign_op.Equal rhs: {<1>} spids: [17920] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Git will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [17883 17912] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_BUILDESSENTIAL> var_name: aSOFTWARE_REQUIRES_BUILDESSENTIAL bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 16>} ) op: assign_op.Equal rhs: {<1>} spids: [18015] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Build-Essential will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [17978 18007] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_RSYSLOG> var_name: aSOFTWARE_REQUIRES_RSYSLOG bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 102>} ) op: assign_op.Equal rhs: {<1>} spids: [18110] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Rsyslog will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [18073 18102] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_FFMPEG> var_name: aSOFTWARE_REQUIRES_FFMPEG bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 7>} ) op: assign_op.Equal rhs: {<1>} spids: [18205] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'FFmpeg will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [18168 18197] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_ORACLEJAVA> var_name: aSOFTWARE_REQUIRES_ORACLEJAVA bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 8>} ) op: assign_op.Equal rhs: {<1>} spids: [18300] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'OpenJDK 8 will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [18263 18292] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_NODEJS> var_name: aSOFTWARE_REQUIRES_NODEJS bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 9>} ) op: assign_op.Equal rhs: {<1>} spids: [18395] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'NodeJS will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [18358 18387] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_ALSA> var_name: aSOFTWARE_REQUIRES_ALSA bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 5>} ) op: assign_op.Equal rhs: {<1>} spids: [18490] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Alsa will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [18453 18482] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_XSERVERXORG> var_name: aSOFTWARE_REQUIRES_XSERVERXORG bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 6>} ) op: assign_op.Equal rhs: {<1>} spids: [18585] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Xserver will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [18548 18577] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Create_Desktop_Shared_Items body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/.gtk-bookmarks'>} {<-O>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.gtk-bookmarks'>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop'>}) (C {<ln>} {<-sf>} {<'/usr/share/applications/htop.desktop'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/htop.desktop'>} ) (C {<mkdir>} {<-p>} {<'/usr/share/applications'>}) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-software.desktop'> } {<-O>} {<'/usr/share/applications/dietpi-software.desktop'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-update.desktop'>} {<-O>} {<'/usr/share/applications/dietpi-update.desktop'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-config.desktop'>} {<-O>} {<'/usr/share/applications/dietpi-config.desktop'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-backup.desktop'>} {<-O>} {<'/usr/share/applications/dietpi-backup.desktop'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-sync.desktop'>} {<-O>} {<'/usr/share/applications/dietpi-sync.desktop'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-bugreport.desktop'> } {<-O>} {<'/usr/share/applications/dietpi-bugreport.desktop'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-process_tool.desktop'> } {<-O>} {<'/usr/share/applications/dietpi-process_tool.desktop'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-cleaner.desktop'> } {<-O>} {<'/usr/share/applications/dietpi-cleaner.desktop'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-cron.desktop'>} {<-O>} {<'/usr/share/applications/dietpi-cron.desktop'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-launcher.desktop'> } {<-O>} {<'/usr/share/applications/dietpi-launcher.desktop'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-justboom.desktop'> } {<-O>} {<'/usr/share/applications/dietpi-justboom.desktop'>} ) (C {<ln>} {<-sf>} {<'/usr/share/applications/dietpi-software.desktop'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/dietpi-software.desktop'>} ) (C {<ln>} {<-sf>} {<'/usr/share/applications/dietpi-config.desktop'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/dietpi-config.desktop'>} ) (C {<ln>} {<-sf>} {<'/usr/share/applications/dietpi-launcher.desktop'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/dietpi-launcher.desktop'>} ) (C {<mkdir>} {<-p>} {<'/var/lib/dietpi/dietpi-software/installed/desktop_icons'>}) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-icon.png'>} {<-O>} {<'/var/lib/dietpi/dietpi-software/installed/desktop_icons/dietpi-icon.png'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/grey_16x16.png'>} {<-O>} {<'/var/lib/dietpi/dietpi-software/installed/desktop_icons/grey_16x16.png'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/kodi-icon.png'>} {<-O>} {<'/var/lib/dietpi/dietpi-software/installed/desktop_icons/kodi-icon.png'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/justboom.png'>} {<-O>} {<'/var/lib/dietpi/dietpi-software/installed/desktop_icons/justboom.png'>} ) (C {<sed>} {<-i>} { (SQ < 's#^Icon=/etc/dietpi/desktop_icons#Icon=/var/lib/dietpi/dietpi-software/installed/desktop_icons#g' > ) } {<'/usr/share/applications/'> <Id.Lit_Star '*'> <.desktop>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/share/applications/'> <Id.Lit_Star '*'>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/'> <Id.Lit_Star '*'>} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Create_UserContent_Folders body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'> (DQ ($ Id.VSub_DollarName FOLDER_MUSIC)) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'> (DQ ($ Id.VSub_DollarName FOLDER_PICTURES)) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'> (DQ ($ Id.VSub_DollarName FOLDER_VIDEO)) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'> (DQ ($ Id.VSub_DollarName FOLDER_DOWNLOADS)) } ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Download_Test_Media body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} { (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> ($ Id.VSub_DollarName FOLDER_MUSIC) ) <'/fourdee_tech.ogg'> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/audio/fourdee_tech.ogg'>} {<-O>} { (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> ($ Id.VSub_DollarName FOLDER_MUSIC) ) <'/fourdee_tech.ogg'> } ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//network.absoluteradio.co.uk/core/audio/ogg/live.pls'> <Id.Lit_QMark '?'> <Id.Lit_VarLike 'service='> <vrbb> } {<-O>} { (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> ($ Id.VSub_DollarName FOLDER_MUSIC) ) <'/Absolute-Radio.pls'> } ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//network.absoluteradio.co.uk/core/audio/ogg/live.pls'> <Id.Lit_QMark '?'> <Id.Lit_VarLike 'service='> <a8bb> } {<-O>} { (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> ($ Id.VSub_DollarName FOLDER_MUSIC) ) <'/Absolute-Radio-80s.pls'> } ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//network.absoluteradio.co.uk/core/audio/ogg/live.pls'> <Id.Lit_QMark '?'> <Id.Lit_VarLike 'service='> <a9bb> } {<-O>} { (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> ($ Id.VSub_DollarName FOLDER_MUSIC) ) <'/Absolute-Radio-90s.pls'> } ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//network.absoluteradio.co.uk/core/audio/ogg/live.pls'> <Id.Lit_QMark '?'> <Id.Lit_VarLike 'service='> <a0bb> } {<-O>} { (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> ($ Id.VSub_DollarName FOLDER_MUSIC) ) <'/Absolute-Radio-00s.pls'> } ) ] spids: [19022 19040] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Optimize_BitTorrent body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<local>} {<Id.Lit_VarLike 'output='> <0>}) (C {<local>} {<Id.Lit_VarLike 'gigabit_device='> <1>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_LessEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 3>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 30>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 32>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 40>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 60>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 70>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'gigabit_device='> name: gigabit_device ) op: assign_op.Equal rhs: {<0>} spids: [19244] ) ] redirects: [] ) ] spids: [19186 19240] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Number 1)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Slash left: {($ Id.VSub_DollarName RAM_TOTAL)} right: {<Id.Lit_Digits 10>} ) ) } spids: [19275] ) ] redirects: [] ) ] spids: [19257 19271] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Number 1)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {<2>} spids: [19311] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 20>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 21>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {<3>} spids: [19346] ) ] redirects: [] ) ] spids: [19320 19342] ) ] else_action: [] redirects: [] ) ] spids: [19293 19307] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Number 1)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {<20>} spids: [19377] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 20>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 21>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {<40>} spids: [19412] ) ] redirects: [] ) ] spids: [19386 19408] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: {($ Id.VSub_DollarName gigabit_device)} redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {<30>} spids: [19435] ) ] redirects: [] ) ] spids: [19421 19431] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {<15>} spids: [19466] ) ] redirects: [] ) ] spids: [19448 19462] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {<13>} spids: [19493] ) ] redirects: [] ) ] spids: [19475 19489] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_LessEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {<7>} spids: [19520] ) ] redirects: [] ) ] spids: [19502 19516] ) ] else_action: [] redirects: [] ) ] spids: [19359 19373] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Number 1)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {<3>} spids: [19551] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 20>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 21>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {<5>} spids: [19586] ) ] redirects: [] ) ] spids: [19560 19582] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: {($ Id.VSub_DollarName gigabit_device)} redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {<4>} spids: [19609] ) ] redirects: [] ) ] spids: [19595 19605] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_LessEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {<2>} spids: [19636] ) ] redirects: [] ) ] spids: [19618 19632] ) ] else_action: [] redirects: [] ) ] spids: [19533 19547] ) ] else_action: [] redirects: [] ) (C {<echo>} {($ Id.VSub_DollarName output)}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Install_Dietpi_Software body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<23>} spids: [19843] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/conf/desktop'>)} spids: [19878] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<lxde>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>} {<--no-install-recommends>} ) ] spids: [19847 19866] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<24>} spids: [19921] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/conf/desktop'>)} spids: [19956] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<mate-desktop-environment-extras>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>} {<--no-install-recommends>} ) ] spids: [19925 19944] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<26>} spids: [19995] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/conf/desktop'>)} spids: [20030] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<x-window-system-core>} {<wmaker>} {<gnustep>} {<gnustep-devel>} {<gnustep-games>} {<libc-dbg>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>} {<--no-install-recommends>} ) ] spids: [19999 20018] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<25>} spids: [20079] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/conf/desktop'>)} spids: [20114] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<xfce4>} {<xfce4-terminal>} {<gnome-icon-theme>} {<tango-icon-theme>} {<iceweasel>} {<p7zip-full>} {<--no-install-recommends>} ) ] spids: [20083 20102] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<29>} spids: [20155] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<xrdp>})] spids: [20159 20178] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<30>} spids: [20200] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_DESCRIPTION='> name: INSTALL_DESCRIPTION ) op: assign_op.Equal rhs: {(DQ <'NoMachine (Secure RDP Server & Client)'>)} spids: [20230] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/nomachine_5.1.44_1_amd64.deb' > ) } spids: [20259] ) ] redirects: [] ) ] spids: [20241 20255] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/nomachine_5.1.44_3_armv6hf.deb' > ) } spids: [20288] ) ] redirects: [] ) ] spids: [20270 20284] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/nomachine_5.1.44_armhf.deb' > ) } spids: [20317] ) ] redirects: [] ) ] spids: [20299 20313] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>}) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [20204 20223] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<44>} spids: [20372] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<transmission-daemon>})] spids: [20376 20395] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<94>} spids: [20416] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.Pipeline children: [ (C {<echo>} {<-e>} { (DQ <'proftpd-basic shared/proftpd/inetd_or_standalone select standalone'> ) } ) (C {<debconf-set-selections>}) ] negated: F stderr_indices: [] ) (C {<G_AGI>} {<proftpd-basic>}) ] spids: [20420 20439] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<96>} spids: [20474] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<samba>} {<samba-common-bin>} {<--no-install-recommends>}) ] spids: [20478 20497] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<95>} spids: [20522] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<vsftpd>} {<--no-install-recommends>}) ] spids: [20526 20545] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<109>} spids: [20569] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<nfs-kernel-server>} {<nfs-common>} {<ucf>} {<rpcbind>}) ] spids: [20573 20592] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<83>} spids: [20620] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<apache2>})] spids: [20624 20643] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<85>} spids: [20664] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<nginx>} {<xml-core>} {<--no-install-recommends>}) ] spids: [20668 20687] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<84>} spids: [20712] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<lighttpd>})] spids: [20716 20735] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<88>} spids: [20756] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<readlink>} {<'/var/lib/mysql'>}) right: <Id.Eof_RParen _> ) ) } {<Id.Lit_RBracket ']'>} ) (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<readlink>} {<'/var/lib/mysql'>}) right: <Id.Eof_RParen _> ) <'/mysql'> ) } {<Id.Lit_RBracket ']'>} ) (C {<rm>} {<'/var/lib/mysql'>}) ] ) (C {<G_AGI>} {<mariadb-server>}) ] spids: [20760 20779] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<87>} spids: [20847] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<sqlite3>})] spids: [20851 20870] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<91>} spids: [20891] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<redis-server>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 89>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-redis>}) ] spids: [20930 20949] ) ] else_action: [] redirects: [] ) ] spids: [20895 20914] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<89>} spids: [20974] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 83>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME))} {<libapache2-mod-> (DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME))} ) ] spids: [21009 21028] ) ] else_action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-fpm>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-cgi>} ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) (C {<G_AGI>} {<php5-xsl>}) ] ) ] redirects: [] ) (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-curl>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-gd>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-apcu>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-mcrypt>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-mbstring>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-zip>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-xml>} ) ] spids: [21121 21135] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 86>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-mysql>}) ] spids: [21166 21185] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 88>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-mysqlnd>} ) ] spids: [21225 21239] ) ] else_action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-mysql>} ) ] redirects: [] ) ] spids: [21202 21221] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 87>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-sqlite> <Id.Lit_Star '*'> } ) ] spids: [21279 21298] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 91>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-redis>}) ] spids: [21323 21342] ) ] else_action: [] redirects: [] ) ] spids: [20978 20997] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<90>} spids: [21367] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_RUN_CMD>} {<systemctl>} {<start>} {<mysql>}) (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir op: <Id.Redir_TLess '<<<'> loc: (redir_loc.Fd fd:0) arg: {(DQ <'phpmyadmin phpmyadmin/dbconfig-install boolean true'>)} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir op: <Id.Redir_TLess '<<<'> loc: (redir_loc.Fd fd:0) arg: { (DQ <'phpmyadmin phpmyadmin/mysql/app-pass password '> ($ Id.VSub_DollarName GLOBAL_PW) ) } ) ] more_env: [] do_fork: T ) (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir op: <Id.Redir_TLess '<<<'> loc: (redir_loc.Fd fd:0) arg: { (DQ <'phpmyadmin phpmyadmin/app-password-confirm password '> ($ Id.VSub_DollarName GLOBAL_PW) ) } ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 83>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir op: <Id.Redir_TLess '<<<'> loc: (redir_loc.Fd fd:0) arg: { (DQ < 'phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2' > ) } ) ] more_env: [] do_fork: T ) ] spids: [21446 21465] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 84>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir op: <Id.Redir_TLess '<<<'> loc: (redir_loc.Fd fd:0) arg: { (DQ < 'phpmyadmin phpmyadmin/reconfigure-webserver multiselect lighttpd' > ) } ) ] more_env: [] do_fork: T ) ] spids: [21479 21498] ) ] else_action: [ (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir op: <Id.Redir_TLess '<<<'> loc: (redir_loc.Fd fd:0) arg: { (DQ <'phpmyadmin phpmyadmin/reconfigure-webserver multiselect none'> ) } ) ] more_env: [] do_fork: T ) ] redirects: [] ) (C {<G_AGI>} {<phpmyadmin>}) ] spids: [21371 21390] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<128>} spids: [21544] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/mpd_0.19.21_arm64.deb' > ) } spids: [21619] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<libupnp6>}) (C {<G_AGI>} {<libmpdclient2>} {<libao-common>} {<libao4>} {<libasound2>} {<libasound2-data>} {<libasyncns0>} {<libaudiofile1>} {<libavahi-client3>} {<libavahi-common-data>} {<libavahi-common3>} {<libavcodec56>} {<libavformat56>} {<libavresample2>} {<libavutil54>} {<libbinio1ldbl>} {<libcaca0>} {<libcdio-cdda1>} {<libcdio-paranoia1>} {<libcdio13>} {<libcups2>} {<libcurl3-gnutls>} {<libdirectfb-1.2-9>} {<libdnet>} {<libfaad2>} {<libflac8>} {<libfluidsynth1>} {<libgme0>} {<libgomp1>} {<libgsm1>} {<libice6>} {<libid3tag0>} {<libiso9660-8>} {<libjack-jackd2-0>} {<libjson-c2>} {<libldb1>} {<libmad0>} {<libmikmod3>} {<libmms0>} {<libmodplug1>} {<libmp3lame0>} {<libmpcdec6>} {<libmpg123-0>} {<libnfs4>} {<libntdb1>} {<libogg0>} {<libopenal-data>} {<libopenal1>} {<libopenjpeg5>} {<libopus0>} {<liborc-0.4-0>} {<libpulse0>} {<libresid-builder0c2a>} {<libroar2>} {<libsamplerate0>} {<libschroedinger-1.0-0>} {<libsdl1.2debian>} {<libshout3>} {<libsidplay2>} {<libsidutils0>} {<libslp1>} {<libsm6>} {<libsmbclient>} {<libsndfile1>} {<libsoxr0>} {<libspeex1>} {<libspeexdsp1>} {<libsqlite3-0>} {<libtalloc2>} {<libtdb1>} {<libtevent0>} {<libtheora0>} {<libupnp6>} {<libva1>} {<libvorbis0a>} {<libvorbisenc2>} {<libvorbisfile3>} {<libvpx1>} {<libwavpack1>} {<libwbclient0>} {<libwildmidi-config>} {<libwildmidi1>} {<libx11-6>} {<libx11-data>} {<libx11-xcb1>} {<libx264-142>} {<libxau6>} {<libxcb1>} {<libxdmcp6>} {<libxext6>} {<libxi6>} {<libxtst6>} {<libxvidcore4>} {<libyajl2>} {<libzzip-0-13>} {<mime-support>} {<python>} {<python-talloc>} {<python2.7>} {<samba-libs>} {<x11-common>} {<file>} {<--no-install-recommends>} ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [21601 21615] ) ] else_action: [(C {<G_AGI>} {<mpd>})] redirects: [] ) ] spids: [21579 21593] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/mpd_0.20.11-1_'>)} spids: [21896] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <armv6>)} spids: [21925] ) ] redirects: [] ) ] spids: [21907 21921] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <armv7>)} spids: [21954] ) ] redirects: [] ) ] spids: [21936 21950] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <armv8>)} spids: [21983] ) ] redirects: [] ) ] spids: [21965 21979] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <amd64>)} spids: [22012] ) ] redirects: [] ) ] spids: [21994 22008] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <.deb>)} spids: [22023] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<libmpdclient2>} {<libflac8>} {<libyajl2>} {<libavahi-client3>} {<libvorbisfile3>} {<libwavpack1>} {<libmad0>} {<libmpg123-0>} {<libopus0>} {<libavformat57>} {<libfaad2>} {<libcdio-paranoia1>} {<libiso9660-8>} {<libshout3>} {<libid3tag0>} ) (command.Simple words: [{<apt-mark>} {<unhold>} {<mpd>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<apt-mark>} {<hold>} {<mpd>}) ] redirects: [] ) ] spids: [21548 21567] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<54>} spids: [22138] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://www.phpbb.com/files/release/phpBB-3.2.1.zip'>)} spids: [22169] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www'>}) (C {<rm>} {<package.zip>}) ] spids: [22142 22161] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<58>} spids: [22219] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/OpenBazaar/OpenBazaar-Server.git'>)} spids: [22250] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<libsodium-dev>} {<automake>} {<autoconf>} {<pkg-config>} {<libtool>} {<libssl-dev>} {<libffi-dev>} {<python-dev>} {<openssl>} {<libzmq3-dev>} ) (C {<pip>} {<install>} {<cryptography>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} {<https> <Id.Lit_Colon ':'> <'//github.com/zeromq/libzmq'>} ) (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} {<https> <Id.Lit_Colon ':'> <'//github.com/pyca/pynacl/'>} ) (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} ) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME)) <'/libzmq'>}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<'./autogen.sh'>}) (C {<'./configure'>}) (C {<make>} {<-j>} {($ Id.VSub_DollarName G_HW_CPU_CORES)}) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [(C {<make>} {<check>}) (C {<make>} {<install>}) (C {<ldconfig>})] ) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME)) <'/pynacl'>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<python>} {<setup.py>} {<build>}) (C {<python>} {<setup.py>} {<install>}) ] ) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) (C {<mkdir>} {<-p>} {<'/etc/openbazaar-server'>}) (C {<mv>} {(DQ ($ Id.VSub_DollarName HOME)) <'/OpenBazaar-Server/'> <Id.Lit_Star '*'>} {<'/etc/openbazaar-server/'>} ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/OpenBazaar-Server'>}) (C {<cd>} {<'/etc/openbazaar-server'>}) (C {<pip>} {<install>} {<-r>} {<requirements.txt>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/libzmq'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/pynacl'>}) ] spids: [22223 22242] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<133>} spids: [22528] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://yacy.net/release/yacy_v1.92_20161226_9000.tar.gz'>)} spids: [22559] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar.gz>} ) (C {<tar>} {<xvf>} {<package.tar.gz>} {<-C>} {<'/etc/'>}) (C {<rm>} {<package.tar.gz>}) ] spids: [22532 22551] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<47>} spids: [22609] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Installing needed PHP modules: https://doc.owncloud.org/server/latest/admin_manual/installation/source_installation.html#php-extensions' > ) } ) (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-intl>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-redis>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {<'/var/www/owncloud/occ'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'Existing ownCloud installation found, will NOT overwrite...'>)} ) ] spids: [22663 22674] ) ] else_action: [ (C {<local>} {<Id.Lit_VarLike 'datadir='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(SQ <'^[[:blank:]]*SOFTWARE_OWNCLOUD_DATADIR='>)} {<'/DietPi/dietpi.txt'>} ) (C {<sed>} {(SQ <'s/^.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'datadir='> name: datadir ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/owncloud_data'> ) } spids: [22730] ) ] redirects: [] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName datadir)) <'/dietpi-owncloud-installation-backup/occ'> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'ownCloud installation backup found, starting recovery...'>)} ) (C {<G_RUN_CMD>} {<cp>} {<-a>} {(DQ ($ Id.VSub_DollarName datadir)) <'/dietpi-owncloud-installation-backup/.'> } {<'/var/www/owncloud'>} ) ] spids: [22737 22751] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://download.owncloud.org/community/owncloud-latest.zip' > ) } spids: [22783] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_RUN_CMD>} {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>} ) (C {<G_RUN_CMD>} {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www'>}) (C {<rm>} {<package.zip>}) ] redirects: [] ) ] redirects: [] ) ] spids: [22613 22632] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<114>} spids: [22844] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Installing needed PHP modules: https://docs.nextcloud.com/server/12/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation' > ) } ) (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-intl>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-redis>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {<'/var/www/nextcloud/occ'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'Existing Nextcloud installation found, will NOT overwrite...'>)} ) ] spids: [22898 22909] ) ] else_action: [ (C {<local>} {<Id.Lit_VarLike 'datadir='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(SQ <'^[[:blank:]]*SOFTWARE_NEXTCLOUD_DATADIR='>)} {<'/DietPi/dietpi.txt'>} ) (C {<sed>} {(SQ <'s/^.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'datadir='> name: datadir ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/nextcloudcloud_data'> ) } spids: [22965] ) ] redirects: [] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName datadir)) <'/dietpi-nextcloud-installation-backup/occ'> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'Nextcloud installation backup found, starting recovery...'>)} ) (C {<G_RUN_CMD>} {<cp>} {<-a>} {(DQ ($ Id.VSub_DollarName datadir)) <'/dietpi-nextcloud-installation-backup/.'> } {<'/var/www/nextcloud'>} ) ] spids: [22972 22986] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://download.nextcloud.com/server/releases/latest.zip' > ) } spids: [23018] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_RUN_CMD>} {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>} ) (C {<G_RUN_CMD>} {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www'>}) (C {<rm>} {<package.zip>}) ] redirects: [] ) ] redirects: [] ) ] spids: [22848 22867] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<32>} spids: [23079] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/ympd_1.2.3.7z'>)} spids: [23110] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>}) (C {<7z>} {<x>} {<-y>} {<package.7z>}) (C {<local>} {<Id.Lit_VarLike 'binary_name='> (SQ <ympd_>)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'binary_name+='> name: binary_name ) op: assign_op.PlusEqual rhs: {(SQ <armv6>)} spids: [23175] ) ] redirects: [] ) ] spids: [23157 23171] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'binary_name+='> name: binary_name ) op: assign_op.PlusEqual rhs: {(SQ <armv7>)} spids: [23204] ) ] redirects: [] ) ] spids: [23186 23200] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'binary_name+='> name: binary_name ) op: assign_op.PlusEqual rhs: {(SQ <armv8>)} spids: [23233] ) ] redirects: [] ) ] spids: [23215 23229] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'binary_name+='> name: binary_name ) op: assign_op.PlusEqual rhs: {(SQ <amd64>)} spids: [23262] ) ] redirects: [] ) ] spids: [23244 23258] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'binary_name+='> name: binary_name ) op: assign_op.PlusEqual rhs: {(DQ <_> ($ Id.VSub_DollarName G_DISTRO_NAME))} spids: [23273] ) ] redirects: [] ) (C {<mv>} {(DQ ($ Id.VSub_DollarName binary_name))} {<'/usr/bin/ympd'>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/bin/ympd'>}) (C {<rm>} {<ympd_> <Id.Lit_Star '*'>}) (C {<rm>} {<package.7z>}) ] spids: [23083 23102] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<121>} spids: [23319] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://download.roonlabs.com/builds/RoonBridge_linuxx64.tar.bz2' > ) } spids: [23372] ) ] redirects: [] ) ] spids: [23354 23368] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://download.roonlabs.com/builds/RoonBridge_linuxarmv8.tar.bz2' > ) } spids: [23401] ) ] redirects: [] ) ] spids: [23383 23397] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://download.roonlabs.com/builds/RoonBridge_linuxarmv7hf.tar.bz2' > ) } spids: [23416] ) ] redirects: [] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar.bz2>} ) (C {<tar>} {<xvf>} {<package.tar.bz2>}) (C {<rm>} {<package.tar.bz2>}) (command.Simple words: [{<rm>} {<-R>} {<'/etc/roonbridge'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {<-p>} {<'/etc/roonbridge'>}) (C {<mv>} {<'RoonBridge/'> <Id.Lit_Star '*'>} {<'/etc/roonbridge'>}) (C {<rm>} {<-R>} {<RoonBridge>}) ] spids: [23323 23342] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<119>} spids: [23506] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/cava_0.4.2_armv6.deb' > ) } spids: [23559] ) ] redirects: [] ) ] spids: [23541 23555] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/cava_0.4.2_armv7.deb' > ) } spids: [23588] ) ] redirects: [] ) ] spids: [23570 23584] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/cava_0.4.2_arm64.deb' > ) } spids: [23617] ) ] redirects: [] ) ] spids: [23599 23613] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<libpulse0>} {<libfftw3-3>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>}) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/binaries/all/cava.psf'>} {<-O>} {(DQ ($ Id.VSub_DollarName HOME)) <'/cava.psf'>} ) ] spids: [23510 23529] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<118>} spids: [23695] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://apt.mopidy.com/mopidy.gpg'>)} spids: [23726] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (command.Pipeline children: [ (C {<wget>} {<-q>} {<-O>} {<->} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<apt-key>} {<add>} {<->}) ] negated: F stderr_indices: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<wget>} {<https> <Id.Lit_Colon ':'> <'//apt.mopidy.com/stretch.list'>} {<-O>} {<'/etc/apt/sources.list.d/mopidy.list'>} ) ] spids: [23765 23779] ) ] else_action: [ (C {<wget>} {<https> <Id.Lit_Colon ':'> <'//apt.mopidy.com/'> (DQ ($ Id.VSub_DollarName G_DISTRO_NAME)) <.list> } {<-O>} {<'/etc/apt/sources.list.d/mopidy.list'>} ) ] redirects: [] ) (C {<G_AGUP>}) (C {<G_AGI>} {<mopidy>}) (C {<pip>} {<install>} {<Mopidy-MusicBox-Webclient>} {<Mopidy-Local-Images>}) ] spids: [23699 23718] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<31>} spids: [23876] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 20>} ) redirects: [] ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {<kodi-odroid>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 11>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<pulseaudio>} {<--no-install-recommends>})] spids: [23952 23966] ) ] else_action: [] redirects: [] ) ] spids: [23911 23938] ) ] else_action: [(C {<G_AGI>} {<kodi>})] redirects: [] ) (C {<G_AGI>} {<libcurl3-gnutls>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<libnfs8>} {<libcec4>})] spids: [24014 24028] ) ] else_action: [(C {<G_AGI>} {<libnfs4>} {<libcec3v4>})] redirects: [] ) ] spids: [23880 23899] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<39>} spids: [24064] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<minidlna>})] spids: [24068 24087] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<67>} spids: [24108] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 20>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 21>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (DQ < 'http://dietpi.com/downloads/binaries/all/noip_x32_x64.zip' > ) } spids: [24169] ) ] redirects: [] ) ] spids: [24143 24165] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 12>} ) right: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 40>} ) right: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 50>} ) ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(DQ <'http://dietpi.com/downloads/binaries/all/noip_arm64.zip'>)} spids: [24221] ) ] redirects: [] ) ] spids: [24180 24217] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(DQ <'http://dietpi.com/downloads/binaries/all/noip_armhf.zip'>)} spids: [24236] ) ] redirects: [] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<dietpi-noip.zip>} ) (C {<unzip>} {<-o>} {<dietpi-noip.zip>}) (C {<rm>} {<dietpi-noip.zip>}) (C {<mv>} {<noip_binary>} {<'/usr/local/bin/noip2'>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/bin/noip2'>}) ] spids: [24112 24131] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<108>} spids: [24305] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/amiberry-rpi_v2.1.1.7z'>)} spids: [24336] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<alsa-oss>} {<joystick>} {<libsdl-image1.2>} {<libsdl-ttf2.0-0>} {<libsdl-gfx1.2-5>} {<libguichan-0.8.1-1> <Id.Lit_Star '*'>} {<libguichan-allegro-0.8.1-1> <Id.Lit_Star '*'>} {<libguichan-sdl-0.8.1-1> <Id.Lit_Star '*'>} {<libguichan-opengl-0.8.1-1> <Id.Lit_Star '*'>} {<libjpgalleg4.4>} {<libxml2>} {<libmpg123-0>} ) (C {<G_AGI>} {<libpng12-0>} {<libflac8>} {<libmpg123-0>} {<libgoogle-perftools4>} {<libfreetype6>} {<libxxf86vm1>} ) (command.Simple words: [ {<mv>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/conf/autostart.uae'> } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/conf/autostart_pre-dietpi-update.uae'> } ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>}) (C {<7z>} {<x>} {<-y>} {<package.7z>} {<'-o/etc'>}) (C {<rm>} {<package.7z>}) ] spids: [24309 24328] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<112>} spids: [24469] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/rpi/dxx-rebirth.7z'>)} spids: [24500] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<libsdl-mixer1.2>} {<libsdl1.2debian>} {<libphysfs1>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>}) (C {<7z>} {<x>} {<-y>} {<package.7z>} {<-o> (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA))} ) (C {<rm>} {<package.7z>}) ] spids: [24473 24492] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<111>} spids: [24563] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://hndl.urbackup.org/Server/2.1.20/urbackup-server_2.1.20_amd64.deb' > ) } spids: [24612] ) ] redirects: [] ) ] spids: [24594 24608] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://hndl.urbackup.org/Server/2.1.20/urbackup-server_2.1.20_armhf.deb' > ) } spids: [24645] ) ] redirects: [] ) ] spids: [24619 24641] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://hndl.urbackup.org/Server/2.1.20/urbackup-server-2.1.20.tar.gz' > ) } spids: [24674] ) ] redirects: [] ) ] spids: [24656 24670] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {<build-essential>} {<zlib1g-dev>} {<libcurl4-openssl-dev>} {<libcrypto> <Id.Lit_Other '+'> <Id.Lit_Other '+'> <-dev>} {<sqlite3>} ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>} ) (C {<tar>} {<xzvf>} {<package.tar>}) (C {<rm>} {<package.tar>}) (C {<cd>} {<urbackup-server-> <Id.Lit_Star '*'>}) (C {<'./configure'>}) (C {<make>} {<-j>} {($ Id.VSub_DollarName G_HW_CPU_CORES)}) (C {<make>} {<install>}) (C {<sed>} {<-i>} { (DQ < '/ExecStart=/c ExecStart=/usr/local/bin/urbackupsrv run --config /etc/default/urbackupsrv --no-consoletime' > ) } {<urbackup-server.service>} ) (C {<cp>} {<urbackup-server.service>} {<'/etc/systemd/system/urbackupsrv.service'>} ) (C {<cp>} {<defaults_server>} {<'/etc/default/urbackupsrv'>}) (C {<cp>} {<logrotate_urbackupsrv>} {<'/etc/logrotate.d/urbackupsrv'>}) (C {<cd>} {<..>}) (C {<rm>} {<-R>} {<urbackup-server-> <Id.Lit_Star '*'>}) ] spids: [24697 24711] ) ] else_action: [ (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>} ) (command.Pipeline children: [ (C {<echo>} {<-e>} { (DQ <'urbackup-server urbackup/backuppath string '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/urbackup'> ) } ) (C {<debconf-set-selections>}) ] negated: F stderr_indices: [] ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<apt-get>} {<-f>} {<install>} {<-y>}) (C {<rm>} {<package.deb>}) ] redirects: [] ) ] spids: [24567 24586] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<51>} spids: [24898] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(DQ <'http://dietpi.com/downloads/binaries/rpi/opentyrian_armhf.zip'>)} spids: [24929] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<ibsdl1.2debian>} {<libsdl-net1.2>} {<--no-install-recommends>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/'>}) (C {<rm>} {<package.zip>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/games/opentyrian/opentyrian'>}) ] spids: [24902 24921] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<59>} spids: [25001] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://github.com/Fourdee/RPi_Cam_Web_Interface/archive/6.2.29.zip' > ) } spids: [25032] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<gpac>} {<motion>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<cd>} {<RPi_Cam> <Id.Lit_Star '*'>}) (C {<mkdir>} {<-p>} {<'/etc/motion'>}) (C {<cp>} {<'etc/motion/motion.conf.1'>} {<'/etc/motion/motion.conf'>}) (C {<cp>} {<'etc/raspimjpeg/raspimjpeg.1'>} {<'/etc/raspimjpeg'>}) (C {<mkdir>} {<-p>} {<'/var/www/dietpicam/media'>}) (C {<cp>} {<-R>} {<'www/'> <Id.Lit_Star '*'>} {<'/var/www/dietpicam/'>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/var/www/dietpicam/raspizip.sh'>}) (C {<mknod>} {<'/var/www/dietpicam/FIFO'>} {<p>}) (C {<mknod>} {<'/var/www/dietpicam/FIFO1'>} {<p>}) (C {<ln>} {<-sf>} {<'/run/shm/mjpeg/cam.jpg'>} {<'/var/www/dietpicam/cam.jpg'>}) (C {<ln>} {<-sf>} {<'/run/shm/mjpeg/status_mjpeg.txt'>} {<'/var/www/dietpicam/status_mjpeg.txt'>} ) (C {<cp>} {<'bin/raspimjpeg'>} {<'/opt/vc/bin/raspimjpeg'>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/opt/vc/bin/raspimjpeg'>}) (C {<ln>} {<-s>} {<'/opt/vc/bin/raspimjpeg'>} {<'/usr/bin/raspimjpeg'>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/RPi_Cam'> <Id.Lit_Star '*'>}) ] spids: [25005 25024] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<45>} spids: [25251] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<deluged>} {<deluge-web>} {<deluge-webui>} {<deluge-console>}) ] spids: [25255 25274] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<100>} spids: [25301] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<python>}) (C {<local>} {<Id.Lit_VarLike 'grasshopper_directory='> (SQ <'/var/www'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://sourceforge.net/projects/grasshopperwebapp/files/grasshopper_v5_application.zip/download' > ) } spids: [25350] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<grasshopper.zip>} ) (C {<unzip>} {<-o>} {<grasshopper.zip>} {<-d>} {(DQ ($ Id.VSub_DollarName grasshopper_directory))} ) (C {<rm>} {<grasshopper.zip>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/install/install.sh'>} ) (C {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/install/install.sh'>}) ] spids: [25305 25324] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<106>} spids: [25424] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/harmon25/raspcontrol/archive/master.zip'>)} spids: [25455] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<mkdir>} {<-p>} {<'/var/www/raspcontrol'>}) (C {<mv>} {<'raspcontrol-master/'> <Id.Lit_Star '*'>} {<'/var/www/raspcontrol'>}) (C {<rm>} {<-R>} {<raspcontrol-master>}) ] spids: [25428 25447] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<115>} spids: [25524] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://www.webmin.com/download/deb/webmin-current.deb'>)} spids: [25555] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>}) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<G_AGF>}) (C {<rm>} {<package.deb>}) ] spids: [25528 25547] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<126>} spids: [25606] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://packages.openmediavault.org/public'>)} spids: [25637] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'deb '> ($ Id.VSub_DollarName INSTALL_URL_ADDRESS) <' erasmus main'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apt/sources.list.d/openmediavault.list'>} ) ] more_env: [] do_fork: T ) (C {<G_AGUP>}) (C {<G_AGI>} {<openmediavault-keyring>}) (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir op: <Id.Redir_TLess '<<<'> loc: (redir_loc.Fd fd:0) arg: {(DQ <'openmediavault openmediavault/run-initsystem note'>)} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir op: <Id.Redir_TLess '<<<'> loc: (redir_loc.Fd fd:0) arg: {(DQ <'postfix postfix/main_mailer_type select No configuration'>)} ) ] more_env: [] do_fork: T ) (C {<G_AGUP>}) (C {<G_AGI>} {<openmediavault>} {<postfix>}) ] spids: [25610 25629] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<129>} spids: [25714] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/ArturSierzant/OMPD/archive/master.zip'>)} spids: [25745] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www/'>}) (command.Simple words: [{<rm>} {<-R>} {<'/var/www/ompd'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<mv>} {<'/var/www/OMPD'> <Id.Lit_Star '*'>} {<'/var/www/ompd'>}) (C {<rm>} {<package.zip>}) ] spids: [25718 25737] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<135>} spids: [25818] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<darkice>} {<icecast2>})] spids: [25822 25841] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<63>} spids: [25865] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/afaqurk/linux-dash/archive/master.zip'>)} spids: [25896] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<mkdir>} {<-p>} {<'/var/www/linuxdash'>}) (C {<mv>} {<'linux-dash-master/'> <Id.Lit_Star '*'>} {<'/var/www/linuxdash'>}) (C {<rm>} {<-R>} {<linux-dash-master>}) ] spids: [25869 25888] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<93>} spids: [25965] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://install.pi-hole.net'>)} spids: [25996] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-cgi>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-sqlite> <Id.Lit_Star '*'>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<free>} {<-m>}) (C {<grep>} {<-m1>} {(SQ <'Mem:'>)}) (C {<awk>} {(SQ <'{print $4}'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } right: {<Id.Lit_Digits 512>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-f>} {<'/etc/dphys-swapfile'>} {<Id.Lit_RBracket ']'>} ) (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {(SQ <'CONF_SWAPSIZE='>)} {<'/etc/dphys-swapfile'>} ) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } right: {<Id.Lit_Digits 512>} ) redirects: [] ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ < 'Increasing swapfile size to 512MB before running gravity.sh, please wait...' > <Id.Lit_BadBackslash '\\'> <n> ) } ) (C {<'/DietPi/dietpi/func/dietpi-set_dphys-swapfile'>} {<512>}) ] spids: [26073 26114] ) ] else_action: [] redirects: [] ) ] spids: [26033 26069] ) ] else_action: [] redirects: [] ) (command.Simple words: [ {<mv>} {<'/etc/lighttpd/lighttpd.conf'>} {<'/etc/lighttpd/lighttpd.conf.bak'>} ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<install.sh>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<install.sh>}) (C {<'./install.sh'>}) (C {<local>} {<Id.Lit_VarLike 'exit_code='> ($ Id.VSub_QMark '?')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_DollarName exit_code)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<1>} { (DQ <'Pi-Hole exited with code ('> ($ Id.VSub_DollarName exit_code) <') and is not installed.'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) op: assign_op.Equal rhs: {<0>} spids: [26220] ) ] redirects: [] ) ] spids: [26191 26205] ) ] else_action: [] redirects: [] ) (command.Simple words: [ {<mv>} {<'/etc/lighttpd/lighttpd.conf.bak'>} {<'/etc/lighttpd/lighttpd.conf'>} ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [25969 25988] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<33>} spids: [26253] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://sourceforge.net/projects/subsonic/files/subsonic/5.3/subsonic-5.3.deb/download' > ) } spids: [26284] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>}) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [26257 26276] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<34>} spids: [26339] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://sourceforge.net/projects/subsonic/files/subsonic/6.1.3/subsonic-6.1.3.deb/download' > ) } spids: [26370] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>}) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [26343 26362] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<68>} spids: [26425] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://github.com/weaved/installer/raw/master/Raspbian%20deb/1.3-07/weavedconnectd_1.3-07v_armhf.deb' > ) } spids: [26456] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>}) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [26429 26448] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 71>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 69>} ) op: assign_op.Equal rhs: {<1>} spids: [26529] ) ] redirects: [] ) ] spids: [26506 26525] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<69>} spids: [26546] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {<'/etc/.dietpi_image_version'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<python-rpi.gpio>} {<python3-rpi.gpio>})] spids: [26581 26592] ) ] else_action: [(C {<G_AGI>} {<python3-pip>}) (C {<pip3>} {<install>} {<RPi.GPIO>})] redirects: [] ) ] spids: [26550 26569] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<70>} spids: [26637] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://git.drogon.net/?p=wiringPi;a=snapshot;h=HEAD;sf=tgz' > ) } spids: [26694] ) ] redirects: [] ) ] spids: [26672 26686] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) right: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 20>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://github.com/hardkernel/wiringPi/archive/master.zip' > ) } spids: [26731] ) ] redirects: [] ) ] spids: [26705 26727] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 51>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://github.com/LeMaker/WiringBP/archive/bananapro.zip' > ) } spids: [26760] ) ] redirects: [] ) ] spids: [26742 26756] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>} ) (C {<tar>} {<xfz>} {<package.tar>}) (C {<rm>} {<package.tar>}) ] spids: [26783 26797] ) ] else_action: [ (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>} ) (C {<unzip>} {<package.zip>}) (C {<rm>} {<package.zip>}) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 51>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<mv>} {<WiringBP> <Id.Lit_Star '*'>} {<wiringPi>})] spids: [26859 26873] ) ] else_action: [] redirects: [] ) (C {<cd>} {<wiringPi> <Id.Lit_Star '*'>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<build>}) (C {<'./build'>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) ] spids: [26641 26660] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<72>} spids: [26928] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<i2c>} {<enable>}) ] spids: [26932 26951] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<122>} spids: [26975] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<python>} {<python3>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<python-rpi.gpio>})] spids: [27018 27032] ) ] else_action: [] redirects: [] ) (C {<npm>} {<install>} {<-g>} {<node-red>} {<--unsafe-perm>}) ] spids: [26979 26998] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<123>} spids: [27070] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<mosquitto>})] spids: [27101 27115] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<dpkg>} {<--add-architecture>} {<armhf>}) (C {<G_AGUP>})] spids: [27137 27151] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/'>)} spids: [27178] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_LessEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_armhf.deb'>)} spids: [27215] ) ] redirects: [] ) ] spids: [27189 27211] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb'>)} spids: [27244] ) ] redirects: [] ) ] spids: [27226 27240] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/mosquitto_1.4.14-0mosquitto1_nows1_armhf.deb' > ) } spids: [27286] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/mosquitto_1.4.14-0mosquitto1_nows1_amd64.deb' > ) } spids: [27310] ) ] redirects: [] ) ] spids: [27292 27306] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<G_AGF>}) (C {<rm>} {<package.deb>}) ] redirects: [] ) ] spids: [27074 27093] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<131>} spids: [27376] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/blynkkk/blynk-server/releases'>)} spids: [27411] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<mkdir>} {<-p>} {<'/etc/blynkserver'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://github.com/blynkkk/blynk-server/releases/download/v0.29.7/server-0.29.7-java8.jar' > ) } spids: [27433] ) ] redirects: [] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<'/etc/blynkserver/server.jar'>} ) (C {<G_AGI>} {<python>}) (C {<npm>} {<install>} {<-g>} {<onoff>}) (C {<npm>} {<install>} {<-g>} {<blynk-library>}) ] spids: [27380 27399] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<124>} spids: [27487] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: {($ Id.VSub_DollarName G_USER_INPUTS)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir op: <Id.Redir_TLess '<<<'> loc: (redir_loc.Fd fd:0) arg: {(DQ <'networkaudiod networkaudiod/license note false'>)} ) ] more_env: [] do_fork: T ) ] spids: [27522 27534] ) ] else_action: [] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'apackages='> (sh_array_literal left:<Id.Op_LParen _> words:[]) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'apackages+='> name: apackages ) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (SQ < 'http://dietpi.com/downloads/binaries/all/gcc-6-base_6.3.0-6_armhf.deb' > ) } ] ) } spids: [27586] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'apackages+='> name: apackages ) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (SQ < 'http://dietpi.com/downloads/binaries/all/libstdc++6_6.3.0-6_armhf.deb' > ) } ] ) } spids: [27594] ) ] redirects: [] ) ] spids: [27568 27582] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'apackages+='> name:apackages) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (SQ < 'https://www.signalyst.eu/bins/naa/linux/stretch/networkaudiod_3.5.2-36_armhf.deb' > ) } ] ) } spids: [27607] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name apackages> var_name: apackages prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name apackages> var_name: apackages bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) ) } spids: [27649] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) ] ) redirects: [] ) (C {<G_AGI>} {<libasound2>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {<gcc-6-base>} {<libstdc> <Id.Lit_Other '+'> <Id.Lit_Other '+'> <6>} ) ] spids: [27686 27700] ) ] else_action: [] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name apackages> var_name: apackages prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup children: [ (C {<wget>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name apackages> var_name: apackages bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName i)}) right: <Id.Right_DollarBrace '}'> ) ) } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] ) redirects: [] ) (C {<unset>} {<apackages>}) ] spids: [27491 27510] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<125>} spids: [27804] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<tomcat8>})] spids: [27808 27827] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<71>} spids: [27849] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz/download' > ) } spids: [27880] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<python-dev>} {<python-setuptools>} {<--no-install-recommends>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>}) (C {<tar>} {<xvzf>} {<package.tar>}) (C {<rm>} {<package.tar>}) (C {<cd>} {<WebIOPi> <Id.Lit_Star '*'>}) (C {<sed>} {<-i>} {(SQ <'/read response/c\\response="n"'>)} {<setup.sh>}) (C {<'./setup.sh'>}) (C {<clear>}) (C {<cd>} {<..>}) (C {<rm>} {<-R>} {<WebIOPi> <Id.Lit_Star '*'>}) ] spids: [27853 27872] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<62>} spids: [27997] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 11>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<lcdpanel>} {<odroid-cloudshell>} ) ] spids: [28036 28050] ) ] else_action: [] redirects: [] ) ] spids: [28001 28020] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<98>} spids: [28074] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://www.haproxy.org/download/1.8/src/haproxy-1.8.2.tar.gz'>)} spids: [28106] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>}) (C {<tar>} {<-xvf>} {<package.tar>}) (C {<rm>} {<package.tar>}) (C {<cd>} {<haproxy-> <Id.Lit_Star '*'>}) (C {<G_AGI>} {<libpcre3-dev>} {<libssl-dev>} {<zlib1g-dev>}) (C {<make>} {<-j>} {($ Id.VSub_DollarName G_HW_CPU_CORES)} {<Id.Lit_VarLike 'TARGET='> <linux2628>} {<Id.Lit_VarLike 'CPU='> <generic>} {<Id.Lit_VarLike 'USE_PCRE='> <1>} {<Id.Lit_VarLike 'USE_OPENSSL='> <1>} {<Id.Lit_VarLike 'USE_ZLIB='> <1>} {<Id.Lit_VarLike 'USE_LINUX_SPLICE='> <1>} ) (C {<make>} {<install>}) (C {<mkdir>} {<'/etc/haproxy'>}) (C {<cd>} {<..>}) (C {<rm>} {<-R>} {<haproxy-> <Id.Lit_Star '*'>}) (C {<cp>} {<'/DietPi/dietpi/conf/haproxy_init'>} {<'/etc/init.d/haproxy'>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/init.d/haproxy'>}) (C {<update-rc.d>} {<haproxy>} {<defaults>}) ] spids: [28078 28097] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<35>} spids: [28267] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<dpkg>} {<--add-architecture>} {<armhf>}) (C {<G_AGUP>})] spids: [28324 28338] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/logitechmediaserver_7.9.1_armv7-(stretch).deb' > ) } spids: [28357] ) ] redirects: [] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<G_AGF>}) ] spids: [28302 28316] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/logitechmediaserver_7.9.0_all.deb' > ) } spids: [28394] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<G_AGF>}) (C {<service>} {<logitechmediaserver>} {<stop>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<wget>} {<http> <Id.Lit_Colon ':'> < '//dietpi.com/downloads/binaries/all/logitechmediaserver_7.9.0_CPAN_5.20_armv6hf.tar.gz' > } {<-O>} {<package.tar>} ) (C {<tar>} {<xvzf>} {<package.tar>} {<-C>} {<'/'>}) (C {<rm>} {<package.tar>}) ] spids: [28456 28470] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {<libxml-parser-perl>}) (C {<G_AGI>} {<zlib1g-dev>} {<libjpeg-dev>} {<libpng-dev>} {<libjpeg62-turbo-dev>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> < '//dietpi.com/downloads/binaries/all/DietPi-LMS7.9-CPAN_arm64.zip' > } {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/usr/share/squeezeboxserver'>} ) (C {<rm>} {<package.zip>}) ] spids: [28506 28520] ) ] else_action: [] redirects: [] ) ] redirects: [] ) ] spids: [28271 28290] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<55>} spids: [28588] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://wordpress.org/latest.zip'>)} spids: [28619] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www/'>}) (C {<rm>} {<package.zip>}) ] spids: [28592 28611] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<27>} spids: [28669] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<tightvncserver>} {<x11vnc>} {<--no-install-recommends>}) ] spids: [28673 28692] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<28>} spids: [28718] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<vnc4server>} {<x11vnc>} {<--no-install-recommends>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<tigervnc-common>})] spids: [28763 28777] ) ] else_action: [] redirects: [] ) ] spids: [28722 28741] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<120>} spids: [28799] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<realvnc-vnc-server>})] spids: [28803 28822] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<73>} spids: [28880] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<touch>} {<'/var/log/auth.log'>}) (C {<G_AGI>} {<fail2ban>} {<--no-install-recommends>}) ] spids: [28884 28903] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<64>} spids: [28936] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/phpsysinfo/phpsysinfo/archive/master.zip'>)} spids: [28968] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www/'>}) (C {<rm>} {<package.zip>}) (C {<mv>} {<'/var/www/phpsysinfo-'> <Id.Lit_Star '*'>} {<'/var/www/phpsysinfo'>}) ] spids: [28940 28959] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<56>} spids: [29026] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/Single_File_PHP_Gallery_4.6.1.zip' > ) } spids: [29058] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www/gallery'>}) (C {<rm>} {<package.zip>}) ] spids: [29030 29049] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<40>} spids: [29108] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/ampache/ampache/archive/master.zip'>)} spids: [29139] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<mv>} {<ampache-> <Id.Lit_Star '*'>} {<'/var/www/ampache'>}) (command.Simple words: [{<php>} {<-r>} {(DQ <'readfile(\'https://getcomposer.org/installer\');'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<composer-setup.php>} ) ] more_env: [] do_fork: T ) (C {<php>} {<composer-setup.php>}) (C {<php>} {<-r>} {(DQ <'unlink(\'composer-setup.php\');'>)}) (C {<mv>} {<composer.phar>} {<'/usr/local/bin/composer'>}) (C {<cd>} {<'/var/www/ampache'>}) (C {<composer>} {<install>} {<--prefer-source>} {<--no-interaction>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) ] spids: [29112 29131] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<97>} spids: [29256] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<openvpn>} {<easy-rsa>} {<iptables>})] spids: [29260 29279] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<117>} spids: [29305] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://install.pivpn.io'>)} spids: [29336] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<lsb-release>}) (C {<useradd>} {<pivpn>}) (C {<mkdir>} {<-p>} {<'/home/pivpn'>}) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<true>})]) body: (command.DoGroup children: [ (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<pivpn_install.sh>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<pivpn_install.sh>}) (C {<sed>} {<-i>} {(SQ <'/shutdown[[:space:]]/d'>)} {<pivpn_install.sh>}) (C {<'./pivpn_install.sh'>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<whiptail>} {<--title>} {(DQ <'PiVPN failed/aborted'>)} {<--yesno>} { (DQ < 'The PiVPN installer was not successful and/or canceled prior to its completion.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> < 'nWould you like DietPi to run the PiVPN installer again?' > ) } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<--defaultno>} {<12>} {<70>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE[' > name: aSOFTWARE_INSTALL_STATE index: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) op: assign_op.Equal rhs: {<0>} spids: [29488] ) ] redirects: [] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [29470 29484] ) ] else_action: [] redirects: [] ) ] spids: [29421 29435] ) ] else_action: [ (C {<rm>} {<pivpn_install.sh>}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] redirects: [] ) ] ) redirects: [] ) ] spids: [29309 29328] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<92>} spids: [29533] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {<certbot>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 83>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<python-certbot-apache>})] spids: [29588 29607] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 85>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<python-certbot-nginx>})] spids: [29621 29640] ) ] else_action: [] redirects: [] ) ] spids: [29564 29578] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/certbot/certbot/archive/master.zip'>)} spids: [29658] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/root'>}) (C {<rm>} {<package.zip>}) (C {<mv>} {<certbot> <Id.Lit_Star '*'>} {<'/etc/certbot_scripts'>}) (C {<cd>} {<'/etc/certbot_scripts'>}) (C {<'./certbot-auto'>} {<-n>} {<--os-packages-only>}) (C {<cd>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/'>}) ] redirects: [] ) ] spids: [29537 29556] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 61>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 60>} ) op: assign_op.Equal rhs: {<1>} spids: [29766] ) ] redirects: [] ) ] spids: [29743 29762] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<60>} spids: [29783] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/hostapd_2.5_all.zip'>)} spids: [29814] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<hostapd>} {<isc-dhcp-server>} {<iptables>} {<libnl-3-200>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<lsusb>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <RTL8188C>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 70>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WIFIHOTSPOT_RTL8188C_DEVICE='> name: WIFIHOTSPOT_RTL8188C_DEVICE ) op: assign_op.Equal rhs: {<1>} spids: [29913] ) ] redirects: [] ) ] spids: [29873 29906] ) ] else_action: [] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'filename_hostapd='> (SQ )}) (C {<local>} {<Id.Lit_VarLike 'filename_hostapd_cli='> (SQ )}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'filename_hostapd='> name: filename_hostapd ) op: assign_op.Equal rhs: {(SQ <hostapd-nl80211-armv6>)} spids: [29963] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'filename_hostapd_cli='> name: filename_hostapd_cli ) op: assign_op.Equal rhs: {(SQ <hostapd_cli-armv6>)} spids: [29969] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: {($ Id.VSub_DollarName WIFIHOTSPOT_RTL8188C_DEVICE)} redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'filename_hostapd='> name: filename_hostapd ) op: assign_op.Equal rhs: {(SQ <hostapd-rtl8188c-armv6>)} spids: [29990] ) ] redirects: [] ) ] spids: [29976 29986] ) ] else_action: [] redirects: [] ) ] spids: [29945 29959] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'filename_hostapd='> name: filename_hostapd ) op: assign_op.Equal rhs: {(SQ <hostapd-nl80211-armv7>)} spids: [30023] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'filename_hostapd_cli='> name: filename_hostapd_cli ) op: assign_op.Equal rhs: {(SQ <hostapd_cli-armv7>)} spids: [30029] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: {($ Id.VSub_DollarName WIFIHOTSPOT_RTL8188C_DEVICE)} redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'filename_hostapd='> name: filename_hostapd ) op: assign_op.Equal rhs: {(SQ <hostapd-rtl8188c-armv7>)} spids: [30050] ) ] redirects: [] ) ] spids: [30036 30046] ) ] else_action: [] redirects: [] ) ] spids: [30005 30019] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'filename_hostapd='> name: filename_hostapd ) op: assign_op.Equal rhs: {(SQ <hostapd-nl80211-arm64>)} spids: [30083] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'filename_hostapd_cli='> name: filename_hostapd_cli ) op: assign_op.Equal rhs: {(SQ <hostapd_cli-arm64>)} spids: [30089] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: {($ Id.VSub_DollarName WIFIHOTSPOT_RTL8188C_DEVICE)} redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'filename_hostapd='> name: filename_hostapd ) op: assign_op.Equal rhs: {(SQ <hostapd-rtl8188c-arm64>)} spids: [30110] ) ] redirects: [] ) ] spids: [30096 30106] ) ] else_action: [] redirects: [] ) ] spids: [30065 30079] ) ] else_action: [] redirects: [] ) (C {<mv>} {(DQ ($ Id.VSub_DollarName filename_hostapd))} {<'/usr/sbin/hostapd'>}) (C {<mv>} {(DQ ($ Id.VSub_DollarName filename_hostapd_cli))} {<'/usr/sbin/hostapd_cli'>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/sbin/hostapd'>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/sbin/hostapd_cli'>}) (C {<rm>} {<hostapd-> <Id.Lit_Star '*'>}) (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<wifimodules>} {<enable>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/'>)} spids: [30206] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_armhf.deb'>)} spids: [30243] ) ] redirects: [] ) ] spids: [30217 30239] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_arm64.deb'>)} spids: [30272] ) ] redirects: [] ) ] spids: [30254 30268] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb'>)} spids: [30301] ) ] redirects: [] ) ] spids: [30283 30297] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [30188 30202] ) ] else_action: [] redirects: [] ) ] spids: [29787 29806] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<61>} spids: [30357] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<tor>})] spids: [30361 30380] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<37>} spids: [30406] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/shairport-sync_3.1.3_'>)} spids: [30437] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <armv6.7z>)} spids: [30466] ) ] redirects: [] ) ] spids: [30448 30462] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <armv7.7z>)} spids: [30495] ) ] redirects: [] ) ] spids: [30477 30491] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <arm64.7z>)} spids: [30524] ) ] redirects: [] ) ] spids: [30506 30520] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<openssl>} {<libsoxr0>} {<libavahi-client3>} {<libtool>} {<libconfig9>} {<libpopt0>} {<libdaemon0>} {<--no-install-recommends>} ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>}) (C {<7z>} {<x>} {<-y>} {<package.7z>} {<'-o/'>}) (C {<rm>} {<package.7z>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/'>)} spids: [30640] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_armhf.deb'>)} spids: [30677] ) ] redirects: [] ) ] spids: [30651 30673] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_arm64.deb'>)} spids: [30706] ) ] redirects: [] ) ] spids: [30688 30702] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb'>)} spids: [30735] ) ] redirects: [] ) ] spids: [30717 30731] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [30622 30636] ) ] else_action: [] redirects: [] ) ] spids: [30410 30429] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<38>} spids: [30790] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/conf/BruteFIR/'>)} spids: [30825] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<brutefir>}) (C {<wget>} {<-r>} {<-nH>} {<--cut-dirs> <Id.Lit_Equals '='> <2>} {<--no-parent>} {<--reject> <Id.Lit_Equals '='> (DQ <'index.htm*'>)} {<-e>} {<Id.Lit_VarLike 'robots='> <off>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} ) (C {<mv>} {<BruteFIR>} {<'/etc/'>}) ] spids: [30794 30813] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<48>} spids: [30893] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://download.pydio.com/pub/core/archives/pydio-core-8.0.2.zip' > ) } spids: [30928] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www'>}) (C {<mv>} {<'/var/www/pydio-core-'> <Id.Lit_Star '*'>} {<'/var/www/pydio'>}) (C {<rm>} {<package.zip>}) ] spids: [30897 30916] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<36>} spids: [30986] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/squeezelite-1.8_all.7z'>)} spids: [31017] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<squeezelite>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>}) (C {<7z>} {<x>} {<-y>} {<package.7z>} {<'-o/usr/bin'>}) (C {<rm>} {<package.7z>}) (C {<rm>} {<'/usr/bin/squeezelite'>}) (C {<local>} {<Id.Lit_VarLike 'target_binary='> (SQ )}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'target_binary='> name: target_binary ) op: assign_op.Equal rhs: {(SQ <squeezelite_armv6>)} spids: [31105] ) ] redirects: [] ) ] spids: [31087 31101] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'target_binary='> name: target_binary ) op: assign_op.Equal rhs: {(SQ <squeezelite_armv7>)} spids: [31134] ) ] redirects: [] ) ] spids: [31116 31130] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'target_binary='> name: target_binary ) op: assign_op.Equal rhs: {(SQ <squeezelite_arm64>)} spids: [31163] ) ] redirects: [] ) ] spids: [31145 31159] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'target_binary='> name: target_binary ) op: assign_op.Equal rhs: {(SQ <squeezelite_amd64>)} spids: [31192] ) ] redirects: [] ) ] spids: [31174 31188] ) ] else_action: [] redirects: [] ) (C {<ln>} {<-sf>} {<'/usr/bin/'> (DQ ($ Id.VSub_DollarName target_binary))} {<'/usr/bin/squeezelite'>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/bin/squeezelite'>}) ] spids: [30990 31009] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<99>} spids: [31232] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/Fourdee/emonhub/archive/emon-pi.zip'>)} spids: [31267] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<minicom>} {<python-serial>} {<python-configobj>} {<--no-install-recommends>} ) (C {<pip>} {<install>} {<paho-mqtt>} {<pydispatcher>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<rm>} {<-R>} {<'/etc/emonhub'>}) (C {<mkdir>} {<-p>} {<'/etc/emonhub'>}) (C {<mv>} {<emonhub-> <Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'>} {<'/etc/emonhub/'>}) (C {<rm>} {<-R>} {<emonhub-> <Id.Lit_Star '*'>}) ] spids: [31236 31255] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<66>} spids: [31375] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://github.com/XavierBerger/RPi-Monitor-deb/raw/master/packages/rpimonitor_2.12-r0_all.deb' > ) } spids: [31410] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>}) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<apt-get>} {<-f>} {<-y>} {<install>}) ] spids: [31379 31398] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<65>} spids: [31470] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/netdata_1.6.0_'>)} spids: [31501] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <armv6.deb>)} spids: [31530] ) ] redirects: [] ) ] spids: [31512 31526] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <armv7.deb>)} spids: [31559] ) ] redirects: [] ) ] spids: [31541 31555] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <arm64.deb>)} spids: [31588] ) ] redirects: [] ) ] spids: [31570 31584] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <amd64.deb>)} spids: [31617] ) ] redirects: [] ) ] spids: [31599 31613] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<--no-install-recommends>} {<zlib1g-dev>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>}) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [31474 31493] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<57>} spids: [31684] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/fruux/Baikal/archive/master.zip'>)} spids: [31719] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www'>}) (C {<rm>} {<package.zip>}) (C {<mv>} {<'/var/www/Baikal'> <Id.Lit_Star '*'>} {<'/var/www/baikal'>}) ] spids: [31688 31707] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<43>} spids: [31777] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<mumble-server>})] spids: [31781 31800] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<41>} spids: [31822] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://download.opensuse.org/repositories/home:/emby/xUbuntu_14.04/' > ) } spids: [31857] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://download.opensuse.org/repositories/home:/emby/Debian_' > ) } spids: [31886] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <8.0>)} spids: [31911] ) ] redirects: [] ) ] spids: [31893 31907] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <9.0>)} spids: [31936] ) ] redirects: [] ) ] spids: [31918 31932] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 5>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <Next>)} spids: [31965] ) ] redirects: [] ) ] spids: [31943 31957] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <'/'>)} spids: [31976] ) ] redirects: [] ) ] spids: [31868 31882] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'deb '> ($ Id.VSub_DollarName INSTALL_URL_ADDRESS) <' /'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apt/sources.list.d/emby-server.list'>} ) ] more_env: [] do_fork: T ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS)) <Release.key>}) (command.Simple words: [{<apt-key>} {<add>} {<->}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<Release.key>} ) ] more_env: [] do_fork: T ) (C {<rm>} {<Release.key>}) (C {<G_AGUP>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//ftp.us.debian.org/debian/pool/main/libj/libjpeg8/libjpeg8_8d-1'> <Id.Lit_Other '+'> <deb7u1_armhf.deb> } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<wget>} {<http> <Id.Lit_Colon ':'> < '//ftp.us.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2' > <Id.Lit_Other '+'> <deb8u3_armhf.deb> } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<wget>} {<http> <Id.Lit_Colon ':'> < '//ftp.us.debian.org/debian/pool/main/libw/libwebp/libwebp5_0.4.1-1.2' > <Id.Lit_Other '+'> <b2_armhf.deb> } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [32042 32056] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<wget>} {<http> <Id.Lit_Colon ':'> < '//ftp.us.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2' > <Id.Lit_Other '+'> <deb8u3_arm64.deb> } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<wget>} {<http> <Id.Lit_Colon ':'> < '//ftp.us.debian.org/debian/pool/main/libw/libwebp/libwebp5_0.4.1-1.2' > <Id.Lit_Other '+'> <b2_arm64.deb> } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<wget>} {<https> <Id.Lit_Colon ':'> < '//mirror.i-novus.ru/ubuntu-ports/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_1.3.0-0ubuntu2_arm64.deb' > } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<wget>} {<http> <Id.Lit_Colon ':'> < '//turul.canonical.com/pool/main/libj/libjpeg8-empty/libjpeg8_8c-2ubuntu8_arm64.deb' > } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [32142 32156] ) ] else_action: [] redirects: [] ) (C {<G_AGI>} {<emby-server>} {<embymagick>}) ] spids: [31826 31845] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<42>} spids: [32280] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://downloads.plex.tv/plex-media-server/1.10.1.4602-f54242b6b/plexmediaserver_1.10.1.4602-f54242b6b_amd64.deb' > ) } spids: [32338] ) ] redirects: [] ) ] spids: [32320 32334] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dev2day.de/pms/'>)} spids: [32353] ) ] redirects: [] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [32376 32390] ) ] else_action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'deb [arch=armhf] '> ($ Id.VSub_DollarName INSTALL_URL_ADDRESS) <' '> ($ Id.VSub_DollarName G_DISTRO_NAME) <' main'> ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apt/sources.list.d/plex.list'>} ) ] more_env: [] do_fork: T ) (command.Pipeline children: [ (C {<wget>} {<-O>} {<->} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS)) <dev2day-pms.gpg.key>} ) (C {<apt-key>} {<add>} {<->}) ] negated: F stderr_indices: [] ) (C {<G_AGUP>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<dpkg>} {<--add-architecture>} {<armhf>}) (C {<G_AGUP>}) (C {<G_AGI>} {<binutils> <Id.Lit_Colon ':'> <armhf>} {<plexmediaserver-installer> <Id.Lit_Colon ':'> <armhf>} ) ] spids: [32471 32485] ) ] else_action: [(C {<G_AGI>} {<plexmediaserver-installer>})] redirects: [] ) ] redirects: [] ) ] spids: [32284 32303] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<52>} spids: [32541] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://builds.cuberite.org/job/Cuberite%20Linux%20x64%20Master/lastSuccessfulBuild/artifact/Cuberite.tar.gz' > ) } spids: [32594] ) ] redirects: [] ) ] spids: [32576 32590] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://builds.cuberite.org/job/Cuberite%20Linux%20raspi-armhf%20Master/lastSuccessfulBuild/artifact/Cuberite.tar.gz' > ) } spids: [32631] ) ] redirects: [] ) ] spids: [32605 32627] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>}) (C {<mkdir>} {<-p>} {<'/etc/cubrite'>}) (C {<tar>} {<xzvf>} {<package.tar>} {<-C>} {<'/etc/cubrite'>}) (C {<rm>} {<package.tar>}) (C {<mv>} {<'/etc/cubrite/Server/'> <Id.Lit_Star '*'>} {<'/etc/cubrite/'>}) (C {<rm>} {<-R>} {<'/etc/cuberite/Server'>}) ] spids: [32545 32564] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<53>} spids: [32712] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/hexparrot/mineos-node.git'>)} spids: [32748] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<python>} {<python3>} {<supervisor>} {<rdiff-backup>} {<screen>} {<rsync>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos'>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos'>}) (C {<git>} {<clone>} {<https> <Id.Lit_Colon ':'> <'//github.com/hexparrot/mineos-node.git'>} {<minecraft>} ) (C {<cd>} {<minecraft>}) (C {<git>} {<config>} {<core.filemode>} {<false>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<service.js>} {<mineos_console.js>} {<generate-sslcert.sh>} {<webui.js>} ) (C {<npm>} {<install>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) ] spids: [32716 32735] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<49>} spids: [32863] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/gogs_'>)} spids: [32894] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <armv6.zip>)} spids: [32923] ) ] redirects: [] ) ] spids: [32905 32919] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <armv7.zip>)} spids: [32952] ) ] redirects: [] ) ] spids: [32934 32948] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <amd64.zip>)} spids: [32981] ) ] redirects: [] ) ] spids: [32963 32977] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<mv>} {<gogs> <Id.Lit_Star '*'>} {<'/etc/gogs'>}) ] spids: [32867 32886] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<46>} spids: [33040] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<qbittorrent-nox>})] spids: [33044 33063] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<107>} spids: [33085] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://bintray.com/novik65/generic/download_file?file_path=ruTorrent-3.7.zip' > ) } spids: [33116] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<rtorrent>} {<screen>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<unrar-free>})] spids: [33145 33159] ) ] else_action: [(C {<G_AGI>} {<unrar>})] redirects: [] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<mkdir>} {<-p>} {<'/var/www/rutorrent'>}) (C {<mv>} {<ruTorrent-> <Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'>} {<'/var/www/rutorrent/'>} ) (C {<rm>} {<-R>} {<ruTorrent-> <Id.Lit_Star '*'>}) ] spids: [33089 33108] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<132>} spids: [33248] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<aria2>})] spids: [33279 33293] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/aria2_'>)} spids: [33311] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <armv6.7z>)} spids: [33340] ) ] redirects: [] ) ] spids: [33322 33336] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <armv7.7z>)} spids: [33369] ) ] redirects: [] ) ] spids: [33351 33365] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <arm64.7z>)} spids: [33398] ) ] redirects: [] ) ] spids: [33380 33394] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <x86_64.7z>)} spids: [33427] ) ] redirects: [] ) ] spids: [33409 33423] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<libc-ares2>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>} ) (C {<7z>} {<x>} {<-y>} {<package.7z>}) (C {<rm>} {<package.7z>}) (C {<mv>} {<aria2_> <Id.Lit_Star '*'>} {<'/usr/local/bin/aria2c'>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/bin/aria2c'>}) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/ziahamza/webui-aria2/archive/master.zip'>)} spids: [33507] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<cp>} {<-R>} {<webui-aria2> <Id.Lit_Star '*'>} {<'/var/www/aria2'>}) (C {<rm>} {<-R>} {<webui-aria2> <Id.Lit_Star '*'>}) ] spids: [33252 33271] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<116>} spids: [33573] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/SickRage/SickRage/archive/master.zip'>)} spids: [33604] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<python>} {<libxslt1.1>} {<libxml2>} {<python-openssl>} {<python-xmltodict>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<unrar-free>})] spids: [33636 33650] ) ] else_action: [(C {<G_AGI>} {<unrar>})] redirects: [] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<mkdir>} {<-p>} {<'/etc/sickrage'>}) (C {<mv>} {<SickRage-> <Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'>} {<'/etc/sickrage/'>} ) (C {<rm>} {<-R>} {<SickRage-> <Id.Lit_Star '*'>}) ] spids: [33577 33596] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<50>} spids: [33733] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://github.com/syncthing/syncthing/releases/download/v0.14.42/syncthing-linux-arm-v0.14.42.tar.gz' > ) } spids: [33794] ) ] redirects: [] ) ] spids: [33768 33790] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://github.com/syncthing/syncthing/releases/download/v0.14.42/syncthing-linux-arm64-v0.14.42.tar.gz' > ) } spids: [33823] ) ] redirects: [] ) ] spids: [33805 33819] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://github.com/syncthing/syncthing/releases/download/v0.14.42/syncthing-linux-amd64-v0.14.42.tar.gz' > ) } spids: [33852] ) ] redirects: [] ) ] spids: [33834 33848] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {<https> <Id.Lit_Colon ':'> <'//github.com/syncthing/syncthing'>} ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>}) (C {<tar>} {<xzvf>} {<package.tar>}) (C {<rm>} {<package.tar>}) (C {<mkdir>} {<-p>} {<'/etc/syncthing'>}) (C {<cp>} {<-R>} {<syncthing-> <Id.Lit_Star '*'> <'/syncthing'>} {<'/etc/syncthing/'>} ) (C {<rm>} {<-R>} {<syncthing-> <Id.Lit_Star '*'>}) ] spids: [33737 33756] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<134>} spids: [33943] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS1='> name: INSTALL_URL_ADDRESS1 ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/libjpeg8_8d1-2_armhf.deb' > ) } spids: [34016] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS2='> name: INSTALL_URL_ADDRESS2 ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/libssl1.0.0_1.0.2l-1_bpo8+1_armhf.deb' > ) } spids: [34035] ) ] redirects: [] ) ] ) (C {<G_AGI>} {<libpng12-0>}) ] spids: [33990 34012] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS1='> name: INSTALL_URL_ADDRESS1 ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/libjpeg8_8d1-2_amd64.deb' > ) } spids: [34069] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS2='> name: INSTALL_URL_ADDRESS2 ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/libpng12-0_1.2.50-2+deb8u3_amd64.deb' > ) } spids: [34088] ) ] redirects: [] ) (C {<AGI>} {<libpng12-0>}) ] ) ] spids: [34051 34065] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS1))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS1))} {<-O>} {<package.deb>}) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS2))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS2))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [34136 34150] ) ] else_action: [] redirects: [] ) (C {<G_AGI>} {<libfontconfig1>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://patch.codelathe.com/tonido/live/installer/armv6l-rpi/tonido.tar.gz' > ) } spids: [34233] ) ] redirects: [] ) ] spids: [34207 34229] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://www.tonido.com/download.php?tonido64.tar.gz'>)} spids: [34262] ) ] redirects: [] ) ] spids: [34244 34258] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>}) (C {<mkdir>} {<'/etc/tonido'>}) (C {<tar>} {<xvf>} {<package.tar>} {<-C>} {<'/etc/tonido'>}) (C {<rm>} {<package.tar>}) ] spids: [33947 33966] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<113>} spids: [34322] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<chromium-browser>})] spids: [34375 34389] ) ] else_action: [(C {<G_AGI>} {<chromium>})] redirects: [] ) ] spids: [34357 34371] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/chromium_52.0.2743.116-1-deb8u1.1_armhf.deb' > ) } spids: [34447] ) ] redirects: [] ) ] spids: [34421 34443] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/chromium_52.0.2743.116-1-deb8u1.1_arm64.deb' > ) } spids: [34476] ) ] redirects: [] ) ] spids: [34458 34472] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) right: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 20>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {<libgnome-keyring0>} {<libnspr4>} {<libnss3>} {<libnss3-1d>} {<libspeechd2>} {<libxslt1.1>} {<libxss1>} {<xdg-utils>} {<libgnome-keyring-common>} {<libltdl7>} ) ] spids: [34523 34545] ) ] else_action: [(C {<G_AGF>})] redirects: [] ) (C {<wget>} {<http> <Id.Lit_Colon ':'> < '//dietpi.com/downloads/binaries/all/chromium-l10n_52.0.2743.116-1-deb8u1.1_all.deb' > } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<wget>} {<http> <Id.Lit_Colon ':'> < '//dietpi.com/downloads/binaries/all/chromedriver_52.0.2743.116-1-deb8u1.1_armhf.deb' > } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) ] spids: [34608 34630] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<wget>} {<http> <Id.Lit_Colon ':'> < '//dietpi.com/downloads/binaries/all/chromedriver_52.0.2743.116-1-deb8u1.1_arm64.deb' > } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) ] spids: [34657 34671] ) ] else_action: [] redirects: [] ) (C {<rm>} {<package.deb>}) (C {<apt-mark>} {<hold>} {<chromium>} {<chromedriver>}) ] redirects: [] ) ] spids: [34326 34345] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<136>} spids: [34730] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://github.com/Motion-Project/motion/releases/download/release-4.1.1/pi_jessie_motion_4.1.1-1_armhf.deb' > ) } spids: [34783] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ <'http://github.com/Motion-Project/motion'>)}) (C {<G_AGI>} {<v4l-utils>} {<python>} {<python-dev>} {<curl>} {<libssl-dev>} {<libcurl4-openssl-dev>} {<libjpeg-dev>} {<zlib1g-dev>} {<libx264-142>} {<libavcodec56>} {<libavformat56>} {<libmysqlclient18>} {<libswscale3>} {<libpq5>} ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<pip>} {<install>} {<motioneye>}) ] spids: [34765 34779] ) ] else_action: [ (C {<G_AGI>} {<v4l-utils>} {<python>} {<python-dev>} {<curl>} {<libssl-dev>} {<libcurl4-openssl-dev>} {<libjpeg-dev>} {<zlib1g-dev>} ) (C {<G_AGI>} {<motion>}) (C {<pip>} {<install>} {<motioneye>}) ] redirects: [] ) ] spids: [34734 34753] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<137>} spids: [34940] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://davesteele.github.io/cloudprint-service'>)} spids: [34992] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <'/repo'>)} spids: [35011] ) ] redirects: [] ) (command.Simple words: [ {<echo>} {<-e>} { (DQ <'deb '> ($ Id.VSub_DollarName INSTALL_URL_ADDRESS) <' cloudprint-jessie main'> ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apt/sources.list.d/cloudprint.list'>} ) ] more_env: [] do_fork: T ) (command.Pipeline children: [ (C {<wget>} {<-q>} {<-O>} {<->} {<https> <Id.Lit_Colon ':'> <'//davesteele.github.io/key-366150CE.pub.txt'> } ) (C {<apt-key>} {<add>} {<->}) ] negated: F stderr_indices: [] ) (C {<G_AGUP>}) (C {<G_AGI>} {<cloudprint-service>}) ] spids: [34971 34985] ) ] else_action: [(C {<G_AGI>} {<cloudprint-service>})] redirects: [] ) ] spids: [34944 34963] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<138>} spids: [35086] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://virtualhere.com/sites/default/files/usbserver/vhusbd'>)} spids: [35117] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <arm>)} spids: [35154] ) ] redirects: [] ) ] spids: [35128 35150] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <arm64>)} spids: [35183] ) ] redirects: [] ) ] spids: [35165 35179] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <x86_64>)} spids: [35212] ) ] redirects: [] ) ] spids: [35194 35208] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<mkdir>} {<-p>} {<'/etc/vhusbd'>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<'/etc/vhusbd/vhusbd'>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/vhusbd/vhusbd'>}) ] spids: [35090 35109] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<139>} spids: [35267] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<local>} {<Id.Lit_VarLike 'version='> (SQ <2.3.2>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (DQ <'https://github.com/sabnzbd/sabnzbd/archive/'> ($ Id.VSub_DollarName version) <.zip> ) } spids: [35307] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<par2>} {<python-dev>} {<libffi-dev>} {<libssl-dev>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<unrar-free>})] spids: [35340 35354] ) ] else_action: [(C {<G_AGI>} {<unrar>})] redirects: [] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<mkdir>} {<-p>} {<'/etc/sabnzbd'>}) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/etc/sabnzbd'>}) (C {<rm>} {<package.zip>}) (C {<mv>} {<'/etc/sabnzbd/sabnzbd-'> (DQ ($ Id.VSub_DollarName version)) <'/'> <Id.Lit_Star '*'> } {<'/etc/sabnzbd/'>} ) (C {<rm>} {<-R>} {<'/etc/sabnzbd/sabnzbd-'> (DQ ($ Id.VSub_DollarName version))}) (C {<pip>} {<install>} {<cheetah>} {<cryptography>} {<sabyenc>}) ] spids: [35271 35290] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<141>} spids: [35456] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/Fornoth/spotify-connect-web/releases'>)} spids: [35487] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <'/download/0.0.3-alpha/spotify-connect-web_0.0.3-alpha.tar.gz'>)} spids: [35504] ) ] redirects: [] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>}) (C {<tar>} {<zxvf>} {<package.tar>} {<-C>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'>} ) (C {<rm>} {<package.tar>}) ] spids: [35460 35479] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<142>} spids: [35550] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://github.com/CouchPotato/CouchPotatoServer/archive/master.zip' > ) } spids: [35581] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<libffi-dev>} {<libssl-dev>} {<python-lxml>} {<python3-lxml>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (command.Simple words: [{<rm>} {<-R>} {<'/etc/couchpotato'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<mv>} {<CouchPotato> <Id.Lit_Star '*'>} {<'/etc/couchpotato'>}) (C {<pip>} {<install>} {<--upgrade>} {<pyopenssl>}) ] spids: [35554 35573] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<143>} spids: [35669] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/phanan/koel/archive/v3.7.0.zip'>)} spids: [35700] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<python>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<mv>} {<koel-> <Id.Lit_Star '*'>} {<'/var/www/koel'>}) (command.Simple words: [{<php>} {<-r>} {(DQ <'readfile(\'https://getcomposer.org/installer\');'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<composer-setup.php>} ) ] more_env: [] do_fork: T ) (C {<php>} {<composer-setup.php>}) (C {<php>} {<-r>} {(DQ <'unlink(\'composer-setup.php\');'>)}) (C {<mv>} {<composer.phar>} {<'/usr/local/bin/composer'>}) (C {<cd>} {<'/var/www/koel'>}) (C {<npm>} {<install>} {<yarn>} {<-g>} {<--unsafe-perm>}) (C {<composer>} {<install>}) (C {<npm>} {<install>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) ] spids: [35673 35692] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<144>} spids: [35831] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<apt-key>} {<adv>} {<--keyserver>} {<keyserver.ubuntu.com>} {<--recv-keys>} {<FDA5DFFC>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {<-e>} {(DQ <'deb [arch=armhf] https://apt.sonarr.tv/ master main'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apt/sources.list.d/sonarr.list'>} ) ] more_env: [] do_fork: T ) (C {<dpkg>} {<--add-architecture>} {<armhf>}) ] spids: [35875 35889] ) ] else_action: [ (command.Simple words: [{<echo>} {<-e>} {(DQ <'deb https://apt.sonarr.tv/ master main'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apt/sources.list.d/sonarr.list'>} ) ] more_env: [] do_fork: T ) ] redirects: [] ) (C {<G_AGUP>}) (C {<G_AGI>} {<nzbdrone>}) ] spids: [35835 35854] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<145>} spids: [35953] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://api.github.com/repos/Radarr/Radarr/releases'>)} spids: [35984] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<mono-devel>} {<mediainfo>} {<sqlite3>} {<libmono-cil-dev>}) (C {<wget>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<curl>} {<-s>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<grep>} {<linux.tar.gz>}) (C {<grep>} {<browser_download_url>}) (C {<head>} {<-1>}) (C {<cut>} {<-d>} { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } {<-f>} {<4>} ) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } {<-O>} {<package.tar>} ) (C {<tar>} {<-xf>} {<package.tar>} {<-C>} {<'/opt/'>}) (C {<rm>} {<package.tar>}) ] spids: [35957 35976] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<146>} spids: [36085] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/JonnyWong16/plexpy.git'>)} spids: [36116] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<python>}) (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} ) (C {<mv>} {<plexpy>} {<'/opt/'>}) ] spids: [36089 36108] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<147>} spids: [36167] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://api.github.com/repos/Jackett/Jackett/releases'>)} spids: [36198] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<mono-devel>}) (C {<wget>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<curl>} {<-s>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<grep>} {<Jackett.Binaries.Mono.tar.gz>}) (C {<grep>} {<browser_download_url>}) (C {<head>} {<-1>}) (C {<cut>} {<-d>} { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) } {<-f>} {<4>} ) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } {<-O>} {<package.tar>} ) (C {<tar>} {<-xvf>} {<package.tar>}) (C {<rm>} {<package.tar>}) (C {<mkdir>} {<'/opt/jackett'>}) (C {<mv>} {<'Jackett/'> <Id.Lit_Star '*'>} {<'/opt/jackett'>}) (C {<rm>} {<-R>} {<Jackett>}) ] spids: [36171 36190] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<148>} spids: [36312] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dist.jriver.com/latest/mediacenter/mediacenter22native.list' > ) } spids: [36343] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (command.Pipeline children: [ (C {<wget>} {<-q>} {<-O>} {<->} {<http> <Id.Lit_Colon ':'> <'//dist.jriver.com/mediacenter'> <Id.Lit_Splice '@jriver'> <.com.gpg.key> } ) (C {<apt-key>} {<add>} {<->}) ] negated: F stderr_indices: [] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<'/etc/apt/sources.list.d/mediacenter22.list'>} ) (C {<G_AGUP>}) (C {<G_AGI>} {<mediacenter22>}) ] spids: [36316 36335] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<149>} spids: [36411] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://nzbget.net'>)} spids: [36442] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <'/download/nzbget-latest-bin-linux.run'>)} spids: [36457] ) ] redirects: [] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.run>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget'>}) (C {<sh>} {<package.run>} {<--destdir>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget'>} ) (C {<rm>} {<package.run>}) ] spids: [36415 36434] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<155>} spids: [36511] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/Hellowlol/HTPC-Manager.git'>)} spids: [36542] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<python>} {<python-pip>} {<python-imaging>} {<python-dev>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/htpc-manager'>} ) (C {<mv>} {(DQ ($ Id.VSub_DollarName HOME)) <'/HTPC-Manager/'> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/htpc-manager/'>} ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/HTPC-Manager'>}) (C {<pip>} {<install>} {<psutil>}) ] spids: [36515 36534] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<153>} spids: [36653] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/foosel/OctoPrint.git'>)} spids: [36684] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<python>} {<python-dev>}) (C {<git>} {<clone>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<mv>} {<OctoPrint> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/octoprint'>} ) (C {<cd>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/octoprint'>}) (C {<python>} {<setup.py>} {<install>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) ] spids: [36657 36676] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<154>} spids: [36758] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://download.roonlabs.com/builds/RoonServer_linuxx64.tar.bz2'>)} spids: [36789] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<libav-tools>} {<cifs-utils>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>}) (C {<tar>} {<xvf>} {<package.tar>}) (C {<rm>} {<package.tar>}) (C {<mv>} {<RoonServer>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roonserver'>} ) ] spids: [36762 36781] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<156>} spids: [36854] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir op: <Id.Redir_TLess '<<<'> loc: (redir_loc.Fd fd:0) arg: {(DQ <'steam steam/question select I AGREE'>)} ) ] more_env: [] do_fork: T ) (C {<G_AGI>} {<steam>}) ] spids: [36858 36877] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<158>} spids: [36909] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://dl.minio.io/server/minio/release/linux-amd64/minio' > ) } spids: [36967] ) ] redirects: [] ) ] spids: [36949 36963] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://dl.minio.io/server/minio/release/linux-arm/minio'>)} spids: [36978] ) ] redirects: [] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {<-O>} {<'/usr/local/bin/minio'>} {($ Id.VSub_DollarName INSTALL_URL_ADDRESS)} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/bin/minio'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://github.com/minio/minio-service/raw/master/linux-systemd/minio.service' > ) } spids: [37023] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {<-O>} {<'/etc/systemd/system/minio.service'>} {($ Id.VSub_DollarName INSTALL_URL_ADDRESS)} ) (C {<adduser>} {<--system>} {<--group>} {<minio-user>}) (C {<mkdir>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/minio-data'>}) ] spids: [36913 36932] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<162>} spids: [37087] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://get.docker.com'>)} spids: [37118] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {<-O>} {<DockerInstall.sh>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<DockerInstall.sh>}) (C {<'./DockerInstall.sh'>}) ] spids: [37091 37110] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<161>} spids: [37172] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://FuguHub.com/install/FuguHub.linux.install'>)} spids: [37221] ) ] redirects: [] ) ] spids: [37203 37217] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://FuguHub.com/releases/raspberrypi/install.sh'>)} spids: [37232] ) ] redirects: [] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {<-O>} {<FHinstall.sh>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<FHinstall.sh>}) (C {<'./FHinstall.sh'>}) (C {<rm>} {<FHinstall.sh>}) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//fuguhub.com/box.zip'>} {<-O>} {<'/home/bd/applications/box.zip'>} ) ] spids: [37176 37195] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<164>} spids: [37298] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://ci.mengcraft.com:8080/job/nukkit/lastStableBuild/artifact/target/nukkit-1.0-SNAPSHOT.jar' > ) } spids: [37329] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<mkdir>} {<'/usr/local/bin/nukkit'>}) (C {<wget>} {<-O>} {<'/usr/local/bin/nukkit/nukkit.jar'>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} ) ] spids: [37302 37321] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<165>} spids: [37369] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://dl.gitea.io/gitea/1.3.2/gitea-1.3.2-'>)} spids: [37400] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <linux-arm-6>)} spids: [37429] ) ] redirects: [] ) ] spids: [37411 37425] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <linux-arm-7>)} spids: [37458] ) ] redirects: [] ) ] spids: [37440 37454] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <linux-arm64>)} spids: [37487] ) ] redirects: [] ) ] spids: [37469 37483] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <linux-amd64>)} spids: [37516] ) ] redirects: [] ) ] spids: [37498 37512] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/gitea/gitea-repositories'>} ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/gitea/gitea'>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/gitea/gitea'>} ) ] spids: [37373 37392] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<159>} spids: [37584] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 160>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/allo_web_interface_v5.7z' > ) } spids: [37632] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>}) (C {<7z>} {<x>} {<-y>} {<package.7z>} {<'-o/var/www/'>}) (C {<rm>} {<package.7z>}) ] spids: [37591 37624] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<163>} spids: [37682] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/gmrender_1_'>)} spids: [37713] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <amd64.deb>)} spids: [37737] ) ] redirects: [] ) ] spids: [37719 37733] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <arm64.deb>)} spids: [37762] ) ] redirects: [] ) ] spids: [37744 37758] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <armv7.deb>)} spids: [37787] ) ] redirects: [] ) ] spids: [37769 37783] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='> name: INSTALL_URL_ADDRESS ) op: assign_op.PlusEqual rhs: {(SQ <armv6.deb>)} spids: [37812] ) ] redirects: [] ) ] spids: [37794 37808] ) ] else_action: [] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<libupnp6>} {<gstreamer1.0-plugins-base>} {<gstreamer1.0-plugins-good>} {<gstreamer1.0-plugins-bad>} {<gstreamer1.0-plugins-ugly>} {<gstreamer1.0-alsa>} ) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>}) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [37686 37705] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<166>} spids: [37879] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>})] spids: [37883 37902] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<167>} spids: [37923] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://dtcooper.github.io/raspotify/key.asc'>)} spids: [37954] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (command.Pipeline children: [ (C {<wget>} {<-O>} {<->} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<apt-key>} {<add>} {<->}) ] negated: F stderr_indices: [] ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'deb https://dtcooper.github.io/raspotify jessie main'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apt/sources.list.d/raspotify.list'>} ) ] more_env: [] do_fork: T ) (C {<G_AGUP>}) (C {<G_AGI>} {<raspotify>}) ] spids: [37927 37946] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<168>} spids: [38018] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ <'http://dietpi.com/downloads/binaries/moode/rel-stretch-r40b9.zip'> ) } spids: [38049] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>}) (C {<unzip>} {<-o>} {<package.zip>}) (C {<G_AGI>} {<rpi-update>} {<mpc>} {<memcached>} {($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME) <-memcache>} {<bs2b-ladspa>} {<libbs2b0>} {<libasound2-plugin-equal>} {<telnet>} {<automake>} {<sysstat>} {<tcpdump>} {<shellinabox>} {<udisks-glue>} {<exfat-fuse>} {<inotify-tools>} {<libav-tools>} ) (C {<G_AGI>} {<dnsmasq>} {<hostapd>}) (C {<G_AGI>} {<bluez>} {<bluez-firmware>} {<dh-autoreconf>} {<expect>} {<libortp-dev>} {<libbluetooth-dev>} {<libasound2-dev>} {<libusb-dev>} {<libglib2.0-dev>} {<libudev-dev>} {<libical-dev>} {<libreadline-dev>} {<libsbc1>} {<libsbc-dev>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<pi-bluetooth>})] spids: [38190 38204] ) ] else_action: [] redirects: [] ) (C {<systemctl>} {<stop>} {<shellinabox>}) (C {<systemctl>} {<disable>} {<shellinabox>}) (C {<systemctl>} {<disable>} {<hostapd>}) (C {<systemctl>} {<disable>} {<dnsmasq>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) (C {<git>} {<clone>} {<https> <Id.Lit_Colon ':'> <'//github.com/Arkq/bluez-alsa.git'>} {<--depth> <Id.Lit_Equals '='> <1>} ) (C {<cd>} {<bluez-alsa>}) (C {<autoreconf>} {<--install>}) (C {<mkdir>} {<build>}) (C {<cd>} {<build>}) (C {<'../configure'>} {<--disable-hcitop>} {<--with-alsaplugindir> <Id.Lit_Equals '='> <'/usr/lib/arm-linux-gnueabihf/alsa-lib'> } ) (C {<make>} {<-j>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<nproc>} {<--all>}) right: <Id.Eof_RParen _> ) } ) (C {<make>} {<install>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) (C {<rm>} {<-rf>} {<bluez-alsa>}) (C {<systemctl>} {<daemon-reload>}) (C {<systemctl>} {<disable>} {<bluetooth.service>}) (C {<systemctl>} {<disable>} {<bluealsa.service>}) (C {<systemctl>} {<disable>} {<hciuart.service>}) (C {<mkdir>} {<-p>} {<'/var/run/bluealsa'>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) (C {<cp>} {<'./rel-stretch/other/wiringpi/wiringPi-'> <Id.Lit_Star '*'> <.tar.gz>} {<'./'>} ) (C {<tar>} {<xfz>} {<'./wiringPi-'> <Id.Lit_Star '*'> <.tar.gz>}) (C {<cd>} {<wiringPi-96344ff>}) (C {<'./build'>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) (C {<rm>} {<-rf>} {<'./wiringPi-'> <Id.Lit_Star '*'>}) (C {<cp>} {<'./rel-stretch/other/rotenc/rotenc.c'>} {<'./'>}) (C {<gcc>} {<-std> <Id.Lit_Equals '='> <c99>} {<rotenc.c>} {<-orotenc>} {<-lwiringPi>}) (C {<cp>} {<'./rotenc'>} {<'/usr/local/bin'>}) (C {<rm>} {<'./rotenc'> <Id.Lit_Star '*'>}) ] spids: [38022 38041] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<169>} spids: [38483] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://github.com/google/aiyprojects-raspbian.git'>)} spids: [38514] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<git>} {<clone>} {<-b>} {<voicekit>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/voice-recognizer-raspi'>} ) (C {<cd>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/voice-recognizer-raspi'>} ) (C {<pip3>} {<install>} {<--upgrade>} {<pip>} {<virtualenv>}) (C {<virtualenv>} {<--system-site-packages>} {<-p>} {<python3>} {<env>}) (C {<'env/bin/pip'>} {<install>} {<-r>} {<requirements.txt>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<'env/bin/pip'>} {<install>} {<google-assistant-library> <Id.Lit_Equals '='> <Id.Lit_Equals '='> <0.0.3> } ) ] spids: [38591 38605] ) ] else_action: [] redirects: [] ) (C {<sed>} {<-i>} {(DQ <'s#/home/pi#'> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'#g'>)} {<'systemd/voice-recognizer.service'>} ) (C {<sed>} {<-i>} {(DQ <'/^User=/c'> <Id.Lit_BadBackslash '\\'> <'User=dietpi'>)} {<'systemd/voice-recognizer.service'>} ) (C {<cp>} {<'systemd/voice-recognizer.service'>} {<'/etc/systemd/system/'>}) (C {<cp>} {<'systemd/alsa-init.service'>} {<'/etc/systemd/system/'>}) (C {<source>} {<'env/bin/activate'>}) (C {<cp>} {<'src/assistant_library_with_button_demo.py'>} {<'src/main.py'>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) ] spids: [38487 38506] ) ] else_action: [] redirects: [] ) (C {<G_ERROR_HANDLER_RESET>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Install_Linux_Software body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<5>} spids: [38731] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<alsa-utils>}) (C {<local>} {<Id.Lit_VarLike 'soundcard='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^CONFIG_SOUNDCARD='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName soundcard))} {<Id.Lit_Equals '='>} {(DQ <none>)} {<Id.Lit_RBracket ']'>} ) (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName soundcard))} {<Id.Lit_Equals '='>} {(DQ <default>)} {<Id.Lit_RBracket ']'>} ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'soundcard='> name: soundcard ) op: assign_op.Equal rhs: {(SQ <rpi-bcm2835>)} spids: [38856] ) ] redirects: [] ) ] spids: [38805 38852] ) ] else_action: [] redirects: [] ) (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<soundcard>} {(DQ ($ Id.VSub_DollarName soundcard))} ) ] spids: [38735 38754] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<6>} spids: [38885] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<xcompmgr>} {<xterm>} {<xinit>} {<xauth>} {<xserver-xorg>} {<dbus-x11>} {<xfonts-base>} {<x11-xserver-utils>} {<x11-common>} {<x11-utils>} {<--no-install-recommends>} ) (C {<mkdir>} {<-p>} {<'/etc/xdg/autostart'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 38973 stdin_parts: [ <'[Desktop Entry]\n'> <'Type=Application\n'> <'Name=xcompmgr\n'> <'NoDisplay=true\n'> <'Exec=xcompmgr -a\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/xdg/autostart/xcompmgr.desktop'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<sleep>} {<1>})] spids: [38980 38994] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 12>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {<aml-libs-odroid>} {<mali450-odroid>} {<xf86-video-mali-odroid>} {<libump-odroid>} {<--no-install-recommends>} ) (C {<G_AGI>} {<xf86-video-fbturbo-odroid>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 39107 stdin_parts: [ <'Section '> <Id.Right_DoubleQuote '"'> <Device> <Id.Right_DoubleQuote '"'> <'\n'> <' Identifier '> <Id.Right_DoubleQuote '"'> <FBTurbo> <Id.Right_DoubleQuote '"'> <'\n'> <' Driver '> <Id.Right_DoubleQuote '"'> <fbturbo> <Id.Right_DoubleQuote '"'> <'\n'> <' Option '> <Id.Right_DoubleQuote '"'> <fbdev> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> <'/dev/fb0'> <Id.Right_DoubleQuote '"'> <'\n'> <' Option '> <Id.Right_DoubleQuote '"'> <SwapbuffersWait> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> <true> <Id.Right_DoubleQuote '"'> <'\n'> <' #Option '> <Id.Right_DoubleQuote '"'> <Rotate> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> <CCW> <Id.Right_DoubleQuote '"'> <'\n'> <'EndSection\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/X11/xorg.conf'>} ) ] more_env: [] do_fork: T ) ] spids: [39008 39022] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 11>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {<firmware-samsung>} {<xf86-video-armsoc-odroid>} {<malit628-odroid>} {<--no-install-recommends>} ) (C {<cp>} {<'/DietPi/dietpi/conf/xorg_xu4.conf'>} {<'/etc/X11/xorg.conf'>}) ] spids: [39114 39128] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGI>} {<aml-libs-odroid>} {<xf86-video-mali-odroid>} {<libump-odroid>} {<mali450-odroid>} {<--no-install-recommends>} ) (C {<cp>} {<'/DietPi/dietpi/conf/xorg_c1.conf'>} {<'/etc/X11/xorg.conf'>}) ] spids: [39156 39170] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 40>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/libump_1-1_arm64.deb' > ) } spids: [39218] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<wget>} {<http> <Id.Lit_Colon ':'> < '//dietpi.com/downloads/binaries/all/xf86-video-fbturbo_1-1_arm64.deb' > } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 39325 stdin_parts: [ <'Section '> <Id.Right_DoubleQuote '"'> <Device> <Id.Right_DoubleQuote '"'> <'\n'> <' Identifier '> <Id.Right_DoubleQuote '"'> <'Allwinner A10/A13 FBDEV'> <Id.Right_DoubleQuote '"'> <'\n'> <' Driver '> <Id.Right_DoubleQuote '"'> <fbturbo> <Id.Right_DoubleQuote '"'> <'\n'> <' Option '> <Id.Right_DoubleQuote '"'> <fbdev> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> <'/dev/fb0'> <Id.Right_DoubleQuote '"'> <'\n'> <' Option '> <Id.Right_DoubleQuote '"'> <SwapbuffersWait> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> <true> <Id.Right_DoubleQuote '"'> <'\n'> <'EndSection\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/X11/xorg.conf'>} ) ] more_env: [] do_fork: T ) ] spids: [39200 39214] ) ] else_action: [] redirects: [] ) ] spids: [38889 38908] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<151>} spids: [39379] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<nvidia-driver>} {<nvidia-xconfig>}) (C {<G_AGI>} {<libgl1-nvidia-glx> <Id.Lit_Colon ':'> <i386>}) ] spids: [39383 39402] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<152>} spids: [39442] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<avahi-daemon>})] spids: [39446 39465] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<16>} spids: [39483] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<build-essential>} {<make>} {<autoconf>} {<automake>} {<--no-install-recommends>} ) ] spids: [39487 39506] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<170>} spids: [39531] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<ntp>}) (C {<systemctl>} {<stop>} {<ntp>}) (C {<rm>} {<'/etc/init.d/ntp'>}) (C {<Reset_NTPD>}) ] spids: [39535 39554] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<17>} spids: [39592] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<git>} {<--no-install-recommends>})] spids: [39596 39615] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<4>} spids: [39634] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<vifm>})] spids: [39638 39657] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<20>} spids: [39674] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<vim>})] spids: [39678 39697] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<21>} spids: [39714] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<vim-tiny>})] spids: [39718 39737] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<127>} spids: [39754] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<neovim>})] spids: [39758 39777] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<18>} spids: [39794] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<emacs>})] spids: [39798 39817] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<12>} spids: [39834] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<iperf>})] spids: [39838 39857] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<3>} spids: [39874] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<mc>})] spids: [39878 39897] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<19>} spids: [39914] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<jed>})] spids: [39918 39937] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<10>} spids: [39954] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<iftop>})] spids: [39958 39977] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<11>} spids: [39994] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<iptraf>})] spids: [39998 40017] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<13>} spids: [40034] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<mtr-tiny>})] spids: [40038 40057] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<14>} spids: [40074] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<nload>})] spids: [40078 40097] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<15>} spids: [40114] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<tcpdump>})] spids: [40118 40137] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<0>} spids: [40154] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<openssh-client>})] spids: [40158 40177] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<1>} spids: [40194] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.Simple words: [{<rm>} {<'/mnt/samba/readme.txt'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<G_AGI>} {<smbclient>} {<cifs-utils>} {<--no-install-recommends>}) ] spids: [40198 40217] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<2>} spids: [40253] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.Simple words: [{<rm>} {<'/mnt/ftp_client/readme.txt'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<G_AGI>} {<curlftpfs>}) ] spids: [40257 40276] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<110>} spids: [40308] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.Simple words: [{<rm>} {<'/mnt/nfs_client/readme.txt'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<G_AGI>} {<nfs-common>}) ] spids: [40312 40331] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<104>} spids: [40363] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<dropbear>}) (C {<sed>} {<-i>} {(SQ <'/NO_START=1/c\\NO_START=0'>)} {<'/etc/default/dropbear'>}) ] spids: [40367 40386] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<105>} spids: [40419] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<openssh-server>} {<--no-install-recommends>}) (C {<sed>} {<-i>} {(SQ <'/PermitRootLogin[[:space:]]/d'>)} {<'/etc/ssh/sshd_config'>}) (command.Simple words: [ {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n#Allow root login over SSH'> <Id.Lit_BadBackslash '\\'> <'nPermitRootLogin yes'> ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/ssh/sshd_config'>} ) ] more_env: [] do_fork: T ) (C {<rm>} {<'/etc/ssh/ssh_host_key'>}) (C {<rm>} {<'/etc/ssh/ssh_host_rsa_key'>}) (C {<rm>} {<'/etc/ssh/ssh_host_dsa_key'>}) (C {<ssh-keygen>} {<-f>} {<'/etc/ssh/ssh_host_key'>} {<-N>} {(SQ )} {<-t>} {<rsa1>}) (C {<ssh-keygen>} {<-f>} {<'/etc/ssh/ssh_host_rsa_key'>} {<-N>} {(SQ )} {<-t>} {<rsa>}) (C {<ssh-keygen>} {<-f>} {<'/etc/ssh/ssh_host_dsa_key'>} {<-N>} {(SQ )} {<-t>} {<dsa>}) (C {<chmod>} {<-R>} {<700>} {<'/etc/ssh/'>}) (C {<systemctl>} {<restart>} {<ssh>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 0>} ) op: assign_op.Equal rhs: {<2>} spids: [40599] ) ] redirects: [] ) ] spids: [40423 40442] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<103>} spids: [40612] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<sed>} {<-i>} { (SQ < '/\\/var\\/log/c\\tmpfs \\/var\\/log tmpfs defaults,size=20m,noatime,nodev,nosuid,mode=1777 0 0' > ) } {<'/etc/fstab'>} ) ] spids: [40616 40635] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<101>} spids: [40663] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<logrotate>} {<--no-install-recommends>}) ] spids: [40667 40686] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<102>} spids: [40705] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<rsyslog>} {<--no-install-recommends>}) ] spids: [40709 40728] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<7>} spids: [40747] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/rpi/ffmpeg_rpi.7z'>)} spids: [40800] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>} ) (C {<7z>} {<x>} {<-y>} {<package.7z>} {<-offmpeg_rpi>}) (C {<dpkg>} {<-i>} {<'ffmpeg_rpi/'> <Id.Lit_Star '*'> <.deb>}) (C {<rm>} {<-R>} {<ffmpeg_rpi>}) (C {<rm>} {<package.7z>}) ] spids: [40782 40796] ) ] else_action: [(C {<G_AGI>} {<ffmpeg>})] redirects: [] ) ] spids: [40751 40770] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<8>} spids: [40881] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 40948 stdin_parts: [ <'Package: openjdk-8-jdk\n'> <'Pin: release a=jessie-backports\n'> <'Pin-Priority: 990\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apt/preferences.d/99-dietpi-openjdk-8-jdk'>} ) ] more_env: [] do_fork: T ) (C {<G_AGI>} {<openjdk-8-jdk>} {<-t>} {<jessie-backports>}) ] spids: [40916 40930] ) ] else_action: [(C {<G_AGI>} {<openjdk-8-jdk>})] redirects: [] ) ] spids: [40885 40904] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<9>} spids: [40979] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'http://raw.githubusercontent.com/taaem/nodejs-linux-installer/master/node-install.sh' > ) } spids: [41014] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<node_install.sh>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<node_install.sh>}) (C {<'./node_install.sh'>}) (C {<rm>} {<node_install.sh>}) ] spids: [40983 41002] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<130>} spids: [41065] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'https://bootstrap.pypa.io/get-pip.py'>)} spids: [41096] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<G_AGI>} {<python>} {<python-dev>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<install.py>}) (C {<python>} {<'./install.py'>}) (C {<rm>} {<install.py>}) (C {<G_AGI>} {<python-pip>} {<python3-pip>}) ] spids: [41069 41088] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<140>} spids: [41160] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/rpi/sdl2_rpi.7z'>)} spids: [41191] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>}) (C {<7z>} {<x>} {<-y>} {<package.7z>} {<-osdl2_rpi>}) (C {<rm>} {<package.7z>}) (C {<dpkg>} {<-i>} {<'sdl2_rpi/no_opengl_x11/'> <Id.Lit_Star '*'> <.deb>}) (C {<rm>} {<-R>} {<sdl2_rpi>}) ] spids: [41164 41183] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<150>} spids: [41263] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (C {<apt-key>} {<adv>} {<--keyserver>} {<hkp> <Id.Lit_Colon ':'> <'//keyserver.ubuntu.com'> <Id.Lit_Colon ':'> <80>} {<--recv-keys>} {<3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'deb http://download.mono-project.com/repo/debian raspbian'> ($ Id.VSub_DollarName G_DISTRO_NAME) <' main'> ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apt/sources.list.d/mono-xamarin.list'>} ) ] more_env: [] do_fork: T ) ] spids: [41316 41330] ) ] else_action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'deb http://download.mono-project.com/repo/debian '> ($ Id.VSub_DollarName G_DISTRO_NAME) <' main'> ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apt/sources.list.d/mono-xamarin.list'>} ) ] more_env: [] do_fork: T ) ] redirects: [] ) (C {<G_AGUP>}) (C {<G_AGI>} {<mono-runtime>}) ] spids: [41267 41286] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<157>} spids: [41392] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HA_USER='> name:HA_USER) op: assign_op.Equal rhs: {(DQ <homeassistant>)} spids: [41423] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HA_USERROOT='> name: HA_USERROOT ) op: assign_op.Equal rhs: {(DQ <'/home/'> ($ Id.VSub_DollarName HA_USER))} spids: [41429] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HA_SRVROOT='> name:HA_SRVROOT) op: assign_op.Equal rhs: {(DQ <'/srv/homeassistant'>)} spids: [41436] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HA_PYENV_ACTIVATION='> name: HA_PYENV_ACTIVATION ) op: assign_op.Equal rhs: { (DQ <'export PATH='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName HA_USERROOT) <'/.pyenv/bin:'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <PATH> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'; eval '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'(pyenv init -)'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'; eval '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(pyenv virtualenv-init -)'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } spids: [41442] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HA_PYTHON_VERSION='> name: HA_PYTHON_VERSION ) op: assign_op.Equal rhs: {(DQ <3.6.3>)} spids: [41464] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'HA_USER: '> ($ Id.VSub_DollarName HA_USER))}) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'HA_USERROOT: '> ($ Id.VSub_DollarName HA_USERROOT))} ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'HA_SRVROOT: '> ($ Id.VSub_DollarName HA_SRVROOT))} ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'HA_PYENV_ACTIVATION: '> ($ Id.VSub_DollarName HA_PYENV_ACTIVATION))} ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'HA_PYTHON_VERSION: '> ($ Id.VSub_DollarName HA_PYTHON_VERSION))} ) (C {<G_AGI>} {<libssl-dev>} {<git>} {<cmake>} {<libc-ares-dev>} {<uuid-dev>} {<daemon>} {<curl>} {<libgnutls28-dev>} {<libgnutlsxx28>} {<nmap>} {<net-tools>} {<sudo>} {<libglib2.0-dev>} {<libudev-dev>} {<swig>} {<libssl-dev>} {<libusb-1.0-0>} {<gcc>} {<libssl-dev>} {<libffi-dev>} {<libbz2-dev>} {<zlib1g-dev>} {<libreadline-dev>} {<libsqlite3-dev>} {<libncurses5-dev>} {<libncursesw5-dev>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGI>} {<libmysqlclient-dev>})] spids: [41581 41595] ) ] else_action: [(C {<G_AGI>} {<libmariadbclient-dev>})] redirects: [] ) (C {<adduser>} {<--system>} {($ Id.VSub_DollarName HA_USER)}) (C {<addgroup>} {($ Id.VSub_DollarName HA_USER)}) (C {<usermod>} {<-G>} {<dialout>} {<-a>} {($ Id.VSub_DollarName HA_USER)}) (C {<usermod>} {<-G>} {<dietpi>} {<-a>} {($ Id.VSub_DollarName HA_USER)}) (C {<mkdir>} {($ Id.VSub_DollarName HA_SRVROOT)}) (C {<chown>} {($ Id.VSub_DollarName HA_USER) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName HA_USER) } {($ Id.VSub_DollarName HA_SRVROOT)} ) (C {<su>} {<--shell>} {<'/bin/bash'>} {<--command>} { (DQ <'cd '> ($ Id.VSub_DollarName HA_USERROOT) < '; curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash' > ) } {($ Id.VSub_DollarName HA_USER)} ) (C {<su>} {<--shell>} {<'/bin/bash'>} {<--command>} { (DQ <'cd '> ($ Id.VSub_DollarName HA_USERROOT) <'; '> ($ Id.VSub_DollarName HA_PYENV_ACTIVATION) <'; pyenv install '> ($ Id.VSub_DollarName HA_PYTHON_VERSION) ) } {($ Id.VSub_DollarName HA_USER)} ) (C {<su>} {<--shell>} {<'/bin/bash'>} {<--command>} { (DQ <'cd '> ($ Id.VSub_DollarName HA_SRVROOT) <'; '> ($ Id.VSub_DollarName HA_PYENV_ACTIVATION) <'; pyenv virtualenv '> ($ Id.VSub_DollarName HA_PYTHON_VERSION) <' homeassistant-'> ($ Id.VSub_DollarName HA_PYTHON_VERSION) ) } {($ Id.VSub_DollarName HA_USER)} ) (C {<su>} {<--shell>} {<'/bin/bash'>} {<--command>} { (DQ <'cd '> ($ Id.VSub_DollarName HA_SRVROOT) <'; '> ($ Id.VSub_DollarName HA_PYENV_ACTIVATION) <'; pyenv local homeassistant-'> ($ Id.VSub_DollarName HA_PYTHON_VERSION) ) } {($ Id.VSub_DollarName HA_USER)} ) (C {<su>} {<--shell>} {<'/bin/bash'>} {<--command>} { (DQ <'cd '> ($ Id.VSub_DollarName HA_SRVROOT) <'; '> ($ Id.VSub_DollarName HA_PYENV_ACTIVATION) <'; pyenv local'> ) } {($ Id.VSub_DollarName HA_USER)} ) (C {<su>} {<--shell>} {<'/bin/bash'>} {<--command>} { (DQ <'cd '> ($ Id.VSub_DollarName HA_SRVROOT) <'; '> ($ Id.VSub_DollarName HA_PYENV_ACTIVATION) <'; pyenv activate homeassistant-'> ($ Id.VSub_DollarName HA_PYTHON_VERSION) <'; pip3 install colorlog PyMySQL mysqlclient'> ) } {($ Id.VSub_DollarName HA_USER)} ) (C {<su>} {<--shell>} {<'/bin/bash'>} {<--command>} { (DQ <'cd '> ($ Id.VSub_DollarName HA_SRVROOT) <'; '> ($ Id.VSub_DollarName HA_PYENV_ACTIVATION) <'; pyenv activate homeassistant-'> ($ Id.VSub_DollarName HA_PYTHON_VERSION) <'; pip3 install --upgrade homeassistant'> ) } {($ Id.VSub_DollarName HA_USER)} ) (command.Simple words: [{<echo>} {(SQ <'#!/bin/bash'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName HA_SRVROOT) <'/homeassistant-start.sh'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <'cd '> ($ Id.VSub_DollarName HA_SRVROOT))}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName HA_SRVROOT) <'/homeassistant-start.sh'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {(DQ ($ Id.VSub_DollarName HA_PYENV_ACTIVATION))}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName HA_SRVROOT) <'/homeassistant-start.sh'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [ {<echo>} { (DQ <'pyenv activate homeassistant-'> ($ Id.VSub_DollarName HA_PYTHON_VERSION) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName HA_SRVROOT) <'/homeassistant-start.sh'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [ {<echo>} { (DQ <'hass -c '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName HA_USERROOT) <'/.homeassistant'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName HA_SRVROOT) <'/homeassistant-start.sh'>} ) ] more_env: [] do_fork: T ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/srv/homeassistant/homeassistant-start.sh'>} ) ] spids: [41396 41415] ) ] else_action: [] redirects: [] ) (C {<G_ERROR_HANDLER_RESET>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Uninstall_NonSelected_Choices body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<read>} {<-r>} {<line>})]) body: (command.DoGroup children: [(C {<Uninstall_Software>} {(DQ ($ Id.VSub_DollarName line))})] ) redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName UNINSTALL_FILE)} ) ] ) (C {<rm>} {($ Id.VSub_DollarName UNINSTALL_FILE)}) ] spids: [41954 41967] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Apply_SSHServer_Choices body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)} right: {($ Id.VSub_DollarName INDEX_SSHSERVER_CURRENT)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {<-e>} {(DQ <104>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {<-e>} {(DQ <105>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) ] spids: [42053 42067] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 104>} ) op: assign_op.Equal rhs: {<1>} spids: [42125] ) ] redirects: [] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <105>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) ] spids: [42106 42121] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 105>} ) op: assign_op.Equal rhs: {<1>} spids: [42172] ) ] redirects: [] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <104>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) ] spids: [42153 42168] ) ] else_action: [] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Stopping SSH servers'>)}) (command.Simple words: [{<service>} {<ssh>} {<stop>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<service>} {<dropbear>} {<stop>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_SSHSERVER_CURRENT='> name: INDEX_SSHSERVER_CURRENT ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)} spids: [42247] ) ] redirects: [] ) ] spids: [42031 42045] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Apply_FileServer_Choices body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)} right: {($ Id.VSub_DollarName INDEX_FILESERVER_CURRENT)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {<-e>} {(DQ <96>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {<-e>} {(DQ <94>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) ] spids: [42297 42311] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 94>} ) op: assign_op.Equal rhs: {<1>} spids: [42372] ) ] redirects: [] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <96>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) ] spids: [42353 42368] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 96>} ) op: assign_op.Equal rhs: {<1>} spids: [42419] ) ] redirects: [] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <94>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) ] spids: [42400 42415] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_FILESERVER_CURRENT='> name: INDEX_FILESERVER_CURRENT ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)} spids: [42451] ) ] redirects: [] ) ] spids: [42275 42289] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Apply_Logging_Choices body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)} right: {($ Id.VSub_DollarName INDEX_LOGGING_CURRENT)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {<-e>} {(DQ <101>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {<-e>} {(DQ <103>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {<-e>} {(DQ <102>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) ] spids: [42501 42515] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 103>} ) op: assign_op.Equal rhs: {<1>} spids: [42588] ) ] redirects: [] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <101>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {<-e>} {(DQ <102>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) ] spids: [42569 42584] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 103>} ) op: assign_op.Equal rhs: {<1>} spids: [42650] ) ] redirects: [] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <101>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {<-e>} {(DQ <102>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) ] spids: [42631 42646] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 3>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 101>} ) op: assign_op.Equal rhs: {<1>} spids: [42712] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 102>} ) op: assign_op.Equal rhs: {<1>} spids: [42720] ) ] redirects: [] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <103>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} ) ] more_env: [] do_fork: T ) ] spids: [42693 42708] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_LOGGING_CURRENT='> name: INDEX_LOGGING_CURRENT ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)} spids: [42752] ) ] redirects: [] ) ] spids: [42479 42493] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Apply_Webserver_Preference body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)} right: {($ Id.VSub_DollarName INDEX_WEBSERVER_CURRENT)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_WEBSERVER_CURRENT='> name: INDEX_WEBSERVER_CURRENT ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)} spids: [42794] ) ] redirects: [] ) ] spids: [42772 42786] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Install_Apply_Permissions body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<chown>} {<-R>} {<www-data> <Id.Lit_Colon ':'> <www-data>} {<'/var/www'>}) (C {<chmod>} {<-R>} {<775>} {<'/var/www'>}) (C {<chmod>} {<-R>} {<777>} {<'/var/www/ompd/tmp'>}) (C {<chmod>} {<-R>} {<777>} {<'/var/www/ompd/stream'>}) (C {<chmod>} {<-R>} {<777>} {<'/var/www/ompd/cache'>}) (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Colon ':'> <dietpi>} {<'/home/dietpi'>}) (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Colon ':'> <dietpi>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA))} ) (C {<chmod>} {<-R>} {<775>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA))}) (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Colon ':'> <dietpi>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'> <Id.Lit_Star '*'>} ) (C {<chmod>} {<-R>} {<775>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'> <Id.Lit_Star '*'>} ) (C {<chown>} {<-R>} {<mpd> <Id.Lit_Colon ':'> <audio>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/.mpd_cache'>} ) (C {<chown>} {<-R>} {<mysql> <Id.Lit_Colon ':'> <mysql>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql'>} ) (C {<chmod>} {<-R>} {<770>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql'>}) (C {<chown>} {<-R>} {<mineos> <Id.Lit_Colon ':'> <mineos>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos/serverdata'>} ) (C {<chown>} {<-R>} {<urbackup> <Id.Lit_Colon ':'> <urbackup>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/urbackup'>} ) (C {<chown>} {<-R>} {<www-data> <Id.Lit_Colon ':'> <www-data>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/dietpicam'>} ) (C {<chown>} {<-R>} {<www-data> <Id.Lit_Colon ':'> <www-data>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/pydio_data'>} ) (C {<local>} {<Id.Lit_VarLike 'datadir='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_OWNCLOUD_DATADIR='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/owncloud_data'>)} spids: [43124] ) ] redirects: [] ) ] ) (C {<chown>} {<-R>} {<www-data> <Id.Lit_Colon ':'> <www-data>} {(DQ ($ Id.VSub_DollarName datadir))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_NEXTCLOUD_DATADIR='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [43145] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/nextcloud_data'>)} spids: [43185] ) ] redirects: [] ) ] ) (C {<chown>} {<-R>} {<www-data> <Id.Lit_Colon ':'> <www-data>} {(DQ ($ Id.VSub_DollarName datadir))} ) (C {<chown>} {<-R>} {<minio-user> <Id.Lit_Colon ':'> <minio-user>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/minio-data'>} ) (C {<chown>} {<-R>} {<bd> <Id.Lit_Colon ':'> <bd>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/fuguhub-data/'>} ) (C {<chown>} {<-R>} {<nodered> <Id.Lit_Colon ':'> <nodered>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/node-red'>} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Install_Apply_Configs body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<23>} spids: [43448] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<rm>} {<'/usr/share/applications/lxrandr.desktop'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/pcmanfm/LXDE'>}) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/pcmanfm.conf'>} {<-O>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/pcmanfm/LXDE/pcmanfm.conf'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/pcmanfm-desktopitems.conf'> } {<-O>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/pcmanfm/LXDE/desktop-items-0.conf'>} ) (C {<sed>} {<-i>} {(SQ <'/use_trash=/c\\use_trash=0'>)} {<'/etc/xdg/libfm/libfm.conf'>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/lxpanel/LXDE/panels'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/panel'>} {<-O>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/lxpanel/LXDE/panels/panel'>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/openbox'>}) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/lxde-rc.xml'>} {<-O>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/openbox/lxde-rc.xml'>} ) (C {<ln>} {<-sf>} {<'/usr/share/applications/pcmanfm.desktop'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/pcmanfm.desktop'>} ) (C {<Create_Desktop_Shared_Items>}) ] spids: [43452 43471] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<24>} spids: [43639] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<ln>} {<-sf>} {<'/usr/share/applications/caja.desktop'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/caja.desktop'>} ) (C {<Create_Desktop_Shared_Items>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 12>} ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/etc/pulse/default.pa'>}) (C {<grep>} {<-ci>} {<-m1>} { (SQ < '^set-default-sink alsa_output.platform-odroid_hdmi.37.analog-stereo' > ) } ) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ < 'set-default-sink alsa_output.platform-odroid_hdmi.37.analog-stereo' > ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/pulse/default.pa'>} ) ] more_env: [] do_fork: T ) ] spids: [43695 43732] ) ] else_action: [] redirects: [] ) ] spids: [43643 43662] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<26>} spids: [43762] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Configuration>}) (C {<Create_Desktop_Shared_Items>})] spids: [43766 43785] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<25>} spids: [43805] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Configuration>}) (C {<Create_Desktop_Shared_Items>})] spids: [43809 43828] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<83>} spids: [43848] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {<'/var/www'>}) (C {<cp>} {<'/DietPi/dietpi/conf/apache2_jessie.conf'>} {<'/etc/apache2/apache2.conf'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 43928 stdin_parts: [ <'<VirtualHost *:80>\n'> <'ServerAdmin webmaster@localhost\n'> <'DocumentRoot /var/www\n'> <'\n'> <'ErrorLog '> (${ Id.VSub_Name APACHE_LOG_DIR) <'/error.log\n'> <'CustomLog '> (${ Id.VSub_Name APACHE_LOG_DIR) <'/access.log combined\n'> <'</VirtualHost>\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apache2/sites-available/000-default.conf'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 43953 stdin_parts: [ <'<IfModule mpm_event_module>\n'> <'StartServers\t\t '> ($ Id.VSub_DollarName G_HW_CPU_CORES) <'\n'> <'MinSpareThreads\t\t 1\n'> <'MaxSpareThreads\t\t 8\n'> <'ThreadLimit\t\t \t16\n'> <'ThreadsPerChild\t\t 4\n'> <'MaxRequestWorkers\t 50\n'> <'MaxConnectionsPerChild 0\n'> <'</IfModule>\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apache2/mods-available/mpm_event.conf'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 43978 stdin_parts: [ <'<IfModule mpm_prefork_module>\n'> <'StartServers\t\t '> ($ Id.VSub_DollarName G_HW_CPU_CORES) <'\n'> <'MinSpareServers\t\t 1\n'> <'MaxSpareServers\t\t '> ($ Id.VSub_DollarName G_HW_CPU_CORES) <'\n'> <'MaxRequestWorkers\t 50\n'> <'MaxConnectionsPerChild 0\n'> <'</IfModule>\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apache2/mods-available/mpm_prefork.conf'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 44003 stdin_parts: [ <'<IfModule mpm_worker_module>\n'> <'StartServers\t\t '> ($ Id.VSub_DollarName G_HW_CPU_CORES) <'\n'> <'MinSpareThreads\t\t 1\n'> <'MaxSpareThreads\t\t 8\n'> <'ThreadLimit\t\t \t16\n'> <'ThreadsPerChild\t\t 4\n'> <'MaxRequestWorkers\t 50\n'> <'MaxConnectionsPerChild 0\n'> <'</IfModule>\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apache2/mods-available/mpm_worker.conf'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<mv>} {<'/var/www/html/index.html'>} {<'/var/www/index.html'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<-R>} {<'/var/www/html'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<sed>} {<-i>} {(DQ <'/CustomLog /c'> <Id.Lit_BadBackslash '\\'> <' #CustomLog '>) (SQ <'${APACHE_LOG_DIR}'>) (DQ <'/access.log combined'>) } {<'/etc/apache2/sites-available/'> <Id.Lit_Star '*'>} ) (C {<sed>} {<-i>} {(DQ <'/LogLevel /c'> <Id.Lit_BadBackslash '\\'> <' LogLevel error'>)} {<'/etc/apache2/sites-available/'> <Id.Lit_Star '*'>} ) ] spids: [43852 43871] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<85>} spids: [44080] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {<'/var/www'>}) (C {<mkdir>} {<'/etc/nginx/sites-dietpi'>}) (C {<cp>} {<'/DietPi/dietpi/conf/nginx.conf'>} {<'/etc/nginx/nginx.conf'>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(DQ <'s#/run/php5-fpm.sock#/run/php/php7.0-fpm.sock#g'>)} {<'/etc/nginx/nginx.conf'>} ) ] spids: [44144 44158] ) ] else_action: [] redirects: [] ) (C {<sed>} {<-i>} { (DQ <'/worker_processes/c'> <Id.Lit_BadBackslash '\\'> <'worker_processes '> ($ Id.VSub_DollarName G_HW_CPU_CORES) <';'> ) } {<'/etc/nginx/nginx.conf'>} ) (C {<cp>} {<'/DietPi/dietpi/conf/nginx.site-available-default'>} {<'/etc/nginx/sites-available/default'>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(DQ <'s#/run/php5-fpm.sock#/run/php/php7.0-fpm.sock#g'>)} {<'/etc/nginx/sites-available/default'>} ) ] spids: [44211 44225] ) ] else_action: [] redirects: [] ) (C {<cp>} {<'/usr/share/nginx/html/index.html'>} {<'/var/www/index.html'>}) ] spids: [44084 44103] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<84>} spids: [44263] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {<'/var/www'>}) (C {<sed>} {<-i>} {(SQ <'/^server.document-root/c\\server.document-root = "/var/www"'>)} {<'/etc/lighttpd/lighttpd.conf'>} ) (C {<local>} {<Id.Lit_VarLike 'fp_php_fpm_sock='> (SQ <'/var/run/php/php7.0-fpm.sock'>)} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'fp_php_fpm_sock='> name: fp_php_fpm_sock ) op: assign_op.Equal rhs: {(SQ <'/var/run/php5-fpm.sock'>)} spids: [44352] ) ] redirects: [] ) ] spids: [44334 44348] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 44405 stdin_parts: [ <'# -*- depends: fastcgi -*-\n'> <'# /usr/share/doc/lighttpd/fastcgi.txt.gz\n'> < '# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi\n' > <'\n'> <'## Start an FastCGI server using php-fpm\n'> <'fastcgi.server += ( '> <Id.Right_DoubleQuote '"'> <.php> <Id.Right_DoubleQuote '"'> <' =>\n'> <' ((\n'> <' '> <Id.Right_DoubleQuote '"'> <socket> <Id.Right_DoubleQuote '"'> <' => '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName fp_php_fpm_sock) <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <broken-scriptfilename> <Id.Right_DoubleQuote '"'> <' => '> <Id.Right_DoubleQuote '"'> <enable> <Id.Right_DoubleQuote '"'> <'\n'> <' ))\n'> <')\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/lighttpd/conf-available/15-fastcgi-php.conf'>} ) ] more_env: [] do_fork: T ) (C {<lighttpd-enable-mod>} {<fastcgi>}) (C {<lighttpd-enable-mod>} {<fastcgi-php>}) (C {<mv>} {<'/var/www/html/index.lighttpd.html'>} {<'/var/www/'>}) (C {<service>} {<lighttpd>} {<force-reload>}) ] spids: [44267 44286] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<89>} spids: [44451] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 83>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<local>} {<Id.Lit_VarLike 'php_service='> (SQ <'/lib/systemd/system/apache2.service'>) } ) ] spids: [44486 44505] ) ] else_action: [ (C {<local>} {<Id.Lit_VarLike 'php_service='> (SQ <'/lib/systemd/system/php*-fpm.service'>) } ) (C {<sed>} {<-i>} {(SQ <'/cgi.fix_pathinfo=/c\\cgi.fix_pathinfo=1'>)} {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/php.ini'>} ) (C {<sed>} {<-i>} { (DQ <'/pm.max_children = /c'> <Id.Lit_BadBackslash '\\'> <'pm.max_children = '> (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Star left: {($ Id.VSub_DollarName G_HW_CPU_CORES)} right: {<Id.Lit_Digits 3>} ) ) ) } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/pm.start_servers = /c'> <Id.Lit_BadBackslash '\\'> <'pm.start_servers = '> ($ Id.VSub_DollarName G_HW_CPU_CORES) ) } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/pm.min_spare_servers = /c'> <Id.Lit_BadBackslash '\\'> <'pm.min_spare_servers = '> ($ Id.VSub_DollarName G_HW_CPU_CORES) ) } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/pm.max_spare_servers = /c'> <Id.Lit_BadBackslash '\\'> <'pm.max_spare_servers = '> ($ Id.VSub_DollarName G_HW_CPU_CORES) ) } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/env'> <Id.Lit_BadBackslash '\\'> <'[HOSTNAME'> <Id.Lit_BadBackslash '\\'> <']/c'> <Id.Lit_BadBackslash '\\'> <env> <Id.Lit_BadBackslash '\\'> <'[HOSTNAME'> <Id.Lit_BadBackslash '\\'> <'] = '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <HOSTNAME> ) } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/env'> <Id.Lit_BadBackslash '\\'> <'[PATH'> <Id.Lit_BadBackslash '\\'> <']/c'> <Id.Lit_BadBackslash '\\'> <env> <Id.Lit_BadBackslash '\\'> <'[PATH'> <Id.Lit_BadBackslash '\\'> <'] = /usr/local/bin:/usr/bin:/bin'> ) } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/env'> <Id.Lit_BadBackslash '\\'> <'[TMP'> <Id.Lit_BadBackslash '\\'> <']/c'> <Id.Lit_BadBackslash '\\'> <env> <Id.Lit_BadBackslash '\\'> <'[TMP'> <Id.Lit_BadBackslash '\\'> <'] = /var/tmp'> ) } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/env'> <Id.Lit_BadBackslash '\\'> <'[TMPDIR'> <Id.Lit_BadBackslash '\\'> <']/c'> <Id.Lit_BadBackslash '\\'> <env> <Id.Lit_BadBackslash '\\'> <'[TMPDIR'> <Id.Lit_BadBackslash '\\'> <'] = /var/tmp'> ) } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/env'> <Id.Lit_BadBackslash '\\'> <'[TEMP'> <Id.Lit_BadBackslash '\\'> <']/c'> <Id.Lit_BadBackslash '\\'> <env> <Id.Lit_BadBackslash '\\'> <'[TEMP'> <Id.Lit_BadBackslash '\\'> <'] = /var/tmp'> ) } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>} ) ] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'target_php_ini='> <0>}) (C {<local>} {<Id.Lit_VarLike 'target_php_cachesize='> (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Slash left: {($ Id.VSub_DollarName RAM_TOTAL)} right: {<Id.Lit_Digits 30>} ) ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName target_php_cachesize)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'target_php_cachesize='> name: target_php_cachesize ) op: assign_op.Equal rhs: {<10>} spids: [44819] ) ] redirects: [] ) ] spids: [44801 44815] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 83>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'target_php_ini='> name: target_php_ini ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/apache2/php.ini'>)} spids: [44855] ) ] redirects: [] ) ] spids: [44832 44851] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'target_php_ini='> name: target_php_ini ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/fpm/php.ini'>)} spids: [44867] ) ] redirects: [] ) ] redirects: [] ) (C {<sed>} {<-i>} {(DQ <'/opcache.enable=/c'> <Id.Lit_BadBackslash '\\'> <'opcache.enable=1'>)} {($ Id.VSub_DollarName target_php_ini)} ) (C {<sed>} {<-i>} { (DQ <'/opcache.memory_consumption=/c'> <Id.Lit_BadBackslash '\\'> <'opcache.memory_consumption='> ($ Id.VSub_DollarName target_php_cachesize) ) } {($ Id.VSub_DollarName target_php_ini)} ) (C {<sed>} {<-i>} { (DQ <'/opcache.revalidate_freq=/c'> <Id.Lit_BadBackslash '\\'> <'opcache.revalidate_freq=60'> ) } {($ Id.VSub_DollarName target_php_ini)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'target_php_ini='> name: target_php_ini ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/apcu.ini'>)} spids: [44924] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'target_php_cachesize+='> name: target_php_cachesize ) op: assign_op.PlusEqual rhs: {(DQ <M>)} spids: [44935] ) ] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'target_apc_ttl='> (SQ <259200>)}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 44974 stdin_parts: [ <'extension=apcu.so\n'> <'apc.shm_size='> ($ Id.VSub_DollarName target_php_cachesize) <'\n'> <'apc.ttl='> ($ Id.VSub_DollarName target_apc_ttl) <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName target_php_ini))} ) ] more_env: [] do_fork: T ) (C {<local>} {<Id.Lit_VarLike 'dietpi_php_ini='> (DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/dietpi.ini'>) } ) (C {<touch>} {($ Id.VSub_DollarName dietpi_php_ini)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [ {<grep>} {<-q>} {(SQ <'^\\s*PrivateTmp=true'>)} {($ Id.VSub_DollarName php_service)} ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<local>} {<Id.Lit_VarLike 'tmp_upload_dir='> (DQ <'/var/tmp'>)})] spids: [45005 45022] ) ] else_action: [ (C {<local>} {<Id.Lit_VarLike 'tmp_upload_dir='> (DQ <'/var/tmp/php_upload_tmp'>)} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName tmp_upload_dir))}) (C {<chown>} {<-R>} {<www-data> <Id.Lit_Colon ':'> <www-data>} {(DQ ($ Id.VSub_DollarName tmp_upload_dir))} ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <upload_tmp_dir>)} {($ Id.VSub_DollarName dietpi_php_ini)} ) (C {<sed>} {<-i>} { (DQ <'/upload_tmp_dir/c'> <Id.Lit_BadBackslash '\\'> <'upload_tmp_dir = '> ($ Id.VSub_DollarName tmp_upload_dir) ) } {($ Id.VSub_DollarName dietpi_php_ini)} ) (command.Simple words: [ {<echo>} {(DQ <'upload_tmp_dir = '> ($ Id.VSub_DollarName tmp_upload_dir))} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName dietpi_php_ini)} ) ] more_env: [] do_fork: T ) ] ) (C {<local>} {<Id.Lit_VarLike 'php_max_upload_size='> (DQ (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Slash left: (arith_expr.Binary op_id: Id.Arith_Slash left: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<php>} {<-r>} {(SQ <'print(PHP_INT_MAX);'>)}) right: <Id.Eof_RParen _> ) } right: {<Id.Lit_Digits 1024>} ) right: {<Id.Lit_Digits 1024>} ) ) <M> ) } ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <upload_max_filesize>)} {($ Id.VSub_DollarName dietpi_php_ini)} ) (C {<sed>} {<-i>} { (DQ <'/upload_max_filesize/c'> <Id.Lit_BadBackslash '\\'> <'upload_max_filesize = '> ($ Id.VSub_DollarName php_max_upload_size) ) } {($ Id.VSub_DollarName dietpi_php_ini)} ) (command.Simple words: [ {<echo>} { (DQ <'upload_max_filesize = '> ($ Id.VSub_DollarName php_max_upload_size) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName dietpi_php_ini)} ) ] more_env: [] do_fork: T ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <post_max_size>)} {($ Id.VSub_DollarName dietpi_php_ini)}) (C {<sed>} {<-i>} { (DQ <'/post_max_size/c'> <Id.Lit_BadBackslash '\\'> <'post_max_size = '> ($ Id.VSub_DollarName php_max_upload_size) ) } {($ Id.VSub_DollarName dietpi_php_ini)} ) (command.Simple words: [ {<echo>} {(DQ <'post_max_size = '> ($ Id.VSub_DollarName php_max_upload_size))} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName dietpi_php_ini)} ) ] more_env: [] do_fork: T ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 85>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} { (DQ <'/client_max_body_size/c'> <Id.Lit_BadBackslash '\\'> <' client_max_body_size '> ($ Id.VSub_DollarName php_max_upload_size) <';'> ) } {<'/etc/nginx/nginx.conf'>} ) ] spids: [45245 45264] ) ] else_action: [] redirects: [] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <default_charset>)} {($ Id.VSub_DollarName dietpi_php_ini)} ) (C {<sed>} {<-i>} {(SQ <'/default_charset/c\\default_charset = "UTF-8"'>)} {($ Id.VSub_DollarName dietpi_php_ini)} ) (command.Simple words: [{<echo>} {(SQ <'default_charset = "UTF-8"'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName dietpi_php_ini)} ) ] more_env: [] do_fork: T ) ] ) (C {<local>} {<Id.Lit_VarLike 'modules_to_enable='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<ls>} {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/mods-available'>} ) (C {<grep>} {(SQ <.ini>)}) (C {<sed>} {(SQ <'s/.ini//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (C {(${ Id.VSub_Name PHP_APT_PACKAGE_NAME) <enmod>} {(DQ ($ Id.VSub_DollarName modules_to_enable))} ) (command.Simple words: [{<echo>} {(DQ <'<?php phpinfo(); ?>'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/www/phpinfo.php'>} ) ] more_env: [] do_fork: T ) (C {<wget>} {<https> <Id.Lit_Colon ':'> <'//raw.githubusercontent.com/rlerdorf/opcache-status/master/opcache.php'> } {<-O>} {<'/var/www/opcache.php'>} ) (C {<wget>} {<https> <Id.Lit_Colon ':'> <'//github.com/krakjoe/apcu/raw/master/apc.php'>} {<-O>} {<'/var/www/apc.php'>} ) ] spids: [44455 44474] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<88>} spids: [45430] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<readlink>} {<'/var/lib/mysql'>}) right: <Id.Eof_RParen _> ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/mysql/'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_RUN_CMD>} {<systemctl>} {<stop>} {<mysql>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql'>} ) (C {<cp>} {<-a>} {<'/var/lib/mysql/'> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql/'>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<1>} { (DQ <'Moving of MySQL data store failed to '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/mysql. DietPi-Software will now exit'> ) } ) (C {<Exit_Destroy>}) ] spids: [45534 45548] ) ] else_action: [] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<rm>} {<-R>} {<'/var/lib/mysql'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<'/var/lib/mysql'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql'>} {<'/var/lib/mysql'>} ) (C {<chown>} {<mysql> <Id.Lit_Colon ':'> <mysql>} {<'/var/lib/mysql'>}) (command.Simple words: [{<Install_Apply_Permissions>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [45465 45488] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_RUN_CMD>} {<systemctl>} {<start>} {<mysql>}) (command.Simple words: [ {<mysql>} {<-e>} {(DQ <'install plugin unix_socket soname \'auth_socket\';'>)} ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<mysql>} {<-e>} { (DQ < 'grant all privileges on *.* to \'root\'@\'localhost\' identified via unix_socket with grant option;flush privileges' > ) } ) (command.Simple words: [ {<mysql>} {<-e>} { (DQ < 'drop user \'root\'@\'dietpi\';drop user \'root\'@\'127.0.0.1\';drop user \'root\'@\'::1\'' > ) } ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [45640 45654] ) ] else_action: [] redirects: [] ) ] spids: [45434 45453] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<90>} spids: [45753] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 84>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 85>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<ln>} {<-sf>} {<'/usr/share/phpmyadmin'>} {<'/var/www'>})] spids: [45788 45821] ) ] else_action: [] redirects: [] ) (C {<mysql>} {<-e>} {(DQ <'grant all privileges on *.* to phpmyadmin@localhost with grant option'>)} ) ] spids: [45757 45776] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<91>} spids: [45869] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <enmod>} {<redis>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [45873 45892] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<58>} spids: [45925] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 45987 stdin_parts: [ <'[Unit]\n'> <'Description=openbazaar\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'WorkingDirectory=/etc/openbazaar-server\n'> <'ExecStart='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<which>} {<python>}) right: <Id.Eof_RParen _> ) <' openbazaard.py start -a 0.0.0.0\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/openbazaar.service'>} ) ] more_env: [] do_fork: T ) ] spids: [45929 45948] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<133>} spids: [45998] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<-R>} {<'/etc/yacy'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 46062 stdin_parts: [ <'[Unit]\n'> <'Description=DietPi YaCy Service\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'RemainAfterExit=yes\n'> <'ExecStart=/bin/bash -c \'/etc/yacy/startYACY.sh\'\n'> <'ExecStop=/bin/bash -c \'/etc/yacy/stopYACY.sh\'\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/yacy.service'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<daemon-reload>}) (C {<'/etc/yacy/bin/passwd.sh'>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}) ] spids: [46002 46021] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<47>} spids: [46090] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Enabling needed PHP modules: https://doc.owncloud.org/server/latest/admin_manual/installation/source_installation.html#php-extensions' > ) } ) (C {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <enmod>} {<curl>} {<gd>} {<intl>} {<json>} {<pdo_mysql>} {<opcache>} {<apcu>} {<redis>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<phpenmod>} {<ctype>} {<dom>} {<fileinfo>} {<iconv>} {<mbstring>} {<posix>} {<simplexml>} {<xmlwriter>} {<xmlreader>} {<zip>} {<exif>} ) ] spids: [46156 46170] ) ] else_action: [] redirects: [] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'apc.enable_cli='>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/apcu.ini'>} ) (C {<sed>} {<-i>} {(SQ <'/apc.enable_cli=/c\\apc.enable_cli=1'>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/apcu.ini'>} ) (command.Simple words: [{<echo>} {(SQ <'apc.enable_cli=1'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/apcu.ini'>} ) ] more_env: [] do_fork: T ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 83>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Apache webserver found, enable ownCloud specific configuration: "https://doc.owncloud.org/server/latest/admin_manual/installation/source_installation.html#configure-apache-web-server"' > ) } ) (command.Simple words: [{<a2enmod>} {<rewrite>} {<headers>} {<env>} {<dir>} {<mime>}] redirects: [ (redir op: <Id.Redir_Great '1>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<local>} {<Id.Lit_VarLike 'owncloud_conf='> (SQ <'/etc/apache2/sites-available/owncloud.conf'>) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName owncloud_conf)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Existing ownCloud configuration found, will save the new one for review and comparison to: /etc/apache2/sites-available/owncloud.conf.dietpi-new' > ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'owncloud_conf='> name: owncloud_conf ) op: assign_op.Equal rhs: { (SQ < '/etc/apache2/sites-available/owncloud.conf.dietpi-new' > ) } spids: [46328] ) ] redirects: [] ) ] spids: [46304 46315] ) ] else_action: [] redirects: [] ) (C {<cp>} {<'/DietPi/dietpi/conf/apache.ownnextcloud.conf'>} {($ Id.VSub_DollarName owncloud_conf)} ) (C {<sed>} {<-i>} {(SQ <'s/nextcloud/owncloud/g'>)} {($ Id.VSub_DollarName owncloud_conf)} ) (C {<sed>} {<-i>} {(SQ <'s/php_admin_value/#php_admin_value/'>)} {($ Id.VSub_DollarName owncloud_conf)} ) (command.Simple words: [{<a2ensite>} {<owncloud>}] redirects: [ (redir op: <Id.Redir_Great '1>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [46247 46266] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 85>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Nginx webserver found, enable ownCloud specific configuration: "https://doc.owncloud.org/server/latest/admin_manual/installation/nginx_configuration.html#owncloud-in-a-subdir-of-nginx"' > ) } ) (C {<local>} {<Id.Lit_VarLike 'owncloud_config='> (SQ <'/etc/nginx/sites-dietpi/owncloud.config'>) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName owncloud_config)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Existing ownCloud configuration found, will save the new one for review and comparison to: /etc/nginx/sites-dietpi/owncloud.config.dietpi-new' > ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'owncloud_config='> name: owncloud_config ) op: assign_op.Equal rhs: { (SQ < '/etc/nginx/sites-dietpi/owncloud.config.dietpi-new' > ) } spids: [46449] ) ] redirects: [] ) ] spids: [46425 46436] ) ] else_action: [] redirects: [] ) (C {<cp>} {<'/DietPi/dietpi/conf/nginx.sites-dietpi.owncloud.config'>} {($ Id.VSub_DollarName owncloud_config)} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(SQ <'s|/run/php5-fpm.sock|/run/php/php7.0-fpm.sock|g'>)} {($ Id.VSub_DollarName owncloud_config)} ) (C {<sed>} {<-i>} { (SQ < 's/#fastcgi_request_buffering off;/fastcgi_request_buffering off;/g' > ) } {($ Id.VSub_DollarName owncloud_config)} ) ] spids: [46471 46485] ) ] else_action: [] redirects: [] ) (command.Simple words: [ {<wget>} {<-q>} {<--spider>} {<--timeout> <Id.Lit_Equals '='> <10>} {<--tries> <Id.Lit_Equals '='> <2>} {<https> <Id.Lit_Colon ':'> <'//localhost'>} ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 0>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 5>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(SQ <'s/#fastcgi_param HTTPS on;/fastcgi_param HTTPS on;/g'>)} {($ Id.VSub_DollarName owncloud_config)} ) ] spids: [46543 46564] ) ] else_action: [] redirects: [] ) ] spids: [46385 46404] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 46607 stdin_parts: [ <'[mysqld]\n'> <'innodb_large_prefix=1\n'> <'innodb_file_format=barracuda\n'> <'innodb_file_per_table=1\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/mysql/mariadb.conf.d/99-dietpi-4byte.cnf'>} ) ] more_env: [] do_fork: T ) (C {<G_RUN_CMD>} {<systemctl>} {<restart>} {<mysql>}) (C {<.>} {<'/DietPi/dietpi/func/dietpi-globals'>}) (C {<local>} {<Id.Lit_VarLike 'config_php='> (SQ <'/var/www/owncloud/config/config.php'>)} ) (C {<local>} {<Id.Lit_VarLike 'datadir='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(SQ <'^[[:blank:]]*SOFTWARE_OWNCLOUD_DATADIR='>)} {<'/DietPi/dietpi.txt'>} ) (C {<sed>} {(SQ <'s/^.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/owncloud_data'>)} spids: [46680] ) ] redirects: [] ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName datadir))}) (command.Simple words: [{<Install_Apply_Permissions>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql/owncloud'> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'ownCloud database found, will NOT overwrite.'>)} ) ] spids: [46704 46718] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName datadir)) <'/dietpi-owncloud-database-backup.sql'> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'ownCloud database backup found, starting recovery...'>)} ) (C {<local>} {<Id.Lit_VarLike 'dbuser='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <'^[[:blank:]]*\'dbuser\''>)} {($ Id.VSub_DollarName config_php)} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/[\',]//g'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (C {<local>} {<Id.Lit_VarLike 'dbpass='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <'^[[:blank:]]*\'dbpassword\''>)} {($ Id.VSub_DollarName config_php)} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/[\',]//g'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<owncloud>} {(DQ ($ Id.VSub_DollarName dbuser))} {(DQ ($ Id.VSub_DollarName dbpass))} ) (command.Simple words: [{<mysql>} {<-uroot>} {<owncloud>}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName datadir)) <'/dietpi-owncloud-database-backup.sql'> } ) ] more_env: [] do_fork: T ) ] spids: [46736 46750] ) ] else_action: [ (C {<local>} {<Id.Lit_VarLike 'username='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} { (SQ < '^[[:blank:]]*SOFTWARE_OWNCLOUD_NEXTCLOUD_USERNAME=' > ) } ) (C {<sed>} {(SQ <'s/^.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName username))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'username='> name: username ) op: assign_op.Equal rhs: {(SQ <admin>)} spids: [46901] ) ] redirects: [] ) ] ) (C {<mysql>} {<-e>} { (DQ < 'grant all privileges on *.* to \'tmp_root\'@\'localhost\' identified by \'' > ($ Id.VSub_DollarName GLOBAL_PW) <'\' with grant option'> ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {<grep>} {<-q>} {(DQ <'\'installed\' => true,'>)} {($ Id.VSub_DollarName config_php)} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<occ>} {<maintenance> <Id.Lit_Colon ':'> <install>} {<--no-interaction>} {<--database>} {(DQ <mysql>)} {<--database-name>} {(DQ <owncloud>)} {<--database-user>} {(DQ <tmp_root>)} {<--database-pass>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} {<--admin-user>} {(DQ ($ Id.VSub_DollarName username))} {<--admin-pass>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} {<--data-dir>} {(DQ ($ Id.VSub_DollarName datadir))} ) ] ) (C {<mysql>} {<-e>} {(DQ <'drop user \'tmp_root\'@\'localhost\''>)}) ] redirects: [] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'mysql.utf8mb4\''>)} {($ Id.VSub_DollarName config_php)} ) (C {<sed>} {<-i>} { (DQ <'/^[[:blank:]]*\'dbpassword\'/a '> <Id.Lit_BadBackslash '\\'> <' '> <Id.Lit_BadBackslash '\\'> <' \'mysql.utf8mb4\' => true,'> ) } {($ Id.VSub_DollarName config_php)} ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {($ Id.VSub_DollarName config_php)}) (C {<grep>} {<-ci>} {<-m1>} {(DQ <'1 => \''>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} { (DQ <'/0 => \'localhost\'/a 1 => \''> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<4p>} {<'/DietPi/dietpi/.network'>}) right: <Id.Eof_RParen _> ) <'\','> ) } {($ Id.VSub_DollarName config_php)} ) (C {<sed>} {<-i>} { (DQ <'/1 => \'/a 2 => \''> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<cat>} {<'/etc/hostname'>}) right: <Id.Eof_RParen _> ) <'\','> ) } {($ Id.VSub_DollarName config_php)} ) ] spids: [47047 47075] ) ] else_action: [] redirects: [] ) (C {<sed>} {<-i>} {(DQ <'s|\'http://localhost\'|\'http://localhost/owncloud\'|g'>)} {($ Id.VSub_DollarName config_php)} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 83>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'htaccess.RewriteBase\''>)} {($ Id.VSub_DollarName config_php)} ) (C {<sed>} {<-i>} { (DQ <'/^[[:blank:]]*\'overwrite.cli.url\'/a '> <Id.Lit_BadBackslash '\\'> <' '> <Id.Lit_BadBackslash '\\'> <' \'htaccess.RewriteBase\' => \'/owncloud\','> ) } {($ Id.VSub_DollarName config_php)} ) ] ) (C {<occ>} {<maintenance> <Id.Lit_Colon ':'> <update> <Id.Lit_Colon ':'> <htaccess>} ) ] spids: [47142 47161] ) ] else_action: [] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'memcache.local\''>)} {($ Id.VSub_DollarName config_php)} ) (C {<sed>} {<-i>} { (DQ <'/^[[:blank:]]*\'version\'/a '> <Id.Lit_BadBackslash '\\'> <' '> <Id.Lit_BadBackslash '\\'> <' \'memcache.local\' => \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> <OC> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> <Memcache> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> <'APCu\','> ) } {($ Id.VSub_DollarName config_php)} ) ] ) (C {<local>} {<Id.Lit_VarLike 'redis_conf='> (DQ <'/etc/redis/redis*.conf'>)}) (command.AndOr ops: [Id.Op_DPipe Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*unixsocket /'>)} {($ Id.VSub_DollarName redis_conf)} ) (C {<grep>} {<-q>} {(SQ <'^[[:blank:]]*#unixsocket /'>)} {($ Id.VSub_DollarName redis_conf)} ) (C {<sed>} {<-i>} {(SQ <'s|^[[:blank:]]*#unixsocket /|unixsocket /|'>)} {($ Id.VSub_DollarName redis_conf)} ) (command.Simple words: [{<echo>} {(SQ <'unixsocket /var/run/redis/redis.sock'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName redis_conf)} ) ] more_env: [] do_fork: T ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*#?unixsocketperm '>)} {($ Id.VSub_DollarName redis_conf)} ) (C {<sed>} {<-i>} { (DQ <'/^[[:blank:]]*#?unixsocketperm /c'> <Id.Lit_BadBackslash '\\'> <'unixsocketperm 770'> ) } {($ Id.VSub_DollarName redis_conf)} ) (command.Simple words: [{<echo>} {(SQ <'unixsocketperm 770'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName redis_conf)} ) ] more_env: [] do_fork: T ) ] ) (C {<local>} {<Id.Lit_VarLike 'redis_sock='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {(DQ <'^[[:blank:]]*unixsocket /'>)} {($ Id.VSub_DollarName redis_conf)} ) (C {<sed>} {(DQ <'s/^[[:blank:]]*unixsocket //'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (C {<usermod>} {<-a>} {<-G>} {<redis>} {<www-data>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {($ Id.VSub_DollarName config_php)}) (C {<grep>} {<-ci>} {<-m1>} {(DQ <'\'memcache.locking\''>)} ) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} { (DQ <Id.Lit_BadBackslash '\\'> <'#\'memcache.local\'#a '> <Id.Lit_BadBackslash '\\'> <' '> <Id.Lit_BadBackslash '\\'> <' \'filelocking.enabled\' => true,'> <Id.Lit_BadBackslash '\\'> <n> <' \'memcache.locking\' => \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> <OC> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <Id.Lit_BadBackslash '\\'> <Memcache> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <Id.Lit_BadBackslash '\\'> <'Redis\','> <Id.Lit_BadBackslash '\\'> <n> <' \'redis\' => ['> <Id.Lit_BadBackslash '\\'> <n> <' \'host\' => \''> ($ Id.VSub_DollarName redis_sock) <'\','> <Id.Lit_BadBackslash '\\'> <n> <' \'port\' => 0,'> <Id.Lit_BadBackslash '\\'> <n> <' ],'> ) } {($ Id.VSub_DollarName config_php)} ) ] spids: [47388 47416] ) ] else_action: [] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Simple words: [{<crontab>} {<-u>} {<www-data>} {<-l>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<grep>} {<-q>} {(SQ <'/var/www/owncloud/cron.php'>)}) ] negated: F stderr_indices: [] ) (command.Pipeline children: [ (command.Subshell child: (command.CommandList children: [ (command.Sentence child: (command.Simple words: [{<crontab>} {<-u>} {<www-data>} {<-l>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (C {<echo>} {(DQ <'*/15 * * * * php /var/www/owncloud/cron.php'>)}) ] ) redirects: [] ) (C {<crontab>} {<-u>} {<www-data>} {<->}) ] negated: F stderr_indices: [] ) ] ) (C {<occ>} {<background> <Id.Lit_Colon ':'> <cron>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'maintenance\' => true,'>)} {($ Id.VSub_DollarName config_php)} ) (C {<occ>} {<maintenance> <Id.Lit_Colon ':'> <mode>} {<--on>}) ] ) ] spids: [46094 46113] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<114>} spids: [47575] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Enabling needed PHP modules: https://docs.nextcloud.com/server/12/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation' > ) } ) (C {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <enmod>} {<curl>} {<gd>} {<intl>} {<json>} {<pdo_mysql>} {<opcache>} {<apcu>} {<redis>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<phpenmod>} {<ctype>} {<dom>} {<fileinfo>} {<iconv>} {<mbstring>} {<posix>} {<simplexml>} {<xmlwriter>} {<xmlreader>} {<zip>} {<exif>} ) ] spids: [47641 47655] ) ] else_action: [] redirects: [] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'apc.enable_cli='>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/apcu.ini'>} ) (C {<sed>} {<-i>} {(SQ <'/apc.enable_cli=/c\\apc.enable_cli=1'>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/apcu.ini'>} ) (command.Simple words: [{<echo>} {(SQ <'apc.enable_cli=1'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/apcu.ini'>} ) ] more_env: [] do_fork: T ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'opcache.enable='>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>} ) (C {<sed>} {<-i>} {(SQ <'/opcache.enable=/c\\opcache.enable=1'>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>} ) (command.Simple words: [{<echo>} {(SQ <'opcache.enable=1'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'> } ) ] more_env: [] do_fork: T ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'opcache.enable_cli='>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>} ) (C {<sed>} {<-i>} {(SQ <'/opcache.enable_cli=/c\\opcache.enable_cli=1'>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>} ) (command.Simple words: [{<echo>} {(SQ <'opcache.enable_cli=1'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'> } ) ] more_env: [] do_fork: T ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'opcache.interned_strings_buffer='>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>} ) (C {<sed>} {<-i>} { (SQ < '/opcache.interned_strings_buffer=/c\\opcache.interned_strings_buffer=8' > ) } {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>} ) (command.Simple words: [{<echo>} {(SQ <'opcache.interned_strings_buffer=8'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'> } ) ] more_env: [] do_fork: T ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'opcache.max_accelerated_files='>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>} ) (C {<sed>} {<-i>} { (SQ < '/opcache.max_accelerated_files=/c\\opcache.max_accelerated_files=10000' > ) } {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>} ) (command.Simple words: [{<echo>} {(SQ <'opcache.max_accelerated_files=10000'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'> } ) ] more_env: [] do_fork: T ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'opcache.save_comments='>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>} ) (C {<sed>} {<-i>} {(SQ <'/opcache.save_comments=/c\\opcache.save_comments=1'>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>} ) (command.Simple words: [{<echo>} {(SQ <'opcache.save_comments=1'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'> } ) ] more_env: [] do_fork: T ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'opcache.revalidate_freq='>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>} ) (C {<sed>} {<-i>} {(SQ <'/opcache.revalidate_freq=/c\\opcache.revalidate_freq=1'>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>} ) (command.Simple words: [{<echo>} {(SQ <'opcache.revalidate_freq=1'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'> } ) ] more_env: [] do_fork: T ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 83>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Apache webserver found, enable Nextcloud specific configuration: "https://docs.nextcloud.com/server/12/admin_manual/installation/source_installation.html#apache-web-server-configuration"' > ) } ) (command.Simple words: [{<a2enmod>} {<rewrite>} {<headers>} {<env>} {<dir>} {<mime>}] redirects: [ (redir op: <Id.Redir_Great '1>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<local>} {<Id.Lit_VarLike 'nextcloud_conf='> (SQ <'/etc/apache2/sites-available/nextcloud.conf'>) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName nextcloud_conf)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Existing Nextcloud configuration found, will save the new one for review and comparison to: /etc/apache2/sites-available/nextcloud.conf.dietpi-new' > ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'nextcloud_conf='> name: nextcloud_conf ) op: assign_op.Equal rhs: { (SQ < '/etc/apache2/sites-available/nextcloud.conf.dietpi-new' > ) } spids: [48046] ) ] redirects: [] ) ] spids: [48022 48033] ) ] else_action: [] redirects: [] ) (C {<cp>} {<'/DietPi/dietpi/conf/apache.ownnextcloud.conf'>} {($ Id.VSub_DollarName nextcloud_conf)} ) (command.Simple words: [{<a2ensite>} {<nextcloud>}] redirects: [ (redir op: <Id.Redir_Great '1>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [47965 47984] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 85>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Nginx webserver found, enable Nextcloud specific configuration: "https://docs.nextcloud.com/server/12/admin_manual/installation/nginx.html#nextcloud-in-a-subdir-of-nginx"' > ) } ) (C {<local>} {<Id.Lit_VarLike 'nextcloud_config='> (SQ <'/etc/nginx/sites-dietpi/nextcloud.config'>) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName nextcloud_config)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Existing Nextcloud configuration found, will save the new one for review and comparison to: /etc/nginx/sites-dietpi/nextcloud.config.dietpi-new' > ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'nextcloud_config='> name: nextcloud_config ) op: assign_op.Equal rhs: { (SQ < '/etc/nginx/sites-dietpi/nextcloud.config.dietpi-new' > ) } spids: [48141] ) ] redirects: [] ) ] spids: [48117 48128] ) ] else_action: [] redirects: [] ) (C {<cp>} {<'/DietPi/dietpi/conf/nginx.sites-dietpi.nextcloud.config'>} {($ Id.VSub_DollarName nextcloud_config)} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(SQ <'s|/run/php5-fpm.sock|/run/php/php7.0-fpm.sock|g'>)} {($ Id.VSub_DollarName nextcloud_config)} ) (C {<sed>} {<-i>} { (SQ < 's/#fastcgi_request_buffering off;/fastcgi_request_buffering off;/g' > ) } {($ Id.VSub_DollarName nextcloud_config)} ) ] spids: [48163 48177] ) ] else_action: [] redirects: [] ) (command.Simple words: [ {<wget>} {<-q>} {<--spider>} {<--timeout> <Id.Lit_Equals '='> <10>} {<--tries> <Id.Lit_Equals '='> <2>} {<https> <Id.Lit_Colon ':'> <'//localhost'>} ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 0>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 5>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(SQ <'s/#fastcgi_param HTTPS on;/fastcgi_param HTTPS on;/g'>)} {($ Id.VSub_DollarName nextcloud_config)} ) ] spids: [48235 48256] ) ] else_action: [] redirects: [] ) ] spids: [48077 48096] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 84>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Lighttpd webserver found, enable Nextcloud specific configuration.' > ) } ) (C {<local>} {<Id.Lit_VarLike 'lighttpd_conf='> (SQ <'/etc/lighttpd/lighttpd.conf'>)} ) (command.AndOr ops: [Id.Op_DPipe Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'^[[:blank:]]*"mod_setenv",'>)} {($ Id.VSub_DollarName lighttpd_conf)} ) (C {<grep>} {<-q>} {(SQ <'^[[:blank:]#;]*"mod_setenv",'>)} {($ Id.VSub_DollarName lighttpd_conf)} ) (C {<sed>} {<-i>} {(SQ <'/^[[:blank:]#;]*"mod_setenv",/c\\\t"mod_setenv",'>)} {($ Id.VSub_DollarName lighttpd_conf)} ) (C {<sed>} {<-i>} {(SQ <'/^[[:blank:]]*server.modules = (/a\\\t"mod_setenv",'>)} {($ Id.VSub_DollarName lighttpd_conf)} ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<'/etc/lighttpd/conf-available/99-dietpi-nextcloud.conf'>} {<Id.Lit_RBracket ']'>} ) (C {<cp>} {<'/DietPi/dietpi/conf/lighttpd.nextcloud.conf'>} {<'/etc/lighttpd/conf-available/99-dietpi-nextcloud.conf'>} ) ] ) (C {<lighttpd-enable-mod>} {<dietpi-nextcloud>}) (C {<service>} {<lighttpd>} {<force-reload>}) ] spids: [48280 48299] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 48435 stdin_parts: [ <'[mysqld]\n'> <'innodb_large_prefix=1\n'> <'innodb_file_format=barracuda\n'> <'innodb_file_per_table=1\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/mysql/mariadb.conf.d/99-dietpi-4byte.cnf'>} ) ] more_env: [] do_fork: T ) (C {<G_RUN_CMD>} {<systemctl>} {<restart>} {<mysql>}) (C {<.>} {<'/DietPi/dietpi/func/dietpi-globals'>}) (C {<local>} {<Id.Lit_VarLike 'config_php='> (SQ <'/var/www/nextcloud/config/config.php'>)} ) (C {<local>} {<Id.Lit_VarLike 'datadir='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(SQ <'^[[:blank:]]*SOFTWARE_NEXTCLOUD_DATADIR='>)} {<'/DietPi/dietpi.txt'>} ) (C {<sed>} {(SQ <'s/^.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/nextcloud_data'>)} spids: [48508] ) ] redirects: [] ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName datadir))}) (command.Simple words: [{<Install_Apply_Permissions>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql/nextcloud'> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'Nextcloud database found, will NOT overwrite.'>)} ) ] spids: [48532 48546] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName datadir)) <'/dietpi-nextcloud-database-backup.sql'> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'Nextcloud database backup found, starting recovery...'>)} ) (C {<local>} {<Id.Lit_VarLike 'dbuser='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <'^[[:blank:]]*\'dbuser\''>)} {($ Id.VSub_DollarName config_php)} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/[\',]//g'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (C {<local>} {<Id.Lit_VarLike 'dbpass='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <'^[[:blank:]]*\'dbpassword\''>)} {($ Id.VSub_DollarName config_php)} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/[\',]//g'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<nextcloud>} {(DQ ($ Id.VSub_DollarName dbuser))} {(DQ ($ Id.VSub_DollarName dbpass))} ) (command.Simple words: [{<mysql>} {<-uroot>} {<nextcloud>}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName datadir)) <'/dietpi-nextcloud-database-backup.sql'> } ) ] more_env: [] do_fork: T ) ] spids: [48564 48578] ) ] else_action: [ (C {<local>} {<Id.Lit_VarLike 'username='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} { (SQ < '^[[:blank:]]*SOFTWARE_OWNCLOUD_NEXTCLOUD_USERNAME=' > ) } {<'/DietPi/dietpi.txt'>} ) (C {<sed>} {(SQ <'s/^.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName username))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'username='> name: username ) op: assign_op.Equal rhs: {(SQ <admin>)} spids: [48725] ) ] redirects: [] ) ] ) (C {<mysql>} {<-e>} { (DQ < 'grant all privileges on *.* to \'tmp_root\'@\'localhost\' identified by \'' > ($ Id.VSub_DollarName GLOBAL_PW) <'\' with grant option'> ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {<grep>} {<-q>} {(DQ <'\'installed\' => true,'>)} {($ Id.VSub_DollarName config_php)} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<ncc>} {<maintenance> <Id.Lit_Colon ':'> <install>} {<--no-interaction>} {<--database>} {(DQ <mysql>)} {<--database-name>} {(DQ <nextcloud>)} {<--database-user>} {(DQ <tmp_root>)} {<--database-pass>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} {<--admin-user>} {(DQ ($ Id.VSub_DollarName username))} {<--admin-pass>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} {<--data-dir>} {(DQ ($ Id.VSub_DollarName datadir))} ) ] ) (C {<mysql>} {<-e>} {(DQ <'drop user \'tmp_root\'@\'localhost\''>)}) ] redirects: [] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'mysql.utf8mb4\''>)} {($ Id.VSub_DollarName config_php)} ) (C {<sed>} {<-i>} { (DQ <'/^[[:blank:]]*\'dbpassword\'/a '> <Id.Lit_BadBackslash '\\'> <' '> <Id.Lit_BadBackslash '\\'> <' \'mysql.utf8mb4\' => true,'> ) } {($ Id.VSub_DollarName config_php)} ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {($ Id.VSub_DollarName config_php)}) (C {<grep>} {<-ci>} {<-m1>} {(DQ <'1 => \'*\''>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(DQ <'/0 => \'localhost\'/a 1 => \'*\','>)} {($ Id.VSub_DollarName config_php)} ) ] spids: [48867 48895] ) ] else_action: [] redirects: [] ) (C {<sed>} {<-i>} {(DQ <'s|\'http://localhost\'|\'http://localhost/nextcloud\'|g'>)} {($ Id.VSub_DollarName config_php)} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 83>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'htaccess.RewriteBase\''>)} {($ Id.VSub_DollarName config_php)} ) (C {<sed>} {<-i>} { (DQ <'/^[[:blank:]]*\'overwrite.cli.url\'/a '> <Id.Lit_BadBackslash '\\'> <' '> <Id.Lit_BadBackslash '\\'> <' \'htaccess.RewriteBase\' => \'/nextcloud\','> ) } {($ Id.VSub_DollarName config_php)} ) ] ) (C {<ncc>} {<maintenance> <Id.Lit_Colon ':'> <update> <Id.Lit_Colon ':'> <htaccess>} ) ] spids: [48935 48954] ) ] else_action: [] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'memcache.local\''>)} {($ Id.VSub_DollarName config_php)} ) (C {<sed>} {<-i>} { (DQ <'/^[[:blank:]]*\'version\'/a '> <Id.Lit_BadBackslash '\\'> <' '> <Id.Lit_BadBackslash '\\'> <' \'memcache.local\' => \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> <OC> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> <Memcache> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> <'APCu\','> ) } {($ Id.VSub_DollarName config_php)} ) ] ) (C {<local>} {<Id.Lit_VarLike 'redis_conf='> (DQ <'/etc/redis/redis*.conf'>)}) (command.AndOr ops: [Id.Op_DPipe Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*unixsocket /'>)} {($ Id.VSub_DollarName redis_conf)} ) (C {<grep>} {<-q>} {(SQ <'^[[:blank:]]*#unixsocket /'>)} {($ Id.VSub_DollarName redis_conf)} ) (C {<sed>} {<-i>} {(SQ <'s|^[[:blank:]]*#unixsocket /|unixsocket /|'>)} {($ Id.VSub_DollarName redis_conf)} ) (command.Simple words: [{<echo>} {(SQ <'unixsocket /var/run/redis/redis.sock'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName redis_conf)} ) ] more_env: [] do_fork: T ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*#?unixsocketperm '>)} {($ Id.VSub_DollarName redis_conf)} ) (C {<sed>} {<-i>} { (DQ <'/^[[:blank:]]*#?unixsocketperm /c'> <Id.Lit_BadBackslash '\\'> <'unixsocketperm 770'> ) } {($ Id.VSub_DollarName redis_conf)} ) (command.Simple words: [{<echo>} {(SQ <'unixsocketperm 770'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName redis_conf)} ) ] more_env: [] do_fork: T ) ] ) (C {<local>} {<Id.Lit_VarLike 'redis_sock='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {(DQ <'^[[:blank:]]*unixsocket /'>)} {($ Id.VSub_DollarName redis_conf)} ) (C {<sed>} {(DQ <'s/^[[:blank:]]*unixsocket //'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (C {<usermod>} {<-a>} {<-G>} {<redis>} {<www-data>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {($ Id.VSub_DollarName config_php)}) (C {<grep>} {<-ci>} {<-m1>} {(DQ <'\'memcache.locking\''>)} ) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} { (DQ <Id.Lit_BadBackslash '\\'> <'#\'memcache.local\'#a '> <Id.Lit_BadBackslash '\\'> <' '> <Id.Lit_BadBackslash '\\'> <' \'filelocking.enabled\' => true,'> <Id.Lit_BadBackslash '\\'> <n> <' \'memcache.locking\' => \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> <OC> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <Id.Lit_BadBackslash '\\'> <Memcache> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <Id.Lit_BadBackslash '\\'> <'Redis\','> <Id.Lit_BadBackslash '\\'> <n> <' \'redis\' => array('> <Id.Lit_BadBackslash '\\'> <n> <' \'host\' => \''> ($ Id.VSub_DollarName redis_sock) <'\','> <Id.Lit_BadBackslash '\\'> <n> <' \'port\' => 0,'> <Id.Lit_BadBackslash '\\'> <n> <' ),'> ) } {($ Id.VSub_DollarName config_php)} ) ] spids: [49181 49209] ) ] else_action: [] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Simple words: [{<crontab>} {<-u>} {<www-data>} {<-l>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<grep>} {<-q>} {(SQ <'/var/www/nextcloud/cron.php'>)}) ] negated: F stderr_indices: [] ) (command.Pipeline children: [ (command.Subshell child: (command.CommandList children: [ (command.Sentence child: (command.Simple words: [{<crontab>} {<-u>} {<www-data>} {<-l>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (C {<echo>} {(DQ <'*/15 * * * * php /var/www/nextcloud/cron.php'>)}) ] ) redirects: [] ) (C {<crontab>} {<-u>} {<www-data>} {<->}) ] negated: F stderr_indices: [] ) ] ) (C {<ncc>} {<background> <Id.Lit_Colon ':'> <cron>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'maintenance\' => true,'>)} {($ Id.VSub_DollarName config_php)} ) (C {<ncc>} {<maintenance> <Id.Lit_Colon ':'> <mode>} {<--on>}) ] ) ] spids: [47579 47598] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<44>} spids: [49368] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<rm>} {<'/etc/init.d/transmission-daemon'>}) (C {<rm>} {<'/etc/systemd/system/transmission-daemon.service'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 49437 stdin_parts: [ <'[Unit]\n'> <'Description=Barebones transmission-daemon service\n'> <'DefaultDependencies=no\n'> <'\n'> <'[Service]\n'> <'Type=oneshot\n'> <'RemainAfterExit=yes\n'> < 'ExecStart=/usr/bin/transmission-daemon --config-dir /var/lib/transmission-daemon/info\n' > <'ExecStop=/usr/bin/killall -w transmission-daemon\n'> <'StandardOutput=tty\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/transmission-daemon.service'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 49845 stdin_parts: [ <'{\n'> <' '> <Id.Right_DoubleQuote '"'> <alt-speed-down> <Id.Right_DoubleQuote '"'> <': 50,\n'> <' '> <Id.Right_DoubleQuote '"'> <alt-speed-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <alt-speed-time-begin> <Id.Right_DoubleQuote '"'> <': 540,\n'> <' '> <Id.Right_DoubleQuote '"'> <alt-speed-time-day> <Id.Right_DoubleQuote '"'> <': 127,\n'> <' '> <Id.Right_DoubleQuote '"'> <alt-speed-time-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <alt-speed-time-end> <Id.Right_DoubleQuote '"'> <': 1020,\n'> <' '> <Id.Right_DoubleQuote '"'> <alt-speed-up> <Id.Right_DoubleQuote '"'> <': 50,\n'> <' '> <Id.Right_DoubleQuote '"'> <bind-address-ipv4> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <0.0.0.0> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <bind-address-ipv6> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'::'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <blocklist-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <blocklist-url> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'http://www.example.com/blocklist'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <cache-size-mb> <Id.Right_DoubleQuote '"'> <': 48,\n'> <' '> <Id.Right_DoubleQuote '"'> <dht-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <download-dir> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <download-limit> <Id.Right_DoubleQuote '"'> <': 100,\n'> <' '> <Id.Right_DoubleQuote '"'> <download-limit-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <download-queue-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <download-queue-size> <Id.Right_DoubleQuote '"'> <': 2,\n'> <' '> <Id.Right_DoubleQuote '"'> <encryption> <Id.Right_DoubleQuote '"'> <': 2,\n'> <' '> <Id.Right_DoubleQuote '"'> <idle-seeding-limit> <Id.Right_DoubleQuote '"'> <': 1,\n'> <' '> <Id.Right_DoubleQuote '"'> <idle-seeding-limit-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <incomplete-dir> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/bt-inprogress'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <incomplete-dir-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <lpd-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <max-peers-global> <Id.Right_DoubleQuote '"'> <': 8,\n'> <' '> <Id.Right_DoubleQuote '"'> <message-level> <Id.Right_DoubleQuote '"'> <': 0,\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-congestion-algorithm> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-limit-global> <Id.Right_DoubleQuote '"'> <': 8,\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-limit-per-torrent> <Id.Right_DoubleQuote '"'> <': 5,\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-port> <Id.Right_DoubleQuote '"'> <': 51413,\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-port-random-high> <Id.Right_DoubleQuote '"'> <': 65535,\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-port-random-low> <Id.Right_DoubleQuote '"'> <': 49152,\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-port-random-on-start> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-socket-tos> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <default> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <pex-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <port-forwarding-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <preallocation> <Id.Right_DoubleQuote '"'> <': 1,\n'> <' '> <Id.Right_DoubleQuote '"'> <prefetch-enabled> <Id.Right_DoubleQuote '"'> <': 1,\n'> <' '> <Id.Right_DoubleQuote '"'> <queue-stalled-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <queue-stalled-minutes> <Id.Right_DoubleQuote '"'> <': 30,\n'> <' '> <Id.Right_DoubleQuote '"'> <ratio-limit> <Id.Right_DoubleQuote '"'> <': 1.1,\n'> <' '> <Id.Right_DoubleQuote '"'> <ratio-limit-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <rename-partial-files> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-authentication-required> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-bind-address> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <0.0.0.0> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName GLOBAL_PW) <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-port> <Id.Right_DoubleQuote '"'> <': 9091,\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-url> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'/transmission/'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-username> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <root> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-whitelist> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'192.*.*.*'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-whitelist-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <scrape-paused-torrents-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <script-torrent-done-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <script-torrent-done-filename> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <seed-queue-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <seed-queue-size> <Id.Right_DoubleQuote '"'> <': 10,\n'> <' '> <Id.Right_DoubleQuote '"'> <speed-limit-down> <Id.Right_DoubleQuote '"'> <': 100,\n'> <' '> <Id.Right_DoubleQuote '"'> <speed-limit-down-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <speed-limit-up> <Id.Right_DoubleQuote '"'> <': 100,\n'> <' '> <Id.Right_DoubleQuote '"'> <speed-limit-up-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <start-added-torrents> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <trash-original-torrent-files> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <umask> <Id.Right_DoubleQuote '"'> <': 18,\n'> <' '> <Id.Right_DoubleQuote '"'> <upload-limit> <Id.Right_DoubleQuote '"'> <': 100,\n'> <' '> <Id.Right_DoubleQuote '"'> <upload-limit-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <upload-slots-per-torrent> <Id.Right_DoubleQuote '"'> <': 2,\n'> <' '> <Id.Right_DoubleQuote '"'> <utp-enabled> <Id.Right_DoubleQuote '"'> <': true\n'> <'}\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/transmission-daemon/settings.json'>} ) ] more_env: [] do_fork: T ) (C {<sed>} {<-i>} {(SQ <'/cache-size-mb/c\\ "cache-size-mb": '>) (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<0>}) right: <Id.Eof_RParen _> ) (SQ <','>) } {<'/etc/transmission-daemon/settings.json'>} ) (C {<sed>} {<-i>} {(SQ <'/download-queue-size/c\\ "download-queue-size": '>) (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<1>}) right: <Id.Eof_RParen _> ) (SQ <','>) } {<'/etc/transmission-daemon/settings.json'>} ) (C {<sed>} {<-i>} {(SQ <'/peer-limit-global/c\\ "peer-limit-global": '>) (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<2>}) right: <Id.Eof_RParen _> ) (SQ <','>) } {<'/etc/transmission-daemon/settings.json'>} ) (C {<sed>} {<-i>} {(SQ <'/max-peers-global/c\\ "max-peers-global": '>) (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<2>}) right: <Id.Eof_RParen _> ) (SQ <','>) } {<'/etc/transmission-daemon/settings.json'>} ) (C {<sed>} {<-i>} {(SQ <'/peer-limit-per-torrent/c\\ "peer-limit-per-torrent": '>) (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<2>}) right: <Id.Eof_RParen _> ) (SQ <','>) } {<'/etc/transmission-daemon/settings.json'>} ) (C {<sed>} {<-i>} {(SQ <'/upload-slots-per-torrent/c\\ "upload-slots-per-torrent": '>) (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<3>}) right: <Id.Eof_RParen _> ) (SQ <','>) } {<'/etc/transmission-daemon/settings.json'>} ) ] spids: [49372 49391] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<54>} spids: [49975] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<phpbb3>} {<phpbb3>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} ) ] spids: [49979 49998] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<128>} spids: [50026] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<useradd>} {<-r>} {<-M>} {<mpd>} {<-G>} {<audio>} {<-s>} {<'/usr/bin/nologin'>}) (C {<mkdir>} {<-p>} {<'/var/lib/mpd'>}) (C {<mkdir>} {<-p>} {<'/var/run/mpd'>}) (C {<mkdir>} {<-p>} {<'/var/lib/mpd/music'>}) (C {<mkdir>} {<-p>} {<'/var/lib/mpd/playlists'>}) (C {<touch>} {<'/var/lib/mpd/state'>}) (command.Simple words: [{<rm>} {<'/var/lib/mpd/music/MNT'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<ln>} {<-sf>} {<'/mnt'>} {<'/var/lib/mpd/music/MNT'>}) (C {<chown>} {<-R>} {<mpd> <Id.Lit_Colon ':'> <audio>} {<'/var/lib/mpd'>}) (C {<mkdir>} {<-p>} {<'/var/log/mpd'>}) (C {<touch>} {<'/var/log/mpd/mpd.log'>}) (C {<chmod>} {<644>} {<'/var/log/mpd/mpd.log'>}) (C {<chown>} {<-R>} {<mpd> <Id.Lit_Colon ':'> <audio>} {<'/var/log/mpd'>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/.mpd_cache'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 50217 stdin_parts: [ < '#Even though we declare the conf location in our service, MPD will fail to start if this file does not exist.\n' > <'## The configuration file location for mpd:\n'> <'MPDCONF=/etc/mpd.conf\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/default/mpd'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 50251 stdin_parts: [ <'[Unit]\n'> <'Description=Music Player Daemon\n'> <'After=network.target sound.target\n'> <'\n'> <'[Service]\n'> <'User=root\n'> <'EnvironmentFile=/etc/default/mpd\n'> <'ExecStartPre=/bin/mkdir -p /var/run/mpd\n'> <'ExecStartPre=/bin/chown -R mpd:audio /var/run/mpd\n'> <'ExecStart='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<which>} {<mpd>}) right: <Id.Eof_RParen _> ) <' --no-daemon /etc/mpd.conf\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/lib/systemd/system/mpd.service'>} ) ] more_env: [] do_fork: T ) (C {<cp>} {<'/DietPi/dietpi/conf/mpd.conf'>} {<'/etc/mpd.conf'>}) (C {<chown>} {<mpd> <Id.Lit_Colon ':'> <audio>} {<'/etc/mpd.conf'>}) (C {<chmod>} {<0666>} {<'/etc/mpd.conf'>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^CONFIG_SOUNDCARD=justboom'>)} ) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<local>} {<Id.Lit_VarLike 'justboom_soundcard_desc='> (SQ <'JustBoom DietPi'>)} ) (C {<sed>} {<-i>} { (DQ <'/^name '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'/c'> <Id.Lit_BadBackslash '\\'> <'name '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName justboom_soundcard_desc) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } {<'/etc/mpd.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/^zeroconf_name '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'/c'> <Id.Lit_BadBackslash '\\'> <'zeroconf_name '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName justboom_soundcard_desc) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } {<'/etc/mpd.conf'>} ) (C {<local>} {<Id.Lit_VarLike 'target_bitdepth='> <32>}) (C {<local>} {<Id.Lit_VarLike 'target_rate='> <192000>}) (C {<sed>} {<-i>} {(SQ <'/^format "/c\\format "'>) ($ Id.VSub_DollarName target_rate) (SQ <':'>) ($ Id.VSub_DollarName target_bitdepth) (SQ <':2"'>) } {<'/etc/mpd.conf'>} ) (C {<sed>} {<-i>} {(SQ <'/audio_output_format "/c\\audio_output_format "'>) ($ Id.VSub_DollarName target_rate) (SQ <':'>) ($ Id.VSub_DollarName target_bitdepth) (SQ <':2"'>) } {<'/etc/mpd.conf'>} ) (C {<sed>} {<-i>} { (SQ < '/samplerate_converter "/c\\samplerate_converter "soxr very high"' > ) } {<'/etc/mpd.conf'>} ) ] spids: [50287 50313] ) ] else_action: [] redirects: [] ) (C {<Download_Test_Media>}) ] spids: [50030 50049] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<94>} spids: [50464] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} {(DQ <'/root/c'> <Id.Lit_BadBackslash '\\'> <'#root'>)} {<'/etc/ftpusers'>} ) (C {<cp>} {<'/DietPi/dietpi/conf/proftpd.conf'>} {<'/etc/proftpd/proftpd.conf'>}) (C {<sed>} {<-i>} { (DQ <'/DefaultRoot /c'> <Id.Lit_BadBackslash '\\'> <'DefaultRoot '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) ) } {<'/etc/proftpd/proftpd.conf'>} ) ] spids: [50468 50487] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<96>} spids: [50538] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Pipeline children: [ (C {<echo>} {<-e>} {(DQ <dietpi> <Id.Lit_BadBackslash '\\'> <ndietpi>)}) (C {<smbpasswd>} {<-s>} {<-a>} {<root>}) ] negated: F stderr_indices: [] ) (C {<cp>} {<'/DietPi/dietpi/conf/smb.conf'>} {<'/etc/samba/smb.conf'>}) (C {<sed>} {<-i>} { (DQ <'/path = /c'> <Id.Lit_BadBackslash '\\'> <'path = '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) ) } {<'/etc/samba/smb.conf'>} ) ] spids: [50542 50561] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<95>} spids: [50621] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} {(SQ <'/root/c\\#root'>)} {<'/etc/ftpusers'>}) (C {<cp>} {<'/DietPi/dietpi/conf/vsftpd.conf'>} {<'/etc/vsftpd.conf'>}) (C {<sed>} {<-i>} { (DQ <'/^local_root=/c'> <Id.Lit_BadBackslash '\\'> <'local_root='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) ) } {<'/etc/vsftpd.conf'>} ) ] spids: [50625 50644] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<109>} spids: [50694] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 50738 stdin_parts: [ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <' *(rw,async,no_root_squash,fsid=0,crossmnt,no_subtree_check)\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/exports'>} ) ] more_env: [] do_fork: T ) ] spids: [50698 50717] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<32>} spids: [50749] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 50806 stdin_parts: [ <'[Unit]\n'> <'Description=YMPD\n'> <'After=mpd.service\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=root\n'> <'ExecStart=/usr/bin/ympd --user root --webport 1337\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/ympd.service'>} ) ] more_env: [] do_fork: T ) ] spids: [50753 50772] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<121>} spids: [50817] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roon'>}) (C {<cp>} {<'/DietPi/dietpi/conf/roonbridge.service'>} {<'/etc/systemd/system/roonbridge.service'>} ) (command.Simple words: [ {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roon/RoonBridge/Logs'>} ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [ {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roon/RAATServer/Logs'>} ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roon/RoonBridge'>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roon/RAATServer'>} ) (C {<ln>} {<-sf>} {<'/var/log'>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roon/RoonBridge/Logs'>} ) (C {<ln>} {<-sf>} {<'/var/log'>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roon/RAATServer/Logs'>} ) ] spids: [50821 50840] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<122>} spids: [50958] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/node-red'>}) (C {<adduser>} {<nodered>} {<--system>} {<--group>} {<--no-create-home>} {<--shell> <Id.Lit_Equals '='> <'/bin/nologin'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 51039 stdin_parts: [ <'[Unit]\n'> <'Description=Node-Red\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=nodered\n'> <'ExecStart=/usr/local/bin/node-red -u '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/node-red\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/node-red.service'>} ) ] more_env: [] do_fork: T ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/node-red'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.node-red'>} ) ] spids: [50962 50981] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<125>} spids: [51070] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} { (DQ <'/JAVA_HOME=/c'> <Id.Lit_BadBackslash '\\'> <'JAVA_HOME='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<find>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\/'> ch:'/') <usr> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\/'> ch:'/') <lib> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\/'> ch: '/' ) <jvm> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\/'> ch:'/') } {<-name>} {<java-8-openjdk> <Id.Lit_Star '*'>} ) right: <Id.Eof_RParen _> ) ) } {<'/etc/default/tomcat8'>} ) ] spids: [51074 51093] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<119>} spids: [51139] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/cava'>}) (C {<cp>} {<'/DietPi/dietpi/conf/cava.conf'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/cava/config'>} ) (C {<sed>} {<-i>} {(SQ <'/audio_buffer_size /c\\audio_buffer_size "384"'>)} {<'/etc/mpd.conf'>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/etc/mpd.conf'>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <'/tmp/mpd.fifo'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 51289 stdin_parts: [ <'\n'> <'#Cava fifo stream\n'> <'audio_output {\n'> <'\n'> <' type '> <Id.Right_DoubleQuote '"'> <fifo> <Id.Right_DoubleQuote '"'> <'\n'> <' enabled '> <Id.Right_DoubleQuote '"'> <yes> <Id.Right_DoubleQuote '"'> <'\n'> <' name '> <Id.Right_DoubleQuote '"'> <CAVA> <Id.Right_DoubleQuote '"'> <'\n'> <' path '> <Id.Right_DoubleQuote '"'> <'/tmp/mpd.fifo'> <Id.Right_DoubleQuote '"'> <'\n'> <' format '> <Id.Right_DoubleQuote '"'> <'44100:16:2'> <Id.Right_DoubleQuote '"'> <'\n'> <'\n'> <'}\n'> ] ) ) (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/mpd.conf'>} ) ] more_env: [] do_fork: T ) ] spids: [51215 51243] ) ] else_action: [] redirects: [] ) ] spids: [51143 51162] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<118>} spids: [51304] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} {(DQ <'/User=/c'> <Id.Lit_BadBackslash '\\'> <'User=root'>)} {<'/lib/systemd/system/mopidy.service'>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mopidy/cache'>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mopidy/data'>} ) (C {<mkdir>} {<-p>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/.config/mopidy'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 51440 stdin_parts: [ <'[core]\n'> <'cache_dir = '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/mopidy/cache\n'> <'config_dir = /etc/mopidy\n'> <'data_dir = '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/mopidy/data\n'> <'\n'> <'[logging]\n'> <'config_file = /etc/mopidy/logging.conf\n'> <'debug_file = /var/log/mopidy.log\n'> <'\n'> <'[local]\n'> <'library = images\n'> <'media_dir = /mnt\n'> <'enabled = true\n'> <'scan_timeout = 1000\n'> <'scan_flush_threshold = 100\n'> <'scan_follow_symlinks = false\n'> <'excluded_file_extensions =\n'> <' .directory\n'> <' .html\n'> <' .jpeg\n'> <' .jpg\n'> <' .log\n'> <' .nfo\n'> <' .png\n'> <' .txt\n'> <'\n'> <'[file]\n'> <'enabled = true\n'> <'media_dirs = /mnt\n'> <'\n'> <'[m3u]\n'> <'playlists_dir = /mnt\n'> <'\n'> <'[http]\n'> <'enabled = true\n'> <'hostname = ::\n'> <'port = 6680\n'> <'static_dir =\n'> <'zeroconf = Mopidy HTTP server on '> ($ Id.VSub_DollarName hostname) <'\n'> <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/.config/mopidy/mopidy.conf'> } ) ] more_env: [] do_fork: T ) (C {<cp>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/.config/mopidy/mopidy.conf'> } {<'/etc/mopidy/mopidy.conf'>} ) (C {<Download_Test_Media>}) ] spids: [51308 51327] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<31>} spids: [51468] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<userdel>} {<-r>} {<kodi>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<sed>} {<-i>} {(SQ <'/USER=/c\\USER=root'>)} {<'/etc/default/kodi'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<cp>} {<'/DietPi/dietpi/conf/kodi_udev'>} {<'/etc/udev/rules.d/99-input.rules'>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/udev/rules.d/99-input.rules'>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop'>}) (command.Simple words: [{<rm>} {<'/usr/share/applications/kodi.desktop'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/kodi.desktop'>} {<-O>} {<'/usr/share/applications/kodi.desktop'>} ) (C {<ln>} {<-sf>} {<'/usr/share/applications/kodi.desktop'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/kodi.desktop'>} ) ] spids: [51472 51491] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<39>} spids: [51610] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} {(SQ <'/USER=m/c\\USER=root'>)} {<'/etc/init.d/minidlna'>}) (command.Simple words: [ {<sed>} {<-i>} {(SQ <'/User=m/c\\User=root'>)} {<'/lib/systemd/system/minidlna.service'>} ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [ {<sed>} {<-i>} {(SQ <'/Group=m/c\\Group=root'>)} {<'/lib/systemd/system/minidlna.service'>} ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<cp>} {<'/DietPi/dietpi/conf/minidlna.conf'>} {<'/etc/minidlna.conf'>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/.MiniDLNA_Cache'>} ) ] spids: [51614 51633] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<67>} spids: [51727] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 51786 stdin_parts: [ <'[Unit]\n'> <'Description=noip2\n'> <'After=network.target network-online.target rsyslog.service\n'> <'\n'> <'[Service]\n'> <'Type=forking\n'> <'RemainAfterExit=yes\n'> <'\n'> <'ExecStart=/usr/local/bin/noip2\n'> <'ExecStop=/usr/bin/killall -w noip2\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/noip2.service'>} ) ] more_env: [] do_fork: T ) ] spids: [51731 51750] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<108>} spids: [51797] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<chmod>} {<-R>} {<Id.Lit_Other '+'> <x>} {<'/etc/amiberry'>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry'>}) (C {<cp>} {<-R>} {<'/etc/amiberry/conf'>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/'>} ) (command.Simple words: [{<rm>} {<-R>} {<'/etc/amiberry/conf'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/conf'>} {<'/etc/amiberry/conf'>} ) (command.Simple words: [{<rm>} {<-R>} {<'/etc/amiberry/disks'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/disks'>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/disks'>} {<'/etc/amiberry/disks'>} ) (command.Simple words: [{<rm>} {<-R>} {<'/etc/amiberry/floppy_images'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/floppy_images'>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/floppy_images'>} {<'/etc/amiberry/floppy_images'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 51992 stdin_parts: [ <'Put your Amiga floopy images (*.adf) in this directory.\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/floppy_images/dir.txt'> } ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<-R>} {<'/etc/amiberry/hdf'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/hdf'>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/hdf'>} {<'/etc/amiberry/hdf'>} ) (command.Simple words: [{<rm>} {<-R>} {<'/etc/amiberry/kickstarts'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/kickstarts'>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/kickstarts'>} {<'/etc/amiberry/kickstarts'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 52086 stdin_parts: [ <'Put your Kickstart Roms (*.rom) in this directory.\n'> < 'They should be named accordingly depending on version: kick12.rom , kick13.rom , kick20.rom, kick31.rom\n' > ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/kickstarts/dir.txt'> } ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<-R>} {<'/etc/amiberry/savestates'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/savestates'>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/savestates'>} {<'/etc/amiberry/savestates'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 52141 stdin_parts: [<'Saved states will be stored here.\n'>] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/savestates/dir.txt'> } ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<-R>} {<'/etc/amiberry/screenshots'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/screenshots'>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/screenshots'>} {<'/etc/amiberry/screenshots'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 52196 stdin_parts: [<'Screenshots will be stored here.\n'>] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/screenshots/dir.txt'> } ) ] more_env: [] do_fork: T ) (C {<local>} {<Id.Lit_VarLike 'fp_userdata_actual='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<readlink>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA))}) right: <Id.Eof_RParen _> ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName fp_userdata_actual))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} { (DQ <'s:'> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <':'> ($ Id.VSub_DollarName fp_userdata_actual) <':g'> ) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/conf/adfdir.conf'>} ) (C {<sed>} {<-i>} { (DQ <'s:'> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <':'> ($ Id.VSub_DollarName fp_userdata_actual) <':g'> ) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/conf/autostart.uae'>} ) ] spids: [52223 52236] ) ] else_action: [] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'amiberry_filename='> (SQ <amiberry-rpi>)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'amiberry_filename+='> name: amiberry_filename ) op: assign_op.PlusEqual rhs: {(SQ <3>)} spids: [52316] ) ] redirects: [] ) ] spids: [52298 52312] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'amiberry_filename+='> name: amiberry_filename ) op: assign_op.PlusEqual rhs: {(SQ <2>)} spids: [52345] ) ] redirects: [] ) ] spids: [52327 52341] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'amiberry_filename+='> name: amiberry_filename ) op: assign_op.PlusEqual rhs: {(SQ <1>)} spids: [52360] ) ] redirects: [] ) ] redirects: [] ) (C {<ln>} {<-sf>} {<'/etc/amiberry/'> (DQ ($ Id.VSub_DollarName amiberry_filename))} {<'/etc/amiberry/amiberry'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'amiberry_filename+='> name: amiberry_filename ) op: assign_op.PlusEqual rhs: {(SQ <-sdl2>)} spids: [52388] ) ] redirects: [] ) (C {<ln>} {<-sf>} {<'/etc/amiberry/'> (DQ ($ Id.VSub_DollarName amiberry_filename))} {<'/etc/amiberry/amiberry-sdl2'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 52434 stdin_parts: [ <'[Unit]\n'> <'Description=AmiBerry Amiga Emulator\n'> <'DefaultDependencies=no\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=root\n'> <'WorkingDirectory=/etc/amiberry\n'> <'ExecStart=/bin/bash -c ./amiberry_run.sh\n'> <'\n'> <'[Install]\n'> <'WantedBy=local-fs.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/amiberry.service'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<daemon-reload>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 52465 stdin_parts: [ <'#!/bin/bash\n'> <'if (( '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(ps aux | grep -ci -m1 \'[X]11\') )); then\n'> <'\n'> <'./amiberry -f conf/autostart.uae\n'> <'\n'> <'else\n'> <'\n'> <'xinit ./amiberry -f conf/autostart.uae\n'> <'\n'> <'fi\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/amiberry/amiberry_run.sh'>} ) ] more_env: [] do_fork: T ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/amiberry/amiberry_run.sh'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 52503 stdin_parts: [ <'[Unit]\n'> <'Description=AmiBerry Amiga Emulator\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=root\n'> <'WorkingDirectory=/etc/amiberry\n'> <'ExecStart=/bin/bash -c ./amiberry_run_sdl2.sh\n'> <'\n'> <'[Install]\n'> <'WantedBy=local-fs.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/amiberry-sdl2.service'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<daemon-reload>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 52533 stdin_parts: [ <'#!/bin/bash\n'> <'xinit ./amiberry-sdl2 -f conf/autostart.uae\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/amiberry/amiberry_run_sdl2.sh'>} ) ] more_env: [] do_fork: T ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/amiberry/amiberry_run_sdl2.sh'>}) ] spids: [51801 51820] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<112>} spids: [52553] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.d1x-rebirth'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.d2x-rebirth'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/dxx-rebirth/descent_1_profiles'> } {(DQ ($ Id.VSub_DollarName HOME)) <'/.d1x-rebirth'>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/dxx-rebirth/descent_2_profiles'> } {(DQ ($ Id.VSub_DollarName HOME)) <'/.d2x-rebirth'>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/dxx-rebirth/'> <Id.Lit_Star '*'> } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop'>}) (C {<mkdir>} {<-p>} {<'/usr/share/applications'>}) (C {<ln>} {<-s>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/dxx-rebirth/dxx-rebirth.desktop'> } {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/dxx-rebirth.desktop'>} ) (C {<ln>} {<-s>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/dxx-rebirth/dxx-rebirth.desktop'> } {<'/usr/share/applications/dxx-rebirth.desktop'>} ) ] spids: [52557 52576] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<51>} spids: [52729] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<cp>} {<'/DietPi/dietpi/conf/opentyrian_run'>} {<'/usr/local/games/opentyrian/run'>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/games/opentyrian/run'>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop'>}) (command.Simple words: [{<rm>} {<'/usr/share/applications/opentyrian.desktop'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/pcmanfm.conf'>} {<-O>} {<'/usr/share/applications/opentyrian.desktop'>} ) (C {<ln>} {<-s>} {<'/usr/share/applications/opentyrian.desktop'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/opentyrian.desktop'>} ) ] spids: [52733 52752] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<59>} spids: [52835] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/raspimjpeg'>}) (C {<ln>} {<-s>} {<'/etc/raspimjpeg'>} {<'/var/www/dietpicam/raspimjpeg'>}) (C {<chgrp>} {<www-data>} {<'/etc/motion/motion.conf'>}) (C {<chmod>} {<777>} {<'/etc/motion/motion.conf'>}) (C {<usermod>} {<-a>} {<-G>} {<video>} {<www-data>}) (C {<cp>} {<'/DietPi/dietpi/conf/raspimjpeg.service'>} {<'/var/lib/dietpi/dietpi-software/services/raspimjpeg.service'>} ) (C {<local>} {<Id.Lit_VarLike 'dietpicam_media_directory='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName dietpicam_media_directory)) <'/dietpicam'>} ) (C {<rm>} {<-R>} {<'/var/www/dietpicam/media'>}) (C {<ln>} {<-s>} {(DQ ($ Id.VSub_DollarName dietpicam_media_directory)) <'/dietpicam'>} {<'/var/www/dietpicam/media'>} ) (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<rpi-camera>} {<enable>}) ] spids: [52839 52858] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<45>} spids: [52991] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<cp>} {<'/DietPi/dietpi/conf/deluge.service'>} {<'/var/lib/dietpi/dietpi-software/services/deluge.service'>} ) (C {<deluged>}) (C {<killall>} {<-w>} {<deluged>}) (C {<cp>} {<'/DietPi/dietpi/conf/deluge.conf'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/core.conf'>} ) (C {<cp>} {<'/DietPi/dietpi/conf/deluge_web.conf'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/web.conf'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 53095 stdin_parts: [<'root:'> ($ Id.VSub_DollarName GLOBAL_PW) <':10\n'>] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/auth'>} ) ] more_env: [] do_fork: T ) (C {<local>} {<Id.Lit_VarLike 'deluge_cache_size='> (word_part.ArithSub anode: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {<-e>} { (DQ <'scale=0; '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<0>}) right: <Id.Eof_RParen _> ) <' * 1024 / 16'> ) } ) (C {<bc>} {<-l>}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) } ) (C {<sed>} {<-i>} {(SQ <'/"cache_size": /c\\ "cache_size": '>) (DQ ($ Id.VSub_DollarName deluge_cache_size)) (SQ <','>) } {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/core.conf'>} ) (C {<sed>} {<-i>} {(SQ <'/"max_active_limit": /c\\ "max_active_limit": '>) (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<1>}) right: <Id.Eof_RParen _> ) ) (SQ <','>) } {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/core.conf'>} ) (C {<sed>} {<-i>} {(SQ <'/"max_active_downloading": /c\\ "max_active_downloading": '>) (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<1>}) right: <Id.Eof_RParen _> ) ) (SQ <','>) } {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/core.conf'>} ) (C {<sed>} {<-i>} {(SQ <'/"max_connections_global": /c\\ "max_connections_global": '>) (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<2>}) right: <Id.Eof_RParen _> ) ) (SQ <','>) } {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/core.conf'>} ) (C {<sed>} {<-i>} {(SQ <'/"max_upload_slots_global": /c\\ "max_upload_slots_global": '>) (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<3>}) right: <Id.Eof_RParen _> ) ) (SQ <','>) } {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/core.conf'>} ) ] spids: [52995 53014] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<106>} spids: [53264] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {<'/etc/raspcontrol'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 53338 stdin_parts: [ <'{\n'> <' '> <Id.Right_DoubleQuote '"'> <user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <root> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName GLOBAL_PW) <Id.Right_DoubleQuote '"'> <'\n'> <'}\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/raspcontrol/database.aptmnt'>} ) ] more_env: [] do_fork: T ) (C {<chown>} {<-R>} {<www-data> <Id.Lit_Colon ':'> <www-data>} {<'/etc/raspcontrol'>}) (C {<chmod>} {<-R>} {<750>} {<'/etc/raspcontrol'>}) ] spids: [53268 53287] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<93>} spids: [53370] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<ln>} {<-sf>} {<'/var/www/html/admin'>} {<'/var/www/pihole'>}) (C {<ln>} {<-sf>} {<'/var/www/html/admin'>} {<'/var/www/admin'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 53448 stdin_parts: [ <'<html>\n'> <'Blocked by Pi-hole.\n'> <'<script>window.close();</script>\n'> <'</html>\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/www/index.html'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {<-e>} {(DQ )}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/log/pihole.log'>} ) ] more_env: [] do_fork: T ) (C {<chown>} {<www-data> <Id.Lit_Colon ':'> <www-data>} {<'/var/log/pihole.log'>}) (C {<chmod>} {<775>} {<'/var/log/pihole.log'>}) (C {<pihole>} {<-a>} {<-p>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}) (C {<whiptail>} {<--title>} {(DQ <'PiHole: Web interface'>)} {<--msgbox>} { (DQ <'DietPi has changed the PiHole web interface password to:'> <Id.Lit_BadBackslash '\\'> <'n- '> ($ Id.VSub_DollarName GLOBAL_PW) <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nPlease use this password when logging into the web interface:'> <Id.Lit_BadBackslash '\\'> <'n - http://ip/pihole'> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nThis password can be changed, please see pihole binary for info:'> <Id.Lit_BadBackslash '\\'> <'n - pihole --help'> ) } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<16>} {<70>} ) ] spids: [53374 53393] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<34>} spids: [53554] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 33>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 34>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<local>} {<Id.Lit_VarLike 'subsonic_memory_max='> (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Slash left: {($ Id.VSub_DollarName RAM_TOTAL)} right: {<Id.Lit_Digits 5>} ) ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName subsonic_memory_max)} right: {<Id.Lit_Digits 150>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'subsonic_memory_max='> name: subsonic_memory_max ) op: assign_op.Equal rhs: {<150>} spids: [53640] ) ] redirects: [] ) ] spids: [53622 53636] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 53679 stdin_parts: [ <'SUBSONIC_USER=root\n'> <'SUBSONIC_ARGS='> <Id.Right_DoubleQuote '"'> <'--quiet --pidfile=/run/subsonic.pid --max-memory='> ($ Id.VSub_DollarName subsonic_memory_max) <' --default-music-folder='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> ($ Id.VSub_DollarName FOLDER_MUSIC) <' --default-podcast-folder='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> ($ Id.VSub_DollarName FOLDER_MUSIC) <' --default-playlist-folder='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> ($ Id.VSub_DollarName FOLDER_MUSIC) <Id.Right_DoubleQuote '"'> <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/default/subsonic'>} ) ] more_env: [] do_fork: T ) (C {<Download_Test_Media>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<ln>} {<-fs>} {<'/usr/local/bin/ffmpeg'>} {<'/var/subsonic/transcode'>}) ] spids: [53698 53712] ) ] else_action: [ (C {<ln>} {<-fs>} {<'/usr/bin/ffmpeg'>} {<'/var/subsonic/transcode'>}) ] redirects: [] ) ] spids: [53558 53591] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<71>} spids: [53756] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<update-rc.d>} {<webiopi>} {<defaults>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WEBIOPI='> name:WEBIOPI) op: assign_op.Equal rhs: {<2>} spids: [53799] ) ] redirects: [] ) ] spids: [53760 53779] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<62>} spids: [53811] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<'/DietPi/dietpi/dietpi-autostart'>} {<5>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 53884 stdin_parts: [ <'[Unit]\n'> <'Description=dietpi-cloudshell on main screen\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'StandardOutput=tty\n'> <'TTYPath=/dev/tty1\n'> <'\n'> < 'ExecStartPre=/usr/bin/setterm --term linux --blank 0 --powersave off --cursor off\n' > <'\n'> <'ExecStart=/bin/bash -c \'/DietPi/dietpi/dietpi-cloudshell 1\'\n'> <'\n'> <'ExecStop=/usr/bin/setterm --reset\n'> < 'ExecStop=/bin/bash -c \'G_DIETPI-NOTIFY 0 DietPi-Cloudshell terminated, have a nice day!\'\n' > <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/dietpi-cloudshell.service'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<daemon-reload>}) ] spids: [53815 53834] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<98>} spids: [53900] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {<'/var/lib/haproxy'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 54023 stdin_parts: [ <'global\n'> <'\n'> <'\t#rsyslog is required for logging\n'> <'\t#log /var/log local0\n'> <'\t#log /var/log local1 notice\n'> <'\tmaxconn 64\n'> <'\t#Jail directory\n'> <'\tchroot /var/lib/haproxy\n'> <'\tstats socket /run/haproxy.sock mode 660 level admin\n'> <'\tstats timeout 30s\n'> <'\tuser root\n'> <'\tgroup root\n'> <'\tdaemon\n'> <'\n'> <'\t# Default SSL material locations\n'> <'\tca-base /etc/ssl/certs\n'> <'\tcrt-base /etc/ssl/private\n'> <'\n'> <'\t# Default ciphers to use on SSL-enabled listening sockets.\n'> <'\t# For more information, see ciphers(1SSL).\n'> < '\tssl-default-bind-ciphers kEECDH+aRSA+AES:kRSA+AES:+AES256:RC4-SHA:!kEDH:!LOW:!EXP:!MD5:!aNULL:!eNULL\n' > <'\n'> <'defaults\n'> <'\n'> <'\tlog global\n'> <'\tmode http\n'> <'\toption httplog\n'> <'\toption dontlognull\n'> <'\ttimeout connect 5000\n'> <'\ttimeout client 50000\n'> <'\ttimeout server 50000\n'> <'\terrorfile 400 /etc/haproxy/errors/400.http\n'> <'\terrorfile 403 /etc/haproxy/errors/403.http\n'> <'\terrorfile 408 /etc/haproxy/errors/408.http\n'> <'\terrorfile 500 /etc/haproxy/errors/500.http\n'> <'\terrorfile 502 /etc/haproxy/errors/502.http\n'> <'\terrorfile 503 /etc/haproxy/errors/503.http\n'> <'\terrorfile 504 /etc/haproxy/errors/504.http\n'> <'\n'> <'frontend localnodes\n'> <'\n'> <'\tbind *:80\n'> <'\tmode http\n'> <'\tdefault_backend nodes\n'> <'\n'> <'backend nodes\n'> <'\n'> <'\tmode http\n'> <'\tbalance roundrobin\n'> <'\toption forwardfor\n'> <'\thttp-request set-header X-Forwarded-Port %[dst_port]\n'> < '\thttp-request add-header X-Forwarded-Proto https if { ssl_fc }\n' > <'\toption httpchk HEAD / HTTP/1.1'> <Id.Lit_BadBackslash '\\'> <r> <Id.Lit_BadBackslash '\\'> <'nHost:localhost\n'> <'\tserver web01 127.0.0.1:9000 check\n'> <'\tserver web02 127.0.0.1:9001 check\n'> <'\tserver web03 127.0.0.1:9002 check\n'> <'\n'> <'#Admin web page\n'> <'\n'> <'\tlisten stats\n'> <'\tbind *:1338\n'> <'\tstats enable\n'> <'\tstats uri /\n'> <'\tstats hide-version\n'> <'\tstats auth admin:dietpi\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/haproxy/haproxy.cfg'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {<-p>} {<'/etc/haproxy/errors'>}) (C {<local>} {<Id.Lit_VarLike 'errorcode='> <0>}) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'errorcode='> name: errorcode ) op: assign_op.Equal rhs: {<400>} spids: [54044] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'[html]'> ($ Id.VSub_DollarName errorcode) <'[/html]'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/haproxy/errors/'> (DQ ($ Id.VSub_DollarName errorcode)) <.http>} ) ] more_env: [] do_fork: T ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'errorcode='> name: errorcode ) op: assign_op.Equal rhs: {<403>} spids: [54067] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'[html]'> ($ Id.VSub_DollarName errorcode) <'[/html]'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/haproxy/errors/'> (DQ ($ Id.VSub_DollarName errorcode)) <.http>} ) ] more_env: [] do_fork: T ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'errorcode='> name: errorcode ) op: assign_op.Equal rhs: {<408>} spids: [54090] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'[html]'> ($ Id.VSub_DollarName errorcode) <'[/html]'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/haproxy/errors/'> (DQ ($ Id.VSub_DollarName errorcode)) <.http>} ) ] more_env: [] do_fork: T ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'errorcode='> name: errorcode ) op: assign_op.Equal rhs: {<500>} spids: [54113] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'[html]'> ($ Id.VSub_DollarName errorcode) <'[/html]'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/haproxy/errors/'> (DQ ($ Id.VSub_DollarName errorcode)) <.http>} ) ] more_env: [] do_fork: T ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'errorcode='> name: errorcode ) op: assign_op.Equal rhs: {<502>} spids: [54136] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'[html]'> ($ Id.VSub_DollarName errorcode) <'[/html]'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/haproxy/errors/'> (DQ ($ Id.VSub_DollarName errorcode)) <.http>} ) ] more_env: [] do_fork: T ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'errorcode='> name: errorcode ) op: assign_op.Equal rhs: {<503>} spids: [54159] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'[html]'> ($ Id.VSub_DollarName errorcode) <'[/html]'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/haproxy/errors/'> (DQ ($ Id.VSub_DollarName errorcode)) <.http>} ) ] more_env: [] do_fork: T ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'errorcode='> name: errorcode ) op: assign_op.Equal rhs: {<504>} spids: [54182] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'[html]'> ($ Id.VSub_DollarName errorcode) <'[/html]'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/haproxy/errors/'> (DQ ($ Id.VSub_DollarName errorcode)) <.http>} ) ] more_env: [] do_fork: T ) ] spids: [53904 53923] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<35>} spids: [54214] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<update-rc.d>} {<logitechmediaserver>} {<remove>}) (C {<rm>} {<'/etc/init.d/logitechmediaserver'>}) (C {<cp>} {<'/DietPi/dietpi/conf/squeezeboxserver.service'>} {<'/var/lib/dietpi/dietpi-software/services/squeezeboxserver.service'>} ) (C {<Download_Test_Media>}) ] spids: [54218 54237] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<55>} spids: [54290] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<wordpress>} {<wordpress>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} ) ] spids: [54294 54313] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 27>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 28>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 120>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: {($ Id.VSub_DollarName G_USER_INPUTS)} redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<local>} {<Id.Lit_VarLike 'entering_pw='> <1>}) (C {<local>} {<Id.Lit_VarLike 'loop_count='> <0>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 120>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'entering_pw='> name: entering_pw ) op: assign_op.Equal rhs: {<0>} spids: [54463] ) ] redirects: [] ) ] spids: [54440 54459] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (SQ < 'A password is required for your VNC Server.\\n\\nThe next screen will allow you to set your password, this password will be used when connecting from a VNC client/viewer.\\n\\nPress Ok/Enter when ready.' > ) } spids: [54472] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ <'VNC Server Password'>)} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<13>} {<70>} ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName entering_pw)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (C {<vncpasswd>}) (command.DParen child: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike loop_count) ) redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.vnc/passwd'> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'entering_pw='> name: entering_pw ) op: assign_op.Equal rhs: {<0>} spids: [54559] ) ] redirects: [] ) ] spids: [54541 54555] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName loop_count)} right: {<Id.Lit_Digits 30>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'entering_pw='> name: entering_pw ) op: assign_op.Equal rhs: {<0>} spids: [54586] ) ] redirects: [] ) ] spids: [54568 54582] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] spids: [54409 54419] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 54628 stdin_parts: [ <'[Unit]\n'> <'Description=Manage VNC Server\n'> <'After=dietpi-service.service\n'> <'After=rc.local.service\n'> <'\n'> <'[Service]\n'> <'Type=idle\n'> <'RemainAfterExit=yes\n'> <'ExecStart=/bin/bash /usr/local/bin/vncserver start\n'> <'ExecStop=/bin/bash /usr/local/bin/vncserver stop\n'> <'User=root\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/vncserver.service'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<enable>} {<vncserver.service>}) (C {<systemctl>} {<daemon-reload>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 54777 stdin_parts: [ <'#!/bin/bash\n'> <'\n'> <'#Globals\n'> <'VNC_INSTALLED=0\n'> <'BINARY_FP=0\n'> <'SHARED_MODE=0\n'> <'\n'> <'WIDTH='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) < '(cat /DietPi/dietpi.txt | grep -m1 \'^SOFTWARE_VNCSERVER_WIDTH=\' | sed \'s/.*=//\')\n' > <'HEIGHT='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) < '(cat /DietPi/dietpi.txt | grep -m1 \'^SOFTWARE_VNCSERVER_HEIGHT=\' | sed \'s/.*=//\')\n' > <'DEPTH='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) < '(cat /DietPi/dietpi.txt | grep -m1 \'^SOFTWARE_VNCSERVER_DEPTH=\' | sed \'s/.*=//\')\n' > <'DISPLAY='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) < '(cat /DietPi/dietpi.txt | grep -m1 \'^SOFTWARE_VNCSERVER_DISPLAY_INDEX=\' | sed \'s/.*=//\')\n' > <'SHARED_MODE='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) < '(cat /DietPi/dietpi.txt | grep -m1 \'^SOFTWARE_VNCSERVER_SHARE_DESKTOP=\' | sed \'s/.*=//\')\n' > <'\n'> <'#RealVNC | Slightly different launch method to VNC4server\n'> <'REALVNC=0\n'> <'if (( '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) < '(dpkg --get-selections | grep -ci -m1 \'^realvnc-vnc-server\') )); then\n' > <'\n'> <'\tREALVNC=1\n'> <'\n'> < '\t#Set shared desktop mode if autostart is enabled for desktops. This prevents another VNC server being launched on :1.\n' > <'\tif (( '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(cat /DietPi/dietpi/.dietpi-autostart_index) == 2 )); then\n'> <'\n'> <'\t\tSHARED_MODE=1\n'> <'\n'> <'\tfi\n'> <'\n'> <'fi\n'> <'\n'> <'#Find binary FP to use\n'> <'if [ -f /usr/bin/tigervncserver ]; then\n'> <' BINARY_FP=\'/usr/bin/tigervncserver\'\n'> <' VNC_INSTALLED=1\n'> <'elif [ -f /usr/bin/vnc4server ]; then\n'> <' BINARY_FP=\'/usr/bin/vnc4server\'\n'> <' VNC_INSTALLED=1\n'> <'elif [ -f /usr/bin/vncserver ]; then\n'> <' BINARY_FP=\'/usr/bin/vncserver\'\n'> <' VNC_INSTALLED=1\n'> <'fi\n'> <'\n'> <'#Exit if no VNC binary found\n'> <'if (( ! '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'VNC_INSTALLED )); then\n'> <' exit 1\n'> <'fi\n'> <'\n'> <'case '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <1> <Id.Right_DoubleQuote '"'> <' in\n'> <' start)\n'> <' if (( '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'SHARED_MODE )); then\n'> <'\n'> <'\t\t\t# - excluding RealVNC as it has its own services\n'> <'\t\t\tif (( ! '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'REALVNC )); then\n'> <'\n'> <'\t\t\t\t#wait for X to start\n'> <'\t\t\t\twhile (( ! '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(ps aux | grep -ci -m1 \'[/]usr/bin/X\') ))\n'> <'\t\t\t\tdo\n'> <'\n'> <'\t\t\t\t\tsleep 3\n'> <'\n'> <'\t\t\t\tdone\n'> <'\n'> <'\t\t\t\txset dpms force on #disable screen blanking\n'> <'\t\t\t\tx11vnc -display :0 -usepw -forever &\n'> <'\n'> <'\t\t\tfi\n'> <'\n'> <' else\n'> <'\n'> <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'BINARY_FP :'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'DISPLAY -geometry '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'WIDTH\'x\''> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'HEIGHT -depth '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'DEPTH\n'> <'\n'> <' fi\n'> <' ;;\n'> <'\n'> <' stop)\n'> <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'BINARY_FP -kill :'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'DISPLAY &> /dev/null\n'> <' killall -w x11vnc &> /dev/null\n'> <'\t\tkillall -w Xtigervnc &> /dev/null\n'> <' ;;\n'> <'\n'> <'esac\n'> <'\n'> <'exit 0\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/usr/local/bin/vncserver'>} ) ] more_env: [] do_fork: T ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/bin/vncserver'>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 120>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<systemctl>} {<enable>} {<vncserver-x11-serviced.service>}) (C {<systemctl>} {<enable>} {<vncserver-virtuald.service>}) ] spids: [54792 54811] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {<-e>} {(SQ <'$localhost = "no";'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/vnc.conf'>} ) ] more_env: [] do_fork: T ) ] spids: [54838 54852] ) ] else_action: [] redirects: [] ) ] spids: [54349 54396] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<28>} spids: [54882] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 120>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<local>} {<Id.Lit_VarLike 'cmd_launch_desktop='> (SQ )}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 23>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cmd_launch_desktop='> name: cmd_launch_desktop ) op: assign_op.Equal rhs: {(SQ <'/usr/bin/lxsession -s LXDE &'>)} spids: [54961] ) ] redirects: [] ) ] spids: [54938 54957] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 24>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cmd_launch_desktop='> name: cmd_launch_desktop ) op: assign_op.Equal rhs: {(SQ <'x-window-manager &'>)} spids: [54995] ) ] redirects: [] ) ] spids: [54972 54991] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 26>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cmd_launch_desktop='> name: cmd_launch_desktop ) op: assign_op.Equal rhs: {(SQ <'x-window-manager &'>)} spids: [55029] ) ] redirects: [] ) ] spids: [55006 55025] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 25>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cmd_launch_desktop='> name: cmd_launch_desktop ) op: assign_op.Equal rhs: {(SQ <'/usr/bin/xfce4-session &'>)} spids: [55063] ) ] redirects: [] ) ] spids: [55040 55059] ) ] else_action: [] redirects: [] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.vnc'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 55104 stdin_parts: [ <'[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup\n'> <'[ -r /root/.Xresources ] && xrdb /root/.Xresources\n'> <'xsetroot -solid grey\n'> <'vncconfig -iconic &\n'> ($ Id.VSub_DollarName cmd_launch_desktop) <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName HOME)) <'/.vnc/xstartup'>} ) ] more_env: [] do_fork: T ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.vnc/xstartup'>} ) ] spids: [54886 54919] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<73>} spids: [55128] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<echo>} {<0>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/log/auth.log'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 55190 stdin_parts: [ <'[Definition]\n'> <'# loglevel #1=error #2=warn #3=info\n'> <'loglevel = 3\n'> <'logtarget = /var/log/fail2ban.log\n'> <'socket = /var/run/fail2ban/fail2ban.sock\n'> <'pidfile = /var/run/fail2ban/fail2ban.pid\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/fail2ban/fail2ban.conf'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 55240 stdin_parts: [ <'[DEFAULT]\n'> <'\n'> <'enabled = true\n'> <'ignoreip = 127.0.0.1/8\n'> <'ignorecommand =\n'> <'backend = auto\n'> <'bantime = 600\n'> <'findtime = 600\n'> <'maxretry = 3\n'> <'banaction = route\n'> <'action_ = %(banaction)s[name=%(__name__)s, bantime='> <Id.Right_DoubleQuote '"'> <'%(bantime)s'> <Id.Right_DoubleQuote '"'> <', port='> <Id.Right_DoubleQuote '"'> <'%(port)s'> <Id.Right_DoubleQuote '"'> <']\n'> <'action = %(action_)s\n'> <'\n'> <'[sshd]\n'> <'\n'> <'enabled = true\n'> <'port = ssh\n'> <'filter = sshd\n'> <'logpath = /var/log/auth.log\n'> <'maxretry = 6\n'> <'\n'> <'[dropbear]\n'> <'\n'> <'enabled = true\n'> <'port = ssh\n'> <'filter = dropbear\n'> <'logpath = /var/log/auth.log\n'> <'maxretry = 6\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/fail2ban/jail.conf'>} ) ] more_env: [] do_fork: T ) ] spids: [55132 55151] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<64>} spids: [55251] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<cp>} {<'/DietPi/dietpi/conf/phpsysinfo.ini'>} {<'/var/www/phpsysinfo/phpsysinfo.ini'>} ) ] spids: [55255 55274] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<56>} spids: [55302] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {<'/var/www/gallery/DietPi'>}) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/images/dietpi-logo_256.png'>} {<-O>} {<'/var/www/gallery/DietPi/logo_256.png'>} ) (C {<mkdir>} {<-p>} {<'/var/www/gallery/Tr-Zero'>}) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//media.indiedb.com/images/games/1/25/24673/SS_0.jpg'> } {<-O>} {<'/var/www/gallery/Tr-Zero/SS_0.jpg'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//media.indiedb.com/images/games/1/25/24673/SS_44.jpg'> } {<-O>} {<'/var/www/gallery/Tr-Zero/SS_1.jpg'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//media.indiedb.com/images/games/1/25/24673/3.png'>} {<-O>} {<'/var/www/gallery/Tr-Zero/SS_2.jpg'>} ) (C {<mkdir>} {<-p>} {<'/var/www/gallery/_sfpg_data'>}) (C {<sed>} {<-i>} { (DQ <'/define(\'SECURITY_PHRASE\'/c'> <Id.Lit_BadBackslash '\\'> <'define(\'SECURITY_PHRASE\', \'true\');'> ) } {<'/var/www/gallery/index.php'>} ) ] spids: [55306 55325] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<40>} spids: [55435] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<Download_Test_Media>}) (C {<G_RUN_CMD>} {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/mysql_databases/ampache_mysql_3.8.2-v6.0.zip'> } {<-O>} {<sql.zip>} ) (C {<unzip>} {<-o>} {<sql.zip>}) (C {<rm>} {<sql.zip>}) (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<ampache>} {<ampache>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} ) (command.Simple words: [{<mysql>} {<ampache>}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<ampache.sql>} ) ] more_env: [] do_fork: T ) (C {<rm>} {<ampache.sql>}) (C {<G_RUN_CMD>} {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/ampache.cfg.php_3.8.2-v6.0'> } {<-O>} {<'/var/www/ampache/config/ampache.cfg.php'>} ) ] spids: [55439 55458] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<97>} spids: [55552] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<local>} {<Id.Lit_VarLike 'key_size='> <1024>}) (C {<cp>} {<-R>} {<'/usr/share/easy-rsa/'>} {<'/etc/openvpn'>}) (C {<mkdir>} {<-p>} {<'/etc/openvpn/easy-rsa/keys'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 55659 stdin_parts: [ <'export KEY_SIZE='> ($ Id.VSub_DollarName key_size) <'\n'> <'export KEY_COUNTRY='> <Id.Right_DoubleQuote '"'> <UK> <Id.Right_DoubleQuote '"'> <'\n'> <'export KEY_PROVINCE='> <Id.Right_DoubleQuote '"'> <DietPi> <Id.Right_DoubleQuote '"'> <'\n'> <'export KEY_CITY='> <Id.Right_DoubleQuote '"'> <DietPi> <Id.Right_DoubleQuote '"'> <'\n'> <'export KEY_ORG='> <Id.Right_DoubleQuote '"'> <DietPi> <Id.Right_DoubleQuote '"'> <'\n'> <'export KEY_EMAIL='> <Id.Right_DoubleQuote '"'> <'noreply@DietPi.com'> <Id.Right_DoubleQuote '"'> <'\n'> <'export KEY_OU='> <Id.Right_DoubleQuote '"'> <DietPi> <Id.Right_DoubleQuote '"'> <'\n'> <'export KEY_NAME='> <Id.Right_DoubleQuote '"'> <DietPi_OpenVPN_Server> <Id.Right_DoubleQuote '"'> <'\n'> ] ) ) (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/openvpn/easy-rsa/vars'>} ) ] more_env: [] do_fork: T ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ <'Generating unique OpenVPN certificates and keys. Please wait...'> <Id.Lit_BadBackslash '\\'> <n> ) } ) (C {<openssl>} {<dhparam>} {<-out>} {<'/etc/openvpn/dh'> (DQ ($ Id.VSub_DollarName key_size)) <.pem>} {(DQ ($ Id.VSub_DollarName key_size))} ) (C {<chmod>} {<-R>} {<Id.Lit_Other '+'> <x>} {<'/etc/openvpn/easy-rsa'>}) (C {<cd>} {<'/etc/openvpn/easy-rsa'>}) (C {<.>} {<'./vars'>}) (C {<'./clean-all'>}) (C {<'./build-ca'>} {<--batch>} {<DietPi_OpenVPN_Server>}) (C {<'./build-key-server'>} {<--batch>} {<DietPi_OpenVPN_Server>}) (C {<cp>} (word.BracedTree parts: [ <'/etc/openvpn/easy-rsa/keys/'> (word_part.BracedTuple words: [ {<DietPi_OpenVPN_Server.crt>} {<DietPi_OpenVPN_Server.key>} {<ca.crt>} ] ) ] ) {<'/etc/openvpn/'>} ) (C {<'./build-key'>} {<--batch>} {<DietPi_OpenVPN_Client>}) (C {<cd>} {<..>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 55830 stdin_parts: [ <'port 1194\n'> <'proto udp\n'> <'dev tun\n'> <'\n'> <'ca ca.crt\n'> <'cert DietPi_OpenVPN_Server.crt\n'> <'key DietPi_OpenVPN_Server.key\n'> <'dh dh'> ($ Id.VSub_DollarName key_size) <'.pem\n'> <'\n'> <'server 10.8.0.0 255.255.255.0\n'> <'\n'> <'client-to-client\n'> <'keepalive 10 60\n'> <'comp-lzo\n'> <'max-clients 10\n'> <'\n'> <'user nobody\n'> <'group nogroup\n'> <'\n'> <'persist-key\n'> <'persist-tun\n'> <'verb 3\n'> <'\n'> <'#Web Forwarding (uncomment to enable)\n'> <'#push '> <Id.Right_DoubleQuote '"'> <redirect-gateway> <Id.Right_DoubleQuote '"'> <'\n'> <'#push '> <Id.Right_DoubleQuote '"'> <'dhcp-option DNS 10.8.0.1'> <Id.Right_DoubleQuote '"'> <'\n'> <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/openvpn/server.conf'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 55868 stdin_parts: [ <'client\n'> <'proto udp\n'> <'dev tun\n'> <'\n'> <'#Ip/Domain name of DietPi system, running OpenVPN server.\n'> <'remote mywebsite.com 1194\n'> <'\n'> <'resolv-retry infinite\n'> <'nobind\n'> <'\n'> <'user nobody\n'> <'group nogroup\n'> <'\n'> <'persist-key\n'> <'persist-tun\n'> <'\n'> <'ns-cert-type server\n'> <'comp-lzo\n'> <'verb 3\n'> <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'<ca>'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>} {<'/etc/openvpn/ca.crt'>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'</ca>'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'<cert>'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>} {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.crt'>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'</cert>'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'<key>'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>} {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.key'>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'</key>'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>} ) ] more_env: [] do_fork: T ) (C {<cp>} {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'>} ) (C {<cp>} {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>} {<'/boot/'>}) (C {<sed>} {<-i>} {(SQ <'/net.ipv4.ip_forward=/c\\net.ipv4.ip_forward=1'>)} {<'/etc/sysctl.conf'>} ) ] spids: [55556 55575] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<60>} spids: [56040] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<local>} {<Id.Lit_VarLike 'eth_index='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<1p>} {<'/DietPi/dietpi/.network'>}) right: <Id.Eof_RParen _> ) } ) (C {<local>} {<Id.Lit_VarLike 'wifi_index='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<2p>} {<'/DietPi/dietpi/.network'>}) right: <Id.Eof_RParen _> ) } ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 56132 stdin_parts: [ <'ddns-update-style none;\n'> <'default-lease-time 600;\n'> <'max-lease-time 7200;\n'> <'authoritative;\n'> <'log-facility local7;\n'> <'\n'> <'subnet 192.168.42.0 netmask 255.255.255.0 {\n'> <' range 192.168.42.10 192.168.42.50;\n'> <' option broadcast-address 192.168.42.255;\n'> <' option routers 192.168.42.1;\n'> <' option domain-name '> <Id.Right_DoubleQuote '"'> <local> <Id.Right_DoubleQuote '"'> <';\n'> <' option domain-name-servers 8.8.8.8, 8.8.4.4;\n'> <'}\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/dhcp/dhcpd.conf'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 56156 stdin_parts: [ <'INTERFACES='> <Id.Right_DoubleQuote '"'> <wlan> ($ Id.VSub_DollarName wifi_index) <Id.Right_DoubleQuote '"'> <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/default/isc-dhcp-server'>} ) ] more_env: [] do_fork: T ) (C {<sed>} {<-i>} {(SQ <'/allow-hotplug wlan/q0'>)} {<'/etc/network/interfaces'>}) (C {<sed>} {<-i>} { (DQ <'/allow-hotplug wlan/c'> <Id.Lit_BadBackslash '\\'> <'allow-hotplug wlan'> ($ Id.VSub_DollarName wifi_index) ) } {<'/etc/network/interfaces'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 56220 stdin_parts: [ <'iface wlan'> ($ Id.VSub_DollarName wifi_index) <' inet static\n'> <'address 192.168.42.1\n'> <'netmask 255.255.255.0\n'> <'#gateway 192.168.0.1\n'> <'wireless-power off\n'> <'#dns-nameservers 8.8.8.8 8.8.4.4\n'> <'\n'> <'# IP tables\n'> <'up iptables-restore < /etc/iptables.ipv4.nat\n'> ] ) ) (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/network/interfaces'>} ) ] more_env: [] do_fork: T ) (C {<ifconfig>} {<wlan> ($ Id.VSub_DollarName wifi_index)} {<192.168.42.1>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 56338 stdin_parts: [ <'interface=wlan'> ($ Id.VSub_DollarName wifi_index) <'\n'> <'driver=nl80211\n'> <'ssid='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_WIFI_HOTSPOT_SSID='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) <'\n'> <'hw_mode=g\n'> <'channel='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_WIFI_HOTSPOT_CHANNEL='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) <'\n'> <'macaddr_acl=0\n'> <'auth_algs=1\n'> <'ignore_broadcast_ssid=0\n'> <'wpa=2\n'> <'wpa_passphrase='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_WIFI_HOTSPOT_KEY='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) <'\n'> <'wpa_key_mgmt=WPA-PSK\n'> <'wpa_pairwise=TKIP\n'> <'rsn_pairwise=CCMP\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/hostapd/hostapd.conf'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: {($ Id.VSub_DollarName WIFIHOTSPOT_RTL8188C_DEVICE)} redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(DQ <'/^driver=/c'> <Id.Lit_BadBackslash '\\'> <'driver=rtl871xdrv'>)} {<'/etc/hostapd/hostapd.conf'>} ) ] spids: [56345 56355] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 56397 stdin_parts: [ <'DAEMON_CONF='> <Id.Right_DoubleQuote '"'> <'/etc/hostapd/hostapd.conf'> <Id.Right_DoubleQuote '"'> <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/default/hostapd'>} ) ] more_env: [] do_fork: T ) (C {<sed>} {<-i>} { (DQ <'/net.ipv4.ip_forward=/c'> <Id.Lit_BadBackslash '\\'> <'net.ipv4.ip_forward=1'> ) } {<'/etc/sysctl.conf'>} ) (command.Simple words: [{<echo>} {<1>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/proc/sys/net/ipv4/ip_forward'>} ) ] more_env: [] do_fork: T ) (C {<iptables>} {<-t>} {<nat>} {<-A>} {<POSTROUTING>} {<-o>} {<eth> ($ Id.VSub_DollarName eth_index)} {<-j>} {<MASQUERADE>} ) (C {<iptables>} {<-A>} {<FORWARD>} {<-i>} {<eth> ($ Id.VSub_DollarName eth_index)} {<-o>} {<wlan> ($ Id.VSub_DollarName wifi_index)} {<-m>} {<state>} {<--state>} {<RELATED> <Id.Lit_Comma ','> <ESTABLISHED>} {<-j>} {<ACCEPT>} ) (C {<iptables>} {<-A>} {<FORWARD>} {<-i>} {<wlan> ($ Id.VSub_DollarName wifi_index)} {<-o>} {<eth> ($ Id.VSub_DollarName eth_index)} {<-j>} {<ACCEPT>} ) (command.Simple words: [{<iptables-save>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/iptables.ipv4.nat'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 3>} ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: {($ Id.VSub_DollarName WIFIHOTSPOT_RTL8188C_DEVICE)} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {<-e>} {(DQ <'ieee80211n=1'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/hostapd/hostapd.conf'>} ) ] more_env: [] do_fork: T ) ] spids: [56520 56540] ) ] else_action: [] redirects: [] ) ] spids: [56044 56063] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<61>} spids: [56574] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 56628 stdin_parts: [ <'Log notice file /var/log/tor/notices.log\n'> <'VirtualAddrNetwork 10.192.0.0/10\n'> <'AutomapHostsSuffixes .onion,.exit\n'> <'AutomapHostsOnResolve 1\n'> <'TransPort 9040\n'> <'TransListenAddress 192.168.42.1\n'> <'DNSPort 53\n'> <'DNSListenAddress 192.168.42.1\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/tor/torrc'>} ) ] more_env: [] do_fork: T ) (C {<iptables>} {<-F>}) (C {<iptables>} {<-t>} {<nat>} {<-F>}) (C {<local>} {<Id.Lit_VarLike 'wifi_index='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<2p>} {<'/DietPi/dietpi/.network'>}) right: <Id.Eof_RParen _> ) } ) (C {<iptables>} {<-t>} {<nat>} {<-A>} {<PREROUTING>} {<-i>} {<wlan> ($ Id.VSub_DollarName wifi_index)} {<-p>} {<tcp>} {<--dport>} {<22>} {<-j>} {<REDIRECT>} {<--to-ports>} {<22>} ) (C {<iptables>} {<-t>} {<nat>} {<-A>} {<PREROUTING>} {<-i>} {<wlan> ($ Id.VSub_DollarName wifi_index)} {<-p>} {<udp>} {<--dport>} {<53>} {<-j>} {<REDIRECT>} {<--to-ports>} {<53>} ) (C {<iptables>} {<-t>} {<nat>} {<-A>} {<PREROUTING>} {<-i>} {<wlan> ($ Id.VSub_DollarName wifi_index)} {<-p>} {<tcp>} {<--syn>} {<-j>} {<REDIRECT>} {<--to-ports>} {<9040>} ) (command.Simple words: [{<iptables-save>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/iptables.ipv4.nat'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {<-p>} {<'/var/log/tor'>}) (command.Simple words: [{<echo>} {<0>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/log/tor/notices.log'>} ) ] more_env: [] do_fork: T ) (C {<chown>} {<-R>} {<debian-tor> <Id.Lit_Colon ':'> <nogroup>} {<'/var/log/tor/notices.log'>} ) ] spids: [56578 56597] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<37>} spids: [56824] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 56954 stdin_parts: [ <'general =\n'> <'{\n'> <' name = '> <Id.Right_DoubleQuote '"'> <'%H'> <Id.Right_DoubleQuote '"'> <';\n'> <' interpolation = '> <Id.Right_DoubleQuote '"'> <soxr> <Id.Right_DoubleQuote '"'> <';\n'> <'};\n'> <'\n'> <'metadata =\n'> <'{\n'> <'\tenabled = '> <Id.Right_DoubleQuote '"'> <yes> <Id.Right_DoubleQuote '"'> <';\n'> <'\tinclude_cover_art = '> <Id.Right_DoubleQuote '"'> <no> <Id.Right_DoubleQuote '"'> <';\n'> <'\tpipe_name = '> <Id.Right_DoubleQuote '"'> <'/tmp/shairport-sync-metadata'> <Id.Right_DoubleQuote '"'> <';\n'> <'\tpipe_timeout = 5000;\n'> <'\tsocket_address = '> <Id.Right_DoubleQuote '"'> <226.0.0.1> <Id.Right_DoubleQuote '"'> <';\n'> <'\tsocket_port = 5555;\n'> <'\tsocket_msglength = 65000;\n'> <'};\n'> <'\n'> <'\n'> <'alsa =\n'> <'{\n'> <'// mixer_control_name = '> <Id.Right_DoubleQuote '"'> <PCM> <Id.Right_DoubleQuote '"'> <';\n'> < '// output_rate = 44100; // can be 44100, 88200, 176400 or 352800\n' > <'// output_format = '> <Id.Right_DoubleQuote '"'> <S16> <Id.Right_DoubleQuote '"'> <'; // can be '> <Id.Right_DoubleQuote '"'> <U8> <Id.Right_DoubleQuote '"'> <', '> <Id.Right_DoubleQuote '"'> <S8> <Id.Right_DoubleQuote '"'> <', '> <Id.Right_DoubleQuote '"'> <S16> <Id.Right_DoubleQuote '"'> <', '> <Id.Right_DoubleQuote '"'> <S24> <Id.Right_DoubleQuote '"'> <', '> <Id.Right_DoubleQuote '"'> <S24_3LE> <Id.Right_DoubleQuote '"'> <', '> <Id.Right_DoubleQuote '"'> <S24_3BE> <Id.Right_DoubleQuote '"'> <' or '> <Id.Right_DoubleQuote '"'> <S32> <Id.Right_DoubleQuote '"'> <'\n'> <'};\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/usr/local/etc/shairport-sync.conf'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<groupadd>} {<-r>} {<shairport-sync>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [ {<useradd>} {<-r>} {<-M>} {<-g>} {<shairport-sync>} {<-s>} {<'/usr/bin/nologin'>} {<-G>} {<audio>} {<shairport-sync>} ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/bin/shairport-sync'>}) ] spids: [56828 56847] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<38>} spids: [57015] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<cp>} {<'/DietPi/dietpi/conf/brutefir_config'>} {<'/etc/BruteFIR/'>}) (C {<cp>} {<'/DietPi/dietpi/conf/brutefir.service'>} {<'/var/lib/dietpi/dietpi-software/services/brutefir.service'>} ) (command.Simple words: [{<echo>} {<-e>} {(DQ <snd-aloop>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/modules-load.d/brutefir-alsa-loopback.conf'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [ {<echo>} {<-e>} { (DQ <'options snd-aloop id=BruteFIR enable=1 pcm_substreams=1 pcm_notify=1'> ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/modprobe.d/brutefir-alsa-loopback.conf'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 57145 stdin_parts: [ <'pcm.!default {\n'> <'\n'> <'\ttype plug\n'> <'\n'> <'\tslave {\n'> <'\t\tpcm {\n'> <'\n'> <'\t\t\ttype hw\n'> <'\t\t\tcard '> <Id.Right_DoubleQuote '"'> <BruteFIR> <Id.Right_DoubleQuote '"'> <'\n'> <'\t\t\tdevice 0\n'> <'\t\t\tchannels 2\n'> <'\t\t\tformat '> <Id.Right_DoubleQuote '"'> <S16_LE> <Id.Right_DoubleQuote '"'> <'\n'> <'\t\t\trate 44100\n'> <'\t\t}\n'> <'\t}\n'> <'}\n'> <'\n'> <'ctl.!default {\n'> <'\n'> <'\ttype hw\n'> <'\tcard '> <Id.Right_DoubleQuote '"'> <BruteFIR> <Id.Right_DoubleQuote '"'> <'\n'> <'}\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/asound.conf'>} ) ] more_env: [] do_fork: T ) ] spids: [57019 57038] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<48>} spids: [57157] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} {(SQ <'/output_buffering = /c\\output_buffering = Off/'>)} {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/apache2/php.ini'>} ) (C {<sed>} {<-i>} { (DQ <'/AllowOverride /c'> <Id.Lit_BadBackslash '\\'> <' AllowOverride All'>) } {<'/etc/apache2/sites-enabled/000-default'> <Id.Lit_Star '*'>} ) (C {<sed>} {<-i>} { (DQ <'/AllowOverride /c'> <Id.Lit_BadBackslash '\\'> <' AllowOverride All'>) } {<'/etc/apache2/apache2.conf'>} ) (C {<a2enmod>} {<rewrite>}) (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<pydio>} {<pydio>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} ) (C {<local>} {<Id.Lit_VarLike 'target_data_dir='> (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/pydio_data'>) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName target_data_dir))}) (C {<mv>} {<'/var/www/pydio/data/'> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName target_data_dir)) <'/'>} ) (C {<rm>} {<-R>} {<'/var/www/pydio/data'>}) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName target_data_dir))} {<'/var/www/pydio/data'>} ) ] spids: [57161 57180] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<36>} spids: [57343] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [ {<echo>} {<-e>} { (DQ < '#This file is no longer used as service has been upgraded to SystemD.' > <Id.Lit_BadBackslash '\\'> < 'n#Please see /etc/systemd/system/squeezelite.service to set start options' > ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/default/squeezelite'>} ) ] more_env: [] do_fork: T ) (C {<rm>} {<'/etc/init.d/squeezelite'>}) (C {<cp>} {<'/DietPi/dietpi/conf/squeezelite.service'>} {<'/etc/systemd/system/squeezelite.service'>} ) (C {<Download_Test_Media>}) ] spids: [57347 57366] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<99>} spids: [57418] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<cp>} {<'/etc/emonhub/conf/default/emonhub'>} {<'/etc/default/emonhub'>}) (C {<cp>} {<'/etc/emonhub/service/emonhub'>} {<'/etc/init.d/emonhub'>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/init.d/emonhub'>}) (C {<update-rc.d>} {<emonhub>} {<defaults>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<-R>} {<'/etc/emonhub'>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/config.txt'>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <'=pi3-disable-bt'>)} ) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'ndtoverlay=pi3-disable-bt'>) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/DietPi/config.txt'>} ) ] more_env: [] do_fork: T ) ] spids: [57525 57555] ) ] else_action: [ (C {<sed>} {<-i>} {(SQ <'/pi3-disable-bt/c\\dtoverlay=pi3-disable-bt'>)} {<'/DietPi/config.txt'>} ) ] redirects: [] ) (C {<systemctl>} {<stop>} {<hciuart>}) (C {<systemctl>} {<disable>} {<hciuart>}) ] spids: [57503 57517] ) ] else_action: [] redirects: [] ) (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<serialconsole>} {<disable>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'USER_EMONHUB_APIKEY_CURRENT='> name: USER_EMONHUB_APIKEY_CURRENT ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_EMONHUB_APIKEY='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [57637] ) ] redirects: [] ) (C {<sed>} {<-i>} { (DQ <'/apikey/c'> <Id.Lit_BadBackslash '\\'> <' apikey = '> ($ Id.VSub_DollarName USER_EMONHUB_APIKEY_CURRENT) ) } {<'/etc/emonhub/conf/emonhub.conf'>} ) ] spids: [57422 57441] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<66>} spids: [57686] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<'/usr/share/rpimonitor/scripts/updatePackagesStatus.pl'>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: {($ Id.VSub_DollarName USBDRIVE)} redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} { (SQ < '\\/include=\\/etc\\/rpimonitor\\/template\\/sdcard.conf/a include=\\/etc\\/rpimonitor\\/template\\/usb_hdd.conf' > ) } {<'/etc/rpimonitor/data.conf'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 57841 stdin_parts: [ < '########################################################################\n' > <'# Extract USB HDD (sda1) information\n'> <'# Page: 1\n'> <'# Information Status Statistics\n'> <'# - USBHDD1 total - yes - yes\n'> <'# - USBHDD1 used - yes - yes\n'> < '########################################################################\n' > <'static.10.name=usbhdd_total\n'> <'static.10.source=df -t ext4\n'> <'static.10.regexp=sda1'> <Id.Lit_BadBackslash '\\'> <'s+('> <Id.Lit_BadBackslash '\\'> <'d+)\n'> <'static.10.postprocess='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'1/1024\n'> <'\n'> <'dynamic.14.name=usbhdd_used\n'> <'dynamic.14.source=df -t ext4\n'> <'dynamic.14.regexp=sda1'> <Id.Lit_BadBackslash '\\'> <'s+'> <Id.Lit_BadBackslash '\\'> <'d+'> <Id.Lit_BadBackslash '\\'> <'s+('> <Id.Lit_BadBackslash '\\'> <'d+)\n'> <'dynamic.14.postprocess='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'1/1024\n'> <'dynamic.14.rrd=GAUGE\n'> <'\n'> <'web.status.1.content.9.name=USB HDD\n'> <'web.status.1.content.9.icon=usb_hdd.png\n'> <'web.status.1.content.9.line.1='> <Id.Right_DoubleQuote '"'> <'<b>/sda1</b> Used: <b>'> <Id.Right_DoubleQuote '"'> <'+KMG(data.usbhdd_used,\'M\')+'> <Id.Right_DoubleQuote '"'> <'</b> (<b>'> <Id.Right_DoubleQuote '"'> <'+Percent(data.udbhdd_used,data.usbhdd_total,\'M\')+'> <Id.Right_DoubleQuote '"'> <'</b>) Free: <b>'> <Id.Right_DoubleQuote '"'> <'+KMG(data.usbhdd_total-data.usbhdd_used,\'M\')+ '> <Id.Right_DoubleQuote '"'> <'</b> Total: <b>'> <Id.Right_DoubleQuote '"'> <'+ KMG(data.usbhdd_total,\'M\') +'> <Id.Right_DoubleQuote '"'> <'</b>'> <Id.Right_DoubleQuote '"'> <'\n'> < 'web.status.1.content.9.line.2=ProgressBar(data.usbhdd_used,data.usbhdd_total)\n' > <'\n'> <'web.statistics.1.content.9.name=USB HDD\n'> <'web.statistics.1.content.9.graph.1=usbhdd_total\n'> <'web.statistics.1.content.9.graph.2=usbhdd_used\n'> < 'web.statistics.1.content.9.ds_graph_options.usbhdd_total.label=USB HDD total space (MB)\n' > < 'web.statistics.1.content.9.ds_graph_options.usbhdd_total.color=' > <Id.Right_DoubleQuote '"'> <'#FF7777'> <Id.Right_DoubleQuote '"'> <'\n'> < 'web.statistics.1.content.9.ds_graph_options.usbhdd_used.label=USB HDD used space (MB)\n' > < 'web.statistics.1.content.9.ds_graph_options.usbhdd_used.lines={ fill: true }\n' > < 'web.statistics.1.content.9.ds_graph_options.usbhdd_used.color=' > <Id.Right_DoubleQuote '"'> <'#7777FF'> <Id.Right_DoubleQuote '"'> <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/rpimonitor/template/usb_hdd.conf'>} ) ] more_env: [] do_fork: T ) ] spids: [57729 57739] ) ] else_action: [] redirects: [] ) ] spids: [57690 57709] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<65>} spids: [57856] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<cp>} {<'/DietPi/dietpi/conf/netdata.service'>} {<'/etc/systemd/system/netdata.service'>} ) (C {<systemctl>} {<daemon-reload>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<getent>} {<group>} {<netdata>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<groupadd>} {<-r>} {<netdata>}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<getent>} {<passwd>} {<netdata>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<useradd>} {<-r>} {<-g>} {<netdata>} {<-c>} {<netdata>} {<-s>} {<'/sbin/nologin'>} {<-d>} {<'/'>} {<netdata>} ) ] ) (command.ForEach iter_names: [x] iterable: (for_iter.Words words: [ {<'/var/cache/netdata'>} {<'/usr/share/netdata/web'>} {<'/etc/netdata'>} {<'/var/log/netdata'>} {<'/var/lib/netdata'>} ] ) body: (command.DoGroup children: [ (C {<chown>} {<-R>} {<netdata.netdata>} {($ Id.VSub_DollarName x)}) (C {<chmod>} {<0775>} {<-R>} {($ Id.VSub_DollarName x)}) ] ) redirects: [] ) ] spids: [57860 57879] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<57>} spids: [58016] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<Install_Apply_Permissions>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<php>} {<-r>} {(DQ <'readfile(\'https://getcomposer.org/installer\');'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<composer-setup.php>} ) ] more_env: [] do_fork: T ) (C {<php>} {<composer-setup.php>}) (C {<php>} {<-r>} {(DQ <'unlink(\'composer-setup.php\');'>)}) (C {<mv>} {<composer.phar>} {<'/usr/local/bin/composer'>}) (C {<cd>} {<'/var/www/baikal'>}) (C {<composer>} {<install>} {<--no-interaction>}) (C {<cd>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/'>}) (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<baikal>} {<baikal>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} ) ] spids: [58020 58039] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<43>} spids: [58138] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<local>} {<Id.Lit_VarLike 'max_users='> (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Star left: {($ Id.VSub_DollarName G_HW_CPU_CORES)} right: {<Id.Lit_Digits 8>} ) ) } ) (C {<sed>} {<-i>} { (DQ <'/users=/c'> <Id.Lit_BadBackslash '\\'> <'users='> ($ Id.VSub_DollarName max_users) ) } {<'/etc/mumble-server.ini'>} ) (C {<sed>} {<-i>} {(SQ <'/registerName=/c\\registerName=DietPi Mumble Server'>)} {<'/etc/mumble-server.ini'>} ) (C {<sed>} {<-i>} {(SQ <'/logdays=/c\\logdays=-1'>)} {<'/etc/mumble-server.ini'>}) (C {<murmurd>} {<-ini>} {<'/etc/mumble-server.ini'>} {<-supw>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} ) ] spids: [58142 58161] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<41>} spids: [58261] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Configuration>}) (C {<Download_Test_Media>})] spids: [58265 58284] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<42>} spids: [58304] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<Download_Test_Media>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: {($ Id.VSub_DollarName G_USER_INPUTS)} right: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<locale>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <en_US.UTF-8>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(SQ <'/en_US.UTF-8 UTF-8/c\\en_US.UTF-8 UTF-8'>)} {<'/etc/locale.gen'>} ) (C {<locale-gen>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (SQ < 'Plex Media Server requires en_US.UTF8 locale to be installed and set to default, else, Plex will not start.\\n\\nOn the next screen:\\n - Press enter (Do not make any changes to the selections, we have already selected en_US.UTF8 for you).\\n\\nOn the screen after:\\n - Select en_US.UTF8 and press enter.' > ) } spids: [58405] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ <'Plex en_US.UTF8'>)} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<16>} {<70>} ) (C {<dpkg-reconfigure>} {<locales>}) ] spids: [58347 58386] ) ] else_action: [] redirects: [] ) ] spids: [58308 58327] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<52>} spids: [58455] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 58510 stdin_parts: [ <'[Unit]\n'> <'Description=Cuberite Server\n'> <'\n'> <'[Service]\n'> <'Type=oneshot\n'> <'WorkingDirectory=/etc/cubrite\n'> <'ExecStart=/etc/cubrite/Cuberite --service\n'> <'ExecStop=/usr/bin/killall -w Cuberite\n'> <'RemainAfterExit=yes\n'> <'User=root\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/cuberite.service'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<enable>} {<cuberite.service>}) (C {<systemctl>} {<daemon-reload>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 58546 stdin_parts: [ <'[User:root]\n'> <'Password='> ($ Id.VSub_DollarName GLOBAL_PW) <'\n'> <'\n'> <'[WebAdmin]\n'> <'Ports=1339\n'> <'Enabled=1\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/cubrite/webadmin.ini'>} ) ] more_env: [] do_fork: T ) ] spids: [58459 58478] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<53>} spids: [58557] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<'/DietPi/dietpi/dietpi-services'>} {<stop>}) (command.Simple words: [{<killall>} {<-w>} {<supervisord>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<killall>} {<-w>} {<node>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<killall>} {<-w>} {<nodejs>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos/minecraft/mineos_console.js'> } {<'/usr/local/bin/mineos'>} ) (C {<cp>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos/minecraft/mineos.conf'> } {<'/etc/mineos.conf'>} ) (C {<cd>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos/minecraft'>}) (C {<'./generate-sslcert.sh'>}) (C {<cp>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos/minecraft/init/supervisor_conf'> } {<'/etc/supervisor/conf.d/mineos.conf'>} ) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) (C {<useradd>} {<mineos>}) (command.Pipeline children: [ (C {<echo>} {<-e>} { (DQ <dietpi> <Id.Lit_BadBackslash '\\'> <ndietpi> <Id.Lit_BadBackslash '\\'> <n> ) } ) (C {<passwd>} {<mineos>}) ] negated: F stderr_indices: [] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos/serverdata'>} ) (C {<mkdir>} {<-p>} {<'/var/games'>}) (C {<cp>} {<-R>} {<'/var/games/minecraft/'> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos/serverdata/'>} ) (C {<rm>} {<-R>} {<'/var/games/minecraft'>}) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos/serverdata'>} {<'/var/games/minecraft'>} ) (C {<chown>} {<-R>} {<mineos> <Id.Lit_Colon ':'> <mineos>} {<'/var/games/minecraft'>}) (C {<sed>} {<-i>} {(SQ <'/^command=/c\\command=/usr/local/bin/node webui.js'>)} {<'/etc/supervisor/conf.d/mineos.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/^directory=/c'> <Id.Lit_BadBackslash '\\'> <'directory='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/mineos/minecraft'> ) } {<'/etc/supervisor/conf.d/mineos.conf'>} ) (C {<supervisorctl>} {<reload>}) ] spids: [58561 58580] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<49>} spids: [58846] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/gogs-repo'>} ) (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<gogs>} {<gogs>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 58927 stdin_parts: [ <'#!/bin/bash\n'> <'#Simple script to start gogs for DietPi systems\n'> <'/etc/gogs/gogs web &> /var/log/gogs_daemon.log &\n'> <'exit\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gogs/start.sh'>} ) ] more_env: [] do_fork: T ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/gogs/start.sh'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 58964 stdin_parts: [ <'[Unit]\n'> <'Description=DietPi Gogs service\n'> <'DefaultDependencies=no\n'> <'\n'> <'[Service]\n'> <'Type=oneshot\n'> <'RemainAfterExit=yes\n'> <'User=root\n'> <'ExecStart=/bin/bash /etc/gogs/start.sh\n'> <'ExecStop=/usr/bin/killall -w gogs\n'> <'StandardOutput=tty\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/gogs.service'>} ) ] more_env: [] do_fork: T ) ] spids: [58850 58869] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<46>} spids: [58975] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/qBittorrent'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 59318 stdin_parts: [ <'[General]\n'> <'ported_to_new_savepath_system=true\n'> <'\n'> <'[Preferences]\n'> <Downloads> <Id.Lit_BadBackslash '\\'> <'DiskWriteCacheSize='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<0>}) right: <Id.Eof_RParen _> ) <'\n'> <Downloads> <Id.Lit_BadBackslash '\\'> <'DiskWriteCacheTTL=60\n'> <Queueing> <Id.Lit_BadBackslash '\\'> <'MaxActiveDownloads='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<1>}) right: <Id.Eof_RParen _> ) <'\n'> <Queueing> <Id.Lit_BadBackslash '\\'> <'MaxActiveTorrents='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<1>}) right: <Id.Eof_RParen _> ) <'\n'> <Queueing> <Id.Lit_BadBackslash '\\'> <'MaxActiveUploads=1\n'> <Queueing> <Id.Lit_BadBackslash '\\'> <'IgnoreSlowTorrents=false\n'> <Bittorrent> <Id.Lit_BadBackslash '\\'> <'MaxConnecs='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<2>}) right: <Id.Eof_RParen _> ) <'\n'> <Bittorrent> <Id.Lit_BadBackslash '\\'> <'MaxConnecsPerTorrent='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<2>}) right: <Id.Eof_RParen _> ) <'\n'> <Bittorrent> <Id.Lit_BadBackslash '\\'> <'MaxUploads='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<3>}) right: <Id.Eof_RParen _> ) <'\n'> <Bittorrent> <Id.Lit_BadBackslash '\\'> <'MaxUploadsPerTorrent='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<3>}) right: <Id.Eof_RParen _> ) <'\n'> <WebUI> <Id.Lit_BadBackslash '\\'> <'Port=1340\n'> <WebUI> <Id.Lit_BadBackslash '\\'> <'Enabled=true\n'> <General> <Id.Lit_BadBackslash '\\'> <'Locale=en_GB\n'> <Downloads> <Id.Lit_BadBackslash '\\'> <'SavePath='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads\n'> <Downloads> <Id.Lit_BadBackslash '\\'> <'TempPathEnabled=false\n'> <Downloads> <Id.Lit_BadBackslash '\\'> <'TempPath='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads\n'> <Downloads> <Id.Lit_BadBackslash '\\'> <'ScanDirs=@Invalid()\n'> <Downloads> <Id.Lit_BadBackslash '\\'> <'DownloadInScanDirs=@Invalid()\n'> <Downloads> <Id.Lit_BadBackslash '\\'> <'TorrentExportDir=\n'> <MailNotification> <Id.Lit_BadBackslash '\\'> <'enabled=false\n'> <MailNotification> <Id.Lit_BadBackslash '\\'> <'email=\n'> <MailNotification> <Id.Lit_BadBackslash '\\'> <'smtp_server=smtp.changeme.com\n'> <MailNotification> <Id.Lit_BadBackslash '\\'> <'req_ssl=false\n'> <MailNotification> <Id.Lit_BadBackslash '\\'> <'req_auth=false\n'> <MailNotification> <Id.Lit_BadBackslash '\\'> <'username=\n'> <MailNotification> <Id.Lit_BadBackslash '\\'> <'password=\n'> <Downloads> <Id.Lit_BadBackslash '\\'> <'PreAllocation=false\n'> <Queueing> <Id.Lit_BadBackslash '\\'> <'QueueingEnabled=false\n'> <Downloads> <Id.Lit_BadBackslash '\\'> <'UseIncompleteExtension=false\n'> <Connection> <Id.Lit_BadBackslash '\\'> <'PortRangeMin=6881\n'> <Connection> <Id.Lit_BadBackslash '\\'> <'UPnP=true\n'> <Connection> <Id.Lit_BadBackslash '\\'> <'GlobalDLLimit=-1\n'> <Connection> <Id.Lit_BadBackslash '\\'> <'GlobalUPLimit=-1\n'> <Bittorrent> <Id.Lit_BadBackslash '\\'> <'uTP=true\n'> <Bittorrent> <Id.Lit_BadBackslash '\\'> <'uTP_rate_limited=false\n'> <Advanced> <Id.Lit_BadBackslash '\\'> <'IncludeOverhead=false\n'> <Connection> <Id.Lit_BadBackslash '\\'> <'GlobalDLLimitAlt=10\n'> <Connection> <Id.Lit_BadBackslash '\\'> <'GlobalUPLimitAlt=10\n'> <Scheduler> <Id.Lit_BadBackslash '\\'> <'Enabled=false\n'> <Bittorrent> <Id.Lit_BadBackslash '\\'> <'DHT=true\n'> <Bittorrent> <Id.Lit_BadBackslash '\\'> <'sameDHTPortAsBT=true\n'> <Bittorrent> <Id.Lit_BadBackslash '\\'> <'DHTPort=6881\n'> <Bittorrent> <Id.Lit_BadBackslash '\\'> <'PeX=true\n'> <Bittorrent> <Id.Lit_BadBackslash '\\'> <'LSD=true\n'> <Bittorrent> <Id.Lit_BadBackslash '\\'> <'Encryption=1\n'> <Advanced> <Id.Lit_BadBackslash '\\'> <'AnonymousMode=false\n'> <Connection> <Id.Lit_BadBackslash '\\'> <'ProxyType=-1\n'> <Connection> <Id.Lit_BadBackslash '\\'> <Proxy> <Id.Lit_BadBackslash '\\'> <'IP=0.0.0.0\n'> <Connection> <Id.Lit_BadBackslash '\\'> <Proxy> <Id.Lit_BadBackslash '\\'> <'Port=8080\n'> <Connection> <Id.Lit_BadBackslash '\\'> <'ProxyPeerConnections=false\n'> <Connection> <Id.Lit_BadBackslash '\\'> <Proxy> <Id.Lit_BadBackslash '\\'> <'Authentication=false\n'> <Connection> <Id.Lit_BadBackslash '\\'> <Proxy> <Id.Lit_BadBackslash '\\'> <'Username=\n'> <Connection> <Id.Lit_BadBackslash '\\'> <Proxy> <Id.Lit_BadBackslash '\\'> <'Password=\n'> <IPFilter> <Id.Lit_BadBackslash '\\'> <'Enabled=false\n'> <IPFilter> <Id.Lit_BadBackslash '\\'> <'File=\n'> <WebUI> <Id.Lit_BadBackslash '\\'> <'Username=root\n'> <WebUI> <Id.Lit_BadBackslash '\\'> <'LocalHostAuth=true\n'> <WebUI> <Id.Lit_BadBackslash '\\'> <HTTPS> <Id.Lit_BadBackslash '\\'> <'Enabled=false\n'> <DynDNS> <Id.Lit_BadBackslash '\\'> <'Enabled=false\n'> <DynDNS> <Id.Lit_BadBackslash '\\'> <'Service=0\n'> <DynDNS> <Id.Lit_BadBackslash '\\'> <'Username=\n'> <DynDNS> <Id.Lit_BadBackslash '\\'> <'Password=\n'> <DynDNS> <Id.Lit_BadBackslash '\\'> <'DomainName=changeme.dyndns.org\n'> <WebUI> <Id.Lit_BadBackslash '\\'> <'Password_ha1=@ByteArray('> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {<-ne>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}) (C {<md5sum>}) (C {<awk>} {(SQ <'{print $1}'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) <')\n'> <'\n'> <'\n'> <'[LegalNotice]\n'> <'Accepted=true\n'> <'\n'> <'[AutoRun]\n'> <'enabled=false\n'> <'program=\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/qBittorrent/qBittorrent.conf'> } ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 59349 stdin_parts: [ <'[Unit]\n'> <'Description=qBittorrent Daemon Service\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'Type=oneshot\n'> <'User=root\n'> <'RemainAfterExit=yes\n'> <'ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=1340\n'> <'ExecStop=/usr/bin/killall -w qbittorrent-nox\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/qbittorrent.service'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<daemon-reload>}) ] spids: [58979 58998] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<107>} spids: [59366] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 83>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} { (DQ <'/AllowOverride /c'> <Id.Lit_BadBackslash '\\'> <' AllowOverride All'> ) } {<'/etc/apache2/sites-enabled/000-default'> <Id.Lit_Star '*'>} ) (C {<sed>} {<-i>} { (DQ <'/AllowOverride /c'> <Id.Lit_BadBackslash '\\'> <' AllowOverride All'> ) } {<'/etc/apache2/apache2.conf'>} ) (C {<a2enmod>} {<rewrite>}) (C {<G_AGI>} {<libapache2-mod-scgi>}) (C {<htpasswd>} {<-cb>} {<'/etc/.rutorrent-htaccess'>} {<root>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 59508 stdin_parts: [ <'AuthUserFile /etc/.rutorrent-htaccess\n'> <'AuthName '> <Id.Right_DoubleQuote '"'> <ruTorrent_login> <Id.Right_DoubleQuote '"'> <'\n'> <'AuthType Basic\n'> <'require user root\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/www/rutorrent/.htaccess'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 59534 stdin_parts: [ <'SCGIMount /RPC2 127.0.0.1:5000\n'> <'<location /RPC2>\n'> <'AuthName '> <Id.Right_DoubleQuote '"'> <'rTorrent secure access'> <Id.Right_DoubleQuote '"'> <'\n'> <'AuthType Basic\n'> <'AuthBasicProvider file\n'> <'AuthUserFile /etc/.rutorrent-htaccess\n'> <'Require user root\n'> <'</location>\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/apache2/sites-available/rutorrent.conf'>} ) ] more_env: [] do_fork: T ) (C {<ln>} {<-s>} {<'/etc/apache2/sites-available/rutorrent.conf'>} {<'/etc/apache2/sites-enabled/rutorrent.conf'>} ) ] spids: [59405 59424] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 84>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'root:rtorrent:'> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {<-n>} {(DQ <'root:rtorrent:dietpi'>)}) (C {<md5sum>}) (C {<cut>} {<-b>} {<-32>}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/.rutorrent-htaccess'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/etc/lighttpd/lighttpd.conf'>} ) (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^#RUTORRENT_DIETPI'>)} ) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 59755 stdin_parts: [ <'#RUTORRENT_DIETPI\n'> <'server.modules += ( '> <Id.Right_DoubleQuote '"'> <mod_fastcgi> <Id.Right_DoubleQuote '"'> <' )\n'> <'server.modules += ( '> <Id.Right_DoubleQuote '"'> <mod_scgi> <Id.Right_DoubleQuote '"'> <' )\n'> <'server.modules += ( '> <Id.Right_DoubleQuote '"'> <mod_auth> <Id.Right_DoubleQuote '"'> <' )\n'> <'auth.debug = 0\n'> <'auth.backend = '> <Id.Right_DoubleQuote '"'> <htdigest> <Id.Right_DoubleQuote '"'> <'\n'> <'auth.backend.htdigest.userfile = '> <Id.Right_DoubleQuote '"'> <'/etc/.rutorrent-htaccess'> <Id.Right_DoubleQuote '"'> <'\n'> <'\n'> <'auth.require = ( '> <Id.Right_DoubleQuote '"'> <'/rutorrent/'> <Id.Right_DoubleQuote '"'> <' => (\n'> <' '> <Id.Right_DoubleQuote '"'> <method> <Id.Right_DoubleQuote '"'> <' => '> <Id.Right_DoubleQuote '"'> <digest> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <realm> <Id.Right_DoubleQuote '"'> <' => '> <Id.Right_DoubleQuote '"'> <rtorrent> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <require> <Id.Right_DoubleQuote '"'> <' => '> <Id.Right_DoubleQuote '"'> <valid-user> <Id.Right_DoubleQuote '"'> <'\n'> <' ))\n'> <'\n'> <'scgi.server = ( '> <Id.Right_DoubleQuote '"'> <'/RPC2'> <Id.Right_DoubleQuote '"'> <' =>\n'> <' ( '> <Id.Right_DoubleQuote '"'> <127.0.0.1> <Id.Right_DoubleQuote '"'> <' =>\n'> <' (\n'> <' '> <Id.Right_DoubleQuote '"'> <host> <Id.Right_DoubleQuote '"'> <' => '> <Id.Right_DoubleQuote '"'> <127.0.0.1> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <port> <Id.Right_DoubleQuote '"'> <' => 5000,\n'> <' '> <Id.Right_DoubleQuote '"'> <check-local> <Id.Right_DoubleQuote '"'> <' => '> <Id.Right_DoubleQuote '"'> <disable> <Id.Right_DoubleQuote '"'> <'\n'> <' )\n'> <' )\n'> <')\n'> <'#RUTORRENT_DIETPI\n'> ] ) ) (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/lighttpd/lighttpd.conf'>} ) ] more_env: [] do_fork: T ) ] spids: [59612 59640] ) ] else_action: [] redirects: [] ) ] spids: [59550 59569] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 85>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} { (DQ <'root:'> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<openssl>} {<passwd>} {<-crypt>} {<dietpi>}) right: <Id.Eof_RParen _> ) ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/.rutorrent-htaccess'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 59834 stdin_parts: [ <'location /rutorrent {\n'> <' auth_basic '> <Id.Right_DoubleQuote '"'> <'Restricted Content'> <Id.Right_DoubleQuote '"'> <';\n'> <' auth_basic_user_file /etc/.rutorrent-htaccess;\n'> <'}\n'> <'\n'> <'location /RPC2 {\n'> <' include scgi_params;\n'> <' scgi_pass 127.0.0.1:5000;\n'> <'}\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/nginx/sites-dietpi/rutorrent.config'>} ) ] more_env: [] do_fork: T ) ] spids: [59766 59785] ) ] else_action: [] redirects: [] ) (C {<sed>} {<-i>} {(SQ <'/"curl"[[:space:]]/c\\ "curl" => "/usr/bin/curl",'>)} {<'/var/www/rutorrent/conf/config.php'>} ) (C {<chown>} {<www-data> <Id.Lit_Colon ':'> <www-data>} {<'/etc/.rutorrent-htaccess'>} ) (C {<chmod>} {<400>} {<'/etc/.rutorrent-htaccess'>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/downloads/.session'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 59918 stdin_parts: [ <'[Unit]\n'> <'Description=rTorrent\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'User=root\n'> <'Type=forking\n'> <'KillMode=none\n'> < 'ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/bin/rtorrent\n' > <'ExecStop=/usr/bin/killall -w -s 2 /usr/bin/rtorrent\n'> <'WorkingDirectory=%h\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/rtorrent.service'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<daemon-reload>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 60148 stdin_parts: [ < '#Attempt to reduce disk throttling/abuse | 0.9.2 command does not exist\n' > <'#max_open_files = 50\n'> <'\n'> <'#Max queue\n'> <'scheduler.max_active.set = 3\n'> <'\n'> <'#byte value\n'> <'max_memory_usage = '> (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Star left: (arith_expr.Binary op_id: Id.Arith_Star left: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<0>}) right: <Id.Eof_RParen _> ) } right: {<Id.Lit_Digits 1024>} ) right: {<Id.Lit_Digits 1024>} ) ) <'\n'> <'\n'> < '# Maximum and minimum number of peers to connect to per torrent.\n' > <'min_peers = 1\n'> <'max_peers = '> (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.Binary op_id: Id.Arith_Slash left: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<2>}) right: <Id.Eof_RParen _> ) } right: {<Id.Lit_Digits 2>} ) right: {<Id.Lit_Digits 1>} ) ) <'\n'> <'\n'> < '# Same as above but for seeding completed torrents (-1 = same as downloading)\n' > <'min_peers_seed = -1\n'> <'max_peers_seed = -1\n'> <'\n'> <'# Maximum number of simultaneous downloads\n'> <'max_downloads_global = '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<2>}) right: <Id.Eof_RParen _> ) <'\n'> <'# Maximum number of simultaneous uploads\n'> <'max_uploads_global = '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<3>}) right: <Id.Eof_RParen _> ) <'\n'> <'\n'> <'# Global upload and download rate in KiB. '> <Id.Right_DoubleQuote '"'> <0> <Id.Right_DoubleQuote '"'> <' for unlimited.\n'> <'download_rate = 0\n'> <'upload_rate = 0\n'> <'\n'> <'# Default directory to save the downloaded torrents.\n'> <'directory = '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads\n'> <'\n'> < '# Default session directory. Make sure you don\'t run multiple instance\n' > < '# of rtorrent using the same session directory. Perhaps using a\n' > <'# relative path?\n'> <'session = '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads/.session\n'> <'\n'> <'# Close torrents when diskspace is low.\n'> <'schedule = low_diskspace,5,60,close_low_diskspace=1000M\n'> <'\n'> <'# Periodically save session data\n'> <'schedule = session_save,240,300,session_save=\n'> <'\n'> <'# Enable the default ratio group.\n'> <'ratio.enable=yes\n'> <'# Change the limits, the defaults should be sufficient.\n'> <'# Upload to a minimum ratio of 1.01\n'> <'ratio.min.set=101\n'> <'# Upload to a maximum ratio of 1.25\n'> <'ratio.max.set=125\n'> <'# Upload a minimum of x MB\n'> <'ratio.upload.set=1M\n'> <'\n'> <'# When seeding ratio is reached close the torrent\n'> <'system.method.set = group.seeding.ratio.command, d.close=\n'> <'\n'> <'# Move files to ./unsorted when download completes\n'> <'system.method.set_key = event.download.finished,move_complete,'> <Id.Right_DoubleQuote '"'> <'execute=mv,-n,'> ($ Id.VSub_DollarName d) <'.get_base_path=,./unsorted/;d.set_directory=./unsorted/'> <Id.Right_DoubleQuote '"'> <'\n'> <'\n'> <'# Port range to use for listening.\n'> <'port_range = 33101-33199\n'> <'\n'> < '# Start opening ports at a random position within the port range.\n' > <'port_random = yes\n'> <'\n'> < '# Encryption options, set to none (default) or any combination of the following:\n' > < '# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext\n' > <'#\n'> < '# The example value allows incoming encrypted connections, starts unencrypted\n' > < '# outgoing connections but retries with encryption if they fail, preferring\n' > <'# plaintext to RC4 encryption after the encrypted handshake\n'> <'#\n'> <'encryption = require\n'> <'\n'> <'# Sort the main view by ratio\n'> <'view.sort_current = main,greater=d.get_ratio=\n'> <'view.sort_new = main,less=d.get_ratio=\n'> <'view.sort = main\n'> <'\n'> < '# Sort the seeding view by the upload rate and only show torrents with peers\n' > <'view.sort_current = seeding,greater=d.get_up_rate=\n'> <'view.filter = seeding,'> <Id.Right_DoubleQuote '"'> <'and=d.get_complete=,d.get_peers_connected='> <Id.Right_DoubleQuote '"'> <'\n'> <'view.sort_new = seeding,less=d.get_up_rate=\n'> <'view.sort = seeding\n'> <'\n'> <'# Sort the leeching view by name\n'> <'view.sort_current = leeching,greater=d.get_name=\n'> <'view.sort_new = leeching,greater=d.get_name=\n'> <'view.sort = leeching\n'> <'\n'> <'# Filter the active view by connected peers\n'> <'view.sort_current = active,less=d.get_name=\n'> <'view.sort_new = leeching,less=d.get_name=\n'> <'view.filter = active,d.get_peers_connected=\n'> <'view.sort = active\n'> <'\n'> <'schedule = sort_main,11,5,view.sort=main\n'> <'schedule = sort_seeding,12,5,view.sort=seeding\n'> <'schedule = sort_leeching,13,5,view.sort=leeching\n'> <'schedule = sort_active,14,5,view.sort=active\n'> <'\n'> < '# Enable DHT support for trackerless torrents or when all trackers are down.\n' > <'# May be set to '> <Id.Right_DoubleQuote '"'> <disable> <Id.Right_DoubleQuote '"'> <' (completely disable DHT), '> <Id.Right_DoubleQuote '"'> <off> <Id.Right_DoubleQuote '"'> <' (do not start DHT),\n'> <'# '> <Id.Right_DoubleQuote '"'> <auto> <Id.Right_DoubleQuote '"'> <' (start and stop DHT as needed), or '> <Id.Right_DoubleQuote '"'> <on> <Id.Right_DoubleQuote '"'> <' (start DHT immediately).\n'> <'# The default is '> <Id.Right_DoubleQuote '"'> <off> <Id.Right_DoubleQuote '"'> <'. For DHT to work, a session directory must be defined.\n'> <'#\n'> <'dht = auto\n'> <'\n'> <'# UDP port to use for DHT.\n'> <'#\n'> <'#dht_port = 6881\n'> <'\n'> <'# Enable peer exchange (for torrents not marked private)\n'> <'#\n'> <'peer_exchange = yes\n'> <'\n'> <'#Enable remote access (eg: webui)\n'> <'scgi_port = localhost:5000\n'> <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName HOME)) <'/.rtorrent.rc'>} ) ] more_env: [] do_fork: T ) ] spids: [59370 59389] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<132>} spids: [60160] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 60223 stdin_parts: [ <'[Unit]\n'> <'Description=DietPi Aria2\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'ExecStart='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<which>} {<aria2c>}) right: <Id.Eof_RParen _> ) <' --enable-rpc --rpc-listen-all --rpc-secret='> ($ Id.VSub_DollarName GLOBAL_PW) <' --dir='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> ($ Id.VSub_DollarName FOLDER_DOWNLOADS) <'\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/aria2.service'>} ) ] more_env: [] do_fork: T ) ] spids: [60164 60183] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<50>} spids: [60234] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing'>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing_data'>} ) (C {<mkdir>} {<-p>} {<'/var/log/syncthing'>}) (command.Simple words: [{<echo>} {(SQ )}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/log/syncthing/syncthing.log'>} ) ] more_env: [] do_fork: T ) (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Colon ':'> <dietpi>} {<'/var/log/syncthing'>}) (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Colon ':'> <dietpi>} {<'/etc/syncthing'>}) (C {<'/etc/syncthing/syncthing'>} {<-generate> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing'> } ) (C {<sed>} {<-i>} { (SQ < '/<\\/autoUpgradeIntervalH>/c\\ <autoUpgradeIntervalH>0<\\/autoUpgradeIntervalH>' > ) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing/config.xml'>} ) (C {<sed>} {<-i>} {(SQ <'/:8384<\\/address>/c\\ <address>0.0.0.0:8384<\\/address>'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing/config.xml'>} ) (C {<sed>} {<-i>} { (SQ < '/label=\\"Default Folder/c\\ <folder id=\\"0000-0000\\" label=\\"Syncthing Data\\" path=\\"' > ) (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/syncthing_data'>) (SQ < '\\" type=\\"readwrite\\" rescanIntervalS=\\"60\\" ignorePerms=\\"false\\" autoNormalize=\\"true\\">' > ) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing/config.xml'>} ) (C {<sed>} {<-i>} {(SQ <'/<\\/startBrowser>/c\\ <startBrowser>false<\\/startBrowser>'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing/config.xml'>} ) (C {<sed>} {<-i>} {(SQ <'s/fsWatcherEnabled=\\"false\\"/fsWatcherEnabled=\\"true\\"/g'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing/config.xml'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 60479 stdin_parts: [ <'[Unit]\n'> <'Description=Syncthing\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> < 'ExecStart=/etc/syncthing/syncthing -logfile=/var/log/syncthing/syncthing.log -logflags=3 -home=' > ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/syncthing\n'> <'User=dietpi\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/syncthing.service'>} ) ] more_env: [] do_fork: T ) (command.Pipeline children: [ (C {<echo>} {<-e>} {(DQ <'fs.inotify.max_user_watches=204800'>)}) (C {<tee>} {<-a>} {<'/etc/sysctl.conf'>}) ] negated: F stderr_indices: [] ) ] spids: [60238 60257] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<111>} spids: [60512] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/urbackup/urbackup_tmp_files'> } ) (C {<sed>} {<-i>} {(SQ <'/DAEMON_TMPDIR=/c\\DAEMON_TMPDIR="/var/tmp"'>)} {<'/etc/default/urbackupsrv'>} ) ] spids: [60516 60535] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<116>} spids: [60587] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/sickrage'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 60656 stdin_parts: [ <'[Unit]\n'> <'Description=SickRage\n'> <'After=dietpi-service.service\n'> <'\n'> <'[Service]\n'> <'User=root\n'> <'Group=root\n'> <'Type=forking\n'> <'GuessMainPID=no\n'> < 'ExecStart=/usr/bin/python /etc/sickrage/SickBeard.py -q --daemon --nolaunch --datadir=' > ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/sickrage\n'> <'#ExecStop=/usr/bin/killall -w SickBeard.py\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/sickrage.service'>} ) ] more_env: [] do_fork: T ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Configuring SickRage, please wait...'>)}) (C {<systemctl>} {<start>} {<sickrage>}) (C {<local>} {<Id.Lit_VarLike 'max_loops='> <10>}) (C {<local>} {<Id.Lit_VarLike 'current_loop='> <0>}) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} { (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/sickrage/config.ini'> ) } {<Id.Lit_RBracket ']'>} ) ] ) body: (command.DoGroup children: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Waiting for SickRage to finish 1st run prep, please wait...'>)} ) (C {<sleep>} {<1>}) (command.DParen child: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike current_loop) ) redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName current_loop)} right: {($ Id.VSub_DollarName max_loops)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<1>} {(DQ <'Timed-out waiting for SickRage to generate config.ini'>)} ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [60743 60757] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (C {<systemctl>} {<stop>} {<sickrage>}) (C {<cp>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/sickrage/config.ini'>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/sickrage/config.ini.default'>} ) (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/sickrage_dietpi_config.ini'> } {<-O>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/sickrage/config.ini'>} ) ] spids: [60591 60610] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<134>} spids: [60826] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 60883 stdin_parts: [ <'[Unit]\n'> <'Description=Tonido - DietPi\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=root\n'> <'WorkingDirectory=/etc/tonido\n'> < 'ExecStart=/bin/bash -c \'export LD_LIBRARY_PATH=/etc/tonido; export TONIDODIR=/etc/tonido; ./tonidoconsole\'\n' > <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/tonido.service'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/tonido/sync'>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/tonido/syncdata'>} ) (command.Simple words: [ {<cp>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/tonido'>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'>} ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/tonido'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/tonido'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/tonido'>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/tonido/sync'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/TonidoSync'>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/tonido/syncdata'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/TonidoSyncData'>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(SQ <'s/armv6l/armv7l/'>)} {<'/etc/tonido/manifest.xml'>}) (C {<sed>} {<-i>} {(SQ <'s/armv6l/armv7l/'>)} {<'/etc/tonido/plugins/'> <Id.Lit_Star '*'> <'/manifest.xml'>} ) ] spids: [60998 61012] ) ] else_action: [] redirects: [] ) ] spids: [60830 60849] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<113>} spids: [61053] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<local>} {<Id.Lit_VarLike 'export_options='> (DQ <'export CHROMIUM_FLAGS='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') < 'CHROMIUM_FLAGS --no-sandbox --temp-profile --start-maximized --user-data-dir ' > ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<echo>} {<0>})] spids: [61126 61140] ) ] else_action: [] redirects: [] ) ] spids: [61104 61118] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 21>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {<0>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [61166 61180] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_options+='> name: export_options ) op: assign_op.PlusEqual rhs: {(SQ <'--use-gl=egl'>)} spids: [61202] ) ] redirects: [] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'export_options+='> name: export_options ) op: assign_op.PlusEqual rhs: {(DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"'))} spids: [61213] ) ] redirects: [] ) (C {<mkdir>} {<-p>} {<'/etc/chromium.d'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 61240 stdin_parts: [($ Id.VSub_DollarName export_options) <'\n'>] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/chromium.d/custom_flags'>} ) ] more_env: [] do_fork: T ) (C {<cp>} {<'/etc/chromium.d/custom_flags'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.chromium-browser.init'>} ) (C {<ln>} {<-sf>} {<'/usr/share/applications/chromium'> <Id.Lit_Star '*'> <.desktop>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/chromium.desktop'>} ) ] spids: [61057 61076] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<126>} spids: [61289] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Configuration>}) (C {<omv-initsystem>})] spids: [61293 61312] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<129>} spids: [61332] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} { (DQ <'/\'mysqli_user\'/c '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'cfg['> <Id.Lit_BadBackslash '\\'> <'\'mysqli_user'> <Id.Lit_BadBackslash '\\'> <'\'] = '> <Id.Lit_BadBackslash '\\'> <'\'ompd'> <Id.Lit_BadBackslash '\\'> <'\';'> ) } {<'/var/www/ompd/include/config.inc.php'>} ) (C {<sed>} {<-i>} { (DQ <'/\'mysqli_password\'/c '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'cfg['> <Id.Lit_BadBackslash '\\'> <'\'mysqli_password'> <Id.Lit_BadBackslash '\\'> <'\'] = '> <Id.Lit_BadBackslash '\\'> <'\''> ($ Id.VSub_DollarName GLOBAL_PW) <Id.Lit_BadBackslash '\\'> <'\';'> ) } {<'/var/www/ompd/include/config.inc.php'>} ) (C {<sed>} {<-i>} { (DQ <'/\'media_dir\'/c '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'cfg['> <Id.Lit_BadBackslash '\\'> <'\'media_dir'> <Id.Lit_BadBackslash '\\'> <'\'] = '> <Id.Lit_BadBackslash '\\'> <'\'/var/lib/mpd/music/'> <Id.Lit_BadBackslash '\\'> <'\';'> ) } {<'/var/www/ompd/include/config.inc.php'>} ) (C {<sed>} {<-i>} { (DQ <'/\'ignore_media_dir_access_error\'/c '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'cfg['> <Id.Lit_BadBackslash '\\'> <'\'ignore_media_dir_access_error'> <Id.Lit_BadBackslash '\\'> <'\'] = '> <Id.Lit_BadBackslash '\\'> <'\'true\';'> ) } {<'/var/www/ompd/include/config.inc.php'>} ) (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<ompd>} {<ompd>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} ) ] spids: [61336 61355] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<135>} spids: [61467] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} { (SQ < '/\\<source-password\\>/c\\\\<source-password\\>dietpi\\<\\/source-password\\>' > ) } {<'/etc/icecast2/icecast.xml'>} ) (C {<sed>} {<-i>} { (SQ < '/\\<relay-password\\>/c\\\\<relay-password\\>dietpi\\<\\/relay-password\\>' > ) } {<'/etc/icecast2/icecast.xml'>} ) (C {<local>} {<Id.Lit_VarLike 'admin_password='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple words: [{<tr>} {<-cd>} {(SQ <'[:alnum:]'>)}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<'/dev/urandom'>} ) ] more_env: [] do_fork: T ) (C {<fold>} {<-w10>}) (C {<head>} {<-n1>}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (C {<sed>} {<-i>} { (DQ <'/'> <Id.Lit_BadBackslash '\\'> <'<admin-password'> <Id.Lit_BadBackslash '\\'> <'>/c'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'<admin-password'> <Id.Lit_BadBackslash '\\'> <'>'> ($ Id.VSub_DollarName admin_password) <Id.Lit_BadBackslash '\\'> <'<'> <Id.Lit_BadBackslash '\\'> <'/admin-password'> <Id.Lit_BadBackslash '\\'> <'>'> ) } {<'/etc/icecast2/icecast.xml'>} ) (C {<sed>} {<-i>} {(SQ <'/ENABLE=/c\\ENABLE=true'>)} {<'/etc/default/icecast2'>}) (C {<local>} {<Id.Lit_VarLike 'input_device_index='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<arecord>} {<-l>}) (C {<grep>} {<-m1>} {(SQ <card>)}) (C {<awk>} {(SQ <'{print $2}'>)}) (C {<sed>} {(SQ <'s/://'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 61706 stdin_parts: [ <'[general]\n'> <'duration = 0\n'> <'bufferSecs = 3\n'> <'reconnect = yes\n'> <'\n'> <'[input]\n'> <'device = hw:'> ($ Id.VSub_DollarName input_device_index) <',0\n'> <'sampleRate = 44100\n'> <'bitsPerSample = 16\n'> <'channel = 1\n'> <'\n'> <'[icecast2-0]\n'> <'bitrateMode = vbr\n'> <'format = vorbis\n'> <'quality = 0.8\n'> <'server = dietpi\n'> <'port = 8000\n'> <'password = dietpi\n'> <'mountPoint = DietPi\n'> <'name = DietPi\n'> <'description = DarkIce on DietPi\n'> <'url = http://localhost\n'> <'genre = none\n'> <'public = no\n'> <'#localDumpFile = '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/darkice_recording.ogg\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/darkice.cfg'>} ) ] more_env: [] do_fork: T ) (C {<rm>} {<'/etc/init.d/darkice'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 61746 stdin_parts: [ <'[Unit]\n'> <'Description=DarkIce - DietPi\n'> <'After=icecast2.service\n'> <'Requires=icecast2.service\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'ExecStart='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<which>} {<darkice>}) right: <Id.Eof_RParen _> ) <'\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/darkice.service'>} ) ] more_env: [] do_fork: T ) ] spids: [61471 61490] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<131>} spids: [61757] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<local>} {<Id.Lit_VarLike 'fp_java_binary='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<which>} {<java>}) right: <Id.Eof_RParen _> ) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/blynk'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CONFIG_FILE_URL_ADDRESS='> name: CONFIG_FILE_URL_ADDRESS ) op: assign_op.Equal rhs: { (SQ < 'https://raw.githubusercontent.com/blynkkk/blynk-server/master/server/core/src/main/resources/server.properties' > ) } spids: [61813] ) ] redirects: [] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName CONFIG_FILE_URL_ADDRESS))} {<-O>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/blynk/server.properties'>} ) (C {<sed>} {<-i>} { (DQ <'/data.folder=/c'> <Id.Lit_BadBackslash '\\'> <'data.folder='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/blynk'> ) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/blynk/server.properties'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 61877 stdin_parts: [ <'[Unit]\n'> <'Description=Blynk Server\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'ExecStart='> ($ Id.VSub_DollarName fp_java_binary) <' -jar /etc/blynkserver/server.jar -serverConfig '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/blynk/server.properties\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/blynkserver.service'>} ) ] more_env: [] do_fork: T ) ] spids: [61761 61780] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<136>} spids: [61888] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<rpi-camera>} {<enable>}) ] spids: [61923 61937] ) ] else_action: [] redirects: [] ) (C {<mkdir>} {<-p>} {<'/etc/motioneye'>}) (C {<cp>} {<'/usr/local/share/motioneye/extra/motioneye.conf.sample'>} {<'/etc/motioneye/motioneye.conf'>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/motioneye'>} ) (C {<sed>} {<-i>} { (DQ <'/^media_path/c'> <Id.Lit_BadBackslash '\\'> <'media_path '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/motioneye'> ) } {<'/etc/motioneye/motioneye.conf'>} ) (C {<cp>} {<'/usr/local/share/motioneye/extra/motioneye.systemd-unit-local'>} {<'/etc/systemd/system/motioneye.service'>} ) ] spids: [61892 61911] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<137>} spids: [62014] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<cupsctl>} {<--remote-admin>}) (C {<usermod>} {<-a>} {<-G>} {<lpadmin>} {<root>}) ] spids: [62018 62037] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<138>} spids: [62074] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 62127 stdin_parts: [ <'[Unit]\n'> <'Description=VirtualHere DietPi service\n'> <'After=local-fs.target\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'\n'> <'ExecStart=/etc/vhusbd/vhusbd -r /var/log/virtualhere.log\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/virtualhere.service'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<daemon-reload>}) (command.Simple words: [{<echo>} {<-e>} {(DQ <'ServerName=\'DietPi\''>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/vhusbd/config.ini'>} ) ] more_env: [] do_fork: T ) ] spids: [62078 62097] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<139>} spids: [62157] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 62208 stdin_parts: [ <'[Unit]\n'> <'Description=sabnzbd DietPi\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> < 'ExecStart=/usr/bin/python /etc/sabnzbd/SABnzbd.py -f /etc/sabnzbd/sabnzbd.ini\n' > <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/sabnzbd.service'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<daemon-reload>}) (command.Simple words: [{<rm>} {<'/etc/sabnzbd/sabnzbd.ini'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<start>} {<sabnzbd>}) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Generating initial config, please wait...'>)}) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<'/etc/sabnzbd/sabnzbd.ini'>} {<Id.Lit_RBracket ']'>} ) ] ) body: (command.DoGroup children:[(C {<sleep>} {<1>})]) redirects: [] ) (C {<sleep>} {<2>}) (C {<systemctl>} {<stop>} {<sabnzbd>}) (C {<sleep>} {<2>}) (C {<sed>} {<-i>} { (DQ <'/^download_dir =/c'> <Id.Lit_BadBackslash '\\'> <'download_dir = '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads/incomplete'> ) } {<'/etc/sabnzbd/sabnzbd.ini'>} ) (C {<sed>} {<-i>} { (DQ <'/^complete_dir =/c'> <Id.Lit_BadBackslash '\\'> <'complete_dir = '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads/complete'> ) } {<'/etc/sabnzbd/sabnzbd.ini'>} ) (C {<sed>} {<-i>} { (DQ <'/^nzb_backup_dir =/c'> <Id.Lit_BadBackslash '\\'> <'nzb_backup_dir = '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads/sabnzbd_nzb_backup'> ) } {<'/etc/sabnzbd/sabnzbd.ini'>} ) (C {<sed>} {<-i>} { (DQ <'/^admin_dir =/c'> <Id.Lit_BadBackslash '\\'> <'admin_dir = '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads/sabnzbd_admin'> ) } {<'/etc/sabnzbd/sabnzbd.ini'>} ) (C {<sed>} {<-i>} {(DQ <'/^log_dir =/c'> <Id.Lit_BadBackslash '\\'> <'log_dir = /var/log'>)} {<'/etc/sabnzbd/sabnzbd.ini'>} ) (C {<sed>} {<-i>} {(DQ <'/^log_level =/c'> <Id.Lit_BadBackslash '\\'> <'log_level = 0'>)} {<'/etc/sabnzbd/sabnzbd.ini'>} ) (C {<sed>} {<-i>} {(DQ <'/^refresh_rate =/c'> <Id.Lit_BadBackslash '\\'> <'refresh_rate = 2'>)} {<'/etc/sabnzbd/sabnzbd.ini'>} ) (C {<sed>} {<-i>} {(DQ <'/^host =/c'> <Id.Lit_BadBackslash '\\'> <'host = 0.0.0.0'>)} {<'/etc/sabnzbd/sabnzbd.ini'>} ) ] spids: [62161 62180] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<141>} spids: [62428] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 62485 stdin_parts: [ <'[Unit]\n'> <'Description=spotify-connect-web\n'> <'After=sound.target\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'WorkingDirectory='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/spotify-connect-web\n'> <'ExecStart='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/spotify-connect-web/spotify-connect-web\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/spotify-connect-web.service'>} ) ] more_env: [] do_fork: T ) ] spids: [62432 62451] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<142>} spids: [62496] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<cp>} {<'/etc/couchpotato/init/ubuntu.default'>} {<'/etc/default/couchpotato'>}) (C {<sed>} {<-i>} {(DQ <'/CP_USER=/c'> <Id.Lit_BadBackslash '\\'> <'CP_USER=root'>)} {<'/etc/default/couchpotato'>} ) (C {<sed>} {<-i>} {(DQ <'/CP_HOME=/c'> <Id.Lit_BadBackslash '\\'> <'CP_HOME=/etc/couchpotato'>)} {<'/etc/default/couchpotato'>} ) (C {<sed>} {<-i>} { (DQ <'/CP_DATA=/c'> <Id.Lit_BadBackslash '\\'> <'CP_DATA='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/couchpotato'> ) } {<'/etc/default/couchpotato'>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/couchpotato'>} ) (C {<cp>} {<'/etc/couchpotato/init/ubuntu'>} {<'/etc/init.d/couchpotato'>}) ] spids: [62500 62519] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<143>} spids: [62607] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<Download_Test_Media>}) (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<koel>} {<koel>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} ) (C {<cd>} {<'/var/www/koel'>}) (C {<sed>} {<-i>} {(SQ <'/DB_CONNECTION=/c\\DB_CONNECTION=mysql'>)} {<.env>}) (C {<sed>} {<-i>} {(SQ <'/DB_HOST=/c\\DB_HOST=127.0.0.1'>)} {<.env>}) (C {<sed>} {<-i>} {(SQ <'/DB_DATABASE=/c\\DB_DATABASE=koel'>)} {<.env>}) (C {<sed>} {<-i>} {(SQ <'/DB_USERNAME=/c\\DB_USERNAME=koel'>)} {<.env>}) (C {<sed>} {<-i>} { (DQ <'/DB_PASSWORD=/c'> <Id.Lit_BadBackslash '\\'> <'DB_PASSWORD='> ($ Id.VSub_DollarName GLOBAL_PW) ) } {<.env>} ) (C {<sed>} {<-i>} {(SQ <'/ADMIN_EMAIL=/c\\ADMIN_EMAIL=dietpi@dietpi.com'>)} {<.env>}) (C {<sed>} {<-i>} {(SQ <'/ADMIN_NAME=/c\\ADMIN_NAME=admin'>)} {<.env>}) (C {<sed>} {<-i>} { (DQ <'/ADMIN_PASSWORD=/c'> <Id.Lit_BadBackslash '\\'> <'ADMIN_PASSWORD='> ($ Id.VSub_DollarName GLOBAL_PW) ) } {<.env>} ) (C {<sed>} {<-i>} { (DQ <'/FFMPEG_PATH=/c'> <Id.Lit_BadBackslash '\\'> <'FFMPEG_PATH='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<which>} {<ffmpeg>}) right: <Id.Eof_RParen _> ) ) } {<.env>} ) (C {<php>} {<artisan>} {<koel> <Id.Lit_Colon ':'> <init>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 62825 stdin_parts: [ <'[Unit]\n'> <'Description=Koel\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=root\n'> <'WorkingDirectory=/var/www/koel\n'> <'ExecStart='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<which>} {<php>}) right: <Id.Eof_RParen _> ) <' /var/www/koel/artisan serve --host 0.0.0.0\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/koel.service'>} ) ] more_env: [] do_fork: T ) ] spids: [62611 62630] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<144>} spids: [62836] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 62892 stdin_parts: [ <'[Unit]\n'> <'Description=Sonarr (NzbDrone) Daemon\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'User=root\n'> <'Restart=on-failure\n'> <'RestartSec=5\n'> <'Type=simple\n'> < 'ExecStart=/usr/bin/mono --debug /opt/NzbDrone/NzbDrone.exe -nobrowser\n' > <'TimeoutStopSec=20\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/sonarr.service'>} ) ] more_env: [] do_fork: T ) ] spids: [62840 62859] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<145>} spids: [62903] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 62959 stdin_parts: [ <'[Unit]\n'> <'Description=Radarr Daemon\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'User=root\n'> <'Restart=on-failure\n'> <'RestartSec=5\n'> <'Type=simple\n'> < 'ExecStart=/usr/bin/mono --debug /opt/Radarr/Radarr.exe -nobrowser\n' > <'TimeoutStopSec=20\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/radarr.service'>} ) ] more_env: [] do_fork: T ) ] spids: [62907 62926] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<146>} spids: [62970] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/plexpy'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 63037 stdin_parts: [ <'[Unit]\n'> <'Description=PlexPy - Stats for Plex Media Server usage\n'> <'\n'> <'[Service]\n'> < 'ExecStart=/opt/plexpy/PlexPy.py --quiet --daemon --nolaunch --config /opt/plexpy/config.ini --datadir ' > ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/plexpy\n'> <'GuessMainPID=no\n'> <'Type=forking\n'> <'User=root\n'> <'Group=root\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/plexpy.service'>} ) ] more_env: [] do_fork: T ) ] spids: [62974 62993] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<147>} spids: [63048] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 63104 stdin_parts: [ <'[Unit]\n'> <'Description=Jackett Daemon\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'User=root\n'> <'Restart=always\n'> <'RestartSec=5\n'> <'Type=simple\n'> < 'ExecStart=/usr/bin/mono --debug /opt/jackett/JackettConsole.exe\n' > <'TimeoutStopSec=20\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/jackett.service'>} ) ] more_env: [] do_fork: T ) ] spids: [63052 63071] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<149>} spids: [63115] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} { (DQ <'/MainDir=/c'> <Id.Lit_BadBackslash '\\'> <'MainDir='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads'> ) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/DestDir=/c'> <Id.Lit_BadBackslash '\\'> <'DestDir='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads/complete'> ) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/LogFile=/c'> <Id.Lit_BadBackslash '\\'> <'LogFile=/var/log/nzbget.log'>) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/ControlUsername=/c'> <Id.Lit_BadBackslash '\\'> <'ControlUsername=root'>) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/ControlPassword=/c'> <Id.Lit_BadBackslash '\\'> <'ControlPassword='> ($ Id.VSub_DollarName GLOBAL_PW) ) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/Server1.Cipher=/c'> <Id.Lit_BadBackslash '\\'> <'Server1.Cipher=RC4-MD5'> ) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (C {<sed>} {<-i>} {(DQ <'/CrcCheck=/c'> <Id.Lit_BadBackslash '\\'> <'CrcCheck=no'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (C {<sed>} {<-i>} {(DQ <'/ParScan=/c'> <Id.Lit_BadBackslash '\\'> <'ParScan=limited'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/ParThreads=/c'> <Id.Lit_BadBackslash '\\'> <'ParThreads='> ($ Id.VSub_DollarName G_HW_CPU_CORES) ) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (C {<sed>} {<-i>} {(DQ <'/DebugTarget=/c'> <Id.Lit_BadBackslash '\\'> <'DebugTarget=none'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (C {<sed>} {<-i>} {(DQ <'/CrashTrace=/c'> <Id.Lit_BadBackslash '\\'> <'CrashTrace=no'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (C {<sed>} {<-i>} {(DQ <'/DetailTarget=/c'> <Id.Lit_BadBackslash '\\'> <'DetailTarget=none'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/ParBuffer=/c'> <Id.Lit_BadBackslash '\\'> <'ParBuffer='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<0>}) right: <Id.Eof_RParen _> ) ) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/ArticleCache=/c'> <Id.Lit_BadBackslash '\\'> <'ArticleCache='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<0>}) right: <Id.Eof_RParen _> ) ) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (C {<sed>} {<-i>} { (DQ <'/WriteBuffer=/c'> <Id.Lit_BadBackslash '\\'> <'WriteBuffer='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Optimize_BitTorrent>} {<0>}) right: <Id.Eof_RParen _> ) ) } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 63443 stdin_parts: [ <'[Unit]\n'> <'Description=NZBget\n'> <'\n'> <'[Service]\n'> <'Type=forking\n'> <'User=root\n'> <'WorkingDirectory='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/nzbget\n'> <'ExecStart='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/nzbget/nzbget -D\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/nzbget.service'>} ) ] more_env: [] do_fork: T ) ] spids: [63119 63138] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<155>} spids: [63454] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 63508 stdin_parts: [ <'[Unit]\n'> <'Description=HTPC Manager\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'ExecStart=/usr/bin/python '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/htpc-manager/Htpc.py\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/htpc-manager.service'>} ) ] more_env: [] do_fork: T ) ] spids: [63458 63477] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<153>} spids: [63519] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 63577 stdin_parts: [ <'[Unit]\n'> <'Description=OctoPrint\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=root\n'> <'ExecStart='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<which>} {<octoprint>}) right: <Id.Eof_RParen _> ) <' serve --iknowwhatimdoing\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/octoprint.service'>} ) ] more_env: [] do_fork: T ) ] spids: [63523 63542] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<154>} spids: [63588] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 63646 stdin_parts: [ <'[Unit]\n'> <'Description=Roon Server\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=root\n'> <'Environment=ROON_DATAROOT='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/roonserver\n'> <'ExecStart='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/roonserver/start.sh\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/roonserver.service'>} ) ] more_env: [] do_fork: T ) ] spids: [63592 63611] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<156>} spids: [63657] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/steam'>}) (C {<mv>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.steam/'> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/steam/'>} ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.steam'>}) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/steam'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.steam'>} ) ] spids: [63661 63680] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<157>} spids: [63747] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 63801 stdin_parts: [ <'[Unit]\n'> <'Description=Home Assistant\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=homeassistant\n'> <'ExecStart=/srv/homeassistant/homeassistant-start.sh\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/home-assistant.service'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/homeassistant'>}) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/homeassistant'>} {<'/home/homeassistant/.homeassistant'>} ) ] spids: [63751 63770] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<158>} spids: [63849] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 63912 stdin_parts: [ <'# Default file path\n'> <'MINIO_VOLUMES='> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/minio-data'> <Id.Right_DoubleQuote '"'> <'\n'> <'# Use if you want to run Minio on a custom port.\n'> <'# MINIO_OPTS='> <Id.Right_DoubleQuote '"'> <'--address :9199'> <Id.Right_DoubleQuote '"'> <'\n'> <'# Access Key of the server.\n'> <'# MINIO_ACCESS_KEY=Server-Access-Key\n'> <'# Secret key of the server.\n'> <'# MINIO_SECRET_KEY=Server-Secret-Key\n'> ] ) ) (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/default/minio'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<enable>} {<minio.service>}) ] spids: [63853 63872] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<162>} spids: [63935] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/docker-data'>}) (C {<systemctl>} {<stop>} {<docker.service>}) (C {<sed>} {<-i>} { (DQ <'/ExecStart='> <Id.Lit_BadBackslash '\\'> <'/usr'> <Id.Lit_BadBackslash '\\'> <'/bin'> <Id.Lit_BadBackslash '\\'> <'/dockerd/c'> <Id.Lit_BadBackslash '\\'> <'ExecStart='> <Id.Lit_BadBackslash '\\'> <'/usr'> <Id.Lit_BadBackslash '\\'> <'/bin'> <Id.Lit_BadBackslash '\\'> <'/dockerd -g '> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <Id.Lit_BadBackslash '\\'> <'/docker-data -H fd:'> <Id.Lit_BadBackslash '\\'> <'/'> <Id.Lit_BadBackslash '\\'> <'/'> ) } {<'/lib/systemd/system/docker.service'>} ) ] spids: [63939 63958] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<161>} spids: [64040] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/fuguhub-data/'> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<mkdir>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/fuguhub-data/'>} ) (C {<mv>} {<'/home/bd/disk/'> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/fuguhub-data/'>} ) (C {<rm>} {<-r>} {<'/home/bd/disk'>}) (C {<ln>} {<-s>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/fuguhub-data'>} {<'/home/bd/disk'>} ) ] spids: [64079 64095] ) ] else_action: [ (C {<rm>} {<-r>} {<'/home/bd/disk'>}) (C {<ln>} {<-s>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/fuguhub-data'>} {<'/home/bd/disk'>} ) ] redirects: [] ) ] spids: [64044 64063] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<164>} spids: [64202] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<wget>} {<-O>} {<'/usr/local/bin/nukkit/nukkit.yml'>} {<https> <Id.Lit_Colon ':'> <'//github.com/Nukkit/Languages/raw/master/eng/nukkit.yml'> } ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 64272 stdin_parts: [ <'[Unit]\n'> <'Description=nukkit\n'> <'\n'> <'[Service]\n'> <'WorkingDirectory=/usr/local/bin/nukkit\n'> < 'ExecStart=/bin/bash -c \'java -jar /usr/local/bin/nukkit/nukkit.jar\'\n' > <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/nukkit.service'>} ) ] more_env: [] do_fork: T ) ] spids: [64206 64225] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<165>} spids: [64283] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 64348 stdin_parts: [ <'\n'> <'[Unit]\n'> <'Description=Gitea (Git with a cup of tea)\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=dietpi\n'> <'WorkingDirectory='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/gitea/gitea-repositories\n'> <'ExecStart='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/gitea/gitea web\n'> <'Environment=USER=dietpi HOME='> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/gitea\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/gitea.service'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {<-p>} {<'/var/log/gitea'>}) (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Colon ':'> <dietpi>} {<'/var/log/gitea'>}) (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<gitea>} {<gitea>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} ) ] spids: [64287 64306] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<159>} spids: [64399] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 160>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<allo_db>} {<allo_db>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} ) (command.Simple words: [{<mysql>} {<allo_db>}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<'/var/www/allo_db.sql'>} ) ] more_env: [] do_fork: T ) (C {<rm>} {<'/var/www/allo_db.sql'>}) (C {<rm>} {<'/var/www/index.htm'> <Id.Lit_Star '*'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 64522 stdin_parts: [ <'<?php\n'> <'/* Redirect to allo web interface */\n'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'host = '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'_SERVER[\'HTTP_HOST\'];\n'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'uri = rtrim(dirname('> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'_SERVER[\'PHP_SELF\']), \'/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'\');\n'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'extra = \'index.php\';\n'> <'header('> <Id.Right_DoubleQuote '"'> <'Location: http://'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <host> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'uri/allo/public/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <extra> <Id.Right_DoubleQuote '"'> <');\n'> <'exit;\n'> <'?>\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/www/index.php'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 70>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 64577 stdin_parts: [ <'[Unit]\n'> < 'Description=Sparky auto detect and set onboard ETH/USB ETH\n' > <'After=network.target networking.service\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'RemainAfterExit=yes\n'> < 'ExecStart=/bin/bash -c \'/usr/local/bin/sparky_eth_controller.sh\'\n' > <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/sparky_eth_controller.service'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<daemon-reload>}) (C {<systemctl>} {<enable>} {<sparky_eth_controller.service>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 64631 stdin_parts: [ <'#!/bin/bash\n'> < '#We need to wait until USB eth is established on USB bus. This takes much longer than onboard init and network.target network-pre.target\n' > <'sleep 20\n'> <'# - Set USB ETH if found\n'> <'if (( '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(ifconfig -a | grep -ci -m1 \'eth1\') )); then\n'> <'\n'> <'\techo -e '> <Id.Right_DoubleQuote '"'> <'blacklist ethernet'> <Id.Right_DoubleQuote '"'> <' > /etc/modprobe.d/disable_sparkysbc_ethernet.conf\n'> < '\trm /etc/udev/rules.d/70-persistent-net.rules &> /dev/null\n' > < '\trm /etc/udev/rules.d/70-persistant-net.rules &> /dev/null\n' > <'\treboot\n'> <'\n'> <'# - Enable onboard ETH if no adapter found\n'> <'elif (( ! '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(ifconfig -a | grep -ci -m1 \'eth0\') )); then\n'> <'\n'> < '\trm /etc/modprobe.d/disable_sparkysbc_ethernet.conf &> /dev/null\n' > < '\trm /etc/udev/rules.d/70-persistent-net.rules &> /dev/null\n' > < '\trm /etc/udev/rules.d/70-persistant-net.rules &> /dev/null\n' > <'\treboot\n'> <'\n'> <'fi\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/usr/local/bin/sparky_eth_controller.sh'>} ) ] more_env: [] do_fork: T ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/bin/sparky_eth_controller.sh'>} ) ] spids: [64533 64547] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 160>} ) op: assign_op.Equal rhs: {<2>} spids: [64651] ) ] redirects: [] ) ] spids: [64406 64439] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<163>} spids: [64668] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<cp>} {<'/DietPi/dietpi/conf/gmrender.service'>} {<'/etc/systemd/system/gmrender.service'>} ) ] spids: [64672 64691] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<166>} spids: [64715] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {<'/var/lib/dietpi/dietpi-software/installed/pi-spc'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 64829 stdin_parts: [ <'#!/bin/bash\n'> <'#DietPi version\n'> <'PATH=/usr/bin:/home/pi/wiringPi/gpio:/usr/local/bin\n'> <'\n'> <'TICKRATE=0.25\n'> <'\n'> <'echo -e '> <Id.Right_DoubleQuote '"'> <'Audiophonics Shutdown script starting...'> <Id.Right_DoubleQuote '"'> <'\n'> <'echo -e '> <Id.Right_DoubleQuote '"'> <'Asserting pins : '> <Id.Right_DoubleQuote '"'> <'\n'> <'echo -e '> <Id.Right_DoubleQuote '"'> <'ShutDown : GPIO17=in, Low'> <Id.Right_DoubleQuote '"'> <'\n'> <'echo -e '> <Id.Right_DoubleQuote '"'> <'BootOK : GPIO22=out, High'> <Id.Right_DoubleQuote '"'> <'\n'> <'echo -e '> <Id.Right_DoubleQuote '"'> <'SoftSD : GPIO04=out, Low'> <Id.Right_DoubleQuote '"'> <'\n'> <'\n'> <'gpio -g mode 04 out\n'> <'gpio -g write 04 0\n'> <'gpio -g mode 17 in\n'> <'gpio -g write 17 0\n'> <'gpio -g mode 22 out\n'> <'gpio -g write 22 1\n'> <'\n'> <'while true\n'> <'do\n'> <'\n'> <'\tif (( '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(gpio -g read 17) == 1 )); then\n'> <'\n'> <'\t\tG_DIETPI-NOTIFY 0 '> <Id.Right_DoubleQuote '"'> <'AudioPhonics Pi-SPC: Power off requested. Shutting down system.'> <Id.Right_DoubleQuote '"'> <'\n'> <'\t\tsudo poweroff\n'> <'\t\t#sudo shutdown -h -P now\n'> <'\t\tbreak\n'> <'\n'> <'\tfi\n'> <'\n'> <'\tsleep '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'TICKRATE\n'> <'\n'> <'done\n'> <'\n'> <'exit 0\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/lib/dietpi/dietpi-software/installed/pi-spc/sds.sh'>} ) ] more_env: [] do_fork: T ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/var/lib/dietpi/dietpi-software/installed/pi-spc/sds.sh'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 64864 stdin_parts: [ <'[Unit]\n'> <'Description=AudioPhonics Pi-SPC\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'StandardOutput=tty\n'> <'User=root\n'> <'\n'> < 'ExecStart=/bin/bash -c \'/var/lib/dietpi/dietpi-software/installed/pi-spc/sds.sh\'\n' > <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/pi-spc.service'>} ) ] more_env: [] do_fork: T ) ] spids: [64719 64738] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<168>} spids: [64875] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<'/DietPi/dietpi/func/dietpi-set_software'>} {<useradd>} {<pi>}) (command.Simple words: [{<echo>} {<-e>} {(SQ <'www-data\\tALL=(ALL) NOPASSWD: ALL'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/sudoers'>} ) ] more_env: [] do_fork: T ) (C {<mkdir>} {<-p>} {<'/var/local/www/commandw'>}) (C {<mkdir>} {<-p>} {<'/var/local/www/cssw'>}) (C {<mkdir>} {<-p>} {<'/var/local/www/jsw'>}) (C {<mkdir>} {<-p>} {<'/var/local/www/imagesw'>}) (C {<mkdir>} {<-p>} {<'/var/local/www/imagesw/toggle'>}) (C {<mkdir>} {<-p>} {<'/var/local/www/db'>}) (C {<mkdir>} {<-p>} {<'/var/local/www/templatesw'>}) (C {<chmod>} {<-R>} {<0755>} {<'/var/local/www'>}) (C {<mkdir>} {<-p>} {<'/var/lib/mpd/music/RADIO'>}) (C {<mkdir>} {<-p>} {<'/mnt/NAS'>}) (C {<mkdir>} {<-p>} {<'/mnt/SDCARD'>}) (C {<mkdir>} {<-p>} {<'/mnt/UPNP'>}) (C {<mkdir>} {<'/media'>}) (C {<ln>} {<-s>} {<'/mnt/NAS'>} {<'/var/lib/mpd/music/NAS'>}) (C {<ln>} {<-s>} {<'/mnt/SDCARD'>} {<'/var/lib/mpd/music/SDCARD'>}) (C {<ln>} {<-s>} {<'/media'>} {<'/var/lib/mpd/music/USB'>}) (C {<ln>} {<-s>} {<'/var/lib/mpd/music'>} {<'/var/www/mpdmusic'>}) (C {<touch>} {<'/var/log/moode.log'>}) (C {<chmod>} {<0666>} {<'/var/log/moode.log'>}) (C {<touch>} {<'/var/log/php_errors.log'>}) (C {<chmod>} {<0666>} {<'/var/log/php_errors.log'>}) (C {<cp>} {<'./rel-stretch/mpd/sticker.sql'>} {<'/var/lib/mpd'>}) (C {<cp>} {<-r>} {(DQ <'./rel-stretch/other/sdcard/Stereo Test/'>)} {<'/var/lib/mpd/music/SDCARD'>} ) (C {<cp>} {<'./rel-stretch/network/wpa_supplicant.conf.default'>} {<'/etc/wpa_supplicant/wpa_supplicant.conf'>} ) (C {<cp>} {<'./rel-stretch/network/dhcpcd.conf.default'>} {<'/etc/dhcpcd.conf'>}) (C {<cp>} {<'./rel-stretch/network/hostapd.conf.default'>} {<'/etc/hostapd/hostapd.conf'>} ) (C {<cp>} {<'./rel-stretch/var/local/www/db/moode-sqlite3.db.default'>} {<'/var/local/www/db/moode-sqlite3.db'>} ) (C {<chmod>} {<0777>} {<'/var/lib/mpd/music/RADIO'>}) (C {<chmod>} {<-R>} {<0777>} {<'/var/local/www/db'>}) (C {<rm>} {<'/etc/update-motd.d/10-uname'>}) (C {<rm>} {<'/var/lib/mpd/music/RADIO/'> <Id.Lit_Star '*'>}) (C {<rm>} {<'/var/www/images/radio-logos/'> <Id.Lit_Star '*'>}) (C {<cp>} {<'./rel-stretch/mpd/RADIO/'> <Id.Lit_Star '*'>} {<'/var/lib/mpd/music/RADIO'>} ) (C {<cp>} {<'./rel-stretch/mpd/playlists/'> <Id.Lit_Star '*'>} {<'/var/lib/mpd/playlists'>} ) (C {<cp>} {<-r>} {<'./rel-stretch/etc/'> <Id.Lit_Star '*'>} {<'/etc/'>}) (C {<cp>} {<-r>} {<'./rel-stretch/home/'> <Id.Lit_Star '*'>} {<'/home/pi/'>}) (C {<cp>} {<-r>} {<'./rel-stretch/home/.dircolors'>} {<'/home/pi/'>}) (C {<cp>} {<-r>} {<'./rel-stretch/lib/'> <Id.Lit_Star '*'>} {<'/lib/'>}) (C {<cp>} {<-r>} {<'./rel-stretch/usr/'> <Id.Lit_Star '*'>} {<'/usr/'>}) (C {<cp>} {<-r>} {<'./rel-stretch/var/'> <Id.Lit_Star '*'>} {<'/var/'>}) (C {<cp>} {<-r>} {<'./rel-stretch/www/'> <Id.Lit_Star '*'>} {<'/var/www/'>}) (C {<chmod>} {<0755>} {<'/var/www/command/'> <Id.Lit_Star '*'>}) (C {<'/var/www/command/util.sh'>} {(DQ <emerald>)} {(DQ <2ecc71>)} {(DQ <27ae60>)}) (C {<sqlite3>} {<'/var/local/www/db/moode-sqlite3.db'>} {(DQ <'update cfg_system set value=\'Emerald\' where param=\'themecolor\''>)} ) (C {<chmod>} {<0755>} {<'/etc/init.d/mpd'>}) (C {<chmod>} {<0644>} {<'/lib/systemd/system/mpd.service'>}) (C {<chmod>} {<0644>} {<'/lib/systemd/system/mpd.socket'>}) (C {<chmod>} {<0666>} {<'/etc/bluealsaaplay.conf'>}) (C {<chmod>} {<0644>} {<'/etc/systemd/system/bluealsa-aplay'> <Id.Lit_At '@'> <.service>} ) (C {<chmod>} {<0644>} {<'/etc/systemd/system/bluealsa.service'>}) (C {<chmod>} {<0644>} {<'/lib/systemd/system/bluetooth.service'>}) (C {<chmod>} {<0755>} {<'/usr/local/bin/a2dp-autoconnect'>}) (C {<chmod>} {<0644>} {<'/lib/systemd/system/rotenc.service'>}) (C {<chmod>} {<0644>} {<'/etc/udev/rules.d/'> <Id.Lit_Star '*'>}) (C {<systemctl>} {<daemon-reload>}) (C {<systemctl>} {<disable>} {<mpd.socket>}) (C {<systemctl>} {<disable>} {<rotenc.service>}) (C {<chmod>} {<0644>} {<'/lib/systemd/system/squeezelite-armv6l.service'>}) (C {<chmod>} {<0644>} {<'/lib/systemd/system/squeezelite-armv7l.service'>}) (C {<systemctl>} {<disable>} {<squeezelite-armv6l>}) (C {<systemctl>} {<disable>} {<squeezelite-armv7l>}) (C {<chmod>} {<0644>} {<'/lib/systemd/system/upmpdcli.service'>}) (C {<systemctl>} {<disable>} {<upmpdcli.service>}) (C {<chmod>} {<0777>} {<'/var/local/www/playhistory.log'>}) (C {<chmod>} {<0777>} {<'/var/local/www/currentsong.txt'>}) (C {<touch>} {<'/var/local/www/libcache.json'>}) (C {<chmod>} {<0777>} {<'/var/local/www/libcache.json'>}) (C {<chmod>} {<0755>} {<'/usr/local/bin/alsaequal.bin'>}) (C {<chown>} {<mpd> <Id.Lit_Colon ':'> <audio>} {<'/usr/local/bin/alsaequal.bin'>}) (C {<rm>} {<'/usr/share/alsa/alsa.conf.d/equal.conf'>}) (C {<mpc>} {<enable>} {<only>} {<1>}) (C {<rm>} {<'/var/www/index.h'> <Id.Lit_Star '*'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 65771 stdin_parts: [ <'#!/bin/bash\n'> <'#Precaution: Wait for DietPi Ramdisk to finish\n'> <'while [ ! -f /DietPi/.ramdisk ]\n'> <'do\n'> <'\n'> <' G_DIETPI-NOTIFY 2 '> <Id.Right_DoubleQuote '"'> <'Waiting for DietPi-RAMDISK to finish mounting DietPi to RAM...'> <Id.Right_DoubleQuote '"'> <'\n'> <' sleep 1\n'> <'\n'> <'done\n'> <'\n'> <'echo -e '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(cat /proc/uptime | awk \'{print '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'1}\') Seconds'> <Id.Right_DoubleQuote '"'> <' > /var/log/boottime\n'> <'if (( '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(cat /DietPi/dietpi/.install_stage) == 1 )); then\n'> <'\n'> <' /DietPi/dietpi/dietpi-services start\n'> <'\n'> <'fi\n'> <'/DietPi/dietpi/dietpi-banner 0\n'> <'echo -e '> <Id.Right_DoubleQuote '"'> <' Default Login:'> <Id.Lit_BadBackslash '\\'> <'n Username = root'> <Id.Lit_BadBackslash '\\'> <'n Password = dietpi'> <Id.Lit_BadBackslash '\\'> <n> <Id.Right_DoubleQuote '"'> <'\n'> <'\n'> <'#moOde additions\n'> <'SQLDB=/var/local/www/db/moode-sqlite3.db\n'> <'\n'> <'# set cpu govenor\n'> <'RESULT='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'(sqlite3 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'SQLDB '> <Id.Right_DoubleQuote '"'> <'select value from cfg_system where param=\'cpugov\''> <Id.Right_DoubleQuote '"'> <')\n'> <'echo '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <RESULT> <Id.Right_DoubleQuote '"'> <' | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n'> <'\n'> <'/usr/bin/udisks-glue > /dev/null 2>&1\n'> <'/var/www/command/worker.php > /dev/null 2>&1\n'> <'\n'> <'exit 0\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/rc.local'>} ) ] more_env: [] do_fork: T ) (C {<sqlite3>} {<'/var/local/www/db/moode-sqlite3.db'>} { (DQ < 'update cfg_system set value=\'/DietPi/config.txt\' where param=\'res_boot_config_txt\'' > ) } ) (C {<Download_Test_Media>}) ] spids: [64879 64898] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALLING_INDEX='> name: INSTALLING_INDEX ) op: assign_op.Equal rhs: {<169>} spids: [65852] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName INSTALLING_INDEX)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Banner_Configuration>}) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/voice-recognizer-raspi/assistant.json'> } {<'/home/dietpi/assistant.json'>} ) (C {<mkdir>} {<-p>} {<'/home/dietpi/.cache/voice-recognizer'>}) (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<soundcard>} {<googlevoicehat-soundcard>} ) ] spids: [65856 65875] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Install_Apply_GPU_Settings body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<local>} {<Id.Lit_VarLike 'gpu_enabled='> <0>}) (C {<local>} {<Id.Lit_VarLike 'gpu_memory='> <0>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 112>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'gpu_enabled='> name: gpu_enabled ) op: assign_op.Equal rhs: {<1>} spids: [65983] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'gpu_memory='> name:gpu_memory) op: assign_op.Equal rhs: {<192>} spids: [65987] ) ] redirects: [] ) ] spids: [65960 65979] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 31>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 59>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 108>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 148>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'gpu_enabled='> name: gpu_enabled ) op: assign_op.Equal rhs: {<1>} spids: [66065] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'gpu_memory='> name:gpu_memory) op: assign_op.Equal rhs: {<128>} spids: [66069] ) ] redirects: [] ) ] spids: [66000 66061] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 23>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 24>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 25>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 26>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 51>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'gpu_enabled='> name: gpu_enabled ) op: assign_op.Equal rhs: {<1>} spids: [66161] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'gpu_memory='> name:gpu_memory) op: assign_op.Equal rhs: {<64>} spids: [66165] ) ] redirects: [] ) ] spids: [66082 66157] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 62>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'gpu_enabled='> name: gpu_enabled ) op: assign_op.Equal rhs: {<1>} spids: [66197] ) ] redirects: [] ) ] spids: [66174 66193] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_DollarName gpu_memory)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<gpumemsplit>} {($ Id.VSub_DollarName gpu_memory)} ) ] spids: [66232 66246] ) ] else_action: [] redirects: [] ) ] spids: [66210 66224] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: {($ Id.VSub_DollarName gpu_enabled)} redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} { (DQ <'/CONFIG_HDMI_OUTPUT=/c'> <Id.Lit_BadBackslash '\\'> <'CONFIG_HDMI_OUTPUT=1'> ) } {<'/DietPi/dietpi.txt'>} ) ] spids: [66284 66298] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(SQ <'/setenv hdmioutput /c\\setenv hdmioutput "1"'>)} {<'/DietPi/boot.ini'>} ) (C {<sed>} {<-i>} {(SQ <'/setenv vpu /c\\setenv vpu "1"'>)} {<'/DietPi/boot.ini'>} ) (C {<sed>} {<-i>} {(SQ <'/setenv m_bpp /c\\setenv m_bpp "32"'>)} {<'/DietPi/boot.ini'>} ) ] spids: [66320 66334] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 12>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(SQ <'/setenv nographics /c\\setenv nographics "0"'>)} {<'/DietPi/boot.ini'>} ) ] spids: [66376 66390] ) ] else_action: [] redirects: [] ) ] spids: [66266 66276] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Check_USB_Drive_Installed body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USBDRIVE='> name:USBDRIVE) op: assign_op.Equal rhs: {<0>} spids: [66425] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'FP_DIETPI_DEDICATED_USBDRIVE='> name: FP_DIETPI_DEDICATED_USBDRIVE ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<df>} {<-P>}) (C {<grep>} {<-m1>} {(SQ <'^/dev/sda1'>)}) (C {<awk>} {(SQ <'{print $6}'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [66430] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName FP_DIETPI_DEDICATED_USBDRIVE))} {<Id.Lit_RBracket ']'>} ) (command.DParen child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<df>} {<-P>}) (C {<grep>} {<-ci>} {<-m1>} { (DQ ($ Id.VSub_DollarName FP_DIETPI_DEDICATED_USBDRIVE ) ) } ) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } redirects: [] ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USBDRIVE='> name:USBDRIVE) op: assign_op.Equal rhs: {<1>} spids: [66504] ) ] redirects: [] ) ] spids: [66461 66500] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Uninstall_Software body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<local>} {<Id.Lit_VarLike 'index='> ($ Id.VSub_Number 1)}) (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <Uninstall>)}) (C {<echo>} {<-e>} {(DQ )}) (C {<G_DIETPI-NOTIFY>} {<0>} { (DQ <'Uninstalling '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName index)}) right: <Id.Right_DollarBrace '}'> ) <': '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> var_name: aSOFTWARE_WHIP_DESC bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName index)}) right: <Id.Right_DollarBrace '}'> ) <Id.Lit_BadBackslash '\\'> <n> ) } ) (C {<local>} {<Id.Lit_VarLike 'valid_input='> <1>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 100>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'grasshopper_directory='> name: grasshopper_directory ) op: assign_op.Equal rhs: {(SQ <'/var/www'>)} spids: [66626] ) ] redirects: [] ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/documentation'>} ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/css'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/db'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/exec'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/includes'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/install'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/phpliteadmin'>} ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/js'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/setup'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/pics'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/themes'>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/favicon.ico'>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/index.php'>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/Grasshopper'> <Id.Lit_Star '*'> } ) (C {<update-rc.d>} {<grasshopper>} {<remove>}) (C {<rm>} {<'/etc/init.d/grasshopper'>}) ] spids: [66608 66622] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 23>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<lxde>} {<lxde-> <Id.Lit_Star '*'>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>} ) ] spids: [66785 66799] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 24>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<mate-desktop-environment-extras>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>} ) ] spids: [66820 66834] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 26>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<x-window-system-core>} {<wmaker>} {<gnustep>} {<gnustep-devel>} {<gnustep-games>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>} ) ] spids: [66852 66866] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 25>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<xfce4>} {<gnome-icon-theme>} {<tango-icon-theme>} {<iceweasel>} {<p7zip-full>} ) ] spids: [66892 66906] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 22>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<quiterss>})] spids: [66924 66938] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 30>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<nomachine>})] spids: [66948 66962] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 29>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<xrdp>})] spids: [66976 66990] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 44>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<transmission-daemon>}) (command.Simple words: [{<rm>} {<'/etc/init.d/transmission-daemon'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<'/etc/systemd/system/transmission-daemon.service'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [67000 67014] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 47>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Pipeline children: [ (C {<crontab>} {<-u>} {<www-data>} {<-l>}) (C {<grep>} {<-v>} {(SQ <'/var/www/owncloud/cron.php'>)}) (C {<crontab>} {<-u>} {<www-data>} {<->}) ] negated: F stderr_indices: [] ) (command.Simple words: [{<a2dissite>} {<owncloud>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<'/etc/apache2/sites-available/owncloud.conf'>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<'/etc/nginx/sites-dietpi/owncloud.config'>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ < 'DietPi will perform an automated backup of your ownCloud database and installation directory, which will be stored inside your ownCloud data directory.' > <Id.Lit_BadBackslash '\\'> < 'nThe data directory won\'t be removed. So you can at any time recover your whole ownCloud instance.' > <Id.Lit_BadBackslash '\\'> <'nRemove the data directory manually, if you don\'t need it anymore.'> ) } ) (C {<local>} {<Id.Lit_VarLike 'datadir='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <'\'datadirectory\''>)} {<'/var/www/owncloud/config/config.php'>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/[\',]//g'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/owncloud_data'>)} spids: [67185] ) ] redirects: [] ) ] ) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysql>} {<-e>} { (DQ <'drop user '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <'\'dbuser\''>)} {<'/var/www/owncloud/config/config.php'>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/,//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) <'@'> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <'\'dbhost\''>)} {<'/var/www/owncloud/config/config.php'>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/,//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) ) } ) (command.Simple words: [ {<mysql>} {<-e>} { (DQ <'drop user '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <'\'dbuser\''>)} {<'/var/www/owncloud/config/config.php'>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/,//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) ) } ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql/owncloud'>} {<Id.Lit_RBracket ']'>} ) (command.Simple words: [{<mysqldump>} {<owncloud>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName datadir)) <'/dietpi-owncloud-database-backup.sql'> } ) ] more_env: [] do_fork: T ) ] ) (C {<mysqladmin>} {<drop>} {<owncloud>} {<-f>}) (C {<cp>} {<-a>} {<'/var/www/owncloud/.'>} {(DQ ($ Id.VSub_DollarName datadir)) <'/dietpi-owncloud-installation-backup'>} ) (C {<rm>} {<-R>} {<'/var/www/owncloud'>}) ] spids: [67042 67056] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 114>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Pipeline children: [ (C {<crontab>} {<-u>} {<www-data>} {<-l>}) (C {<grep>} {<-v>} {(SQ <'/var/www/nextcloud/cron.php'>)}) (C {<crontab>} {<-u>} {<www-data>} {<->}) ] negated: F stderr_indices: [] ) (command.Simple words: [{<a2dissite>} {<nextcloud>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<'/etc/apache2/sites-available/nextcloud.conf'>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<'/etc/nginx/sites-dietpi/nextcloud.config'>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<lighttpd-disable-mod>} {<dietpi-nextcloud>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<'/etc/lighttpd/conf-available/99-dietpi-nextcloud.conf'>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ < 'DietPi will perform an automated backup of your Nextcloud database and installation directory, which will be stored inside your Nextcloud data directory.' > <Id.Lit_BadBackslash '\\'> < 'nThe data directory won\'t be removed. So you can at any time recover your whole Nextcloud instance.' > <Id.Lit_BadBackslash '\\'> <'nRemove the data directory manually, if you don\'t need it anymore.'> ) } ) (C {<local>} {<Id.Lit_VarLike 'datadir='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <'\'datadirectory\''>)} {<'/var/www/nextcloud/config/config.php'>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/[\',]//g'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/nextcloud_data'>)} spids: [67524] ) ] redirects: [] ) ] ) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysql>} {<-e>} { (DQ <'drop user '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <'\'dbuser\''>)} {<'/var/www/nextcloud/config/config.php'>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/,//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) <'@'> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <'\'dbhost\''>)} {<'/var/www/nextcloud/config/config.php'>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/,//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) ) } ) (command.Simple words: [ {<mysql>} {<-e>} { (DQ <'drop user '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <'\'dbuser\''>)} {<'/var/www/nextcloud/config/config.php'>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/,//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) ) } ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql/nextcloud'>} {<Id.Lit_RBracket ']'>} ) (command.Simple words: [{<mysqldump>} {<nextcloud>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName datadir)) <'/dietpi-nextcloud-database-backup.sql'> } ) ] more_env: [] do_fork: T ) ] ) (C {<mysqladmin>} {<drop>} {<nextcloud>} {<-f>}) (C {<cp>} {<-a>} {<'/var/www/nextcloud/.'>} {(DQ ($ Id.VSub_DollarName datadir)) <'/dietpi-nextcloud-installation-backup'>} ) (C {<rm>} {<-R>} {<'/var/www/nextcloud'>}) ] spids: [67369 67383] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 83>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<apache2>})] spids: [67708 67722] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 85>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<nginx>})] spids: [67732 67746] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 84>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<lighttpd>})] spids: [67756 67770] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 88>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<mariadb-server>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<rm>} {<'/var/lib/mysql'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<-R>} {<'/var/lib/mysql'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql'>}) ] spids: [67780 67794] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 87>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<sqlite3>})] spids: [67856 67870] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 91>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-redis>} {<redis-server>} {<redis-tools>} ) ] spids: [67880 67894] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 89>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>}) (command.Simple words: [ {<rm>} {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/mods-available/dietpi.ini'>} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<G_AGP>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-> <Id.Lit_Star '*'>} {<libapache2-mod-> (DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME))} ) (C {<rm>} {<'/var/www/phpinfo.php'>}) (C {<rm>} {<'/var/www/apc.php'>}) (C {<rm>} {<'/var/www/opcache.php'>}) (command.Simple words: [{<rm>} {<-R>} {<'/var/tmp/php_upload_tmp'>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [67911 67925] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 90>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<phpmyadmin>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user \'phpmyadmin\'@\'localhost\''>)}) (C {<G_AGP>} {<phpmyadmin>}) ] spids: [67994 68008] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 54>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<phpbb3>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user phpbb3@localhost'>)}) (C {<rm>} {<-R>} {<'/var/www/phpBB3'>}) ] spids: [68043 68057] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 115>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<webmin>})] spids: [68094 68108] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 32>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/usr/bin/ympd'>}) (C {<rm>} {<'/etc/systemd/system/ympd.service'>}) ] spids: [68122 68136] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 128>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<apt-mark>} {<unhold>} {<mpd>}] redirects: [ (redir op: <Id.Redir_Great '1>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) right: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 3>} ) ) redirects: [] ) (C {<G_AGP>} {<mpd>} {<libmpdclient2>}) (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<mpd>} {<libmpdclient2>}) ] ) (command.Simple words: [{<userdel>} {<-f>} {<mpd>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<rm>} {<'/lib/systemd/system/mpd.service'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/.mpd_cache'>}) ] spids: [68151 68165] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 121>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/etc/systemd/system/roonbridge.service'>}) (C {<rm>} {<-R>} {<'/etc/roonbridge'>}) ] spids: [68251 68265] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 122>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/etc/systemd/system/node-red.service'>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.node-red'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/node-red'>}) (C {<userdel>} {<-f>} {<nodered>}) ] spids: [68282 68296] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 123>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<mosquitto>})] spids: [68350 68364] ) ] else_action: [(C {<dpkg>} {<-P>} {<mosquitto>})] redirects: [] ) ] spids: [68332 68346] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 124>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<networkaudiod>})] spids: [68394 68408] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 125>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<tomcat8>})] spids: [68426 68440] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 126>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<openmediavault>}) (C {<rm>} {<'/etc/apt/sources.list.d/openmediavault.list'>}) ] spids: [68450 68464] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 129>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/var/www/ompd'>}) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<ompd>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user ompd@localhost'>)}) ] spids: [68479 68493] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 130>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<python-pip>} {<python3-pip>})] spids: [68530 68544] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 131>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/etc/systemd/system/blynkserver.service'>}) (C {<rm>} {<-R>} {<'/etc/blynkserver'>}) ] spids: [68556 68570] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 132>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/etc/systemd/system/aria2.service'>}) (C {<rm>} {<'/usr/local/bin/aria2c'>}) (C {<rm>} {<-R>} {<'/var/www/aria2'>}) (C {<G_AGP>} {<aria2>}) ] spids: [68588 68602] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 133>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/etc/systemd/system/yacy.service'>}) (C {<rm>} {<-R>} {<'/etc/yacy'>}) ] spids: [68630 68644] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 134>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/etc/systemd/system/tonido.service'>}) (C {<rm>} {<-R>} {<'/etc/tonido'>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/tonido'>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/TonidoSync'>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/TonidoSyncData'>}) ] spids: [68663 68677] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 135>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<darkice>} {<icecast2>}) (C {<rm>} {<'/etc/systemd/system/darkice.service'>}) ] spids: [68725 68739] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 136>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) (C {<G_AGP>} {<motion>}) (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<motion>}) ] ) (C {<rm>} {<-R>} {<'/etc/motioneye'>}) (C {<rm>} {<'/etc/systemd/system/motioneye.service'>}) (C {<pip>} {<uninstall>} {<-y>} {<motioneye>}) ] spids: [68757 68771] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 137>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<cloudprint-service>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/etc/apt/sources.list.d/cloudprint.list'>}) (C {<G_AGUP>}) ] spids: [68855 68869] ) ] else_action: [] redirects: [] ) ] spids: [68832 68846] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 138>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/etc/vhusbd'>}) (C {<rm>} {<'/etc/systemd/system/virtualhere.service'>}) ] spids: [68886 68900] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 139>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/etc/sabnzbd'>}) (C {<rm>} {<'/etc/systemd/system/sabnzbd.service'>}) ] spids: [68918 68932] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 140>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<libsdl2>} {<libsdl2-image>} {<libsdl2-mixer>} {<libsdl2-net>} {<libsdl2-ttf>} {<libsmpeg2>} ) ] spids: [68950 68964] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 141>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/spotify-connect-web'>} ) (C {<rm>} {<'/etc/systemd/system/spotify-connect-web.service'>}) ] spids: [68988 69002] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 142>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/etc/couchpotato'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/couchpotato'>}) (C {<rm>} {<'/etc/init.d/couchpotato'>}) ] spids: [69022 69036] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 143>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<koel>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user koel@localhost'>)}) (C {<rm>} {<-R>} {<'/var/www/koel'>}) (C {<rm>} {<'/etc/systemd/system/koel.service'>}) ] spids: [69068 69082] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 144>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<nzbdrone>}) (C {<rm>} {<'/etc/systemd/system/sonarr.service'>}) (C {<rm>} {<'/etc/apt/sources.list.d/sonarr.list'>}) (C {<G_AGUP>}) ] spids: [69126 69140] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 145>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/opt/Radarr'>}) (C {<rm>} {<'/etc/systemd/system/radarr.service'>}) ] spids: [69163 69177] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 146>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/opt/plexpy'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/plexpy'>}) (C {<rm>} {<'/etc/systemd/system/plexpy.service'>}) ] spids: [69194 69208] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 147>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/opt/jackett'>}) (C {<rm>} {<'/etc/systemd/system/jackett.service'>}) ] spids: [69235 69249] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 148>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<mediacenter22>})] spids: [69266 69280] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 149>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget'>}) (C {<rm>} {<'/etc/systemd/system/nzbget.service'>}) ] spids: [69290 69304] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 155>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/htpc-manager'>} ) (C {<rm>} {<'/etc/systemd/system/htpc-manager.service'>}) ] spids: [69324 69338] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 150>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<rm>} {<'/etc/apt/sources.list.d/mono-xamarin.list'>}) (C {<G_AGUP>})] spids: [69358 69372] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 151>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<nvidia-driver>} {<nvidia-xconfig>} {<libgl1-nvidia-glx> <Id.Lit_Colon ':'> <i386>} ) ] spids: [69390 69404] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 152>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<avahi-daemon>})] spids: [69420 69434] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 153>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/octoprint'>}) (C {<rm>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<which>} {<octoprint>}) right: <Id.Eof_RParen _> ) } ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.octoprint'>}) (C {<rm>} {<'/etc/systemd/system/octoprint.service'>}) ] spids: [69444 69458] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 154>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roonserver'>}) (C {<rm>} {<'/etc/systemd/system/roonserver.service'>}) ] spids: [69497 69511] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 156>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<steam>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.steam'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/steam'>}) ] spids: [69531 69545] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 119>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<cava>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME) <'/.config/cava/config'>)}) (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME) <'/cava.psf'>)}) ] spids: [69575 69589] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 118>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<mopidy>}) (C {<rm>} {<'/etc/apt/sources.list.d/mopidy.list'>}) (C {<pip>} {<uninstall>} {<-y>} {<Mopidy-MusicBox-Webclient>} {<Mopidy-Local-Images>}) ] spids: [69615 69629] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 31>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<kodi>}) (C {<G_AGP>} {<kodi-odroid>}) (C {<rm>} {<'/usr/share/applications/kodi.desktop'>}) (C {<rm>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/Desktop/kodi.desktop'>} ) ] spids: [69656 69670] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 39>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<minidlna>})] spids: [69700 69714] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 51>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<ibsdl1.2debian>} {<libsdl-net1.2>}) (C {<rm>} {<-R>} {<'/usr/local/games/opentyrian'>}) (C {<rm>} {<'/usr/share/applications/opentyrian.desktop'>}) (C {<rm>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/Desktop/opentyrian.desktop'> } ) ] spids: [69724 69738] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 59>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<gpac>}) (C {<rm>} {<-R>} {<'/var/www/dietpicam'>}) (C {<rm>} {<'/opt/vc/bin/raspimjpeg'>}) (C {<rm>} {<'/usr/bin/raspimjpeg'>}) (C {<rm>} {<'/var/lib/dietpi/dietpi-software/services/raspimjpeg.service'>}) (C {<rm>} {<'/etc/raspimjpeg'>}) ] spids: [69768 69782] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 45>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<deluged>} {<deluge-web>} {<deluge-webui>} {<deluge-console>}) (C {<rm>} {<'/var/lib/dietpi/dietpi-software/services/deluge.service'>}) (C {<rm>} {<-R>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/.config/deluge'>} ) ] spids: [69819 69833] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 94>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<proftpd-basic>})] spids: [69862 69876] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 96>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<samba>} {<samba-common-bin>})] spids: [69886 69900] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 95>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<vsftpd>})] spids: [69912 69926] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 109>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<nfs-kernel-server>})] spids: [69936 69950] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 67>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/usr/local/bin/noip2'>}) (C {<rm>} {<'/etc/systemd/system/noip2.service'>}) ] spids: [69960 69974] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 106>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/var/www/raspcontrol'>}) (C {<rm>} {<-R>} {<'/etc/raspcontrol'>}) ] spids: [69989 70003] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 63>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<rm>} {<-R>} {<'/var/www/linuxdash'>})] spids: [70022 70036] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 93>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<dnsmasq>}) (C {<pihole>} {<uninstall>}) (command.Simple words: [{<chmod>} {<774>} {<'/etc/lighttpd/lighttpd.conf'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<rm>} {<-R>} {<'/etc/pihole'>}) (C {<rm>} {<-R>} {<'/etc/.pihole'>}) (C {<rm>} {<-R>} {<'/var/www/html/admin'>}) (C {<rm>} {<'/var/www/pihole'>}) (C {<rm>} {<'/var/www/admin'>}) ] spids: [70048 70062] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 33>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 34>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<subsonic>}) (C {<rm>} {<-R>} {<'/var/subsonic'>}) ] spids: [70130 70152] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 71>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<update-rc.d>} {<webiopi>} {<remove>}) (C {<rm>} {<-R>} {<'/etc/webiopi'>}) (C {<rm>} {<-R>} {<'/usr/share/webiopi'>}) (C {<rm>} {<'/usr/bin/webiopi'>}) (C {<rm>} {<'/etc/init.d/webiopi'>}) ] spids: [70173 70187] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 68>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/etc/weaved'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/weaved_software'>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/weaved_setup.bin'>}) (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<weavedconnectd>}) ] spids: [70223 70237] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 62>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<systemctl>} {<stop>} {<dietpi-cloudshell>}) (C {<rm>} {<'/etc/systemd/system/dietpi-cloudshell.service'>}) (C {<killall>} {<-w>} {<dietpi-cloudshell>}) (C {<'/DietPi/dietpi/dietpi-autostart'>} {<0>}) ] spids: [70285 70299] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 98>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<update-rc.d>} {<haproxy>} {<remove>}) (C {<rm>} {<'/etc/init.d/haproxy'>}) (C {<rm>} {<-r>} {<'/etc/haproxy'>}) ] spids: [70342 70356] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 35>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<logitechmediaserver>}) (C {<rm>} {<'/var/lib/dietpi/dietpi-software/services/squeezeboxserver.service'>}) (C {<rm>} {<-R>} {<'/var/lib/squeezeboxserver'>}) (C {<rm>} {<-R>} {<'/usr/share/squeezeboxserver'>}) ] spids: [70390 70404] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 55>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<wordpress>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user wordpress@localhost'>)}) (C {<rm>} {<-R>} {<'/var/www/wordpress'>}) ] spids: [70441 70455] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 27>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 28>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 120>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<tightvncserver>}) (C {<G_AGP>} {<vnc4server>}) (C {<G_AGP>} {<x11vnc>}) (C {<G_AGP>} {<realvnc-vnc-server>}) (C {<G_AGP>} {<tigervnc-> <Id.Lit_Star '*'>}) (C {<rm>} {<'/etc/systemd/system/vncserver.service'>}) (C {<rm>} {<'/etc/init.d/vncserver'>}) (C {<rm>} {<'/usr/local/bin/vncserver'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.vnc'>}) (C {<systemctl>} {<disable>} {<vncserver-x11-serviced.service>}) (C {<systemctl>} {<disable>} {<vncserver-virtuald.service>}) ] spids: [70493 70523] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 73>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<fail2ban>})] spids: [70601 70615] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 64>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<rm>} {<-R>} {<'/var/www/phpsysinfo'>})] spids: [70625 70639] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 56>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/var/www/gallery/index.php'>}) (C {<rm>} {<-R>} {<'/var/www/gallery/_sfpg_data'>}) ] spids: [70651 70665] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 40>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/var/www/ampache'>}) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<ampache>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user ampache@localhost'>)}) ] spids: [70682 70696] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 117>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/etc/apt/sources.list.d/swupdate.openvpn.net.list'>}) (C {<pivpn>} {<-u>}) (C {<userdel>} {<-f>} {<pivpn>}) ] spids: [70738 70752] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 97>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<openvpn>}) (command.Simple words: [{<rm>} {<-R>} {<'/etc/openvpn'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [70774 70788] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 92>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<python-certbot-apache>} {<python-certbot-nginx>} {<certbot>}) ] spids: [70827 70841] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<rm>} {<-R>} {<'/etc/letsencrypt_scripts'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<-R>} {<'/etc/certbot_scripts'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [70809 70823] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 69>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<python-rpi.gpio>} {<python3-rpi.gpio>})] spids: [70880 70894] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 72>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<i2c-tools>}) (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<i2c>} {<disable>}) ] spids: [70906 70920] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 70>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<rm>} {<-R>} {<'/root/wiringPi'> <Id.Lit_Star '*'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [70941 70955] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 60>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<hostapd>} {<isc-dhcp-server>}) (command.Simple words: [{<rm>} {<'/etc/dhcp/dhcpd.conf'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<'/etc/hostapd/hostapd.conf'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<'/etc/default/isc-dhcp-server'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<'/etc/default/hostapd'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<'/etc/iptables.ipv4.nat'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<'/usr/sbin/hostapd'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<rm>} {<'/usr/sbin/hostapd_cli'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<local>} {<Id.Lit_VarLike 'wifi_index='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<2p>} {<'/DietPi/dietpi/.network'>}) right: <Id.Eof_RParen _> ) } ) (C {<sed>} {<-i>} {(SQ <'/allow-hotplug wlan/q0'>)} {<'/etc/network/interfaces'>}) (C {<sed>} {<-i>} { (DQ <'/allow-hotplug wlan/c'> <Id.Lit_BadBackslash '\\'> <'#allow-hotplug wlan'> ($ Id.VSub_DollarName wifi_index) ) } {<'/etc/network/interfaces'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 71148 stdin_parts: [ <'iface wlan'> ($ Id.VSub_DollarName wifi_index) <' inet dhcp\n'> <'address 192.168.0.101\n'> <'netmask 255.255.255.0\n'> <'gateway 192.168.0.1\n'> <'wireless-power off\n'> <'wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf\n'> <'#dns-nameservers 8.8.8.8 8.8.4.4\n'> ] ) ) (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/network/interfaces'>} ) ] more_env: [] do_fork: T ) (C {<iptables>} {<-F>}) (C {<iptables>} {<-t>} {<nat>} {<-F>}) (command.Simple words: [{<iptables-save>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/iptables.ipv4.nat'>} ) ] more_env: [] do_fork: T ) ] spids: [70972 70986] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 61>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<tor>}) (C {<Uninstall_Software>} {<60>})] spids: [71177 71191] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 37>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<rm>} {<'/lib/systemd/system/shairport-sync.service'>} {<'/usr/local/bin/shairport-sync'>} {<'/usr/local/etc/shairport-sync.conf'> <Id.Lit_Star '*'>} {<'/usr/local/share/man/man7/shairport-sync.7.gz'>} ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<userdel>} {<-f>} {<shairport-sync>}) ] spids: [71211 71225] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 38>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<brutefir>}) (C {<rm>} {<-R>} {<'/etc/BruteFIR'>}) (C {<rm>} {<'/var/lib/dietpi/dietpi-software/services/brutefir.service'>}) (C {<rm>} {<'/etc/asound.conf'>}) (C {<rm>} {<'/etc/modules-load.d/brutefir-alsa-loopback.conf'>}) (C {<rm>} {<'/etc/modprobe.d/brutefir-alsa-loopback.conf'>}) ] spids: [71269 71283] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 48>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/var/www/pydio'>}) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<pydio>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user pydio@localhost'>)}) ] spids: [71322 71336] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 36>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<squeezelite>}) (C {<rm>} {<-R>} {<'/usr/bin/squeezelite'> <Id.Lit_Star '*'>}) (C {<rm>} {<'/etc/systemd/system/squeezelite.service'>}) ] spids: [71378 71392] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 99>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/etc/emonhub'>}) (C {<rm>} {<'/etc/init.d/emonhub'>}) (C {<rm>} {<'/etc/default/emonhub'>}) ] spids: [71416 71430] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 66>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<rpimonitor>})] spids: [71452 71466] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 57>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/var/www/baikal'>}) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<baikal>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user baikal@localhost'>)}) ] spids: [71480 71494] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 65>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/etc/systemd/system/netdata.service'>}) (C {<userdel>} {<-f>} {<netdata>}) (C {<groupdel>} {<netdata>}) (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<netdata>}) (C {<rm>} {<'/usr/sbin/netdata'>}) (C {<rm>} {<-R>} {<'/etc/netdata'>}) (C {<rm>} {<-R>} {<'/usr/share/netdata'>}) (C {<rm>} {<-R>} {<'/usr/libexec/netdata'>}) (C {<rm>} {<-R>} {<'/var/cache/netdata'>}) (C {<rm>} {<-R>} {<'/var/log/netdata'>}) ] spids: [71536 71550] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 43>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<mumble-server>})] spids: [71642 71656] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 41>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<emby-server>} {<embymagick>}) (C {<rm>} {<'/etc/apt/sources.list.d/emby-server.list'>}) (C {<G_AGUP>}) ] spids: [71666 71680] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 58>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/etc/openbazaar-server'>}) (C {<rm>} {<'/etc/systemd/system/openbazaar.service'>}) ] spids: [71701 71715] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 42>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<plexmediaserver>} {<plexmediaserver-installer>}) (C {<G_AGP>} {<plexmediaserver> <Id.Lit_Star '*'>}) ] ) (C {<rm>} {<-R>} {<'/var/lib/plexmediaserver'>}) (command.Simple words: [{<rm>} {<'/etc/apt/sources.list.d/plex.list'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<G_AGUP>}) ] spids: [71732 71746] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 52>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/etc/cuberite'>}) (C {<rm>} {<'/etc/systemd/system/cuberite.service'>}) ] spids: [71803 71817] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 53>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName USERDATA_DIRECTORY)) <'/mineos'>}) (C {<rm>} {<-R>} {<'/var/games/minecraft'>}) (C {<rm>} {<'/etc/supervisor/conf.d/mineos.conf'>}) (C {<supervisorctl>} {<reload>}) (C {<rm>} {<'/usr/local/bin/mineos'>}) (C {<userdel>} {<-f>} {<mineos>}) ] spids: [71834 71848] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 49>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/etc/gogs'>}) (C {<rm>} {<'/etc/systemd/system/gogs.service'>}) (C {<rm>} {<'/var/log/gogs_daemon.log'>}) (C {<rm>} {<'/var/log/gogs.log'>}) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<gogs>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user gogs@localhost'>)}) ] spids: [71895 71909] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 46>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<qbittorrent-nox>}) (C {<rm>} {<'/etc/systemd/system/qbittorrent.service'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/qBittorrent'>}) ] spids: [71963 71977] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 50>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/etc/syncthing'>}) (command.Simple words: [{<rm>} {<'/usr/bin/syncthing'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<rm>} {<'/etc/systemd/system/syncthing.service'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing'>}) ] spids: [72003 72017] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 116>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/etc/systemd/system/sickrage.service'>}) (C {<rm>} {<-R>} {<'/etc/sickrage'>}) ] spids: [72056 72070] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 107>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<rtorrent>}) (C {<rm>} {<-R>} {<'/var/www/rutorrent'>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.rtorrent.rc'>}) (C {<rm>} {<'/etc/systemd/system/rtorrent.service'>}) (C {<rm>} {<'/etc/.rutorrent-htaccess'>}) (C {<rm>} {<'/etc/nginx/sites-dietpi/rutorrent.config'>}) (C {<rm>} {<'/etc/apache2/sites-available/rutorrent.conf'>}) ] spids: [72087 72101] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 108>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/etc/amiberry'>}) (C {<rm>} {<'/etc/systemd/system/amiberry.service'>}) (C {<rm>} {<'/etc/systemd/system/amiberry-sdl2.service'>}) (C {<'/DietPi/dietpi/dietpi-autostart'>} {<0>}) ] spids: [72174 72188] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 112>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/dxx-rebirth/'> <Id.Lit_Star '*'> } ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/dxx-rebirth/descent_1_game'> } ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/dxx-rebirth/descent_2_game'> } ) (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.d1x-rebirth'>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.d2x-rebirth'>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/dxx-rebirth.desktop'>}) (C {<rm>} {<'/usr/share/applications/dxx-rebirth.desktop'>}) ] spids: [72220 72234] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 113>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<apt-mark>} {<unhold>} {<chromium>} {<chromedriver>}) (C {<rm>} {<'/etc/chromium.d/custom_flags'>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.chromium-browser.init'>}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName G_DISTRO)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) (C {<G_AGP>} {<chromium> <Id.Lit_Star '*'>}) (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<chromium>} {<chromedriver>}) ] ) ] spids: [72302 72316] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 157>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/srv/homeassistant'>}) (C {<userdel>} {<-r>} {<-f>} {<homeassistant>}) (C {<groupdel>} {<homeassistant>}) (C {<rm>} {<'/etc/systemd/system/home-assistant.service'>}) ] spids: [72379 72392] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 165>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/etc/systemd/system/gitea.service'>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/gitea'>}) (C {<rm>} {<-R>} {<'/var/log/gitea'>}) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<gitea>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user gitea@localhost'>)}) ] spids: [72437 72451] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 166>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/etc/systemd/system/pi-spc.service'>}) (C {<rm>} {<-R>} {<'/var/lib/dietpi/dietpi-software/installed/pi-spc'>}) ] spids: [72517 72531] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 167>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<raspotify>}) (C {<rm>} {<'/etc/apt/sources.list.d/raspotify.list'>}) (C {<G_AGUP>}) ] spids: [72548 72562] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 168>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<echo>} {<-e>} {(DQ <pending>)})] spids: [72580 72594] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 169>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/voice-recognizer-raspi'>} ) (C {<rm>} {<'/etc/systemd/system/voice-recognizer.service'>}) (C {<rm>} {<'/etc/systemd/system/alsa-init.service'>}) (C {<rm>} {<-R>} {<'/home/dietpi/assistant.json'>}) ] spids: [72608 72622] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 170>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Reset_NTPD>}) (C {<G_AGP>} {<ntp>})] spids: [72654 72668] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 158>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<systemctl>} {<stop>} {<minio.service>}) (C {<systemctl>} {<disable>} {<minio.service>}) (C {<rm>} {<'/usr/local/bin/minio'>}) (C {<rm>} {<'/etc/systemd/system/minio.service'>}) (C {<rm>} {<'/etc/default/minio'>}) (C {<userdel>} {<-r>} {<-f>} {<minio-user>}) ] spids: [72681 72695] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 161>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<'/etc/init.d/bdd'>} {<stop>}) (C {<sleep>} {<2>}) (C {<killall>} {<--user>} {<bd>}) (C {<sleep>} {<2>}) (C {<rm>} {<'/etc/rc3.d/S99bdd'>}) (C {<rm>} {<'/etc/rc4.d/S99bdd'>}) (C {<rm>} {<'/etc/rc2.d/S99bdd'>}) (C {<rm>} {<'/etc/rc5.d/S99bdd'>}) (C {<rm>} {<'/etc/init.d/bdd'>}) (C {<userdel>} {<-r>} {<bd>}) ] spids: [72752 72766] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 162>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_HW_ARCH)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<docker-ce>})] spids: [72844 72858] ) ] else_action: [(C {<G_AGP>} {<docker-engine>})] redirects: [] ) (C {<rm>} {<-r>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/docker-data'>}) (C {<rm>} {<-r>} {<'/var/lib/docker'>}) ] spids: [72826 72840] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 164>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/etc/systemd/system/nukkit.service'>}) (C {<rm>} {<-r>} {<'/usr/local/bin/nukkit'>}) ] spids: [72912 72926] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 163>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<gmrender>}) (C {<rm>} {<'/etc/systemd/system/gmrender.service'>}) ] spids: [72952 72966] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 159>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 160>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<-R>} {<'/var/www/allo'>}) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<allo_db>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user allo_db@localhost'>)}) ] spids: [72989 73011] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 15>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<tcpdump>})] spids: [73058 73072] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 14>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<nload>})] spids: [73082 73096] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 13>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<mtr-tiny>})] spids: [73106 73120] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 11>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<iptraf>})] spids: [73130 73144] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<iftop>})] spids: [73154 73168] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 19>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<jed>})] spids: [73178 73192] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<mc>})] spids: [73202 73216] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 18>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<emacs>})] spids: [73226 73240] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 20>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName i)} right: {<Id.Lit_Digits 21>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<vim>} {<vim-tiny>})] spids: [73250 73272] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 127>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<neovim>})] spids: [73284 73298] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<dpkg>} {<-l>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <openssh-server>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<openssh-client>})] spids: [73330 73360] ) ] else_action: [] redirects: [] ) ] spids: [73308 73322] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<umount>} {<-f>} {<'/mnt/samba'>}) (C {<G_AGP>} {<smbclient>}) (C {<sed>} {<-i>} { (SQ < '/\\/mnt\\/samba/c\\#\\/mnt\\/samba . Please use dietpi-config and the Networking Options: NAS menu to setup this mount' > ) } {<'/etc/fstab'>} ) (command.Simple words: [ {<echo>} {<-e>} { (DQ <'Samba client can be installed and setup by DietPi-Config.'> <Id.Lit_BadBackslash '\\'> <'nSimply run: dietpi-config and select the Networking Options: NAS/Misc menu'> ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/mnt/samba/readme.txt'>} ) ] more_env: [] do_fork: T ) ] spids: [73374 73388] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 111>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<urbackup-server>}) (C {<rm>} {<'/etc/systemd/system/urbackupsrv.service'>}) (C {<rm>} {<'/etc/default/urbackupsrv'>}) (C {<rm>} {<'/etc/logrotate.d/urbackupsrv'>}) (C {<rm>} {<'/usr/sbin/urbackupsrv'>}) (C {<rm>} {<'/usr/bin/urbackup_snapshot_helper'>}) (C {<rm>} {<'/usr/bin/urbackupsrv'>}) (C {<rm>} {<-R>} {<'/usr/share/urbackup'>}) ] spids: [73439 73453] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 110>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<umount>} {<-f>} {<'/mnt/nfs_client'>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 109>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<nfs-common>})] spids: [73539 73558] ) ] else_action: [] redirects: [] ) (C {<sed>} {<-i>} { (SQ < '/\\/mnt\\/nfs_client/c\\#\\/mnt\\/nfs_client . Please use dietpi-config and the Networking Options: NAS menu to setup this mount' > ) } {<'/etc/fstab'>} ) (command.Simple words: [ {<echo>} {<-e>} { (DQ <'NFS client can be installed and setup by DietPi-Config.'> <Id.Lit_BadBackslash '\\'> <'nSimply run: dietpi-config and select the Networking Options: NAS/Misc menu'> ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/mnt/nfs_client/readme.txt'>} ) ] more_env: [] do_fork: T ) ] spids: [73509 73523] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 16>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<build-essential>})] spids: [73608 73622] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 17>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<git>})] spids: [73632 73646] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 5>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<alsa-utils>})] spids: [73656 73670] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 6>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<xcompmgr>} {<xterm>} {<xinit>} {<xauth>} {<xserver-xorg>} {<dbus-x11>} {<xfonts-base>} {<x11-xserver-utils>} {<x11-common>} {<x11-utils>} ) (command.Simple words: [{<rm>} {<'/etc/xdg/autostart/xcompmgr.desktop'>} {<'/etc/X11/xorg.conf'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [73680 73694] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<umount>} {<-f>} {<'/mnt/ftp_client'>}) (C {<G_AGP>} {<curlftpfs>}) (C {<sed>} {<-i>} { (SQ < '/\\/mnt\\/ftp_client/c\\#\\/mnt\\/ftp_client . Please use dietpi-config and the Networking Options: NAS menu to setup this mount' > ) } {<'/etc/fstab'>} ) (command.Simple words: [ {<echo>} {<-e>} { (DQ <'FTP client mount can be installed and setup by DietPi-Config.'> <Id.Lit_BadBackslash '\\'> <'nSimply run: dietpi-config and select the Networking Options: NAS/Misc menu'> ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/mnt/ftp_client/readme.txt'>} ) ] more_env: [] do_fork: T ) ] spids: [73737 73751] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 7>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<ffmpeg>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_DollarName G_HW_MODEL)} right: {<Id.Lit_Digits 10>} ) redirects: [] ) (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<libx264>} {<libmp3lame>} {<libfdk-aac>}) ] ) ] spids: [73804 73818] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 8>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<openjdk-8-jdk>}) (command.Simple words: [{<rm>} {<'/etc/apt/preferences.d/99-dietpi-openjdk-8-jdk'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [73862 73876] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 104>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<dropbear> <Id.Lit_Star '*'>})] spids: [73895 73909] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 105>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<openssh-> <Id.Lit_Star '*'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 0>} ) op: assign_op.Equal rhs: {<0>} spids: [73952] ) ] redirects: [] ) ] spids: [73923 73937] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 103>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(SQ <'/\\/var\\/log/c\\#\\/var\\/log DietPi Ramlog Disabled'>)} {<'/etc/fstab'>} ) ] spids: [73961 73975] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 101>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<logrotate>})] spids: [73991 74005] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 102>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<rsyslog>})] spids: [74015 74029] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 9>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_AGP>} {<nodejs>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {<'/etc/apt/sources.list.d/nodesource_nodejs.list'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<rm>} {<'/etc/apt/sources.list.d/nodesource_nodejs.list'>}) (C {<G_AGUP>}) ] spids: [74067 74078] ) ] else_action: [] redirects: [] ) (C {<rm>} {<'/usr/local/bin/node'>}) ] spids: [74039 74053] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Digits 4>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<G_AGP>} {<vifm>})] spids: [74101 74115] ) ] else_action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ <'Software index '> ($ Id.VSub_DollarName index) <' is unknown, or, has no removal code.'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'valid_input='> name:valid_input) op: assign_op.Equal rhs: {<0>} spids: [74140] ) ] redirects: [] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<'/DietPi/dietpi/.uninstalled'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'DietPi Uninstall Software Log'> <Id.Lit_BadBackslash '\\'> <n----------------------> <Id.Lit_BadBackslash '\\'> <n> ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/DietPi/dietpi/.uninstalled'>} ) ] more_env: [] do_fork: T ) ] spids: [74157 74170] ) ] else_action: [] redirects: [] ) (command.Simple words: [ {<echo>} {<-e>} { (DQ ($ Id.VSub_DollarName index) <' | '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<date>}) right: <Id.Eof_RParen _> ) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/DietPi/dietpi/.uninstalled'>} ) ] more_env: [] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {($ Id.VSub_DollarName index)} ) op: assign_op.Equal rhs: {<0>} spids: [74218] ) ] redirects: [] ) (C {<G_ERROR_HANDLER_RESET>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Uninstall_Software_Finalize body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Removing packages that are no longer required'>)} ) (C {<apt-get>} {<autoremove>} {<--purge>} {<-y>}) (C {<local>} {<Id.Lit_VarLike 'fp_temp='> (SQ <'/tmp/.dietpi-uninstall_dpkg'>)}) (command.Pipeline children: [ (C {<dpkg>} {<--get-selections>}) (command.Simple words: [{<awk>} {(SQ <'{print $1}'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_temp))} ) ] more_env: [] do_fork: T ) ] negated: F stderr_indices: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Unary op_id: Id.Arith_Bang child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^openssh-server'>)} {(DQ ($ Id.VSub_DollarName fp_temp))} ) right: <Id.Eof_RParen _> ) } ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^dropbear'>)} {(DQ ($ Id.VSub_DollarName fp_temp))} ) right: <Id.Eof_RParen _> ) } ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_SSHSERVER_CURRENT='> name: INDEX_SSHSERVER_CURRENT ) op: assign_op.Equal rhs: {<0>} spids: [74362] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='> name: INDEX_SSHSERVER_TARGET ) op: assign_op.Equal rhs: {<0>} spids: [74366] ) ] redirects: [] ) ] spids: [74311 74358] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Unary op_id: Id.Arith_Bang child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^samba$'>)} {(DQ ($ Id.VSub_DollarName fp_temp))} ) right: <Id.Eof_RParen _> ) } ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^proftpd-basic'>)} {(DQ ($ Id.VSub_DollarName fp_temp))} ) right: <Id.Eof_RParen _> ) } ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_FILESERVER_CURRENT='> name: INDEX_FILESERVER_CURRENT ) op: assign_op.Equal rhs: {<0>} spids: [74426] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='> name: INDEX_FILESERVER_TARGET ) op: assign_op.Equal rhs: {<0>} spids: [74430] ) ] redirects: [] ) ] spids: [74375 74422] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<grep>} {<-ci>} {<-m1>} {(SQ <'#/var/log'>)} {<'/etc/fstab'>} ) right: <Id.Eof_RParen _> ) } right: (arith_expr.Unary op_id: Id.Arith_Bang child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^rsyslog'>)} {(DQ ($ Id.VSub_DollarName fp_temp))} ) right: <Id.Eof_RParen _> ) } ) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^logrotate'>)} {(DQ ($ Id.VSub_DollarName fp_temp))} ) right: <Id.Eof_RParen _> ) } ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_LOGGING_CURRENT='> name: INDEX_LOGGING_CURRENT ) op: assign_op.Equal rhs: {<0>} spids: [74507] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='> name: INDEX_LOGGING_TARGET ) op: assign_op.Equal rhs: {<0>} spids: [74511] ) ] redirects: [] ) ] spids: [74439 74503] ) ] else_action: [] redirects: [] ) (C {<rm>} {(DQ ($ Id.VSub_DollarName fp_temp))}) (C {<systemctl>} {<daemon-reload>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Run_Installations body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<Check_NTPD_Status>}) (command.Simple words: [{<setterm>} {<-blank>} {<0>} {<-powersave>} {<off>}] redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] more_env: [] do_fork: T ) (C {<'/DietPi/dietpi/dietpi-services'>} {<unmask>} {<all>}) (C {<'/DietPi/dietpi/dietpi-services'>} {<stop>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<'/DietPi/dietpi/func/dietpi-set_dphys-swapfile'>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_SWAPFILE_SIZE='>)} {<'/DietPi/dietpi.txt'>} ) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) ] spids: [74611 74625] ) ] else_action: [] redirects: [] ) (C {<Create_UserContent_Folders>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) (C {<Banner_Apt_Update>}) (C {<apt-get>} {<clean>}) (C {<G_AGUP>}) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Running apt simulation to check for errors, please wait...'>)} ) (C {<local>} {<Id.Lit_VarLike 'package_to_test='> (SQ <bash-doc>)}) (C {<G_AGI>} {($ Id.VSub_DollarName package_to_test)} {<-s>}) (C {<Banner_Setup>}) (C {<Banner_Apt_Update>}) (C {<G_AGUG>}) (C {<mkdir>} {<-p>} {<'/var/lib/dietpi/dietpi-software/services'>}) (C {<chmod>} {<-R>} {<Id.Lit_Other '+'> <x>} {<'/var/lib/dietpi/dietpi-software/services'>}) (C {<Install_Disable_Requires_UserInput>}) (C {<Apply_FileServer_Choices>}) (C {<Apply_SSHServer_Choices>}) (C {<Apply_Logging_Choices>}) (C {<Apply_Webserver_Preference>}) (C {<Install_Flag_Prereq_Software>}) (C {<'/DietPi/dietpi/dietpi-services'>} {<stop>}) (C {<Install_Linux_Software>}) (C {<'/DietPi/dietpi/dietpi-services'>} {<stop>}) (C {<Install_Dietpi_Software>}) (C {<Uninstall_NonSelected_Choices>}) (C {<'/DietPi/dietpi/dietpi-services'>} {<stop>}) (C {<Banner_Configs>}) (C {<Install_Apply_Configs>}) (command.Simple words: [{<Install_Apply_Permissions>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<local>} {<Id.Lit_VarLike 'autostart_current='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<cat>} {<'/DietPi/dietpi/.dietpi-autostart_index'>}) right: <Id.Eof_RParen _> ) } ) (C {<'/DietPi/dietpi/dietpi-autostart'>} {($ Id.VSub_DollarName autostart_current)}) (C {<'/DietPi/dietpi/dietpi-services'>} {<dietpi_controlled>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<2>} spids: [74947] ) ] redirects: [] ) ] spids: [74924 74943] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (C {<Install_Apply_GPU_Settings>}) (C {<Write_InstallFileList>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName AUTOINSTALL_TIMEZONE))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <'Europe/London'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'nDietPi: Setting Timezone = '> ($ Id.VSub_DollarName AUTOINSTALL_TIMEZONE) ) } ) (C {<rm>} {<'/etc/timezone'>}) (C {<rm>} {<'/etc/localtime'>}) (C {<ln>} {<-fs>} {<'/usr/share/zoneinfo/'> ($ Id.VSub_DollarName AUTOINSTALL_TIMEZONE)} {<'/etc/localtime'>} ) (C {<dpkg-reconfigure>} {<-f>} {<noninteractive>} {<tzdata>}) ] spids: [75006 75024] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName AUTOINSTALL_LANGUAGE))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <en_GB.UTF-8>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ <'Setting Locale '> ($ Id.VSub_DollarName AUTOINSTALL_LANGUAGE) <'. Please wait'> ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName AUTOINSTALL_LANGUAGE))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_LANGUAGE='> name: AUTOINSTALL_LANGUAGE ) op: assign_op.Equal rhs: {(SQ <en_GB.UTF-8>)} spids: [75132] ) ] redirects: [] ) ] spids: [75115 75128] ) ] else_action: [] redirects: [] ) (C {<'/DietPi/dietpi/func/dietpi-set_software'>} {<locale>} {(DQ ($ Id.VSub_DollarName AUTOINSTALL_LANGUAGE))} ) ] spids: [75077 75095] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName AUTOINSTALL_KEYBOARD))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <gb>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ <'Setting Keyboard '> ($ Id.VSub_DollarName AUTOINSTALL_KEYBOARD) <'. Please wait...'> <Id.Lit_BadBackslash '\\'> <n> ) } ) (C {<sed>} {<-i>} {(SQ <'/XKBLAYOUT=/c XKBLAYOUT="'>) (DQ ($ Id.VSub_DollarName AUTOINSTALL_KEYBOARD)) (SQ <'"'>) } {<'/etc/default/keyboard'>} ) ] spids: [75165 75183] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 1>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<'/DietPi/dietpi/func/dietpi-set_smbclient'>} {<1>})] spids: [75230 75249] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 2>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<'/DietPi/dietpi/func/dietpi-set_curlftpfs'>} {<1>})] spids: [75263 75282] ) ] else_action: [] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'run_custom_script='> <0>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {<'/boot/Automation_Custom_Script.sh'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_DESCRIPTION='> name: INSTALL_DESCRIPTION ) op: assign_op.Equal rhs: {(SQ <'Automation - Local Custom Script'>)} spids: [75321] ) ] redirects: [] ) (C {<Banner_Installing>}) (C {<cp>} {<'/boot/Automation_Custom_Script.sh'>} {<'/root/AUTO_CustomScript.sh'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'run_custom_script='> name: run_custom_script ) op: assign_op.Equal rhs: {<1>} spids: [75338] ) ] redirects: [] ) ] spids: [75306 75317] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName AUTOINSTALL_CUSTOMSCRIPTURL))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <0>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_DESCRIPTION='> name: INSTALL_DESCRIPTION ) op: assign_op.Equal rhs: {(SQ <'Automation - Online Custom Script'>)} spids: [75369] ) ] redirects: [] ) (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='> name: INSTALL_URL_ADDRESS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName AUTOINSTALL_CUSTOMSCRIPTURL)} spids: [75380] ) ] redirects: [] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<'/root/AUTO_CustomScript.sh'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'run_custom_script='> name: run_custom_script ) op: assign_op.Equal rhs: {<1>} spids: [75429] ) ] redirects: [] ) ] spids: [75396 75410] ) ] else_action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'Automated Custom Script URL Error:'> <Id.Lit_BadBackslash '\\'> <'n '> ($ Id.VSub_DollarName AUTOINSTALL_CUSTOMSCRIPTURL) <' is offline and/or unreachable'> ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName FP_DIETPIAUTOMATION_LOG))} ) ] more_env: [] do_fork: T ) ] redirects: [] ) ] spids: [75347 75365] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: {($ Id.VSub_DollarName run_custom_script)} redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/root/AUTO_CustomScript.sh'>}) (C {<'/root/AUTO_CustomScript.sh'>}) (C {<local>} {<Id.Lit_VarLike 'result='> ($ Id.VSub_QMark '?')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName result)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'Automated custom script executed succesfully:'> <Id.Lit_BadBackslash '\\'> <'n - Filepath = /root/AUTO_CustomScript.sh'> <Id.Lit_BadBackslash '\\'> <'n - URL = '> ($ Id.VSub_DollarName AUTOINSTALL_CUSTOMSCRIPTURL) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName FP_DIETPIAUTOMATION_LOG))} ) ] more_env: [] do_fork: T ) ] spids: [75497 75511] ) ] else_action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'Automated Custom Script Error:'> <Id.Lit_BadBackslash '\\'> <'n - Exit code = '> ($ Id.VSub_DollarName result) <Id.Lit_BadBackslash '\\'> <'n - Filepath = /root/AUTO_CustomScript.sh'> <Id.Lit_BadBackslash '\\'> <'n - URL = '> ($ Id.VSub_DollarName AUTOINSTALL_CUSTOMSCRIPTURL) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName FP_DIETPIAUTOMATION_LOG))} ) ] more_env: [] do_fork: T ) ] redirects: [] ) ] spids: [75466 75476] ) ] else_action: [] redirects: [] ) (C {<'/DietPi/dietpi/dietpi-autostart'>} {($ Id.VSub_DollarName AUTOINSTALL_AUTOSTARTTARGET)} ) ] spids: [74984 74998] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<echo>} {<1>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/DietPi/dietpi/.install_stage'>} ) ] more_env: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_ENABLED='> name: AUTOINSTALL_ENABLED ) op: assign_op.Equal rhs: {<0>} spids: [75616] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_SSHINDEX='> name: AUTOINSTALL_SSHINDEX ) op: assign_op.Equal rhs: {<0>} spids: [75621] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_FILESERVERINDEX='> name: AUTOINSTALL_FILESERVERINDEX ) op: assign_op.Equal rhs: {<0>} spids: [75625] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_LOGGINGINDEX='> name: AUTOINSTALL_LOGGINGINDEX ) op: assign_op.Equal rhs: {<0>} spids: [75629] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_WEBSERVERINDEX='> name: AUTOINSTALL_WEBSERVERINDEX ) op: assign_op.Equal rhs: {<0>} spids: [75633] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_AUTOSTARTTARGET='> name: AUTOINSTALL_AUTOSTARTTARGET ) op: assign_op.Equal rhs: {<0>} spids: [75638] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_TIMEZONE='> name: AUTOINSTALL_TIMEZONE ) op: assign_op.Equal rhs: {<0>} spids: [75643] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_LANGUAGE='> name: AUTOINSTALL_LANGUAGE ) op: assign_op.Equal rhs: {<0>} spids: [75647] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_KEYBOARD='> name: AUTOINSTALL_KEYBOARD ) op: assign_op.Equal rhs: {<0>} spids: [75651] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_CUSTOMSCRIPTURL='> name: AUTOINSTALL_CUSTOMSCRIPTURL ) op: assign_op.Equal rhs: {<0>} spids: [75656] ) ] redirects: [] ) (command.ShFunction name: FirstRun_Automation_Init body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_ENABLED='> name: AUTOINSTALL_ENABLED ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_AUTOMATED='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [75672] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_AUTOSTARTTARGET='> name: AUTOINSTALL_AUTOSTARTTARGET ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_AUTOSTART_TARGET_INDEX='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [75699] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_SSHINDEX='> name: AUTOINSTALL_SSHINDEX ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_SSH_SERVER_INDEX='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [75727] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_FILESERVERINDEX='> name: AUTOINSTALL_FILESERVERINDEX ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_FILE_SERVER_INDEX='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [75753] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_LOGGINGINDEX='> name: AUTOINSTALL_LOGGINGINDEX ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_LOGGING_INDEX='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [75779] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_WEBSERVERINDEX='> name: AUTOINSTALL_WEBSERVERINDEX ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_WEB_SERVER_INDEX='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [75805] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_TIMEZONE='> name: AUTOINSTALL_TIMEZONE ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_TIMEZONE='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [75832] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_LANGUAGE='> name: AUTOINSTALL_LANGUAGE ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_LOCALE='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [75859] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_KEYBOARD='> name: AUTOINSTALL_KEYBOARD ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_KEYBOARD_LAYOUT='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [75886] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTOINSTALL_CUSTOMSCRIPTURL='> name: AUTOINSTALL_CUSTOMSCRIPTURL ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_CUSTOM_SCRIPT_EXEC='>)}) (C {<sed>} {(SQ <'s/AUTO_SETUP_CUSTOM_SCRIPT_EXEC=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [75914] ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: FirstRun_Automation_Set body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName AUTOINSTALL_ENABLED)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Running automated installation'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TARGETMENUID='> name: TARGETMENUID ) op: assign_op.Equal rhs: {<-1>} spids: [75990] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'GOSTARTINSTALL='> name: GOSTARTINSTALL ) op: assign_op.Equal rhs: {<1>} spids: [75999] ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<read>} {<-r>} {<line>})]) body: (command.DoGroup children: [ (C {<local>} {<Id.Lit_VarLike 'index='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName line))}) (C {<grep>} {(SQ <'^AUTO_SETUP_INSTALL_SOFTWARE_ID='>)}) (C {<sed>} {(SQ <'s/[^0-9]*//g'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_EqualTilde left: {($ Id.VSub_DollarName index)} right: {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'> } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {($ Id.VSub_DollarName index)} ) op: assign_op.Equal rhs: {<1>} spids: [76082] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ <'Automation: '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName index)} ) right: <Id.Right_DollarBrace '}'> ) <'. Flagged for installation.'> ) } ) ] spids: [76058 76078] ) ] else_action: [] redirects: [] ) ] ) redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<'/DietPi/dietpi.txt'>} ) ] ) ] spids: [75956 75970] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='> name: INDEX_SSHSERVER_TARGET ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName AUTOINSTALL_SSHINDEX)} spids: [76128] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='> name: INDEX_FILESERVER_TARGET ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName AUTOINSTALL_FILESERVERINDEX)} spids: [76132] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='> name: INDEX_LOGGING_TARGET ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName AUTOINSTALL_LOGGINGINDEX)} spids: [76136] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='> name: INDEX_WEBSERVER_TARGET ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName AUTOINSTALL_WEBSERVERINDEX)} spids: [76140] ) ] redirects: [] ) (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<preferipversion>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^CONFIG_PREFER_IPVERSION='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: FirstRun_DietPi_Update body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple words: [{<setterm>} {<-blank>} {<0>} {<-powersave>} {<off>}] redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {<1>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/DietPi/dietpi/.update_stage'>} ) ] more_env: [] do_fork: T ) (C {<G_AGUP>}) (C {<'/DietPi/dietpi/dietpi-update'>} {<1>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<cat>} {<'/DietPi/dietpi/.update_stage'>}) right: <Id.Eof_RParen _> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {<1>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/DietPi/dietpi/.update_stage'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: {($ Id.VSub_DollarName G_USER_INPUTS)} redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(SQ <'DietPi Update Completed'>)} spids: [76306] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} { (DQ <'DietPi has been updated to the latest version.'> <Id.Lit_BadBackslash '\\'> <'nYour system will now reboot. Once completed, simply login to resume DietPi Setup. '> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nPress Enter to Continue.'> ) } {<13>} {<65>} ) ] spids: [76292 76302] ) ] else_action: [] redirects: [] ) (C {<reboot>}) (C {<Exit_Destroy>}) ] spids: [76252 76270] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INTERNET_URL_TEST='> name:INTERNET_URL_TEST) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-m1>} {(SQ <'deb '>)} {<'/etc/apt/sources.list'>}) (C {<awk>} {(SQ <'{print $2}'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [76377] ) ] redirects: [] ) (command.ShFunction name: Check_Internet_Connection body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [(C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INTERNET_URL_TEST))})] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Input_Modes body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID) op: assign_op.Equal rhs: {<-1>} spids: [76445] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DISABLE_REBOOT='> name:DISABLE_REBOOT) op: assign_op.Equal rhs: {<1>} spids: [76450] ) ] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'ainput='> (sh_array_literal left: <Id.Op_LParen _> words: [{(DQ ($ Id.VSub_At '@'))}] ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DPipe Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <install>)} {<Id.Lit_RBracket ']'>} ) (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <reinstall>)} {<Id.Lit_RBracket ']'>} ) (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <uninstall>)} {<Id.Lit_RBracket ']'>} ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Automated '> ($ Id.VSub_Number 1))} ) (C {<sleep>} {<1>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_Number 2))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<1>} { (DQ < 'Please enter a software index ID, or, choice system INDEX_*_TARGET=-?' > ) } ) ] spids: [76547 76560] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <uninstall>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<'/DietPi/dietpi/dietpi-services'>} {<stop>})] spids: [76582 76599] ) ] else_action: [] redirects: [] ) (command.ForEach iter_names: [i] iterable: (for_iter.Words words: [ { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ainput> var_name: ainput bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } ] ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_EqualTilde left: {($ Id.VSub_DollarName i)} right: {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'> } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <uninstall>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Uninstall_Software>} {(DQ ($ Id.VSub_DollarName i))} ) ] spids: [76669 76686] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <reinstall>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${' > token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: { ($ Id.VSub_DollarName i ) } ) right: <Id.Right_DollarBrace '}' > ) } right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE[' > name: aSOFTWARE_INSTALL_STATE index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<1>} spids: [76755] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'GOSTARTINSTALL=' > name: GOSTARTINSTALL ) op: assign_op.Equal rhs: {<1>} spids: [76763] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<0>} { (DQ <'Reinstalling '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <': '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> var_name: aSOFTWARE_WHIP_DESC bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) ) } ) (C {<sleep>} {<1>}) ] spids: [76719 76738] ) ] else_action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ ($ Id.VSub_DollarName i) <': '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <' is not currently installed'> ) } ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ < 'The program must be installed, before reinstall can be used' > ) } ) (C {<G_DIETPI-NOTIFY>} {<0>} { (DQ <'No changes applied for: '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) ) } ) ] redirects: [] ) ] spids: [76698 76715] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <install>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${' > token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: { ($ Id.VSub_DollarName i ) } ) right: <Id.Right_DollarBrace '}' > ) } right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE[' > name: aSOFTWARE_INSTALL_STATE index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<1>} spids: [76890] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'GOSTARTINSTALL=' > name: GOSTARTINSTALL ) op: assign_op.Equal rhs: {<1>} spids: [76898] ) ] redirects: [] ) (C {<G_DIETPI-NOTIFY>} {<0>} { (DQ <'Installing '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <': '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> var_name: aSOFTWARE_WHIP_DESC bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) ) } ) (C {<sleep>} {<0.5>}) ] spids: [76867 76886] ) ] else_action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ ($ Id.VSub_DollarName i) <': '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <' is already installed'> ) } ) (C {<G_DIETPI-NOTIFY>} {<0>} { (DQ <'No changes applied for: '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) ) } ) ] redirects: [] ) ] spids: [76846 76863] ) ] else_action: [] redirects: [] ) ] spids: [76645 76665] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <uninstall>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Uninstall_Software_Finalize>}) (C {<Write_InstallFileList>}) (C {<'/DietPi/dietpi/dietpi-services'>} {<start>}) ] spids: [76988 77005] ) ] else_action: [] redirects: [] ) ] redirects: [] ) ] spids: [76471 76521] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <setpermissions>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<Install_Apply_Permissions>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<G_DIETPI-NOTIFY>} {<0>} {(DQ <'Set permissions completed'>)}) ] spids: [77043 77060] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <list>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup children: [ (C {<local>} {<Id.Lit_VarLike 'string='> (SQ )}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string='> name: string ) op: assign_op.Equal rhs: { (DQ <Id.Lit_BadBackslash '\\'> <'e[32mID '> ($ Id.VSub_DollarName i) <' | '> ) } spids: [77160] ) ] redirects: [] ) ] spids: [77137 77156] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string='> name: string ) op: assign_op.Equal rhs: { (DQ <Id.Lit_BadBackslash '\\'> <'e[0mID '> ($ Id.VSub_DollarName i) <' | '> ) } spids: [77174] ) ] redirects: [] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: { (DQ <'='> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <' | '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <': '> <Id.Lit_BadBackslash '\\'> <'e[90m'> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> var_name: aSOFTWARE_WHIP_DESC bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <Id.Lit_BadBackslash '\\'> <'e[0m |'> ) } spids: [77188] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_ALSA> var_name: aSOFTWARE_REQUIRES_ALSA bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: {(SQ <' +ALSA'>)} spids: [77242] ) ] redirects: [] ) ] spids: [77219 77238] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_XSERVERXORG > var_name: aSOFTWARE_REQUIRES_XSERVERXORG bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: {(SQ <' +XSERVER'>)} spids: [77275] ) ] redirects: [] ) ] spids: [77252 77271] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_DESKTOP> var_name: aSOFTWARE_REQUIRES_DESKTOP bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: {(SQ <' +DESKTOP'>)} spids: [77309] ) ] redirects: [] ) ] spids: [77286 77305] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_RSYSLOG> var_name: aSOFTWARE_REQUIRES_RSYSLOG bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: {(SQ <' +RSYSLOG'>)} spids: [77343] ) ] redirects: [] ) ] spids: [77320 77339] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_FFMPEG> var_name: aSOFTWARE_REQUIRES_FFMPEG bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: {(SQ <' +FFMPEG'>)} spids: [77377] ) ] redirects: [] ) ] spids: [77354 77373] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_ORACLEJAVA > var_name: aSOFTWARE_REQUIRES_ORACLEJAVA bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: {(SQ <' +ORACLEJAVA'>)} spids: [77411] ) ] redirects: [] ) ] spids: [77388 77407] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_NODEJS> var_name: aSOFTWARE_REQUIRES_NODEJS bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: {(SQ <' +NODEJS'>)} spids: [77445] ) ] redirects: [] ) ] spids: [77422 77441] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_BUILDESSENTIAL > var_name: aSOFTWARE_REQUIRES_BUILDESSENTIAL bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: {(SQ <' +BUILDESSENTIAL'>)} spids: [77479] ) ] redirects: [] ) ] spids: [77456 77475] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_GIT> var_name: aSOFTWARE_REQUIRES_GIT bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: {(SQ <' +GIT'>)} spids: [77513] ) ] redirects: [] ) ] spids: [77490 77509] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_WEBSERVER> var_name: aSOFTWARE_REQUIRES_WEBSERVER bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: {(SQ <' +WEBSERVER'>)} spids: [77547] ) ] redirects: [] ) ] spids: [77524 77543] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_MYSQL> var_name: aSOFTWARE_REQUIRES_MYSQL bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: {(SQ <' +MYSQL'>)} spids: [77581] ) ] redirects: [] ) ] spids: [77558 77577] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_REQUIRES_SQLITE> var_name: aSOFTWARE_REQUIRES_SQLITE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: {(SQ <' +SQLITE'>)} spids: [77615] ) ] redirects: [] ) ] spids: [77592 77611] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_ARCH> var_name: aSOFTWARE_AVAIL_G_HW_ARCH bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName i)} right: {($ Id.VSub_DollarName G_HW_ARCH)} ) ) right: <Id.Right_DollarBrace '}'> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: { (DQ <' '> <Id.Lit_BadBackslash '\\'> <'e[31mDISABLED for G_HW_ARCH'> <Id.Lit_BadBackslash '\\'> <'e[0m'> ) } spids: [77653] ) ] redirects: [] ) ] spids: [77630 77649] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_MODEL> var_name: aSOFTWARE_AVAIL_G_HW_MODEL bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName i)} right: {($ Id.VSub_DollarName G_HW_MODEL)} ) ) right: <Id.Right_DollarBrace '}'> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: { (DQ <' '> <Id.Lit_BadBackslash '\\'> <'e[31mDISABLED for G_HW_MODEL'> <Id.Lit_BadBackslash '\\'> <'e[0m'> ) } spids: [77695] ) ] redirects: [] ) ] spids: [77672 77691] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_ONLINEDOC_URL> var_name: aSOFTWARE_ONLINEDOC_URL bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) ) } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string+='> name: string ) op: assign_op.PlusEqual rhs: { (DQ <' | '> <Id.Lit_BadBackslash '\\'> <'e[90m'> ($ Id.VSub_DollarName FP_ONLINEDOC_URL) (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_ONLINEDOC_URL> var_name: aSOFTWARE_ONLINEDOC_URL bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <Id.Lit_BadBackslash '\\'> <'e[0m'> ) } spids: [77736] ) ] redirects: [] ) ] spids: [77714 77732] ) ] else_action: [] redirects: [] ) (C {<echo>} {<-e>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name string> var_name: string suffix_op: (suffix_op.Unary op:<Id.VOp1_DComma ',,'> arg_word:{}) right: <Id.Right_DollarBrace '}'> ) ) } ) ] ) redirects: [] ) (C {<echo>} {<-e>} { (DQ <'Total Software index HARD limit : '> ($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS_HARDLIMIT) ) } ) (C {<echo>} {<-e>} { (DQ <'Total Software index Current : '> ($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS) ) } ) ] spids: [77085 77102] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <weblist_export>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<local>} {<Id.Lit_VarLike 'fp_export_dir='> (SQ <'/tmp/dietpi-software/weblist_export'>)} ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName fp_export_dir))}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName fp_export_dir))}) (C {<local>} {<Id.Lit_VarLike 'fp_target='> (DQ ($ Id.VSub_DollarName fp_export_dir) <'/category_dietpi_total'>) } ) (command.Simple words: [ {<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName MAX_SOFTWARE_CATEGORIES_DIETPI))} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) (C {<local>} {<Id.Lit_VarLike 'fp_target='> (DQ ($ Id.VSub_DollarName fp_export_dir) <'/category_linux_total'>) } ) (command.Simple words: [{<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName MAX_SOFTWARE_CATEGORIES_LINUX))}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName fp_export_dir) <'/category_dietpi_desc'>)} spids: [77910] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_SOFTWARE_CATEGORIES_DIETPI)} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup children: [ (C {<local>} {<Id.Lit_VarLike 'output='>}) (command.Simple words: [ {<echo>} {<-e>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_CATEGORIES_DIETPI> var_name: aSOFTWARE_CATEGORIES_DIETPI bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ) (C {<sed>} {(SQ <'s/─//g'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName fp_export_dir) <'/category_linux_desc'>)} spids: [77982] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName MAX_SOFTWARE_CATEGORIES_LINUX)} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup children: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_CATEGORIES_LINUX> var_name: aSOFTWARE_CATEGORIES_LINUX bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ) (C {<sed>} {(SQ <'s/─//g'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) ] ) redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'fp_target='> (DQ ($ Id.VSub_DollarName fp_export_dir) <'/total_software_index'>) } ) (command.Simple words: [{<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS))}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName fp_export_dir) <'/software_installed_state'>)} spids: [78079] ) ] redirects: [] ) (command.Simple words: [ {<printf>} {(DQ <'%i'> <Id.Lit_BadBackslash '\\'> <n>)} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName fp_export_dir) <'/software_name'>)} spids: [78111] ) ] redirects: [] ) (command.Simple words: [ {<printf>} {(DQ <'%s'> <Id.Lit_BadBackslash '\\'> <n>)} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName fp_export_dir) <'/software_desc'>)} spids: [78143] ) ] redirects: [] ) (command.Simple words: [ {<printf>} {(DQ <'%s'> <Id.Lit_BadBackslash '\\'> <n>)} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> var_name: aSOFTWARE_WHIP_DESC bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName fp_export_dir) <'/category_index'>)} spids: [78175] ) ] redirects: [] ) (command.Simple words: [ {<printf>} {(DQ <'%i'> <Id.Lit_BadBackslash '\\'> <n>)} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_CATEGORY_INDEX> var_name: aSOFTWARE_CATEGORY_INDEX bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName fp_export_dir) <'/software_urldocs'>)} spids: [78207] ) ] redirects: [] ) (command.Simple words: [ {<printf>} {(DQ <'%s'> <Id.Lit_BadBackslash '\\'> <n>)} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_ONLINEDOC_URL> var_name: aSOFTWARE_ONLINEDOC_URL bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName fp_export_dir) <'/software_available_hw_model'> ) } spids: [78243] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup children: [ (command.Simple words: [ {<printf>} {(DQ <'%i'> <Id.Lit_BadBackslash '\\'> <n>)} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_MODEL> var_name: aSOFTWARE_AVAIL_G_HW_MODEL bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName i)} right: {($ Id.VSub_DollarName G_HW_MODEL)} ) ) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName fp_export_dir) <'/software_available_hw_arch'>) } spids: [78303] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup children: [ (command.Simple words: [ {<printf>} {(DQ <'%i'> <Id.Lit_BadBackslash '\\'> <n>)} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_ARCH> var_name: aSOFTWARE_AVAIL_G_HW_ARCH bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName i)} right: {($ Id.VSub_DollarName G_HW_ARCH)} ) ) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName fp_target))} ) ] more_env: [] do_fork: T ) ] ) redirects: [] ) ] spids: [77807 77824] ) ] else_action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Unknown command '> ($ Id.VSub_Number 1))}) ] redirects: [] ) (C {<unset>} {<ainput>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Exit_Destroy body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<Software_Arrays_Destroy>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR_TEXT='> name:ERROR_TEXT) op: assign_op.Equal rhs: {(DQ )} spids: [78454] ) ] redirects: [] ) (command.ShFunction name: Error_Display body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: {($ Id.VSub_DollarName G_USER_INPUTS)} redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<whiptail>} {<--title>} {(DQ <Error>)} {<--msgbox>} {(DQ ($ Id.VSub_DollarName ERROR_TEXT))} {<18>} {<70>} ) ] spids: [78472 78482] ) ] else_action: [ (command.Simple words: [{<echo>} {<-e>} {(DQ <'Error: '> ($ Id.VSub_DollarName ERROR_TEXT))}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName FP_DIETPIAUTOMATION_LOG))} ) ] more_env: [] do_fork: T ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_BACKTITLE='> name:WHIP_BACKTITLE) op: assign_op.Equal rhs: {(SQ <DietPi-Software>)} spids: [78547] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {<0>} spids: [78553] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_QUESTION='> name:WHIP_QUESTION) op: assign_op.Equal rhs: {<0>} spids: [78557] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MENU_MAIN_LASTITEM='> name:MENU_MAIN_LASTITEM) op: assign_op.Equal rhs: {(SQ <'Help!'>)} spids: [78561] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID) op: assign_op.Equal rhs: {<0>} spids: [78567] ) ] redirects: [] ) (command.ShFunction name: Menu_CreateSoftwareList body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<local>} {<Id.Lit_VarLike 'software_type='> ($ Id.VSub_Number 1)}) (C {<local>} {<Id.Lit_VarLike 'max_categories='> ($ Id.VSub_DollarName MAX_SOFTWARE_CATEGORIES_DIETPI) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Number 1)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'max_categories='> name: max_categories ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName MAX_SOFTWARE_CATEGORIES_LINUX)} spids: [78617] ) ] redirects: [] ) ] spids: [78599 78613] ) ] else_action: [] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'whiptail_list='> (sh_array_literal left:<Id.Op_LParen _> words:[])} ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName max_categories)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (C {<local>} {<Id.Lit_VarLike 'category_enabled='> <0>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike j) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike j) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike j) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_CATEGORY_INDEX> var_name: aSOFTWARE_CATEGORY_INDEX bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName j)} ) right: <Id.Right_DollarBrace '}'> ) } right: {($ Id.VSub_DollarName i)} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_TYPE> var_name: aSOFTWARE_TYPE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName j)} ) right: <Id.Right_DollarBrace '}'> ) } right: {($ Id.VSub_DollarName software_type)} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_MODEL > var_name: aSOFTWARE_AVAIL_G_HW_MODEL bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName j)} right: { ($ Id.VSub_DollarName G_HW_MODEL ) } ) ) right: <Id.Right_DollarBrace '}'> ) } right: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_ARCH > var_name: aSOFTWARE_AVAIL_G_HW_ARCH bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Comma left: {($ Id.VSub_DollarName j)} right: { ($ Id.VSub_DollarName G_HW_ARCH ) } ) ) right: <Id.Right_DollarBrace '}'> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<local>} {<Id.Lit_VarLike 'selected='> (DQ <off>)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: { ($ Id.VSub_DollarName j ) } ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'selected='> name: selected ) op: assign_op.Equal rhs: {(DQ <on>)} spids: [78819] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: < Id.Left_DollarBrace '${' > token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: { ($ Id.VSub_DollarName j ) } ) right: < Id.Right_DollarBrace '}' > ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE[' > name: aSOFTWARE_INSTALL_STATE index: {($ Id.VSub_DollarName j)} ) op: assign_op.Equal rhs: {<0>} spids: [78853] ) ] redirects: [] ) ] spids: [78826 78845] ) ] else_action: [] redirects: [] ) ] spids: [78796 78815] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { ($ Id.VSub_DollarName category_enabled ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Number 1)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'whiptail_list+=' > name: whiptail_list ) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ {(DQ )} { (DQ (braced_var_sub left: < Id.Left_DollarBrace '${' > token: <Id.VSub_Name aSOFTWARE_CATEGORIES_DIETPI > var_name: aSOFTWARE_CATEGORIES_DIETPI bracket_op: (bracket_op.ArrayIndex expr: { ($ Id.VSub_DollarName i ) } ) right: < Id.Right_DollarBrace '}' > ) ) } {(DQ <off>)} ] ) } spids: [78914] ) ] redirects: [] ) ] spids: [78896 78910] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Number 1)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'whiptail_list+=' > name: whiptail_list ) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ {(DQ )} { (DQ (braced_var_sub left: < Id.Left_DollarBrace '${' > token: <Id.VSub_Name aSOFTWARE_CATEGORIES_LINUX > var_name: aSOFTWARE_CATEGORIES_LINUX bracket_op: (bracket_op.ArrayIndex expr: { ($ Id.VSub_DollarName i ) } ) right: < Id.Right_DollarBrace '}' > ) ) } {(DQ <off>)} ] ) } spids: [78957] ) ] redirects: [] ) ] spids: [78939 78953] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'category_enabled='> name: category_enabled ) op: assign_op.Equal rhs: {<1>} spids: [78982] ) ] redirects: [] ) ] spids: [78874 78888] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'whiptail_list+='> name: whiptail_list ) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ {(DQ ($ Id.VSub_DollarName j))} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName j)} ) right: <Id.Right_DollarBrace '}'> ) <': '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> var_name: aSOFTWARE_WHIP_DESC bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName j)} ) right: <Id.Right_DollarBrace '}'> ) ) } {(DQ ($ Id.VSub_DollarName selected))} ] ) } spids: [78995] ) ] redirects: [] ) ] spids: [78754 78783] ) ] else_action: [] redirects: [] ) ] spids: [78710 78742] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'DietPi Software Selection'>)} spids: [79044] ) ] redirects: [] ) (command.Simple words: [ {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--checklist>} {<--separate-output>} { (DQ <'Please use the spacebar to select the software you wish to install.'> <Id.Lit_BadBackslash '\\'> <'nSoftware details: http://dietpi.com/software'> ) } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<22>} {<78>} {<14>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name whiptail_list> var_name: whiptail_list bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/tmp/dietpi-software_results'>} ) ] more_env: [] do_fork: T ) (C {<unset>} {<whiptail_list>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Number 1)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_DIETPI_CHOICESMADE='> name: INSTALL_DIETPI_CHOICESMADE ) op: assign_op.Equal rhs: {<0>} spids: [79130] ) ] redirects: [] ) ] spids: [79112 79126] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Number 1)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_LINUX_CHOICESMADE='> name: INSTALL_LINUX_CHOICESMADE ) op: assign_op.Equal rhs: {<0>} spids: [79157] ) ] redirects: [] ) ] spids: [79139 79153] ) ] else_action: [] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<read>} {<choice>})]) body: (command.DoGroup children: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName choice)} right: {($ Id.VSub_DollarName i)} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Number 1)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_DIETPI_CHOICESMADE=' > name: INSTALL_DIETPI_CHOICESMADE ) op: assign_op.Equal rhs: {<1>} spids: [79262] ) ] redirects: [] ) ] spids: [79244 79258] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Number 1)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_LINUX_CHOICESMADE='> name: INSTALL_LINUX_CHOICESMADE ) op: assign_op.Equal rhs: {<1>} spids: [79289] ) ] redirects: [] ) ] spids: [79271 79285] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {($ Id.VSub_DollarName i)} ) op: assign_op.Equal rhs: {<1>} spids: [79298] ) ] redirects: [] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [79208 79236] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] ) redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<'/tmp/dietpi-software_results'>} ) ] ) (command.Simple words: [{<rm>} {<'/tmp/dietpi-software_results'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Menu_Main body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<local>} {<Id.Lit_VarLike 'index_sshserver_text='> (DQ <None>)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'index_sshserver_text='> name: index_sshserver_text ) op: assign_op.Equal rhs: {(DQ <Dropbear>)} spids: [79377] ) ] redirects: [] ) ] spids: [79359 79374] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'index_sshserver_text='> name: index_sshserver_text ) op: assign_op.Equal rhs: {(DQ <OpenSSH>)} spids: [79401] ) ] redirects: [] ) ] spids: [79383 79398] ) ] else_action: [] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'index_fileserver_text='> (DQ <None>)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'index_fileserver_text='> name: index_fileserver_text ) op: assign_op.Equal rhs: {(DQ <ProFTP>)} spids: [79441] ) ] redirects: [] ) ] spids: [79423 79438] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'index_fileserver_text='> name: index_fileserver_text ) op: assign_op.Equal rhs: {(DQ <Samba>)} spids: [79465] ) ] redirects: [] ) ] spids: [79447 79462] ) ] else_action: [] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'index_logging_text='> (DQ <None>)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'index_logging_text='> name: index_logging_text ) op: assign_op.Equal rhs: {(DQ <'DietPi-Ramlog #1'>)} spids: [79505] ) ] redirects: [] ) ] spids: [79487 79502] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'index_logging_text='> name: index_logging_text ) op: assign_op.Equal rhs: {(DQ <'DietPi-Ramlog #2'>)} spids: [79529] ) ] redirects: [] ) ] spids: [79511 79526] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 3>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'index_logging_text='> name: index_logging_text ) op: assign_op.Equal rhs: {(DQ <Full>)} spids: [79553] ) ] redirects: [] ) ] spids: [79535 79550] ) ] else_action: [] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'toberemoved_text='> (SQ )}) (C {<Check_USB_Drive_Installed>}) (C {<local>} {<Id.Lit_VarLike 'user_data_location_current='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<readlink>} {<-f>} {($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)}) right: <Id.Eof_RParen _> ) } ) (C {<local>} {<Id.Lit_VarLike 'user_data_location_description='> (SQ )}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName user_data_location_current))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName FP_DIETPI_DEDICATED_USBDRIVE))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'user_data_location_description='> name: user_data_location_description ) op: assign_op.Equal rhs: {(DQ <'USB Drive | '> ($ Id.VSub_DollarName user_data_location_current))} spids: [79628] ) ] redirects: [] ) ] spids: [79607 79624] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName user_data_location_current))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'user_data_location_description='> name: user_data_location_description ) op: assign_op.Equal rhs: {(DQ <'SD/EMMC | '> ($ Id.VSub_DollarName user_data_location_current))} spids: [79657] ) ] redirects: [] ) ] spids: [79636 79653] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'user_data_location_description='> name: user_data_location_description ) op: assign_op.Equal rhs: {(DQ <'Custom | '> ($ Id.VSub_DollarName user_data_location_current))} spids: [79669] ) ] redirects: [] ) ] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'index_webserver_text='> (SQ <Apache2>)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'index_webserver_text='> name: index_webserver_text ) op: assign_op.Equal rhs: {(SQ <Nginx>)} spids: [79712] ) ] redirects: [] ) ] spids: [79693 79708] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'index_webserver_text='> name: index_webserver_text ) op: assign_op.Equal rhs: {(SQ <Lighttpd>)} spids: [79738] ) ] redirects: [] ) ] spids: [79719 79734] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <DietPi-Software>)} spids: [79749] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_BACKTITLE='> name:WHIP_BACKTITLE) op: assign_op.Equal rhs: { (DQ <'DietPi-Software | IP: '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<4p>} {<'/DietPi/dietpi/.network'>}) right: <Id.Eof_RParen _> ) <' | Device: '> ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) ) } spids: [79755] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple words: [ {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<--menu>} {(DQ )} {<--default-item>} {(DQ ($ Id.VSub_DollarName MENU_MAIN_LASTITEM))} {<--cancel-button>} {(DQ <Exit>)} {<20>} {<100>} {<13>} {(DQ <'Help!'>)} {(DQ <'Links to online guides, docs and information'>)} {(DQ <DietPi-Config>)} {(DQ <'Feature-rich configuration tool for your device'>)} {(DQ )} { (DQ < '─── Select Software ─────────────────────────' > ) } {(DQ <'Software Optimized'>)} {(DQ <'Select DietPi optimized software for installation'>)} {(DQ <'Software Additional'>)} {(DQ <'Select additional Linux software for installation'>)} {(DQ <'SSH Server'>)} {(DQ <': '> ($ Id.VSub_DollarName index_sshserver_text))} {(DQ <'File Server'>)} {(DQ <': '> ($ Id.VSub_DollarName index_fileserver_text))} {(DQ <'Log System'>)} {(DQ <': '> ($ Id.VSub_DollarName index_logging_text))} {(DQ <'Webserver Preference'>)} {(DQ <': '> ($ Id.VSub_DollarName index_webserver_text))} {(DQ <'User Data Location'>)} {(DQ <': '> ($ Id.VSub_DollarName user_data_location_description))} {(DQ )} { (DQ < '─── Install or Remove Software ──────────────' > ) } {(DQ <Uninstall>)} {(DQ <'Select installed software for removal'>)} {(DQ <Install>)} {(DQ <'Go >> Start installation for selected software'>)} ] redirects: [ (redir op: <Id.Redir_GreatAnd '3>&'> loc: (redir_loc.Fd fd:3) arg: {<1>} ) (redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<3>} ) ] more_env: [] do_fork: T ) right: <Id.Eof_RParen _> ) } spids: [79773] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [79957] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'MENU_MAIN_LASTITEM='> name: MENU_MAIN_LASTITEM ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName OPTION))} spids: [79979] ) ] redirects: [] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName OPTION))} arms: [ (case_arm pat_list: [{(DQ <Uninstall>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TARGETMENUID='> name: TARGETMENUID ) op: assign_op.Equal rhs: {<3>} spids: [80003] ) ] redirects: [] ) ] spids: [79996 79999 80008 -1] ) (case_arm pat_list: [{(DQ <'Software Optimized'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TARGETMENUID='> name: TARGETMENUID ) op: assign_op.Equal rhs: {<1>} spids: [80019] ) ] redirects: [] ) ] spids: [80012 80015 80024 -1] ) (case_arm pat_list: [{(DQ <'Software Additional'>) <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TARGETMENUID='> name: TARGETMENUID ) op: assign_op.Equal rhs: {<2>} spids: [80036] ) ] redirects: [] ) ] spids: [80028 80032 80041 -1] ) (case_arm pat_list: [{(DQ <'SSH Server'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(SQ <'SSH Server Choices'>)} spids: [80052] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple words: [ {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--menu>} { (DQ <'> None'> <Id.Lit_BadBackslash '\\'> < 'nSelecting this option will uninstall all SSH servers. This reduces system resources and improves performance. Useful for users who do NOT require networked/remote terminal access.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> Dropbear (Recommended)'> <Id.Lit_BadBackslash '\\'> <'nLightweight SSH server, installed by default on DietPi systems.'> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> OpenSSH'> <Id.Lit_BadBackslash '\\'> < 'nA feature rich SSH server with SFTP/SCP support, at the cost of increased resource usage.' > ) } {<--cancel-button>} {(DQ <Back>)} {<--default-item>} {(DQ ($ Id.VSub_DollarName index_sshserver_text))} {<21>} {<75>} {<3>} {(DQ <None>)} {(DQ <'Not required / manual setup.'>)} {(DQ <Dropbear>)} {(DQ <'Lightweight SSH Server (Recommended).'>)} {(DQ <OpenSSH>)} { (DQ <'Feature Rich SSH Server with SFTP/SCP support.'> ) } ] redirects: [ (redir op: <Id.Redir_GreatAnd '3>&'> loc: (redir_loc.Fd fd:3) arg: {<1>} ) (redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<3>} ) ] more_env: [] do_fork: T ) right: <Id.Eof_RParen _> ) } spids: [80058] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <None>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='> name: INDEX_SSHSERVER_TARGET ) op: assign_op.Equal rhs: {<0>} spids: [80173] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'toberemoved_text='> name: toberemoved_text ) op: assign_op.Equal rhs: {(DQ <'Dropbear and OpenSSH Server'>)} spids: [80177] ) ] redirects: [] ) ] spids: [80152 80169] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Dropbear>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='> name: INDEX_SSHSERVER_TARGET ) op: assign_op.Equal rhs: {<-1>} spids: [80205] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'toberemoved_text='> name: toberemoved_text ) op: assign_op.Equal rhs: {(DQ <'OpenSSH Server'>)} spids: [80209] ) ] redirects: [] ) ] spids: [80184 80201] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <OpenSSH>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='> name: INDEX_SSHSERVER_TARGET ) op: assign_op.Equal rhs: {<-2>} spids: [80237] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'toberemoved_text='> name: toberemoved_text ) op: assign_op.Equal rhs: {(DQ <Dropbear>)} spids: [80241] ) ] redirects: [] ) ] spids: [80216 80233] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='> name: INDEX_SSHSERVER_TARGET ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName INDEX_SSHSERVER_CURRENT)} spids: [80256] ) ] redirects: [] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_SSHSERVER_CHOICESMADE='> name: INSTALL_SSHSERVER_CHOICESMADE ) op: assign_op.Equal rhs: {<0>} spids: [80269] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)} right: {($ Id.VSub_DollarName INDEX_SSHSERVER_CURRENT)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_SSHSERVER_CHOICESMADE='> name: INSTALL_SSHSERVER_CHOICESMADE ) op: assign_op.Equal rhs: {<1>} spids: [80291] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(DQ <'SSH Server Change'>)} spids: [80300] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName OPTION) <' has been selected:'> <Id.Lit_BadBackslash '\\'> < 'n- Your choice will be applied when \'Install Go >> Start installation\' is selected.' > <Id.Lit_BadBackslash '\\'> <'n- '> ($ Id.VSub_DollarName toberemoved_text) < ' installations will be automatically uninstalled.' > ) } spids: [80306] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<11>} {<75>} ) ] spids: [80273 80287] ) ] else_action: [] redirects: [] ) ] spids: [80045 80048 80348 -1] ) (case_arm pat_list: [{(DQ <'File Server'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(SQ <'Fileserver Choices'>)} spids: [80359] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple words: [ {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--menu>} { (DQ <'> None'> <Id.Lit_BadBackslash '\\'> < 'nSelect this option if you do NOT require a method of accessing files and folders on this device, over a network.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> ProFTP (Recommended for RPi v1)'> <Id.Lit_BadBackslash '\\'> < 'nAllows you to access/share files on this device efficiently with minimal cpu usage. Uses FTP protocol.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> Samba (Recommended for RPi v2)'> <Id.Lit_BadBackslash '\\'> <'nAllows you to easily access/share files on this device, at the cost of higher cpu usage.'> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nMore info: http://dietpi.com/phpbb/viewtopic.php?f=8&t=15#p19'> ) } {<--cancel-button>} {(DQ <Back>)} {<--default-item>} {(DQ ($ Id.VSub_DollarName index_fileserver_text))} {<23>} {<75>} {<3>} {(DQ <None>)} {(DQ <'Not required / manual setup.'>)} {(DQ <ProFTP>)} { (DQ < 'Efficient, lightweight fileserver (recommended).' > ) } {(DQ <Samba>)} {(DQ <'Feature-rich fileserver.'>)} ] redirects: [ (redir op: <Id.Redir_GreatAnd '3>&'> loc: (redir_loc.Fd fd:3) arg: {<1>} ) (redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<3>} ) ] more_env: [] do_fork: T ) right: <Id.Eof_RParen _> ) } spids: [80365] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <None>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='> name: INDEX_FILESERVER_TARGET ) op: assign_op.Equal rhs: {<0>} spids: [80483] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'toberemoved_text='> name: toberemoved_text ) op: assign_op.Equal rhs: {(DQ <'ProFTP and Samba Server'>)} spids: [80487] ) ] redirects: [] ) ] spids: [80463 80480] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <ProFTP>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='> name: INDEX_FILESERVER_TARGET ) op: assign_op.Equal rhs: {<-1>} spids: [80513] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'toberemoved_text='> name: toberemoved_text ) op: assign_op.Equal rhs: {(DQ <'Samba Server'>)} spids: [80517] ) ] redirects: [] ) ] spids: [80493 80510] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Samba>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='> name: INDEX_FILESERVER_TARGET ) op: assign_op.Equal rhs: {<-2>} spids: [80543] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'toberemoved_text='> name: toberemoved_text ) op: assign_op.Equal rhs: {(DQ <ProFTP>)} spids: [80547] ) ] redirects: [] ) ] spids: [80523 80540] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='> name: INDEX_FILESERVER_TARGET ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName INDEX_FILESERVER_CURRENT)} spids: [80560] ) ] redirects: [] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_FILESERVER_CHOICESMADE='> name: INSTALL_FILESERVER_CHOICESMADE ) op: assign_op.Equal rhs: {<0>} spids: [80572] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)} right: {($ Id.VSub_DollarName INDEX_FILESERVER_CURRENT)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_FILESERVER_CHOICESMADE='> name: INSTALL_FILESERVER_CHOICESMADE ) op: assign_op.Equal rhs: {<1>} spids: [80593] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(DQ <'Fileserver Choice Change'>)} spids: [80602] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName OPTION) <' has been selected:'> <Id.Lit_BadBackslash '\\'> < 'n- Your choice will be applied when \'Install Go >> Start installation\' is selected.' > <Id.Lit_BadBackslash '\\'> <'n- '> ($ Id.VSub_DollarName toberemoved_text) < ' installations will be automatically uninstalled.' > ) } spids: [80608] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<11>} {<75>} ) ] spids: [80576 80590] ) ] else_action: [] redirects: [] ) ] spids: [80352 80355 80650 -1] ) (case_arm pat_list: [{(DQ <'Log System'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(SQ <'Logging System Choices'>)} spids: [80661] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple words: [ {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--menu>} { (DQ <'> None'> <Id.Lit_BadBackslash '\\'> < 'nSelecting this option will uninstall DietPi-Ramlog, Logrotate, Rsyslog.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> DietPi-Ramlog #1 (Max performance)'> <Id.Lit_BadBackslash '\\'> < 'nMounts /var/log to RAM, reducing filesystem IO. Logfiles are cleared every hour. Does NOT save logfiles to disk.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> DietPi-Ramlog #2'> <Id.Lit_BadBackslash '\\'> <'nSame as #1, with the added feature of saving logfile contents to disk ('> ($ Id.VSub_DollarName HOME) <'/logfile_storage/*), before being cleared.'> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> Full (Reduces performance)'> <Id.Lit_BadBackslash '\\'> < 'nMounts /var/log to DISK, reduces SDcard lifespan. Full logging system with Logrotate and Rsyslog.' > ) } {<--cancel-button>} {(DQ <Back>)} {<--default-item>} {(DQ ($ Id.VSub_DollarName index_logging_text))} {<25>} {<75>} {<4>} {(DQ <None>)} {(DQ <' Not required / manual setup.'>)} {(DQ <'DietPi-Ramlog #1'>)} {(DQ <' Hourly clear (recommended).'>)} {(DQ <'DietPi-Ramlog #2'>)} {(DQ <' Hourly save, then clear.'>)} {(DQ <Full>)} {(DQ <' Logrotate and Rsyslog.'>)} ] redirects: [ (redir op: <Id.Redir_GreatAnd '3>&'> loc: (redir_loc.Fd fd:3) arg: {<1>} ) (redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<3>} ) ] more_env: [] do_fork: T ) right: <Id.Eof_RParen _> ) } spids: [80667] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <None>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='> name: INDEX_LOGGING_TARGET ) op: assign_op.Equal rhs: {<0>} spids: [80799] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'toberemoved_text='> name: toberemoved_text ) op: assign_op.Equal rhs: {(DQ <'DietPi-Ramlog, Logrotate, Rsyslog'>)} spids: [80803] ) ] redirects: [] ) ] spids: [80779 80796] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <'DietPi-Ramlog #1'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='> name: INDEX_LOGGING_TARGET ) op: assign_op.Equal rhs: {<-1>} spids: [80829] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'toberemoved_text='> name: toberemoved_text ) op: assign_op.Equal rhs: {(DQ <'Logrotate, Rsyslog'>)} spids: [80833] ) ] redirects: [] ) ] spids: [80809 80826] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <'DietPi-Ramlog #2'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='> name: INDEX_LOGGING_TARGET ) op: assign_op.Equal rhs: {<-2>} spids: [80859] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'toberemoved_text='> name: toberemoved_text ) op: assign_op.Equal rhs: {(DQ <'Logrotate, Rsyslog'>)} spids: [80863] ) ] redirects: [] ) ] spids: [80839 80856] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Full>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='> name: INDEX_LOGGING_TARGET ) op: assign_op.Equal rhs: {<-3>} spids: [80889] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'toberemoved_text='> name: toberemoved_text ) op: assign_op.Equal rhs: {(DQ <DietPi-Ramlog>)} spids: [80893] ) ] redirects: [] ) ] spids: [80869 80886] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='> name: INDEX_LOGGING_TARGET ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName INDEX_LOGGING_CURRENT)} spids: [80906] ) ] redirects: [] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_LOGGING_CHOICESMADE='> name: INSTALL_LOGGING_CHOICESMADE ) op: assign_op.Equal rhs: {<0>} spids: [80918] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)} right: {($ Id.VSub_DollarName INDEX_LOGGING_CURRENT)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INSTALL_LOGGING_CHOICESMADE='> name: INSTALL_LOGGING_CHOICESMADE ) op: assign_op.Equal rhs: {<1>} spids: [80939] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(DQ <'Logging System Change'>)} spids: [80948] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName OPTION) <' has been selected:'> <Id.Lit_BadBackslash '\\'> < 'n- Your choice will be applied when \'Install Go >> Start installation\' is selected.' > <Id.Lit_BadBackslash '\\'> <'n- '> ($ Id.VSub_DollarName toberemoved_text) < ' installations will be automatically uninstalled.' > ) } spids: [80954] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<11>} {<75>} ) ] spids: [80922 80936] ) ] else_action: [] redirects: [] ) ] spids: [80654 80657 80995 -1] ) (case_arm pat_list: [{(DQ <'User Data Location'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(SQ <'User Data Location'>)} spids: [81006] ) ] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'move_data_target='> ($ Id.VSub_DollarName user_data_location_current) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple words: [ {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--menu>} { (DQ < 'Choose where to store your user data. User data includes software such as Owncloud data store, BitTorrent downloads etc' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nMore information on user data in DietPi:'> <Id.Lit_BadBackslash '\\'> <'n - http://dietpi.com/phpbb/viewtopic.php?f=8&t=478&p=2087'> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> DietPi-Drive Manager'> <Id.Lit_BadBackslash '\\'> < 'nLaunch DietPi-Drive Manager to setup external drives, and, move user data to different locations.' > ) } {<--cancel-button>} {(DQ <Back>)} {<20>} {<85>} {<3>} {(DQ <'Drive Manager'>)} {(DQ <'Launches DietPi-Drive Manager'>)} {(DQ <List>)} { (DQ < 'Select from a list of available mounts/drives, to move user data' > ) } {(DQ <Custom>)} {(DQ <'Input a manual location to move user data'>)} ] redirects: [ (redir op: <Id.Redir_GreatAnd '3>&'> loc: (redir_loc.Fd fd:3) arg: {<1>} ) (redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<3>} ) ] more_env: [] do_fork: T ) right: <Id.Eof_RParen _> ) } spids: [81024] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [81105] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <'Drive Manager'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<'/DietPi/dietpi/dietpi-drive_manager'>})] spids: [81132 81149] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <List>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<'/DietPi/dietpi/dietpi-drive_manager'>} {<1>}) (C {<local>} {<Id.Lit_VarLike 'return_value='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<cat>} {<'/tmp/dietpi-drive_manager_selmnt'>}) right: <Id.Eof_RParen _> ) ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} { (DQ ($ Id.VSub_DollarName return_value) ) } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} { (DQ ($ Id.VSub_DollarName return_value ) ) } {<Id.Lit_Equals '='>} {(DQ <'/'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'return_value=' > name: return_value ) op: assign_op.Equal rhs: {(SQ <'/mnt'>)} spids: [81238] ) ] redirects: [] ) ] spids: [81217 81234] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'move_data_target='> name: move_data_target ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName return_value))} spids: [81249] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'move_data_target+='> name: move_data_target ) op: assign_op.PlusEqual rhs: {(SQ <'/dietpi_userdata'>)} spids: [81255] ) ] redirects: [] ) ] spids: [81200 81213] ) ] else_action: [] redirects: [] ) ] spids: [81161 81178] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Custom>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'OPTION='> name: OPTION ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple words: [ {<whiptail>} {<--inputbox>} { (DQ < 'Please input a location. Your user data will be stored inside this location.' > <Id.Lit_BadBackslash '\\'> <'n - eg: /mnt/MyDrive/MyData'> ) } {<11>} {<60>} { (DQ ($ Id.VSub_DollarName user_data_location_current ) ) } {<--title>} {(DQ <'User/Personal Data Directory'>)} {<--backtitle>} { (DQ ($ Id.VSub_DollarName WHIP_BACKTITLE ) ) } ] redirects: [ (redir op: <Id.Redir_GreatAnd '3>&'> loc: (redir_loc.Fd fd:3) arg: {<1>} ) (redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<3>} ) ] more_env: [] do_fork: T ) right: <Id.Eof_RParen _> ) } spids: [81291] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CHOICE='> name: CHOICE ) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [81334] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'move_data_target='> name: move_data_target ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTION)} spids: [81355] ) ] redirects: [] ) ] spids: [81338 81352] ) ] else_action: [] redirects: [] ) ] spids: [81270 81287] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} { (DQ ($ Id.VSub_DollarName user_data_location_current ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName move_data_target))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<whiptail>} {<--title>} {(DQ <'User data transfer'>)} {<--yesno>} { (DQ < 'DietPi will now attempt to transfer your existing user data to the new location:' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - From: '> ($ Id.VSub_DollarName user_data_location_current) <Id.Lit_BadBackslash '\\'> <'n - To: '> ($ Id.VSub_DollarName move_data_target) <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nWould you like to begin?'> ) } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<--defaultno>} {<14>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CHOICE='> name: CHOICE ) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [81436] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<'/DietPi/dietpi/func/dietpi-set_userdata'>} { (DQ ($ Id.VSub_DollarName user_data_location_current ) ) } {(DQ ($ Id.VSub_DollarName move_data_target))} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<whiptail>} {<--title>} {(DQ <'User data transfer: Completed'>)} {<--msgbox>} { (DQ < 'Your user data has been sucessfuly moved:' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - From: '> ($ Id.VSub_DollarName user_data_location_current ) <Id.Lit_BadBackslash '\\'> <'n - To: '> ($ Id.VSub_DollarName move_data_target) ) } {<12>} {<70>} ) ] spids: [81474 81488] ) ] else_action: [ (C {<whiptail>} {<--title>} {(DQ <'User data transfer: Failed'>)} {<--msgbox>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<cat>} { < '/var/log/dietpi-move_userdata.log' > } ) right: <Id.Eof_RParen _> ) <Id.Lit_BadBackslash '\\'> <'nNo changes have been applied.'> ) } {<12>} {<70>} ) ] redirects: [] ) ] spids: [81440 81454] ) ] else_action: [] redirects: [] ) ] spids: [81371 81389] ) ] else_action: [] redirects: [] ) ] spids: [81110 81124] ) ] else_action: [] redirects: [] ) ] spids: [80999 81002 81565 -1] ) (case_arm pat_list: [{(DQ <'Webserver Preference'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(SQ <'Webserver Preference'>)} spids: [81575] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple words: [ {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--menu>} { (DQ < 'More Info: http://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=1549#p1549' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> Apache2'> <Id.Lit_BadBackslash '\\'> < 'nFeature-rich and popular. Recommended for beginners and users who are looking to follow Apache2 based guides.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> Nginx'> <Id.Lit_BadBackslash '\\'> < 'nLightweight alternative to Apache2. Nginx claims faster webserver performance compared to Apache2.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> Lighttpd'> <Id.Lit_BadBackslash '\\'> < 'nExtremely lightweight and is generally considered to offer the ' > (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <best> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' webserver performance for SBC\'s. Recommended for users who expect low webserver traffic.'> ) } {<--cancel-button>} {(DQ <Back>)} {<--default-item>} {(DQ ($ Id.VSub_DollarName index_webserver_text))} {<24>} {<75>} {<3>} {(DQ <Apache2>)} {(DQ <'Popular webserver.'>)} {(DQ <Nginx>)} {(DQ <'Lightweight webserver.'>)} {(DQ <Lighttpd>)} {(DQ <'Extremely lightweight webserver.'>)} ] redirects: [ (redir op: <Id.Redir_GreatAnd '3>&'> loc: (redir_loc.Fd fd:3) arg: {<1>} ) (redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<3>} ) ] more_env: [] do_fork: T ) right: <Id.Eof_RParen _> ) } spids: [81581] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Apache2>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='> name: INDEX_WEBSERVER_TARGET ) op: assign_op.Equal rhs: {<0>} spids: [81703] ) ] redirects: [] ) ] spids: [81683 81700] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Nginx>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='> name: INDEX_WEBSERVER_TARGET ) op: assign_op.Equal rhs: {<-1>} spids: [81727] ) ] redirects: [] ) ] spids: [81707 81724] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Lighttpd>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='> name: INDEX_WEBSERVER_TARGET ) op: assign_op.Equal rhs: {<-2>} spids: [81751] ) ] redirects: [] ) ] spids: [81731 81748] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='> name: INDEX_WEBSERVER_TARGET ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName INDEX_WEBSERVER_CURRENT)} spids: [81762] ) ] redirects: [] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)} right: {($ Id.VSub_DollarName INDEX_WEBSERVER_CURRENT)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<local>} {<Id.Lit_VarLike 'incompatible_webserver_preference='> <0>} ) (C {<local>} {<Id.Lit_VarLike 'info_currently_installed_webserver='> (SQ <None>) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<dpkg>} {<-l>}) (C {<awk>} {(SQ <'{print $2}'>)}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <apache2>)} ) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_WEBSERVER_CURRENT='> name: INDEX_WEBSERVER_CURRENT ) op: assign_op.Equal rhs: {<0>} spids: [81847] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'info_currently_installed_webserver=' > name: info_currently_installed_webserver ) op: assign_op.Equal rhs: {(SQ <Apache2>)} spids: [81851] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: { ($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'incompatible_webserver_preference=' > name: incompatible_webserver_preference ) op: assign_op.Equal rhs: {<1>} spids: [81874] ) ] redirects: [] ) ] spids: [81857 81871] ) ] else_action: [] redirects: [] ) ] spids: [81811 81844] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<dpkg>} {<-l>}) (C {<awk>} {(SQ <'{print $2}'>)}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <nginx>)} ) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_WEBSERVER_CURRENT='> name: INDEX_WEBSERVER_CURRENT ) op: assign_op.Equal rhs: {<-1>} spids: [81918] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'info_currently_installed_webserver=' > name: info_currently_installed_webserver ) op: assign_op.Equal rhs: {(SQ <Nginx>)} spids: [81922] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: { ($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET ) } right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'incompatible_webserver_preference=' > name: incompatible_webserver_preference ) op: assign_op.Equal rhs: {<1>} spids: [81946] ) ] redirects: [] ) ] spids: [81928 81943] ) ] else_action: [] redirects: [] ) ] spids: [81881 81915] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<dpkg>} {<-l>}) (C {<awk>} {(SQ <'{print $2}'>)}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <lighttpd>)} ) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_WEBSERVER_CURRENT='> name: INDEX_WEBSERVER_CURRENT ) op: assign_op.Equal rhs: {<-2>} spids: [81990] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'info_currently_installed_webserver=' > name: info_currently_installed_webserver ) op: assign_op.Equal rhs: {(SQ <Lighttpd>)} spids: [81994] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: { ($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET ) } right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 2>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'incompatible_webserver_preference=' > name: incompatible_webserver_preference ) op: assign_op.Equal rhs: {<1>} spids: [82018] ) ] redirects: [] ) ] spids: [82000 82015] ) ] else_action: [] redirects: [] ) ] spids: [81953 81987] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { ($ Id.VSub_DollarName incompatible_webserver_preference ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='> name: INDEX_WEBSERVER_TARGET ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName INDEX_WEBSERVER_CURRENT)} spids: [82051] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: { (DQ <'Error: Incompatible Webserver Preference'> ) } spids: [82060] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (DQ < 'Unable to change your webserver preference to ' > ($ Id.VSub_DollarName OPTION) <.> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> < 'nThis is due to an existing and incompatible webserver installation on your system (' > ($ Id.VSub_DollarName info_currently_installed_webserver) < '). Please remove all webserver based software (using dietpi-software > uninstall), before trying again.' > ) } spids: [82066] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<11>} {<75>} ) ] spids: [82033 82047] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(DQ <'Webserver Preference Changed'>)} spids: [82119] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName OPTION) < ' has been selected as your webserver preference.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> < 'nWhen you select any software for install that requires a webserver, DietPi will automatically install your prefered choice (' > ($ Id.VSub_DollarName OPTION) <').'> ) } spids: [82125] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<11>} {<75>} ) ] redirects: [] ) ] spids: [81774 81788] ) ] else_action: [] redirects: [] ) ] spids: [81569 81572 82178 -1] ) (case_arm pat_list: [{(DQ <DietPi-Config>)}] action: [(C {<'/DietPi/dietpi/dietpi-config'>})] spids: [82182 82185 82193 -1] ) (case_arm pat_list: [{(DQ <'Help!'>)}] action: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 82234 stdin_parts: [ < '───────────────────────────────────────────────────────────────\n' > <'Welcome to DietPi:\n'> < '───────────────────────────────────────────────────────────────\n' > < 'Use PageUp/Down or Arrow Up/Down to scroll this help screen.\n' > <'Press ESC, or TAB then enter to exit this help screen.\n'> <'\n'> < 'Easy to follow, step by step guides for installing DietPi:\n' > <'http://dietpi.com/phpbb/viewtopic.php?f=8&t=9\n'> <'\n'> < 'For a list of all installation options and their details:\n' > <'http://dietpi.com/software\n'> <'\n'> < '───────────────────────────────────────────────────────────────\n' > < 'List of installed software and their URL links for online docs:\n' > < '───────────────────────────────────────────────────────────────\n' > ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/tmp/dietpi-software_help_onlinedoc_url_list'>} ) ] more_env: [] do_fork: T ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_ONLINEDOC_URL > var_name: aSOFTWARE_ONLINEDOC_URL bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) ) } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF_>} here_end_span_id: 82343 stdin_parts: [ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME > var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <': '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME > var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <'\n'> ($ Id.VSub_DollarName FP_ONLINEDOC_URL ) (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_ONLINEDOC_URL > var_name: aSOFTWARE_ONLINEDOC_URL bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <'\n'> <'\n'> ] ) ) (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: { < '/tmp/dietpi-software_help_onlinedoc_url_list' > } ) ] more_env: [] do_fork: T ) ] spids: [82287 82305] ) ] else_action: [] redirects: [] ) ] spids: [82264 82283] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (C {<whiptail>} {<--title>} {(DQ <'DietPi - Help'>)} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<--textbox>} {<'/tmp/dietpi-software_help_onlinedoc_url_list'>} { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Minus left: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<tput>} {<lines>}) right: <Id.Eof_RParen _> ) } right: {<Id.Lit_Digits 3>} ) ) } { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Minus left: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<tput>} {<cols>}) right: <Id.Eof_RParen _> ) } right: {<Id.Lit_Digits 3>} ) ) } {<--scrolltext>} ) ] spids: [82197 82200 82410 -1] ) (case_arm pat_list: [{<Install>}] action: [(C {<Menu_StartInstall>})] spids: [82414 82415 82423 -1] ) ] redirects: [] ) ] spids: [79961 79975] ) ] else_action: [(C {<Menu_Exit>})] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Menu_Exit body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Exit Setup?'>)} spids: [82479] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (SQ < ' DietPi has not fully been installed.\\n This must be completed prior to using DietPi by selecting:\\n - Go Start Install. \\n \\n Would you like to exit and abort the installation?' > ) } spids: [82485] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<13>} {<65>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [82530] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Aborted>}) (C {<Exit_Destroy>})] spids: [82534 82548] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TARGETMENUID='> name: TARGETMENUID ) op: assign_op.Equal rhs: {<0>} spids: [82568] ) ] redirects: [] ) ] redirects: [] ) ] spids: [82462 82476] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Exit DietPi-Software?'>)} spids: [82596] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (SQ < 'Do you wish to exit DietPi-Software?\\n\\nAll changes to software selections will be cleared.' > ) } spids: [82602] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<11>} {<65>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [82647] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Banner_Aborted>}) (C {<Exit_Destroy>})] spids: [82651 82665] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TARGETMENUID='> name: TARGETMENUID ) op: assign_op.Equal rhs: {<0>} spids: [82685] ) ] redirects: [] ) ] redirects: [] ) ] spids: [82579 82593] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Menu_ConfirmInstall body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<local>} {<Id.Lit_VarLike 'string_output='> (SQ )}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'string_output+='> name: string_output ) op: assign_op.PlusEqual rhs: { (DQ <Id.Lit_BadBackslash '\\'> <'n - '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <': '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> var_name: aSOFTWARE_WHIP_DESC bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) ) } spids: [82763] ) ] redirects: [] ) ] spids: [82740 82759] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'DietPi - Start Installation?'>)} spids: [82796] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_QUESTION='> name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ <'DietPi is now ready to install your software choices: '> ($ Id.VSub_DollarName string_output) <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nSoftware details, usernames, passwords etc:'> <Id.Lit_BadBackslash '\\'> <'n - http://dietpi.com/software'> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nWould you like to begin?'> ) } spids: [82802] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<20>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [82858] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TARGETMENUID='> name: TARGETMENUID ) op: assign_op.Equal rhs: {<-1>} spids: [82884] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'GOSTARTINSTALL='> name: GOSTARTINSTALL ) op: assign_op.Equal rhs: {<1>} spids: [82893] ) ] redirects: [] ) ] spids: [82862 82876] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID) op: assign_op.Equal rhs: {<0>} spids: [82906] ) ] redirects: [] ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Menu_StartInstall body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: {($ Id.VSub_DollarName INSTALL_DIETPI_CHOICESMADE)} right: {($ Id.VSub_DollarName INSTALL_LINUX_CHOICESMADE)} ) right: {($ Id.VSub_DollarName INSTALL_SSHSERVER_CHOICESMADE)} ) right: {($ Id.VSub_DollarName INSTALL_FILESERVER_CHOICESMADE)} ) right: {($ Id.VSub_DollarName INSTALL_LOGGING_CHOICESMADE)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Menu_ConfirmInstall>})] spids: [82930 82960] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(SQ <'No Software Selected. Continue?'>)} spids: [82998] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (SQ < 'DietPi was unable to detect any software selections for install. Do you wish to continue?\\n\\nBy selecting Ok: \\n- DietPi optimized software will NOT be installed.\\nYou can use dietpi-software at a later date if you change your mind. \\n\\n- You want a Minimal Raspbian/Debian Server Install.\\nDietPi is a minimal image. A great OS base to use with your projects.' > ) } spids: [83004] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<16>} {<75>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [83049] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TARGETMENUID='> name: TARGETMENUID ) op: assign_op.Equal rhs: {<-1>} spids: [83075] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'GOSTARTINSTALL='> name: GOSTARTINSTALL ) op: assign_op.Equal rhs: {<1>} spids: [83084] ) ] redirects: [] ) ] spids: [83053 83067] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TARGETMENUID='> name: TARGETMENUID ) op: assign_op.Equal rhs: {<0>} spids: [83097] ) ] redirects: [] ) ] redirects: [] ) ] spids: [82980 82994] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(SQ <'No Changes to Software Selection'>)} spids: [83128] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ <'No changes have been detected. Unable to start installation.'>)} {<8>} {<65>} ) ] spids: [83110 83124] ) ] else_action: [] redirects: [] ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Menu_Dietpi_Software body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<Menu_CreateSoftwareList>} {<0>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID) op: assign_op.Equal rhs: {<0>} spids: [83194] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 126>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 77>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 78>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 79>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) ) right: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 1>} ) ) ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'OMV: Requires Nginx'>)} spids: [83288] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (DQ < 'Open Media Vault (OMV) requires Nginx webserver and is not compatible with other web servers (eg: Lighttpd/Apache2). This is due to the OMV package listing Nginx as a dependency.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nOptions:'> <Id.Lit_BadBackslash '\\'> <'n - Change \'web server choice\' to \'Nginx\''> <Id.Lit_BadBackslash '\\'> < 'n - Uninstall current web server, then, select any Nginx web stack for install (eg: LESP)' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nOpen Media Vault has been deselected and will not be installed.'> ) } spids: [83294] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<19>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 126>} ) op: assign_op.Equal rhs: {<0>} spids: [83338] ) ] redirects: [] ) ] spids: [83212 83284] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 116>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 44>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'SickRage - Install Transmission?'>)} spids: [83392] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (DQ < 'The DietPi SickRage installation is pre-configured to work with Transmission BitTorrent Server. This will allow SickRage to automatically download TV shows for you.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> < 'nNB: If you have another BitTorrent server installed, or prefer manual setup, please select No.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> < 'nWould you like DietPi to also install Transmission (recommended)?' > ) } spids: [83398] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<72>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [83439] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 44>} ) op: assign_op.Equal rhs: {<1>} spids: [83461] ) ] redirects: [] ) ] spids: [83443 83457] ) ] else_action: [] redirects: [] ) ] spids: [83355 83388] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 49>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 2>} ) ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Gogs: Requires OpenSSH'>)} spids: [83514] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (DQ <'Gogs requires OpenSSH server to function.'> <Id.Lit_BadBackslash '\\'> < 'nIf you continue, OpenSSH will be selected for install on your system. OpenSSH will also replace Dropbear (if currently installed).' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nWould you like to continue with the Gogs installation?'> ) } spids: [83520] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<13>} {<65>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [83559] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='> name: INDEX_SSHSERVER_TARGET ) op: assign_op.Equal rhs: {<-2>} spids: [83585] ) ] redirects: [] ) ] spids: [83563 83577] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 49>} ) op: assign_op.Equal rhs: {<0>} spids: [83594] ) ] redirects: [] ) ] redirects: [] ) ] spids: [83482 83510] ) ] else_action: [] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 74>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 82>} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(SQ <'Info: Webserver Stack'>)} spids: [83665] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (DQ < 'DietPi will automatically install a webserver stack (based on your Webserver Preference) when any software that requires a webserver is selected for installation (eg: Owncloud, PiHole etc).' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> < 'nIt is highly recommended that you allow DietPi to do this for you, ensuring compatibility and stability across DietPi installed programs.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> < 'nPlease only select a webserver stack if you specifically need it, and, no other webserver stack is installed.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> < 'nTLDR: You do NOT need to select a webserver stack for installation with DietPi. Its all automatic.' > ) } spids: [83671] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<19>} {<70>} ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [83642 83661] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 90>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)} right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 2>} ) ) ) right: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_Less left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 80>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) right: (arith_expr.Binary op_id: Id.Arith_Less left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 82>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <PhpMyAdmin>)} spids: [83799] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (DQ < 'Due to a apt-get installation issue with PhpMyAdmin, you must have a fully installed Lighttpd + MaridaDB webserver stack, before PhpMyAdmin can be selected for install.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nYour selection for PhpMyAdmin has been removed.'> ) } spids: [83805] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<13>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 90>} ) op: assign_op.Equal rhs: {<0>} spids: [83841] ) ] redirects: [] ) ] spids: [83735 83795] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 59>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'DietPi Cam - Camera'>)} spids: [83881] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (DQ < 'DietPi Cam will automatically start and activate the camera during boot. This will prevent other programs (eg: raspistill) from using the camera.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nYou can free up the camera by selecting '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'Stop Camera'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' from the web interface:'> <Id.Lit_BadBackslash '\\'> <'nhttp://myip/dietpicam'> ) } spids: [83887] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<15>} {<70>} ) ] spids: [83858 83877] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 99>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'USER_EMONHUB_APIKEY_CURRENT='> name: USER_EMONHUB_APIKEY_CURRENT ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi.txt'>}) (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_EMONHUB_APIKEY='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [83968] ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName USER_EMONHUB_APIKEY_COMPLETED)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(SQ <'EmonPi/Hub - API KEY'>)} spids: [84013] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (DQ <'Please enter your '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'Write API KEY'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <':'> <Id.Lit_BadBackslash '\\'> <'n - Goto http://emoncms.org and register an account and login.'> <Id.Lit_BadBackslash '\\'> <'n - Select '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <Setup> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' from the top right of screen, then select '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'My Account'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <Id.Lit_BadBackslash '\\'> <'n - Enter the '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'Write API Key'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' into the box below.'> ) } spids: [84019] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple words: [ {<whiptail>} {<--inputbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<14>} {<75>} { (DQ ($ Id.VSub_DollarName USER_EMONHUB_APIKEY_CURRENT) ) } {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} ] redirects: [ (redir op: <Id.Redir_GreatAnd '3>&'> loc: (redir_loc.Fd fd:3) arg: {<1>} ) (redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<3>} ) ] more_env: [] do_fork: T ) right: <Id.Eof_RParen _> ) } spids: [84046] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [84087] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'USER_EMONHUB_APIKEY_CURRENT='> name: USER_EMONHUB_APIKEY_CURRENT ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTION)} spids: [84109] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(SQ <'EmonPi/Hub - API KEY'>)} spids: [84114] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (DQ <'The following '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'Write API KEY'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' will be applied during installation:'> <Id.Lit_BadBackslash '\\'> <n> ($ Id.VSub_DollarName USER_EMONHUB_APIKEY_CURRENT) <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nIs this key correct?'> ) } spids: [84120] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<11>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CHOICE='> name: CHOICE ) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [84162] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} { (DQ <'/^SOFTWARE_EMONHUB_APIKEY=/c'> <Id.Lit_BadBackslash '\\'> <'SOFTWARE_EMONHUB_APIKEY='> ($ Id.VSub_DollarName USER_EMONHUB_APIKEY_CURRENT) ) } {<'/DietPi/dietpi.txt'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'USER_EMONHUB_APIKEY_COMPLETED=' > name: USER_EMONHUB_APIKEY_COMPLETED ) op: assign_op.Equal rhs: {<1>} spids: [84203] ) ] redirects: [] ) ] spids: [84166 84180] ) ] else_action: [] redirects: [] ) ] spids: [84091 84105] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] spids: [83937 83956] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 93>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <' Pi-hole - Setup Static IP Now?'>)} spids: [84255] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (SQ < 'A static IP address is essential for Pi-hole installations. DietPi-Config can be used to quickly setup your static IP address.\\n\\nIf you have already setup your static IP, please ignore this message.\\n\\nWould you like to setup your static IP address now?' > ) } spids: [84261] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<15>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [84294] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(SQ <' Pi-hole - Setup Static IP'>)} spids: [84316] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (SQ < 'DietPi-Config will now be launched. Simply select your Ethernet or Wifi connection from the menu to access the IP address settings.\\n\\nThe "copy current address to STATIC" menu option can be used to quickly setup your static IP. Please ensure you change the mode "DHCP" to "STATIC".\\n\\nWhen you are done, select "Apply, Save Changes", then exit DietPi-Config to resume setup.' > ) } spids: [84322] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<15>} {<70>} ) (C {<'/DietPi/dietpi/dietpi-config'>} {<8>} {<1>}) ] spids: [84298 84312] ) ] else_action: [] redirects: [] ) ] spids: [84228 84247] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DPipe] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 60>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 61>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<wifimodules>} {<enable>}) (C {<local>} {<Id.Lit_VarLike 'check_criteria='> <1>}) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName check_criteria)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (C {<local>} {<Id.Lit_VarLike 'criteria_passed='> <1>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_TITLE='> name: WHIP_TITLE ) op: assign_op.Equal rhs: {(DQ <'WiFi Hotspot Criteria'>)} spids: [84462] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (DQ < 'The following criteria must be met for this installation to succeed:' > ) } spids: [84468] ) ] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'ethernet_active_state='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<ip>} {<r>}) (C {<grep>} {<-ci>} {<-m1>} { (DQ <eth> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<1p>} {<'/DietPi/dietpi/.network'>}) right: <Id.Eof_RParen _> ) ) } ) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName ethernet_active_state)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION+='> name: WHIP_QUESTION ) op: assign_op.PlusEqual rhs: { (DQ <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - Ethernet online: PASSED'> ) } spids: [84524] ) ] redirects: [] ) ] spids: [84506 84520] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'criteria_passed='> name: criteria_passed ) op: assign_op.Equal rhs: {<0>} spids: [84538] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION+='> name: WHIP_QUESTION ) op: assign_op.PlusEqual rhs: { (DQ <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - Ethernet online: FAILED.'> <Id.Lit_BadBackslash '\\'> <'nUse dietpi-config to connect and configure ethernet.'> ) } spids: [84542] ) ] redirects: [] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-d>} {<'/sys/class/net/wlan'> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<2p>} {<'/DietPi/dietpi/.network'>} ) right: <Id.Eof_RParen _> ) } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION+='> name: WHIP_QUESTION ) op: assign_op.PlusEqual rhs: { (DQ <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - Wifi adapter detected: PASSED'> ) } spids: [84582] ) ] redirects: [] ) ] spids: [84558 84578] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'criteria_passed='> name: criteria_passed ) op: assign_op.Equal rhs: {<0>} spids: [84596] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION+='> name: WHIP_QUESTION ) op: assign_op.PlusEqual rhs: { (DQ <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - Wifi adapter detected: FAILED.'> <Id.Lit_BadBackslash '\\'> <'nPlease connect a WiFi adapter and try again.'> ) } spids: [84600] ) ] redirects: [] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName criteria_passed)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION+='> name: WHIP_QUESTION ) op: assign_op.PlusEqual rhs: { (DQ <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nPASSED: Criteria met. Good to go.'> ) } spids: [84638] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<75>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'check_criteria='> name: check_criteria ) op: assign_op.Equal rhs: {<0>} spids: [84672] ) ] redirects: [] ) ] spids: [84620 84634] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION+='> name: WHIP_QUESTION ) op: assign_op.PlusEqual rhs: { (DQ <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> < 'nFAILED: Criteria not met. Would you like to check again?' > ) } spids: [84685] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<16>} {<75>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CHOICE='> name: CHOICE ) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [84733] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {(DQ <retry>)}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [84737 84751] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'check_criteria='> name: check_criteria ) op: assign_op.Equal rhs: {<0>} spids: [84775] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 60>} ) op: assign_op.Equal rhs: {<0>} spids: [84779] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['> name: aSOFTWARE_INSTALL_STATE index: {<Id.Lit_Digits 61>} ) op: assign_op.Equal rhs: {<0>} spids: [84787] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ <'WiFi Hotspot Failed'>)} {<--msgbox>} {(DQ <'WiFi Hotspot criteria was not met. Your selection has been removed.'>)} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<10>} {<65>} ) ] redirects: [] ) ] redirects: [] ) ] ) redirects: [] ) ] spids: [84377 84415] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 68>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Remot3.it - 1st run setup'>)} spids: [84864] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (SQ < 'Remot3.it requires you to create an online account, and, link it this device.\\n\\nOnce DietPi has completed your software installations, and rebooted, please follow the First Run tutorial here:\\nhttp://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=188#p188' > ) } spids: [84870] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<70>} ) ] spids: [84841 84860] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 92>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Lets Encrypt Info'>)} spids: [84933] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (SQ < 'Currently, the DietPi installation of CertBot supports Apache2 & Lighttpd only.\\n\\nOnce the installation has finished, you can setup your free SSL cert with:\\n - DietPi-LetsEncrypt\\n\\nThis is a easy to use frontend for CertBot and allows intergration into DietPi systems.\\n\\nMore information:\\n - http://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=1061#p1062' > ) } spids: [84939] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<18>} {<70>} ) ] spids: [84910 84929] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 67>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'NoIp - Setup Now?'>)} spids: [85010] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (SQ < 'NoIp can be setup and configured by using DietPi-Config. Would you like to go there now? \\n\\n- Once completed, exit DietPi-Config to resume setup. \\n\\n- More information:\\nhttp://dietpi.com/phpbb/viewtopic.php?f=8&t=5&start=10#p58' > ) } spids: [85016] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Cancel>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<15>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [85061] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Write_InstallFileList>} {<temp>}) (C {<'/DietPi/dietpi/dietpi-config'>} {<16>} {<1>}) (C {<Read_InstallFileList>} {<temp>}) ] spids: [85065 85079] ) ] else_action: [] redirects: [] ) ] spids: [84987 85006] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${' > token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: { <Id.Lit_Digits 23 > } ) right: <Id.Right_DollarBrace '}' > ) } right: {<Id.Lit_Digits 1>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${' > token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: { <Id.Lit_Digits 24 > } ) right: <Id.Right_DollarBrace '}' > ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 25>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 26>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 31>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 51>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 108>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 112>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 119>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 155>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <' DietPi - Boot Options'>)} spids: [85284] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (SQ < 'Would you like to configure the auto boot options for DietPi?\\n\\nThis will allow you to choose which program loads automatically after booting eg:\\n - Console\\n - Desktop\\n - Kodi' > ) } spids: [85290] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [85323] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<'/DietPi/dietpi/dietpi-autostart'>})] spids: [85327 85341] ) ] else_action: [] redirects: [] ) ] spids: [85131 85276] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Menu_Linux_Software body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: {($ Id.VSub_DollarName USER_LINUX_AUTOINSTALL_PROMPT_DISPLAYED)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Additional Linux Software'>)} spids: [85392] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (SQ < 'DietPi will automatically install additional Linux software on the next screen, when required (eg: Desktop LXDE will install ALSA + Xserver).\\n\\nThis means you only need to select the software you actually require.' > ) } spids: [85398] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<12>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'USER_LINUX_AUTOINSTALL_PROMPT_DISPLAYED='> name: USER_LINUX_AUTOINSTALL_PROMPT_DISPLAYED ) op: assign_op.Equal rhs: {<1>} spids: [85430] ) ] redirects: [] ) ] spids: [85376 85388] ) ] else_action: [] redirects: [] ) (C {<Menu_CreateSoftwareList>} {<1>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID) op: assign_op.Equal rhs: {<0>} spids: [85457] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 2>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'FTP Client - Setup Now?'>)} spids: [85497] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (SQ < 'FTP Client as a filesystem mount (CurlFTPfs) can be setup and configured by using DietPi-Config. Would you like to go there now? \\n\\n- Once completed, exit DietPi-Config to resume setup.' > ) } spids: [85503] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Cancel>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<13>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [85548] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Write_InstallFileList>} {<temp>}) (C {<'/DietPi/dietpi/dietpi-config'>} {<16>} {<1>}) (C {<Read_InstallFileList>} {<temp>}) ] spids: [85552 85566] ) ] else_action: [] redirects: [] ) ] spids: [85474 85493] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 1>}) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Samba Client - Setup Now?'>)} spids: [85637] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: { (SQ < 'Samba Client can be setup and configured by using DietPi-Config. Would you like to go there now? \\n\\n- Once completed, exit DietPi-Config to resume setup.' > ) } spids: [85643] ) ] redirects: [] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Cancel>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<13>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [85688] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<Write_InstallFileList>} {<temp>}) (C {<'/DietPi/dietpi/dietpi-config'>} {<16>} {<1>}) (C {<Read_InstallFileList>} {<temp>}) ] spids: [85692 85706] ) ] else_action: [] redirects: [] ) ] spids: [85614 85633] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Menu_Uninstall_Software body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID) op: assign_op.Equal rhs: {<0>} spids: [85774] ) ] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'asoftware_for_uninstall='> (sh_array_literal left:<Id.Op_LParen _> words:[]) } ) (C {<local>} {<Id.Lit_VarLike 'software_installed_count='> <0>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> var_name: aSOFTWARE_INSTALL_STATE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) right: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_TYPE> var_name: aSOFTWARE_TYPE bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 1>} ) ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'whiptail_list_array+='> name: whiptail_list_array ) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ {(DQ ($ Id.VSub_DollarName i))} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) <': '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> var_name: aSOFTWARE_WHIP_DESC bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) ) } {(DQ <off>)} ] ) } spids: [85862] ) ] redirects: [] ) (command.DParen child: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike software_installed_count) ) redirects: [] ) ] spids: [85824 85858] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName software_installed_count)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<whiptail>} {<--title>} {(DQ <'Uninstall Software'>)} {<--msgbox>} {(DQ <'No software is currently installed, or, available for removal.'>)} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<9>} {<60>} ) ] spids: [85911 85925] ) ] else_action: [ (command.Simple words: [ {<whiptail>} {<--title>} {(DQ <'Uninstall Software'>)} {<--checklist>} {<--separate-output>} {(DQ <'Use the spacebar to select the software you would like to remove.'>)} {<--cancel-button>} {(DQ <Cancel>)} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<18>} {<75>} {<10>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name whiptail_list_array> var_name: whiptail_list_array bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/tmp/dietpi-software_uninstall_results'>} ) ] more_env: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<read>} {<choice>})]) body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName choice)} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'asoftware_for_uninstall+='> name: asoftware_for_uninstall ) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [{(DQ ($ Id.VSub_DollarName choice))}] ) } spids: [86036] ) ] redirects: [] ) ] spids: [86028 86029 86044 -1] ) ] redirects: [] ) ] ) redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<'/tmp/dietpi-software_uninstall_results'>} ) ] ) (command.Simple words: [{<rm>} {<'/tmp/dietpi-software_uninstall_results'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<unset>} {<whiptail_list_array>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name asoftware_for_uninstall> var_name: asoftware_for_uninstall prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION='> name: WHIP_QUESTION ) op: assign_op.Equal rhs: {(SQ <'The following software will be REMOVED from your system:\\n'>)} spids: [86106] ) ] redirects: [] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name asoftware_for_uninstall> var_name: asoftware_for_uninstall prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup children: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike j) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike j) right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike j) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name asoftware_for_uninstall > var_name: asoftware_for_uninstall bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {($ Id.VSub_DollarName j)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'WHIP_QUESTION+='> name: WHIP_QUESTION ) op: assign_op.PlusEqual rhs: { (DQ <' - '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName j)} ) right: <Id.Right_DollarBrace '}'> ) <': '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> var_name: aSOFTWARE_WHIP_DESC bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName j)} ) right: <Id.Right_DollarBrace '}'> ) <Id.Lit_BadBackslash '\\'> <n> ) } spids: [86188] ) ] redirects: [] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [86165 86184] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] ) redirects: [] ) (C {<whiptail>} {<--title>} {(DQ <'Uninstall Software?'>)} {<--yesno>} { (DQ ($ Id.VSub_DollarName WHIP_QUESTION) <' '> <Id.Lit_BadBackslash '\\'> <'nDo you wish to continue?'> ) } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Cancel>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<20>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [86271] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName CHOICE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<'/DietPi/dietpi/dietpi-services'>} {<stop>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name asoftware_for_uninstall> var_name: asoftware_for_uninstall prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup children: [ (C {<Uninstall_Software>} { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name asoftware_for_uninstall> var_name: asoftware_for_uninstall bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ) ] ) redirects: [] ) (C {<Uninstall_Software_Finalize>}) (C {<Write_InstallFileList>}) (C {<'/DietPi/dietpi/dietpi-services'>} {<start>}) (C {<whiptail>} {<--title>} {(DQ <'Uninstall Software'>)} {<--msgbox>} {(DQ <'Uninstall completed.'>)} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<9>} {<60>} ) ] spids: [86280 86294] ) ] else_action: [] redirects: [] ) ] spids: [86078 86098] ) ] else_action: [] redirects: [] ) ] redirects: [] ) (C {<unset>} {<whiptail_list_array>}) (C {<unset>} {<asoftware_for_uninstall>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Banner_Setup body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<'/DietPi/dietpi/dietpi-banner'>} {<0>}) (C {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'n Welcome to DietPi-Software '> <Id.Lit_BadBackslash '\\'> <n> ) } ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Banner_Installing body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} { (DQ <'Installing '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName INSTALLING_INDEX)}) right: <Id.Right_DollarBrace '}'> ) <': '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> var_name: aSOFTWARE_WHIP_DESC bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName INSTALLING_INDEX)}) right: <Id.Right_DollarBrace '}'> ) ) } ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Banner_Configuration body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} { (DQ <'Configuring '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> var_name: aSOFTWARE_WHIP_NAME bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName INSTALLING_INDEX)}) right: <Id.Right_DollarBrace '}'> ) <': '> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> var_name: aSOFTWARE_WHIP_DESC bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName INSTALLING_INDEX)}) right: <Id.Right_DollarBrace '}'> ) ) } ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Banner_Apt_Update body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Update & upgrade APT'>)}) (C {<sleep>} {<1>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Banner_Reboot body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: {($ Id.VSub_DollarName DISABLE_REBOOT)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Installation completed'>)}) (C {<G_DIETPI-NOTIFY>} {<0>} { (DQ <'The system will now reboot. '> <Id.Lit_BadBackslash '\\'> <'n This completes the DietPi-Software installation.'> <Id.Lit_BadBackslash '\\'> <n> ) } ) (C {<sleep>} {<3>}) ] spids: [86588 86600] ) ] else_action: [ (C {<G_DIETPI-NOTIFY>} {<0>} {(DQ <'DietPi-Software installation completed.'>)}) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Banner_Configs body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Optimize and configure software'>)}) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ <'Applying DietPi optimizations and configurations for '> ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <', please wait...'> <Id.Lit_BadBackslash '\\'> <n> ) } ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Banner_Aborted body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<'/DietPi/dietpi/dietpi-banner'>} {<0>}) (C {<G_DIETPI-NOTIFY>} {<1>} { (DQ <Id.Lit_BadBackslash '\\'> <'n Installation Aborted by User '> <Id.Lit_BadBackslash '\\'> <'n Installation must be completed prior to using DietPi '> <Id.Lit_BadBackslash '\\'> <'n Please run dietpi-software to restart the installation '> <Id.Lit_BadBackslash '\\'> <n> ) } ) ] spids: [86702 86716] ) ] else_action: [(C {<'/DietPi/dietpi/dietpi-banner'>} {<1>})] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Initializing database, please wait...'>)}) (C {<Software_Arrays_Init>}) (C {<Read_InstallFileList>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_RBracket ']'>}) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Input_Modes>} {(DQ ($ Id.VSub_At '@'))})] spids: [86822 86835] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<FirstRun_Automation_Init>})] spids: [86871 86885] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)} right: {<Id.Lit_Digits 0>} ) right: {($ Id.VSub_DollarName G_USER_INPUTS)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<whiptail>} {<--title>} {(DQ <'DietPi - GPLv2 License'>)} {<--msgbox>} { (DQ < 'This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or any later version.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> < 'nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.' > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nYou should have received a copy of the GNU General Public License'> <Id.Lit_BadBackslash '\\'> <'nalong with this program. If not, see http://www.gnu.org/licenses/'> ) } {<--backtitle>} {(DQ <'DietPi - GPLv2 Compliance'>)} {<18>} {<70>} ) ] spids: [86901 86919] ) ] else_action: [] redirects: [] ) (C {<Banner_Setup>}) (C {<Check_NTPD_Status>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<cat>} {<'/DietPi/dietpi/.update_stage'>}) right: <Id.Eof_RParen _> ) } right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: {<Id.Lit_Digits 1>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Check_Internet_Connection>}) (C {<FirstRun_DietPi_Update>})] spids: [86983 87002] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<FirstRun_Automation_Set>})] spids: [87022 87036] ) ] else_action: [] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_DollarName TARGETMENUID)} right: (arith_expr.Unary op_id:Id.Node_UnaryMinus child:{<Id.Lit_Digits 1>}) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (C {<clear>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName TARGETMENUID)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Menu_Main>})] spids: [87079 87093] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName TARGETMENUID)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Menu_Dietpi_Software>})] spids: [87101 87115] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName TARGETMENUID)} right: {<Id.Lit_Digits 2>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Menu_Linux_Software>})] spids: [87123 87137] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName TARGETMENUID)} right: {<Id.Lit_Digits 3>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Menu_Uninstall_Software>})] spids: [87145 87159] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child:{($ Id.VSub_DollarName GOSTARTINSTALL)} redirects:[]) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<'/DietPi/dietpi/dietpi-drive_manager'>} {<2>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Exit_Destroy>})] spids: [87210 87224] ) ] else_action: [] redirects: [] ) (C {<Check_Internet_Connection>}) (C {<Run_Installations>}) (command.Simple words: [{<'/DietPi/dietpi/dietpi-survey'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<Banner_Reboot>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: {($ Id.VSub_DollarName DISABLE_REBOOT)} redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<'/DietPi/dietpi/dietpi-services'>} {<start>})] spids: [87268 87278] ) ] else_action: [(C {<sync>}) (C {<reboot>})] redirects: [] ) ] spids: [87187 87197] ) ] else_action: [] redirects: [] ) (C {<Exit_Destroy>}) ] redirects: [] right: <Id.Lit_RBrace '}'> )