/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: September 14, 1993 4:26:43 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: XlImplUtilities, module: XlImplUtilities */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [866536271,360272135] XlImplUtilities";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2;} W3;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; word r;} W9;
#define SOURCE(p, l) /* source p, l */
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define IOP2(op, x, y)  ( (word) ((x) op (y)) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define NCK(p) ( (void) p)
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
static void NoName←Q8340();
static void XlImplUtilities←P0();
static void ReplaceBuffer←P60();
static void RealAssertBuffer←P120();
static void RealFlushBuffer←P180();
static word NoName←Q8400();
static void RealFineAssertBuffer←P300();
static void BadImplError←P360();
static void BInit←P480();
static void BInitPartial←P540();
static word PaddingBytes←P600();
static void ReportError←P660();
static word BuildDeadConnectionError←P720();
static void BuildAndPutDeadConnectionError←P780();
static void DoWithLocks←P840();
static word NoName←Q8460();
static void ContinueDirectRequest←P900();
static void StartDirectRequest←P960();
static void XlDebugOnCommand←P1020();
static void XlDebugOffCommand←P1080();
static word BRequestWithBlock←P1200();
static word BContinueWithBlock←P1260();
static void BPutBool←P1320();
static void BPutINT16←P1380();
static void BPutINT32as16←P1500();
static void BPutPixmap←P1560();
static void BPutColorMap←P1620();
static void BPutTime←P1680();
static void BPutVisual←P1740();
static void BPutCursor←P1800();
static void BPut0s←P1860();
static void BPutRope←P1920();
static word action←P3816();
static void BPutPaddedRope←P1980();
static word action←P3924();
static void DPutCARD16←P2040();
static void DPutCARD32←P2100();
static void DPutWindow←P2160();
static void DPutPad←P2220();
static void DPutPaddedRope←P2280();
static word GetExtensionCard16←P2340();
static word GetExtensionCard32←P2400();
static word GetTextCARD16←P2460();
static word GetTextCARD32←P2520();
static word ERead8←P2580();
static word ERead16←P2640();
static word ERead32←P2700();
static word EReadRope←P2760();
static word RopeFromRaw←P2820();
static word EachChar←P4080();
static void InternalRoundTrip←P2880();
static word RopeToString16←P2940();
static word P←P4140();
static void Flush←P3000();
static void action←P4200();
static void RoundTrip←P3060();
static void action←P4260();
static word SetButtonGrabOwner←P3120();
static void ClearButtonGrabOwner←P3180();
static void NoName←Q8520();
static void NoName←Q8580();
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[12];} string3 = {720908, "\205\210\242\000\117\237\210\241\000\100\377"};
static struct {unsigned f; char r[16];} string4 = {983056, "\255\216\257\300\351\276\264\273\300\115\104\320\264\123\364"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\106\104\000\000"};
static struct {unsigned f; char r[4];} string6 = {131076, "\216\251\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\123\320\000\000"};
static struct {unsigned f; char r[60];} string8 = {3801146, "\007\100\200\040\047\004\100\354\004\200\140\054\004\014\015\015\015\015\015\015\015\015\004\140\014\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\013\004\100\114\004\102\354\004\100\314\000"};
static struct {unsigned f; char r[4];} string9 = {196612, "bad"};
static struct {unsigned f; char r[12];} string10 = {655372, "whileFlush\000"};
static struct {unsigned f; char r[24];} string11 = {1376280, "readErrorFromProperty\000\000"};
static struct {unsigned f; char r[16];} string12 = {786448, "XlDebugX1Off\000\000\000"};
static struct {unsigned f; char r[8];} string13 = {458760, "XlDebug"};
static struct {unsigned f; char r[12];} string14 = {720908, "DebugStream"};
static struct {unsigned f; char r[20];} string15 = {1179668, "Internal debugging\000"};
static struct {unsigned f; char r[12];} string16 = {720908, "XlDebugX1On"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\063\246\113\117\300\025\171\121\007\100\200\000\000"};
static struct {unsigned f; char r[16];} string18 = {851981, "\006\004\024\001\030\001\034\001\100\144\004\100\377\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\373\225\000\071\300\362\156\307\320\100\150\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\277\374\326\303\300\302\136\022\175\100\150\000\000"};
static unsigned string24 = 1483472896;
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\337\070\153\303\300\227\216\321\214\100\150\000\000"};
static struct {unsigned f; char r[8];} string27 = {1483493490, "ivate"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\304\042\023\266\300\315\144\243\337\100\150\000\000"};
static struct {unsigned f; char r[32];} string29 = {1966112, "\211\022\021\103\157\156\156\145\143\164\151\157\156\120\162\151\166\141\164\145\300\351\276\264\273\300\115\104\320\264\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\012\063\155\016\300\130\140\234\375\100\164\000\000"};
static struct {unsigned f; char r[40];} string31 = {2424869, "\006\016\000\001\004\001\010\001\014\001\020\001\024\001\030\001\034\001\040\001\044\001\060\001\070\010\000\004\100\100\001\101\070\001\101\074\001\000\000"};
static struct {
   word f0[33]; word f33; word f34; word f35; 
   word f36; word f37; word f38; word f39; 
   word f40; word f41; word f42; word f43; 
   word f44; word f45; word f46; word f47; 
   word f48; word f49; word f50; word f51; 
   word f52; word f53; word f54; word f55; 
   word f56; word f57; word f58; word f59; 
   word f60; word f61; word f62; word f63; 
   word f64; word f65; word f66; word f67; 
   word f68; word f69; word f70; word f71; 
   word f72; word f73; word f74; word f75; 
   word f76; word f77; word f78; word f79; 
   word f80; word f81; word f82; word f83; 
   word f84; word f85; word f86; word f87; 
   word f88; word f89; word f90; word f91; 
   word f92; word f93; word f94; word f95; 
   word f96; word f97; word f98; word f99; 
   word f100; word f101; word f102; word f103; 
   word f104; word f105; word f106; word f107; 
   word f108; word f109; word f110; word f111; 
   word f112; word f113; word f114; word f115; 
   word f116; word f117; word f118; word f119; 
   word f120; word f121; word f122; word f123; 
   word f124; word f125; word f126; word f127; 
   word f128; word f129; word f130; word f131; 
   word f132[2]; word f134; word f135; word f136; 
   word f137[9]; 
   } globalframe = {
   {0}, (word) ClearButtonGrabOwner←P3180, 0, (word) SetButtonGrabOwner←P3120, 
   0, (word) RoundTrip←P3060, 0, (word) Flush←P3000, 
   0, (word) RopeToString16←P2940, 0, (word) InternalRoundTrip←P2880, 
   0, (word) RopeFromRaw←P2820, 0, (word) EReadRope←P2760, 
   0, (word) ERead32←P2700, 0, (word) ERead16←P2640, 
   0, (word) ERead8←P2580, 0, (word) GetTextCARD32←P2520, 
   0, (word) GetTextCARD16←P2460, 0, (word) GetExtensionCard32←P2400, 
   0, (word) GetExtensionCard16←P2340, 0, (word) DPutPaddedRope←P2280, 
   0, (word) DPutPad←P2220, 0, (word) DPutWindow←P2160, 
   0, (word) DPutCARD32←P2100, 0, (word) DPutCARD16←P2040, 
   0, (word) BPutPaddedRope←P1980, 0, (word) BPutRope←P1920, 
   0, (word) BPut0s←P1860, 0, (word) BPutCursor←P1800, 
   0, (word) BPutVisual←P1740, 0, (word) BPutTime←P1680, 
   0, (word) BPutColorMap←P1620, 0, (word) BPutPixmap←P1560, 
   0, (word) BPutINT32as16←P1500, 0, (word) BPutINT16←P1380, 
   0, (word) BPutBool←P1320, 0, (word) BContinueWithBlock←P1260, 
   0, (word) BRequestWithBlock←P1200, 0, (word) XlDebugOffCommand←P1080, 
   0, (word) XlDebugOnCommand←P1020, 0, (word) StartDirectRequest←P960, 
   0, (word) ContinueDirectRequest←P900, 0, (word) DoWithLocks←P840, 
   0, (word) BuildAndPutDeadConnectionError←P780, 0, (word) BuildDeadConnectionError←P720, 
   0, (word) ReportError←P660, 0, (word) PaddingBytes←P600, 
   0, (word) BInitPartial←P540, 0, (word) BInit←P480, 
   0, (word) BadImplError←P360, 0, (word) RealFineAssertBuffer←P300, 
   0, (word) RealFlushBuffer←P180, 0, (word) RealAssertBuffer←P120, 
   0, (word) ReplaceBuffer←P60, 0, (word) XlImplUtilities←P0, 
   {0}, (word) 3, (word) 2, (word) 1, 
   {0}
   };

static void NoName←Q8340()
   {
   register ptr gf←c0434 =  (ptr) &globalframe;
   word var←c53008;
   (* (( (ptr) gf←c0434)+11) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0434)+12) ) = (word) XR←GetTypeIndexS((word) (&string3));
   (* (( (ptr) gf←c0434)+14) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string2);
   (* (( (ptr) gf←c0434)+15) ) = (word) XR←GetTypeIndexS((word) (&string5));
   (* (( (ptr) gf←c0434)+16) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string2);
   (* (( (ptr) gf←c0434)+20) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (*  (ptr) (( (bPt) gf←c0434)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0434)+16) ), (word) &string9);
   (*  (ptr) (( (bPt) gf←c0434)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0434)+16) ), (word) &string10);
   (*  (ptr) (( (bPt) gf←c0434)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0434)+16) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c0434)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0434)+11) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c0434)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0434)+16) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c0434)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0434)+16) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0434)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0434)+11) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c0434)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0434)+11) ), (word) &string16);
   (void) XR←DeclareGlobalFrame((word) "XlImplUtilities", &globalframe, (word) XR←GetTypeIndex((word) &string17, 0, (word) &string18)
      , (word) (( (bPt) gf←c0434)+524)/* var←c50160 */ );
   var←c53008 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string19)), 16);
   (* (( (ptr) gf←c0434)+142)/* var←c51184 */  ) = var←c53008;
   (void) XR←ImportProcS(var←c53008, 788739);
   var←c53008 = (word) XR←ImportInterface((word) "Commander", (word) XR←GetTypeIndexS((word) (&string20)), 3);
   (* (( (ptr) gf←c0434)+138)/* var←c50288 */  ) = var←c53008;
   (void) XR←ImportProcS(var←c53008, 1310725);
   var←c53008 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string21)), 103);
   (* (( (ptr) gf←c0434)+140)/* var←c50480 */  ) = var←c53008;
   (void) XR←ImportProcS(var←c53008, 1071364);
   (void) XR←ImportProcS(var←c53008, 267521);
   (void) XR←ImportProcS(var←c53008, 1053698);
   var←c53008 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string22)), 43);
   (* (( (ptr) gf←c0434)+143)/* var←c51376 */  ) = var←c53008;
   (void) XR←ImportProcS(var←c53008, 67634434);
   (void) XR←ImportProcS(var←c53008, 67902211);
   (void) XR←ImportProcS(var←c53008, 68163076);
   (void) XR←ImportProcS(var←c53008, 67373569);
   var←c53008 = (word) XR←ImportInterface((word) "SafeStorage", (word) XR←GetTypeIndexS((word) (&string23)), 27);
   (* (( (ptr) gf←c0434)+137)/* var←c50256 */  ) = var←c53008;
   (void) XR←ImportProcS(var←c53008, 67109376);
   var←c53008 = (word) XR←ImportInterface((word) &string24, (word) XR←GetTypeIndexS((word) (&string25)), 218);
   (* (( (ptr) gf←c0434)+141)/* var←c50800 */  ) = var←c53008;
   (void) XR←ImportProcS(var←c53008, 67639298);
   (void) XR←ImportProcS(var←c53008, 792323);
   (void) XR←ImportProcS(var←c53008, 1063940);
   (void) XR←ImportProcS(var←c53008, 67910403);
   var←c53008 = (word) XR←ImportInterface((word) "XlDetails", (word) XR←GetTypeIndexS((word) (&string26)), 4);
   (* (( (ptr) gf←c0434)+144)/* var←c52848 */  ) = var←c53008;
   var←c53008 = (word) XR←ImportInterface((word) &string27, (word) XR←GetTypeIndexS((word) (&string28)), 77);
   (* (( (ptr) gf←c0434)+139)/* var←c50416 */  ) = var←c53008;
   (void) XR←ImportProcS(var←c53008, 540418);
   (void) XR←ImportProcS(var←c53008, 67385857);
   (void) XR←ImportProcS(var←c53008, 525314);
   (void) XR←ImportProcS(var←c53008, 526594);
   var←c53008 = (word) XR←ExportInterface((word) &string24, (word) XR←GetTypeIndexS((word) (&string25)), 218);
   (* (( (ptr) gf←c0434)+145)/* var←c53040 */  ) = var←c53008;
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+156)/* var←c48688 */ , 534274, (word) "Flush");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+148)/* var←c48656 */ , 534530, (word) "RoundTrip");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+140)/* var←c48624 */ , 67924739, (word) "SetButtonGrabOwner")
   ;
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+132)/* var←c48592 */ , 553986, (word) "ClearButtonGrabOwner")
   ;
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+164)/* var←c48720 */ , 67414529, (word) "RopeToString16");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+244)/* var←c49040 */ , 67685890, (word) "GetExtensionCard16")
   ;
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+236)/* var←c49008 */ , 67686146, (word) "GetExtensionCard32")
   ;
   (void) XR←ExportType((word) "ConnectionPrivate", (word) XR←GetTypeIndexS((word) (&string29)), (word) XR←GetTypeIndex((word) &string30, 0, (word) &string31)
      );
   var←c53008 = (word) XR←ExportInterface((word) &string27, (word) XR←GetTypeIndexS((word) (&string28)), 77);
   (* (( (ptr) gf←c0434)+145)/* var←c53040 */  ) = var←c53008;
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+484)/* var←c50000 */ , 262145, (word) "BadImplError");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+460)/* var←c49904 */ , 67371265, (word) "PaddingBytes");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+428)/* var←c49776 */ , 786947, (word) "DoWithLocks");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+508)/* var←c50096 */ , 525314, (word) "RealAssertBuffer");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+492)/* var←c50032 */ , 525826, (word) "RealFineAssertBuffer")
   ;
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+500)/* var←c50064 */ , 526594, (word) "RealFlushBuffer");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+476)/* var←c49968 */ , 1051908, (word) "BInit");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+468)/* var←c49936 */ , 1314309, (word) "BInitPartial");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+308)/* var←c49296 */ , 529154, (word) "BPut0s");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+372)/* var←c49552 */ , 529410, (word) "BPutBool");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+364)/* var←c49520 */ , 529666, (word) "BPutINT16");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+356)/* var←c49488 */ , 529922, (word) "BPutINT32as16");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+348)/* var←c49456 */ , 531202, (word) "BPutPixmap");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+340)/* var←c49424 */ , 531458, (word) "BPutColorMap");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+332)/* var←c49392 */ , 531714, (word) "BPutTime");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+324)/* var←c49360 */ , 531970, (word) "BPutVisual");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+316)/* var←c49328 */ , 532226, (word) "BPutCursor");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+292)/* var←c49232 */ , 1057028, (word) "BPutPaddedRope");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+300)/* var←c49264 */ , 1057284, (word) "BPutRope");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+380)/* var←c49584 */ , 67642114, (word) "BContinueWithBlock")
   ;
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+388)/* var←c49616 */ , 68166660, (word) "BRequestWithBlock");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+420)/* var←c49744 */ , 272129, (word) "ContinueDirectRequest")
   ;
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+412)/* var←c49712 */ , 1058820, (word) "StartDirectRequest");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+284)/* var←c49200 */ , 535042, (word) "DPutCARD16");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+276)/* var←c49168 */ , 535554, (word) "DPutCARD32");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+268)/* var←c49136 */ , 535810, (word) "DPutWindow");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+252)/* var←c49072 */ , 1060612, (word) "DPutPaddedRope");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+260)/* var←c49104 */ , 536578, (word) "DPutPad");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+228)/* var←c48976 */ , 67645698, (word) "GetTextCARD16");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+220)/* var←c48944 */ , 67645954, (word) "GetTextCARD32");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+172)/* var←c48752 */ , 276481, (word) "InternalRoundTrip");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+180)/* var←c48784 */ , 67909891, (word) "RopeFromRaw");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+212)/* var←c48912 */ , 67389697, (word) "ERead8");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+204)/* var←c48880 */ , 67389953, (word) "ERead16");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+196)/* var←c48848 */ , 67390209, (word) "ERead32");
   (void) XR←ExportProcS(var←c53008, (word) (( (bPt) gf←c0434)+188)/* var←c48816 */ , 67390465, (word) "EReadRope");
   }

static void XlImplUtilities←P0(formal←c071, formal←c070)
   word formal←c071;
   word formal←c070;
   {
   register ptr gf←c53072 =  (ptr) &globalframe;
   /* XlImplUtilities: */ 
SOURCE(120, 14002)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
SOURCE(13924, 45)
SOURCE(13925, 44)
   {
      word pd32;
      pd32 = (* (( (ptr) (* (( (ptr) gf←c53072)+137)/* var←c50256 */  ))+6) );
      (* (( (ptr) gf←c53072)+5)/* untracedZone←v3084 */  ) = (word) ( *( (fPt) ((*  (ptr) pd32 ))))(pd32);
      };
SOURCE(13972, 73)
   {
      word pd33;
      pd33 = (* (( (ptr) (* (( (ptr) gf←c53072)+138)/* var←c50288 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd33 ))))((* (( (ptr) gf←c53072)+32) ), (word) (( (bPt) gf←c53072)+404)/* var←c49680 */ , (* (
            ( (ptr) gf←c53072)+31) ), 0, 1, pd33);
      };
SOURCE(14047, 75)
   {
      word pd34;
      pd34 = (* (( (ptr) (* (( (ptr) gf←c53072)+138)/* var←c50288 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd34 ))))((* (( (ptr) gf←c53072)+28) ), (word) (( (bPt) gf←c53072)+396)/* var←c49648 */ , (* (
            ( (ptr) gf←c53072)+31) ), 0, 1, pd34);
      };
   }

static void ReplaceBuffer←P60(c←v4796, bytes←v4824)
   word c←v4796;
   word bytes←v4824;
   {
   register ptr gf←c53104 =  (ptr) &globalframe;
   word text←v10480 = 0;
   word buf←v10508;
   /* ReplaceBuffer: */ 
SOURCE(587, 565)
SOURCE(732, 36)
   {
      word x35;
      word x36;
      bytes←v4824 = (x35 = MAX( (unsigned) , bytes←v4824, 1000),
         x36 = (* (( (ptr) c←v4796)+6) ),
         MAX( (unsigned) , x35, x36));
      };
SOURCE(770, 55)
   {
      word var←c50320;
      word var←c50352;
      word var←c50384;
      {
         word idx37;
         var←c50320 = (
            idx37 = (word) ((word) (bytes←v4824 + 3) >> 2),
            BCK(idx37, 67108863)
            );
         };
      var←c50352 = ((word) var←c50320 << 2);
      {
         word pd38;
         pd38 = (*  (ptr) (* (( (ptr) gf←c53104)+5)/* untracedZone←v3084 */  ) );
         var←c50384 = (word) ( *( (fPt) ((*  (ptr) pd38 ))))((* (( (ptr) gf←c53104)+5)/* untracedZone←v3084 */  ), (4 + var←c50352), (* (
               ( (ptr) gf←c53104)+15) ), pd38);
         };
      (*  (ptr) var←c50384 ) = var←c50320;
      text←v10480 = var←c50384;
      };
SOURCE(835, 65)
SOURCE(836, 64)
   buf←v10508 = (text←v10480 + 4);
SOURCE(903, 191)
   if (((* (( (ptr) c←v4796)+4) ) != 0)) {
SOURCE(925, 43)
      if ((((* (( (ptr) c←v4796)+4) ) & 3) != 0)) {
SOURCE(953, 15)
         (void) BadImplError←P360(c←v4796);
         };
SOURCE(1001, 93)
SOURCE(1003, 91)
      (void) Basics←MoveWords(buf←v10508, (* (( (ptr) c←v4796)+7) ), ((* (( (ptr) c←v4796)+4) ) >> 2));
      };
SOURCE(1100, 11)
   (* (( (ptr) c←v4796)+7) ) = buf←v10508;
SOURCE(1113, 18)
   (* (( (ptr) c←v4796)+6) ) = bytes←v4824;
SOURCE(1133, 19)
   (* (( (ptr) c←v4796)+8) ) = text←v10480;
   }

static void RealAssertBuffer←P120(c←v4884, bytes←v4912)
   word c←v4884;
   word bytes←v4912;
   {
   register ptr gf←c53136 =  (ptr) &globalframe;
   /* RealAssertBuffer: */ 
SOURCE(1158, 280)
SOURCE(1234, 34)
   {
      word pd39;
      if (((* (( (ptr) c←v4884)+5) ) != 0)) {
         pd39 = (* (( (ptr) (* (( (ptr) gf←c53136)+139)/* var←c50416 */  ))+13) );
         (void) ( *( (fPt) ((*  (ptr) pd39 ))))(c←v4884, 1, pd39);
         };
      };
SOURCE(1270, 96)
   if (((* (( (ptr) c←v4884)+14) ) != 0)) {
SOURCE(1297, 69)
      if ((((* (( (ptr) c←v4884)+6) ) - (* (( (ptr) c←v4884)+4) )) < bytes←v4912)) {
SOURCE(1336, 14)
         (* (( (ptr) c←v4884)+5) ) = 0;
SOURCE(1353, 13)
         (* (( (ptr) c←v4884)+4) ) = 0;
         };
      };
SOURCE(1375, 63)
   if ((((* (( (ptr) c←v4884)+6) ) - (* (( (ptr) c←v4884)+4) )) < bytes←v4912)) {
SOURCE(1414, 24)
      (void) ReplaceBuffer←P60(c←v4884, bytes←v4912);
      };
   }

static void RealFlushBuffer←P180(formal←c0490, formal←c0491)
   word formal←c0490;
   word formal←c0491;
   {
   W6 var←c53168;
   /* declaration of c←v4972 skipped */ 
   /* declaration of delay←v5000 skipped */ 
   var←c53168.f4/* c←v4972 */  = formal←c0490;
   var←c53168.f5/* delay←v5000 */  = formal←c0491;
   /* RealFlushBuffer: */ 
SOURCE(1445, 677)
SOURCE(1526, 596)
SOURCE(1528, 570)
   {
      word var←c01;
      {
         word var←c0472;
         var←c0472 = (word) &var←c53168;
         var←c01 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8400) ), ( ((word)  (fPt) NoName←Q8580) ), var←c0472);
         };
      if ((var←c01 == 2)) {
         goto lab←L100000;
         };
      };
   goto lab←L100003;
   lab←L100000: ;
   lab←L100003: ;
   }

static word NoName←Q8400(formal←c0439)
   word formal←c0439;
   {
   register ptr gf←c0438 =  (ptr) &globalframe;
SOURCE(1616, 24)
   {
      word ready←v10612;
SOURCE(1616, 24)
      ready←v10612 = (* (( (ptr) (* (( (ptr) formal←c0439)+4) ))+5) );
SOURCE(1642, 65)
      if (((* (( (ptr) (* (( (ptr) formal←c0439)+4) ))+4) ) != (* (( (ptr) (* (( (ptr) formal←c0439)+4) ))+9) )) || ((* (( (ptr) (* (
            ( (ptr) formal←c0439)+4) ))+10) ) != 0)) {
SOURCE(1692, 15)
         (void) BadImplError←P360((* ((( (ptr) formal←c0439)+4)) ));
         };
SOURCE(1710, 39)
      if (((* (( (ptr) (* (( (ptr) formal←c0439)+4) ))+4) ) != ready←v10612)) {
SOURCE(1734, 15)
         (void) BadImplError←P360((* ((( (ptr) formal←c0439)+4)) ));
         };
SOURCE(1776, 39)
      if (((ready←v10612 & 3) != 0)) {
SOURCE(1800, 15)
         (void) BadImplError←P360((* ((( (ptr) formal←c0439)+4)) ));
         };
SOURCE(1840, 89)
      {
         W3 var←c50448;
         var←c50448.f0 = (* (( (ptr) (* (( (ptr) formal←c0439)+4) ))+7) );
         var←c50448.f1 = 0;
         var←c50448.f2 = ready←v10612;
         {
            word pd40;
            pd40 = (* (( (ptr) (* (( (ptr) gf←c0438)+140)/* var←c50480 */  ))+24) );
            (void) ( *( (fPt) ((*  (ptr) pd40 ))))((* (( (ptr) (* (( (ptr) formal←c0439)+4) ))+31) ), var←c50448, pd40);
            };
         };
SOURCE(1931, 14)
      (* (( (ptr) (* (( (ptr) formal←c0439)+4) ))+5) ) = 0;
SOURCE(1948, 35)
      (* (( (ptr) (* (( (ptr) formal←c0439)+4) ))+9) ) = ((* (( (ptr) (* (( (ptr) formal←c0439)+4) ))+9) ) - ready←v10612);
SOURCE(1985, 27)
      (* (( (ptr) (* (( (ptr) formal←c0439)+4) ))+4) ) = ((* (( (ptr) (* (( (ptr) formal←c0439)+4) ))+4) ) - ready←v10612);
SOURCE(2014, 84)
      if ((0 != (* (( (ptr) formal←c0439)+5) ))) {
SOURCE(2029, 27)
         (* (( (ptr) (* (( (ptr) formal←c0439)+4) ))+35) ) = 1;
         }
      else {
SOURCE(2058, 22)
         (* (( (ptr) (* (( (ptr) formal←c0439)+4) ))+35) ) = 0;
SOURCE(2082, 16)
         {
            word pd41;
            pd41 = (* (( (ptr) (* (( (ptr) gf←c0438)+140)/* var←c50480 */  ))+25) );
            (void) ( *( (fPt) ((*  (ptr) pd41 ))))((* ((( (ptr) (* (( (ptr) formal←c0439)+4) ))+31)) ), pd41);
            };
         };
      };
   return(0);
   }

static void RealFineAssertBuffer←P300(c←v5120, bytes←v5148)
   word c←v5120;
   word bytes←v5148;
   {
   register ptr gf←c53200 =  (ptr) &globalframe;
   /* RealFineAssertBuffer: */ 
SOURCE(2456, 150)
SOURCE(2523, 18)
   {
      word c←v45192;
      c←v45192 = c←v5120;
      {
         word cnt←v10656;
         cnt←v10656 = (* (( (ptr) c←v45192)+4) );
SOURCE(2211, 37)
         if (((cnt←v10656 & 3) != 0)) {
SOURCE(2233, 15)
            (void) BadImplError←P360(c←v45192);
            };
SOURCE(2273, 87)
         {
            W3 var←c50512;
            var←c50512.f0 = (* (( (ptr) c←v45192)+7) );
            var←c50512.f1 = 0;
            var←c50512.f2 = cnt←v10656;
            {
               word pd42;
               pd42 = (* (( (ptr) (* (( (ptr) gf←c53200)+140)/* var←c50480 */  ))+24) );
               (void) ( *( (fPt) ((*  (ptr) pd42 ))))((* (( (ptr) c←v45192)+31) ), var←c50512, pd42);
               };
            };
SOURCE(2362, 21)
         (* (( (ptr) c←v45192)+35) ) = 1;
SOURCE(2386, 14)
         (* (( (ptr) c←v45192)+5) ) = 0;
SOURCE(2402, 13)
         (* (( (ptr) c←v45192)+4) ) = 0;
SOURCE(2417, 33)
         (* (( (ptr) c←v45192)+9) ) = ((* (( (ptr) c←v45192)+9) ) - cnt←v10656);
         };
      };
SOURCE(2543, 63)
   if ((((* (( (ptr) c←v5120)+6) ) - (* (( (ptr) c←v5120)+4) )) < bytes←v5148)) {
SOURCE(2582, 24)
      (void) ReplaceBuffer←P60(c←v5120, bytes←v5148);
      };
   }

static void BadImplError←P360(c←v5208)
   word c←v5208;
   {
   register ptr gf←c53232 =  (ptr) &globalframe;
   word lastOpCode←v10684;
   /* BadImplError: */ 
SOURCE(2613, 165)
SOURCE(2659, 31)
   lastOpCode←v10684 = (* (( (ptr) c←v5208)+11) );
SOURCE(2692, 23)
   if ((0 == (* (( (ptr) c←v5208)+15) ))) {
SOURCE(2709, 6)
      return;
      };
SOURCE(2717, 44)
   if (((* (( (ptr) c←v5208)+14) ) == 0)) {
SOURCE(2742, 19)
      (* (( (ptr) c←v5208)+14) ) = (* (( (ptr) gf←c53232)+25) );
      };
SOURCE(2763, 15)
   (* (( (ptr) c←v5208)+15) ) = 0;
SOURCE(2805, 5)
   (void) XR←RaiseUnnamedError();
   }

static void BInit←P480(c←v5440, opCode←v5468, minor←v5496, length←v5524)
   word c←v5440;
   word opCode←v5468;
   word minor←v5496;
   word length←v5524;
   {
   register ptr gf←c53264 =  (ptr) &globalframe;
   /* BInit: */ 
SOURCE(3216, 145)
SOURCE(3299, 62)
   {
      word c←v45456;
      word opCode←v45484;
      word minor←v45512;
      word length←v45540;
      word assertBytes←v45568;
      c←v45456 = c←v5440;
      opCode←v45484 = opCode←v5468;
      minor←v45512 = minor←v5496;
      length←v45540 = ( (((unsigned)length←v5524 << 16) >> 16) );
      {
         word idx43;
         assertBytes←v45568 = (
            idx43 = (word) IOP2( * ,  (int)length←v5524,  (int)4),
            SGNCK(idx43)
            );
         };
      {
         word start←v10728;
         word p←v10756;
         p←v10756 = (* (( (ptr) c←v45456)+7) );
SOURCE(2977, 45)
SOURCE(6854, 50)
         if ((opCode←v45484 == 0)) {
SOURCE(6889, 15)
            (void) BadImplError←P360(c←v45456);
            };
SOURCE(6906, 78)
         if ((((* (( (ptr) c←v45456)+4) ) + (* (( (ptr) c←v45456)+10) )) != (* (( (ptr) c←v45456)+9) ))) {
SOURCE(6969, 15)
            (void) BadImplError←P360(c←v45456);
            };
SOURCE(6986, 38)
         {
            word pd44;
            if ((((* (( (ptr) c←v45456)+6) ) - (* (( (ptr) c←v45456)+4) )) < assertBytes←v45568)) {
               pd44 = (* (( (ptr) (* (( (ptr) gf←c53264)+139)/* var←c50416 */  ))+8) );
               (void) ( *( (fPt) ((*  (ptr) pd44 ))))(c←v45456, assertBytes←v45568, pd44);
               };
            };
SOURCE(7026, 53)
         {
            word var←c50544;
            word n←v48544;
            n←v48544 = ((* (( (ptr) c←v45456)+13) ) + 1);
            var←c50544 = ( (((unsigned)n←v48544 << 16) >> 16) );
            (* (( (ptr) c←v45456)+13) ) = var←c50544;
            };
SOURCE(7081, 360)
         if ((0 != (* (( (ptr) gf←c53264)+4)/* checkSpreitzer←v3028 */  ))) {
            {
               word cPriv←v45852;
               cPriv←v45852 = (* (( (ptr) c←v45456)+24) );
SOURCE(7168, 273)
               {
                  word var←c50576;
                  var←c50576 = (* (( (ptr) cPriv←v45852)+79) );
                  if ((var←c50576 == 0)) {
                     goto lab←L100005;
                     };
                  if (((* (( (ptr) gf←c53264)+12) ) == XR←GetReferentType(var←c50576))) {
                     {
                        word rd←v45896;
                        rd←v45896 = var←c50576;
SOURCE(7219, 47)
                        (* (( (ptr) (
/*1*/   NCK((*  (bPt) rd←v45896 )),
/*1*/   rd←v45896
/*1*/   ))+((* (( (ptr) c←v45456)+13) ) % 4000)) ) = opCode←v45484;
                        };
                     }
                  else {
                     lab←L100005: ;
                     {
                        word rd←v45940;
                        rd←v45940 = XR←NewObject(16000, (* (( (ptr) gf←c53264)+12) ));
SOURCE(7321, 16)
                        (* (( (ptr) cPriv←v45852)+79) ) = rd←v45940;
SOURCE(7339, 47)
                        (* (( (ptr) (
/*1*/   NCK((*  (bPt) rd←v45940 )),
/*1*/   rd←v45940
/*1*/   ))+((* (( (ptr) c←v45456)+13) ) % 4000)) ) = opCode←v45484;
SOURCE(7389, 31)
                        (* (( (ptr) gf←c53264)+6)/* prevDebugArray←v3644 */  ) = (* (( (ptr) gf←c53264)+7)/* lastDebugArray←v3672 */  );
SOURCE(7422, 19)
                        (* (( (ptr) gf←c53264)+7)/* lastDebugArray←v3672 */  ) = rd←v45940;
                        };
                     };
                  };
               };
            };
SOURCE(3024, 17)
         start←v10728 = (* (( (ptr) c←v45456)+4) );
SOURCE(3051, 71)
SOURCE(3053, 69)
         (* (( (ptr) p←v10756)+((word) start←v10728 >> 2)) ) = (((word) (((word)  (unsigned) (opCode←v45484 & 0377) << 8) +  (unsigned) (minor←v45512 & 0377)) << 16) + 
          (unsigned) ( (((unsigned)length←v45540 << 16) >> 16) ));
SOURCE(3125, 19)
         (* (( (ptr) c←v45456)+4) ) = (start←v10728 + 4);
SOURCE(3146, 30)
         (* (( (ptr) c←v45456)+9) ) = (start←v10728 + ((word) length←v45540 << 2));
SOURCE(3194, 16)
         (* (( (ptr) c←v45456)+10) ) = 0;
         };
      };
   }

static void BInitPartial←P540(c←v5584, opCode←v5612, minor←v5640, length←v5668, assertBytes←v5696)
   word c←v5584;
   word opCode←v5612;
   word minor←v5640;
   word length←v5668;
   word assertBytes←v5696;
   {
   register ptr gf←c53296 =  (ptr) &globalframe;
   /* BInitPartial: */ 
SOURCE(3365, 174)
SOURCE(3474, 65)
   {
      word c←v45240;
      word opCode←v45268;
      word minor←v45296;
      word length←v45324;
      word assertBytes←v45352;
      c←v45240 = c←v5584;
      opCode←v45268 = opCode←v5612;
      minor←v45296 = minor←v5640;
      length←v45324 = ( (((unsigned)length←v5668 << 16) >> 16) );
      assertBytes←v45352 = assertBytes←v5696;
      {
         word start←v45384;
         word p←v45412;
         p←v45412 = (* (( (ptr) c←v45240)+7) );
SOURCE(2977, 45)
SOURCE(6854, 50)
         if ((opCode←v45268 == 0)) {
SOURCE(6889, 15)
            (void) BadImplError←P360(c←v45240);
            };
SOURCE(6906, 78)
         if ((((* (( (ptr) c←v45240)+4) ) + (* (( (ptr) c←v45240)+10) )) != (* (( (ptr) c←v45240)+9) ))) {
SOURCE(6969, 15)
            (void) BadImplError←P360(c←v45240);
            };
SOURCE(6986, 38)
         {
            word pd45;
            if ((((* (( (ptr) c←v45240)+6) ) - (* (( (ptr) c←v45240)+4) )) < assertBytes←v45352)) {
               pd45 = (* (( (ptr) (* (( (ptr) gf←c53296)+139)/* var←c50416 */  ))+8) );
               (void) ( *( (fPt) ((*  (ptr) pd45 ))))(c←v45240, assertBytes←v45352, pd45);
               };
            };
SOURCE(7026, 53)
         {
            word var←c50672;
            word n←v48448;
            n←v48448 = ((* (( (ptr) c←v45240)+13) ) + 1);
            var←c50672 = ( (((unsigned)n←v48448 << 16) >> 16) );
            (* (( (ptr) c←v45240)+13) ) = var←c50672;
            };
SOURCE(7081, 360)
         if ((0 != (* (( (ptr) gf←c53296)+4)/* checkSpreitzer←v3028 */  ))) {
            {
               word cPriv←v11252;
               cPriv←v11252 = (* (( (ptr) c←v45240)+24) );
SOURCE(7168, 273)
               {
                  word var←c50704;
                  var←c50704 = (* (( (ptr) cPriv←v11252)+79) );
                  if ((var←c50704 == 0)) {
                     goto lab←L100007;
                     };
                  if (((* (( (ptr) gf←c53296)+12) ) == XR←GetReferentType(var←c50704))) {
                     {
                        word rd←v11292;
                        rd←v11292 = var←c50704;
SOURCE(7219, 47)
                        (* (( (ptr) (
/*1*/   NCK((*  (bPt) rd←v11292 )),
/*1*/   rd←v11292
/*1*/   ))+((* (( (ptr) c←v45240)+13) ) % 4000)) ) = opCode←v45268;
                        };
                     }
                  else {
                     lab←L100007: ;
                     {
                        word rd←v11332;
                        rd←v11332 = XR←NewObject(16000, (* (( (ptr) gf←c53296)+12) ));
SOURCE(7321, 16)
                        (* (( (ptr) cPriv←v11252)+79) ) = rd←v11332;
SOURCE(7339, 47)
                        (* (( (ptr) (
/*1*/   NCK((*  (bPt) rd←v11332 )),
/*1*/   rd←v11332
/*1*/   ))+((* (( (ptr) c←v45240)+13) ) % 4000)) ) = opCode←v45268;
SOURCE(7389, 31)
                        (* (( (ptr) gf←c53296)+6)/* prevDebugArray←v3644 */  ) = (* (( (ptr) gf←c53296)+7)/* lastDebugArray←v3672 */  );
SOURCE(7422, 19)
                        (* (( (ptr) gf←c53296)+7)/* lastDebugArray←v3672 */  ) = rd←v11332;
                        };
                     };
                  };
               };
            };
SOURCE(3024, 17)
         start←v45384 = (* (( (ptr) c←v45240)+4) );
SOURCE(3051, 71)
SOURCE(3053, 69)
         (* (( (ptr) p←v45412)+((word) start←v45384 >> 2)) ) = (((word) (((word)  (unsigned) (opCode←v45268 & 0377) << 8) +  (unsigned) (minor←v45296 & 0377)) << 16) + 
          (unsigned) ( (((unsigned)length←v45324 << 16) >> 16) ));
SOURCE(3125, 19)
         (* (( (ptr) c←v45240)+4) ) = (start←v45384 + 4);
SOURCE(3146, 30)
         (* (( (ptr) c←v45240)+9) ) = (start←v45384 + ((word) length←v45324 << 2));
SOURCE(3194, 16)
         (* (( (ptr) c←v45240)+10) ) = 0;
         };
      };
   }

static word PaddingBytes←P600(n←v5756)
   word n←v5756;
   {
   register ptr gf←c53328 =  (ptr) &globalframe;
   word var←c5800;
   /* PaddingBytes: */ 
SOURCE(3561, 75)
SOURCE(3614, 22)
   {
      word idx46;
      return((* ((( (ptr) gf←c53328)+133)/* var←c50224 */ +(
            idx46 = (word) IOP2( % ,  (int)n←v5756,  (int)4),
            BCK(idx46, 4)
            )) ));
      };
   }

static void ReportError←P660(c←v5896, errorMatch←v5924, err←v5952)
   word c←v5896;
   word errorMatch←v5924;
   word err←v5952;
   {
   register ptr gf←c53360 =  (ptr) &globalframe;
   /* ReportError: */ 
SOURCE(3681, 290)
SOURCE(3764, 17)
   (* (( (ptr) c←v5896)+41) ) = err←v5952;
SOURCE(3783, 188)
   if ((errorMatch←v5924 != 0)) {
SOURCE(3806, 167)
      {
         W4 mr←v10784;
SOURCE(3808, 29)
         mr←v10784 = (*  (W4Pt) errorMatch←v5924 );
SOURCE(3839, 26)
         if ((mr←v10784.f0 == 0)) {
SOURCE(3859, 6)
            return;
            };
SOURCE(3867, 39)
         if ((mr←v10784.f2 == 0)) {
SOURCE(3885, 21)
            {
               word pd47;
               pd47 = (* (( (ptr) (* (( (ptr) gf←c53360)+141)/* var←c50800 */  ))+63) );
               mr←v10784.f2 = (word) ( *( (fPt) ((*  (ptr) pd47 ))))(0, 0, 0, pd47);
               };
            };
SOURCE(3908, 63)
         {
            word pd48;
            pd48 = (* (( (ptr) (* (( (ptr) gf←c53360)+141)/* var←c50800 */  ))+64) );
            (void) ( *( (fPt) ((*  (ptr) pd48 ))))(mr←v10784.f2, mr←v10784.f0, mr←v10784.f3, err←v5952, pd48);
            };
         };
      };
   }

static word BuildDeadConnectionError←P720(c←v6012)
   word c←v6012;
   {
   register ptr gf←c53392 =  (ptr) &globalframe;
   word var←c6056;
   word err←v10828;
   /* BuildDeadConnectionError: */ 
SOURCE(3980, 256)
SOURCE(4069, 57)
   err←v10828 = XR←NewObject(60, (* (( (ptr) gf←c53392)+20) ));
   (* (( (ptr) err←v10828)+4) ) = 1;
SOURCE(4128, 18)
   (* (( (ptr) err←v10828)+2) ) = c←v6012;
SOURCE(4148, 41)
   (* (( (ptr) err←v10828)+6) ) = 255;
SOURCE(4191, 31)
   if ((c←v6012 != 0)) {
SOURCE(4205, 17)
      (* (( (ptr) c←v6012)+41) ) = err←v10828;
      };
SOURCE(4224, 12)
   return(err←v10828);
   }

static void BuildAndPutDeadConnectionError←P780(c←v6128)
   word c←v6128;
   {
   register ptr gf←c53424 =  (ptr) &globalframe;
   word x←v10884;
   /* BuildAndPutDeadConnectionError: */ 
SOURCE(4242, 208)
SOURCE(4301, 57)
   x←v10884 = (word) BuildDeadConnectionError←P720(c←v6128);
SOURCE(4360, 90)
   if ((c←v6128 != 0)) {
SOURCE(4376, 74)
      {
         word var←c50864;
         {
            word var←c50896;
            var←c50896 = XR←NewObject(4, (* (( (ptr) gf←c53424)+14) ));
            (*  (ptr) var←c50896 ) = x←v10884;
            var←c50864 = var←c50896;
            };
         {
            word pd49;
            pd49 = (* (( (ptr) (* (( (ptr) gf←c53424)+141)/* var←c50800 */  ))+27) );
            (void) ( *( (fPt) ((*  (ptr) pd49 ))))(c←v6128, (* (( (ptr) gf←c53424)+27) ), var←c50864, pd49);
            };
         };
      };
   }

static void DoWithLocks←P840(formal←c0492, formal←c0493, details←v6244)
   word formal←c0492;
   word formal←c0493;
   word details←v6244;
   {
   W6 var←c53456;
   /* declaration of c←v6188 skipped */ 
   /* declaration of action←v6216 skipped */ 
   register ptr gf←c53488 =  (ptr) &globalframe;
   word var←c50960;
   word var←c50992;
   word var←c51056;
   word var←c51088;
   var←c53456.f4/* c←v6188 */  = formal←c0492;
   var←c53456.f5/* action←v6216 */  = formal←c0493;
   /* DoWithLocks: */ 
SOURCE(4459, 1557)
   (void) (XR←MonitorEntry(var←c53456.f4/* c←v6188 */ ));
SOURCE(4559, 1457)
SOURCE(4561, 528)
   {
      word var←c02;
      {
         word var←c0473;
         var←c0473 = (word) &var←c53456;
         var←c02 = (word) XR←Enable(( ((word)  (fPt) NoName←Q8460) ), ( ((word)  (fPt) NoName←Q8520) ), var←c0473);
         };
      if ((var←c02 == 4)) {
         goto lab←L100009;
         }
      else {
         if ((var←c02 == 3)) {
            goto lab←L100008;
            };
         };
      };
   goto lab←L100012;
   lab←L100008: ;
   if ((details←v6244 == 0)) {
SOURCE(5183, 6)
      (void) (XR←MonitorExit(var←c53456.f4/* c←v6188 */ ));
      return;
      }
   else {
      if (((* (( (ptr) details←v6244)+2) ) == 1) || (0 != (* (( (ptr) details←v6244)+1) ))) {
SOURCE(5244, 101)
         {
            word error←v10996;
SOURCE(5246, 61)
            error←v10996 = (word) BuildDeadConnectionError←P720(var←c53456.f4/* c←v6188 */ );
SOURCE(5309, 34)
            var←c50960 = (* (( (ptr) (* (( (ptr) gf←c53488)+141)/* var←c50800 */  ))+4) );
            var←c50992 = (word) error←v10996;
            (void) (XR←MonitorExit(var←c53456.f4/* c←v6188 */ ));
            goto lab←L100013;
            };
         }
      else {
         if (((* (( (ptr) details←v6244)+2) ) == 0)) {
SOURCE(5378, 6)
            (void) (XR←MonitorExit(var←c53456.f4/* c←v6188 */ ));
            return;
            }
         else {
            if (((* (( (ptr) details←v6244)+2) ) == 2)) {
SOURCE(5420, 108)
               {
                  word error←v11052;
SOURCE(5422, 61)
                  error←v11052 = (word) BuildDeadConnectionError←P720(var←c53456.f4/* c←v6188 */ );
SOURCE(5485, 41)
                  (void) ReportError←P660(var←c53456.f4/* c←v6188 */ , (* (( (ptr) details←v6244)+3) ), error←v11052);
                  };
               }
            else {
SOURCE(5542, 5)
               (void) XR←RaiseUnnamedError();
               };
            };
         };
      };
   goto lab←L100012;
   lab←L100009: ;
SOURCE(5579, 390)
   {
      word var←c51024;
      {
         word pd50;
         pd50 = (* (( (ptr) (* (( (ptr) gf←c53488)+141)/* var←c50800 */  ))+28) );
         var←c51024 = (word) ( *( (fPt) ((*  (ptr) pd50 ))))(var←c53456.f4/* c←v6188 */ , (* (( (ptr) gf←c53488)+27) ), pd50);
         };
      if ((var←c51024 == 0)) {
         goto lab←L100014;
         };
      if (((* (( (ptr) gf←c53488)+14) ) == XR←GetReferentType(var←c51024))) {
         {
            word refError←v11108;
            refError←v11108 = var←c51024;
SOURCE(5678, 314)
            {
               word error←v11164;
SOURCE(5680, 38)
               error←v11164 = (*  (ptr) refError←v11108 );
               if ((details←v6244 == 0)) {
SOURCE(5752, 6)
                  (void) (XR←MonitorExit(var←c53456.f4/* c←v6188 */ ));
                  return;
                  }
               else {
                  if (((* (( (ptr) details←v6244)+2) ) == 1) || (0 != (* (( (ptr) details←v6244)+1) ))) {
SOURCE(5815, 34)
                     var←c51056 = (* (( (ptr) (* (( (ptr) gf←c53488)+141)/* var←c50800 */  ))+4) );
                     var←c51088 = (word) error←v11164;
                     (void) (XR←MonitorExit(var←c53456.f4/* c←v6188 */ ));
                     goto lab←L100015;
                     }
                  else {
                     if (((* (( (ptr) details←v6244)+2) ) == 0)) {
SOURCE(5884, 6)
                        (void) (XR←MonitorExit(var←c53456.f4/* c←v6188 */ ));
                        return;
                        }
                     else {
                        if (((* (( (ptr) details←v6244)+2) ) == 2)) {
SOURCE(5928, 41)
                           (void) ReportError←P660(var←c53456.f4/* c←v6188 */ , (* (( (ptr) details←v6244)+3) ), error←v11164);
                           }
                        else {
SOURCE(5985, 5)
                           (void) XR←RaiseUnnamedError();
                           };
                        };
                     };
                  };
               };
            };
         }
      else {
         lab←L100014: ;
SOURCE(6006, 5)
         (void) XR←RaiseUnnamedError();
         };
      };
   lab←L100012: ;
SOURCE(4459, 1557)
   (void) (XR←MonitorExit(var←c53456.f4/* c←v6188 */ ));
   return;
   /* c2c skipped dead code */ 
   lab←L100013: ;
SOURCE(5309, 34)
   {
      word var←c0152;
      var←c0152 = var←c50992;
      (void) XR←RaiseError(var←c50960, (word) &var←c0152);
      };
   lab←L100015: ;
SOURCE(5815, 34)
   {
      word var←c0153;
      var←c0153 = var←c51088;
      (void) XR←RaiseError(var←c51056, (word) &var←c0153);
      };
   }

static word NoName←Q8460(formal←c0449)
   word formal←c0449;
   {
SOURCE(5007, 17)
   if ((0 == (* (( (ptr) (* (( (ptr) formal←c0449)+4) ))+15) ))) {
SOURCE(5024, 26)
      return(3);
      };
SOURCE(5053, 9)
   {
      word pd51;
      pd51 = (* (( (ptr) formal←c0449)+5) );
      (void) ( *( (fPt) ((*  (ptr) pd51 ))))((* ((( (ptr) formal←c0449)+4)) ), pd51);
      };
SOURCE(5064, 25)
   if (((* (( (ptr) (* (( (ptr) formal←c0449)+4) ))+14) ) != 0)) {
SOURCE(5089, 26)
      return(3);
      };
   return(0);
   }

static void ContinueDirectRequest←P900(c←v6364)
   word c←v6364;
   {
   register ptr gf←c53520 =  (ptr) &globalframe;
   /* ContinueDirectRequest: */ 
SOURCE(6020, 82)
SOURCE(6084, 18)
   {
      word c←v45116;
      c←v45116 = c←v6364;
      {
         word cnt←v45148;
         cnt←v45148 = (* (( (ptr) c←v45116)+4) );
SOURCE(2211, 37)
         if (((cnt←v45148 & 3) != 0)) {
SOURCE(2233, 15)
            (void) BadImplError←P360(c←v45116);
            };
SOURCE(2273, 87)
         {
            W3 var←c51120;
            var←c51120.f0 = (* (( (ptr) c←v45116)+7) );
            var←c51120.f1 = 0;
            var←c51120.f2 = cnt←v45148;
            {
               word pd52;
               pd52 = (* (( (ptr) (* (( (ptr) gf←c53520)+140)/* var←c50480 */  ))+24) );
               (void) ( *( (fPt) ((*  (ptr) pd52 ))))((* (( (ptr) c←v45116)+31) ), var←c51120, pd52);
               };
            };
SOURCE(2362, 21)
         (* (( (ptr) c←v45116)+35) ) = 1;
SOURCE(2386, 14)
         (* (( (ptr) c←v45116)+5) ) = 0;
SOURCE(2402, 13)
         (* (( (ptr) c←v45116)+4) ) = 0;
SOURCE(2417, 33)
         (* (( (ptr) c←v45116)+9) ) = ((* (( (ptr) c←v45116)+9) ) - cnt←v45148);
         };
      };
   }

static void StartDirectRequest←P960(c←v6424, opCode←v6452, minor←v6480, length←v6508)
   word c←v6424;
   word opCode←v6452;
   word minor←v6480;
   word length←v6508;
   {
   register ptr gf←c53552 =  (ptr) &globalframe;
   /* StartDirectRequest: */ 
SOURCE(6110, 169)
SOURCE(6218, 41)
   (void) BInitPartial←P540(c←v6424, opCode←v6452, minor←v6480, length←v6508, 4);
SOURCE(6261, 18)
   {
      word c←v45040;
      c←v45040 = c←v6424;
      {
         word cnt←v45072;
         cnt←v45072 = (* (( (ptr) c←v45040)+4) );
SOURCE(2211, 37)
         if (((cnt←v45072 & 3) != 0)) {
SOURCE(2233, 15)
            (void) BadImplError←P360(c←v45040);
            };
SOURCE(2273, 87)
         {
            W3 var←c51152;
            var←c51152.f0 = (* (( (ptr) c←v45040)+7) );
            var←c51152.f1 = 0;
            var←c51152.f2 = cnt←v45072;
            {
               word pd53;
               pd53 = (* (( (ptr) (* (( (ptr) gf←c53552)+140)/* var←c50480 */  ))+24) );
               (void) ( *( (fPt) ((*  (ptr) pd53 ))))((* (( (ptr) c←v45040)+31) ), var←c51152, pd53);
               };
            };
SOURCE(2362, 21)
         (* (( (ptr) c←v45040)+35) ) = 1;
SOURCE(2386, 14)
         (* (( (ptr) c←v45040)+5) ) = 0;
SOURCE(2402, 13)
         (* (( (ptr) c←v45040)+4) ) = 0;
SOURCE(2417, 33)
         (* (( (ptr) c←v45040)+9) ) = ((* (( (ptr) c←v45040)+9) ) - cnt←v45072);
         };
      };
   }

static void XlDebugOnCommand←P1020(formal←c0169, cmd←v16252)
   word formal←c0169;
   word cmd←v16252;
   {
   register ptr gf←c53584 =  (ptr) &globalframe;
   word result←v16296;
   word msg←v16324;
   word debugStream←v11208;
   /* XlDebugOnCommand: */ 
SOURCE(6452, 197)
SOURCE(6452, 197)
   result←v16296 = 0;
SOURCE(6452, 197)
   msg←v16324 = 0;
SOURCE(6496, 32)
   debugStream←v11208 = (* (( (ptr) cmd←v16252)+2) );
SOURCE(6530, 21)
   (* (( (ptr) gf←c53584)+4)/* checkSpreitzer←v3028 */  ) = 1;
SOURCE(6553, 45)
   if ((debugStream←v11208 == 0)) {
SOURCE(6577, 21)
      debugStream←v11208 = (* (( (ptr) cmd←v16252)+1) );
      };
SOURCE(6600, 49)
   {
      word pd54;
      pd54 = (* (( (ptr) (* (( (ptr) gf←c53584)+142)/* var←c51184 */  ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd54 ))))((* (( (ptr) gf←c53584)+29) ), (* (( (ptr) gf←c53584)+30) ), debugStream←v11208, pd54)
      ;
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0169 ) = result←v16296;
   (* (( (ptr) formal←c0169)+1) ) = msg←v16324;
   return;
   }

static void XlDebugOffCommand←P1080(formal←c0173, cmd←v16384)
   word formal←c0173;
   word cmd←v16384;
   {
   register ptr gf←c53616 =  (ptr) &globalframe;
   word result←v16428;
   word msg←v16456;
   /* XlDebugOffCommand: */ 
SOURCE(6655, 110)
SOURCE(6655, 110)
   result←v16428 = 0;
SOURCE(6655, 110)
   msg←v16456 = 0;
SOURCE(6700, 22)
   (* (( (ptr) gf←c53616)+4)/* checkSpreitzer←v3028 */  ) = 0;
SOURCE(6724, 41)
   {
      word pd55;
      pd55 = (* (( (ptr) (* (( (ptr) gf←c53616)+142)/* var←c51184 */  ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd55 ))))((* (( (ptr) gf←c53616)+29) ), (* (( (ptr) gf←c53616)+30) ), 0, pd55);
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0173 ) = result←v16428;
   (* (( (ptr) formal←c0173)+1) ) = msg←v16456;
   return;
   }

static word BRequestWithBlock←P1200(c←v6744, opCode←v6772, blockBytes←v6800, additionalBytes←v6828)
   word c←v6744;
   word opCode←v6772;
   word blockBytes←v6800;
   word additionalBytes←v6828;
   {
   register ptr gf←c53648 =  (ptr) &globalframe;
   word p←v6872;
   word start←v11372;
   /* BRequestWithBlock: */ 
SOURCE(7452, 366)
SOURCE(7601, 44)
   {
      word c←v45616;
      word opcode←v45644;
      word assert←v45672;
      c←v45616 = c←v6744;
      opcode←v45644 = BCK(opCode←v6772, 256);
      assert←v45672 = blockBytes←v6800;
SOURCE(6854, 50)
      if ((opcode←v45644 == 0)) {
SOURCE(6889, 15)
         (void) BadImplError←P360(c←v45616);
         };
SOURCE(6906, 78)
      if ((((* (( (ptr) c←v45616)+4) ) + (* (( (ptr) c←v45616)+10) )) != (* (( (ptr) c←v45616)+9) ))) {
SOURCE(6969, 15)
         (void) BadImplError←P360(c←v45616);
         };
SOURCE(6986, 38)
      {
         word pd56;
         if ((((* (( (ptr) c←v45616)+6) ) - (* (( (ptr) c←v45616)+4) )) < assert←v45672)) {
            pd56 = (* (( (ptr) (* (( (ptr) gf←c53648)+139)/* var←c50416 */  ))+8) );
            (void) ( *( (fPt) ((*  (ptr) pd56 ))))(c←v45616, assert←v45672, pd56);
            };
         };
SOURCE(7026, 53)
      {
         word var←c51216;
         word n←v48496;
         n←v48496 = ((* (( (ptr) c←v45616)+13) ) + 1);
         var←c51216 = ( (((unsigned)n←v48496 << 16) >> 16) );
         (* (( (ptr) c←v45616)+13) ) = var←c51216;
         };
SOURCE(7081, 360)
      if ((0 != (* (( (ptr) gf←c53648)+4)/* checkSpreitzer←v3028 */  ))) {
         {
            word cPriv←v45720;
            cPriv←v45720 = (* (( (ptr) c←v45616)+24) );
SOURCE(7168, 273)
            {
               word var←c51248;
               var←c51248 = (* (( (ptr) cPriv←v45720)+79) );
               if ((var←c51248 == 0)) {
                  goto lab←L100020;
                  };
               if (((* (( (ptr) gf←c53648)+12) ) == XR←GetReferentType(var←c51248))) {
                  {
                     word rd←v45764;
                     rd←v45764 = var←c51248;
SOURCE(7219, 47)
                     (* (( (ptr) (
                           NCK((*  (bPt) rd←v45764 )),
                           rd←v45764
                           ))+((* (( (ptr) c←v45616)+13) ) % 4000)) ) = opcode←v45644;
                     };
                  }
               else {
                  lab←L100020: ;
                  {
                     word rd←v45808;
                     rd←v45808 = XR←NewObject(16000, (* (( (ptr) gf←c53648)+12) ));
SOURCE(7321, 16)
                     (* (( (ptr) cPriv←v45720)+79) ) = rd←v45808;
SOURCE(7339, 47)
                     (* (( (ptr) (
                           NCK((*  (bPt) rd←v45808 )),
                           rd←v45808
                           ))+((* (( (ptr) c←v45616)+13) ) % 4000)) ) = opcode←v45644;
SOURCE(7389, 31)
                     (* (( (ptr) gf←c53648)+6)/* prevDebugArray←v3644 */  ) = (* (( (ptr) gf←c53648)+7)/* lastDebugArray←v3672 */  );
SOURCE(7422, 19)
                     (* (( (ptr) gf←c53648)+7)/* lastDebugArray←v3672 */  ) = rd←v45808;
                     };
                  };
               };
            };
         };
      };
SOURCE(7647, 17)
   start←v11372 = (* (( (ptr) c←v6744)+4) );
SOURCE(7666, 28)
   (* (( (ptr) c←v6744)+4) ) = (start←v11372 + blockBytes←v6800);
SOURCE(7696, 48)
   (* (( (ptr) c←v6744)+9) ) = ((start←v11372 + blockBytes←v6800) + additionalBytes←v6828);
SOURCE(7746, 16)
   (* (( (ptr) c←v6744)+10) ) = 0;
SOURCE(7772, 46)
SOURCE(7773, 45)
   p←v6872 = ((* (( (ptr) c←v6744)+7) ) + start←v11372);
SOURCE(7452, 366)
   return(p←v6872);
   }

static word BContinueWithBlock←P1260(c←v6944, blockBytes←v6972)
   word c←v6944;
   word blockBytes←v6972;
   {
   word p←v7016;
   word start←v11416;
   /* BContinueWithBlock: */ 
SOURCE(7825, 260)
SOURCE(7921, 23)
   start←v11416 = (* (( (ptr) c←v6944)+4) );
SOURCE(7946, 53)
   if ((((* (( (ptr) c←v6944)+6) ) - start←v11416) < blockBytes←v6972)) {
SOURCE(7984, 15)
      (void) BadImplError←P360(c←v6944);
      };
SOURCE(8001, 28)
   (* (( (ptr) c←v6944)+4) ) = (start←v11416 + blockBytes←v6972);
SOURCE(8039, 46)
SOURCE(8040, 45)
   p←v7016 = ((* (( (ptr) c←v6944)+7) ) + start←v11416);
SOURCE(7825, 260)
   return(p←v7016);
   }

static void BPutBool←P1320(c←v7088, b←v7116)
   word c←v7088;
   word b←v7116;
   {
   /* BPutBool: */ 
SOURCE(8092, 73)
SOURCE(8143, 22)
   {
      word c←v48372;
      word b←v48400;
      c←v48372 = c←v7088;
      b←v48400 = b←v7116;
      {
         word n←v34404;
         n←v34404 = (* (( (ptr) c←v48372)+4) );
         (* (( (bPt) (* (( (ptr) c←v48372)+7) ))+n←v34404) ) = b←v48400;
         (* (( (ptr) c←v48372)+4) ) = (n←v34404 + 1);
         };
      };
   }

static void BPutINT16←P1380(c←v7176, i←v7204)
   word c←v7176;
   word i←v7204;
   {
   /* BPutINT16: */ 
SOURCE(8168, 77)
SOURCE(8221, 24)
   {
      word c←v48068;
      word b←v48096;
      c←v48068 = c←v7176;
      b←v48096 = i←v7204;
      {
         word n←v34940;
         word p←v34972;
         n←v34940 = (* (( (ptr) c←v48068)+4) );
         p←v34972 = (* (( (ptr) c←v48068)+7) );
         (* (( (hPt) p←v34972)+((word) n←v34940 >> 1)) ) = b←v48096;
         (* (( (ptr) c←v48068)+4) ) = (n←v34940 + 2);
         };
      };
   }

static void BPutINT32as16←P1500(c←v7368, i←v7396)
   word c←v7368;
   word i←v7396;
   {
   /* BPutINT32as16: */ 
SOURCE(8337, 77)
SOURCE(8394, 20)
   {
      word c←v47936;
      word b←v47964;
      c←v47936 = c←v7368;
      b←v47964 = ( (((unsigned)i←v7396 << 16) >> 16) );
      {
         word n←v47996;
         word p←v48024;
         n←v47996 = (* (( (ptr) c←v47936)+4) );
         p←v48024 = (* (( (ptr) c←v47936)+7) );
         (* (( (hPt) p←v48024)+((word) n←v47996 >> 1)) ) = b←v47964;
         (* (( (ptr) c←v47936)+4) ) = (n←v47996 + 2);
         };
      };
   }

static void BPutPixmap←P1560(c←v7456, p←v7484)
   word c←v7456;
   word p←v7484;
   {
   /* BPutPixmap: */ 
SOURCE(8419, 71)
SOURCE(8474, 16)
   {
      word c←v47860;
      word b←v47888;
      c←v47860 = c←v7456;
      b←v47888 = p←v7484;
      {
         word p←v35292;
         word n←v35324;
         p←v35292 = (* (( (ptr) c←v47860)+7) );
         n←v35324 = (* (( (ptr) c←v47860)+4) );
         (* (( (ptr) p←v35292)+((word) n←v35324 >> 2)) ) = b←v47888;
         (* (( (ptr) c←v47860)+4) ) = (n←v35324 + 4);
         };
      };
   }

static void BPutColorMap←P1620(c←v7544, m←v7572)
   word c←v7544;
   word m←v7572;
   {
   /* BPutColorMap: */ 
SOURCE(8495, 83)
SOURCE(8554, 24)
   {
      word c←v47728;
      word b←v47756;
      c←v47728 = c←v7544;
      b←v47756 = m←v7572;
      {
         word p←v47788;
         word n←v47816;
         p←v47788 = (* (( (ptr) c←v47728)+7) );
         n←v47816 = (* (( (ptr) c←v47728)+4) );
         (* (( (ptr) p←v47788)+((word) n←v47816 >> 2)) ) = b←v47756;
         (* (( (ptr) c←v47728)+4) ) = (n←v47816 + 4);
         };
      };
   }

static void BPutTime←P1680(c←v7632, t←v7660)
   word c←v7632;
   word t←v7660;
   {
   /* BPutTime: */ 
SOURCE(8583, 71)
SOURCE(8639, 15)
   {
      word c←v47596;
      word b←v47624;
      c←v47596 = c←v7632;
      b←v47624 = t←v7660;
      {
         word p←v47656;
         word n←v47684;
         p←v47656 = (* (( (ptr) c←v47596)+7) );
         n←v47684 = (* (( (ptr) c←v47596)+4) );
         (* (( (ptr) p←v47656)+((word) n←v47684 >> 2)) ) = b←v47624;
         (* (( (ptr) c←v47596)+4) ) = (n←v47684 + 4);
         };
      };
   }

static void BPutVisual←P1740(c←v7720, v←v7748)
   word c←v7720;
   word v←v7748;
   {
   /* BPutVisual: */ 
SOURCE(8659, 77)
SOURCE(8714, 22)
   {
      word c←v47464;
      word b←v47492;
      c←v47464 = c←v7720;
      b←v47492 = v←v7748;
      {
         word p←v47524;
         word n←v47552;
         p←v47524 = (* (( (ptr) c←v47464)+7) );
         n←v47552 = (* (( (ptr) c←v47464)+4) );
         (* (( (ptr) p←v47524)+((word) n←v47552 >> 2)) ) = b←v47492;
         (* (( (ptr) c←v47464)+4) ) = (n←v47552 + 4);
         };
      };
   }

static void BPutCursor←P1800(c←v7808, cursor←v7836)
   word c←v7808;
   word cursor←v7836;
   {
   /* BPutCursor: */ 
SOURCE(8741, 81)
SOURCE(8801, 21)
   {
      word c←v47332;
      word b←v47360;
      c←v47332 = c←v7808;
      b←v47360 = cursor←v7836;
      {
         word p←v47392;
         word n←v47420;
         p←v47392 = (* (( (ptr) c←v47332)+7) );
         n←v47420 = (* (( (ptr) c←v47332)+4) );
         (* (( (ptr) p←v47392)+((word) n←v47420 >> 2)) ) = b←v47360;
         (* (( (ptr) c←v47332)+4) ) = (n←v47420 + 4);
         };
      };
   }

static void BPut0s←P1860(c←v7896, cnt←v7924)
   word c←v7896;
   word cnt←v7924;
   {
   /* BPut0s: */ 
SOURCE(8827, 96)
SOURCE(8877, 46)
   {
      register word i←v11460 = 0;
      register word noName←c51312;
      noName←c51312 = cnt←v7924;
      if (( (int)i←v11460 >=  (int)noName←c51312)) {
         goto lab←L100021;
         };
      lab←L100024: ;
SOURCE(8903, 20)
      {
         word c←v48296;
         c←v48296 = c←v7896;
         {
            word n←v48328;
            n←v48328 = (* (( (ptr) c←v48296)+4) );
            (* (( (bPt) (* (( (ptr) c←v48296)+7) ))+n←v48328) ) = 0;
            (* (( (ptr) c←v48296)+4) ) = (n←v48328 + 1);
            };
         };
      i←v11460 = (i←v11460 + 1);
      if (( (int)i←v11460 <  (int)noName←c51312)) {
         goto lab←L100024;
         };
      lab←L100021: ;
      };
   }

static void BPutRope←P1920(c←v7984, rope←v8012, start←v8040, len←v8068)
   word c←v7984;
   word rope←v8012;
   word start←v8040;
   word len←v8068;
   {
   W7 var←c53680;
   register ptr gf←c53712 =  (ptr) &globalframe;
   /* declaration of var←c51344 skipped */ 
   /* declaration of connection←v11504 skipped */ 
   word size←v11532;
   /* BPutRope: */ 
SOURCE(8929, 349)
   {
      word tmpAddr57;
      tmpAddr57 = (word) (( (ptr) &var←c53680)+4)/* var←c51344 */ ;
      (*  (ptr) tmpAddr57 ) = ( ((word)  (fPt) action←P3816) );
      (* (( (ptr) tmpAddr57) + 1) ) = 1;
      };
SOURCE(9021, 26)
   var←c53680.f6/* connection←v11504 */  = c←v7984;
SOURCE(9049, 29)
   {
      word pd58;
      pd58 = (* (( (ptr) (* (( (ptr) gf←c53712)+143)/* var←c51376 */  ))+14) );
      size←v11532 = (word) ( *( (fPt) ((*  (ptr) pd58 ))))(rope←v8012, pd58);
      };
SOURCE(9080, 198)
   if ( ( ( (int)start←v8040 <  (int)size←v11532) ? ( (int)len←v8068 >  (int)0) : 0 ) ) {
SOURCE(9109, 172)
SOURCE(9197, 17)
      size←v11532 = (size←v11532 - start←v8040);
SOURCE(9216, 20)
      len←v8068 = (MIN((int)(word), size←v11532, len←v8068));
SOURCE(9239, 39)
      {
         word var←c51408;
         word pd59;
         pd59 = (* (( (ptr) (* (( (ptr) gf←c53712)+143)/* var←c51376 */  ))+26) );
         var←c51408 = (word) ( *( (fPt) ((*  (ptr) pd59 ))))(rope←v8012, start←v8040, len←v8068, (word) (( (bPt) &var←c53680)+16)/* var←c51344 */ , pd59)
         ;
         };
      };
   }

static word action←P3816(c←v11652, formal←c53744)
   word c←v11652;
   word formal←c53744;
   {
   word quit←v11696;
   formal←c53744 = (formal←c53744 - 16);
   /* action: */ 
SOURCE(9111, 14)
SOURCE(9111, 14)
   quit←v11696 = 0;
SOURCE(9167, 27)
   {
      word b←v48220;
      b←v48220 = c←v11652;
      {
         word n←v48252;
         n←v48252 = (* (( (ptr) (* (( (ptr) formal←c53744)+6) ))+4) );
         (* (( (bPt) (* (( (ptr) (* (( (ptr) formal←c53744)+6) ))+7) ))+n←v48252) ) = b←v48220;
         (* (( (ptr) (* (( (ptr) formal←c53744)+6) ))+4) ) = (n←v48252 + 1);
         };
      };
SOURCE(9111, 14)
   return(quit←v11696);
   }

static void BPutPaddedRope←P1980(c←v8128, rope←v8156, start←v8184, len←v8212)
   word c←v8128;
   word rope←v8156;
   word start←v8184;
   word len←v8212;
   {
   W7 var←c53776;
   register ptr gf←c53808 =  (ptr) &globalframe;
   /* declaration of var←c51440 skipped */ 
   /* declaration of connection←v11724 skipped */ 
   word size←v11752;
   /* BPutPaddedRope: */ 
SOURCE(9288, 379)
   {
      word tmpAddr60;
      tmpAddr60 = (word) (( (ptr) &var←c53776)+4)/* var←c51440 */ ;
      (*  (ptr) tmpAddr60 ) = ( ((word)  (fPt) action←P3924) );
      (* (( (ptr) tmpAddr60) + 1) ) = 1;
      };
SOURCE(9370, 26)
   var←c53776.f6/* connection←v11724 */  = c←v8128;
SOURCE(9398, 29)
   {
      word pd61;
      pd61 = (* (( (ptr) (* (( (ptr) gf←c53808)+143)/* var←c51376 */  ))+14) );
      size←v11752 = (word) ( *( (fPt) ((*  (ptr) pd61 ))))(rope←v8156, pd61);
      };
SOURCE(9429, 238)
   if ( ( ( (int)start←v8184 <  (int)size←v11752) ? ( (int)len←v8212 >  (int)0) : 0 ) ) {
SOURCE(9458, 211)
SOURCE(9546, 17)
      size←v11752 = (size←v11752 - start←v8184);
SOURCE(9565, 20)
      len←v8212 = (MIN((int)(word), size←v11752, len←v8212));
SOURCE(9588, 39)
      {
         word var←c51472;
         word pd62;
         pd62 = (* (( (ptr) (* (( (ptr) gf←c53808)+143)/* var←c51376 */  ))+26) );
         var←c51472 = (word) ( *( (fPt) ((*  (ptr) pd62 ))))(rope←v8156, start←v8184, len←v8212, (word) (( (bPt) &var←c53776)+16)/* var←c51440 */ , pd62)
         ;
         };
SOURCE(9630, 37)
      {
         word var←c51504;
         var←c51504 = (word) PaddingBytes←P600(len←v8212);
         (void) BPut0s←P1860(var←c53776.f6/* connection←v11724 */ , var←c51504);
         };
      };
   }

static word action←P3924(c←v11872, formal←c53840)
   word c←v11872;
   word formal←c53840;
   {
   word quit←v11916;
   formal←c53840 = (formal←c53840 - 16);
   /* action: */ 
SOURCE(9460, 14)
SOURCE(9460, 14)
   quit←v11916 = 0;
SOURCE(9516, 27)
   {
      word b←v48144;
      b←v48144 = c←v11872;
      {
         word n←v48176;
         n←v48176 = (* (( (ptr) (* (( (ptr) formal←c53840)+6) ))+4) );
         (* (( (bPt) (* (( (ptr) (* (( (ptr) formal←c53840)+6) ))+7) ))+n←v48176) ) = b←v48144;
         (* (( (ptr) (* (( (ptr) formal←c53840)+6) ))+4) ) = (n←v48176 + 1);
         };
      };
SOURCE(9460, 14)
   return(quit←v11916);
   }

static void DPutCARD16←P2040(c←v8272, val←v8300)
   word c←v8272;
   word val←v8300;
   {
   /* DPutCARD16: */ 
SOURCE(9676, 101)
SOURCE(9742, 35)
   {
      word c←v47224;
      word val←v47252;
      c←v47224 = c←v8272;
      val←v47252 = val←v8300;
      {
         word self←v36872;
         word char←v36904;
         self←v36872 = (* (( (ptr) c←v47224)+31) );
         char←v36904 =  (unsigned) (((unsigned)val←v47252 << 16) >> 24);
         {
            word i←v37272;
            i←v37272 = (* (( (ptr) self←v36872)+7) );
            {
               word pd64;
               if ((i←v37272 < (* (( (ptr) self←v36872)+6) ))) {
                  (* (( (ptr) self←v36872)+7) ) = (i←v37272 + 1);
                  {
                     word var←c51536;
                     var←c51536 = (* (( (ptr) self←v36872)+4) );
                     {
                        word limit63;
                        (* ((( (bPt) var←c51536)+4)+(
/*1*/   limit63 = (word)  (unsigned) (* (( (hPt) var←c51536)+1) ),
/*1*/   BCK(i←v37272, limit63)
/*1*/   )) ) = char←v36904;
                        };
                     };
                  }
               else {
                  pd64 = (* (( (ptr) (*  (ptr) self←v36872 ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd64 ))))(self←v36872, char←v36904, pd64);
                  };
               };
            };
         };
      {
         word self←v37304;
         word char←v37336;
         self←v37304 = (* (( (ptr) c←v47224)+31) );
         char←v37336 =  (unsigned) (val←v47252 & 0377);
         {
            word i←v37656;
            i←v37656 = (* (( (ptr) self←v37304)+7) );
            {
               word pd66;
               if ((i←v37656 < (* (( (ptr) self←v37304)+6) ))) {
                  (* (( (ptr) self←v37304)+7) ) = (i←v37656 + 1);
                  {
                     word var←c51568;
                     var←c51568 = (* (( (ptr) self←v37304)+4) );
                     {
                        word limit65;
                        (* ((( (bPt) var←c51568)+4)+(
/*1*/   limit65 = (word)  (unsigned) (* (( (hPt) var←c51568)+1) ),
/*1*/   BCK(i←v37656, limit65)
/*1*/   )) ) = char←v37336;
                        };
                     };
                  }
               else {
                  pd66 = (* (( (ptr) (*  (ptr) self←v37304 ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd66 ))))(self←v37304, char←v37336, pd66);
                  };
               };
            };
         };
      (* (( (ptr) c←v47224)+10) ) = ((* (( (ptr) c←v47224)+10) ) + 2);
      };
   }

static void DPutCARD32←P2100(c←v8360, val←v8388)
   word c←v8360;
   word val←v8388;
   {
   /* DPutCARD32: */ 
SOURCE(9783, 101)
SOURCE(9849, 35)
   {
      word c←v47008;
      word val←v47036;
      c←v47008 = c←v8360;
      val←v47036 = val←v8388;
      {
         word l←v37904;
         l←v37904 = val←v47036;
         {
            word self←v38136;
            word char←v38168;
            self←v38136 = (* (( (ptr) c←v47008)+31) );
            char←v38168 =  (unsigned) ((unsigned)l←v37904 >> 24);
            {
               word i←v38248;
               i←v38248 = (* (( (ptr) self←v38136)+7) );
               {
                  word pd68;
                  if ((i←v38248 < (* (( (ptr) self←v38136)+6) ))) {
                     (* (( (ptr) self←v38136)+7) ) = (i←v38248 + 1);
                     {
                        word var←c51600;
                        var←c51600 = (* (( (ptr) self←v38136)+4) );
                        {
                           word limit67;
                           (* ((( (bPt) var←c51600)+4)+(
/*1*/      limit67 = (word)  (unsigned) (* (( (hPt) var←c51600)+1) ),
/*1*/      BCK(i←v38248, limit67)
/*1*/      )) ) = char←v38168;
                           };
                        };
                     }
                  else {
                     pd68 = (* (( (ptr) (*  (ptr) self←v38136 ))+6) );
                     (void) ( *( (fPt) ((*  (ptr) pd68 ))))(self←v38136, char←v38168, pd68);
                     };
                  };
               };
            };
         {
            word self←v38280;
            word char←v38312;
            self←v38280 = (* (( (ptr) c←v47008)+31) );
            char←v38312 =  (unsigned) (((unsigned)l←v37904 << 8) >> 24);
            {
               word i←v38392;
               i←v38392 = (* (( (ptr) self←v38280)+7) );
               {
                  word pd70;
                  if ((i←v38392 < (* (( (ptr) self←v38280)+6) ))) {
                     (* (( (ptr) self←v38280)+7) ) = (i←v38392 + 1);
                     {
                        word var←c51632;
                        var←c51632 = (* (( (ptr) self←v38280)+4) );
                        {
                           word limit69;
                           (* ((( (bPt) var←c51632)+4)+(
/*1*/      limit69 = (word)  (unsigned) (* (( (hPt) var←c51632)+1) ),
/*1*/      BCK(i←v38392, limit69)
/*1*/      )) ) = char←v38312;
                           };
                        };
                     }
                  else {
                     pd70 = (* (( (ptr) (*  (ptr) self←v38280 ))+6) );
                     (void) ( *( (fPt) ((*  (ptr) pd70 ))))(self←v38280, char←v38312, pd70);
                     };
                  };
               };
            };
         {
            word self←v38424;
            word char←v38456;
            self←v38424 = (* (( (ptr) c←v47008)+31) );
            char←v38456 =  (unsigned) (((unsigned)l←v37904 << 16) >> 24);
            {
               word i←v38536;
               i←v38536 = (* (( (ptr) self←v38424)+7) );
               {
                  word pd72;
                  if ((i←v38536 < (* (( (ptr) self←v38424)+6) ))) {
                     (* (( (ptr) self←v38424)+7) ) = (i←v38536 + 1);
                     {
                        word var←c51664;
                        var←c51664 = (* (( (ptr) self←v38424)+4) );
                        {
                           word limit71;
                           (* ((( (bPt) var←c51664)+4)+(
/*1*/      limit71 = (word)  (unsigned) (* (( (hPt) var←c51664)+1) ),
/*1*/      BCK(i←v38536, limit71)
/*1*/      )) ) = char←v38456;
                           };
                        };
                     }
                  else {
                     pd72 = (* (( (ptr) (*  (ptr) self←v38424 ))+6) );
                     (void) ( *( (fPt) ((*  (ptr) pd72 ))))(self←v38424, char←v38456, pd72);
                     };
                  };
               };
            };
         {
            word self←v38568;
            word char←v38600;
            self←v38568 = (* (( (ptr) c←v47008)+31) );
            char←v38600 =  (unsigned) (l←v37904 & 0377);
            {
               word i←v38680;
               i←v38680 = (* (( (ptr) self←v38568)+7) );
               {
                  word pd74;
                  if ((i←v38680 < (* (( (ptr) self←v38568)+6) ))) {
                     (* (( (ptr) self←v38568)+7) ) = (i←v38680 + 1);
                     {
                        word var←c51696;
                        var←c51696 = (* (( (ptr) self←v38568)+4) );
                        {
                           word limit73;
                           (* ((( (bPt) var←c51696)+4)+(
/*1*/      limit73 = (word)  (unsigned) (* (( (hPt) var←c51696)+1) ),
/*1*/      BCK(i←v38680, limit73)
/*1*/      )) ) = char←v38600;
                           };
                        };
                     }
                  else {
                     pd74 = (* (( (ptr) (*  (ptr) self←v38568 ))+6) );
                     (void) ( *( (fPt) ((*  (ptr) pd74 ))))(self←v38568, char←v38600, pd74);
                     };
                  };
               };
            };
         (* (( (ptr) c←v47008)+10) ) = ((* (( (ptr) c←v47008)+10) ) + 4);
         };
      };
   }

static void DPutWindow←P2160(c←v8448, w←v8476)
   word c←v8448;
   word w←v8476;
   {
   /* DPutWindow: */ 
SOURCE(9890, 107)
SOURCE(9954, 43)
   {
      word c←v46504;
      word val←v46532;
      c←v46504 = c←v8448;
      val←v46532 = w←v8476;
      {
         word l←v46564;
         l←v46564 = val←v46532;
         {
            word self←v46608;
            word char←v46636;
            self←v46608 = (* (( (ptr) c←v46504)+31) );
            char←v46636 =  (unsigned) ((unsigned)l←v46564 >> 24);
            {
               word i←v46664;
               i←v46664 = (* (( (ptr) self←v46608)+7) );
               {
                  word pd76;
                  if ((i←v46664 < (* (( (ptr) self←v46608)+6) ))) {
                     (* (( (ptr) self←v46608)+7) ) = (i←v46664 + 1);
                     {
                        word var←c51728;
                        var←c51728 = (* (( (ptr) self←v46608)+4) );
                        {
                           word limit75;
                           (* ((( (bPt) var←c51728)+4)+(
/*1*/      limit75 = (word)  (unsigned) (* (( (hPt) var←c51728)+1) ),
/*1*/      BCK(i←v46664, limit75)
/*1*/      )) ) = char←v46636;
                           };
                        };
                     }
                  else {
                     pd76 = (* (( (ptr) (*  (ptr) self←v46608 ))+6) );
                     (void) ( *( (fPt) ((*  (ptr) pd76 ))))(self←v46608, char←v46636, pd76);
                     };
                  };
               };
            };
         {
            word self←v46708;
            word char←v46736;
            self←v46708 = (* (( (ptr) c←v46504)+31) );
            char←v46736 =  (unsigned) (((unsigned)l←v46564 << 8) >> 24);
            {
               word i←v46764;
               i←v46764 = (* (( (ptr) self←v46708)+7) );
               {
                  word pd78;
                  if ((i←v46764 < (* (( (ptr) self←v46708)+6) ))) {
                     (* (( (ptr) self←v46708)+7) ) = (i←v46764 + 1);
                     {
                        word var←c51760;
                        var←c51760 = (* (( (ptr) self←v46708)+4) );
                        {
                           word limit77;
                           (* ((( (bPt) var←c51760)+4)+(
/*1*/      limit77 = (word)  (unsigned) (* (( (hPt) var←c51760)+1) ),
/*1*/      BCK(i←v46764, limit77)
/*1*/      )) ) = char←v46736;
                           };
                        };
                     }
                  else {
                     pd78 = (* (( (ptr) (*  (ptr) self←v46708 ))+6) );
                     (void) ( *( (fPt) ((*  (ptr) pd78 ))))(self←v46708, char←v46736, pd78);
                     };
                  };
               };
            };
         {
            word self←v46808;
            word char←v46836;
            self←v46808 = (* (( (ptr) c←v46504)+31) );
            char←v46836 =  (unsigned) (((unsigned)l←v46564 << 16) >> 24);
            {
               word i←v46864;
               i←v46864 = (* (( (ptr) self←v46808)+7) );
               {
                  word pd80;
                  if ((i←v46864 < (* (( (ptr) self←v46808)+6) ))) {
                     (* (( (ptr) self←v46808)+7) ) = (i←v46864 + 1);
                     {
                        word var←c51792;
                        var←c51792 = (* (( (ptr) self←v46808)+4) );
                        {
                           word limit79;
                           (* ((( (bPt) var←c51792)+4)+(
/*1*/      limit79 = (word)  (unsigned) (* (( (hPt) var←c51792)+1) ),
/*1*/      BCK(i←v46864, limit79)
/*1*/      )) ) = char←v46836;
                           };
                        };
                     }
                  else {
                     pd80 = (* (( (ptr) (*  (ptr) self←v46808 ))+6) );
                     (void) ( *( (fPt) ((*  (ptr) pd80 ))))(self←v46808, char←v46836, pd80);
                     };
                  };
               };
            };
         {
            word self←v46908;
            word char←v46936;
            self←v46908 = (* (( (ptr) c←v46504)+31) );
            char←v46936 =  (unsigned) (l←v46564 & 0377);
            {
               word i←v46964;
               i←v46964 = (* (( (ptr) self←v46908)+7) );
               {
                  word pd82;
                  if ((i←v46964 < (* (( (ptr) self←v46908)+6) ))) {
                     (* (( (ptr) self←v46908)+7) ) = (i←v46964 + 1);
                     {
                        word var←c51824;
                        var←c51824 = (* (( (ptr) self←v46908)+4) );
                        {
                           word limit81;
                           (* ((( (bPt) var←c51824)+4)+(
/*1*/      limit81 = (word)  (unsigned) (* (( (hPt) var←c51824)+1) ),
/*1*/      BCK(i←v46964, limit81)
/*1*/      )) ) = char←v46936;
                           };
                        };
                     }
                  else {
                     pd82 = (* (( (ptr) (*  (ptr) self←v46908 ))+6) );
                     (void) ( *( (fPt) ((*  (ptr) pd82 ))))(self←v46908, char←v46936, pd82);
                     };
                  };
               };
            };
         (* (( (ptr) c←v46504)+10) ) = ((* (( (ptr) c←v46504)+10) ) + 4);
         };
      };
   }

static void DPutPad←P2220(c←v8536, len←v8564)
   word c←v8536;
   word len←v8564;
   {
   /* DPutPad: */ 
SOURCE(10003, 173)
SOURCE(10063, 113)
   {
      register word i←v11944 = 0;
      register word noName←c51856;
      noName←c51856 = (word) PaddingBytes←P600(len←v8564);
      if (( (int)i←v11944 >=  (int)noName←c51856)) {
         goto lab←L100025;
         };
      lab←L100028: ;
SOURCE(10103, 32)
      {
         word self←v47148;
         self←v47148 = (* (( (ptr) c←v8536)+31) );
         {
            word i←v36428;
            i←v36428 = (* (( (ptr) self←v47148)+7) );
            {
               word pd84;
               if ((i←v36428 < (* (( (ptr) self←v47148)+6) ))) {
                  (* (( (ptr) self←v47148)+7) ) = (i←v36428 + 1);
                  {
                     word var←c51888;
                     var←c51888 = (* (( (ptr) self←v47148)+4) );
                     {
                        word limit83;
                        (* ((( (bPt) var←c51888)+4)+(
/*1*/   limit83 = (word)  (unsigned) (* (( (hPt) var←c51888)+1) ),
/*1*/   BCK(i←v36428, limit83)
/*1*/   )) ) = 0;
                        };
                     };
                  }
               else {
                  pd84 = (* (( (ptr) (*  (ptr) self←v47148 ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd84 ))))(self←v47148, 0, pd84);
                  };
               };
            };
         };
SOURCE(10139, 37)
      (* (( (ptr) c←v8536)+10) ) = ((* (( (ptr) c←v8536)+10) ) + 1);
      i←v11944 = (i←v11944 + 1);
      if (( (int)i←v11944 <  (int)noName←c51856)) {
         goto lab←L100028;
         };
      lab←L100025: ;
      };
   }

static void DPutPaddedRope←P2280(c←v8624, rope←v8652, start←v8680, len←v8708)
   word c←v8624;
   word rope←v8652;
   word start←v8680;
   word len←v8708;
   {
   register ptr gf←c53872 =  (ptr) &globalframe;
   word size←v11988;
   /* DPutPaddedRope: */ 
SOURCE(10182, 277)
SOURCE(10268, 29)
   {
      word pd85;
      pd85 = (* (( (ptr) (* (( (ptr) gf←c53872)+143)/* var←c51376 */  ))+14) );
      size←v11988 = (word) ( *( (fPt) ((*  (ptr) pd85 ))))(rope←v8652, pd85);
      };
SOURCE(10299, 160)
   if ( ( ( (int)start←v8680 <  (int)size←v11988) ? ( (int)len←v8708 >  (int)0) : 0 ) ) {
SOURCE(10330, 17)
      size←v11988 = (size←v11988 - start←v8680);
SOURCE(10349, 20)
      len←v8708 = (MIN((int)(word), size←v11988, len←v8708));
SOURCE(10372, 36)
      {
         word pd86;
         pd86 = (* (( (ptr) (* (( (ptr) gf←c53872)+140)/* var←c50480 */  ))+93) );
         (void) ( *( (fPt) ((*  (ptr) pd86 ))))((* (( (ptr) c←v8624)+31) ), rope←v8652, start←v8680, len←v8708, pd86);
         };
SOURCE(10411, 31)
      (* (( (ptr) c←v8624)+10) ) = ((* (( (ptr) c←v8624)+10) ) + len←v8708);
SOURCE(10444, 15)
      (void) DPutPad←P2220(c←v8624, len←v8708);
      };
   }

static word GetExtensionCard16←P2340(ev←v8768, index←v8796)
   word ev←v8768;
   word index←v8796;
   {
   word var←c8840;
   /* GetExtensionCard16: */ 
SOURCE(10468, 143)
SOURCE(10554, 57)
   return((((word)  (unsigned) (word) (* ((( (bPt) ev←v8768)+32)+BCK(index←v8796, 32)) ) << 8) +  (unsigned) (word) (* ((( (bPt) ev←v8768)+32)
      +BCK((index←v8796 + 1), 32)) )));
   }

static word GetExtensionCard32←P2400(ev←v8900, index←v8928)
   word ev←v8900;
   word index←v8928;
   {
   word var←c8972;
   /* GetExtensionCard32: */ 
SOURCE(10615, 143)
SOURCE(10701, 57)
   {
      word var←c51952;
      word ln←v39804;
      ln←v39804 = (((word) (((word) (((word)  (unsigned) (word) (* ((( (bPt) ev←v8900)+32)+BCK(index←v8928, 32)) ) << 8) +  (unsigned) (word) (* (
         (( (bPt) ev←v8900)+32)+BCK((index←v8928 + 1), 32)) )) << 8) +  (unsigned) (word) (* ((( (bPt) ev←v8900)+32)+BCK((index←v8928 + 
            2), 32)) )) << 8) +  (unsigned) (word) (* ((( (bPt) ev←v8900)+32)+BCK((index←v8928 + 3), 32)) ));
      var←c51952 = ln←v39804;
      return(var←c51952);
      };
   }

static word GetTextCARD16←P2460(text←v9032, startPos←v9060)
   word text←v9032;
   word startPos←v9060;
   {
   word var←c9116;
   /* GetTextCARD16: */ 
SOURCE(10762, 136)
SOURCE(10842, 56)
   {
      word var←c52048;
      word text←v46440;
      text←v46440 = text←v9032;
      {
         word byte0←v40144;
         word var←c52080;
         word byte1←v40228;
         {
            word limit87;
            byte0←v40144 =  (unsigned) (word) (* ((( (bPt) text←v46440)+4)+(
                  limit87 = (word)  (unsigned) (* (( (hPt) text←v46440)+1) ),
                  BCK(startPos←v9060, limit87)
                  )) );
            };
         {
            word limit88;
            var←c52080 = (startPos←v9060 + 1);
            byte1←v40228 =  (unsigned) (word) (* ((( (bPt) text←v46440)+4)+(
                  limit88 = (word)  (unsigned) (* (( (hPt) text←v46440)+1) ),
                  BCK(var←c52080, limit88)
                  )) );
            };
         var←c52048 = (((word) byte0←v40144 << 8) + byte1←v40228);
         };
      return(var←c52048);
      };
   }

static word GetTextCARD32←P2520(text←v9176, startPos←v9204)
   word text←v9176;
   word startPos←v9204;
   {
   word var←c9260;
   /* GetTextCARD32: */ 
SOURCE(10904, 136)
SOURCE(10984, 56)
   {
      word var←c52144;
      word text←v46392;
      text←v46392 = text←v9176;
      {
         word var←c52208;
         word var←c52240;
         word var←c52272;
         word ln←v40576;
         {
            word limit89;
            word limit90;
            word limit91;
            word limit92;
            var←c52208 = (startPos←v9204 + 1);
            var←c52240 = (startPos←v9204 + 2);
            var←c52272 = (startPos←v9204 + 3);
            ln←v40576 = (((word) (((word) (((word)  (unsigned) (word) (* ((( (bPt) text←v46392)+4)+(
                  limit89 = (word)  (unsigned) (* (( (hPt) text←v46392)+1) ),
                  BCK(startPos←v9204, limit89)
                  )) ) << 8) +  (unsigned) (word) (* ((( (bPt) text←v46392)+4)+(
                  limit90 = (word)  (unsigned) (* (( (hPt) text←v46392)+1) ),
                  BCK(var←c52208, limit90)
                  )) )) << 8) +  (unsigned) (word) (* ((( (bPt) text←v46392)+4)+(
                  limit91 = (word)  (unsigned) (* (( (hPt) text←v46392)+1) ),
                  BCK(var←c52240, limit91)
                  )) )) << 8) +  (unsigned) (word) (* ((( (bPt) text←v46392)+4)+(
                  limit92 = (word)  (unsigned) (* (( (hPt) text←v46392)+1) ),
                  BCK(var←c52272, limit92)
                  )) ));
            };
         var←c52144 = ln←v40576;
         };
      return(var←c52144);
      };
   }

static word ERead8←P2580(r←v9320)
   word r←v9320;
   {
   word var←c9364;
   /* ERead8: */ 
SOURCE(11046, 144)
SOURCE(11104, 35)
   if (( (int)(* (( (ptr) r←v9320)+10) ) <  (int)32)) {
SOURCE(11122, 17)
      {
         word var←c52336;
         word b←v46344;
         b←v46344 =  (unsigned) (word) (* (( (bPt) r←v9320)+(* (( (ptr) r←v9320)+10) )) );
         (* (( (ptr) r←v9320)+10) ) = ((* (( (ptr) r←v9320)+10) ) + 1);
         var←c52336 = b←v46344;
         return(var←c52336);
         };
      };
SOURCE(11141, 17)
   (* (( (ptr) r←v9320)+10) ) = ((* (( (ptr) r←v9320)+10) ) + 1);
SOURCE(11160, 30)
   return( (unsigned) (word) (* (( (bPt) (* (( (ptr) r←v9320)+8) ))+((* (( (ptr) r←v9320)+10) ) - 33)) ));
   }

static word ERead16←P2640(r←v9424)
   word r←v9424;
   {
   word var←c9468;
   /* ERead16: */ 
SOURCE(11194, 214)
SOURCE(11255, 36)
   if (( (int)(* (( (ptr) r←v9424)+10) ) <  (int)31)) {
SOURCE(11273, 18)
      {
         word var←c52400;
         word c←v46296;
         c←v46296 = (((word)  (unsigned) (word) (* (( (bPt) r←v9424)+(* (( (ptr) r←v9424)+10) )) ) << 8) +  (unsigned) (word) (* (
            ( (bPt) r←v9424)+((* (( (ptr) r←v9424)+10) ) + 1)) ));
         (* (( (ptr) r←v9424)+10) ) = ((* (( (ptr) r←v9424)+10) ) + 2);
         var←c52400 = c←v46296;
         return(var←c52400);
         };
      };
SOURCE(11293, 18)
   if (( (int)(* (( (ptr) r←v9424)+10) ) <  (int)32)) {
SOURCE(11311, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(11318, 17)
   (* (( (ptr) r←v9424)+10) ) = ((* (( (ptr) r←v9424)+10) ) + 2);
SOURCE(11337, 71)
   {
      word var←c52464;
      word b←v46220;
      word startPos←v46248;
      b←v46220 = (* (( (ptr) r←v9424)+8) );
      startPos←v46248 = ((* (( (ptr) r←v9424)+10) ) - 34);
      {
         word byte0←v41876;
         word byte1←v41960;
         byte0←v41876 =  (unsigned) (word) (* (( (bPt) b←v46220)+startPos←v46248) );
         byte1←v41960 =  (unsigned) (word) (* (( (bPt) b←v46220)+(startPos←v46248 + 1)) );
         var←c52464 = (((word) byte0←v41876 << 8) + byte1←v41960);
         };
      return(var←c52464);
      };
   }

static word ERead32←P2700(r←v9528)
   word r←v9528;
   {
   word var←c9572;
   /* ERead32: */ 
SOURCE(11414, 214)
SOURCE(11475, 36)
   if (( (int)(* (( (ptr) r←v9528)+10) ) <  (int)29)) {
SOURCE(11493, 18)
      {
         word var←c52528;
         word four←v42232;
         four←v42232 = (((word) (((word) (((word)  (unsigned) (word) (* (( (bPt) r←v9528)+(* (( (ptr) r←v9528)+10) )) ) << 8) +  (unsigned) (word) (* (
            ( (bPt) r←v9528)+((* (( (ptr) r←v9528)+10) ) + 1)) )) << 8) +  (unsigned) (word) (* (( (bPt) r←v9528)+((* (( (ptr) r←v9528)+10)
             ) + 2)) )) << 8) +  (unsigned) (word) (* (( (bPt) r←v9528)+((* (( (ptr) r←v9528)+10) ) + 3)) ));
         (* (( (ptr) r←v9528)+10) ) = ((* (( (ptr) r←v9528)+10) ) + 4);
         var←c52528 = four←v42232;
         return(var←c52528);
         };
      };
SOURCE(11513, 18)
   if (( (int)(* (( (ptr) r←v9528)+10) ) <  (int)32)) {
SOURCE(11531, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(11538, 17)
   (* (( (ptr) r←v9528)+10) ) = ((* (( (ptr) r←v9528)+10) ) + 4);
SOURCE(11557, 71)
   {
      word var←c52624;
      word b←v46128;
      word startPos←v46156;
      b←v46128 = (* (( (ptr) r←v9528)+8) );
      startPos←v46156 = ((* (( (ptr) r←v9528)+10) ) - 36);
      {
         word ln←v42716;
         ln←v42716 = (((word) (((word) (((word)  (unsigned) (word) (* (( (bPt) b←v46128)+startPos←v46156) ) << 8) +  (unsigned) (word) (* (
            ( (bPt) b←v46128)+(startPos←v46156 + 1)) )) << 8) +  (unsigned) (word) (* (( (bPt) b←v46128)+(startPos←v46156 + 2)) )) << 8) + 
          (unsigned) (word) (* (( (bPt) b←v46128)+(startPos←v46156 + 3)) ));
         var←c52624 = ln←v42716;
         };
      return(var←c52624);
      };
   }

static word EReadRope←P2760(r←v9632)
   word r←v9632;
   {
   word rope←v9676;
   /* EReadRope: */ 
SOURCE(11634, 293)
SOURCE(11634, 293)
   rope←v9676 = 0;
SOURCE(11701, 226)
   if (( (int)(* (( (ptr) r←v9632)+10) ) <  (int)32)) {
SOURCE(11719, 11)
      (void) XR←RaiseUnnamedError();
      }
   else {
SOURCE(11730, 199)
      {
         word n←v12032;
         word m←v12060;
SOURCE(11732, 29)
         n←v12032 =  (unsigned) (word) (* (( (bPt) (* (( (ptr) r←v9632)+8) ))+((* (( (ptr) r←v9632)+10) ) - 32)) );
SOURCE(11763, 10)
         m←v12060 = SGNCK(n←v12032);
SOURCE(11775, 57)
         lab←L100039: ;
         {
            word tc93;
            if ((m←v12060 > 0)) {
               tc93 =  (word) ( (unsigned) (word) (* (( (bPt) (* (( (ptr) r←v9632)+8) ))+(((* (( (ptr) r←v9632)+10) ) + m←v12060) - 32))
                ) == 0);
               }
            else {
               tc93 =  (word) 0;
               };
            if (tc93) {
               }
            else {
               goto lab←L100037;
               };
            };
SOURCE(11817, 15)
         m←v12060 = SGNCK((m←v12060 - 1));
         goto lab←L100039;
         lab←L100037: ;
SOURCE(11834, 68)
         rope←v9676 = (word) RopeFromRaw←P2820((* (( (ptr) r←v9632)+8) ), ((* (( (ptr) r←v9632)+10) ) - 31), m←v12060);
SOURCE(11904, 23)
         (* (( (ptr) r←v9632)+10) ) = (((* (( (ptr) r←v9632)+10) ) + n←v12032) + 1);
         };
      };
SOURCE(11634, 293)
   return(rope←v9676);
   }

static word RopeFromRaw←P2820(formal←c0494, formal←c0495, len←v9792)
   word formal←c0494;
   word formal←c0495;
   word len←v9792;
   {
   W8 var←c53904;
   /* declaration of p←v9736 skipped */ 
   /* declaration of start←v9764 skipped */ 
   register ptr gf←c53936 =  (ptr) &globalframe;
   word r←v9848;
   /* declaration of var←c52688 skipped */ 
   var←c53904.f4/* p←v9736 */  = formal←c0494;
   var←c53904.f5/* start←v9764 */  = formal←c0495;
   /* RopeFromRaw: */ 
SOURCE(11936, 238)
   {
      word tmpAddr94;
      tmpAddr94 = (word) (( (ptr) &var←c53904)+6)/* var←c52688 */ ;
      (*  (ptr) tmpAddr94 ) = ( ((word)  (fPt) EachChar←P4080) );
      (* (( (ptr) tmpAddr94) + 1) ) = 1;
      };
SOURCE(11936, 238)
   r←v9848 = 0;
SOURCE(12142, 32)
   {
      word pd95;
      pd95 = (* (( (ptr) (* (( (ptr) gf←c53936)+143)/* var←c51376 */  ))+31) );
      r←v9848 = (word) ( *( (fPt) ((*  (ptr) pd95 ))))(len←v9792, (word) (( (bPt) &var←c53904)+24)/* var←c52688 */ , 2147483647, pd95)
      ;
      };
SOURCE(11936, 238)
   return(r←v9848);
   }

static word EachChar←P4080(formal←c53968)
   word formal←c53968;
   {
   word c←v12180;
   formal←c53968 = (formal←c53968 - 24);
   /* EachChar: */ 
SOURCE(12055, 82)
SOURCE(12100, 18)
   c←v12180 =  (unsigned) (word) (* (( (bPt) (* (( (ptr) formal←c53968)+4) ))+(* (( (ptr) formal←c53968)+5) )) );
SOURCE(12120, 17)
   (* (( (ptr) formal←c53968)+5) ) = ((* (( (ptr) formal←c53968)+5) ) + 1);
SOURCE(12055, 82)
   return(c←v12180);
   }

static void InternalRoundTrip←P2880(c←v9908)
   word c←v9908;
   {
   register ptr gf←c54000 =  (ptr) &globalframe;
   word reply←v12208 = 0;
   /* InternalRoundTrip: */ 
SOURCE(12180, 174)
SOURCE(12255, 31)
   (void) StartDirectRequest←P960(c←v9908, 43, 0, 1);
SOURCE(12304, 26)
   {
      word pd96;
      pd96 = (* (( (ptr) (* (( (ptr) gf←c54000)+139)/* var←c50416 */  ))+62) );
      reply←v12208 = (word) ( *( (fPt) ((*  (ptr) pd96 ))))(c←v9908, pd96);
      };
SOURCE(12332, 22)
   {
      word pd97;
      pd97 = (* (( (ptr) (* (( (ptr) gf←c54000)+139)/* var←c50416 */  ))+67) );
      (void) ( *( (fPt) ((*  (ptr) pd97 ))))(c←v9908, reply←v12208, pd97);
      };
   }

static word RopeToString16←P2940(formal←c0496)
   word formal←c0496;
   {
   W9 var←c54032;
   /* declaration of r←v9968 skipped */ 
   register ptr gf←c54064 =  (ptr) &globalframe;
   word s←v10012;
   /* declaration of var←c52720 skipped */ 
   /* declaration of pos←v12252 skipped */ 
   /* declaration of firstByte←v12280 skipped */ 
   (* (( (ptr) &var←c54032)+4)/* r←v9968 */  ) = formal←c0496;
   /* RopeToString16: */ 
SOURCE(12360, 292)
   {
      word tmpAddr98;
      tmpAddr98 = (word) (( (ptr) &var←c54032)+5)/* var←c52720 */ ;
      (*  (ptr) tmpAddr98 ) = ( ((word)  (fPt) P←P4140) );
      (* (( (ptr) tmpAddr98) + 1) ) = 1;
      };
SOURCE(12360, 292)
   s←v10012 = 0;
SOURCE(12424, 13)
   (* (( (ptr) &var←c54032)+7)/* pos←v12252 */  ) =  (word) -1;
SOURCE(12439, 22)
   (* (( (ptr) &var←c54032)+8)/* firstByte←v12280 */  ) = 1;
SOURCE(12612, 40)
   {
      word var←c52752;
      {
         word pd99;
         pd99 = (* (( (ptr) (* (( (ptr) gf←c54064)+143)/* var←c51376 */  ))+14) );
         var←c52752 = IOP2( * ,  (int)(word) ( *( (fPt) ((*  (ptr) pd99 ))))((* ((( (ptr) &var←c54032)+4)/* r←v9968 */ ) ), pd99),  (int)2)
         ;
         };
      {
         word pd100;
         pd100 = (* (( (ptr) (* (( (ptr) gf←c54064)+143)/* var←c51376 */  ))+31) );
         s←v10012 = (word) ( *( (fPt) ((*  (ptr) pd100 ))))(var←c52752, (word) (( (bPt) &var←c54032)+20)/* var←c52720 */ , 2147483647, pd100)
         ;
         };
      };
SOURCE(12360, 292)
   return(s←v10012);
   }

static word P←P4140(formal←c54128)
   word formal←c54128;
   {
   register ptr gf←c54096 =  (ptr) &globalframe;
   word var←c12384;
   formal←c54128 = (formal←c54128 - 20);
   /* P: */ 
SOURCE(12463, 143)
SOURCE(12490, 116)
   if ((0 != (* (( (ptr) formal←c54128)+8) ))) {
SOURCE(12510, 17)
      (* (( (ptr) formal←c54128)+8) ) = 0;
SOURCE(12529, 11)
      return(0);
      }
   else {
SOURCE(12548, 16)
      (* (( (ptr) formal←c54128)+8) ) = 1;
SOURCE(12566, 11)
      (* (( (ptr) formal←c54128)+7) ) = ((* (( (ptr) formal←c54128)+7) ) + 1);
SOURCE(12579, 27)
      {
         word pd101;
         pd101 = (* (( (ptr) (* (( (ptr) gf←c54096)+143)/* var←c51376 */  ))+9) );
         return((word) ( *( (fPt) ((*  (ptr) pd101 ))))((* (( (ptr) formal←c54128)+4) ), (* (( (ptr) formal←c54128)+7) ), pd101));
         };
      };
   }

static void Flush←P3000(c←v10072, delayed←v10100)
   word c←v10072;
   word delayed←v10100;
   {
   W6 var←c54160;
   register ptr gf←c54192 =  (ptr) &globalframe;
   /* declaration of var←c52816 skipped */ 
   /* Flush: */ 
SOURCE(12659, 347)
   {
      word tmpAddr102;
      tmpAddr102 = (word) (( (ptr) &var←c54160)+4)/* var←c52816 */ ;
      (*  (ptr) tmpAddr102 ) = ( ((word)  (fPt) action←P4200) );
      (* (( (ptr) tmpAddr102) + 1) ) = 1;
      };
SOURCE(12894, 112)
   if ( ( (c←v10072 != 0) ? (0 != (* (( (ptr) c←v10072)+15) )) : 0 ) ) {
SOURCE(12916, 90)
      if ((0 != delayed←v10100)) {
SOURCE(12933, 27)
         (* (( (ptr) c←v10072)+35) ) = 1;
         }
      else {
SOURCE(12960, 46)
         (void) DoWithLocks←P840(c←v10072, (word) (( (bPt) &var←c54160)+16)/* var←c52816 */ , (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c54192)+144)
               /* var←c52848 */  ))+5) ) ));
         };
      };
   }

static void action←P4200(c←v12488, formal←c54256)
   word c←v12488;
   word formal←c54256;
   {
   register ptr gf←c54224 =  (ptr) &globalframe;
   formal←c54256 = (formal←c54256 - 16);
   /* action: */ 
SOURCE(12721, 164)
SOURCE(12763, 122)
   if (((* (( (ptr) c←v12488)+5) ) != 0)) {
SOURCE(12787, 26)
      (void) RealFlushBuffer←P180(c←v12488, 0);
      }
   else {
SOURCE(12820, 65)
      if ((0 != (* (( (ptr) c←v12488)+35) ))) {
SOURCE(12845, 22)
         (* (( (ptr) c←v12488)+35) ) = 0;
SOURCE(12869, 16)
         {
            word pd103;
            pd103 = (* (( (ptr) (* (( (ptr) gf←c54224)+140)/* var←c50480 */  ))+25) );
            (void) ( *( (fPt) ((*  (ptr) pd103 ))))((* ((( (ptr) c←v12488)+31)) ), pd103);
            };
         };
      };
   }

static void RoundTrip←P3060(c←v10160, details←v10188)
   word c←v10160;
   word details←v10188;
   {
   W6 var←c54288;
   /* declaration of var←c52880 skipped */ 
   /* RoundTrip: */ 
SOURCE(13015, 159)
   {
      word tmpAddr104;
      tmpAddr104 = (word) (( (ptr) &var←c54288)+4)/* var←c52880 */ ;
      (*  (ptr) tmpAddr104 ) = ( ((word)  (fPt) action←P4260) );
      (* (( (ptr) tmpAddr104) + 1) ) = 1;
      };
SOURCE(13143, 31)
   (void) DoWithLocks←P840(c←v10160, (word) (( (bPt) &var←c54288)+16)/* var←c52880 */ , details←v10188);
   }

static void action←P4260(c←v12592, formal←c54320)
   word c←v12592;
   word formal←c54320;
   {
   formal←c54320 = (formal←c54320 - 16);
   /* action: */ 
SOURCE(13077, 63)
SOURCE(13119, 21)
   (void) InternalRoundTrip←P2880(c←v12592);
   }

static word SetButtonGrabOwner←P3120(c←v10248, timeStamp←v10276, value←v10304)
   word c←v10248;
   word timeStamp←v10276;
   word value←v10304;
   {
   word var←c10364;
   word limit←v12620;
   word var←c52912;
   word from←v46080;
   /* SetButtonGrabOwner: */ 
SOURCE(13180, 557)
   (void) (XR←MonitorEntry(c←v10248));
SOURCE(13320, 38)
   if ((c←v10248 == 0)) {
SOURCE(13334, 24)
      (void) (XR←MonitorExit(c←v10248));
      return(1);
      };
SOURCE(13360, 22)
   limit←v12620 = (* (( (ptr) c←v10248)+21) );
SOURCE(13384, 89)
   if (( (int)(timeStamp←v10276 - limit←v12620) >  (int)0)) {
SOURCE(13421, 52)
      if ((limit←v12620 != 0)) {
SOURCE(13447, 26)
         (void) (XR←MonitorExit(c←v10248));
         return(0);
         };
      };
SOURCE(13476, 171)
   from←v46080 = (* (( (ptr) c←v10248)+38) );
   var←c52912 = (timeStamp←v10276 - from←v46080);
   if (( (int)var←c52912 >  (int)0) || ((* (( (ptr) c←v10248)+38) ) == 0)) {
SOURCE(13566, 33)
      (* (( (ptr) c←v10248)+38) ) = timeStamp←v10276;
SOURCE(13601, 25)
      (* (( (ptr) c←v10248)+37) ) = value←v10304;
SOURCE(13629, 18)
      (void) (XR←MonitorExit(c←v10248));
      return(3);
      };
SOURCE(13652, 85)
   {
      word var←c52944;
      if ((timeStamp←v10276 == (* (( (ptr) c←v10248)+38) ))) {
         var←c52944 = 2;
         }
      else {
         var←c52944 = 1;
         };
      (void) (XR←MonitorExit(c←v10248));
      return(var←c52944);
      };
   }

static void ClearButtonGrabOwner←P3180(c←v10424, timeStamp←v10452)
   word c←v10424;
   word timeStamp←v10452;
   {
   word var←c52976;
   word to←v46032;
   /* ClearButtonGrabOwner: */ 
SOURCE(13743, 167)
   (void) (XR←MonitorEntry(c←v10424));
SOURCE(13825, 85)
   {
      word tc105;
      if ((c←v10424 != 0)) {
         to←v46032 = (* (( (ptr) c←v10424)+38) );
         var←c52976 = (to←v46032 - timeStamp←v10452);
         tc105 =  (word) ( (int)var←c52976 <=  (int)0);
         }
      else {
         tc105 =  (word) 0;
         };
      if (tc105) {
SOURCE(13887, 23)
         (* (( (ptr) c←v10424)+37) ) = 0;
         };
      };
SOURCE(13743, 167)
   (void) (XR←MonitorExit(c←v10424));
   return;
   }

static void NoName←Q8520(formal←c0428, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0428;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0470 =  (ptr) &globalframe;
   if ((formal←c200005 == XR←Unwind)) {
      (void) (XR←MonitorExit(* (( (ptr) formal←c200004)+4) ));
      goto endif0106;
      };
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0470)+140)/* var←c50480 */  ))+5) )) || (formal←c200005 == (* (( (ptr) (* (
         ( (ptr) gf←c0470)+140)/* var←c50480 */  ))+4) ))) {
SOURCE(4616, 33)
      (void) BuildAndPutDeadConnectionError←P780((* ((( (ptr) formal←c200004)+4)) ));
SOURCE(4651, 26)
      (*  (ptr) formal←c0428 ) = 2;
      (* (( (ptr) formal←c0428)+1) ) = 4;
      return;
      };
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0470)+141)/* var←c50800 */  ))+4) ))) {
      {
         word err←v32768;
         err←v32768 = (*  (ptr) formal←c200007 );
SOURCE(4695, 173)
         {
            word refError←v10940;
SOURCE(4697, 66)
            refError←v10940 = XR←NewObject(4, (* (( (ptr) gf←c0470)+14) ));
            (*  (ptr) refError←v10940 ) = err←v32768;
SOURCE(4765, 17)
            (* (( (ptr) (* (( (ptr) formal←c200004)+4) ))+41) ) = err←v32768;
SOURCE(4784, 54)
            {
               word pd107;
               pd107 = (* (( (ptr) (* (( (ptr) gf←c0470)+141)/* var←c50800 */  ))+27) );
               (void) ( *( (fPt) ((*  (ptr) pd107 ))))((* (( (ptr) formal←c200004)+4) ), (* (( (ptr) gf←c0470)+27) ), refError←v10940, pd107)
               ;
               };
SOURCE(4840, 26)
            (*  (ptr) formal←c0428 ) = 2;
            (* (( (ptr) formal←c0428)+1) ) = 4;
            return;
            };
         };
      };
   if ((formal←c200005 == XR←Uncaught)) {
SOURCE(4938, 33)
      (void) BuildAndPutDeadConnectionError←P780((* ((( (ptr) formal←c200004)+4)) ));
SOURCE(4973, 26)
      (*  (ptr) formal←c0428 ) = 2;
      (* (( (ptr) formal←c0428)+1) ) = 4;
      return;
      };
   endif0106: ;
   (*  (ptr) formal←c0428 ) = 0;
   (* (( (ptr) formal←c0428)+1) ) = 0;
   return;
   }

static void NoName←Q8580(formal←c0433, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0433;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0471 =  (ptr) &globalframe;
   if ((formal←c200001 == XR←Uncaught)) {
SOURCE(1549, 51)
      if (((* (( (ptr) (* (( (ptr) formal←c200000)+4) ))+14) ) == 0)) {
SOURCE(1574, 26)
         (* (( (ptr) (* (( (ptr) formal←c200000)+4) ))+14) ) = (* (( (ptr) gf←c0471)+26) );
         };
SOURCE(1602, 9)
      (*  (ptr) formal←c0433 ) = 2;
      (* (( (ptr) formal←c0433)+1) ) = 2;
      return;
      };
   (*  (ptr) formal←c0433 ) = 0;
   (* (( (ptr) formal←c0433)+1) ) = 0;
   return;
   }

/* file: XlImplUtilities, module: XlImplUtilities, compiled at: September 14, 1993 4:26:40 pm PDT */ 
extern void XR←install←XlImplUtilities() {
   NoName←Q8340();
   }
extern void XR←run←XlImplUtilities() { XR←Start(&globalframe); }