/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: July 28, 1993 10:20:47 am PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: ImagerMaskCaptureImpl, module: ImagerMaskCaptureImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [921256471,513085038] ImagerMaskCaptureImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1;} W2;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; word r;} W9;
typedef W2 *W2Pt;
#define SOURCE(p, l) /* source p, l */
static float fc32 = 1.0;
static float fc33 = 0.0;
static float fc34 = 2000.0;
static void NoName←Q1908();
static void ImagerMaskCaptureImpl←P0();
static word CreateContext←P60();
static word GetContext←P120();
static void CaptureBounds←P300();
static void proc←P1596();
static void CaptureBoxes←P360();
static word CaptureBitmap←P420();
static word CaptureManhattan←P480();
static void proc←P1752();
static void CaptureSetColor←P540();
static void CaptureMaskBoxes←P600();
static void MySetT←P660();
static word MyGetInt←P720();
static word MyGetReal←P780();
static word MyGetFont←P840();
static word MyGetColor←P900();
static word MyGetClipper←P960();
static void MySpace←P1020();
static void MyShow←P1080();
static void MyMaskUnderline←P1140();
static void MyCorrect←P1200();
static void MyDontCorrect←P1260();
static void MyMaskStroke←P1320();
static void MyGetBounds←P1380();
static word MakeClass←P1440();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300ZT?\010\300\370;=;@t\000\000"};
static struct {unsigned f; char r[20];} string2 = {1048592, "\007\000\040\003\007\040\040\002\003\002\004\074\004\016\004\006\000\000\000"};
static struct {unsigned f; char r[4];} string3 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\066\351\102\027\300\036\225\016\156\100\200\000\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\003\006\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\254\224\163\216\300\143\061\230\115\101\174\000\000"};
static struct {unsigned f; char r[4];} string8 = {131074, "\003\017\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\241\011\366\176\300\127\130\105\301\100\274\000\000"};
static struct {unsigned f; char r[4];} string10 = {131074, "\003\016\000"};
static struct {unsigned f; char r[8];} string11 = {327688, "Unset\000\000"};
static struct {unsigned f; char r[12];} string12 = {524300, "SetColor\000\000\000"};
static struct {unsigned f; char r[8];} string13 = {262152, "SetT\000\000\000"};
static struct {unsigned f; char r[20];} string14 = {1179668, "UninitializedState\000"};
static struct {unsigned f; char r[12];} string15 = {524300, "GetDCScp\000\000\000"};
static struct {unsigned f; char r[12];} string16 = {524300, "GetColor\000\000\000"};
static struct {unsigned f; char r[12];} string17 = {655372, "GetClipper\000"};
static struct {unsigned f; char r[8];} string18 = {458760, "Correct"};
static struct {unsigned f; char r[12];} string19 = {589836, "GetBounds\000\000"};
static struct {unsigned f; char r[8];} string20 = {458760, "Capture"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\066\351\102\027\300\036\225\016\156\100\164\000\000"};
static struct {unsigned f; char r[24];} string22 = {1376277, "\006\007\044\001\050\001\054\001\060\001\100\100\001\100\104\001\100\160\004\103\377\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\170\064\225\306\300\207\372\245\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\241\011\366\176\300\127\130\105\301\100\150\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\350\311\135\367\300\362\215\374\250\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\067\246\211\216\300\354\224\134\067\100\150\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\231\275\333\246\300\032\361\021\012\100\164\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\243\162\130\311\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\320\075\073\162\300\001\171\341\017\100\150\000\000"};
static struct {
   word f0[39]; 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[3]; word f87; 
   word f88; word f89[9]; 
   } globalframe = {
   {0}, (word) MakeClass←P1440, 0, (word) MyGetBounds←P1380, 
   0, (word) MyMaskStroke←P1320, 0, (word) MyDontCorrect←P1260, 
   0, (word) MyCorrect←P1200, 0, (word) MyMaskUnderline←P1140, 
   0, (word) MyShow←P1080, 0, (word) MySpace←P1020, 
   0, (word) MyGetClipper←P960, 0, (word) MyGetColor←P900, 
   0, (word) MyGetFont←P840, 0, (word) MyGetReal←P780, 
   0, (word) MyGetInt←P720, 0, (word) MySetT←P660, 
   0, (word) CaptureMaskBoxes←P600, 0, (word) CaptureSetColor←P540, 
   0, (word) CaptureManhattan←P480, 0, (word) CaptureBitmap←P420, 
   0, (word) CaptureBoxes←P360, 0, (word) CaptureBounds←P300, 
   0, (word) GetContext←P120, 0, (word) CreateContext←P60, 
   0, (word) ImagerMaskCaptureImpl←P0, {0}, (word) 2147483647, 
   (word) 2147483647, {0}
   };

static void NoName←Q1908()
   {
   register ptr gf←c0169 =  (ptr) &globalframe;
   word var←c30256;
   (* (( (ptr) gf←c0169)+18) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0169)+19) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0169)+20) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0169)+24) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (* (( (ptr) gf←c0169)+25) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
   (*  (ptr) (( (bPt) gf←c0169)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0169)+19) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c0169)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0169)+19) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c0169)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0169)+19) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c0169)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0169)+19) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0169)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0169)+19) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c0169)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0169)+19) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c0169)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0169)+19) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c0169)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0169)+19) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0169)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0169)+19) ), (word) &string19);
   (*  (ptr) (( (bPt) gf←c0169)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0169)+19) ), (word) &string20);
   (void) XR←DeclareGlobalFrame((word) "ImagerMaskCaptureImpl", &globalframe, (word) XR←GetTypeIndex((word) &string21, 0, (word) &string22)
      , (word) (( (bPt) gf←c0169)+332)/* var←c29424 */ );
   var←c30256 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string23)), 84);
   (* (( (ptr) gf←c0169)+92)/* var←c29776 */  ) = var←c30256;
   (void) XR←ImportProcS(var←c30256, 526338);
   (void) XR←ImportProcS(var←c30256, 526850);
   (void) XR←ImportProcS(var←c30256, 526594);
   (void) XR←ImportProcS(var←c30256, 790786);
   (void) XR←ImportProcS(var←c30256, 530946);
   (void) XR←ImportProcS(var←c30256, 536578);
   var←c30256 = (word) XR←ImportInterface((word) "ImagerBackdoor", (word) XR←GetTypeIndexS((word) (&string24)), 42);
   (* (( (ptr) gf←c0169)+91)/* var←c29744 */  ) = var←c30256;
   (void) XR←ImportProcS(var←c30256, 786691);
   (void) XR←ImportProcS(var←c30256, 786435);
   (void) XR←ImportProcS(var←c30256, 791555);
   var←c30256 = (word) XR←ImportInterface((word) "ImagerDevice", (word) XR←GetTypeIndexS((word) (&string25)), 2);
   (* (( (ptr) gf←c0169)+89)/* var←c29680 */  ) = var←c30256;
   (void) XR←ImportProcS(var←c30256, 69730569);
   var←c30256 = (word) XR←ImportInterface((word) "ImagerManhattan", (word) XR←GetTypeIndexS((word) (&string26)), 24);
   (* (( (ptr) gf←c0169)+94)/* var←c29968 */  ) = var←c30256;
   (void) XR←ImportProcS(var←c30256, 67372033);
   (void) XR←ImportProcS(var←c30256, 67638274);
   (void) XR←ImportProcS(var←c30256, 788995);
   (void) XR←ImportProcS(var←c30256, 268700673);
   (void) XR←ImportProcS(var←c30256, 263425);
   var←c30256 = (word) XR←ImportInterface((word) "ImagerRaster", (word) XR←GetTypeIndexS((word) (&string27)), 13);
   (* (( (ptr) gf←c0169)+90)/* var←c29712 */  ) = var←c30256;
   (void) XR←ImportProcS(var←c30256, 67371009);
   (void) XR←ImportProcS(var←c30256, 67371521);
   (void) XR←ImportProcS(var←c30256, 1312514);
   (void) XR←ImportProcS(var←c30256, 68419845);
   var←c30256 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string28)), 60);
   (* (( (ptr) gf←c0169)+95)/* var←c30032 */  ) = var←c30256;
   (void) XR←ImportProcS(var←c30256, 1847300);
   (void) XR←ImportProcS(var←c30256, 273409);
   (void) XR←ImportProcS(var←c30256, 68685571);
   var←c30256 = (word) XR←ImportInterface((word) "ImagerState", (word) XR←GetTypeIndexS((word) (&string29)), 41);
   (* (( (ptr) gf←c0169)+96)/* var←c30224 */  ) = var←c30256;
   (void) XR←ImportProcS(var←c30256, 531970);
   (void) XR←ImportProcS(var←c30256, 67374849);
   (void) XR←ImportProcS(var←c30256, 67636482);
   (void) XR←ImportProcS(var←c30256, 67636226);
   var←c30256 = (word) XR←ImportInterface((word) "SF", (word) XR←GetTypeIndexS((word) (&string30)), 19);
   (* (( (ptr) gf←c0169)+93)/* var←c29904 */  ) = var←c30256;
   (void) XR←ImportProcS(var←c30256, 135267842);
   (void) XR←ImportProcS(var←c30256, 135267330);
   (void) XR←ImportProcS(var←c30256, 270012418);
   (void) XR←ImportProcS(var←c30256, 68159745);
   var←c30256 = (word) XR←ExportInterface((word) "ImagerMaskCapture", (word) XR←GetTypeIndexS((word) (&string31)), 5);
   (* (( (ptr) gf←c0169)+97)/* var←c30288 */  ) = var←c30256;
   (void) XR←ExportProcS(var←c30256, (word) (( (bPt) gf←c0169)+308)/* var←c29328 */ , 269221891, (word) "CaptureBounds");
   (void) XR←ExportVar(var←c30256, 1, (word) (( (bPt) gf←c0169)+152)/* var←c28688 */ );
   (void) XR←ExportProcS(var←c30256, (word) (( (bPt) gf←c0169)+300)/* var←c29296 */ , 1311237, (word) "CaptureBoxes");
   (void) XR←ExportProcS(var←c30256, (word) (( (bPt) gf←c0169)+292)/* var←c29264 */ , 68158212, (word) "CaptureBitmap");
   (void) XR←ExportProcS(var←c30256, (word) (( (bPt) gf←c0169)+284)/* var←c29232 */ , 68158468, (word) "CaptureManhattan");
   }

