          glonass_t* m__root;
          glonass_t* m__parent;
  
      public:
          uint64_t tau_n() const { return m_tau_n; }
          uint64_t delta_tau_n() const { return m_delta_tau_n; }
          uint64_t e_n() const { return m_e_n; }
          uint64_t not_used_1() const { return m_not_used_1; }
          bool p4() const { return m_p4; }
          uint64_t f_t() const { return m_f_t; }
          uint64_t not_used_2() const { return m_not_used_2; }
 
</s> remove         uint64_t x_vel() const { return m_x_vel; }
        uint64_t x_speedup() const { return m_x_speedup; }
        uint64_t x() const { return m_x; }
 </s> add         bool x_vel_sign() const { return m_x_vel_sign; }
        uint64_t x_vel_value() const { return m_x_vel_value; }
        bool x_accel_sign() const { return m_x_accel_sign; }
        uint64_t x_accel_value() const { return m_x_accel_value; }
        bool x_sign() const { return m_x_sign; }
        uint64_t x_value() const { return m_x_value; } </s> remove         uint64_t y_vel() const { return m_y_vel; }
        uint64_t y_speedup() const { return m_y_speedup; }
        uint64_t y() const { return m_y; }
 </s> add         bool y_vel_sign() const { return m_y_vel_sign; }
        uint64_t y_vel_value() const { return m_y_vel_value; }
        bool y_accel_sign() const { return m_y_accel_sign; }
        uint64_t y_accel_value() const { return m_y_accel_value; }
        bool y_sign() const { return m_y_sign; }
        uint64_t y_value() const { return m_y_value; } </s> remove         uint64_t m_x_vel;
        uint64_t m_x_speedup;
        uint64_t m_x;
 </s> add         bool m_x_vel_sign;
        uint64_t m_x_vel_value;
        bool m_x_accel_sign;
        uint64_t m_x_accel_value;
        bool m_x_sign;
        uint64_t m_x_value; </s> remove         uint64_t m_y_vel;
        uint64_t m_y_speedup;
        uint64_t m_y;
 </s> add         bool m_y_vel_sign;
        uint64_t m_y_vel_value;
        bool m_y_accel_sign;
        uint64_t m_y_accel_value;
        bool m_y_sign;
        uint64_t m_y_value;
        bool tau_n_sign() const { return m_tau_n_sign; }
        uint64_t tau_n_value() const { return m_tau_n_value; }
        bool delta_tau_n_sign() const { return m_delta_tau_n_sign; }
        uint64_t delta_tau_n_value() const { return m_delta_tau_n_value; }
          glonass_t* m__root;
          glonass_t* m__parent;
  
      public:
        bool tau_n_sign() const { return m_tau_n_sign; }
        uint64_t tau_n_value() const { return m_tau_n_value; }
        bool delta_tau_n_sign() const { return m_delta_tau_n_sign; }
        uint64_t delta_tau_n_value() const { return m_delta_tau_n_value; }
        bool tau_n_sign() const { return m_tau_n_sign; }
        uint64_t tau_n_value() const { return m_tau_n_value; }
        bool delta_tau_n_sign() const { return m_delta_tau_n_sign; }
        uint64_t delta_tau_n_value() const { return m_delta_tau_n_value; }
          uint64_t e_n() const { return m_e_n; }
          uint64_t not_used_1() const { return m_not_used_1; }
          bool p4() const { return m_p4; }
          uint64_t f_t() const { return m_f_t; }
          uint64_t not_used_2() const { return m_not_used_2; }
keep keep keep keep replace replace keep keep keep keep keep
 Ubloxd: glonass parsing tests (#27125)

* add glonass kaitai parsing

* add kaita generated files

* remove glonass from build

* add string non immediate type

* fix kaitai bug

* cleanUp

* add patch file

* fix scons order

* make lookup const

* remove comments

* rename

* add to release files

* remove printf

* add signs

* add glonass parsing test

* finish up glonass kaitai tests

* move cereal back to master

* ignore test_runner

* sign is not two complement

* address comments
---------

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com> 
selfdrive/locationd/generated/glonass.h