(BraceGroup left: <Id.Lit_LBrace '{'> 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 left:<Id.Lit_VarLike 'SURVEY_VERSION='> name:SURVEY_VERSION) op: assign_op.Equal rhs: {<4>} spids: [116] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SURVEY_SENTCOUNT='> name:SURVEY_SENTCOUNT) op: assign_op.Equal rhs: {<1>} spids: [120] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTED_IN='> name:OPTED_IN) op: assign_op.Equal rhs: {<1>} spids: [125] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DIETPI_VERSION='> name:DIETPI_VERSION) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<1p>} {<'/DietPi/dietpi/.version'>}) right: <Id.Eof_RParen _> ) <.> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<2p>} {<'/DietPi/dietpi/.version'>}) right: <Id.Eof_RParen _> ) ) } spids: [130] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'G_HW_MODEL='> 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'>}) right: <Id.Eof_RParen _> ) } spids: [154] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'UNIQUE_ID='> name:UNIQUE_ID) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<5p>} {<'/DietPi/dietpi/.hw_model'>}) right: <Id.Eof_RParen _> ) } spids: [166] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FTP_ADDR='> name:FTP_ADDR) op: assign_op.Equal rhs: {(DQ <dietpi.com>)} spids: [179] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FTP_USER='> name:FTP_USER) op: assign_op.Equal rhs: {(DQ <dietpi-survey>)} spids: [185] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FTP_PASS='> name:FTP_PASS) op: assign_op.Equal rhs: {(DQ <raspberry13>)} spids: [191] ) ] redirects: [] ) (command.ShFunction name: Update_FileName_Format body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'FILENAME_FORMAT='> 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] ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FP_SETTINGS='> name:FP_SETTINGS) op: assign_op.Equal rhs: {(DQ <'/DietPi/dietpi/.dietpi-survey'>)} spids: [221] ) ] redirects: [] ) (command.ShFunction name: Write_Settings body: (BraceGroup left: <Id.Lit_LBrace '{'> 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))} ) ] more_env: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Read_Settings body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTED_IN='> 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))}) right: <Id.Eof_RParen _> ) } spids: [264] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'SURVEY_SENTCOUNT='> 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))}) right: <Id.Eof_RParen _> ) } spids: [278] ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (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>})] redirects: [] ) (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>} ) redirects: [] ) 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>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<'/DietPi/dietpi/func/obtain_network_details'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'active_network_adapter='> name: active_network_adapter ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<3p>} {<'/DietPi/dietpi/.network'>}) right: <Id.Eof_RParen _> ) } spids: [412] ) ] redirects: [] ) (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 stderr_indices: [] ) right: <Id.Eof_RParen _> ) <'\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'>}) right: <Id.Eof_RParen _> ) <'\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 stderr_indices: [] ) right: <Id.Eof_RParen _> ) <'\n'> <'Hostname : '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<cat>} {<'/etc/hostname'>}) right: <Id.Eof_RParen _> ) <'\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 stderr_indices: [] ) right: <Id.Eof_RParen _> ) <'\n'> <'\n'> <'-------------------------\n'> <'FileSystem\n'> <'-------------------------\n'> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<df>} {<-h>}) right: <Id.Eof_RParen _> ) <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName FILENAME_FORMAT))} ) ] more_env: [] 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) ) redirects: [] ) (C {<Write_Settings>}) ] spids: [387 401] ) ] else_action: [] redirects: [] ) ] spids: [358 372] ) ] else_action: [] redirects: [] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> )