/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: October 21, 1993 10:05:21 am PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: XlBWFriendsImpl, module: XlBWFriendsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [458981746,2875399059] XlBWFriendsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3, f4;} W5;
#define SOURCE(p, l) /* source p, l */
#define IOP2(op, x, y)  ( (word) ((x) op (y)) )
static void NoName←Q3516();
static void XlBWFriendsImpl←P0();
static word NewSRef←P60();
static word ServiceInitialize←P120();
static word GetSeviceRef←P180();
static void IncludeRect←P600();
static void CancelRects←P660();
static word WaitLocal←P720();
static void ConsumeRect←P780();
static void StopWRef←P840();
static void EntryRemH←P1668();
static void InterceptedRefresh←P900();
static void StartWRef←P960();
static word EntryAddH←P1824();
static word ResetConsumers←P1020();
static void ServiceProcess←P1200();
static word NoName←Q3576();
static word Visit←P1260();
static void NoName←Q3636();
static struct {unsigned f; char r[4];} string1 = {65540, "\251\000\000"};
static struct {unsigned f; char r[4];} string2 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string3 = {65537, "\001\000\000"};
static struct {unsigned f; char r[48];} string4 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\205\277\037\240\300\057\303\211\051\100\214\005\004\162\145\163\164\214\216\257\300\205\277\037\240\300\057\303\211\051\100\214\261\000\000\000"};
static struct {unsigned f; char r[4];} string5 = {131074, "\004\003\000"};
static struct {unsigned f; char r[4];} string6 = {65540, "\242\000\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\205\277\037\240\300\057\303\211\051\100\244\000\000"};
static struct {unsigned f; char r[4];} string8 = {196611, "\004@`"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\205\277\037\240\300\057\303\211\051\100\214\000\000"};
static struct {unsigned f; char r[20];} string10 = {1245203, "\006\007\000\001\004\001\010\001\034\001\105\164\001\105\210\001\105\224\001"};
static struct {unsigned f; char r[4];} string11 = {65540, "x\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "flushProposed\000\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\033\133\201\162\300\253\143\033\223\100\200\000\000"};
static struct {unsigned f; char r[8];} string14 = {262148, "\004\200`\020\000\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\263\064\342\215\300\063\160\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\256\042\060\232\300\060\151\325\207\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\256\061\211\265\300\052\170\134\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\244\037\307\153\300\075\246\262\264\100\150\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\205\277\037\240\300\057\303\211\051\100\150\000\000"};
static struct {
   word f0[15]; 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; word f40; word f41; 
   word f42[9]; 
   } globalframe = {
   {0}, (word) Visit←P1260, 0, (word) ServiceProcess←P1200, 
   0, (word) ResetConsumers←P1020, 0, (word) StartWRef←P960, 
   0, (word) InterceptedRefresh←P900, 0, (word) StopWRef←P840, 
   0, (word) ConsumeRect←P780, 0, (word) WaitLocal←P720, 
   0, (word) CancelRects←P660, 0, (word) IncludeRect←P600, 
   0, (word) GetSeviceRef←P180, 0, (word) ServiceInitialize←P120, 
   0, (word) NewSRef←P60, 0, (word) XlBWFriendsImpl←P0, 
   {0}
   };

static void NoName←Q3516()
   {
   register ptr gf←c0134 =  (ptr) &globalframe;
   word var←c19428;
   (* (( (ptr) gf←c0134)+5) ) = (word) XR←GetTypeIndexS((word) (&string1));
   (* (( (ptr) gf←c0134)+6) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3);
   (* (( (ptr) gf←c0134)+7) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
   (* (( (ptr) gf←c0134)+8) ) = (word) XR←GetTypeIndexS((word) (&string6));
   (* (( (ptr) gf←c0134)+9) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (* (( (ptr) gf←c0134)+12) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
   (*  (ptr) (( (bPt) gf←c0134)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0134)+6) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c0134)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0134)+6) ), (word) &string12);
   (void) XR←DeclareGlobalFrame((word) "XlBWFriendsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string13, 0, (word) &string14)
      , (word) (( (bPt) gf←c0134)+164)/* var←c18020 */ );
   var←c19428 = (word) XR←ImportInterface((word) "ForkOps", (word) XR←GetTypeIndexS((word) (&string15)), 4);
   (* (( (ptr) gf←c0134)+46)/* var←c19172 */  ) = var←c19428;
   (void) XR←ImportProcS(var←c19428, 1048836);
   var←c19428 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string16)), 103);
   (* (( (ptr) gf←c0134)+48)/* var←c19300 */  ) = var←c19428;
   var←c19428 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string17)), 22);
   (* (( (ptr) gf←c0134)+43)/* var←c18116 */  ) = var←c19428;
   (void) XR←ImportProcS(var←c19428, 4864);
   (void) XR←ImportProcS(var←c19428, 264449);
   (void) XR←ImportProcS(var←c19428, 67371521);
   (void) XR←ImportProcS(var←c19428, 525570);
   var←c19428 = (word) XR←ImportInterface((word) "PropList", (word) XR←GetTypeIndexS((word) (&string18)), 13);
   (* (( (ptr) gf←c0134)+44)/* var←c18180 */  ) = var←c19428;
   (void) XR←ImportProcS(var←c19428, 135268612);
   var←c19428 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string19)), 218);
   (* (( (ptr) gf←c0134)+47)/* var←c19268 */  ) = var←c19428;
   (void) XR←ImportProcS(var←c19428, 534274);
   var←c19428 = (word) XR←ImportInterface((word) "XlBitmap", (word) XR←GetTypeIndexS((word) (&string20)), 14);
   (* (( (ptr) gf←c0134)+45)/* var←c19012 */  ) = var←c19428;
   (void) XR←ImportProcS(var←c19428, 1051140);
   (void) XR←ImportProcS(var←c19428, 527106);
   var←c19428 = (word) XR←ImportInterface((word) "XlSpeedHacks", (word) XR←GetTypeIndexS((word) (&string21)), 4);
   (* (( (ptr) gf←c0134)+49)/* var←c19396 */  ) = var←c19428;
   (void) XR←ImportProcS(var←c19428, 787203);
   (void) XR←ImportProcS(var←c19428, 67633666);
   var←c19428 = (word) XR←ExportInterface((word) "XlBWFriends", (word) XR←GetTypeIndexS((word) (&string22)), 6);
   (* (( (ptr) gf←c0134)+50)/* var←c19460 */  ) = var←c19428;
   (void) XR←ExportProcS(var←c19428, (word) (( (bPt) gf←c0134)+156)/* var←c17988 */ , 67108864, (word) "NewSRef");
   (void) XR←ExportProcS(var←c19428, (word) (( (bPt) gf←c0134)+84)/* var←c17700 */ , 262401, (word) "StartWRef");
   (void) XR←ExportProcS(var←c19428, (word) (( (bPt) gf←c0134)+100)/* var←c17764 */ , 262657, (word) "StopWRef");
   (void) XR←ExportProcS(var←c19428, (word) (( (bPt) gf←c0134)+132)/* var←c17892 */ , 1835780, (word) "IncludeRect");
   (void) XR←ExportProcS(var←c19428, (word) (( (bPt) gf←c0134)+124)/* var←c17860 */ , 525314, (word) "CancelRects");
   (void) XR←ExportProcS(var←c19428, (word) (( (bPt) gf←c0134)+116)/* var←c17828 */ , 67634434, (word) "WaitLocal");
   }

static void XlBWFriendsImpl←P0(formal←c029, formal←c028)
   word formal←c029;
   word formal←c028;
   {
   register ptr gf←c19492 =  (ptr) &globalframe;
   /* XlBWFriendsImpl: */ 
SOURCE(99, 7883)
SOURCE(543, 26)
   (* (( (ptr) gf←c19492)+4)/* packageKey←v3000 */  ) = XR←NewObject(4, (* (( (ptr) gf←c19492)+8) ));
   }

static word NewSRef←P60()
   {
   register ptr gf←c19524 =  (ptr) &globalframe;
   word s←v3684;
   /* NewSRef: */ 
SOURCE(572, 187)
SOURCE(572, 187)
   s←v3684 = XR←NewObject(60, (* (( (ptr) gf←c19524)+9) ));
SOURCE(691, 68)
SOURCE(692, 67)
   {
      word var←c18084;
      {
         word pd23;
         pd23 = (* (( (ptr) (* (( (ptr) gf←c19524)+43)/* var←c18116 */  ))+6) );
         var←c18084 = (word) ( *( (fPt) ((*  (ptr) pd23 ))))(200, pd23);
         };
      {
         word pd24;
         pd24 = (* (( (ptr) (* (( (ptr) gf←c19524)+43)/* var←c18116 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd24 ))))((word) (( (bPt) s←v3684)+36), var←c18084, pd24);
         };
      };
SOURCE(572, 187)
   return(s←v3684);
   }

static word ServiceInitialize←P120(data←v9104, key←v9132)
   word data←v9104;
   word key←v9132;
   {
   register ptr gf←c19556 =  (ptr) &globalframe;
   word val←v9176;
   /* ServiceInitialize: */ 
SOURCE(766, 69)
SOURCE(766, 69)
   val←v9176 = (* (( (ptr) gf←c19556)+13) );
SOURCE(817, 18)
   return((word) NewSRef←P60());
   }

static word GetSeviceRef←P180(c←v3744)
   word c←v3744;
   {
   register ptr gf←c19588 =  (ptr) &globalframe;
   word var←c3788;
   word pl←v5640;
   word val←v5668;
   W2 var←c039;
   /* GetSeviceRef: */ 
SOURCE(841, 223)
SOURCE(898, 43)
   pl←v5640 = (* (( (ptr) c←v3744)+30) );
SOURCE(943, 98)
   {
      word pd25;
      pd25 = (* (( (ptr) (* (( (ptr) gf←c19588)+44)/* var←c18180 */  ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd25 ))))((word) &var←c039, pl←v5640, (* (( (ptr) gf←c19588)+4)/* packageKey←v3000 */  ), (word) (
            ( (bPt) gf←c19588)+148)/* var←c17956 */ , c←v3744, pd25);
      };
   val←v5668 = var←c039.f0;
SOURCE(1044, 20)
   return(XR←Narrow(val←v5668, (* (( (ptr) gf←c19588)+9) )));
   }

static void IncludeRect←P600(s←v4540, w←v4568, r←v4596, delayOk←v4624)
   word s←v4540;
   word w←v4568;
   W4 r←v4596;
   word delayOk←v4624;
   {
   word cost←v5836;
   /* IncludeRect: */ 
SOURCE(1983, 1603)
   (void) (XR←MonitorEntry(s←v4540));
   {
      word var←c18692;
      word w←v17044;
SOURCE(2491, 33)
      {
         W4 var←c18244;
         W4 box2←v17220;
         box2←v17220 = (*  (W4Pt) (( (ptr) w←v4568)+3) );
         {
            W2 v1←v11936;
            W2 v2←v11968;
            v1←v11936 = (*  (W2Pt) &box2←v17220 );
            v2←v11968 = (*  (W2Pt) &r←v4596 );
            if (( (int)v2←v11968.f0 >=  (int)v1←v11936.f0)) {
               var←c18244.f0 = v2←v11968.f0;
               }
            else {
               var←c18244.f0 = v1←v11936.f0;
               };
            if (( (int)v2←v11968.f1 >=  (int)v1←v11936.f1)) {
               var←c18244.f1 = v2←v11968.f1;
               }
            else {
               var←c18244.f1 = v1←v11936.f1;
               };
            };
         {
            W2 v1←v12228;
            W2 v2←v12260;
            v1←v12228 = (*  (W2Pt) (( (ptr) &r←v4596)+2) );
            v2←v12260 = (*  (W2Pt) (( (ptr) &box2←v17220)+2) );
            if (( (int)v1←v12228.f0 <=  (int)v2←v12260.f0)) {
               var←c18244.f2 = v1←v12228.f0;
               }
            else {
               var←c18244.f2 = v2←v12260.f0;
               };
            if (( (int)v1←v12228.f1 <=  (int)v2←v12260.f1)) {
               var←c18244.f3 = v1←v12228.f1;
               }
            else {
               var←c18244.f3 = v2←v12260.f1;
               };
            };
         r←v4596 = var←c18244;
         };
SOURCE(2526, 32)
      if (( (int)r←v4596.f0 >=  (int)r←v4596.f2) || ( (int)r←v4596.f1 >=  (int)r←v4596.f3)) {
SOURCE(2552, 6)
         (void) (XR←MonitorExit(s←v4540));
         return;
         };
SOURCE(2561, 520)
      if (((((* (( (ptr) w←v4568)+9) ) + 1) & 077) == (* (( (ptr) w←v4568)+10) ))) {
SOURCE(2585, 45)
         (* (( (ptr) w←v4568)+342) ) = ((* (( (ptr) w←v4568)+342) ) + 1);
SOURCE(2632, 22)
         (void) (XR←Wait(s←v4540, (word) (( (bPt) w←v4568)+1372)));
SOURCE(2978, 45)
         (* (( (ptr) w←v4568)+342) ) = ((* (( (ptr) w←v4568)+342) ) - 1);
SOURCE(3025, 56)
         if (((((* (( (ptr) w←v4568)+9) ) + 1) & 077) == (* (( (ptr) w←v4568)+10) ))) {
SOURCE(3049, 32)
            {
               W4 var←c18436;
               W4 box1←v16908;
               W4 box2←v16936;
               box1←v16908 = r←v4596;
               {
                  W4 r←v16812;
                  {
                     word ox←v5752;
SOURCE(1472, 141)
                     r←v16812.f0 = 0;
                     r←v16812.f1 = 0;
                     r←v16812.f2 = 0;
                     r←v16812.f3 = 0;
                     ox←v5752 = (* (( (ptr) w←v4568)+10) );
SOURCE(1568, 15)
                     r←v16812 = (* (( (W4Pt) (( (ptr) w←v4568)+75))+ox←v5752) );
SOURCE(1585, 28)
                     (* (( (ptr) w←v4568)+10) ) = ((ox←v5752 + 1) & 077);
SOURCE(1472, 141)
                     box2←v16936 = r←v16812;
                     };
                  };
SOURCE(1680, 89)
               {
                  W2 v1←v17452;
                  W2 v2←v17480;
                  v1←v17452 = (*  (W2Pt) &box1←v16908 );
                  v2←v17480 = (*  (W2Pt) &box2←v16936 );
                  if (( (int)v1←v17452.f0 <=  (int)v2←v17480.f0)) {
                     var←c18436.f0 = v1←v17452.f0;
                     }
                  else {
                     var←c18436.f0 = v2←v17480.f0;
                     };
                  if (( (int)v1←v17452.f1 <=  (int)v2←v17480.f1)) {
                     var←c18436.f1 = v1←v17452.f1;
                     }
                  else {
                     var←c18436.f1 = v2←v17480.f1;
                     };
                  };
               {
                  W2 v1←v17300;
                  W2 v2←v17328;
                  v1←v17300 = (*  (W2Pt) (( (ptr) &box1←v16908)+2) );
                  v2←v17328 = (*  (W2Pt) (( (ptr) &box2←v16936)+2) );
                  if (( (int)v2←v17328.f0 >=  (int)v1←v17300.f0)) {
                     var←c18436.f2 = v2←v17328.f0;
                     }
                  else {
                     var←c18436.f2 = v1←v17300.f0;
                     };
                  if (( (int)v2←v17328.f1 >=  (int)v1←v17300.f1)) {
                     var←c18436.f3 = v2←v17328.f1;
                     }
                  else {
                     var←c18436.f3 = v1←v17300.f1;
                     };
                  };
               r←v4596 = var←c18436;
               };
            };
         };
SOURCE(3089, 14)
SOURCE(1904, 75)
      cost←v5836 = IOP2( * ,  (int)(r←v4596.f2 - r←v4596.f0),  (int)(IOP2( / ,  (int)(r←v4596.f3 + 3),  (int)4) - IOP2( / ,  (int)r←v4596.f1,  (int)4)
         ));
SOURCE(3105, 31)
      lab←L100010: ;
      {
         word x26;
         w←v17044 = w←v4568;
         {
            word count←v6116;
            count←v6116 = ((((* (( (ptr) w←v17044)+9) ) + 64) - (* (( (ptr) w←v17044)+10) )) & 077);
SOURCE(2180, 266)
            {
               register word i←v6144 = 0;
               if (( (int)i←v6144 >=  (int)count←v6116)) {
                  goto lab←L100011;
                  };
               lab←L100014: ;
               {
                  word this←v6172;
                  W4 uRect←v6200;
                  word uCost←v6228;
                  this←v6172 = ((((* (( (ptr) w←v17044)+9) ) + 63) - i←v6144) & 077);
                  {
                     W4 box2←v16860;
                     box2←v16860 = (* (( (W4Pt) (( (ptr) w←v17044)+75))+this←v6172) );
SOURCE(1680, 89)
                     {
                        W2 v1←v17528;
                        W2 v2←v17556;
                        v1←v17528 = (*  (W2Pt) &r←v4596 );
                        v2←v17556 = (*  (W2Pt) &box2←v16860 );
                        if (( (int)v1←v17528.f0 <=  (int)v2←v17556.f0)) {
                           uRect←v6200.f0 = v1←v17528.f0;
                           }
                        else {
                           uRect←v6200.f0 = v2←v17556.f0;
                           };
                        if (( (int)v1←v17528.f1 <=  (int)v2←v17556.f1)) {
                           uRect←v6200.f1 = v1←v17528.f1;
                           }
                        else {
                           uRect←v6200.f1 = v2←v17556.f1;
                           };
                        };
                     {
                        W2 v1←v17376;
                        W2 v2←v17404;
                        v1←v17376 = (*  (W2Pt) (( (ptr) &r←v4596)+2) );
                        v2←v17404 = (*  (W2Pt) (( (ptr) &box2←v16860)+2) );
                        if (( (int)v2←v17404.f0 >=  (int)v1←v17376.f0)) {
                           uRect←v6200.f2 = v2←v17404.f0;
                           }
                        else {
                           uRect←v6200.f2 = v1←v17376.f0;
                           };
                        if (( (int)v2←v17404.f1 >=  (int)v1←v17376.f1)) {
                           uRect←v6200.f3 = v2←v17404.f1;
                           }
                        else {
                           uRect←v6200.f3 = v1←v17376.f1;
                           };
                        };
                     };
SOURCE(1904, 75)
                  uCost←v6228 = IOP2( * ,  (int)(uRect←v6200.f2 - uRect←v6200.f0),  (int)(IOP2( / ,  (int)(uRect←v6200.f3 + 3),  (int)4) - IOP2(
                         / ,  (int)uRect←v6200.f1,  (int)4)));
SOURCE(2331, 115)
                  if (( (int)uCost←v6228 <=  (int)((cost←v5836 + (* ((( (ptr) w←v17044)+11)+this←v6172) )) + (* (( (ptr) w←v17044)+8) )))) {
SOURCE(2382, 9)
                     r←v4596 = uRect←v6200;
SOURCE(2394, 12)
                     cost←v5836 = uCost←v6228;
SOURCE(2408, 23)
                     {
                        word s←v16660;
                        word w←v16688;
                        s←v16660 = s←v4540;
                        w←v16688 = w←v17044;
                        {
                           word lix←v5724;
                           lix←v5724 = (((* (( (ptr) w←v16688)+9) ) + 63) & 077);
SOURCE(1383, 68)
                           if ((lix←v5724 != this←v6172)) {
SOURCE(1399, 25)
/*1*/   (* (( (W4Pt) (( (ptr) w←v16688)+75))+this←v6172) ) = (* (( (W4Pt) (( (ptr) w←v16688)+75))+lix←v5724) );
SOURCE(1426, 25)
/*1*/   (* ((( (ptr) w←v16688)+11)+this←v6172) ) = (* ((( (ptr) w←v16688)+11)+lix←v5724) );
/*1*/   };
SOURCE(1456, 10)
                           (* (( (ptr) w←v16688)+9) ) = lix←v5724;
                           };
                        };
SOURCE(2433, 13)
                     var←c18692 = 1;
                     goto lab←L100019;
                     };
                  };
               i←v6144 = (i←v6144 + 1);
               if ((i←v6144 < count←v6116)) {
                  goto lab←L100014;
                  };
               lab←L100011: ;
               };
SOURCE(2461, 14)
            var←c18692 = 0;
            };
         lab←L100019: ;
         x26 =  (word) var←c18692;
         if (x26) {
            }
         else {
            goto lab←L100008;
            };
         };
      goto lab←L100010;
      lab←L100008: ;
SOURCE(3138, 88)
      {
         word i←v5984;
SOURCE(3144, 15)
         i←v5984 = (* (( (ptr) w←v4568)+9) );
SOURCE(3161, 14)
         (* (( (W4Pt) (( (ptr) w←v4568)+75))+i←v5984) ) = r←v4596;
SOURCE(3178, 17)
         (* ((( (ptr) w←v4568)+11)+i←v5984) ) = cost←v5836;
SOURCE(3197, 27)
         (* (( (ptr) w←v4568)+9) ) = ((i←v5984 + 1) & 077);
         };
SOURCE(3231, 16)
      (* (( (ptr) s←v4540)+7) ) = 1;
SOURCE(3249, 337)
      if ((0 != (* (( (ptr) s←v4540)+8) ))) {
SOURCE(3453, 137)
SOURCE(3481, 105)
         if ((0 == delayOk←v4624) || (((((* (( (ptr) w←v4568)+9) ) + 64) - (* (( (ptr) w←v4568)+10) )) & 077) > 4)) {
SOURCE(3561, 25)
            (void) (XR←Notify((word) (( (bPt) s←v4540)+36)));
            };
         };
      };
SOURCE(1983, 1603)
   (void) (XR←MonitorExit(s←v4540));
   return;
   }

static void CancelRects←P660(s←v4684, w←v4712)
   word s←v4684;
   word w←v4712;
   {
   /* CancelRects: */ 
SOURCE(3599, 178)
   (void) (XR←MonitorEntry(s←v4684));
SOURCE(3653, 124)
   if (((* (( (ptr) w←v4712)+9) ) != (* (( (ptr) w←v4712)+10) ))) {
SOURCE(3679, 11)
      (* (( (ptr) w←v4712)+10) ) = (* (( (ptr) w←v4712)+9) );
SOURCE(3692, 29)
      (* (( (ptr) w←v4712)+332) ) = ((* (( (ptr) w←v4712)+332) ) + 1);
SOURCE(3723, 54)
      if (( (int)(* (( (ptr) w←v4712)+335) ) >  (int)0)) {
SOURCE(3752, 25)
         (void) (XR←Broadcast((word) (( (bPt) w←v4712)+1344)));
         };
      };
SOURCE(3599, 178)
   (void) (XR←MonitorExit(s←v4684));
   return;
   }

static word WaitLocal←P720(s←v4772, w←v4800)
   word s←v4772;
   word w←v4800;
   {
   word timedOut←v4844;
   /* WaitLocal: */ 
SOURCE(3786, 292)
   (void) (XR←MonitorEntry(s←v4772));
SOURCE(3786, 292)
   timedOut←v4844 = 0;
SOURCE(3871, 207)
   if (((* (( (ptr) w←v4800)+9) ) != (* (( (ptr) w←v4800)+10) ))) {
SOURCE(3895, 185)
      {
         word cnt←v6256;
SOURCE(3897, 24)
         cnt←v6256 = (* (( (ptr) w←v4800)+332) );
SOURCE(3923, 41)
         (* (( (ptr) w←v4800)+335) ) = ((* (( (ptr) w←v4800)+335) ) + 1);
SOURCE(3966, 20)
         (void) (XR←Wait(s←v4772, (word) (( (bPt) w←v4800)+1344)));
SOURCE(3988, 41)
         (* (( (ptr) w←v4800)+335) ) = ((* (( (ptr) w←v4800)+335) ) - 1);
SOURCE(4031, 47)
         if (((* (( (ptr) w←v4800)+332) ) == cnt←v6256)) {
            timedOut←v4844 =  (unsigned) ((* (( (ptr) w←v4800)+9) ) != (* (( (ptr) w←v4800)+10) ));
            }
         else {
            timedOut←v4844 =  (unsigned) 0;
            };
         };
      };
SOURCE(3786, 292)
   (void) (XR←MonitorExit(s←v4772));
   return(timedOut←v4844);
   }

static void ConsumeRect←P780(formal←c088, s←v4904, w←v4932)
   word formal←c088;
   word s←v4904;
   word w←v4932;
   {
   W4 b←v4976;
   /* ConsumeRect: */ 
SOURCE(4087, 388)
   (void) (XR←MonitorEntry(s←v4904));
SOURCE(4087, 388)
   b←v4976.f0 = 0;
   b←v4976.f1 = 0;
   b←v4976.f2 = 0;
   b←v4976.f3 = 0;
SOURCE(4199, 161)
   if (((* (( (ptr) w←v4932)+9) ) == (* (( (ptr) w←v4932)+10) ))) {
SOURCE(4225, 87)
      if (( (int)(* (( (ptr) w←v4932)+335) ) >  (int)0)) {
SOURCE(4256, 29)
         (* (( (ptr) w←v4932)+332) ) = ((* (( (ptr) w←v4932)+332) ) + 1);
SOURCE(4287, 25)
         (void) (XR←Broadcast((word) (( (bPt) w←v4932)+1344)));
         };
SOURCE(4317, 9)
      b←v4976.f0 = 2147483647;
      b←v4976.f1 = 2147483647;
      b←v4976.f2 = 2147483648;
      b←v4976.f3 = 2147483648;
      }
   else {
SOURCE(4338, 22)
      {
         W4 var←c18948;
         W4 r←v16736;
         {
            word ox←v16768;
SOURCE(1472, 141)
            r←v16736.f0 = 0;
            r←v16736.f1 = 0;
            r←v16736.f2 = 0;
            r←v16736.f3 = 0;
            ox←v16768 = (* (( (ptr) w←v4932)+10) );
SOURCE(1568, 15)
            r←v16736 = (* (( (W4Pt) (( (ptr) w←v4932)+75))+ox←v16768) );
SOURCE(1585, 28)
            (* (( (ptr) w←v4932)+10) ) = ((ox←v16768 + 1) & 077);
SOURCE(1472, 141)
            var←c18948 = r←v16736;
            };
         b←v4976 = var←c18948;
         };
      };
SOURCE(4365, 110)
   if ( ( ( (int)(* (( (ptr) w←v4932)+342) ) >  (int)0) ? (((((* (( (ptr) w←v4932)+9) ) + 64) - (* (( (ptr) w←v4932)+10) )) & 077) > 5) : 0 ) ) {
SOURCE(4451, 24)
      (void) (XR←Notify((word) (( (bPt) w←v4932)+1372)));
      };
   /* removed tail goto */ 
   (void) (XR←MonitorExit(s←v4904));
   (*  (W4Pt) formal←c088 ) = b←v4976;
   return;
   }

static void StopWRef←P840(w←v5036)
   word w←v5036;
   {
   W6 var←c19620;
   register ptr gf←c19652 =  (ptr) &globalframe;
   /* declaration of var←c18980 skipped */ 
   /* StopWRef: */ 
SOURCE(4481, 670)
   {
      word tmpAddr27;
      tmpAddr27 = (word) (( (ptr) &var←c19620)+4)/* var←c18980 */ ;
      (*  (ptr) tmpAddr27 ) = ( ((word)  (fPt) EntryRemH←P1668) );
      (* (( (ptr) tmpAddr27) + 1) ) = 1;
      };
SOURCE(5048, 103)
   if ((w←v5036 != 0)) {
SOURCE(5062, 91)
      {
         word s←v6476;
SOURCE(5064, 13)
         s←v6476 = (* (( (ptr) w←v5036)+7) );
SOURCE(5079, 29)
         if ((s←v6476 != 0)) {
SOURCE(5093, 15)
            (void) EntryRemH←P1668(s←v6476, w←v5036, (word) (( (bPt) &var←c19620)+16)/* var←c18980 */ );
            };
SOURCE(5110, 41)
         {
            word pd28;
            pd28 = (* (( (ptr) (* (( (ptr) gf←c19652)+45)/* var←c19012 */  ))+15) );
            (void) ( *( (fPt) ((*  (ptr) pd28 ))))((* (( (ptr) w←v5036)+1) ), w←v5036, pd28);
            };
         };
      };
   }

static void EntryRemH←P1668(s←v6420, w←v6448, formal←c19684)
   word s←v6420;
   word w←v6448;
   word formal←c19684;
   {
   formal←c19684 = (formal←c19684 - 16);
   /* EntryRemH: */ 
SOURCE(4517, 526)
   (void) (XR←MonitorEntry(s←v6420));
SOURCE(4562, 11)
   (* (( (ptr) w←v6448)+10) ) = (* (( (ptr) w←v6448)+9) );
SOURCE(4575, 186)
   if (((*  (ptr) (* (( (ptr) s←v6420)+5) ) ) == w←v6448)) {
SOURCE(4605, 38)
      (* (( (ptr) s←v6420)+5) ) = (* (( (ptr) (* (( (ptr) s←v6420)+5) ))+1) );
      }
   else {
SOURCE(4645, 116)
      {
         register word l←v6520;
         l←v6520 = (* (( (ptr) s←v6420)+5) );
         lab←L100026: ;
         if ( ( (l←v6520 != 0) ? ((* (( (ptr) l←v6520)+1) ) != 0) : 0 ) ) {
            }
         else {
            goto lab←L100023;
            };
SOURCE(4718, 43)
         if (((*  (ptr) (* (( (ptr) l←v6520)+1) ) ) == w←v6448)) {
SOURCE(4741, 20)
            (* (( (ptr) l←v6520)+1) ) = (* (( (ptr) (* (( (ptr) l←v6520)+1) ))+1) );
            };
         l←v6520 = (* (( (ptr) l←v6520)+1) );
         goto lab←L100026;
         lab←L100023: ;
         };
      };
SOURCE(4775, 16)
   (* (( (ptr) s←v6420)+7) ) = 1;
SOURCE(4793, 58)
   if ( ( ((* (( (ptr) s←v6420)+6) ) != 0) ? ((*  (ptr) (* (( (ptr) s←v6420)+6) ) ) == w←v6448) : 0 ) ) {
SOURCE(4831, 20)
      (* (( (ptr) s←v6420)+6) ) = (* (( (ptr) (* (( (ptr) s←v6420)+6) ))+1) );
      };
SOURCE(4853, 50)
   if ((0 != (* (( (ptr) s←v6420)+8) ))) {
SOURCE(4878, 25)
      (void) (XR←Notify((word) (( (bPt) s←v6420)+36)));
      };
SOURCE(4929, 54)
   if (( (int)(* (( (ptr) w←v6448)+335) ) >  (int)0)) {
SOURCE(4958, 25)
      (void) (XR←Broadcast((word) (( (bPt) w←v6448)+1344)));
      };
SOURCE(4985, 58)
   if (( (int)(* (( (ptr) w←v6448)+342) ) >  (int)0)) {
SOURCE(5016, 27)
      (void) (XR←Broadcast((word) (( (bPt) w←v6448)+1372)));
      };
SOURCE(4517, 526)
   (void) (XR←MonitorExit(s←v6420));
   return;
   }

static void InterceptedRefresh←P900(box←v9236, data←v9264, delayOk←v9292)
   W4 box←v9236;
   word data←v9264;
   word delayOk←v9292;
   {
   register ptr gf←c19716 =  (ptr) &globalframe;
   word w←v6648;
   /* InterceptedRefresh: */ 
SOURCE(5159, 102)
SOURCE(5204, 22)
   w←v6648 = XR←Narrow(data←v9264, (* (( (ptr) gf←c19716)+12) ));
SOURCE(5228, 33)
   (void) IncludeRect←P600((* (( (ptr) w←v6648)+7) ), w←v6648, box←v9236, delayOk←v9292);
   }

static void StartWRef←P960(w←v5096)
   word w←v5096;
   {
   W6 var←c19748;
   register ptr gf←c19780 =  (ptr) &globalframe;
   /* declaration of var←c19044 skipped */ 
   word s←v6720;
   /* StartWRef: */ 
SOURCE(5267, 747)
   {
      word tmpAddr29;
      tmpAddr29 = (word) (( (ptr) &var←c19748)+4)/* var←c19044 */ ;
      (*  (ptr) tmpAddr29 ) = ( ((word)  (fPt) EntryAddH←P1824) );
      (* (( (ptr) tmpAddr29) + 1) ) = 1;
      };
SOURCE(5634, 13)
   s←v6720 = (* (( (ptr) w←v5096)+7) );
SOURCE(5649, 41)
   if ((s←v6720 == 0)) {
SOURCE(5663, 27)
      {
         word var←c19076;
         var←c19076 = (word) GetSeviceRef←P180((*  (ptr) (w←v5096) ));
         (* (( (ptr) w←v5096)+7) ) = var←c19076;
         s←v6720 = var←c19076;
         };
      };
SOURCE(5700, 131)
SOURCE(5702, 62)
   {
      word var←c19108;
      {
         word pd30;
         pd30 = (* (( (ptr) (* (( (ptr) gf←c19780)+43)/* var←c18116 */  ))+6) );
         var←c19108 = (word) ( *( (fPt) ((*  (ptr) pd30 ))))(200, pd30);
         };
      {
         word pd31;
         pd31 = (* (( (ptr) (* (( (ptr) gf←c19780)+43)/* var←c18116 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd31 ))))((word) (( (bPt) w←v5096)+1344), var←c19108, pd31);
         };
      };
SOURCE(5766, 63)
   {
      word var←c19140;
      {
         word pd32;
         pd32 = (* (( (ptr) (* (( (ptr) gf←c19780)+43)/* var←c18116 */  ))+6) );
         var←c19140 = (word) ( *( (fPt) ((*  (ptr) pd32 ))))(80, pd32);
         };
      {
         word pd33;
         pd33 = (* (( (ptr) (* (( (ptr) gf←c19780)+43)/* var←c18116 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd33 ))))((word) (( (bPt) w←v5096)+1372), var←c19140, pd33);
         };
      };
SOURCE(5834, 180)
   if ((s←v6720 != 0)) {
SOURCE(5848, 168)
      {
         word mustStart←v6896;
SOURCE(5850, 33)
         mustStart←v6896 = (word) EntryAddH←P1824(s←v6720, w←v5096, (word) (( (bPt) &var←c19748)+16)/* var←c19044 */ );
SOURCE(5885, 68)
         {
            word pd34;
            pd34 = (* (( (ptr) (* (( (ptr) gf←c19780)+45)/* var←c19012 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd34 ))))((* (( (ptr) w←v5096)+1) ), (word) (( (bPt) gf←c19780)+92)/* var←c17732 */ , 0, w←v5096, pd34)
            ;
            };
SOURCE(5955, 59)
         if ((0 != mustStart←v6896)) {
SOURCE(5973, 41)
            {
               word pd35;
               pd35 = (* (( (ptr) (* (( (ptr) gf←c19780)+46)/* var←c19172 */  ))+5) );
               (void) ( *( (fPt) ((*  (ptr) pd35 ))))(0, (word) (( (bPt) gf←c19780)+68)/* var←c17636 */ , s←v6720, 2, pd35);
               };
            };
         };
      };
   }

static word EntryAddH←P1824(s←v6796, w←v6824, formal←c19844)
   word s←v6796;
   word w←v6824;
   word formal←c19844;
   {
   register ptr gf←c19812 =  (ptr) &globalframe;
   word mustStart←v6868;
   formal←c19844 = (formal←c19844 - 16);
   /* EntryAddH: */ 
SOURCE(5304, 325)
   (void) (XR←MonitorEntry(s←v6796));
SOURCE(5304, 325)
   mustStart←v6868 = 0;
SOURCE(5383, 90)
   {
      register word l←v6940;
      l←v6940 = (* (( (ptr) s←v6796)+5) );
      lab←L100030: ;
      if ((l←v6940 != 0)) {
         }
      else {
         goto lab←L100027;
         };
SOURCE(5441, 32)
      if (((*  (ptr) l←v6940 ) == w←v6824)) {
SOURCE(5459, 14)
         (void) (XR←MonitorExit(s←v6796));
         return(0);
         };
      l←v6940 = (* (( (ptr) l←v6940)+1) );
      goto lab←L100030;
      lab←L100027: ;
      };
SOURCE(5512, 36)
   {
      word var←c19204;
      var←c19204 = XR←NewObject(8, (* (( (ptr) gf←c19812)+7) ));
      (*  (ptr) var←c19204 ) = w←v6824;
      (* (( (ptr) var←c19204)+1) ) = (* (( (ptr) s←v6796)+5) );
      (* (( (ptr) s←v6796)+5) ) = var←c19204;
      };
SOURCE(5550, 60)
   if ((0 == (* (( (ptr) s←v6796)+4) ))) {
SOURCE(5576, 34)
      mustStart←v6868 = 1;
      (* (( (ptr) s←v6796)+4) ) = 1;
      };
SOURCE(5613, 16)
   (* (( (ptr) s←v6796)+7) ) = 1;
SOURCE(5304, 325)
   (void) (XR←MonitorExit(s←v6796));
   return(mustStart←v6868);
   }

static word ResetConsumers←P1020(s←v5156)
   word s←v5156;
   {
   word mustExit←v5200;
   word next←v7068;
   /* ResetConsumers: */ 
SOURCE(6023, 187)
   (void) (XR←MonitorEntry(s←v5156));
SOURCE(6089, 6)
   next←v7068 = (* (( (ptr) s←v5156)+5) );
   (* (( (ptr) s←v5156)+6) ) = next←v7068;
SOURCE(6133, 77)
   mustExit←v5200 =  (unsigned) (next←v7068 == 0);
   if ((0 != mustExit←v5200)) {
SOURCE(6164, 29)
      (* (( (ptr) s←v5156)+4) ) = 0;
      }
   else {
SOURCE(6193, 17)
      (* (( (ptr) s←v5156)+7) ) = 0;
      };
SOURCE(6023, 187)
   (void) (XR←MonitorExit(s←v5156));
   return(mustExit←v5200);
   }

static void ServiceProcess←P1200(formal←c0157)
   word formal←c0157;
   {
   W5 var←c19876;
   /* declaration of x←v5424 skipped */ 
   register ptr gf←c19908 =  (ptr) &globalframe;
   var←c19876.f4/* x←v5424 */  = formal←c0157;
   /* ServiceProcess: */ 
SOURCE(6547, 708)
SOURCE(6579, 676)
SOURCE(6581, 598)
   {
      word var←c01;
      {
         word var←c0150;
         var←c0150 = (word) &var←c19876;
         var←c01 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3576) ), ( ((word)  (fPt) NoName←Q3636) ), var←c0150);
         };
      if ((var←c01 == 2)) {
         goto lab←L100031;
         }
      else {
         if ((var←c01 == 1)) {
            goto lab←L02;
            };
         };
      };
   goto lab←L100045;
   lab←L100031: ;
SOURCE(7207, 43)
   {
      word pd36;
      pd36 = (* (( (ptr) (* (( (ptr) gf←c19908)+46)/* var←c19172 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd36 ))))(100, (word) (( (bPt) gf←c19908)+68)/* var←c17636 */ , var←c19876.f4/* x←v5424 */ , 2, pd36)
      ;
      };
   lab←L100045: ;
   lab←L02: ;
   return;
   }

static word NoName←Q3576(formal←c0147)
   word formal←c0147;
   {
   register ptr gf←c0146 =  (ptr) &globalframe;
SOURCE(6643, 19)
   {
      word s←v7308;
SOURCE(6643, 19)
      s←v7308 = XR←Narrow((* (( (ptr) formal←c0147)+4) ), (* (( (ptr) gf←c0146)+9) ));
SOURCE(6664, 47)
      {
         word pd37;
         pd37 = (* (( (ptr) (* (( (ptr) gf←c0146)+43)/* var←c18116 */  ))+13) );
         (void) ( *( (fPt) ((*  (ptr) pd37 ))))(3, pd37);
         };
SOURCE(6713, 466)
      lab←L100036: ;
SOURCE(6713, 466)
      {
         word dontSleep←v7352 = 0;
SOURCE(6741, 41)
         if ((0 != (word) ResetConsumers←P1020(s←v7308))) {
SOURCE(6776, 6)
            return(1);
            };
SOURCE(6785, 86)
         lab←L100039: ;
SOURCE(6785, 86)
         {
            word w←v7396;
SOURCE(6788, 25)
            {
               word w←v17172;
SOURCE(6216, 165)
               (void) (XR←MonitorEntry(s←v7308));
               {
                  word next←v7196;
SOURCE(6216, 165)
                  w←v17172 = 0;
                  next←v7196 = (* (( (ptr) s←v7308)+6) );
SOURCE(6315, 66)
                  if ((next←v7196 != 0)) {
SOURCE(6334, 14)
                     w←v17172 = (*  (ptr) next←v7196 );
SOURCE(6362, 19)
                     (* (( (ptr) s←v7308)+6) ) = (* (( (ptr) next←v7196)+1) );
                     };
SOURCE(6216, 165)
                  w←v7396 = w←v17172;
                  };
               (void) (XR←MonitorExit(s←v7308));
               };
SOURCE(6815, 14)
            if ((w←v7396 == 0)) {
SOURCE(6829, 4)
               goto lab←L100038;
               };
SOURCE(6835, 36)
            if ((0 != (word) Visit←P1260(s←v7308, w←v7396))) {
               dontSleep←v7352 =  (unsigned) 1;
               }
            else {
               dontSleep←v7352 =  (unsigned) (0 != dontSleep←v7352);
               };
            };
         goto lab←L100039;
         lab←L100038: ;
SOURCE(6882, 121)
         if ((0 == dontSleep←v7352)) {
SOURCE(6904, 37)
            if ((0 == (* (( (ptr) s←v7308)+7) ))) {
SOURCE(6923, 18)
SOURCE(6923, 18)
               (void) (XR←MonitorEntry(s←v7308));
SOURCE(6437, 95)
               lab←L100043: ;
               if ((0 == (* (( (ptr) s←v7308)+7) ))) {
                  }
               else {
                  goto lab←L100041;
                  };
SOURCE(6458, 23)
               (* (( (ptr) s←v7308)+8) ) = 1;
SOURCE(6483, 23)
               (void) (XR←Wait(s←v7308, (word) (( (bPt) s←v7308)+36)));
SOURCE(6508, 24)
               (* (( (ptr) s←v7308)+8) ) = 0;
               goto lab←L100043;
               lab←L100041: ;
               (void) (XR←MonitorExit(s←v7308));
               };
SOURCE(6988, 15)
            {
               word pd38;
               pd38 = (* (( (ptr) (* (( (ptr) gf←c0146)+43)/* var←c18116 */  ))+23) );
               (void) ( *( (fPt) ((*  (ptr) pd38 ))))(pd38);
               };
            };
         };
      goto lab←L100036;
      };
   /* c2c skipped dead code */ 
   }

static word Visit←P1260(s←v5496, w←v5524)
   word s←v5496;
   word w←v5524;
   {
   register ptr gf←c19940 =  (ptr) &globalframe;
   word var←c5568;
   word flushWhenDone←v7440;
   /* Visit: */ 
SOURCE(7260, 722)
SOURCE(7324, 43)
   flushWhenDone←v7440 =  (unsigned) ((* (( (ptr) w←v5524)+349) ) != 0);
SOURCE(7369, 553)
   {
      register word noName←c19364 = 0;
      if ((noName←c19364 > 9)) {
         goto lab←L100046;
         };
      lab←L100049: ;
      {
         W4 r←v7484;
SOURCE(7395, 29)
         (void) ConsumeRect←P780((word) &r←v7484, s←v5496, w←v5524);
SOURCE(7426, 120)
         if (( (int)r←v7484.f3 <=  (int)r←v7484.f1)) {
SOURCE(7463, 64)
            if ((0 != flushWhenDone←v7440)) {
SOURCE(7489, 23)
               (* (( (ptr) w←v5524)+349) ) = 0;
SOURCE(7514, 13)
               {
                  word pd39;
                  pd39 = (* (( (ptr) (* (( (ptr) gf←c19940)+47)/* var←c19268 */  ))+43) );
                  (void) ( *( (fPt) ((*  (ptr) pd39 ))))((*  (ptr) w←v5524 ), 0, pd39);
                  };
               };
SOURCE(7532, 14)
            return(0);
            };
SOURCE(7551, 101)
         {
            register word rl←v7528;
            rl←v7528 = (* (( (ptr) w←v5524)+2) );
            lab←L100053: ;
            if ((rl←v7528 != 0)) {
               }
            else {
               goto lab←L100050;
               };
SOURCE(7613, 39)
            {
               word pd40;
               pd40 = (*  (ptr) rl←v7528 );
               (void) ( *( (fPt) ((*  (ptr) pd40 ))))(r←v7484, (* (( (ptr) rl←v7528)+1) ), pd40);
               };
            rl←v7528 = (* (( (ptr) rl←v7528)+2) );
            goto lab←L100053;
            lab←L100050: ;
            };
SOURCE(7654, 37)
         (* (( (ptr) w←v5524)+333) ) = ((* (( (ptr) w←v5524)+333) ) + 1);
SOURCE(7693, 204)
         if (( (int)(* (( (ptr) w←v5524)+333) ) >  (int)(* (( (ptr) w←v5524)+334) ))) {
SOURCE(7737, 162)
            {
               word newSNo←v7656;
SOURCE(7739, 59)
               {
                  word pd41;
                  pd41 = (* (( (ptr) (* (( (ptr) gf←c19940)+49)/* var←c19396 */  ))+6) );
                  newSNo←v7656 = (word) ( *( (fPt) ((*  (ptr) pd41 ))))((*  (ptr) w←v5524 ), 1, pd41);
                  };
SOURCE(7800, 20)
               (* (( (ptr) w←v5524)+333) ) = 0;
SOURCE(7822, 59)
               if (((* (( (ptr) w←v5524)+331) ) != 0)) {
SOURCE(7838, 43)
                  {
                     word pd42;
                     pd42 = (* (( (ptr) (* (( (ptr) gf←c19940)+49)/* var←c19396 */  ))+7) );
                     (void) ( *( (fPt) ((*  (ptr) pd42 ))))((*  (ptr) w←v5524 ), (* (( (ptr) w←v5524)+331) ), 0, pd42);
                     };
                  };
SOURCE(7883, 14)
               (* (( (ptr) w←v5524)+331) ) = newSNo←v7656;
               };
            };
SOURCE(7902, 20)
         flushWhenDone←v7440 = 1;
         };
      if ((noName←c19364 >= 9)) {
         goto lab←L100046;
         };
      noName←c19364 = (noName←c19364 + 1);
      goto lab←L100049;
      lab←L100046: ;
      };
SOURCE(7933, 34)
   (* (( (ptr) w←v5524)+349) ) = (* (( (ptr) gf←c19940)+14) );
SOURCE(7969, 13)
   return(1);
   }

static void NoName←Q3636(formal←c0133, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0133;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0149 =  (ptr) &globalframe;
   if (((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0149)+47)/* var←c19268 */  ))+4) )) || (formal←c200001 == (* (( (ptr) (* (
         ( (ptr) gf←c0149)+48)/* var←c19300 */  ))+5) ))) || (formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0149)+48)/* var←c19300 */  ))+4)
    ))) {
SOURCE(6629, 9)
      (*  (ptr) formal←c0133 ) = 2;
      (* (( (ptr) formal←c0133)+1) ) = 2;
      return;
      };
   (*  (ptr) formal←c0133 ) = 0;
   (* (( (ptr) formal←c0133)+1) ) = 0;
   return;
   }

/* file: XlBWFriendsImpl, module: XlBWFriendsImpl, compiled at: October 21, 1993 10:05:21 am PDT */ 
extern void XR←install←XlBWFriendsImpl() {
   NoName←Q3516();
   }
extern void XR←run←XlBWFriendsImpl() { XR←Start(&globalframe); }