(command.CommandList
  children: [
    (C {(.)} {(${ Id.VSub_Name BACKEND) (/functions.sh)})
    (C {(.)} {(${ Id.VSub_Name BACKEND) (/functions-parse.sh)})
    (command.Sentence
      child: 
        (command.ShFunction
          name: localize_freebsd
          body: 
            (command.BraceGroup
              children: [
                (C {(sed)} {(-i.bak)} {(DQ ('s/lang=en_US/lang=') (${ Id.VSub_Name LOCALE) (/g))} 
                  {(${ Id.VSub_Name FSMNT) (/etc/login.conf)}
                )
                (C {(rm)} {(${ Id.VSub_Name FSMNT) (/etc/login.conf.bak)})
              ]
            )
        )
      terminator: (Token id:Id.Op_Semi val:';' span_id:135)
    )
    (command.Sentence
      child: 
        (command.ShFunction
          name: localize_x_desktops
          body: 
            (command.BraceGroup
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(Id.Lit_LBracket '[')} {(-e)} 
                              {
                                (DQ (${ Id.VSub_Name FSMNT) 
                                  (/usr/share/skel/.kde4/share/config/kdeglobals)
                                )
                              } {(Id.Lit_RBracket ']')}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:174)
                        )
                      ]
                      action: [
                        (C {(sed)} {(-i)} {(SQ )} 
                          {(DQ ('s/Country=us/Country=') (${ Id.VSub_Name COUNTRY) (/g))} {(${ Id.VSub_Name FSMNT) (/usr/share/skel/.kde4/share/config/kdeglobals)}
                        )
                        (C {(sed)} {(-i)} {(SQ )} 
                          {(DQ ('s/Country=us/Country=') (${ Id.VSub_Name COUNTRY) (/g))} {(${ Id.VSub_Name FSMNT) (/root/.kde4/share/config/kdeglobals)}
                        )
                        (C {(sed)} {(-i)} {(SQ )} 
                          {
                            (DQ ('s/Language=en_US/Language=') (${ Id.VSub_Name SETLANG) (':') 
                              (${ Id.VSub_Name LOCALE) (/g)
                            )
                          } {(${ Id.VSub_Name FSMNT) (/usr/share/skel/.kde4/share/config/kdeglobals)}
                        )
                      ]
                      spids: [159 176]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(Id.Lit_LBracket '[')} {(-e)} 
                              {(DQ (${ Id.VSub_Name FSMNT) (/root/.kde4/share/config/kdeglobals))} {(Id.Lit_RBracket ']')}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:269)
                        )
                      ]
                      action: [
                        (C {(sed)} {(-i)} {(SQ )} 
                          {
                            (DQ ('s/Language=en_US/Language=') (${ Id.VSub_Name SETLANG) (':') 
                              (${ Id.VSub_Name LOCALE) (/g)
                            )
                          } {(${ Id.VSub_Name FSMNT) (/root/.kde4/share/config/kdeglobals)}
                        )
                      ]
                      spids: [254 271]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(Id.Lit_LBracket '[')} {(-e)} 
                              {(DQ (${ Id.VSub_Name FSMNT) (/usr/local/kde4/share/config/kdm/kdmrc))} {(Id.Lit_RBracket ']')}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:322)
                        )
                      ]
                      action: [
                        (C {(sed)} {(-i)} {(SQ )} 
                          {(DQ ('s/Language=en_US/Language=') (${ Id.VSub_Name LOCALE) (.UTF-8/g))} {(${ Id.VSub_Name FSMNT) (/usr/local/kde4/share/config/kdm/kdmrc)}
                        )
                      ]
                      spids: [307 324]
                    )
                  ]
                )
                (command.Pipeline
                  children: [
                    (command.Simple
                      words: [{(cat)} {(${ Id.VSub_Name FSMNT) (/etc/rc.conf)}]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_Great val:'2>' span_id:372)
                          fd: 2
                          arg_word: {(/dev/null)}
                        )
                      ]
                    )
                    (command.Simple
                      words: [
                        {(grep)}
                        {(-q)}
                        {
                          (DQ ('gdm_enable=') 
                            (word_part.EscapedLiteral
                              token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:383)
                            ) (YES) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\"' span_id:385))
                          )
                        }
                      ]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_Great val:'2>' span_id:388)
                          fd: 2
                          arg_word: {(/dev/null)}
                        )
                      ]
                    )
                  ]
                  negated: F
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_QMark '$?'))} 
                              {(Id.Lit_Equals '=')} {(DQ (0))} {(Id.Lit_RBracket ']')}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:408)
                        )
                      ]
                      action: [
                        (command.Simple
                          words: [
                            {(echo)}
                            {
                              (DQ ('gdm_lang=') 
                                (word_part.EscapedLiteral
                                  token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:417)
                                ) (${ Id.VSub_Name LOCALE) (.UTF-8) 
                                (word_part.EscapedLiteral
                                  token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:422)
                                )
                              )
                            }
                          ]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_DGreat val:'>>' span_id:425)
                              fd: -1
                              arg_word: {(${ Id.VSub_Name FSMNT) (/etc/rc.conf)}
                            )
                          ]
                        )
                      ]
                      spids: [392 410]
                    )
                  ]
                )
              ]
            )
        )
      terminator: (Token id:Id.Op_Semi val:';' span_id:437)
    )
    (command.Sentence
      child: 
        (command.ShFunction
          name: localize_pcbsd
          body: 
            (command.BraceGroup
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Id.Lit_LBracket '[')} {(-e)} 
                          {
                            (DQ (${ Id.VSub_Name FSMNT) 
                              (/usr/local/share/pcbsd/splash-screens/loading-screen-) (${ Id.VSub_Name SETLANG) (.pcx)
                            )
                          } {(Id.Lit_RBracket ']')}
                        )
                      ]
                      action: [
                        (C {(cp)} 
                          {(${ Id.VSub_Name FSMNT) 
                            (/usr/local/share/pcbsd/splash-screens/loading-screen-) (${ Id.VSub_Name SETLANG) (.pcx)
                          } {(${ Id.VSub_Name FSMNT) (/boot/loading-screen.pcx)}
                        )
                      ]
                      spids: [454 474]
                    )
                  ]
                )
              ]
            )
        )
      terminator: (Token id:Id.Op_Semi val:';' span_id:499)
    )
    (command.Sentence
      child: 
        (command.ShFunction
          name: localize_x_keyboard
          body: 
            (command.BraceGroup
              children: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:KEYMOD)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$1'))}
                      spids: [509]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:KEYLAY)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$2'))}
                      spids: [515]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:KEYVAR)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$3'))}
                      spids: [521]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:COUNTRY)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$4'))}
                      spids: [527]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:OPTION)
                      op: assign_op.Equal
                      rhs: {(DQ ('grp:alt_shift_toggle'))}
                      spids: [533]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:SETXKBMAP)
                      op: assign_op.Equal
                      rhs: {(DQ )}
                      spids: [539]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(Id.Lit_LBracket '[')} {(DQ (${ Id.VSub_Name COUNTRY))} 
                              {(Id.Lit_Equals '=')} {(DQ (NONE))} {(-o)} {(DQ (${ Id.VSub_Name COUNTRY))} {(Id.Lit_Equals '=')} {(DQ (us))} {(-o)} 
                              {(DQ (${ Id.VSub_Name COUNTRY))} {(Id.Lit_Equals '=')} {(DQ (C))} {(Id.Lit_RBracket ']')}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:591)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ )}
                              spids: [600]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:OPTION)
                              op: assign_op.Equal
                              rhs: {(DQ )}
                              spids: [605]
                            )
                          ]
                        )
                      ]
                      spids: [545 593]
                    )
                  ]
                  else_action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:COUNTRY)
                          op: assign_op.Equal
                          rhs: {(DQ (',') (${ Id.VSub_Name COUNTRY))}
                          spids: [613]
                        )
                      ]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Id.Lit_LBracket '[')} {(DQ (${ Id.VSub_Name KEYMOD))} 
                          {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(DQ (NONE))} {(Id.Lit_RBracket ']')}
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETXKBMAP)
                              op: assign_op.Equal
                              rhs: {(DQ ('-model ') (${ Id.VSub_Name KEYMOD))}
                              spids: [649]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KXMODEL)
                              op: assign_op.Equal
                              rhs: {(DQ (${ Id.VSub_Name KEYMOD))}
                              spids: [658]
                            )
                          ]
                        )
                      ]
                      spids: [626 646]
                    )
                  ]
                  else_action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:KXMODEL)
                          op: assign_op.Equal
                          rhs: {(DQ (pc104))}
                          spids: [669]
                        )
                      ]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Id.Lit_LBracket '[')} {(DQ (${ Id.VSub_Name KEYLAY))} 
                          {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(DQ (NONE))} {(Id.Lit_RBracket ']')}
                        )
                      ]
                      action: [
                        (C {(localize_key_layout)} {(DQ ($ Id.VSub_DollarName '$KEYLAY'))})
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETXKBMAP)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (DQ (${ Id.VSub_Name SETXKBMAP) (' -layout ') 
                                    (${ Id.VSub_Name KEYLAY)
                                  )
                                }
                              spids: [709]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KXLAYOUT)
                              op: assign_op.Equal
                              rhs: {(DQ (${ Id.VSub_Name KEYLAY))}
                              spids: [721]
                            )
                          ]
                        )
                      ]
                      spids: [679 699]
                    )
                  ]
                  else_action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:KXLAYOUT)
                          op: assign_op.Equal
                          rhs: {(DQ (us))}
                          spids: [732]
                        )
                      ]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Id.Lit_LBracket '[')} {(DQ (${ Id.VSub_Name KEYVAR))} 
                          {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(DQ (NONE))} {(Id.Lit_RBracket ']')}
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETXKBMAP)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (DQ (${ Id.VSub_Name SETXKBMAP) (' -variant ') 
                                    (${ Id.VSub_Name KEYVAR)
                                  )
                                }
                              spids: [765]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KXVAR)
                              op: assign_op.Equal
                              rhs: {(DQ ('(') (${ Id.VSub_Name KEYVAR) (')'))}
                              spids: [777]
                            )
                          ]
                        )
                      ]
                      spids: [742 762]
                    )
                  ]
                  else_action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:KXVAR)
                          op: assign_op.Equal
                          rhs: {(DQ )}
                          spids: [790]
                        )
                      ]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Id.Lit_LBracket '[')} {(Id.KW_Bang '!')} {(-z)} 
                          {(DQ (${ Id.VSub_Name SETXKBMAP))} {(Id.Lit_RBracket ']')}
                        )
                      ]
                      action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Id.Lit_LBracket '[')} {(Id.KW_Bang '!')} {(-e)} 
                                  {(DQ (${ Id.VSub_Name FSMNT) (/usr/share/skel/.xprofile))} {(Id.Lit_RBracket ']')}
                                )
                              ]
                              action: [
                                (command.Simple
                                  words: [{(echo)} {(DQ ('#!/bin/sh'))}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:850)
                                      fd: -1
                                      arg_word: {(${ Id.VSub_Name FSMNT) (/usr/share/skel/.xprofile)}
                                    )
                                  ]
                                )
                              ]
                              spids: [823 841]
                            )
                          ]
                        )
                        (command.Simple
                          words: [{(echo)} {(DQ ('setxkbmap ') (${ Id.VSub_Name SETXKBMAP))}]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_DGreat val:'>>' span_id:874)
                              fd: -1
                              arg_word: {(${ Id.VSub_Name FSMNT) (/usr/share/skel/.xprofile)}
                            )
                          ]
                        )
                        (C {(chmod)} {(755)} {(${ Id.VSub_Name FSMNT) (/usr/share/skel/.xprofile)})
                        (C {(cp)} {(${ Id.VSub_Name FSMNT) (/usr/share/skel/.xprofile)} 
                          {(${ Id.VSub_Name FSMNT) (/root/.xprofile)}
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(Id.Lit_LBracket '[')} {(-e)} 
                                      {
                                        (DQ (${ Id.VSub_Name FSMNT) 
                                          (/usr/local/kde4/share/config/kdm/Xsetup)
                                        )
                                      } {(Id.Lit_RBracket ']')}
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:924)
                                )
                              ]
                              action: [
                                (command.Simple
                                  words: [{(echo)} {(DQ ('setxkbmap ') (${ Id.VSub_Name SETXKBMAP))}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_DGreat val:'>>' span_id:938)
                                      fd: -1
                                      arg_word: 
                                        {(${ Id.VSub_Name FSMNT) 
                                          (/usr/local/kde4/share/config/kdm/Xsetup)
                                        }
                                    )
                                  ]
                                )
                              ]
                              spids: [909 926]
                            )
                          ]
                        )
                      ]
                      spids: [803 820]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(Id.Lit_LBracket '[')} {(-d)} 
                              {(DQ (${ Id.VSub_Name FSMNT) (/usr/share/skel/.kde4/share/config))} {(Id.Lit_RBracket ']')}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:972)
                        )
                      ]
                      action: [
                        (command.Simple
                          words: [
                            {(echo)}
                            {
                              (DQ ('[Layout]\n') ('DisplayNames=') (${ Id.VSub_Name KXLAYOUT) 
                                (${ Id.VSub_Name COUNTRY) ('\n') ('IndicatorOnly=false\n') ('LayoutList=') (${ Id.VSub_Name KXLAYOUT) (${ Id.VSub_Name KXVAR) 
                                (${ Id.VSub_Name COUNTRY) ('\n') ('Model=') (${ Id.VSub_Name KXMODEL) ('\n') ('Options=') (${ Id.VSub_Name OPTION) ('\n') 
                                ('ResetOldOptions=true\n') ('ShowFlag=true\n') ('ShowSingle=false\n') ('SwitchMode=WinClass\n') ('Use=true ')
                              )
                            }
                          ]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_Great val:'>' span_id:1018)
                              fd: -1
                              arg_word: 
                                {(${ Id.VSub_Name FSMNT) (/usr/share/skel/.kde4/share/config/kxkbrc)}
                            )
                          ]
                        )
                      ]
                      spids: [957 974]
                    )
                  ]
                )
              ]
            )
        )
      terminator: (Token id:Id.Op_Semi val:';' span_id:1029)
    )
    (command.Sentence
      child: 
        (command.ShFunction
          name: localize_key_layout
          body: 
            (command.BraceGroup
              children: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:KEYLAYOUT)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$1'))}
                      spids: [1040]
                    )
                  ]
                )
                (command.Case
                  to_match: {(${ Id.VSub_Name KEYLAYOUT)}
                  arms: [
                    (case_arm
                      pat_list: [{(am)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (hy.armscii-8))}
                              spids: [1063]
                            )
                          ]
                        )
                      ]
                      spids: [1060 1061 1068 -1]
                    )
                    (case_arm
                      pat_list: [{(ca)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (fr_CA.acc.iso))}
                              spids: [1074]
                            )
                          ]
                        )
                      ]
                      spids: [1071 1072 1079 -1]
                    )
                    (case_arm
                      pat_list: [{(ch)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (swissgerman.iso))}
                              spids: [1085]
                            )
                          ]
                        )
                      ]
                      spids: [1082 1083 1090 -1]
                    )
                    (case_arm
                      pat_list: [{(cz)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (cz.iso2))}
                              spids: [1096]
                            )
                          ]
                        )
                      ]
                      spids: [1093 1094 1101 -1]
                    )
                    (case_arm
                      pat_list: [{(de)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (german.iso))}
                              spids: [1107]
                            )
                          ]
                        )
                      ]
                      spids: [1104 1105 1112 -1]
                    )
                    (case_arm
                      pat_list: [{(dk)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (danish.iso))}
                              spids: [1118]
                            )
                          ]
                        )
                      ]
                      spids: [1115 1116 1123 -1]
                    )
                    (case_arm
                      pat_list: [{(ee)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (estonian.iso))}
                              spids: [1129]
                            )
                          ]
                        )
                      ]
                      spids: [1126 1127 1134 -1]
                    )
                    (case_arm
                      pat_list: [{(es)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (spanish.iso))}
                              spids: [1140]
                            )
                          ]
                        )
                      ]
                      spids: [1137 1138 1145 -1]
                    )
                    (case_arm
                      pat_list: [{(Id.KW_Fi fi)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (finnish.iso))}
                              spids: [1151]
                            )
                          ]
                        )
                      ]
                      spids: [1148 1149 1156 -1]
                    )
                    (case_arm
                      pat_list: [{(is)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (icelandic.iso))}
                              spids: [1162]
                            )
                          ]
                        )
                      ]
                      spids: [1159 1160 1167 -1]
                    )
                    (case_arm
                      pat_list: [{(jp)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (jp.106))}
                              spids: [1173]
                            )
                          ]
                        )
                      ]
                      spids: [1170 1171 1178 -1]
                    )
                    (case_arm
                      pat_list: [{(nl)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (dutch.iso.acc))}
                              spids: [1184]
                            )
                          ]
                        )
                      ]
                      spids: [1181 1182 1189 -1]
                    )
                    (case_arm
                      pat_list: [{(no)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (norwegian.iso))}
                              spids: [1195]
                            )
                          ]
                        )
                      ]
                      spids: [1192 1193 1200 -1]
                    )
                    (case_arm
                      pat_list: [{(pl)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (pl_PL.ISO8859-2))}
                              spids: [1206]
                            )
                          ]
                        )
                      ]
                      spids: [1203 1204 1211 -1]
                    )
                    (case_arm
                      pat_list: [{(ru)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (ru.koi8-r))}
                              spids: [1217]
                            )
                          ]
                        )
                      ]
                      spids: [1214 1215 1222 -1]
                    )
                    (case_arm
                      pat_list: [{(sk)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (sk.iso2))}
                              spids: [1228]
                            )
                          ]
                        )
                      ]
                      spids: [1225 1226 1233 -1]
                    )
                    (case_arm
                      pat_list: [{(se)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (swedish.iso))}
                              spids: [1239]
                            )
                          ]
                        )
                      ]
                      spids: [1236 1237 1244 -1]
                    )
                    (case_arm
                      pat_list: [{(tr)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (tr.iso9.q))}
                              spids: [1250]
                            )
                          ]
                        )
                      ]
                      spids: [1247 1248 1255 -1]
                    )
                    (case_arm
                      pat_list: [{(gb)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                              op: assign_op.Equal
                              rhs: {(DQ (uk.iso))}
                              spids: [1261]
                            )
                          ]
                        )
                      ]
                      spids: [1258 1259 1266 -1]
                    )
                    (case_arm
                      pat_list: [{(Id.Lit_Star '*')}]
                      action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Id.Lit_LBracket '[')} {(Id.KW_Bang '!')} {(-z)} 
                                  {(DQ (${ Id.VSub_Name KEYLAYOUT))} {(Id.Lit_RBracket ']')}
                                )
                              ]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:KEYLAYOUT_CONSOLE)
                                      op: assign_op.Equal
                                      rhs: {(DQ (${ Id.VSub_Name KEYLAYOUT) (.iso))}
                                      spids: [1292]
                                    )
                                  ]
                                )
                              ]
                              spids: [1272 1289]
                            )
                          ]
                        )
                      ]
                      spids: [1269 1270 1304 -1]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ (${ Id.VSub_Name KEYLAYOUT_CONSOLE))} 
                          {(Id.Lit_RBracket ']')}
                        )
                      ]
                      action: [
                        (command.Simple
                          words: [
                            {(echo)}
                            {
                              (DQ ('keymap=') 
                                (word_part.EscapedLiteral
                                  token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:1333)
                                ) (${ Id.VSub_Name KEYLAYOUT_CONSOLE) 
                                (word_part.EscapedLiteral
                                  token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:1337)
                                )
                              )
                            }
                          ]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_DGreat val:'>>' span_id:1340)
                              fd: -1
                              arg_word: {(${ Id.VSub_Name FSMNT) (/etc/rc.conf)}
                            )
                          ]
                        )
                      ]
                      spids: [1311 1326]
                    )
                  ]
                )
              ]
            )
        )
      terminator: (Token id:Id.Op_Semi val:';' span_id:1351)
    )
    (command.Sentence
      child: 
        (command.ShFunction
          name: localize_prune_langs
          body: 
            (command.BraceGroup
              children: [
                (C {(get_value_from_cfg)} {(localizeLang)})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:KEEPLANG)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_DollarName '$VAL'))}
                      spids: [1369]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(Id.Lit_LBracket '[')} {(-z)} {(DQ ($ Id.VSub_DollarName '$KEEPLANG'))} 
                              {(Id.Lit_RBracket ']')}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1387)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:KEEPLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (en))}
                              spids: [1392]
                            )
                          ]
                        )
                      ]
                      spids: [1375 1389]
                    )
                  ]
                )
                (C {(export)} {(KEEPLANG)})
                (C {(echo_log)} {(DQ ('Pruning other l10n files, keeping ') (${ Id.VSub_Name KEEPLANG))})
                (command.Simple
                  words: [
                    {(echo)}
                    {
                      (SQ (Token id:Id.Lit_Chars val:'#!/bin/sh\n' span_id:1426) 
                        (Token id:Id.Lit_Chars val:'\n' span_id:1427) (Token id:Id.Lit_Chars val:'  for i in `pkg_info -xEI kde-l10n`\n' span_id:1428) 
                        (Token id:Id.Lit_Chars val:'  do\n' span_id:1429) (Token id:Id.Lit_Chars val:'    echo "$i" | grep "${KEEPLANG}-kde"\n' span_id:1430) 
                        (Token
                          id: Id.Lit_Chars
                          val: '    if [ $? -ne 0 ] ; then\n'
                          span_id: 1431
                        ) (Token id:Id.Lit_Chars val:'      pkg_delete ${i}\n' span_id:1432) 
                        (Token id:Id.Lit_Chars val:'    fi\n' span_id:1433) (Token id:Id.Lit_Chars val:'  done\n' span_id:1434) (Token id:Id.Lit_Chars val:'  ' span_id:1435)
                      )
                    }
                  ]
                  redirects: [
                    (redir.Redir
                      op: (Token id:Id.Redir_Great val:'>' span_id:1438)
                      fd: -1
                      arg_word: {(${ Id.VSub_Name FSMNT) (/.pruneLangs.sh)}
                    )
                  ]
                )
                (C {(chmod)} {(755)} {(${ Id.VSub_Name FSMNT) (/.pruneLangs.sh)})
                (command.Simple
                  words: [{(chroot)} {(${ Id.VSub_Name FSMNT)} {(/.pruneLangs.sh)}]
                  redirects: [
                    (redir.Redir
                      op: (Token id:Id.Redir_Great val:'>' span_id:1465)
                      fd: -1
                      arg_word: {(/dev/null)}
                    )
                    (redir.Redir
                      op: (Token id:Id.Redir_Great val:'2>' span_id:1468)
                      fd: 2
                      arg_word: {(/dev/null)}
                    )
                  ]
                )
                (C {(rm)} {(${ Id.VSub_Name FSMNT) (/.pruneLangs.sh)})
              ]
            )
        )
      terminator: (Token id:Id.Op_Semi val:';' span_id:1481)
    )
    (command.Sentence
      child: 
        (command.ShFunction
          name: localize_get_codes
          body: 
            (command.BraceGroup
              children: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:TARGETLANG)
                      op: assign_op.Equal
                      rhs: {(DQ (${ Id.VSub_Number 1))}
                      spids: [1495]
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$TARGETLANG')}
                  arms: [
                    (case_arm
                      pat_list: [{(af)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (C))}
                              spids: [1518]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (af))}
                              spids: [1524]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (af_ZA))}
                              spids: [1530]
                            )
                          ]
                        )
                      ]
                      spids: [1514 1515 1536 -1]
                    )
                    (case_arm
                      pat_list: [{(ar)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (C))}
                              spids: [1543]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (ar))}
                              spids: [1549]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (en_US))}
                              spids: [1555]
                            )
                          ]
                        )
                      ]
                      spids: [1539 1540 1561 -1]
                    )
                    (case_arm
                      pat_list: [{(az)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (C))}
                              spids: [1568]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (az))}
                              spids: [1574]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (en_US))}
                              spids: [1580]
                            )
                          ]
                        )
                      ]
                      spids: [1564 1565 1586 -1]
                    )
                    (case_arm
                      pat_list: [{(ca)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (es))}
                              spids: [1593]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ ('es:ca'))}
                              spids: [1599]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (ca_ES))}
                              spids: [1605]
                            )
                          ]
                        )
                      ]
                      spids: [1589 1590 1611 -1]
                    )
                    (case_arm
                      pat_list: [{(be)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (be))}
                              spids: [1618]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (be))}
                              spids: [1624]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (be_BY))}
                              spids: [1630]
                            )
                          ]
                        )
                      ]
                      spids: [1614 1615 1636 -1]
                    )
                    (case_arm
                      pat_list: [{(bn)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (bn))}
                              spids: [1643]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (bn))}
                              spids: [1649]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (en_US))}
                              spids: [1655]
                            )
                          ]
                        )
                      ]
                      spids: [1639 1640 1661 -1]
                    )
                    (case_arm
                      pat_list: [{(bg)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (bg))}
                              spids: [1668]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (bg))}
                              spids: [1674]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (bg_BG))}
                              spids: [1680]
                            )
                          ]
                        )
                      ]
                      spids: [1664 1665 1686 -1]
                    )
                    (case_arm
                      pat_list: [{(cs)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (cz))}
                              spids: [1693]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (cs))}
                              spids: [1699]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (cs_CZ))}
                              spids: [1705]
                            )
                          ]
                        )
                      ]
                      spids: [1689 1690 1711 -1]
                    )
                    (case_arm
                      pat_list: [{(da)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (dk))}
                              spids: [1718]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (da))}
                              spids: [1724]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (da_DK))}
                              spids: [1730]
                            )
                          ]
                        )
                      ]
                      spids: [1714 1715 1736 -1]
                    )
                    (case_arm
                      pat_list: [{(de)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (de))}
                              spids: [1743]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (de))}
                              spids: [1749]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (de_DE))}
                              spids: [1755]
                            )
                          ]
                        )
                      ]
                      spids: [1739 1740 1761 -1]
                    )
                    (case_arm
                      pat_list: [{(en_GB)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (gb))}
                              spids: [1768]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ ('en_GB:cy'))}
                              spids: [1774]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (en_GB))}
                              spids: [1780]
                            )
                          ]
                        )
                      ]
                      spids: [1764 1765 1786 -1]
                    )
                    (case_arm
                      pat_list: [{(el)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (gr))}
                              spids: [1793]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ ('el:gr'))}
                              spids: [1799]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (el_GR))}
                              spids: [1805]
                            )
                          ]
                        )
                      ]
                      spids: [1789 1790 1811 -1]
                    )
                    (case_arm
                      pat_list: [{(es)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (es))}
                              spids: [1818]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (es))}
                              spids: [1824]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (es_ES))}
                              spids: [1830]
                            )
                          ]
                        )
                      ]
                      spids: [1814 1815 1836 -1]
                    )
                    (case_arm
                      pat_list: [{(es_LA)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (us))}
                              spids: [1843]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ ('es:en_US'))}
                              spids: [1849]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (es_ES))}
                              spids: [1855]
                            )
                          ]
                        )
                      ]
                      spids: [1839 1840 1861 -1]
                    )
                    (case_arm
                      pat_list: [{(et)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (ee))}
                              spids: [1868]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (et))}
                              spids: [1874]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (et_EE))}
                              spids: [1880]
                            )
                          ]
                        )
                      ]
                      spids: [1864 1865 1886 -1]
                    )
                    (case_arm
                      pat_list: [{(fr)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (fr))}
                              spids: [1893]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (fr))}
                              spids: [1899]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (fr_FR))}
                              spids: [1905]
                            )
                          ]
                        )
                      ]
                      spids: [1889 1890 1911 -1]
                    )
                    (case_arm
                      pat_list: [{(he)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (il))}
                              spids: [1918]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ ('he:ar'))}
                              spids: [1924]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (he_IL))}
                              spids: [1930]
                            )
                          ]
                        )
                      ]
                      spids: [1914 1915 1936 -1]
                    )
                    (case_arm
                      pat_list: [{(hr)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (hr))}
                              spids: [1943]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (hr))}
                              spids: [1949]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (hr_HR))}
                              spids: [1955]
                            )
                          ]
                        )
                      ]
                      spids: [1939 1940 1961 -1]
                    )
                    (case_arm
                      pat_list: [{(hu)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (hu))}
                              spids: [1968]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (hu))}
                              spids: [1974]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (hu_HU))}
                              spids: [1980]
                            )
                          ]
                        )
                      ]
                      spids: [1964 1965 1986 -1]
                    )
                    (case_arm
                      pat_list: [{(it)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (it))}
                              spids: [1993]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (it))}
                              spids: [1999]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (it_IT))}
                              spids: [2005]
                            )
                          ]
                        )
                      ]
                      spids: [1989 1990 2011 -1]
                    )
                    (case_arm
                      pat_list: [{(ja)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (jp))}
                              spids: [2018]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (ja))}
                              spids: [2024]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (ja_JP))}
                              spids: [2030]
                            )
                          ]
                        )
                      ]
                      spids: [2014 2015 2036 -1]
                    )
                    (case_arm
                      pat_list: [{(ko)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (kr))}
                              spids: [2043]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (ko))}
                              spids: [2049]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (ko_KR))}
                              spids: [2055]
                            )
                          ]
                        )
                      ]
                      spids: [2039 2040 2061 -1]
                    )
                    (case_arm
                      pat_list: [{(nl)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (nl))}
                              spids: [2068]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (nl))}
                              spids: [2074]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (nl_NL))}
                              spids: [2080]
                            )
                          ]
                        )
                      ]
                      spids: [2064 2065 2086 -1]
                    )
                    (case_arm
                      pat_list: [{(nn)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (no))}
                              spids: [2093]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (nn))}
                              spids: [2099]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (en_US))}
                              spids: [2105]
                            )
                          ]
                        )
                      ]
                      spids: [2089 2090 2111 -1]
                    )
                    (case_arm
                      pat_list: [{(pa)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (pa))}
                              spids: [2118]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (pa))}
                              spids: [2124]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (en_US))}
                              spids: [2130]
                            )
                          ]
                        )
                      ]
                      spids: [2114 2115 2136 -1]
                    )
                    (case_arm
                      pat_list: [{(pl)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (pl))}
                              spids: [2143]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (pl))}
                              spids: [2149]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (pl_PL))}
                              spids: [2155]
                            )
                          ]
                        )
                      ]
                      spids: [2139 2140 2161 -1]
                    )
                    (case_arm
                      pat_list: [{(pt)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (pt))}
                              spids: [2168]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (pt))}
                              spids: [2174]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (pt_PT))}
                              spids: [2180]
                            )
                          ]
                        )
                      ]
                      spids: [2164 2165 2186 -1]
                    )
                    (case_arm
                      pat_list: [{(pt_BR)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (br))}
                              spids: [2193]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (pt_BR))}
                              spids: [2199]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (pt_BR))}
                              spids: [2205]
                            )
                          ]
                        )
                      ]
                      spids: [2189 2190 2211 -1]
                    )
                    (case_arm
                      pat_list: [{(ru)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (ru))}
                              spids: [2218]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (ru))}
                              spids: [2224]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (ru_RU))}
                              spids: [2230]
                            )
                          ]
                        )
                      ]
                      spids: [2214 2215 2236 -1]
                    )
                    (case_arm
                      pat_list: [{(sl)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (si))}
                              spids: [2243]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (sl))}
                              spids: [2249]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (sl_SI))}
                              spids: [2255]
                            )
                          ]
                        )
                      ]
                      spids: [2239 2240 2261 -1]
                    )
                    (case_arm
                      pat_list: [{(sk)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (sk))}
                              spids: [2268]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (sk))}
                              spids: [2274]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (sk_SK))}
                              spids: [2280]
                            )
                          ]
                        )
                      ]
                      spids: [2264 2265 2286 -1]
                    )
                    (case_arm
                      pat_list: [{(sv)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (se))}
                              spids: [2293]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (sv))}
                              spids: [2299]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (sv_SE))}
                              spids: [2305]
                            )
                          ]
                        )
                      ]
                      spids: [2289 2290 2311 -1]
                    )
                    (case_arm
                      pat_list: [{(uk)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (ua))}
                              spids: [2318]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (uk))}
                              spids: [2324]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (uk_UA))}
                              spids: [2330]
                            )
                          ]
                        )
                      ]
                      spids: [2314 2315 2336 -1]
                    )
                    (case_arm
                      pat_list: [{(vi)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (vn))}
                              spids: [2343]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (vi))}
                              spids: [2349]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (en_US))}
                              spids: [2355]
                            )
                          ]
                        )
                      ]
                      spids: [2339 2340 2361 -1]
                    )
                    (case_arm
                      pat_list: [{(zh_CN)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (cn))}
                              spids: [2368]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (zh_CN))}
                              spids: [2374]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (zh_CN))}
                              spids: [2380]
                            )
                          ]
                        )
                      ]
                      spids: [2364 2365 2386 -1]
                    )
                    (case_arm
                      pat_list: [{(zh_TW)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (tw))}
                              spids: [2393]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (zh_TW))}
                              spids: [2399]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (zh_TW))}
                              spids: [2405]
                            )
                          ]
                        )
                      ]
                      spids: [2389 2390 2411 -1]
                    )
                    (case_arm
                      pat_list: [{(Id.Lit_Star '*')}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COUNTRY)
                              op: assign_op.Equal
                              rhs: {(DQ (C))}
                              spids: [2418]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:SETLANG)
                              op: assign_op.Equal
                              rhs: {(DQ (${ Id.VSub_Name TARGETLANG))}
                              spids: [2424]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LOCALE)
                              op: assign_op.Equal
                              rhs: {(DQ (en_US))}
                              spids: [2432]
                            )
                          ]
                        )
                      ]
                      spids: [2414 2415 2438 -1]
                    )
                  ]
                )
                (C {(export)} {(COUNTRY)} {(SETLANG)} {(LOCALE)})
              ]
            )
        )
      terminator: (Token id:Id.Op_Semi val:';' span_id:2455)
    )
    (command.Sentence
      child: 
        (command.ShFunction
          name: set_timezone
          body: 
            (command.BraceGroup
              children: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:TZONE)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$1'))}
                      spids: [2468]
                    )
                  ]
                )
                (C {(cp)} {(${ Id.VSub_Name FSMNT) (/usr/share/zoneinfo/) (${ Id.VSub_Name TZONE)} 
                  {(${ Id.VSub_Name FSMNT) (/etc/localtime)}
                )
              ]
            )
        )
      terminator: (Token id:Id.Op_Semi val:';' span_id:2490)
    )
    (command.Sentence
      child: 
        (command.ShFunction
          name: set_ntp
          body: 
            (command.BraceGroup
              children: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:ENABLED)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$1'))}
                      spids: [2503]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$ENABLED'))} 
                          {(Id.Lit_Equals '=')} {(DQ (yes))} {(-o)} {(DQ (${ Id.VSub_Name ENABLED))} {(Id.Lit_Equals '=')} {(DQ (YES))} 
                          {(Id.Lit_RBracket ']')}
                        )
                      ]
                      action: [
                        (command.Pipeline
                          children: [
                            (command.Simple
                              words: [{(cat)} {(${ Id.VSub_Name FSMNT) (/etc/rc.conf)}]
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_Great val:'2>' span_id:2550)
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                            (command.Simple
                              words: [
                                {(grep)}
                                {(-q)}
                                {(SQ (Token id:Id.Lit_Chars val:'ntpd_enable="YES"' span_id:2560))}
                              ]
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_Great val:'2>' span_id:2563)
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-ne)} {(0)} 
                                  {(Id.Lit_RBracket ']')}
                                )
                              ]
                              action: [
                                (command.Simple
                                  words: [
                                    {(echo)}
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: 'ntpd_enable="YES"'
                                          span_id: 2586
                                        )
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_DGreat val:'>>' span_id:2589)
                                      fd: -1
                                      arg_word: {(${ Id.VSub_Name FSMNT) (/etc/rc.conf)}
                                    )
                                  ]
                                )
                                (command.Simple
                                  words: [
                                    {(echo)}
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: 'ntpd_sync_on_start="YES"'
                                          span_id: 2599
                                        )
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_DGreat val:'>>' span_id:2602)
                                      fd: -1
                                      arg_word: {(${ Id.VSub_Name FSMNT) (/etc/rc.conf)}
                                    )
                                  ]
                                )
                              ]
                              spids: [2567 2580]
                            )
                          ]
                        )
                      ]
                      spids: [2509 2540]
                    )
                  ]
                  else_action: [
                    (command.Pipeline
                      children: [
                        (command.Simple
                          words: [{(cat)} {(${ Id.VSub_Name FSMNT) (/etc/rc.conf)}]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_Great val:'2>' span_id:2622)
                              fd: 2
                              arg_word: {(/dev/null)}
                            )
                          ]
                        )
                        (command.Simple
                          words: [
                            {(grep)}
                            {(-q)}
                            {(SQ (Token id:Id.Lit_Chars val:'ntpd_enable="YES"' span_id:2632))}
                          ]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_Great val:'2>' span_id:2635)
                              fd: 2
                              arg_word: {(/dev/null)}
                            )
                          ]
                        )
                      ]
                      negated: F
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-ne)} {(0)} 
                              {(Id.Lit_RBracket ']')}
                            )
                          ]
                          action: [
                            (C {(sed)} {(-i.bak)} 
                              {(SQ (Token id:Id.Lit_Chars val:'s|ntpd_enable="YES"||g' span_id:2660))} {(${ Id.VSub_Name FSMNT) (/etc/rc.conf)}
                            )
                          ]
                          spids: [2639 2652]
                        )
                      ]
                    )
                  ]
                )
              ]
            )
        )
      terminator: (Token id:Id.Op_Semi val:';' span_id:2675)
    )
    (command.Sentence
      child: 
        (command.ShFunction
          name: run_localize
          body: 
            (command.BraceGroup
              children: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:KEYLAYOUT)
                      op: assign_op.Equal
                      rhs: {(DQ (NONE))}
                      spids: [2688]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:KEYMOD)
                      op: assign_op.Equal
                      rhs: {(DQ (NONE))}
                      spids: [2694]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:KEYVAR)
                      op: assign_op.Equal
                      rhs: {(DQ (NONE))}
                      spids: [2700]
                    )
                  ]
                )
                (command.WhileUntil
                  keyword: (Token id:Id.KW_While val:while span_id:2707)
                  cond: [(C {(read)} {(line)})]
                  body: 
                    (command.DoGroup
                      children: [
                        (command.Pipeline
                          children: [
                            (C {(echo)} {($ Id.VSub_DollarName '$line')})
                            (command.Simple
                              words: [{(grep)} {(-q)} {(DQ ('^localizeLang='))}]
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_Great val:'2>' span_id:2735)
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-eq)} {(0)} 
                                  {(Id.Lit_RBracket ']')}
                                )
                              ]
                              action: [
                                (C {(get_value_from_string)} {(DQ ($ Id.VSub_DollarName '$line'))})
                                (C {(localize_get_codes)} {(${ Id.VSub_Name VAL)})
                                (C {(get_value_from_string)} {(DQ ($ Id.VSub_DollarName '$line'))})
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (C {(Id.Lit_LBracket '[')} {(DQ (${ Id.VSub_Name INSTALLTYPE))} 
                                          {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(DQ (FreeBSD))} {(Id.Lit_RBracket ']')}
                                        )
                                      ]
                                      action: [
                                        (C {(localize_pcbsd)} {(DQ ($ Id.VSub_DollarName '$VAL'))})
                                      ]
                                      spids: [2786 2806]
                                    )
                                  ]
                                )
                                (C {(localize_freebsd)} {(DQ ($ Id.VSub_DollarName '$VAL'))})
                                (C {(localize_x_desktops)} {(DQ ($ Id.VSub_DollarName '$VAL'))})
                              ]
                              spids: [2739 2752]
                            )
                          ]
                        )
                        (command.Pipeline
                          children: [
                            (C {(echo)} {($ Id.VSub_DollarName '$line')})
                            (command.Simple
                              words: [{(grep)} {(-q)} {(DQ ('^localizeKeyLayout='))}]
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_Great val:'2>' span_id:2865)
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-eq)} {(0)} 
                                      {(Id.Lit_RBracket ']')}
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:2881)
                                )
                              ]
                              action: [
                                (C {(get_value_from_string)} {(DQ ($ Id.VSub_DollarName '$line'))})
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:KEYLAYOUT)
                                      op: assign_op.Equal
                                      rhs: {(DQ ($ Id.VSub_DollarName '$VAL'))}
                                      spids: [2893]
                                    )
                                  ]
                                )
                              ]
                              spids: [2869 2883]
                            )
                          ]
                        )
                        (command.Pipeline
                          children: [
                            (C {(echo)} {($ Id.VSub_DollarName '$line')})
                            (command.Simple
                              words: [{(grep)} {(-q)} {(DQ ('^localizeKeyModel='))}]
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_Great val:'2>' span_id:2921)
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-eq)} {(0)} 
                                      {(Id.Lit_RBracket ']')}
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:2937)
                                )
                              ]
                              action: [
                                (C {(get_value_from_string)} {(DQ ($ Id.VSub_DollarName '$line'))})
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:KEYMOD)
                                      op: assign_op.Equal
                                      rhs: {(DQ ($ Id.VSub_DollarName '$VAL'))}
                                      spids: [2949]
                                    )
                                  ]
                                )
                              ]
                              spids: [2925 2939]
                            )
                          ]
                        )
                        (command.Pipeline
                          children: [
                            (C {(echo)} {($ Id.VSub_DollarName '$line')})
                            (command.Simple
                              words: [{(grep)} {(-q)} {(DQ ('^localizeKeyVariant='))}]
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_Great val:'2>' span_id:2977)
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-eq)} {(0)} 
                                      {(Id.Lit_RBracket ']')}
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:2993)
                                )
                              ]
                              action: [
                                (C {(get_value_from_string)} {(DQ ($ Id.VSub_DollarName '$line'))})
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:KEYVAR)
                                      op: assign_op.Equal
                                      rhs: {(DQ ($ Id.VSub_DollarName '$VAL'))}
                                      spids: [3005]
                                    )
                                  ]
                                )
                              ]
                              spids: [2981 2995]
                            )
                          ]
                        )
                        (command.Pipeline
                          children: [
                            (C {(echo)} {($ Id.VSub_DollarName '$line')})
                            (command.Simple
                              words: [{(grep)} {(-q)} {(DQ ('^timeZone='))}]
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_Great val:'2>' span_id:3034)
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-eq)} {(0)} 
                                      {(Id.Lit_RBracket ']')}
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:3050)
                                )
                              ]
                              action: [
                                (C {(get_value_from_string)} {(DQ ($ Id.VSub_DollarName '$line'))})
                                (C {(set_timezone)} {(DQ ($ Id.VSub_DollarName '$VAL'))})
                              ]
                              spids: [3038 3052]
                            )
                          ]
                        )
                        (command.Pipeline
                          children: [
                            (C {(echo)} {($ Id.VSub_DollarName '$line')})
                            (command.Simple
                              words: [{(grep)} {(-q)} {(DQ ('^enableNTP='))}]
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_Great val:'2>' span_id:3091)
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-eq)} {(0)} 
                                      {(Id.Lit_RBracket ']')}
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:3107)
                                )
                              ]
                              action: [
                                (C {(get_value_from_string)} {(DQ ($ Id.VSub_DollarName '$line'))})
                                (C {(set_ntp)} {(DQ ($ Id.VSub_DollarName '$VAL'))})
                              ]
                              spids: [3095 3109]
                            )
                          ]
                        )
                      ]
                    )
                  redirects: [
                    (redir.Redir
                      op: (Token id:Id.Redir_Less val:'<' span_id:3131)
                      fd: -1
                      arg_word: {(${ Id.VSub_Name CFGF)}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(Id.Lit_LBracket '[')} {(DQ (${ Id.VSub_Name INSTALLTYPE))} 
                              {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(DQ (FreeBSD))} {(Id.Lit_RBracket ']')}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:3157)
                        )
                      ]
                      action: [
                        (C {(localize_x_keyboard)} {(DQ (${ Id.VSub_Name KEYMOD))} 
                          {(DQ (${ Id.VSub_Name KEYLAYOUT))} {(DQ (${ Id.VSub_Name KEYVAR))} {(DQ (${ Id.VSub_Name COUNTRY))}
                        )
                      ]
                      spids: [3138 3159]
                    )
                  ]
                )
                (C {(get_value_from_cfg)} {(localizePrune)})
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(Id.Lit_LBracket '[')} {(DQ (${ Id.VSub_Name VAL))} 
                              {(Id.Lit_Equals '=')} {(DQ (yes))} {(-o)} {(DQ (${ Id.VSub_Name VAL))} {(Id.Lit_Equals '=')} {(DQ (YES))} {(Id.Lit_RBracket ']')}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:3238)
                        )
                      ]
                      action: [(C {(localize_prune_langs)})]
                      spids: [3206 3240]
                    )
                  ]
                )
                (command.Simple
                  words: [{(run_chroot_cmd)} {(DQ ('/usr/bin/cap_mkdb /etc/login.conf'))}]
                  redirects: [
                    (redir.Redir
                      op: (Token id:Id.Redir_Great val:'>' span_id:3260)
                      fd: -1
                      arg_word: {(/dev/null)}
                    )
                    (redir.Redir
                      op: (Token id:Id.Redir_Great val:'2>' span_id:3263)
                      fd: 2
                      arg_word: {(/dev/null)}
                    )
                  ]
                )
              ]
            )
        )
      terminator: (Token id:Id.Op_Semi val:';' span_id:3268)
    )
  ]
)