Glib::RefPtr<Gio::ZlibDecompressor> Glib::wrap(GZlibDecompressor*, bool) (struct GZlibDecompressor * object, bool take_copy)
{
  struct ZlibDecompressor * iftmp.0;
  int D.98822;
  struct ObjectBase * D.98823;

  D.98822 = (int) take_copy;
  D.98823 = Glib::wrap_auto (object, D.98822);
  if (D.98823 == 0B) goto <D.98824>; else goto <D.98825>;
  <D.98824>:
  iftmp.0 = 0B;
  goto <D.98826>;
  <D.98825>:
  iftmp.0 = __dynamic_cast (D.98823, &_ZTIN4Glib10ObjectBaseE, &_ZTIN3Gio16ZlibDecompressorE, -1);
  <D.98826>:
  Glib::RefPtr<Gio::ZlibDecompressor>::RefPtr (<retval>, iftmp.0);
  return <retval>;
}


Glib::RefPtr<T_CppObject>::RefPtr(T_CppObject*) [with T_CppObject = Gio::ZlibDecompressor] (struct RefPtr * const this, struct ZlibDecompressor * pCppObject)
{
  this->pCppObject_ = pCppObject;
}


const Glib::Class& Gio::ZlibDecompressor_Class::init() (struct ZlibDecompressor_Class * const this)
{
  long unsigned int D.98829;
  long unsigned int D.98832;
  struct Class * D.98833;
  long unsigned int D.98834;
  const struct Class & D.98836;

  D.98829 = this->D.86444.gtype_;
  if (D.98829 == 0) goto <D.98830>; else goto <D.98831>;
  <D.98830>:
  this->D.86444.class_init_func_ = class_init_function;
  D.98832 = g_zlib_decompressor_get_type ();
  D.98833 = &this->D.86444;
  Glib::Class::register_derived_type (D.98833, D.98832);
  D.98833 = &this->D.86444;
  D.98834 = Glib::Class::get_type (D.98833);
  Gio::Converter::add_interface (D.98834);
  goto <D.98835>;
  <D.98831>:
  <D.98835>:
  D.98836 = &this->D.86444;
  return D.98836;
}


GType Glib::Class::get_type() const (const struct Class * const this)
{
  GType D.98839;

  D.98839 = this->gtype_;
  return D.98839;
}


static void Gio::ZlibDecompressor_Class::class_init_function(void*, void*) (void * g_class, void * class_data)
{
  struct BaseClassType * const klass;

  klass = g_class;
  Glib::Object_Class::class_init_function (klass, class_data);
}


static Glib::ObjectBase* Gio::ZlibDecompressor_Class::wrap_new(GObject*) (struct GObject * object)
{
  struct ObjectBase * D.98841;
  struct ObjectBase * iftmp.1;
  void * D.97691;
  void * D.98843;
  int (*__vtbl_ptr_type) () * D.98846;
  int (*__vtbl_ptr_type) () * D.98847;
  long int D.98848;
  sizetype D.98849;

  D.97691 = operator new (56);
  try
    {
      Gio::ZlibDecompressor::ZlibDecompressor (D.97691, object);
    }
  catch
    {
      operator delete (D.97691);
    }
  D.98843 = D.97691;
  if (D.98843 != 0B) goto <D.98844>; else goto <D.98845>;
  <D.98844>:
  D.98846 = MEM[(struct ZlibDecompressor *)D.98843].D.86396._vptr.Object;
  D.98847 = D.98846 + 18446744073709551592;
  D.98848 = MEM[(long int *)D.98847];
  D.98849 = (sizetype) D.98848;
  iftmp.1 = D.98843 + D.98849;
  goto <D.98850>;
  <D.98845>:
  iftmp.1 = 0B;
  <D.98850>:
  D.98841 = iftmp.1;
  return D.98841;
}


GZlibDecompressor* Gio::ZlibDecompressor::gobj_copy() (struct ZlibDecompressor * const this)
{
  int (*__vtbl_ptr_type) () * D.98855;
  int (*__vtbl_ptr_type) () * D.98856;
  long int D.98857;
  sizetype D.98858;
  struct ObjectBase * D.98859;
  int (*__vtbl_ptr_type) () * D.98860;
  int (*__vtbl_ptr_type) () * D.98861;
  int (*__vtbl_ptr_type) () D.98862;
  struct GZlibDecompressor * D.98863;

  D.98855 = this->D.86396._vptr.Object;
  D.98856 = D.98855 + 18446744073709551592;
  D.98857 = MEM[(long int *)D.98856];
  D.98858 = (sizetype) D.98857;
  D.98859 = this + D.98858;
  D.98855 = this->D.86396._vptr.Object;
  D.98856 = D.98855 + 18446744073709551592;
  D.98857 = MEM[(long int *)D.98856];
  D.98858 = (sizetype) D.98857;
  D.98859 = this + D.98858;
  D.98860 = D.98859->_vptr.ObjectBase;
  D.98861 = D.98860 + 16;
  D.98862 = *D.98861;
  D.98855 = this->D.86396._vptr.Object;
  D.98856 = D.98855 + 18446744073709551592;
  D.98857 = MEM[(long int *)D.98856];
  D.98858 = (sizetype) D.98857;
  D.98859 = this + D.98858;
  OBJ_TYPE_REF(D.98862;(const struct ObjectBase)D.98859->2) (D.98859);
  D.98863 = Gio::ZlibDecompressor::gobj (this);
  return D.98863;
}


GZlibDecompressor* Gio::ZlibDecompressor::gobj() (struct ZlibDecompressor * const this)
{
  struct GZlibDecompressor * D.98865;
  int (*__vtbl_ptr_type) () * D.98866;
  int (*__vtbl_ptr_type) () * D.98867;
  long int D.98868;
  sizetype D.98869;
  struct ObjectBase * D.98870;

  D.98866 = this->D.86396._vptr.Object;
  D.98867 = D.98866 + 18446744073709551592;
  D.98868 = MEM[(long int *)D.98867];
  D.98869 = (sizetype) D.98868;
  D.98870 = this + D.98869;
  D.98865 = D.98870->gobject_;
  return D.98865;
}


Gio::ZlibDecompressor::ZlibDecompressor(const Glib::ConstructParams&) (struct ZlibDecompressor * const this, const void * * __vtt_parm, const struct ConstructParams & construct_params)
{
  struct trackable * D.98874;
  const void * * iftmp.2;
  struct ObjectBase * D.98882;
  const void * * iftmp.3;
  struct Object * D.98888;
  const void * * iftmp.4;
  struct Converter * D.98893;
  int (*__vtbl_ptr_type) () * iftmp.5;
  sizetype iftmp.6;
  int (*__vtbl_ptr_type) () * D.98901;
  int (*__vtbl_ptr_type) () * D.98902;
  long int D.98903;
  struct ObjectBase * D.98905;
  int (*__vtbl_ptr_type) () * iftmp.7;
  int (*__vtbl_ptr_type) () * iftmp.8;
  const void * * iftmp.9;
  const void * * iftmp.10;
  const void * * iftmp.11;

  if (0 != 0) goto <D.98872>; else goto <D.98873>;
  <D.98872>:
  D.98874 = &this->D.86401;
  sigc::trackable::trackable (D.98874);
  goto <D.98875>;
  <D.98873>:
  <D.98875>:
  try
    {
      if (0 != 0) goto <D.98876>; else goto <D.98877>;
      <D.98876>:
      if (0 == 0) goto <D.98879>; else goto <D.98880>;
      <D.98879>:
      iftmp.2 = __vtt_parm + 72;
      goto <D.98881>;
      <D.98880>:
      iftmp.2 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 72B];
      <D.98881>:
      D.98882 = &this->D.86400;
      Glib::ObjectBase::ObjectBase (D.98882, iftmp.2);
      goto <D.98883>;
      <D.98877>:
      <D.98883>:
      try
        {
          if (0 == 0) goto <D.98885>; else goto <D.98886>;
          <D.98885>:
          iftmp.3 = __vtt_parm + 8;
          goto <D.98887>;
          <D.98886>:
          iftmp.3 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 8B];
          <D.98887>:
          D.98888 = &this->D.86396;
          Glib::Object::Object (D.98888, iftmp.3, construct_params);
          try
            {
              if (0 == 0) goto <D.98890>; else goto <D.98891>;
              <D.98890>:
              iftmp.4 = __vtt_parm + 24;
              goto <D.98892>;
              <D.98891>:
              iftmp.4 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 24B];
              <D.98892>:
              D.98893 = &this->D.86397;
              Gio::Converter::Converter (D.98893, iftmp.4);
              try
                {
                  if (0 == 0) goto <D.98895>; else goto <D.98896>;
                  <D.98895>:
                  iftmp.5 = *__vtt_parm;
                  goto <D.98897>;
                  <D.98896>:
                  iftmp.5 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 32B];
                  <D.98897>:
                  this->D.86396._vptr.Object = iftmp.5;
                  if (0 == 0) goto <D.98899>; else goto <D.98900>;
                  <D.98899>:
                  D.98901 = this->D.86396._vptr.Object;
                  D.98902 = D.98901 + 18446744073709551592;
                  D.98903 = MEM[(long int *)D.98902];
                  iftmp.6 = (sizetype) D.98903;
                  goto <D.98904>;
                  <D.98900>:
                  iftmp.6 = 16;
                  <D.98904>:
                  D.98905 = this + iftmp.6;
                  if (0 == 0) goto <D.98907>; else goto <D.98908>;
                  <D.98907>:
                  iftmp.7 = MEM[(const void * *)__vtt_parm + 56B];
                  goto <D.98909>;
                  <D.98908>:
                  iftmp.7 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 176B];
                  <D.98909>:
                  D.98905->_vptr.ObjectBase = iftmp.7;
                  if (0 == 0) goto <D.98911>; else goto <D.98912>;
                  <D.98911>:
                  iftmp.8 = MEM[(const void * *)__vtt_parm + 64B];
                  goto <D.98913>;
                  <D.98912>:
                  iftmp.8 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 80B];
                  <D.98913>:
                  this->D.86397.D.86100._vptr.Interface = iftmp.8;
                }
              catch
                {
                  if (0 == 0) goto <D.98915>; else goto <D.98916>;
                  <D.98915>:
                  iftmp.9 = __vtt_parm + 24;
                  goto <D.98917>;
                  <D.98916>:
                  iftmp.9 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 24B];
                  <D.98917>:
                  D.98893 = &this->D.86397;
                  Gio::Converter::~Converter (D.98893, iftmp.9);
                }
            }
          catch
            {
              if (0 == 0) goto <D.98919>; else goto <D.98920>;
              <D.98919>:
              iftmp.10 = __vtt_parm + 8;
              goto <D.98921>;
              <D.98920>:
              iftmp.10 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 8B];
              <D.98921>:
              D.98888 = &this->D.86396;
              Glib::Object::~Object (D.98888, iftmp.10);
            }
        }
      catch
        {
          if (0 != 0) goto <D.98922>; else goto <D.98923>;
          <D.98922>:
          if (0 == 0) goto <D.98925>; else goto <D.98926>;
          <D.98925>:
          iftmp.11 = __vtt_parm + 72;
          goto <D.98927>;
          <D.98926>:
          iftmp.11 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 72B];
          <D.98927>:
          D.98882 = &this->D.86400;
          Glib::ObjectBase::~ObjectBase (D.98882, iftmp.11);
          goto <D.98928>;
          <D.98923>:
          <D.98928>:
        }
    }
  catch
    {
      if (0 != 0) goto <D.98929>; else goto <D.98930>;
      <D.98929>:
      D.98874 = &this->D.86401;
      sigc::trackable::~trackable (D.98874);
      goto <D.98931>;
      <D.98930>:
      <D.98931>:
    }
}


Gio::ZlibDecompressor::ZlibDecompressor(const Glib::ConstructParams&) (struct ZlibDecompressor * const this, const struct ConstructParams & construct_params)
{
  struct trackable * D.98937;
  const void * * iftmp.12;
  struct ObjectBase * D.98945;
  const void * * iftmp.13;
  struct Object * D.98951;
  const void * * iftmp.14;
  struct Converter * D.98956;
  int (*__vtbl_ptr_type) () * iftmp.15;
  const void * * D.98960;
  sizetype iftmp.16;
  int (*__vtbl_ptr_type) () * D.98965;
  int (*__vtbl_ptr_type) () * D.98966;
  long int D.98967;
  struct ObjectBase * D.98969;
  int (*__vtbl_ptr_type) () * iftmp.17;
  int (*__vtbl_ptr_type) () * iftmp.18;
  const void * * iftmp.19;
  const void * * iftmp.20;
  const void * * iftmp.21;

  if (1 != 0) goto <D.98935>; else goto <D.98936>;
  <D.98935>:
  D.98937 = &this->D.86401;
  sigc::trackable::trackable (D.98937);
  goto <D.98938>;
  <D.98936>:
  <D.98938>:
  try
    {
      if (1 != 0) goto <D.98939>; else goto <D.98940>;
      <D.98939>:
      if (1 == 0) goto <D.98942>; else goto <D.98943>;
      <D.98942>:
      iftmp.12 = 72B;
      goto <D.98944>;
      <D.98943>:
      iftmp.12 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 72B];
      <D.98944>:
      D.98945 = &this->D.86400;
      Glib::ObjectBase::ObjectBase (D.98945, iftmp.12);
      goto <D.98946>;
      <D.98940>:
      <D.98946>:
      try
        {
          if (1 == 0) goto <D.98948>; else goto <D.98949>;
          <D.98948>:
          iftmp.13 = 8B;
          goto <D.98950>;
          <D.98949>:
          iftmp.13 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 8B];
          <D.98950>:
          D.98951 = &this->D.86396;
          Glib::Object::Object (D.98951, iftmp.13, construct_params);
          try
            {
              if (1 == 0) goto <D.98953>; else goto <D.98954>;
              <D.98953>:
              iftmp.14 = 24B;
              goto <D.98955>;
              <D.98954>:
              iftmp.14 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 24B];
              <D.98955>:
              D.98956 = &this->D.86397;
              Gio::Converter::Converter (D.98956, iftmp.14);
              try
                {
                  if (1 == 0) goto <D.98958>; else goto <D.98959>;
                  <D.98958>:
                  D.98960 = 0B;
                  iftmp.15 = *D.98960;
                  goto <D.98961>;
                  <D.98959>:
                  iftmp.15 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 32B];
                  <D.98961>:
                  this->D.86396._vptr.Object = iftmp.15;
                  if (1 == 0) goto <D.98963>; else goto <D.98964>;
                  <D.98963>:
                  D.98965 = this->D.86396._vptr.Object;
                  D.98966 = D.98965 + 18446744073709551592;
                  D.98967 = MEM[(long int *)D.98966];
                  iftmp.16 = (sizetype) D.98967;
                  goto <D.98968>;
                  <D.98964>:
                  iftmp.16 = 16;
                  <D.98968>:
                  D.98969 = this + iftmp.16;
                  if (1 == 0) goto <D.98971>; else goto <D.98972>;
                  <D.98971>:
                  iftmp.17 = MEM[(const void * *)0B + 56B];
                  goto <D.98973>;
                  <D.98972>:
                  iftmp.17 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 176B];
                  <D.98973>:
                  D.98969->_vptr.ObjectBase = iftmp.17;
                  if (1 == 0) goto <D.98975>; else goto <D.98976>;
                  <D.98975>:
                  iftmp.18 = MEM[(const void * *)0B + 64B];
                  goto <D.98977>;
                  <D.98976>:
                  iftmp.18 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 80B];
                  <D.98977>:
                  this->D.86397.D.86100._vptr.Interface = iftmp.18;
                }
              catch
                {
                  if (1 == 0) goto <D.98979>; else goto <D.98980>;
                  <D.98979>:
                  iftmp.19 = 24B;
                  goto <D.98981>;
                  <D.98980>:
                  iftmp.19 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 24B];
                  <D.98981>:
                  D.98956 = &this->D.86397;
                  Gio::Converter::~Converter (D.98956, iftmp.19);
                }
            }
          catch
            {
              if (1 == 0) goto <D.98983>; else goto <D.98984>;
              <D.98983>:
              iftmp.20 = 8B;
              goto <D.98985>;
              <D.98984>:
              iftmp.20 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 8B];
              <D.98985>:
              D.98951 = &this->D.86396;
              Glib::Object::~Object (D.98951, iftmp.20);
            }
        }
      catch
        {
          if (1 != 0) goto <D.98986>; else goto <D.98987>;
          <D.98986>:
          if (1 == 0) goto <D.98989>; else goto <D.98990>;
          <D.98989>:
          iftmp.21 = 72B;
          goto <D.98991>;
          <D.98990>:
          iftmp.21 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 72B];
          <D.98991>:
          D.98945 = &this->D.86400;
          Glib::ObjectBase::~ObjectBase (D.98945, iftmp.21);
          goto <D.98992>;
          <D.98987>:
          <D.98992>:
        }
    }
  catch
    {
      if (1 != 0) goto <D.98993>; else goto <D.98994>;
      <D.98993>:
      D.98937 = &this->D.86401;
      sigc::trackable::~trackable (D.98937);
      goto <D.98995>;
      <D.98994>:
      <D.98995>:
    }
}


Gio::ZlibDecompressor::ZlibDecompressor(GZlibDecompressor*) (struct ZlibDecompressor * const this, const void * * __vtt_parm, struct GZlibDecompressor * castitem)
{
  struct trackable * D.99001;
  const void * * iftmp.22;
  struct ObjectBase * D.99009;
  const void * * iftmp.23;
  struct Object * D.99015;
  const void * * iftmp.24;
  struct Converter * D.99020;
  int (*__vtbl_ptr_type) () * iftmp.25;
  sizetype iftmp.26;
  int (*__vtbl_ptr_type) () * D.99028;
  int (*__vtbl_ptr_type) () * D.99029;
  long int D.99030;
  struct ObjectBase * D.99032;
  int (*__vtbl_ptr_type) () * iftmp.27;
  int (*__vtbl_ptr_type) () * iftmp.28;
  const void * * iftmp.29;
  const void * * iftmp.30;
  const void * * iftmp.31;

  if (0 != 0) goto <D.98999>; else goto <D.99000>;
  <D.98999>:
  D.99001 = &this->D.86401;
  sigc::trackable::trackable (D.99001);
  goto <D.99002>;
  <D.99000>:
  <D.99002>:
  try
    {
      if (0 != 0) goto <D.99003>; else goto <D.99004>;
      <D.99003>:
      if (0 == 0) goto <D.99006>; else goto <D.99007>;
      <D.99006>:
      iftmp.22 = __vtt_parm + 72;
      goto <D.99008>;
      <D.99007>:
      iftmp.22 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 72B];
      <D.99008>:
      D.99009 = &this->D.86400;
      Glib::ObjectBase::ObjectBase (D.99009, iftmp.22);
      goto <D.99010>;
      <D.99004>:
      <D.99010>:
      try
        {
          if (0 == 0) goto <D.99012>; else goto <D.99013>;
          <D.99012>:
          iftmp.23 = __vtt_parm + 8;
          goto <D.99014>;
          <D.99013>:
          iftmp.23 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 8B];
          <D.99014>:
          D.99015 = &this->D.86396;
          Glib::Object::Object (D.99015, iftmp.23, castitem);
          try
            {
              if (0 == 0) goto <D.99017>; else goto <D.99018>;
              <D.99017>:
              iftmp.24 = __vtt_parm + 24;
              goto <D.99019>;
              <D.99018>:
              iftmp.24 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 24B];
              <D.99019>:
              D.99020 = &this->D.86397;
              Gio::Converter::Converter (D.99020, iftmp.24);
              try
                {
                  if (0 == 0) goto <D.99022>; else goto <D.99023>;
                  <D.99022>:
                  iftmp.25 = *__vtt_parm;
                  goto <D.99024>;
                  <D.99023>:
                  iftmp.25 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 32B];
                  <D.99024>:
                  this->D.86396._vptr.Object = iftmp.25;
                  if (0 == 0) goto <D.99026>; else goto <D.99027>;
                  <D.99026>:
                  D.99028 = this->D.86396._vptr.Object;
                  D.99029 = D.99028 + 18446744073709551592;
                  D.99030 = MEM[(long int *)D.99029];
                  iftmp.26 = (sizetype) D.99030;
                  goto <D.99031>;
                  <D.99027>:
                  iftmp.26 = 16;
                  <D.99031>:
                  D.99032 = this + iftmp.26;
                  if (0 == 0) goto <D.99034>; else goto <D.99035>;
                  <D.99034>:
                  iftmp.27 = MEM[(const void * *)__vtt_parm + 56B];
                  goto <D.99036>;
                  <D.99035>:
                  iftmp.27 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 176B];
                  <D.99036>:
                  D.99032->_vptr.ObjectBase = iftmp.27;
                  if (0 == 0) goto <D.99038>; else goto <D.99039>;
                  <D.99038>:
                  iftmp.28 = MEM[(const void * *)__vtt_parm + 64B];
                  goto <D.99040>;
                  <D.99039>:
                  iftmp.28 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 80B];
                  <D.99040>:
                  this->D.86397.D.86100._vptr.Interface = iftmp.28;
                }
              catch
                {
                  if (0 == 0) goto <D.99042>; else goto <D.99043>;
                  <D.99042>:
                  iftmp.29 = __vtt_parm + 24;
                  goto <D.99044>;
                  <D.99043>:
                  iftmp.29 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 24B];
                  <D.99044>:
                  D.99020 = &this->D.86397;
                  Gio::Converter::~Converter (D.99020, iftmp.29);
                }
            }
          catch
            {
              if (0 == 0) goto <D.99046>; else goto <D.99047>;
              <D.99046>:
              iftmp.30 = __vtt_parm + 8;
              goto <D.99048>;
              <D.99047>:
              iftmp.30 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 8B];
              <D.99048>:
              D.99015 = &this->D.86396;
              Glib::Object::~Object (D.99015, iftmp.30);
            }
        }
      catch
        {
          if (0 != 0) goto <D.99049>; else goto <D.99050>;
          <D.99049>:
          if (0 == 0) goto <D.99052>; else goto <D.99053>;
          <D.99052>:
          iftmp.31 = __vtt_parm + 72;
          goto <D.99054>;
          <D.99053>:
          iftmp.31 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 72B];
          <D.99054>:
          D.99009 = &this->D.86400;
          Glib::ObjectBase::~ObjectBase (D.99009, iftmp.31);
          goto <D.99055>;
          <D.99050>:
          <D.99055>:
        }
    }
  catch
    {
      if (0 != 0) goto <D.99056>; else goto <D.99057>;
      <D.99056>:
      D.99001 = &this->D.86401;
      sigc::trackable::~trackable (D.99001);
      goto <D.99058>;
      <D.99057>:
      <D.99058>:
    }
}


Gio::ZlibDecompressor::ZlibDecompressor(GZlibDecompressor*) (struct ZlibDecompressor * const this, struct GZlibDecompressor * castitem)
{
  struct trackable * D.99064;
  const void * * iftmp.32;
  struct ObjectBase * D.99072;
  const void * * iftmp.33;
  struct Object * D.99078;
  const void * * iftmp.34;
  struct Converter * D.99083;
  int (*__vtbl_ptr_type) () * iftmp.35;
  const void * * D.99087;
  sizetype iftmp.36;
  int (*__vtbl_ptr_type) () * D.99092;
  int (*__vtbl_ptr_type) () * D.99093;
  long int D.99094;
  struct ObjectBase * D.99096;
  int (*__vtbl_ptr_type) () * iftmp.37;
  int (*__vtbl_ptr_type) () * iftmp.38;
  const void * * iftmp.39;
  const void * * iftmp.40;
  const void * * iftmp.41;

  if (1 != 0) goto <D.99062>; else goto <D.99063>;
  <D.99062>:
  D.99064 = &this->D.86401;
  sigc::trackable::trackable (D.99064);
  goto <D.99065>;
  <D.99063>:
  <D.99065>:
  try
    {
      if (1 != 0) goto <D.99066>; else goto <D.99067>;
      <D.99066>:
      if (1 == 0) goto <D.99069>; else goto <D.99070>;
      <D.99069>:
      iftmp.32 = 72B;
      goto <D.99071>;
      <D.99070>:
      iftmp.32 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 72B];
      <D.99071>:
      D.99072 = &this->D.86400;
      Glib::ObjectBase::ObjectBase (D.99072, iftmp.32);
      goto <D.99073>;
      <D.99067>:
      <D.99073>:
      try
        {
          if (1 == 0) goto <D.99075>; else goto <D.99076>;
          <D.99075>:
          iftmp.33 = 8B;
          goto <D.99077>;
          <D.99076>:
          iftmp.33 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 8B];
          <D.99077>:
          D.99078 = &this->D.86396;
          Glib::Object::Object (D.99078, iftmp.33, castitem);
          try
            {
              if (1 == 0) goto <D.99080>; else goto <D.99081>;
              <D.99080>:
              iftmp.34 = 24B;
              goto <D.99082>;
              <D.99081>:
              iftmp.34 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 24B];
              <D.99082>:
              D.99083 = &this->D.86397;
              Gio::Converter::Converter (D.99083, iftmp.34);
              try
                {
                  if (1 == 0) goto <D.99085>; else goto <D.99086>;
                  <D.99085>:
                  D.99087 = 0B;
                  iftmp.35 = *D.99087;
                  goto <D.99088>;
                  <D.99086>:
                  iftmp.35 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 32B];
                  <D.99088>:
                  this->D.86396._vptr.Object = iftmp.35;
                  if (1 == 0) goto <D.99090>; else goto <D.99091>;
                  <D.99090>:
                  D.99092 = this->D.86396._vptr.Object;
                  D.99093 = D.99092 + 18446744073709551592;
                  D.99094 = MEM[(long int *)D.99093];
                  iftmp.36 = (sizetype) D.99094;
                  goto <D.99095>;
                  <D.99091>:
                  iftmp.36 = 16;
                  <D.99095>:
                  D.99096 = this + iftmp.36;
                  if (1 == 0) goto <D.99098>; else goto <D.99099>;
                  <D.99098>:
                  iftmp.37 = MEM[(const void * *)0B + 56B];
                  goto <D.99100>;
                  <D.99099>:
                  iftmp.37 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 176B];
                  <D.99100>:
                  D.99096->_vptr.ObjectBase = iftmp.37;
                  if (1 == 0) goto <D.99102>; else goto <D.99103>;
                  <D.99102>:
                  iftmp.38 = MEM[(const void * *)0B + 64B];
                  goto <D.99104>;
                  <D.99103>:
                  iftmp.38 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 80B];
                  <D.99104>:
                  this->D.86397.D.86100._vptr.Interface = iftmp.38;
                }
              catch
                {
                  if (1 == 0) goto <D.99106>; else goto <D.99107>;
                  <D.99106>:
                  iftmp.39 = 24B;
                  goto <D.99108>;
                  <D.99107>:
                  iftmp.39 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 24B];
                  <D.99108>:
                  D.99083 = &this->D.86397;
                  Gio::Converter::~Converter (D.99083, iftmp.39);
                }
            }
          catch
            {
              if (1 == 0) goto <D.99110>; else goto <D.99111>;
              <D.99110>:
              iftmp.40 = 8B;
              goto <D.99112>;
              <D.99111>:
              iftmp.40 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 8B];
              <D.99112>:
              D.99078 = &this->D.86396;
              Glib::Object::~Object (D.99078, iftmp.40);
            }
        }
      catch
        {
          if (1 != 0) goto <D.99113>; else goto <D.99114>;
          <D.99113>:
          if (1 == 0) goto <D.99116>; else goto <D.99117>;
          <D.99116>:
          iftmp.41 = 72B;
          goto <D.99118>;
          <D.99117>:
          iftmp.41 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 72B];
          <D.99118>:
          D.99072 = &this->D.86400;
          Glib::ObjectBase::~ObjectBase (D.99072, iftmp.41);
          goto <D.99119>;
          <D.99114>:
          <D.99119>:
        }
    }
  catch
    {
      if (1 != 0) goto <D.99120>; else goto <D.99121>;
      <D.99120>:
      D.99064 = &this->D.86401;
      sigc::trackable::~trackable (D.99064);
      goto <D.99122>;
      <D.99121>:
      <D.99122>:
    }
}


Gio::ZlibDecompressor::~ZlibDecompressor() (struct ZlibDecompressor * const this, const void * * __vtt_parm)
{
  int (*__vtbl_ptr_type) () * iftmp.42;
  sizetype iftmp.43;
  int (*__vtbl_ptr_type) () * D.99133;
  int (*__vtbl_ptr_type) () * D.99134;
  long int D.99135;
  struct ObjectBase * D.99137;
  int (*__vtbl_ptr_type) () * iftmp.44;
  int (*__vtbl_ptr_type) () * iftmp.45;
  const void * * iftmp.46;
  struct Converter * D.99150;
  const void * * iftmp.47;
  struct Object * D.99155;
  int D.99156;
  const void * * iftmp.48;
  struct ObjectBase * D.99163;
  struct trackable * D.99167;
  int D.99169;

  {
    if (0 == 0) goto <D.99127>; else goto <D.99128>;
    <D.99127>:
    iftmp.42 = *__vtt_parm;
    goto <D.99129>;
    <D.99128>:
    iftmp.42 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 32B];
    <D.99129>:
    this->D.86396._vptr.Object = iftmp.42;
    if (0 == 0) goto <D.99131>; else goto <D.99132>;
    <D.99131>:
    D.99133 = this->D.86396._vptr.Object;
    D.99134 = D.99133 + 18446744073709551592;
    D.99135 = MEM[(long int *)D.99134];
    iftmp.43 = (sizetype) D.99135;
    goto <D.99136>;
    <D.99132>:
    iftmp.43 = 16;
    <D.99136>:
    D.99137 = this + iftmp.43;
    if (0 == 0) goto <D.99139>; else goto <D.99140>;
    <D.99139>:
    iftmp.44 = MEM[(const void * *)__vtt_parm + 56B];
    goto <D.99141>;
    <D.99140>:
    iftmp.44 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 176B];
    <D.99141>:
    D.99137->_vptr.ObjectBase = iftmp.44;
    if (0 == 0) goto <D.99143>; else goto <D.99144>;
    <D.99143>:
    iftmp.45 = MEM[(const void * *)__vtt_parm + 64B];
    goto <D.99145>;
    <D.99144>:
    iftmp.45 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 80B];
    <D.99145>:
    this->D.86397.D.86100._vptr.Interface = iftmp.45;
    try
      {
        try
          {
            try
              {
                try
                  {
                    try
                      {

                      }
                    finally
                      {
                        if (0 == 0) goto <D.99147>; else goto <D.99148>;
                        <D.99147>:
                        iftmp.46 = __vtt_parm + 24;
                        goto <D.99149>;
                        <D.99148>:
                        iftmp.46 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 24B];
                        <D.99149>:
                        D.99150 = &this->D.86397;
                        Gio::Converter::~Converter (D.99150, iftmp.46);
                      }
                  }
                finally
                  {
                    if (0 == 0) goto <D.99152>; else goto <D.99153>;
                    <D.99152>:
                    iftmp.47 = __vtt_parm + 8;
                    goto <D.99154>;
                    <D.99153>:
                    iftmp.47 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 8B];
                    <D.99154>:
                    D.99155 = &this->D.86396;
                    Glib::Object::~Object (D.99155, iftmp.47);
                  }
              }
            finally
              {
                D.99156 = 0;
                if (D.99156 != 0) goto <D.99157>; else goto <D.99158>;
                <D.99157>:
                if (0 == 0) goto <D.99160>; else goto <D.99161>;
                <D.99160>:
                iftmp.48 = __vtt_parm + 72;
                goto <D.99162>;
                <D.99161>:
                iftmp.48 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 72B];
                <D.99162>:
                D.99163 = &this->D.86400;
                Glib::ObjectBase::~ObjectBase (D.99163, iftmp.48);
                goto <D.99164>;
                <D.99158>:
                <D.99164>:
              }
          }
        finally
          {
            D.99156 = 0;
            if (D.99156 != 0) goto <D.99165>; else goto <D.99166>;
            <D.99165>:
            D.99167 = &this->D.86401;
            sigc::trackable::~trackable (D.99167);
            goto <D.99168>;
            <D.99166>:
            <D.99168>:
          }
      }
    finally
      {
        *this = {CLOBBER};
      }
  }
  <D.97719>:
  D.99169 = 0;
  if (D.99169 != 0) goto <D.99170>; else goto <D.99171>;
  <D.99170>:
  operator delete (this);
  goto <D.99172>;
  <D.99171>:
  <D.99172>:
}


virtual Gio::ZlibDecompressor::~ZlibDecompressor() (struct ZlibDecompressor * const this)
{
  int (*__vtbl_ptr_type) () * iftmp.49;
  const void * * D.99192;
  sizetype iftmp.50;
  int (*__vtbl_ptr_type) () * D.99197;
  int (*__vtbl_ptr_type) () * D.99198;
  long int D.99199;
  struct ObjectBase * D.99201;
  int (*__vtbl_ptr_type) () * iftmp.51;
  int (*__vtbl_ptr_type) () * iftmp.52;
  const void * * iftmp.53;
  struct Converter * D.99214;
  const void * * iftmp.54;
  struct Object * D.99219;
  int D.99220;
  const void * * iftmp.55;
  struct ObjectBase * D.99227;
  struct trackable * D.99231;
  int D.99233;

  {
    if (2 == 0) goto <D.99190>; else goto <D.99191>;
    <D.99190>:
    D.99192 = 0B;
    iftmp.49 = *D.99192;
    goto <D.99193>;
    <D.99191>:
    iftmp.49 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 32B];
    <D.99193>:
    this->D.86396._vptr.Object = iftmp.49;
    if (2 == 0) goto <D.99195>; else goto <D.99196>;
    <D.99195>:
    D.99197 = this->D.86396._vptr.Object;
    D.99198 = D.99197 + 18446744073709551592;
    D.99199 = MEM[(long int *)D.99198];
    iftmp.50 = (sizetype) D.99199;
    goto <D.99200>;
    <D.99196>:
    iftmp.50 = 16;
    <D.99200>:
    D.99201 = this + iftmp.50;
    if (2 == 0) goto <D.99203>; else goto <D.99204>;
    <D.99203>:
    iftmp.51 = MEM[(const void * *)0B + 56B];
    goto <D.99205>;
    <D.99204>:
    iftmp.51 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 176B];
    <D.99205>:
    D.99201->_vptr.ObjectBase = iftmp.51;
    if (2 == 0) goto <D.99207>; else goto <D.99208>;
    <D.99207>:
    iftmp.52 = MEM[(const void * *)0B + 64B];
    goto <D.99209>;
    <D.99208>:
    iftmp.52 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 80B];
    <D.99209>:
    this->D.86397.D.86100._vptr.Interface = iftmp.52;
    try
      {
        try
          {
            try
              {
                try
                  {
                    try
                      {

                      }
                    finally
                      {
                        if (2 == 0) goto <D.99211>; else goto <D.99212>;
                        <D.99211>:
                        iftmp.53 = 24B;
                        goto <D.99213>;
                        <D.99212>:
                        iftmp.53 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 24B];
                        <D.99213>:
                        D.99214 = &this->D.86397;
                        Gio::Converter::~Converter (D.99214, iftmp.53);
                      }
                  }
                finally
                  {
                    if (2 == 0) goto <D.99216>; else goto <D.99217>;
                    <D.99216>:
                    iftmp.54 = 8B;
                    goto <D.99218>;
                    <D.99217>:
                    iftmp.54 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 8B];
                    <D.99218>:
                    D.99219 = &this->D.86396;
                    Glib::Object::~Object (D.99219, iftmp.54);
                  }
              }
            finally
              {
                D.99220 = 2;
                if (D.99220 != 0) goto <D.99221>; else goto <D.99222>;
                <D.99221>:
                if (2 == 0) goto <D.99224>; else goto <D.99225>;
                <D.99224>:
                iftmp.55 = 72B;
                goto <D.99226>;
                <D.99225>:
                iftmp.55 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 72B];
                <D.99226>:
                D.99227 = &this->D.86400;
                Glib::ObjectBase::~ObjectBase (D.99227, iftmp.55);
                goto <D.99228>;
                <D.99222>:
                <D.99228>:
              }
          }
        finally
          {
            D.99220 = 2;
            if (D.99220 != 0) goto <D.99229>; else goto <D.99230>;
            <D.99229>:
            D.99231 = &this->D.86401;
            sigc::trackable::~trackable (D.99231);
            goto <D.99232>;
            <D.99230>:
            <D.99232>:
          }
      }
    finally
      {
        *this = {CLOBBER};
      }
  }
  <D.97722>:
  D.99233 = 0;
  if (D.99233 != 0) goto <D.99234>; else goto <D.99235>;
  <D.99234>:
  operator delete (this);
  goto <D.99236>;
  <D.99235>:
  <D.99236>:
}


virtual Gio::ZlibDecompressor::~ZlibDecompressor() (struct ZlibDecompressor * const this)
{
  Gio::ZlibDecompressor::~ZlibDecompressor (this);
  <D.97730>:
  operator delete (this);
}


static GType Gio::ZlibDecompressor::get_type() ()
{
  GType D.99253;
  const struct Class & D.99254;

  D.99254 = Gio::ZlibDecompressor_Class::init (&zlibdecompressor_class_);
  D.99253 = Glib::Class::get_type (D.99254);
  return D.99253;
}


static GType Gio::ZlibDecompressor::get_base_type() ()
{
  GType D.99257;

  D.99257 = g_zlib_decompressor_get_type ();
  return D.99257;
}


Gio::ZlibDecompressor::ZlibDecompressor(Gio::ZlibCompressorFormat) (struct ZlibDecompressor * const this, const void * * __vtt_parm, ZlibCompressorFormat format)
{
  struct trackable * D.99262;
  const void * * iftmp.56;
  struct ObjectBase * D.99270;
  struct ConstructParams D.97752;
  int format.57;
  const struct Class & D.99273;
  const void * * iftmp.58;
  struct Object * D.99278;
  const void * * iftmp.59;
  struct Converter * D.99283;
  int (*__vtbl_ptr_type) () * iftmp.60;
  sizetype iftmp.61;
  int (*__vtbl_ptr_type) () * D.99291;
  int (*__vtbl_ptr_type) () * D.99292;
  long int D.99293;
  struct ObjectBase * D.99295;
  int (*__vtbl_ptr_type) () * iftmp.62;
  int (*__vtbl_ptr_type) () * iftmp.63;
  const void * * iftmp.64;
  const void * * iftmp.65;
  const void * * iftmp.66;

  if (0 != 0) goto <D.99260>; else goto <D.99261>;
  <D.99260>:
  D.99262 = &this->D.86401;
  sigc::trackable::trackable (D.99262);
  goto <D.99263>;
  <D.99261>:
  <D.99263>:
  try
    {
      if (0 != 0) goto <D.99264>; else goto <D.99265>;
      <D.99264>:
      if (0 == 0) goto <D.99267>; else goto <D.99268>;
      <D.99267>:
      iftmp.56 = __vtt_parm + 72;
      goto <D.99269>;
      <D.99268>:
      iftmp.56 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 72B];
      <D.99269>:
      D.99270 = &this->D.86400;
      Glib::ObjectBase::ObjectBase (D.99270, iftmp.56, 0B);
      goto <D.99271>;
      <D.99265>:
      <D.99271>:
      try
        {
          format.57 = (int) format;
          D.99273 = Gio::ZlibDecompressor_Class::init (&zlibdecompressor_class_);
          Glib::ConstructParams::ConstructParams (&D.97752, D.99273, "format", format.57, 0B);
          try
            {
              if (0 == 0) goto <D.99275>; else goto <D.99276>;
              <D.99275>:
              iftmp.58 = __vtt_parm + 8;
              goto <D.99277>;
              <D.99276>:
              iftmp.58 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 8B];
              <D.99277>:
              D.99278 = &this->D.86396;
              Glib::Object::Object (D.99278, iftmp.58, &D.97752);
            }
          finally
            {
              Glib::ConstructParams::~ConstructParams (&D.97752);
              D.97752 = {CLOBBER};
            }
          try
            {
              if (0 == 0) goto <D.99280>; else goto <D.99281>;
              <D.99280>:
              iftmp.59 = __vtt_parm + 24;
              goto <D.99282>;
              <D.99281>:
              iftmp.59 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 24B];
              <D.99282>:
              D.99283 = &this->D.86397;
              Gio::Converter::Converter (D.99283, iftmp.59);
              try
                {
                  if (0 == 0) goto <D.99285>; else goto <D.99286>;
                  <D.99285>:
                  iftmp.60 = *__vtt_parm;
                  goto <D.99287>;
                  <D.99286>:
                  iftmp.60 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 32B];
                  <D.99287>:
                  this->D.86396._vptr.Object = iftmp.60;
                  if (0 == 0) goto <D.99289>; else goto <D.99290>;
                  <D.99289>:
                  D.99291 = this->D.86396._vptr.Object;
                  D.99292 = D.99291 + 18446744073709551592;
                  D.99293 = MEM[(long int *)D.99292];
                  iftmp.61 = (sizetype) D.99293;
                  goto <D.99294>;
                  <D.99290>:
                  iftmp.61 = 16;
                  <D.99294>:
                  D.99295 = this + iftmp.61;
                  if (0 == 0) goto <D.99297>; else goto <D.99298>;
                  <D.99297>:
                  iftmp.62 = MEM[(const void * *)__vtt_parm + 56B];
                  goto <D.99299>;
                  <D.99298>:
                  iftmp.62 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 176B];
                  <D.99299>:
                  D.99295->_vptr.ObjectBase = iftmp.62;
                  if (0 == 0) goto <D.99301>; else goto <D.99302>;
                  <D.99301>:
                  iftmp.63 = MEM[(const void * *)__vtt_parm + 64B];
                  goto <D.99303>;
                  <D.99302>:
                  iftmp.63 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 80B];
                  <D.99303>:
                  this->D.86397.D.86100._vptr.Interface = iftmp.63;
                }
              catch
                {
                  if (0 == 0) goto <D.99305>; else goto <D.99306>;
                  <D.99305>:
                  iftmp.64 = __vtt_parm + 24;
                  goto <D.99307>;
                  <D.99306>:
                  iftmp.64 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 24B];
                  <D.99307>:
                  D.99283 = &this->D.86397;
                  Gio::Converter::~Converter (D.99283, iftmp.64);
                }
            }
          catch
            {
              if (0 == 0) goto <D.99309>; else goto <D.99310>;
              <D.99309>:
              iftmp.65 = __vtt_parm + 8;
              goto <D.99311>;
              <D.99310>:
              iftmp.65 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 8B];
              <D.99311>:
              D.99278 = &this->D.86396;
              Glib::Object::~Object (D.99278, iftmp.65);
            }
        }
      catch
        {
          if (0 != 0) goto <D.99312>; else goto <D.99313>;
          <D.99312>:
          if (0 == 0) goto <D.99315>; else goto <D.99316>;
          <D.99315>:
          iftmp.66 = __vtt_parm + 72;
          goto <D.99317>;
          <D.99316>:
          iftmp.66 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 72B];
          <D.99317>:
          D.99270 = &this->D.86400;
          Glib::ObjectBase::~ObjectBase (D.99270, iftmp.66);
          goto <D.99318>;
          <D.99313>:
          <D.99318>:
        }
    }
  catch
    {
      if (0 != 0) goto <D.99319>; else goto <D.99320>;
      <D.99319>:
      D.99262 = &this->D.86401;
      sigc::trackable::~trackable (D.99262);
      goto <D.99321>;
      <D.99320>:
      <D.99321>:
    }
}


Gio::ZlibDecompressor::ZlibDecompressor(Gio::ZlibCompressorFormat) (struct ZlibDecompressor * const this, ZlibCompressorFormat format)
{
  struct trackable * D.99329;
  const void * * iftmp.67;
  struct ObjectBase * D.99337;
  struct ConstructParams D.97754;
  int format.68;
  const struct Class & D.99340;
  const void * * iftmp.69;
  struct Object * D.99345;
  const void * * iftmp.70;
  struct Converter * D.99350;
  int (*__vtbl_ptr_type) () * iftmp.71;
  const void * * D.99354;
  sizetype iftmp.72;
  int (*__vtbl_ptr_type) () * D.99359;
  int (*__vtbl_ptr_type) () * D.99360;
  long int D.99361;
  struct ObjectBase * D.99363;
  int (*__vtbl_ptr_type) () * iftmp.73;
  int (*__vtbl_ptr_type) () * iftmp.74;
  const void * * iftmp.75;
  const void * * iftmp.76;
  const void * * iftmp.77;

  if (1 != 0) goto <D.99327>; else goto <D.99328>;
  <D.99327>:
  D.99329 = &this->D.86401;
  sigc::trackable::trackable (D.99329);
  goto <D.99330>;
  <D.99328>:
  <D.99330>:
  try
    {
      if (1 != 0) goto <D.99331>; else goto <D.99332>;
      <D.99331>:
      if (1 == 0) goto <D.99334>; else goto <D.99335>;
      <D.99334>:
      iftmp.67 = 72B;
      goto <D.99336>;
      <D.99335>:
      iftmp.67 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 72B];
      <D.99336>:
      D.99337 = &this->D.86400;
      Glib::ObjectBase::ObjectBase (D.99337, iftmp.67, 0B);
      goto <D.99338>;
      <D.99332>:
      <D.99338>:
      try
        {
          format.68 = (int) format;
          D.99340 = Gio::ZlibDecompressor_Class::init (&zlibdecompressor_class_);
          Glib::ConstructParams::ConstructParams (&D.97754, D.99340, "format", format.68, 0B);
          try
            {
              if (1 == 0) goto <D.99342>; else goto <D.99343>;
              <D.99342>:
              iftmp.69 = 8B;
              goto <D.99344>;
              <D.99343>:
              iftmp.69 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 8B];
              <D.99344>:
              D.99345 = &this->D.86396;
              Glib::Object::Object (D.99345, iftmp.69, &D.97754);
            }
          finally
            {
              Glib::ConstructParams::~ConstructParams (&D.97754);
              D.97754 = {CLOBBER};
            }
          try
            {
              if (1 == 0) goto <D.99347>; else goto <D.99348>;
              <D.99347>:
              iftmp.70 = 24B;
              goto <D.99349>;
              <D.99348>:
              iftmp.70 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 24B];
              <D.99349>:
              D.99350 = &this->D.86397;
              Gio::Converter::Converter (D.99350, iftmp.70);
              try
                {
                  if (1 == 0) goto <D.99352>; else goto <D.99353>;
                  <D.99352>:
                  D.99354 = 0B;
                  iftmp.71 = *D.99354;
                  goto <D.99355>;
                  <D.99353>:
                  iftmp.71 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 32B];
                  <D.99355>:
                  this->D.86396._vptr.Object = iftmp.71;
                  if (1 == 0) goto <D.99357>; else goto <D.99358>;
                  <D.99357>:
                  D.99359 = this->D.86396._vptr.Object;
                  D.99360 = D.99359 + 18446744073709551592;
                  D.99361 = MEM[(long int *)D.99360];
                  iftmp.72 = (sizetype) D.99361;
                  goto <D.99362>;
                  <D.99358>:
                  iftmp.72 = 16;
                  <D.99362>:
                  D.99363 = this + iftmp.72;
                  if (1 == 0) goto <D.99365>; else goto <D.99366>;
                  <D.99365>:
                  iftmp.73 = MEM[(const void * *)0B + 56B];
                  goto <D.99367>;
                  <D.99366>:
                  iftmp.73 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 176B];
                  <D.99367>:
                  D.99363->_vptr.ObjectBase = iftmp.73;
                  if (1 == 0) goto <D.99369>; else goto <D.99370>;
                  <D.99369>:
                  iftmp.74 = MEM[(const void * *)0B + 64B];
                  goto <D.99371>;
                  <D.99370>:
                  iftmp.74 = &MEM[(void *)&_ZTVN3Gio16ZlibDecompressorE + 80B];
                  <D.99371>:
                  this->D.86397.D.86100._vptr.Interface = iftmp.74;
                }
              catch
                {
                  if (1 == 0) goto <D.99373>; else goto <D.99374>;
                  <D.99373>:
                  iftmp.75 = 24B;
                  goto <D.99375>;
                  <D.99374>:
                  iftmp.75 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 24B];
                  <D.99375>:
                  D.99350 = &this->D.86397;
                  Gio::Converter::~Converter (D.99350, iftmp.75);
                }
            }
          catch
            {
              if (1 == 0) goto <D.99377>; else goto <D.99378>;
              <D.99377>:
              iftmp.76 = 8B;
              goto <D.99379>;
              <D.99378>:
              iftmp.76 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 8B];
              <D.99379>:
              D.99345 = &this->D.86396;
              Glib::Object::~Object (D.99345, iftmp.76);
            }
        }
      catch
        {
          if (1 != 0) goto <D.99380>; else goto <D.99381>;
          <D.99380>:
          if (1 == 0) goto <D.99383>; else goto <D.99384>;
          <D.99383>:
          iftmp.77 = 72B;
          goto <D.99385>;
          <D.99384>:
          iftmp.77 = &MEM[(void *)&_ZTTN3Gio16ZlibDecompressorE + 72B];
          <D.99385>:
          D.99337 = &this->D.86400;
          Glib::ObjectBase::~ObjectBase (D.99337, iftmp.77);
          goto <D.99386>;
          <D.99381>:
          <D.99386>:
        }
    }
  catch
    {
      if (1 != 0) goto <D.99387>; else goto <D.99388>;
      <D.99387>:
      D.99329 = &this->D.86401;
      sigc::trackable::~trackable (D.99329);
      goto <D.99389>;
      <D.99388>:
      <D.99389>:
    }
}


static Glib::RefPtr<Gio::ZlibDecompressor> Gio::ZlibDecompressor::create(Gio::ZlibCompressorFormat) (ZlibCompressorFormat format)
{
  void * D.97759;

  D.97759 = operator new (56);
  try
    {
      Gio::ZlibDecompressor::ZlibDecompressor (D.97759, format);
    }
  catch
    {
      operator delete (D.97759);
    }
  Glib::RefPtr<Gio::ZlibDecompressor>::RefPtr (<retval>, D.97759);
  return <retval>;
}


Glib::RefPtr<Gio::FileInfo> Gio::ZlibDecompressor::get_file_info() (struct ZlibDecompressor * const this)
{
  struct GZlibDecompressor * D.99400;
  struct GFileInfo * D.99401;

  D.99400 = Gio::ZlibDecompressor::gobj (this);
  D.99401 = g_zlib_decompressor_get_file_info (D.99400);
  *<retval> = Glib::wrap (D.99401, 0); [return slot optimization]
  return <retval>;
}


Glib::RefPtr<const Gio::FileInfo> Gio::ZlibDecompressor::get_file_info() const (const struct ZlibDecompressor * const this)
{
  struct RefPtr D.98025;

  D.98025 = Gio::ZlibDecompressor::get_file_info (this); [return slot optimization]
  try
    {
      Glib::RefPtr<const Gio::FileInfo>::RefPtr<Gio::FileInfo> (<retval>, &D.98025);
      return <retval>;
    }
  finally
    {
      Glib::RefPtr<Gio::FileInfo>::~RefPtr (&D.98025);
      D.98025 = {CLOBBER};
    }
}


Glib::RefPtr<T_CppObject>::RefPtr(const Glib::RefPtr<T_CastFrom>&) [with T_CastFrom = Gio::FileInfo; T_CppObject = const Gio::FileInfo] (struct RefPtr * const this, const struct RefPtr & src)
{
  struct FileInfo * D.99408;
  const struct FileInfo * D.99409;
  int (*__vtbl_ptr_type) () * D.99412;
  int (*__vtbl_ptr_type) () * D.99413;
  long int D.99414;
  sizetype D.99415;
  const struct ObjectBase * D.99416;
  int (*__vtbl_ptr_type) () * D.99417;
  int (*__vtbl_ptr_type) () * D.99418;
  int (*__vtbl_ptr_type) () D.99419;

  D.99408 = Glib::RefPtr<Gio::FileInfo>::operator-> (src);
  this->pCppObject_ = D.99408;
  D.99409 = this->pCppObject_;
  if (D.99409 != 0B) goto <D.99410>; else goto <D.99411>;
  <D.99410>:
  D.99409 = this->pCppObject_;
  D.99409 = this->pCppObject_;
  D.99412 = D.99409->D.97519._vptr.Object;
  D.99413 = D.99412 + 18446744073709551592;
  D.99414 = MEM[(long int *)D.99413];
  D.99415 = (sizetype) D.99414;
  D.99416 = D.99409 + D.99415;
  D.99409 = this->pCppObject_;
  D.99409 = this->pCppObject_;
  D.99412 = D.99409->D.97519._vptr.Object;
  D.99413 = D.99412 + 18446744073709551592;
  D.99414 = MEM[(long int *)D.99413];
  D.99415 = (sizetype) D.99414;
  D.99416 = D.99409 + D.99415;
  D.99417 = D.99416->_vptr.ObjectBase;
  D.99418 = D.99417 + 16;
  D.99419 = *D.99418;
  D.99409 = this->pCppObject_;
  D.99409 = this->pCppObject_;
  D.99412 = D.99409->D.97519._vptr.Object;
  D.99413 = D.99412 + 18446744073709551592;
  D.99414 = MEM[(long int *)D.99413];
  D.99415 = (sizetype) D.99414;
  D.99416 = D.99409 + D.99415;
  OBJ_TYPE_REF(D.99419;(const struct ObjectBase)D.99416->2) (D.99416);
  goto <D.99420>;
  <D.99411>:
  <D.99420>:
}


T_CppObject* Glib::RefPtr<T_CppObject>::operator->() const [with T_CppObject = Gio::FileInfo] (const struct RefPtr * const this)
{
  struct FileInfo * D.99421;

  D.99421 = this->pCppObject_;
  return D.99421;
}


Glib::RefPtr<T_CppObject>::~RefPtr() [with T_CppObject = Gio::FileInfo] (struct RefPtr * const this)
{
  struct FileInfo * D.99423;
  int (*__vtbl_ptr_type) () * D.99426;
  int (*__vtbl_ptr_type) () * D.99427;
  long int D.99428;
  sizetype D.99429;
  struct ObjectBase * D.99430;
  int (*__vtbl_ptr_type) () * D.99431;
  int (*__vtbl_ptr_type) () * D.99432;
  int (*__vtbl_ptr_type) () D.99433;

  {
    try
      {
        D.99423 = this->pCppObject_;
        if (D.99423 != 0B) goto <D.99424>; else goto <D.99425>;
        <D.99424>:
        D.99423 = this->pCppObject_;
        D.99423 = this->pCppObject_;
        D.99426 = D.99423->D.97519._vptr.Object;
        D.99427 = D.99426 + 18446744073709551592;
        D.99428 = MEM[(long int *)D.99427];
        D.99429 = (sizetype) D.99428;
        D.99430 = D.99423 + D.99429;
        D.99423 = this->pCppObject_;
        D.99423 = this->pCppObject_;
        D.99426 = D.99423->D.97519._vptr.Object;
        D.99427 = D.99426 + 18446744073709551592;
        D.99428 = MEM[(long int *)D.99427];
        D.99429 = (sizetype) D.99428;
        D.99430 = D.99423 + D.99429;
        D.99431 = D.99430->_vptr.ObjectBase;
        D.99432 = D.99431 + 24;
        D.99433 = *D.99432;
        D.99423 = this->pCppObject_;
        D.99423 = this->pCppObject_;
        D.99426 = D.99423->D.97519._vptr.Object;
        D.99427 = D.99426 + 18446744073709551592;
        D.99428 = MEM[(long int *)D.99427];
        D.99429 = (sizetype) D.99428;
        D.99430 = D.99423 + D.99429;
        OBJ_TYPE_REF(D.99433;(const struct ObjectBase)D.99430->3) (D.99430);
        goto <D.99434>;
        <D.99425>:
        <D.99434>:
      }
    finally
      {
        *this = {CLOBBER};
      }
  }
  <D.98478>:
}


Glib::PropertyProxy_ReadOnly<Glib::RefPtr<Gio::FileInfo> > Gio::ZlibDecompressor::property_file_info() const (const struct ZlibDecompressor * const this)
{
  int (*__vtbl_ptr_type) () * D.99437;
  int (*__vtbl_ptr_type) () * D.99438;
  long int D.99439;
  sizetype D.99440;
  const struct ObjectBase * D.99441;

  D.99437 = this->D.86396._vptr.Object;
  D.99438 = D.99437 + 18446744073709551592;
  D.99439 = MEM[(long int *)D.99438];
  D.99440 = (sizetype) D.99439;
  D.99441 = this + D.99440;
  Glib::PropertyProxy_ReadOnly<Glib::RefPtr<Gio::FileInfo> >::PropertyProxy_ReadOnly (<retval>, D.99441, "file-info");
  return <retval>;
}


Glib::PropertyProxy_ReadOnly<T>::PropertyProxy_ReadOnly(const Glib::ObjectBase*, const char*) [with T = Glib::RefPtr<Gio::FileInfo>] (struct PropertyProxy_ReadOnly * const this, const struct ObjectBase * obj, const char * name)
{
  struct PropertyProxy_Base * D.99443;

  D.99443 = &this->D.98065;
  Glib::PropertyProxy_Base::PropertyProxy_Base (D.99443, obj, name);
}


Glib::PropertyProxy_ReadOnly<Gio::ZlibCompressorFormat> Gio::ZlibDecompressor::property_format() const (const struct ZlibDecompressor * const this)
{
  int (*__vtbl_ptr_type) () * D.99445;
  int (*__vtbl_ptr_type) () * D.99446;
  long int D.99447;
  sizetype D.99448;
  const struct ObjectBase * D.99449;

  D.99445 = this->D.86396._vptr.Object;
  D.99446 = D.99445 + 18446744073709551592;
  D.99447 = MEM[(long int *)D.99446];
  D.99448 = (sizetype) D.99447;
  D.99449 = this + D.99448;
  Glib::PropertyProxy_ReadOnly<Gio::ZlibCompressorFormat>::PropertyProxy_ReadOnly (<retval>, D.99449, "format");
  return <retval>;
}


Glib::PropertyProxy_ReadOnly<T>::PropertyProxy_ReadOnly(const Glib::ObjectBase*, const char*) [with T = Gio::ZlibCompressorFormat] (struct PropertyProxy_ReadOnly * const this, const struct ObjectBase * obj, const char * name)
{
  struct PropertyProxy_Base * D.99451;

  D.99451 = &this->D.98110;
  Glib::PropertyProxy_Base::PropertyProxy_Base (D.99451, obj, name);
}