static void ImagerMaskCaptureImpl←P0(formal←c053, formal←c049)
   word formal←c053;
   word formal←c049;
   {
   register ptr gf←c30320 =  (ptr) &globalframe;
   /* ImagerMaskCaptureImpl: */ 
SOURCE(1016, 8686)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
SOURCE(1795, 145)
   {
      word var←c29520;
      var←c29520 = XR←NewObject(24, (* (( (ptr) gf←c30320)+18) ));
      (* (( (ptr) var←c29520)+1) ) = 1;
      (* (( (ptr) var←c29520)+2) ) = (* (( (ptr) gf←c30320)+28) );
      (* (( (ptr) gf←c30320)+9)/* unsetColor←v3560 */  ) = var←c29520;
      };
SOURCE(3079, 71)
   {
      word var←c29552;
      var←c29552 = XR←NewObject(64, (* (( (ptr) gf←c30320)+24) ));
      (*  (ptr) var←c29552 ) = 4000;
      (* (( (ptr) var←c29552)+1) ) = XR←CheckProc(0);
      (* (( (ptr) var←c29552)+2) ) = (*  (ptr) &fc32 );
      (* (( (ptr) var←c29552)+3) ) = (*  (ptr) &fc33 );
      (* (( (ptr) var←c29552)+4) ) = (*  (ptr) &fc32 );
      (* (( (ptr) var←c29552)+5) ) = (*  (ptr) &fc33 );
      (* (( (ptr) var←c29552)+6) ) = (*  (ptr) &fc33 );
      (* (( (ptr) var←c29552)+7) ) = (*  (ptr) &fc34 );
      (* (( (ptr) var←c29552)+8) ) = (*  (ptr) &fc32 );
      (* (( (ptr) var←c29552)+9) ) = (*  (ptr) &fc33 );
      (* (( (ptr) var←c29552)+10) ) = (*  (ptr) &fc33 );
      (* (( (ptr) var←c29552)+11) ) = (*  (ptr) &fc33 );
      (* (( (ptr) var←c29552)+12) ) = (*  (ptr) &fc33 );
      (* (( (ptr) gf←c30320)+10)/* defaultParameters←v3728 */  ) = var←c29552;
      };
SOURCE(8940, 134)
   {
      word var←c29584;
      var←c29584 = XR←NewObject(60, (* (( (ptr) gf←c30320)+25) ));
      (*  (ptr) var←c29584 ) = (word) (( (bPt) gf←c30320)+276)/* var←c29200 */ ;
      (* (( (ptr) var←c29584)+1) ) = XR←CheckProc(0);
      (* (( (ptr) var←c29584)+2) ) = XR←CheckProc(0);
      (* (( (ptr) var←c29584)+3) ) = (word) (( (bPt) gf←c30320)+268)/* var←c29168 */ ;
      (* (( (ptr) var←c29584)+4) ) = XR←CheckProc(0);
      (* (( (ptr) var←c29584)+5) ) = XR←CheckProc(0);
      (* (( (ptr) var←c29584)+6) ) = XR←CheckProc(0);
      (* (( (ptr) var←c29584)+7) ) = XR←CheckProc(0);
      (* (( (ptr) var←c29584)+8) ) = XR←CheckProc(0);
      (* (( (ptr) var←c29584)+9) ) = XR←CheckProc(0);
      (* (( (ptr) var←c29584)+10) ) = XR←CheckProc(0);
      (* (( (ptr) var←c29584)+11) ) = XR←CheckProc(0);
      (* (( (ptr) var←c29584)+12) ) = XR←CheckProc(0);
      (* (( (ptr) var←c29584)+13) ) = XR←CheckProc(0);
      (* (( (ptr) gf←c30320)+16)/* deviceClass←v4512 */  ) = var←c29584;
      };
SOURCE(9077, 47)
   (* (( (ptr) gf←c30320)+17)/* contextClass←v4540 */  ) = (word) MakeClass←P1440();
   }

static word CreateContext←P60()
   {
   register ptr gf←c30352 =  (ptr) &globalframe;
   word var←c4848;
   word data←v8128;
   word deviceParm←v8156;
   word context←v8184;
   /* CreateContext: */ 
SOURCE(2187, 889)
SOURCE(2229, 31)
   data←v8128 = XR←NewObject(28, (* (( (ptr) gf←c30352)+20) ));
SOURCE(2262, 193)
   {
      W2 var←c29648;
      var←c29648.f0 = (*  (ptr) &fc32 );
      var←c29648.f1 = (*  (ptr) &fc32 );
      {
         word pd35;
         pd35 = (* (( (ptr) (* (( (ptr) gf←c30352)+89)/* var←c29680 */  ))+5) );
         deviceParm←v8156 = (word) ( *( (fPt) ((*  (ptr) pd35 ))))((* (( (ptr) gf←c30352)+16)/* deviceClass←v4512 */  ), 2147483647, 2147483647, 6, var←c29648, 1
            , 0, 0, 0, pd35);
         };
      };
SOURCE(2457, 139)
   {
      word pd36;
      pd36 = (* (( (ptr) (* (( (ptr) gf←c30352)+90)/* var←c29712 */  ))+5) );
      context←v8184 = (word) ( *( (fPt) ((*  (ptr) pd36 ))))((* (( (ptr) gf←c30352)+17)/* contextClass←v4540 */  ), (* (( (ptr) gf←c30352)+16)
         /* deviceClass←v4512 */  ), deviceParm←v8156, data←v8128, 1, pd36);
      };
SOURCE(2598, 75)
   {
      word pd37;
      pd37 = (* (( (ptr) (* (( (ptr) gf←c30352)+90)/* var←c29712 */  ))+11) );
      (void) ( *( (fPt) ((*  (ptr) pd37 ))))(context←v8184, (*  (W4Pt) (( (ptr) gf←c30352)+85)/* var←c29488 */  ), pd37);
      };
SOURCE(2675, 62)
   {
      word pd38;
      pd38 = (* (( (ptr) (* (( (ptr) gf←c30352)+91)/* var←c29744 */  ))+24) );
      (void) ( *( (fPt) ((*  (ptr) pd38 ))))(context←v8184, 10000, 10000, pd38);
      };
SOURCE(2739, 98)
   {
      register word key←v8228 = 2;
      lab←L100003: ;
SOURCE(2792, 45)
      {
         word pd39;
         pd39 = (* (( (ptr) (* (( (ptr) gf←c30352)+91)/* var←c29744 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd39 ))))(context←v8184, key←v8228, 2147483647, pd39);
         };
      if ((key←v8228 >= 3)) {
         goto lab←L100000;
         };
      key←v8228 = (key←v8228 + 1);
      goto lab←L100003;
      lab←L100000: ;
      };
SOURCE(2848, 101)
   {
      register word key←v8272 = 2;
      lab←L100007: ;
SOURCE(2903, 46)
      {
         word pd40;
         pd40 = (* (( (ptr) (* (( (ptr) gf←c30352)+91)/* var←c29744 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd40 ))))(context←v8184, key←v8272, 2139095039, pd40);
         };
      if ((key←v8272 >= 15)) {
         goto lab←L100004;
         };
      key←v8272 = (key←v8272 + 1);
      goto lab←L100007;
      lab←L100004: ;
      };
SOURCE(2960, 36)
   {
      word pd41;
      pd41 = (* (( (ptr) (* (( (ptr) gf←c30352)+92)/* var←c29776 */  ))+52) );
      (void) ( *( (fPt) ((*  (ptr) pd41 ))))(context←v8184, (* (( (ptr) gf←c30352)+9)/* unsetColor←v3560 */  ), pd41);
      };
SOURCE(2998, 28)
   {
      word pd42;
      pd42 = (* (( (ptr) (* (( (ptr) gf←c30352)+92)/* var←c29776 */  ))+30) );
      (void) ( *( (fPt) ((*  (ptr) pd42 ))))(context←v8184, 0, pd42);
      };
SOURCE(3028, 29)
   {
      W2 var←c29808;
      var←c29808.f0 = (*  (ptr) &fc33 );
      var←c29808.f1 = (*  (ptr) &fc33 );
      {
         word pd43;
         pd43 = (* (( (ptr) (* (( (ptr) gf←c30352)+92)/* var←c29776 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd43 ))))(context←v8184, var←c29808, pd43);
         };
      };
SOURCE(3059, 17)
   return(context←v8184);
   }

static word GetContext←P120(parameters←v4908)
   word parameters←v4908;
   {
   register ptr gf←c30384 =  (ptr) &globalframe;
   word context←v4952;
   /* GetContext: */ 
SOURCE(3153, 266)
SOURCE(3153, 266)
   context←v4952 = 0;
SOURCE(3226, 25)
   {
      word context←v28640;
SOURCE(3463, 167)
      (void) (XR←MonitorEntry((word) (( (bPt) gf←c30384)+16)/* LOCK←v3084 */ ));
SOURCE(3463, 167)
      context←v28640 = 0;
SOURCE(3527, 103)
      if (((* (( (ptr) gf←c30384)+11)/* c1←v3784 */  ) != 0)) {
SOURCE(3543, 12)
         context←v28640 = (* (( (ptr) gf←c30384)+11)/* c1←v3784 */  );
SOURCE(3557, 8)
         (* (( (ptr) gf←c30384)+11)/* c1←v3784 */  ) = 0;
         }
      else {
SOURCE(3572, 58)
         if (((* (( (ptr) gf←c30384)+12)/* c2←v3812 */  ) != 0)) {
SOURCE(3588, 12)
            context←v28640 = (* (( (ptr) gf←c30384)+12)/* c2←v3812 */  );
SOURCE(3602, 8)
            (* (( (ptr) gf←c30384)+12)/* c2←v3812 */  ) = 0;
            }
         else {
SOURCE(3617, 13)
            context←v28640 = 0;
            };
         };
SOURCE(3463, 167)
      context←v4952 = context←v28640;
      (void) (XR←MonitorExit((word) (( (bPt) gf←c30384)+16)/* LOCK←v3084 */ ));
      };
SOURCE(3253, 47)
   if ((context←v4952 == 0)) {
SOURCE(3275, 25)
      context←v4952 = (word) CreateContext←P60();
      };
SOURCE(3302, 55)
   if ((parameters←v4908 == 0)) {
SOURCE(3327, 30)
      parameters←v4908 = (* (( (ptr) gf←c30384)+10)/* defaultParameters←v3728 */  );
      };
SOURCE(3359, 60)
   {
      word pd44;
      pd44 = (* (( (ptr) (* (( (ptr) gf←c30384)+90)/* var←c29712 */  ))+6) );
      (* (( (ptr) (* (( (ptr) ( *( (fPt) ((*  (ptr) pd44 ))))(context←v4952, pd44))+5) ))+8) ) = parameters←v4908;
      };
SOURCE(3153, 266)
   return(context←v4952);
   }

static void CaptureBounds←P300(formal←c075, formal←c0201, formal←c0202, parameters←v5188)
   word formal←c075;
   word formal←c0201;
   word formal←c0202;
   word parameters←v5188;
   {
   W9 var←c30416;
   /* declaration of operator←v5132 skipped */ 
   /* declaration of m←v5160 skipped */ 
   register ptr gf←c30448 =  (ptr) &globalframe;
   W4 box←v5292;
   /* declaration of var←c29872 skipped */ 
   /* declaration of context←v8316 skipped */ 
   word device←v8344;
   word data←v8372;
   (* (( (ptr) &var←c30416)+4)/* operator←v5132 */  ) = formal←c0201;
   (* (( (ptr) &var←c30416)+5)/* m←v5160 */  ) = formal←c0202;
   /* CaptureBounds: */ 
SOURCE(3744, 583)
   {
      word tmpAddr45;
      tmpAddr45 = (word) (( (ptr) &var←c30416)+6)/* var←c29872 */ ;
      (*  (ptr) tmpAddr45 ) = ( ((word)  (fPt) proc←P1596) );
      (* (( (ptr) tmpAddr45) + 1) ) = 1;
      };
SOURCE(3744, 583)
   box←v5292.f0 = 0;
   box←v5292.f1 = 0;
   box←v5292.f2 = 0;
   box←v5292.f3 = 0;
SOURCE(3867, 41)
   (* (( (ptr) &var←c30416)+8)/* context←v8316 */  ) = (word) GetContext←P120(parameters←v5188);
SOURCE(3910, 57)
   {
      word pd46;
      pd46 = (* (( (ptr) (* (( (ptr) gf←c30448)+90)/* var←c29712 */  ))+6) );
      device←v8344 = (word) ( *( (fPt) ((*  (ptr) pd46 ))))((* ((( (ptr) &var←c30416)+8)/* context←v8316 */ ) ), pd46);
      };
SOURCE(3969, 32)
   data←v8372 = XR←Narrow((* (( (ptr) device←v8344)+7) ), (* (( (ptr) gf←c30448)+20) ));
SOURCE(4067, 22)
   (*  (ptr) data←v8372 ) = 1;
SOURCE(4091, 23)
   (* (( (ptr) data←v8372)+1) ) = 0;
SOURCE(4116, 46)
   (* (( (ptr) data←v8372)+2) ) = 2147483647;
   (* (( (ptr) data←v8372)+3) ) = 2147483647;
   (* (( (ptr) data←v8372)+4) ) = 2147483648;
   (* (( (ptr) data←v8372)+5) ) = 2147483648;
SOURCE(4164, 31)
   {
      word pd47;
      pd47 = (* (( (ptr) (* (( (ptr) gf←c30448)+92)/* var←c29776 */  ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd47 ))))((* (( (ptr) &var←c30416)+8)/* context←v8316 */  ), (word) (( (bPt) &var←c30416)+24)
         /* var←c29872 */ , pd47);
      };
SOURCE(4197, 17)
   box←v5292 = (*  (W4Pt) (( (ptr) data←v8372)+2) );
SOURCE(4216, 75)
   {
      word pd48;
      pd48 = (* (( (ptr) (* (( (ptr) gf←c30448)+93)/* var←c29904 */  ))+13) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd48 ))))(box←v5292, pd48))) {
SOURCE(4241, 50)
         {
            W4 var←c074;
            {
               W2 var←c29936;
               var←c29936.f0 = 4294957296;
               var←c29936.f1 = 4294957296;
               {
                  word pd49;
                  pd49 = (* (( (ptr) (* (( (ptr) gf←c30448)+93)/* var←c29904 */  ))+20) );
                  (void) ( *( (fPt) ((*  (ptr) pd49 ))))((word) &var←c074, box←v5292, var←c29936, pd49);
                  };
               };
            box←v5292 = var←c074;
            };
         };
      };
SOURCE(4293, 20)
SOURCE(4293, 20)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c30448)+16)/* LOCK←v3084 */ ));
SOURCE(3690, 47)
   if (((* (( (ptr) gf←c30448)+11)/* c1←v3784 */  ) == 0)) {
SOURCE(3706, 12)
      (* (( (ptr) gf←c30448)+11)/* c1←v3784 */  ) = (* (( (ptr) &var←c30416)+8)/* context←v8316 */  );
      }
   else {
SOURCE(3725, 12)
      (* (( (ptr) gf←c30448)+12)/* c2←v3812 */  ) = (* (( (ptr) &var←c30416)+8)/* context←v8316 */  );
      };
   (void) (XR←MonitorExit((word) (( (bPt) gf←c30448)+16)/* LOCK←v3084 */ ));
   /* removed tail goto */ 
   (*  (W4Pt) formal←c075 ) = box←v5292;
   return;
   }

static void proc←P1596(formal←c30512)
   word formal←c30512;
   {
   register ptr gf←c30480 =  (ptr) &globalframe;
   formal←c30512 = (formal←c30512 - 24);
   /* proc: */ 
SOURCE(4003, 61)
SOURCE(4018, 26)
   {
      word pd50;
      pd50 = (* (( (ptr) (* (( (ptr) gf←c30480)+92)/* var←c29776 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd50 ))))((* (( (ptr) formal←c30512)+8) ), (* (( (ptr) formal←c30512)+5) ), pd50);
      };
SOURCE(4046, 18)
   {
      word pd51;
      pd51 = (* (( (ptr) formal←c30512)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd51 ))))((* ((( (ptr) formal←c30512)+8)) ), pd51);
      };
   }

static void CaptureBoxes←P360(operator←v5352, m←v5380, boxAction←v5408, checkColor←v5436, parameters←v5464)
   word operator←v5352;
   word m←v5380;
   word boxAction←v5408;
   word checkColor←v5436;
   word parameters←v5464;
   {
   register ptr gf←c30544 =  (ptr) &globalframe;
   word p←v8460;
   /* CaptureBoxes: */ 
SOURCE(4333, 345)
SOURCE(4476, 82)
   p←v8460 = (word) CaptureManhattan←P480(operator←v5352, m←v5380, checkColor←v5436, parameters←v5464);
SOURCE(4560, 81)
   {
      register word each←v8504;
      each←v8504 = p←v8460;
      lab←L100014: ;
      if ((each←v8504 != 0)) {
         }
      else {
         goto lab←L100011;
         };
SOURCE(4620, 21)
      (void) ( *( (fPt) ((*  (ptr) boxAction←v5408 ))))((*  (W4Pt) (each←v8504) ), boxAction←v5408);
      each←v8504 = (* (( (ptr) each←v8504)+4) );
      goto lab←L100014;
      lab←L100011: ;
      };
SOURCE(4652, 26)
   {
      word pd52;
      pd52 = (* (( (ptr) (* (( (ptr) gf←c30544)+94)/* var←c29968 */  ))+9) );
      (void) ( *( (fPt) ((*  (ptr) pd52 ))))(p←v8460, pd52);
      };
   }

static word CaptureBitmap←P420(operator←v5584, m←v5612, checkColor←v5640, parameters←v5668)
   word operator←v5584;
   word m←v5612;
   word checkColor←v5640;
   word parameters←v5668;
   {
   register ptr gf←c30576 =  (ptr) &globalframe;
   word var←c5772;
   word p←v8632;
   word bitmap←v8660;
   /* CaptureBitmap: */ 
SOURCE(4684, 502)
SOURCE(4823, 82)
   p←v8632 = (word) CaptureManhattan←P480(operator←v5584, m←v5612, checkColor←v5640, parameters←v5668);
SOURCE(4907, 77)
   {
      W4 var←c30000;
      {
         word pd53;
         pd53 = (* (( (ptr) (* (( (ptr) gf←c30576)+94)/* var←c29968 */  ))+16) );
         (void) ( *( (fPt) ((*  (ptr) pd53 ))))((word) &var←c30000, p←v8632, pd53);
         };
      {
         word pd54;
         pd54 = (* (( (ptr) (* (( (ptr) gf←c30576)+95)/* var←c30032 */  ))+19) );
         bitmap←v8660 = (word) ( *( (fPt) ((*  (ptr) pd54 ))))(var←c30000, 1, 0, pd54);
         };
      };
SOURCE(4986, 26)
   {
      word pd55;
      pd55 = (* (( (ptr) (* (( (ptr) gf←c30576)+95)/* var←c30032 */  ))+48) );
      (void) ( *( (fPt) ((*  (ptr) pd55 ))))(bitmap←v8660, pd55);
      };
SOURCE(5014, 117)
   {
      register word each←v8704;
      each←v8704 = p←v8632;
      lab←L100018: ;
      if ((each←v8704 != 0)) {
         }
      else {
         goto lab←L100015;
         };
SOURCE(5074, 57)
      {
         word pd56;
         pd56 = (* (( (ptr) (* (( (ptr) gf←c30576)+95)/* var←c30032 */  ))+52) );
         (void) ( *( (fPt) ((*  (ptr) pd56 ))))(bitmap←v8660, (*  (W4Pt) each←v8704 ), 1, 0, pd56);
         };
      each←v8704 = (* (( (ptr) each←v8704)+4) );
      goto lab←L100018;
      lab←L100015: ;
      };
SOURCE(5142, 26)
   {
      word pd57;
      pd57 = (* (( (ptr) (* (( (ptr) gf←c30576)+94)/* var←c29968 */  ))+9) );
      (void) ( *( (fPt) ((*  (ptr) pd57 ))))(p←v8632, pd57);
      };
SOURCE(5170, 16)
   return(bitmap←v8660);
   }

static word CaptureManhattan←P480(formal←c0203, formal←c0204, checkColor←v5888, parameters←v5916)
   word formal←c0203;
   word formal←c0204;
   word checkColor←v5888;
   word parameters←v5916;
   {
   W9 var←c30608;
   /* declaration of operator←v5832 skipped */ 
   /* declaration of m←v5860 skipped */ 
   register ptr gf←c30640 =  (ptr) &globalframe;
   word p←v6020;
   /* declaration of var←c30064 skipped */ 
   /* declaration of context←v8832 skipped */ 
   word device←v8860;
   word data←v8888;
   (* (( (ptr) &var←c30608)+4)/* operator←v5832 */  ) = formal←c0203;
   (* (( (ptr) &var←c30608)+5)/* m←v5860 */  ) = formal←c0204;
   /* CaptureManhattan: */ 
SOURCE(5190, 634)
   {
      word tmpAddr58;
      tmpAddr58 = (word) (( (ptr) &var←c30608)+6)/* var←c30064 */ ;
      (*  (ptr) tmpAddr58 ) = ( ((word)  (fPt) proc←P1752) );
      (* (( (ptr) tmpAddr58) + 1) ) = 1;
      };
SOURCE(5190, 634)
   p←v6020 = 0;
SOURCE(5355, 41)
   (* (( (ptr) &var←c30608)+8)/* context←v8832 */  ) = (word) GetContext←P120(parameters←v5916);
SOURCE(5398, 57)
   {
      word pd59;
      pd59 = (* (( (ptr) (* (( (ptr) gf←c30640)+90)/* var←c29712 */  ))+6) );
      device←v8860 = (word) ( *( (fPt) ((*  (ptr) pd59 ))))((* ((( (ptr) &var←c30608)+8)/* context←v8832 */ ) ), pd59);
      };
SOURCE(5457, 32)
   data←v8888 = XR←Narrow((* (( (ptr) device←v8860)+7) ), (* (( (ptr) gf←c30640)+20) ));
SOURCE(5555, 23)
   (*  (ptr) data←v8888 ) = 0;
SOURCE(5580, 28)
   (* (( (ptr) data←v8888)+1) ) = checkColor←v5888;
SOURCE(5610, 46)
   (* (( (ptr) data←v8888)+2) ) = 2147483647;
   (* (( (ptr) data←v8888)+3) ) = 2147483647;
   (* (( (ptr) data←v8888)+4) ) = 2147483648;
   (* (( (ptr) data←v8888)+5) ) = 2147483648;
SOURCE(5658, 16)
   (* (( (ptr) data←v8888)+6) ) = 0;
SOURCE(5676, 31)
   {
      word pd60;
      pd60 = (* (( (ptr) (* (( (ptr) gf←c30640)+92)/* var←c29776 */  ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd60 ))))((* (( (ptr) &var←c30608)+8)/* context←v8832 */  ), (word) (( (bPt) &var←c30608)+24)
         /* var←c30064 */ , pd60);
      };
SOURCE(5709, 59)
   {
      word pd61;
      pd61 = (* (( (ptr) (* (( (ptr) gf←c30640)+94)/* var←c29968 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd61 ))))((* (( (ptr) data←v8888)+6) ), 4294957296, 4294957296, pd61);
      };
SOURCE(5770, 14)
   p←v6020 = (* (( (ptr) data←v8888)+6) );
SOURCE(5786, 16)
   (* (( (ptr) data←v8888)+6) ) = 0;
SOURCE(5804, 20)
SOURCE(5804, 20)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c30640)+16)/* LOCK←v3084 */ ));
SOURCE(3690, 47)
   if (((* (( (ptr) gf←c30640)+11)/* c1←v3784 */  ) == 0)) {
SOURCE(3706, 12)
      (* (( (ptr) gf←c30640)+11)/* c1←v3784 */  ) = (* (( (ptr) &var←c30608)+8)/* context←v8832 */  );
      }
   else {
SOURCE(3725, 12)
      (* (( (ptr) gf←c30640)+12)/* c2←v3812 */  ) = (* (( (ptr) &var←c30608)+8)/* context←v8832 */  );
      };
   (void) (XR←MonitorExit((word) (( (bPt) gf←c30640)+16)/* LOCK←v3084 */ ));
SOURCE(5190, 634)
   return(p←v6020);
   }

static void proc←P1752(formal←c30704)
   word formal←c30704;
   {
   register ptr gf←c30672 =  (ptr) &globalframe;
   formal←c30704 = (formal←c30704 - 24);
   /* proc: */ 
SOURCE(5491, 61)
SOURCE(5506, 26)
   {
      word pd62;
      pd62 = (* (( (ptr) (* (( (ptr) gf←c30672)+92)/* var←c29776 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd62 ))))((* (( (ptr) formal←c30704)+8) ), (* (( (ptr) formal←c30704)+5) ), pd62);
      };
SOURCE(5534, 18)
   {
      word pd63;
      pd63 = (* (( (ptr) formal←c30704)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd63 ))))((* ((( (ptr) formal←c30704)+8)) ), pd63);
      };
   }

static void CaptureSetColor←P540(device←v6080, color←v6108, viewToDevice←v6136)
   word device←v6080;
   word color←v6108;
   word viewToDevice←v6136;
   {
   register ptr gf←c30736 =  (ptr) &globalframe;
   word data←v8976;
   /* CaptureSetColor: */ 
SOURCE(5830, 276)
SOURCE(5917, 32)
   data←v8976 = XR←Narrow((* (( (ptr) device←v6080)+7) ), (* (( (ptr) gf←c30736)+20) ));
SOURCE(5951, 69)
   if ( ( (0 != (* (( (ptr) data←v8976)+1) )) ? (color←v6108 != (* (( (ptr) gf←c30736)+9)/* unsetColor←v3560 */  )) : 0 ) ) {
SOURCE(5998, 22)
      {
         word var←c0106;
         var←c0106 = (* (( (ptr) gf←c30736)+29) );
         (void) (XR←RaiseSignal((word) (( (bPt) gf←c30736)+152)/* var←c28688 */ , 0, (word) &var←c0106));
         };
      };
SOURCE(6022, 84)
   (*  (ptr) (* (( (ptr) device←v6080)+6) ) ) = (((word)  (unsigned) ((* (( (bPt) gf←c30736)+35) ) & 1) << 30) + 2147483648);
   }

static void CaptureMaskBoxes←P600(device←v6196, bounds←v6224, boxes←v6252)
   word device←v6196;
   W4 bounds←v6224;
   word boxes←v6252;
   {
   register ptr gf←c30768 =  (ptr) &globalframe;
   word data←v9020;
   /* CaptureMaskBoxes: */ 
SOURCE(6112, 418)
SOURCE(6196, 32)
   data←v9020 = XR←Narrow((* (( (ptr) device←v6196)+7) ), (* (( (ptr) gf←c30768)+20) ));
SOURCE(6230, 98)
   {
      W2 var←c30128;
      W2 var←c30160;
      {
         word pd64;
         pd64 = (* (( (ptr) (* (( (ptr) gf←c30768)+93)/* var←c29904 */  ))+8) );
         (void) ( *( (fPt) ((*  (ptr) pd64 ))))((word) &var←c30128, (*  (W2Pt) (( (ptr) data←v9020)+2) ), (*  (W2Pt) &bounds←v6224 ), pd64)
         ;
         };
      {
         word pd65;
         pd65 = (* (( (ptr) (* (( (ptr) gf←c30768)+93)/* var←c29904 */  ))+10) );
         (void) ( *( (fPt) ((*  (ptr) pd65 ))))((word) &var←c30160, (*  (W2Pt) (( (ptr) data←v9020)+4) ), (*  (W2Pt) (( (ptr) &bounds←v6224)+2)
             ), pd65);
         };
      (*  (W2Pt) (( (ptr) data←v9020)+2) ) = var←c30128;
      (*  (W2Pt) (( (ptr) data←v9020)+4) ) = var←c30160;
      };
SOURCE(6330, 200)
   if ((0 == (*  (ptr) data←v9020 ))) {
SOURCE(6358, 174)
      {
         word new←v9064;
SOURCE(6360, 115)
         {
            word var←c30192;
            {
               word pd66;
               pd66 = (* (( (ptr) (* (( (ptr) gf←c30768)+94)/* var←c29968 */  ))+8) );
               var←c30192 = (word) ( *( (fPt) ((*  (ptr) pd66 ))))(boxes←v6252, pd66);
               };
            {
               word pd67;
               pd67 = (* (( (ptr) (* (( (ptr) gf←c30768)+94)/* var←c29968 */  ))+24) );
               new←v9064 = (word) ( *( (fPt) ((*  (ptr) pd67 ))))(var←c30192, (* (( (ptr) data←v9020)+6) ), pd67);
               };
            };
SOURCE(6477, 35)
         {
            word pd68;
            pd68 = (* (( (ptr) (* (( (ptr) gf←c30768)+94)/* var←c29968 */  ))+9) );
            (void) ( *( (fPt) ((*  (ptr) pd68 ))))((* ((( (ptr) data←v9020)+6)) ), pd68);
            };
SOURCE(6514, 16)
         (* (( (ptr) data←v9020)+6) ) = new←v9064;
         };
      };
   }

static void MySetT←P660(context←v6312, m←v6340)
   word context←v6312;
   word m←v6340;
   {
   register ptr gf←c30800 =  (ptr) &globalframe;
   /* MySetT: */ 
SOURCE(6539, 72)
SOURCE(6593, 18)
   {
      word var←c0119;
      var←c0119 = (* (( (ptr) gf←c30800)+30) );
      (void) (XR←RaiseSignal((word) (( (bPt) gf←c30800)+152)/* var←c28688 */ , 0, (word) &var←c0119));
      };
   }

static word MyGetInt←P720(context←v6400, key←v6428)
   word context←v6400;
   word key←v6428;
   {
   register ptr gf←c30832 =  (ptr) &globalframe;
   word var←c6472;
   word i←v9108;
   /* MyGetInt: */ 
SOURCE(6615, 179)
SOURCE(6680, 46)
   {
      word pd69;
      pd69 = (* (( (ptr) (* (( (ptr) gf←c30832)+96)/* var←c30224 */  ))+16) );
      i←v9108 = (word) ( *( (fPt) ((*  (ptr) pd69 ))))(context←v6400, key←v6428, pd69);
      };
SOURCE(6728, 53)
   if (( (int)i←v9108 ==  (int)2147483647)) {
SOURCE(6749, 32)
      {
         word var←c0124;
         var←c0124 = (* (( (ptr) gf←c30832)+31) );
         (void) (XR←RaiseSignal((word) (( (bPt) gf←c30832)+152)/* var←c28688 */ , 0, (word) &var←c0124));
         };
      };
SOURCE(6783, 11)
   return(i←v9108);
   }

static word MyGetReal←P780(context←v6532, key←v6560)
   word context←v6532;
   word key←v6560;
   {
   register ptr gf←c30864 =  (ptr) &globalframe;
   word var←c6604;
   word r←v9152;
   /* MyGetReal: */ 
SOURCE(6798, 245)
SOURCE(6866, 48)
   {
      word pd70;
      pd70 = (* (( (ptr) (* (( (ptr) gf←c30864)+96)/* var←c30224 */  ))+17) );
      r←v9152 = (word) ( *( (fPt) ((*  (ptr) pd70 ))))(context←v6532, key←v6560, pd70);
      };
SOURCE(6916, 53)
   {
      word x71;
      word x72;
      if (((
         x71 = r←v9152,  *(float*)&x71
         ) == (
         x72 = 2139095039,  *(float*)&x72
         ))) {
SOURCE(6937, 32)
         {
            word var←c0129;
            var←c0129 = (* (( (ptr) gf←c30864)+31) );
            (void) (XR←RaiseSignal((word) (( (bPt) gf←c30864)+152)/* var←c28688 */ , 0, (word) &var←c0129));
            };
         };
      };
SOURCE(6971, 59)
   if ((key←v6560 == 0) || (key←v6560 == 1)) {
SOURCE(7008, 22)
      {
         word var←c0130;
         var←c0130 = (* (( (ptr) gf←c30864)+32) );
         (void) (XR←RaiseSignal((word) (( (bPt) gf←c30864)+152)/* var←c28688 */ , 0, (word) &var←c0130));
         };
      };
SOURCE(7032, 11)
   return(r←v9152);
   }

static word MyGetFont←P840(context←v6664)
   word context←v6664;
   {
   register ptr gf←c30896 =  (ptr) &globalframe;
   word var←c6708;
   word font←v9196;
   /* MyGetFont: */ 
SOURCE(7047, 168)
SOURCE(7101, 46)
   {
      word pd73;
      pd73 = (* (( (ptr) (* (( (ptr) gf←c30896)+96)/* var←c30224 */  ))+19) );
      font←v9196 = (word) ( *( (fPt) ((*  (ptr) pd73 ))))(context←v6664, pd73);
      };
SOURCE(7149, 51)
   if ((font←v9196 == 0)) {
SOURCE(7168, 32)
      {
         word var←c0134;
         var←c0134 = (* (( (ptr) gf←c30896)+31) );
         (void) (XR←RaiseSignal((word) (( (bPt) gf←c30896)+152)/* var←c28688 */ , 0, (word) &var←c0134));
         };
      };
SOURCE(7202, 13)
   return(font←v9196);
   }

static word MyGetColor←P900(context←v6768)
   word context←v6768;
   {
   register ptr gf←c30928 =  (ptr) &globalframe;
   word var←c6812;
   /* MyGetColor: */ 
SOURCE(7221, 78)
SOURCE(7277, 22)
   {
      word var←c0137;
      var←c0137 = (* (( (ptr) gf←c30928)+33) );
      (void) XR←RaiseError((word) (( (bPt) gf←c30928)+152)/* var←c28688 */ , (word) &var←c0137);
      };
   }

static word MyGetClipper←P960(context←v6872)
   word context←v6872;
   {
   register ptr gf←c30960 =  (ptr) &globalframe;
   word var←c6916;
   /* MyGetClipper: */ 
SOURCE(7303, 84)
SOURCE(7363, 24)
   {
      word var←c0140;
      var←c0140 = (* (( (ptr) gf←c30960)+34) );
      (void) XR←RaiseError((word) (( (bPt) gf←c30960)+152)/* var←c28688 */ , (word) &var←c0140);
      };
   }

static void MySpace←P1020(context←v6976, x←v7004)
   word context←v6976;
   word x←v7004;
   {
   register ptr gf←c30992 =  (ptr) &globalframe;
   /* MySpace: */ 
SOURCE(7391, 180)
SOURCE(7437, 98)
   {
      word pd74;
      word x75;
      word x76;
      pd74 = (* (( (ptr) (* (( (ptr) gf←c30992)+96)/* var←c30224 */  ))+17) );
      if (((
         x75 = (word) ( *( (fPt) ((*  (ptr) pd74 ))))(context←v6976, 10, pd74),  *(float*)&x75
         ) == (
         x76 = 2139095039,  *(float*)&x76
         ))) {
SOURCE(7504, 31)
         {
            word var←c0143;
            var←c0143 = (* (( (ptr) gf←c30992)+31) );
            (void) XR←RaiseError((word) (( (bPt) gf←c30992)+152)/* var←c28688 */ , (word) &var←c0143);
            };
         };
      };
SOURCE(7537, 34)
   {
      word pd77;
      pd77 = (* (( (ptr) (* (( (ptr) gf←c30992)+96)/* var←c30224 */  ))+34) );
      (void) ( *( (fPt) ((*  (ptr) pd77 ))))(context←v6976, x←v7004, pd77);
      };
   }

static void MyShow←P1080(context←v7180, string←v7208, xrel←v7236)
   word context←v7180;
   word string←v7208;
   word xrel←v7236;
   {
   register ptr gf←c31024 =  (ptr) &globalframe;
   /* MyShow: */ 
SOURCE(7664, 194)
SOURCE(7744, 79)
   {
      word pd78;
      pd78 = (* (( (ptr) (* (( (ptr) gf←c31024)+96)/* var←c30224 */  ))+19) );
      if (((word) ( *( (fPt) ((*  (ptr) pd78 ))))(context←v7180, pd78) == 0)) {
SOURCE(7792, 31)
         {
            word var←c0147;
            var←c0147 = (* (( (ptr) gf←c31024)+31) );
            (void) XR←RaiseError((word) (( (bPt) gf←c31024)+152)/* var←c28688 */ , (word) &var←c0147);
            };
         };
      };
SOURCE(7825, 33)
   {
      word pd79;
      pd79 = (* (( (ptr) gf←c31024)+13)/* RasterShow←v4260 */  );
      (void) ( *( (fPt) ((*  (ptr) pd79 ))))(context←v7180, string←v7208, xrel←v7236, pd79);
      };
   }

static void MyMaskUnderline←P1140(context←v7412, dy←v7440, h←v7468)
   word context←v7412;
   word dy←v7440;
   word h←v7468;
   {
   register ptr gf←c31056 =  (ptr) &globalframe;
   /* MyMaskUnderline: */ 
SOURCE(7935, 201)
SOURCE(7999, 100)
   {
      word pd80;
      word x81;
      word x82;
      pd80 = (* (( (ptr) (* (( (ptr) gf←c31056)+96)/* var←c30224 */  ))+17) );
      if (((
         x81 = (word) ( *( (fPt) ((*  (ptr) pd80 ))))(context←v7412, 9, pd80),  *(float*)&x81
         ) == (
         x82 = 2139095039,  *(float*)&x82
         ))) {
SOURCE(8068, 31)
         {
            word var←c0151;
            var←c0151 = (* (( (ptr) gf←c31056)+31) );
            (void) XR←RaiseError((word) (( (bPt) gf←c31056)+152)/* var←c28688 */ , (word) &var←c0151);
            };
         };
      };
SOURCE(8101, 35)
   {
      word pd83;
      pd83 = (* (( (ptr) gf←c31056)+14)/* RasterMaskUnderline←v4316 */  );
      (void) ( *( (fPt) ((*  (ptr) pd83 ))))(context←v7412, dy←v7440, h←v7468, pd83);
      };
   }

static void MyCorrect←P1200(context←v7528, action←v7556)
   word context←v7528;
   word action←v7556;
   {
   register ptr gf←c31088 =  (ptr) &globalframe;
   /* MyCorrect: */ 
SOURCE(8142, 109)
SOURCE(8195, 21)
   {
      word var←c0154;
      var←c0154 = (* (( (ptr) gf←c31088)+35) );
      (void) (XR←RaiseSignal((word) (( (bPt) gf←c31088)+152)/* var←c28688 */ , 0, (word) &var←c0154));
      };
SOURCE(8218, 33)
   {
      word pd84;
      pd84 = (* (( (ptr) (* (( (ptr) gf←c31088)+92)/* var←c29776 */  ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd84 ))))(context←v7528, action←v7556, pd84);
      };
   }

static void MyDontCorrect←P1260(context←v7632, action←v7660, saveCP←v7688)
   word context←v7632;
   word action←v7660;
   word saveCP←v7688;
   {
   register ptr gf←c31120 =  (ptr) &globalframe;
   /* MyDontCorrect: */ 
SOURCE(8257, 178)
SOURCE(8328, 21)
   {
      word var←c0158;
      var←c0158 = (* (( (ptr) gf←c31120)+35) );
      (void) (XR←RaiseSignal((word) (( (bPt) gf←c31120)+152)/* var←c28688 */ , 0, (word) &var←c0158));
      };
SOURCE(8351, 84)
   if ((0 != saveCP←v7688)) {
SOURCE(8366, 39)
      {
         word pd85;
         pd85 = (* (( (ptr) (* (( (ptr) gf←c31120)+92)/* var←c29776 */  ))+13) );
         (void) ( *( (fPt) ((*  (ptr) pd85 ))))(context←v7632, action←v7660, pd85);
         };
      }
   else {
SOURCE(8405, 30)
      {
         word pd86;
         pd86 = (* (( (ptr) (* (( (ptr) gf←c31120)+92)/* var←c29776 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd86 ))))(context←v7632, action←v7660, pd86);
         };
      };
   }

static void MyMaskStroke←P1320(context←v7880, path←v7908, closed←v7936)
   word context←v7880;
   word path←v7908;
   word closed←v7936;
   {
   register ptr gf←c31152 =  (ptr) &globalframe;
   /* MyMaskStroke: */ 
SOURCE(8520, 328)
SOURCE(8592, 215)
   {
      word pd87;
      word pd89;
      word pd90;
      word x91;
      word x92;
      pd87 = (* (( (ptr) (* (( (ptr) gf←c31152)+96)/* var←c30224 */  ))+16) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd87 ))))(context←v7880, 2, pd87) ==  (int)2147483647)) { goto then088;};
      pd89 = (* (( (ptr) (* (( (ptr) gf←c31152)+96)/* var←c30224 */  ))+16) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd89 ))))(context←v7880, 3, pd89) ==  (int)2147483647)) { goto then088;};
      pd90 = (* (( (ptr) (* (( (ptr) gf←c31152)+96)/* var←c30224 */  ))+17) );
      if (((
         x91 = (word) ( *( (fPt) ((*  (ptr) pd90 ))))(context←v7880, 8, pd90),  *(float*)&x91
         ) == (
         x92 = 2139095039,  *(float*)&x92
         ))) {
         then088: ;
SOURCE(8776, 31)
         {
            word var←c0162;
            var←c0162 = (* (( (ptr) gf←c31152)+31) );
            (void) XR←RaiseError((word) (( (bPt) gf←c31152)+152)/* var←c28688 */ , (word) &var←c0162);
            };
         };
      };
SOURCE(8809, 39)
   {
      word pd93;
      pd93 = (* (( (ptr) gf←c31152)+15)/* RasterMaskStroke←v4428 */  );
      (void) ( *( (fPt) ((*  (ptr) pd93 ))))(context←v7880, path←v7908, closed←v7936, pd93);
      };
   }

static void MyGetBounds←P1380(formal←c0166, context←v7996)
   word formal←c0166;
   word context←v7996;
   {
   register ptr gf←c31184 =  (ptr) &globalframe;
   W4 var←c8040;
   /* MyGetBounds: */ 
SOURCE(8854, 82)
SOURCE(8914, 22)
   {
      word var←c0165;
      var←c0165 = (* (( (ptr) gf←c31184)+36) );
      (void) XR←RaiseError((word) (( (bPt) gf←c31184)+152)/* var←c28688 */ , (word) &var←c0165);
      };
   }

static word MakeClass←P1440()
   {
   register ptr gf←c31216 =  (ptr) &globalframe;
   word var←c8100;
   word new←v9240;
   /* MakeClass: */ 
SOURCE(9126, 576)
SOURCE(9176, 67)
   {
      word pd94;
      pd94 = (* (( (ptr) (* (( (ptr) gf←c31216)+90)/* var←c29712 */  ))+4) );
      new←v9240 = (word) ( *( (fPt) ((*  (ptr) pd94 ))))((* ((( (ptr) gf←c31216)+37)) ), pd94);
      };
SOURCE(9245, 17)
   (* (( (ptr) new←v9240)+5) ) = (word) (( (bPt) gf←c31216)+260)/* var←c29136 */ ;
SOURCE(9264, 21)
   (* (( (ptr) new←v9240)+9) ) = (word) (( (bPt) gf←c31216)+252)/* var←c29104 */ ;
SOURCE(9287, 23)
   (* (( (ptr) new←v9240)+10) ) = (word) (( (bPt) gf←c31216)+244)/* var←c29072 */ ;
SOURCE(9312, 23)
   (* (( (ptr) new←v9240)+12) ) = (word) (( (bPt) gf←c31216)+236)/* var←c29040 */ ;
SOURCE(9337, 25)
   (* (( (ptr) new←v9240)+13) ) = (word) (( (bPt) gf←c31216)+228)/* var←c29008 */ ;
SOURCE(9364, 29)
   (* (( (ptr) new←v9240)+14) ) = (word) (( (bPt) gf←c31216)+220)/* var←c28976 */ ;
SOURCE(9395, 19)
   (* (( (ptr) new←v9240)+27) ) = (word) (( (bPt) gf←c31216)+212)/* var←c28944 */ ;
SOURCE(9416, 39)
   (* (( (ptr) gf←c31216)+14)/* RasterMaskUnderline←v4316 */  ) = XR←CheckProc(* (( (ptr) new←v9240)+24) );
SOURCE(9457, 35)
   (* (( (ptr) new←v9240)+24) ) = (word) (( (bPt) gf←c31216)+196)/* var←c28880 */ ;
SOURCE(9494, 21)
   (* (( (ptr) gf←c31216)+13)/* RasterShow←v4260 */  ) = XR←CheckProc(* (( (ptr) new←v9240)+38) );
SOURCE(9517, 17)
   (* (( (ptr) new←v9240)+38) ) = (word) (( (bPt) gf←c31216)+204)/* var←c28912 */ ;
SOURCE(9536, 23)
   (* (( (ptr) new←v9240)+30) ) = (word) (( (bPt) gf←c31216)+188)/* var←c28848 */ ;
SOURCE(9561, 31)
   (* (( (ptr) new←v9240)+31) ) = (word) (( (bPt) gf←c31216)+180)/* var←c28816 */ ;
SOURCE(9594, 33)
   (* (( (ptr) gf←c31216)+15)/* RasterMaskStroke←v4428 */  ) = XR←CheckProc(* (( (ptr) new←v9240)+42) );
SOURCE(9629, 29)
   (* (( (ptr) new←v9240)+42) ) = (word) (( (bPt) gf←c31216)+172)/* var←c28784 */ ;
SOURCE(9660, 27)
   (* (( (ptr) new←v9240)+55) ) = (word) (( (bPt) gf←c31216)+164)/* var←c28752 */ ;
SOURCE(9689, 13)
   return(new←v9240);
   }

/* file: ImagerMaskCaptureImpl, module: ImagerMaskCaptureImpl, compiled at: July 28, 1993 10:20:46 am PDT */ 
extern void XR←install←ImagerMaskCaptureImpl() {
   NoName←Q1908();
   }
extern void XR←run←ImagerMaskCaptureImpl() { XR←Start(&globalframe); }