(BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LANG) op: assign_op.Equal rhs: {<en_GB.UTF-8>} spids: [388] ) ] ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<0>} spids: [418] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'Unknown Device'>)} spids: [422] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FP_G_HW_MODEL_INDENTIFIER) op: assign_op.Equal rhs: {(SQ <'/etc/.dietpi_hw_model_identifier'>)} spids: [428] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_DISTRO) op: assign_op.Equal rhs: {<0>} spids: [434] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_UUID) op: assign_op.Equal rhs: {<0>} spids: [438] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_ARCH) op: assign_op.Equal rhs: {<0>} spids: [442] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_ARCH_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <unknown>)} spids: [446] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ )} spids: [452] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_CPUID) op: assign_op.Equal rhs: {<0>} spids: [457] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_ONBOARD_WIFI) op: assign_op.Equal rhs: {<0>} spids: [461] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ROOTFS_DEVICE_PATH) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<df>}) (C {<grep>} {<-m1>} {(SQ <'/$'>)}) (C {<awk>} {(SQ <'{print $1}'>)}) ] negated: F ) ) } spids: [466] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_REVISION_CODE) op: assign_op.Equal rhs: {<0>} spids: [495] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <Unknown>)} spids: [499] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <Unknown>)} spids: [505] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<0>} spids: [511] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Unknown>)} spids: [515] ) ] ) (command.ShFunction name: RPi_BoardInfo body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_REVISION_CODE) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/proc/cpuinfo'>}) (C {<grep>} {(SQ <Revision>)}) (C {<awk>} {(SQ <'{print $3}'>)}) ] negated: F ) ) } spids: [541] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'RPi '>)} spids: [566] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <Beta>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q1 2012'>)} spids: [595] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <Beta>)} spids: [601] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <Unknown>)} spids: [607] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<256>} spids: [613] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Unknown>)} spids: [617] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<0>} spids: [623] ) ] ) ] spids: [573 591] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <0002>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q1 2012'>)} spids: [650] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <B>)} spids: [656] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.0>)} spids: [662] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<256>} spids: [668] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Unknown>)} spids: [672] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<0>} spids: [678] ) ] ) ] spids: [628 646] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <0003>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q3 2012'>)} spids: [705] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <'B (ECN0001)'>)} spids: [711] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.0>)} spids: [717] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<256>} spids: [723] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Unknown>)} spids: [727] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<0>} spids: [733] ) ] ) ] spids: [683 701] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <0004>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q3 2012'>)} spids: [760] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <B>)} spids: [766] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <2.0>)} spids: [772] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<256>} spids: [778] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Sony>)} spids: [782] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<0>} spids: [788] ) ] ) ] spids: [738 756] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <0005>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q4 2012'>)} spids: [815] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <B>)} spids: [821] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <2.0>)} spids: [827] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<256>} spids: [833] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Qisda>)} spids: [837] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<0>} spids: [843] ) ] ) ] spids: [793 811] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <0006>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q4 2012'>)} spids: [870] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <B>)} spids: [876] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <2.0>)} spids: [882] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<256>} spids: [888] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Egoman>)} spids: [892] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<0>} spids: [898] ) ] ) ] spids: [848 866] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <0007>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q1 2013'>)} spids: [925] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <A>)} spids: [931] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <2.0>)} spids: [937] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<256>} spids: [943] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Egoman>)} spids: [947] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<0>} spids: [953] ) ] ) ] spids: [903 921] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <0008>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q1 2013'>)} spids: [980] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <A>)} spids: [986] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <2.0>)} spids: [992] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<256>} spids: [998] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Sony>)} spids: [1002] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<0>} spids: [1008] ) ] ) ] spids: [958 976] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <0009>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q1 2013'>)} spids: [1035] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <A>)} spids: [1041] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <2.0>)} spids: [1047] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<256>} spids: [1053] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Qisda>)} spids: [1057] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<0>} spids: [1063] ) ] ) ] spids: [1013 1031] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <000d>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q4 2012'>)} spids: [1090] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <B>)} spids: [1096] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <2.0>)} spids: [1102] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<512>} spids: [1108] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Egoman>)} spids: [1112] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<1>} spids: [1118] ) ] ) ] spids: [1068 1086] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <000e>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q4 2012'>)} spids: [1145] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <B>)} spids: [1151] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <2.0>)} spids: [1157] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<512>} spids: [1163] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Sony>)} spids: [1167] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<1>} spids: [1173] ) ] ) ] spids: [1123 1141] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <000f>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q4 2012'>)} spids: [1200] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <B>)} spids: [1206] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <2.0>)} spids: [1212] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<512>} spids: [1218] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Qisda>)} spids: [1222] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<1>} spids: [1228] ) ] ) ] spids: [1178 1196] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <0010>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q3 2014'>)} spids: [1255] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <'B+'>)} spids: [1261] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.0>)} spids: [1267] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<512>} spids: [1273] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Sony>)} spids: [1277] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<1>} spids: [1283] ) ] ) ] spids: [1233 1251] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <0011>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q2 2014'>)} spids: [1310] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <CM>)} spids: [1316] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.0>)} spids: [1322] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<512>} spids: [1328] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Sony>)} spids: [1332] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<1>} spids: [1338] ) ] ) ] spids: [1288 1306] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <0012>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q4 2014'>)} spids: [1365] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <'A+'>)} spids: [1371] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.0>)} spids: [1377] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<256>} spids: [1383] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Sony>)} spids: [1387] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<0>} spids: [1393] ) ] ) ] spids: [1343 1361] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <0013>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q1 2015'>)} spids: [1420] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <'B+'>)} spids: [1426] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.2>)} spids: [1432] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<512>} spids: [1438] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Unknown>)} spids: [1442] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<1>} spids: [1448] ) ] ) ] spids: [1398 1416] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <a01041>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q1 2015'>)} spids: [1475] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <'2 Model B'>)} spids: [1481] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.1>)} spids: [1487] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<1024>} spids: [1493] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Sony>)} spids: [1497] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<2>} spids: [1503] ) ] ) ] spids: [1453 1471] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <a020a0>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q1 2017'>)} spids: [1530] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <'CM 3'>)} spids: [1536] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.0>)} spids: [1542] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<1024>} spids: [1548] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Sony>)} spids: [1552] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<3>} spids: [1558] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_ONBOARD_WIFI) op: assign_op.Equal rhs: {<1>} spids: [1562] ) ] ) ] spids: [1508 1526] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <a21041>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q1 2015'>)} spids: [1589] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <'2 Model B'>)} spids: [1595] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.1>)} spids: [1601] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<1024>} spids: [1607] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <'Embest, China'>)} spids: [1611] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<2>} spids: [1617] ) ] ) ] spids: [1567 1585] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <a02082>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q1 2016'>)} spids: [1644] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <'3 Model B'>)} spids: [1650] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.2>)} spids: [1656] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<1024>} spids: [1662] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Sony>)} spids: [1666] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<3>} spids: [1672] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_ONBOARD_WIFI) op: assign_op.Equal rhs: {<1>} spids: [1676] ) ] ) ] spids: [1622 1640] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <a22082>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q1 2016'>)} spids: [1703] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <'3 Model B'>)} spids: [1709] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.2>)} spids: [1715] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<1024>} spids: [1721] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <'Embest, China'>)} spids: [1725] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<3>} spids: [1731] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_ONBOARD_WIFI) op: assign_op.Equal rhs: {<1>} spids: [1735] ) ] ) ] spids: [1681 1699] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <a32082>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q4 2016'>)} spids: [1762] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <'3 Model B'>)} spids: [1768] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.2>)} spids: [1774] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<1024>} spids: [1780] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Sony>)} spids: [1784] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<3>} spids: [1790] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_ONBOARD_WIFI) op: assign_op.Equal rhs: {<1>} spids: [1794] ) ] ) ] spids: [1740 1758] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <900092>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q4 2015'>)} spids: [1821] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <Zero>)} spids: [1827] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.2>)} spids: [1833] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<512>} spids: [1839] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Sony>)} spids: [1843] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<1>} spids: [1849] ) ] ) ] spids: [1799 1817] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <900093>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q2 2016'>)} spids: [1876] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <Zero>)} spids: [1882] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.3>)} spids: [1888] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<512>} spids: [1894] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Sony>)} spids: [1898] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<1>} spids: [1904] ) ] ) ] spids: [1854 1872] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobEqual left: {(DQ ($ Id.VSub_DollarName '$HW_REVISION_CODE'))} right: {<Id.Lit_Other '*'> (DQ <9000c1>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_RELEASE_DATE) op: assign_op.Equal rhs: {(SQ <'Q1 2017'>)} spids: [1931] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <'Zero W'>)} spids: [1937] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_PCB_REVISION_CODE) op: assign_op.Equal rhs: {(SQ <1.1>)} spids: [1943] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MEMORY_SIZE) op: assign_op.Equal rhs: {<512>} spids: [1949] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_MANUFACTURER_NAME) op: assign_op.Equal rhs: {(SQ <Sony>)} spids: [1953] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL) op: assign_op.Equal rhs: {<1>} spids: [1959] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_ONBOARD_WIFI) op: assign_op.Equal rhs: {<1>} spids: [1963] ) ] ) ] spids: [1909 1927] ) ] ) ] ) ) (command.ShFunction name: Obtain_HW_Info body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$FP_G_HW_MODEL_INDENTIFIER'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (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>} {(DQ ($ Id.VSub_DollarName '$FP_G_HW_MODEL_INDENTIFIER'))} ) ) } spids: [2004] ) ] ) (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 71>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <BBB>)} spids: [2041] ) ] ) ] spids: [2023 2037] ) (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>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'Sparky SBC'>)} spids: [2070] ) ] ) ] spids: [2052 2066] ) (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 66>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'NanoPi M1 Plus'>)} spids: [2099] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2105] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_CPUID) op: assign_op.Equal rhs: {<1>} spids: [2111] ) ] ) ] spids: [2081 2095] ) (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 65>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'NanoPi NEO 2'>)} spids: [2138] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2144] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_CPUID) op: assign_op.Equal rhs: {<2>} spids: [2150] ) ] ) ] spids: [2120 2134] ) (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 64>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'NanoPi NEO Air'>)} spids: [2177] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2183] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_CPUID) op: assign_op.Equal rhs: {<1>} spids: [2189] ) ] ) ] spids: [2159 2173] ) (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 63>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'NanoPi M1/T1'>)} spids: [2216] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2222] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_CPUID) op: assign_op.Equal rhs: {<1>} spids: [2228] ) ] ) ] spids: [2198 2212] ) (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 62>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'NanoPi M3/T3'>)} spids: [2255] ) ] ) ] spids: [2237 2251] ) (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 61>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'NanoPi M2/T2'>)} spids: [2284] ) ] ) ] spids: [2266 2280] ) (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 60>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'NanoPi Neo'>)} spids: [2313] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2319] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_CPUID) op: assign_op.Equal rhs: {<1>} spids: [2325] ) ] ) ] spids: [2295 2309] ) (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 52>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'Asus Tinker Board'>)} spids: [2352] ) ] ) ] spids: [2334 2348] ) (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>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'BananaPi Pro'>)} spids: [2381] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2387] ) ] ) ] spids: [2363 2377] ) (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 50>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'BananaPi M2+'>)} spids: [2416] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2422] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_CPUID) op: assign_op.Equal rhs: {<1>} spids: [2428] ) ] ) ] spids: [2398 2412] ) (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 43>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <Rock64>)} spids: [2455] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <'Longsleep, Ayufan'>)} spids: [2461] ) ] ) ] spids: [2437 2451] ) (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>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <'Longsleep, Rhkean'>)} spids: [2490] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'Pine A64'>)} spids: [2496] ) ] ) ] spids: [2472 2486] ) (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 38>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'OPi PC2'>)} spids: [2525] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2531] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_CPUID) op: assign_op.Equal rhs: {<2>} spids: [2537] ) ] ) ] spids: [2507 2521] ) (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 37>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'OPi Prime'>)} spids: [2564] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2570] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_CPUID) op: assign_op.Equal rhs: {<2>} spids: [2576] ) ] ) ] spids: [2546 2560] ) (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 36>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'OPi Win'>)} spids: [2603] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2609] ) ] ) ] spids: [2585 2599] ) (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 35>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'OPi Zero 2 Plus'>)} spids: [2638] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2644] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_CPUID) op: assign_op.Equal rhs: {<1>} spids: [2650] ) ] ) ] spids: [2620 2634] ) (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 34>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'OrangePi Plus'>)} spids: [2677] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2683] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_CPUID) op: assign_op.Equal rhs: {<1>} spids: [2689] ) ] ) ] spids: [2659 2673] ) (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 33>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'OrangePi Lite'>)} spids: [2716] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2722] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_CPUID) op: assign_op.Equal rhs: {<1>} spids: [2728] ) ] ) ] spids: [2698 2712] ) (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 32>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'OrangePi Zero'>)} spids: [2755] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2761] ) ] ) ] spids: [2737 2751] ) (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 31>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'OrangePi One'>)} spids: [2794] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2800] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_CPUID) op: assign_op.Equal rhs: {<1>} spids: [2806] ) ] ) ] spids: [2776 2790] ) (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 30>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'OrangePi PC'>)} spids: [2833] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <ARMbian>)} spids: [2839] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_CPUID) op: assign_op.Equal rhs: {<1>} spids: [2845] ) ] ) ] spids: [2815 2829] ) (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 22>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'Generic Device'>)} spids: [2872] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <'You!'>)} spids: [2878] ) ] ) ] spids: [2854 2868] ) (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>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'Native PC'>)} spids: [2907] ) ] ) ] spids: [2889 2903] ) (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 20>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'Virtual Machine'>)} spids: [2936] ) ] ) ] spids: [2918 2932] ) (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 13>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'Odroid U3'>)} spids: [2965] ) ] ) ] spids: [2947 2961] ) (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>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'Odroid C2'>)} spids: [2998] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <Meveric>)} spids: [3004] ) ] ) ] spids: [2980 2994] ) (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>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'Odroid XU3/4'>)} spids: [3033] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <Meveric>)} spids: [3039] ) ] ) ] spids: [3015 3029] ) (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>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'Odroid C1'>)} spids: [3068] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMAGE_ADDITIONAL_CREDITS) op: assign_op.Equal rhs: {(SQ <Meveric>)} spids: [3074] ) ] ) ] spids: [3050 3064] ) ] ) ] spids: [1987 2000] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^ID=raspbian'>)} {<'/etc/os-release'>} ) ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<RPi_BoardInfo>})] spids: [3089 3111] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<grep>} {<-ci>} {<-m1>} {(SQ <jessie>)} {<'/etc/os-release'>}) ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_DISTRO) op: assign_op.Equal rhs: {<3>} spids: [3158] ) ] ) ] spids: [3131 3154] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<grep>} {<-ci>} {<-m1>} {(SQ <stretch>)} {<'/etc/os-release'>}) ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_DISTRO) op: assign_op.Equal rhs: {<4>} spids: [3190] ) ] ) ] spids: [3163 3186] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<grep>} {<-ci>} {<-m1>} {(SQ <buster>)} {<'/etc/os-release'>}) ) } ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_DISTRO) op: assign_op.Equal rhs: {<5>} spids: [3222] ) ] ) ] spids: [3195 3218] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<'/DietPi/dietpi/.hw_model'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_UUID) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<cat>} {<'/proc/sys/kernel/random/uuid'>}) ) } spids: [3252] ) ] ) ] spids: [3235 3248] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HW_UUID) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sed>} {<-n>} {<5p>} {<'/DietPi/dietpi/.hw_model'>}) ) } spids: [3265] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_ARCH_DESCRIPTION) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<uname>} {<-m>}))} spids: [3286] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$G_HW_ARCH_DESCRIPTION'))} {<Id.Lit_Equals '='>} {(DQ <armv6l>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_ARCH) op: assign_op.Equal rhs: {<1>} spids: [3315] ) ] ) ] spids: [3294 3311] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$G_HW_ARCH_DESCRIPTION'))} {<Id.Lit_Equals '='>} {(DQ <armv7l>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_ARCH) op: assign_op.Equal rhs: {<2>} spids: [3341] ) ] ) ] spids: [3320 3337] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$G_HW_ARCH_DESCRIPTION'))} {<Id.Lit_Equals '='>} {(DQ <aarch64>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_ARCH) op: assign_op.Equal rhs: {<3>} spids: [3367] ) ] ) ] spids: [3346 3363] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$G_HW_ARCH_DESCRIPTION'))} {<Id.Lit_Equals '='>} {(DQ <x86_64>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_ARCH) op: assign_op.Equal rhs: {<10>} spids: [3393] ) ] ) ] spids: [3372 3389] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_ARCH_DESCRIPTION) op: assign_op.PlusEqual rhs: {(SQ <' (Unknown)'>)} spids: [3406] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:G_HW_MODEL_DESCRIPTION) op: assign_op.PlusEqual rhs: {(DQ <' ('> ($ Id.VSub_DollarName '$G_HW_ARCH_DESCRIPTION') <')'>)} spids: [3421] ) ] ) (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: 3475 stdin_parts: [ ($ Id.VSub_DollarName '$G_HW_MODEL') <'\n'> ($ Id.VSub_DollarName '$G_HW_MODEL_DESCRIPTION') <'\n'> ($ Id.VSub_DollarName '$G_DISTRO') <'\n'> ($ Id.VSub_DollarName '$ROOTFS_DEVICE_PATH') <'\n'> ($ Id.VSub_DollarName '$HW_UUID') <'\n'> ($ Id.VSub_DollarName '$G_HW_ARCH') <'\n'> ($ Id.VSub_DollarName '$G_HW_ARCH_DESCRIPTION') <'\n'> ($ Id.VSub_DollarName '$IMAGE_ADDITIONAL_CREDITS') <'\n'> ($ Id.VSub_DollarName '$G_HW_CPUID') <'\n'> ($ Id.VSub_DollarName '$HW_ONBOARD_WIFI') <'\n'> ($ Id.VSub_DollarName '$HW_REVISION_CODE') <'\n'> ($ Id.VSub_DollarName '$HW_RELEASE_DATE') <'\n'> ($ Id.VSub_DollarName '$HW_PCB_REVISION_CODE') <'\n'> ($ Id.VSub_DollarName '$HW_MEMORY_SIZE') <'\n'> ($ Id.VSub_DollarName '$HW_MANUFACTURER_NAME') <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/DietPi/dietpi/.hw_model'>} ) ] do_fork: T ) ] ) ) (C {<Obtain_HW_Info>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )