Reverted protoc output files to before #bef823b
diff --git a/OOPClasses/Protos/gtx.pb.cc b/OOPClasses/Protos/gtx.pb.cc
index 8d8b924..a94fc6f 100644
--- a/OOPClasses/Protos/gtx.pb.cc
+++ b/OOPClasses/Protos/gtx.pb.cc
@@ -5,102 +5,122 @@
 
 #include <algorithm>
 
-#include "net/proto2/io/public/coded_stream.h"
-#include "net/proto2/public/extension_set.h"
-#include "net/proto2/public/wire_format_lite.h"
-#include "net/proto2/public/descriptor.h"
-#include "net/proto2/public/generated_message_reflection.h"
-#include "net/proto2/public/reflection_ops.h"
-#include "net/proto2/public/wire_format.h"
-#include "net/proto2/public/generated_message_tctable_impl.h"
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/extension_set.h>
+#include <google/protobuf/wire_format_lite.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
 // @@protoc_insertion_point(includes)
-#include "net/proto2/public/port_def.inc"
-
-PROTOBUF_PRAGMA_INIT_SEG
+#include <google/protobuf/port_def.inc>
+extern PROTOBUF_INTERNAL_EXPORT_gtx_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Point_gtx_2eproto;
+extern PROTOBUF_INTERNAL_EXPORT_gtx_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_Rect_gtx_2eproto;
+extern PROTOBUF_INTERNAL_EXPORT_gtx_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Size_gtx_2eproto;
 namespace gtxilib {
 namespace oopclasses {
 namespace protos {
-constexpr Point::Point(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : x_(0)
-  , y_(0){}
-struct PointDefaultTypeInternal {
-  constexpr PointDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~PointDefaultTypeInternal() {}
-  union {
-    Point _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PointDefaultTypeInternal _Point_default_instance_;
-constexpr Size::Size(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : width_(0)
-  , height_(0){}
-struct SizeDefaultTypeInternal {
-  constexpr SizeDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~SizeDefaultTypeInternal() {}
-  union {
-    Size _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SizeDefaultTypeInternal _Size_default_instance_;
-constexpr Rect::Rect(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : origin_(nullptr)
-  , size_(nullptr){}
-struct RectDefaultTypeInternal {
-  constexpr RectDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~RectDefaultTypeInternal() {}
-  union {
-    Rect _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RectDefaultTypeInternal _Rect_default_instance_;
-constexpr ElementType::ElementType(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized){}
-struct ElementTypeDefaultTypeInternal {
-  constexpr ElementTypeDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~ElementTypeDefaultTypeInternal() {}
-  union {
-    ElementType _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ElementTypeDefaultTypeInternal _ElementType_default_instance_;
-constexpr UIElement::UIElement(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : ax_label_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
-  , ax_frame_(nullptr)
-  , ax_traits_(uint64_t{0u})
-  , is_ax_element_(false)
-  , ax_element_type_(0)
-{}
-struct UIElementDefaultTypeInternal {
-  constexpr UIElementDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~UIElementDefaultTypeInternal() {}
-  union {
-    UIElement _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT UIElementDefaultTypeInternal _UIElement_default_instance_;
+class PointDefaultTypeInternal {
+ public:
+  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Point> _instance;
+} _Point_default_instance_;
+class SizeDefaultTypeInternal {
+ public:
+  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Size> _instance;
+} _Size_default_instance_;
+class RectDefaultTypeInternal {
+ public:
+  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Rect> _instance;
+} _Rect_default_instance_;
+class ElementTypeDefaultTypeInternal {
+ public:
+  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ElementType> _instance;
+} _ElementType_default_instance_;
+class UIElementDefaultTypeInternal {
+ public:
+  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<UIElement> _instance;
+} _UIElement_default_instance_;
 }  // namespace protos
 }  // namespace oopclasses
 }  // namespace gtxilib
-static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_mq4kUTL9cO7[5];
-static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_mq4kUTL9cO7[1];
-static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_mq4kUTL9cO7 = nullptr;
+static void InitDefaultsscc_info_ElementType_gtx_2eproto() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-const ::uint32 TableStruct_mq4kUTL9cO7::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
+  {
+    void* ptr = &::gtxilib::oopclasses::protos::_ElementType_default_instance_;
+    new (ptr) ::gtxilib::oopclasses::protos::ElementType();
+    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
+  }
+}
+
+::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ElementType_gtx_2eproto =
+    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_ElementType_gtx_2eproto}, {}};
+
+static void InitDefaultsscc_info_Point_gtx_2eproto() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+  {
+    void* ptr = &::gtxilib::oopclasses::protos::_Point_default_instance_;
+    new (ptr) ::gtxilib::oopclasses::protos::Point();
+    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
+  }
+}
+
+::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Point_gtx_2eproto =
+    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Point_gtx_2eproto}, {}};
+
+static void InitDefaultsscc_info_Rect_gtx_2eproto() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+  {
+    void* ptr = &::gtxilib::oopclasses::protos::_Rect_default_instance_;
+    new (ptr) ::gtxilib::oopclasses::protos::Rect();
+    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
+  }
+}
+
+::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_Rect_gtx_2eproto =
+    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, 0, InitDefaultsscc_info_Rect_gtx_2eproto}, {
+      &scc_info_Point_gtx_2eproto.base,
+      &scc_info_Size_gtx_2eproto.base,}};
+
+static void InitDefaultsscc_info_Size_gtx_2eproto() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+  {
+    void* ptr = &::gtxilib::oopclasses::protos::_Size_default_instance_;
+    new (ptr) ::gtxilib::oopclasses::protos::Size();
+    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
+  }
+}
+
+::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Size_gtx_2eproto =
+    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Size_gtx_2eproto}, {}};
+
+static void InitDefaultsscc_info_UIElement_gtx_2eproto() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+  {
+    void* ptr = &::gtxilib::oopclasses::protos::_UIElement_default_instance_;
+    new (ptr) ::gtxilib::oopclasses::protos::UIElement();
+    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
+  }
+}
+
+::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_UIElement_gtx_2eproto =
+    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_UIElement_gtx_2eproto}, {
+      &scc_info_Rect_gtx_2eproto.base,}};
+
+static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_gtx_2eproto[5];
+static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_gtx_2eproto[1];
+static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_gtx_2eproto = nullptr;
+
+const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_gtx_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
   PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Point, _has_bits_),
   PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Point, _internal_metadata_),
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
-  ~0u,  // no _inlined_string_donated_
   PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Point, x_),
   PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Point, y_),
   0,
@@ -110,7 +130,6 @@
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
-  ~0u,  // no _inlined_string_donated_
   PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Size, width_),
   PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Size, height_),
   0,
@@ -120,7 +139,6 @@
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
-  ~0u,  // no _inlined_string_donated_
   PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Rect, origin_),
   PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Rect, size_),
   0,
@@ -130,13 +148,11 @@
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
-  ~0u,  // no _inlined_string_donated_
   PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, _has_bits_),
   PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, _internal_metadata_),
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
-  ~0u,  // no _inlined_string_donated_
   PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, is_ax_element_),
   PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, ax_traits_),
   PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, ax_label_),
@@ -149,11 +165,11 @@
   4,
 };
 static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
-  { 0, 8, -1, sizeof(::gtxilib::oopclasses::protos::Point)},
-  { 10, 18, -1, sizeof(::gtxilib::oopclasses::protos::Size)},
-  { 20, 28, -1, sizeof(::gtxilib::oopclasses::protos::Rect)},
-  { 30, -1, -1, sizeof(::gtxilib::oopclasses::protos::ElementType)},
-  { 36, 47, -1, sizeof(::gtxilib::oopclasses::protos::UIElement)},
+  { 0, 7, sizeof(::gtxilib::oopclasses::protos::Point)},
+  { 9, 16, sizeof(::gtxilib::oopclasses::protos::Size)},
+  { 18, 25, sizeof(::gtxilib::oopclasses::protos::Rect)},
+  { 27, -1, sizeof(::gtxilib::oopclasses::protos::ElementType)},
+  { 32, 42, sizeof(::gtxilib::oopclasses::protos::UIElement)},
 };
 
 static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
@@ -164,7 +180,7 @@
   reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_UIElement_default_instance_),
 };
 
-const char descriptor_table_protodef_mq4kUTL9cO7[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
+const char descriptor_table_protodef_gtx_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
   "\n\tgtx.proto\022\031gtxilib.oopclasses.protos\"3"
   "\n\005Point\022\016\n\001x\030\001 \001(\002H\000\210\001\001\022\016\n\001y\030\002 \001(\002H\001\210\001\001B"
   "\004\n\002_xB\004\n\002_y\"D\n\004Size\022\022\n\005width\030\001 \001(\002H\000\210\001\001\022"
@@ -215,25 +231,31 @@
   "belB\013\n\t_ax_frameB\022\n\020_ax_element_typeb\006pr"
   "oto3"
   ;
-static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_mq4kUTL9cO7_once;
-const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_mq4kUTL9cO7 = {
-  false, false, 1924, descriptor_table_protodef_mq4kUTL9cO7, "gtx.proto", 
-  &descriptor_table_mq4kUTL9cO7_once, nullptr, 0, 5,
-  schemas, file_default_instances, TableStruct_mq4kUTL9cO7::offsets,
-  file_level_metadata_mq4kUTL9cO7, file_level_enum_descriptors_mq4kUTL9cO7, file_level_service_descriptors_mq4kUTL9cO7,
+static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_gtx_2eproto_deps[1] = {
 };
-PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_mq4kUTL9cO7_getter() {
-  return &descriptor_table_mq4kUTL9cO7;
-}
+static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_gtx_2eproto_sccs[5] = {
+  &scc_info_ElementType_gtx_2eproto.base,
+  &scc_info_Point_gtx_2eproto.base,
+  &scc_info_Rect_gtx_2eproto.base,
+  &scc_info_Size_gtx_2eproto.base,
+  &scc_info_UIElement_gtx_2eproto.base,
+};
+static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_gtx_2eproto_once;
+const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_gtx_2eproto = {
+  false, false, descriptor_table_protodef_gtx_2eproto, "gtx.proto", 1924,
+  &descriptor_table_gtx_2eproto_once, descriptor_table_gtx_2eproto_sccs, descriptor_table_gtx_2eproto_deps, 5, 0,
+  schemas, file_default_instances, TableStruct_gtx_2eproto::offsets,
+  file_level_metadata_gtx_2eproto, 5, file_level_enum_descriptors_gtx_2eproto, file_level_service_descriptors_gtx_2eproto,
+};
 
 // Force running AddDescriptors() at dynamic initialization time.
-PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_mq4kUTL9cO7(&descriptor_table_mq4kUTL9cO7);
+static bool dynamic_init_dummy_gtx_2eproto = (static_cast<void>(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_gtx_2eproto)), true);
 namespace gtxilib {
 namespace oopclasses {
 namespace protos {
 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ElementType_ElementTypeEnum_descriptor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_mq4kUTL9cO7);
-  return file_level_enum_descriptors_mq4kUTL9cO7[0];
+  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_gtx_2eproto);
+  return file_level_enum_descriptors_gtx_2eproto[0];
 }
 bool ElementType_ElementTypeEnum_IsValid(int value) {
   switch (value) {
@@ -428,13 +450,10 @@
   }
 };
 
-Point::Point(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                         bool is_message_owned)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
+Point::Point(::PROTOBUF_NAMESPACE_ID::Arena* arena)
+  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
   SharedCtor();
-  if (!is_message_owned) {
-    RegisterArenaDtor(arena);
-  }
+  RegisterArenaDtor(arena);
   // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.Point)
 }
 Point::Point(const Point& from)
@@ -447,22 +466,21 @@
   // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.Point)
 }
 
-inline void Point::SharedCtor() {
-::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
-    reinterpret_cast<char*>(&x_) - reinterpret_cast<char*>(this)),
-    0, static_cast<size_t>(reinterpret_cast<char*>(&y_) -
-    reinterpret_cast<char*>(&x_)) + sizeof(y_));
+void Point::SharedCtor() {
+  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
+      reinterpret_cast<char*>(&x_) - reinterpret_cast<char*>(this)),
+      0, static_cast<size_t>(reinterpret_cast<char*>(&y_) -
+      reinterpret_cast<char*>(&x_)) + sizeof(y_));
 }
 
 Point::~Point() {
   // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.Point)
-  if (GetArenaForAllocation() != nullptr) return;
   SharedDtor();
   _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 }
 
