/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: December 3, 1992 6:30:15 pm PST */
/* C2C version: October 7, 1992 (native) */
/* ref-counting: off */
/* file: GGViewerOpsImpl, module: GGViewerOpsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3680610537,2807739241] GGViewerOpsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; word r;} W9;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
#define SOURCE(p, l) /* source p, l */
static float fc29 = 0.0;
static void NoName←Q828();
static void GGViewerOpsImpl←P0();
static word GetReal←P60();
static word NoName←Q888();
static void GetTwoReals←P120();
static word GetPositiveReal←P180();
static word NoName←Q948();
static void SetReal←P240();
static void GetPoint←P300();
static void SetPoint←P360();
static word ReadBlankAndReal←P420();
static void ReadBlank←P480();
static word ReadReal←P540();
static word NoName←Q1008();
static word RealBreakProc←P600();
static void GetIconSize←P660();
static word GetSelectionContents←P720();
static void NoName←Q1068();
static void NoName←Q1128();
static void NoName←Q1188();
static struct {unsigned f; char r[16];} string1 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[8];} string3 = {458760, "[%g,%g]"};
static struct {unsigned f; char r[4];} string4 = {65540, ".\000\000"};
static struct {unsigned f; char r[4];} string5 = {131076, ".0\000"};
static struct {unsigned f; char r[4];} string6 = {131076, "%g\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\333\141\250\351\300\247\132\263\151\100\164\000\000"};
static struct {unsigned f; char r[4];} string8 = {196611, "\004↑\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\236\155\220\261\300\040\017\026\014\100\150\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\263\272\165\301\300\364\117\256\374\100\150\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\045\005\337\143\300\252\356\334\244\100\150\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\144\143\124\312\300\122\224\357\133\100\150\000\000"};
static struct {
   word f0[4]; word f4; word f5; word f6[8]; 
   word f14; word f15; word f16; word f17; 
   word f18; word f19; word f20; word f21; 
   word f22; word f23; word f24; word f25; 
   word f26; word f27; word f28; word f29; 
   word f30; word f31; word f32; word f33; 
   word f34; word f35; word f36; word f37; 
   word f38; word f39[8]; 
   } globalframe = {
   {0}, (word) 5, (word) 100, {0}, 
   (word) GetSelectionContents←P720, 0, (word) GetIconSize←P660, 0, 
   (word) RealBreakProc←P600, 0, (word) ReadReal←P540, 0, 
   (word) ReadBlank←P480, 0, (word) ReadBlankAndReal←P420, 0, 
   (word) SetPoint←P360, 0, (word) GetPoint←P300, 0, 
   (word) SetReal←P240, 0, (word) GetPositiveReal←P180, 0, 
   (word) GetTwoReals←P120, 0, (word) GetReal←P60, 0, 
   (word) GGViewerOpsImpl←P0, {0}
   };

static void NoName←Q828()
   {
   register ptr gf←c0107 =  (ptr) &globalframe;
   word var←c13492;
   (* (( (ptr) gf←c0107)+7) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (*  (ptr) (( (bPt) gf←c0107)+36) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0107)+7) ), (word) &string3);
   (*  (ptr) (( (bPt) gf←c0107)+40) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0107)+7) ), (word) &string4);
   (*  (ptr) (( (bPt) gf←c0107)+44) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0107)+7) ), (word) &string5);
   (*  (ptr) (( (bPt) gf←c0107)+48) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0107)+7) ), (word) &string6);
   (void) XR←DeclareGlobalFrame((word) "GGViewerOpsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8)
      , (word) (( (bPt) gf←c0107)+152)/* var←c12852 */ );
   var←c13492 = (word) XR←ImportInterface((word) "GGParseIn", (word) XR←GetTypeIndexS((word) (&string9)), 26);
   (* (( (ptr) gf←c0107)+43)/* var←c13012 */  ) = var←c13492;
   (void) XR←ImportProcS(var←c13492, 525826);
   (void) XR←ImportProcS(var←c13492, 67376897);
   var←c13492 = (word) XR←ImportInterface((word) "InputFocus", (word) XR←GetTypeIndexS((word) (&string10)), 6);
   (* (( (ptr) gf←c0107)+44)/* var←c13396 */  ) = var←c13492;
   (void) XR←ImportProcS(var←c13492, 67108864);
   var←c13492 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string11)), 103);
   (* (( (ptr) gf←c0107)+42)/* var←c12980 */  ) = var←c13492;
   (void) XR←ImportProcS(var←c13492, 67392257);
   (void) XR←ImportProcS(var←c13492, 134763778);
   (void) XR←ImportProcS(var←c13492, 67653890);
   (void) XR←ImportProcS(var←c13492, 68958724);
   (void) XR←ImportProcS(var←c13492, 67910402);
   (void) XR←ImportProcS(var←c13492, 67640578);
   (void) XR←ImportProcS(var←c13492, 67388929);
   var←c13492 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string12)), 22);
   (* (( (ptr) gf←c0107)+45)/* var←c13428 */  ) = var←c13492;
   (void) XR←ImportProcS(var←c13492, 266753);
   var←c13492 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string13)), 43);
   (* (( (ptr) gf←c0107)+41)/* var←c12916 */  ) = var←c13492;
   (void) XR←ImportProcS(var←c13492, 67633666);
   (void) XR←ImportProcS(var←c13492, 68159236);
   (void) XR←ImportProcS(var←c13492, 67373825);
   var←c13492 = (word) XR←ImportInterface((word) "ViewerTools", (word) XR←GetTypeIndexS((word) (&string14)), 12);
   (* (( (ptr) gf←c0107)+40)/* var←c12884 */  ) = var←c13492;
   (void) XR←ImportProcS(var←c13492, 67109888);
   (void) XR←ImportProcS(var←c13492, 788227);
   (void) XR←ImportProcS(var←c13492, 67372545);
   var←c13492 = (word) XR←ExportInterface((word) "GGViewerOps", (word) XR←GetTypeIndexS((word) (&string15)), 8);
   (* (( (ptr) gf←c0107)+46)/* var←c13524 */  ) = var←c13492;
   (void) XR←ExportProcS(var←c13492, (word) (( (bPt) gf←c0107)+56)/* var←c12468 */ , 67108864);
   (void) XR←ExportProcS(var←c13492, (word) (( (bPt) gf←c0107)+144)/* var←c12820 */ , 67633410);
   (void) XR←ExportProcS(var←c13492, (word) (( (bPt) gf←c0107)+136)/* var←c12788 */ , 134480385);
   (void) XR←ExportProcS(var←c13492, (word) (( (bPt) gf←c0107)+128)/* var←c12756 */ , 67633922);
   (void) XR←ExportProcS(var←c13492, (word) (( (bPt) gf←c0107)+120)/* var←c12724 */ , 787459);
   (void) XR←ExportProcS(var←c13492, (word) (( (bPt) gf←c0107)+112)/* var←c12692 */ , 201590017);
   (void) XR←ExportProcS(var←c13492, (word) (( (bPt) gf←c0107)+104)/* var←c12660 */ , 787970);
   (void) XR←ExportProcS(var←c13492, (word) (( (bPt) gf←c0107)+64)/* var←c12500 */ , 134219520);
   }

static void GGViewerOpsImpl←P0(formal←c037, formal←c036)
   word formal←c037;
   word formal←c036;
   {
   /* GGViewerOpsImpl: */ 
SOURCE(110, 3184)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   }

static word GetReal←P60(textViewer←v3476, formal←c0134)
   word textViewer←v3476;
   word formal←c0134;
   {
   W9 var←c13556;
   /* declaration of default←v3504 skipped */ 
   register ptr gf←c13588 =  (ptr) &globalframe;
   /* declaration of r←v3548 skipped */ 
   word rRope←v4696;
   (* (( (ptr) &var←c13556)+4)/* default←v3504 */  ) = formal←c0134;
   /* GetReal: */ 
SOURCE(392, 1992)
SOURCE(471, 54)
   {
      word pd16;
      pd16 = (* (( (ptr) (* (( (ptr) gf←c13588)+40)/* var←c12884 */  ))+10) );
      rRope←v4696 = (word) ( *( (fPt) ((*  (ptr) pd16 ))))(textViewer←v3476, pd16);
      };
SOURCE(527, 1857)
SOURCE(527, 1857)
   {
      word pd17;
      pd17 = (* (( (ptr) (* (( (ptr) gf←c13588)+41)/* var←c12916 */  ))+15) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd17 ))))(rRope←v4696, pd17) ==  (int)0)) {
         (* (( (ptr) &var←c13556)+5)/* r←v3548 */  ) = (* (( (ptr) &var←c13556)+4)/* default←v3504 */  );
         }
      else {
         {
            /* declaration of var←c12948 skipped */ 
            {
               word pd18;
               pd18 = (* (( (ptr) (* (( (ptr) gf←c13588)+42)/* var←c12980 */  ))+33) );
               (* (( (ptr) &var←c13556)+6)/* var←c12948 */  ) = (word) ( *( (fPt) ((*  (ptr) pd18 ))))(rRope←v4696, 0, pd18);
               };
            {
               /* declaration of var←c01 skipped */ 
               (* (( (ptr) &var←c13556)+7)/* var←c01 */  ) = (* (( (ptr) (* (( (ptr) gf←c13588)+42)/* var←c12980 */  ))+74) );
               {
                  /* declaration of var←c02 skipped */ 
                  {
                     word var←c03;
                     {
                        word var←c0124;
                        var←c0124 = (word) &var←c13556;
                        var←c03 = (word) XR←Enable(( ((word)  (fPt) NoName←Q888) ), ( ((word)  (fPt) NoName←Q1188) ), var←c0124);
                        };
                     if ((var←c03 == 2)) {
                        goto lab←L100001;
                        };
                     };
                  (* (( (ptr) &var←c13556)+5)/* r←v3548 */  ) = (* (( (ptr) &var←c13556)+8)/* var←c02 */  );
                  };
               };
            };
         };
      };
   lab←L100001: ;
SOURCE(392, 1992)
   return((* (( (ptr) &var←c13556)+5)/* r←v3548 */  ));
   }

static word NoName←Q888(formal←c0109)
   word formal←c0109;
   {
SOURCE(527, 1857)
   {
      word pd19;
      pd19 = (* (( (ptr) formal←c0109)+7) );
      (* (( (ptr) formal←c0109)+8) ) = (word) ( *( (fPt) ((*  (ptr) pd19 ))))((* ((( (ptr) formal←c0109)+6)) ), pd19);
      };
   return(0);
   }

static void GetTwoReals←P120(formal←c048, textViewer←v3608)
   word formal←c048;
   word textViewer←v3608;
   {
   register ptr gf←c13620 =  (ptr) &globalframe;
   word x←v3652;
   word y←v3680;
   word wholeRope←v4740;
   word wholeStream←v4768;
   /* GetTwoReals: */ 
SOURCE(658, 1726)
SOURCE(729, 58)
   {
      word pd20;
      pd20 = (* (( (ptr) (* (( (ptr) gf←c13620)+40)/* var←c12884 */  ))+10) );
      wholeRope←v4740 = (word) ( *( (fPt) ((*  (ptr) pd20 ))))(textViewer←v3608, pd20);
      };
SOURCE(789, 42)
   {
      word pd21;
      pd21 = (* (( (ptr) (* (( (ptr) gf←c13620)+42)/* var←c12980 */  ))+33) );
      wholeStream←v4768 = (word) ( *( (fPt) ((*  (ptr) pd21 ))))(wholeRope←v4740, 0, pd21);
      };
SOURCE(833, 1551)
   {
      word pd22;
      pd22 = (* (( (ptr) (* (( (ptr) gf←c13620)+43)/* var←c13012 */  ))+27) );
      x←v3652 = (word) ( *( (fPt) ((*  (ptr) pd22 ))))(wholeStream←v4768, pd22);
      };
SOURCE(870, 35)
   {
      word pd23;
      pd23 = (* (( (ptr) (* (( (ptr) gf←c13620)+43)/* var←c13012 */  ))+10) );
      (void) ( *( (fPt) ((*  (ptr) pd23 ))))(wholeStream←v4768, 44, pd23);
      };
SOURCE(907, 1477)
   {
      word pd24;
      pd24 = (* (( (ptr) (* (( (ptr) gf←c13620)+43)/* var←c13012 */  ))+27) );
      y←v3680 = (word) ( *( (fPt) ((*  (ptr) pd24 ))))(wholeStream←v4768, pd24);
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c048 ) = x←v3652;
   (* (( (ptr) formal←c048)+1) ) = y←v3680;
   return;
   }

static word GetPositiveReal←P180(textViewer←v3740, formal←c0135)
   word textViewer←v3740;
   word formal←c0135;
   {
   W9 var←c13652;
   /* declaration of default←v3768 skipped */ 
   register ptr gf←c13684 =  (ptr) &globalframe;
   /* declaration of r←v3812 skipped */ 
   word rRope←v4812;
   (* (( (ptr) &var←c13652)+4)/* default←v3768 */  ) = formal←c0135;
   /* GetPositiveReal: */ 
SOURCE(948, 1436)
SOURCE(1035, 54)
   {
      word pd25;
      pd25 = (* (( (ptr) (* (( (ptr) gf←c13684)+40)/* var←c12884 */  ))+10) );
      rRope←v4812 = (word) ( *( (fPt) ((*  (ptr) pd25 ))))(textViewer←v3740, pd25);
      };
SOURCE(1091, 1293)
   {
      word pd26;
      pd26 = (* (( (ptr) (* (( (ptr) gf←c13684)+41)/* var←c12916 */  ))+15) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd26 ))))(rRope←v4812, pd26) ==  (int)0)) {
SOURCE(1120, 17)
         (* (( (ptr) &var←c13652)+5)/* r←v3812 */  ) = (* (( (ptr) &var←c13652)+4)/* default←v3768 */  );
         }
      else {
SOURCE(1139, 1245)
SOURCE(1139, 1245)
         {
            /* declaration of var←c13044 skipped */ 
            {
               word pd27;
               pd27 = (* (( (ptr) (* (( (ptr) gf←c13684)+42)/* var←c12980 */  ))+33) );
               (* (( (ptr) &var←c13652)+6)/* var←c13044 */  ) = (word) ( *( (fPt) ((*  (ptr) pd27 ))))(rRope←v4812, 0, pd27);
               };
            {
               /* declaration of var←c04 skipped */ 
               (* (( (ptr) &var←c13652)+7)/* var←c04 */  ) = (* (( (ptr) (* (( (ptr) gf←c13684)+42)/* var←c12980 */  ))+74) );
               {
                  /* declaration of var←c05 skipped */ 
                  {
                     word var←c06;
                     {
                        word var←c0125;
                        var←c0125 = (word) &var←c13652;
                        var←c06 = (word) XR←Enable(( ((word)  (fPt) NoName←Q948) ), ( ((word)  (fPt) NoName←Q1128) ), var←c0125);
                        };
                     if ((var←c06 == 3)) {
                        goto lab←L100006;
                        };
                     };
                  (* (( (ptr) &var←c13652)+5)/* r←v3812 */  ) = (* (( (ptr) &var←c13652)+8)/* var←c05 */  );
                  };
               };
            };
         lab←L100006: ;
SOURCE(1224, 35)
         {
            word x28;
            word x30;
            if (((
               x28 = (* (( (ptr) &var←c13652)+5)/* r←v3812 */  ),  *(float*)&x28
               ) > (
               x30 = (*  (ptr) &fc29 ),  *(float*)&x30
               ))) {
               return((* (( (ptr) &var←c13652)+5)/* r←v3812 */  ));
               }
            else {
               return((* (( (ptr) &var←c13652)+4)/* default←v3768 */  ));
               };
            };
         };
      };
SOURCE(948, 1436)
   return((* (( (ptr) &var←c13652)+5)/* r←v3812 */  ));
   }

static word NoName←Q948(formal←c0112)
   word formal←c0112;
   {
SOURCE(1139, 1245)
   {
      word pd31;
      pd31 = (* (( (ptr) formal←c0112)+7) );
      (* (( (ptr) formal←c0112)+8) ) = (word) ( *( (fPt) ((*  (ptr) pd31 ))))((* ((( (ptr) formal←c0112)+6)) ), pd31);
      };
   return(0);
   }

static void SetReal←P240(viewer←v3872, real←v3900, format←v3928)
   word viewer←v3872;
   word real←v3900;
   word format←v3928;
   {
   register ptr gf←c13716 =  (ptr) &globalframe;
   word realRope←v4856 = 0;
   /* SetReal: */ 
SOURCE(1268, 1116)
SOURCE(1368, 46)
   if ((format←v3928 == 0)) {
      format←v3928 = (* (( (ptr) gf←c13716)+12) );
      }
   else {
      format←v3928 = format←v3928;
      };
SOURCE(1416, 968)
   {
      W2 var←c13076;
      var←c13076.f0 = 8;
      var←c13076.f1 = real←v3900;
      {
         word pd32;
         pd32 = (* (( (ptr) (* (( (ptr) gf←c13716)+42)/* var←c12980 */  ))+63) );
         realRope←v4856 = (word) ( *( (fPt) ((*  (ptr) pd32 ))))(format←v3928, var←c13076, pd32);
         };
      };
SOURCE(1460, 41)
   {
      word pd33;
      pd33 = (* (( (ptr) (* (( (ptr) gf←c13716)+40)/* var←c12884 */  ))+11) );
      (void) ( *( (fPt) ((*  (ptr) pd33 ))))(viewer←v3872, realRope←v4856, 1, pd33);
      };
   }

static void GetPoint←P300(formal←c064, textViewer←v3988)
   word formal←c064;
   word textViewer←v3988;
   {
   register ptr gf←c13748 =  (ptr) &globalframe;
   W2 point←v4032;
   word success←v4060;
   word pointRope←v4900;
   word f←v4928;
   /* GetPoint: */ 
SOURCE(1507, 877)
SOURCE(1592, 58)
   {
      word pd34;
      pd34 = (* (( (ptr) (* (( (ptr) gf←c13748)+40)/* var←c12884 */  ))+10) );
      pointRope←v4900 = (word) ( *( (fPt) ((*  (ptr) pd34 ))))(textViewer←v3988, pd34);
      };
SOURCE(1652, 32)
   {
      word pd35;
      pd35 = (* (( (ptr) (* (( (ptr) gf←c13748)+42)/* var←c12980 */  ))+33) );
      f←v4928 = (word) ( *( (fPt) ((*  (ptr) pd35 ))))(pointRope←v4900, 0, pd35);
      };
SOURCE(1686, 25)
   {
      word pd36;
      pd36 = (* (( (ptr) (* (( (ptr) gf←c13748)+43)/* var←c13012 */  ))+10) );
      (void) ( *( (fPt) ((*  (ptr) pd36 ))))(f←v4928, 91, pd36);
      };
SOURCE(1713, 671)
   point←v4032.f0 = (word) ReadBlankAndReal←P420(f←v4928);
SOURCE(1744, 25)
   {
      word pd37;
      pd37 = (* (( (ptr) (* (( (ptr) gf←c13748)+43)/* var←c13012 */  ))+10) );
      (void) ( *( (fPt) ((*  (ptr) pd37 ))))(f←v4928, 44, pd37);
      };
SOURCE(1771, 613)
   point←v4032.f1 = (word) ReadBlankAndReal←P420(f←v4928);
SOURCE(1802, 25)
   {
      word pd38;
      pd38 = (* (( (ptr) (* (( (ptr) gf←c13748)+43)/* var←c13012 */  ))+10) );
      (void) ( *( (fPt) ((*  (ptr) pd38 ))))(f←v4928, 93, pd38);
      };
SOURCE(1829, 14)
   success←v4060 = 1;
   /* removed tail goto */ 
   (*  (W2Pt) formal←c064 ) = point←v4032;
   (* (( (ptr) formal←c064)+2) ) = success←v4060;
   return;
   }

static void SetPoint←P360(viewer←v4120, point←v4148)
   word viewer←v4120;
   W2 point←v4148;
   {
   register ptr gf←c13780 =  (ptr) &globalframe;
   word pointRope←v4972 = 0;
   /* SetPoint: */ 
SOURCE(1849, 535)
SOURCE(1928, 456)
   {
      W2 var←c13108;
      W2 var←c13140;
      W2 var←c0126;
      var←c13108.f0 = 8;
      var←c13108.f1 = point←v4148.f0;
      var←c13140.f0 = 8;
      var←c13140.f1 = point←v4148.f1;
      (*  (ptr) (word) &var←c0126 ) = 0;
      (* (( (ptr) (word) &var←c0126) + 1) ) = 0;
      {
         word pd39;
         pd39 = (* (( (ptr) (* (( (ptr) gf←c13780)+42)/* var←c12980 */  ))+62) );
         pointRope←v4972 = (word) ( *( (fPt) ((*  (ptr) pd39 ))))((* (( (ptr) gf←c13780)+9) ), var←c13108, var←c13140, var←c0126, pd39)
         ;
         };
      };
SOURCE(1995, 42)
   {
      word pd40;
      pd40 = (* (( (ptr) (* (( (ptr) gf←c13780)+40)/* var←c12884 */  ))+11) );
      (void) ( *( (fPt) ((*  (ptr) pd40 ))))(viewer←v4120, pointRope←v4972, 1, pd40);
      };
   }

static word ReadBlankAndReal←P420(f←v4208)
   word f←v4208;
   {
   word r←v4252;
   /* ReadBlankAndReal: */ 
SOURCE(2043, 341)
SOURCE(2103, 12)
   (void) ReadBlank←P480(f←v4208);
SOURCE(2117, 267)
   r←v4252 = (word) ReadReal←P540(f←v4208);
SOURCE(2043, 341)
   return(r←v4252);
   }

static void ReadBlank←P480(f←v4312)
   word f←v4312;
   {
   register ptr gf←c13812 =  (ptr) &globalframe;
   /* ReadBlank: */ 
SOURCE(2138, 246)
SOURCE(2173, 211)
   {
      word var←c13204;
      word pd41;
      pd41 = (* (( (ptr) (* (( (ptr) gf←c13812)+42)/* var←c12980 */  ))+85) );
      var←c13204 = (word) ( *( (fPt) ((*  (ptr) pd41 ))))(f←v4312, 1, pd41);
      };
   }

static word ReadReal←P540(formal←c0136)
   word formal←c0136;
   {
   W9 var←c13844;
   /* declaration of f←v4372 skipped */ 
   register ptr gf←c13876 =  (ptr) &globalframe;
   word r←v4416;
   word realRope←v5016 = 0;
   /* declaration of end←v5044 skipped */ 
   (* (( (ptr) &var←c13844)+4)/* f←v4372 */  ) = formal←c0136;
   /* ReadReal: */ 
SOURCE(2210, 339)
SOURCE(2283, 17)
   (* (( (ptr) &var←c13844)+5)/* end←v5044 */  ) = 0;
SOURCE(2302, 82)
SOURCE(2302, 82)
   {
      W2 var←c13236;
      {
         /* declaration of var←c07 skipped */ 
         (* (( (ptr) &var←c13844)+6)/* var←c07 */  ) = (* (( (ptr) (* (( (ptr) gf←c13876)+42)/* var←c12980 */  ))+89) );
         {
            /* declaration of var←c08 skipped */ 
            {
               word var←c09;
               {
                  word var←c0127;
                  var←c0127 = (word) &var←c13844;
                  var←c09 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1008) ), ( ((word)  (fPt) NoName←Q1068) ), var←c0127);
                  };
               if ((var←c09 == 4)) {
                  goto lab←L100011;
                  };
               };
            var←c13236 = (*  (W2Pt) (( (ptr) &var←c13844)+7)/* var←c08 */  );
            };
         };
      realRope←v5016 = var←c13236.f0;
      };
   lab←L100011: ;
SOURCE(2398, 28)
   if ((0 != (* (( (ptr) &var←c13844)+5)/* end←v5044 */  ))) {
SOURCE(2411, 7)
      r←v4416 = (*  (ptr) &fc29 );
SOURCE(2420, 6)
      return(r←v4416);
      };
SOURCE(2429, 86)
   {
      word pd42;
      pd42 = (* (( (ptr) (* (( (ptr) gf←c13876)+41)/* var←c12916 */  ))+11) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd42 ))))(realRope←v5016, (* (( (ptr) gf←c13876)+10) ), 0, 0, pd42) ==  (int) (word) -1)) {
SOURCE(2477, 38)
         {
            word pd43;
            pd43 = (* (( (ptr) (* (( (ptr) gf←c13876)+41)/* var←c12916 */  ))+6) );
            realRope←v5016 = (word) ( *( (fPt) ((*  (ptr) pd43 ))))(realRope←v5016, (* (( (ptr) gf←c13876)+11) ), pd43);
            };
         };
      };
SOURCE(2517, 32)
   {
      word var←c13268;
      {
         word pd44;
         pd44 = (* (( (ptr) (* (( (ptr) gf←c13876)+42)/* var←c12980 */  ))+33) );
         var←c13268 = (word) ( *( (fPt) ((*  (ptr) pd44 ))))(realRope←v5016, 0, pd44);
         };
      {
         word pd45;
         pd45 = (* (( (ptr) (* (( (ptr) gf←c13876)+42)/* var←c12980 */  ))+74) );
         r←v4416 = (word) ( *( (fPt) ((*  (ptr) pd45 ))))(var←c13268, pd45);
         };
      };
SOURCE(2210, 339)
   return(r←v4416);
   }

static word NoName←Q1008(formal←c0119)
   word formal←c0119;
   {
   register ptr gf←c0118 =  (ptr) &globalframe;
SOURCE(2302, 82)
   {
      word pd46;
      pd46 = (* (( (ptr) formal←c0119)+6) );
      (void) ( *( (fPt) ((*  (ptr) pd46 ))))((word) (( (bPt) formal←c0119)+28), (* (( (ptr) formal←c0119)+4) ), (word) (( (bPt) gf←c0118)+72)
         /* var←c12532 */ , pd46);
      };
   return(0);
   }

static word RealBreakProc←P600(char←v4476)
   word char←v4476;
   {
   word var←c4520;
   /* RealBreakProc: */ 
SOURCE(2555, 148)
SOURCE(2615, 88)
   {
      word var←c13300;
      var←c13300 = char←v4476;
      switch (var←c13300) {
         case 93: case 44: case 13: case 10: case 32: 
SOURCE(2662, 14)
            return(0);
         default: 
SOURCE(2689, 14)
            return(2);
         };
      };
   }

static void GetIconSize←P660(formal←c086)
   word formal←c086;
   {
   word width←v4580;
   word height←v4608;
   /* GetIconSize: */ 
SOURCE(2708, 93)
SOURCE(2769, 32)
   width←v4580 =  (int) ( short )64;
   height←v4608 =  (int) ( short )64;
   /* removed tail goto */ 
   (*  (ptr) formal←c086 ) = width←v4580;
   (* (( (ptr) formal←c086)+1) ) = height←v4608;
   return;
   }

static word GetSelectionContents←P720()
   {
   register ptr gf←c13908 =  (ptr) &globalframe;
   word var←c4668;
   /* GetSelectionContents: */ 
SOURCE(2887, 407)
SOURCE(2966, 306)
   {
      register word noName←c13332 = 0;
      register word noName←c13364;
      noName←c13364 = (* (( (ptr) gf←c13908)+4)/* pauses←v3224 */  );
      if (( (int)noName←c13332 >=  (int)noName←c13364)) {
         goto lab←L100015;
         };
      lab←L100018: ;
      {
         word f←v5088;
SOURCE(2991, 48)
         {
            word pd47;
            pd47 = (* (( (ptr) (* (( (ptr) gf←c13908)+44)/* var←c13396 */  ))+4) );
            f←v5088 = (word) ( *( (fPt) ((*  (ptr) pd47 ))))(pd47);
            };
SOURCE(3041, 26)
         if ((f←v5088 == 0)) {
SOURCE(3055, 12)
            return(0);
            };
SOURCE(3103, 169)
         if (((*  (ptr) f←v5088 ) == 0)) {
SOURCE(3123, 106)
            {
               word pd48;
               pd48 = (* (( (ptr) (* (( (ptr) gf←c13908)+45)/* var←c13428 */  ))+22) );
               (void) ( *( (fPt) ((*  (ptr) pd48 ))))((* ((( (ptr) gf←c13908)+5)/* pauseMSec←v3252 */ ) ), pd48);
               };
            }
         else {
SOURCE(3229, 43)
            {
               word pd49;
               pd49 = (* (( (ptr) (* (( (ptr) gf←c13908)+40)/* var←c12884 */  ))+8) );
               return((word) ( *( (fPt) ((*  (ptr) pd49 ))))(pd49));
               };
            };
         };
      noName←c13332 = (noName←c13332 + 1);
      if (( (int)noName←c13332 <  (int)noName←c13364)) {
         goto lab←L100018;
         };
      lab←L100015: ;
      };
SOURCE(3283, 11)
   return(0);
   }

static void NoName←Q1068(formal←c096, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c096;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0121 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0121)+42)/* var←c12980 */  ))+4) ))) {
      {
         word stream←v11216;
         stream←v11216 = (*  (ptr) formal←c200011 );
SOURCE(2374, 10)
         (* (( (ptr) formal←c200008)+5) ) = 1;
SOURCE(2386, 8)
         (*  (ptr) formal←c096 ) = 2;
         (* (( (ptr) formal←c096)+1) ) = 4;
         return;
         };
      };
   (*  (ptr) formal←c096 ) = 0;
   (* (( (ptr) formal←c096)+1) ) = 0;
   return;
   }

static void NoName←Q1128(formal←c0101, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0101;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0122 =  (ptr) &globalframe;
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0122)+42)/* var←c12980 */  ))+4) )) || (formal←c200005 == (* (( (ptr) (* (
         ( (ptr) gf←c0122)+42)/* var←c12980 */  ))+5) ))) {
SOURCE(1199, 11)
      (* (( (ptr) formal←c200004)+5) ) = (* (( (ptr) formal←c200004)+4) );
SOURCE(1212, 8)
      (*  (ptr) formal←c0101 ) = 2;
      (* (( (ptr) formal←c0101)+1) ) = 3;
      return;
      };
   (*  (ptr) formal←c0101 ) = 0;
   (* (( (ptr) formal←c0101)+1) ) = 0;
   return;
   }

static void NoName←Q1188(formal←c0106, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0106;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0123 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0123)+42)/* var←c12980 */  ))+4) )) || (formal←c200001 == (* (( (ptr) (* (
         ( (ptr) gf←c0123)+42)/* var←c12980 */  ))+5) ))) {
SOURCE(629, 11)
      (* (( (ptr) formal←c200000)+5) ) = (* (( (ptr) formal←c200000)+4) );
SOURCE(642, 8)
      (*  (ptr) formal←c0106 ) = 2;
      (* (( (ptr) formal←c0106)+1) ) = 2;
      return;
      };
   (*  (ptr) formal←c0106 ) = 0;
   (* (( (ptr) formal←c0106)+1) ) = 0;
   return;
   }

/* file: GGViewerOpsImpl, module: GGViewerOpsImpl, compiled at: December 3, 1992 6:30:13 pm PST */ 
extern void XR←install←GGViewerOpsImpl() {
   NoName←Q828();
   }
extern void XR←run←GGViewerOpsImpl() { XR←Start(&globalframe); }