(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LeftVar name:PATH) rhs:{(DQ ("/sbin:/bin"))} spids:[31])]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LeftVar name:RUN_DIR) rhs:{(DQ (/run/network))} spids:[36])]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LeftVar name:IFSTATE)
          rhs: {(DQ ($ VSub_Name "$RUN_DIR") (/ifstate))}
          spids: [41]
        )
      ]
      spids: [41]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LeftVar name:STATEDIR)
          rhs: {(DQ ($ VSub_Name "$RUN_DIR") (/state))}
          spids: [47]
        )
      ]
      spids: [47]
    )
    (AndOr
      children: [(C {(Lit_Other "[")} {(-x)} {(/sbin/ifup)} {(Lit_Other "]")}) (C {(exit)} {(0)})]
      op_id: Op_DPipe
    )
    (AndOr
      children: [(C {(Lit_Other "[")} {(-x)} {(/sbin/ifdown)} {(Lit_Other "]")}) (C {(exit)} {(0)})]
      op_id: Op_DPipe
    )
    (C {(.)} {(/lib/lsb/init-functions)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LeftVar name:CONFIGURE_INTERFACES) rhs:{(yes)} spids:[88])]
      spids: [88]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LeftVar name:EXCLUDE_INTERFACES) rhs:{(SQ )} spids:[91])]
      spids: [91]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LeftVar name:VERBOSE) rhs:{(no)} spids:[93])]
      spids: [93]
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(-f)} {(/etc/default/networking)} {(Lit_Other "]")})
        (C {(.)} {(/etc/default/networking)})
      ]
      op_id: Op_DAmp
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LeftVar name:verbose) rhs:{(DQ )} spids:[112])]
      spids: [112]
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$VERBOSE"))} {(Lit_Other "=")} {(yes)} {(Lit_Other "]")})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LeftVar name:verbose) rhs:{(-v)} spids:[130])]
          spids: [130]
        )
      ]
      op_id: Op_DAmp
    )
    (FuncDef
      name: process_exclusions
      body: 
        (BraceGroup
          children: [
            (C {(set)} {(--)} {($ VSub_Name "$EXCLUDE_INTERFACES")})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LeftVar name:exclusions) rhs:{(DQ )} spids:[148])]
              spids: [148]
            )
            (ForEach
              iter_name: d
              do_arg_iter: True
              body: 
                (DoGroup
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LeftVar name:exclusions)
                          rhs: {(DQ ("-X ") ($ VSub_Name "$d") (" ") ($ VSub_Name "$exclusions"))}
                          spids: [161]
                        )
                      ]
                      spids: [161]
                    )
                  spids: [158 170]
                )
              spids: [-1 -1]
            )
            (C {(echo)} {($ VSub_Name "$exclusions")})
          ]
          spids: [138]
        )
      spids: [134 137]
    )
    (FuncDef
      name: process_options
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(-e)} {(/etc/network/options)} {(Lit_Other "]")})
                (C {(return)} {(0)})
              ]
              op_id: Op_DPipe
            )
            (C {(log_warning_msg)} 
              {
                (DQ 
                  (
"/etc/network/options still exists and it will be IGNORED! Please use /etc/sysctl.conf instead."
                  )
                )
              }
            )
          ]
          spids: [184]
        )
      spids: [180 183]
    )
    (FuncDef
      name: check_ifstate
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: 
                    (Sentence
                      command: 
                        (C {(Lit_Other "[")} {(KW_Bang "!")} {(-d)} {(DQ ($ VSub_Name "$RUN_DIR"))} 
                          {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  action: 
                    (CommandList
                      children: [
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (Sentence
                                  command: 
                                    (Pipeline
                                      children: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$RUN_DIR"))})]
                                      negated: True
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              action: 
                                (CommandList
                                  children: [
                                    (C {(log_failure_msg)} 
                                      {(DQ ("can't create ") ($ VSub_Name "$RUN_DIR"))}
                                    )
                                    (C {(exit)} {(1)})
                                  ]
                                )
                              spids: [-1 251]
                            )
                          ]
                          spids: [-1 267]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (Sentence
                                  command: 
                                    (Pipeline
                                      children: [
                                        (C {(chown)} {(root) (Lit_Other ":") (netdev)} 
                                          {(DQ ($ VSub_Name "$RUN_DIR"))}
                                        )
                                      ]
                                      negated: True
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              action: 
                                (C {(log_warning_msg)} {(DQ ("can't chown ") ($ VSub_Name "$RUN_DIR"))})
                              spids: [-1 286]
                            )
                          ]
                          spids: [-1 297]
                        )
                      ]
                    )
                  spids: [-1 234]
                )
              ]
              spids: [-1 300]
            )
            (If
              arms: [
                (if_arm
                  cond: 
                    (Sentence
                      command: 
                        (C {(Lit_Other "[")} {(KW_Bang "!")} {(-r)} {(DQ ($ VSub_Name "$IFSTATE"))} 
                          {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  action: 
                    (If
                      arms: [
                        (if_arm
                          cond: 
                            (Sentence
                              command: 
                                (Pipeline
                                  children: [
                                    (SimpleCommand
                                      words: [{(Lit_Other ":")}]
                                      redirects: [
                                        (Redirect
                                          op_id: Redir_Great
                                          arg_word: {(DQ ($ VSub_Name "$IFSTATE"))}
                                          fd: -1
                                          spids: [327]
                                        )
                                      ]
                                    )
                                  ]
                                  negated: True
                                )
                              terminator: <Op_Semi ";">
                            )
                          action: 
                            (CommandList
                              children: [
                                (C {(log_failure_msg)} 
                                  {(DQ ("can't initialise ") ($ VSub_Name "$IFSTATE"))}
                                )
                                (C {(exit)} {(1)})
                              ]
                            )
                          spids: [-1 335]
                        )
                      ]
                      spids: [-1 351]
                    )
                  spids: [-1 319]
                )
              ]
              spids: [-1 354]
            )
          ]
          spids: [215]
        )
      spids: [211 214]
    )
    (FuncDef
      name: check_network_file_systems
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(-e)} {(/proc/mounts)} {(Lit_Other "]")})
                (C {(return)} {(0)})
              ]
              op_id: Op_DPipe
            )
            (If
              arms: [
                (if_arm
                  cond: 
                    (Sentence
                      command: 
                        (C {(Lit_Other "[")} {(-e)} {(/etc/iscsi/iscsi.initramfs)} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  action: 
                    (CommandList
                      children: [
                        (C {(log_warning_msg)} 
                          {(DQ ("not deconfiguring network interfaces: iSCSI root is mounted."))}
                        )
                        (C {(exit)} {(0)})
                      ]
                    )
                  spids: [-1 393]
                )
              ]
              spids: [-1 408]
            )
            (While
              cond: 
                (Sentence
                  command: (C {(read)} {(DEV)} {(MTPT)} {(FSTYPE)} {(REST)})
                  terminator: <Op_Semi ";">
                )
              body: 
                (DoGroup
                  child: 
                    (CommandList
                      children: [
                        (Case
                          to_match: {($ VSub_Name "$DEV")}
                          arms: [
                            (case_arm
                              pat_list: [
                                {(/dev/nbd) (Lit_Other "*")}
                                {(/dev/nd) (Lit_Other "[") (a-z) (Lit_Other "]") (Lit_Other "*")}
                                {(/dev/etherd/e) (Lit_Other "*")}
                              ]
                              action: 
                                (CommandList
                                  children: [
                                    (C {(log_warning_msg)} 
                                      {
                                        (DQ 
                                          (
"not deconfiguring network interfaces: network devices still mounted."
                                          )
                                        )
                                      }
                                    )
                                    (C {(exit)} {(0)})
                                  ]
                                )
                              spids: [435 446 461 -1]
                            )
                          ]
                          spids: [428 432 464]
                        )
                        (Case
                          to_match: {($ VSub_Name "$FSTYPE")}
                          arms: [
                            (case_arm
                              pat_list: [
                                {(nfs)}
                                {(nfs4)}
                                {(smbfs)}
                                {(ncp)}
                                {(ncpfs)}
                                {(cifs)}
                                {(coda)}
                                {(ocfs2)}
                                {(gfs)}
                                {(pvfs)}
                                {(pvfs2)}
                                {(fuse.httpfs)}
                                {(fuse.curlftpfs)}
                              ]
                              action: 
                                (CommandList
                                  children: [
                                    (C {(log_warning_msg)} 
                                      {
                                        (DQ 
                                          (
"not deconfiguring network interfaces: network file systems still mounted."
                                          )
                                        )
                                      }
                                    )
                                    (C {(exit)} {(0)})
                                  ]
                                )
                              spids: [474 499 514 -1]
                            )
                          ]
                          spids: [467 471 517]
                        )
                      ]
                    )
                  spids: [425 520]
                )
              redirects: [(Redirect op_id:Redir_Less arg_word:{(/proc/mounts)} fd:-1 spids:[522])]
            )
          ]
          spids: [363]
        )
      spids: [359 362]
    )
    (FuncDef
      name: check_network_swap
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(-e)} {(/proc/swaps)} {(Lit_Other "]")})
                (C {(return)} {(0)})
              ]
              op_id: Op_DPipe
            )
            (While
              cond: 
                (Sentence
                  command: (C {(read)} {(DEV)} {(MTPT)} {(FSTYPE)} {(REST)})
                  terminator: <Op_Semi ";">
                )
              body: 
                (DoGroup
                  child: 
                    (Case
                      to_match: {($ VSub_Name "$DEV")}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(/dev/nbd) (Lit_Other "*")}
                            {(/dev/nd) (Lit_Other "[") (a-z) (Lit_Other "]") (Lit_Other "*")}
                            {(/dev/etherd/e) (Lit_Other "*")}
                          ]
                          action: 
                            (CommandList
                              children: [
                                (C {(log_warning_msg)} 
                                  {
                                    (DQ 
                                      (
"not deconfiguring network interfaces: network swap still mounted."
                                      )
                                    )
                                  }
                                )
                                (C {(exit)} {(0)})
                              ]
                            )
                          spids: [575 586 601 -1]
                        )
                      ]
                      spids: [568 572 604]
                    )
                  spids: [565 607]
                )
              redirects: [(Redirect op_id:Redir_Less arg_word:{(/proc/swaps)} fd:-1 spids:[609])]
            )
          ]
          spids: [533]
        )
      spids: [529 532]
    )
    (FuncDef
      name: ifup_hotplug
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: (C {(Lit_Other "[")} {(-d)} {(/sys/class/net)} {(Lit_Other "]")})
                  action: 
                    (CommandList
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LeftVar name:ifaces)
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (ForEach
                                        iter_name: iface
                                        iter_words: [
                                          {
                                            (CommandSubPart
                                              command_list: 
                                                (C {(ifquery)} {(--list)} 
                                                  {(--allow) (Lit_Other "=") (hotplug)}
                                                )
                                              spids: [646 654]
                                            )
                                          }
                                        ]
                                        do_arg_iter: False
                                        body: 
                                          (DoGroup
                                            child: 
                                              (CommandList
                                                children: [
                                                  (Assignment
                                                    keyword: Assign_None
                                                    pairs: [
                                                      (assign_pair
                                                        lhs: (LeftVar name:link)
                                                        rhs: 
                                                          {
                                                            (BracedVarSub
                                                              token: <VSub_Name iface>
                                                              suffix_op: 
                                                                (StringUnary
                                                                  op_id: VOp1_DPound
                                                                  arg_word: {(":*")}
                                                                )
                                                              spids: [661 665]
                                                            )
                                                          }
                                                        spids: [660]
                                                      )
                                                    ]
                                                    spids: [660]
                                                  )
                                                  (Assignment
                                                    keyword: Assign_None
                                                    pairs: [
                                                      (assign_pair
                                                        lhs: (LeftVar name:link)
                                                        rhs: 
                                                          {
                                                            (BracedVarSub
                                                              token: <VSub_Name link>
                                                              suffix_op: 
                                                                (StringUnary
                                                                  op_id: VOp1_DPound
                                                                  arg_word: {(".*")}
                                                                )
                                                              spids: [669 673]
                                                            )
                                                          }
                                                        spids: [668]
                                                      )
                                                    ]
                                                    spids: [668]
                                                  )
                                                  (If
                                                    arms: [
                                                      (if_arm
                                                        cond: 
                                                          (AndOr
                                                            children: [
                                                              (C {(Lit_Other "[")} {(-e)} 
                                                                {
                                                                  (DQ (/sys/class/net/) 
                                                                    ($ VSub_Name "$link")
                                                                  )
                                                                } {(Lit_Other "]")}
                                                              )
                                                              (C {(Lit_Other "[")} 
                                                                {
                                                                  (DQ 
                                                                    (CommandSubPart
                                                                      command_list: 
                                                                        (C {(cat)} 
                                                                          {(/sys/class/net/) 
                                                                            ($ VSub_Name "$link") (/operstate)
                                                                          }
                                                                        )
                                                                      spids: [694 700]
                                                                    )
                                                                  )
                                                                } {(Lit_Other "=")} {(up)} {(Lit_Other "]")}
                                                              )
                                                            ]
                                                            op_id: Op_DAmp
                                                          )
                                                        action: 
                                                          (C {(echo)} {(DQ ($ VSub_Name "$iface"))})
                                                        spids: [-1 710]
                                                      )
                                                    ]
                                                    spids: [-1 720]
                                                  )
                                                ]
                                              )
                                            spids: [657 723]
                                          )
                                        spids: [645 -1]
                                      )
                                    spids: [639 724]
                                  )
                                }
                              spids: [638]
                            )
                          ]
                          spids: [638]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$ifaces"))} 
                                  {(Lit_Other "]")}
                                )
                              action: 
                                (AndOr
                                  children: [
                                    (C {(ifup)} {($ VSub_Name "$ifaces")} {(DQ ($ VSub_At "$@"))})
                                    (C {(true)})
                                  ]
                                  op_id: Op_DPipe
                                )
                              spids: [-1 740]
                            )
                          ]
                          spids: [-1 756]
                        )
                      ]
                    )
                  spids: [-1 635]
                )
              ]
              spids: [-1 759]
            )
          ]
          spids: [621]
        )
      spids: [616 620]
    )
    (Case
      to_match: {(DQ ($ VSub_Number "$1"))}
      arms: [
        (case_arm
          pat_list: [{(start)}]
          action: 
            (CommandList
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: (Sentence command:(C {(init_is_upstart)}) terminator:<Op_Semi ";">)
                      action: (C {(exit)} {(1)})
                      spids: [-1 781]
                    )
                  ]
                  spids: [-1 789]
                )
                (C {(process_options)})
                (C {(check_ifstate)})
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$CONFIGURE_INTERFACES"))} 
                          {(Lit_Other "=")} {(no)} {(Lit_Other "]")}
                        )
                      action: 
                        (CommandList
                          children: [
                            (C {(log_action_msg)} 
                              {
                                (DQ 
                                  (
"Not configuring network interfaces, see /etc/default/networking"
                                  )
                                )
                              }
                            )
                            (C {(exit)} {(0)})
                          ]
                        )
                      spids: [-1 814]
                    )
                  ]
                  spids: [-1 829]
                )
                (C {(set)} {(-f)})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LeftVar name:exclusions)
                      rhs: {(CommandSubPart command_list:(C {(process_exclusions)}) spids:[838840])}
                      spids: [837]
                    )
                  ]
                  spids: [837]
                )
                (C {(log_action_begin_msg)} {(DQ ("Configuring network interfaces"))})
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (AndOr
                          children: [
                            (C {(ifup)} {(-a)} {($ VSub_Name "$exclusions")} {($ VSub_Name "$verbose")})
                            (C {(ifup_hotplug)} {($ VSub_Name "$exclusions")} {($ VSub_Name "$verbose")})
                          ]
                          op_id: Op_DAmp
                        )
                      action: (C {(log_action_end_msg)} {($ VSub_QMark "$?")})
                      spids: [-1 869]
                    )
                  ]
                  else_action: (C {(log_action_end_msg)} {($ VSub_QMark "$?")})
                  spids: [877 885]
                )
              ]
            )
          spids: [772 773 888 -1]
        )
        (case_arm
          pat_list: [{(stop)}]
          action: 
            (CommandList
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: (Sentence command:(C {(init_is_upstart)}) terminator:<Op_Semi ";">)
                      action: (C {(exit)} {(0)})
                      spids: [-1 900]
                    )
                  ]
                  spids: [-1 908]
                )
                (C {(check_network_file_systems)})
                (C {(check_network_swap)})
                (C {(log_action_begin_msg)} {(DQ ("Deconfiguring network interfaces"))})
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (Sentence
                          command: 
                            (C {(ifdown)} {(-a)} {(--exclude) (Lit_Other "=") (lo)} 
                              {($ VSub_Name "$verbose")}
                            )
                          terminator: <Op_Semi ";">
                        )
                      action: (C {(log_action_end_msg)} {($ VSub_QMark "$?")})
                      spids: [-1 938]
                    )
                  ]
                  else_action: (C {(log_action_end_msg)} {($ VSub_QMark "$?")})
                  spids: [946 954]
                )
              ]
            )
          spids: [891 892 957 -1]
        )
        (case_arm
          pat_list: [{(reload)}]
          action: 
            (CommandList
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: (Sentence command:(C {(init_is_upstart)}) terminator:<Op_Semi ";">)
                      action: (C {(exit)} {(1)})
                      spids: [-1 969]
                    )
                  ]
                  spids: [-1 977]
                )
                (C {(process_options)})
                (C {(log_action_begin_msg)} {(DQ ("Reloading network interfaces configuration"))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LeftVar name:state)
                      rhs: {(CommandSubPart command_list:(C {(ifquery)} {(--state)}) spids:[992996])}
                      spids: [991]
                    )
                  ]
                  spids: [991]
                )
                (AndOr
                  children: [
                    (C {(ifdown)} {(-a)} {(--exclude) (Lit_Other "=") (lo)} {($ VSub_Name "$verbose")})
                    (C {(true)})
                  ]
                  op_id: Op_DPipe
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (Sentence
                          command: 
                            (C {(ifup)} {(--exclude) (Lit_Other "=") (lo)} {($ VSub_Name "$state")} 
                              {($ VSub_Name "$verbose")}
                            )
                          terminator: <Op_Semi ";">
                        )
                      action: (C {(log_action_end_msg)} {($ VSub_QMark "$?")})
                      spids: [-1 1028]
                    )
                  ]
                  else_action: (C {(log_action_end_msg)} {($ VSub_QMark "$?")})
                  spids: [1036 1044]
                )
              ]
            )
          spids: [960 961 1047 -1]
        )
        (case_arm
          pat_list: [{(force-reload)} {(restart)}]
          action: 
            (CommandList
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: (Sentence command:(C {(init_is_upstart)}) terminator:<Op_Semi ";">)
                      action: (C {(exit)} {(1)})
                      spids: [-1 1061]
                    )
                  ]
                  spids: [-1 1069]
                )
                (C {(process_options)})
                (C {(log_warning_msg)} 
                  {
                    (DQ ("Running ") ($ VSub_Number "$0") (" ") ($ VSub_Number "$1") 
                      (" is deprecated because it may not re-enable some interfaces")
                    )
                  }
                )
                (C {(log_action_begin_msg)} {(DQ ("Reconfiguring network interfaces"))})
                (AndOr
                  children: [
                    (C {(ifdown)} {(-a)} {(--exclude) (Lit_Other "=") (lo)} {($ VSub_Name "$verbose")})
                    (C {(true)})
                  ]
                  op_id: Op_DPipe
                )
                (C {(set)} {(-f)})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LeftVar name:exclusions)
                      rhs: {(CommandSubPart command_list:(C {(process_exclusions)}) spids:[11151117])}
                      spids: [1114]
                    )
                  ]
                  spids: [1114]
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (AndOr
                          children: [
                            (C {(ifup)} {(-a)} {(--exclude) (Lit_Other "=") (lo)} 
                              {($ VSub_Name "$exclusions")} {($ VSub_Name "$verbose")}
                            )
                            (C {(ifup_hotplug)} {($ VSub_Name "$exclusions")} {($ VSub_Name "$verbose")})
                          ]
                          op_id: Op_DAmp
                        )
                      action: (C {(log_action_end_msg)} {($ VSub_QMark "$?")})
                      spids: [-1 1143]
                    )
                  ]
                  else_action: (C {(log_action_end_msg)} {($ VSub_QMark "$?")})
                  spids: [1151 1159]
                )
              ]
            )
          spids: [1050 1053 1162 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: 
            (CommandList
              children: [
                (C {(echo)} 
                  {(DQ ("Usage: /etc/init.d/networking {start|stop|reload|restart|force-reload}"))}
                )
                (C {(exit)} {(1)})
              ]
            )
          spids: [1165 1166 1181 -1]
        )
      ]
      spids: [764 770 1183]
    )
    (C {(exit)} {(0)})
  ]
)