(BraceGroup children: [ (C {<.>} {<'/DietPi/dietpi/func/dietpi-globals'>}) (C {<export>} {<Id.Lit_VarLike 'G_PROGRAM_NAME='> (SQ <DietPi-Survey>)}) (C {<G_CHECK_ROOT_USER>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SURVEY_VERSION) op: assign_op.Equal rhs: {<4>} spids: [116] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SURVEY_SENTCOUNT) op: assign_op.Equal rhs: {<1>} spids: [120] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OPTED_IN) op: assign_op.Equal rhs: {<1>} spids: [125] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DIETPI_VERSION) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<1p>} {<'/DietPi/dietpi/.version'>}) ) <.> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<2p>} {<'/DietPi/dietpi/.version'>}) ) ) } spids: [130] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<1p>} {<'/DietPi/dietpi/.hw_model'>}) ) } spids: [154] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:UNIQUE_ID) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<5p>} {<'/DietPi/dietpi/.hw_model'>}) ) } spids: [166] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FTP_ADDR) op: assign_op.Equal rhs: {(DQ <dietpi.com>)} spids: [179] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FTP_USER) op: assign_op.Equal rhs: {(DQ <dietpi-survey>)} spids: [185] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FTP_PASS) op: assign_op.Equal rhs: {(DQ <raspberry13>)} spids: [191] ) ] ) (command.ShFunction name: Update_FileName_Format body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FILENAME_FORMAT) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$SURVEY_VERSION') <-> ($ Id.VSub_DollarName '$UNIQUE_ID') <-> ($ Id.VSub_DollarName '$DIETPI_VERSION') <-> ($ Id.VSub_DollarName '$G_HW_MODEL') <.txt> ) } spids: [204] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FP_SETTINGS) op: assign_op.Equal rhs: {(DQ <'/DietPi/dietpi/.dietpi-survey'>)} spids: [221] ) ] ) (command.ShFunction name: Write_Settings body: (BraceGroup children: [ (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: 251 stdin_parts: [ ($ Id.VSub_DollarName '$OPTED_IN') <'\n'> ($ Id.VSub_DollarName '$SURVEY_SENTCOUNT') <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$FP_SETTINGS'))} ) ] do_fork: T ) ] ) ) (command.ShFunction name: Read_Settings body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OPTED_IN) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<1p>} {(DQ ($ Id.VSub_DollarName '$FP_SETTINGS'))}) ) } spids: [264] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SURVEY_SENTCOUNT) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<2p>} {(DQ ($ Id.VSub_DollarName '$FP_SETTINGS'))}) ) } spids: [278] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$FP_SETTINGS'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Read_Settings>})] spids: [313 326] ) ] else_action: [(C {<Write_Settings>})] ) (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 '$OPTED_IN')} right: {<Id.Lit_Digits 1>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$FTP_ADDR'))}) (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>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<'/DietPi/dietpi/func/obtain_network_details'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:active_network_adapter) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<3p>} {<'/DietPi/dietpi/.network'>}) ) } spids: [412] ) ] ) (C {<Update_FileName_Format>}) (C {<cd>} {<'/tmp'>}) (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: 582 stdin_parts: [ <'-------------------------\n'> <'DietPi-Survey v'> ($ Id.VSub_DollarName '$SURVEY_VERSION') <'\n'> <'-------------------------\n'> <'\n'> <'Upload Count : '> ($ Id.VSub_DollarName '$SURVEY_SENTCOUNT') <'\n'> <'DietPi Version : '> ($ Id.VSub_DollarName '$DIETPI_VERSION') <'\n'> <'Mac Address : '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<ifconfig>} {<-a>}) (C {<grep>} {<-m1>} {(DQ ($ Id.VSub_DollarName '$active_network_adapter'))} ) (C {<awk>} {(SQ <'{print $NF}'>)}) (C {<sed>} {(SQ <'s/://g'>)}) ] negated: F ) ) <'\n'> <'Hardware Index : '> ($ Id.VSub_DollarName '$G_HW_MODEL') <'\n'> <'Hardware Name : '> ($ Id.VSub_DollarName '$G_HW_MODEL_DESCRIPTION') <'\n'> <'Distro Index : '> ($ Id.VSub_DollarName '$G_DISTRO') <'\n'> <'Autoboot Index : '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<cat>} {<'/DietPi/dietpi/.dietpi-autostart_index'>}) ) <'\n'> <'Country : '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<curl>} {<--max-time>} {<4>} {<-s>} {<http> <Id.Lit_Colon ':'> <'//whatismycountry.com/'>} ) (C {<sed>} {<-n>} {(SQ <'s|.*,\\(.*\\)</h3>|\\1|p'>)}) ] negated: F ) ) <'\n'> <'Hostname : '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<cat>} {<'/etc/hostname'>}) ) <'\n'> <'\n'> <'-------------------------\n'> <'DietPi-Software Installed\n'> <'-------------------------\n'> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/dietpi/.installed'>}) (C {<grep>} {(SQ <' =2 '>)}) ] negated: F ) ) <'\n'> <'\n'> <'-------------------------\n'> <'FileSystem\n'> <'-------------------------\n'> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<df>} {<-h>}) ) <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$FILENAME_FORMAT'))} ) ] do_fork: T ) (C {<wput>} {<--timeout> <Id.Lit_Equals '='> <10th-4>} {<--tries> <Id.Lit_Equals '='> <1>} {<--waitretry> <Id.Lit_Equals '='> <4>} {<-q>} {<-B>} {<-u>} {(DQ ($ Id.VSub_DollarName '$FILENAME_FORMAT'))} {<ftp> <Id.Lit_Colon ':'> <'//'> (DQ ($ Id.VSub_DollarName '$FTP_USER')) <Id.Lit_Colon ':'> (DQ ($ Id.VSub_DollarName '$FTP_PASS')) <Id.Lit_At '@'> (DQ ($ Id.VSub_DollarName '$FTP_ADDR')) } ) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$FILENAME_FORMAT'))}) (command.DParen child: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: <Id.Lit_ArithVarLike SURVEY_SENTCOUNT> ) ) (C {<Write_Settings>}) ] spids: [387 401] ) ] ) ] spids: [358 372] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )