(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-ne)} {(1)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' <zipcode>'))})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 20]
        )
      ]
      spids: [16777215 36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:apikey)
          op: Equal
          rhs: {(DQ (b0304b43b2e7cd23))}
          spids: [39]
        )
      ]
      spids: [39]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:weather)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(curl)} {(-s)} 
                        {
                          (DQ ('https://api.wunderground.com/api/') ($ VSub_Name '$apikey') 
                            (/conditions/q/) ($ VSub_Number '$1') (.xml)
                          )
                        }
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [49 63]
              )
            }
          spids: [48]
        )
      ]
      spids: [48]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:state)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(xmllint)} {(--xpath)} 
                        {(//response/current_observation/display_location/full/text) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)
                        } 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(echo)} {($ VSub_Name '$weather')})]
                              )
                            left_token: <Left_ProcSubIn '<('>
                            spids: [79 83]
                          )
                        }
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [66 84]
              )
            }
          spids: [65]
        )
      ]
      spids: [65]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:zip)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(xmllint)} {(--xpath)} 
                        {(//response/current_observation/display_location/zip/text) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)
                        } 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(echo)} {($ VSub_Name '$weather')})]
                              )
                            left_token: <Left_ProcSubIn '<('>
                            spids: [100 104]
                          )
                        }
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [87 105]
              )
            }
          spids: [86]
        )
      ]
      spids: [86]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:current)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(xmllint)} {(--xpath)} 
                        {(//response/current_observation/temp_f/text) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)
                        } 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(echo)} {($ VSub_Name '$weather')})]
                              )
                            left_token: <Left_ProcSubIn '<('>
                            spids: [121 125]
                          )
                        }
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [108 126]
              )
            }
          spids: [107]
        )
      ]
      spids: [107]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:condition)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(xmllint)} {(--xpath)} 
                        {(//response/current_observation/weather/text) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)
                        } 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(echo)} {($ VSub_Name '$weather')})]
                              )
                            left_token: <Left_ProcSubIn '<('>
                            spids: [142 146]
                          )
                        }
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [129 147]
              )
            }
          spids: [128]
        )
      ]
      spids: [128]
    )
    (C {(echo)} 
      {($ VSub_Name '$state') (DQ (' (')) ($ VSub_Name '$zip') (DQ (') : Current temp ')) 
        ($ VSub_Name '$current') (DQ ('F and ')) ($ VSub_Name '$condition') (DQ (' outside.'))
      }
    )
  ]
)