-inline void Point::SharedDtor() {
-  DCHECK(GetArenaForAllocation() == nullptr);
+void Point::SharedDtor() {
+  GOOGLE_DCHECK(GetArena() == nullptr);
 }
 
 void Point::ArenaDtor(void* object) {
@@ -474,10 +492,15 @@
 void Point::SetCachedSize(int size) const {
   _cached_size_.Set(size);
 }
+const Point& Point::default_instance() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Point_gtx_2eproto.base);
+  return *internal_default_instance();
+}
+
 
 void Point::Clear() {
 // @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.Point)
-  ::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
@@ -491,153 +514,66 @@
   _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 }
 
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-
-const char* Point::_InternalParse(
-    const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-  ptr = ::PROTOBUF_NAMESPACE_ID::internal::TcParser<2>::ParseLoop(
-      this, ptr, ctx, &_table_.header);
-  return ptr;
-}
-
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-const char* Point::Tct_ParseS1(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint8_t>() != 0))
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  ptr += 1;
-  hasbits |= (uint64_t{1} << data.hasbit_idx());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::gtxilib::oopclasses::protos::Point*>(msg, data.offset());
-  if (field == nullptr)
-    field = CreateMaybeMessage<::gtxilib::oopclasses::protos::Point>(ctx->data().arena);
-  return ctx->ParseMessage(field, ptr);
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-const char* Point::Tct_ParseS2(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint16_t>() != 0))
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  ptr += 2;
-  hasbits |= (uint64_t{1} << data.hasbit_idx());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::gtxilib::oopclasses::protos::Point*>(msg, data.offset());
-  if (field == nullptr)
-    field = CreateMaybeMessage<::gtxilib::oopclasses::protos::Point>(ctx->data().arena);
-  return ctx->ParseMessage(field, ptr);
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED1
-const char* Point::Tct_ParseR1(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint8_t>() != 0)) {
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  }
-  ptr += 1;
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<Point>>(msg, data.offset());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  ptr = ctx->ParseMessage(field.Add(), ptr);
-  return ptr;
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED1
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED2
-const char* Point::Tct_ParseR2(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint16_t>() != 0)) {
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  }
-  ptr += 2;
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<Point>>(msg, data.offset());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  ptr = ctx->ParseMessage(field.Add(), ptr);
-  return ptr;
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED2
-
-#else  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-
 const char* Point::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
   _Internal::HasBits has_bits{};
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArenaForAllocation(); (void)arena;
   while (!ctx->Done(&ptr)) {
-    ::uint32 tag;
+    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
     ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
+    CHK_(ptr);
     switch (tag >> 3) {
-      // optional float x = 1;
+      // float x = 1;
       case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8>(tag) == 13)) {
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 13)) {
           _Internal::set_has_x(&has_bits);
           x_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
           ptr += sizeof(float);
-        } else
-          goto handle_unusual;
+        } else goto handle_unusual;
         continue;
-      // optional float y = 2;
+      // float y = 2;
       case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8>(tag) == 21)) {
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 21)) {
           _Internal::set_has_y(&has_bits);
           y_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
           ptr += sizeof(float);
-        } else
-          goto handle_unusual;
+        } else goto handle_unusual;
         continue;
-      default:
-        goto handle_unusual;
+      default: {
+      handle_unusual:
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->SetLastTag(tag);
+          goto success;
+        }
+        ptr = UnknownFieldParse(tag,
+            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
+            ptr, ctx);
+        CHK_(ptr != nullptr);
+        continue;
+      }
     }  // switch
-  handle_unusual:
-    if ((tag == 0) || ((tag & 7) == 4)) {
-      CHK_(ptr);
-      ctx->SetLastTag(tag);
-      goto message_done;
-    }
-    ptr = UnknownFieldParse(
-        tag,
-        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-        ptr, ctx);
-    CHK_(ptr != nullptr);
   }  // while
-message_done:
+success:
   _has_bits_.Or(has_bits);
   return ptr;
 failure:
   ptr = nullptr;
-  goto message_done;
+  goto success;
 #undef CHK_
 }
 
-#endif  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-const ::PROTOBUF_NAMESPACE_ID::internal::TailCallParseTable<2>
-    Point::_table_ = {
-  {
-    PROTOBUF_FIELD_OFFSET(Point, _has_bits_),
-    0, 0, 0,  // no _extensions_
-    &_Point_default_instance_._instance,
-    ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::GenericFallback  // fallback
-  }, {
-    {::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::GenericFallback, {}},
-    // optional float x = 1;
-    {::PROTOBUF_NAMESPACE_ID::internal::TcParser<2>::SingularFixed<uint32_t, uint8_t>, {13, 0, static_cast<uint16_t>(PROTOBUF_FIELD_OFFSET(Point, x_))}},
-    // optional float y = 2;
-    {::PROTOBUF_NAMESPACE_ID::internal::TcParser<2>::SingularFixed<uint32_t, uint8_t>, {21, 1, static_cast<uint16_t>(PROTOBUF_FIELD_OFFSET(Point, y_))}},
-    {::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::GenericFallback, {}},
-  },
-};
-
-#endif  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-::uint8* Point::_InternalSerialize(
-    ::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
+::PROTOBUF_NAMESPACE_ID::uint8* Point::_InternalSerialize(
+    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
   // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.Point)
-#ifdef NDEBUG
-  ::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
-  // optional float x = 1;
+  // float x = 1;
   if (_internal_has_x()) {
     target = stream->EnsureSpace(target);
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(1, this->_internal_x(), target);
   }
 
-  // optional float y = 2;
+  // float y = 2;
   if (_internal_has_y()) {
     target = stream->EnsureSpace(target);
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(2, this->_internal_y(), target);
@@ -647,37 +583,6 @@
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
         _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
   }
-#else  // NDEBUG
-  for (int i = 1; i >= 0; i-- ) {
-    switch(i) {
-      case 0: {
-        // optional float x = 1;
-        if (_internal_has_x()) {
-          target = stream->EnsureSpace(target);
-          target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(1, this->_internal_x(), target);
-        }
-
-        break;
-      }
-      case 1: {
-        // optional float y = 2;
-        if (_internal_has_y()) {
-          target = stream->EnsureSpace(target);
-          target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(2, this->_internal_y(), target);
-        }
-
-        break;
-      }
-      default: {
-        DCHECK(false) << "Unexpected index: " << i;
-      }
-    }
-  }
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-#endif  // !NDEBUG
   // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.Point)
   return target;
 }
@@ -686,43 +591,52 @@
 // @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.Point)
   size_t total_size = 0;
 
-  ::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 0x00000003u) {
-    // optional float x = 1;
+    // float x = 1;
     if (cached_has_bits & 0x00000001u) {
       total_size += 1 + 4;
     }
 
-    // optional float y = 2;
+    // float y = 2;
     if (cached_has_bits & 0x00000002u) {
       total_size += 1 + 4;
     }
 
   }
-  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
+        _internal_metadata_, total_size, &_cached_size_);
+  }
+  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
+  return total_size;
 }
 
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Point::_class_data_ = {
-    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
-    Point::MergeImpl
-};
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Point::GetClassData() const { return &_class_data_; }
-
-void Point::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
-                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-  static_cast<Point *>(to)->MergeFrom(
-      static_cast<const Point &>(from));
+void Point::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.Point)
+  GOOGLE_DCHECK_NE(&from, this);
+  const Point* source =
+      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Point>(
+          &from);
+  if (source == nullptr) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.Point)
+    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.Point)
+    MergeFrom(*source);
+  }
 }
 
-
 void Point::MergeFrom(const Point& from) {
 // @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.Point)
-  DCHECK_NE(&from, this);
-  ::uint32 cached_has_bits = 0;
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   cached_has_bits = from._has_bits_[0];
@@ -735,22 +649,19 @@
     }
     _has_bits_[0] |= cached_has_bits;
   }
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+}
+
+void Point::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.Point)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
 }
 
 void Point::CopyFrom(const Point& from) {
 // @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.Point)
   if (&from == this) return;
-  #ifndef NDEBUG
-  size_t from_size = from.ByteSizeLong();
-  #endif
   Clear();
-  #ifndef NDEBUG
-  CHECK_EQ(from_size, from.ByteSizeLong())
-    << "Source of CopyFrom changed when clearing target.  Either "
-       "source is a nested message in target (not allowed), or "
-       "another thread is modifying the source.";
-  #endif
   MergeFrom(from);
 }
 
@@ -760,7 +671,7 @@
 
 void Point::InternalSwap(Point* other) {
   using std::swap;
-  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
+  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   ::PROTOBUF_NAMESPACE_ID::internal::memswap<
       PROTOBUF_FIELD_OFFSET(Point, y_)
@@ -771,11 +682,10 @@
 }
 
 ::PROTOBUF_NAMESPACE_ID::Metadata Point::GetMetadata() const {
-  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
-      &descriptor_table_mq4kUTL9cO7_getter, &descriptor_table_mq4kUTL9cO7_once,
-      file_level_metadata_mq4kUTL9cO7[0]);
+  return GetMetadataStatic();
 }
 
+
 // ===================================================================
 
 class Size::_Internal {
@@ -789,13 +699,10 @@
   }
 };
 
-Size::Size(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                         bool is_message_owned)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
+Size::Size(::PROTOBUF_NAMESPACE_ID::Arena* arena)
+  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
   SharedCtor();
-  if (!is_message_owned) {
-    RegisterArenaDtor(arena);
-  }
+  RegisterArenaDtor(arena);
   // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.Size)
 }
 Size::Size(const Size& from)
@@ -808,22 +715,21 @@
   // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.Size)
 }
 
-inline void Size::SharedCtor() {
-::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
-    reinterpret_cast<char*>(&width_) - reinterpret_cast<char*>(this)),
-    0, static_cast<size_t>(reinterpret_cast<char*>(&height_) -
-    reinterpret_cast<char*>(&width_)) + sizeof(height_));
+void Size::SharedCtor() {
+  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
+      reinterpret_cast<char*>(&width_) - reinterpret_cast<char*>(this)),
+      0, static_cast<size_t>(reinterpret_cast<char*>(&height_) -
+      reinterpret_cast<char*>(&width_)) + sizeof(height_));
 }
 
 Size::~Size() {
   // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.Size)
-  if (GetArenaForAllocation() != nullptr) return;
   SharedDtor();
   _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 }
 
-inline void Size::SharedDtor() {
-  DCHECK(GetArenaForAllocation() == nullptr);
+void Size::SharedDtor() {
+  GOOGLE_DCHECK(GetArena() == nullptr);
 }
 
 void Size::ArenaDtor(void* object) {
@@ -835,10 +741,15 @@
 void Size::SetCachedSize(int size) const {
   _cached_size_.Set(size);
 }
+const Size& Size::default_instance() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Size_gtx_2eproto.base);
+  return *internal_default_instance();
+}
+
 
 void Size::Clear() {
 // @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.Size)
-  ::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
@@ -852,152 +763,66 @@
   _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 }
 
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-
-const char* Size::_InternalParse(
-    const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-  ptr = ::PROTOBUF_NAMESPACE_ID::internal::TcParser<2>::ParseLoop(
-      this, ptr, ctx, &_table_.header);
-  return ptr;
-}
-
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-const char* Size::Tct_ParseS1(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint8_t>() != 0))
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  ptr += 1;
-  hasbits |= (uint64_t{1} << data.hasbit_idx());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::gtxilib::oopclasses::protos::Size*>(msg, data.offset());
-  if (field == nullptr)
-    field = CreateMaybeMessage<::gtxilib::oopclasses::protos::Size>(ctx->data().arena);
-  return ctx->ParseMessage(field, ptr);
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-const char* Size::Tct_ParseS2(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint16_t>() != 0))
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  ptr += 2;
-  hasbits |= (uint64_t{1} << data.hasbit_idx());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::gtxilib::oopclasses::protos::Size*>(msg, data.offset());
-  if (field == nullptr)
-    field = CreateMaybeMessage<::gtxilib::oopclasses::protos::Size>(ctx->data().arena);
-  return ctx->ParseMessage(field, ptr);
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED1
-const char* Size::Tct_ParseR1(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint8_t>() != 0)) {
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  }
-  ptr += 1;
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<Size>>(msg, data.offset());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  ptr = ctx->ParseMessage(field.Add(), ptr);
-  return ptr;
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED1
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED2
-const char* Size::Tct_ParseR2(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint16_t>() != 0)) {
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  }
-  ptr += 2;
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<Size>>(msg, data.offset());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  ptr = ctx->ParseMessage(field.Add(), ptr);
-  return ptr;
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED2
-
-#else  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-
 const char* Size::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
   _Internal::HasBits has_bits{};
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArenaForAllocation(); (void)arena;
   while (!ctx->Done(&ptr)) {
-    ::uint32 tag;
+    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
     ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
+    CHK_(ptr);
     switch (tag >> 3) {
-      // optional float width = 1;
+      // float width = 1;
       case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8>(tag) == 13)) {
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 13)) {
           _Internal::set_has_width(&has_bits);
           width_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
           ptr += sizeof(float);
-        } else
-          goto handle_unusual;
+        } else goto handle_unusual;
         continue;
-      // optional float height = 2;
+      // float height = 2;
       case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8>(tag) == 21)) {
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 21)) {
           _Internal::set_has_height(&has_bits);
           height_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
           ptr += sizeof(float);
-        } else
-          goto handle_unusual;
+        } else goto handle_unusual;
         continue;
-      default:
-        goto handle_unusual;
+      default: {
+      handle_unusual:
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->SetLastTag(tag);
+          goto success;
+        }
+        ptr = UnknownFieldParse(tag,
+            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
+            ptr, ctx);
+        CHK_(ptr != nullptr);
+        continue;
+      }
     }  // switch
-  handle_unusual:
-    if ((tag == 0) || ((tag & 7) == 4)) {
-      CHK_(ptr);
-      ctx->SetLastTag(tag);
-      goto message_done;
-    }
-    ptr = UnknownFieldParse(
-        tag,
-        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-        ptr, ctx);
-    CHK_(ptr != nullptr);
   }  // while
-message_done:
+success:
   _has_bits_.Or(has_bits);
   return ptr;
 failure:
   ptr = nullptr;
-  goto message_done;
+  goto success;
 #undef CHK_
 }
 
-#endif  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-const ::PROTOBUF_NAMESPACE_ID::internal::TailCallParseTable<2>
-    Size::_table_ = {
-  {
-    PROTOBUF_FIELD_OFFSET(Size, _has_bits_),
-    0, 0, 0,  // no _extensions_
-    &_Size_default_instance_._instance,
-    ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::GenericFallback  // fallback
-  }, {
-    {::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::GenericFallback, {}},
-    // optional float width = 1;
-    {::PROTOBUF_NAMESPACE_ID::internal::TcParser<2>::SingularFixed<uint32_t, uint8_t>, {13, 0, static_cast<uint16_t>(PROTOBUF_FIELD_OFFSET(Size, width_))}},
-    // optional float height = 2;
-    {::PROTOBUF_NAMESPACE_ID::internal::TcParser<2>::SingularFixed<uint32_t, uint8_t>, {21, 1, static_cast<uint16_t>(PROTOBUF_FIELD_OFFSET(Size, height_))}},
-    {::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::GenericFallback, {}},
-  },
-};
-
-#endif  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-::uint8* Size::_InternalSerialize(
-    ::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
+::PROTOBUF_NAMESPACE_ID::uint8* Size::_InternalSerialize(
+    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
   // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.Size)
-  ::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
-  // optional float width = 1;
+  // float width = 1;
   if (_internal_has_width()) {
     target = stream->EnsureSpace(target);
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(1, this->_internal_width(), target);
   }
 
-  // optional float height = 2;
+  // float height = 2;
   if (_internal_has_height()) {
     target = stream->EnsureSpace(target);
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(2, this->_internal_height(), target);
@@ -1015,43 +840,52 @@
 // @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.Size)
   size_t total_size = 0;
 
-  ::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 0x00000003u) {
-    // optional float width = 1;
+    // float width = 1;
     if (cached_has_bits & 0x00000001u) {
       total_size += 1 + 4;
     }
 
-    // optional float height = 2;
+    // float height = 2;
     if (cached_has_bits & 0x00000002u) {
       total_size += 1 + 4;
     }
 
   }
-  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
+        _internal_metadata_, total_size, &_cached_size_);
+  }
+  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
+  return total_size;
 }
 
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Size::_class_data_ = {
-    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
-    Size::MergeImpl
-};
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Size::GetClassData() const { return &_class_data_; }
-
-void Size::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
-                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-  static_cast<Size *>(to)->MergeFrom(
-      static_cast<const Size &>(from));
+void Size::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.Size)
+  GOOGLE_DCHECK_NE(&from, this);
+  const Size* source =
+      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Size>(
+          &from);
+  if (source == nullptr) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.Size)
+    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.Size)
+    MergeFrom(*source);
+  }
 }
 
-
 void Size::MergeFrom(const Size& from) {
 // @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.Size)
-  DCHECK_NE(&from, this);
-  ::uint32 cached_has_bits = 0;
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   cached_has_bits = from._has_bits_[0];
@@ -1064,22 +898,19 @@
     }
     _has_bits_[0] |= cached_has_bits;
   }
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+}
+
+void Size::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.Size)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
 }
 
 void Size::CopyFrom(const Size& from) {
 // @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.Size)
   if (&from == this) return;
-  #ifndef NDEBUG
-  size_t from_size = from.ByteSizeLong();
-  #endif
   Clear();
-  #ifndef NDEBUG
-  CHECK_EQ(from_size, from.ByteSizeLong())
-    << "Source of CopyFrom changed when clearing target.  Either "
-       "source is a nested message in target (not allowed), or "
-       "another thread is modifying the source.";
-  #endif
   MergeFrom(from);
 }
 
@@ -1089,7 +920,7 @@
 
 void Size::InternalSwap(Size* other) {
   using std::swap;
-  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
+  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   ::PROTOBUF_NAMESPACE_ID::internal::memswap<
       PROTOBUF_FIELD_OFFSET(Size, height_)
@@ -1100,11 +931,10 @@
 }
 
 ::PROTOBUF_NAMESPACE_ID::Metadata Size::GetMetadata() const {
-  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
-      &descriptor_table_mq4kUTL9cO7_getter, &descriptor_table_mq4kUTL9cO7_once,
-      file_level_metadata_mq4kUTL9cO7[1]);
+  return GetMetadataStatic();
 }
 
+
 // ===================================================================
 
 class Rect::_Internal {
@@ -1128,13 +958,10 @@
 Rect::_Internal::size(const Rect* msg) {
   return *msg->size_;
 }
-Rect::Rect(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                         bool is_message_owned)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
+Rect::Rect(::PROTOBUF_NAMESPACE_ID::Arena* arena)
+  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
   SharedCtor();
-  if (!is_message_owned) {
-    RegisterArenaDtor(arena);
-  }
+  RegisterArenaDtor(arena);
   // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.Rect)
 }
 Rect::Rect(const Rect& from)
@@ -1154,24 +981,24 @@
   // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.Rect)
 }
 
-inline void Rect::SharedCtor() {
-::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
-    reinterpret_cast<char*>(&origin_) - reinterpret_cast<char*>(this)),
-    0, static_cast<size_t>(reinterpret_cast<char*>(&size_) -
-    reinterpret_cast<char*>(&origin_)) + sizeof(size_));
+void Rect::SharedCtor() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Rect_gtx_2eproto.base);
+  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
+      reinterpret_cast<char*>(&origin_) - reinterpret_cast<char*>(this)),
+      0, static_cast<size_t>(reinterpret_cast<char*>(&size_) -
+      reinterpret_cast<char*>(&origin_)) + sizeof(size_));
 }
 
 Rect::~Rect() {
   // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.Rect)
-  if (GetArenaForAllocation() != nullptr) return;
   SharedDtor();
   _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 }
 
-inline void Rect::SharedDtor() {
-  DCHECK(GetArenaForAllocation() == nullptr);
-  delete origin_;
-  delete size_;
+void Rect::SharedDtor() {
+  GOOGLE_DCHECK(GetArena() == nullptr);
+  if (this != internal_default_instance()) delete origin_;
+  if (this != internal_default_instance()) delete size_;
 }
 
 void Rect::ArenaDtor(void* object) {
@@ -1183,167 +1010,89 @@
 void Rect::SetCachedSize(int size) const {
   _cached_size_.Set(size);
 }
+const Rect& Rect::default_instance() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Rect_gtx_2eproto.base);
+  return *internal_default_instance();
+}
+
 
 void Rect::Clear() {
 // @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.Rect)
-  ::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 0x00000003u) {
     if (cached_has_bits & 0x00000001u) {
-      DCHECK(origin_ != nullptr);
-      origin_->Clear();
+      if (GetArena() == nullptr && origin_ != nullptr) {
+        delete origin_;
+      }
+      origin_ = nullptr;
     }
     if (cached_has_bits & 0x00000002u) {
-      DCHECK(size_ != nullptr);
-      size_->Clear();
+      if (GetArena() == nullptr && size_ != nullptr) {
+        delete size_;
+      }
+      size_ = nullptr;
     }
   }
   _has_bits_.Clear();
   _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 }
 
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-
-const char* Rect::_InternalParse(
-    const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-  ptr = ::PROTOBUF_NAMESPACE_ID::internal::TcParser<2>::ParseLoop(
-      this, ptr, ctx, &_table_.header);
-  return ptr;
-}
-
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-const char* Rect::Tct_ParseS1(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint8_t>() != 0))
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  ptr += 1;
-  hasbits |= (uint64_t{1} << data.hasbit_idx());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::gtxilib::oopclasses::protos::Rect*>(msg, data.offset());
-  if (field == nullptr)
-    field = CreateMaybeMessage<::gtxilib::oopclasses::protos::Rect>(ctx->data().arena);
-  return ctx->ParseMessage(field, ptr);
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-const char* Rect::Tct_ParseS2(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint16_t>() != 0))
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  ptr += 2;
-  hasbits |= (uint64_t{1} << data.hasbit_idx());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::gtxilib::oopclasses::protos::Rect*>(msg, data.offset());
-  if (field == nullptr)
-    field = CreateMaybeMessage<::gtxilib::oopclasses::protos::Rect>(ctx->data().arena);
-  return ctx->ParseMessage(field, ptr);
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED1
-const char* Rect::Tct_ParseR1(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint8_t>() != 0)) {
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  }
-  ptr += 1;
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<Rect>>(msg, data.offset());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  ptr = ctx->ParseMessage(field.Add(), ptr);
-  return ptr;
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED1
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED2
-const char* Rect::Tct_ParseR2(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint16_t>() != 0)) {
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  }
-  ptr += 2;
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<Rect>>(msg, data.offset());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  ptr = ctx->ParseMessage(field.Add(), ptr);
-  return ptr;
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED2
-
-#else  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-
 const char* Rect::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
   _Internal::HasBits has_bits{};
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArenaForAllocation(); (void)arena;
   while (!ctx->Done(&ptr)) {
-    ::uint32 tag;
+    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
     ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
+    CHK_(ptr);
     switch (tag >> 3) {
-      // optional .gtxilib.oopclasses.protos.Point origin = 1;
+      // .gtxilib.oopclasses.protos.Point origin = 1;
       case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8>(tag) == 10)) {
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
           ptr = ctx->ParseMessage(_internal_mutable_origin(), ptr);
           CHK_(ptr);
-        } else
-          goto handle_unusual;
+        } else goto handle_unusual;
         continue;
-      // optional .gtxilib.oopclasses.protos.Size size = 2;
+      // .gtxilib.oopclasses.protos.Size size = 2;
       case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8>(tag) == 18)) {
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
           ptr = ctx->ParseMessage(_internal_mutable_size(), ptr);
           CHK_(ptr);
-        } else
-          goto handle_unusual;
+        } else goto handle_unusual;
         continue;
-      default:
-        goto handle_unusual;
+      default: {
+      handle_unusual:
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->SetLastTag(tag);
+          goto success;
+        }
+        ptr = UnknownFieldParse(tag,
+            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
+            ptr, ctx);
+        CHK_(ptr != nullptr);
+        continue;
+      }
     }  // switch
-  handle_unusual:
-    if ((tag == 0) || ((tag & 7) == 4)) {
-      CHK_(ptr);
-      ctx->SetLastTag(tag);
-      goto message_done;
-    }
-    ptr = UnknownFieldParse(
-        tag,
-        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-        ptr, ctx);
-    CHK_(ptr != nullptr);
   }  // while
-message_done:
+success:
   _has_bits_.Or(has_bits);
   return ptr;
 failure:
   ptr = nullptr;
-  goto message_done;
+  goto success;
 #undef CHK_
 }
 
-#endif  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-const ::PROTOBUF_NAMESPACE_ID::internal::TailCallParseTable<2>
-    Rect::_table_ = {
-  {
-    PROTOBUF_FIELD_OFFSET(Rect, _has_bits_),
-    0, 0, 0,  // no _extensions_
-    &_Rect_default_instance_._instance,
-    ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::GenericFallback  // fallback
-  }, {
-    {::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::GenericFallback, {}},
-    // optional .gtxilib.oopclasses.protos.Point origin = 1;
-    {PROTOBUF_TC_PARSE_SINGULAR1(::gtxilib::oopclasses::protos::Point), {10, 0, static_cast<uint16_t>(PROTOBUF_FIELD_OFFSET(Rect, origin_))}},
-    // optional .gtxilib.oopclasses.protos.Size size = 2;
-    {PROTOBUF_TC_PARSE_SINGULAR1(::gtxilib::oopclasses::protos::Size), {18, 1, static_cast<uint16_t>(PROTOBUF_FIELD_OFFSET(Rect, size_))}},
-    {::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::GenericFallback, {}},
-  },
-};
-
-#endif  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-::uint8* Rect::_InternalSerialize(
-    ::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
+::PROTOBUF_NAMESPACE_ID::uint8* Rect::_InternalSerialize(
+    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
   // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.Rect)
-#ifdef NDEBUG
-  ::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
-  // optional .gtxilib.oopclasses.protos.Point origin = 1;
+  // .gtxilib.oopclasses.protos.Point origin = 1;
   if (_internal_has_origin()) {
     target = stream->EnsureSpace(target);
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
@@ -1351,7 +1100,7 @@
         1, _Internal::origin(this), target, stream);
   }
 
-  // optional .gtxilib.oopclasses.protos.Size size = 2;
+  // .gtxilib.oopclasses.protos.Size size = 2;
   if (_internal_has_size()) {
     target = stream->EnsureSpace(target);
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
@@ -1363,41 +1112,6 @@
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
         _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
   }
-#else  // NDEBUG
-  for (int i = 1; i >= 0; i-- ) {
-    switch(i) {
-      case 0: {
-        // optional .gtxilib.oopclasses.protos.Point origin = 1;
-        if (_internal_has_origin()) {
-          target = stream->EnsureSpace(target);
-          target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-            InternalWriteMessage(
-              1, _Internal::origin(this), target, stream);
-        }
-
-        break;
-      }
-      case 1: {
-        // optional .gtxilib.oopclasses.protos.Size size = 2;
-        if (_internal_has_size()) {
-          target = stream->EnsureSpace(target);
-          target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-            InternalWriteMessage(
-              2, _Internal::size(this), target, stream);
-        }
-
-        break;
-      }
-      default: {
-        DCHECK(false) << "Unexpected index: " << i;
-      }
-    }
-  }
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-#endif  // !NDEBUG
   // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.Rect)
   return target;
 }
@@ -1406,20 +1120,20 @@
 // @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.Rect)
   size_t total_size = 0;
 
-  ::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 0x00000003u) {
-    // optional .gtxilib.oopclasses.protos.Point origin = 1;
+    // .gtxilib.oopclasses.protos.Point origin = 1;
     if (cached_has_bits & 0x00000001u) {
       total_size += 1 +
         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
           *origin_);
     }
 
-    // optional .gtxilib.oopclasses.protos.Size size = 2;
+    // .gtxilib.oopclasses.protos.Size size = 2;
     if (cached_has_bits & 0x00000002u) {
       total_size += 1 +
         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
@@ -1427,26 +1141,35 @@
     }
 
   }
-  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
+        _internal_metadata_, total_size, &_cached_size_);
+  }
+  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
+  return total_size;
 }
 
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Rect::_class_data_ = {
-    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
-    Rect::MergeImpl
-};
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Rect::GetClassData() const { return &_class_data_; }
-
-void Rect::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
-                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-  static_cast<Rect *>(to)->MergeFrom(
-      static_cast<const Rect &>(from));
+void Rect::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.Rect)
+  GOOGLE_DCHECK_NE(&from, this);
+  const Rect* source =
+      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Rect>(
+          &from);
+  if (source == nullptr) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.Rect)
+    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.Rect)
+    MergeFrom(*source);
+  }
 }
 
-
 void Rect::MergeFrom(const Rect& from) {
 // @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.Rect)
-  DCHECK_NE(&from, this);
-  ::uint32 cached_has_bits = 0;
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   cached_has_bits = from._has_bits_[0];
@@ -1458,22 +1181,19 @@
       _internal_mutable_size()->::gtxilib::oopclasses::protos::Size::MergeFrom(from._internal_size());
     }
   }
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+}
+
+void Rect::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.Rect)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
 }
 
 void Rect::CopyFrom(const Rect& from) {
 // @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.Rect)
   if (&from == this) return;
-  #ifndef NDEBUG
-  size_t from_size = from.ByteSizeLong();
-  #endif
   Clear();
-  #ifndef NDEBUG
-  CHECK_EQ(from_size, from.ByteSizeLong())
-    << "Source of CopyFrom changed when clearing target.  Either "
-       "source is a nested message in target (not allowed), or "
-       "another thread is modifying the source.";
-  #endif
   MergeFrom(from);
 }
 
@@ -1483,7 +1203,7 @@
 
 void Rect::InternalSwap(Rect* other) {
   using std::swap;
-  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
+  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   ::PROTOBUF_NAMESPACE_ID::internal::memswap<
       PROTOBUF_FIELD_OFFSET(Rect, size_)
@@ -1494,50 +1214,172 @@
 }
 
 ::PROTOBUF_NAMESPACE_ID::Metadata Rect::GetMetadata() const {
-  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
-      &descriptor_table_mq4kUTL9cO7_getter, &descriptor_table_mq4kUTL9cO7_once,
-      file_level_metadata_mq4kUTL9cO7[2]);
+  return GetMetadataStatic();
 }
 
+
 // ===================================================================
 
 class ElementType::_Internal {
  public:
 };
 
-ElementType::ElementType(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                         bool is_message_owned)
-  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) {
+ElementType::ElementType(::PROTOBUF_NAMESPACE_ID::Arena* arena)
+  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
+  SharedCtor();
+  RegisterArenaDtor(arena);
   // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.ElementType)
 }
 ElementType::ElementType(const ElementType& from)
-  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() {
+  : ::PROTOBUF_NAMESPACE_ID::Message() {
   _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
   // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.ElementType)
 }
 
+void ElementType::SharedCtor() {
+}
+
+ElementType::~ElementType() {
+  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.ElementType)
+  SharedDtor();
+  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+}
+
+void ElementType::SharedDtor() {
+  GOOGLE_DCHECK(GetArena() == nullptr);
+}
+
+void ElementType::ArenaDtor(void* object) {
+  ElementType* _this = reinterpret_cast< ElementType* >(object);
+  (void)_this;
+}
+void ElementType::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
+}
+void ElementType::SetCachedSize(int size) const {
+  _cached_size_.Set(size);
+}
+const ElementType& ElementType::default_instance() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ElementType_gtx_2eproto.base);
+  return *internal_default_instance();
+}
 
 
+void ElementType::Clear() {
+// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.ElementType)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
 
+  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+}
 
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ElementType::_class_data_ = {
-    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl,
-    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl,
-};
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ElementType::GetClassData() const { return &_class_data_; }
+const char* ElementType::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
+#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
+  while (!ctx->Done(&ptr)) {
+    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
+    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
+    CHK_(ptr);
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->SetLastTag(tag);
+          goto success;
+        }
+        ptr = UnknownFieldParse(tag,
+            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
+            ptr, ctx);
+        CHK_(ptr != nullptr);
+        continue;
+  }  // while
+success:
+  return ptr;
+failure:
+  ptr = nullptr;
+  goto success;
+#undef CHK_
+}
 
+::PROTOBUF_NAMESPACE_ID::uint8* ElementType::_InternalSerialize(
+    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
+  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.ElementType)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
 
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
+        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.ElementType)
+  return target;
+}
 
+size_t ElementType::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.ElementType)
+  size_t total_size = 0;
 
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
 
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
+        _internal_metadata_, total_size, &_cached_size_);
+  }
+  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
+  return total_size;
+}
 
+void ElementType::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.ElementType)
+  GOOGLE_DCHECK_NE(&from, this);
+  const ElementType* source =
+      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ElementType>(
+          &from);
+  if (source == nullptr) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.ElementType)
+    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.ElementType)
+    MergeFrom(*source);
+  }
+}
+
+void ElementType::MergeFrom(const ElementType& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.ElementType)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+}
+
+void ElementType::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.ElementType)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void ElementType::CopyFrom(const ElementType& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.ElementType)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool ElementType::IsInitialized() const {
+  return true;
+}
+
+void ElementType::InternalSwap(ElementType* other) {
+  using std::swap;
+  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
+}
 
 ::PROTOBUF_NAMESPACE_ID::Metadata ElementType::GetMetadata() const {
-  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
-      &descriptor_table_mq4kUTL9cO7_getter, &descriptor_table_mq4kUTL9cO7_once,
-      file_level_metadata_mq4kUTL9cO7[3]);
+  return GetMetadataStatic();
 }
 
+
 // ===================================================================
 
 class UIElement::_Internal {
@@ -1565,13 +1407,10 @@
 UIElement::_Internal::ax_frame(const UIElement* msg) {
   return *msg->ax_frame_;
 }
-UIElement::UIElement(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                         bool is_message_owned)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
+UIElement::UIElement(::PROTOBUF_NAMESPACE_ID::Arena* arena)
+  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
   SharedCtor();
-  if (!is_message_owned) {
-    RegisterArenaDtor(arena);
-  }
+  RegisterArenaDtor(arena);
   // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.UIElement)
 }
 UIElement::UIElement(const UIElement& from)
@@ -1581,7 +1420,7 @@
   ax_label_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
   if (from._internal_has_ax_label()) {
     ax_label_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_ax_label(), 
-      GetArenaForAllocation());
+      GetArena());
   }
   if (from._internal_has_ax_frame()) {
     ax_frame_ = new ::gtxilib::oopclasses::protos::Rect(*from.ax_frame_);
@@ -1594,25 +1433,25 @@
   // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.UIElement)
 }
 
-inline void UIElement::SharedCtor() {
-ax_label_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
-    reinterpret_cast<char*>(&ax_frame_) - reinterpret_cast<char*>(this)),
-    0, static_cast<size_t>(reinterpret_cast<char*>(&ax_element_type_) -
-    reinterpret_cast<char*>(&ax_frame_)) + sizeof(ax_element_type_));
+void UIElement::SharedCtor() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_UIElement_gtx_2eproto.base);
+  ax_label_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
+      reinterpret_cast<char*>(&ax_frame_) - reinterpret_cast<char*>(this)),
+      0, static_cast<size_t>(reinterpret_cast<char*>(&ax_element_type_) -
+      reinterpret_cast<char*>(&ax_frame_)) + sizeof(ax_element_type_));
 }
 
 UIElement::~UIElement() {
   // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.UIElement)
-  if (GetArenaForAllocation() != nullptr) return;
   SharedDtor();
   _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 }
 
-inline void UIElement::SharedDtor() {
-  DCHECK(GetArenaForAllocation() == nullptr);
+void UIElement::SharedDtor() {
+  GOOGLE_DCHECK(GetArena() == nullptr);
   ax_label_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  delete ax_frame_;
+  if (this != internal_default_instance()) delete ax_frame_;
 }
 
 void UIElement::ArenaDtor(void* object) {
@@ -1624,10 +1463,15 @@
 void UIElement::SetCachedSize(int size) const {
   _cached_size_.Set(size);
 }
+const UIElement& UIElement::default_instance() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_UIElement_gtx_2eproto.base);
+  return *internal_default_instance();
+}
+
 
 void UIElement::Clear() {
 // @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.UIElement)
-  ::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
@@ -1637,8 +1481,10 @@
       ax_label_.ClearNonDefaultToEmpty();
     }
     if (cached_has_bits & 0x00000002u) {
-      DCHECK(ax_frame_ != nullptr);
-      ax_frame_->Clear();
+      if (GetArena() == nullptr && ax_frame_ != nullptr) {
+        delete ax_frame_;
+      }
+      ax_frame_ = nullptr;
     }
   }
   if (cached_has_bits & 0x0000001cu) {
@@ -1650,246 +1496,96 @@
   _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 }
 
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-
-const char* UIElement::_InternalParse(
-    const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-  ptr = ::PROTOBUF_NAMESPACE_ID::internal::TcParser<3>::ParseLoop(
-      this, ptr, ctx, &_table_.header);
-  return ptr;
-}
-
-const char* UIElement::Tct_ParseFallback(PROTOBUF_TC_PARAM_DECL) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) return nullptr
-  auto* typed_msg = static_cast<UIElement*>(msg);
-  typed_msg->_has_bits_[0] = hasbits;
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = typed_msg->GetArenaForAllocation(); (void)arena;
-  ::uint32 tag;
-  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-  switch (tag >> 3) {
-    // optional string ax_label = 3;
-    case 3:
-      if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8>(tag) == 26)) {
-        _Internal::set_has_ax_label(&typed_msg->_has_bits_);
-        if (arena != nullptr) {
-          ptr = ctx->ReadArenaString(ptr, &typed_msg->ax_label_, arena);
-        } else {
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(typed_msg->ax_label_.MutableNoArenaNoDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()), ptr, ctx);
-        }
-        const std::string* str = &typed_msg->ax_label_.Get(); (void)str;
-        CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "gtxilib.oopclasses.protos.UIElement.ax_label"));
-        CHK_(ptr);
-      } else
-        goto handle_unusual;
-      goto next_tag;
-    // optional .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum ax_element_type = 5;
-    case 5:
-      if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8>(tag) == 40)) {
-        ::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-        CHK_(ptr);
-        typed_msg->_internal_set_ax_element_type(static_cast<::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum>(val));
-      } else
-        goto handle_unusual;
-      goto next_tag;
-    default:
-      goto handle_unusual;
-  }  // switch
-handle_unusual:
-  if ((tag == 0) || ((tag & 7) == 4)) {
-    CHK_(ptr);
-    ctx->SetLastTag(tag);
-    goto message_done;
-  }
-  ptr = UnknownFieldParse(
-      tag,
-      typed_msg->_internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-      ptr, ctx);
-  CHK_(ptr != nullptr);
-next_tag:
-message_done:
-  return ptr;
-#undef CHK_
-}
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-const char* UIElement::Tct_ParseS1(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint8_t>() != 0))
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  ptr += 1;
-  hasbits |= (uint64_t{1} << data.hasbit_idx());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::gtxilib::oopclasses::protos::UIElement*>(msg, data.offset());
-  if (field == nullptr)
-    field = CreateMaybeMessage<::gtxilib::oopclasses::protos::UIElement>(ctx->data().arena);
-  return ctx->ParseMessage(field, ptr);
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-const char* UIElement::Tct_ParseS2(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint16_t>() != 0))
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  ptr += 2;
-  hasbits |= (uint64_t{1} << data.hasbit_idx());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::gtxilib::oopclasses::protos::UIElement*>(msg, data.offset());
-  if (field == nullptr)
-    field = CreateMaybeMessage<::gtxilib::oopclasses::protos::UIElement>(ctx->data().arena);
-  return ctx->ParseMessage(field, ptr);
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED1
-const char* UIElement::Tct_ParseR1(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint8_t>() != 0)) {
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  }
-  ptr += 1;
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<UIElement>>(msg, data.offset());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  ptr = ctx->ParseMessage(field.Add(), ptr);
-  return ptr;
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED1
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED2
-const char* UIElement::Tct_ParseR2(PROTOBUF_TC_PARAM_DECL) {
-  if (PROTOBUF_PREDICT_FALSE(data.coded_tag<uint16_t>() != 0)) {
-    PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
-  }
-  ptr += 2;
-  auto& field = ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::RefAt<::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<UIElement>>(msg, data.offset());
-  ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::SyncHasbits(msg, hasbits, table);
-  ptr = ctx->ParseMessage(field.Add(), ptr);
-  return ptr;
-}
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED2
-
-#else  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-
 const char* UIElement::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
   _Internal::HasBits has_bits{};
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArenaForAllocation(); (void)arena;
   while (!ctx->Done(&ptr)) {
-    ::uint32 tag;
+    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
     ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
+    CHK_(ptr);
     switch (tag >> 3) {
-      // optional bool is_ax_element = 1;
+      // bool is_ax_element = 1;
       case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8>(tag) == 8)) {
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
           _Internal::set_has_is_ax_element(&has_bits);
           is_ax_element_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
           CHK_(ptr);
-        } else
-          goto handle_unusual;
+        } else goto handle_unusual;
         continue;
-      // optional uint64 ax_traits = 2;
+      // uint64 ax_traits = 2;
       case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8>(tag) == 16)) {
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
           _Internal::set_has_ax_traits(&has_bits);
           ax_traits_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
           CHK_(ptr);
-        } else
-          goto handle_unusual;
+        } else goto handle_unusual;
         continue;
-      // optional string ax_label = 3;
+      // string ax_label = 3;
       case 3:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8>(tag) == 26)) {
-          _Internal::set_has_ax_label(&has_bits);
-          if (arena != nullptr) {
-            ptr = ctx->ReadArenaString(ptr, &ax_label_, arena);
-          } else {
-            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(ax_label_.MutableNoArenaNoDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()), ptr, ctx);
-          }
-          const std::string* str = &ax_label_.Get(); (void)str;
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+          auto str = _internal_mutable_ax_label();
+          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
           CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "gtxilib.oopclasses.protos.UIElement.ax_label"));
           CHK_(ptr);
-        } else
-          goto handle_unusual;
+        } else goto handle_unusual;
         continue;
-      // optional .gtxilib.oopclasses.protos.Rect ax_frame = 4;
+      // .gtxilib.oopclasses.protos.Rect ax_frame = 4;
       case 4:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8>(tag) == 34)) {
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
           ptr = ctx->ParseMessage(_internal_mutable_ax_frame(), ptr);
           CHK_(ptr);
-        } else
-          goto handle_unusual;
+        } else goto handle_unusual;
         continue;
-      // optional .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum ax_element_type = 5;
+      // .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum ax_element_type = 5;
       case 5:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8>(tag) == 40)) {
-          ::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
+          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
           CHK_(ptr);
           _internal_set_ax_element_type(static_cast<::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum>(val));
-        } else
-          goto handle_unusual;
+        } else goto handle_unusual;
         continue;
-      default:
-        goto handle_unusual;
+      default: {
+      handle_unusual:
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->SetLastTag(tag);
+          goto success;
+        }
+        ptr = UnknownFieldParse(tag,
+            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
+            ptr, ctx);
+        CHK_(ptr != nullptr);
+        continue;
+      }
     }  // switch
-  handle_unusual:
-    if ((tag == 0) || ((tag & 7) == 4)) {
-      CHK_(ptr);
-      ctx->SetLastTag(tag);
-      goto message_done;
-    }
-    ptr = UnknownFieldParse(
-        tag,
-        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-        ptr, ctx);
-    CHK_(ptr != nullptr);
   }  // while
-message_done:
+success:
   _has_bits_.Or(has_bits);
   return ptr;
 failure:
   ptr = nullptr;
-  goto message_done;
+  goto success;
 #undef CHK_
 }
 
-#endif  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-const ::PROTOBUF_NAMESPACE_ID::internal::TailCallParseTable<3>
-    UIElement::_table_ = {
-  {
-    PROTOBUF_FIELD_OFFSET(UIElement, _has_bits_),
-    0, 0, 0,  // no _extensions_
-    &_UIElement_default_instance_._instance,
-    UIElement::Tct_ParseFallback  // fallback
-  }, {
-    {UIElement::Tct_ParseFallback, {}},
-    // optional bool is_ax_element = 1;
-    {::PROTOBUF_NAMESPACE_ID::internal::TcParser<3>::SingularVarint<bool, uint8_t, ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::kNoConversion>, {8, 3, static_cast<uint16_t>(PROTOBUF_FIELD_OFFSET(UIElement, is_ax_element_))}},
-    // optional uint64 ax_traits = 2;
-    {::PROTOBUF_NAMESPACE_ID::internal::TcParser<3>::SingularVarint<uint64_t, uint8_t, ::PROTOBUF_NAMESPACE_ID::internal::TcParserBase::kNoConversion>, {16, 2, static_cast<uint16_t>(PROTOBUF_FIELD_OFFSET(UIElement, ax_traits_))}},
-    {UIElement::Tct_ParseFallback, {}},
-    // optional .gtxilib.oopclasses.protos.Rect ax_frame = 4;
-    {PROTOBUF_TC_PARSE_SINGULAR1(::gtxilib::oopclasses::protos::Rect), {34, 1, static_cast<uint16_t>(PROTOBUF_FIELD_OFFSET(UIElement, ax_frame_))}},
-    {UIElement::Tct_ParseFallback, {}},
-    {UIElement::Tct_ParseFallback, {}},
-    {UIElement::Tct_ParseFallback, {}},
-  },
-};
-
-#endif  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-::uint8* UIElement::_InternalSerialize(
-    ::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
+::PROTOBUF_NAMESPACE_ID::uint8* UIElement::_InternalSerialize(
+    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
   // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.UIElement)
-  ::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
-  // optional bool is_ax_element = 1;
+  // bool is_ax_element = 1;
   if (_internal_has_is_ax_element()) {
     target = stream->EnsureSpace(target);
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_is_ax_element(), target);
   }
 
-  // optional uint64 ax_traits = 2;
+  // uint64 ax_traits = 2;
   if (_internal_has_ax_traits()) {
     target = stream->EnsureSpace(target);
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(2, this->_internal_ax_traits(), target);
   }
 
-  // optional string ax_label = 3;
+  // string ax_label = 3;
   if (_internal_has_ax_label()) {
     ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
       this->_internal_ax_label().data(), static_cast<int>(this->_internal_ax_label().length()),
@@ -1899,7 +1595,7 @@
         3, this->_internal_ax_label(), target);
   }
 
-  // optional .gtxilib.oopclasses.protos.Rect ax_frame = 4;
+  // .gtxilib.oopclasses.protos.Rect ax_frame = 4;
   if (_internal_has_ax_frame()) {
     target = stream->EnsureSpace(target);
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
@@ -1907,7 +1603,7 @@
         4, _Internal::ax_frame(this), target, stream);
   }
 
-  // optional .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum ax_element_type = 5;
+  // .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum ax_element_type = 5;
   if (_internal_has_ax_element_type()) {
     target = stream->EnsureSpace(target);
     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
@@ -1926,63 +1622,74 @@
 // @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.UIElement)
   size_t total_size = 0;
 
-  ::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
   if (cached_has_bits & 0x0000001fu) {
-    // optional string ax_label = 3;
+    // string ax_label = 3;
     if (cached_has_bits & 0x00000001u) {
       total_size += 1 +
         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
           this->_internal_ax_label());
     }
 
-    // optional .gtxilib.oopclasses.protos.Rect ax_frame = 4;
+    // .gtxilib.oopclasses.protos.Rect ax_frame = 4;
     if (cached_has_bits & 0x00000002u) {
       total_size += 1 +
         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
           *ax_frame_);
     }
 
-    // optional uint64 ax_traits = 2;
+    // uint64 ax_traits = 2;
     if (cached_has_bits & 0x00000004u) {
-      total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_ax_traits());
+      total_size += 1 +
+        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
+          this->_internal_ax_traits());
     }
 
-    // optional bool is_ax_element = 1;
+    // bool is_ax_element = 1;
     if (cached_has_bits & 0x00000008u) {
       total_size += 1 + 1;
     }
 
-    // optional .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum ax_element_type = 5;
+    // .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum ax_element_type = 5;
     if (cached_has_bits & 0x00000010u) {
       total_size += 1 +
         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_ax_element_type());
     }
 
   }
-  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
+        _internal_metadata_, total_size, &_cached_size_);
+  }
+  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
+  return total_size;
 }
 
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData UIElement::_class_data_ = {
-    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
-    UIElement::MergeImpl
-};
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*UIElement::GetClassData() const { return &_class_data_; }
-
-void UIElement::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
-                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-  static_cast<UIElement *>(to)->MergeFrom(
-      static_cast<const UIElement &>(from));
+void UIElement::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.UIElement)
+  GOOGLE_DCHECK_NE(&from, this);
+  const UIElement* source =
+      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<UIElement>(
+          &from);
+  if (source == nullptr) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.UIElement)
+    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.UIElement)
+    MergeFrom(*source);
+  }
 }
 
-
 void UIElement::MergeFrom(const UIElement& from) {
 // @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.UIElement)
-  DCHECK_NE(&from, this);
-  ::uint32 cached_has_bits = 0;
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   cached_has_bits = from._has_bits_[0];
@@ -2004,22 +1711,19 @@
     }
     _has_bits_[0] |= cached_has_bits;
   }
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+}
+
+void UIElement::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.UIElement)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
 }
 
 void UIElement::CopyFrom(const UIElement& from) {
 // @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.UIElement)
   if (&from == this) return;
-  #ifndef NDEBUG
-  size_t from_size = from.ByteSizeLong();
-  #endif
   Clear();
-  #ifndef NDEBUG
-  CHECK_EQ(from_size, from.ByteSizeLong())
-    << "Source of CopyFrom changed when clearing target.  Either "
-       "source is a nested message in target (not allowed), or "
-       "another thread is modifying the source.";
-  #endif
   MergeFrom(from);
 }
 
@@ -2029,15 +1733,9 @@
 
 void UIElement::InternalSwap(UIElement* other) {
   using std::swap;
-  auto* lhs_arena = GetArenaForAllocation();
-  auto* rhs_arena = other->GetArenaForAllocation();
-  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
+  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
   swap(_has_bits_[0], other->_has_bits_[0]);
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
-      &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
-      &ax_label_, lhs_arena,
-      &other->ax_label_, rhs_arena
-  );
+  ax_label_.Swap(&other->ax_label_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
   ::PROTOBUF_NAMESPACE_ID::internal::memswap<
       PROTOBUF_FIELD_OFFSET(UIElement, ax_element_type_)
       + sizeof(UIElement::ax_element_type_)
@@ -2047,11 +1745,10 @@
 }
 
 ::PROTOBUF_NAMESPACE_ID::Metadata UIElement::GetMetadata() const {
-  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
-      &descriptor_table_mq4kUTL9cO7_getter, &descriptor_table_mq4kUTL9cO7_once,
-      file_level_metadata_mq4kUTL9cO7[4]);
+  return GetMetadataStatic();
 }
 
+
 // @@protoc_insertion_point(namespace_scope)
 }  // namespace protos
 }  // namespace oopclasses
@@ -2075,4 +1772,4 @@
 PROTOBUF_NAMESPACE_CLOSE
 
 // @@protoc_insertion_point(global_scope)
-#include "net/proto2/public/port_undef.inc"
+#include <google/protobuf/port_undef.inc>
diff --git a/OOPClasses/Protos/gtx.pb.h b/OOPClasses/Protos/gtx.pb.h
index cb6aa1f..4d25d67 100644
--- a/OOPClasses/Protos/gtx.pb.h
+++ b/OOPClasses/Protos/gtx.pb.h
@@ -6,22 +6,35 @@
 
 #include <limits>
 #include <string>
-#include <type_traits>
 
-#include "net/proto2/io/public/coded_stream.h"
-#include "net/proto2/public/arena.h"
-#include "net/proto2/public/arenastring.h"
-#include "net/proto2/public/generated_message_table_driven.h"
-#include "net/proto2/public/generated_message_tctable_decl.h"
-#include "net/proto2/public/generated_message_util.h"
-#include "net/proto2/public/metadata_lite.h"
-#include "net/proto2/public/generated_message_reflection.h"
-#include "net/proto2/public/message.h"
-#include "net/proto2/public/generated_enum_reflection.h"
-#include "net/proto2/public/unknown_field_set.h"
+#include <google/protobuf/port_def.inc>
+#if PROTOBUF_VERSION < 3014000
+#error This file was generated by a newer version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please update
+#error your headers.
+#endif
+#if 3014000 < PROTOBUF_MIN_PROTOC_VERSION
+#error This file was generated by an older version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please
+#error regenerate this file with a newer version of protoc.
+#endif
+
+#include <google/protobuf/port_undef.inc>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/arena.h>
+#include <google/protobuf/arenastring.h>
+#include <google/protobuf/generated_message_table_driven.h>
+#include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/metadata_lite.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/message.h>
+#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
+#include <google/protobuf/extension_set.h>  // IWYU pragma: export
+#include <google/protobuf/generated_enum_reflection.h>
+#include <google/protobuf/unknown_field_set.h>
 // @@protoc_insertion_point(includes)
-#include "net/proto2/public/port_def.inc"
-#define PROTOBUF_INTERNAL_EXPORT_mq4kUTL9cO7
+#include <google/protobuf/port_def.inc>
+#define PROTOBUF_INTERNAL_EXPORT_gtx_2eproto
 PROTOBUF_NAMESPACE_OPEN
 namespace internal {
 class AnyMetadata;
@@ -29,7 +42,7 @@
 PROTOBUF_NAMESPACE_CLOSE
 
 // Internal implementation detail -- do not use these members.
-struct TableStruct_mq4kUTL9cO7 {
+struct TableStruct_gtx_2eproto {
   static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
     PROTOBUF_SECTION_VARIABLE(protodesc_cold);
   static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
@@ -38,26 +51,26 @@
     PROTOBUF_SECTION_VARIABLE(protodesc_cold);
   static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
   static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
-  static const ::uint32 offsets[];
+  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
 };
-extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_mq4kUTL9cO7;
+extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_gtx_2eproto;
 namespace gtxilib {
 namespace oopclasses {
 namespace protos {
 class ElementType;
-struct ElementTypeDefaultTypeInternal;
+class ElementTypeDefaultTypeInternal;
 extern ElementTypeDefaultTypeInternal _ElementType_default_instance_;
 class Point;
-struct PointDefaultTypeInternal;
+class PointDefaultTypeInternal;
 extern PointDefaultTypeInternal _Point_default_instance_;
 class Rect;
-struct RectDefaultTypeInternal;
+class RectDefaultTypeInternal;
 extern RectDefaultTypeInternal _Rect_default_instance_;
 class Size;
-struct SizeDefaultTypeInternal;
+class SizeDefaultTypeInternal;
 extern SizeDefaultTypeInternal _Size_default_instance_;
 class UIElement;
-struct UIElementDefaultTypeInternal;
+class UIElementDefaultTypeInternal;
 extern UIElementDefaultTypeInternal _UIElement_default_instance_;
 }  // namespace protos
 }  // namespace oopclasses
@@ -157,8 +170,8 @@
   ElementType_ElementTypeEnum_TAB = 80,
   ElementType_ElementTypeEnum_TOUCH_BAR = 81,
   ElementType_ElementTypeEnum_STATUS_ITEM = 82,
-  ElementType_ElementTypeEnum_ElementType_ElementTypeEnum_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::int32>::min(),
-  ElementType_ElementTypeEnum_ElementType_ElementTypeEnum_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::int32>::max()
+  ElementType_ElementTypeEnum_ElementType_ElementTypeEnum_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
+  ElementType_ElementTypeEnum_ElementType_ElementTypeEnum_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
 };
 bool ElementType_ElementTypeEnum_IsValid(int value);
 constexpr ElementType_ElementTypeEnum ElementType_ElementTypeEnum_ElementTypeEnum_MIN = ElementType_ElementTypeEnum_ANY;
@@ -181,12 +194,11 @@
 }
 // ===================================================================
 
-class Point final :
+class Point PROTOBUF_FINAL :
     public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.Point) */ {
  public:
   inline Point() : Point(nullptr) {}
-  ~Point() override;
-  explicit constexpr Point(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
+  virtual ~Point();
 
   Point(const Point& from);
   Point(Point&& from) noexcept
@@ -199,9 +211,8 @@
     return *this;
   }
   inline Point& operator=(Point&& from) noexcept {
-    if (this == &from) return *this;
-    if (GetOwningArena() == from.GetOwningArena()) {
-      InternalSwap(&from);
+    if (GetArena() == from.GetArena()) {
+      if (this != &from) InternalSwap(&from);
     } else {
       CopyFrom(from);
     }
@@ -212,14 +223,13 @@
     return GetDescriptor();
   }
   static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return default_instance().GetMetadata().descriptor;
+    return GetMetadataStatic().descriptor;
   }
   static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return default_instance().GetMetadata().reflection;
+    return GetMetadataStatic().reflection;
   }
-  static const Point& default_instance() {
-    return *internal_default_instance();
-  }
+  static const Point& default_instance();
+
   static inline const Point* internal_default_instance() {
     return reinterpret_cast<const Point*>(
                &_Point_default_instance_);
@@ -232,7 +242,7 @@
   }
   inline void Swap(Point* other) {
     if (other == this) return;
-    if (GetOwningArena() == other->GetOwningArena()) {
+    if (GetArena() == other->GetArena()) {
       InternalSwap(other);
     } else {
       ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
@@ -240,71 +250,56 @@
   }
   void UnsafeArenaSwap(Point* other) {
     if (other == this) return;
-    DCHECK(GetOwningArena() == other->GetOwningArena());
+    GOOGLE_DCHECK(GetArena() == other->GetArena());
     InternalSwap(other);
   }
 
   // implements Message ----------------------------------------------
 
   inline Point* New() const final {
-    return new Point();
+    return CreateMaybeMessage<Point>(nullptr);
   }
 
   Point* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
     return CreateMaybeMessage<Point>(arena);
   }
-  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
   void CopyFrom(const Point& from);
-  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
   void MergeFrom(const Point& from);
-  private:
-  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
-  public:
   PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
   bool IsInitialized() const final;
 
   size_t ByteSizeLong() const final;
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-  // The Tct_* functions are internal to the protobuf runtime:
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-  static const char* Tct_ParseS1(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-  static const char* Tct_ParseS2(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED1
-  static const char* Tct_ParseR1(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED1
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED2
-  static const char* Tct_ParseR2(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED2
-#endif
   const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::uint8* _InternalSerialize(
-      ::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
   int GetCachedSize() const final { return _cached_size_.Get(); }
 
   private:
-  void SharedCtor();
-  void SharedDtor();
+  inline void SharedCtor();
+  inline void SharedDtor();
   void SetCachedSize(int size) const final;
   void InternalSwap(Point* other);
   friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::absl::string_view FullMessageName() {
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
     return "gtxilib.oopclasses.protos.Point";
   }
   protected:
-  explicit Point(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                       bool is_message_owned = false);
+  explicit Point(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   private:
   static void ArenaDtor(void* object);
   inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   public:
 
-  static const ClassData _class_data_;
-  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
-
   ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_gtx_2eproto);
+    return ::descriptor_table_gtx_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
 
   // nested types ----------------------------------------------------
 
@@ -314,7 +309,7 @@
     kXFieldNumber = 1,
     kYFieldNumber = 2,
   };
-  // optional float x = 1;
+  // float x = 1;
   bool has_x() const;
   private:
   bool _internal_has_x() const;
@@ -327,7 +322,7 @@
   void _internal_set_x(float value);
   public:
 
-  // optional float y = 2;
+  // float y = 2;
   bool has_y() const;
   private:
   bool _internal_has_y() const;
@@ -344,10 +339,6 @@
  private:
   class _Internal;
 
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-  static const ::PROTOBUF_NAMESPACE_ID::internal::TailCallParseTable<2>
-      _table_;
-#endif  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
   template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
   typedef void InternalArenaConstructable_;
   typedef void DestructorSkippable_;
@@ -355,16 +346,15 @@
   mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
   float x_;
   float y_;
-  friend struct ::TableStruct_mq4kUTL9cO7;
+  friend struct ::TableStruct_gtx_2eproto;
 };
 // -------------------------------------------------------------------
 
-class Size final :
+class Size PROTOBUF_FINAL :
     public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.Size) */ {
  public:
   inline Size() : Size(nullptr) {}
-  ~Size() override;
-  explicit constexpr Size(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
+  virtual ~Size();
 
   Size(const Size& from);
   Size(Size&& from) noexcept
@@ -377,9 +367,8 @@
     return *this;
   }
   inline Size& operator=(Size&& from) noexcept {
-    if (this == &from) return *this;
-    if (GetOwningArena() == from.GetOwningArena()) {
-      InternalSwap(&from);
+    if (GetArena() == from.GetArena()) {
+      if (this != &from) InternalSwap(&from);
     } else {
       CopyFrom(from);
     }
@@ -390,14 +379,13 @@
     return GetDescriptor();
   }
   static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return default_instance().GetMetadata().descriptor;
+    return GetMetadataStatic().descriptor;
   }
   static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return default_instance().GetMetadata().reflection;
+    return GetMetadataStatic().reflection;
   }
-  static const Size& default_instance() {
-    return *internal_default_instance();
-  }
+  static const Size& default_instance();
+
   static inline const Size* internal_default_instance() {
     return reinterpret_cast<const Size*>(
                &_Size_default_instance_);
@@ -410,7 +398,7 @@
   }
   inline void Swap(Size* other) {
     if (other == this) return;
-    if (GetOwningArena() == other->GetOwningArena()) {
+    if (GetArena() == other->GetArena()) {
       InternalSwap(other);
     } else {
       ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
@@ -418,71 +406,56 @@
   }
   void UnsafeArenaSwap(Size* other) {
     if (other == this) return;
-    DCHECK(GetOwningArena() == other->GetOwningArena());
+    GOOGLE_DCHECK(GetArena() == other->GetArena());
     InternalSwap(other);
   }
 
   // implements Message ----------------------------------------------
 
   inline Size* New() const final {
-    return new Size();
+    return CreateMaybeMessage<Size>(nullptr);
   }
 
   Size* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
     return CreateMaybeMessage<Size>(arena);
   }
-  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
   void CopyFrom(const Size& from);
-  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
   void MergeFrom(const Size& from);
-  private:
-  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
-  public:
   PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
   bool IsInitialized() const final;
 
   size_t ByteSizeLong() const final;
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-  // The Tct_* functions are internal to the protobuf runtime:
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-  static const char* Tct_ParseS1(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-  static const char* Tct_ParseS2(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED1
-  static const char* Tct_ParseR1(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED1
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED2
-  static const char* Tct_ParseR2(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED2
-#endif
   const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::uint8* _InternalSerialize(
-      ::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
   int GetCachedSize() const final { return _cached_size_.Get(); }
 
   private:
-  void SharedCtor();
-  void SharedDtor();
+  inline void SharedCtor();
+  inline void SharedDtor();
   void SetCachedSize(int size) const final;
   void InternalSwap(Size* other);
   friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::absl::string_view FullMessageName() {
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
     return "gtxilib.oopclasses.protos.Size";
   }
   protected:
-  explicit Size(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                       bool is_message_owned = false);
+  explicit Size(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   private:
   static void ArenaDtor(void* object);
   inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   public:
 
-  static const ClassData _class_data_;
-  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
-
   ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_gtx_2eproto);
+    return ::descriptor_table_gtx_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
 
   // nested types ----------------------------------------------------
 
@@ -492,7 +465,7 @@
     kWidthFieldNumber = 1,
     kHeightFieldNumber = 2,
   };
-  // optional float width = 1;
+  // float width = 1;
   bool has_width() const;
   private:
   bool _internal_has_width() const;
@@ -505,7 +478,7 @@
   void _internal_set_width(float value);
   public:
 
-  // optional float height = 2;
+  // float height = 2;
   bool has_height() const;
   private:
   bool _internal_has_height() const;
@@ -522,10 +495,6 @@
  private:
   class _Internal;
 
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-  static const ::PROTOBUF_NAMESPACE_ID::internal::TailCallParseTable<2>
-      _table_;
-#endif  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
   template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
   typedef void InternalArenaConstructable_;
   typedef void DestructorSkippable_;
@@ -533,16 +502,15 @@
   mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
   float width_;
   float height_;
-  friend struct ::TableStruct_mq4kUTL9cO7;
+  friend struct ::TableStruct_gtx_2eproto;
 };
 // -------------------------------------------------------------------
 
-class Rect final :
+class Rect PROTOBUF_FINAL :
     public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.Rect) */ {
  public:
   inline Rect() : Rect(nullptr) {}
-  ~Rect() override;
-  explicit constexpr Rect(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
+  virtual ~Rect();
 
   Rect(const Rect& from);
   Rect(Rect&& from) noexcept
@@ -555,9 +523,8 @@
     return *this;
   }
   inline Rect& operator=(Rect&& from) noexcept {
-    if (this == &from) return *this;
-    if (GetOwningArena() == from.GetOwningArena()) {
-      InternalSwap(&from);
+    if (GetArena() == from.GetArena()) {
+      if (this != &from) InternalSwap(&from);
     } else {
       CopyFrom(from);
     }
@@ -568,14 +535,13 @@
     return GetDescriptor();
   }
   static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return default_instance().GetMetadata().descriptor;
+    return GetMetadataStatic().descriptor;
   }
   static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return default_instance().GetMetadata().reflection;
+    return GetMetadataStatic().reflection;
   }
-  static const Rect& default_instance() {
-    return *internal_default_instance();
-  }
+  static const Rect& default_instance();
+
   static inline const Rect* internal_default_instance() {
     return reinterpret_cast<const Rect*>(
                &_Rect_default_instance_);
@@ -588,7 +554,7 @@
   }
   inline void Swap(Rect* other) {
     if (other == this) return;
-    if (GetOwningArena() == other->GetOwningArena()) {
+    if (GetArena() == other->GetArena()) {
       InternalSwap(other);
     } else {
       ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
@@ -596,71 +562,56 @@
   }
   void UnsafeArenaSwap(Rect* other) {
     if (other == this) return;
-    DCHECK(GetOwningArena() == other->GetOwningArena());
+    GOOGLE_DCHECK(GetArena() == other->GetArena());
     InternalSwap(other);
   }
 
   // implements Message ----------------------------------------------
 
   inline Rect* New() const final {
-    return new Rect();
+    return CreateMaybeMessage<Rect>(nullptr);
   }
 
   Rect* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
     return CreateMaybeMessage<Rect>(arena);
   }
-  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
   void CopyFrom(const Rect& from);
-  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
   void MergeFrom(const Rect& from);
-  private:
-  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
-  public:
   PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
   bool IsInitialized() const final;
 
   size_t ByteSizeLong() const final;
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-  // The Tct_* functions are internal to the protobuf runtime:
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-  static const char* Tct_ParseS1(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-  static const char* Tct_ParseS2(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED1
-  static const char* Tct_ParseR1(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED1
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED2
-  static const char* Tct_ParseR2(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED2
-#endif
   const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::uint8* _InternalSerialize(
-      ::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
   int GetCachedSize() const final { return _cached_size_.Get(); }
 
   private:
-  void SharedCtor();
-  void SharedDtor();
+  inline void SharedCtor();
+  inline void SharedDtor();
   void SetCachedSize(int size) const final;
   void InternalSwap(Rect* other);
   friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::absl::string_view FullMessageName() {
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
     return "gtxilib.oopclasses.protos.Rect";
   }
   protected:
-  explicit Rect(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                       bool is_message_owned = false);
+  explicit Rect(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   private:
   static void ArenaDtor(void* object);
   inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   public:
 
-  static const ClassData _class_data_;
-  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
-
   ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_gtx_2eproto);
+    return ::descriptor_table_gtx_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
 
   // nested types ----------------------------------------------------
 
@@ -670,14 +621,14 @@
     kOriginFieldNumber = 1,
     kSizeFieldNumber = 2,
   };
-  // optional .gtxilib.oopclasses.protos.Point origin = 1;
+  // .gtxilib.oopclasses.protos.Point origin = 1;
   bool has_origin() const;
   private:
   bool _internal_has_origin() const;
   public:
   void clear_origin();
   const ::gtxilib::oopclasses::protos::Point& origin() const;
-  PROTOBUF_MUST_USE_RESULT ::gtxilib::oopclasses::protos::Point* release_origin();
+  ::gtxilib::oopclasses::protos::Point* release_origin();
   ::gtxilib::oopclasses::protos::Point* mutable_origin();
   void set_allocated_origin(::gtxilib::oopclasses::protos::Point* origin);
   private:
@@ -688,14 +639,14 @@
       ::gtxilib::oopclasses::protos::Point* origin);
   ::gtxilib::oopclasses::protos::Point* unsafe_arena_release_origin();
 
-  // optional .gtxilib.oopclasses.protos.Size size = 2;
+  // .gtxilib.oopclasses.protos.Size size = 2;
   bool has_size() const;
   private:
   bool _internal_has_size() const;
   public:
   void clear_size();
   const ::gtxilib::oopclasses::protos::Size& size() const;
-  PROTOBUF_MUST_USE_RESULT ::gtxilib::oopclasses::protos::Size* release_size();
+  ::gtxilib::oopclasses::protos::Size* release_size();
   ::gtxilib::oopclasses::protos::Size* mutable_size();
   void set_allocated_size(::gtxilib::oopclasses::protos::Size* size);
   private:
@@ -710,10 +661,6 @@
  private:
   class _Internal;
 
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-  static const ::PROTOBUF_NAMESPACE_ID::internal::TailCallParseTable<2>
-      _table_;
-#endif  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
   template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
   typedef void InternalArenaConstructable_;
   typedef void DestructorSkippable_;
@@ -721,15 +668,15 @@
   mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
   ::gtxilib::oopclasses::protos::Point* origin_;
   ::gtxilib::oopclasses::protos::Size* size_;
-  friend struct ::TableStruct_mq4kUTL9cO7;
+  friend struct ::TableStruct_gtx_2eproto;
 };
 // -------------------------------------------------------------------
 
-class ElementType final :
-    public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.ElementType) */ {
+class ElementType PROTOBUF_FINAL :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.ElementType) */ {
  public:
   inline ElementType() : ElementType(nullptr) {}
-  explicit constexpr ElementType(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
+  virtual ~ElementType();
 
   ElementType(const ElementType& from);
   ElementType(ElementType&& from) noexcept
@@ -742,9 +689,8 @@
     return *this;
   }
   inline ElementType& operator=(ElementType&& from) noexcept {
-    if (this == &from) return *this;
-    if (GetOwningArena() == from.GetOwningArena()) {
-      InternalSwap(&from);
+    if (GetArena() == from.GetArena()) {
+      if (this != &from) InternalSwap(&from);
     } else {
       CopyFrom(from);
     }
@@ -755,14 +701,13 @@
     return GetDescriptor();
   }
   static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return default_instance().GetMetadata().descriptor;
+    return GetMetadataStatic().descriptor;
   }
   static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return default_instance().GetMetadata().reflection;
+    return GetMetadataStatic().reflection;
   }
-  static const ElementType& default_instance() {
-    return *internal_default_instance();
-  }
+  static const ElementType& default_instance();
+
   static inline const ElementType* internal_default_instance() {
     return reinterpret_cast<const ElementType*>(
                &_ElementType_default_instance_);
@@ -775,7 +720,7 @@
   }
   inline void Swap(ElementType* other) {
     if (other == this) return;
-    if (GetOwningArena() == other->GetOwningArena()) {
+    if (GetArena() == other->GetArena()) {
       InternalSwap(other);
     } else {
       ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
@@ -783,42 +728,56 @@
   }
   void UnsafeArenaSwap(ElementType* other) {
     if (other == this) return;
-    DCHECK(GetOwningArena() == other->GetOwningArena());
+    GOOGLE_DCHECK(GetArena() == other->GetArena());
     InternalSwap(other);
   }
 
   // implements Message ----------------------------------------------
 
   inline ElementType* New() const final {
-    return new ElementType();
+    return CreateMaybeMessage<ElementType>(nullptr);
   }
 
   ElementType* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
     return CreateMaybeMessage<ElementType>(arena);
   }
-  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom;
-  inline void CopyFrom(const ElementType& from) {
-    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(this, from);
-  }
-  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom;
-  void MergeFrom(const ElementType& from) {
-    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(this, from);
-  }
-  public:
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void CopyFrom(const ElementType& from);
+  void MergeFrom(const ElementType& from);
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
+  private:
+  inline void SharedCtor();
+  inline void SharedDtor();
+  void SetCachedSize(int size) const final;
+  void InternalSwap(ElementType* other);
   friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::absl::string_view FullMessageName() {
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
     return "gtxilib.oopclasses.protos.ElementType";
   }
   protected:
-  explicit ElementType(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                       bool is_message_owned = false);
+  explicit ElementType(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   private:
+  static void ArenaDtor(void* object);
+  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   public:
 
-  static const ClassData _class_data_;
-  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
-
   ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_gtx_2eproto);
+    return ::descriptor_table_gtx_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
 
   // nested types ----------------------------------------------------
 
@@ -1020,24 +979,19 @@
  private:
   class _Internal;
 
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-  static const ::PROTOBUF_NAMESPACE_ID::internal::TailCallParseTable<1>
-      _table_;
-#endif  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
   template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
   typedef void InternalArenaConstructable_;
   typedef void DestructorSkippable_;
   mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_mq4kUTL9cO7;
+  friend struct ::TableStruct_gtx_2eproto;
 };
 // -------------------------------------------------------------------
 
-class UIElement final :
+class UIElement PROTOBUF_FINAL :
     public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.UIElement) */ {
  public:
   inline UIElement() : UIElement(nullptr) {}
-  ~UIElement() override;
-  explicit constexpr UIElement(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
+  virtual ~UIElement();
 
   UIElement(const UIElement& from);
   UIElement(UIElement&& from) noexcept
@@ -1050,9 +1004,8 @@
     return *this;
   }
   inline UIElement& operator=(UIElement&& from) noexcept {
-    if (this == &from) return *this;
-    if (GetOwningArena() == from.GetOwningArena()) {
-      InternalSwap(&from);
+    if (GetArena() == from.GetArena()) {
+      if (this != &from) InternalSwap(&from);
     } else {
       CopyFrom(from);
     }
@@ -1063,14 +1016,13 @@
     return GetDescriptor();
   }
   static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return default_instance().GetMetadata().descriptor;
+    return GetMetadataStatic().descriptor;
   }
   static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return default_instance().GetMetadata().reflection;
+    return GetMetadataStatic().reflection;
   }
-  static const UIElement& default_instance() {
-    return *internal_default_instance();
-  }
+  static const UIElement& default_instance();
+
   static inline const UIElement* internal_default_instance() {
     return reinterpret_cast<const UIElement*>(
                &_UIElement_default_instance_);
@@ -1083,7 +1035,7 @@
   }
   inline void Swap(UIElement* other) {
     if (other == this) return;
-    if (GetOwningArena() == other->GetOwningArena()) {
+    if (GetArena() == other->GetArena()) {
       InternalSwap(other);
     } else {
       ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
@@ -1091,74 +1043,56 @@
   }
   void UnsafeArenaSwap(UIElement* other) {
     if (other == this) return;
-    DCHECK(GetOwningArena() == other->GetOwningArena());
+    GOOGLE_DCHECK(GetArena() == other->GetArena());
     InternalSwap(other);
   }
 
   // implements Message ----------------------------------------------
 
   inline UIElement* New() const final {
-    return new UIElement();
+    return CreateMaybeMessage<UIElement>(nullptr);
   }
 
   UIElement* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
     return CreateMaybeMessage<UIElement>(arena);
   }
-  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
   void CopyFrom(const UIElement& from);
-  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
   void MergeFrom(const UIElement& from);
-  private:
-  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
-  public:
   PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
   bool IsInitialized() const final;
 
   size_t ByteSizeLong() const final;
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-  // The Tct_* functions are internal to the protobuf runtime:
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-  static const char* Tct_ParseS1(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR1
-#if PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-  static const char* Tct_ParseS2(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_SINGULAR2
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED1
-  static const char* Tct_ParseR1(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED1
-#if PROTOBUF_TC_STATIC_PARSE_REPEATED2
-  static const char* Tct_ParseR2(PROTOBUF_TC_PARAM_DECL);
-#endif  // PROTOBUF_TC_STATIC_PARSE_REPEATED2
- private:
-  static const char* Tct_ParseFallback(PROTOBUF_TC_PARAM_DECL);
- public:
-#endif
   const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::uint8* _InternalSerialize(
-      ::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
   int GetCachedSize() const final { return _cached_size_.Get(); }
 
   private:
-  void SharedCtor();
-  void SharedDtor();
+  inline void SharedCtor();
+  inline void SharedDtor();
   void SetCachedSize(int size) const final;
   void InternalSwap(UIElement* other);
   friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::absl::string_view FullMessageName() {
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
     return "gtxilib.oopclasses.protos.UIElement";
   }
   protected:
-  explicit UIElement(::PROTOBUF_NAMESPACE_ID::Arena* arena,
-                       bool is_message_owned = false);
+  explicit UIElement(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   private:
   static void ArenaDtor(void* object);
   inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   public:
 
-  static const ClassData _class_data_;
-  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
-
   ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_gtx_2eproto);
+    return ::descriptor_table_gtx_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
 
   // nested types ----------------------------------------------------
 
@@ -1171,32 +1105,34 @@
     kIsAxElementFieldNumber = 1,
     kAxElementTypeFieldNumber = 5,
   };
-  // optional string ax_label = 3;
+  // string ax_label = 3;
   bool has_ax_label() const;
   private:
   bool _internal_has_ax_label() const;
   public:
   void clear_ax_label();
   const std::string& ax_label() const;
-  template <typename ArgT0 = const std::string&, typename... ArgT>
-  void set_ax_label(ArgT0&& arg0, ArgT... args);
+  void set_ax_label(const std::string& value);
+  void set_ax_label(std::string&& value);
+  void set_ax_label(const char* value);
+  void set_ax_label(const char* value, size_t size);
   std::string* mutable_ax_label();
-  PROTOBUF_MUST_USE_RESULT std::string* release_ax_label();
+  std::string* release_ax_label();
   void set_allocated_ax_label(std::string* ax_label);
   private:
   const std::string& _internal_ax_label() const;
-  inline PROTOBUF_ALWAYS_INLINE void _internal_set_ax_label(const std::string& value);
+  void _internal_set_ax_label(const std::string& value);
   std::string* _internal_mutable_ax_label();
   public:
 
-  // optional .gtxilib.oopclasses.protos.Rect ax_frame = 4;
+  // .gtxilib.oopclasses.protos.Rect ax_frame = 4;
   bool has_ax_frame() const;
   private:
   bool _internal_has_ax_frame() const;
   public:
   void clear_ax_frame();
   const ::gtxilib::oopclasses::protos::Rect& ax_frame() const;
-  PROTOBUF_MUST_USE_RESULT ::gtxilib::oopclasses::protos::Rect* release_ax_frame();
+  ::gtxilib::oopclasses::protos::Rect* release_ax_frame();
   ::gtxilib::oopclasses::protos::Rect* mutable_ax_frame();
   void set_allocated_ax_frame(::gtxilib::oopclasses::protos::Rect* ax_frame);
   private:
@@ -1207,20 +1143,20 @@
       ::gtxilib::oopclasses::protos::Rect* ax_frame);
   ::gtxilib::oopclasses::protos::Rect* unsafe_arena_release_ax_frame();
 
-  // optional uint64 ax_traits = 2;
+  // uint64 ax_traits = 2;
   bool has_ax_traits() const;
   private:
   bool _internal_has_ax_traits() const;
   public:
   void clear_ax_traits();
-  ::uint64 ax_traits() const;
-  void set_ax_traits(::uint64 value);
+  ::PROTOBUF_NAMESPACE_ID::uint64 ax_traits() const;
+  void set_ax_traits(::PROTOBUF_NAMESPACE_ID::uint64 value);
   private:
-  ::uint64 _internal_ax_traits() const;
-  void _internal_set_ax_traits(::uint64 value);
+  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_ax_traits() const;
+  void _internal_set_ax_traits(::PROTOBUF_NAMESPACE_ID::uint64 value);
   public:
 
-  // optional bool is_ax_element = 1;
+  // bool is_ax_element = 1;
   bool has_is_ax_element() const;
   private:
   bool _internal_has_is_ax_element() const;
@@ -1233,7 +1169,7 @@
   void _internal_set_is_ax_element(bool value);
   public:
 
-  // optional .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum ax_element_type = 5;
+  // .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum ax_element_type = 5;
   bool has_ax_element_type() const;
   private:
   bool _internal_has_ax_element_type() const;
@@ -1250,10 +1186,6 @@
  private:
   class _Internal;
 
-#ifdef PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
-  static const ::PROTOBUF_NAMESPACE_ID::internal::TailCallParseTable<3>
-      _table_;
-#endif  // PROTOBUF_TAIL_CALL_TABLE_PARSER_ENABLED
   template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
   typedef void InternalArenaConstructable_;
   typedef void DestructorSkippable_;
@@ -1261,10 +1193,10 @@
   mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
   ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ax_label_;
   ::gtxilib::oopclasses::protos::Rect* ax_frame_;
-  ::uint64 ax_traits_;
+  ::PROTOBUF_NAMESPACE_ID::uint64 ax_traits_;
   bool is_ax_element_;
   int ax_element_type_;
-  friend struct ::TableStruct_mq4kUTL9cO7;
+  friend struct ::TableStruct_gtx_2eproto;
 };
 // ===================================================================
 
@@ -1277,7 +1209,7 @@
 #endif  // __GNUC__
 // Point
 
-// optional float x = 1;
+// float x = 1;
 inline bool Point::_internal_has_x() const {
   bool value = (_has_bits_[0] & 0x00000001u) != 0;
   return value;
@@ -1305,7 +1237,7 @@
   // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.Point.x)
 }
 
-// optional float y = 2;
+// float y = 2;
 inline bool Point::_internal_has_y() const {
   bool value = (_has_bits_[0] & 0x00000002u) != 0;
   return value;
@@ -1337,7 +1269,7 @@
 
 // Size
 
-// optional float width = 1;
+// float width = 1;
 inline bool Size::_internal_has_width() const {
   bool value = (_has_bits_[0] & 0x00000001u) != 0;
   return value;
@@ -1365,7 +1297,7 @@
   // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.Size.width)
 }
 
-// optional float height = 2;
+// float height = 2;
 inline bool Size::_internal_has_height() const {
   bool value = (_has_bits_[0] & 0x00000002u) != 0;
   return value;
@@ -1397,7 +1329,7 @@
 
 // Rect
 
-// optional .gtxilib.oopclasses.protos.Point origin = 1;
+// .gtxilib.oopclasses.protos.Point origin = 1;
 inline bool Rect::_internal_has_origin() const {
   bool value = (_has_bits_[0] & 0x00000001u) != 0;
   PROTOBUF_ASSUME(!value || origin_ != nullptr);
@@ -1407,7 +1339,10 @@
   return _internal_has_origin();
 }
 inline void Rect::clear_origin() {
-  if (origin_ != nullptr) origin_->Clear();
+  if (GetArena() == nullptr && origin_ != nullptr) {
+    delete origin_;
+  }
+  origin_ = nullptr;
   _has_bits_[0] &= ~0x00000001u;
 }
 inline const ::gtxilib::oopclasses::protos::Point& Rect::_internal_origin() const {
@@ -1421,7 +1356,7 @@
 }
 inline void Rect::unsafe_arena_set_allocated_origin(
     ::gtxilib::oopclasses::protos::Point* origin) {
-  if (GetArenaForAllocation() == nullptr) {
+  if (GetArena() == nullptr) {
     delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(origin_);
   }
   origin_ = origin;
@@ -1436,15 +1371,9 @@
   _has_bits_[0] &= ~0x00000001u;
   ::gtxilib::oopclasses::protos::Point* temp = origin_;
   origin_ = nullptr;
-#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
-  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
-  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
-  if (GetArenaForAllocation() == nullptr) { delete old; }
-#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
-  if (GetArenaForAllocation() != nullptr) {
+  if (GetArena() != nullptr) {
     temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
   }
-#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
   return temp;
 }
 inline ::gtxilib::oopclasses::protos::Point* Rect::unsafe_arena_release_origin() {
@@ -1457,24 +1386,23 @@
 inline ::gtxilib::oopclasses::protos::Point* Rect::_internal_mutable_origin() {
   _has_bits_[0] |= 0x00000001u;
   if (origin_ == nullptr) {
-    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::Point>(GetArenaForAllocation());
+    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::Point>(GetArena());
     origin_ = p;
   }
   return origin_;
 }
 inline ::gtxilib::oopclasses::protos::Point* Rect::mutable_origin() {
-  ::gtxilib::oopclasses::protos::Point* _msg = _internal_mutable_origin();
   // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.Rect.origin)
-  return _msg;
+  return _internal_mutable_origin();
 }
 inline void Rect::set_allocated_origin(::gtxilib::oopclasses::protos::Point* origin) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
+  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
   if (message_arena == nullptr) {
     delete origin_;
   }
   if (origin) {
     ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::gtxilib::oopclasses::protos::Point>::GetOwningArena(origin);
+      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(origin);
     if (message_arena != submessage_arena) {
       origin = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
           message_arena, origin, submessage_arena);
@@ -1487,7 +1415,7 @@
   // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.Rect.origin)
 }
 
-// optional .gtxilib.oopclasses.protos.Size size = 2;
+// .gtxilib.oopclasses.protos.Size size = 2;
 inline bool Rect::_internal_has_size() const {
   bool value = (_has_bits_[0] & 0x00000002u) != 0;
   PROTOBUF_ASSUME(!value || size_ != nullptr);
@@ -1497,7 +1425,10 @@
   return _internal_has_size();
 }
 inline void Rect::clear_size() {
-  if (size_ != nullptr) size_->Clear();
+  if (GetArena() == nullptr && size_ != nullptr) {
+    delete size_;
+  }
+  size_ = nullptr;
   _has_bits_[0] &= ~0x00000002u;
 }
 inline const ::gtxilib::oopclasses::protos::Size& Rect::_internal_size() const {
@@ -1511,7 +1442,7 @@
 }
 inline void Rect::unsafe_arena_set_allocated_size(
     ::gtxilib::oopclasses::protos::Size* size) {
-  if (GetArenaForAllocation() == nullptr) {
+  if (GetArena() == nullptr) {
     delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(size_);
   }
   size_ = size;
@@ -1526,15 +1457,9 @@
   _has_bits_[0] &= ~0x00000002u;
   ::gtxilib::oopclasses::protos::Size* temp = size_;
   size_ = nullptr;
-#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
-  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
-  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
-  if (GetArenaForAllocation() == nullptr) { delete old; }
-#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
-  if (GetArenaForAllocation() != nullptr) {
+  if (GetArena() != nullptr) {
     temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
   }
-#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
   return temp;
 }
 inline ::gtxilib::oopclasses::protos::Size* Rect::unsafe_arena_release_size() {
@@ -1547,24 +1472,23 @@
 inline ::gtxilib::oopclasses::protos::Size* Rect::_internal_mutable_size() {
   _has_bits_[0] |= 0x00000002u;
   if (size_ == nullptr) {
-    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::Size>(GetArenaForAllocation());
+    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::Size>(GetArena());
     size_ = p;
   }
   return size_;
 }
 inline ::gtxilib::oopclasses::protos::Size* Rect::mutable_size() {
-  ::gtxilib::oopclasses::protos::Size* _msg = _internal_mutable_size();
   // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.Rect.size)
-  return _msg;
+  return _internal_mutable_size();
 }
 inline void Rect::set_allocated_size(::gtxilib::oopclasses::protos::Size* size) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
+  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
   if (message_arena == nullptr) {
     delete size_;
   }
   if (size) {
     ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::gtxilib::oopclasses::protos::Size>::GetOwningArena(size);
+      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(size);
     if (message_arena != submessage_arena) {
       size = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
           message_arena, size, submessage_arena);
@@ -1585,7 +1509,7 @@
 
 // UIElement
 
-// optional bool is_ax_element = 1;
+// bool is_ax_element = 1;
 inline bool UIElement::_internal_has_is_ax_element() const {
   bool value = (_has_bits_[0] & 0x00000008u) != 0;
   return value;
@@ -1613,7 +1537,7 @@
   // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.is_ax_element)
 }
 
-// optional uint64 ax_traits = 2;
+// uint64 ax_traits = 2;
 inline bool UIElement::_internal_has_ax_traits() const {
   bool value = (_has_bits_[0] & 0x00000004u) != 0;
   return value;
@@ -1622,26 +1546,26 @@
   return _internal_has_ax_traits();
 }
 inline void UIElement::clear_ax_traits() {
-  ax_traits_ = uint64_t{0u};
+  ax_traits_ = PROTOBUF_ULONGLONG(0);
   _has_bits_[0] &= ~0x00000004u;
 }
-inline ::uint64 UIElement::_internal_ax_traits() const {
+inline ::PROTOBUF_NAMESPACE_ID::uint64 UIElement::_internal_ax_traits() const {
   return ax_traits_;
 }
-inline ::uint64 UIElement::ax_traits() const {
+inline ::PROTOBUF_NAMESPACE_ID::uint64 UIElement::ax_traits() const {
   // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.ax_traits)
   return _internal_ax_traits();
 }
-inline void UIElement::_internal_set_ax_traits(::uint64 value) {
+inline void UIElement::_internal_set_ax_traits(::PROTOBUF_NAMESPACE_ID::uint64 value) {
   _has_bits_[0] |= 0x00000004u;
   ax_traits_ = value;
 }
-inline void UIElement::set_ax_traits(::uint64 value) {
+inline void UIElement::set_ax_traits(::PROTOBUF_NAMESPACE_ID::uint64 value) {
   _internal_set_ax_traits(value);
   // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.ax_traits)
 }
 
-// optional string ax_label = 3;
+// string ax_label = 3;
 inline bool UIElement::_internal_has_ax_label() const {
   bool value = (_has_bits_[0] & 0x00000001u) != 0;
   return value;
@@ -1657,28 +1581,43 @@
   // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.ax_label)
   return _internal_ax_label();
 }
-template <typename ArgT0, typename... ArgT>
-inline PROTOBUF_ALWAYS_INLINE
-void UIElement::set_ax_label(ArgT0&& arg0, ArgT... args) {
- _has_bits_[0] |= 0x00000001u;
- ax_label_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
+inline void UIElement::set_ax_label(const std::string& value) {
+  _internal_set_ax_label(value);
   // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.ax_label)
 }
 inline std::string* UIElement::mutable_ax_label() {
-  std::string* _s = _internal_mutable_ax_label();
   // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.UIElement.ax_label)
-  return _s;
+  return _internal_mutable_ax_label();
 }
 inline const std::string& UIElement::_internal_ax_label() const {
   return ax_label_.Get();
 }
 inline void UIElement::_internal_set_ax_label(const std::string& value) {
   _has_bits_[0] |= 0x00000001u;
-  ax_label_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
+  ax_label_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
+}
+inline void UIElement::set_ax_label(std::string&& value) {
+  _has_bits_[0] |= 0x00000001u;
+  ax_label_.Set(
+    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
+  // @@protoc_insertion_point(field_set_rvalue:gtxilib.oopclasses.protos.UIElement.ax_label)
+}
+inline void UIElement::set_ax_label(const char* value) {
+  GOOGLE_DCHECK(value != nullptr);
+  _has_bits_[0] |= 0x00000001u;
+  ax_label_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
+  // @@protoc_insertion_point(field_set_char:gtxilib.oopclasses.protos.UIElement.ax_label)
+}
+inline void UIElement::set_ax_label(const char* value,
+    size_t size) {
+  _has_bits_[0] |= 0x00000001u;
+  ax_label_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
+      reinterpret_cast<const char*>(value), size), GetArena());
+  // @@protoc_insertion_point(field_set_pointer:gtxilib.oopclasses.protos.UIElement.ax_label)
 }
 inline std::string* UIElement::_internal_mutable_ax_label() {
   _has_bits_[0] |= 0x00000001u;
-  return ax_label_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
+  return ax_label_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
 }
 inline std::string* UIElement::release_ax_label() {
   // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.UIElement.ax_label)
@@ -1686,7 +1625,7 @@
     return nullptr;
   }
   _has_bits_[0] &= ~0x00000001u;
-  return ax_label_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
+  return ax_label_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
 }
 inline void UIElement::set_allocated_ax_label(std::string* ax_label) {
   if (ax_label != nullptr) {
@@ -1695,11 +1634,11 @@
     _has_bits_[0] &= ~0x00000001u;
   }
   ax_label_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ax_label,
-      GetArenaForAllocation());
+      GetArena());
   // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.UIElement.ax_label)
 }
 
-// optional .gtxilib.oopclasses.protos.Rect ax_frame = 4;
+// .gtxilib.oopclasses.protos.Rect ax_frame = 4;
 inline bool UIElement::_internal_has_ax_frame() const {
   bool value = (_has_bits_[0] & 0x00000002u) != 0;
   PROTOBUF_ASSUME(!value || ax_frame_ != nullptr);
@@ -1709,7 +1648,10 @@
   return _internal_has_ax_frame();
 }
 inline void UIElement::clear_ax_frame() {
-  if (ax_frame_ != nullptr) ax_frame_->Clear();
+  if (GetArena() == nullptr && ax_frame_ != nullptr) {
+    delete ax_frame_;
+  }
+  ax_frame_ = nullptr;
   _has_bits_[0] &= ~0x00000002u;
 }
 inline const ::gtxilib::oopclasses::protos::Rect& UIElement::_internal_ax_frame() const {
@@ -1723,7 +1665,7 @@
 }
 inline void UIElement::unsafe_arena_set_allocated_ax_frame(
     ::gtxilib::oopclasses::protos::Rect* ax_frame) {
-  if (GetArenaForAllocation() == nullptr) {
+  if (GetArena() == nullptr) {
     delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(ax_frame_);
   }
   ax_frame_ = ax_frame;
@@ -1738,15 +1680,9 @@
   _has_bits_[0] &= ~0x00000002u;
   ::gtxilib::oopclasses::protos::Rect* temp = ax_frame_;
   ax_frame_ = nullptr;
-#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
-  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
-  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
-  if (GetArenaForAllocation() == nullptr) { delete old; }
-#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
-  if (GetArenaForAllocation() != nullptr) {
+  if (GetArena() != nullptr) {
     temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
   }
-#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
   return temp;
 }
 inline ::gtxilib::oopclasses::protos::Rect* UIElement::unsafe_arena_release_ax_frame() {
@@ -1759,24 +1695,23 @@
 inline ::gtxilib::oopclasses::protos::Rect* UIElement::_internal_mutable_ax_frame() {
   _has_bits_[0] |= 0x00000002u;
   if (ax_frame_ == nullptr) {
-    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::Rect>(GetArenaForAllocation());
+    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::Rect>(GetArena());
     ax_frame_ = p;
   }
   return ax_frame_;
 }
 inline ::gtxilib::oopclasses::protos::Rect* UIElement::mutable_ax_frame() {
-  ::gtxilib::oopclasses::protos::Rect* _msg = _internal_mutable_ax_frame();
   // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.UIElement.ax_frame)
-  return _msg;
+  return _internal_mutable_ax_frame();
 }
 inline void UIElement::set_allocated_ax_frame(::gtxilib::oopclasses::protos::Rect* ax_frame) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
+  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
   if (message_arena == nullptr) {
     delete ax_frame_;
   }
   if (ax_frame) {
     ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::gtxilib::oopclasses::protos::Rect>::GetOwningArena(ax_frame);
+      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(ax_frame);
     if (message_arena != submessage_arena) {
       ax_frame = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
           message_arena, ax_frame, submessage_arena);
@@ -1789,7 +1724,7 @@
   // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.UIElement.ax_frame)
 }
 
-// optional .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum ax_element_type = 5;
+// .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum ax_element_type = 5;
 inline bool UIElement::_internal_has_ax_element_type() const {
   bool value = (_has_bits_[0] & 0x00000010u) != 0;
   return value;
@@ -1847,5 +1782,5 @@
 
 // @@protoc_insertion_point(global_scope)
 
-#include "net/proto2/public/port_undef.inc"
-#endif  // GOOGLE3_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_gtx_2eproto
+#include <google/protobuf/port_undef.inc>
+#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_gtx_2eproto